完整版基于FPGA的多功能电子钟的毕业设计论文Word下载.docx
- 文档编号:18785736
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:26
- 大小:130.72KB
完整版基于FPGA的多功能电子钟的毕业设计论文Word下载.docx
《完整版基于FPGA的多功能电子钟的毕业设计论文Word下载.docx》由会员分享,可在线阅读,更多相关《完整版基于FPGA的多功能电子钟的毕业设计论文Word下载.docx(26页珍藏版)》请在冰豆网上搜索。
尽我所知,除文中已经注明引用的内容外,本设计(论文)不含任何其他个人或集体已经发表或撰写过的作品成果。
对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。
本声明的法律后果由本人承担。
作者签名:
毕业设计(论文)使用授权声明
本人完全了解滨州学院关于收集、保存、使用毕业设计(论文)的规定。
本人愿意按照学校要求提交学位论文的印刷本和电子版,同意学校保存学位论文的印刷本和电子版,或采用影印、数字化或其它复制手段保存设计(论文);
同意学校在不以营利为目的的前提下,建立目录检索与阅览服务系统,公布设计(论文)的部分或全部内容,允许他人依法合理使用。
(保密论文在解密后遵守此规定)
作者签名:
基于FPGA的多功能电子钟的设计
摘要
本文介绍了多功能电子钟的现状及发展动态,多功能电子钟的应用,多功能电子钟的基本原理和实现方法以及系统构建理论。
针对现行电子钟设计方案实现起来相对复杂、误差偏大等弊端,对以FPGA为核心器件的电子钟方案进行了实验研究,利用EDA技术自顶向下的设计方法,设计电子钟各模块及相应具体电路,通过编译、仿真并下载到FPGA实验平台进行测试,运行结果表明:
系统能以较小的误差显示时、分、秒,并且当走时不准时,可以通过相应设置键实现校时。
关键词:
多功能电子钟;
EDA;
FPGA
Basedonthedesignofthemulti-functionelectricclockFPGA
Abstract
Thispaperintroducesthepresentsituationanddevelopmentofmulti-functionelectricclockdynamic,multi-functionelectricclockapplication,multi-functionelectricclockwiththebasicprincipleandmethodandsystembuildingtheory.Accordingtotheexistingelectricclockdesignimplementationuprelativelycomplicated,errorslantsbigdisadvantage,theFPGAforthecoredevicetheelectricclockschemeintheexperimentalresearch,usingEDAtechnologythetop-downdesignmethod,designtheelectricclockandthecorrespondingspecificcircuitmodule,throughthecompilation,simulation,anddownloadtoFPGAexperimentalplatformtotest,operationresultsshowthatthesystemcanwithasmallerrorshows,minutesandseconds,andwhenwalkingisincorrect,canthroughthecorrespondingsettingkeyrealizationschool.
Keywords:
multi-functionelectricclock;
EDA;
FPGA
引言1
第一章FPGA简介3
1.1FPGA概述3
1.2FPGA基本结构3
1.3FPGA系统设计流程5
第二章可编程逻辑器件概述及设计方案6
2.1CPLDFPGA概述及VHDL语言的特点6
2.2可编程逻辑器件的分类和发展历程8
2.3EPF10K10LC84-4芯片简介10
2.4电子时钟的设计方案10
第三章系统电路设计12
3.1总体设计12
3.2显示电路设计13
3.2.1分频器电路15
3.2.2扫描电路电路16
3.2.3BCD码多路选择器17
3.2.4BCD译码器17
3.2.5位选码电路17
3.3电子时钟计数器电路设计17
3.3.1秒和分计数器设计17
3.3.2小时计数器设计19
总结23
参考文献25
谢辞26
附录..................................................................................................................................27
引言
时钟,自从它发明的那天起,就成为人类的朋友,但随着时间的推移,科学技术的不断发展,人们对时间计量的精度要求越来越高,应用越来越广。
现今,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时,分,秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。
20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能更进一步,产品更新换代的节奏也越来越快。
现代电子设计技术的核心是EDA(ElectronicDesignAutomation)技术。
EDA技术就是依赖功能强大的计算机,在EDA工具软件平台上,对以硬件描述语言HDL(HardwareDescriptionLanguage)为系统逻辑描述手段完成的设计文件。
20世纪80年代末,出现了FPGA(FieldProgrammableGateArray),CAE和CAD技术的应用更为广泛,它们在PCB设计的原理图输入,自动布局布线及PCB分析,以及逻辑设计、逻辑仿真、布尔综合和化简等方面担任了重要的角色,为电子设计自动化必须解决的电路建模、标准文档及仿真测试奠定了基础。
硬件描述语言是EDA技术的重要组成部分,VHDL是作为电子设计主流硬件的描述语言。
本论文就是应用VHDL语言来实现秒表的电路设计。
VHDL语言是标准硬件描述语言,它的特点就是能形式化抽象表示电路结构及行为,支持逻辑设计中层次领域的描述,借用了高级语言的精巧结构简化电路描述,具有电路模拟与验证及保证设计的正确性,支持电路由高层向低层的综合变换,便于文档管理,易于理解和设计重用。
本课题选用了Altera公司的FPGA产品并以其专门开发软件为平台,运用VHDL硬件描述语言设计一个电子时钟。
CPLDFPGA以高集成度、高速度和高可靠性而著称,运用FPGA进行产品开发,其开发周期短,投资风险小,产品上市速度快,决定其有着无比的市场前景,是现代EDA技术中广泛运用的硬件。
该系统通过VHDL语言和原理图混合应用的方式来实现电子时钟的设计,并下载到硬件之中进行验证。
我们将电子时钟的设计分成了四大模块,分别是时间计数器模块;
键盘控制模块;
显示电路模块和时间调整模块。
本次设计主要让我们掌握CPLDFPGA的研发过程,掌握VHDL语言的编程思想及过程,以及电子时钟基本功能和实现的基本原理。
第一章FPGA简介
1.1FPGA概述
FPGA是现场可编程门阵列(FieldProgrammableGateArray)的简称,与之相应的CPLD是复杂可编程逻辑器件(ComplexProgrammableLogicDevice)的简称,两者的功能基本相同,只是实现原理略有不同,有时可以忽略这两者的区别,统称为可编程逻辑器件或CPLDPGFA。
CPLDPGFA几乎能完成任何数字器件的功能,上至高性能CPU,下至简单的74电路。
它如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入或硬件描述语言自由的设计一个数字系统。
通过软件仿真可以事先验证设计的正确性,在PCB完成以后,利用CPLDFPGA的在线修改功能,随时修改设计而不必改动硬件电路。
使用CPLDFPGA开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。
这些优点使得CPLDFPGA技术在20世纪90年代以后得到飞速的发展,同时也大大推动了EDA软件和硬件描述语言HDL的进步[1]。
1.2FPGA基本结构
FPGA具有掩膜可编程门阵列的通用结构,它由逻辑功能块排成阵列,并由可编程的互连资源连接这些逻辑功能块来实现不同的设计。
FPGA一般由3种可编程电路和一个用于存放编程数据的静态存储器SRAM组成。
这3种可编程电路是:
可编程逻辑模块(CLB—ConfigurableLogicBlock)、输入输出模块(IOB—IOBlock)和互连资源(IR—InterconnectResource)。
可编程逻辑模块CLB是实现逻辑功能的基本单元,它们通常规则的排列成一个阵列,散布于整个芯片;
可编程输入输出模块(IOB)主要完成芯片上的逻辑与外部封装脚的接口,它通常排列在芯片的四周;
可编程互连资源包括各种长度的连接线段和一些可编程连接开关,它们将各个CLB之间或CLB、IOB之间以及IOB之间连接起来,构成特定功能的电路。
(1)CLB是FPGA的主要组成部分。
图2.1是CLB基本结构框图,它主要由逻辑函数发生器、触发器、数据选择器等电路组成。
CLB中3个逻辑函数发生器分别是G、F和H,相应的输出是G’、F’和H’。
G有4个输入变量G1、G2、G3和G4;
F也有4个输入变量F1、F2、F3和F4。
这两个函数发生器是完全独立的,均可以实现4输入变量的任意组合逻辑函数。
逻辑函数发生器H有3个输入信号;
前两个是函数发生器的输出G’和F’,而另一个输入信号是来自信号变换电路的输出H1。
这个函数发生器能实现3输入变量的各种组合函数。
这3个函数发生器结合起来,可实现多达9变量的逻辑函数。
CLB中有许多不同规格的数据选择器(四选一、二选一等),通过对CLB内部数据选择器的编程,逻辑函数发生器G、F和H的输出可以连接到CLB输出端X或Y,并用来选择触发器的激励输入信号、时钟有效边沿、时钟使能信号以及输出信号。
这些数据选择器的地址控制信号均由编程信息提供,从而实现所需的电路结构。
CLB中的逻辑函数发生器F和G均为查找表结构,其工作原理类似于ROM。
F和G的输入等效于ROM的地址码,通过查找ROM中的地址表可以得到相应的组合逻辑函数输出。
另外,逻辑函数发生器F和G还可以作为器件内高速RAM或小的可读写存储器使用,它由信号变换电路控制。
(2)输入输出模块IOB。
IOB提供了器件引脚和内部逻辑阵列之间的连接。
它主要由输入触发器、输入缓冲器和输出触发锁存器、输出缓冲器组成[2]。
每个IOB控制一个引脚,它们可被配置为输入、输出或双向IO功能。
当IOB控制的引脚被定义为输入时,通过该引脚的输入信号先送入输入缓冲器。
缓冲器的输出分成两路:
一路可以直接送到MUX,另一路延时几个纳秒(或者没有延时)后送到输入通路D触发器,再送到数据选择器。
通过编程给数据选择器不同的控制信息,确定送至CLB阵列的I1和I2是来自输入缓冲器,还是来自触发器。
当IOB控制的引脚被定义为输出时,CLB阵列的输出信号OUT也可以有两条传输途径:
一条是直接经MUX送至输出缓冲器,另一条是先存入输出通路D触发器,再送至输出缓冲器。
IOB输出端配有两只MOS管,它们的栅极均可编程,使MOS管导通或截止,分别经上拉电阻接通VCC、地线或者不接通,用以改善输出波形和负载能力。
(3)可编程互连资源IR。
可编程互连资源IR可以将FPGA内部的CLB和CLB之间、CLB和IOB之间连接起来,构成各种具有复杂功能的系统。
IR主要由许多金属线段构成,这些金属线段带有可编程开关,通过自动布线实现各种电路的连接。
1.3FPGA系统设计流程
流程说明:
(1)工程师按照“自顶向下”的设计方法进行系统划分。
(2)输入VHDL代码,这是设计中最为普遍的输入方式。
此外,还可以采用图形输入方式,这种输入方式具有直观、容易理解的优点。
(3)将以上的设计输入编译成标准的VHDL文件。
(4)进行代码级的功能仿真,主要是检验系统功能设计的正确性。
这一步骤适用于大型设计,因为对于大型设计来说,在综合前对源代码仿真,就可以大大减少设计重复的次数和时间。
一般情况下,这一仿真步骤可略去。
(5)利用综合器对VHDL源代码进行综合优化处理,生成门级描述的网络表文件,这是将高层次描述转化为硬件电路的关键步骤。
综合优化是针对ASIC芯片供应商的某一产品系列进行的,所以综合的过程要在相应的厂家综合库的支持下才能完成。
(6)利用产生的网络表文件进行适配前的时序仿真,仿真过程不涉及具体器件的硬件特性,是较为粗略的。
一般的设计,也可略去这一步骤。
(7)利用适配器将综合后的网络表文件针对某一具体的目标器件进行逻辑映射操作,包括底层器件配置、逻辑分割、逻辑优化和布局布线。
(8)在适配完成后,产生多项设计结果:
a.适配报告,包括芯片内部资源利用情况,设计的布尔方程描述情况等;
b.适配后的仿真模型;
c.器件编程文件。
根据适配后的仿真模型,可以进行适配后时序仿真,因为已经得到器件的实际硬件特性(如时延特性),所以仿真结果能比较精确的预期未来芯片的实际性能。
如果仿真结果达不到设计要求,就修改VHDL源代码或选择不同速度和品质的器件,直至满足设计要求。
最后将适配器产生的器件编程文件通过编程器或下载电缆载入到目标芯片CPLDFPGA中。
第二章可编程逻辑器件概述及设计方案
可编程逻辑器件PLD(ProgrammableLogicDevice)是20世纪70年代发展起来的一种新的集成器件。
PLD是大规模集成电路技术发展的产物,是一种半定制的集成电路,结合计算机的软件技术(EDA技术)可以快速、方便地构建数字系统。
2.1CPLDFPGA概述及VHDL语言的特点
1、CPLDFPGA概述
不论是简单的还是复杂的数字系统都是由基本门来构成的,如与门、或门、非门、传输门等。
人们发现,不是所有的基本门都是必须的,如用与非门单一基本门就可以构成其他的基本门。
任何的组合逻辑函数都可以化为“与—或”表达式。
即任何的组合电路(需要提供输入信号的非信号),可以用“与门—或门”二级电路实现。
同样,任何时序电路都可由组合电路加上存储元件,即锁存器、触发器、RAM构成的。
由此人们提出了一种可编程电路结构,即乘积项逻辑阵列结构。
当然,“与或”结构组成的PLD器件的功能比较简单。
此后,人们又从ROM工作原理、地址信号与输出数据间的关系以及ASIC的门阵列法中获得启发,构造另外一种可编程的逻辑结构,那就是SRAM查表的方式,并使用多个查找表构成了一个查表阵列,称为可编程门阵列(ProgrammableGateArray)。
可编程逻辑器件的两种主要类型是现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD)。
在这两类可编程逻辑器件中,FPGA提供了最高的逻辑密度、最丰富的特性和最高的性能。
现在最新的FPGA器件,如XilinxVirtex™系列中的部分器件,可提供八百万"
系统门"
(相对逻辑密度)。
这些先进的器件还提供诸如内建的硬连线处理器(如IBMPowerPC)、大容量存储器、时钟管理系统等特性,并支持多种最新的超快速器件至器件(device-to-device)信号技术。
FPGA被应用于范围广泛的应用中,从数据处理和存储,以及到仪器仪表、电信和数字信号处理等
与此相比,CPLD提供的逻辑资源少得多,最高约1万门。
但是,CPLD提供了非常好的可预测性,因此对于关键的控制应用非常理想。
而且如XilinxCoolRunner™系列CPLD器件需要的功耗极低,并且价格低廉,从而使其对于成本敏感的、电池供电的便携式应用(如移动电话和数字手持助理)非常理想。
FPGA基于SRAM的架构,集成度高,以LE(包括查找表、触发器及其他)为基本单元,有内嵌Memory、DSP等。
具有易挥发性,需要有上电加载过程。
在实现复杂算法、队列调度、数据处理、高性能设计、大容量缓存设计等领域中有广泛应用,如AlteraStratix系列。
CPLD基于EEPROM工艺,集成度低,以MicroCell(包括组合部分与寄存器)为基本单元。
具有非挥发特性,可以重复写入。
在粘合逻辑、地址译码、简单控制、FPGA加载等设计中有广泛应用,如AlteraMAX3000A系列[3]。
详细比较:
尽管FPGA和CPLD有很多共同特点,但由于CPLD和FPGA结构上的差异,具有各自的特点:
(1)CPLD更适合完成各种算法和组合逻辑,FPGA更适合于完成时序逻辑。
换句话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构。
(2)CPLD的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而FPGA的分段式布线结构决定了其延迟的不可预测性。
(3)在编程上FPGA比CPLD具有更大的灵活性。
CPLD通过修改具有固定内连电路的逻辑功能来编程,FPGA主要通过改变内部连线的布线来编程;
FPGA可在逻辑门下编程,而CPLD是在逻辑块下编程。
(4)FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现。
(5)CPLD比FPGA使用起来更方便。
CPLD的编程采用EPROM或FASTFLASH技术,无需外部存储器芯片,使用简单。
而FPGA的编程信息需存放在外部存储器上,使用方法复杂。
(6)CPLD的速度比FPGA快,并且具有较大的时间可预测性。
这是由于FPGA是门级编程,并且CLB之间采用分布式互联,而CPLD是逻辑块级编程,并且其逻辑块之间的互联是集总式的。
(7)在编程方式上,CPLD主要是基于EPROM或FLASH存储器编程,编程次数可达1万次,优点是系统断电时编程信息也不丢失。
CPLD又可分为在编程器上编程和在系统编程两类。
FPGA大部分是基于SRAM编程,编程信息在系统断电时丢失,每次上电时,需从器件外部将编程数据重新写入SRAM中。
其优点是可以编程任意次,可在工作中快速编程,从而实现板级和系统级的动态配置。
(8)CPLD保密性好,FPGA保密性差。
(9)一般情况下,CPLD的功耗要比FPGA大,且集成度越高越明显[4]。
2、VHDL语言的特点
(1)与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。
强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。
(2)VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。
(3)VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。
符合市场需求的大规模系统高效,
高速的完成必须有多人甚至多个代发组共同并行工作才能实现。
(4)对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。
(5)VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计[5]。
2.2可编程逻辑器件的分类和发展历程
可编程逻辑器件的分类很多,几乎每个大的可编程逻辑器件供应商都能提供具有自身结构特点的PLD器件。
由于历史的原因,可编程器件的命名各异,在介绍可编程逻辑器件之前,有必要介绍几种PLD的分类方法。
较常见的是按集成度来分区分不同的PLD器件,一般可分为两大类器件:
一类是芯片集成度较低的。
另一类芯片集成度较高的。
前面已经提到,常用的可编程逻辑器件都是从“与—或阵列”和“门阵列”两类基本结构发展起来的,所以可编程器件从结构上分为两大类器件:
(1)查找表结构器件。
构成可编程门,再构成阵列形式。
FPGA是属于此类器件。
(2)乘积项结构器件。
其基本结构为“与—或阵列”的器件,大部分简单PLD和CPLD都属于这个范畴。
第三种分类方法是从编程工艺上划分:
熔丝(Fuse)型器件。
早期的PROM器件就是采用熔丝结构的,编程过程就是根据设计的熔丝图文件来烧断对应的熔丝达到编程目的。
(3)反熔丝型器件。
是对熔丝技术的改进,在编程处通过击穿漏层使得两点之间导通。
与熔丝烧断获得开路正好相反。
某些FPGA采用此种编程方式,如Actel公司的FPGA器件。
无论是熔丝还是反熔丝结构,都只能编程一次,因而又合称为OTP器件,即一次性可编程(OneTimeProgrammable)器件。
(4)EPROM型。
称为紫外线擦除点可编程逻辑器件。
是用较高的编程电压进行编程,当需要再次编程时,用紫外线进行擦除。
与熔丝、反熔丝型不同,可多次编程。
有时为降低生产成本,在制造EPROM型器件时不加用于紫外线擦除的石英窗口,于是就不能用紫外线擦除,而只能编程一次,也被称为OTP器件。
很早以前人们就曾设想设计一种逻辑可再编程的器件,不过由于受到当时集成电路工艺技术的限制,一直未能如愿。
直到20世纪后期,集成技术有了飞速的发展,可编程逻辑器件才得以实现。
历史上,可编程逻辑器件经历了从PROM(ProgrammableReadOnlyMemory),PLA(ProgrammableLogicArray),PAL(ProgrammableArrayLogic)可重复编程GAL(GenericArrayLogic)到采用大规模集成技术的EPLD到CPLD和FPGA的发展过程。
在结构、工艺、集成度、功能、速度和灵活性方面都有很大的改进和提高。
可编程逻辑器件大致的演变过程如下:
(1)20世纪70年代熔丝编程的PROM和PLA器件是最早的可编程的逻辑器件。
(2)20世纪70年代末,对PLA进行了改进,AMD公司推出PAL器件。
(3)20世纪80年代初,Lattice公司发明点可擦写的比PAL使用灵活的GAL器件。
(4)20世纪80年代中期,Xilinx公司提出现场可编程概念,同时产生了世界上第一片FPGA器件。
同一时期,Altera公司推出EPLD器件,较GAL器件有更高的集成度,可以用紫外线或点擦除。
(5)20世纪80年代末,Lattice公司又提出在系统可编程技术,并且推出了一系列具备在系统可编程能力的CPLD器件,将可编程逻辑器件的性能和应用技术推向一个全新的高度。
进入20世纪90年代后,可编程逻辑集成电路技术进入飞速发展时期。
器件的可用逻辑门数超过了百万门,并出现了内嵌复杂功能模
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整版 基于 FPGA 多功能 电子钟 毕业设计 论文