版图提取的网表仿真问题
1. 直接加sdf,仿真结果正确
2. 不加sdf,+notimingcheck +nospecify,运行结果跑到一半出现不定态
3. 不加sdf,去掉上述两个选项,运行结果仍然不正常,但是不是不定态
有疑惑的地方:为什么加sdf能运行通过,直接运行逻辑网表还会有问题?
另外,在dc综合之后,不带sdf,+notimingcheck +nospecify运行结果是正常的,
我的理解是dc出来以后的逻辑网表,如果不检查timing的话与版图提取出来的应该是一样的啊
dc综合完没有时钟树的信息,clock都是ideal的所以没问题
版图出来的网标,里面有clk buffer的信息了吧
不反标的话,没办法平衡clk buffer的时延了
也就是说版图出来的网表必须得用SDF反标才有意义?
clock buffer不反标的话应该也是理想的,和DC出来的没区别。后仿的网表可能一个module的输入输出反向,得注意下
不加SDF你做后仿的意义在哪儿?直接formality不就行了。
加了SDF你做后仿意义在哪儿?直接primetime不就行了?
PT是静态,gate simulation是动态。如果你能保证你的constraint完美无缺,只PT和FM,不gate simulation,至少我认为OK。
和DC不同,DC的clock tree是ideal的,Simulator能够判别launch DFF和capture DFF的clock edge先后关系,因而没有问题。
P&R netlist without SDF and no specify,由于launch DFF和capture DFF的经过的cell level不同,则可能引入clock race,造成不定态。
这个问题不是delay能解释的。
呵呵,某些CDC的问题即使constraint设得没有问题,gate simulation也还是会挂掉!
CDC 只是simulation时timing check X state 的问题,不涉及到真正的硬件问题,更不是constraint的问题。
你说的只是简单的异步情形...
某些涉及3个clock一起CDC的电路,仍然有一些当前SDC无法准确表达的timing关系。
For Item2,
能trace一下出现unknown的DFF和前一级DFF的clock tree分叉点之后的clock cell级数一样吗?
你是真遇到过还是猜想的?厂商做仿真库的时候这个问题早就考虑过了,不可能是这个问题
不理解这么简单的问题为啥还有厂商解决不了。