毕业设计论文基于VHDL的语音数字钟的设计.doc

上传人:sccc 文档编号:4864032 上传时间:2023-05-20 格式:DOC 页数:41 大小:653.02KB
返回 下载 相关 举报
毕业设计论文基于VHDL的语音数字钟的设计.doc_第1页
第1页 / 共41页
毕业设计论文基于VHDL的语音数字钟的设计.doc_第2页
第2页 / 共41页
毕业设计论文基于VHDL的语音数字钟的设计.doc_第3页
第3页 / 共41页
毕业设计论文基于VHDL的语音数字钟的设计.doc_第4页
第4页 / 共41页
毕业设计论文基于VHDL的语音数字钟的设计.doc_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《毕业设计论文基于VHDL的语音数字钟的设计.doc》由会员分享,可在线阅读,更多相关《毕业设计论文基于VHDL的语音数字钟的设计.doc(41页珍藏版)》请在三一办公上搜索。

1、毕业设计(论文)题目: 基于VHDL的语音数字钟的设计 学 院 物理科学与工程技术 专 业 电子信息 班 级 08电信 学 号 姓 名 指导老师 二O一一年 九 月 二十 日36摘 要本设计主要研究基于VHDL的语音数字钟的设计,该数字钟具有年、月、日、时、分、秒计数显示功能,以24小时循环计数;具有校对功能、整点报时以及清零、使能功能。本设计主要是在介绍了EDA及VHDL一些相关基本知识的基础上,进一步采用EDA技术,以硬件描述语言VHDL为系统逻辑描述手段设计文件,在Max+plusII工具软件环境下,采用自顶向下的设计方法,由各个基本模块共同构建了一个多功能语音数字钟,最后通过仿真出时序

2、图实现预定功能。其中,重点叙述了数字钟的设计原理和分模块实现的方法,详细介绍了各模块的设计程序并给出了各模块的波形仿真图及分析,最后通过在Max+plusII上进行时序仿真,调试运行,在硬件测试后,验证了所设计的系统达到了预先设计目标。通过这次的设计更进一步地增强了实验的动手能力,对数字钟的工作原理及EDA技术也有了更加透彻的理解。关键词:VHDL EDA 数字钟 仿真图The Designofa Voice Digital ClockBasedonVHDLAbstractThe design for a multi-functional digital clock, with a year,

3、 month, day, hours, minutes and seconds count display to a 24-hour cycle count; have proof functions and the whole point timekeeping function. The design is mainly the introduction of the EDA and some related basic knowledge of VHDL, based on the further use of EDA technology,hardware-description la

4、nguage VHDL description logic means for the system design documents, in MaxplusII tools environment, a top-down design, by the various modules together build a voice digital clock. Finally, a timing diagram of the simulation to achieve the intended function. Describes the key design principles and d

5、igital clock sub-module approach. Finally,by Max + plusII on timing simulation, debugging and running, by the hardware testing, the two systems designed are verified to realize the advanced design goal.Through this experimental design further enhances the ability of the digital clock works and EDA t

6、echnology has a more thorough understanding.Keywords: VHDL EDA digital clock Simulation diagram目 录第一章绪论11.1选题背景11.1.1课题相关技术的发展11.1.2课题研究的必要性21.2 课题研究的内容2第二章 EDA概述32.1 EDA简介32.2 可编程逻辑器件FPGA32.3 硬件描述语言VHDL42.3.1 VHDL的特点52.3.2 VHDL的设计结构62.3.3 VHDL的设计步骤62.4 MAX+plus 概述7第三章 数字钟的设计要求及总体设计83.1设计要求83.2 总体设计

7、83.2.1设计框图83.2.2设计原理图93.3 设计原理103.4各模块及其功能103.5端口引脚名称11第四章 VHDL程序设计124.1分频模块124.2软件设计134.2.1 SECOND模块134.2.2 MINUTE模块154.2.3 HOUR模块174.2.4 扫描模块184.2.5显示模块204.2.6定时闹钟模块214.2.7 日计数模块234.2.8 月计数模块254.2.9 年计数模块274.3硬件测试及说明304.3.1顶层模块原理图304.3.2电子钟基本功能仿真结果314.3.3硬件测试说明324.3.4结论32第五章 总结33参考文献35致 谢36第一章 绪论现

8、代社会的标志之一就是信息产品的广泛使用,而且是产品的性能越来越强,复杂程度越来越高,更新步伐越来越快。支撑信息电子产品高速发展的基础就是微电子制造工艺水平的提高和电子产品设计开发技术的发展。前者以微细加工技术为代表,而后者的代表就是电子设计自动化(electronic design automatic,EDA)技术。本设计采用的VHDL是一种全方位的硬件描述语言,具有极强的描述能力,能支持系统行为级、寄存器传输级和逻辑门级三个不同层次的设计;支持结构、数据流、行为三种描述形式的混合描述、覆盖面广、抽象能力强,因此在实际应用中越来越广泛。ASIC是专用的系统集成电路,是一种带有逻辑处理的加速处理

9、器。而FPGA是特殊的ASIC芯片,与其他的ASIC芯片相比,它具有设计开发周期短、设计制造成本低、开发工具先进、标准产品无需测试、质量稳定以及可实时在线检测等优点。钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、定时启闭电路、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。这次设计的内容就是在了解VHDL语言的一些基本语法和概念的基础上,进一步应用VHDL,在MAX+ plus II 的环境下设计一个电子钟,最后通过仿真出时序图实现预定功能。1.1

10、选题背景本节将从EDA应用开发技术与数字钟技术发展的客观实际出发,通过对该技术发展状况的了解,以及课题本身的需要,指出研究基于VHDL系统数字钟的设计与实现的必要性。1.1.1课题相关技术的发展当今电子产品正向功能多元化,体积最小化,功耗最低化的方向发展。它与传统的电子产品在设计上的显著区别师大量使用大规模可编程逻辑器件,使产品的性能提高,体积缩小,功耗降低。同时广泛运用现代计算机技术,提高产品的自动化程度和竞争力,缩短研发周期。EDA技术正是为了适应现代电子技术的要求,吸收众多学科最新科技成果而形成的一门新技术。美国ALTERA公司的可编程逻辑器件采用全新的结构和先进的技术,加上Maxplu

11、sII(或最新的QUARTUS)开发环境,更具有高性能,开发周期短等特点,十分方便进行电子产品的开发和设计。EDA技术,技术以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件的方式设计的电子系统到硬件系统的逻辑编译,逻辑化简,逻辑分割,逻辑映射,编程下载等工作。最终形成集成电子系统或专用集成芯片的一门新技术。本设计利用VHDL硬件描述语言结合可编程逻辑器件进行的,并通过数码管动态显示计时结果。数字钟可以由各种技术实现,如单片机等.利用可编程逻辑器件具有其他方式没有的特点

12、,它具有易学,方便,新颖,有趣,直观,设计与实验项目成功率高,理论与实践结合紧密,体积小,容量大,I/O口丰富,易编程和加密等特点,并且它还具有开放的界面,丰富的设计库,模块化的工具以及LPM定制等优良性能,应用非常方便。因此,本设计采用可编程逻辑器件实现。1.1.2课题研究的必要性现在是一个知识爆炸的新时代。新产品、新技术层出不穷,电子技术的发展更是日新月异。可以毫不夸张的说,电子技术的应用无处不在,电子技术正在不断地改变我们的生活,改变着我们的世界。在这快速发展的年代,时间对人们来说是越来越宝贵,在快节奏的生活时,人们往往忘记了时间,一旦遇到重要的事情而忘记了时间,这将会带来很大的损失。因

13、此我们需要一个定时系统来提醒这些忙碌的人。数字化的钟表给人们带来了极大的方便。近些年,随着科技的发展和社会的进步,人们对数字钟的要求也越来越高,传统的时钟已不能满足人们的需求。多功能数字钟不管在性能还是在样式上都发生了质的变化,有电子闹钟、数字闹钟等等。1.2 课题研究的内容本设计主要研究基于VHDL的语音数字钟的设计,要求时间以24小时为一个周期,显示时、分、秒。具有校时、报时功能以及清零、使能功能。第二章 EDA概述2.1 EDA简介20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。在电子技术

14、设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上

15、,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。2.2 可编程逻辑器件FPGAFPGA是现场可编程门阵列(Field Programmable Gate Array)的简称,与之相应的CPLD是复杂可编程

16、逻辑器件(Complex Programmable Logic Device)的简称,两者的功能基本相同,只是实现原理略有不同,所以有时可以忽略这两者的区别,统称为可编程逻辑器件或CPLD/PGFA。CPLD/PGFA几乎能完成任何数字器件的功能,上至高性能CPU,下至简单的74电路。它如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入或硬件描述语言自由的设计一个数字系统。通过软件仿真可以事先验证设计的正确性,在PCB完成以后,利用CPLD/FPGA的在线修改功能,随时修改设计而不必改动硬件电路。使用CPLA/FPGA开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。

17、这些优点使得CPLA/FPGA技术在20世纪90年代以后得到飞速的发展,同时也大大推动了EDA软件和硬件描述语言HDL的进步。2.3 硬件描述语言VHDL硬件描述语言HDL(HardwareDescriptionLanguage)诞生于1962年。HDL是用形式化的方法描述数字电路和设计数字逻辑系统的语言。主要用于描述离散电子系统的结构和行为。与SDL(SoftwareDescriptionLanguage)相似,经历了从机器码(晶体管和焊接)、汇编(网表)、到高级语言(HDL)的过程。VHDL翻译成中文就是超高速集成电路硬件描述语言,他诞生于1982年。最初是由美国国防部开发出来供美军用来提

18、高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言。1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言。自IEEE公布了VHDL的标准版本,IEEE-1076(简称87版)之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具可以和VHDL接口。此后VHDL在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,公布了新版本的VHDL,(即IEEE标准的1076-1993版本)主要是应用在数字电路的设计中。现在,VHDL和Verilog作为IEE

19、E的工业标准硬件描述语言,又得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。有专家认为,在新的世纪中,VHDL于Verilog语言将承担起大部分的数字系统设计任务。 目前,它在中国的应用多数是用FPGA/CPLD/EPLD的设计中。当然在一些实力较为雄厚的单位,它也被用来设计ASIC。VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部

20、(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。2.3.1 VHDL的特点应用VHDL进行系统设计,有以下几方面的特点:1)功能强大VHDL具有功能强大的语言结构。它可以用明确的代码描述复杂的控制逻辑设计。并且具有多层次的设计描述功能,支持设计库和可重复使用的元件生成。VHDL是一种设计、仿真和综合的标准硬件描述语言。2)可移植性VHDL语言是一个标准语言,其设计描述可以为不同的EDA工具支持。它可以从一个仿真工具移植到另一个仿真工具,从

21、一个综合工具移植到另一个综合工具,从一个工作平台移植到另一个工作平台。此外,通过更换库再重新综合很容易移植为ASIC设计。3)独立性VHDL的硬件描述与具体的工艺技术和硬件结构无关。设计者可以不懂硬件的结构,也不必管最终设计实现的目标器件是什么,而进行独立的设计。程序设计的硬件目标器件有广阔的选择范围,可以是各系列的CPLD、FPGA及各种门阵列器件。4)可操作性由于VHDL具有类属描述语句和子程序调用等功能,对于已完成的设计,在不改变源程序的条件下,只需改变端口类属参量或函数,就能轻易地改变设计的规模和结构。5)灵活性VHDL最初是作为一种仿真标准格式出现的,有着丰富的仿真语句和库函数。使其

22、在任何大系统的设计中,随时可对设计进行仿真模拟。所以,即使在远离门级的高层次(即使设计尚未完成时),设计者就能够对整个工程设计的结构和功能的可行性进行查验,并做出决策。2.3.2 VHDL的设计结构VHDL描述数字电路系统设计的行为、功能、输入和输出。它在语法上与现代编程语言相似,但包含了许多与硬件有特殊关系的结构。VHDL将一个设计称为一个实体Entity(元件、电路或者系统),并且将它分成外部的可见部分(实体名、连接)和内部的隐藏部分(实体算法、实现)。当定义了一个设计的实体之后,其他实体可以利用该实体,也可以开发一个实体库。所以,内部和外部的概念对系统设计的VHDL是十分重要的。外部的实

23、体名或连接由实体声明Entity来描述。而内部的实体算法或实现则由结构体Architecture来描述。结构体可以包含相连的多个进程process或者组建component等其他并行结构。需要说明的是,它们在硬件中都是并行运行的。2.3.3 VHDL的设计步骤采用VHDL的系统设计,一般有以下6个步骤:1)要求的功能模块划分;2)VHDL的设计描述(设计输入);3)代码仿真模拟(前仿真);4)计综合、优化和布局布线;5)布局布线后的仿真模拟(后仿真);6)设计的实现(下载到目标器件)。2.4 MAX+plus 概述 EDA技术的关键之一是EDA工具,EDA工具是指以计算机为工作平台,融合了应用

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

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

26、“虚拟电子工作平台”。 MAX+plus是一种在电子技术工程与电子技术教学中广泛应用的优秀计算机仿真软件,被公认为是最易使用,人机界面最友善的数字系统开发软件,特别适合初学者使用。第三章 数字钟的设计要求及总体设计3.1设计要求1)具有时、分、秒计数显示功能,以24小时循环计时;2)具有清零、使能功能3)具有调节小时、分、秒功能;4)具有整点报时功能;5)具有显示年、月、日的功能;3.1.1 功能要求分析根据以上数字钟的功能要求,需要完成以下几个部分:1)时钟模块:由试验箱内部时钟提供,对计数器提供计数时钟信号;2)秒钟模块:对秒进行60进制循环计数,并向分钟产生进位,同时具有调分功能;3)分

27、钟模块:对分进行60进制循环计数,并向小时产生进位,同时具有调时功能4)小时模块:对小时进行24进制循环计数。3.2 总体设计3.2.1设计框图时计数器标准秒信号脉冲秒计数器分计数器分脉冲信号号时脉冲信号秒输出分输出时输出六段显示译码器译码LED七段显示器显示“时”“分”“秒”图3.2.1设计框图3.2.2设计原理图图3.2.2设计原理图该数字电子钟的原理图如上图所示,它由一个秒计数器(second.u1)、一个分计数器(minut.u2)、一个时计数器(hour.u3)组成。他们均由各子模块源程序生成。然后根据设计原理连接而成。能实现各子模块的功能。其中:输入: CLK时钟脉冲(可以任意设置

28、)RESET复位信号SETMIN分加1信号,SETHOUR时加1信号输出: SECOND_DAOUT秒输出MINUTE_DAOUT分输出 HOUR_DAOUT时输出3.3 设计原理电子时钟是一个将“时”“分”“秒”显示于人的视觉器官的计时装置。它的计时周期为24小时;显示满刻度为23时59分59秒,另外具备校时功能。因此,一个基本的数字钟电路主要由“时”“分”“秒”计数器校时电路组成。将标准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,每累加60秒发送一个“分脉冲”信号,该信号将被送到“分计数器”。“分计数器”也采用60进制计数器,每累加60分发送一个“时脉冲”信号,该信号将被送到“

29、时计数器”。“时计数器”采用24进制计数器,可实现对一天24小时的累计。译码显示电路“时”“分”“秒”计数器的输出状态六段显示译码器译码。通过六位七段显示器显示出来。校时电路器是用来对“时”“分”“秒”显示数字进行校时调整的,可以根据当前需要的时间来设置电子时钟的时间,使它从这个时间开始计时。也可以对电子钟复位,重新开始计时。3.4各模块及其功能电子钟计数采用层次化设计,将设计任务分成若干个模块,规定每一模块的功能和各模块之间的接口。1)SECOND模块:用来对秒进行计时,当记到计数器的低四位为1001时,若高三位不是101时,则秒计数器加7,目的是使计数值变为BCD码。若高三位是101时,则

30、有一进位。当计数器的低四位不为1001时,计数器加1。SECOND模块给MINUTE的时钟由SETMINUTE和它本身记到60的进位两部分组成。2)MINUTE模块:用来对分进行计时,当记到计数器的低四位为1001时,若高三位不是101时,则分计数器加7,目的是使计数值变为BCD码。若高三位是101时,则有一进位。当计数器的低四位不为1001时,计数器加1。MINUTE模块的时钟由SETMIN和SECOND记到60的进位两部分组成。3)HOUR模块:用来对时进行计数,当记到计数器的低四位为1001时,若高三位小于010时,则时计数器加7,目的是使计数值变为BCD码。当计数器的高三位小于010,

31、低四位小于1001时,计数器加1;若当计数器记到0100100时,则有一进位。HOUR模块的时钟由SETHOUR和MINUTE记到60的进位两部分组成。4)扫描模块SELTIME:输入为秒(含个十位)、分、时、扫描时钟CLK1K,输出为D和显示控制信号SEL。5)整点报时功能模块ALERT:输入为分秒信号,输出为高频声控Q1K和Q500。6)顶层CLOCK_TOP模块:用来对元件进行例化,以及对端口进行映射。同时整个计数器有清零,调时,调分功能。3.5端口引脚名称输入:CLK, RESET, SETMIN, SETHOUR,STOP输出:SPERK, SECOND6.0, MIN6.0, HO

32、UR6.0 第四章 VHDL程序设计4.1分频模块晶体振荡器是构成数字式时钟的核心,振荡器的稳定度及频率的精度决定了数字钟计时的准确程度,它保证了时钟的走时准确及稳定。石英晶体的选频特性非常好,只有某一频率点的信号可以通过它,其它频率段的信号均会被它所衰减,而且,振荡信号的频率与振荡电路中的R、C元件的数值无关。因此,这种振荡电路输出的是准确度极高的信号。然后再利用分频电路,将其输出信号转变为秒信号。本系统使用的晶体振荡器电路给数字钟提供一个频率稳定准确的40MHz的方波信号,其输出至分频电路。分频电路的逻辑框图如图4-2所示。图4.1 分频电路模块电路中采用Max+plusII元器件库中的计

33、数器7490进行硬件分频。经分频后输出1HZ的标准秒信号CLK1、4MHZ的按键扫描信号、1KHZ的按键去抖信号和500HZ用于报时模块的输入信号。分频电路主要功能有2个,一是产生标准秒脉冲信号;二是可提供整点报时所需要的高、低频率信号。 图4.2 顶层设计4.2软件设计根据数字电子钟的设计原理,按照自定向下的设计思路,编写各个模块的VHDL源程序。4.2.1 SECOND模块1)源程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY SECOND IS PORT (CLK: I

34、N STD_LOGIC; -系统时钟信号 RESET:IN STD_LOGIC; -系统复位信号 SETMIN:IN STD_LOGIC; -分设置信号 ENMIN: OUT STD_LOGIC; -分计数时钟信号 DAOUT: OUT STD_LOGIC_VECTOR(6 DOWNTO 0); -秒计数值END ENTITY SECOND;ARCHITECTURE ART OF SECOND IS SIGNAL COUNT :STD_LOGIC_VECTOR(6 DOWNTO 0); SIGNAL ENMIN_1,ENMIN_2:STD_LOGIC;BEGINDAOUT=COUNT;ENMI

35、N_2=(SETMIN AND CLK);ENMIN=(ENMIN_1 OR ENMIN_2);PROCESS(CLK,RESET,SETMIN) BEGIN IF (RESET=0)THEN COUNT=0000000; ENMIN_1=0; ELSIF(CLKEVENT AND CLK=1)THEN IF(COUNT(3 DOWNTO 0)=1001)THEN IF(COUNT16#60#)THEN IF(COUNT=1011001)THEN ENMIN_1=1; COUNT=0000000;ELSECOUNT=COUNT+7; END IF;ELSE COUNT=0000000;END

36、IF;ELSIF(COUNT16#60#)THENCOUNT=COUNT+1;ENMIN_1=0;ELSE COUNT=0000000; ENMIN_1=0; END IF;END IF; END PROCESS;END ART;2)仿真波形图:图4.2.1 SECOND模块仿真波形图仿真波形分析:由仿真波形图可知,当clk和carry为上升沿时,sec1输出由9变为0,并且sec1都是由0到9循环,sec2输出由5变为0,并且sec2都是由0到5循环,所以,这是一个60进制的秒控制模块。4.2.2 MINUTE模块1)源程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC

37、_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY MINUTE IS PORT (CLK: IN STD_LOGIC; -分计数时钟信号 CLKS: IN STD_LOGIC; -时设置时钟信号 RESET: IN STD_LOGIC; -系统复位信号 SETHOUR:IN STD_LOGIC; -时设置信号 ENHOUR: OUT STD_LOGIC; -时计数时钟信号 DAOUT: OUT STD_LOGIC_VECTOR(6 DOWNTO 0); -分计数值END ENTITY MINUTE; ARCHITECTURE ART OF MIN

38、UTE IS SIGNAL COUNT :STD_LOGIC_VECTOR(6 DOWNTO 0); SIGNAL ENHOUR_1,ENHOUR_2:STD_LOGIC;BEGINDAOUT=COUNT;ENHOUR_2=(SETHOUR AND CLKS);ENHOUR=(ENHOUR_1 OR ENHOUR_2);PROCESS(CLK,RESET,SETHOUR) BEGIN IF (RESET=0)THEN COUNT=0000000; ENHOUR_1=0; ELSIF(CLKEVENT AND CLK=1)THEN IF(COUNT(3 DOWNTO 0)=1001)THEN I

39、F(COUNT16#60#)THEN IF(COUNT=1011001)THEN ENHOUR_1=1; COUNT=0000000;ELSE COUNT=COUNT+7; ENHOUR_1=0; END IF;ELSE COUNT=0000000;END IF;ELSIF(COUNT16#60#)THENCOUNT=COUNT+1;ENHOUR_1=0 AFTER 100 NS;ELSE COUNT=0000000;ENHOUR_1=0; END IF;END IF; END PROCESS;END ART;2)仿真波形图:图4.2.2 MINUTE模块仿真波形图仿真波形分析:由仿真波形图可

40、知,当clk和carry为上升沿时,min1输出由9变为0,并且min1都是由0到9循环,min2输出由5变为0,并且min2都是由0到5循环,所以,这是一个60进制的分控制模块。4.2.3 HOUR模块1)源程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY HOUR IS PORT (CLK: IN STD_LOGIC; -时计数时钟信号 RESET: IN STD_LOGIC; -系统复位信号 DAOUT: OUT STD_LOGIC_VECTOR(5 DOWNTO 0)

41、; -时计数值END ENTITY HOUR;ARCHITECTURE ZRT OF HOUR IS SIGNAL COUNT :STD_LOGIC_VECTOR(5 DOWNTO 0);BEGINDAOUT=COUNT;PROCESS(CLK,RESET) BEGIN IF (RESET=0)THEN COUNT=000000; ELSIF(CLKEVENT AND CLK=1)THEN IF(COUNT(3 DOWNTO 0)=1001)THEN IF(COUNT16#23#)THEN COUNT=COUNT+7; ELSE COUNT=000000;END IF;ELSIF(COUNT1

42、6#23#)THENCOUNT=COUNT+1;ELSE COUNT=000000; END IF;END IF; END PROCESS;END ZRT;2)仿真波形图:图4.2.3 HOUR模块仿真波形图仿真波形分析:由仿真波形图可知,当clk为上升沿时,hour1输出由9变为0,并且hour1都是由0到9循环,hour2输出由2变为0,并且hour2都是由0到2循环,所以,这是一个24进制的时控制模。4.2.4 扫描模块1)源程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTI

43、TY 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 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,RESE

44、T) BEGIN IF RESET=1THEN COUNT=000; ELSIF CLKSCANEVENT AND CLKSCAN=1THEN IF COUNT=101THEN COUNT=000; ELSE COUNTDATADATADATADATADATADATA=IN6;END CASE;END PROCESS; SEL=COUNT;END RT1;2)仿真波形图:图4.2.4 扫描模块仿真波形图仿真波形分析:由仿真波形图可知,当clkscan脉冲输入时,输入信号sel为001时,输出count为1,当sel为010时,输出信号count为2,直到101时,当输入信号又由5变为0开始循环。4.2.5显示模块1)源程序如下:LIBR

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

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号