Codificación de estados

En casos determinados suule ser necesario introducir una codificación de estados determinada.Esto puede realizarse definiendo constantes de tipo estado. Entonces, la variable tipo estado sólo evolucionará dentro de las constantes predefinidas

Ejemplo

entity mefEnum is
port(

ck: in bit;
z: out bit);

end;
architecture f of mefEnum is
type estado is array (2 downto 0) of bit; -- Definición de estados
constant s0: estado:="001"; -- Codificación de los estados
constant s1: estado:="010";
constant s2: estado:="100";
signal s: estado:= s0;
-- Variable tipo estado
begin

process
begin

wait until ck='1';
case s is

when s0 => s <= s1;
when s1 => s <= s2;
when others => s <= s0;

end case;

end process;
z <= '1' when s=s2 else '0';

end;

Entonces, la codificación de los estados vendría determinada por el código VHDL escrito. La siguiente gráfica muestra la correspondiente simulación

 

Anterior
Volver a inicio curso
Volver a inicio capítulo


WcN - Joan Oliver. Diseño de circuitos digitales con VHDL: máquinas de estado finito