Tengo una asignación donde tengo que diseñar un FSM que genere el siguiente número hexadecimal en binario, un dígito a la vez: 12498A3B. El FSM debe usar una señal de reloj y D flip-flops para hacerlo.
Primero hice el diagrama de estado, luego hice la tabla de estado actual / siguiente, luego creé 4 mapas de Karnaugh para determinar la siguiente salida de bits de estado para cada DFF. Utilicé las 4 expresiones booleanas derivadas de estos mapas K para crear mi FSM en el programa "Logisim".
Mi circuito recorre cada dígito como debería en el orden correcto, sin embargo, la salida inicial de mi FSM no es el dígito inicial del número hexadecimal, sino uno de los dígitos en el centro del número. ¿Cómo es esto posible? Soy nuevo en el diseño de FSM, pero tuve la impresión de que, al implementar las expresiones booleanas obtenidas de los mapas K, se produciría el estado inicial esperado.
Puedo proporcionar capturas de pantalla de todo mi trabajo si se necesita mayor claridad.