miércoles, 20 de abril de 2016

Display de 7 segmentos con decodificador y compuertas Nor en VHDL

Ejercicio:  Utilizando un decoder de 3 entradas y 8 salidas, y 8 compuertas Nor de 8 entradas cada una elaborar un programa en VHDL para visualizar en el display de 7 segmentos, ánodo común, de la tarjeta Basys 2, Digilent, los dígitos del 0 al 7, y con el punto digital detectar los números primos:0,1,2,3,5 y 7.

Solución:

Dibujamos el esquemático tal como lo muestra la siguiente gráfica:

El  circuito principal  entonces  dispone de las tres entradas binarias, C,B,y A, y las 8 salidas Ca,Cb,Cc,Cd,Cd,Ce,Cf,Cg,P. 

Se requiere antes de crear el programa principal elaborar el VHDL del decodificador y de la compuerta NOR,   salvarlos y  sintetizarlos, puesto  que son los componentes  con los cuales va a trabajar el programa principal.

Al sintetizar podemos ver su esquemático RTL:

y al dar doble clik, observamos el circuito lógico del decoder con sus compuertas:

Esto quiere decir que el ISE nos ha entendido el decoder que deseamos trabajar.

Seguimos con la NOR_8  ( se hace su VHDL una vez y la llamamos 8 veces) desde el programa principal.


Se salva. Para sintetizarlo se requiere fijar el archivo Nor_8.vhd  como modulo superior: Set as Top Module


Vemos RTL en su caja:

Y luego la compuerta como tal al dar doble clik a la caja:


Pasamos entonces al VHDL del programa principal, el cual  dispone de las tres entradas binarias, C,B,y A, y las 8 salidas Ca,Cb,Cc,Cd,Cd,Ce,Cf,Cg,P.

La entidad junto con las librerias iniciales para el circuito principal  queda así:


En la arquitectura tenemos que definir las señales (internas) y los dos componentes así:


Luego al comenzar la arquitectura como tal, despues de haber definido las señales y componentes, elaboramos el mapa de puertos para cada componente llamado:

Esto se escribe después del begin: 

Al salvar  observamos que este programa principal contiene el decoder y ocho nor:


Fijamos este programa principal como modulo superior: Set as Top Module y lo sintetizamos.

Despues de corregir un error de sintaxis el programa principal es sintetizado, pudiendose verificar su esquemático RTL.

Al dar doble clik se obtiene el circuito completo, el cual se observa en cierta forma complejo.

Se solicita al lector ubique los pines de la FPGA y  verifique el buen comportamiento del circuito.







No hay comentarios:

Publicar un comentario