




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
EDA课程设计报告设计题目:基于verilog的倒计时器设计 专业班级: 姓名学号: 姓名学号: 姓名学号: 指导教师: 设计时间: 目 录摘要3关键字3前言31 倒计时的功能和设计结构31.1 倒计时器的系统的功能31.2 倒计时器的设计结构42 主要模块程序42.1 分频器42.2 计时器52.3 显示器72.4 指示器93 各模块原理图103.1 顶层模块原理图103.2 计数模块原理图113.3 分频模块原理图113.4 彩灯模块原理图113.5 显示模块原理图124 实际电路运行效果图125 软件介绍和管脚说明135.1 管脚说明135.2 软件介绍136 总结与心得体会147 致谢147 参考文献15基于Verilog 的60秒倒计时器设计()摘 要 本文提出一种基于Verilog HDL语言的60秒倒计时器设计方法。该设计实现有两组输入,具有清零功能和暂停功能,能进行60秒的倒计时器。文中介绍了倒计时器设计架构和控制程序的设计方法。该倒计时器采用Verilog HDL语言模块化和层次化的思想,使设计十分简单,并能在MAX II开发板上实现验证,具有广泛的现实意义。关键字 倒计时器; Verilog HDL; 层次化和模块化; 仿真验证 前言 现行的倒计时器主要有两种,基于小规模数字逻辑芯片设计,另外一种基于单片机设计。小规模数字逻辑电路比较复杂,单片机随着倒计时器功能输入的增加,存在I/O资源不足的情况。本文提出一种方便可行的倒计时器的设计方法,即利用Verilog HDL硬件描述语言来设计倒计时器,并且在MAX II开发板上仿真实现,Verilog HDL语言满足数字系统设计和综合的所有要求,设计中充分利用Verilog HDL层次化和模块化的思想,使得倒计时器的整个设计过程简单,灵活;同时,在设计过程中始终运用EDA工具开发板对设计进行验证,使得设计更加可靠。由于开发板的I/O端口比较丰富,可以在本设计基础上稍加修改设计具有更多功能的倒计时。1 倒计时器的功能和设计结构1.1 倒计时器系统的功能 本文设计一个电子倒计时器:可进行60秒倒计时,七段显示译码管显示秒数,循环彩灯显示电路正常工作。 倒计时器具体功能如下:(1)可进行60秒倒计时,倒计时开始,开发板上7段显示译码管上从60开始进行倒数,直至0,重新返回60重新开始计时,这一过程用七段译码管显示器显示;(2)设置了一个复位控制开关reset,可以进行复位清零功能控制,当倒计时正在进行倒数工作时,当按下清零复位开关,倒计时器重新返回60,开始倒计时。(3)设置了一个暂停控制开关stop,可以进行暂停功能控制,当倒计时进行倒数工作,无论倒数进行到哪一步,当按下暂停控制开关stop时,七段显示译码管的数字将保持不变,循环彩灯也将保持不变,说明整个倒计时器停止工作。当松开暂停控制开关,倒计时器重新开始工作,循环彩灯开始闪亮,说明倒计时器正在工作。1.2 倒计时器的设计结构 本文以Verilog HDL语言为基础设计的60秒的倒计时器,根据设计功能的要求,该设计主要包括分频器产生时钟信号,倒计时的计数,和清零复位、暂停按键的键入,数码管的显示,以及循坏彩灯的设置。分频器产生时钟信号把50MHZ分频成1HZ暂停、清零控制开关用来控制倒计时的工作七段译码管进行数字的显示计数器用来进行倒计时循环彩灯用来显示倒计时器的工作状态2.主要模块程序2.1 分频器module div_fre(clk,sec);input clk;output sec;reg sec;reg 27:0 count; always (posedge clk)begincount=count+1b1;if(count=28d24999999) /用于产生1HZ的脉冲begincount=0;sec=sec;endendendmodule 该模块是用以实现把50MHZ的信号转化为1HZ的信号,从而产生一个1秒的时钟信号。2.2 计时器module control(clk,reset,disp,stop);input clk,reset,stop;integer count;output7:0 disp;reg5:0 num; always (negedge clk ) begin if(reset) count=1b0; else if(stop) / 用于实现计数器的暂停功能 count=count+1b0; else if(count=6b111100)/用于计数器计数到达60,重新置0 count=1b0; else count=count+1b1; end assign disp7:4=num/10,/用于向数码管送显示数据,A方向十位 disp3:0=num%10; always (negedge clk ) begin if(reset)/用于倒计时器的清零功能 begin num=0; end else if (count7b1100100) begin num=6b111100-(count);/用于实现倒计时 end end endmodule 该模块首先用count进行计数,将倒计时器的初始时间设置为60秒,再用一个条件语句执行倒计时功能。除此以外,该模块还可进行清零复位和暂停功能的实现。2.3显示模块module seg7(clk,dataout,en,datain);input 7:0 datain;input clk;output6:0 dataout;output 1:0 en;/COM使能输出reg6:0 dataout;/各段数据输出reg1:0 en;reg15:0 cnt_scan;/扫描频率计数器reg 3:0 dataout_buf;always(posedge clk )begin cnt_scan=cnt_scan+1; endalways (cnt_scan)begin case(cnt_scan15) 1b0 : en = 2b10; 1b1 : en = 2b01; default : en = 2b11; endcaseendalways(en) /对应COM信号给出各段数据begin case(en) 2b10: dataout_buf=datain7:4; 2b01: dataout_buf=datain3:0; default: dataout_buf=8; endcaseendalways(dataout_buf)begin case(dataout_buf) 4b0000:dataout=7b0111111; 4b0001:dataout=7b0000110; 4b0010:dataout=7b1011011; 4b0011:dataout=7b1001111; 4b0100:dataout=7b1100110; 4b0101:dataout=7b1101101; 4b0110:dataout=7b1111101; 4b0111:dataout=7b0000111; 4b1000:dataout=7b1111111; 4b1001:dataout=7b1101111; default: dataout=7b0001_000; endcaseendEndmodule 该模块是用以将倒计时器的数字通过七段译码管显示出来。2.4指示模块module led(clock,key,style,light,reset); input clock,key,style,reset; /端口定义output 3:0light;reg 3:0 light =4b1111 ;reg clk = 1;parameter cnt = 24000000;reg 24:0count;always (posedge clk) /LED灯输出begin if(!reset) light =4b0000; else if (!key) /key键被按下 ight = light; /暂停 else begin if (light =4b0000) /LED灯全部点亮时,重新熄灭再准备下次循环 light =4b1111; endendendmodule 该模块是用循环彩灯来指示倒计时器是否处于工作状态。3.各模块原理图顶层模块原理图 计数模块彩灯模块分频模块 显示模块4. 实际电路运行效果图5.管脚说明和软件介绍5.1管脚说明5.2 软件介绍设计中所使用软件为Quartus。Quartus是Altera公司推出的第四代开发软件,提供了方便的设计输入方式、快速的编译和直接易懂的器件编程。能够支持百万门以上逻辑门数的逻辑器件的开发,并且为第三方工具提供了无缝接口。Quartus软件的设计流程概括为设计输入、设计编译、设计仿真和设计下载等过程。该平台支持一个工作组环境下的设计要求,其中包括支持基于Internet的协作设计。Quartus平台与Cadence、ExemplarLogic、 MentorGraphics、Synopsys和Synplicity等EDA供应商的开发工具相兼容。改进了软件的LogicLock模块设计功能,增添 了FastFit编译选项,推进了网络编辑性能,而且提升了调试能力。6.总结与心得体会 这次的EDA课程设计比我想象的要难很多,原本以为一两天就可以搞定的,结果一个倒计时程序写了四五天才写出来,后面下载到硬件的时候又是各种各种的问题,让我很郁闷,曾经甚至想过要放弃!最后在郭老师的耐心指导下重新修改程序才做出来。通过这次EDA课程设计我深深的感知到对Verilog HDL语言编程的缺乏,连一些简单的语法知识都不知道,有编译程序遇到一个错误改半天都改不对,最终通过查看相关书籍和在网上查找相关资料才得以一个个解决。经过这次教训,在以后的学习我应该认真对待每一门学科,扎实理论基础知识,只有这样在以后遇到相关问题才能轻松解决。 在这次EDA课程设计中,学到很多东西,不仅巩固了以前所学过的基础知识,而且对EDA硬件实验有了进一步的了解。通过这次课程设计使我弄懂了键盘的构造原理以及对它的扫描原理。由于第一次用Verilog语言对这种比较复杂的硬件电路编程,所以有很多地方不懂,因此必须通过查阅大量的相关资料才能弄懂,所以这期间进一步锻炼了自己查阅资料和自学的能力,学习能力得到进一步加强,对以后的学习生活打下根深基础。 总的来说,这次课程设计痛苦但有收获,虽然遇到很多问题,最后在老师的指导下和资料的指引下下都一一解决,本次课程设计充分锻炼了我们的能力,提高了自己对实践操作和理论研究的兴趣,也为明年的毕业设计做了一定的准备。7.致谢 本论文设计在郭老师的悉心指导和严格要求下业已完成,从选题到具体的实训和写作过程,无不凝聚着老师们的心血和汗水。在我们实训期间,老师为我们提供了种种专业知识上的指导和一些富于创造性的建议,老师严谨求实的态度使我们深受感动,没有这样的帮助和关怀和熏陶,我们不会这么顺利的完成实训任务。在此向老师表示深深的感谢和崇高的敬意!这次实训还要感谢郭老师的热情帮助,是他让我在短时间内熟VerilogHDL源程序的编写。在硬件调试阶段,也有很多同学给予了帮助,在此谢谢郭老师。我还要借此机会向给予我诸多教诲和帮助的各位老师表示由衷的谢意,感谢他们的辛勤栽培。不积跬步何以至千里,各位任课老师认真负责,在他们的悉心帮助和支持下,我能够很好的掌握和运用专业知识,并在实训中得以体现,顺利完成实训任务。同时,在论文写作过程中,我还参考了有关的书籍和论文,在这里一并向有关的作者表示谢意。我还要感谢同组的各位同学以及我的各位室友,在这段时间里,你们给了我很多的启发,提出了很
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 车辆合同更改的协议书
- 饭店可乐供货合同范本
- 泉州工商租赁合同范本
- 服装现金提货合同范本
- 自建小区购房合同范本
- 2025至2030中国胆钙化醇行业市场行业发展研究与产业战略规划分析评估报告
- 广东省中山市项目部消防安全测试题四(含答案)
- 试管专业知识试题及答案
- 纺织厂安全知识题库及答案解析
- 大型单位安全员考试题库及答案解析
- 2025年吉林省的劳动合同书范本
- 排水管道非开挖修复施工方案
- 沪教版(2024)二年级上册第二单元《欢乐购物街》单元测试卷(含解析)
- DB46-T 720-2025 水务工程施工资料管理规程
- 经验萃取课件
- 国企办公室笔试考试题库及答案
- 2025新和县招聘社区工作者(第二批35人)笔试备考题库及答案解析
- 小升初重点专题立体图形计算题(专项训练)-小学数学六年级下册苏教版
- 事业单位行测题目及答案
- 农产品检验员试题及答案
- 急诊质控工作汇报
评论
0/150
提交评论