ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:365.49KB ,
资源ID:5748769      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5748769.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于Verilog HDL的闹钟设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于Verilog HDL的闹钟设计.docx

1、基于Verilog HDL的闹钟设计封面删除你懂的摘 要随着微电子技术、计算机技术、半导体技术的发展,很多传统的数字门电路的设计已经被可编程逻辑器件替代。而对于传统的模拟控制技术,也被数字控制系统所取代。数字系统在各个领域显示出了无穷的魅力与优势,如今已经被广泛应用于实际工程中。本文利用Verilog HDL 语言自顶向下的设计方法设计多功能数字钟, 实现时、分、秒的计时和校时,以及整点报时和闹钟的功能。突出了其作为硬件描述语言的良好的可读性、可移植性和易理解等优点, 并通过ModelSim SE 6.5 完成综合、仿真。通过Verilog HDL语言完成数字钟的层次化设计。关键词:数字电子时

2、钟,有限状态机,功能仿真AbstractAs the microelectronics, computer technology, semiconductor technology, many traditional design of digital gate programmable logic device has been replaced. As for the traditional analog control, digital control systems have also been replaced. Digital systems in various fields h

3、as shown infinite charm and advantages, and now has been widely used in practical projects. In this paper, Verilog HDL, the design of top-down multi-functional digital clock designed to achieve the hours, minutes, seconds, time and school, as well as the whole point timekeeping and alarm functions.

4、Highlighted as a hardware description language, good readability, portability and ease of understanding, etc., and through the ModelSim SE 6.5 complete the comprehensive, simulation. Completed by Verilog HDL, the level of the digital clock design.朗读显示对应的拉丁字符的拼音字典Key words: Digital electronic clock,

5、finite state machine, functional simulation显示对应的拉丁字符的拼音字典.目 录第1章 绪论.11.1时钟的发展简史.11.2设计目的.11.3Verilog HDL硬件描述语言.21.4Modelsim仿真工具.5第2章 数字电路设计方法.72.1数字系统设计简介.72.2有限状态机.9第3章 数字钟的层次化设计.133.1功能要求.133.2数字钟系统的工作原理.133.3 模块的设计.133.4程序设计.14第4章 功能仿真.194.1 仿真前准备.194.2 功能仿真.20第5章 总结.23参考文献.26第1章 绪论1.1时钟的发展简史设计目的

6、公元1300年以前,人类主要是利用天文现象和流动物质的连续运动来计时。例如,日晷是利用日影的方位计时;漏壶和沙漏是利用水流和沙流的流量计时。东汉张衡制造漏水转浑天仪,用齿轮系统把浑象和计时漏壶联结起来,漏壶滴水推动浑象均匀地旋转,一天刚好转一周,这是最早出现的机械钟。北宋元祜三年(1088)苏颂和韩公廉等创制水运仪象台,已运用了擒纵机构。1350年,意大利的丹蒂制造出第一台结构简单的机械打点塔钟,日差为1530分钟,指示机构只有时针;15001510年,德国的亨莱思首先用钢发条代替重锤,创造了用冕状轮擒纵机构的小型机械钟;1582年前后,意大利的伽利略发明了重力摆;1657年,荷兰的惠更斯把重

7、力摆引入机械钟,创立了摆钟。1660年英国的胡克发明游丝,并用后退式擒纵机构代替了冕状轮擒纵机构;1673年,惠更斯又将摆轮游丝组成的调速器应用在可携带的钟表上;1675年,英国的克莱门特用叉瓦装置制成最简单的锚式擒纵机构,这种机构一直沿用在简便摆锤式挂钟中。1695年,英国的汤姆平发明工字轮擒纵机构;1715年,英国的格雷厄姆又发明了静止式擒纵机构,弥补了后退式擒纵机构的不足,为发展精密机械钟表打下了基础;1765年,英国的马奇发明自由锚式擒纵机构,即现代叉瓦式擒纵机构的前身;17281759年,英国的哈里森制造出高精度的标准航海钟;17751780年,英国的阿诺德创造出精密表用擒纵机构。1

8、819世纪,钟表制造业已逐步实现工业化生产,并达到相当高的水平。20世纪,随着电子工业的迅速发展,电池驱动钟、交流电钟、电机械表、指针式石英电子钟表、数字式石英电子钟表相继问世,钟表的日差已小于0.5秒,钟表进入了微电子技术与精密机械相结合的石英化新时期。1.2设计目的1. 掌握各类计数器及将他们相连的方法2. 掌握多个数码管动态显示的原理与方法3. 掌握用FPGA技术的层次化设计方法4. 进一步掌握用Verilog硬件描述语言的设计思想5. 了解相关数字系统的设计1.3 Verilog HDL硬件描述语言1.3.1Verilog HDL的发展过程与编程特点Verilog HDL是一种硬件描述

9、语言(HDL:Hardware Discription Language),是一种以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。Verilog HDL就是在用途最广泛的C语言的基础上发展起来的一种件描述语言,它是由GDA(Gateway Design Automation)公司的PhilMoorby在1983年末首创的,最初只设计了一个仿真与验证工具,之后又陆续开发了相关的故障模拟与时序分析工具。1985年Moorby推出它的第三个商用仿真器Verilog-XL,获得了巨大的成功,从而使得Verilog HDL迅速得

10、到推广应用。Verilog HDL充分保留了C语言简洁、高效的编程风格,其中有许多语句和C语言中的语句十分相似,如if语句、case语句等。1.3.2Verilog HDL的基本结构1)模块的基本结构模块是Verilog DHL语言的基本单元。一个模块可以大道代表一个完整的系统,也可以小到仅代表最基本的逻辑单元。模块内部具体行为的描述或实现方式的改变,并不会影响该模块与外部之间的连接关系。一个Verilog模块可被任意多个其他模块所调用,但由于Verilog HDL所描述的是具体的硬件电路,一个模块代表具有特定功能的一个电路块,每当它被某个其他模块调用一次,则在该模块内部,被调用的模块将原原本

11、本的复制一次。一个完整的Verilog HDL模块由以下五部分组成。(1)模块定义行。 这一行以module开头,接着给出所定义模块的模块名,模块名是模块唯一的标识符;之后的括号内给出的是端口名列表,端口名列表是由模块的各个输入、输出和双向端口组成的一张端口列表,这些端口用来与其他模块进行连接;最后以分号结束。当无端口名列表时,括号可省去。(2)端口类型说明接在模块定义行后面的是对端口类型的说明,凡是出现在端口名列表中的端口,都必须显示说明其端口类型。(3)数据类型说明 Verilog HDL支持的数据类型有连线类和寄存器类两个大类,每个大类有细分为多种具体的数据类型。数据类型定义部分用来指定

12、模块内用到的数据对象为寄存器型或连线型,除了1位宽的wire类可缺省外,其他将在后面的描述中出现的变量都应给出相应的数据类型说明。(4)描述部分 本部分具体展开对模块功能的描述。(5)结束行结束行是用关键词endmodule标志模块定义的结束。 2)模块的描述在模块的功能描述中,可用下述方式描述一个设计:数据流方式;行为方式;结构方式;上述描述方式的混合。下面分别介绍模块的这几种描述方式。(1)数据流描述方式数据流型描述主要用来描述组合功能,具体由“assign”连续赋值语句来实现。(2)行为描述方式行为描述时一种高级语言使用到的方法,Verilog中的行为描述方式具有很强的通用性。行为描述是

13、通过行为语句来实现的,行为功能可使用下述过程语句结构描述。Initial语句:此语句只执行一次。Always语句:此语句循环执行。(3)结构描述方式结构描述方式是通过实例进行描述的方法。它将Verilog中预定义的基本元件实例嵌入到语言中,监控实例的输入,一但其中任何一个发生变化,便重新运算并输出。(4)混合型描述方式在模块中,用户可以混合使用以上几种描述方式,也就是说,模块中可以包含门的实例、模块实例语句、连续赋值语句、always语句和initial语句以及它们的混合语句,并且它们之间可以相互包含。1.3.3Verilog HDL的层次设计实现过程用Verilog HDL进行硬件设计的过程

14、实质上是把构成硬件系统的各功能模块进行Verilog描述,也可以使结构描述,前者侧重刻画模块所具有的行为特征,后者侧重反映模块内部的具体构造。通常一个硬件系统是由多个不同的功能模块所组成的,因而总会存在这样一个模块,他用结构描述的方法,将构成硬件系统的所有功能模块连接起来,这个模块就是系统的顶层模块。相对于顶层模块,其他的模块就是低一层次的模块。在对低一层次的模块进行描述时,如果有必要,可以同样用结构描述的方法,把模块的内部结构进一步具体的刻画出来,相对于顶层模块而言,用于构造低一层次模块的结构单元就属于更低一个层次。因而随着设计过程的展开,一个硬件系统的构造逐渐由顶层走向底层,各个功能模块的

15、内部结构逐渐得到深化和细化,整个设计过程因而被称之为一个自顶向下的分级设计过程。在这个自顶向下的设计过程的任何阶段,都可以利用仿真工具对处于设计过程中的系统描述进行性能评估与正确性检测。在自顶向下的设计过程中,对于上层模块来说,只需要 知道某个模块的名称与端口类型,就可把它作为自己的一个下层模块进行调用。至于下层模块的具体实现方式,或者从一种实现方式转换到另一种实现方式,都不会对上层 模块的描述产生任何影响。这是自顶向下设计方法一个突出的优点。在设计过程中,通过仿真测试,如果发现性能不够理想,或者发现任何错误,只需对存在问题的低层的描述或实现方式进行修改或调整,而不必对上层结构进行任何改变。所

16、谓的顶层和底层都是相对的。在实际设计过程中,总是把当前正在实现的模块作为一个局部的顶层模块,在完成描述后,先单独对他进行仿真测试,在验证其正确性后在加入需要调用它的模块中,而成为整个系统设计中某一个层次的功能模块,一个大的电子系统设计就是这样从顶层到底层,边设计,边仿真,并依据仿真结果,反复调整或优化的过程。1.4 Modelsim仿真工具ModelSim是业界最优秀的HDL语言仿真器。它提供最友好的调试环境,是唯一的单内核支持VHDL和Verilog混合仿真的仿真器。是作FPGA/ASIC设计的RTL级和门级电路仿真的首选,它采用直接优化的编译技术、Tcl/Tk技术、和单一内核仿真技术,编译

17、仿真速度快,编译的代码与平台无关,便于保护IP核,个性化的图形界面和用户接口,为用户加快调错提供强有力的手段。全面支持VHDL和Verilog语言的IEEE 标准,支持C/C+功能调用和调试。ModelSim专业版,具有快速的仿真性能和最先进的调试能力,全面支持UNIX(包括64位)、Linux和Windows平台。主要特点:RTL和门级优化,本地编译结构,编译仿真速度快;单内核VHDL和Verilog混合仿真;源代码模版和助手,项目管理;集成了性能分析、波形比较、代码覆盖等功能;数据流ChaseX;Signal Spy;C和Tcl/Tk接口,C调试。是业界唯一单一内核支持VHDL、 Veri

18、log HDL和SystemC混合仿真的仿真器同时也支持业界最广泛的标准如Verilog 2001、SystemVerilog等,内部集成了用于C/C+,PLI/FLI和SystemC的集成C调试器。支持众多的ASIC和FPGA厂家库,可以用于FPGA和ASIC设计的RTL级和门级电路仿真。下面图1.1为modelsim的主界面。图1.1modelsim主界面ModelSim最大的特点是其强大的调试功能:先进的数据流窗口,可以迅速追踪到产生不定或者错误状态的原因;性能分析工具帮助分析性能瓶颈,加速仿真;代码覆盖率检查确保测试的完备;多种模式的波形比较功能;先进的Signal Spy功能,可以方

19、便地访问VHDL 或者VHDL和Verilog混合设计中的底层信号;支持加密IP;可以实现与Matlab的Simulink的联合仿真。ModelSim分几种不同的版本:SE、PE、LE和OEM,其中SE是最高级的版本而集成在 Actel、Atmel、Altera、Xilinx以及Lattice等FPGA厂商设计工具中的均是其OEM版本。SE版和OEM版在功能和性能方面有较大差别,比如对于大家都关心的仿真速度问题,以Xilinx公司提供的OEM版本ModelSim XE为例,对于代码少于40000行的设计,ModelSim SE 比ModelSim XE要快10倍;对于代码超过40000行的设计

20、,ModelSim SE要比ModelSim XE快近40倍。以下列表介绍了OEM版本(以Xilinx公司提供的ModelSim XE版本为例)与ModelSim SE版本之间的差异。ModelSim SE支持PC、UNIX和LINUX混合平台;提供全面完善以及高性能的验证功能;全面支持业界广泛的标准;Mentor Graphics公司提供业界最好的技术支持与服务。第2章 数字电路设计方法2.1数字系统设计简介2.1.1数字系统从概念上讲,凡是利用数字技术处理和传输信息的系统都可以称为数字系统。通常把门电路、触发器等称为逻辑器件。将由逻辑器件构成,能执行某单一功能的电路,如计数器、译码器、加法

21、器等称为逻辑功能部件,把有逻辑功能部件组成的能实现复杂功能的数字电路称为数字系统。复杂的数字系统可以分割称为若干个子系统,例如,计算机就是一个内部结构相当复杂的数字系统。近几年来,IC技术的发展日新月异,而最具有代表性的IC芯片主要包括以下几类:微控制芯片(MCU);可编程逻辑器件(PLD);数字信号处理器(DSP);大规模存储芯片(RAM&ROM)。这几类器件在最近20年均取得了长足的发展,无论是芯片的规模还是性能都有了巨大的提高,构成了现代数字系统的基石。2.1.2数字系统设计方法数字系统一般由控制电路、多个受控电路、输入/输出电路、时基电路等几部分构成,如图2.1所示。 图2.1数字系统

22、设计方法构成图一般来说,电子系统的设计有两种思路,一种是自下而上的设计思路,一种自上而下的设计思路。(1)自下而上的设计自下而上的设计,也可称为自底向上的设计,过程从最底层设计开始。设计系统硬件时,首先选择具体的元器件,用这些元器件通过逻辑电路设计,完成系统中各独立功能模块的设计,再把这些功能模块连接起来,总装成完整的硬件系统。(2)自上而下的设计自上而下的设计,也可称为自顶向下的设计。它是目前常用的数字系统设计方法,也是基于芯片的系统设计的主要方法。它在功能划分、任务分配及设计管理上有一定的长处。2.1.3数字系统设计流程 数字系统的设计可分为四个层次,即系统级设计、电路级设计、芯片级设计和

23、电路板级设计。相应的,从提出设计要求到完成系统成品,数字系统设计可分为以下几个步骤:系统设计、电路设计、芯片设计、PCB设计、结构设计及电路调试和系统调试,如图2.2所示。图2.2数字系统设计流程图2.1.4数字系统设计准则进行数字系统设计时,通常需要考虑多方面的条件和要求。如设计的功能和性能要求,元器件的资源分配和设计工具的可实现性,系统的开发费用和成本等。虽然具体设计的条件和要求千差万别,实现方法也个各相同,但数字系统设计还是具备一些共同的方法和准则。1) 分割准则自顶向下设计方法或其他层次化设计方法需要对系统功能进行分割,然后用逻辑语言进行描述。分割过程中,若分割过粗,则不易用逻辑语言表

24、达;若分割过细,则会带来不必要的充分和繁琐。因此,分割合适与否对系统设计是否方便有着至关重要的影响。2) 系统的可观测性一个系统除了引脚上的信号外,系统内部的状态也是需要测试的内容。因此,在系统设计中,应该同时考虑功能检查和性能的测试,即系统观测性的问题。3) 系统的稳定性设计时应注意采取措施避免竞争和增加系统稳定性。4) 最优化设计设计中常见的最优化目标有:(1)器件资源利用率最高;(2)系统工作速度最快,即延时最小;(3)布线最容易。2.2有限状态机2.2.1有限状态机简介有限状态机(FSM)又称为有限状态自动机或简称状态机,是表示有限个状态以及这些状态之间的转移和动作的数学模型。一般来说

25、,除了输入部分和输出部分外,状态机还含有一组具有“记忆”功能的寄存器,这些寄存器的功能是记忆有限状态机的内部状态,他们常被称为状态寄存器。其中,寄存器逻辑的功能是存储有限状态机的内部状态;而组合和逻辑又可分为次态逻辑和输出逻辑两部分,次态逻辑的功能是确定有限状态机的下一个状态,输出逻辑的功能是确定有限状态机的输出。在实际应用中,根据有限状态机的输出信号是否与输入信号有关,将其分为Moore(莫尔)型有限状态机和Mealy(米里)型有限状态机两种类型。Moore型状态机输出信号仅与当前状态有关,如图2.3。即可以把Moore型有限状态的输出看成是当前状态的函数。Mealy型状态机输出信号不仅与当前状态有关,而且还与输入信号有关,如图2.4即可以把Mealy型状态机的输出看成是当前状态和输入信号的函数。 图2.3Moore函数图输出当前状态激励输入时钟信号 图2.4Mealy函数图需要注意的是Mealy型状态机的输出是当前状态和输入信号的函数,它的输出是在输入变化后立即发生的,不依赖时钟的同步。而Moore型状态

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1