当allow_qualifier_merge设置为strict的时候,sg是要检查门的极性的。

如果qualifier和src经过与门汇聚,在同另一个src1信号或门汇聚,sg是报unsync的。

假设当qualifier为0时,0&&src||src1=src1,src1无法被gate

假设当qualifier为1时,1&&src||src1=src||src1,src和src1都无法被gate

因此报告结果为src and门同步,对于src1,始终无法被gate

否早mux两个输入端均为src用例。

这个是典型的unsync reason。

同样逻辑功能,但是如果将上面电路改为如下

sg却报了同步。

假设当qualifier为0时,(0&&src)||(1&&src1)=src1,src and门同步成功,src1通过

假设当qualifier为1时,(1&&src)||(0&&src1)=src,src1 and门同步成功,src通过

相同逻辑却报出完全不一致的结果,自相矛盾。

我们可以看到ac_sync01/02rule只是偏向于结构的判断,还是存在较大bug

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部