名称:密码锁设计Verilog代码Quartus? DE1-SOC开发板
软件:Quartus
语言:Verilog
代码功能:
设计密码锁:←
基础要求
1.输入密码:通过按钮来输入密码[30],至少4位;
2.修改密码:解锁后,用户应该能够通过输入相同的两次按键序列来修改密码并锁定系统如果第二个按钮顺序与第一个按钮序列不匹配,则系统应保持解锁状态并显示错误消息
3.锁定后,用户应该能够通过输入锁定设备的密码来解锁。如果尝试使用不正确的按键顺序来解锁系统,则系统应保持锁定状态并显示错误消息
4.显示:系统应将7段LED数码管用作显示器。当系统锁定时,数码管上显示“ LOCKED 或类似内容。当系统打开时,应该在数码管上显示“OPEN或类似的字样
其他要求:←
1.计时功能;←
2.提高密码长度;
3.高级的用户界面(LCD)显示。
4.建立复杂且合适的层次设计;
5.开发完全参数化和通用的自定义|P块。
硬件电路板: Altera DE1-SOC
编写软件: Quartus
编写语言: Verilog
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
本代码已在DE1-SOC开发板验证,DE1-SOC开发板如下,其他开发板可以修改管脚适配:
演示视频:
设计文档:
1.工程文件
2.程序文件
3.程序编译
4.RTL图
5.管脚分配
部分代码展示:
module?digital_lock_DE1( input?clk_50M,//50MHz input?key0,//按键0 input?key1,//按键1 input?key2,//按键2 input?key3,//按键3 output?[7:0]?led,//LED指示输入多少位数 output?[6:0]HEX0,//数码管 output?[6:0]HEX1,//数码管 output?[6:0]HEX2,//数码管 output?[6:0]HEX3//数码管 ); wire?[2:0]?state_out;//当前状态 //密码锁控制模块 lock_statemachine?i_lock_statemachine( .?clk_50M(clk_50M), .?key_0(key0), .?key_1(key1), .?key_2(key2), .?key_3(key3), .?led(led), .?state_out(state_out)//当前状态 );
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1169