Hi Tricky, Thanks for the fast reply, probably now i have got into the locked or unlocked states, do you mind checking out the combinational process:
-- Combinational Process
Process(Current_State, key_0, key_1, key_2, key_3)
begin
LEDG <= "00"; LEDR <= "00";
case Current_State is
when closed =>
if ( key_0 = '1' ) then
Next_State <= closed;
LEDG <= "01"; LEDR <= "01";
else
Next_State <= locked;
LEDG <= "10"; LEDR <= "10";
end if;
when opened =>
if ( key_1 = '1' ) then
Next_State <= opened;
LEDG <= "10"; LEDR <= "10";
else
Next_State <= unlocked;
LEDG <= "01"; LEDR <= "01";
end if;
when locked =>
if ( key_2 = '1' ) then
Next_State <= opened ;
LEDG <= "10"; LEDR <= "10";
else
Next_State <= unlocked;
LEDG <= "11"; LEDR <= "11";
end if;
when unlocked =>
if (key_3 = '1' ) then
Next_State <= unlocked;
LEDG <= "11"; LEDR <= "11";
else
Next_State <= closed;
LEDG <= "10"; LEDR <= "11";
end if;
end case;
end process;
end Behavioral;