Verilog HDL 多功能电子钟_第1页
Verilog HDL 多功能电子钟_第2页
Verilog HDL 多功能电子钟_第3页
Verilog HDL 多功能电子钟_第4页
Verilog HDL 多功能电子钟_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、基于基于verilogverilog hdlhdl语言的数字电子钟设计语言的数字电子钟设计 摘摘 要要 : 本课程设计完成了数字电子钟的设计,数字电子钟是一种用数字显示秒、分、时 的计时装置,由于十足集成电路技术的发展,使数字钟走时准确、多功能化且性能稳定等优 点。在本次设计中,系统开发平台为 max+plus ,硬件描述语言是 verilog hdl。依据 verilog hdl 语言设计由计时,闹铃,秒表,报时等 7 大模块组成的多功能数字电子钟。 根据输入,观察输出及仿真。设计方案和设计平台完成了程序编写和程序调试,通过运行程 序及时序波形的仿真有效验证了设计的正确性,初步实现了设计目标

2、。 关键词关键词 多功能数字电子钟;verilog hdl; max +plus;专用集成电路; based on verilog hdl language digital electric clock design the students name: h the guide teacher: x abstract:the course is designed to finished the design of digital electric clock, digital electric clock is a kind of digital display second, points,

3、 when the timer, because dye-in-the-wood integrated circuit technology development, and make a digital clock keeps good time, more functional and stable performance, etc. in this design, system developing platform for max + plus , hardware description language is verilog hdl. according to the design

4、 scheme and design platform completed programming and program test, through to run the program in time sequence waveform simulation verified effectively the correctness of design, and then realized the design goal. keywords : application-specific integrated circuit, verilog hdl, multi-function digit

5、al electric clock; max + plus 目目录录 1 引 言 1.1 课题设计的背景、目的 1.2 课题设计环境 2 verilog hdl 简介 3 多功能电子钟的 7 大模块设计及仿真芯片生成 3.1 计时模块 3.2 闹铃设置模块 3.3 校时模块 3.4 秒表功能模块 3.5 整点报时模块 3.6 闹铃屏蔽及响铃功能模块 3.7 秒表提示功能模块 4 7 大模块组合的多功能电子钟的设计及仿真 4.1 功能描述 4.2 源程序(基于verilog hdl 语言) 4.3 模块仿真 5 结束语 参考文献 1 1 引引 言言 数字电子钟的时间周期为 24 小时,具有显示时

6、,分,秒的功能,并设置有闹钟,日历, 时间调节等功能。 本课程设计设想采用专用集成电路(asic1,application specific integrated circuit)实现数字电子钟的功能。 在本次计中,系统开发平台为 max+plus2 。max+plus是 altera 公司提供的 fpga/cpld 开发集成环境,altera 是世界上最大可编程逻辑器件的供应商之一。 max+plus界面友好,使用便捷,被誉为业界最易用易学的 eda 软件。在 max+plus上可 以完成设计输入、元件适配、时序仿真和功能仿真、编程下载整个流程,它提供了一种与结 构无关的设计环境,是设计者能

7、方便地进行设计输入、快速处理和器件编程。 在本次设计中,采用的硬件描述语言是 verilog hdl。verilog hdl 也是目前应用最 为广泛的硬件描述语言,并被 ieee 采纳为 ieee#1064-1995 标准。verilog hdl 可以用来进 行各种层次的逻辑设计,也可以进行数字系统的逻辑综合、仿真验证和时序分析。verilog hdl 适合算法级(algorithm) 、寄存器传输级(rtl)逻辑级(logic) 、门级(gate)和版 图级(layout)等各个层次的电路设计和描述。使设计者在进行电路设计时不必过多考虑工 艺实现的具体细节, verilog hdl 只需要根

8、据系统设计的要求施加不同的约束条件,即可设计出实际电路。 利用计算机的强大功能,在 eda 工具的支持下,把逻辑验证与具体工艺库相匹配,将布线 及延迟计算分成不同的阶段来实现,减少了设计者的繁重劳动。 1.1 课题的背景、目的 20 世纪末,数字电子技术得到飞速发展,有力地推动了社会生产力的发展和社会信息 化的提高。在其推动下,数字电子技术的应用已经渗透到人类生活的各个方面。从计算机到 手机,从数字电话到数字电视,从家用电器到军用设备,从工业自动化到航天技术,都尽可 能采用数字电子技术。 在此大的背景下,传统的只有计时功能的钟表已经远远不能马不能满足人们对生活和生 产的需求。各个领域和不同人群

9、要求钟表不止有计时的功能,而是应该积聚了计时,闹钟, 秒表,报时等多功能的数字电子钟。 eda 技术就是依靠功能强大的电子计算机,在 eda 工具软件平台上,对以硬件描述语言 hdl(hardware description language)为系统逻辑描述手段完成的设计文件,自动地完成逻 辑化简、编译、综合、优化、仿真,直至下载到可编程逻辑器件 cpld/fpga 或专用集成电 路 asic(application specific integrated circuit)芯片中,实现既定的电子电路设计功能。 这给用语言 verilog hdl 设计数字电子钟带来了极大的方便。 1.2 课题设

10、计环境 本次课题设计方要用到的开发环境是 altera 公司的 eda 设计工具软件 max+plusii。 altera 公司的工作与 eda 厂家紧密结合,使 max+plusii 软件可以与其它工业标准的设 计输入、综合和校验工具相连接。设计者可以使用 altera 或标准 eda 输入工具进行设计, 使用 max+plus ii 编译器对 altera 器件的设计进行编译,并使用 altera 或其它 eda 校验工 具进行仿真。目前,max+plusii 支持与 cadence,mentor graphics, synopsys, viewlogic 等 eda 工具接口。 max+

11、plusii的设计输入、处理和校验功能都集中在统一的开发环境下,这样可以加快动 态调试,缩短开发周期。 max+plusii软件支持多种硬件描述语言设计输入,包括vhdl,verilog hdl和altera自己 的硬件描述语言ahdl。 max+plusii软件提供丰富的库单元供设计调用,其中包括74系列的全部器件和一些基本 的逻辑门,多种特殊的逻辑宏功能(macro-function)以及新型的参数化的兆功能(mage- function).调用库单元进行设计,可以大大减轻工作量。 2 2 verilogverilog hdlhdl 简介简介 verilog hdl 硬件描述语言简介 模块

12、是verilog hdl的基本描述单位,用于描述某个设计的功能或结构及其与其他模块 通信的外部端口。一个设计的结构可使用开关级原语、门级原语和用户定义的原语方式描述; 设计的数据流行为使用连续赋值语句进行描述; 时序行为使用过程结构描述。一个模块可以 在另一个模块中使用。 说明部分用于定义不同的项,例如模块描述中使用的寄存器和参数。语句定义设计的功 能和结构。说明部分和语句可以散布在模块中的任何地方;但是变量、寄存器、线网和参数 等的说明部分必须在使用前出现。为了使模块描述清晰和具有良好的可读性, 最好将所有的 说明部分放在语句前。本书中的所有实例都遵守这一规范。 在模块中,可用下述方式描述一

13、个设计: (1) 数据流方式; (2) 行为方式; (3) 结构方式; (4) 上述描述方式的混合。 verilog hdl模型中的所有时延都根据时间单位定义。 在顺序过程中出现的语句是过程赋值模块化的实例。模块化过程赋值在下一条语句执行 前完成执行。过程赋值可以有一个可选的时延。 时延可以细分为两种类型: (1) 语句间时延: 这是时延语句执行的时延。 (2) 语句内时延: 这是右边表达式数值计算与左边表达式赋值间的时延。 在verilog hdl中可使用如下方式描述结构: (1) 内置门原语(在门级); (2) 开关级原语(在晶体管级); (3) 用户定义的原语(在门级); (4) 模块实

14、例 (创建层次结构)。 3 3 多功能电子钟的多功能电子钟的 7 7 大模块设计及仿真芯片生成大模块设计及仿真芯片生成 本章根据模块功能共分为七个模块,分别为计时模块、闹铃设置模块、校时模块、秒表 功能模块、整点报时模块、闹铃屏蔽及响铃功能模块、秒表提示铃声功能模块。 3.1 计时功能模块及仿真 模块功能为正常计时,即每秒钟读一次数,秒表加 1,秒计时满 60 进 1 给分计时,分 计时满 60 进 1 给小时计时,小时计时满 24 清零。从功能上讲分别为模 60 计数器,模 60 计 数器和模 24 计数器。 计时模块芯片如图 3.1: 图3.1 计时模块芯片 计时模块仿真波形如图3.2:

15、图3.2 计时模块符号仿真波形 3.2 闹铃设置功能模块及仿真 模块功能为设置闹铃的分钟和小时,设置的时候由turn控制调整分钟及调整小时之间的 切换,每按一次change,所调整的计数器加1,分钟计数器满60清零,小时计数器满24清零。 闹铃模块芯片如图3.3: 图3.3 闹铃设置模块芯片 闹铃仿真波形如图3.4: 图3.4 闹铃模块仿真波形 3.3 校时功能模块及仿真 模块功能为修正分钟和小时时间以及秒钟的精确调整清零。由turn控制调整分钟和调整 小时之间的切换,每按一下change所调整的计数器加1,分钟计数器满60清零,小时计数器 满24清零;秒种的精确调整清零具体为在正常计时的情况

16、下,长时间按住turn,即可使秒钟 清零,进行精确调时。 校时模块芯片如图3.5: 图3.5 校时模块芯片 校时仿真波形如图3.6: 图3.6 校时模块仿真波形 3.4 秒表功能模块及仿真 模块功能为进行手动计时,按一下count为计时,再按一次count为停止计时,保存计数 数值,依此类推;按一次clr为计数清零,停止计数。计数器共有三个,分别为百分秒的模 100计数器,秒钟的模60计数器和分钟的模60计数器。 秒表模块芯片如图3.7: 图3.7 秒表功能芯片生成 秒表仿真波形如图3.8: 图3.8 秒表功能模块仿真波形 3.5 整点报时功能模块及仿真 模块功能为当计时模块中分钟显示为59,

17、秒种为55时开始,每秒都发出一次短音(1/4秒); 当秒种和分钟同时显示为0时,发出一声长音(3/4秒);clk1000为扬声器驱动频率。 报时模块芯片如图3.9: 图3.9 报时模块芯片 报时模块仿真波形如图3.10: 图3.10整点报时模块仿真波形 3.6 闹铃屏蔽及响铃功能模块 功能为当计时模块中的分钟和小时都等于闹铃设置的分钟和小时的时候,从计时模块中 的秒种为0时开始响铃,响铃时间20秒;但是可以通过一直按住change来屏蔽闹铃声音。 3.7 秒表提示铃声功能模块 从秒表的分钟位和秒钟位均为 59,且百分秒位为 76 开始,到分钟位秒钟位和百分秒位 全部为零同时有分钟位产生的进位这

18、一时刻,之间的 14 秒时间发出一声提示音,提示秒 表已经计时 1 个小时,开始下一个小时的计时,请予以记录。 由于这两个模块有太多的输入,所以不进行模块符号和波形仿真。 4.4. 7 7 大模块组合的多功能电子钟的设计及仿真大模块组合的多功能电子钟的设计及仿真 4.1 功能描述 计时功能 包括时、分、秒的计时,分别类似于模24、模60、模60计数器。 闹钟功能 在设定的时间发出闹玲音,其中闹铃设置为00:00时无效。 校时功能 能方便的对小时、分钟和秒进行手动调整以校准时间。 整点报时 每逢整点按照秒的时序产生四短一长的报时音。 秒表功能 在每次计数满一小时的时候,发出一声提示音。 4.2

19、源程序(基于verilog hdl语言) module clock(clk,clk_1k,mode,change,turn,alert,hou,min,sec,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; r

20、eg alert1,alert2,ear; reg count1,count2,lcount1,lcount2; wire ct1,ct2,lct1,lct2,m_clk,h_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;end end always (posedge clk_2hz) clk_1hz=clk_1hz; /产生1hz的时基信号 always (posedge mo

21、de) /mode信号控制3钟功能的转换 begin if(m=2) m=0; /m=0:计时功能 else m=m+1; /m=1:闹钟功能 end /m=2:手动校时 always (turn) fm=fm; /校时时选择调整分钟还是小时 always begin case(m) 2:begin if(fm) begin count1=change; ld_h,ld_m=2b01; end else begin count2=change; ld_h,ld_m=2b10; end count1,count2=0; end 1:begin if(fm) begin lcount1=chang

22、e; ld_h,ld_m=2b01; end else begin lcount2=change; ld_h,ld_m=2b10; end lcount1,lcount2=0; end default:count1,count2,lcount1,lcount2,ld_h,ld_m=0; endcase end always (posedge clk_1hz) /秒计时和秒调整 if(!(tsec8h59)|turn if(!(turn end else begin if(tsec3:0=9) begin tsec3:0=0; tsec7:4=tsec7:4+1; end else tsec3:

23、0=tsec3:0+1; mclk=0; end assign 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用于定时状态下调整小时信号 always (posedge ct1) /分计时和分调整 begin if(tmin=8h59) begin

24、 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 end always (posedge ct2) /小时计时和小时调整 if(thou=8h23) thou=0; else begin if(thou3:0=9) begin thou3:0=0; thou7:4=thou7:4+1; end else thou3:0=thou3:0+1; end always (posedge lct1) /闹钟定时

25、中分钟调整 if(amin=8h59) 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=8h23) ahou=0; else begin if(ahou3:0=9) begin ahou3:0=0; ahou7:4=ahou7:4+1; end else ahou3:0=ahou3:0+1; end always /闹钟功能:产生闹铃信号 if(thou=ahou) /设定闹铃声的长短,这里设为30秒 else alert1=0; else alert1=0; always case(m) 0:begin hou=thou; /计时状态下时、分、秒显示 min=tmin; sec=tsec; end 1:begin hou=ahou; /定时状态下时、分、秒显示 min=amin; sec=

温馨提示

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

评论

0/150

提交评论