基于FPGA的综合计时系统设计文档格式.docx
- 文档编号:16733536
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:36
- 大小:656.80KB
基于FPGA的综合计时系统设计文档格式.docx
《基于FPGA的综合计时系统设计文档格式.docx》由会员分享,可在线阅读,更多相关《基于FPGA的综合计时系统设计文档格式.docx(36页珍藏版)》请在冰豆网上搜索。
摘要
随着电子技术的飞速发展,基于FPGA的设计向高集成度高速度和低价位方向不断迈进,其应用领域不断扩大。
而基于FPGA的综合计时系统则是电子数字计时的一大发展。
利用VHDL硬件描述语言结合FPGA器件设计一个具有基本计时和调整时间功能的计时系统,将会达到集成度高,开发简单,设计更加灵活多变,计时精确而且成本较低的特点。
本文通过使用VHDL语言设计了一个综合性的计时系统,能实现年、月、日、时、分、秒及星期的计数等综合计时功能,同时将计时结果用15个七段数码管显示,并且可通过两个设置键,对计时系统的有关参数进行调整。
综合计时电路可分为计秒电路、计分电路、计时电路、计日电路、计月电路、计年电路、计星期电路等7个子模块,这7个子模块都具有预置、计数、和进位功能。
本设计中对于系统的各种控制时钟信号,可通过分频电路对一个给定的合适频率信号进行分频来产生。
在显示控制电路的设计中,显示部分利用动态扫描显示的原理,既简化了显示译码驱动电路的设计,又节约了硬件的I/O口,同时还减少了系统的驱动电流及功耗等;
在调整控制电路的设计中,简化了预置值的设计,利用状态机非常简洁地实现了各种调整状态的循环变化。
关键词:
FPGA,VHDL,计时系统,电路
TitleDesignofanintegratedtimingsystembasedonFPGA
Abstract
Withtherapiddevelopmentofelectronictechnology,FPGA-baseddesigntohighspeedandlow-costhighlyintegratedintothedirectionofconstantlyexpandingitsapplicationareas.TheFPGA-basedintegratedelectronicdigitaltimingsystemisamajordevelopmenttime.UsingVHDLhardwaredescriptionlanguagetodesignacombinationofFPGAdeviceshaveabasicfunctionoftimeandadjustmenttimetimingsystem,willreachhighintegration,developmentofsimpledesignismoreflexible,time-accurateandlowcostcharacteristics
Inthispaper,usingtheVHDLlanguagedesigntimeingsystem,acomprehensivesystemtoachievetheyear,month,day,hour,minuteandsecondweeksofcountingandtimingfunctionssuchasintegrated,whiletimingtheresultsof15seven-segmentdigitaldisplay,andcanbesetbytwokeysystemparametersonthetimingadjustment.Timingcircuitintegratedcircuitcanbedividedintotheseconds,scoringcircuit,timingcircuit,namely,onthecircuit,monthlycircuit,namely,inthecircuit,namely,7-weekcircuitsub-module,whichhasapreset7sub-module,counting,andcarryfunction.Thedesignofthevariouscontrolsforthesystemclocksignal,byfrequencycircuitsuitableforagivenfrequencysignalfrequencytoproduce.Inthedisplaycontrolcircuitdesign,thedisplaypartoftheprincipleofdynamicscanningshowednotonlysimplifiesthedisplaydecoderdrivercircuitdesign,butalsosavethehardwareI/Oport,whilealsoreducingthesystem'
sdrivecurrentandpowerconsumption;
inadjustingthecontrolcircuitdesign,simplifiesthedesignofpresetvaluesusingthestatemachineisverysimpleadjustmentstoachieveavarietyofchangesinthestateofcirculation.
Keywords:
FPGA,VHDL,TimingSystem,Circuit
附录30
1绪论
1.1课题研究背景
时间这一概念很早就在人们的头脑中形成了,古人用把一天分为十二个时辰,每个时辰相当于两个小时。
那时候,白天靠测量太阳的影子,晚上用漏壶滴水测时。
随着科学技术的不断发展,各种各样的计时仪器也随之产生了。
计时系统的设计成为了一种必须。
随着电子工业的发展,数字电子技术已经深入到了人们生活的各个层面,而且各种各样的电子产品也在日新月异地向着高精尖技术发展。
由于电子产品的功能不断增加,使用也越来越方便,有些产品已经成为了人们日常生活中不可缺少的必备物品。
例如数字计时系统的广泛应用,尤其是在当今迅速发展节奏不断加快的社会形式下,它的作用更加被体现,可以说数字计时系统的作用无处不在。
我们常见的数字万年历,各种样式精美功能齐全的数字钟、电子表等都是我们在日常生活中的得力助手;
在网吧计时计费系统可统计每天每台计算机开机时间及网吧中所有计算机每天开机总时间,并能查询一周内网吧中所有计算机总的开机时间和总的收费情况,这不能不说是计时系统的发展带来的象网吧这种行业的大规模经营;
在运动场上,我们看到的不光是运动员之间的较量,更是各种电子计时装置间的比拼;
在医疗上,吸氧计时系统的设计给医生减小了工作量,节省了工作时间,提高了工作效率,对病人来说它更像是一个福音;
在科学研究方面,各种精确的电子计时系统使科研人员能够更及时有效地获取实验数据。
这些都在告诉我们数字计时系统在当今高速发展的电子领域所占有的地位,和广阔的发展空间。
现代电子设计技术的核心已经趋向于基于计算机的电子设计自动化,即EDA。
硬件描述语言已成为当今以及未来电子设计自动化(EDA)解决方案的核心,特别是对于深亚微米复杂数字系统的设计,硬件描述语言具有独特的作用。
VHDL在数字电子电路的设计中具有硬件描述能力强、设计方法灵活等优点。
利用硬件描述语言VHDL,数字电路系统可从系统行为级、寄存器传输级和门级三个不同层次进行设计,即上层到下层(从抽象到具体)逐层描述自己的设计思想,用一系列分层次的模块来表示极其复杂的数字系统。
然后,利用电子设计自动化(EDA)工具,逐层进行仿真验证,再把其中需要变为实际电路的模块组合,经过自动综合工具转换到门级电路网表。
接着,再用专用集成电路(ASIC)或现场可编程门阵列(FPGA)自动布局布线工具,把网表转换为要实现的具体电路布线结构。
VHDL的应用已成为当今以及未来EDA解决方案的核心,而且是复杂数字系统设计的核心。
在EDA工具软件平台上,对以硬件描述语言VHDL为系统逻辑描述手段来完成的设计文件,自动的完成逻辑编译以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。
通过EDA技术,采用VHDL语言来设计一个综合计时系统,可完成计时、扫描、显示译码等操作,让时间稳定直观的显示出来,还可由调整键随意调整时间,在现实生活中显得较为简单易行,更容易实现,也更具有使用价值。
通过设计各个计时模块,仿真调试成功后在连接成一个完整的计时系统。
在这个过程中可以用许多不同的程序来实现。
如时间的调整,可以设置模式和调整两个外部案件完成,模式键负责切换正常时间计时模式和时间调整模式,调整键负责在时间调整模式下,对当前模式的计时结果进行调整。
这种调整时间的方法方便快捷。
1.2课题研究意义
EDA技术的发展使得计时系统的设计越来越多样化,也越来越完善。
随着EDA技术的发展和FPGA在深亚微米领域的进军。
自第一片可编程逻辑器件(FPGA)问世至今,FPGA已经历了十几年的发展历史。
在这十几年的发展过程中,以FPGA为代表的数字系统现场集成技术取得了惊人的发展:
现场可编程逻辑器件从最初的1200个可利用门,发展到90年代的25万个可利用门,乃至当新世纪来临之即,国际上现场可编程逻辑器件的著名厂商Alter公司、Xilinx公司又陆续推出了数百万门的单片FPGA芯片,将现场可编程器件的集成度提高到一个新的水平。
它们与MCUMPUDSPA/DD/ARAM和ROM等独立器件间的物理与功能界限已日趋模糊特别是软/硬IP芯核IntelligenceProperty产业的迅猛发展嵌人式通用及标准FPGA器件很快就会出现片上系统SOC也已近在咫尺CPLD/FPGA以其不可替代的地位及伴随而来的极具知识经济特征的IP芯核产业的崛起利用FPGA,采用VHDL语言来设计可用不同的方法编写程序,实现同一功能。
FPGA不仅可以解决电子系统小型化、低功耗、高可靠性等问题,而且其开发周期短、开发软件投入少、芯片价格不断降低,促使FPGA越来越多地取代了ASIC的市场,特别是对小批量、多品种的产品需求,使FPGA成为首选。
VHDL语言具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性。
在传统的计时系统设计中,手工设计占了较大的比例。
一般都是先按电子系统的具体功能要求进行功能划分,然后对每个子模块画出真值表,用卡诺图进行手工逻辑简化,写出布尔表达式,画出相应的逻辑线路图,再据此选择元器件,设计电路板,最后进行实测与调试。
手工设计的缺点是:
复杂电路的设计和调试十分困难;
无法进行硬件系统仿真,如果某一过程存在错误,查找和修改十分不便;
设计过程中产生大量文档,不易管理;
只用设计出样机才能进行实测。
相比之下,EDA技术用很大不同,主要表现在:
用VHDL对数字系统进行抽象的行为与功能描述具体的内部线路结构描述,从而可以在电子设计的各个阶段进行计算机模拟验证,保证设计过程的正确性;
EDA工具之所以能够完成各种自动设计过程,关键是有各类库的支持,如逻辑仿真时的模拟库、逻辑综合时的综合库、测试综合时的测试库等;
EDA技术中最为瞩目的功能、最具现代电子技术特征的功能是日益强大的逻辑仿真测试技术。
基于EDA的FPGA的应用和技术推广是我国未来电子设计技术发展的主流而基于EDA的FPGA芯片产业的推动应是我国在新世纪知识经济发展的重要切入点之一。
由于FPGA的诸多优势特点和VHDL语言的灵活多变,利用VHDL硬件描述语言结合FPGA器件设计一个具有基本计时和调整时间功能的计时系统,可完成实现年、月、日、时、分、秒及星期的计数等功能,同时将计时结果用15个七段数码管显示,并且可通过两个设置键,对计时系统的有关参数进行调整。
这样设计将会达到集成度高,开发简单,更加灵活多变,计时精确而且成本较低的特点。
在现实生活中显得更为简单易行,更容易实现,也更具有使用价值。
FPGA的发展引领的是一种潮流,它必将成为电子生产领域的趋势。
因此,对FPGA计时系统的学习和研究就变得更加有意义。
2系统设计方案研究
2.1系统设计要求
通过使用VHDL语言设计一个基于FPGA的综合性的计时系统,要求能实现年、月、日、时、分、秒及星期的计数等综合计时功能,同时将计时结果用15个七段数码管显示,并且可通过两个设置键,对计时系统的有关参数进行调整。
整个系统的功能面板如图2.1所示。
图2.1系统功能面板
本综合计时系统可分成三个主要模块:
综合计时电路、显示控制电路和调整控制电路。
其中综合计时电路用于完成各种计时的功能,显示控制电路用于完成计时结果的显示控制及显示译码等功能,而调整控制电路则用于调整计时系统的有关参数。
可完成计时、扫描、显示译码等操作,让时间稳定直观的显示出来,还可由调整键随意调整时间。
2.2系统实现方案的论证比较与选择
由于数字计时系统在当今社会的重要作用,它也必然的成为了各电子生产企业的力争之地,从而也就衍生出综合计时系统的多种实现方案。
但鉴于规模和发展前景,目前主要有四种实现方案。
方案一:
用C语言进行系统功能编程,通过单片机加以实现。
方案二:
用VHDL硬件描述语言进行系统功能编程,通过专用集成电路ASIC加以实现。
方案三:
用VHDL硬件描述语言进行功能编程,通过复杂可编程逻辑器件(ComplexProgrammableLogicDevice,CPLD)加以实现。
方案四:
用VHDL硬件描述语言进行系统功能编程,通过现场可编程门阵列(FieldProgram2mableGateArray,FPGA)加以实现。
首先,C语言是一种计算机程序设计语言。
它既有高级语言的特点,又具有汇编语言的特点。
它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。
因此,它的应用范围广泛。
C语言对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它解释型高级语言,有一些大型应用软件也是用C语言编写的。
而硬件描述语言VHDL是一种标准化的硬件描述语言。
设计者可以通过它编写代码,然后用模拟器验证其功能,再将设计代码综合成门级电路,最后下载到可编程逻辑器件(CPLD,FPGA)中来实现一个设计。
目前,这种高层次设计(highleveldesign)的方法已被广泛采用。
据统计,目前在美国硅谷约有90%以上的ASIC和FPGA采用硬件描述语言进行设计。
由于VHDL语言具有支持大规模设计和再利用已有设计等优点,因此使用VHDL语言来设计数字系统已成为一种潮流。
相比较而言,VHDL支持从系统级到门级电路的描述,同时也支持多层次的混合描述,描述形式可以是结构描述,也可以是行为描述,或者二者兼而有之。
VHDL既支持模块化设计,也支持层次化设计;
支持大规模设计的分解和设计重用。
数据类型丰富,既支持预定义的数据类型,又支持自定义的数据类型。
VHDL语言的断言语句可用来描述设计本身的约束信息,支持设计直接在描述中书写错误条件和特殊约束,不仅便于模拟调试,而且为综合化简提供了重要信息。
因此VHDL语言更灵活多变更适合进行硬件系统开发。
其次,单片机可以理解为集成在单一芯片上的微型计算机系统,采用存储程序执行的方式,对单片机的编程就是对其中的ROM写入程序,在加电后ROM中的程序会像计算机内存中的程序一样得到逐条的执行。
当今的单片机还集成了A/D、D/A转换,并串口等多种与外界进行数据交换的手段。
单片机计算速度和性能有限。
FPGA则是操控层次更低,所以自由度更大的芯片。
FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。
用户可以根据不同的配置模式,采用不同的编程方式。
加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。
掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。
FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。
当需要修改FPGA功能时,只需换一片EPROM即可。
这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。
因此,FPGA的使用非常灵活。
FPGA有多种配置模式:
并行主模式为一片FPGA加一片EPROM的方式;
主从模式可以支持一片PROM编程多片FPGA;
串行模式可以采用串行PROM编程FPGA;
外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程。
对FPGA的编程在编译后是转化为FPGA内的连线表,相当于FPGA内提供了大量的与非门、或非门、触发器等基本数字器件,编程决定了有多少器件被使用以及它们之间的连接。
只要FPGA规模够大,这些数字器件理论上能形成一切数字系统,包括单片机甚至CPU。
FPGA在抗干扰,速度上有很大优势,而且FPGA属于电路器件用于使用一个数字器件设置成多种不同数字器件,可迅速使用一种器件转变成另一种数字器件,可对不同功能的器件只生产一种万能的器件,对少量应用的数字器件可大大减少开发过程和成本。
单片机属于集成控制器件,当然也可用于模拟数字器件,但复杂了许多,代价高了许多。
再次,ASIC采用硬接线的固定模式,而FPGA则采用可配置芯片的方法,二者差别迥异。
但是都是可编程器件,是目前的新生力量。
FPGA采用了逻辑单元阵列LCA(LogicCellArray)这样一个新概念,内部包括可配置逻辑模块CLB(ConfigurableLogicBlock)、输出输入模块IOB(InputOutputBlock)和内部连线(Interconnect)三个部分。
FPGA的基本特点主要有:
1)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。
2)FPGA可做其它全定制或半定制ASIC电路的中试样片。
3)FPGA内部有丰富的触发器和I/O引脚。
4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。
5)FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。
可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。
FPGA与ASIC相比较在成品单价不太重要的情况下,或者是在产品上市时间较短,或初始投资较少的情况下,FPGA则是更好的选择。
最后,复杂可编程逻辑器件(ComplexProgrammableLogicDevice,CPLD)和现场可编程门阵列(FieldProgram2mableGateArray,FPGA),两者统称为可编程逻辑器件或CPLD/FPGA。
CPLD和FPGA都具有逻辑单元灵活、集成度高以及适用范围宽等特点。
在编程上FPGA比CPLD具有更大的灵活性。
CPLD通过修改具有固定内连电路的逻辑功能来编程,FPGA主要通过改变内部连线的布线来编程;
FPGA可在逻辑门下编程,而CPLD是在逻辑块下编程。
他们都兼容了PLD和通用门阵列的优点,可实现较大规模的电路,编程也很灵活。
但FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现。
但是在开发成本上FPGA仍然具有它的优越性。
综合上述的分析可知,由于FPGA的诸多优势特点和VHDL语言的灵活多变,故在设计中采用方案四是最好的选择。
2.3系统设计方案及工作原理
根据系统设计要求,本综合计时系统主要有外围电路和FPGA内部电路组成。
外围电路由电源、JTAG测试工具、石英晶体振荡器、分频器和七段显示数码管组成;
FPGA内部电路由综合计时电路、调整控制电路和显示控制电路组成。
其中综合计时电路包括:
计秒计秒电路、计分电路、计时电路、计日电路、计月电路、计年电路、计星期电路等7个子模块,这7个子模块都具有预置、计数、和进位功能,用于完成各种计时的功能。
显示控制电路用于完成计时结果的显示控制及显示译码等功能。
而调整控制电路则用于调整计时系统的有关参数,可完成计时、扫描、显示译码等操作,让时间稳定直观的显示出来,还可由调整键随意调整时间。
图2.2为采用FPGA设计的综合计时系统的原理结构图。
图2.2系统原理结构框图
本系统设计以EPF10K10LC84-4芯片为核心,结合产生时钟脉冲电路时间调整开关等外围电路又通过译码来完成计时显示等功能。
本综合计时系统的工作电源为5v直流;
时钟输入由晶振提供,其频率为20MHz,经分频器分频后获得1Hz计数脉冲,送给综合计时模块,完成计时功能;
综合计时模块通过来自调整控制模块的LD和DATA脉冲信号对年、月、日、时、分、秒和星期的走时进行校正;
显示控制模块输出信号BCD和SELOUT来驱动15个七段显示数码管显示时间;
图中标准JTAG接口供与PC机并行口相连,用于下载设计数据至FPGA中。
该芯片属于Altera公司的FLEX10K系列,在本系统中主要用于实现系统计时处理。
FLEX10K器件是工业界第一个嵌入式的PLD(可编程逻辑器件),由于其具有高密度、低成本、低功率等特点,成为当今AlteraPLD中应用广泛的器件系列。
FLEX10K器件主要由EAB(嵌入式阵列块)、LAB(逻辑阵列块)、快速通道线和I/O单元4部分组
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 FPGA 综合 计时 系统 设计