verilog数字钟_第1页
verilog数字钟_第2页
verilog数字钟_第3页
verilog数字钟_第4页
verilog数字钟_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

1、武汉理工大学课程设计 基于Verilog HDL的简易电子钟设计 摘 要Verilog是广泛应用的硬件描述语言,可以用在硬件设计流程的建模、综合和模拟等多个阶段。随着硬件设计规模的不断扩大,应用硬件描述语言进行描述的CPLD结构,成为设计专用集成电路和其他集成电路的主流。通过应用Verilog HDL对简易电子钟的设计,达到对Verilog HDL的理解,同时对CPLD器件进行简要了解。本文着眼于使用EDA开发工具实现简易电子钟的设计。随着微电子技术,计算机技术的不断发展和完善,EDA技术已日趋成熟逐渐成为现代电子技术的核心。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语

2、言Verilog HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。EDA技术广泛应用于机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域。对Altera公司Flex 10K系列的EPF10K 10简要介绍,Altera公司软件Max+plus简要介绍和应用Verilog HDL对电子钟进行设计。关键词:电子钟;现代电子技术;EDA技术;专用集成电路;AbstractIs widely used V

3、erilog hardware description language, can be used in hardware design process modeling, synthesis and simulation phases. With the constant expansion of the hardware design, hardware description language to describe the application of the CPLD architecture, a design of ASICs and other ICs mainstream.

4、Through the application of Verilog HDL design of simple electronic clock, to the understanding of Verilog HDL, while a brief understanding of the CPLD device. This article focuses on the use of EDA tools to achieve the design of simple electronic clock. As microelectronic technology, computer techno

5、logy continues to evolve and improve, EDA technology has matured gradually become the heart of modern electronic technology. EDA technology is to the computer as a tool designer in EDA software platform, with complete hardware description language Verilog HDL design files, and automatically by a com

6、puter to complete the logic compiler, simplification, segmentation, integration, optimization, placement, routing and simulation, up adapter chip for the specific target compilation, mapping and programming logic to download and so on. EDA technologies, circuit design greatly improves the efficiency

7、 and operability, reducing the labor intensity of the designer. EDA technology is widely used in machinery, electronics, communications, aerospace, chemical, mineral, biological, medical, military and other fields. On Altera's Flex 10K series EPF10K 10 brief, Altera Corporation Software Max + pl

8、us Brief introduction and application of Verilog HDL design of the electronic clock.Keywords: modern electronic technology; EDA technology; specific integrated circuit; 目 录摘 要IIABSTRACTIII引 言1一、绪论21. 开发背景和目的22. 方案论证23. 设计内容和主要工作3二、电子钟开发环境及硬件基础51. Verilog HDL硬件描述语言简介52EPF10K 10相关说明7三、电子钟的7大模块设计及仿真芯片生

9、成91. 计时功能模块92. 闹铃设置功能模块93 .校时功能模块104. 秒表功能模块115. 整点报时功能模块126. 闹铃屏蔽及响铃功能模块137. 秒表提示铃声功能模块13四、电子钟的设计及仿真141功能描述142源程序(基于Verilog HDL语言)143 . 模块仿真204. 译码显示模块21五、论文总结23致 谢24参考文献25 引 言随着电子技术的发展,现场可编程门阵列FPGA和复杂可编程逻辑器件CPLD的出现,使得电子系统的设计者利用与器件相应的电子CAD软件,在实验室里就可以设计自己的专用集成电路ASIC器件。这种可编程ASIC不仅使设计的产品达到小型化、集成化和高可靠性

10、,而且器件具有用户可编程特性,大大缩短了设计周期,减少了设计费用,降低了设计风险。目前数字系统的设计可以直接面向用户需求,根据系统的行为和功能要求,自上至下地逐层完成相应的描述综合优化仿真与验证,直到生成器件,实现电子设计自动化。其中电子设计自动化(EDA)的关键技术之一就是可以用硬件描述语言(HDL)来描述硬件电路。VHDL是用来描述从抽象到具体级别硬件的工业标准语言,它是由美国国防部在80年代开发的HDL,现在已成为IEEE承认的标准硬件描述语言。VHDL支持硬件的设计、验证、综合和测试,以及硬件设计数据的交换、维护、修改和硬件的实现,具有描述能力强、生命周期长、支持大规模设计的分解和已有

11、设计的再利用等优点。利用VHDL这些优点和先进的EDA工具,根据具体的实际要求,我们可以自己来设计串口异步通信电路。一、绪论1. 开发背景和目的二十一世纪是信息化高速发展的世纪,产业的信息化离不开硬件芯片的支持。芯片技术的进步是推动全球信息化的动力。因此在二十一世纪掌握芯片技术是十分有必要的。20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。这些器件可以通过软件编程而对其

12、硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分

13、析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。 Verilog HDL是一种硬件描述语言(HDL:Hardware Discription Language),是一种以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。以硬件描述语言Verilog 所完成的电路设计,可以经过简单的综合与布局,快速的烧录至 FPGA 上进行测试,是现代 IC 设计验证的技术主流。2. 方案论证方案一采用数字逻辑电路制作,用IC 拼凑焊接实现,这种电路很直观,简单方便。但应用数字逻辑电路制作的话,使用的器件较多,连接复杂,体积

14、大,功耗大。电路中焊点和线路较多会,使成品的稳定度和精度大大降低。方案二采用现场可编程逻辑器件(FPGA)制作,利用EDA软件中的Verilog HDL硬件描述语言编程进行控制,然后烧制实现.采用FPGA来设计的原理图由控制输入电路、FPGA、显示电路和扬声器电路组成。控制输入电路主要是为用户设计的,起到一个输入控制的作用.FPGA是现场可编程逻辑器件,也是本设计方案的核心内容,它是实现电子钟运作的主要控制模块.由设计者把编好的Verilog HDL程序烧制到现场可编程逻辑器件FPGA中,然后通过控制输入电路时间把信号输入到FPGA,产生不同的频率驱动扬声器.同时也把发出的时间信号通过显示器输

15、出。方案三单片机现在已经达到很成熟的阶段了,它的应用也十分广泛. 采用单片机来实现电子钟。 对于电子钟的设计,三个方案均可以实现,但是第一个方案中采用的是数字逻辑电路来制作,该电路硬件所需的器材多,体积庞大,比较复杂,而且精度和稳定度都不是很高.第二个方案采用的是现场可编程逻辑器件来实现, 它的优点是所有电路集成在一块芯片上,此方案所需的外围电路简单,这样它的体积就减少了,同时还提高了系统的稳定度。还可以用MAX+PLUS II软件进行仿真和调试等。设计人员可以充分利用Verilog HDL硬件描述语言方便的编程,提高开发效率,缩短研发周期,降低研发成本;而且易于进行功能的扩展,实现方法灵活,

16、调试方便,修改容易.方案三也有它的优点,但同时也存在缺点.它对设计者的要求比较高,设计者对软硬件必须十分熟悉.和方案二来比它的实验仿真没有方案二简单直观,调试也有一定的难度.在外界环境相同的条件下,方案三设计出来的产品精度和稳定度要比方案二稍微差一些.因此,电子钟的设计我们选择方案二来实现。3. 设计内容和主要工作1基本功能Ø 具有“秒”、“分”、“时”计时功能,小时按24小时制计时。Ø 具有校时功能,能对“分”和“小时”进行调整。Ø 具有闹钟功能,在设定的时间发出闹玲音,其中闹铃设置为00:00时无效。Ø 具有整点报时功能,每逢整点按照秒的时序产生四短

17、一长的报时音。二、电子钟开发环境及硬件基础1. Verilog HDL硬件描述语言简介Verilog HDL就是在用途最广泛的C语言的基础上发展起来的一种硬件描述语言,它是由GDA(Gateway Design Automation)公司的PhilMoorby在1983年末首创的,最初只设计了一个仿真与验证工具,之后又陆续开发了相关的故障模拟与时序分析工具。1985年Moorby推出它的第三个商用仿真器Verilog-XL,获得了巨大的成功,从而使得Verilog HDL迅速得到推广应用。1989年CADENCE公司收购了GDA公司,使得VerilogHDL成为了该公司的独家专利。1990年C

18、ADENCE公司公开发表了Verilog HDL,并成立LVI组织以促进Verilog HDL成为IEEE标准,即IEEE Standard 1364-1995.模块是Verilog 的基本描述单位,用于描述某个设计的功能或结构及其与其他模块通信的外部端口。一个设计的结构可使用开关级原语、门级原语和用户定义的原语方式描述; 设计的数据流行为使用连续赋值语句进行描述; 时序行为使用过程结构描述。一个模块可以在另一个模块中使用。说明部分用于定义不同的项,例如模块描述中使用的寄存器和参数。语句定义设计的功能和结构。说明部分和语句可以散布在模块中的任何地方;但是变量、寄存器、线网和参数等的说明部分必须

19、在使用前出现。为了使模块描述清晰和具有良好的可读性, 最好将所有的说明部分放在语句前。本书中的所有实例都遵守这一规范。在模块中,可用下述方式描述一个设计:(1) 数据流方式;(2) 行为方式;(3) 结构方式;(4) 上述描述方式的混合。Verilog HDL模型中的所有时延都根据时间单位定义。 使用编译指令将时间单位与物理时间相关联。这样的编译器指令需在模块描述前定义。如果没有编译器指令, Verilog HDL 模拟器会指定一个缺省时间单位。IEEE Verilog HDL 标准中没有规定缺省时间单位。用数据流描述方式对一个设计建模的最基本的机制就是使用连续赋值语句。在连续赋值语句中,某个

20、值被指派给线网变量。请注意连续赋值语句是如何对电路的数据流行为建模的;这种建模方式是隐式而非显式的建模方式。此外,连续赋值语句是并发执行的,也就是说各语句的执行顺序与其在描述中出现的顺序无关。设计的行为功能使用下述过程语句结构描述:(1) initial语句:此语句只执行一次。(2) always语句:此语句总是循环执行, 或者说此语句重复执行。只有寄存器类型数据能够在这两种语句中被赋值。寄存器类型数据在被赋新值前保持原有值不变。所有的初始化语句和always语句在0时刻并发执行。在顺序过程中出现的语句是过程赋值模块化的实例。模块化过程赋值在下一条语句执行前完成执行。过程赋值可以有一个可选的时

21、延。时延可以细分为两种类型:(1) 语句间时延: 这是时延语句执行的时延。(2) 语句内时延: 这是右边表达式数值计算与左边表达式赋值间的时延。在Verilog HDL中可使用如下方式描述结构:(1) 内置门原语(在门级);(2) 开关级原语(在晶体管级);(3) 用户定义的原语(在门级);(4) 模块实例 (创建层次结构)。通过使用线网来相互连接。Verilog HDL 的设计流程:1 文本编辑:用任何文本编辑器都可以进行,也可以用专用的 HDL 编辑环境。通常 Verilog HDL 文件保存为 .v 文件。 2 功能仿真:将文件调入 HDL 仿真软件进行功能仿真,检查逻辑功能是否正确(也

22、叫前仿真,对简单的设计可以跳过这一步,只有在布线完成之后,才进行时序仿真)。 3 逻辑综合:将源文件调入逻辑综合软件进行综合,即把语言综合成最简的布尔表达式。逻辑综合软件会生成 .edf ( EDIF )的 EDA 工业标准文件。4 布局布线:将 .edf 文件调入 PLD 厂家提供的软件中进行布线,即把设计好的逻辑安放到 CPLD/FPGA 内。 5 时序仿真:需要利用在布局布线中获得的精确参数,用仿真软件验证电路的时序(也叫后仿真)。2EPF10K 10相关说明EPF10K 10隶属于Altera公司生产的FLEX 10K系列产品,此系列集成度从几万门到几十万门,是业界第一个在PLD中嵌入

23、存储器块的器件。具有许多特点:高密度。10000到250000典型门;功能强大的I/O引脚。每一个引脚都是独立的三态门结构,具有可编程的速率控制;嵌入式阵列块(EAB)。每个EAB提供2K比特位,可用来作存储器使用或者用来实现一般的逻辑功能;逻辑单元采用查找表(LUT)结构;采用快速通道(Fast Track)互连,速度快并可预测延时;具有实现快速加法器和计数器的专用进位链和实现高速、多输入逻辑函数的专用级连链;其中EPF10K 10相关电路说明如下:EPF10K10板,内含预定型10K10主体电路和自定义实验区二个部分;预定型10K10主体电路特点如下:采用ALTERA公司10K10 PLC

24、C84 脚器件;使用有源晶振4MHZ增强线路板抗干扰性能;采用三种不同的配置方式,对ALTERA公司的10K10芯片进行配置:通过EDA软件使用本板提供的JTAG接口下载到10K10器件中对其进行加载配置;通过EDA软件使用本板提供的PS MODE接口下载到10K10器件中对其进行加载配置;为了确保系统板掉电又重新上电后能使10K10正常运行,本系统板提供ALTERA公司EPC1441或EPC1P8二种器件对10K10作上电后自动加载配置。本EDA板提供电源接线端子+5V,GND数字地,+12V或自定义,-12V或自定义,SGND模拟地及电源测试引线口+5V、+12V、-12V,均给出信号信息

25、LED指示灯,本EDA板提供JTAG PS MODE代码下载信号信息LED指示灯。自定义实验区特点如下:本EDA板提供三个试验区,其中数字电路实验区A、B二个,模拟电路实验区C一个;为了提高EDA系统板抗干扰性能,模拟地和数字地采用分开设计,而且增加了实验区电路的可塑性,数字电路实验区配有+5V GND数字地,用户电路实验自由连接点,模拟电路实验区配有+5V SGND模拟地,+12V、-12V用户电路实验,自由连接点,用户实验区电路自由连接点共为1908个点,其中数字电路实验区用户自由连接点为2x49行x12列+6行x8列=1272个点,模拟电路实验区用户自由连接点为49行x12列+6行x8列

26、=636个点,提供10K10可用的全部I/O脚引线插座,方便与用户实验区任意连接。实验区连线方式通常使用三种方式:元器件直接焊接方式,一次性使用;实验区可焊接可插接排针孔,以便实验电路任意搭接,增强使用的灵活性,多次性;实验区可选配安装通用实验面包板, 无须做b项操作,面包板可安装三块。EDA 板上跳线连接说明:JP8:控制EPC1441/EPC1P8 +5V电压的提供,JTAG MODE JP,JTAG下载方式支持由本跳线组确定4个全 短接,则允许JTAG方式下载;断开则屏蔽JTAG方式下载;PS MODE:JP PS下载方式支持由本跳线组确定5个全 短接,则允许PS方式下载;断开,则屏蔽P

27、S方式下载;JP10:MSEL0信号受控脚跳左,则MSEL0为0;跳右则MSEL0为1;JP11:MSEL1信号受控脚跳左,则MSEL1为0;跳右则MSEL1为1;PWR5V:+5V跳线开关跳左,+5V为ON接通;跳右+5V为OFF关闭;PIN1_OSC:ALTERA10K10 PIN1脚的时钟信号输入端,跳左CLOCK信号频率,由U5晶振确定;跳右,CLOCK信号频率由上层独立型适配器的时钟晶振确定;PIN43_OSC:ALTERA10K10 PIN43 脚的时钟信号输入端跳左,CLOCK信号频率由U5晶振确定;跳右,CLOCK信号频率由上层独立型适配器的时钟晶振确定;J1A:控制数字实验A

28、区的+5V;DC:电源电压;J2A:控制数字实验A区的电源电压数字信号地GND;J1B:控制数字实验B区的电源电压数字信号地GND;J1C:控制模拟实验C区的+12V;J2C:控制模拟实验C区的-12V;J3C:控制模拟实验C区的电源电压模拟信号地SGND 5;EDA板上电源端子接口LED 指示灯说明;JPWR:电源电压接线端子,从上往下顺序定义为+5V GND、+12V -12V SGND;PWRT:电源电压测试接线端子,从上往下顺序定义,同JPWR +5V GND、+12V -12V SGND;JTAG_MODE:ALTERA10K10 JTAG方式下载接口;PS_MODE: ALTERA

29、10K10 PS方式下载接口;10K10(IN1): ALTERA10K10 外扩展,I/O引线接口 1;10K10(IN2): ALTERA10K10 外扩展,I/O引线接口 2;JP2、JP3、JP4、JP5、JP6向上可选配;GEXIN:各种独立型适配器;LED指示灯:D2、D3、D4、TCK、LED、PS LED分别为+5V、+12V、-12V、JTAG;PS:信号指示灯。三、电子钟的7大模块设计及仿真芯片生成 本章根据模块功能共分为七个模块,分别为计时模块、闹铃设置模块、校时模块、秒表功能模块、整点报时模块、闹铃屏蔽及响铃功能模块、秒表提示铃声功能模块。1.计时功能模块模块功能为正常

30、计时,即每秒钟读一次数,秒表加1,秒计时满60进1给分计时,分计时满60进1给小时计时,小时计时满24清零。从功能上讲分别为模60计数器,模60计数器和模24计数器。图3-1计时模块芯片图图3-2计时模块仿真波形图2.闹铃设置功能模块模块功能为设置闹铃的分钟和小时,设置的时候由turn控制调整分钟及调整小时之间的切换,每按一次change,所调整的计数器加1,分钟计数器满60清零,小时计数器满24清零。图3-3闹铃模块芯片图图3-4 闹铃仿真波形图3.校时功能模块模块功能为修正分钟和小时时间以及秒钟的精确调整清零。由turn控制调整分钟和调整小时之间的切换,每按一下change所调整的计数器加

31、1,分钟计数器满60清零,小时计数器满24清零;秒种的精确调整清零具体为在正常计时的情况下,长时间按住turn,即可使秒钟清零,进行精确调时。 图3-5 校时模块芯片图图3-6 校时仿真波形图4. 秒表功能模块模块功能为进行手动计时,按一下count为计时,再按一次count为停止计时,保存计数数值,依此类推;按一次clr为计数清零,停止计数。计数器共有三个,分别为百分秒的模100计数器,秒钟的模60计数器和分钟的模60计数器。图3-7 秒表模块芯片图图3-8秒表仿真波形图5. 整点报时功能模块模块功能为当计时模块中分钟显示为59,秒种为55时开始,每秒都发出一次短音(1/4秒);当秒种和分钟

32、同时显示为0时,发出一声长音(3/4秒);clk1000为扬声器驱动频率。图3-9报时模块芯片图图3-10 报时模块仿真波形图6. 闹铃屏蔽及响铃功能模块功能为当计时模块中的分钟和小时都等于闹铃设置的分钟和小时的时候,从计时模块中的秒种为0时开始响铃,响铃时间20秒;但是可以通过一直按住change来屏蔽闹铃声音。7. 秒表提示铃声功能模块从秒表的分钟位和秒钟位均为59,且百分秒位为76开始,到分钟位秒钟位和百分秒位全部为零同时有分钟位产生的进位这一时刻,之间的14秒时间发出一声提示音,提示秒表已经计时1个小时,开始下一个小时的计时,请予以记录。由于这两个模块有太多的输入,所以不进行模块符号和

33、波形仿真。小节:首先由4HZ的输入时钟产生一个1HZ的时钟基准信号,用MODE信号应用CASE语句控制系统在MODE=2时产生小时调整信号COUNT1或分钟调整信号COUNTa(通过是否按下TURN决定)用于随后的手动校时;在MODE=1时就产生用于闹钟功能的小时调整信号COUNT2或分钟调整信号COUNTb(也通过是否按下TURN决定),现在调整的状态由LED-MIN和LED-HOUR两个发光二极管显示,这些COUNT信号由CHANGE键提供。再通过LOOP索引判断是否快速按下CHANGE键,若是,产生NUM1信号用于连续快速+1,此功能应用于手动校时和闹钟定时中。然后加入计时 校时中的分钟

34、计数时钟CT1,定时状态下调整分钟的时钟CT2,计时 校时中的小时计数时钟CTa,定时状态下调整小时的时钟CTb。再设计这些时钟下的进程:秒计数进程通过按住TURN且MODE不变一段时间来清零,当指示秒数的计数器十六进制数SEC1的前四位为1001(9)的时候,后四位+1(进一位)前四位清零,不然继续计数来实现。分计数进程当值MIN1=59时清零同时小时的时钟H-CLK+1,当指示分钟数的计数器十六进制数MIN1的前四位为D9的时候,后四位+1(进一位)前四位清零,不然继续计数。小时计数进程当值HOUR1=23时清零,当指示小时数的计数器十六进制数HOUR1的前四位为D9的时候,后四位+1(进

35、一位)前四位清零,不然继续计数。 闹铃功能的小时与分钟调节也同上理设置。 再通过赋值语句显示各个状态下的时分秒。四、电子钟的设计及仿真1功能描述计时功能 包括时、分、秒的计时,分别类似于模24、模60、模60计数器。闹钟功能 在设定的时间发出闹玲音,其中闹铃设置为00:00时无效。校时功能 能方便的对小时、分钟和秒进行手动调整以校准时间。整点报时 每逢整点按照秒的时序产生四短一长的报时音。秒表功能 在每次计数满一小时的时候,发出一声提示音。2源程序(基于Verilog HDL语言)module clock(CLK,CLK_1K,MODE,CHANGE,TURN,ALERT,HOU,MIN,SE

36、C,LD_AL,LD_H,LD_M);input CLK,CLK_1K,MODE,CHANGE,TURN;output 7:0 HOU,MIN,SEC;output ALERT,LD_AL,LD_H,LD_M;reg 7:0 HOU,MIN,SEC,THOU,TMIN,TSEC,AHOU,AMIN;reg 1:0 m,fm,sound;reg LD_H,LD_M;reg CLK_1Hz,CLK_2Hz,mclk,hclk;reg alert1,alert2,ear;reg count1,count2,lcount1,lcount2;wire ct1,ct2,lct1,lct2,m_clk,h_

37、clk;always (posedge CLK)begin CLK_2Hz<=CLK_2Hz; if(sound=3) begin sound<=0;ear<=1;end /ear信号用于产生或屏蔽声音 else begin sound<=sound+1;ear<=0;endendalways (posedge CLK_2Hz) CLK_1Hz<=CLK_1Hz; /产生1Hz的时基信号always (posedge MODE) /MODE信号控制3钟功能的转换 begin if(m=2) m<=0; /m=0:计时功能 else m<=m+1;

38、 /m=1:闹钟功能 end /m=2:手动校时always (TURN) fm<=fm; /校时时选择调整分钟还是小时alwaysbegin case(m) 2:begin if(fm) begin count1<=CHANGE; LD_H,LD_M<=2'b01; end else begin count2<=CHANGE; LD_H,LD_M<=2'b10; end count1,count2<=0; end 1:begin if(fm) begin lcount1<=CHANGE; LD_H,LD_M<=2'b01

39、; end else begin lcount2<=CHANGE; LD_H,LD_M<=2'b10; end lcount1,lcount2<=0; end default:count1,count2,lcount1,lcount2,LD_H,LD_M<=0; endcaseendalways (posedge CLK_1Hz) /秒计时和秒调整 if(!(TSEC8'h59)|TURN&(!m) begin TSEC<=0; if(!(TURN&(!m) mclk<=1; end else begin if(TSEC3:0

40、=9) begin TSEC3:0<=0; TSEC7:4<=TSEC7:4+1; end else TSEC3:0<=TSEC3:0+1; mclk<=0; endassign m_clk=mclk|count1;assign h_clk=hclk|count2;assign ct1=CLK|m_clk; /ct1用于计时、校时中的分钟计数assign ct2=CLK|h_clk; /ct2用于计时、校时中的小时计数 assign lct1=CLK|lcount1; /lct1用于定时状态下调整分钟信号assign lct2=CLK|lcount2; /lct2用于定

41、时状态下调整小时信号always (posedge ct1) /分计时和分调整 begin if(TMIN=8'h59) begin TMIN<=0; hclk<=1; end else begin if(TMIN3:0=9) begin TMIN3:0<=0; TMIN7:4<=TMIN7:4+1; end else TMIN3:0<=TMIN3:0+1; hclk<=0; end endalways (posedge ct2) /小时计时和小时调整 if(THOU=8'h23) THOU<=0; else begin if(THOU

42、3:0=9) begin THOU3:0<=0; THOU7:4<=THOU7:4+1; end else THOU3:0<=THOU3:0+1; endalways (posedge lct1) /闹钟定时中分钟调整 if(AMIN=8'h59) AMIN<=0; else if(AMIN3:0=9) begin AMIN3:0<=0; AMIN7:4<=AMIN7:4+1; end else AMIN3:0<=AMIN3:0+1; always (posedge lct2) /闹钟定时中小时调整 if(AHOU=8'h23) AHO

43、U<=0; else begin if(AHOU3:0=9) begin AHOU3:0<=0; AHOU7:4<=AHOU7:4+1; end else AHOU3:0<=AHOU3:0+1; endalways /闹钟功能:产生闹铃信号 if(THOU=AHOU)&&(TMIN=AMIN)&&(AHOU|AMIN)&&(!CHANGE) /若按住"CHANGE"键不放就可以屏蔽闹铃 if(TSEC<8'h30) alert1<=1; /设定闹铃声的长短,这里设为30秒 else

44、alert1<=0; else alert1<=0;always case(m) 0:begin HOU<=THOU; /计时状态下时、分、秒显示 MIN<=TMIN; SEC<=TSEC; end 1:begin HOU<=AHOU; /定时状态下时、分、秒显示 MIN<=AMIN; SEC<=8'hzz; end 2:begin HOU<=THOU; /校时状态下时、分、秒显示 MIN<=TMIN; SEC<=8'hzz; end endcaseassign LD_AL=(AHOU|AMIN)?1:0;alw

45、ays /整点报时功能:产生整点报时信号 begin if(TMIN=8'h59)&&(TSEC>8'h54)|(!(TMIN|TSEC) if(TSEC>8'h54) alert2<=ear & CLK_1K; /产生短音 else alert2<=!ear & CLK_1K; /产生长音 else alert2<=0; endassign ALERT=(alert1)?CLK_1K & CLK:0)|alert2; /闹铃音和整点报时信号输出endmodule3.模块仿真图4-1模块芯片生成图 图

46、4-2整体图仿真波形图图4-3局部仿真波图4. 译码显示模块3-8译码器的原理框图及真值表如图及表所示,3个输入a2:0可能出现8种组合情况:000,001,010,011,100,101,110,111,这样就可控制8个输出y7:0相应的某1位输出为“0”。a03-8译码器a1a2y7:0输 入 输 出a2:0 y7:0 000 11111110 001 11111101 010 11111011 011 11110111输 入 输 出a2:0 y7:0100 11101111101 11011111110 10111111111 01111111表4-1译码器真值表 图4-4译码器的原理框

47、图七段显示译码器的原理框图及真值表如图及表所示,4个输入d3:0可能出现16种组合情况;它的7个输出y6:0分别控制共阴LED数码管的a、b、c、d、e、f、g七段的亮/灭,从而显出对应的16个字符。abgcdefd3:0y6:0七段显示译码器图4-5七段显示译码器的原理框图表4-2 8421BCD七段显示译码器真值表输 入 输 出d3:0 y6:0a,b,c,d,e,f,g H"0" 1,1,1,1,1,1,0H"1" 0,1,1,0,0,0,0H"2" 1,1,0,1,1,0,1H"3" 1,1,1,1,0,0,1输 入 输 出d3:0 y6:0a,b,c,d,e,f,g H"4" 0,1,1,0,0,1,1H"5&

温馨提示

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

评论

0/150

提交评论