完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
我想实现这么一个功能:一个两位的输出,从00开始加到11,并且每个数字保持1秒,然后循环这个功能。这个保持应该怎么实现呢?是对时钟计数然后计到1秒了对输出加1,还是有其他可以实现1秒保持的办法?晶振就是是32.768M的晶振。刚学verilog不久,求教
|
|
相关推荐
3个回答
|
|
你的时钟是32.768M,每秒运行32,768,000次,用个寄存器32,768,000次一个循环就是一秒钟了
reg [28:0] cnt; reg [1:0] led; always @(posedge clk or negedge rst_n) begin if(rst_n == 1'b0) begin cnt <= 0; end else if(cnt < (32768000 - 1)) begin cnt <= cnt + 1; end else begin cnt <= 0; end end always @(posedge clk or negedge rst_n) begin if(rst_n == 1'b0) begin led <= 0; end else if(cnt == (32768000 - 1) ) begin led <= led + 1; end else ; end |
|
|
|
分频模块还是不要随便用,对设计稳定性有影响,一般都是用计数器作为使能控制端
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
求FPGA 驱动控制ltc2271 或者 ltc2180 或者 ltc2190或者 ltc2202 的代码
1016 浏览 0 评论
369 浏览 0 评论
求助:遇见诡异问题,FPGA模块A输出端口连接模块B输入后,模块A不能正常工作的
1184 浏览 1 评论
422 浏览 0 评论
1133 浏览 1 评论
4035 浏览 91 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-8 12:17 , Processed in 0.657944 second(s), Total 77, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191