完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
我想让下面的程序输出一个单脉冲,但是为什么没有输出啊
/*将时钟分频后作为新的时钟*/ module wide_pulse( input wire pulse, input wire clk, input wire clr, //output wire clk_in, output reg clk_out, output wire outpw ); reg delay1; reg delay2; reg delay3; always @(posedge clk) //意在对时钟信号进行分频处理 begin if(!clr) clk_out=0; else clk_out=~clk_out; end always @ (posedge clk_out or posedge clr) begin if(clr==1) begin delay1<=0; delay2<=0; delay3<=0; end else begin delay1<=pulse; delay2<=delay1; delay3<=delay2; end end assign outpw=delay1 & delay2 & ~delay3; endmodule |
|
相关推荐
3个回答
|
|
代码有问题 我帮你看看
|
|
|
|
楼主初学?
这段代码问题比较多,出不来“单”脉冲问题有 1、逻辑问题, assign outpw=delay1 & delay2 & ~delay3; 改成 outpw=delay1 & ~delay2 即可。 2、复位问题,前一段always低电平复位,后一段高电平复位,也就是说clr不管是置高还是拉低,都有一个模块一直出于复位状态,结果就是。。。没结果。 对于复位还需提一点,楼主的两段always前一段用的是同步复位,后一段用异步复位。 在FPGA里的寄存器一般都带异步复位,所以建议在没有特殊需求的情况下统一用异步复位,可以节约资源。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1146 浏览 1 评论
1101 浏览 0 评论
矩阵4x4个按键,如何把识别结果按编号01-16(十进制)显示在两个七段数码管上?
1304 浏览 0 评论
899 浏览 0 评论
2129 浏览 0 评论
1385 浏览 31 评论
5592 浏览 113 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-18 13:24 , Processed in 0.407848 second(s), Total 44, Slave 37 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号