Ejercicios de VHDL secuencial

1. Una mef viene definida poe el siguiente grafo de estados

Se pide:

a) Dar la descripción VHDL correspondiente a una implementación en proceso único
b) Realizar la correspondiente implementación VHDL utilizando dos procesos
c) Dar la descripción VHDL con salidas registradas
d) Obtener una descripción VHDL de autotest (que con salida testOK podamos comprobar si la implementación funciona correctamente)

2. Supongamos que se quiere materializar el esquema de bloques que se adjunta. Entonces:

a) ¿Cuáles de los siguientes códigos materializarían el esquemático?
b) Dibuja el esquema que se inferiría en los códigos que no se ajustan al esquemático presentado

Architecture rtl1 of exer is
Signal i1: std_logic;
Begin

process
begin

wait until clk='1';
i1 <= d and a;
q2 <= i1 and b;

end process;

End;

Architecture rtl2 of exer is
Signal q1, i1, i2: std_logic;
Begin

process
begin

wait until clk='1';
i1 <= d and a;
i2 <= i1;

end process;
q2 <= i2 and b;

End;

Architecture rtl3 of exer is
Signal q1, i1, i2: std_logic;
Begin

process
begin

wait until clk='1';
q1 <= d;
i1 <= q1 and a;
i2 <= i1;
q2 <= i2 and b;

end process;

End;

Architecture rtl4 of exer is
Signal q1, q2: std_logic;
Begin

process
begin

wait until clk='1';
q1 <= d;
q2 <= q1 and a;

end process;
i2 <= q2 and b;

End;

Architecture rtl5 of exer is
Signal q1, i1, i2: std_logic;
Begin

process
begin

wait until clk='1';
q1 <= d;
q2 <= i1;

end process;
i2 <= q2 and b;
i1 <= q1 and a;

End;

Architecture rtl6 of exer is
Signal q1, q2: std_logic;
Begin

Process (clk)
begin

if clk’event and clk='1' then

q1 <= d;
q2 <= q1 and a;

end if;

end process;
i2 <= q2 and b;

End;

 


WcN - Joan Oliver. Diseño de circuitos digitales con VHDL: Ejercicios