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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2335|回复: 5

[求助] 请教一个阻塞跟非阻塞的问题

[复制链接]
发表于 2009-12-30 22:37:17 | 显示全部楼层 |阅读模式

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

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

x
always @(posedge rx_flag_clk or negedge rx_flag_rst_n)
    begin
if(rx_flag_rst_n == 1'b0)
     enable_reg = {8{1'b1}};                        //initial value 8'hff, all data enable
else
     enable_reg = {rx_flag_rxen, enable_reg[7:1]};
    end

    always @(posedge rx_flag_clk or negedge rx_flag_rst_n)  //change to assign
    begin
if(rx_flag_rst_n == 1'b0)
            flag_cont_rxeno <= 1'b1;
else
     flag_cont_rxeno <= enable_reg[0];
    end

仿真出来结果flag_cont_rxeno 与enable_reg[0]波形在同一拍
但实际会不会是不同拍,这样设计是不是会导致严重错误?
发表于 2009-12-31 15:18:52 | 显示全部楼层
It is OK in real design.

But the problem is simulation.

In simulation, you will see strange result like you said.
Usually, we want the real simulation to be same as real design.

I will suggest you to change your coding style.
发表于 2009-12-31 16:43:55 | 显示全部楼层
2楼好强大。。。。。
发表于 2010-1-3 17:21:59 | 显示全部楼层
本帖最后由 bjtu_glh 于 2010-1-3 17:24 编辑

好的Coding Style要求
在组合逻辑中使用阻塞赋值
在时序逻辑中使用非阻塞赋值
在同一个Always,process中不同时使用阻塞和非阻塞

第一个程序不建议使用的
发表于 2010-2-10 15:10:29 | 显示全部楼层
第一个不好
发表于 2010-3-22 22:03:48 | 显示全部楼层
推荐第二种style
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

X

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

GMT+8, 2025-6-26 06:21 , Processed in 0.021517 second(s), 9 queries , Gzip On, MemCached On.

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