Question
Lab: ( NOCHYP (No One Can Hack your Password) Purpose: To write a VHDL code for a four 4-digit HARDWARE password To introduce the use
Lab: (NOCHYP (No One Can Hack your Password)
Purpose: To write a VHDL code for a four 4-digit HARDWARE password
To introduce the use of the push button switches
To introduce the ifelsif.else construct in VHDL
To synthesize, implement and program it on the ALTERA Cyclone IV chip
Equipment:
PC with ALTERA Quartus II tools, DE2-115 board.
Discussion:
A password in hardware is very hard to crack! You are going to use 16 binary switches SW(15-0) to enter a four hex digit password, e.g. 9F6A.
Basically, you select the four password digits on SW(15-0) then press push button
KEY(0) to enter the password. If the correct password is detected the green light comes on. Otherwise, the red light is turned on. SW(17) is used as a reset to clear both the Red and Green LEDs.
Procedure:
Open a project, call it PASSWORD
After you open a project, do the following steps:
Fill in the blanks for entity and architecture.
LIBRARY ieee;
use ieee.std_logic_1164.ALL;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
Entity PASSWORD is port (
SW: in std_logic_vector (__ downto __);--18 switches
KEY: in std_logic_vector (__ downto __);--4 push button KEYs
LEDG: out std_logic_vector (__downto __);
LEDR: out std_logic_vector (__ downto __) -- 2 green LEDs and 2 red LEDs
);
End PASSWORD;
Architecture behavioral of PASSWORD is
Begin
Process(_______, ________)sensitivity list for process (Push Button 0 and slide switch 17)
Begin -- nested IF-THEN-ELSE structures
if _______='1' then -- reset SW(17) high?
_________<='0'; --clear LEDs
_________<='0';
elsif rising_edge(_______) then -- wait for clock (wait for enter)
if SW(___ downto___) = x"????" then -- example of entering a hex value in VHDL
________<='1'; --good password illuminate Green LED
else
_________<='1'; -bad password illuminate Red LED
end if;
end if;
end process;
end behavioral;
Save as PASSWORD.
Import pin assignment, compile, program, and test the design.
Part 2:
Add to your design a message display on the HEX outputs as follows:
GOOD if the password is good
BAD if the password is bad
LIBRARY ieee;
use ieee.std_logic_1164.ALL;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
Entity PASSWORD is port (
SW: in std_logic_vector (__ downto __);--18 switches
KEY: in std_logic_vector (__ downto __);--4 push button KEYs
LEDG: out std_logic_vector (__downto __);
LEDR: out std_logic_vector (__ downto __); -- 2 green LEDs and 2 red LEDs
HEX0: out std_logic_vector (__ downto __); --hex displays
HEX1: out std_logic_vector (__ downto __);
HEX2: out std_logic_vector (__ downto __);
HEX3: out std_logic_vector (__ downto __)
);
End PASSWORD;
Architecture behavioral of PASSWORD is
Begin
Process(_______, ________)sensitivity list for process (Push Button 0 and slide switch 17)
Begin -- nested IF-THEN-ELSE structures
if _______='1' then -- reset SW(17) high?
_________<='0'; --clear LEDs
_________<='0';
elsif rising_edge(_______) then -- wait for clock (wait for enter)
if SW(___ downto___) = x"????" then example of entering a hex value in VHDL
________<='1'; --good password illuminate Green LED
________<=______;--code for G
________<=______;--code for O
________<=______;--code for O
________<=______;--code for D
else
_________<='1'; --bad password illuminate Red LED
________<=______;--code for B
________<=______;--code for A
________<=______;--code for D
end if;
end if;
end process;
end behavioral;
Save as PASSWORD.
Import pin assignment, compile, program, and test the design.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started