Logo Studenta

Práctica 6 Bello Muñoz Edgar Alejandro - Edgar Bello

¡Estudia con miles de materiales!

Vista previa del material en texto

INSTITUTO POLITÉCNICO NACIONAL 
Escuela Superior de Cómputo 
 
 
Bello Muñoz Edgar Alejandro 
 
 
Fundamentos de Diseño Digital 
 
Profesor: Fernando Aguilar Sánchez 
 
 
Práctica 6 
Compuertas lógicas usando VHDL 
 
 
Fecha de entrega: 26 de abril de 2021 
 
Introducción 
Con la aparición de técnicas para la síntesis de circuitos a partir de un lenguaje de 
alto nivel, se utilizaron precisamente lenguajes de simulación, que si bien alcanzan 
un altísimo nivel de abstracción, su orientación es básicamente la de simular. 
De esta manera, los resultados de una síntesis a partir de descripciones con estos 
lenguajes no es siempre la más optima. Uno de los lenguajes de síntesis que se 
desarrolló a partir de los lenguajes de modelado y simulación lógica es el VHDL. 
Originalmente, el lenguaje VHDL fue desarrollado por el departamento de defensa 
de los Estados Unidos a inicios de los años 80 basado en el lenguaje de 
programación ADA con el fin de simular circuitos eléctricos digitales. Posteriormente 
se desarrollaron herramientas de síntesis e implementación en hardware a partir de 
los archivos VHD. 
VDHL es un lenguaje definido por el IEEE utilizado para describir circuitos digitales 
y para la automatización de diseño electrónico. Cuenta con una sintaxis amplia y 
flexible que permite el modelado estructural, en flujo de datos y de comportamiento 
hardware. Su nombre surge de la combinación de VHSIC (Very High Speed 
Integrated Circuit) y HDL (Hardware Description Language). Aunque puede ser 
usado de forma general para describir cualquier circuito digital se usa principalmente 
para programar PLD (Programable Logic Device, Dispositivo Lógico Programable). 
Aunque su sintaxis y forma de uso se asemeje mucho, VHDL es un lenguaje de 
descripción de hardware, no es un lenguaje de programación. Con VHDL no se 
programa, lo que se hace es tomar un diseño electrónico y describirlo mediante el 
lenguaje, de forma que sirva como punto de entrada a herramientas que convertirán 
esa descripción en una implementación real del sistema. 
Además de permitir un intercambio eficiente de componentes, el uso de VHDL 
ofrece muchas de ventajas. La más significativa es que utilizando el lenguaje es 
posible tanto describir como simular el sistema. El propio lenguaje ofrece las 
herramientas para escribir módulos que apliquen entradas al sistema y mediante 
una herramienta llamada simulador poder ver las salidas y verificar si son correctas. 
Esto permite crear entornos complejos de verificación para comprobar la corrección 
del sistema, característica fundamental, puesto que se trabaja con diseños que van 
a ser enviados a dispositivos físicos. 
Elementos de VHDL 
Palabras reservadas: no pueden utilizarse como nombres de ningún tipo palabras 
reservadas de VHDL. Ej.: architecture, begin, case, downto, to, library, package, etc. 
Símbolos especiales: Ej.: “ _ # & ‘ ( ) : ; < = > + - * [ ] etc. Los operadores pueden 
sobrecargarse para utilizarse con distintos tipos en diferentes librerías . 
Identificadores: se utilizan para dar nombre a los elementos de un diseño, ya sean 
señales, constantes, variables,etc. Ej.: Cuenta_REG, VALOR_MAXIMO, etc. 
Números: hay dos tipos básicos, los enteros (integer) y los reales (real). Pueden 
representarse en cualquier base de 2 a 16. Ej.: enteros: 321, 2#01101#, 16#0A51F, 
reales: 1.23, 1.23e-4, 8#4.75#. 
Cadenas de bits: pueden representarse en base binaria, octal y hexadecimal. Ej.: 
b”1010” (4 bits), x”AB6C1” (20 bits), o”54” (6 bits). 
Estructura de VHDL 
Declaración de librería (Library). Lista de todas las librerías que serán usadas en el 
diseño. 
Entidad (Entity). Especificación de los pines de entrada y salida. 
Arquitectura (Architecture). Describe el comportamiento del circuito. 
 
Tabla de verdad 
# A B C D E F1 F2 F3 F4 F5 F6 
0 0 0 0 0 0 0 0 0 1 1 1 
1 0 0 0 0 1 0 1 1 1 0 0 
2 0 0 0 1 0 0 1 1 1 0 0 
3 0 0 0 1 1 0 1 0 1 0 1 
4 0 0 1 0 0 0 1 1 1 0 0 
5 0 0 1 0 1 0 1 0 1 0 1 
6 0 0 1 1 0 0 1 0 1 0 1 
7 0 0 1 1 1 0 1 1 1 0 0 
8 0 1 0 0 0 0 1 1 1 0 0 
9 0 1 0 0 1 0 1 0 1 0 1 
10 0 1 0 1 0 0 1 0 1 0 1 
11 0 1 0 1 1 0 1 1 1 0 0 
12 0 1 1 0 0 0 1 0 1 0 1 
13 0 1 1 0 1 0 1 1 1 0 0 
14 0 1 1 1 0 0 1 1 1 0 0 
15 0 1 1 1 1 0 1 0 1 0 1 
16 1 0 0 0 0 0 1 1 1 0 0 
17 1 0 0 0 1 0 1 0 1 0 1 
18 1 0 0 1 0 0 1 0 1 0 1 
19 1 0 0 1 1 0 1 1 1 0 0 
20 1 0 1 0 0 0 1 0 1 0 1 
21 1 0 1 0 1 0 1 1 1 0 0 
22 1 0 1 1 0 0 1 1 1 0 0 
23 1 0 1 1 1 0 1 0 1 0 1 
24 1 1 0 0 0 0 1 0 1 0 1 
25 1 1 0 0 1 0 1 1 1 0 0 
26 1 1 0 1 0 0 1 1 1 0 0 
27 1 1 0 1 1 0 1 0 1 0 1 
28 1 1 1 0 0 0 1 1 1 0 0 
29 1 1 1 0 1 0 1 0 1 0 1 
30 1 1 1 1 0 0 1 0 1 0 1 
31 1 1 1 1 1 1 1 1 0 0 0 
 
 
 
Código VHDL 
 
 
Conclusiones 
Al concluir la realización de la práctica, queda claro que VHDL es un lenguaje de 
gran utilidad para el diseño de PLDs y en general, para el diseño de un sistema 
digital, puesto que realizar la descripción del funcionamiento de entradas y salidas 
de un circuito integrado resulta sencillo si se tienen conocimientos de programación 
en lenguajes como C. 
Sin duda, VHDL ofrece una gran cantidad de ventajas al usuario como lo es la 
comprobación del funcionamiento por medio de la simulación de entradas y salidas, 
sin embargo, también es importante considerar que también presenta algunas 
desventajas como lo es el hecho de que estos programas se puedan ver limitados 
por el dispositivo que se trabaje. 
library ieee; 
use ieee.std logic 1164.all; 
 
entity compuertas is 
 port(A,B,C,D,E: in std_logic; 
 F1,F2,F3,F4,F5,F6: out std_logic); 
end compuertas; 
 
architecture booleana of compuertas is 
begin 
 F1 <= A and B and C and D and E; 
 F2 <= A or B or C or D or E; 
 F3 <= A xor B xor C xor D xor E; 
 F4 <= not F1; 
 F5 <= not F2; 
 F6 <= not F3; 
end booleana; 
Referencias 
• Pardo, F. (2000). VHDL: Lenguaje para síntesis y modelado de circuitos. 
Valencia: Alfaomega. 
• Sánchez, M. (2014). Introducción a la programación en VHDL. Madrid: 
Universidad Complutense de Madrid. 
• Mora, A. (2016). Guía básica de VHDL. México: Instituto Tecnológico de 
Querétaro.

Continuar navegando