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

电子密码锁设计Verilog代码VIVADO仿真

08/13 14:11
474
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-240R61U304438.doc

共1个文件

名称:电子密码锁设计Verilog代码VIVADO仿真

软件:VIVADO

语言:Verilog

代码功能:

电子密码锁

设计要求:

设计一个密码锁的控制电路,当输入正确代码时,输出开锁信号以推动执行机构工作,用红灯亮、绿灯熄灭表示关锁,用绿灯亮、红灯熄灭表示开锁;

在锁的控制电路中储存一个可以修改的4位代码,当开锁按钮开关(可设置成6位至8位,其中实际有效为4位,其余为虚设)的输入代码等于储存代码时,开锁;

从第一个按钮触动后的5秒内若未将锁打开则电路自动复位并进入自锁状态,使之无法再打开,并发出报警信号。

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

演示视频:

设计文档:

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. Testebnch

6. 仿真图

整体仿真图

默认密码3210

先输入453210开锁,关锁后输入5678,超时5秒报警

按键检测模块

检测按键按下,产生下降沿信号

密码输入模块

控制模块

报警模块

根据状态输出报警信号

显示模块

部分代码展示:

//?$Header:?/devl/xcs/repo/env/Databases/CAEInterfaces/verunilibs/data/glbl.v,v?1.14?2010/10/28?20:44:00?fphillip?Exp?$
`ifndef?GLBL
`define?GLBL
`timescale??1?ps?/?1?ps
module?glbl?();
????parameter?ROC_WIDTH?=?100000;
????parameter?TOC_WIDTH?=?0;
//--------???STARTUP?Globals?--------------
????wire?GSR;
????wire?GTS;
????wire?GWE;
????wire?PRLD;
????tri1?p_up_tmp;
????tri?(weak1,?strong0)?PLL_LOCKG?=?p_up_tmp;
????wire?PROGB_GLBL;
????wire?CCLKO_GLBL;
????wire?FCSBO_GLBL;
????wire?[3:0]?DO_GLBL;
????wire?[3:0]?DI_GLBL;
???
????reg?GSR_int;
????reg?GTS_int;
????reg?PRLD_int;
//--------???JTAG?Globals?--------------
????wire?JTAG_TDO_GLBL;
????wire?JTAG_TCK_GLBL;
????wire?JTAG_TDI_GLBL;
????wire?JTAG_TMS_GLBL;
????wire?JTAG_TRST_GLBL;
????reg?JTAG_CAPTURE_GLBL;
????reg?JTAG_RESET_GLBL;
????reg?JTAG_SHIFT_GLBL;
????reg?JTAG_UPDATE_GLBL;
????reg?JTAG_RUNTEST_GLBL;
????reg?JTAG_SEL1_GLBL?=?0;
????reg?JTAG_SEL2_GLBL?=?0?;
????reg?JTAG_SEL3_GLBL?=?0;
????reg?JTAG_SEL4_GLBL?=?0;
????reg?JTAG_USER_TDO1_GLBL?=?1'bz;

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

  • 2-240R61U304438.doc
    下载

相关推荐