




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
19/23东北石油大学课程设计课程课程硬件课程设计题目数字时钟设计院系专业班级学生姓名学生学号指导教师2011年7月2012年东北石油大学课程设计任务书课程硬件课程设计题目数字时钟设计专业主要内容、基本要求等一、主要内容:利用EL教学实验箱、微机和QuartusⅡ软件系统,使用VHDL语言和层次设计方法设计实现数字钟,完成硬件设计设计和功能仿真,最后下载到EL教学实验箱中予以实现。二、基本要求:1.具有时,分,秒,计数显示功能,以24小时循环计时。2.具有清零功能。三、扩展要求1.整点报时功能。四、参考文献[1]崔国玮.李文涛.基于EDA技术的数电课程设计新模式的探索与实践[J].2008[2]李国洪.沈明山.可编程逻辑器件EDA技术与实践[M].机械工业出版社.2008[3]金凤莲.VHDL语言在EDA仿真中的应用现代电子技术[J].2005[4]邢小杰.单片机电子时钟设.中国科技博览[J].2009[5]王玫.基于EDA技术的数字电路课程设计实例分析[J].2009[6]张晓军.解大.陈陈.VHDL语言在电子设计自动化中的应用[J].2002完成期限第18-19周指导教师专业负责人2011年6月10
目录第一章概述 11.1EDA技术简介 11.2课题背景 11.3EDA发展趋势 21.4系统的总体设计 2第二章实验开发系统软件介绍 32.1VHDL设计步骤 32.2系统软件介绍 3第三章数字时钟的设计 53.1设计目的 53.2设计原理 53.3设计要求 53.4单元模块的设计 53.5引脚设置 123.6系统测试 123.7实验连线 13结论 15参考文献 16第1章概述1.1EDA技术简介现代社会的标志之一就是信息产品的广泛使用,而且是产品的性能越来越强,复杂程度越来越高,更新步伐越来越快。支撑信息电子产品高速发展的基础就是微电子制造工艺水平的提高和电子产品设计开发技术的发展。前者以微细加工技术为代表,而后者的代表就是电子设计自动化(electronicdesignautomatic,EDA)技术。电子技术领域全方位融入EDA技术,除了日益成熟的数字技术外,传统的电路系统设计建模理念发生了重大的变化,如软件无线电技术的崛起、模拟电路系统硬件描述语言的表达和设计的标准化、系统可编程模拟器件的出现、数字信号处理和图像处理的全硬件实现方案的普遍接受以及软硬件技术的进一步融合等[1]。
EDA使得电子领域各学科的界限更加模糊,更加互为包容,如模拟与数字、软件与硬件、系统与器件、ASIC与FPGA、行为与结构等。随着硬件描述语言的标准化进一步确立,计算机辅助工程、辅助分析和辅助设计在电子技术领域获得更加广泛的应用。与此同时,电子技术在通信、计算机及家电产品生产中的市场需求和技术需求,极大地推动了全新的电子设计自动化技术的应用和发展,特别是集成电路设计工艺步入了超深亚微米阶段,百万门以上的大规模可编程逻辑器件的陆续面世,以及基于计算机技术的面向用户的低成本大规模ASIC设计技术的应用,促进了EDA技术的形成。更为重要的是各EDA公司致力于推出兼容各种硬件实现方案和支持标准硬件描述语言的EDA工具软件的研究,更有效地将EDA技术推向成熟和实用[2]。1.2课题背景FPGA嵌入式应用开发技术与数字钟技术发展的客观实际出发,通过对该技术发展状况的了解,以及课题本身的需要,指出研究基于FPGA的芯片系统与设计——数字钟的设计与实现的必要性。课题相关技术的发展当今电子产品正向功能多元化,体积最小化,功耗最低化的方向发展。它与传统的电子产品在设计上的显著区别师大量使用大规模可编程逻辑器件,使产品的性能提高,体积缩小,功耗降低同时广泛运用现代计算机技术,提高产品的自动化程度和竞争力,缩短研发周期。EDA技术正是为了适应现代电子技术的要求,吸收众多学科最新科技成果而形成的一门新技术。美国ALTERA公司的可编程逻辑器件采用全新的结构和先进的技术,加上MaxplusII(或最新的QUARTUS)开发环境,更具有高性能,开发周期短等特点,十分方便进行电子产品的开发和设计。EDA技术,技术以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件的方式设计的电子系统到硬件系统的逻辑编译,逻辑化简,逻辑分割,逻辑映射,编程下载等工作。最终形成集成电子系统或专用集成芯片的一门新技术。本设计利用VHDL硬件描述语言结合可编程逻辑器件进行的,并通过数码管动态显示计时结果。数字钟可以由各种技术实现,如单片机等利用可编程逻辑器件具有其他方式没有的特点,它具有易学,方便,新颖,有趣,直观,设计与实验项目成功率高,理论与实践结合紧密,体积小,容量大,I/O口丰富,易编程和加密等特点,并且它还具有开放的界面,丰富的设计库,模块化的工具以及LPM定制等优良性能,应用非常方便。因此,本设计采用可编程逻辑器件实现[3]。1.3EDA发展趋势EDA技术发展趋势面对当今飞速发展的电子产品市场,设计师需要更加实用、快捷的EDA工具,使用统一的集成化设计环境,改变传统设计思路,将精力集中到设计构思、方案比较和寻找优化设计等方面,需要以最快的速度,开发出性能优良、质量一流的电子产品,对EDA技术提出了更高的要求。未来的EDA技术将在仿真、时序分析、集成电路自动测试、高速印刷电路板设计及开发操作平台的扩展等方面取得新的突破,向着功能强大、简单易学、使用方便的方向发展[4]。1.4系统的总体设计数字时钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,数字时钟可植入自动控制、测试等系统内部,作为系统的时钟源,可为系统提供定时信号或中断控制的时间基准,具有广泛的用途。由于数字集成电路的发展使得数字时钟的精度远远超过老式钟表,而且加入了一些诸如自动报时、定时闹钟等功能。这些都是以钟表数字化为基础的。因此,研究数字时钟及扩大其应用,有着非常现实的意义。数字时钟的设计方法有很多种,包括基于单片机的硬件设计、基于各种描述语言的软件设计,本设计采用VHDL语言来设计数字时钟有着多方面的优越性,通过把整个设计分为多个模块依次来实现,减少了众多重复性步骤,合理化了设计过程,使得设计更加省时、快捷,提高了设计效率[5]。第2章实验开发系统软件介绍2.1VHDL设计步骤采用VHDL的系统设计,一般有以下6个步骤:1)按照要求的功能模块划分;2)VHDL的设计描述(设计输入);3)代码仿真模拟(前仿真);4)计综合、优化和布局布线;5)布局布线后的仿真模拟(后仿真);6)设计的实现(下载到目标器件)2.2系统软件介绍QuartusII是Alera公司推出的一款功能强大,兼容性最好的EDA工具软件。该软件界面友好、使用便捷、功能强大,是一个完全集成化的可编程逻辑设计环境,具有开放性、与结构无关、多平台完全集成化丰富的设计库、模块化工具、支持多种硬件描述语言及有多种高级编程语言接口等特点。QuartusII支持原理图输入与VerilogHDL和VHDL输入混合设计,它除了承接原来的Max+PlusII软件的部设计功能和器件对象外,还增加了许多新功能和新的FPGA器件系列。它可对设计进行功能仿真,对数字电路的设计实现同步模拟分析和时序仿真。这种同步模拟分析、时序仿真在数字电路的教学中可以起到很好的辅助作用。逻辑分析工具进行嵌入式的逻辑分析;支持软件源文件的添加和创建,并将它们链接起来生成编程文件;使用组合编译方式可一次完成整体设计流程;自动定位编译错误;高效的期间编程与验证工具;可读入标准的EDIF网表文件VHDL网表文件和Verilog基于VHDL的数字时钟设计和时序仿真网表文件;能生成第三方EDA软件使用的VHDL网表文件和Verilog网表文件。QuartusII软件设计流程设计输入:设计文件的输入方法有原理图输入、文本输入、内存编辑以及由第三方EDA工具产生的网表输入、格式输入,生成方法不同,生成的文件格式也有所不同。在图形设计文件中,QuartusII软件为了实现不同的逻辑功能提供了大量的基本单元符号和宏功能模块,在图形编辑器中可以直接调用;为了适应自顶向下的设计,设计者可以使用和VerilogHDL以及Tcl脚本输入文本型设计项目编译:项目编译主要完成设计项目的检查和逻辑综合,将项目最终设计结果生成器件的下载文件,并为模拟和编程产生输出文件。仿真验证和时序分析:在把经过编译的输入设计编程或配置到器件之前,可以通过QuartusII软件的仿真器对文件进行全面测试,保证设计在各种可能的条件下都有正确的响应。根据所需的信息类型,可以进行功能仿真和时序仿真。QuartusII时序分析器允许分析设计中所有逻辑的性能,得出时序分析结果,如建立时间、保持时间、引脚到引脚延迟、最大时钟频率、延迟时间及其它时序特征,并协助引导适配器满足设计中的时序要求。器件编程:成功编译了设计工程之后,编译器的Assembler模块自动将适配过程的器件、逻辑单元和引脚分配信息转换为器件的编程图像,并以.sof形式保存,QuartusII软件的编程器(programmer)使用该文件就可对器件进行编程配置。基于VHDL的数字时钟设计和时序仿真在QuartusII软件开发环境下,使用VHDL描述语言、结合FPGA开发板编译和仿真数字时钟;要求时钟能进行基本的计时功能,按照:“时:分:秒”来显示时间;并且能进行时间设置,具有整点报时功能,可对所有显示的内容进行调节设定[6]。第3章数字时钟的设计3.1设计目的设计一个24小时制数字钟,要求能显示时,分,秒,并且可以手动调整时和分具有清零功能。调节小时、分钟功能。整点报时功能,整点报时的同时LED灯花样显示。3.2设计原理在同一EPLD芯片EPF10K10上集成了如下电路模块:1.时钟计数:秒——60进制BCD码计数; 分——60进制BCDD码计数; 时——24进制BCDD码计数;同时整个计数器有清零,调分,调时功能。在接近整数时间能提供报时信号。 2.具有驱动8位八段共阴扫描数码管的片选驱动信号输出和八段字形译码输出。3.扬生器在整点时有报时驱动信号产生。4.LED灯按个人口味在整点时有花样显示信号产生。3.3设计要求1.主芯片EPF10K10LC84-4。2.8个LED灯。3.扬声器。4.8位八段扫描共阴级数码显示管。5.三个按键开关(清零,调小时,调分钟)3.4单元模块的设计时钟的设计共化分为6个模块:秒计数器(second),分计数器(minute),小时计数器(hour),报警电路(alert),扫描电路(seltime),译码电路(deled)。下面具体分析各个模块的原理、内容和功能。分别对秒、分、小时进行计数。整个计数模块从00点00分00秒开始计时,当计数到23点59分59秒的时候,一天结束,计数器清零,新的一天重新开始计数。秒计数器的进位输出信号作为分钟计数器的计数信号,分钟计数器的进位输出信号又作为小时计数器的计数信号。要设计一个同时显示时、分、秒6个数字的数字时钟,则需要6个七段数码显示管。通过产生一个扫描信号来控制6个七段显示器,依次点亮6个七段数码显示管,也就是每次只点亮一个七段显示器。只要扫描信号的频率超过人的眼睛视觉暂留频率24Hz以上,就可以达到尽管每次点亮单个七段数码显示管,却能具有6个同时显示的视觉效果,而且显示也不致闪烁抖动。其中6位扫描信号一方面控制七段显示器依次点亮,时间数据选择模块的作用是将时钟产生的秒、分钟、小时信号集合起来,然后驱动六位七段数码管的片选驱动信号输出。1.秒模块的设计;能够实现60进制循环计数,带有复位端reset、手动调分功能端setmin和向分进位端enmin,受时钟上升沿信号控制,其文本语言(文件名:second.vhd)为底层文本,图1为秒计数器的仿真波形图。process(clk,reset,setmin)--秒计数进程begin--enmin<=k; if(reset='0')thencount<="0000000";--复位信号为1时,秒计数清零elsif(setmin='0')thenenmin<=clk;elsif(clk'eventandclk='1')then给他一个上升沿,然后if(count(3downto0)="1001")thenif(count<16#60#)then if(count="1011001")then enmin<='1';--当秒计数为58时进位信号为1 count<="0000000"; ELSE count<=count+7;--分低位小于9时,cnt加1 endif;elsecount<="0000000";endif;elsif(count<16#60#)thencount<=count+1;--秒高位小于5时,加1enmin<='0'after100ns;elsecount<="0000000";endif;endif;endprocess;第一个模块为秒计数模块,其实质是一个六十进制计数器,其中输入管脚:clk为1hz的时钟脉冲;reset为秒模块清零复位键;setmin为调分钟按键输出管脚:enmin为分模块的进位信号。如图所示:图3-1六十进制秒计数器的仿真波形2.分模块的设计;能够实现60进制循环计数,带有带有复位端reset、手动调小时功能端sethour和向分进位端enhour,受时钟上升沿信号控制。其文本语言(件名:minute.vhd)为底层文本,图2为分计数器的仿真波形图process(clk,reset,sethour)--分计数进程beginif(reset='0')thencount<="0000000";elsif(sethour='0')thenenhour<=clk1;elsif(clk'eventandclk='1')then--时钟上升沿,en为1时分开始计数if(count(3downto0)="1001")thenif(count<16#60#)then if(count="1011001")then enhour<='1';--当分计数到58时产生进位信号 count<="0000000"; ELSE count<=count+1;--分低位小于9时,cnt加1 endif; elsecount<="0000000";endif;elsif(count<16#60#)then用十六进制表示60count<=count+1;enhour<='0'after100ns;else count<="0000000";endif;endif;endprocess;计数模块的第二个模块为分计时模块,其实质是一个六十进制计数器,其中:输入管脚:clk为秒模块输出的进位信号;clk1为1hz的时钟控制脉冲;reset管脚的作用为分模块的清零、复位sethour为调小时按键。输出管脚:enhour输出为时模块的进位信号如图所示:图3-2六十进制分计数器的仿真波形3.时模块的设计;能够实现24进制循环计数,带有复位端reset,受时钟上升沿信号控制。其文本语言(文件名:hour.vhd)为底层文本,图2为分计数器的仿真波形图。process(clk,reset)--小时计数进程beginif(reset='0')thencount<="000000";elsif(clk'eventandclk='1')then时钟上升沿,en为1时小时开始计数if(count(3downto0)="1001")thenif(count<16#24#)then如果用用16进制表示24count<=count+1;elsecount<="000000";endif;elsif(count<16#24#)then十六进制表示24count<=count+1;else count<="000000";endif;endif;endprocess;如图所示:图3-3小时计数器的仿真波形第三个模块为小时计数模块,其实质是一个二十四进制计数器,其中:输入管脚:clk为分模块输出的进位信号;Reset为小时模块的清零、复位管脚.输出模块:dout[5..0]为小时模块输出的计数信号4.报时模块的设计;能够实现整点报时和循环点亮3只LED灯,工作时受时钟上升沿控制。其文本语言(文件名:alert.vhd)为底层文本,图4为其仿真波形。speaker:process(clk)进程 begin开始 speak<=count1(1);声音 if(clk'eventandclk='1')then给个上升沿 if(dain="000000")then如果输入数据为000000 if(count1>="10")then count1<="00"; else count1<=count1+1;加1给count1 endif; endif; endif; endprocessspeaker;lamper:process(clk) begin if(rising_edge(clk))then if(count<="10")then if(count="00")then lamp<="001";第一个灯亮 elsif(count="01")then lamp<="010";第二个灯亮 elsif(count="10")then lamp<="100";第三个灯亮 endif; count<=count+1; else count<="00";如果没有加1的话就都不亮 endif; endif; endprocesslamper;如图所示:图3-4报警电路的仿真波形报警模块的作用是在时钟整点的时候输出一个报时信号,信号作用用开发板上,产生外部响声,起到报时的作用,同时可以选择在开发板的LED上显示出整点报时的LED花样显示,其中:输出管脚:clk为1hz的脉冲信号;dain[6..0]是分钟的输入信号;输出管脚:speak为整点报时的声音输出lamp[2..0]为整点报时的LED输出5.译码器模块的设计;能够实现译码功能,将扫描到的数据能够译码显示在7段数码管上,输出端led[6..0]分别对应数码管的a~g。其文本语言(文件名:deled.vhd)为底层文本。BEGIN led<="1111110"whennum="0000"else "0110000"whennum="0001"else "1101101"whennum="0010"else "1111001"whennum="0011"else "0110011"whennum="0100"else "1011011"whennum="0101"else "1011111"whennum="0110"else "1110000"whennum="0111"else "1111111"whennum="1000"else "1111011"whennum="1001"else "1110111"whennum="1010"else "0011111"whennum="1011"else "1001110"whennum="1100"else "0111101"whennum="1101"else "1001111"whennum="1110"else "1000111"whennum="1111"; ENDfun;6.扫描模块的设计;能够实现逐次扫描秒个位、秒十位、分个位、分十位、时个位、时十位,并输出扫描数据和相应位的点dp,带有复位端reset,受扫描时钟上升沿控制。其文本语言(文件名:seltime.vhd)为底层文本,图5为其仿真波形。process(clk1,reset)beginif(reset='0')then如果设置等于0count<="000";elsif(clk1'eventandclk1='1')then加一个上升沿if(count>="101")thencount<="000";清0elsecount<=count+1;endif;endif;casecountiswhen"000"=>daout<=sec(3downto0);当000时四位数据给数据输出when"001"=>daout(3)<='0';daout(2downto0)<=sec(6downto4);when"010"=>daout<=min(3downto0);when"011"=>daout(3)<='0';daout(2downto0)<=min(6downto4);when"100"=>daout<=hour(3downto0);whenothers=>daout(3downto2)<="00";daout(1downto0)<=hour(5downto4);endcase;endprocess;如图所示:图3-5扫描电路仿真波形3.5引脚设置分配引脚,然后按照引脚连接电路图。如图所示:图3-6引脚设置图3.6系统测试输入接口:清零,调时,调分信号RESET、SETHOUR、SETMIN的管脚分别连接按键开关。代表输入脉冲信号CLK时钟源相连。输出接口代表扫描显示的驱动信号管脚SEL2,SEL1,SEL0的管脚同四位扫描驱动地址的低3位相连,最高位地址接“0”(也可以悬空);代表7段字码驱动信号dout[6..0]的管脚分别同扫描数码管的段输入。然后显示输出。如图所示:图3-7实验箱连接图3.7实验连线输入接口:代表清零,调时,调分信号RESET,SETHOUR,SETMIN的管脚分别连接按键开关。代表计数时钟信号CLK和扫描时钟信号CKDSP的管脚分别同1HZ时钟源和32HZ时钟源相连。 输出接口:代表扫描显示的驱动信号管脚SEL2,SEL1,SEL0接实验箱上的SEL0~SEL2,A…G接八位数码管显示模块的A~G。代表扬声器驱动信号的管脚SPEAK同扬声器驱动接口S
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 复杂网络环境中的物流信息管理试题及答案
- 2024银行从业资格考试评估试题及答案
- 合同违约风险防范:性能压测SLA研究
- 人工智能研发与技术服务合同
- 住宅小区给排水系统安装工程施工合同
- 2 校园里的的动物 (教学设计)一年级上册科学教科版
- 4选举产生班委会 教学设计-2024-2025学年道德与法治五年级上册统编版
- 2024学年九年级化学上册 第三章 维持生命之气-氧气3.4 物质组成的表示式第3课时 根据化学式进行计算教学实录 科学版
- 七年级英语下册 Module 3 Making plans Unit 1 What are you going to do at the weekends第2课时教学实录(新版)外研版
- 3D小人竞聘述职报告
- 动物疾病的临床表现试题及答案
- 广东省广州市2025届高三下学期综合测试(一)英语试卷
- 山东省济南育英中学 2024-2025学年下学期七年级3月月考英语试题(原卷版+解析版)
- T-SDFA 049-2024 混合型饲料添加剂中安普霉素的测定 液相色谱-串联质谱法
- 公司事故隐患内部报告奖励制度
- 2025年甘肃甘南州国控资产投资管理集团有限公司面向社会招聘工作人员12人笔试参考题库附带答案详解
- 2025年高考数学第一次模拟考试(江苏卷1)(全解全析)
- 2025年中级维修电工(四级)技能认定理论考试指导题库(含答案)
- 2025广东深圳证券信息有限公司人员招聘笔试参考题库附带答案详解
- 信用社改制农商行清产核资、评估等项目工作方案
- 计调业务4.2出境计调业务操作
评论
0/150
提交评论