Máquina de estado
Máquinas de estado En VHDL
Al aprender VHDL o cualquier otro lenguaje de explicación de hardware suele empezarse por los comunes sumadores y bloques combinacionales, para más adelante entrar en los sistemas con recursos de memoria, denominados además secuenciales y en ellos las reinas son las máquinas de estados o FSM (Finite State Machine) en ingles.
Anterior a comenzar, si no os apetece mucho leeros el artículo que hemos preparado, os dejamos un clip de video donde hemos explicado todo paso a paso.
En los sistemas secuenciales las maquinas de estado son posiblemente el modulo más usado, y una inagotable fuente de dudas entre los principiantes en VHDL. En este artículo vamos a aprender la composición de una máquina de estados en VHDL y resolveremos varias dudas típicas que emergen al diseñarlas. Lo primero, como continuamente es explicar que es una máquina de estados. Conforme con la Wikipedia:
"Las máquinas de estados se definen como un conjunto de estados que sirve de intermediario en esta relación de entradas y salidas, haciendo que el historial de señales de entrada determine, para cada instante, un estado para la máquina, de forma tal que la salida depende únicamente del estado y las entradas actuales".
Máquina de estados de Moore y Mealy
![]() |
Ejemplo de diagrama de estados de Mealy |
![]() | |||||
Ejemplo de diagrama de una máquina de Moore. | s | s | s | s |
En los ejemplos de la imágenes poseemos una máquina de estados con 1 bit de acceso y otro de salida, así como diversos estados probables. La máquina de Mealy al arrancar está en el estado S0, en tal estado una vez que llega un 1 por la acceso se queda en el estado S0, empero si la ingreso vale 0 pasa al estado S1. En funcionalidad de dichas entradas está establecido además el costo de las salidas. Estando en S0 si la acceso vale 1 la salida es 0, debido a que en el diagrama poseemos en esa transición 1/0.
Si nos fijamos en la máquina de Moore, la salida está vinculada al estado, no a las entradas. En el estado q0 la salida constantemente es 0 independientemente del costo de la ingreso. Por consiguiente la primordial diferencia entre las dos representaciones es que en la máquina de Moore la salida solo es dependiente del estado y en la de Mealy es dependiente del estado y la acceso.
Al la hora de diseñar la maquina de estados en VHDL la división teórica entre máquina de Mealy y de Moore no es importante, debido a que las dos se describen del mismo modo, sin embargo es interesante por lo menos mencionarlas, debido a que suele haber muchas confusiones al respecto.
Referencias.
vhdl_es. Máquinas de estado en VHDL - vhdl.es". VHDL.es. https://vhdl.es/maquinas-de-estado-en-vhdl/ (accedido el 8 de noviembre de 2021).
"Máquinas de estado finito en VHDL". Digilogic. https://digilogicelectronica.wordpress.com/2017/03/25/maquinas-de-estado-finito-fsm-vhdl/ (accedido el 8 de noviembre de 2021).
Comentarios
Publicar un comentario