Práctica 3 Diseño Digital Moderno

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 17

UNIVERSIDAD NACIONAL

AUTÓNOMA DE MÉXICO
(UNAM)

Facultad de Ingeniería

Laboratorio de Diseño Digital Moderno

Práctica 3 “Implementación de funciones utilizando instrucciones


concurrentes”

Profesor: Vicente Flores Olvera

Alumno: Vázquez Torres Juan Adrián

Semestre: 2021 – 1
Objetivo
El alumno construirá funciones lógicas utilizando programación
algorítmica (when – else, with – select – when) utilizando la plataforma
Quartus.

Material
Software Altera Quartus Prime Lite 18.1
FPGA DE10-Lite

Previo
Tabla de verdad.
Es un conjunto de señales o un conjunto de bits.
Práctica 4.A
Según lo visto en la clase la tabla de verdad es la siguiente:

Con y1, y2 y y3 = Y
El display 7 segmentos es un componente para representar caracteres (número y letras por
lo general) en muchos dispositivos electrónicos. Los de tipo ánodo común encienden sus
leds al aplicarles un potencial negativo (nivel 0). Los de tipo cátodo común encienden sus
leds al aplicarles un potencial positivo (nivel 1).

Código

Simulación

Coincide con la tabla de verdad que hicimos.


Implementación en tarjera gráfica

Como mi FPGA tiene los displays 7 segmentos en ánodo común tuve que volver a
hacer la tabla de verdad para que tuviera la salida correcta. La tabla de verdad
hecha con el profesor quedó de la siguiente manera:

h (7) a (0) b (1) c (2) d (3) e (4) f (5) g (6) HEX

0 1 0 0 0 0 0 0 1 81

1 1 1 0 0 1 1 1 1 CF

2 1 0 0 1 0 0 1 0 92

3 1 0 0 0 0 1 0 0 86

4 1 1 0 0 1 1 0 0 CC

5 1 0 1 0 0 1 0 0 A4

6 1 0 1 0 0 0 0 0 A0

7 1 0 0 0 1 1 1 1 8F

8 1 0 0 0 0 0 0 0 80

9 1 0 0 0 0 1 0 0 84

A (10) 1 0 0 0 1 0 0 0 88

B (11) 1 1 1 0 0 0 0 0 E0

C (12) 1 0 1 1 0 0 0 1 B1

D (13) 1 1 0 0 0 0 1 0 C2

E (14) 1 0 1 1 0 0 0 0 B0

F (15) 1 0 1 1 1 0 0 0 B8
En el manual de usuario de la FPGA DE10-Lite los leds del display 7 segmentos
vienen del [0,7], en lugar de [a,h]. Por eso en la tabla de verdad puse en paréntesis
los números que corresponden a cada letra según mi FPGA.

Ya con la modificación el código quedó así:

Se utilizaron los primeros 4 switchs de derecha a izquierda para la entrada y el


primer display 7 segmentos para la salida.
In: 0001 | Out: 1 hex

In: 0011 | Out: 3 hex


In: 0110 | Out: 6 hex

In: 1001 | Out: 9 hex


In: 1100 | Out: C hex

In: 1110 | Out: E hex

Tanto las entradas como las salidas corresponden con la tabla de verdad.
Práctica 4.B

La tabla de verdad es la que se encuentra en el previo.


Código

Simulación

Coincide con lo que se tiene en la tabla de verdad.


Para la implementación de este ejercicio se utilizaron los primeros 4 switches (de
derecha a izquierda) como entradas y los primeros 4 leds (de derecha a izquierda
como salida). A la hora de implementar el código en la FPGA los demás leds (los
que no se utilizan) se mantuvieron encendidos, desconozco el cómo hacer que se
apaguen, pero como se muestra más adelante en las imágenes, ninguno de ellos
sufre cambio, es decir, no tienen efecto alguno en el comportamiento del hardware.
Además los leds que sí utilizamos (las salidas) brillan con mayor intensidad que los
que no hacen nada.

In: 0001 | Out: 0110 (6)


In: 0010 | Out: 1010 (A)

In: 0101 | Out: 1001 (9)


In: 0111 | Out: 0000 (0)

In: 1001 | Out: 1110 (E)

Todas las entradas y salidas corresponden con lo marcado en la tabla de verdad.


Conclusiones
En esta práctica aprendí a construir funciones lógicas utilizando la estructura with –
select – when, que significa que dada una variable, seleccionar un valor específico
(salida) cuando entre otro valor en específico (entrada). También se puede expresar
como “dada esta entrada, asigna esta salida para la variable de salida”. También
aprendí a dar a las entradas y salidas dentro de la estructura when – select con un
formato binario, decimal o hexadecimal.
Además aprendí a llevar el código en VHDL a mi tarjeta FPGA (DE-10 Lite), pasando
primero por asignar pines a mis entradas y salidas, después accediendo a la función
“programmer” de Quartus para activar mi FPGA, cargar el archivo .sof que contiene
el funcionamiento del hardware y finalmente compilarlo para hacer la demostración.

También podría gustarte