FPGA--数字时钟(verilog)

FPGA--数字时钟(verilog)

ID:45097466

大小:45.50 KB

页数:11页

时间:2019-11-09

FPGA--数字时钟(verilog)_第1页
FPGA--数字时钟(verilog)_第2页
FPGA--数字时钟(verilog)_第3页
FPGA--数字时钟(verilog)_第4页
FPGA--数字时钟(verilog)_第5页
资源描述:

《FPGA--数字时钟(verilog)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、因为本人也是刚学习fpga的菜鸟,所以这个程序漏洞很多,仅供参考。。。。。。。。。//分频子模块modulefenpin(clk,rst_n,en_1s,en_1ms);//产生1s,1ms的分频inputclk;inputrst_n;outputen_1s;outputen_1ms;reg[31:0]jishu_1s;reg[15:0]jishu_1ms;parametercnt_1s=49999999;parametercnt_1ms=49999;always@(posedgeclkornegedgerst

2、_n)beginif(!rst_n)jishu_1s<=32'b0;elseif(jishu_1s

3、ishu_1s==cnt_1s)?1'b1:1'b0;//1sassignen_1ms=(jishu_1ms==cnt_1ms)?1'b1:1'b0;//1msendmodule//按键控制部分moduleanjian(clk,rst_n,key1,key2,key1_low,key2_low);inputclk;inputrst_n;inputkey1;//分加inputkey2;//分减outputkey1_low;//按键按下消抖后的标志位outputkey2_low;regreg0_key;//key1

4、消抖regreg1_key;regreg2_key;//key2消抖regreg3_key;always@(posedgeclkornegedgerst_n)beginif(!rst_n)beginreg0_key<=1'b1;reg1_key<=1'b1;endelsebeginreg0_key<=key1;reg1_key<=reg0_key;//根据非阻塞赋值的原理,reg1_key存储的值是reg0_key上一个时钟的值endend//脉冲边沿检测法,当寄存器key1由1变为0时,key1_an的值变为

5、高,维持一个时钟周期wirekey1_an;assignkey1_an=reg1_key&(~reg0_key);always@(posedgeclkornegedgerst_n)beginif(!rst_n)beginreg2_key<=1'b1;reg3_key<=1'b1;endelsebeginreg2_key<=key2;reg3_key<=reg2_key;endend//脉冲边沿检测法,当寄存器key2由1变为0时,key2_an的值变为高,维持一个时钟周期wirekey2_an;assignke

6、y2_an=reg3_key&(~reg2_key);reg[19:0]cnt_key1;//计数寄存器always@(posedgeclkornegedgerst_n)beginif(!rst_n)cnt_key1<=20'd0;//异步复位elseif(key1_an)cnt_key1<=20'd0;//led1_an=1,按键确认按下,cnt_key1从0开始计数elsecnt_key1<=cnt_key1+1'b1;endreg[19:0]cnt_key2;//计数寄存器always@(posedgec

7、lkornegedgerst_n)beginif(!rst_n)cnt_key2<=20'd0;elseif(key2_an)cnt_key2<=20'd0;elsecnt_key2<=cnt_key2+1'b1;end//以下为消抖程序regreg_low;regreg1_low;always@(posedgeclkornegedgerst_n)beginif(!rst_n)beginreg_low<=1'b1;endelseif(cnt_key1==20'hfffff)//时钟50mhz的话大约计时是20m

8、sbeginreg_low<=key1;//led_an=1,按键确认按下,cnt_key从0开始计数,这时候还有消抖动,计数20ms后抖动滤除了此时再锁存一下key1的值end//这时key1的值就稳定了endalways@(posedgeclkornegedgerst_n)beginif(!rst_n)reg1_low<=1'b1;elsereg1_low<=reg_low;end

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

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

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