¿Qué hace este código VHDL?

1

Estaba revisando un código que implementó un circuito utilizando una implementación VHDL de "estado enumerado explícito".

Estoy confundido en cuanto a lo que hace este fragmento de código, mi confusión está relacionada con la sintaxis, por lo que cualquier ayuda para descifrar VHDL aquí sería genial:

case state is 
   when SO => state <= S1;
   when S1 => state <= S2;
   when S2 => state <= S0;
end case; 
    
pregunta rrazd

1 respuesta

5

Agregue algunas fuentes de línea y se hará bastante evidente:

case state is 
   when SO => 
     state <= S1;
   when S1 => 
     state <= S2;
   when S2 => 
     state <= S0;
end case;

Lo que hace es programar state para que se establezca en el siguiente estado, girando de 2 a 0. Entonces S0- > S1- > S2- > S0 ... Si no está dentro de un reloj proceso, irá tan rápido como sea posible para siempre, lo que es más probable que no sea lo que quieres que suceda.

    
respondido por el Aaron D. Marasco

Lea otras preguntas en las etiquetas