En una de mis clases estamos aprendiendo sobre circuitos. Para la tarea, tenemos que crear una máquina de estados finitos para una máquina expendedora usando un flip-flop SR. La máquina puede tomar un centavo, una moneda de diez centavos o nada hasta llegar a al menos 15 centavos, por lo que tiene 4 estados (0, 5, 10 y 15 centavos). Una vez que la máquina recibe 15 centavos, dispensa su producto. Una vez en este estado, si no se deposita nada, pasa al estado 0; si se deposita un níquel, pasa al estado de 5 centavos; Si se deposita una moneda de diez centavos, lo hace al estado de 10 centavos.
La tabla de verdad que se me ocurrió es:
Present|Inputs| Next | | SR Flip Flop
| | | Output |
Q1 Q0 |D N |P1 P0| | S1 R1 S0 R0
_______|______|_______|________|_____________
0 0 | 0 0 | 0 0 | 0 | 0 X 0 X
0 0 | 0 1 | 0 1 | 0 | 0 X 1 0
0 0 | 1 0 | 1 0 | 0 | 1 0 0 X
0 0 | 1 1 | X X | X | X X X X
_______|______|_______|________|_____________
0 1 | 0 0 | 0 1 | 0 | 0 X X 0
0 1 | 0 1 | 1 0 | 0 | 1 0 0 1
0 1 | 1 0 | 1 1 | 0 | 1 0 X 0
0 1 | 1 1 | X X | X | X X X X
_______|______|_______|________|_____________
1 0 | 0 0 | 1 0 | 0 | X 0 0 X
1 0 | 0 1 | 1 1 | 0 | X 0 1 0
1 0 | 1 0 | 1 1 | 0 | X 0 1 0
1 0 | 1 1 | X X | X | X X X X
_______|______|_______|________|_____________
1 1 | 0 0 | 0 0 | 1 | 0 1 0 1
1 1 | 0 1 | 0 1 | 1 | 0 1 X 0
1 1 | 1 0 | 1 0 | 1 | X 0 0 1
1 1 | 1 1 | X X | X | X X X X
Basándome en esta tabla de verdad [y los mapas k que hice de ella], creé las siguientes puertas lógicas:
Mipreguntaes,¿dóndeocurreexactamenteel"restablecimiento"? Por ejemplo, si estoy en el estado de 15 centavos y deposito un centavo, ¿cómo va a la etapa de 5 centavos? ¿Tengo que hacer que la salida del bucle "abierto" alrededor? Perdón por una pregunta tan novicia, ¡espero que tenga sentido!
Editar: Las dos primeras columnas corresponden al estado actual de la máquina, es decir, cuánto ha depositado hasta ahora. Entonces, Q0 Q1 = 00 representa el primer estado (0 centavos), Q0 Q1 = 01 representa el segundo estado (5 centavos), etc. Las siguientes dos columnas representan agregar un níquel o moneda de diez centavos. Si se encuentra en el estado 00 y y 01, debe pasar al estado 01. Ya que no puede depositar una moneda de cinco centavos a la vez, no nos importa la entrada 11. Si está en el estado 10 y agrega 10, ve al estado 11 (¡y no vuelvas a cambiar!)