完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我需要设计一个计数器,时钟变化几十个才计数一次。我先用了一个计数器随时钟计数,然后用组合逻辑判断做加法,modelsim仿真可以成功但是上板子后无法实现功能,希望大家能帮忙解决一下。 书写的主要代码如下: always@(count) begin if(count==10'd0) begin CNP_ON<=1'b0; CVP_ON<=1'b0; Inter_Num<=7'd0; end else if((count==10'd72)||(count==10'd108)||(count==10'd144)||(count==10'd180)||(count==10'd216)) begin if(Inter_Num==Max_Inter_Num) begin CNP_ON<=1'b0; Inter_Num<=7'd0; end else begin Inter_Num<=7'd1; Inter_Num<=Inter_Num+1'd1; CNP_ON<=1'b1; end end else if ((count==10'd95)||(count==10'd131)||(count==10'd167)||(count==10'd203)||(count==10'd239)) begin CNP_ON<=1'b0; end else begin CNP_ON<=CNP_ON; Inter_Num<=Inter_Num; end end always@(posedge clk) begin if(rst) begin count<=10'd0; end else if(count<=10'd1022) begin count<=count+1'd1; end else begin count<=count; end modelsim仿真结果 |
|
相关推荐
3个回答
|
|
本帖最后由 reallmy 于 2017-3-14 18:36 编辑
always@(count)是什么鬼,都改成时钟啊,不要用组合电路,而且组合电路要用“=”不用“<=”,建议你都改成时序电路吧,就是posedge clk这种的,quartus上选无符号数,不要选十进制,那样就有正负了,看着容易误解! |
|
|
|
恩,谢谢,用了你的建议改成时序逻辑就可以了。 |
|
|
|
学习学习学习
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
47 浏览 0 评论
矩阵4x4个按键,如何把识别结果按编号01-16(十进制)显示在两个七段数码管上?
871 浏览 0 评论
855 浏览 0 评论
1769 浏览 0 评论
465 浏览 0 评论
1241 浏览 25 评论
5456 浏览 113 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-5 20:06 , Processed in 1.000662 second(s), Total 78, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号