用EDA技术设计多功能数字钟毕业设计论文.docx
- 文档编号:26360288
- 上传时间:2023-06-18
- 格式:DOCX
- 页数:26
- 大小:349.46KB
用EDA技术设计多功能数字钟毕业设计论文.docx
《用EDA技术设计多功能数字钟毕业设计论文.docx》由会员分享,可在线阅读,更多相关《用EDA技术设计多功能数字钟毕业设计论文.docx(26页珍藏版)》请在冰豆网上搜索。
用EDA技术设计多功能数字钟毕业设计论文
郑州大学毕业设计(论文)
题目:
用EDA技术设计多功能数字钟
指导教师:
任全会职称:
用EDA技术设计多功能数字钟
摘要
近年来,随着电子技术和通信技术的飞速发展,要求设计研究方面运用电子设计自动化(ElectronicDesignAutomation,简称EDA)工具进行开发。
在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。
EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
EDA技术的出现,极大地提高了电路设计的效率和可靠性,减轻了设计者的劳动强度。
本设计为通过EDA仿真软件MAX+PLUSII设计一个多功能数字钟,并下载到硬件中实现。
本系统的设计电路由计时电路、动态显示电路、闹钟电路、控制电路、显示电路等部分组成。
本系统采用动态显示的原理在数码管上显示12小时计时的时刻,具有清零、保持、校时、报时的功能,并在此基础上增加了闹铃、秒表、12小时制计时、A/P显示等功能。
在设计过程中,将各部分均模块化,各模块间相互独立,又相互联系。
本实验吸收了硬件软件化的思想,大部分功能通过软件来实现,使电路简单明了,系统稳定性大大提高。
本系统不仅成功的实现了要求的基本功能,发挥部分也得到完全的实现,而且有一定的创新功能。
关键词
数字钟、计数器、多功能、动态显示、原理图、仿真、模块化
Abstract
Recently,withtherapiddevelopmentofelectronicandcommunicationtechnology,itisrequiredtouseElectronicDesignAutomation(EDA)asatoolindesigningsystems.EDAderivesfromtheconceptsofComputerAidedDesign,ComputerAidedManufacture,ComputerAidedTestandComputerAidedEngineeringinthe1990s.DesignersuseHardwareDescribeLanguagetoaccomplishdesigningfilesontheplatformofsoftware.Then,computerwillfinishtheworkoflogicalcompiling,simplification,division,synthesis,optimizing,layout,trackingandsimulatingautomatically,anditcanalsoaccomplishtheworkofpropercompiling,logicalprojectinganddownloadingofthetargetchip.Asaresult,itevidentlyimprovestheefficiencyandreliabilityofthecircuitdesign,anditalsolightendesigner’sworkload.
ThisexperimenthasdesignedamultifunctionaldigitalclockviausingtheMAX+PLUSII,andthebasicandextendedperformancesandfunctionsaresuccessfullyrealizedinthehardware.Thissystemincludestimecircuit,alarmcircuit,dynamicdisplaycircuit,controlcircuit,displaycircuit.Inthesystem,thesegmentdisplaycandisplaytimeinthe24-hourformat,itincludessuchfunctionsasclear,hold,checkthetimeandsoon.Wecanalsoaddalarm,stopwatch,12-hourformatdisplayandotherfunctionsonthatbasic.Inthedesigningprocess,manypartsaremodularized,theyarenotonlyindependentbutalsorelated.Manyfunctionsarefinishedbythesoftware.Soitsimplesthecircuitandenhancesthestabilityofthesystem.Notonlyallthebasicandextendedperformancesandfunctionsaresuccessfullyrealized,butalsoaccomplishsomeinnovationfunctions.
Keywords
Digitalclock,arithmometer,multifunctional,dynamicdisplay,schematicdiagram,simulate,modularization
2、EDA技术的介绍及发展7
3.1设计内容9
4、多功能数字中的设计12
4.1课题要求12
4.2课题分析12
4.3功能实现13
4.3.1秒计时模块14
4.3.2分计时模块16
4.3.3小时计时模块17
4.3.4校时校分模块19
4.3.5整点报时模块19
4.3.6时段控制模块20
4.3.7连接各模块21
4.4下载过程23
4.5总结报告26
5.1设计小结28
5.2设计收获28
5.3设计改进28
1、前言
本课题研究的背景和目的:
二十一世纪是信息化高速发展的世纪,产业的信息化离不开硬件芯片的支持。
芯片技术的进步是推动全球信息化的动力。
因此在二十一世纪掌握芯片技术是十分有必要的。
本次课题是计算机组成原理的课程设计,这次课题旨在通过自己对所需功能芯片的设计与实现来巩固以前所学的计算机硬件基础知识,同时也提高动手实践的能力,还有为将来进行更大规模更复杂的开发积累经验。
随着电子技术的发展,现场可编程们陈列FPGA和复杂可编程逻辑器件CPLD的出现,使得电子系统的设计者利用与器件相应的电子软件CAD,可以设计出自己专用的集成电路ASIC器件。
这种可编程ASIC不仅使设产品达到小型化、集成化和和高可靠性。
还减小设计成本和设计周期,而且器件据用用户可编程特性。
在现现代计算机技术和电子工艺的发展,使得现代数字系统的设计和应用进入了新的阶段。
电子设计自动化(EDA)技术在数字设计中起的作用越来越重要,新的工具和新的设计方法不断推出,可编程逻辑器件不断增加新的模块,功能也是越来越强,硬件设计语言也顺应形势,推出新的标准,更加好用,更加便捷。
2、EDA技术的介绍及发展
EDA是电子设计自动化(ElectronicDesignAutomation)缩写,是90年代初从CAD(计算机辅助设计)、CAM(计算机辅助制造)、CAT(计算机辅助测试)和CAE(计算机辅助工程)的概念发展而来的。
EDA技术是以计算机为工具,根据硬件描述语言HDL(HardwareDescriptionlanguage)完成的设计文件,自动地完成逻辑编译、化简、分割、综合及优化、布局布线、仿真以及对于特定目标芯片的适配编译和编程下载等工作。
硬件描述语言HDL是相对于一般的计算机软件语言,如:
C、PASCAL而言的。
HDL语言使用与设计硬件电子系统的计算机语言,它能描述电子系统的逻辑功能、电路结构和连接方式。
设计者可利用HDL程序来描述所希望的电路系统,规定器件结构特征和电路的行为方式;然后利用综合器和适配器将此程序编程能控制FPGA和CPLD内部结构,并实现相应逻辑功能的的门级或更底层的结构网表文件或下载文件。
目前,就FPGA/CPLD开发来说,比较常用和流行的HDL主要有ABEL-HDL、AHDL和VHDL。
EDA技术的发展可将EDA技术分为三个阶段:
(1)七十年代为CAD阶段,人们开始用计算机辅助进行IC版图编辑、PCB布局布线,取代了手工操作,产生了计算机辅助设计的概念。
(2)八十年代为CAE阶段,与CAD相比,除了纯粹的图形绘制功能外,又增加了电路功能设计和结构设计,并且通过电气连接网络表将两者结合在一起,实现了工程设计,这就是计算机辅助工程的概念。
CAE的主要功能是:
原理图输入,逻辑仿真,电路分析,自动布局布线,PCB后分析。
(3)九十年代为ESDA阶段,尽管CAD/CAE技术取得了巨大的成功,但并没有把人从繁重的设计工作中彻底解放出来。
在整个设计过程中,自动化和智能化程度还不高,各种EDA软件界面千差万别,学习使用困难,并且互不兼容,直接影响到设计环节间的衔接。
基于以上不足,人们开始追求:
贯彻整个设计过程的自动化,这就是ESDA即电子系统设计自动化。
目前的EDA产业正处在一场大变革的前夕,对更低成本、更低功耗的无止境追求和越来越短的产品上市压力正迫使IC供应商提供采用0.13μm或以下的千万门级的系统芯片,而这些系统芯片的高复杂性设计更加依赖于EDA供应商提供全新的设计工具和方法以实现模拟前后端、混合信号和数字电路的完全整合。
然而,这些新的需求为当代EDA工具和设计方法带来了不少新的挑战与机会。
例如,如何在工艺上防止模拟电路与数字电路之间的干扰;现有的大部份EDA工具最多只能处理百万门级设计规模,随着IC设计向千万门级以上规模发展,现有EDA工具和方法必须进行升级。
如何融合各EDA供应商的工具,以便向IC设计界提供更高效能和更方便的RTL-to-GDSII或Conc-ept-to-GDSII整合设计环境;为保证深亚微米(0.13μm或以下)和更低内核工作电压(1.8V或以下)时代的信号完整性和设计时序收敛,必须采用新的设计方法。
半导体工艺的每一次跃升都促使EDA工具改变自己,以适应工艺的发展;反过来EDA工具的进步又推动设计技术的发展。
可以说EDA工具是IC设计产业的背后推手。
系统芯片(SOC)正在迅速地进入主流产品的行列。
由此引发的“芯片就等于整机”的现象,将对整个电子产业形成重大的冲击。
种种迹象表明,整个电子产业正在酝酿着一场深刻的产业重组,这将为许多新兴的企业提供进入这一行业的最佳。
EDA在教学、科研、产品设计与制造等各方面都发挥着巨大的作用。
在教学方面,几乎所有理工科(特别是电子信息)类的高校都开设了EDA课程。
主要是让学生了解EDA的基本概念和基本原理、掌握用HDL语言编写规范、掌握逻辑综合的理论和算法、使用EDA工具进行电子电路课程的实验并从事简单系统的设计。
一般学习电路仿真工具(如EWB、PSPICE)和PLD开发工具(如Altera/Xilinx的器件结构及开发系统),为今后工作打下基础。
科研方面主要利用电路仿真工具(EWB或PSPICE)进行电路设计与仿真;利用虚拟仪器进行产品测试;将CPLD/FPGA器件实际应用到仪器设备中;从事PCB设计和ASIC设计等。
在产品设计与制造方面,包括前期的计算机仿真,产品开发中的EDA工具应用、系统级模拟及测试环境的仿真,生产流水线EDA技术应用、产品测试等各个环节。
如PCB的制作、电子设备的研制与生产、电路板的焊接、ASIC的流片过程等。
3、总体方案设计
3.1设计内容
设计一个多功能的数字钟,该数字钟具有下述功能:
(1)计时功能:
包括时,分,秒。
(2)定时与闹钟功能:
能在设定的时间发出闹铃音。
(3)校时功能:
对小时,分钟和秒能手动调整以校准时间。
(4)整点报时功能:
每逢整点,产生“嘀嘀嘀嘀—嘟”,四短一长的报时音。
3.2方案比较
方案一:
本方案是采用模拟器件来实现具体的电子钟模块的,计时模块是由10进制,6进制,24进制计数器分别级联完成,输出的信号经过七段译码器由数码管显示出时间,再用三个锁存器模块对设定的具体时间锁存,再由比较器对设定时间和实际时间进行比较,判定是否相等来实现闹钟功能。
图2.1系统总体框图
方案二:
本方案采用的是CPLD芯片及外围电路实现。
系统总体构成包括最小系统部分、晶振模块、电源模块、JTAG下载模块、时间显示模块、闹钟报警模块,CPLD不仅完成对脉冲计数,完成时钟功能,还能同时对信号进行译码,能设定闹钟时间,和对设定时间比较闹时。
图2.2系统组成框图
该图是CPLD内部原理模块图
图2.3CPLD内部原理框图
3.3方案论证
方案一:
该系统是利用数字电路中的进制计数器、译码、触发器、锁存器,比较器实现。
这种小规模数字电路搭建起来比较复杂。
在设计中用到的芯片多,控制复杂,功耗大,在一些小型的设计中还可以,电路稍微复杂,则很难控制其时序,况且输入组数不能很好的扩展。
方案二:
本方案是使用复杂可编程逻辑器件的CPLD芯片实现。
实现起来比较简单,一些功能模块在CPLD里面用VerilogHDL编程实现,比如这次实现的电子钟模块CPLD一块芯片就完成了包括七段译码,进制计数,设定闹时时间模块和比较闹时模块,其实我们还可以在CPLD内再扩展许多功能,设计方便,利于修改,且开发难度不高,很适合对于大规模的系统设计,还可以很容易在QuetusII中仿真系统工作时序。
3.4方案选择
上述两个方案最大的区别就是:
方案一采用的是数字编码器等芯片,而方案二是用复杂可编程逻辑器件CPLD。
由于本设计针对电子钟设计使用,而且要求根据相应的要求进行功能扩展,使用CPLD在此方面更加有优势,,而且要维护方便,调试简单,稳定性好,功耗低。
基于上述两方案比较,论证,发现方案二更容易实现本次设计的要求,并且方案二的电路较简单,程序容易控制,,而且是EDA的热门技术,所以最终选择方案二。
4、多功能数字钟的设计
4.1课题要求
1、用FPGA器件和EDA技术实现多功能数字钟的设计。
2、已知条件:
1.MAX+PLUSⅡ软件
2.FPGA实验开发装置
3、基本功能:
小时计数器为8421BCD码24进制;
分和秒计数器为8421BCD码60进制计数器
4、扩展功能:
①校时和校分(SWM、SWH为校时和校分控制端,SWMSWH=01时校分,SWMSWH=10时校时,SWMSWH=11时电路正常走时);
②整点报时(在59分51秒、53秒、55秒、57秒电子钟扬声器发出500HZ低音,59秒发出1KHZ高音);
③时段控制(上午05:
00直到下午19:
00路灯灭,其余时间路灯亮)。
5、用硬件描述语言设计(VerilogHDL语言)在Max-plusⅡ软件系统平台上建立数字电子钟电路的顶层文件并完成编译和仿真,实验箱烧录下载完成。
4.2课题分析
根据上面的分析可将时钟的各部分功能划分成小模块来进行设计,这样程序编写思路会比较清晰,但这样做须注意各部分之间的衔接。
(1)计时模块,这个模块的设计思想是设计8421BCD码60进制和8421BCD码24进制来作为秒和分的计时。
60进制计数规律为00—01—…—58—59—00…秒计数器计满60后向分计数器进位,分计数器计满60后向小时计数器进位;24进制计数器其计数规律为00—01—…—22—23—00…即当数字钟运行到23时59分时,分的个位计数器再输入一个脉冲时,数字钟应自动显示为00时00分。
(2)校时校分模块,所谓校时校分即让时,分计时的速度保持一致,则只要通过一个控制端来控制分,时的时钟脉冲就可以,其实质就是“交换脉冲”,这一点仿真波形图上体现的比较明显。
(3)能够整点报时,即多功能数字钟能够在59分51,53,57秒发出低音报时,在5分59秒发出高音报时;
(4)能够进行时段的控制,及对路灯进行控制,上午05:
00直到下午19:
00路灯灭,其余时间路灯亮。
首先创建底层模块——小时计时模块、分钟计时模块、秒钟计时模块、校时校分模块、正点报时模块、时段控制模块,分别对各模块作设计及仿真,将各底层模块“打包”,在顶层模块设计时,利用图形法级联各模块,组成整个多功能数字钟,统调、仿真、选择芯片及下载,从而实现各项功能。
这样连接会使各部功能凸显,同时思路清晰。
4.3功能的实现:
把系统分成各个功能模块:
(1)秒及分模块;
(2)小时模块;
(3)校时校分模块;(4)整点报时模块;(5)时段控制模块。
其原理框图如下所示:
输入变量:
时钟CPS;
直接清零(即异步清零)RD;
校时校分控制端SWM、SWH;
高音gy(1KHZ),低音dy(500HZ)。
输出变量:
小时计时H[7..4]、H[3..0]为8421BCD码输出,其时钟为CPH;
分计时M[7..4]、M[3..0]为8421BCD码输出,其时钟为CPM;
秒计时S[7..4]、S[3..0]为8421BCD码输出,其时钟为CPS;
时段控制端sk(接发光二极管);
整点报时输出端baoshi(接蜂鸣器)。
4.3.1秒计时模块
1、六十进制电路图,如下图所示:
图160进制电路图
2、秒计时模块程序
moduleclock_s(cps,cn1,sh,sl,clr);//定义时钟,进位,秒高位,秒低位,清零
inputcps,clr;
output[7:
4]sh;
output[3:
0]sl;
outputcn1;
reg[7:
4]sh;
reg[3:
0]sl;
regcn1;
always@(posedgecpsorposedgeclr)//在时钟上升沿或clr上升沿触发
begin
if(clr)begin//若clr为1则清零
{sh,sl}<=8'd0;cn1<=0;
end
elseif(sl==9)//若低位为9
beginsl<=0;//则低位清零
if(sh==5)beginsh<=0;cn1<=1;end//低位为9,高位为5,进位为1,高位清零
elsesh<=sh+1;//否则高位加1
end
elsebeginsl<=sl+1;cn1<=0;end//除去以上低位加1
end
endmodule
3、利用MAX+PLUSⅡ软件得到仿真波形:
说明:
由仿真图得当计数到59时清零,进位信号cn1变为1。
验证了本模块的逻辑功能正确。
4.3.2分计时模块
1、分计时模块程序
moduleclock_s(cps,cn1,mh,ml,clr);//定义时钟,进位,秒高位,秒低位,清零
inputcps,clr;
output[7:
4]mh;
output[3:
0]ml;
outputcn1;
reg[7:
4]mh;
reg[3:
0]ml;
regcn1;
always@(posedgecpsorposedgeclr)//在时钟上升沿或clr上升沿触发
begin
if(clr)begin//若clr为1则清零
{mh,ml}<=8'd0;cn1<=0;
end
elseif(ml==9)//若低位为9
beginml<=0;//则低位清零
if(mh==5)beginmh<=0;cn1<=1;end//低位为9,高位为5,进位为1,高位清零
elsemh<=mh+1;//否则高位加1
end
elsebeginml<=ml+1;cn1<=0;end//除去以上低位加1
end
endmodule
2、仿真波形:
说明:
由仿真图得当计数到59时清零,进位信号cn2变为1。
验证了本模块的逻辑功能正确。
4.3.3小时计时模块
1、二十四进制电路图,如下图所示:
图324进制电路图
2、小时计时模块程序
moduleclock_h(cph,hh,hl,clr);//定义时钟,小时的高位与低位,清零端
inputcph,clr;
output[3:
0]hl;
output[7:
4]hh;
reg[3:
0]hl;
reg[7:
4]hh;
always@(posedgecphorposedgeclr)
begin
if(clr)begin
{hh,hl}<=8'd0;
end
elseif({hh,hl}==8'h23){hh,hl}<=0;
elseif(hl==9)beginhh<=hh+1;hl<=0;end
elsehl<=hl+1;
end
endmodule
3、仿真波形:
说明:
由仿真图得当计数到23时清零,验证了本模块的逻辑功能正确。
4.3.4校时校分模块
1、校时校分模块程序
modulejiaoshi(cpm,cph,cps,cn2,cn1,swm,swh);
outputcpm,cph;
inputswm,swh;
inputcps,cn2,cn1;
regcpm,cph;
always@(swmorswhorcpsorcn1orcn2)
begin
case({swm,swh})
2'b01:
begincpm<=cps;cph<=cn2;end
2'b10:
begincpm<=cn1;cph<=cps;end
default:
begincpm<=cn1;cph<=cn2;end
endcase
end
endmodule
2、附仿真波形:
说明:
由仿真图看出,当swm为0时,用秒时钟cps对分钟进行校对;当swh为0时用秒时钟cps对小时进行校对。
当swm,swh都不为0时,分钟、小时正常计数。
验证了本模块的逻辑功能正确。
4.3.5整点报时模块
1、整点报时模块程序
modulebaoshi(mh6,mh4,ml3,ml0,sh6,sh4,sl3,sl0,gy,baoshi);
inputmh6,mh4,ml3,ml0,sh6,sh4,sl3,sl0,gy;
outputbaoshi;
regbaoshi,dy;
always@(posedgegy)
dy<=~dy;
wirebm;
assignbm=mh6&mh4&ml3&ml0&sh6&sh4&sl0;
always@(bmorsl3ordyorgy)
begin
if(bm&sl3)
baoshi<=gy;
elseif(bm)
baoshi<=dy;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 技术设计 多功能 数字 毕业设计 论文