毕业设计数字闹钟论文.docx
- 文档编号:27523611
- 上传时间:2023-07-02
- 格式:DOCX
- 页数:32
- 大小:446.42KB
毕业设计数字闹钟论文.docx
《毕业设计数字闹钟论文.docx》由会员分享,可在线阅读,更多相关《毕业设计数字闹钟论文.docx(32页珍藏版)》请在冰豆网上搜索。
毕业设计数字闹钟论文
摘要
随着工业日新月异的发展,EDA技术给电子系统设计带来了革命性的变化,仿真和设计两方面支持标准硬件描述语言的功能强大的EDA软件不断更新、增加,使电子EDA技术得到了更大的发展。
本文介绍了利用VHDL硬件描述语言结合FPGA可编程器件进行数字闹钟的设计,通过数码管驱动电路动态显示计时结果。
根据本设计的系统的功能要求,整个系统大致包括如下几个组成部分:
用于预置数字输入的预置数字缓冲器;用于数字闹钟计时的计数器;用于保存闹钟时间的寄存器;用于显示的七段数码显示电路以及控制以上各个部分协同工作的控制器。
使整个数字闹钟有了一个完整的结构,通过这次设计使闹钟每隔1秒钟计时一次,并在显示屏上显示当前时间,如果当前时间与设置的闹钟时间相同,则扬声器发出蜂鸣声。
最后通过各个模块的仿真实验可以证明本次设计的可行性。
通过本设计还可以为其他电路的设计提供一定的借鉴作用。
关键词:
硬件描述语言;数字闹钟;电子设计自动化;现场可编程门阵列
Abstract
Thedevelopmentchangeswitheachnewdaywhichalongwiththeindustry,theEDAtechnologyhasbroughttherevolutionarychangefortheelectronicsystemdesign,thesimulationanddesignstwoaspectstosupportthestandardhardwaredescriptionlanguagethefunctionformidableEDAsoftwaretorenew,theincreaseunceasingly,enabletheelectronicEDAtechnologytoobtainabiggerdevelopment.ThearticleintroducedunifiestheFPGAprogrammablecomponentusingtheVHDLhardwaredescriptionlanguagetocarryonthedigitalclockthedesign,throughnixietubeactuationelectriccircuitdynamicdemonstrationtimeresult.Accordingtothisdesignsystemfunctionrequest,theoverallsystemincludesthefollowingseveralconstituentapproximately:
Usesininitializingthedigitalinputthepre-placeddigitalbuffer;Usesinthedigitalalarmclocktimethecounter;Usesinpreservingthealarmclocktimetheregister;Aboveusesinsevensectionofnumericalcodedisplaycircuitwhichdemonstratedaswellascontrolseachpartofjointoperationcontroller.Enabletheentiredigitalalarmclocktohaveacompletestructure,eachcausedthealarmclockthroughthisdesign1secondtotimeonetime,anddemonstratedthecurrenttimeonthedisplaymonitor,ifthecurrenttimeandtheestablishmentalarmclocktimeweresame,thenthespeakersentoutthebuzzingsound.FinallymayproveaMingdynastyprintedbooksdesignthrougheachmodulesimulationexperimentthefeasibility.Mayprovidecertainmodelfunctionthroughthisdesignforotherelectriccircuitdesign.
Keywords:
Hardwaredescriptionlanguage;digitalclock;Electronicdesignautomation;Sceneclassprogramminggatearray
绪论
人类社会已进入到高度发达的信息化社会,信息社会的发展离不开电子产品的进步。
现代电子产品在性能提高、复杂度增大的同时,价格却一直呈下降趋势,而且产品更新换代的步伐也越来越快,实现这种进步的主要原因就是生产制造技术和电子设计技术的发展。
EDA是指以计算机为工作平台,融合了应用电子技术、计算机技术、智能化技术最新成果而研制成的电子CAD通用软件包,主要能辅助进行三方面的设计工作:
IC设计,电子电路设计以及PCB设计。
没有EDA技术的支持,想要完成上述超大规模集成电路的设计制造是不可想象的,反过来,生产制造技术的不断进步又必将对EDA技术提出新的要求[1]。
很多电子设计师都具有原理图设计的丰富经验,不具有编程经验,所以仍然希望继续在比较熟悉的符号与图形环境中完成设计,而不是利用编程完成设计。
为此,EDA公司在90年代相继推出一批图形化免编程的设计输入工具,它们允许设计师用他们最方便并熟悉的设计方式,如框图、状态图、真值表和逻辑方程建立设计文件,然后由EDA工具自动生成综合所需的硬件描述语言文件。
目前,数字电路设计的EDA工具远比模拟电路的EDA工具多,模拟集成电路EDA工具开发的难度较大,但是,由于物理量本身多以模拟形式存在,所以实现高性能的复杂电子系统的设计离不开模拟信号。
因此,90年代以来EDA工具厂商都比较重视数/模混合信号设计工具的开发。
对数字信号的语言描述IEEE己经制定了VHDL标准,对模拟信号的语言描述正在制定AHDL标准,此外还提出了对微波信号的MHDL描述语言[2]。
通常,可以将电子系统设计的仿真过程分成两个阶段:
即设计前期的系统级仿真和设计过程中的电路级仿真。
系统级仿真主要验证系统的功能;电路级仿真主要验证系统的性能,决定怎样实现设计所需的精度。
在整个电子设计过程中仿真是花费时间最多的工作,也是占用EDA工具资源最多的一个环节[3]。
通常设计活动的大部分时间在做仿真,验证设计的有效性、测试设计的精度、处理和保证设计要求等。
仿真过程中仿真收敛的快慢同样是关键因素之一。
提高仿真的有效性一方面是建立合理的仿真算法,另一方面是系统级仿真中系统级模型的建模,电路级仿真中电路级模型的建模。
预计在下一代EDA工具中,仿真工具将有一个较大的发展。
今天,电子系统和电路的集成规模越来越大,几乎不可能直接面向版图做设计,若要找出版图中的错误,更是难上加难。
将设计者的精力从繁琐的版图设计和分析中转移到设计前期的算法开发和功能验证上,这是设计综合工具要达到的目的[4]。
高层次设计综合工具可以将低层次的硬件设计一直转换到物理级的设计,实现不同层次和不同形式的设计描述转换,通过各种综合算法实现设计目标所规定的优化设计。
当然,设计者的经验在设计综合中仍将起到重要的作用,自动综合工具将有效地提高优化设计的效率。
设计综合工具由最初的只能实现逻辑综合,逐步发展到可以实现设计前端的综合直至设计后端的版图综合以及测试综合的理想且完整的综合工具。
设计前端的综合工具也称高层次综合工具,可以实现从算法级的行为描述到寄存器传输级结构描述的转换,给出满足约束条件的硬件结构[5]。
在确定寄存器传输结构描述后,由逻辑综合工具完成硬件的门级结构描述。
逻辑综合的结果将作为版图综合的输入数据,进行版图综合。
版图综合则是将门级和电路级的结构描述转换成物理版图的描述,版图综合时将通过自动交互的设计环境,实现按面积、速度和功率完成布局布线的优化,实现最佳的版图设计。
人们希望将设计测试工作尽可能地提前到设计前期,以便缩短设计周期,减少测试费用,因此测试综合贯穿在设计过程的始终。
测试综合可以消除设计中的冗余逻辑、诊断不可测的逻辑结构、自动插入可测性结构、生成测试向量,当整个电路设计完成时,测试设计也随之完成。
面对当今飞速发展的电子产品市场,电子设计人员需要更加实用、快捷的EDA工具,使用统一的集成化设计环境,改变优先考虑具体物理实现方式的传统设计思路,而将精力集中到设计构思、方案比较和寻找优化设计等方面,以最快的速度开发出性能优良、质量一流的电子产品。
今后的EDA工具将向着功能强大、简单易学、使用方便的方向发展。
EDA技术研究的对象是电子设计的全过程,有系统级、电路级和物理级各个层次的设计。
涉及的电子系统从低频、高频到微波,从线性到非线性,从模拟到数字,从通用集成电路到专用集成电路构造的电子系统,因此EDA技术研究的范畴相当广泛[6]。
如果从专用集成电路ASIC开发与应用角度看,EDA系统应当包含以下子模块:
设计输入子模块、设计数据库子模块、分析验证子模块、综合仿真子模块、布局布线子模块等。
20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。
时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。
忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。
但是,一旦重要事情,一时的耽误可能酿成大祸。
数字闹钟系统设计是EDA技术应用中最基础的设计,在以往的设计中我们通过是单片机来设计的,这次我门用EDA技术来设计数字闹钟,在传统意义的设计上实现了一些突破。
相比较FPGA和CPLD我们可以发现[7]:
(1) CPLD更适合完成各种算法和组合逻辑,FPGA更适合于完成时序逻辑。
在编程上FPGA比CPLD具有更大的灵活性。
(2) FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现。
(3) FPGA可以编程任意次,可在工作中快速编程,从而实现板级和系统级的动态配置。
(4) FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。
(5) FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。
数字闹钟是采用数字电路实现对时,分,秒。
数字显示的计时装置,广泛用于个人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可少的必需品,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。
诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。
因此,研究数字闹钟及扩大其应用,有着非常现实的意义。
1 数字闹钟设计平台
Max+plusII(或写成Maxplus2,或MP2)是Altera公司推出的第三代PLD开发系统(Altera第四代PLD开发系统被称为:
QuartusII,主要用于设计新器件和大规模CPLD/FPGA).使用MAX+PLUSII的设计者不需精通器件内部的复杂结构,Max+plusⅡ界面友好,使用便捷,被誉为业界最易用易学的EDA软件。
设计者可以用自己熟悉的设计工具(如原理图输入或硬件描述语言)建立设计,MAX+PLUSII把这些设计转自动换成最终所需的格式。
在Max+plusⅡ上可以完成设计输入、元件适配、时序仿真和功能仿真、编程下载整个流程,它提供了一种与结构无关的设计环境,使设计者能方便地进行设计输入、快速处理和器件编程。
对于一般几千门的电路设计,使用MAX+PLUSII,从设计输入到器件编程完毕,用户拿到设计好的逻辑电路,大约只需几小时。
设计处理一般在数分钟内完成。
特别是在原理图输入等方面,Maxplus2被公认为是最易使用,人机界面最友善的PLD开发软件,特别适合初学者使用[8]。
1.1 Max+plusⅡ开发系统的特点
1 开放的界面
Max+plusⅡ支持与Cadence,Exemplarlogic,MentorGraphics,Synplicty,Viewlogic和其它公司所提供的EDA工具接口。
2 与结构无关
Max+plusⅡ系统的核心Complier支持Altera公司的FLEX10K、FLEX8000、FLEX6000、MAX9000、MAX7000、MAX5000和Classic可编程逻辑器件,提供了世界上唯一真正与结构无关的可编程逻辑设计环境。
3 完全集成化
Max+plusⅡ的设计输入、处理与较验功能全部集成在统一的开发环境下,这样可以加快动态调试、缩短开发周期。
4 丰富的设计库
Max+plusⅡ提供丰富的库单元供设计者调用,其中包括74系列的全部器件和多种特殊的逻辑功能(Macro-Function)以及新型的参数化的兆功能(Mage-Function)。
5 模块化工具
设计人员可以从各种设计输入、处理和较验选项中进行选择从而使设计环境用户化。
6 硬件描述语言(HDL)
Max+plusⅡ软件支持各种HDL设计输入选项,包括VHDL、VerilogHDL和Altera自己的硬件描述语言AHDL。
7 Opencore特征
Max+plusⅡ软件具有开放核的特点,允许设计人员添加自己认为有价值的宏函数。
1.2 Max+plusⅡ主要功能
1 原理图输入(GraphicEditor)
MAX+PLUSII软件具有图形输入能力,用户可以方便的使用图形编辑器输入电路图,图中的元器件可以调用元件库中元器件,除调用库中的元件以外,还可以调用该软件中的符号功能形成的功能块。
2 硬件描述语言输入(TextEditor)
MAX+PLUSII软件中有一个集成的文本编辑器,该编辑器支持VHDL,AHDL和Verilog硬件描述语言的输入,同时还有一个语言模板使输入程序语言更加方便,该软件可以对这些程序语言进行编译并形成可以下载配置数据。
3 波形编辑器(WaveformEditor)
在进行逻辑电路的行为仿真时,需要在所设计电路的输入端加入一定的波形,波形编辑器可以生成和编辑仿真用的波形(*.SCF文件),使用该编辑器的工具条可以容易方便的生成波形和编辑波形。
使用时只要将欲输入波形的时间段用鼠标涂黑,然后选择工具条中的按钮,例如,如果要某一时间段为高电平,只需选择按钮“1”。
4 管脚(底层)编辑窗口(FloorplanEditor)
该窗口用于将已设计好逻辑电路的输入输出节点赋予实际芯片的引脚,通过鼠标的拖拉,方便的定义管脚的功能。
5 自动错误定位
在编译源文件的过程中,若源文件有错误,Max+Plus2软件可以自动指出错误类型和错误所在的位置。
6 逻辑综合与适配
该软件在编译过程中,通过逻辑综合(LogicSynthesizer)和适配(Fitter)模块,可以把最简单的逻辑表达式自动的吻合在合适的器件中。
7 设计规则检查
选取Compile\Processing\DesignDoctor菜单,将调出规则检查医生,该医生可以按照三种规则中的一个规则检查各个设计文件,以保证设计的可靠性。
8 多器件划分(Partitioner)
如果设计不能完全装入一个器件,编译器中的多器件划分模块,可自动的将一个设计分成几个部分并分别装入几个器件中,并保证器件之间的连线最少。
9 编程文件的产生
编译器中的装配程序(Assembler)将编译好的程序创建一个或多个编程目标文件:
EPROM配置文件(*.POF)例如,MAX7000S系列
SRAM文件(*.SCF)例如,FLEX8000系列的配置芯片EPROM
JEDEC文件(*.JED)
十六进制文件(*.HEX)
文本文件(*.TTF)
串行BIT流文件(*.SBF)
10 仿真
当设计文件被编译好,并在波形编辑器中将输入波形编辑完毕后,就可以进行行为仿真了,通过仿真可以检验设计的逻辑关系是否准确。
11 分析时间(AnalyzeTiming)
该功能可以分析各个信号到输出端的时间延迟,可以给出延迟矩阵和最高工作频率。
12 器件编程
当设计全部完成后,就可以将形成的目标文件下载到芯片中,实际验证设计的准确性[9.10.11]。
1.3 Max+plusⅡ设计过程
使用Max+plusⅡ软件设计流程由以下几部分组成。
1 设计输入:
可以采用原理图输入、HDL语言描述、EDIF网表输入及波形输入等几种方式。
2 编译:
先根据设计要求设定编译参数和编译策略,如器件的选择、逻辑综合方式的选择等。
然后根据设定的参数和策略对设计项目进行网表提取、逻辑综合和器件适配,并产生报告文件、延时信息文件及编程文件,供分析仿真和编程使用。
3 仿真:
仿真包括功能仿真、时序仿真和定时分析,可以利用软件的仿真功能来验证设计项目的逻辑功能是否正确。
4 编程与验证:
用经过仿真确认后的编程文件通过编程器(Programmer)将设计下载到实际芯片中,最后测试芯片在系统中的实际运行性能。
在设计过程中,如果出现错误,则需重新回到设计输入阶段,改正错误或调整电路后重复上述过程。
1.3.1 设计步骤
1 输入项目文件名(File/Project/Name)
2 输入源文件(图形、VHDL、AHDL、Verlog和波形输入方式)
(Max+plusⅡ/graphicEditor;Max+plusⅡ/TextEditor;Max+plusⅡ/WaveformEditor)
3 指定CPLD型号(Assign/Device)
4 设置管脚、下载方式和逻辑综合的方式
(Assign/GlobalProjectDeviceOption,Assign/GlobalLogicSynthesis)
5 保存并检查源文件(File/project/Save&Check)
6 指定管脚(Max+plusⅡ/FloorplanEditor)
7 保存和编译源文件(File/project/Save&Compile)
8 生成波形文件(Max+plusⅡ/WaveformEditor)
9 仿真(Max+plusⅡ/Simulator)
10 下载配置(Max+plusⅡ/Programmer
1.4 硬件描述语言(VHDL)
VHDL语言是一种用于电路设计的高级语言。
它在80年代的后期出现。
最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言。
但是,由于它在一定程度上满足了当时的设计需求,于是他在1987年成为ANSI/IEEE的标准(IEEESTD1076-1987)。
1993年更进一步修订,变得更加完备,成为ANSI/IEEE的ANSI/IEEESTD1076-1993标准。
目前,大多数的CAD厂商出品的EDA软件都兼容了这种标准。
VHDL的英文全写是:
VHSIC(VeryHighSpeedIntegratedCircuit)HardwareDescriptiongLanguage。
翻译成中文就是超高速集成电路硬件描述语言。
因此它的应用主要是应用在数字电路的设计中。
目前,它在中国的应用多数是用在FPGA/CPLD/EPLD的设计中。
当然在一些实力较为雄厚的单位,它也被用来设计ASIC。
关于用VHDL和原理图输入进行CPLD/FPGA设计的粗略比较:
在设计中,如果采用原理图输入的设计方式是比较直观的。
你要设计的是什么,你就直接从库中调出来用就行了。
这样比较符合人们的习惯。
但是这样做需要设计人员要在两方面有较高的素质:
1.对电路的知识要比较丰富。
2.对CPLD/FPGA的结构比较熟悉。
有了这两个条件才能在设计的过程中选用适当的器件从而提高设计的可靠性、提高器件的利用率及缩短设计的周期。
但是有一个重大的问题是在于,如果你的产品有所改动,需要采用另外的CPLD/FPGA时,你将需要重新输入原理图[12]。
但是当你采用VHDL等高级语言来设计时这些问题都会得到较好的解决。
由于在使用VHDL等高级语言时,有专用的工具来实现将语言描述的电路功能转换为实际的电路所以就用不着对底层的电路很熟悉,也用不着对CPLD/FPGA的结构很熟悉,当你要换器件时,你只需要将原来设计好的VDHL文件在新器件的设计工具中再次实现就行了。
用高级语言设计电路的流程:
1.使用文本编辑器输入设计源文件(你可以使用任何一种文本编辑器。
但是,为了提高输入的效率,你可以用某些专用的编辑器,如:
HdlEditor,TuborWriter或者一些EDA工具软件集成的HDL编辑器)。
2.使用编译工具编译源文件。
HDL的编译器有很多,ACTIVE公司,MODELSIM公司,SYNPLICITY公司,SYNOPSYS公司,VERIBEST公司等都有自己的编译器。
3.功能仿真。
对于某些人而言,仿真这一步似乎是可有可无的。
但是对于一个可靠的设计而言,任何设计最好都进行仿真,以保证设计的可靠性。
另外,对于作为一个独立的设计项目而言,仿真文件的提供足可以证明你设计的完整性。
4.综合。
综合的目的是在于将设计的源文件由语言转换为实际的电路。
这一部的最终目的是生成门电路级的网表(Netlist)。
5.布局、布线。
这一步的目的是生成用于烧写(编程Programming)的编程文件。
在这一步,将用到第4步生成的网表并根据CPLD/FPG厂商的器件容量,结构等进行布局、布线。
这就好像在设计PCB时的布局布线一样。
先将各个设计中的门根据网表的内容和器件的结构放在器件的特定部位。
然后,在根据网表中提供的各门的连接,把各个门的输入输出连接起来。
最后,生成一个供编程的文件。
这一步同时还会加一些时序信息(Timing)到你的设计项目中去,以便与你做后仿真。
6.后仿真。
这一步主要是为了确定你的设计在经过布局布线之后,是不是还满足你的设计要求。
7.编程
2 数字闹钟的硬件电路设计
2.1 硬件电路设计思路
硬件设计主要是通过设计的数字闹钟的组成及结构了解各个部分的工作原理,将我们所需要的功能通过电路知识联系起来,实现整个系统的基本结构。
通过我们所学的知识及所查询的资料可以了解到各个设备的功能,然后再经过自己的思考和方法将所需的各个设备连接在一起组成一个整体。
2.1.1FPGA的设计思想
本设计所选用的芯片使ALTERA的EPF10K10LC84-4。
如图2-1。
FLEX10K是ALTERA公司研制的第一个嵌入式的PLD,采用可重构的CMOSSRAM工艺,把连续的快速通道互连与独特的嵌入式阵列结构相结合,同时也结合了众多可编程器件的优点来完成普通门阵列的宏功能,它具有高密度、低成本、低功率等特点,是当今ALTERACPLD中应用前景最好的器件系列之一。
它采用了重复可构造的CMOSSRAM工艺,并把连续的快速通道互连与独特的嵌入式阵列结构相结合,同时可结合众多可编程器件来完成普通门阵列的宏功能。
到目前为止,已经
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 数字 闹钟 论文
![提示](https://static.bdocx.com/images/bang_tan.gif)