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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
12
返回列表 发新帖
楼主: kknd2009

[原创] 延时上的问题

[复制链接]
发表于 2011-10-6 21:17:15 | 显示全部楼层
上面是小弟改写的代码,但是问题也存在, 在代码中dout_buf0等应该只改变一次才是我的意愿,但是它改变了两次,这样中间的寄存器的值被改变了,造成结果不对,原因是什么呢?按照最后一个always模块他的中间寄存器的值不应该改变的啊??? 求解释??(中间的寄存器的值不应该改变的啊 如图 dout_buf0 它从10 变成了11),原因??
发表于 2011-10-8 14:17:09 | 显示全部楼层
时序逻辑赋值要用<=,
同一个always块里的赋值要用同一种赋值方式,要么都是=,要么都是<=
发表于 2011-10-8 14:54:18 | 显示全部楼层
这不是出现锁相环了吗?
发表于 2011-10-8 15:19:29 | 显示全部楼层
回复 6# 13572185776


    qidaizhong...
发表于 2011-10-8 23:53:00 | 显示全部楼层
下面这一段改改看看:
always@(*)
   case (cnt_n)
    2'b00: dout_buf0 =  idin;
    2'b01: dout_buf1 =  idin;
    2'b10: dout_buf2 =  idin;
    2'b11: dout_buf3 =  idin;
   endcase
改成:
always@(*)
   case (cnt_n)
    2'b00: begin
         dout_buf0 =  idin;
         dout_buf1 = dout_1;
         dout_buf2 = dout_2;
         dout_buf3 = dout_3;
    end
    2'b01: begin
         dout_buf0 = dout_0;
         dout_buf1 = idin;
         dout_buf2 = dout_2;
         dout_buf3 = dout_3;
    end
    2'b10: begin
         dout_buf0 = dout_0;
         dout_buf1 = dout_1;
         dout_buf2 = idin;
         dout_buf3 = dout_3;
    end
    2'b11: begin
         dout_buf0 = dout_0;
         dout_buf1 = dout_1;
         dout_buf2 = dout_2;
         dout_buf3 = idin;
    end
   endcase
发表于 2011-10-9 09:05:17 | 显示全部楼层
you can check the changes for each input and use sp-done as output enable
发表于 2011-10-10 11:41:16 | 显示全部楼层
assign sp_done = (cnt == 'b11) ? 1 : 0;
改成 assign sp_done = (cnt == 2'b00) ? 1 : 0;
发表于 2011-10-10 14:29:58 | 显示全部楼层
回复 1# kknd2009


    试试拿掉dout_buf_3,在第四个上升沿到的时候直接把in赋予dout_3。
 楼主| 发表于 2011-10-10 18:54:46 | 显示全部楼层
用dout_0~3充当2级缓冲,等sp_done到来时立刻输出。这样就不阻止数据的输入了。
发表于 2011-10-10 23:33:17 | 显示全部楼层
回复 18# john3851


    同意,dout0,1,2都比din晚至少一拍,这样就可以用DFF存着,
  但是dout3要跟din同步,所以din不能再经过DFF给dout3了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-7-3 00:24 , Processed in 0.069280 second(s), 8 queries , Gzip On, Redis On.

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