淮南师范学院电气信息工程学院2013届电子信息工程专业课程设计报告 成绩
课程设计报告
题 目:基于Verilog HDL的数字密码锁
的设计
学生姓名: 江留胜 学生学号: 0908030113 系 别: 电气信息工程学院 专 业: 电子信息工程 届 别: 2013届 指导教师: 马立宪
1
淮南师范学院电气信息工程学院2013届电子信息工程专业课程设计报告 基于Verilog HDL的数字密码锁的设计
学 生:江留胜
指导教师:马立宪
电气信息工程学院 电子信息工程
1课程设计的任务与要求 1.1 课程设计的任务
设计一个6位的数字密码锁,利用Verilog HDL语言来实现,并使用QuartusⅡ进行仿真与调试。 1.2 课程设计的要求
设计一个简单的数字密码锁,密码为6位,其功能: 1、在内部设置密码,其密码用6位十进制数表示。 2、输入密码时,每次输入一位数,输入后按#进行确认。
3、当输入的密码顺序与设置的密码一致时,密码锁打开,否则,则报警。 4、具有重置密码的功能。输入密码正确后按*号键输入要重的密码,按#号键确认密码的重置,连续输入两次,则密码重置成功。
使用Verilog HDL语言编写密码锁的开锁过程的程序,并借助QuartusⅡ软件对其进行仿真,观察实验波形。
1.3 课程设计的研究基础(设计所用的基础理论)
密码锁就是要有一定的自我保护功能,并且能够定时更新防止破译的危险。密码锁控制器是硬件与软件的结合。
Verilog HDL是一种优秀的硬件描述语言,它与C语言有许多相似之处,并继承和借鉴了C语言的多种操作符和语法结构,有C语言基础的人很快就能够学习并使用该语言。
在本次计中,系统开发平台为QuartusⅡ。QuartusⅡ界面友好,使用便捷,被誉为业界最易用易学的EDA软件。在QuartusⅡ上可以完成设计输入、元件适配、时序仿真和功能仿真、编程下载整个流程,它提供了一种与结构无关的设计环境,是设计者能方便地进行设计输入、快速处理和器件编程。
在本次设计中,采用的硬件描述语言是Verilog HDL。Verilog HDL也是目前应用最为广泛的硬件描述语言,并被IEEE采纳为IEEE#1064-1995标准。Verilog HDL可以
2
淮南师范学院电气信息工程学院2013届电子信息工程专业课程设计报告 用来进行各种层次的逻辑设计,也可以进行数字系统的逻辑综合、仿真验证和时序分析。Verilog HDL适合算法级(Algorithm)、寄存器传输级(RTL)逻辑级(Logic)、门级(Gate)和版图级(Layout)等各个层次的电路设计和描述。使设计者在进行电路设计时不必过多考虑工艺实现的具体细节,
Verilog HDL只需要根据系统设计的要求施加不同的约束条件,即可设计出实际电路。利用计算机的强大功能,在EDA工具的支持下,把逻辑验证与具体工艺库相匹配,将布线及延迟计算分成不同的阶段来实现,减少了设计者的繁重劳动。
2 数字密码锁系统方案制定
2.1 方案提出(以方框图模块化设计的形式给出至少2个方案,并简要说明) 设计方案一:
采用数字电路控制,用以CMOS构成的数字逻辑电路作为密码锁的控制核心,用verilog HDL硬件描述语言来进行仿真。设计一个简单的数字密码锁,密码为6位,其功能:在内部设置密码,其密码用6位十进制数表示。输入密码时,每次输入一位数,输入后并进行确定。若输入密码位与对应位相同,则通过并继续输入密码,直至输入结束,最后开锁。若有一位与对应密码位不同则报警,结束输入,若要开锁需重新输入。其流程图如下:
3
淮南师范学院电气信息工程学院2013届电子信息工程专业课程设计报告 输入:数值0~9 n=1 输入一位并确认 是 n+1<=6 是 与内置密码一致 否 否 报警 开锁成功 开锁失败 结束 方案一的流程图
方案二:
采用以AT89C51单片机为核心控制的方案。能完成开锁,修改密码,密码错误报警,LCD显示密码等基本的密码锁功能。
其主要具有如下功能:
(1)密码通过键盘输入,若密码正确,则将锁打开。 (2)报警功能。密码输入错误密码则蜂鸣器发出报警。 (3)可以进行密码的重置。
4
淮南师范学院电气信息工程学院2013届电子信息工程专业课程设计报告
方案二的框图
2.2 方案比较
基于单片机的实现方案原理复杂,调试比较麻烦,所用到的器件比较多,而用数字电路的实现过程相对而言比较简单,软件易于实现,容易调试。 2.3 方案论证
随着社会物质财富的日益增长,安全防盗已成为全社会关注的问题。基于EDA技术设计的电子密码锁,以其价格便宜、安全可靠、使用方便,受到了人们的普遍关注。而以现场可编程逻辑器件(FPGA)为设计载体,以硬件描述语言(VHDE)为主要表达方式,以QuartusⅡ开发软件和GW48EDA开发系统为设计工具设计的电子密码锁,由于其能够实现数码输入、数码清除、密码解除、密码更改、密码上锁和密码解除等功能,因此,能够满足社会对安全防盗的要求。 2.4 方案选择
综合以上情况,本次设计采用第一种方案。 3 数字密码锁系统方案设计
3.1各单元模块功能介绍及电路设计 1、密码重置模块:
该电路的的具体功能是:输入密码正确后按*号键输入要设置和更改的密码,按#号键确认密码设置与更改,连续输入两次,则密码设置成功。
按要求,该部分要用到I2C总线E2PROM 器件AT24C08。它的容量为1024×8(8Kbytes),支持2.7V~5.5V工作电压。当工作电压为5V的时候,其接口速度可以达
5