miércoles, 26 de noviembre de 2014

Máquina ASM en FPGA con VHDL


Veamos el diagrama ASM:

El control en su forma esquemática debe ser tal como se muestra.

El control se puede obtener como una Máquina de Moore así:

El contador C1 tiene dos detectores D1 y D2:


C2  tiene el detector D3:

Se requiere dividir los 50 Mhz para obtener un reloj de 1 HZ:

Se añadió al control una salida para poder manejar el contador C2 mediante su enable:


Se usaron Flip-flops D, en lugar de J-K:

Los flip-flops F1,F2, y F3, tienen códigos idénticos.

Veamos el de F1:

Veamos por último el código VHDL del circuito final interconectando los bloques componentes  anteriores:

Se implementó en la tarjeta Basys 2 Digilent.

Veamos el archivo UCF de asignación de pines en la FPGA:


Veamos el esquemático RTL del circuito final: