基于FPGA的多功能数字时钟 毕业论文.doc

上传人:来看看 文档编号:3920368 上传时间:2019-10-10 格式:DOC 页数:56 大小:12.21MB
返回 下载 相关 举报
基于FPGA的多功能数字时钟 毕业论文.doc_第1页
第1页 / 共56页
基于FPGA的多功能数字时钟 毕业论文.doc_第2页
第2页 / 共56页
基于FPGA的多功能数字时钟 毕业论文.doc_第3页
第3页 / 共56页
基于FPGA的多功能数字时钟 毕业论文.doc_第4页
第4页 / 共56页
基于FPGA的多功能数字时钟 毕业论文.doc_第5页
第5页 / 共56页
点击查看更多>>
资源描述

《基于FPGA的多功能数字时钟 毕业论文.doc》由会员分享,可在线阅读,更多相关《基于FPGA的多功能数字时钟 毕业论文.doc(56页珍藏版)》请在三一文库上搜索。

1、 南京航空航天大学金城学院毕业设计题 目基于FPGA的多功能数字时钟学生姓名 学 号2009031236系 部自动化系专 业电气工程与自动化班 级20090312指导教师 二一三年六月南京航空航天大学金城学院本科毕业设计(论文)诚信承诺书本人郑重声明:所呈交的毕业设计(论文)(题目: 基于FPGA的多功能数字时钟 )是本人在导师的指导下独立进行研究所取得的成果。尽本人所知,除了毕业设计(论文)中特别加以标注引用的内容外,本毕业设计(论文)不包含任何其他个人或集体已经发表或撰写的成果作品。 作者签名: 郭建超 2013年 5 月 31 日 (学号):2009031236 基于FPGA的多功能数字

2、时钟摘 要数字钟由于其具有走时准,显示直观,款式新颖,附加功能多等特点而受到人们的广泛使用。采用FPGA设计一个具有整点报时,可校时,可显示万年历的数字时钟是本课题的主要任务。由于数字集成电路的发展和石英晶体震荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产、生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、定时启闭电路、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等,所有这些都是以钟表数字化为基础的。近些年,随着科技的发展和社会的进步,人们对数字钟的要求也越来越高,传统的时钟已不能满足人们的需求,因此研究数字钟以及扩大其应用有着非

3、常现实的意义。 本文介绍的基于现场可编程门阵列FPGA实现数字多功能数字时钟,采用自上而下的方法对系统进行设计,以硬件描述语言VHDL为描述语言,利用QuartusII软件进行设计,并在智能可编程器件开发实验系统KH-310上实现数码管显示的时钟,及其计时、校时、整点提示和万年历功能。其中时钟的秒钟、分钟为60进制计时方式,小时可通过24进制的计时方式,天可通过与月传过来的判断信号来判断大、小平、闰月,可分别用28、29、30、31进制计数实现,月通过12进制计数实现,年通过100进制计数实现。本课题通过设置一个专门的按键来实现时间和万年历的切换显示。关键词:VHDL,FPGA,Quartus

4、 II,多功能i FPGA-based multi-function digital clockAbstractBecause of its quasi-travel time, intuitive display, fashionable, additional functions, digital clocks are widely used by the people. The main task of this project is that FPGA design can be on time alarm, timekeeping, and show calendar in digi

5、tal clocks. Due to the development and widely use of digital integrated circuits and quartz crystal oscillators, it makes that the accuracy of the digital clock is far more than the old-fashioned watch. The digitized clocks have brought great convenience for peoples life and work, and also greatly e

6、xpand the original timekeeping function of the watch. Such as regular automatic alarm, timed to open and close the circuit, oven timer switch off the power equipment, and even a variety of timing Electrical automatically enabled, all of these are based on digital clocks. In recent years, with the de

7、velopment of technology and the progress of society, people have the higher demand for the digital clocks. The use of conventional clock can not meet the needs of people, so researching digital clock and expanding its application has a very practical significance.This article describes the field-pro

8、grammable gate array (FPGA), which is based on digital multi-function digital alarm clock, it designs system from the top to the down, treats hardware description language VHDL as the description language, and uses QuartusII software to design, and also uses the smart programmable devices developed

9、experimental system KH-310 to achieve the digital display of the clock, its time, school hours, the whole point of prompt and calendar functions. Clock seconds, minutes hands is by 60 hexadecimal timing, hour hand is by 24 hexadecimal timing, days are by 28, 29, 30, or 31 hexadecimal count, month is

10、 by 12 hexadecimal count, year-on-year is by 100 hexadecimal count. This article designs a dedicated button to display time and calendar conversion.Key Words:VHDL; Quartus; FPGA; Multi-functionii 毕业设计(论文)报告纸目 录摘 要iAbstractii第一章 引 言11.1 课题研究的概况11.1.1 课题研究的背景和意义11.1.2 课题研究的主要任务2第二章 硬件描述语言VHDL32.1 VHDL

11、语言简介32.1.1 VHDL语言的特点32.2 VHDL语言结构4第三章 FPGA简介53.1 FPGA基本结构53.2Altera公司的介绍63.2.1FPGA的应用选择63.2.2 课题研究采用的FPGA介绍7第四章 QuartusII的使用84.1QuartusII5.1简介84.2 QuartusII设计流程9第五章 基于FPGA的多功能数字时钟115.1 系统设计任务及流程115.2 系统的总体设计115.3 系统的各模块的设计125.3.1 分频模块125.3.2 计数模块135.3.3 校时模块225.3.4 报时模块245.3.5 译码显示模块255.3.6 显示转换模块27

12、第六章 整体系统的实现306.1 系统的顶层原理图306.2 多功能数字闹钟系统在KH-310实验系统上的演示32第七章 总结与展望367.1 总结367.2 展望36参考文献37致谢38附录39源程序39iv 第一章 引 言1.1 课题研究的概况1.1.1 课题研究的背景和意义随着科学技术的进步,现在的闹钟也不再是过去的老样子。在过去几百年的时间里,人类发明的闹钟有的采用公鸡的鸣叫声,有的用教堂和佛寺的钟声,而现在市面上出现了各种各样的钟,以声或光的形式提醒。如数字闹钟、字谜闹钟、小鸡闹钟、礼品小闹钟、旅行闹钟、卡通闹钟、机械闹钟、石英闹钟、卡通语言钟、扫描钟、打铃钟、工艺钟等系列产品。制造

13、者们根据社会的需求为人类定制各种各样的产品。数字钟在向美观化、多功能化、时尚化的方面发展,人们对数字钟的要求也越来越高,传统的时钟已不能满足人们的要求。数字钟是一种利用数字电路来显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显示直观、无机械传动装置等优。多功能数字钟不管在性能还是在样式上都发生了质的变化。数字钟被广泛用于个人家庭,车站,码头、办公室等公共场所,成为人们日常生活中的必需品。由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度运用超过老式钟表,钟表的数字化给人们生产生活带了极大的方便,而且大大地扩展了钟表原先的报时功能。 诸如定时自动报警、按时自动打铃

14、、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。数字钟可以由各种技术实现,如用数字电路、单片机等技术实现。利用可编程逻辑器件具有其他方式没有的特点,它具有易学、方便、新颖、有趣、直观,设计与实验成功率高、理论与实践结合紧密、体积小、量大、I/O口丰富、编程和加密等特点,并且它还具有开放的界面、丰富的设计库、模块化的工具以及LPM定制等优良性能,应用非常方便。因此,本设计采用可编程逻辑器件实现。本文采用的是基于FPGA的多功能数字时钟系统设计。研究了如何以现

15、场可编程门阵列FPGA为载体,运用高级硬件描述语言VHDL进行系统功能编程,并通过QUARTUS II环境进行仿真,验证多功能数字钟的功能是否满足以下基本指标:具有年、月、日、时、分、秒计数显示功能;具有整点报时功能;可以对年、月、日、时、分及秒进行单独校对,使其校正到标准时间;并进行优化完善。FPGA即现场可编程门列阵,它是1985年由美国Xilinx公司首家推出的一种新型的可编程逻辑器件。FPGA在结构上由逻辑功能块阵列,并由可编程的内部连线连接这些功能块来实现一定的逻辑功能。FPGA的功能由逻辑结构的配置数据决定,工作时,这些配置数据放在片内SRAM或者熔丝图上。使用SRAM的FPGA器

16、件,在工作前需要从芯片外部加载配置数据,这些配置数据可以放在片外的EPROM或其他储存体上,人们可以控制加载过程,在现场修改器件的逻辑功能。FPGA的发展十分迅速,目前已达到超过300万门/片的集成度、3ns内部延时的水平。除Xilinx公司外,Altera和Actel等公司也提供高性能的FPGA芯片。本文使用Altera公司的ACEX1K系列的FPGA,型号为EP1K30Q-208.1.1.2 课题研究的主要任务设计具有如下功能的数字钟:1)该数字钟能进行正常的时钟走时功能以及日期的计时功能。2)在KH-310设置专门按键K3用来进行模式切换,当按键置“1”时,显示年、月、日;当按键置“0”

17、时,显示时、分、 秒。3)在KH-310上设有专门的按键K1、K2实现年、月、日和时、分、秒的校对功能。当按下K1键时进入校时模式,K2按键为各模块计时值得更改按键。4)同时设有5个校时模式下的LED灯,编号为、。当灯被点亮时表示进入调时模式下的分调时,当灯被点亮时表示进入调时模式下的时调时,当灯被点亮时表示进入调时模式下的天调时,当灯被点亮时表示进入调时模式下的月调时,当灯被点亮时表示进入调时模式下的年调时。5)本时钟带有整点报时功能,用一个LED灯的点亮一秒来表达,该LED灯编号为。当检测的秒、分计数模块的值都为“00”时灯会被点亮一秒钟,然后熄灭。各个模块设计好后,通过综合仿真软件Qua

18、rtus采用VHDL实现,仿真该系统的各个功能模块,并在综合开发实验系统KH-310上调试时钟系统的整体功能。第二章 硬件描述语言VHDL2.1 VHDL语言简介2.1.1 VHDL语言的特点与其他硬件描述语言相比,VHDL具有以下特点1: 1)功能强大、设计灵活 VHDL具有功能强大的语言结构,可以用简洁明确的源代码来描述复杂的逻辑控制。它具有多层次的设计描述功能,层层细化,最后可直接生成电路级描述。VHDL支持同步电路、异步电路和随机电路的设计,这是其他硬件描述语言所不能比拟的。VHDL还支持各种设计方法,既支持自底向上的设计,又支持自顶向下的设计;既支持模块化设计,又支持层次化设计。 2

19、)支持广泛、易于修改 由于VHDL已经成为IEEE标准所规范的硬件描述语言,目前大多数EDA工具几乎都支持VHDL,这为VHDL的进一步推广和广泛应用奠定了基础。在硬件电路设计过程中,主要的设计文件是用VHDL编写的源代码,因为VHDL易读和结构化,所以易于修改设计。 3)强大的系统硬件描述能力 VHDL具有多层次的设计描述功能,既可以描述系统级电路,又可以描述门级电路。而描述既可以采用行为描述、寄存器传输描述或结构描述,也可以采用三者混合的混合级描述。另外,VHDL支持惯性延迟和传输延迟,还可以准确地建立硬件电路模型。VHDL支持预定义的和自定义的数据类型,给硬件描述带来较大的自由度,使设计

20、人员能够方便地创建高层次的系统模型。 4)独立于器件的设计、与工艺无关 设计人员用VHDL进行设计时,不需要首先考虑选择完成设计的器件,就可以集中精力进行设计的优化。当设计描述完成后,可以用多种不同的器件结构来实现其功能。 5)很强的移植能力 VHDL是一种标准化的硬件描述语言,同一个设计描述可以被不同的工具所支持,使得设计描述的移植成为可能。 6)易于共享和复用 VHDL采用基于库(Library)的设计方法,可以建立各种可再次利用的模块。这些模块可以预先设计或使用以前设计中的存档模块,将这些模块存放到库中,就可以在以后的设计中进行复用,可以使设计成果在设计人员之间进行交流和共享,减少硬件电

21、路设计。2.2 VHDL语言结构 VHDL语言通常包括库说明、实体说明、结构体说明3个部分2。VHDL提供5个库,IEEE 库,STD库,VITAL库,自定义库和WORK库。库(Library)是一些常用代码的集合,有利于设计的重用和代码的共享。代码通常以函数(FUNCTION)、过程(PROCEDURE)或元件(COMPONENT)等标准形式存放在包集(PACKAGE)中,用户可以根据需要对其进行编译。VHDL设计中3个常用的库:ieee库,std库和work库。 实体是一个设计实体的表层设计单元,是对设计实体与外部电路进行的接口描述,是设计实体经封装后对外界的一个通信界面。实体类似于原理图

22、中的符号,它并不描述模块的具体功能。此时只是一个“黑盒子” ,只描述了它的输入输出接口信号。 结构体(ARCHITECTURE)用来描述实体的内部结构或逻辑功能。它必须和实体(ENTITY)相联系。一个实体(ENTITY)可以有多个结构体,设计结构可以为多进程,运行是并行的,结构体描述方式包括:行为描述、数据流描述、结构描述。 第三章 FPGA简介3.1 FPGA基本结构FPGA由6部分组成,分别为可编程输入/输出单元、基本可编程逻辑单元、嵌入式块RAM、丰富的布线资源、底层嵌入功能单元和内嵌专用硬核等3。每个单元简介如下: 1、可编程输入/输出单元(I/O单元) 目前大多数FPGA的I/O单

23、元被设计为可编程模式,即通过软件的灵活配置,可适应不同的电器标准与I/O物理特性;可以调整匹配阻抗特性,上下拉电阻;可以调整输出驱动电流的大小等。2、基本可编程逻辑单元 FPGA的基本可编程逻辑单元是由查找表(LUT)和寄存器(Register)组成的,查找表完成纯组合逻辑功能。FPGA内部寄存器可配置为带同步/异步复位和置位、时钟使能的触发器,也可以配置成为锁存器。FPGA一般依赖寄存器完成同步时序逻辑设计。一般来说,比较经典的基本可编程单元的配置是一个寄存器加一个查找表,但不同厂商的寄存器和查找表的内部结构有一定的差异,而且寄存器和查找表的组合模式也不同。3、嵌入式块RAM 目前大多数FP

24、GA都有内嵌的块RAM。嵌入式块RAM可以配置为单端口RAM、双端口RAM、伪双端口RAM、CAM、FIFO等存储结构。CAM,即为内容地址存储器。写入CAM的数据会和其内部存储的每一个数据进行比较,并返回与端口数据相同的所有内部数据的地址。简单的说,RAM是一种写地址,读数据的存储单元;CAM与RAM恰恰相反。 4、丰富的布线资源 布线资源连通FPGA内部所有单元,连线的长度和工艺决定着信号在连线上的驱动能力和传输速度。布线资源的划分:1)全局性的专用布线资源:以完成器件内部的全局时钟和全局复位/置位的布线。 2)长线资源:用以完成器件Bank间的一些高速信号和一些第二全局时钟信号的布线。

25、3)短线资源:用来完成基本逻辑单元间的逻辑互连与布线。 4)其他:在逻辑单元内部还有着各种布线资源和专用时钟、复位等控制信号线。 5、底层嵌入功能单元 6、内嵌专用硬核 与“底层嵌入单元”是有区别的,这里指的硬核主要是那些通用性相对较弱,不是所有FPGA器件都包含硬核。3.2Altera公司的介绍3.2.1FPGA的应用选择由于FPGA具备设计灵活、可以重复编程的优点,因此在电子产品设计领域得到了越来越广泛的应用。在工程项目或者产品设计中,选择FPGA芯片可以参考以下的几点策略和原则4。 1、尽量选择成熟的产品系列 FPGA芯片的工艺一直走在芯片设计领域的前列,产品更新换代速度非常快。稳定性和

26、可靠性是产品设计需要考虑的关键因素。厂家最新推出的FPGA系列产品一般都没有经过大批量应用的验证。选择这样的芯片会增加设计的风险。 而且,最新推出的FPGA芯片因为产量比较小,一般供货情况都不会很理想,价格也会偏高一些。如果成熟的产品能满足设计指标要求,那么最好选这样的芯片来完成设计。 2、尽量选择兼容性好的封装 FPGA系统设计一般采用硬件描述语言(VHDL)来完成设计。这与基于CPU的软件开发又有很大不同。特别是算法实现的时候,在设计之前,很难估算这个算法需要占用多少FPGA的逻辑资源。 作为代码设计者,希望算法实现之后再选择FPGA的型号。但是,现在的设计流程一般都是软件和硬件并行开始设

27、计。也就是说,在VHDL代码设计之前,就开始硬件板卡的设计。这就要求硬件板卡具备一定的兼容性,可以兼容不同规模的FPGA芯片。3、尽量选择一个公司的产品 如果在整个电子系统中需要多个FPGA器件,那么尽量选择一个公司的产品。这样的好处不仅可以降低成本,而且降低开发难度。因为开发环境和工具是一致的,芯片接口电平和特性也一致,便于互联互通。在全球不同的地区,Altera和Actel公司的FPGA芯片产品的市场表现会有所差别。在中国市场,两家公司可以说是平分秋色,在高校里面Altera的客户会略多一些。针对特定的应用,两个厂家的产品目录里面都可以找到适合的系列或者型号。 而本课题中采用的是Alter

28、a公司的ACEX1K系列的EP1K30型号。 3.2.2 课题研究采用的FPGA介绍 本课题研究选用的是Altera公司的FPGA芯片,ACEX1K器件系列中的EP1K30型号,208个引脚,576个逻辑单元,3个嵌入式RAM块。ACEX1K 系列器件是Altera 公司近期推出的新型FPGA 产品。该器件基于SRAM,结合查找表(LUT)和嵌入式阵列块(EAB)提供了高密度结构,可提供10000 到100000 可用门,每个嵌入式阵列块增加到16 位宽可实现双端口,RAM 位增加到49125 个。其多电压引脚可以驱动2.5V、3.3V、5.0V 器件,也可以被这些电压所驱动;双向I/O 引脚

29、执行速度可达250MHz。该器件还应用Altera 专利技术进行了重要的生产改进,进一步降低了器件的成本,提高了产品的性能价格比。因此,ACEX1K 器件可用来实现许多逻辑复杂、信息量大的系统。但是在器件操作过程中,ACEX1K 系列器件的配置数据存储在SRAM 单元中,由于SRAM的易失性,配置数据在每次上电时必须被重新载入SRAM。第四章 QuartusII的使用4.1QuartusII5.1简介 Altera公司开始发售5.1版的QuartusII软件,包括了时序分析工具TimeQuest,并且能够支持Synopsys设计约束(SDC)时序格式 。这一最新版本还包括扩展的团队设计功能,

30、能够有效地管理高密度设计团队之间的协作。这些改进主要针对当今高密度90nm的设计要求,同时对更高密度的FPGA的需求以及Altera发展下一代65nm产品系列打下了基础。 Altera在最新版QuartusII软件中引入了新的技术改进,以满足客户对90nm的需求,并为65nm工艺节点打下了基础。TimeQuest时序分析工具帮助用户对时序约束较为复杂的设计进行建立、管理和分析操作,例如时钟复用设计和源同步接口等,用户还可以迅速完成高级时序验证。该软件的团队设计支持特性包括工程管理器接口、用于顶层设计的资源管理和时序预算。此外,工程管理器接口还支持设计人员管理模块间的时序约束,实现最佳性能。这一

31、新特性支持团队在高密度FPGA设计上的协作,从而提高了团队效率,增强了设计模块相互之间的性能。 同时,通过对流行的IEEE1800-2005标准SystemVerilog语法硬件描述和验证语言设计结构的支持,该工具实现了速度更快的寄存器传送级(RTL)。其增强的I/O引脚规划器与Altera知识产权(IP)更直接的集成,简化了引脚分配。该软件扩展的电路板级设计还能支持提供StratixII单端输出的HSPICE模型。图4.1为Quartus软件的用户界面。图 4.1 Quartus软件的用户界面4.2 QuartusII设计流程 基于QuartusII的FPGA系统设计流程5:1)设计输入 使

32、用Quartus软件的模块输入方式、文本输入方式、Core输入方式和EDA设计输入工具等表达用户的电路构思,同时使用分配编辑器(AssignmentEditor)设定初始约束条件。 2)综合 将HDL语言、原理图等设计输入翻译成由与门、或门、非门、RAM和触发器等基本逻辑单元组成的逻辑链接(网络表),并根据目标与要求(约束条件)优化生成逻辑链接,输出edf或vqm等标准格式的网络表文件。 3)布局布线 布局布线输入文件是综合后的网络表文件,Quartus软件中布局布线包含分析布局布线结果、优化布局布线、增量布局布线和通过反向标注分配等。 4)时序分析 允许用户分析设计中所有逻辑的时序性能,并协

33、助引导布局布线以满足设计中的时序分析要求。默认情况下,时序分析作为全编译的一部分自动运行。 5)仿真 波形矢量文件的扩展名为“.vwf”,仿真分为功能仿真和时序仿真,也称为前仿真和后仿真,功能仿真是忽略延时后的仿真,是最理想的仿真,时序仿真则是加上了一些延时的仿真,是最接近于实际的仿真,在设计中通常先做功能仿真验证逻辑的正确性,后做时序仿真验证时序是否符合要求,需注意默认为时序仿真,在设置功能仿真后需要生成功能仿真网络表。 6)引脚分配 引脚分配是为了对所设计的工程进行硬件测试,将输入/输出信号锁定在器件确定的引脚上,分配完引脚后必须再次编译才能存储这些引脚锁定的信息。 7)下载验证 JTAG

34、下载模式相应的文件为“.sof”,ActiveSerial下载模式相应的文件为“.pof”。设计输入 综 合功能仿真时序仿真器件仿真硬件测试设计修改图 4.2 Quartus的设计流程图图4.2为QuartusII设计流程图,从图中我们可以更清楚地看出基于QuartusII的FPGA系统设计流程。10 第五章 基于FPGA的多功能数字时钟5.1 系统设计任务及流程 为了实现本系统设计的功能,本系统设计安排了用数码管显示,用24小时进制来计时,万年历天部分分为28、29、30、31不同月份的计数,月份为12进制,年用100进制来实现同时也能校时和整点闹钟提示等任务。通过自上而下的设计理念(自上而

35、下的设计方法,一般用于全新设计,其设计过程遵循“设计验证修改设计再验证”的原则),把多功能数字钟的整体功能考虑其中,然后再细化到各个模块,包括:分频模块(用以获得时钟内部所需的脉冲),校时模块(用以校准时间),计时模块(用以计时),显示模块(用以显示结果以及转换显示),整点报时模块(用以报时功能)的功能实现,最终在智能可编程器件开发实验系统KH-310上实现。5.2 系统的总体设计 整个系统利用QuartusII软件进行设计,以硬件描述语言VHDL为设计语言。本系统设计可以采用自上而下的方法对系统进行描述。为使本次设计系统得时钟显示采用数码管显示,计时及校时功能和整点提示功能得以实现,本系统设

36、计了这几大模块:分频模块,校时模块,计时模块,显示模块,整点报时模块。分频模块利用智能可编程器件开发实验系统KH-310上提供的40MHz的脉冲分频得到多功能数字闹钟计时用的1Hz的脉冲。校时模块可以通过控制外部电平的输入来设置数字钟的分、时的计数。计时模块可以实现数字钟的秒、分、时的计时功能以及万年历的计数。显示模块通过共阴极数码管扫描显示,来显示当下的时间或设定的时间和日历。整点报时模块连接外部设备LED灯,用来设定整点提示。通过以上各个模块的组合工作,实现多功能数字钟的整体功能,如图5.1所示。控制模块时间计数模块日期计数模块校时模块译码显示显示转换模块图5.1 系统框架图5.3 系统的

37、各模块的设计5.3.1 分频模块分频模块用于给整个系统提供所需的脉冲。该模块利用智能可编程器件开发实验系统KH-310试验箱上的的1KHz脉冲分频得到1Hz的脉冲。频率,1Hz的脉冲用于秒计数。 我们知道一个脉冲有上升沿和下降沿,那么,1KHz的脉冲经过499次的计数循环后,使一个信号X产生一个上升沿,再过499次的计数循环后,使这个X信号产生一个下降沿。这样,因此,在1000次计数后信号X形成一个新的脉冲信号,该脉冲即为1Hz的脉冲。 当然,在语言处理中需要有一个“翻折”的概念。 IF (CLK=1 AND CLKEVENT) THEN IF CLR=1 THEN COUNTER=0; EL

38、SIF COUNTER=49 THEN COUNTER=0; Q= NOT Q; ELSE COUNTER=COUNTER+1; END IF; END IF;由VHDL程序代码生成生成如图5.2所示的图元,元件,其中clr端口输入清零信号;clk端口输入时钟信号;q端口是分频的结果输出。图5.2 分频器图元元件5.3.2 计数模块1、秒与分模块为六十进制的计数器秒和分的计数都是用60进制的计数器实现的。秒的时钟信号由分频器提供,当个位Q1计数到“9”后会产生一个进位信号给十位Q2,同时个位会被清零,依次循环下去直到个位为“9”,十位为“5”时,COUT会向下一位产生进位信号,同时Q1,Q2会

39、被清零。秒的COUT会向校时模块的MI产生驱动信号,在正常计时状态下驱动分计数器的时钟信号来使得分计数器正常计数。同理,分的COUT会驱动时的时钟信号,使得时计数器正常计数。 IF CLKEVENT AND CLK=1 THENQ1=Q1+1;IF Q1=9 THEN Q10);Q2=Q2+1;END IF;IF Q2=5 AND Q1=9 THEN Q2=0000;Q1=0000;COUT=1;ELSE COUT=0;END IF;END IF;由VHDL程序代码生成生成如图5.3所示的图元元件,其中CLK端口输入分频得到的秒脉冲信号(分计数则为低位的进位信号);Q13.0端口为秒/分计数的

40、个位输出;Q23.0端口为秒/分计数的十位输出;COUT端口是向高位的进位输出端口。图5.3 秒/分计数模块的图元元件该模块的仿真波形如图5.4所示:图5.4 60进制计数器仿真图如图5.4所示当Q1、Q2计满60时,Q1、Q2都归零同时有一个进位输出脉冲,完成了六十进制计数器的功能。2、时模块为24进制计数器根据分计数模块可知时计数模块的时钟信号是在正常计时情况下,由分计数模块的COUT产生的进位信号给的。时计数模块是由24进制计数实现的。当个位Q1计数达到“9”后会向十位Q2产生进位,使得十位开始计数。当Q1为“2”并且Q2为“3”时,COUT会向校时模块的SI产生进位信号,在正常计时情况

41、下驱动天的时钟信号,使得天计数模块正常计数。同时Q1,Q2会被清零。由VHDL程序代码生成生成如图5.5所示的图元元件,其中CLK端口为低位的进位信号;Q13.0端口为时计数的个位计数输出信号;Q23.0端口为时计数的十位计数输出信号;COUT端口为向高位的进位输出信号。 图 5.5 时计数模块的图元元件IF CLKEVENT AND CLK=1 THENQ1=Q1+1;IF Q1=9 THEN Q10);Q2=Q2+1;END IF;IF Q2=2 AND Q1=3 THEN Q2=0000;Q1=0000;COUT=1;ELSE COUT=0;END IF;END IF;该模块的仿真波形如

42、图5.6所示:图 5.6 24进制计数器仿真图如图5.6所示当Q1、Q2计满24时,Q1、Q2都归零同时有一个进位输出脉冲,完成了六十进制计数器的功能。3、日计数模块日计数有四种情况:大月为31进制计数器,小月为30进制计数器,平年二月为28进制计数器,闰年二月为29进制计数器。因此,需要有一个二位判断输入信号来进行进制数的选择。判断信号PANDUAN为“00”时为31进制计数,判断信号为“01”时为30进制计数,判断信号为“10”时为28进制计数,判断信号为“11”时为29进制计数。它的判断信号来自月计数模块的判断信号。当CQ1,CQ2计数达到进位要求时,COUT会向校时模块的TI产生一个驱

43、动信号,在正常计时情况下来驱动月计数模块的时钟信号。同时CQ1,CQ2会被清零。IF CLKEVENT AND CLK=1 THEN -上升沿CQ3=CQ3+1;IF CQ3=9 THEN CQ30);CQ4=CQ4+1;END IF;PANIF CQ3=0001 AND CQ4=0011 -判断信号为00时为31进 THEN CQ3=0001;CQ4=0000;COUT=1; - 制计数器ELSE COUTIF CQ3=0000 AND CQ4=0011 -判断信号为01时为30进THEN CQ3=0001;CQ4=0000;COUT=1; - 制计数器ELSE COUTIF CQ3=100

44、0 AND CQ4=0010 -判断信号为10时为28进THEN CQ3=0001;CQ4=0000;COUT=1; - 制计数器ELSE COUTIF CQ3=1001 AND CQ4=0010 -判断信号为11时为29进THEN CQ3=0001;CQ4=0000;COUT=1; - 制计数器 ELSE COUTNULL;END CASE;END IF;由VHDL程序代码生成生成如图5.7所示的图元元件,其中PANDUAN1.0端口是判断月份大小的判断信号,它由月计数模块提供;CLK端口是低位进位信号提供的时钟信号;CQ13.0端口是天计数的个位计数输出信号;CQ23.0端口是天计数的十位计数的输出信号;COUT端口是向高位产生进位的输出端口。图5.7 天计数模块的图元元件该模块的仿真波形如图5.8、5.9、5.10、5.11所示:图5.8判断信号为00时31天计数模块仿真图图 5.9判断信号为01时30天计数模块仿真图图5.10 判断信号为10时28天计数模块仿真图图 5.11 判断信号为11时29天计数模块仿真图4、月计数模块月模块为12进制计数器

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1