Verilog数字钟设计实验报告

上传人:xmg****18 文档编号:120439671 上传时间:2020-02-06 格式:DOC 页数:24 大小:383KB
返回 下载 相关 举报
Verilog数字钟设计实验报告_第1页
第1页 / 共24页
Verilog数字钟设计实验报告_第2页
第2页 / 共24页
Verilog数字钟设计实验报告_第3页
第3页 / 共24页
Verilog数字钟设计实验报告_第4页
第4页 / 共24页
Verilog数字钟设计实验报告_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《Verilog数字钟设计实验报告》由会员分享,可在线阅读,更多相关《Verilog数字钟设计实验报告(24页珍藏版)》请在金锄头文库上搜索。

1、下载可编辑基于FPGA实现多功能数字钟电子系071180094王丛屹摘要本文利用Verilog HDL语言自顶向下的设计方法设计多功能数字钟,并通过ISE完成综合、仿真。此程序通过下载到FPGA 芯片后,可应用于实际的数字钟显示中,实现了基本的计时显示和设置,调整时间,闹钟设置的功能。关键词 FPGA;Verilog HDL;数字钟一、多功能数字钟的设计设计一个多功能数字时钟,具有时分、秒计数显示、闹钟功能。能够利用按键实现对闹钟时间的设定并在当前显示时间到时后能够进行闹钟提示。能够利用按键实现“较时”、“较分”功能,随时对数码管的显示进行校正和校对。数字中系统主要由系统时钟,三个功能按键(m

2、ode,turn,change),FPGA,数码管和蜂鸣器部分组成。 数码管Clk分频模块计时模块闹钟模块显示模块控制模块蜂鸣器 图: 多功能数字钟总体设计模块以下就各个模块说明其功能1. 分频模块由于FPGA内部提供的时钟信号频率大约为50MHz,在这需要将它转化成1Hz的标准时钟信号供数字钟的计时显示;在此我采用了级联分频法。RTL图如下:代码如下:/fenpinmodule fenpin(clk,clk_1Hz,clk_100Hz,clk_1k);output clk_1Hz,clk_100Hz,clk_1k;input clk;reg clk_1Hz=0,clk_3=0,clk_1=0

3、,clk_2=0,clk_1k=0;reg 6:0 cnt1=0,cnt2=0,cnt3=0,cnt4=0,cnt5=0;wire clk_100Hz;always (posedge clk) beginif ( cnt1 156/2-1) /156分频,生成1MHz信号 begin cnt1 = cnt1 + 1; end else begin cnt1 = 0; clk_1 = clk_1; endendalways (posedge clk_1)if ( cnt2 156/2-1) /100分频,生成10000Hz信号 begin cnt2 = cnt2 + 1; end else be

4、gin cnt2 = 0; clk_2 = clk_2; end always (posedge clk_2)if ( cnt5 10/2-1) /10分频,生成1kHz标准信号 begin cnt5= cnt5 + 1; end else begin cnt5= 0; clk_1k= clk_1k; end always (posedge clk_2)if ( cnt3 100/2-1) /100分频,生成100Hz信号 begin cnt3 = cnt3 + 1; end else begin cnt3 = 0; clk_3 = clk_3; end assign clk_100Hz=cl

5、k_3; always (posedge clk_3)if ( cnt4 100/2-1) /100分频,生成1Hz标准信号 begin cnt4= cnt4 + 1; end else begin cnt4= 0; clk_1Hz= clk_1Hz; endendmodule最终输出的是1Hz,100Hz,1kHz的标准时钟信号clk_1Hz ,clk_100Hz,clk_1k。2、 计时模块原理:m是模式按键,当m=0时,进入计时模式,在计时模式下可以进行时间调整。num3,num4产生加速调整时间,当其值为1时,可以快速调整时间,该调整时间的频率由clk提供。counta,count1是

6、手动调节时间。Turn接按键,可以改变当前调节的是小时还是分钟,长按turn键还可以使秒钟信号清零。sec1,min1,hour1输出的是计时的秒,分,时。RTL图如下:代码如下:/jishimodule jishi(clk,clk_1Hz,turn,/ turn: 接按键,在手动校时功能时,选择是调整小时,还是分钟;若长时间按住该键,还可使秒信号清零,用于精确调时mode,count1,counta,sec1,min1,hour1,num3,num4);input clk,clk_1Hz,turn,num3,num4;input mode;input count1,counta;output

7、 7:0 sec1,min1;output 7:0 hour1;wire clk_1Hz,ct1,cta,turn,num3,num4;reg 7:0 sec1=0,min1=0;reg 7:0 hour1=0;reg 1:0 m;wire count1,counta;reg minclk,hclk;always (posedge mode) /mode 信号控制系统在三种功能间转换begin if(m=4) m=0; else m=m+1;end/秒钟计时模块/always (posedge clk_1Hz)if(sec1=8h59)|turn&(!m)/若长时间按住该键,还可使秒信号清零,

8、用于精确调时。beginsec1=0; /按住“turn”按键一段时间,秒信号可清零,该功能用于手动精确调时if(!(turn&(!m) minclk=1;/产生进位endelse beginif(sec13:0=4b1001) begin sec13:0=4b0000; sec17:4=sec17:4+1; endelse sec13:0=sec13:0+1;minclk=0;end/分钟计时模?/assign m_clk=minclk|count1;/m_clk产生进位或校正改变assign ct1=(num3&clk)|(!num3&m_clk); /ct1 用于计时、校时中的分钟计数a

9、lways (posedge ct1)beginif(min1=8h59) begin min1=0; hclk=1; endelse beginif(min13:0=9)begin min13:0=0; min17:4=min17:4+1; endelse min13:0=min13:0+1;hclk=0;endend/小时计时模块/assign h_clk=hclk|counta;/h_clk产生进位或校正改变assign cta=(num4&clk)|(!num4&h_clk); /cta 用于计时、校时中的小时计数always (posedge cta)if(hour1=8h23) h

10、our1=0;elseif(hour13:0=9) begin hour17:4=hour17:4+1; hour13:0=0; endelse hour13:0=hour13:0+1;endmodule3、 闹钟模块原理:num1,num2产生加速调整时间,当其值为1时,可以快速调整时间,该调整时间的频率由clk提供。countb,count2是手动调节闹钟时间。amin,ahour是输出的闹钟的分钟和小时,LD_alert指示当前是否开启闹钟。RTL图如下:代码如下:/ Alarmmodule Alarm(clk,amin,ahour,num1,num2,count2,countb,LD_

11、alert); input clk,num1,num2,count2,countb; output 7:0 amin; output 7:0 ahour; output LD_alert; wire LD_alert; reg 7:0 amin=0; reg 7:0 ahour=0;assign ct2=(num1&clk)|(!num1&count2); /ct2 用于定时状态下调整分钟信号assign LD_alert=(ahour|amin)?1:0;/指示是否进行了闹铃定时always (posedge ct2)if(amin=8h59) amin=0;elseif(amin3:0=9

12、)begin amin3:0=0; amin7:4=amin7:4+1; endelse amin3:0=amin3:0+1;assign ctb=(num2&clk)|(!num2&countb); /ctb 用于定时状态调节小时信号always (posedge ctb)if(ahour=8h23) ahour=0;elseif(ahour3:0=9)begin ahour3:0=0; ahour7:4=ahour7:4+1; endelse ahour3:0=ahour3:0+1;endmodule4、 控制模块(1)原理:m是模式按键,当m=0时,指当前输出的是计时功能;当m=1时,指当前调整的是闹钟时

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号