基于VerilogHDL设计的数字时钟.pdf





《基于VerilogHDL设计的数字时钟.pdf》由会员分享,可在线阅读,更多相关《基于VerilogHDL设计的数字时钟.pdf(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-.大学考试答题纸(以论文、报告等形式考核专用)二18二19学年度第 一学期课程编1602080001号学号教师评语:思豪专业年级电子科学与技术 16 级 1 班课程名称硬件描述语言与逻辑综合主讲教师春平评分题目:基于基于 Verilog HDLVerilog HDL 设计的数字时钟设计的数字时钟摘摘 要:要:本文利用 Verilog HDL 语言自顶向下的设计方法设计多功能数字钟,突出了其作为硬件描述语言的良好的可读性、可移植性和易理解等优点,并通过 Altera Quartus6.0 和 cyclnoe IIEP2C35F672C6 完成综合、仿真。此程序通过下载到 FPGA 芯片后,可应
2、用于实际的数字钟显示中关键词:关键词:Verilog HDL;硬件描述语言;FPGA-.word.zl.-.目录一、实验任务 3实验目的 3实验要求 3二、设计思路 3三、实验结果 10四、总结与收获 14-.word.zl.-.一、实验任务一、实验任务实验目的实验目的1.深入了解基于 quartus ii 工具的复杂时序逻辑电路的设计。2.理解并熟练利用 EDA 工具进展综合设计。3.熟练掌握芯片烧录的流程及步骤。4.掌握 Verilog HDL 语言的语法规及时序电路描述方法。实验要求实验要求设计一个带秒表功能的 24 小时数字钟,它包括以下几个组成局部:显示屏,由 6 个七段数码管组成,
3、用于显示当前时间(时:分,秒)或设置的秒表时间;复位键 复位所有显示和计数设置键,用于确定新的时间设置,三个消抖按键分别用于时分秒的设置秒表键,用于切换成秒表功能根本要求(1)计时功能:这是本计时器设计的根本功能,每隔一秒计时一次,并在显示屏上显示当前时间。(2)秒表功能:设置时间,进展倒计时功能(3)设置新的计时器时间:按下设置键后,用户能通过时分秒三个消抖按键对时间进展设置。-.word.zl.-.二、设计思路1 1、总原理框图:、总原理框图:-.word.zl.-.原理如上图所示,时钟由分频器模块,数码管显示模块,计时器模块三个模块构成,每个模块实现如下的不同功能,最后通过在顶层模块的调
4、用,来实现时钟功能。2.2.顶层模块:顶层模块:顶层模块调用三个字模块,并且定义输入输出口,代码输入所示:modulemyclock2(daojishi,stop,clk,reset,shi,fen,miao,miaoout1,miaoout2,fenout1,fenout2,shiout1,shiout2);input clk,reset,stop,shi,fen,miao,daojishi;output6:0 miaoout1,miaoout2,fenout1,fenout2,shiout1,shiout2;wire3:0 miao1,miao2,fen1,fen2,shi1,shi2;w
5、ire clk_1hz;divider_1HZ divider1hz(clk_1hz,reset,clk);count count1(daojishi,shi,fen,miao,stop,miao1,miao2,fen1,fen2,shi1,shi2,reset,clk_1hz);decode4_7 d0(miaoout1,miao1);decode4_7 d1(miaoout2,miao2);decode4_7 d2(fenout1,fen1);decode4_7 d3(fenout2,fen2);decode4_7 d4(shiout1,shi1);decode4_7 d5(shiout2
6、,shi2);endmodule输入输出端口类型功能表:引脚名daojishistopclkresetshifenmiaomiaoout1miaoout2fenout1fenout2shiout1shiout2类型inputinputinputinputinputinputinputoutputoutputoutputoutputoutputoutput功能秒表倒计时模式暂停按键晶振脉冲复位按键小时调节按键分钟调节按键秒调节按键秒个位数码管输出秒十位数码管输出分个位数码管输出分十位数码管输出时个位数码管输出时十位数码管输出三个子模块的原理和代码:-.word.zl.-.1 1分频模块分频模块:
7、分频模块的作用主要是要获得各种频率的时钟信号。输入信号27MHZ 的信号,要想获得 1HZ 的信号作为秒脉冲计时,那么要对 27MHZ 信号分频。通过计数的方式,当计数从 0 开场到 13999999 时,1HZ 信号取反一次,计数又从 0 开场,如此循环,就可以得到 1HZ 脉冲信号。对于其他信号也是如此,只是计数值不一样,得到的分频信号不同。模块代码如下:module divider_1HZ(clk_1hz,reset,clk);output clk_1hz;input reset,clk;reg clk_1hz;reg23:0 count;always(posedge clk)begin
8、if(reset)begincount=0;clk_1hz=0;endelsebegin-.word.zl.-.endendif(count=13499999)elsecount=count+1;/计数begincount=0;clk_1hz=clk_1hz;endendmodule(2 2)译码显示模块:)译码显示模块:一、一、数码管显示:通过传入响应的十进制数,运用 case 语句转换输出相应的7 位二进制显示码,送入数码管显示。代码如下:module decode4_7(temp,indec);output6:0 temp;input3:0 indec;reg6:0 temp;alway
9、s(indec)begincase(indec)/用 case 语句进展译码4d0:temp6:0=7b1000000;4d1:temp6:0=7b1111001;4d2:temp6:0=7b0100100;4d3:temp6:0=7b0110000;4d4:temp6:0=7b0011001;4d5:temp6:0=7b0010010;4d6:temp6:0=7b0000010;-.word.zl.-.4d7:temp6:0=7b1111000;4d8:temp6:0=7b0000000;4d9:temp6:0=7b0010000;default:temp=7bz;endcaseendend
10、module(3 3)、计时器模块)、计时器模块:秒计数:在1HZ 脉冲下进展秒计时,当计时到达59 秒后,在下一个脉冲降临变 0,并发出一个脉冲信号,可供下面分钟计数作为输入脉冲信号计时。分钟计数:在输入脉冲下,分钟开场计时,当计时到达 59 后,在下一个脉冲降临变 0,并发出一个脉冲,供小时计数的输入脉冲新号。小时计数:脉冲信号降临时,计数加 1,到达 23 后在下一个脉冲的作用下清零,从新计时。如果有复位信号,那么时分秒全部清零。计时器模块还包含了设置时间 和秒表切换的功能局部代码如下:module count(daojishi,shi,fen,miao,stop,miao1,miao2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 VerilogHDL 设计 数字 时钟

限制150内