Necesito leer los datos de una SRAM en un paso (algo como READ_RAM (addr) que devuelve el valor almacenado en la SRAM en la dirección "addr"). ¿Es posible crear una función / procedimiento que integre una máquina de estados finitos?
Necesito leer los datos de una SRAM en un paso (algo como READ_RAM (addr) que devuelve el valor almacenado en la SRAM en la dirección "addr"). ¿Es posible crear una función / procedimiento que integre una máquina de estados finitos?
Un FSM es un conjunto de circuitos secuencial, y las funciones son solo combinatorias, por lo que una función no puede representar por sí misma un FSM. Sin embargo, las rutas combinacionales del FSM se pueden representar con funciones. Los ejemplos típicos son la codificación del siguiente estado o las salidas en función del estado actual y las entradas. Es una forma muy limpia de codificar un FSM.
Un procedimiento, por otro lado, puede contener sentencias secuenciales, pero cuando lo hacen, se usan principalmente para bancos de pruebas que utilizan las sentencias wait
, que no son sintetizables.
Lea otras preguntas en las etiquetas vhdl state-machines