在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2269|回复: 9

[求助] 计数器问题

[复制链接]
发表于 2010-5-6 17:46:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
这个是8进制计数器,我怎么保证计数器bit_cnt运行到0就停止啊,我这个计数器bit_cnt为0的时候才有结束信号,但是bit_cnt还是会减1,变成f。
请大侠指教一下,急用
always @(posedge clk)

    if (ld)            
             bit_cnt <= 4'h7;                             
    else if(cycle_pulse)                           
       bit_cnt <= bit_cnt - 4'h1;
    else if(bit_cnt == 4'h0)
           byte_done <= 1'b1;
         else
           byte_done <= 0;
发表于 2010-5-6 22:23:45 | 显示全部楼层
你是不是应该把判断放在前面....
always @(posedge clk)

    if (ld)            
             bit_cnt <= 4'h7;                             
    else if(cycle_pulse)                           
           if(bit_cnt == 4'h0)
               byte_done <= 1'b1;
          else
              byte_done <= 0;      
    else
       bit_cnt <= bit_cnt - 4'h1;
这样的话,是不是判断的优先级较高,这样就可以了吧。你试试看看吧
发表于 2010-5-7 05:28:36 | 显示全部楼层
ls说的是。或者你可以用另一个always来判断bit_cnt状态,为0则byte_done输出1。
发表于 2010-5-7 09:54:19 | 显示全部楼层
把判断放前面就好了 if 逻辑有顺序的
 楼主| 发表于 2010-5-10 11:46:30 | 显示全部楼层
谢谢大家 啊
发表于 2010-5-10 11:55:17 | 显示全部楼层
学习了
发表于 2010-7-14 19:54:57 | 显示全部楼层
主要是来得留一下
发表于 2010-7-14 20:16:22 | 显示全部楼层
always @(posedge clk)   begin
    if (ld)            
             bit_cnt <= #1  'h7;                             
    else if (bit_cnt == 'b0)
         bit_cnt <= #1 'b0 ;   
    else
       bit_cnt <= #1 bit_cnt - 'h1;
end

wire     done = ( |bit_cnt == 'b0 ) ?  'b1 : 'b0 ;

always @ ( posedge clk )   begin
    if(  done   &&  cycle_pulse )
           byte_done <= #1   'b1;
    else
           byte_done <= #1   'b0;
   end


不知道理解错没有
发表于 2010-7-14 20:50:21 | 显示全部楼层
if有优先级,注意这点就好了
发表于 2010-7-14 22:19:22 | 显示全部楼层
建议lz改一下代码结构,count和end不要在有一个块产生,形成好习惯!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

X

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-6-28 00:23 , Processed in 0.043603 second(s), 11 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表