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

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

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

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
    下载

相关推荐