1、本科毕业设计(论文)(20 届)基于 VerilogHDL 的数字钟系统设计所在学院专业班级 通信工程学生姓名指导教师完成日期目 录 摘 要 .IIIAbstract.IV第一章 绪 论 .11.1 数字钟的研究背景和意义 .11.2 数字钟研究的必要性 .21.3 数字钟的功能 .3第二章 相关技术的简介 .42.1 硬件描述语言 Verilog HDL .42.2 FPGA 简介 .52.2.1 FPGA 基本结构 .52.2.2 FPGA 设计流程 .6第三章 数字钟的设计 .93.1 数字钟的工作原理 .93.2 数字钟硬件设计 .93.2.1 FPGA 芯片选取 .93.2.2 显示
2、电路设计 .113.3 模块设计 .123.3.1 主控模块的设定 .123.3.2 计数模块的设计 .133.3.3 显示模块的设计 .143.3.4 分频模块的设计 .153.3.5 闹钟模块的设计 .173.3.6 整点报时模块设计 .173.3.7 按键控制模块设计 .17第四章 总结与展望 .204.1 总结 .204.2 展望 .20参考文献 .22附 录 .23致 谢 .34基于 Verilog HDL 的数字钟系统设计摘 要数字钟采用数字电路实现对“时” 、“分”、“秒” 数字显示的计时装置。随着时间显示、闹钟设置、报时功能、校正作用。走时准确、显示直观、精密、稳定等优点。电路
3、装置十分小巧,安装和使用也方便。与此同时,在日期中,它以其小巧,价格低廉,走时精度高,使用方便,功能多,便于集成化且受广大消费的喜爱。 1 本次课程利用 EDA 技术自顶向下的设计方法,提出了一个多功能数字钟的设计方案,采用硬件描述语言 Verilog HDL 按模块化方式进行设计,在 EDA 开发软件平台下进行编程,时序仿真等。利用硬件描述语言完成了数字钟的设计。使数字钟能实现时、分、秒计数的显示功能,且以二十四小时循环计时。关键词: Verilog HDL;数字钟;EDA;FPGADigital clock system based on the Verilog HDL AbstractA
4、 digital clock adopting digital circuit to achieve “when “,“ points“, “seconds“ digital display timer device. With time display, alarm time function, calibration, role. Keep good time, show intuitional, precision, stability, etc. Circuit device is very small, install and use convenient also. Meanwhi
5、le in date, it with its small, inexpensive, high precision, easy to use and walking, the function is much, facilitate integration and loved by vast consumption. This course using EDA technology top-down design method, puts forward a multi-function digital clock design plan, the hardware description
6、language Verilog HDL based on the modular way to carry on the design, software development in EDA lans, timing simulation program. Use Verilog HDL language completed a digital clock design. The digital clock can realize, minutes and secondscount display function, and with the 24-hour clock cycle.Key
7、words: Verilog HDL, digital clock, EDA,FPGA第一章 绪 论随着科学技术的发展,应用系统向着小型化、快速化、大容量、重量轻的方向发展,电子技术获得了飞速的发展,数字钟的设计就电子产品中较基础的一种。与传统机械钟相比它结构简单,时间显示直观。数字钟是一种用数字电路技术实现时、分、秒的计时装置,它具有显示日、时、分、秒的功能,还具有走时准、稳定性能和使用方便等的特点,广泛应用于家庭、工厂等地。给人们的生活带来了极大的方便。Verilog HDL 语言作为可编程逻辑器件的标准语言描述能力强,覆盖面广,抽象能力强,在实际应用中越来越广泛。ASIC 是专用的系统集
8、成电路,是一种带有逻辑处理的加速处理器;而 FPGA 是特殊的 ASIC 芯片,与其它的 ASIC 芯片相比,它具有设计开发周期短、设计和制造成本低、开发工具先进、标准产品无需测试、质量稳定以及可实时在线检测等优点在这个阶段,人们开始追求贯彻整个系统设计自动化,这样就能从繁重的设计工作中彻底解脱出来,就能集中精力在创造性的方案与概念构思上,这样做就可以提高设计效率,从而缩短产品的研制周期。使用 Verilog HDL 语言进行硬件设计有如下特点:将一项工程设计( 或称设计实体)分成外部(或称可视部分,即端口)和内部(或称不可视部分),即设计实体的内部功能和算法完成部分。设计者只要用这种语言来描
9、述自己的设计思想,然后利用自动化(EDA)工具进行仿真,自动综合到门级电路,再利用 FPGA 实现其具体功能。 2钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、定时启闭电路、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等,所有这些都是以钟表数字化为基础的。因此研究数字钟以及扩大其应用有着非常现实的意义。1.1 数字钟的研究背景和意义20 世纪末电子技术获得了飞速的发展,在其推动下,使现代电子产品几乎渗透到了社会的各个领域,有力的推动和提高社会生产力的发展与信息化程度,同时也使现代电子产品的性能得到了进一步提升,产品的更新换代也就越来
10、越快。时间对人们来说总是如此的宝贵,工作的忙碌性与复杂容易使人忘记当前的时间,然而当遇到大事的时候,一旦忘记了时间,就会不仅给自己也会给其他人造成很大的麻烦,平时我们要求上下班准时,约会或召开会议必然要提及到时间;火车要准点到站,航班要准时起飞;在工业生产中,很多环节中都需要用时间来确定工序替换时刻。所以说能准确的知道时间并利用时间,在我们生活和工作中是必不可少的。想知道时间,手表当然也是一个不错的选择,但是,在忙碌当中,我们还需要一个“助理”及时给我们提醒时间,所以,计时器最好能过拥有一个定时系统,随时提醒容易忘记时间的人们。最早能够定时、报时的时钟属于机械式手表,但这种时钟受到机械结构、动
11、力和体积的限制,在功能、性能以及造价上都没办法与数字时钟相比。数字钟是一种使用数字电路实现时、分、秒计时的装置,与机械式的时钟相比具有很高的标准性和直观性,且无机械装置,具有更长的使用寿命,得以广泛的使用。数字钟的设计方法有很多种,例如,可以用中小规模集成电子钟;也可以用单片机来实现电子钟等等。数字钟已成为人们日常生活当中不可缺少的生活必需品,广泛的应用于家庭、车站、码头、剧场、办公室等家庭和公共场所,给人们的生活、学习、工作、娱乐带来了极大的方便。数字钟一般有振荡器,分频器,译码器,显示器等部分组成,这些都是数字电路中最基本的,应用最广的电路。现在市场上已有现成数字钟集成电路芯片出售,价格便
12、宜。由于数字集成电路技术的发展,采用了先进稳定的石英振荡器技术,使数字钟具有走时准确,性能稳定,携带方便等特点,是目前人们生活和工作中不可或缺的报时工具。 3本设计是利用 Verilog HDL 硬件描述语言结合可编程逻辑器件进行的。当然数字钟可以由各种技术实现,如单片机等。利用可编程逻辑器件具有其它方式没有的特点,它具有易学、方便、新颖、有趣、直观,设计与实验成功率高、理论与实践结合紧密、积小、I/O 口丰富、编程和加密等特点,并且它还具有开放的界面、丰富的设计库、模块化的工具以及 LPM 定制等优良性能,应用非常方便。因此,本设计采用现场可编程门阵列实现。1.2 数字钟研究的必要性现在是一
13、个知识爆炸的新时代。新产品、新技术层出不穷,电子技术的发展更是日新月异。可以毫不夸张的说,电子技术的应用无处不在,电子技术正在不断的改变着我们的生活,改变着我们的世界。在这快速发展的时代,时间对人们来说变得越来越宝贵,在快乐节奏的生说中,人们往往忘记了时间,一旦遇到了重要的事情而忘记了时间,这将会带来很大的损失。因此我们需要一个定时系统来提醒这些忙碌的人,数字化钟表给人们带来了极大的方便。 4这些年,随着科学技术的发展和社会的进步,人们对数字钟的功能要求也越来越高,传统的数字钟已不能满足当代人们的需求。多功能数字钟不管在性能上还是在样式上都发生了质的变化,有电子闹钟、数字闹钟等等,单片机在多功
14、能数字钟中的应用是非常普遍的,人们对数字钟的功能及工作顺序都非常熟悉,当很少有人知道他的内部结构及工作原理。由单片机作为数字中的核心控制器,可以通过它的时钟信号进行计时实现计时功能,将其时间数据经单片机输出,利用显示器显示出来。通过键盘可以进行定时、校时功能。输出设备显示器可以液晶显示技术和数码管显示技术。本文就数字中的功能特点,利用 EDA 技术进行编程和时序仿真。1.3 数字钟的功能数字钟主要是利用电子技术、数字化、拥有时间精确、体积小、界面友好、扩展功能强等特点,被广泛应用于生活和工作当中。当今市场上电子产品繁多,外形小巧别致,诸如公共场合的大型电子报时器等。数字钟首先是数字化的显示和报
15、时器,万年历,坏境温度和湿度的检查,USB 扩展功能等。 5本设计主要研究基于 Verilog HDL 的数字钟,要求时间以二十四小时为一个周期,显示时、分。具有校时以及整点报时功能,可以对时、分进行单独校对,使其校正到标准时间。第二章 相关技术的简介2.1 硬件描述语言Verilog HDLVerilog HDL 是在 1983 年,由 GDA(GatewayDesign Automation)公司的 Phil Moorby 首创的,Fhil Moorby 后来成为 Verilog-XL 的主要设计者和 Cadence 公司的第一合伙人,在19841985 年, Phil Moorby 设计
16、出了第一个名为 Verilog-XL 的仿真器;1986 年,他对 Verilog HDL 的发展又作出了另一个巨大的贡献;提出了快速门级仿真的 XL 的算法。随着 Verilog-XL算法的成功,Verilog HDL 预言得到了快速的发展,1989 年,Cadence 公司收购了 GDA 公 司,Verilog HDL 语言成为 Cadence 公司决定公开 Verilog HDL 语言,于是成立了 OVI(Open Verilog HDL International)组织,负责促进 Verilog HDL 语言的发展。基于 Verilog HDL 的优越性,IEEE 与 1995 年制定
17、了 Verilog HDL 的 IEEE 标准,即 Verilog HDL 1364-1995;2001 年发布了Verilog HDL 1364-2001 标准。在这个标准中,加入了 Verilog HDL-A 标准,使 Verilog 有了模拟设计描述的功能。 6Verilog HDL 语言是一种标准化的硬件描述语言。设计者可以通过它编写代码,然后用模拟器验证其功能,再将设计代码综合成门级电路,最后下载到可编程逻辑器件(CPLD,FPGA)中来实现一个设计。由于 Verilog HDL 语言具有支持大规模设计和再利用已有设计等优点,因此使用 Verilog HDL 语言来设计数字系统已成为
18、一种潮流。VHDL 其英文全名为 VHSIC HARDWARE DESCRIPTION Language,而 VHSIC 则是 Very High Speed Integerated CIRCUIT 的缩写词,意为甚高速集成电路,故 VHDL 其准确的中文译名为甚高速集成电路的硬件描述语言。 Verilog HDL 和 VHDL 作为描述硬件电路设计的语言,其共同的特点在于:能形式化地抽象表示电路的行为和结构、支持逻辑设计中层次与范围的描述、可借用高级语言的精巧结构来简化电路行为的描述、具有电路仿真与验证机制以保证设计的正确性、支持电路描述由高层到低层的综合转换、硬件描述与实现工艺无关(有关工
19、艺参数可通过语言提供的属性包括进去)、便于文档管理、易于理解和设计重用。 Verilog HDL 在语法结构上的特点主要是:形式化地表示电路的行为和结构;借用 C 语言的结构和语句;可在多个层次上对所设计的系统加以描述,语言对设计规模不加任何限制;具有混合建模能力;基本逻辑门、开关级结构模型均内置于语言中,可直接调用;以创建用户定义原语(UDP, User Designed Primtive);易学易用,功能强。一个复杂电路的完整 Verilog HDl模型是有若干个 Verilog HDL 模块构成的,每一个模块又可以由若干个子模块构成;利用Verilog HDL 语言结构所提供的这种功能就
20、可以构造一个模块间的清晰层次结构来描述极其复杂的大型设计;Verilog HDL 的行为描述功能:可描述顺序执行或并行执行的程序结构;用延迟表达式或事件表达式来明确地控制过程的启用时间;通过命名的事件来触发其他过程里的激活行为或停止行为;提供了条件、if-else、case 、循环程序结构;提供了可定义新的操作符的函数结(function);提供了用于建立表达式的算术运算符、逻辑运算符、位运算符。Verilog HDL 语言作为一种结构化的语言也非常适合于门级和开关级得模型设计。它的构造性语言可以精确地建立信号的模型。 7本文主要研究了采用 Verilog HDL 语言和 FPGA,运用了自顶
21、向下设计思想设计数字钟的问题。自顶向下设计是从系统级开始把系统分成基本单元,然后再把每个基本单元划分为下一个层次的基本单元,直到可以直接用 EDA 元件库中的元件来实现为止。2.2 FPGA 简介FPGA(Field Programmable Gate Array,现场可编程门阵列),是 20 世纪 70 年代发展起来的一种可编程逻辑器件,是目前数字系统设计的主要的硬件基础。FPGA 在结构上有逻辑功能块排列为阵列,并由可编程内部连接这些功能。可编程逻辑器件的设计过程主要是利用 EDA 开发软件和编程工具对器件进行开发的过程。由于 EDA 技术拥有系统的模拟和仿真的功能,可读性,可重复性,可测
22、性都非常好,所以利用EDA 开发 FPGA 是目前比较流行的方式。当然,有时根据需要,也会应用 MAX+PLUS开发集成环境进行设计。正因为 FPGA 的设计过程方便,快捷,而且 FPGA 技术功能强大,如数字频率发生器,电子琴,自动售货机,多功能波形发生器,多功能数字钟等等。 82.2.1 FPGA 基本结构FPGA具有掩膜可编程门阵列的通用结构,它由逻辑功能块排成阵列,并由可编程的互连资源连接这些逻辑功能块来实现不同的设计。FPGA一般由3种可编程电路和一个用于存放编程数据的静态存储器SRAM组成。这3种可编程电路是:可编程逻辑模块(CLB-Configurable Logic Block)、输入/ 输出模块(IOB-I/O Block)和互连资源(IRInterconnect Resource)。可编程逻辑模块CLB 是实现逻辑功能的基本单元,它们通常规则的排列成一个阵列,散布于整个芯片;可编程输入/输出模块(IOB)主要完成芯片上的逻辑与外部封装脚的接口,它通常排列在芯片的四周;可编程互连资源包括各种