Está en la página 1de 14

UNIVERSIDAD NACIONAL

AUTÓNOMA DE MÉXICO
(UNAM)

Facultad de Ingeniería

Laboratorio de Diseño Digital Moderno

Práctica 2 “Lenguaje de descripción de Hardware VHDL”

Profesor: Vicente Flores Olvera

Alumno: Vázquez Torres Juan Adrián

Semestre: 2021 - 1
Objetivo
El alumno analizará de que partes esenciales consta un código hecho a través del
lenguaje de descripción de hardware VHDL, así también que implica la
implementación de funciones mediante el estilo flujo de datos.

Material
Software Quartus Altera Prime 18.1

Previo
Tabla de verdad - Previo
# a b c d w x y z
0 0 0 0 0 0 0 1 1
1 0 0 0 1 0 1 0 0
2 0 0 1 0 0 1 0 0
3 0 0 1 1 0 1 0 1
4 0 1 0 0 0 1 0 0
5 0 1 0 1 0 1 0 1
6 0 1 1 0 0 1 0 1
7 0 1 1 1 0 1 1 0
8 1 0 0 0 0 1 0 0

9 1 0 0 1 0 1 0 1
10 1 0 1 0 0 1 0 1
11 1 0 1 1 0 1 1 0
12 1 1 0 0 0 1 0 1
13 1 1 0 1 0 1 1 0
14 1 1 1 0 0 1 1 0
15 1 1 1 1 0 1 1 1

Formas mínimas
- ¿Qué son las bibliotecas, la entidad y la arquitectura en una estructura
descrita en VHDL?
Las bibliotecas son un conjunto de funciones que tienen un propósito específico y
sirven para que el compilador pueda procesar el diseño. La entidad es al parte de
programa donde se especifican las entradas y salidas que tendrá el diseño junto
con el tipo de dato que les corresponden. La arquitectura es la parte del programa
donde se describe el comportamiento que el hardware debe tener al darle una o
varias funciones de entrada.

- Investiga cómo se realiza la asignación de una función o de un valor en VHDL.


Para las funciones se usa la siguiente nomenclatura:
nombreDeLaFuncion <= Comportamiento de la función
Para las entrada y salidas se usa:
entrada1, entrada2,…, entradaN : in tipoDeDato;
salida1, salida2,…, salidaN : out tipoDeDato;

- ¿Qué significa el término concurrente dentro del lenguaje VHDL?


Significa que todas las instrucciones que describen el comportamiento del hardware
se ejecutan de manera paralela, es decir, todas al mismo tiempo. A diferencia de
los lenguajes de programación que de manera predeterminada las instrucciones se
ejecutan de manera secuencial, a menos que se les indique lo contrario.
Ejercicio 2.A

Reduciendo nos queda:


Tabla de verdad.
# x y z t f(x,y,z,t)
0 0 0 0 0 0
1 0 0 0 1 0
2 0 0 1 0 0
3 0 0 1 1 0
4 0 1 0 0 0
5 0 1 0 1 0
6 0 1 1 0 0
7 0 1 1 1 1
8 1 0 0 0 0

9 1 0 0 1 0
10 1 0 1 0 0
11 1 0 1 1 0
12 1 1 0 0 0
13 1 1 0 1 1
14 1 1 1 0 0
15 1 1 1 1 1
Código

Simulación
Ejercicio 2.A Segunda parte

Reduciendo nos queda:


Tabla de verdad
# u v t w f(u,v,t,w)
0 0 0 0 0 0
1 0 0 0 1 0
2 0 0 1 0 0
3 0 0 1 1 1
4 0 1 0 0 0
5 0 1 0 1 1
6 0 1 1 0 1
7 0 1 1 1 1
8 1 0 0 0 0

9 1 0 0 1 0
10 1 0 1 0 0
11 1 0 1 1 1
12 1 1 0 0 1
13 1 1 0 1 1
14 1 1 1 0 1
15 1 1 1 1 1
Código

Simulación
Ejercicio 2.B

De acuerdo con lo que hicimos en clase (Tabla de verdad y formas mínimas):


Código

Simulación

Corresponde con lo que obtuvimos en la tabla de verdad del previo:


Ejercicio propuesto

𝑥(𝑎, 𝑏, 𝑐) = 𝑎𝑏𝑐 + 𝑎𝑏𝑐 + 𝑎𝑏𝑐

Tabla de verdad
# a b c x(a,b,c)
0 0 0 0 0
1 0 0 1 0
2 0 1 0 1
3 0 1 1 1
4 1 0 0 0
5 1 0 1 0
6 1 1 0 0
7 1 1 1 1

Código
Simulación

Conclusiones
En la práctica aprendí los conceptos básicos de lenguaje de descripción de
hardware VHDL, así como un poco de su sintaxis. También conocí la librería ieee,
la parte de la entity, donde se declaran entradas y salidas junto con sus respectivos
tipos de datos, y la parte del architecture, donde se describe el comportamiento del
hardware (funciónes en este caso).

También podría gustarte