Documente Academic
Documente Profesional
Documente Cultură
sh
vivado
source /opt/Xilinx/Vivado/2017.2/settings64.sh
source /opt/Xilinx/SDK/2016.4/settings64.sh
ibrary IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.NUMERIC_STD.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity password is
Port (
clk_out: in std_logic;
reset: in std_logic;
-- ps2c1: in std_logic;
-- alerta: in std_logic;
-- mode: in std_logic;
mode3: in std_logic
);
end password;
type state is (st0, st1, st2, st3, st4, st5, st6, st7, st8, st9, st10,st11);
-- type state1 is (st41, st51, st61, st71, st81, st91, st101, st111);
begin
-- begin
-- --output<= "00000000";
-- pr_state<= nx_state;
-- --output<= "00000001";
-- -- else
-- -- output<= "00000000";
-- end if;
-- end process;
-----------------------------------------------------------------------
process (clk_out,reset)
begin
end if;
end process;
-------------------------------------------------------------------
process(pr_state,clk_out)
begin
case pr_state is
--led<="0000";
nx_state<=st1;
else
nx_state<= st0;
end if;
nx_state<= st1;
nx_state<=st2;
else
nx_state<= st0;
end if;
nx_state<= st1;
nx_state<= st2;
nx_state<= st3;
else
nx_state<= st0;
end if;
when st3=>
led<="0001";
nx_state<= st3;
end case;
end process;
--end Behavioral;
-- begin
-- -- led<="0000";
-- led<="0001";
-- --seguro<='1';
-- led<="0010";
-- led<="0100";
-- --seguro<='1';
-- else
-- led<="0000";
-- --seguro<='0';
-- end if;
-- end process;
-----------------------------------------------------------------------------------
-------------------------------------------------------------------------------------
-- begin
-- case pr_state is
-- nx_state<=st4;
-- elsif(tec="00010110") then
-- nx_state<=st1;
-- else
-- nx_state<=st0;
-- end if;
-- nx_state<= st1;
-- elsif (tec="00011110")then
-- nx_state<=st2;
-- else
-- nx_state<=st0;
-- end if;
-- nx_state<= st1;
-- nx_state<= st2;
-- elsif(tec="00100110") then
-- nx_state<=st3;
-- else
-- nx_state<=st0;
-- end if;
-- nx_state<=st3;
-- led<="0001";
-----------------------------------------------------------------------
-------------------------------------------------------------------------
-- process(pr_state1,clk_out)
-- begin
-- case pr_state1 is
-- when st41=>
-- led<="0000";
-- nx_state1<=st41;
-- else
-- d0<=tec;
-- nx_state1<=st51;
-- end if;
-- when st51=>
-- if(tec="01011010")then
-- nx_state1<=st41;
-- elsif(tec=d0)then
-- nx_state1<=st51;
-- else
-- d1<=tec;
-- nx_state1<=st61;
-- end if;
-- when st61=>
-- if(tec="01011010")then
-- nx_state1<=st41;
-- elsif(tec=d0)then
-- nx_state1<=st51;
-- elsif(tec=d1) then
-- nx_state1<=st61;
-- else
-- d2<=tec;
-- nx_state1<=st71;
-- end if;
-- when st71=>
-- if(tec="01011010")then
-- nx_state1<=st81;
-- led<="0010";
-- else
-- nx_state1<=st41;
-- -- led<="0010";
-- end if;
-- -- led<="0010";
------------------------------------------------------------
-- when st81=>
-- if(tec="01011010")then
-- nx_state1<=st41;
-- elsif(tec=d0)then
-- nx_state1<=st91;
-- else
-- nx_state1<=st81;
-- end if;
-- when st91=>
-- if(tec="01011010") then
-- nx_state1<=st41;
-- elsif(tec=d0) then
-- nx_state1<=st91;
-- elsif(tec=d1) then
-- nx_state1<=st101;
-- else
-- nx_state1<=st81;
-- end if;
-- when st101=>
-- if(tec="01011010")then
-- nx_state1<=st41;
-- elsif(tec=d0)then
-- nx_state1<=st91;
-- elsif(tec=d1)then
-- nx_state1<=st101;
-- elsif(tec=d2)then
-- --led<="111";
-- nx_state1<=st111;
-- else
-- nx_state1<=st81;
-- end if;
-- led<="0100";
-- nx_state1<=st111;
-- end case;
4 st0
5 1
6 2
7 3
8 4
9 5
10 6
11 7