• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

密码锁设计Verilog代码Quartus DE2-70开发板

1小时前
95
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-2410151P302542.doc

共1个文件

名称:密码锁设计Verilog代码Quartus? DE2-70开发板

软件:Quartus

语言:Verilog

代码功能:

设计目的:

(1)了解DE2-70开发板的硬件构成;

(2)熟悉开发板可用资源的硬件电路

(3)掌握EDA开发流程;

(4)熟悉 Quartus II开发环境;

(5)掌握 Verilog基本语法;

(6)熟练掌握在 Quartus I环境下进行软件仿真的方法。

设计内容及基本要求:

设计一个电子密码锁,实现设置修改密码和开锁的功能

(1)基本功能

①可设置并保存四位密码数字,并在数码管中显示111

②先按开锁键,之后开始输入密码,并显示;若三次输入错误,则锁定,需要按解锁键,并输入解锁密码(固定为0)后再次尝试;

③密码输入错误和密码输λ正确均有相应的提醒信息(如LED亮或蜂鸣器发声等);

④可删除输入的数字,删除的是最后输入的数字。

(2)扩展功能

当前输入的数字在最右侧数码管显示,前面输入的数字自动左移一个数字位置。

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

本代码已在DE2-70开发板验证,DE2-70开发板如下,其他开发板可以修改管脚适配:

DE2-70开发板.png

演示视频:

设计文档:

1.?工程文件

2.?程序文件

3.?程序编译

4.?RTL图

5.?管脚分配

6.?仿真图

密码输入模块仿真

状态机控制模块仿真

数码管显示模块仿真

部分代码展示:

//密码按键输入模块
module?enter_num(
input?clk,//时钟
//按键0到9
input?key_0,
input?key_1,
input?key_2,
input?key_3,
input?key_4,
input?key_5,
input?key_6,
input?key_7,
input?key_8,
input?key_9,
input?delete,//删除键
input?[2:0]?current_state,//密码锁当前状态
output?reg?[15:0]?secretcode//输入的密码
);
//定义信号
reg?key_0_temp0=0;
reg?key_1_temp0=0;
reg?key_2_temp0=0;
reg?key_3_temp0=0;
reg?key_4_temp0=0;
reg?key_5_temp0=0;
reg?key_6_temp0=0;
reg?key_7_temp0=0;
reg?key_8_temp0=0;
reg?key_9_temp0=0;
reg?key_0_temp1=0;
reg?key_1_temp1=0;
reg?key_2_temp1=0;
reg?key_3_temp1=0;
reg?key_4_temp1=0;
reg?key_5_temp1=0;
reg?key_6_temp1=0;
reg?key_7_temp1=0;
reg?key_8_temp1=0;
reg?key_9_temp1=0;
reg?delete_temp0=0;
reg?delete_temp1=0;
wire?key_0_en;
wire?key_1_en;
wire?key_2_en;
wire?key_3_en;
wire?key_4_en;
wire?key_5_en;
wire?key_6_en;
wire?key_7_en;
wire?key_8_en;
wire?key_9_en;
wire?delete_en;

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1200

  • 2-2410151P302542.doc
    下载

相关推荐