Programacion En Vhdl
8. Máquinas de estados finitos
Las máquinas de estados finitos las hemos estudiado en teoría, en esta práctica veremos cómo implementarlas en VHDL. Aunquehay varias formas de implementar una máquina de estados en VHDL, de manera general, nosotros la implementaremos mediante tres procesos: Proceso secuencial que guarda el estado Proceso combinacional queobtiene el estado siguiente según el estado actual y las entradas Proceso combinacional que obtiene la salidas a partir del estado actual y las entradas si es de Mealy. Estos tres procesos esesquematizan en la figura 8.1. Fíjate que sólo el proceso secuencial tiene reloj y reset.
estado_siguiente
P_Secuencial D Clk Clk Reset Reset estado_actual
P_Comb_estado
P_Comb_salidas SalidasEntradas
Si es de Mealy depende de las entradas Si es de Moore no depende de las entradas
Figura 8.1: Esquema general de los procesos de una máquina de estados Muchas veces se unen los procesoscombinaciones en un sólo proceso. Sin embargo, te recomendamos que al menos al principio te acostumbres a hacerlo de esta forma más ordenada. También se puede hacer toda la máquina de estados en un únicoproceso. Vamos a ver cómo se diseñan máquinas de estados finitos con un ejemplos.
8.1. Máquina de estados para encender y apagar un LED con pulsador
En realidad, aunque quizás no nos hayamos dadocuenta, ya hemos hecho algunas máquinas de estado finitos en algunos ejemplo. Sin embargo, como eran sencillas, pudimos diseñarlas de manera intuitiva. El circuito que enciende y apaga un LED con unpulsador que hicimos en la práctica 4.3 se puede hacer con máquinas de estados finitos. Nuestro circuito tendrá dos bloques: el detector de flanco del pulsador (BTN0) y la máquina de estados finitos.El esquema de estos dos bloques se muestra en la figura 8.2 (estos bloques pueden tener más de un proceso).
Detector de flanco BTN0 Clk Clk Reset Reset Reset Pulso_BTN0 LD0 Clk Clk Reset Máquina de...
Regístrate para leer el documento completo.