基于QuartusII的密码锁筹划与设计毕业论文(设计).doc
《基于QuartusII的密码锁筹划与设计毕业论文(设计).doc》由会员分享,可在线阅读,更多相关《基于QuartusII的密码锁筹划与设计毕业论文(设计).doc(26页珍藏版)》请在三一办公上搜索。
1、13届 分 类 号: 单位代码:10452 毕业论文(设计)基于QuartusII的密码锁筹划与设计 摘 要 本系统是以EDA作为开发工具,VHDL语言为硬件描述语言,QUARTUS II作为程序运行平台,所开发的程序通过调试运行、波形仿真验证,初步实现了设计目标.本系统采用有限状态机进行设计,目的在于实现八位二进制,串行输入数字密码锁,并具有开锁与错误提示.开锁代码为八位二进制数,当输入代码的位数和位值与预先设置的密码一致时方可开锁,并使数码管显示由“B”变为“A” .当输入密码不正确时,计数器会进行一次计数.关键词:EDA;quartusII;密码锁;VHDLABSTRACTThis sy
2、stem is by EDA took the development kit, the VHDL language for the hardware description language, QUARTUS II took the procedure movement platform, develops the procedure through the debugging movement, the profile simulation confirmation, has achieved the design goal initially. This system uses the
3、limited state machine to carry on the design, the goal lies in realizes eight binary systems, the serial input numerical ciphers lock, and has the unblanking and the wrong prompt.The unblanking code is eight binary numbers, when the input code figure and the position value with establish in advance
4、password consistent when only then unlocks, and causes the nixietube to demonstrate becomes “A” by “B”.When input password not correct, the counter can carry on a counting.Key words: EDA, quartusII, coded lock , VHDL 目 录1 引言22 软件开发环境22.1 FPGA简介22.2 QuartusII设计平台63 数字密码锁的设计83.1系统设计83.2单元电路设计93.3软件设计1
5、14 系统测试125 结论14附 录15参 考 文 献19致 谢201 引言电子设计自动化,简称EDA(Electronic Design Automation) 技术作为现代电子设计技术的核心,他一来功能强大的计算机,在EDA工具软件平台上,对以硬件描述语言HDL (Hardware Description Language) 为系统逻辑描述手段完成的设计文件,自动的完成逻辑编译、逻辑化简、逻辑综合、结构综合,以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能. 在现代高新电子产品的设计和生产中,微电子技术和现代电子设计技术实现互促进、相互推动又相互制约的两个技术环节.前者代表了物理层在
6、广度和深度上硬件电路实现的发展,后者则反映了现代先进的电子理论、电子技术、仿真技术、设计工艺和设计技术与最新的计算机软件技术有机的融合和升华.因此,严格地说,EDA技术应该是这两者的结合,是这两个技术领域共同孕育的奇葩.全球提供EDA软件工具的厂商有近百家之多,大体分为两类:一类是专业软件间公司开发的EDA开发工具,独立与半导体器件厂商;另一类是半导体器件厂商为销售本公司可编程逻辑器件PLD产品开发的EDA软件工具,只能开发该公司的PLD器件.这里介绍的quartus II开发工具属于后者,是由Altera公司开发的EDA软件工具.Quartus II支持Altera公司的各系列可编程逻辑器件
7、的开发,包括:ACEX系列、APEX系列、等等.2软件开发环境2.1 FPGA简介2.1.1 FPGA概述FPGA是现场可编程门阵列(Field Programmable Gate Array)的简称,与之相应的CPLD是复杂可编程逻辑器件(Complex Programmable Logic Device)的简称,两者的功能基本相同,只是实现原理略有不同,有时可以忽略这两者的区别,统称为可编程逻辑器件CPLD/FPGA.CPLD/FPGA几乎能完成任何数字器件的功能,上至高性能CPU,下至简单的74电路.它如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入或硬件描述语言自由的设计一个数
8、字系统.通过软件仿真可以事先验证设计的正确性,在PCB完成以后,利用CPLD/FPGA的在线修改功能,随时修改设计而不必改动硬件电路.使用CPLD/FPGA开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性.这些优点使得CPLD/FPGA技术在20世纪90年代以后得到飞速的发展,同时也大大推动了EDA软件和硬件描述语言VHDL的进步. FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Inter
9、connect)三个部分.2.1.2 FPGA基本结构FPGA具有掩膜可编程门阵列的通用结构,它由逻辑功能块排成阵列,并由可编程的互连资源连接这些逻辑功能块来实现不同的设计.FPGA一般由3种可编程电路和一个用于存放编程数据的静态存储器SRAM组成.这3种可编程电路是:可编程逻辑模块(CLB-Configurable Logic Block)、输入/输出模块(IOB-I/O Block)和互连资源(IRInterconnect Resource).可编程逻辑模块CLB是实现逻辑功能的基本单元,它们通常规则的排列成一个阵列,散布于整个芯片;可编程输入/输出模块(IOB)主要完成芯片上的逻辑与外部
10、封装脚的接口,它通常排列在芯片的四周;可编程互连资源包括各种长度的连接线段和一些可编程连接开关,它们将各个CLB之间或CLB、IOB之间以及IOB之间连接起来,构成特定功能的电路.FPGA的结构如图1可编程开关矩CLBCLBCLBCLBCLBBCLBCLBCLBCLB矩CLBCLBCLB块CLBCLBBCLBCLBCLBCLBCLBCLB 输入输出模块互连资源 图1 FPGA基本结构 1. CLB是FPGA的主要组成部分.它主要由逻辑函数发生器、触发器、数据选择器等电路组成.CLB中3个逻辑函数发生器分别是G、F和H,相应的输出是G、F和H.G有4个输入变量G1、G2、G3和G4;F也有4个输
11、入变量F1、F2、F3和F4.这两个函数发生器是完全独立的,均可以实现4输入变量的任意组合逻辑函数.逻辑函数发生器H有3个输入信号;前两个是函数发生器的输出G和F,而另一个输入信号是来自信号变换电路的输出H1.这个函数发生器能实现3输入变量的各种组合函数.这3个函数发生器结合起来,可实现多达9变量的逻辑函数.CLB中有许多不同规格的数据选择器(四选一、二选一等),通过对CLB内部数据选择器的编程,逻辑函数发生器G、F和H的输出可以连接到CLB输出端X或Y,并用来选择触发器的激励输入信号、时钟有效边沿、时钟使能信号以及输出信号.这些数据选择器的地址控制信号均由编程信息提供,从而实现所需的电路结构
12、.CLB中的逻辑函数发生器F和G均为查找表结构,其工作原理类似于ROM.F和G的输入等效于ROM的地址码,通过查找ROM中的地址表可以得到相应的组合逻辑函数输出.另外,逻辑函数发生器F和G还可以作为器件内高速RAM或小的可读写存储器使用,它由信号变换电路控制.2. 输入/输出模块IOB.IOB提供了器件引脚和内部逻辑阵列之间的连接.它主要由输入触发器、输入缓冲器和输出触发/锁存器、输出缓冲器组成.每个IOB控制一个引脚,它们可被配置为输入、输出或双向I/O功能.当IOB控制的引脚被定义为输入时,通过该引脚的输入信号先送入输入缓冲器.缓冲器的输出分成两路:一路可以直接送到MUX,另一路延时几个纳
13、秒(或者没有延时)后送到输入通路D触发器,再送到数据选择器.通过编程给数据选择器不同的控制信息,确定送至CLB阵列的I1和I2是来自输入缓冲器,还是来自触发器.当IOB控制的引脚被定义为输出时,CLB阵列的输出信号OUT也可以有两条传输途径:一条是直接经MUX送至输出缓冲器,另一条是先存入输出通路D触发器,再送至输出缓冲器.IOB输出端配有两只MOS管,它们的栅极均可编程,使MOS管导通或截止,分别经上拉电阻接通VCC、地线或者不接通,用以改善输出波形和负载能力.3. 可编程互连资源IR.可编程互连资源IR可以将FPGA内部的CLB和CLB之间、CLB和IOB之间连接起来,构成各种具有复杂功能
14、的系统.IR主要由许多金属线段构成,这些金属线段带有可编程开关,通过自动布线实现各种电路的连接.2.1.3 FPGA系统设计流程一般说来,一个比较大的完整的项目应该采用层次化的描述方法:分为几个较大的模块,定义好各功能模块之间的接口,然后各个模块再细分去具体实现,这就是自顶向下的设计方法.目前这种高层次的设计方法已被广泛采用.高层次设计只是定义系统的行为特征,因此还可以在厂家综合库的支持下,利用综合优化工具将高层次描述转换为针对某种工艺优化的网络表,使工艺转化变得轻而易举.CPLD和FPGA的主要区别是他们的系统结构.CPLD是一个有点限制性的结构.这个结构由一个或者多个可编辑的结果之和的逻辑
15、组列和一些相对少量的锁定的寄存器.这样的结果是缺乏编辑灵活性,但是却有可以预计的延迟时间和逻辑单元对连接单元高比率的优点.CPLD和FPGA另外一个区别是大多数的FPGA含有高层次的内置模块(比如加法器和乘法器)和内置的记忆体.CPLD/FPGA系统设计的工作流程如图2所示.系统划分编译器代码级功能仿真综合器适配前时序仿真适配器CPLD/FPGA实现适配后仿真模型适配后时序仿真适配报告ASIC实现VHDL代码或图形方式输入仿真综合库器件编程文件图2 CPLD/FPGA系统设计流程流程说明:1.工程师按照“自顶向下”的设计方法进行系统划分.2.输入VHDL代码,这是设计中最为普遍的输入方式.此外
16、,还可以采用图形输入方式,这种输入方式具有直观、容易理解的优点.3.将以上的设计输入编译成标准的VHDL文件.4.进行代码级的功能仿真,主要是检验系统功能设计的正确性.这一步骤适用于大型设计,因为对于大型设计来说,在综合前对源代码仿真,就可以大大减少设计重复的次数和时间.一般情况下,这一仿真步骤可略去.5.利用综合器对VHDL源代码进行综合优化处理,生成门级描述的网络表文件,这是将高层次描述转化为硬件电路的关键步骤.综合优化是针对ASIC芯片供应商的某一产品系列进行的,所以综合的过程要在相应的厂家综合库的支持下才能完成.6.利用产生的网络表文件进行适配前的时序仿真,仿真过程不涉及具体器件的硬件
17、特性,是较为粗略的.一般的设计,也可略去这一步骤.7.利用适配器将综合后的网络表文件针对某一具体的目标器件进行逻辑映射操作,包括底层器件配置、逻辑分割、逻辑优化和布局布线.8.在适配完成后,产生多项设计结果:a.适配报告,包括芯片内部资源利用情况,设计的布尔方程描述情况等;b.适配后的仿真模型;c.器件编程文件.根据适配后的仿真模型,可以进行适配后时序仿真,因为已经得到器件的实际硬件特性(如时延特性),所以仿真结果能比较精确的预期未来芯片的实际性能.如果仿真结果达不到设计要求,就修改VHDL源代码或选择不同速度和品质的器件,直至满足设计要求.最后将适配器产生的器件编程文件通过编程器或下载电缆载
18、入到目标芯片CPLD/FPGA中.2.1.4 FPGA开发编程原理硬件设计需要根据各种性能指标、成本、开发周期等因素,确定最佳的实现方案,画出系统框图,选择芯片,设计PCB并最终形成样机.CPLD/FPGA软件设计可分为两大块:编程语言和编程工具.编程语言主要是VHDL硬件描述语言;编程工具主要是两大厂家Altera和Xilinx的集成综合EDA软件QuartusII以及第三方工具.具体的设计输入方式有以下几种:1.VHDL语言.VHDL既可以描述底层设计,也可以描述顶层的设计,但它不容易做到较高的工作速度和芯片利用率.用这种方式描述的项目最后所能达到的性能与设计人员的水平、经验以及综合软件有
19、很大的关系.2.图形方式.可以分为电路原理图描述,状态机描述和波形描述3种形式.电路原理图方式描述比较直观和高效,对综合软件的要求不高.一般大都使用成熟的IP核和中小规模集成电路所搭成的现成电路,整体放到一片可编程逻辑器件的内部去,其硬件工作速度和芯片利用率很高,但是当项目很大时,该方法就显得有些繁琐;状态机描述主要用来设计基于状态机思想的时序电路.在图形的方式下定义好各个工作状态,然后在各个状态上输入转换条件以及相应的输入输出,最后生成HDL语言描述,送去综合软件综合到可编程逻辑器件的内部.由于状态机到HDL语言有一种标准的对应描述方式,所以这种输入方式最后所能达到的工作速度和芯片利用率主要
20、取决于综合软件;波形描述方式是基于真值表的一种图形输入方式,直接描述输入与输出的波形关系.2.2 QuartusII设计平台2.2.1软件开发环境及基本流程本设计所用软件主要是QuartusII,在此对它做一些介绍.QuartusII是Altera提供的FPGA/CPLD开发集成环境,Altera是世界上最大的可编程逻辑器件供应商之一.QuartusII提供了一种与结构无关的设计环境,使设计者能方便地进行设计输入、快速处理和器件编程.Altera公司的QuartusII 开发工具人机界面友好、易于使用、性能优良,并自带编译、仿真功能.QuartusII软件完全支持VHDL设计流程,其内部嵌有V
21、HDL逻辑综合器.QuartusII 也可以利用第三方的综合工具,如FPGA Compiler II,并能直接调用这些工具.同样,QuartusII具备仿真功能,同时也支持第三方的仿真工具.此外,QuartusII与MATLAB和DSP Builder结合,可以进行基于FPGA的DSP系统开发,是DSP硬件系统实现的关键EDA技术.QuartusII包括模块化的编译器.编译器包括的功能模块有分析/综合器、适配器、装配器、时序分析器、设计辅助模块、EDA网表文件生成器、编辑数据接口等.可以通过选择Start Compilation来运行所有的编译器模块,也可以通过选择Start单独运行各个模块.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 QuartusII 密码锁 筹划 设计 毕业论文
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-4144836.html