基于FPGA的4位十进制密码锁VHDL代码Quartus仿真 | 您所在的位置:网站首页 › fpga密码锁代码 › 基于FPGA的4位十进制密码锁VHDL代码Quartus仿真 |
名称:基于FPGA的4位十进制密码锁VHDL代码Quartus仿真(文末获取) 软件:Quartus 语言:VHDL 代码功能: 4位十进制密码锁 1、可以输入0~9个数字 2、密码为4位,输入错误可以删除 3、密码正确led提示开锁,密码错误达3次报警 4、可以通过按键修改密码 1. 工程文件 2. 程序文件 3. 程序编译 4. RTL图 5. Testbench 6. 仿真图 整体仿真图 显示模块 密码输入模块 密码锁控制模块 密码修改模块 部分代码展示: LIBRARY ieee; USE ieee.std_logic_1164.all; USE ieee.std_logic_unsigned.all; --密码输入模块 ENTITY mima_input IS PORT ( clk : IN STD_LOGIC; key_0 : IN STD_LOGIC;--按键0 key_1 : IN STD_LOGIC;--按键1 key_2 : IN STD_LOGIC;--按键2 key_3 : IN STD_LOGIC;--按键3 key_4 : IN STD_LOGIC;--按键4 key_5 : IN STD_LOGIC;--按键5 key_6 : IN STD_LOGIC;--按键6 key_7 : IN STD_LOGIC;--按键7 key_8 : IN STD_LOGIC;--按键8 key_9 : IN STD_LOGIC;--按键9 delect : IN STD_LOGIC;--删除键 current_state : IN STD_LOGIC_VECTOR(2 DOWNTO 0);--当前状态 password : OUT STD_LOGIC_VECTOR(15 DOWNTO 0)--4位密码,用BCD码表示,一共16位 ); END mima_input; -- current_state=3'd0;锁住 -- current_state=3'd1;密码比对 -- current_state=3'd2;开锁 -- current_state=3'd3;密码错误 -- current_state=3'd4;修改密码 -- current_state=3'd5;报警 ARCHITECTURE trans OF mima_input IS --定义中间信号 SIGNAL current_num_buf : STD_LOGIC_VECTOR(2 DOWNTO 0):="000";--当前输入密码个数 SIGNAL delect_buf1 : STD_LOGIC := '0'; SIGNAL delect_buf2 : STD_LOGIC := '0'; SIGNAL key_0_buf1 : STD_LOGIC := '0'; SIGNAL key_1_buf1 : STD_LOGIC := '0'; SIGNAL key_2_buf1 : STD_LOGIC := '0'; SIGNAL key_3_buf1 : STD_LOGIC := '0'; SIGNAL key_4_buf1 : STD_LOGIC := '0'; SIGNAL key_5_buf1 : STD_LOGIC := '0'; SIGNAL key_6_buf1 : STD_LOGIC := '0'; SIGNAL key_7_buf1 : STD_LOGIC := '0'; SIGNAL key_8_buf1 : STD_LOGIC := '0'; SIGNAL key_9_buf1 : STD_LOGIC := '0'; SIGNAL key_0_buf2 : STD_LOGIC := '0'; SIGNAL key_1_buf2 : STD_LOGIC := '0'; SIGNAL key_2_buf2 : STD_LOGIC := '0'; SIGNAL key_3_buf2 : STD_LOGIC := '0'; SIGNAL key_4_buf2 : STD_LOGIC := '0'; SIGNAL key_5_buf2 : STD_LOGIC := '0'; SIGNAL key_6_buf2 : STD_LOGIC := '0'; SIGNAL key_7_buf2 : STD_LOGIC := '0'; SIGNAL key_8_buf2 : STD_LOGIC := '0'; SIGNAL key_9_buf2 : STD_LOGIC := '0'; SIGNAL key_0_rise : STD_LOGIC; SIGNAL key_1_rise : STD_LOGIC; SIGNAL key_2_rise : STD_LOGIC; SIGNAL key_3_rise : STD_LOGIC; SIGNAL key_4_rise : STD_LOGIC; SIGNAL key_5_rise : STD_LOGIC; SIGNAL key_6_rise : STD_LOGIC; SIGNAL key_7_rise : STD_LOGIC; SIGNAL key_8_rise : STD_LOGIC; SIGNAL key_9_rise : STD_LOGIC; SIGNAL delect_rise : STD_LOGIC; SIGNAL password_buf : STD_LOGIC_VECTOR(15 DOWNTO 0) := "0000000000000000"; BEGIN --信号缓存 源代码扫描文章末尾的公众号二维码 |
CopyRight 2018-2019 实验室设备网 版权所有 |