收藏 分销(赏)

EDA课程设计数字密码锁.doc

上传人:w****g 文档编号:7033790 上传时间:2024-12-25 格式:DOC 页数:13 大小:121.54KB
下载 相关 举报
EDA课程设计数字密码锁.doc_第1页
第1页 / 共13页
EDA课程设计数字密码锁.doc_第2页
第2页 / 共13页
EDA课程设计数字密码锁.doc_第3页
第3页 / 共13页
EDA课程设计数字密码锁.doc_第4页
第4页 / 共13页
EDA课程设计数字密码锁.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

1、(完整word版)EDA课程设计数字密码锁目录目录2摘要3关键词31 引言41。1 课程设计背景41。2 课程设计目的41.3 课程设计内容42 数字密码锁设计42。1系统设计42.2模块功能52.2.1 控制模块52。2。2 比较模块72。2.3 寄存模块73 仿真分析83。1 控制模块的仿真83。2 比较模块的仿真93.3 寄存模块的仿真103。4系统的仿真波形103。5 系统的引脚锁定124 设计总结12参考文献13摘要:随着数字集成技术和电子设计自动化(EDA)技术的迅速发展,数字密码锁应运而生。本文采用先进的EDA技术,利用QUARTUS 工作平台和VHDL语言,设计了一种新型的数字

2、密码锁,它不但可以完成锁具的基本功能,还能附加一些其他的智能,例如:报警、识别功能,数字密码锁具功能齐全,安全系数高,有机械锁无可比拟的优越性,它的造价成本低,易于操作,越来越受到众多客户的青睐,可以优先占领市场有利份额。关键词:EDA技术;QUARTUS 工作平台;VHDL语言;数字密码锁1 引言1.1 课程设计背景数字密码锁随着电子工业的发展,数字电子技术已经深入到了人们生活的各个层面, 而且各种各样的电子产品也正在日新月异地向着高精尖技术发展.由于电子产品 的功能不断增加,使用也越来越方便,有些产品已经成为了人们日常生活中不可 缺少的必备物品。发展历史悠久的机械式门锁,因其功能单一,安全

3、性能较差等 缺点,必将被新一代的电子门锁所代替。新颖的多功能电子门锁,集电子门锁、 防盗报警器,门铃等功能于一身,而且还具有定时器呼唤,断电自动报知,显示 屋内有无人和自动留言等诸多附加功能。在未来的生活中,数字密码锁必将在学 领域再创新的成绩,将给我们的生活带来更大的便利,前景不可估量。1。2 课程设计目的1。 掌握VHDL语言编程方法,通过实践加深对理论知识的理解.2。 学会Quartus软件的使用方法.3.掌握数字密码锁的设计方法。4.掌握波形仿真,学会分析实验现象,提高分析问题的能力。1.3 课程设计内容设计一个数字密码锁,用户可输入4位的二进制数,可有用户任意输入正确时开锁,密码输入

4、错误时报警。码可手动预置,并可进行修改密码,取消报警.给出系统总体组成框图,设计思路,完成以上模块的VHDL实现及功能仿真,顶层文件及整体仿真。2 数字密码锁设计2.1系统设计根据系统的设计要求,系统设计采用自顶向下的设计方法。顶层设计采用原理图的设计方式和系统的整体组装,分别由控制模块、寄存器模块、比较器模块等部分组成.即按照这三个组成模块定义相应的芯片引脚和输入输出的参数。2。2模块功能系统主要由3个模块组成,分别是控制模块、寄存器模块、比较器模块。2。2.1 控制模块控制模块采用有限状态机设计,将系统分为7个状态,即开锁状态(outlock)、安锁状态(inlock)、输入密码状态(in

5、put)、密码初验正确状态(right)、密码初验错误状态(wrong)、报警状态(alarm)、修改密码状态(change).状态转移图如图221.enter=0enter=0lock=0 enter=0start=0enter=0changeoutlockrightxinputwrongalarminlockenter=1xiu=0enter=1yes=1yes=0start=1enter=1enter=1图22-1 状态转移图系统上电时,处于开锁状态,当输入修改密码xiu信号时,系统进入修改密码状态;若输入安锁lock信号,系统进入安锁状态,锁闭合:在安锁状态,输入输入密码start信号

6、,系统进入输入密码状态;在输入密码状态,如输入密码内容和长度均正确,进入密码初验正确状态,如果密码错误,进入密码初验错误状态;在密码初验正确状态,输入确认信号enter时,进入开锁状态,在开锁状态kai信号等于1;在密码初验错误状态,输入确认信号enter时,进入报警状态;在报警状态。warn信号等于1。 VHDL代码如下: library ieee;use ieee。std_logic_1164.all;entity mima is port(clk,lock,start,xiu,enter,yes:in std_logic; warn,kai,wr,en:out std_logic);en

7、d; architecture bhv of mima istype state is(inlock,input,rightx,wrong,unlock,change,alarm);signal ps,ns:state;begin process(clk) begin if clkevent and clk=1then ps=ns; end if; end process; process(ps,lock,start,xiu,enter,yes) begin case ps is when inlock=kai=0;en=0;warn=0; wren=1;kai=0;warn=0; wr=0;

8、 if(yes=1)then ns=rightx; else ns=wrong; end if; when rightx=en=0;kai=0;warn=0; wren=0;kai=0;warn=0; wr=0; if enter=1then ns=alarm; else ns=wrong; end if; when unlock =kai=1;warn=0;en=0; wr=0; if lock=1then ns=inlock; elsif xiu=1then nswarn=1;kai=0;en=0; wr=0; if enter=1then nsen=1;warn=0;kai=1; wr=

9、1; if enter=1then ns=unlock; else ns=change; end if; end case; end process;end;2。2.2 比较模块在数字密码器中,比较器模块的功能是对按键输入和寄存器模块的输出进行比较,然后将比较的结果送入到控制器模块.比较器的具体工作原理是:当比较结果相等时,c输出为1;当比较结果不相等时,c的输出为0。VHDL代码如下:library ieee;use ieee。std_logic_1164。all;entity bi isport(a,b:in std_logic_vector(3 downto 0); c:out std_

10、logic);end;architecture bhv of bi isbeginc=1when a=b else 0;end;2。2。3 寄存模块寄存器模块用于存放预设和修改后的密码,并在开锁时将所存密码输出到比较器与按键输入的密码进行比较,判断由按键输入密码是否正确的结果。VHDL代码如下:library ieee;use ieee。std_logic_1164。all;entity ji isport(clk,wr,en:in std_logic; data_in:in std_logic_vector(3 downto 0); data_out:out std_logic_vector

11、(3 downto 0));end;architecture bhv of ji issignal m:std_logic_vector(3 downto 0);beginprocess(clk)begin if clkevent and clk=1 then if (en=1and wr=1) then data_out=data_in;m=data_in; else data_outstart, xiu=xiu,enter=enter,yes=g,kai=kai, warn=warn,wr=d,en=e);u2:ji port map(clk=clk,wr=d,en=e,data_in=k

12、ey,data_out=f);u3:bi port map(a=key,b=f,c=g);end;3。5 系统的引脚锁定如图35所示:图3-5 引脚锁定表4 设计总结通过这次的课程设计,使我对EDA这门课程、对Quartus开发软件和FPGA实验开发系统有了一个更加深刻的认识。我深深地被EDA的强大所震撼,Quartus开发软件虽然使用起来有些麻烦,但它的功能真的很强大,而且设计很自由,设计方式很多,能极大地满足当今社会高速发展的需要。通过这次课程设计,我还懂得了理论与实际相结合的重要性。我们只有把所学的理论知识与实践相结合起来,从实践中检验理论,才能真正为社会服务,并且我们也可以在实践中提高

13、自己的实际动手能力和独立思考的能力,使自己更加适合当今社会的需要。这次关于密码锁的课程设计,总的来说,还是比较成功的。在设计的过程中遇到的问题,反映出来我的许多不足之处,我以后要努力克服缺点。说真的,这次的课程设计真的很不容易,在过程中遇到了不少的问题。如:编写源程序时,经常不能通过。就如在写顶层文件的程序时,遇到了不少的问题,各元件之间的连接、顶层文件程序与底层文件程序之间的连接以及信号的定义,总是有错误。但在老师同学的帮助下,再加上自己不懈的努力,最终还是算比较顺利地做了出来。经过这次的课程设计,使我以后的学习和生活受益匪浅,让我在以后的学习中更加注重理论与实践的结合,我应该感谢这次的设计.参考文献1 Volnei A.Pedroni著,乔庐峰、王志功等译,VHDL数字电路设计教程.电子工业出版社,20102 周立功,EDA实验与实践.第一版.北京航空航天大学出版社,20073 潘松,黄继业。EDA技术实用教程。科学出版社,2010。64 刘江海。EDA技术课程设计。华中科技大学出版社,2009.513

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服