Todos los ejercicios
Medio
Corrige el error
5 pruebas
FSM de 3 estados — estado inalcanzable
Se pedía una máquina con estados S0 ("00"), S1 ("01"), S2 ("10").
Especificación
- Reset asíncrono activo en alto →
S0. - En
rising_edge(clk):S0 -> S1siempre.S1 -> S2cuandox = '1', en otro caso se queda enS1.S2 -> S0siempre.
statesaca la codificación del estado actual.
Qué falla
La transición S1 -> S2 nunca se dispara. Por mucho que mantengas x en alto, la FSM se queda en S1 para siempre: S2 es inalcanzable. El bug está en la condición que protege esa transición.
Pista
Una señal no puede valer dos cosas distintas a la vez. Mira la expresión booleana: es una contradicción.
Caso de prueba visible
Reset y luego x=1 — debe alcanzar S2
| Puerto | Tiempo | Valor |
|---|---|---|
reset |
0 ns | 1 |
reset |
25 ns | 0 |
x |
0 ns | 1 |
4 casos de prueba ocultos — resuélvelos para revelarlos.