miércoles, 30 de enero de 2013

Contador binario de 4 bits Esquemático-VHDL con FPGA Spartan 3E

Ejercicio: Utilizando 4 leds disponibles en la tarjeta Digilent Spartan 3E visualizar un contador binario ascendente de 4 bits, que disponga  de entrada de habilitación manejada mediante un interruptor.

Solución:  En el navegador del Xilinx ISE 10.1 creamos nuevo proyecto: Cont0al15, y designamos Esquemático como jerarquía superior de trabajo.



Luego debe elaborar el program VHDL del contador, guardarlo  y chequear sintaxis para  asegurarnos  que no tiene errores.



Simulamos el contador, cambiando la fuente de implementación a simulación, y creando archivo de chequeo de  formas de onda:


Verificamos que efectivamente el contador trabaja como se desea, y efectuamos la síntexis del mismo.

Luego en Implementación como fuente, Utilidades de diseño, creamos el símbolo esquemático del contador, para ser utilizado posteriormente.

En una entrada anterior de este blog (encendido y apagado de un led con Spartan 3E) copiamos, pegamos, chequeamos sintaxis del archivo Clk1hz el cual requerimos para acoplarlo al contador.


Generamos también su símbolo esquemático después de haber efectuado su síntesis. Para este programa VHDL no efectuamos simulación, pues ya se probó que funciona correctamente en la tarjeta de Spartan.

Luego creamos como nueva fuente para la FPGA xc3s500e  un archivo en esquemático que llamamos final para enlazar  los dos símbolos esquemáticos: el contador y Clk1hz.


Vamos al Editor Gráfico, y por medio del filtro de símbolos ( Symbol Name Filter ) llamamos los dos símbolos esquemáticos para poderlos enlazar:


Procedemos ahora a etiquetear las entradas y el bus de salida.


Salvamos este archivo final. 

En Implementación se puede observar la jerarquía en el diseño del proyecto.


Procedemos entonces a la asignación de pines post-síntesis del archivo esquemático final:



Asignamos los pines en la ventana de  Xilinx PACE  para generar el archivo final.ucf    y   programar la FPGA:


Salvamos el archivo final.ucf  y cerramos el editor  PACE (Pinout and Area Constrints Editor)  de asignación de pines  del  Xilinx  ISE (Integrated Software Environment), versión  10.1.

Damos ahora doble click en Implement Design que aparece con un interrogante color naranja, para corregir inconsistencias en el diseño y se puedan aceptar los pines asignados.


Luego generamos el archivo de programación y configuramos la FPGA en la tarjeta Digilent Spartan 3E.

Obviamente se requiere que la tarjeta esté alimentada y el cable USB esté conectado al computador, que es  por donde se efectúa su programación JTAG ( Joint Test Action Group )



Damos Bypass para que no se programe ni  la CPLD ni la PROM, y sobre la FPGA con el botón derecho damos click en program asignando el archivo final.bit 




Cuando aparece el aviso de que la programación se ha efectuado exitosamente, podemos luego verificar que si habilitamos el contador colocando el interruptor a Vcc (Reset = 1) los Leds visualizan el conteo del 0 al 15 repetitivamente con una frecuencia de 1 Hz. 

Si el interruptor que actúa como Reset se coloca en nivel bajo se bloque el conteo en el estado que se encuentre el contador, debido a que se suspende el paso de pulsos de reloj de 50 Mhz debido a que pulsos toma el valor de Cero en el archivo VHDL de Clk1hz.

Veamos un video con nuestro proyecto: Contador binario ascendente de 4 bits con entrada de habilitación:




4 comentarios:

  1. genial! soy estudiante de sistemas digitales 1 en la UN de manizales y me a servido mucho . gracias por el aporte!

    ResponderEliminar
  2. Y si quiero pasar eso a un dispay de 7 segmentos tendria que hacer un tercer archivo?

    ResponderEliminar
  3. Podrían ayudarme tengo que realizar un contador 0 a20 un.botón incrementa la.cuenta otro la decrementa un tercer botón hace que empiece a descender automáticamente y el reset empieza en 5

    ResponderEliminar
  4. The TOTO ® Titanium Necklace
    Get the classic TOTO® Titanium Necklace here at The Tianium Arts smith titanium website today. ridge titanium wallet Featuring titanium nitride coating service near me a design inspired by suunto 9 baro titanium the TOTO® 바카라 총판 Titanium pattern.

    ResponderEliminar