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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 641|回复: 8

[求助] vcs后仿对于X态处理的问题

[复制链接]
发表于 2025-5-21 17:15:03 | 显示全部楼层 |阅读模式
100资产
情形1:

情形1波形.png
对应的sdf:
情形1sdf.png
这里的sdf是用primetime抽取的sdf。通过波形可见对于寄存器当SI为X、RDN/SE为1、D为0时CK->Q的delay值为0。


情形2:

情形2波形.png
对应的sdf:
情形2sdf.png
在情形1的基础上,我做了情形2的实验:将情形1的sdf中空的delay值补上,并且将各个数值修改为唯一值,以判断情形2走的是哪一路COND。结果发现是D==1'b1’&&RDN==1'b1&&SE==1'b1&&SI==1'b1的COND,并且把Q的1->X的变化当成1->0,从而选择了0.042这个delay值。

疑问:
我想达到的目的是在SI为X时,在CK上升沿后Q要经过一个合理的delay值再变为X(即情形2),不能是0延时。但是使用primetime抽取sdf时在D==1'b1’&&RDN==1'b1&&SE==1'b1&&SI==1'b1的情况下(IOPATH CK Q)的fall edge是空的,即情形1中sdf中第6个COND的第二个括号,这个也好理解,因为SI==1'b1时正常情况下Q只能是保持为1或者由0变为1,所以没有fall edge。然而对于SI为X态时工具似乎将SI当做1,而把Q的1->X变化当做1->0,所以在情形1中正好命中了第6个COND的第二个空的括号中的delval。
请教各位大牛,如何达到我想要的目的?在primetime中抽sdf时进行特殊的设置?或者在vcs仿真时加特殊的设置?通过查询相关的文档以及百度搜索都没找到答案,如果哪位大牛遇到过这种情况麻烦指点一下,非常感谢!

发表于 2025-5-22 00:30:53 | 显示全部楼层
反标log里面确认全部都标上了吗?function模式下SI本来就没啥意义
 楼主| 发表于 2025-5-22 09:30:57 | 显示全部楼层


xiaocat85 发表于 2025-5-22 00:30
反标log里面确认全部都标上了吗?function模式下SI本来就没啥意义


确认sdf都标上了。我这个是scan模式。我觉得应该是因为pt工具认为D==1'b1’&&RDN==1'b1&&SE==1'b1&&SI==1'b1时Q逻辑上只可能发生rise,所以就把fall的delay值给留空了,但是SI为X态时也走这个COND,而认为Q由1->X为fall,所以就命中这个空的delay值了,有点工具bug的感觉。
发表于 2025-6-3 19:02:06 | 显示全部楼层
楼主解决了么?
 楼主| 发表于 2025-6-4 11:33:03 | 显示全部楼层


bai252003 发表于 2025-6-3 19:02
楼主解决了么?


还没有
发表于 2025-6-4 16:59:43 | 显示全部楼层
我倒是觉得是不是不需要纠结这个问题?因为不论你是fuction还是scan,寄存器的Q端都不应该出现x,应该花时间找到x出现的原因。至于delay反标,在出现x出现的时候CK-Q有没有delay最终x传播都会造成仿真fail。
 楼主| 发表于 2025-6-6 15:10:16 | 显示全部楼层


lx2116 发表于 2025-6-4 16:59
我倒是觉得是不是不需要纠结这个问题?因为不论你是fuction还是scan,寄存器的Q端都不应该出现x,应该花时间 ...


谢谢回复,现在就是按尽量找出并消除X态的思路来做的。

”在出现x出现的时候CK-Q有没有delay最终x传播都会造成仿真fail”,这一点我倒不认同,因为我觉得scan模式下tmax其实是能识别由于纯逻辑引入的X态(相较于由于时序引入的X态来说的)的,对于这种tmax能识别的X态,其期望值也会是X,不会造成仿真fail。但是对于时序引入的X态,tmax是没法判断的,进而导致仿真fail。
发表于 昨天 15:13 | 显示全部楼层
你说的这个纯逻辑引入的x态是什么意思我没太明白。我理解你的意思是说DFT工具在计算各种fault的时候是可以不在乎某些时候某些信号是x的,但是你既然问题里面都追到了这个寄存器Q变x我只能认为是因为这个寄存器变x传播后导致的fail,否则就不需要看这个寄存器变x的问题。
 楼主| 发表于 昨天 15:48 | 显示全部楼层


lx2116 发表于 2025-6-16 15:13
你说的这个纯逻辑引入的x态是什么意思我没太明白。我理解你的意思是说DFT工具在计算各种fault的时候是可以 ...


举个例子吧,假设芯片只有一个data input,一个data output,data output就是由data input打了100拍得到的,芯片的data input为X就是逻辑X态,如果这个输入X态只维持1个时钟周期,传到内部逻辑后还是一个时钟周期,那内部逻辑的X态就是由逻辑引入的,这种X态不管是带不带sdf的网表仿真波形都一样。如果传到内部逻辑后变成了2个甚至更多个时钟周期,那多余的x态就是由时序(setup/hold violation)引起的,这种情形只会出现在带sdf的仿真中,不带sdf的no timing check的网表仿真是不会有的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

X

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

GMT+8, 2025-6-17 09:14 , Processed in 0.023821 second(s), 8 queries , Gzip On, MemCached On.

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