基于EDA的数字电子钟设计_第1页
基于EDA的数字电子钟设计_第2页
基于EDA的数字电子钟设计_第3页
基于EDA的数字电子钟设计_第4页
基于EDA的数字电子钟设计_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

1、石河子大学 王刘龙摘 要数字时钟,就是以数字显示取代模拟表盘的钟表,在显示上它用数字反应此时的时间,它还能同时显示时,分,秒,且能够对时,分,秒准确进行校时。数字时钟是一种用数字电路技术实现时、分、秒计时的装置。与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,已得到广泛的使用。数字钟从原理上讲是一种典型的数字电路,一般是由振荡器、分频器、计数器、显示器等几部分组成。其中包括了组合逻辑电路和时序电路。数字钟的设计方法有许多种,例如:可用中小规模集成电路组成电子钟;也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟;还可以利用单片机来实现电子钟等等。本

2、设计采用EDA技术,以硬件描述语言Verilog HDL为系统逻辑描述手段设计文件,在QUARTUS II工具软件环境下,采用自顶向下的设计方法,由各个基本模块共同构建了一个基于FPGA的数字钟。数字时钟以其体积小、重量轻、抗干扰能力强、对环境要求高、高精确性、容易开发等特性,在工业控制系统、智能化器仪表、办公自动化等诸多领域取得了极为广泛的应用,诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动启闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等。关键词:EDA、QuartusII、Verilog HDL、FPGA芯片、数字时钟等1AbstractDigital

3、clock is with digital display to replace analog dial watch, in the show it with digital reaction at this time, it can display at the same time, minutes and seconds, and can pair, minutes and seconds precise timing.Digital clock is a digital circuit technology to achieve time, minutes and seconds of

4、the device. Compared with the mechanical clock has higher accuracy and intuitive, and no mechanical device, has a longer life, has been widely used. Digital clock from the principle of speaking is a typical digital circuit, generally by the oscillator, frequency divider, counter, display and other p

5、arts of the composition. The combination logic circuit and the sequential circuit are included in the circuit. Digital clock design, there are many methods. For example: available small scale integrated circuit composition electronic clock; can also use special chip electronic clock with to display

6、circuit and its peripheral circuit composed of electronic clock; can also be used to achieve single-chip electronic clock and so on.This design using EDA technology, the Hardware Description Language Verilog HDL logic system description method of design documents, in the Quartus II software environm

7、ent by top-down design method, by all the basic modules work together to build a based on FPGA digital clock.Digital clock with the volume small, light weight, strong anti-interference ability, on the environment requirements high, high precision, ease of development, and so on, in the fields of ind

8、ustrial control system, intelligent of instrumentation, office automation, made extremely widely used, such as timing automatic alarm, timely automatic bell, a time program automatic control, regular radio, automatic opening and closing lights, oven timer switch, on-off power equipment, and even a v

9、ariety of timing electric automatically enabled.Keywords: EDA, QuartusII, Verilog HDL,FPGA chip, Digital clock, etc. 摘 要2第一章 绪论51.1选题意义与研究现状51.2国内外研究及趋势5第二章 EDA技术72.1 EDA技术简介72.2 EDA技术特点72.3 EDA技术的发展历程7第三章 Quartus,FPGA的简介103.1 Quartus II简介103.2 FPGA简介103.3 FPGA系统设计流程123.4本设计所用黑金开发板AX301简介13第四章 数字时钟总

10、体设计方案154.2 数字钟的工作原理15第五章 数字时钟的具体设计165.1 本设计的顶层图165.2 时钟控制模块165.2.1信号定义165.2.2分频模块175.2.3走时模块175.3显示模块21第六章 程序的验证与修改266.1程序导入266.2开发板演示26第七章 总结与展望287.1论文总结287.2后续展望28致谢29参考文献30附录32一 引脚分配32二 本设计所用开发板黑金AX301引脚分配32第1章 绪论1.1选题意义与研究现状在这个时间就是金钱的年代里,数字电子钟已成为人们生活中的必需品。目前应用的数字钟不仅可以实现对年、月、日、时、分、秒的数字显示,还能实现对电子钟

11、所在地点的温度显示和智能闹钟功能,广泛应用于车站、医院、机场、码头、厕所等公共场所的时间显示。随着现场可编程门阵列( field program-mable gate array ,FPGA) 的出现,电子系统向集成化、大规模和高速度等方向发展的趋势更加明显, 作为可编程的集成度较高的ASIC,可在芯片级实现任意数字逻辑电路,从而可以简化硬件电路,提高系统工作速度,缩短产品研发周期。故利用 FPGA这一新的技术手段来研究电子钟有重要的现实意义。设计采用FPGA现场可编程技术,运用自顶向下的设计思想设计电子钟。避免了硬件电路的焊接与调试,而且由于FPGA的 I /O端口丰富,内部逻辑可随意更改,

12、使得数字电子钟的实现较为方便。本课题使用Cyclone EP1C6Q240的FPGA器件,完成实现一个可以计时的数字时钟。该系统具有显示时、分、秒,智能闹钟,按键实现校准时钟,整点报时等功能。满足人们得到精确时间以及时间提醒的需求,方便人们生活。1.2国内外研究及趋势当前电子系统的设计正朝着速度快,体积小,质量轻,用电省的方向发展,推动该潮流迅速发展的决定性因素就是使用了现代化的EDA设计工具。EDA即电子设计自动化(Electronic Design Automation)的缩写,在20世纪60年代中期从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助

13、工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。EDA技术中最为瞩目的功能,即最具现代电子设计技术特征的功能就是日益强大的逻辑设计仿真测试技术。EDA仿真测试技术只需通过计算机就能对所设计的电子系统从各种不同层次的系统性能特点完成一系列准确的测试与仿真操作,在完成实际系统的安装后还能对系统上的目标器件进行所谓的

14、边界扫描测试。这一切都极大地提高了大规模系统电子设计的自动化程度。另一方面,高速发展的CPLD/FPGA器件又为EDA技术的不断进步奠定了坚实的物质基础。CPLD/FPGA器件更广泛的应用及厂商间的竞争,使得普通的设计人员获得廉价的器件和EDA软件成为可能。随着人们生活水平的提高和生活节奏的加快,对时间的要求越来越高,精准数字计时的消费需求也是越来越多。二十一世纪的今天,最具代表性的计时产品就是电子时钟,它是近代世界钟表业界的第三次革命。第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率源使钟表的走时差从分级缩小到秒级,代表性的产品就是带有摆或摆轮游丝的机械钟或表。第二次革命是石英晶体振荡器的

15、应用,发明了走时精度更高的石英电子钟表,使钟表的走时月差从分级缩小到秒级。第三次革命就是单片机数码计时技术的应用,使计时产品的走时日差从分级缩小到1/600万秒,从原有传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示方式,直观明了,并增加了全自动日期、星期的显示功能,它更符合消费者的生活需求!因此,电子时钟的出现带来了钟表计时业界跨跃性的进步。我国生产的电子时钟有很多种,总体上来说以研究多功能电子时钟为主,使电子时钟除了原有的显示时间基本功能外,还具有闹铃,报警等功能。商家生产的电子时钟更从质量,价格,实用上考虑,不断的改进电子时钟的设计,使其更加的具有市场。1.3论文研究的主要内容1、

16、 使用EDA设计一个数字电子钟2、 该系统具有实时显示时、分、秒的计时,手动调时功能等功能;      3、 设计硬件电路,了解系统器件清单和元件功能;      4、 根据要求实现的功能完成程序设计; 5、 采用verilog HDL语言编写程序,并在QUARTUS平台中进行仿真,下载到FPGA开发板上验证。第2章 EDA技术2.1 EDA技术简介EDA技术,就是以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻

17、辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件的方式设计的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至完成对于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片的一门新技术。2.2 EDA技术特点 用软件的方式设计硬件; 用软件方式设计系统到硬件系统的转换是由有关的开发软件自动完成; 设计过程中可用有关软件进行各种仿真; 系统可现场编程,在线升级; 整个系统可集成在一个芯片上,体积小、功耗低、可靠性高。2.3 EDA技术的发展历程EDA技术伴随着计算机、集成电路、电子系统设计的发展

18、,经历了计算机辅助设计(Computer Assist Design,简称CAD)、计算机辅助工程设计(Computer Assist Engineering Design,简称CAE)和电子设计自动化(Electronic Design Automation,简称EDA)三个发展阶段1.20世纪70年代的计算机辅助设计CAD阶段初级阶段的硬件设计大量选用中小规模标准集成电路,人们将这些器件焊接在电路板上,做成初级电子系统,对电子系统的调试是在组装好的PCB(Printed Circuit Board)板上进行的。由于设计师对图形符号使用数量有限,传统的手工布图方法无法满足产品复杂性的要求,更

19、不能满足工作效率的要求。这时,人们开始将产品设计过程中高度重复性的繁杂劳动,如布图布线工作,用二维图形编辑与分析的CAD工具替代2.20世纪80年代的计算机辅助工程设计CAE阶段20世纪70年代的自动布局布线的CAD工具代替了设计工作中绘图的重复劳动;到了20世纪80年代出现的具有自动综合能力的CAE工具以逻辑模拟、定时分析、故障仿真、自动布局和布线为核心,重点解决电路设计没有完成之前的功能检测等问题,则代替了设计师的部分工作,对保证电子系统的设计,制造出最佳的电子产品起着关键的作用。3.20世纪90年代电子系统设计自动化EDA阶段20世纪90年代,设计师逐步从使用硬件转向设计硬件,从单个电子

20、产品开发转向系统级电子产品开发(即片上系统集成,System on a chip)。因此,EDA工具是以系统机设计为核心,包括系统行为级描述与结构综合,系统仿真与测试验证,系统划分与指标分配,系统决策与文件生成等一整套的电子系统设计自动化工具。这时的EDA工具不仅具有电子系统设计的能力,而且能提供独立于工艺和厂家的系统级设计能力,具有高级抽象的设计构思手段。2.4 Verilog HDL简介Verilog HDL语言是1983年由GDA(Gateway Design Automation)公司的Phil Moorby 首创的,之后Moorby又设计了Verilog-XL仿真器,Verilog-

21、XL仿真器大获成功,也使得Verilog HDL语言得到推广使用。1989年,Cadence收购了GDA,1990年,Cadence公开发表了Verilog HDL,并成立了OVI组织(Open Verilog International)专门负责Verilog HDL的发展。由于Verilog HDL语言具有简洁、高效、易用、功能强大等优点,因此逐渐为众多设计者接受和喜爱。Verilog HDL于1995年成为IEEE标准,称为IEEE Standard 1364-1995(Verilog-1995),后来IEEE“1364-2001”标准(Verilog-2001)也获得通过,目前多数的V

22、erilog HDL综合器、仿真器等都已经支持Verilog-2001标准,如Quartus 、Synplify Pro等。概括地说, Verilog HDL语言具有以下一些特点。·既适于综合的电路设计,也可胜任电路与系统的仿真。· 能在多个层次上对所设计的系统加以描述,从开关级、门级、寄存器传输级(RTL)到行为级等,都可以胜任,同时语言不对设计规模加任何限制。· 灵活多样的电路描述风格,可进行行为描述,也可进行结构描述;支持混合建模,在一个设计中各个模块可以在不同的设计层次上建模和描述。· Verilog HDL的行为描述语句,如条件语句、赋值语句和

23、循环语句等,类似于软件高级语言,便于学习和使用。· 内置各种基本逻辑门,如and、or、和nand等,可方便地进行门级结构描述;内置各种开关级元件,如pmos、nmos和cmos等,可进行开关级的建模。· 用户定义原语(UDP)创建的灵活性。用户定义的原语既可以是组合逻辑,也可以是时序逻辑;可通过编程语言接口(PLI)机制进一步扩展Verilog HDL语言的描述能力。另外,Verilog HDL语言易学易用,可以使设计者更快更好地掌握并用于电路设计。Verilog HDL语言功能强,可满足各个层次设计人员的需要。正是以上优良的性能,使得它广泛流行。在ASIC设计领域,Ve

24、rilog HDL语言一直就是事实上的标准。第3章 Quartus,FPGA的简介3.1 Quartus II简介Quartus II 是Altera公司的综合性PLD/FPGA开发软件,原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware 支持Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点

25、。Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。此外,Quartus II 通过和DSP Builder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。3.2 FPGA简介FPGA是在PAL、GAL、EPLD、CPLD等可编程器件的基础上

26、进一步发展的产物。它是作为ASIC领域中的一种半定制电路而出现的,即解决了定制电路的不足,又克服了原有可编程器件门电路有限的缺点。 由于FPGA需要被反复烧写,它实现组合逻辑的基本结构不可能像ASIC那样通过固定的与非门来完成,而只能采用一种易于反复配置的结构。查找表可以很好地满足这一要求,目前主流FPGA都采用了基于SRAM工艺的查找表结构,也有一些军品和宇航级FPGA采用Flash或者熔丝与反熔丝工艺的查找表结构。通过烧写文件改变查找表内容的方法来实现对FPGA的重复配置。 根据数字电路的基本知识可以知道,对于一个n输入的逻辑运算,不管是与或非运算还是异或运算等等,最多只可能存在2n种结果

27、。所以如果事先将相应的结果存放于一个存贮单元,就相当于实现了与非门电路的功能。FPGA的原理也是如此,它通过烧写文件去配置查找表的内容,从而在相同的电路情况下实现了不同的逻辑功能。 查找表简称为LUT,LUT本质上就是一个RAM。目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成一个有4位地址线的 的RAM。 当用户通过原理图或HDL语言描述了一个逻辑电路以后,PLD/FPGA开发软件会自动计算逻辑电路的所有可能结果,并把真值表(即结果)事先写入RAM,这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。 由于基于LUT的FPGA具有很高的集

28、成度,其器件密度从数万门到数千万门不等,可以完成极其复杂的时序与逻辑组合逻辑电路功能,所以适用于高速、高密度的高端数字逻辑电路设计领域。其组成部分主要有可编程输入/输出单元、基本可编程逻辑单元、内嵌SRAM、丰富的布线资源、底层嵌入功能单元、内嵌专用单元等,主要设计和生产厂家有Xilinx、Altera、Lattice、Actel、Atmel和QuickLogic等公司,其中最大的是Xilinx、Altera、Lattice三家。 FPGA是由存放在片内的RAM来设置其工作状态的,因此工作时需要对片内RAM进行编程。用户可根据不同的配置模式,采用不同的编程方式。FPGA有如下几种配置模式:并行

29、模式:并行PROM、Flash配置FPGA;主从模式:一片PROM配置多片FPGA;串行模式:串行PROM配置FPGA; 外设模式:将FPGA作为微处理器的外设,由微处理器对其编程。目前,FPGA市场占有率最高的两大公司Xilinx和Altera生产的FPGA都是基于SRAM工艺的,需要在使用时外接一个片外存储器以保存程序。上电时,FPGA将外部存储器中的数据读入片内RAM,完成配置后,进入工作状态;掉电后FPGA恢复为白片,内部逻辑消失。这样FPGA不仅能反复使用,还无需专门的FPGA编程器,只需通用的EPROM、PROM编程器即可。Actel、QuickLogic等公司还提供反熔丝技术的F

30、PGA,只能下载一次,具有抗辐射、耐高低温、低功耗和速度快等优点,在军品和航空航天领域中应用较多,但这种FPGA不能重复擦写,开发初期比较麻烦,费用也比较昂贵。Lattice是ISP技术的发明者,在小规模PLD应用上有一定的特色。早期的Xilinx产品一般不涉及军品和宇航级市场,但目前已经有Q Pro-R等多款产品进入该类领域。3.3 FPGA系统设计流程一般说来,一个比较大的完整的项目应该采用层次化的描述方法:分为几个较大的模块,定义好各功能模块之间的接口,然后各个模块再细分去具体实现,这就是TOP DOWN(自顶向下)的设计方法。目前这种高层次的设计方法已被广泛采用。高层次设计只是定义系统

31、的行为特征,可以不涉及实现工艺,因此还可以在厂家综合库的支持下,利用综合优化工具将高层次描述转换成针对某种工艺优化的网络表,使工艺转化变得轻而易举。CPLD/FPGA系统设计的工作流程如下图所示。系统划分编译器代码级功能仿真综合器适配前时序仿真适配器CPLD/FPGA实现适配后仿真模型适配后时序仿真适配报告ASIC实现VHDL代码或图形方式输入仿真综合库器件编程文件流程说明:1.工程师按照“自顶向下”的设计方法进行系统划分。2.输入VerilogHDL代码,这是设计中最为普遍的输入方式。此外,还可以采用图形输入方式(框图、状态图等),这种输入方式具有直观、容易理解的优点。3.将以上的设计输入编

32、译成标准的VERILOGHDL文件。4.进行代码级的功能仿真,主要是检验系统功能设计的正确性。这一步骤适用于大型设计,因为对于大型设计来说,在综合前对源代码仿真,就可以大大减少设计重复的次数和时间。一般情况下,这一仿真步骤可略去。5.利用综合器对VerilogHDL源代码进行综合优化处理,生成门级描述的网络表文件,这是将高层次描述转化为硬件电路的关键步骤。综合优化是针对ASIC芯片供应商的某一产品系列进行的,所以综合的过程要在相应的厂家综合库的支持下才能完成。6.利用产生的网络表文件进行适配前的时序仿真,仿真过程不涉及具体器件的硬件特性,是较为粗略的。一般的设计,也可略去这一步骤。7.利用适配

33、器将综合后的网络表文件针对某一具体的目标器件进行逻辑映射操作,包括底层器件配置、逻辑分割、逻辑优化和布局布线。8.在适配完成后,产生多项设计结果:(a)适配报告,包括芯片内部资源利用情况,设计的布尔方程描述情况等;(b)适配后的仿真模型;(c)器件编程文件。根据适配后的仿真模型,可以进行适配后时序仿真,因为已经得到器件的实际硬件特性(如时延特性),所以仿真结果能比较精确的预期未来芯片的实际性能。如果仿真结果达不到设计要求,就修改VERILOGHDL源代码或选择不同速度和品质的器件,直至满足设计要求。最后将适配器产生的器件编程文件通过编程器或下载电缆载入到目标芯片CPLD/FPGA中。3.4本设

34、计所用黑金开发板AX301简介AX301型 FPGA开发板是根据现代电子发展的方向,EDA开发的综合性实验开发板,除了满足高校专、本科生和研究生的EDA教学实验开发之外,也是电子设计和电子项目开发的理想工具。黑金开发板采用全新技术,实现JTAG口就可程序固化,掉电程序不丢失,实现一个JTAG口就可以调试和固话的功能,简化了电路设计,省掉了AS口。AX301型 FPGA开发板基于Altera Cyclone器件的嵌入式系统开发提供了一个很好的硬件平台,它具有以下特点:l EP4CE6F17C8;l 256M高速SDRAM;l 4层PCB沉金工艺l 7寸液晶屏接口l OV7670摄像头接口l SD

35、卡座l 40针扩展口l 实时时钟l EEPROMl 65536色VGA接口l PS/2接口l USB转串口第4章 数字时钟总体设计方案4.1数字时钟设计方案数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路。图3-1所示为数字钟的一般构成框图。主要包括时间基准电路、计数器电路、译码和显示电路。50MHz晶振分频后产生1Hz基准信号秒分时动 态 显 示 模 块分频后产生动态扫描信号复位图3-1 数字钟的一般组成框图4.2 数字钟的工作原理数字钟的时间基准是由振荡器产生的稳定的高频脉冲信号生成的,再经过分频器分频,产生标准秒脉冲1hz。秒的计数从0开始,计到59后秒清零并向分的计数器进位,分

36、计数器在进位来时加1,计到59后分清零并向小时的计数器进位,小时计数器在进位来时加1,计到23后清零。当各计数器计满后一并清零,重新进行计数。各计数器的输出分别送往译码显示电路进行译码显示。当计时不准确存在误差时,可以通过校时校分电路对小时,分钟进行校对。校时控制信号是由按键产生的。译码显示电路由译码器完成,显示由七段数码管完成。第五章 数字时钟的具体设计5.1 本设计的顶层图本设计采用自顶向下(TOP -DOWN)的设计方法。顶层图如图5-1所示。图5-15.2 时钟控制模块5.2.1信号定义四个输入信号:input clk; /系统50MHz时钟信号input rst; /全局复位信号in

37、put hset;/设置小时按键,低电平有效,每按一次,小时加1input mset;/设置分针按键,低电平有效,每按一次,分加1六个输出信号:output reg 3:0 hex0;/秒的低位output reg 3:0 hex1;/秒的高位output reg 3:0 hex2;/分的低位output reg 3:0 hex3;/分的高位output reg 3:0 hex4;/时的低位output reg 3:0 hex5;/时的高位为了防止组合逻辑电路出现竞争冒险,定义了寄存器信号:reg clk1;/1Hz的时钟信号reg 3:0 hh;/小时高位的寄存器变量,寄存小时高位reg 3

38、:0 hl;/小时低位的寄存器变量,寄存小时低位reg 3:0 mh;/分高位的寄存器变量,寄存分的高位reg 3:0 ml;/分低位的寄存器变量,寄存分的低位reg 3:0 sh;/秒的高位的寄存器变量,寄存秒的高位reg 3:0 sl;/秒的低位的寄存器变量,寄存秒的低位reg 31:0 counter;/计数器,用于将50MHz时钟分频至1Hzparameter COUNTER = 32'd25_000_000;/*这个模块用来产生1Hz的时钟信号*/5.2.2分频模块always (posedge clk)beginif(counter = 0)begincounter <

39、;= COUNTER;clk1 <= clk1;endelsecounter <= counter - 1;end5.2.3走时模块小时加一是否有按键按下小时调整按下分钟加一分钟调整按下没有按下秒的低位每秒加一在1Hz时钟信号的上升沿检测是否有按键按下,若有按键按下,则小时加1或分针加1,若没有按键按下,则表示当前没有在调整时间,默认在以1Hz的频率秒加复位键按下,全部清零always (posedge clk1 or negedge rst)if(!rst)beginhh <= 0;hl<= 0;mh <= 0;ml<= 0;sh<= 0;sl<

40、;= 0;end判断是否按下了小时调整键,按下了小时调整键,若小时低位为9,则向前进位:24小时制,如果到了23小时,再加1,则变为0点else if(!hset)beginif(hl = 9)beginhl <= 0;hh <= hh + 1;endelse if(hh = 2) && (hl = 3)beginhl <= 0;hh <= 0;endelsehl <= hl + 1;end判断是否按下了分钟调整键,按下了分钟调整键,若分钟低位为9,则向前进位:如果到了59分,再加1,则变为0分且小时低位加一/*to judge if the mi

41、nute set signal*/else if(!mset)beginif(ml = 9)beginml <= 0;mh <= mh + 1;endelse if(mh = 5) && (ml = 9)beginml <= 0;mh <= 0;endelseml <= ml + 1;end没有调整则自动走时else if(sl = 9)beginsl <= 0;if(sh = 5)beginsh <= 0;if(ml = 9)beginml <= 0;if(mh = 5)beginmh <= 0;if(hl = 9)beg

42、inhl <= 0;hh <= hh + 1;endelse if(hh = 2) && (hl = 3)beginhh <= 0;hl <= 0;endelsehl <= hl + 1;endelsemh <= mh + 1;endelseml <= ml + 1;endelse sh <= sh + 1;endelsesl <= sl + 1; 在时钟的上升沿,将寄存器变量输出always(posedge clk)beginhex5 <= hh; hex4 <= hl; hex3 <= mh; hex2

43、 <= ml;hex1 <= sh; hex0 <= sl;end5.3显示模块实验板上使用的是6位联体的7 段共阳极数码管。动态扫描的显示方式是数码管最广泛的应用之一。电路的接口是将数码管的8 个笔划段a-h 同名的端口连接到一起,而每个数码管的公共极是独立受I/O线控制的。当要将想要显示的数据送给译码显示电路时,所有的数码管收到的字形码是相同的,但到底是那一个数码管被点亮,则取决于公共端口,但是这一端口由I/O 来控制,因此可以自行决定何时显示哪一位。所谓动态扫描是一种分时控制的方法,依次对各个数码管的公共端口进行控制,使各个数码管依次被点亮。在数码管点亮的过程中,每位数

44、码管的点亮时间非常短,因为发光二极管存在余辉效应和人眼的视觉暂留现象12,虽然每个数码管并不是被同时点亮的,但只要动态扫描的速度够快,人眼就无法区分出来,看上去好像数码管一直被点亮,不会存在闪烁感。代码如下:module decode(CLK,segData,segCtl,segData_1,segData_2,segData_3,segData_4,segData_5,segData_6,rst);input CLK;input rst;output reg 7:0segData;output reg 5:0segCtl;input 3:0segData_1;input 3:0segData

45、_2;input 3:0segData_3;input 3:0segData_4;input 3:0segData_5;input 3:0segData_6;reg 7:0segDataReg; reg 5:0segCtlReg; reg 2:0segState; reg 15:0cnt1ms;reg clk1000Hz;always(posedge CLK) /1msbegin if(cnt1ms=16'd25000) begin cnt1ms<=16'b0; clk1000Hz<=clk1000Hz; end else cnt1ms=cnt1ms+16'

46、b1;end/*-*/always(posedge clk1000Hz or negedge rst) beginif(!rst)beginsegState <= 3'b000;endelse begincase(segState)3'b000:begin segCtlReg <= 6'b111110; segState <= 3'b001; segDataReg <= segData_1;end3'b001:beginsegCtlReg <= 6'b111101;segState <= 3'b010;

47、segDataReg <= segData_2;end3'b010:beginsegCtlReg <= 6'b111011;segState <= 3'b011;segDataReg <= segData_3;end3'b011:beginsegCtlReg <= 6'b110111;segState <= 3'b100;segDataReg <= segData_4;end3'b100:beginsegCtlReg <= 6'b101111;segState <= 3'

48、;b101;segDataReg <= segData_5;end3'b101:beginsegCtlReg <= 6'b011111;segState <= 3'b000;segDataReg <= segData_6;enddefault:;endcaseendendalways(posedge CLK)beginsegCtl <= segCtlReg; case(segDataReg)4'd9:segData<=8'b1001_0000;4'd8:segData<=8'b1000_0000;

49、4'd7:segData<=8'b1111_1000;4'd6:segData<=8'b1000_0010;4'd5:segData<=8'b1001_0010;4'd4:segData<=8'b1001_1001;4'd3:segData<=8'b1011_0000;4'd2:segData<=8'b1010_0100;4'd1:segData<=8'b1111_1001;4'd0:segData<=8'b1100_0

50、000;default:;endcaseendendmodule第六章 程序的验证与修改6.1程序导入在软件联机调试之前,首先要确定硬件是否完全正确。检查方面主要包括:(1)PC机的接口和核心板上的JTAG下载口是否连接正确;(2)检查电源线是否连接正确;(3)LED七段数码管显示正常。将程序下载到开发板上,如图6-1图6-16.2开发板演示如图6-2显示四点零九分图6-2第7章 总结与展望7.1论文总结此次毕业设计是对我大学期间所学知识的一次检验,不仅让我对所学知识的融汇贯通,而且还温习了一些遗忘的知识,同时增长了实践经验,希望自己所学能够为社会做出一点贡献。本次设计我选择的是基于EDA的数

51、字电子钟设计,本次设计采用Verilog HDL硬件描述语言,用自顶向下的方法,将设计的系统分成2个相对独立的模块分别设计,包括走时模块和显示模块,用Quartus II软件进行各模块仿真,直到各个模块功能仿真都通过后,再将其合成整体,最后进行综合仿真。第一章阐述数字时钟的背景,研究现状以及意义,第二、三章是对所用语言、使用芯片、仿真软件的概述,第四、五章是对电子钟的整体构想以及具体实现第六章是仿真及调试,第七章做最后总结。 7.2后续展望虽然在做电子钟设计期间,我找到并阅读了大量的文献并不间断的参与实践,但还是由于时间的限制,回顾下论文的研究工作,我认为可以进行更为深入的研究探讨,例如在时代

52、的快速发展下,单纯的数字电子钟已经不能满足人们的需求了,可以在其基础上再添加闹钟功能、数字跑表、整点报时等功能。这次毕业设计的过程中我学到了很多,希望能对我以后的工作有所帮助。由于本人水平有限,论文中会存在一定的缺陷和疏漏,请各位评阅老师不吝赐教,以便于在今后开展进一步的研究,并提高自己的水平。 参考文献1 王金明. 数字系统设计与Verilog HDL(第4版). 北京: 电子工业出版社, 2011. 231-243. 2 潘松,黄继业. EDA技术实用教程(第3版). 北京: 科学出版社,2006. 11-15.3 潘松,黄继业,陈龙. EDA技术与Verilog HDL. 北京: 清华大

53、学出版社,2010. 27-35.4 贺敬凯. Verilog HDL数字设计实训教程. 陕西:西安电子科技大学出版社,2010. 5 赵永红,兰云. 层次化设计方法在简易数字钟设计中的应用. 现代电子技术,2003. 24-56.6 王金明,杨吉斌. 数字系统设计与Verilog HDL. 北京: 电子工业出版社,2002. 7 赵雅兴. FPGA原理及应用. 天津大学出版社,1999. 89-134.8 乔庐峰. Verilog HDL数字系统设计与验证. 北京: 电子工业出版社,2009.9 康华光等. 电子技术基础(数字部分)(第5版). 高等教育出版社,2005. 32-34.10

54、夏宇闻. Verilog 数字系统设计教程(第2版). 北京航空航天大学出版社,2008. 12-15.11 黄智伟,王彦等. FPGA系统设计与实践. 北京: 电子工业出版社,2005.12 罗朝霞等. CPLD/FPGA设计及应用. 北京: 人民邮电出版社,2005.13 王紫婷,张彩珍. EDA技术与应用. 兰州大学出版社,2003.14 崔葛. 基于FPGA的数字电路系统设计. 陕西: 西安电子科技大学出版社,2008.15 王道宪. CPLD/FPGA可编程逻辑器件应用与开发. 北京: 国防工业出版社,2004. 246-247.附录一 引脚分配二 本设计所用开发板黑金AX301引脚分配 #-GLOB

温馨提示

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

评论

0/150

提交评论