基于veriloghdl的数字时钟

基于veriloghdl的数字时钟

ID:3153836

大小:50.00 KB

页数:12页

时间:2017-11-20

基于veriloghdl的数字时钟_第1页
基于veriloghdl的数字时钟_第2页
基于veriloghdl的数字时钟_第3页
基于veriloghdl的数字时钟_第4页
基于veriloghdl的数字时钟_第5页
资源描述:

《基于veriloghdl的数字时钟》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、/**************************************************************顶层模块信号定义:clk:基准时钟信号输入;keysel:校时状态/正常计时状态选择键输入;key_s:校秒信号选择键输入;key_m:校分信号选择键输入;key_h:校时信号选择键输入;keyclr:计时清零键;keyen:计时开始键;buzzout:声响输出;sled:4位数码管段码输出;sl:4位数码管位码输出;seg:单个数码管输出;*************************************************

2、**************/moduleclock(clk,keysel,key_s,key_m,key_h,keyen,keyclr,sled,sl,seg,buzzout);output[7:0]sled;output[3:0]sl;output[7:0]seg;outputbuzzout;inputclk;inputkeysel,key_s,key_m,key_h,keyen,keyclr;reg[24:0]count;wire[23:0]min;wiresec;wiresec_s,sec_m,sec_h,sec_narmal;divclkQ1(clk,

3、sec_narmal,sec_s,sec_m,sec_h);modifyQ2(clk,keysel,key_s,key_m,key_h,sec,sec_narmal,sec_s,sec_m,sec_h);counttimeQ3(sec,keyclr,keyen,min);displayQ4(clk,sec,min,sled,sl,seg);musicQ5(clk,min,buzzout,sec_narmal);endmodule/**************************************************************分频模块信

4、号定义:clk:基准时钟信号输入;sec_narmal:周期为1的信号输出;sec_s:周期为0.5s的信号输出;sec_m:周期为0.05s的信号输出;sec_h:周期为0.0005s的信号输出;***************************************************************/moduledivclk(clk,sec_narmal,sec_s,sec_m,sec_h);inputclk;outputsec_narmal,sec_s,sec_m,sec_h;reg[23:0]count1;reg[22:0]count

5、2;reg[19:0]count3;reg[12:0]count4;regsec_narmal,sec_s,sec_m,sec_h;always@(negedgeclk)begincount1=count1+1'b1;if(count1==24'd12000000)begincount1=24'h0;sec_narmal=~sec_narmal;endendalways@(negedgeclk)begincount2=count2+1'b1;if(count2==23'd6000000)begincount2=23'h0;sec_s=~sec_s;endenda

6、lways@(negedgeclk)begincount3=count3+1'b1;if(count3==20'd600000)begincount3=20'h0;sec_m=~sec_m;endendalways@(negedgeclk)begincount4=count4+1'b1;if(count4==13'd6000)begincount4=13'h0;sec_h=~sec_h;endendendmodule/**************************************************************计时处理模块信号定义:

7、sec:计时信号输入;keyclr:计时清零键;keyen:计时开始键;min:计时结果输出;***************************************************************/modulecounttime(sec,keyclr,keyen,min);inputsec;inputkeyclr,keyen;output[23:0]min;reg[23:0]min;always@(posedgesec)beginif(!keyclr)beginmin=24'h0;endelseif(!keyen)beginmin=min

8、+1'b1;if(min

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。