微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC验证交流 > 使用VCS 进行后防出现大量不定态

使用VCS 进行后防出现大量不定态

时间:10-02 整理:3721RD 点击:
使用VCS进行后仿真,将反标了SDF文件,但是很多地方都是红的,因为是第一次做后仿,请问出现这种情况的可能性是什么,并且还有一个疑问,后仿真是针对实际电路的,不管电路是否正常工作都应该是0、1的状态呀,为什么会出现不定态,后仿真的时候如何调整可以消除不定态?

后仿真依然还是模型仿真,只不过加入了抽取的时序信息而已。
出现x,原因可能有多方面的。比如:
1. 存储器件未初始化,主要体现在register未初始化。
2. notifiy register翻转。
3. 不佳的激励。

谢谢你的解答,如果要解决你所述的几个问题,应该怎么样做呢?我现在后仿真的是一个ARM7和它的程序存储器,程序存储器的数据是通过testbench从外部给出的,现在就是怀疑程序存储器是否写入正确

同问啊
我也在做后仿,不过global async reset后,所有register都变成了xxx
请教二楼会是啥原因
我comment掉sdf annotation,只用.v的库模型来仿真也是这样
难道是place and route的时候出问题了?

同问啊
我也在做后仿,不过global async reset后,所有register都变成了xxx
请教二楼会是啥原因
我comment掉sdf annotation,只用.v的库模型来仿真也是这样
难道是place and route的时候出问题了?

昨天继续做了一下仿真,将出现XX态的存储器单独用他的.V模型进行了仿真,发现了问题,我建议你也可以
将信号引入更加深的层次,并且比较RTL级别、综合后网表、布局布线后网表,找找原因,新手,一起交流吧

出现unkonw的情况主要应该是你的mem或者reg没有初始化,VCS有option可以帮助你初始化未赋值的地方,方法:+vcs+initmem+random(0 or 1) 初始化mem,+vcs+initreg+random(0 or 1)初始化reg。可以试一下。

谢谢啦,问题已经解决了,先把程序通过Testbench写入了mem当中

有点不明白: 为什么在后仿时才出X,前仿为什么能过?

我觉得跟后仿的模型有关吧,前仿的时候,仿真完全是根据你代码来的,而后仿真的时候很多东西都变了,比如你的存储器可能就是编译出来的,他们的行为模型和你想象的可能是不一致的,所以会出现很多问题。我这次出现不定态就是因为存储器的模型有点出入。
初学者,愚见啦

如果环境中有ROM,那么需要正确的加载。
仿真库文件中,描述了fucntional model和带时序信息的模型,编译的时候要注意区分,只是去掉SDF过程,还是不够的。
编译的时候,不检查时序就不会有时序的问题

后仿真还是建议先做0delay,然后反标sdf也先做notimingcheck的,checktiming的时候对于async-2dff的地方要专门处理。另外设计的风格也会导致后仿失败,比如sram出来的数据直接参与组合逻辑运算可能导致X的传播。

跟踪X的源头,这就能找到关键问题。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top