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: