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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 5514|回复: 21

[求助] always块中的敏感变量

[复制链接]
发表于 2012-9-14 12:44:29 | 显示全部楼层 |阅读模式

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

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

x
如果always块中的敏感变量没写全,会出现什么问题呢?会综合出锁存器吗?比如:
always @(a or b or sel) begin

case(sel)

2'b00 : d <= a;

2'b01 : d <= b;

2'b10 : d <= c;

default : d <= 1'b0;

endcase
end

c没有被写入到敏感变量中,这样会出现锁存器吗?
发表于 2012-9-14 13:19:39 | 显示全部楼层
问题相当严重
发表于 2012-9-14 13:23:50 | 显示全部楼层
这个就是latch
发表于 2012-9-14 14:12:57 | 显示全部楼层
推荐使用always @(*) 让系统去主动推断 当然是verilog-2011才可以哈
 楼主| 发表于 2012-9-14 15:59:38 | 显示全部楼层
回复 3# timchen0716


   但是我刚用quartus 和 ISE 测试了,没有latch啊
发表于 2012-9-14 20:33:26 | 显示全部楼层
当然没有latch,只是仿真结果和上板的结果不一样 。
发表于 2012-9-14 21:11:41 | 显示全部楼层
会造成前仿和后仿不一致。
跑一下formality就能查出这些问题的。
建议用always @*。现在工具对verilog2001已经支持得很好了。
发表于 2012-9-14 21:38:24 | 显示全部楼层
可以仿真试试这种情况的输出:
sel一直为2‘b10,然后变化C的值,看看输出结果,是不是预期的
发表于 2012-9-15 08:11:53 | 显示全部楼层
会造成仿真结果和预期的不一致,除此之外,综合上不会有任何问题,稍微新一点的工具都足够聪明,能找到正确的敏感表。
 楼主| 发表于 2012-9-17 09:43:34 | 显示全部楼层
回复 6# tiangua


   就是说在综合之后观察RTL结构图,是看不到latch的;但是下板之后是有latch的吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-25 17:11 , Processed in 0.024518 second(s), 8 queries , Gzip On, Redis On.

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