用EDA技术设计多功能数字钟论文Word格式.docx

上传人:b****6 文档编号:19185501 上传时间:2023-01-04 格式:DOCX 页数:17 大小:244.37KB
下载 相关 举报
用EDA技术设计多功能数字钟论文Word格式.docx_第1页
第1页 / 共17页
用EDA技术设计多功能数字钟论文Word格式.docx_第2页
第2页 / 共17页
用EDA技术设计多功能数字钟论文Word格式.docx_第3页
第3页 / 共17页
用EDA技术设计多功能数字钟论文Word格式.docx_第4页
第4页 / 共17页
用EDA技术设计多功能数字钟论文Word格式.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

用EDA技术设计多功能数字钟论文Word格式.docx

《用EDA技术设计多功能数字钟论文Word格式.docx》由会员分享,可在线阅读,更多相关《用EDA技术设计多功能数字钟论文Word格式.docx(17页珍藏版)》请在冰豆网上搜索。

用EDA技术设计多功能数字钟论文Word格式.docx

3.1设计内容9

3.2方案比较9

3.3方案论证10

3.4方案选择10

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、设计总结28

5.1设计小结28

5.2设计收获28

5.3设计改进28

6、致谢29

7、参考文献30

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内部结构,并实现相应逻辑功能的的门级或更底层的结构网表文件或下载文件。

目前,就FPGACPLD开发来说,比较常用和流行的HDL主要有ABEL-HDL、AHDL和VHDL。

EDA技术的发展可将EDA技术分为三个阶段:

(1)七十年代为CAD阶段,人们开始用计算机辅助进行IC版图编辑、PCB布局布线,取代了手工操作,产生了计算机辅助设计的概念。

(2)八十年代为CAE阶段,与CAD相比,除了纯粹的图形绘制功能外,又增加了电路功能设计和结构设计,并且通过电气连接网络表将两者结合在一起,实现了工程设计,这就是计算机辅助工程的概念。

CAE的主要功能是:

原理图输入,逻辑仿真,电路分析,自动布局布线,PCB后分析。

(3)九十年代为ESDA阶段,尽管CADCAE技术取得了巨大的成功,但并没有把人从繁重的设计工作中彻底解放出来。

在整个设计过程中,自动化和智能化程度还不高,各种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开发工具(如AlteraXilinx的器件结构及开发系统),为今后工作打下基础。

科研方面主要利用电路仿真工具(EWB或PSPICE)进行电路设计与仿真;

利用虚拟仪器进行产品测试;

将CPLDFPGA器件实际应用到仪器设备中;

从事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.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)校时校分模块,所谓校时校分即让时,分计时的速度保持一致,则只要通过一个控制端来控制分,时的时钟脉冲就可以,其实质就是“交换脉冲”,这一点仿真波形图上体现的比较明显。

59秒发出高音报时;

(4)能够进行时段的控制,及对路灯进行控制,上午05:

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:

reg[3:

regcn1;

begin

if(clr)begin若clr为1则清零

{sh,sl}<

=8'

d0;

cn1<

=0;

end

elseif(sl==9)若低位为9

beginsl<

则低位清零

if(sh==5)beginsh<

=1;

end低位为9,高位为5,进位为1,高位清零

elsesh<

=sh+1;

否则高位加1

elsebeginsl<

=sl+1;

end除去以上低位加1

endmodule

3、利用MAX+PLUSⅡ软件得到仿真波形:

说明:

由仿真图得当计数到59时清零,进位信号cn1变为1。

验证了本模块的逻辑功能正确。

4.3.2分计时模块

1、分计时模块程序

moduleclock_s(cps,cn1,mh,ml,clr);

4]mh;

0]ml;

{mh,ml}<

elseif(ml==9)若低位为9

beginml<

if(mh==5)beginmh<

elsemh<

=mh+1;

elsebeginml<

=ml+1;

2、仿真波形:

由仿真图得当计数到59时清零,进位信号cn2变为1。

4.3.3小时计时模块

1、二十四进制电路图,如下图所示:

图324进制电路图

2、小时计时模块程序

moduleclock_

if(clr)begin

{

case({swm,swh})

2'

b01:

begincpm<

=cps;

cph<

=cn2;

end

b10:

=cn1;

default:

endcase

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;

dy<

=~dy;

wirebm;

assignbm=mh6&

mh4&

ml3&

ml0&

sh6&

sh4&

sl0;

if(bm&

sl3)

baoshi<

=gy;

elseif(bm)

=dy;

else

2、仿真波形:

由仿真波形图看出,当为59分51秒53秒55秒57秒是,以低音时,当为59分59秒时以高音报时。

4.3.6时段控制模块

1、时段控制模块

modulesdkz(

if(({Device弹出设备对话框,在DeviceFamily栏中选ACEX1K,把showfastesspeedgrades项前面的勾去掉。

在Device栏系列EP1K30TC144-3,点OK完成添加,如下图:

4.分配输入,输出信号在器件上的引脚:

选MAX+PLUSFloorplanEdito进入版图编辑环境,如下图所示:

资源名称

资源信号

管脚号

时钟

CLK1

54

CLK2

55

CLK3

125

数码管

A8

132

B8

133

C8

135

D8

136

E8

137

F8

138

G8

8

数码管选择器

SEL0

10

SEL1

12

SEL2

13

按键

KEY0

82

KEY1

83

KEY2

86

KEYS0

88

KEYS1

89

KEYS2

90

KEYS3

91

蜂鸣器

FMQ

78

发光二极管

LED0

102

LED1

117

LED2

118

LED3

119

LED4

120

LED5

121

LED6

130

LED7

131

4.5总结报告

本数字钟程序成功的实现了数字钟的各项功能,其最大的优点就是模块化的设计思想,将各功能进行分模块设计,这种设计方式使得数字钟的程序思路清晰,另外在调试各项功能时也易于进行。

下面分述各个功能模块的优缺点:

(1)计时模块,此模块主要是制作60进制和24进制的计数器。

本程序是用if-else条件语句嵌套来描述的,此种描述法灵活多变具有一定的技巧性。

本程序应当也可采用case语句,考虑到各种情况就可以;

(2)校时校分模块本程序中用到的就是case语句,因为此项功能有校时和校分两种工作模式,用case语句模块描述思路清晰,具有较强的可读性,当然这部分也可用句式灵活的if-else嵌套语句模块来描述;

(3)报时模块,本项功能虽然实现了,但程序比较繁杂,不是很简略,本模块的一个难点即要考虑“多种条件同

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1