基于EDA技术的数字电子时钟设计修改_第1页
基于EDA技术的数字电子时钟设计修改_第2页
基于EDA技术的数字电子时钟设计修改_第3页
基于EDA技术的数字电子时钟设计修改_第4页
基于EDA技术的数字电子时钟设计修改_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、EDA技术实现的数字电子钟设计摘要 电子设计自动化 Electronic Design Automation (以下简称EDA)技术已经代替传统的集成电路设计方法,逐渐成为电子系统设计者的主要设计手段。MAXplus是EDA仿真软件之一。具有功能强大、界面友好和使用方便等特点,是目前教育与工业界流行的集成电路辅助设计软件。MAXplus是一种在电子技术工程与电子技术教学中广泛应用的优秀计算机仿真软件,被誉为“计算机里的电子实验室”。本文介绍了一种基于MAXplus软件设计数字电子钟的方法。关键词 EDA MAXplus软件 数字电子钟 目 录引言1第一章 EDA概论21.1 EDA技术概述21

2、.2 EDA在数字电路课程设计中的必要性21.3 MAXplus概述31.4 设计电子钟的可行性分析3第二章 设计依据42.1设计总体方案42.2设计原理42.3 设计目标和方法4第三章 EDA电子钟系统设计53.1电子钟的功能分析、总体规划53.1.1电子钟功能分析53.1.2总体规划53.2使用MAXplus作为数字电子钟设计平台53.2.1 MAXplus软件仿真特点53.2.2 MAXplus介绍63.3 单元电路设计与分析63.3.1石英晶体振荡器63.3.2分频电路73.3.3秒、分计数电路83.3.4时计数电路93.3.5校时电路103.3.6整点报时电路103.3.7定时闹钟1

3、2第四章MAXplus电子钟仿真结果154.1 MAXplus电子钟基本功能仿真结果154.2 MAXplus电子钟扩展功能仿真结果154.3 MAXplus电子钟整体仿真结果15结束语17参考文献18 引 言随着计算机在国内的逐渐普及,计算机已经深入到每一个行业,计算机与每个工作领域紧密地联系在了一起。使用计算机可以大大提高工作效率。电子技术作为信息化社会的重要技术基石,已经成为20世纪下半叶乃至21世纪发展最迅速、最活跃、最具有渗透力的技术。实现信息化的网络及其关键部件不管是各种计算机还是通讯电子设备,它们的基础都是集成电路。集成电路技术发展至今,全世界数以万亿美元计的设备和科技投入,已使

4、电子技术形成非常强大的产业能力。电子技术水平发展如此迅速,在于它具有极大的市场应用需求。科学技术发展到今天,衡量许多电子产品技术含量高低在很大程度上取决于电子技术的引入水平。然而,孤立地发展电子技术是没有出路的,它必须同各种生产实践相结合,以社会需求为动力。随着计算机新技术的发展以及电子系统设计新需求的上升,技术竞争需要的是对新器件应用的需求,集成电路专业设计人员需要的是贯穿电子设计过程始终的最小人工花销、最强的自动化设计手段。正是在这种强烈的技术要求推动下,产生了电子设计自动化EDA(Electronic Design Automation) 技术,EDA是新崛起的现代化电子设计手段。EDA

5、技术的关键之一是EDA工具,EDA工具是指以计算机为工作平台,融合了应用电子技术、计算机技术、智能化技术最新成果而研制成的电子设计通用工具软件,本文就是介绍一种EDA工具EWB软件设计数字电子钟。第一章 EDA概述1.1 EDA技术概论电子产品随着技术的进步,更新换代速度可谓日新月异。不同行业层出不穷的技术需求,使得对配套电子系统或部件的功能、可靠性、集成度、成本、设计周期的要求日益提高。随着时间的推移,科学研究与技术开发行为日益市场化,而远非纯粹的学术行为,这要求设计工作必须在较短的时间内出色完成,技术人员感到工作压力越来越大。显然,采用传统的电子设计手段完成复杂电子系统设计显得越来越力不从

6、心了,传统的电子设计与现实手段受到极大的挑战。 如果在激烈的技术产品竞争中仍沿用老办法,很可能在激烈的竞争中处于被动落后的境地,例如,当设计比较复杂的电子系统时,要等到做完全部硬件试验才开始设计印制电路板,这样,设计周期必然会相应拉长,即使设计出印制电路板来,也很难保证它的电气连接全部正确、各个元器件参数合理以及完善的电磁兼容性能,如果需要设计实现的数字电路部份规模较大,仍习惯地利用中、小规模数字集成芯片实现,电路的集成度和可靠性在许多应用场合会受到很大限制,甚至根本无法满足需求。作为电路主体的器件,特别是集成电路器件功能越来越强大,集成度越来越高,传统设计方式已难以胜任。 EDA即电子设计自

7、动化,英文全称Electronic Design Automation,EDA技术是以计算机为工作平台,以EDA软件工具为开发环境,以硬件描述语言为设计语言,以可编程器件为实验载体,以芯片为目标器件,以电子系统设计为应用方向的电子产品自动化设计过程。EDA技术满足了提高设计规模、质量和效益的需要。目前,电子产品开发领域的竞争十分激烈,其产品的市场周期越来越短,这意味着电子产品的设计开发周期必须大大缩短,没有高效率的设计手段是无法参与市场竞争的。EDA工具的优势体现在复杂电路系统的设计上,其设计效率远远高于人工设计,而且可按照事先规定的设计规则随时进行检查,及时提醒设计者出现的设计失误,设计质量

8、得到保障,这自然会缩短周期、降低成本、提升竞争力,从而最大限度地提高经济效益。 EDA技术是以计算机科学和微电子技术发展为先导,汇集了计算机图形学、拓扑逻辑学、微电子工艺与结构等多种学科的先进技术,它是在计算机工作平台产生的电子系统设计应用技术。EDA技术随着计算机、集成电路和电子系统设计的发展,经历了计算机辅助设计CAD、计算机辅助工程设计CAE和电子设计自动化EDA 3个发展过程。EDA技术融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。EDA软件在电子行业的应用也越来越广泛,但和发达国家相比,我国的电子设计水平仍然存在着相当大的差距,随着经济全球化

9、,中国已走入WTO,随着加入WTO,电子行业将会受到较大的冲击。但我国许多从事电子设计工作的人员对EDA软件并不熟悉,因此需提高电子设计在电脑方面应用的水平。1.2 EDA在数字电路课程设计中的必要性 数字电路课程设计是数字电路设计型实验中的重要部分,它要求运用电子技术课程中有关的理论知识和实验方法,完成一些综合性较强的设计课题。由于目前在数字电路实验教学中,大部分院校仍然用中小规模的通用集成电路来实现设计功能,当设计的数字电子钟系统比较复杂,需要多个集成芯片和大量连线时,就增加了设计电路板的难度和故障调试难度,延长了设计周期,降低了学生的学习兴趣;同时,常用中小规模集成芯片的大量重复使用也大

10、大增加了设计成本。因此,在数字电路课程设计中引入EDA技术,采用当前国际先进的设计方法和理念,改革传统的课程设计方法,已经成为一种趋势。在学校电子技术实验的课程教学中,最让实验老师感到头痛的有两个方面:一是由于电路的连接、电子元件的损坏或仪器毛病,为了查找这些问题,使得一个实验在相对短暂的时间内难以完成;二是仪器坏了要修理,元件坏了要拆换,连接导线、电缆线损坏也要调换等等。这些不仅大大增加了实验的开支,同是实验室的管理也非常困难。应用EDA虚拟的电子实验平台,让学生坐在计算机旁进行各种电子线路的仿真实验与在实验室使用真实的仪器、进行电子线路实验,具有同样的感受和更具有真实的实验效果。学生可以在

11、虚拟的元器件库中拿取元器件;可以在虚拟的仪器库中拿取仪器与仪表;同样可以用导线与电缆连接电路;可以选择器件的参数,可以对电路进行调试、分析;可以在示波器的显示屏上观测到所测电压、电流的波形,可以通过仪表读取被测参数的值,这一切都非常逼真。做仿真实验一般不会损坏仪器,不会烧坏仪器(除非把计算机损坏)。只要按照规定的方法进行实验,都能够达到预期的实验目的。可见,用EDA软件进行仿真电子实验的确可以达到事半功倍的效果。所以在数字电路课程设计中学习EDA技术是非常必要的。1.3 MAXplus 概述 EDA技术的关键之一是EDA工具,EDA工具是指以计算机为工作平台,融合了应用电子技术、计算机技术、智

12、能化技术最新成果而研制成的电子设计通用工具软件,主要能进行三方面的辅助设计工作: (1):PCB印刷电路板设计(2):ASIC(集成电路)设计(3):电子系统设计(SOC)没有EDA技术的支持,想要完成超大规模集成电路的设计是很难想象的,反过来,生产制造技术的不断进步又必将对EDA技术提出新的要求。由于集成电路制造技术日新月异,电路的设计日趋复杂。为了能在电路实现之前,完全掌握操作环境因素(如电源电压、温度等)对电路的影响,利用电脑辅助设计进行电路模拟与分析,并进行输入与输出信号响应的验证,可有效地节省产品开发的时间与成本。Altera公司推出的MAXplus软件是专门用于电子电路仿真的“虚拟

13、电子工作台”软件,它是目前全球最直观、最高效的EDA软件。它的功能强大,能够提供电阻、电容、三极管、集成电路等数十大类几千种元件,能够提供示波器、万用表等十几种常用的电子仪器;具有强大的电路图绘制功能,可绘制出符合标准的电子图纸;它还具有强大的波形显示功能,并且结果可轻松放入各类文档。用该软件进行设计、分析非常方便。本文在MAXplus基础上设计电子时钟,是由数字集成电路构成、用数码管显示的一种现代计时器,与传统机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此广泛使用。MAXplus是美国加州Altera公司推出的专门用于电子线路仿真实验与设计的“虚拟电子工作平台

14、”。 MAXplus是一种在电子技术工程与电子技术教学中广泛应用的优秀计算机仿真软件,被公认为是最易使用,人机界面最友善的数字系统开发软件,特别适合初学者使用。1.4 设计电子钟的可行性分析选用MAXplus软件,以计算机作为载体。通过使用MAXplus软件,设计实现一个数字电子钟。并使数字钟具有校时、校分、校秒及整点报时功能。掌握使用MAXplus软件完成基本电路的设计。 设计数字电子钟的条件具备,设计是可行的。第二章 设计依据2.1 设计总体方案多功能数字钟电路的设计总体方案框图(如图2-1所示),由控制电路、两个60进制计数器、一个12进制计数器、译码器、显示器和扬声器组成。控制电路控制

15、计数器计时和扬声器报时。计数器对秒、分、小时进行计时,当计时到11时59分59秒时,来一个计数脉冲,则计数器清零,重新开始计时。译码器将计数器输出的BCD码计时结果转换成十进制送到显示器。显示器显示时、分、秒计时结果。图 2-1 总体方案框图2.2 设计原理数字电子钟由振荡器、分频器、计数器、译码显示器、报时等电路组成。其中振荡器和分频器组成标准秒信号发生器,由不同进制的计数器、译码器和显示器组成计时系统。秒信号送入计数器进行计数,把累加的结果以时、分、秒的数字显示出来。时显示由12进制计数器、译码器、显示器构成。分、秒显示分别由60进制计数器、译码器、显示器构成。可进行整点报时,计时出现误差

16、时,可以用校时电路校时、校分。2.3 设计目标和方法MAXplus软件作为电子钟设计工作平台,以数字电路为设计电子钟的理论基础,按照“自顶向下”的层次化设计方法设计该电路,对整个系统进行方案设计和功能划分,系统的关键电路用一片或几片专用集成电路实现,应用MAXplus软件进行数字电路的设计与仿真。第三章 EDA电子钟系统设计3.1 电子钟功能分析、总体规划3.1.1 电子钟功能分析1:电子钟基本功能设计目标数字钟能进行正常的时、分、秒计时,小时计时要求为12进制循环,分和秒计时要求为60进制循环。2:电子钟扩展功能设计目标整点报时:要求逢整点报时,在5959即到整点时,扬声器发出最后一声整点报

17、时。校时:校正时间,能够通过手动按键来调整时间,实现校时功能,具有闹钟功能。3.1.2 总体规划数字电子钟主干电路系统由秒信号发生器、“时、分、秒”计数器、译码器及显示器、校时电路、整点报时电路组成。秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,一般用石英晶体振荡器和分频器来实现。将标准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。“分计数器”也采用60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时计数器”。“时计数器”采用12进制计时器,可实现12小时的累计。通过六个LED

18、显示器显示出来。整点报时电路根据计时系统的输出状态产生一脉冲信号,然后去触发一音频发生器实现报时。校时电路用来对“时”、“分”、“秒”显示数字进行校对调整。电子钟系统总体规划如图3-1所示:图3-1 电子钟系统总体规划3.2 使用MAXplus作为数字电子钟设计平台 Maxplus是针对数字电路的一个应用软件。它的特点是:无需画电路图,而是用编写代码的形式来描术电路的功能.把编写的代码经该软件在计算机上仿真,若满足技术要求,即可下载到CPLD的下载板上。3.2.1 MAXplus仿真软件的特点1:多平台系统: Maxplus的设计输入,处理与校验功能一起提供了全集成化的可编程开发工具,可以加快

19、动态调试,缩短开发周期。2:开放的界面: Maxplus可与其他工业标准的设计输入,综合和校验工具链接.具有EDIF,VHDL,Verilog HDL以及其他的网表接口,便于与许多公司的EDA工具接口,包括Cadence,Mentor,Synplicity,Viewlogic等公司提供的EDA工具接口。3:模块组合式工具软件: Maxplus具有一个完整的可编程逻辑设计环境,包括设计输入,设计处理,设计校验和下载编程四个模块。4:与结构无关: Maxplus支持Altera的Classic,MAX5000,MAX7000,FLEX10K等可编程器件系列,提供工业界中唯一真正与结构无关的可编程逻

20、辑设计环境。5:硬件描述语言: Maxplus支持各种HDL设计输入语言,包括VHDL,AHDL和Verilog。Verilog HDL 和VHDL都是适用于逻辑设计的硬件描述语言,并且都已成为IEEE标准。他们作为描述硬件电路设计的语言,其共同的特点在于:语言覆盖面广,描述能力强,能支持硬件的设计,验证,综合和测试。3.2.2 Maxplus介绍1:本文使用Maxplus版本的界面如图3-2所示:图3-2 EWB 5.12版本界面 使用Maxplus可以实现大部分模拟电子线路与数字电子线路实验的功能,易学、易用、真实、准确、快捷、方便、在以往进行电子线路设计时,最初的设计电路往往是不可能一次

21、达到设计要求,而需要经过反复多次仿真、测试,才能符合设计要求。这样既费时费力,又增加了产品的成本。此外,因受工作场所、仪器设备等因素的限制,许多实验难以进行。利用EWB仿真软件就可以在虚拟器件库中随意选择并改变器件的参数,在虚拟的仪器库中随意选择需要的仪器设备,在虚拟的试验平台上进行实验,以使设计电路最终达到最佳设计要求。3.3 单元电路设计与分析3.3.1电子钟设计步骤和原理图分析1:设计实验原理图(顶层设计)通过上面的分频器,两个60进制的计数器,一个24进制的计数器,6选1扫描器,7段数码显示器,设计如图所示的顶层。规定每一模块的功能和各模块之间的接口。(1)second(秒)进制计数(

22、2)minute(分)进制计数(3)hour(时) 2进制计数(4)fp 百分频器(5)6选1扫描显示(6)段数码显示器同时整个计数器有清零。设计思想,利用脉冲时钟产生一个1Hz的信号来实现一秒钟的控制,要产生1Hz的信号就要用到分频器,实验中用三个百分频器把1MHz的信号变成1Hz。然后信号进入控制秒的计数器,当第60个脉冲时钟到来时,产生一个进位信号,送到控制分的计数器,同理,当第60个脉冲时钟到来时,产生一个进位信号,送到控制小时的计数器。当小时计数器计数到24时,完成一个周期,跳转到零。输出是由7段数码显示器和6选1扫描器来完成的。扫描器时钟取至前面分频未结束时的一个100Hz的信号。

23、这样就能够在7段数码显示管上,以100Hz的频率扫描显示出时钟的数字变化。3.3.2 石英晶体振荡器振荡器是计时器的核心,石英晶体振荡器的作用是用来稳定频率和选择频率。它的稳定度和精度决定了计时器的准确度。3.3.3 分频电路主要功能有2个,一是产生标准秒脉冲信号;二是可提供整点报时所需要的高、低频率信号。分频模块图 程序如下library IEEE; use IEEE.std_logic_1164.all;use IEEE.std_logic_arith.all;use IEEE.std_logic_unsigned.all;entity fp is port (rst,clk : in S

24、TD_LOGIC; what: out STD_LOGIC);end fp;architecture a of fp is signal count100 : integer range 0 to 99; signal tt:std_logic;begin process (rst,clk) begin if rst=1 then count100=0; elsif rising_edge(clk) then count100= count100 + 1 ;tt=tt; if count100=99 then count100=0;tt=not tt; end if ; end if; wha

25、t=tt; end process;end a;仿真波形仿真波形分析:由仿真波形图可知,当clk为上升沿,what为下降沿时,count100输出由99变为0,并且count100都是由0到99循环,所以,这是一个100分频模块.3.3.3 秒、分计数电路秒信号发生器是数字电子钟的核心部分,它的精度和稳定度决定了数字钟的质量,通常用晶体振荡器产生的脉冲。秒、分计数电路为60进制,秒十位、个位输出端分别接有译码显示器,当电路运行后,计数器便开始从0059计数,显示器就会显示相应的数码。秒模块图程序如下library ieee;use ieee.std_logic_1164.all;use iee

26、e.std_logic_unsigned.all;entity second is port(clk,reset:in std_logic; sec1,sec2:out std_logic_vector(3 downto 0); carry:out std_logic);end second;architecture rt1 of second is signal sec1_t,sec2_t:std_logic_vector(3 downto 0);begin process(clk,reset) begin if reset=1then sec1_t=0000; sec2_t=0000; e

27、lsif clkevent and clk=1then if sec1_t=1001then sec1_t=0000; if sec2_t=0101then sec2_t=0000; else sec2_t=sec2_t+1; end if; else sec1_t=sec1_t+1; end if; if sec1_t=1001 and sec2_t=0101then carry=1; else carry=0; end if; end if; end process; sec1=sec1_t; sec2=sec2_t;end rt1;仿真波形仿真波形分析:由仿真波形图可知,当clk和car

28、ry为上升沿时,sec1输出由9变为0,并且sec1都是由0到9循环,sec2输出由5变为0,并且sec2都是由0到5循环,所以,这是一个60进制的秒控制模块。分模块图程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity minute is port (clk,reset:in std_logic; min1,min2:out std_logic_vector(3 downto 0); carry:out std_logic); end minute;architecture r

29、t1 of minute is signal min1_t,min2_t:std_logic_vector(3 downto 0);beginprocess(clk,reset)begin if reset=1then min1_t=0000; min2_t=0000; elsif clkevent and clk=1then if min1_t=1001then min1_t=0000; if min2_t=0101then min2_t=0000; else min2_t=min2_t+1; end if; else min1_t=min1_t+1; end if; if min1_t=1

30、001 and min2_t=0101then carry=1; else carry=0; end if; end if;end process; min1=min1_t; min2=min2_t;end rt1;仿真波形仿真波形分析:由仿真波形图可知,当clk和carry为上升沿时,min1输出由9变为0,并且min1都是由0到9循环,min2输出由5变为0,并且min2都是由0到5循环,所以,这是一个60进制的分控制模块3.3.4 时计数电路时模块图程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsig

31、ned.all;entity hour is port (clk,reset:in std_logic; hour1,hour2:out std_logic_vector(3 downto 0); end hour;architecture rt1 of hour is signal hour1_t,hour2_t:std_logic_vector(3 downto 0);beginprocess(clk,reset)begin if reset=1then hour1_t=0000; hour2_t=0000; elsif clkevent and clk=1then if hour1_t=

32、0011 and hour2_t=0010then hour1_t=0000; hour2_t=0000; else if hour1_t=1001then hour1_t=0000; if hour2_t=0010then hour2_t=0000; else hour2_t=hour2_t+1; end if; else hour1_t=hour1_t+1; end if; end if; end if;end process; hour1=hour1_t; hour2=hour2_t;end rt1;仿真波形仿真波形分析:由仿真波形图可知,当clk为上升沿时,hour1输出由9变为0,并

33、且hour1都是由0到9循环,hour2输出由2变为0,并且hour2都是由0到2循环,所以,这是一个24进制的时控制模。3.3.5 6选1扫描显示电路扫描显示模块图程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity mux6_1scan is port(clkscan,reset:in std_logic; in1,in2,in3,in4,in5,in6:in std_logic_vector(3 downto 0); data:out std_logic_vector(3

34、downto 0); sel:out std_logic_vector(2 downto 0);end mux6_1scan;architecture rt1 of mux6_1scan is signal count:std_logic_vector(2 downto 0);begin process(clkscan,reset) begin if reset=1then count=000; elsif clkscanevent and clkscan=1then if count=101then count=000; else countdatadatadatadatadatadata=

35、in6;end case;end process; seldoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdout=; end case; end process;end behav;仿真波形第四章 EWB电子钟仿真结果 4.1 EWB电子钟基本功能仿真结果 首先,由石英晶体振荡器输出稳定的脉冲信号,经过振荡器输出标准的秒脉冲信号,秒计数电路为六十进制计数器,秒计数电路将振荡器产生的秒脉冲信号作为输入信号,进行计数,并通过秒显示器显示秒;其次,当秒计数器完成60个秒计数后,秒计时电路清零,输出一个“分计时信号”,分计时电路收到秒计时电路产生的信号后,开始计数并显示分;再次,当分计时电路完成60个分计数后,分计数器清零,输出一个“时计时信号”,时计时电路收到分计时电路产生的信号后,开始计数并显示时;最后,时计时电路完成12个时计数后,清零。完成电子钟基本功能仿真结果。4.2 EWB电子钟整体功能仿真结果 一个周期完成波形图该图显示的是一个周期结束时的波形,23:59:59跳转到00:00:00。由于当时设计时用了两个时钟,把6选1扫描器的时钟独立出来了,所以有clkscan这个信号。后来经过老师的指导,把两个时钟综合成一个,clkscan由分频未完成时取得,大小为100

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论