基于EDA的多功能数字钟电路设计 毕业设计.doc_第1页
基于EDA的多功能数字钟电路设计 毕业设计.doc_第2页
基于EDA的多功能数字钟电路设计 毕业设计.doc_第3页
基于EDA的多功能数字钟电路设计 毕业设计.doc_第4页
基于EDA的多功能数字钟电路设计 毕业设计.doc_第5页
免费预览已结束,剩余18页可下载查看

下载本文档

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

文档简介

摘 要 电子设计自动化electronic design automation (以下简称eda)技术已经代替传统的集成电路设计方法,逐渐成为电子系统设计者的主要设计手段。max+plus ii是eda仿真软件之一。具有功能强大、界面友好和使用方便等特点,是目前教育与工业界流行的集成电路辅助设计软件。max+plus ii 软件是一种在电子技术工程与电子技术教学中广泛应用的优秀计算机仿真软件,被誉为“计算机里的电子实验室”。本文介绍了一种基于max+plus ii 软件设计数字钟的方法。 关键词 : eda max+plus ii 软件 数字电子钟abstract electronic design automation electronic design automation (eda of the following abbreviation) technology has replaced the traditional method of integrated circuit design, has gradually become the main design method of electronic system design.max+plus ii is one of eda simulation software.with powerful function, friendly interface and easy to use and other characteristics, is the current education and industry popular integrated circuit computer aided design software.max+plus ii is a technology in electronic engineering and electronic technology teaching in extensive application of excellent computer simulation software, known as the computer electronic laboratory.this paper introduced one kind based on the max+plus ii software design method of digital clock. key words: eda max+plus ii software digital electronic clock基于eda的多功能数字钟电路设计 前 言 随着计算机在国内的逐渐普及,计算机已经渗入到每一个行业,计算机与每个工作领域紧密地联系在了一起。使用计算机可以大大提高工作效率。和科技投入,技术作为信息化社会的重要技术基石,已经成为20世纪下半叶乃至21世纪发展最迅速、最活跃、最具有渗透力的技术。实现信息化的网络及其关键部件不管是各种计算机还是通讯电子设备,它们的基础都是集成电路。集成电路技术发展至今,全世界数以万亿美元计的设备和科技投入,已使电子技术形成非常强大的产业能力。电子技术水平发展如此迅速,在于它具有极大的市场应用需求。科学技术发展到今天,衡量许多电子产品技术含量高低在很大程度上取决于电子技术的引入水平。然而,孤立地发展电子技术是没有出路的,它必须同各种生产实践相结合,以社会需求为动力。 随着计算机新技术的发展以及电子系统设计新需求的上升,技术竞争需要的是对新器件应用的需求,集成电路专业设计人员需要的是贯穿电子设计过程始终的最小人工花销、最强的自动化设计手段。正是在这种强烈的技术要求推动下,产生了电子设计自动化eda(electronic design automation)技术,eda是新崛起的现代化电子设计手段。eda技术的关键之一是eda工具,eda工具是指以计算机为工作平台,融合了应用电子技术、计算机技术、智能化技术最新成果而研制成的电子设计通用工具软件,本文就是介绍一种eda工具max+plus ii 软件设计数字电子钟。 第一章 eda概述1.1 eda技术概论 电子产品随着技术的进步,更新换代速度可谓日新月异。不同行业层出不穷的技术需求,使得对配套电子系统或部件的功能、可靠性、集成度、成本、设计周期的要求日益提高。随着时间的推移,科学研究与技术开发行为日益市场化,而远非纯粹的学术行为,这要求设计工作必须在较短的时间内出色完成,技术人员感到工作压力越来越大。显然,采用传统的电子设计手段完成复杂电子系统设计显得越来越力不从心了,传统的电子设计与现实手段受到极大的挑战。如果在激烈的技术产品竞争中仍沿用老办法,很 可能在激烈的竞争中处于被动落后的境地,例如,当设计比较复杂的电子系统时,要等到做完全部硬件试验才开始设计印制电路板,这样,设计周期必然会相应拉长,即使设计出印制电路板来,也很难保证它的电气连接全部正确、各个元器件参数合理以及完善的电磁兼容性能,如果需要设计实现的数字电路部分规模较大,仍习惯地利用中、小规模数字集成芯片实现,电路的集成度和可靠性在许多应用场合会受到很大限制,甚至根本无法满足需求。作为电路主体的器件,特别是集成电路器件功能越来越强大,集成度越来越高,传统设计方式已难以胜任。eda即电子设计自动化,英文全称electronic design automation,eda技术是以计算机为工作平台,以eda软件工具为开发环境,以硬件描述语言为设计语言,以可编程器件为实验载体,以芯片为目标器件,以电子系统设计为应用方向的电子产品自动化设计过程。eda技术满足了提高设计规模、质量和设计的需要。目前,电子产品开发领域的竞争十分激烈,其产品的市场周期越来越短,这意味着电子产品的设计开发周期必须大大缩短,没有高效率的设计手段是无法参与市场竞争的。eda工具的优势体现在复杂电路系统的设计上,其设计效率远远高于人工设计,而且可按照事先规定的设计规则随时进行检查,及时提醒设计者出现的设计失误,设计质量得到保障,这自然会缩短周期、降低成本、提升竞争力,从而最大限度地提高经济效益。1.2 eda在数字电路课程设计中的必要性数字电路课程设计是数字电路设计型实验中的重要部分,它要求运用电子技术课程中有关的理论知识和实验方法,完成一些综合性较强的设计课题。由于目前在数字电路实验教学中,大部分吧院校仍然用中小规模的通用集成电路来实现设计功能,当设计的数字电子钟系统比较复杂,需要多个集成芯片和大量连线时,就增加了设计电路板的难度和故障调试难度,延长了设计周期,降低了学生的学习兴趣;同时,常用中小规模集成芯片的大量重复使用也大大增加了设计成本。因此,在数字电路课程设计中引入eda技术,采用当前国际先进的设计方法和理念,改革传统的课程设计方法,已经成为一种趋势。应用eda虚拟的电子实验平台,让学生坐在计算机旁进行各种电子线路的仿真实验与在实验室使用真实的仪器、进行电子线路实验,具有同样的感受和更具有真实的实验效果。学生可以在虚拟的元器件库中拿取元器件;可以在虚拟的仪器库中拿取仪器和仪表;同样可以用导线与电缆连接电路;可以选择器件的参数,可以对电路进行调试、分析;可以在示波器的显示屏上观测到所测电压、电流的波形,可以通过仪表读取被测参数的值,这一切都非常逼真。做仿真实验一般不会损坏仪器,不会烧毁仪器(除非把计算机损坏)。只要按照规定的方法进行试验,都能够达到预期的实验目的。可见,用eda软件进行仿真电子实验的确可以达到事半功倍的效果。所以在数字电路课程设计中学习eda技术是非常必要的。1.3 max+plus ii 概述 eda技术的关键之一是eda工具,eda工具是指以计算机为工作平台,融合了应用电子技术、计算机技术、智能化技术最新成果而研制成的电子设计通用工具软件,主要能进行三方面的辅助设计工作:(1) pcb印制电路板设计(2) asic(集成电路)设计(3) 电子系统设计(soc) 没有eda技术的支持,想要完成超大规模集成电路的设计是很难想象的,反过来生产制造技术的不断进步又必将对eda技术提出新的要求。 altera公司推出的max+plus ii 软件是专门用于电子电路仿真的“虚拟电子工作台”软件,它是目前全球最直观、最高效的eda软件。它的功能强大,能够提供电阻、电容、三极管、集成电路等数十大类几千种元件,能够提供示波器、万用表等十几种常用的电子仪器;具有强大的电路图绘制功能,可绘制出符合标准的电子图纸;它还具有强大地波形显示功能,并且结果可轻松放入各类文档。用该软件进行设计、分析非常方便。本文在max+plus ii 基础上设计电子时钟,是由数字集成电路构成、用数码管显示的一种现代计时器,与传统机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此广泛使用。 max+plus ii 软件是针对数字电路的一个应用软件。它的特点是:无需画电路图,而是用编写代码的形式来描述电路的功能。把编写的代码经该软件在计算机上仿真,若满足技术需求,即可下载到cpld的下载板上。 max+plus ii 仿真软件的特点1. 多平台系统:max+plus ii 的设计输入,处理与校验功能一起提供了全集成化的可编程开发工具,可以加快动态调试,缩短开发周期。2. 开放的界面:max+plus ii 可与其他工业标准的设计输入,综合和校验工具链接。具有edif、vhdl、verilog、hdl以及其他的网表接口,便于与许多公司的eda工具接口。3. 模块组合式工具软件:max+plus ii 具有一个完整的可编程逻辑设计环境,包括设计输入,设计处理,设计校验和下载编程四个模块。4. 与结构无关:max+plus ii 支持altera的classic,max5000,max7000,flex10k等可编程器件系列,提供工业界中唯一真正与结构无关的可编程逻辑设计环境。5. 硬件描述语言:max+plus ii 支持各种hdl设计输入语言,包括vhdl、ahdl和verilog。 1.4 设计电子钟的可行性分析选用max+plus ii 软件,以计算机作为载体。通过使用max+plus ii 软件,设计实现一个数字电子钟。并使数字钟具有校时、校分、校秒及整点报时功能。掌握使用max+plus ii 软件完成基本电路的设计。设计数字电子钟的条件具备,设计是可行的。 第二章 设计依据2.1 设计总体方案多功能数字钟电路的设计总体方案框图(如图2-1所示),由控制电路、两个60进制计数器、一个12进制计数器、译码器、显示器和扬声器组成。控制电路控制计数器计时和扬声器报时。计数器对秒、分、小时进行计时。当计时到11时59分59秒时,来一个计数脉冲,则计数器清零,重新开始计时。译码器将计数器输出的bcd码计时结果转换成十进制送到显示器。显示器显示时、分、秒计时结果。 分显示器 秒显示器 时显示器 译 码 器 译 码 器 译 码 器cyscym60进制秒计数器60进制分计数器12进制时计数器 控 制 电 路clk扬声器clkclk 图 2-1 设计总体方案框图2.2 设计原理数字电子钟由振荡器、分频器、计数器、译码显示器、报时等电路组成。其中振荡器和分频器组成标准秒信号发生器,由不同进制的计数器、译码器和显示器组成计时系统。秒信号送入计数器进行计数,把累加的结果以时、分、秒的数字显示出来。时显示由12进制计数器、译码器、显示器构成。分、秒显示分别由60进制计数器、译码器显示器构成。可进行整点报时,计时出现误差时,可以用校时电路校时、校分。2.3 设计目标和方法 max+plus ii软件作为电子钟设计工作平台,以数字电路为设计电子钟的理论基础,按照“自顶向下”的层次化设计方法设计该电路,对整个系统进行方案设计和功能划分,系统的关键电路用一片或几片专用集成电路实现,应用max+plus ii 软件进行数字电路的设计与仿真。 max+plus ii 软件的集成环境界面如下图3-2所示:图3-2 max+plus ii 软件的集成环境界面 第三章 数字钟设计3.1 数字钟的设计要求(1)具有正确的星期、时、分、秒计时功能。(2)计时结果要用6个数码管分别显示时、分、秒的十位和个位。(3)有校时功能。当键minute按下时,分计数器以秒脉冲的速度递增,并按60min循环,即计数到59min后再回00。当hour键按下时,时计数器以秒脉冲的速度递增,并按24h循环,即计数到23h后再回00。当week键按下时,星期计数器以秒脉冲速度递增,并按7天循环,即计数到日后再回到一。3.2 数字钟顶层结构 根据数字钟的功能要求,就可以对数字钟按照功能进行模块划分。图2-1是它的顶层电路原理图。在图2-1中,外界通过clk端输入1hz的脉冲信号。1hz信号作为秒脉冲信号送入second(60进制)计数器进行秒计时,满60s产生一个进位信号carry,经过或门被送入minute(60进制)计数器进行分计数。当按下second键后,1hz秒脉冲信号通过或门被送入minute(60进制)计数器进行分计数,从而实现快速校分功能。hour(24进制)计数器也是经过同样的过程实现计数和校时功能。时、分、秒计数器的输出均是十位和个位分开显示的8421bcd码,将这六组bcd码通过一个六选一数据选择器mux6_1scan选出一组bcd码。由外界输入的clkcan信号作为mux6_1scan的选择控制信号,然后再将选出的一组bcd码送至七段译码显示器进行译码。译码每输出结果同时送至6个led数码管的a、b、c、d、e、f 7个段,至于哪个数码管能够显示,取决于扫描控制信号sel的输出结果,即sel选择哪个数码管,那个数码管就点亮。用多个(个)数码管显示数据时有并行显示和动态扫描显示两种方式。所谓并行显示,是个数码管同时被驱动,它需要同时对组bcd码数据进行编译,并输出6组led段驱动信号去驱动个数码管的个显示段,共需要42个i/o管脚,另外还需要个bcd/段译码器。本设计采用动态扫描显示,每次仅仅点亮个数码管,各个数码管轮流被扫描点亮,如果扫描的速度足够快,由于人眼存在视觉暂留现象,就看不出闪烁。开始工作时,先从组数据中选出一组,通过段译码器译码后输出,然后选出下一组数据译码输出。数据选择的时序和顺序由个进制计数器sel控制,与此同时,mux6_1scan产生选通信号。这种显示方式需要的资源少,而且节能。 模块week和weekdisp为星期(7进制)计数模块和显示模块,当时间为23:59:59时,一个秒脉冲过来,使时间为00:00:00并产生一个星期进位信号,星期计数器驱动显示模块显示相应的信息。图2-1 数字钟的顶层原理图3.3 数字钟各模块的vhdl源程序设计以下是数字钟各模块的vhdl程序及部分主要模块的仿真波形。3.3.1 秒计数器的源程序library ieee;use ieee.std_logic_1164.all;use ieee.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=1 then sec1_t=0000; sec2_t=0000; elsif clkevent and clk=1 then if sec1_t=1001 then sec1_t=0000; if sec2_t=0101 then sec2_t=0000; else sec2_t=sec2_t+1; end if;图3-1 秒计数器 else sec1_t=sec1_t+1; end if; if sec1_t=1001 and sec2_t=0101 then carry=1; else carry=0; end if; end if; sec1=sec1_t; sec2=sec2_t; end process;end rt1;图3-2 秒计数器仿真波形图3-3 秒计数器局部放大仿真波形3.3.2 分计数器的源程序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 rt1 of minute is signal min1_t,min2_t:std_logic_vector(3 downto 0);begin process(clk,reset) begin if reset=1 then min1_t=0000; min2_t=0000; elsif clkevent and clk=1 then if min1_t=1001 then min2_t=0000; if min2_t=0101 then min2_t=0000; else min2_t=min2_t+1; end if; else min1_t=min1_t+1;图3-4 分计数器 end if; if min1_t=1001 and min2_t=0101 then carry=1; else carry=0; end if; end if; min1=min1_t; min2=min2_t; end process;end rt1;图3-5分计数器仿真波形图3-6 分计数器局部放大仿真波形3.3.3 时计数器的源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity hour is port(clk,reset:in std_logic; hour1,hour2:out std_logic_vector(3 downto 0); carry:out std_logic);end hour;architecture rt1 of hour is signal hour1_t:std_logic_vector(3 downto 0); signal hour2_t:std_logic_vector(3 downto 0);begin process(clk,reset) begin if reset=1 then hour1_t=0000; hour2_t=0000; elsif clkevent and clk=1 then if hour1_t=0011 and hour2_t=0010 then hour1_t=0000; hour2_t=0000; else if hour1_t=1001 then hour1_t=0000; if hour2_t=0010 then hour2_t=0000; else hour2_t=hour2_t+1; end if; else hour1_t=hour1_t+1; end if; end if; if hour1_t=0000 and hour2_t=0000 then图3-7 时计数器 carry=1; else carry=0; end if; end if; hour1=hour1_t; hour2=hour2_t; end process;end rt1;图3-8 时计数器仿真波形3.3.4 星期计数器的源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity week is port(clk,reset:in std_logic; week:out std_logic_vector(3 downto 0); end week;architecture rt1 of week is signal week_t:std_logic_vector(3 downto 0);begin process(clk,reset) begin if reset=1 then week_t=0000; elsif clkevent and clk=1 then if week_t=0111 then week_t=0001; else week_t=week_t+1; end if; end if; week=week_t; end process;end rt1;图3-9 星期计数器仿真波形3.3.5 扫描六选一多路选择器的源程序 扫描六选一多路选择器mux6_1scan可根据clkcan信号选出不同的显示数据,并驱动相应的led数码管显示数据。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:in std_logic_vector(3 downto 0); in4,in5,in6:in std_logic_vector(3 downto 0); data:out std_logic_vector(3 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=1 then count=000; elsif clkscanevent and clkscan=1 then if count=101 then count=000; else countdatadatadatadatadatadata=in6; end case;end process; selooooooodoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutqqqqqqqq=0000000; end case; end process;end behav; 结 束 语 随着电子设计自动化技术的普及,利用eda技术进行数字电路课程设计,不仅可以很好地锻炼学生的综合设计开发能力和动手能力,从而激发学生的学习兴趣,还可以大大节约数字电路课程设计实验的成本,提高设计效率。因此,将eda技术应用于数字电路课程设计必将成为今后数字电路实验课程改革的新动向。eda软件,可方便地在计算机上进行电路设

温馨提示

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

评论

0/150

提交评论