资源描述:
《广工eda课程设计_数字密码锁.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、课程设计课程名称硬件描述语言与EDA技术题目名称数字密码锁学生学院材料与能源专业班级学号学生指导教师先朝2017年6月11日...目录1引言31.1课程设计背景31.2课程设计目的32数字密码锁设计42.1系统设计42.2程序代码42.3仿真结果103总结103.1设计总结103.2心得体会114应收集的资料及主要参考文献11摘要:随着数字集成技术和电子设计自动化(EDA)技术的迅速发展,数字密码锁应运而生。本文采用先进的EDA技术,利用QUARTUSⅡ工作平台和VerilogHDL语言,设计了一种新型的数字密码锁,它不但可以完成锁具的基本功能,还能附加一些其他的智能,例如:报警、识别功
2、能,数字密码锁具功能齐全,安全系数高,有机械锁无可比拟的优越性,它的造价成本低,易于操作,越来越受到众多客户的青睐,可以优先占领市场有利份额。关键词:EDA技术;QUARTUSⅡ工作平台;VerilogHDL语言;数字密码锁...1引言1.1课程设计背景数字密码锁随着电子工业的发展,数字电子技术已经深入到了人们生活的各个层面,而且各种各样的电子产品也正在日新月异地向着高精尖技术发展。由于电子产品的功能不断增加,使用也越来越方便,有些产品已经成为了人们日常生活中不可缺少的必备物品。发展历史悠久的机械式门锁,因其功能单一,安全性能较差等缺点,必将被新一代的电子门锁所代替。新颖的多功能电子门锁
3、,集电子门锁、防盗报警器,门铃等功能于一身,而且还具有定时器呼唤,断电自动报知,显示屋有无人和自动留言等诸多附加功能。在未来的生活中,数字密码锁必将在学领域再创新的成绩,将给我们的生活带来更大的便利,前景不可估量。1.2课程设计目的1.掌握VerilogHDL语言编程方法,通过实践加深对理论知识的理解。2.学会QuartusⅡ软件的使用方法。3.掌握数字密码锁的设计方法。4.掌握波形仿真,学会分析实验现象,提高分析问题的能力。1.3课程设计容设计一个数字密码锁,用户可输入4位的二进制数,连续输入3次不正确则报警。开锁密码可手动预置,并可进行修改密码,取消报警。...2数字密码锁设计2.1
4、系统设计根据系统的设计要求,系统设计采用自顶向下的设计方法。2.2程序代码modulemms(reset,set,a1,a2,a3,a4,enter,cancel,sel_led,sel,green,clk100,save,clk1);inputreset,set,a1,a2,a3,a4,enter,cancel,clk100,clk1,save;outputreg[7:0]sel_led,sel;outputreg[7:0]green;reg[1:0]scan;reg[3:0]password,word;rego1,o2,o3,o4,num,sum,bee;always(posedge
5、clk1)begin//重置密码if(!reset)begino1=0;o2=0;...o3=0;o4=0;end//输入密码elseif(!a1)begino1=~o1;word[0]=o4;endelseif(!a2)begino2=~o2;word[1]=o3;endelseif(!a3)begino3=~o3;word[2]=o2;endelseif(!a4)begino4=~o4;...word[3]=o1;end//设置密码elseif(!set)begin//密码输入正确时才可修改密码if(word[0]==password[0]&word[1]==password[1]&
6、word[2]==password[3]&word[3]==password[3])beginif(!a1)begino1=~o1;password[0]=o4;endelseif(!a2)begino2=~o2;password[1]=o3;endelseif(!a3)begino3=~o3;...password[2]=o2;endelseif(!a4)begino4=~o4;password[3]=o1;endendend//确认密码elseif(!enter)beginif(word[0]==password[0]&word[1]==password[1]&word[2]==pa
7、ssword[3]&word[3]==password[3])begingreen=8'b10000000;//密码输入正确亮一个红灯sum=0;endelsesum=sum+2'b01;endelseif(!cancel)//关闭红灯...green=8'b00000000;endalways(posedgeclk100)beginif(scan==2'b11)scan<=2'b00;elsescan<=scan+2'b01;en