Citation preview

EJEMPLOS PRACTICOS EN VHDL Elaborado por: Américo Álvarez Surci Con el fin de ayudar a la comunidad estudiantil de nivel básico, en la comprensión de la descripción circuital mediante VHDL, se presenta esta recopilación de ejemplos publicados en el blog http://electronico-etn.blogspot.com Todos estos ejemplos fueron probados en las tarjetas FPGA de la facultad de ingeniería de la UMSA. Se incluye la descripción de un circuito mas grande como lo es un reloj digital a manera de ejemplo.

LISTA DE EJEMPLOS  Ejemplo 01: diseñar en VHDL, una compuerta norex  Ejemplo 02: Diseñar en VHDL, un sistema que cumpla con F=A'B'+B'C+AC'  Ejemplo 03: Diseñar en VHDL, un multiplexor de 4 entradas (E3,E2,E1,E0) y una salida F. Con 2 variables de selección S1,S0  Ejemplo 04: Diseñar en VHDL, un decodificador completo de 3 entradas (I2,I1,I0)y 8 salidas (S7,S5,S4,...,S0)  Ejemplo 05: Diseñar en VHDL, un decodificador completo de 3 entradas (I2,I1,I0)y 8 salidas (S7,S5,S4,...,S0). Con señal enable/disable  Ejemplo 06: Diseñar en VHDL, un codificador de 4:2 con prioridad  Ejemplo 07: Diseñar en VHDL, un codificador 4:2 (como el ejemplo anterior), sin tanto código. realizarlo más eficientemente  Ejemplo 08: Diseñar en VHDL, un comparador de 4 bits , que a la salida te de información de A mayor que B, A menor que B y A Igual que B.  Ejemplo 09: Diseñar en VHDL, un comparador de 4 bits, que a la salida te de información de A mayor que B, A menor que B y A Igual que B. METODO 2  Ejemplo 10: Diseñar en VHDL, un comparador de 4 bits CON SIGNO, que a la salida te de información de A mayor que B, A menor que B y A Igual que B  Ejemplo 11: Diseñar en VHDL, un multiplexor de 16 a 1 con 4 variables de selección. USANDO multiplexores de 4 a 1  Ejemplo 12: Diseñar en VHDL, un transcodificador, del código 84-2-1 al Johnson de 5bits  Ejemplo 13: Diseñar en VHDL, generador de bits para la coreccion de errores de un Bcd aiken  Ejemplo 14: Diseñar en VHDL, diseñe un sumador simple, sin acarreo  Ejemplo 15: Diseñar en VHDL, diseñe un sumador simple, con acarreo  Ejemplo 16: Diseñar en VHDL, un sumador de 8 bits con signo  Ejemplo 17: Diseñar en VHDL, un reloj de 1hz (1 segundo), que luego utilizaremos para realizar un reloj digital.  Ejemplo 18: Diseñar en VHDL, un reloj de 10hz, Que tenga un reset, que reinicie el clock. que luego utilizaremos para un cronometro  Ejemplo 19: Diseñar en VHDL, un contador de 4 bits. Flanco descendente.  Ejemplo 20: Diseñar en VHDL, un contador ascendente descendente de 4 bits  Ejemplo 21: Diseñar en VHDL, un contador ascendente de 8 bits.  Ejemplo 22: Diseñar en VHDL, un contador de 4 bits ascendente, con reloj de 1Hz. EJEMPLOS PRACTICOS EN VHDL Página 1 de 18

 Ejemplo 23: Diseñar en VHDL, un contador de 4 bits ascendente, con reloj de 1Hz, y que muestre su salida en número hexadecimal en display de 7 segmentos  Ejemplo 24: proyecto reloj digital

Ejemplo 1: Diseñar en VHDL, una puerta NOREX. 1 2 3 4 5 6 7 8 9 10

library ieee; use ieee.std_logic_1164.all; entity ejemplo01 is port (a,b: in std_logic; F: out std_logic); end ejemplo01; architecture rtl of ejemplo01 is begin F