基于EDA技术的电子时钟系统设计.docx
- 文档编号:6796874
- 上传时间:2023-01-10
- 格式:DOCX
- 页数:15
- 大小:250.19KB
基于EDA技术的电子时钟系统设计.docx
《基于EDA技术的电子时钟系统设计.docx》由会员分享,可在线阅读,更多相关《基于EDA技术的电子时钟系统设计.docx(15页珍藏版)》请在冰豆网上搜索。
基于EDA技术的电子时钟系统设计
基于EDA技术的电子时钟系统设计
ElectronicclocksystemdesignbasedonEDAtechnology
(刘石磊0701170124)
摘要:
介绍EDA技术的特点以及设计流程,强调EDA仿真技术在现代电子系统的重要地位及作用。
以MAX+PLUSII为平台,采用自顶向下分层次、模块化的设计方法,设计了一个可以设置初始时间和清零的电子时钟控制电路,从中可体现出数字系统的硬件设计向软件化方向发展的新思路。
关键词:
EDA技术;设计;AHDL语言
Abstract:
ThisarticleintroducesthecharacteristicsoftheEDAtechnique,itsdesignflow,andemphasizestheimportantstatusandactionsofEDAsimulationtechnologyinthemodernElectronicSystem.Inthisarticle,Iadoptthetop-downhierarchical,modulardesignmethodstodevelopasetthetimeandresetthetimebytakingMAX+PLUSIIdevelopmentsystem,throughwhichembodiesanewthoughtofdevelopmentfromdigitalsystemShardwaredesigntosoftwaredesign.
Keywords:
EDAtechnique;design;AHDLlanguage
引言
随着电子设计自动化(EDA)的发展,电子系统的设计技术和设计工具发生了深刻的变化。
利用硬件描述语言对数字系统的硬件电路进行描述是EDA的关键技术之一。
AHDL语言是目前主流的硬件描述语言之一,它具有很强的电路描述和建模能力,且有与具体硬件电路无关和与设计平台无关的特性,在语言易读性和层次化结构设计方面表现出强大的生命力和应用潜力。
1EDA技术
EDA(电子线路设计座自动化)是以计算机为工作平台、以硬件描述语言(AHDL)为设计语言、以可编程器件(CPLD/FPGA)为实验载体、以ASIC/SOC芯片为目标器件、进行必要的元件建模和系统仿真的电子产品自动化设计过程。
EDA源于计算机辅助设计,计算机辅助制造、计算机辅助测试和计算机辅助工程。
利用EDA工具,电子设计师从概念、算法、协议开始设计电子系统,从电路设计,性能分析直到PCB版图生成的全过程均可在计算机上自动完成。
EDA代表了当今电子设计技术的最新发展方向,其基本特征是设计人员以计算机为工具,按照自顶向下的设计方法,对整个系统进行方案设计和功能划分,由硬件描述语言完成系统行为级设计,利用先进的开发工具自动完成逻辑编译、化简、分割、综合、优化、布局布线、仿真及特定目标芯片的适配编译和编程下载,这被称为数字逻辑电路的高层次设计方法。
2EDA技术的主要特征
作为现代电子系统设计的主导技术,EDA具有几个明显特征:
1.用软件设计的方法来设计硬件
硬件系统的转换是由有关的开发软件自动完成的,设计输入可以是原理图或AHDL语言,通过软件设计方式的测试,实现对特定功能硬件电路的设计,而硬件设计的修改工作也如同修改软件程序一样快捷方便,设计的整个过程几乎不涉及任何硬件,可操作性、产品互换性强。
2.基于芯片的设计方法
EDA设计方法又称为基于芯片的设计方法,集成化程度更高,可实现片上系统集成,进行更加复杂的电路芯片化设计和专用集成电路设计,使产品体积小、功耗低、可靠性高;可在系统编程或现场编程,使器件编程、重构、修改简单便利,可实现在线升级;可进行各种仿真,开发周期短,设计成本低,设计灵活性高。
3.自动化程度高
EDA技术根据设计输入文件,将电子产品从电路功能仿真、性能分析、优化设计到结果测试的全过程在计算机上自动处理完成,自动生成目标系统,使设计人员不必学习许多深入的专业知识,也可免除许多推导运算即可获得优化的设计成果,设计自动化程度高,减轻了设计人员的工作量,开发效率高。
4.自动进行产品直面设计
EDA技术根据设计输入文件(HDL或电路原理图),自动地进行逻辑编译、化简、综合、仿真、优化、布局、布线、适配以及下载编程以生成目标系统,即将电子产品从电路功能仿真、性能分析、优化设计到结果测试的全过程在计算机上自动处理完成。
3EDA技术的设计流程
EDA技术是将传统的“电路设计——硬件搭试———调试焊接”模式变为“功能设计———软件模拟———编程下载”方式,设计人员只需一台微机和相应的开发工具即可研制出各种功能电路。
EDA技术将电子产品设计从软件编译、逻辑化简、逻辑综合、仿真优化、布局布线、逻辑适配、逻辑影射、编程下载、生成目标系统的全过程在计算机及其开发平台上自动处理完成。
具体流程如下所示:
设计目标◆输入◆逻辑编译◆综合◆器件适配◆功能仿真◆编程下载◆目标系统
4电子系统设计与仿真
下面以Alter公司的可编程器件的开发工具MAX+PLUSII为平台,采用层次化设计方法,设计一个带设置初始时间和清零的时钟控制电路,走时显示原理图见图1,校时清零原理图见图2。
图1.走时显示原理图
图2.校时清零原理图
4.1各功能模块的设计
(1)分频电路的设计
74162是模十的计数器,可对信号进行十分频,信号从74162的时钟端输入,从74162的进位端输出的信号就是输入信号的经十分频后的信号,因此N个74162按上述方式级联即实现了对输入信号的10N的分频。
由此制成一千分频和一百分频电路。
因此1MHz的信号经过1000000分频得到1Hz的信号,1MHz的信号经过100000分频得到1Hz的信号,1MHz的信号经过1000分频得到100Hz的信号,因此分频电路图3所示。
图3分频电路原理图
分频电路完成电路对高频信号的分频,应作为一个功能化模块进行封装,它实现了将1MHz的信号,转换为1Hz和100Hz的信号的功能,封装图如图4所示。
图4分频电路封装图
(2)秒位计时电路的设计
实验板上的晶振发出1MHz的信号,此信号经1000000分频得到1Hz的信号,这个信号可以触发秒的个位计数,秒的个位可用一个74162计数器来计时。
秒个位计数器的进位输出信号可以触发秒十位计数,秒的十位应该是一个六进制计数器,用AHDL语言直接编写制成模六的计数器。
其程序如下:
SUBDESIGNll_6jishuqi
(
load,d[3..0],ent,enp,clrn,clk:
INPUT;
q[3..0],co:
OUTPUT;
)
VARIABLE
cou[3..0]:
dff;
BEGIN
cou[].clk=clk;
IFclrn==0THEN
cou[]=0;
ELSIFload==0THEN
cou[]=d[];
ELSIFent&enpTHEN
ifcou[]==5then
cou[]=0;
else
cou[]=cou[]+1;
endif;
ELSE
cou[]=cou[];
ENDIF;
q[]=cou[];
co=q3&q0&ent;
END;
封装后如图5所示。
图5六进制计数器原理图
(3)分位计时电路的设计
分个位的计数器由74162组成,它由秒十位的进位信号触发计数,而分十位也是由六进制计数器构成的,原理同上述秒十位计数器,它由秒个位计数器的进位信号触发计数,秒十位计数器本身的进位信号触发时个位计数器计数,原理图和级联方式与上述秒位计时电路类似,这里不再赘述。
(4)时位计时电路的设计
时个位的计数器由74162组成,它由分十位的进位信号触发计数,原理图和级联方式与上述秒位计时电路类似,这里不再赘述。
(5)计时电路的整体设计
计时电路由秒计时,分计时和实际是电路按上述方法级联起来,实现电子钟的走时计数功能,计数器所计的数值经过译码显示电路,驱动LED数码管显示正常的数字,它的输入信号为1Hz的信号,输出为各位上数值的BCD码。
清零电路也集成在这里,电路图如图6所示。
(6)LED动态扫描显示电路设计
①显示驱动电路设计
图7显示译码电路原理
图6计时电路原理图及其封装图
如上图所示,可将BCD码转换为数字显示码,有四个输入引脚,此七个输出引脚分别对应到七段译码器的a,b,c,d,e,f,g这七段LED,实验班用的LED是共阴极的,因此七段译码器的真值表如下图所示,使用AHDL语言进行设计,用真值表语句设计七段显示译码驱动电路,编译,查错,链接,用波形仿真,分别输入0—9的BCD码,观察对应的输出是否驱动相应的码段发光,逐个分析没位数字是否正确,若全部正确,则创建七段显示译码驱动电路的符号文件:
产生lulu_7seg_encode文件,以便在设计总体电路时,直接插入七段译码电路。
将上述每一位计数器输出的四位BCD码接到七段译码器的输入端,七段译码器的输出即可驱动七段数码显示管正常工作。
七段译码程序如下所示:
SUBDESIGNlulu_7seg_encode
(D[3..0]:
INPUT;
S[6..0]:
OUTPUT;)
BEGIN
TABLE
D[3..0]=>S0,S1,S2,S3,S4,S5,S6;
H"0"=>1,1,1,1,1,1,0;
H"1"=>0,1,1,0,0,0,0;
H"2"=>1,1,0,1,1,0,1;
H"3"=>1,1,1,1,0,0,1;
H"4"=>0,1,1,0,0,1,1;
H"5"=>1,0,1,1,0,1,1;
H"6"=>1,0,1,1,1,1,1;
H"7"=>1,1,1,0,0,0,0;
H"8"=>1,1,1,1,1,1,1;
H"9"=>1,1,1,1,0,1,1;
ENDTABLE;
END;
封装后如图8所示。
图8显示译码电路封装图
②动态循环选通电路设计
模五的计数器由高频时钟信号驱动计数,高速循环输出“0”“1”“2”“3”“4”这五个地址信号,这计数器的输出信号作为自行设计的三线八线译码器的地址信号输入,每一个地址信号选通一个输出端口,使它输出一个高电平的脉冲,用这个高电平脉冲和与门,可同时选通相应位的LED和同一位的七段译码器的输出信号,在同一时刻,其他位的LED以及七段译码器的输出是处于屏蔽状态的,所以在某一时刻,其实只有一个LED数码管在发光,由于由于LED闪烁的频率远高人眼能分辨的频率,所以人眼看上去是所有位的LED同时在显示。
模五计数器可用AHDL语言编写得到,由于与模六相同,这里不再赘述。
模五的计数器的时钟端接1MHz的信号,充分提高各位LED数码管显示的闪烁频率,实验证明也可以提高每位LED灯的亮度,使能端ENT可在芯片扩展时使用,方便在以后编别的程序时使用。
将模5计数器的各位预置初值输入端都接地,置数端以后可以作为本芯片清零的输入端,在本芯这样连接,若用一个输入端接到清零端了,会出错。
三线八线译码器,将A2A1A0看做一个三位二进制数,它可表示某一位十进制数,这一位端口就输出高电平。
通过下面原理图的非门以及四输入与门即可实现上述功能,完成了二进制地址译码选通的功能。
图9三线八线译码器原理图
利用上述三线八线译码器的“Y0”到“Y4”输出端,和与门、或门可实现在某一时刻只有一个数码LED在发光,而其他四个LED都处于关断状态,模五计数器高速循环输出“0”“1”“2”“3”“4”,因此“Y0”到“Y4”高速循环输出高电平脉冲,在三线八线译码器一位输出高电平脉冲时,其余四个都是低电平输出,这就实现了五个数码管动态循环扫描输出的功能。
将上述两个电路级联,就得到了动态扫描电路,动态扫描电路高速循环导通每位数码LED,同时选通驱动该为LED显示数码的七段译码器的输出信号,动态扫描电路原理图如图10所示。
图10动态扫描原理图及其封装图
(7)七段译码器输出选通电路设计
用上述动态扫描电路的五个输出信号作为选通信号,这五个输出信号分别选通五个七段译码器的输出信号,即用一个动态扫描电路的输出端与对应七段译码器的七个输出分别相与,五个七段译码器相同位输出在经过一个五输入或门相或,这就保证了在某一时刻只有一个七段译码器输出是被选通的,而在这一时刻这个七段译码器所驱动的LED数码管通过动态扫描电路原理也被选通,封装图如图11所示。
图11动态扫描电路封装图
(8)校时电路设计
通过一个开关的两种电平,来打开个关闭一个二输入与非门,另一个输入端接1Hz的信号。
因此这个开关实现了1Hz信号是否加入电路的作用,开关打在高电平上,1Hz信号通过与非门,开关打在低电平上,与非门输出为高电平。
把与非门的输出信号,和时钟正常走时所需要的时钟信号,一起通过与门,加给分个位时钟信号的输入端即可,这样分校时开关打在高电平上,分个位以1Hz的频率跳动起来,分校时开关打在低电平上时,正常走时。
同理小时校准与此相同。
(9)清零电路设计
清零电路设计的关键就是要解决好同步问题,在发出清零信号时,所有计数器的时钟信号是一致的,而且处于有效的边沿。
为此可以设计当清零信号有效时,很高频率的信号同时加入个计数器的时钟端,而当清零信号无效时,各计数器上时钟端加的是正常走时所需要的时钟信号。
也可以用与门,或门和非门实现上述的功能。
当清零信号为低时,清零信号经过一个非门变为高电平信号,将与门打开,高频信号通过与门,在与秒各位计数器的时钟端上的信号相或,与其他各位计数器时钟输入端上的信号相与。
这样,当清零信号有效时,每一位计数器上的时钟输入端实现了同步的功能,实现了同步清零的功能。
当清零信号无效时,时钟正常走时。
(10)附加功能原理
本电路出了可以实现正常的时钟功能,还具有整点报时彩灯显示以及秒表的功能,秒表的原理主要就是把输入的频率变为100Hz就可以实现其功能,由于前面叙述的已经很详细,这里就不在赘述。
至于整点报时和彩灯显示的AHDL语言如下所示:
SUBDESIGNalert
(
clk,dain[3.0]:
INPUT;
speak,lamp[2..0]:
OUTPUT;
)
VARIABLE
s:
DFF;%触发器变量声明%
ss:
MACHINEOFBITS(lamp[2..0])
WITHSTATES(%lamp状态设定有四个状态%
s0=B"000",
s1=B"001",
s2=B"010",
s3=B"100");
BEGIN
ss.clk=clk;%状态机的时钟设定%
IF(dain[]==0)THEN
s.clk=clk;
s.d=!
s.q;%当整点时扬声器出现频率为2hz的嘀嘀声%
speak=s.q;
CASEssIS
WHENs0=>
ss=s1;
WHENs1=>
ss=s2;%当整点时LED灯以四个状态轮流闪烁%
WHENs2=>
ss=s3;
WHENs3=>
ss=s1;
WHENOTHERS=>
ss=s0;
ENDCASE;
ELSE
ss=s0;%非整点时停止报时%
speak=GND;
ENDIF;
END;
4.2各功能化模块的级联
(1)理论分析
将上述个部分用导线连接,即完成了各个功能模块的连接实现了电路的整体功能,由此以下电路即实现正常走时,全部清零,秒分时位的校时功能。
电路有一个时钟输入端,接实验板的晶振振荡电路输出的频率信号,一个开关用于全部清零,其他三个开关分别用于秒分时位的校时功能,五个输出用于控制五个LED数码管的通与断,七个输出用于显示当前导通LED上的数码,电路总体连接见附图2。
(2)实验过程
(一)根据上述原理用AHDL语言设计并软件仿真七段译码显示驱动,保存,检查,排错创建电路包含文件。
(二)根据原理图用软件设计每一位的计时电路,分频电路,动态扫面显示电路,每一位的校时电路和清零电路,并用软件进行波形仿真。
(三)用导线将上述功能电路连接。
(四)软件编辑:
(1)保存文件:
保存为kechengsheji.gdf。
(2)指定项目与文件同名lsl_dianzizhong.gdf。
(3)指定设计器件:
MAX7000S系列的EPM7128SLC84-6。
(4)引入相关的芯片、输入输出脚并命名,连线,具体如图15。
(5)保存并检查除错。
(7)保存并编译:
产生要烧写的文件lsl_dianzizhong.pof。
(8)创建电路符号文件:
产生lsl_dianzizhong.sys。
(9)创建电路包含文件lsl_dianzizhong.inc。
(五)用软件Pof2Jed将lsl_dianzizhong.pof转换为lsl_dianzizhong.jed;(六)用ISP将lsl_dianzizhong.jed烧录到实验板芯片上。
(七)通电检查实验结果。
(3)实验现象
当清零开关打在高电平,而且秒分时为校时开关均打在低电平上时,电路正常走时;当清零开关打在低电平上时,五个LED数码显示管时钟显示为零;而当清零开关打在高电平上时,其他位校时开关拨道高电平,这一位数码显示管上的数字就比正常走时快速跳动,直到跳到需要的时间,将校时开关拨至低电平,这就实现了校时功能。
5结束语
电子系统的设计输入可以用原理图、波形、AHDL语言等方式输入,下载配置前的整个过程几乎不涉及到整个硬件,而硬件设计的修改也如同修改软件程序样快捷方便,即通过软件方式的设计与测试,达到对特定功能的硬件电路的设计实现,这种现代电子系统设计技术采用自顶向下分层次、模块化设计方法,先化整为零,再优化综合,灵活通用.已成为研制、开发数字系统最理想的选扦,是现代电子电路设计方法的一个趋势,体现了硬件设计向软件化方向发展的新思路。
创新点:
本文通过对EDA的特点流程设计以及其重要性的介绍,指出这种现代电子系统设计技术采用自顶向下分层次、模块化设计方法,先化整为零,再优化综合,灵活通用.已成为研制、开发数字系统最理想的选扦,是现代电子电路设计方法的一个趋势,体现了硬件设计向软件化方向发展的新思路。
并自行设计了一个带整点报时和星期计数器的电子时钟控制电路。
用来说明硬件设计向软件化方向发展的新思路。
参考文献
[1]牛国柱.EDA课程设计指导.南京:
南理工翻印,2009.
[2]寇戈,蒋立平.模拟电路与数字电路.北京:
电子工业出版社,2005.
[3]潘松,黄继业编著.EDA技术实用教程[M].科学出版社,2002.
[4]曾繁泰,李冰,李晓林.EDA工程概论[M].北京,清华大学出版
社,2002.
[5]曹瑞,基于EDA技术进行数字电路设计的研究[J]微计算机信
息2007,7-2:
273-275
[6]符兴昌,EDA技术在数字系统设计分析中的应用[J]微计算机
信息2006,5-2:
268-269
附图12总电路原理图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 EDA 技术 电子 时钟 系统 设计