Máquina de estados finitos (FSM) que controla un bloque de memoria

1

Tengo que implementar una máquina de estados finitos (FSM) que controla un bloque memoria. El FSM recibe dos entradas, indicando que está listo cuando la memoria está preparado, lectura / escritura (r_w) que indica si desea realizar una lectura o escritura y una señal de restablecimiento. El FSM genera dos variables, oe y we que son la "habilitación de salida" y la "habilitación de escritura" del bloque de memoria.

Hasta ahora he hecho el diagrama de transición de estado y la tabla de variables de salida dependiendo de la condición, pero no estoy seguro de cómo puedo diseñar el circuito con él

    

1 respuesta

1

Supongo que esto es tarea, pero como has demostrado algo de esfuerzo, seré amable y te daré algunos consejos.

Lo primero es que necesitas algunos registros para mantener el estado actual. Por lo tanto, debe determinar la cantidad de registros que va a necesitar: hay dos opciones, usted hace un mapeo único (donde hay un registro para cada estado) o usa un arreglo similar a un contador en el que tiene \ $ \ mathrm {ceil} (\ log_2 (estados)) \ $ registers.

A continuación, debe hacer un Mapa de Karnaugh para cada uno de los registros para determinar la lógica que hace que se muevan al siguiente estado. La entrada del mapa es el estado actual (todos los registros del estado) y cualquier otra entrada, por ejemplo. r_w , Reset , etc.

Finalmente, necesitas hacer más mapas de Karnaugh para cada una de tus dos salidas ( oe y we ). Para estos utiliza los registros del estado como la entrada al mapa.

    
respondido por el Tom Carpenter

Lea otras preguntas en las etiquetas