完善资料让更多小伙伴认识你,还能领取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 |
|
|
|
|
|
分频模块还是不要随便用,对设计稳定性有影响,一般都是用计数器作为使能控制端
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
NVMe高速传输之摆脱XDMA设计50:主要功能测试结果与分析2 nvmePCIe高速存储
252 浏览 0 评论
NVMe高速传输之摆脱XDMA设计49:主要功能测试结果与分析1
1501 浏览 0 评论
907 浏览 0 评论
855 浏览 0 评论
658 浏览 0 评论
4426 浏览 63 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 03:27 , Processed in 0.606227 second(s), Total 75, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
3544