FPGA课设

  • 格式:doc
  • 大小:251.00 KB
  • 文档页数:28

下载文档原格式

  / 28
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

FPGA课程设计—数字密码锁

学院:

专业班级:

姓名:

学号:

页脚内容1

FPGA基于Verilog HDL密码锁设计

1. 摘要 (3)

2. 题目来源: (4)

3. 理论分析 (4)

4. 实现过程 (5)

4.1顶层模块 (5)

4.2蜂鸣器模块 (7)

4.3显示模块 (8)

4.4控制模块 (13)

5. 实验结果 (17)

5.1顶层模块时序仿真: (17)

5.2蜂鸣器时序仿真 (20)

5.3显示模块时序仿真: (21)

5.4控制模块时序仿真 (23)

6. 总结 (27)

7. 参考文献 (28)

页脚内容2

1.摘要

随着科技的发展数字电路的各种产品广泛应用,传统的机械锁由于其构造的简单,安全性不高,电子密码锁其保密性高,使用灵活性好,安全系数高,使用方便,将会是未来使用的趋势。本设计使用FPGA设计使设计过程廷到高度自动化,其具有强大的设计功能、测试、仿真分析、管理等功能。用Verilog HDL可以更加快速、灵活地设计出符合各种要求的密码锁。

本设计基于Verilog HDL语言来设计密码锁,先介绍设计要求和整体设计思想,随后对所使用各模块分别为蜂鸣器模块、显示模块、控制模块、顶层模块进行了介绍,给出各个模块的主要代码,在对各个模块的功能进行仿真。

随着现代科技的日益发展,智能化,自动化技术的成熟将会代替以往的人工手动控制。密码锁不仅可以有效地提高人们的生活效率,节约生活资源,而且十分安全可靠。电子密码锁运用电子电路控制机械部分,使两者紧密结合,从而避免了因为机械部分被破坏而导致开锁功能失常.大大增加了密码锁得防盗功能。同时因为电子密码锁不需要携带钥匙,弥补了钥匙极易丢失和仿造的缺陷,方便了锁具的使用。

关键字:

页脚内容3

密码锁Verilog HDL Quartus II

2.题目来源:

本设计以007为万能密码在忘记密码时开锁使用。开始时密码锁处于关闭的状态,输入万能密码将锁打开。在锁处于打开的状态时设计密码,此时指示灯处于亮的状态,说明锁处于开的状态。设置好密码后按关闭拨码使锁关闭,指示灯处于灭的状态。再输入三位数字进行开琐,如果输入的密码正确则指示灯亮,表示开琐成功,否则蜂鸣器发出响声,并持续五秒钟,表示开锁失败。

通过学习FPGA技术,应用于实践当中,掌握FPGA数字电路系统的开发流程,并且在自己的实践设计中熟练这门技术,同时排除和解决开发中遇到的问题,用Verilog语言编写设计所需要的实现的功能。

3.理论分析

密码锁分为四个模块:①顶层模块、②显示模块、③蜂鸣器模块、④控制模块。其中由顶层模块调其他分模块来实现密码锁功能。

密码锁功能:

a.由12个拨码开关设置三位密码(0-9)

b.再输入密码开锁,密码正确,指示灯亮开锁成功。

c.密码输入错误,蜂鸣器响五秒,表示开锁失败。

页脚内容4

总体框图

图1.0 总体框图

4.实现过程

4.1顶层模块

实现几个模块的配合工作,它能实现对密码的设置和显示,同时在密码正确时时灯亮,在密码错误时蜂鸣器发出五秒钟的响声。

程序如下:

页脚内容5

module dingceng(n0,n1,n2,n3,n4,n5,n6,n7,n8,n9,set,close,clk1,clk2,clk3,lock,alarm,Q,ss1,ss0);

input n0,n1,n2,n3,n4,n5,n6,n7,n8,n9;

input set,close;

input clk1,clk2,clk3;

output lock,alarm,ss1,ss0;

output[6:0] Q;

reg lock,alarm;

reg ss0,ss1;

reg[6:0] Q;

wire[3:0] X1,X2,X3;

wire X4,X5;

code

u1(.lock(lock),.warning(X4),.num1(X1),.num2(X2),.num3(X3),.clk(clk1),.n0(n0),.n1(n1),.n2(n2),.n3(n3),.n4(n4),.n5(n 5),.n6(n6),.n7(n7),.n8(n8),.n9(n9),.set(set),.close(close));

show u2(.A(X1),.B(X2),.C(X3),.clk(clk2),.Q(Q[6:0]),.ss1(ss1),.ss0(ss0));

speaker u3(.ENA(X4),.CLK2(clk3),.COUT(alarm));

endmodule

页脚内容6

4.2蜂鸣器模块

蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用各类电子产品中作发声器件。如图为其原理图:

图 1.1 蜂鸣器原理图结构

蜂鸣器功能实现:

程序共有两个输入信号分别为ENA和CLK2,,一个输出信号COUT。当从信号输入模块检测到有开关输入时,信号ENA已置1,CLK2上升沿到来时,有程序使COUT为1,蜂鸣器发出报警信号,并且进入一个5秒钟的循环,时间到达时,跳出循环,蜂鸣器停止报警。

程序如下:

module speaker(ENA,CLK2,COUT); //ENA为使能信号,CLK为时钟信号规定工作频率

input ENA,CLK2;

output COUT;

reg COUT;

reg[3:0] Q1;

页脚内容7

相关主题