ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:392.07KB ,
资源ID:3712472      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3712472.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(EDA课程电子密码锁的设计Quartus版.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

EDA课程电子密码锁的设计Quartus版.docx

1、EDA课程电子密码锁的设计Quartus版EDA的相关介绍EDA的特点:EDA技术对电子系统设计方法的影响:传统的电路设计的方法是自低向上(Buttumup),即设计师根据设计要求首先选用合适的元器件,然后完成各个单元电路的设计、搭试、性能指标的测试,最后形成系统。而基于EDA技术的设计方法是自顶向下(Top to Down),即首先从系统设计入手,在顶端进行功能方框图的划分和结构设计。然后利用EDA软件进行设计的验证、仿真以及PCB布局布线等工作12。硬件描述语言:硬件描述语言(HDL)是一种用于进行电子系统硬件设计的计算机高级语言,它采用软件的设计方法来描述电子系统的逻辑功能、电路结构和连

2、接形式。EDA的另一个特点体现在大规模可编程逻辑器件PLD(Programmable Logic Devices)是一种由用户编程以实现某种逻辑功能的新型逻辑器件。PLD最早出现在20世纪70年代初,其后经历了PROM、PLA、PAL、GAL等几个发展阶段。80年代中期,美国Xilin公司首先推出了现场可编程门陈列(FPGA)器件。90年代初,美国Lattice公司又推出了在系统可编程大规模集成电路(ispLSI)。现通常将高集成度的可编程逻辑器件谶纬复杂可编程逻辑器件(CPLD)。VHDL硬件描述语言VHDL(Very high speed integrated circuit Hardwa

3、re Description Language)硬件描述语言从高于逻辑级的抽象层次上描述硬件的功能、信号连接关系及定时关系。VHDL的设计流程如下图。图1 VHDL设计流程VHDL语言是对逻辑电路进行描述的高级语言,它与其他高级语言相比既有相同之处,也有其自身特点:1.VHDL是工业标准的文本格式语言 VHDL已成为一种工业标准。设计者、EDA工具的供应商以及芯片生产厂家,都要遵循这一标准。该语言是一种文本格式的语言,ASIC的设计者在设计电路时,就像编写其他高级语言一样,用文字来表达所要设计的电路,这样能比较直观地表达设计者的设计思想,并且易于修改。2.VHDL能同时支持仿真和综合VHDL语

4、言是一种能够支持系统仿真的语言。事实上,ASIC成功的关键在于生产前的设计,而保证设计正确性的主要手段就是系统仿真。目前在大部分的EDA工具中,都有支持VHDL语言仿真的工具。这样,设计者在ASIC生产前就能够知道设计的正确与、系统的的性能如何等关键问题。VHDL不仅仅是一种仿真语言,它的所有语句有相当一部分是不支持综合的,也就是说EDA工具无法根据所描述的VHDL语言产生出电路;但其中的可综合语句足以描述一个大而完整的系统。目前所有的高层次综合工具所支持的综合语句,都是IEEE标准的一个子集。因此,VHDL语言可以有两种完全不同的描述,一种是基于仿真的描述,它可以使用VHDL语言定义的各种语

5、句,这类程序主要适用于编写测试基准程序和各种仿真模型的工程师使用,另外一种就是用于生成具体电路的可综合描述。它只能使用VHDL中的可综合子集。它主要适用于从事电路设计的工程师使用。3.VHDL是一种并发执行的语言 我们知道,几乎所有的高级语言的执行都是顺序的,而VHDL语言在仿真过程中的执行是并行的。这种特性是符合实际逻辑电路的工作过程的。4.VHDL支持结构化设计和top-down设计方法VHDL语言是一种结构化的语言,它提供的语句可以完成多层次结构结构的描述,所以VHDL语言可以支持结构化的设计。结构化设计就是将一个系统划分为多个模块,而每个模块又可以继续划分为更多的子模块。这样就可以采用

6、top-down的设计方法,就是从系统整体要求出发,自上而下的逐步将系统内容细化,最后完成系统的整体设计。5.VHDL的描述与工艺无关设计者在利用VHDL描述时并不需要关心电路最终将在哪种工艺上实现,EDA工具可以将VHDL源代码映射到不同的工艺床上,提高了设计的可重用性。6.支持多风格的描述方法VHDL不仅支持行为级的描述,而且支持数据流及结构描述。前言电子密码锁的使用体现了人们消费水平、保安意识和科技水平的提高,而且避免了携带甚至丢失钥匙的麻烦。目前设计密码锁的方法很多,例如用传统的PCB板设计、用PLC设计或者用单片机设计等等。而用VHDL可以更加快速、灵活地设计出符合各种要求的密码锁,

7、优于其他设计方法。VHDL是一种符合IEEE标准的硬件描述语言,其最大的特点是借鉴高级程序设计语言的功能特性,对电路的行为与结构进行高度抽象化、规范化的形式描述,并对设计的不同层次、不同领域的模拟验证与综合优化等处理,使设计过程廷到高度自动化。1.概述电子密码锁在生活中十分常见,在这我将设计一个具有较低成本的电子密码锁,本文讲述了我整个设计过程及收获。讲述了电子密码锁的的工作原理以及各个模块的功能,并讲述了所有部分的设计思路,对各部分电路方案的选择、元器件的筛选、以及对它们的调试、对波形图的分析,到最后的总体图的分析。2.设计要求 本设计名称为电子密码锁,用四个模块,分别为输入模块、控制模块、

8、扫描器模块、显示模块,来控制密码的输入、验证与显示。设计所要实现的功能为:1 数码输入:手动用3个拨码开关与3个按键设计三位密码的输入,并在显示器显示出该数值。2 数码验证:开锁时输入密码后,拨动 RT键使其为高电平,而CHANGE为低电平检测,密码正确时开锁,输出LOCKOPEN灯灭,LOCKCLOSE灯亮,表示开锁成功。3 错误显示:当密码输入错误时,LOCKOPEN灯亮,LOCKCLOSE灯灭,表示开锁失败。4 更改密码:当改变密码时,按下CHANGE键使其为高电平,而RT为低电平时,可改变密码。5 密码清除:按下REST可清除前面的输入值,清除为“888”。3.总体框图1)设计方案:电

9、子密码锁,主要由三部分组成:密码输入电路、密码锁控制电路和密码锁显示电路。作为电子密码锁的输入电路,可选用的方案有拨码与按键来控制输入和触摸式键盘输入等多种。拨码与按键和触摸式4*4键盘相比简单方便而且成本低,构成的电路简单,本设计中采用拨码与按键来作为该设计的输入设备。数字电子密码锁的显示信息电路可采用LED数码显示管和液晶屏显示两种。液晶显示具有高速显示、可靠性高、易于扩展和升级的特点,但是普通的液晶存在亮度低、对复杂环境适应能力差的特点,但是在本设计中任然使用LED数码管。根据以上选定的输入设备与与显示器件,并考虑到现实各项密码锁功能的具体要求,与系统的设计要求,系统设计采用自顶向下的设

10、计方案。整个密码锁系统的总体总体框图如图3.1所示。输入模块寄存器与清零信号发生电路数值比较器LED灯扫描电路三选一选择器开/关锁电路控制模块显示模块图3.1电子密码锁系统总体框图4.电子密码锁的波形仿真4.1电子密码锁的设计流程使用Quartus进行电子密码锁设计的流程为1.编写VHDL程序(使用Text Editor)(见附录);2.编译VHDL程序(使用Compiler);3.仿真验证VHDL程序(使用Waveform Editor, Simulator);4.进行芯片的时序分析(使用Timing Analyzer);5.安排芯片管脚位置(使用Floorplan Editor);6.下载

11、程序至芯片(使用Programmer)。5.功能模块5.1 输入模块1)功能介绍输入时有三个拨码键控制输入,每个拨码各控制一位密码,对于其中一个拨码键每拨一次码按一次按键,表示输入一位,当输入四位时输出一位数,用“888”作为初始密码。2)输入模块与仿真图形单脉冲控制如图5.1如下图图5.1上图为单脉冲控制输入,当M给一上升沿信号将在PUL输出一位与之对应的高或低电平。四位串行输入并行输出寄存器如下图5.1.2图5.1.2上图为4为串行输入并行输出寄存器,它由4个D触发组成,当reset为高电平时,每给一脉冲输入数据将向右移一位二值代码,它能同时复位3)程序的输入在文本区内输入程序,程序如下:

12、 单脉冲信号控制puls.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY puls IS PORT (PUL,M:IN STD_LOGIC; Q:OUT STD_LOGIC); END puls;ARCHITECTURE BEHAVE OF puls IS SIGNAL TEMP:STD_LOGIC; BEGIN PROCESS(M) BEGIN IF MEVENT AND M=1 THEN IF PUL=1 THEN TEMP=1; ELSE TEMP=0; END IF; END IF; END PROCESS;Q0);ELSEif c

13、lkevent and clk=1 thenq(3):=q(2);q(2):=q(1);q(1):=q(0);q(0):=din; END IF;END IF;qoutq=0000;q1q=0001;q1q=0010;q1q=0011;q1q=0100;q1q=0101;q1q=0110;q1q=0111;q1q=1000;q1q=1001;q1q=0000;q1=0000;END CASE;END IF; END PROCESS;END ARCHITECTURE ART;总功能控制模块Eleclock.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;E

14、NTITY Eleclock ISPORT(NB:IN STD_LOGIC_VECTOR(3 DOWNTO 0);NS:IN STD_LOGIC_VECTOR(3 DOWNTO 0);NG:IN STD_LOGIC_VECTOR(3 DOWNTO 0);CLK:IN STD_LOGIC;CHANGE,RT: IN STD_LOGIC;DB:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);DS:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);DG:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);LOCKOPEN,LOCKCLOSE:OUT S

15、TD_LOGIC);END ENTITY Eleclock;ARCHITECTURE ART OF Eleclock ISCOMPONENT Key ISPORT(CLK:IN STD_LOGIC;DATA:IN STD_LOGIC_VECTOR(3 DOWNTO 0);Q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);Q1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END COMPONENT Key;SIGNAL ENABLE,C0,C1,S,ENABLE1:STD_LOGIC;SIGNAL TB,TS,TG,D_B,D_S,D_G:STD_LOG

16、IC_VECTOR(3 DOWNTO 0);BEGINENABLE=CHANGE AND(NOT RT);ENABLE1CLK,DATA=NB,Q=DB,Q1=D_B);U1:KEY PORT MAP(CLK=CLK,DATA=NS,Q=DS,Q1=D_S);U2:KEY PORT MAP(CLK=CLK,DATA=NG,Q=DG,Q1=D_G);PROCESS(CLK,D_B,D_S,D_G) ISBEGINIF CLKEVENT AND CLK=1 THENIF ENABLE=1 THENTB=D_B;TS=D_S;TG=D_G;END IF;IF ENABLE1=1 THENIF ( T

17、B=D_B AND TS=D_S AND TG=D_G) THENLOCKOPEN=1;LOCKCLOSE=0; ELSELOCKOPEN=0;LOCKCLOSE=1;END IF;END IF;END IF;END PROCESS;END ARCHITECTURE ART;4选1选择器与扫描器sel.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY sel ISPORT(QIN1,QIN2,QIN3:IN STD_LOG

18、IC_VECTOR(3 DOWNTO 0);CLK,RST:IN STD_LOGIC;QOUT:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);sel:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END sel;ARCHITECTURE ART OF sel ISBEGINPROCESS(CLK,RST)VARIABLE CNT:INTEGER RANGE 0 TO 2;BEGINIF (RST=0) THENCNT:=0;sel =00000000;QOUTQOUT=QIN1;sel QOUT=QIN2;selQOUT=QIN3;selQOUT=000

19、0;sel=11111111;END CASE;END IF;END PROCESS;END ARCHITECTURE ART;5.3 显示模块1)功能介绍将密码用BCD七段数码管显示2)显示模块与仿真波形图5.3,如下图图5.3上图将BCD码转化到七段译码电路上 表5-3 BCD-七段数码管的真值表输入 输出D C B A Y1 Y2 Y3 Y4 Y5 Y6 Y7 字形0 0 0 0 1 1 1 1 1 1 0 00 0 0 1 0 1 1 0 0 0 0 10 0 1 0 1 1 0 1 1 0 1 20 0 1 1 0 1 1 1 0 0 1 30 1 0 0 0 1 1 0 0 1 1

20、 40 1 0 1 1 0 1 1 0 1 1 50 1 1 0 1 0 1 1 1 1 1 60 1 1 1 1 1 1 0 0 0 0 71 0 0 0 1 1 1 1 1 1 1 81 0 0 1 1 1 1 0 0 1 1 9表5-3在文本区内输入程序,程序如下:Seg7.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY Seg7 ISPORT(num:IN STD_LOGIC_VECTOR(3 DOWNTO 0);led:OUT STD_LOGIC_VECTOR(6 D

21、OWNTO 0);END Seg7;ARCHITECTURE ACT OF Seg7 ISBEGINLED=1111110WHEN num=0000ELSE 0110000WHEN num =0001ELSE 1101101WHEN num =0010ELSE 1111001WHEN num =0011ELSE0110011WHEN num =0100ELSE1011011WHEN num =0101ELSE1011111WHEN num =0110ELSE1110000WHEN num =0111ELSE1111111WHEN num =1000ELSE1111011WHEN num =1001ELSE1110111WHEN num =1010ELSE0011111WHEN num =1011ELSE1001110WHEN num =1100ELSE0111101WHEN num =1101ELSE1001111WHEN num =1110ELSE1000111WHEN num =1111;END ACT;6.总体设计电路图1)功能介绍将各个模块连接在一起实现。2)顶层文件如下:3)波形仿真如下:图61当change为高电平,rt为低电平时,输入“952”验证,当再次输入“952”时锁打开,设计正确。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1