Necesito ayuda para resolver un problema de bloqueo de código en VHDL.
Lámpara abierta alta después de 3 secuencias 100,101,110 De lo contrario, la lámpara de bloqueo de alta. Cada secuencia se alimenta con un pulso de reloj. Las lámparas son altas solo con la tercera secuencia de alimentación. La tecla Restablecer debería ayudar a restablecer el proceso.
Gracias aLot.
process (R, clk, X, S1, S2, S3) begin
if R = '1' then
O <= '0';
L <= '0';
elsif (clk'event and clk = '1') then
if X = "100" then
S1 <= '1';
if X = "101" then
S2 <= '1';
else S2 <= '0';
if X = "110" then
S3 <= '1';
else
S3 <= '0';
end if;
end if;
else S1 <= '0';
end if;
end if;
if S1 = '1' and S2 = '1' and S3 = '1' then
O <= '1';
L <= '0';
elsif S1 = '0' and S2 = '0' and S3 = '0' then
O <= '0';
L <= '1';
end if;
end process;
end behavioral;