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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4460|回复: 17

[求助] 大家看看这个代码段能综合不?

[复制链接]
发表于 2011-1-26 08:55:53 | 显示全部楼层 |阅读模式

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

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

x
always@(posedge clk)begin
if(b)
a=c;
d<=a;

end
我的困惑是d值的改变不但取决于clk的上升沿到来,还取决于a=c这条阻塞赋值语句,这种阻塞于非阻塞混用的情况对应于什么电路结构,可以被综合吗?
发表于 2011-1-26 08:59:53 | 显示全部楼层
可以综合,阻塞赋值只影响仿真结果。
 楼主| 发表于 2011-1-26 09:02:08 | 显示全部楼层
多谢啦
发表于 2011-1-26 09:07:15 | 显示全部楼层
可以 但是综合出来和仿真结果不一致
a和c都是寄存器
 楼主| 发表于 2011-1-26 09:19:55 | 显示全部楼层
回复 4# xaaa001


   我希望先改变a再改变d,在modelsim里仿真和我的预期是一致的,那综合以后的结果应该是怎样的呢?
发表于 2011-1-26 12:08:51 | 显示全部楼层
always@(posedge clk)
    begin
       if(b)
           begin
               a<=c;
               d<=a;
           end
    end
 楼主| 发表于 2011-1-26 12:56:03 | 显示全部楼层
回复 6# yl5495


   你这个都是非阻塞的显然不符合要求
发表于 2011-1-26 13:03:24 | 显示全部楼层




    你的写法是最不符合规则的!

    不知你要设计什么样功能的电路?
 楼主| 发表于 2011-1-26 13:24:57 | 显示全部楼层
回复 8# yl5495

你这样写a和d的值一起改变,我的设计要求是a先变,然后把a的值赋给d,所以我才用阻塞赋值
发表于 2011-1-26 13:30:43 | 显示全部楼层
a=b?c:0;
always @ (posedge clk )
begin
if (b)
  d <= a ;
end
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-23 19:58 , Processed in 0.024930 second(s), 9 queries , Gzip On, Redis On.

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