密码锁verilog课程设计使用.pdf

课程设计报告 课程设计题目: 4 位串行数字密码锁 学 号 :201420130326 学生姓名 :谢渊良 专 业:通信工程 班 级 : 1421302 指导教师 :钟凯 2017 年 1 月 5 日 1.摘要 随着科技的发展数字电路的各种产品广泛应用, 传统的机械锁由于其构造的 简单,安全性不高,电子密码锁其保密性高,使用灵活性好,安全系数高,使用 方便,将会是未来使用的趋势。 本设计使用 EDA设计使设计过程廷到高度自动化, 其具有强大的设计功能、测试、仿真分析、管理等功能。使用 EDA环境完成电路 的系统综合设计和仿真。用 VHDL可以更加快速、灵活地设计出符合各种要求的 密码锁。 本设计基于 Verilog HDL 语言来设计密码锁,先介绍设计要求和整体 设计思想, 随后对所使用各模块分别为 键盘模块 、连接模块 、控制模块 进行了介 绍,给出各个模块的主要代码,在对各个模块的功能进行仿真。 关键字:密码锁 Verilog HDL 2.设计内容 设计一个 4 位数字密码锁子系统 1)1.2 设计要求 开锁密码为 4 位二进制,当输入密码与锁内给定的密码一致 时,方可开锁。否则进入“错误”状态,发出报警信号。 2 )锁内的密码可调。 3 )串行数字密码锁的报警,直到按下复位开关,才停下。此时,数字密码锁又 自动等待下一个开锁状态。 3.系统设计 本设计中, FPGA系统采用硬件描述语言 Verilog 按模块化方式进行设计, 并用 modersim 软件对各个模块进行编写仿真。 3.1 键盘模块 键盘电路理想接口图: 键盘模块 0 1 flag Set Reset key_value 设计原理: 本模块采用 2 ×2 的扫描键盘电路,对输入信号进行采集,此模块的主要功能是每按下一个 按键, flag 产生一个矩形波,作为 连接模块 的触发信号。同时 key_value 值为所按下键的编 码值,与 flag 一同传入连接模块。 实际设计接口图: 键盘模块 b a flag key_value 键盘模块仿真图: 跟据图中所示当输出 kevalue: 10 值的时候, flag 出现一个矩形波。 当输出 kevalue:11 值的时候, flag 再次出现上跳沿。实际上,上面的图写的测试文件是有一 点错误的,当 a 扫描到第三个值( 01 )时, b 在实际电路中应该是 01 而不是 11,此时根据 程序 flag 应置为 1,当然此时 flag 本来就是 1,不会发生错误。在实际中,时钟频率跳的如 此之快,人按一下按键的持续时间还是有的,所以 flag 应在按键按完后再下降下来。不然 多出很多无用的矩形波,这个装置就没用了。 3.2 连接模块 连接模块接口图: a_led b_led 连接模块 flag flag2 a keyv

文档评论(0)

1亿VIP精品文档

相关文档