请教VCS后仿 +neg_tchk +notimingcheck问题
1.PR后的timing rpt没有时序违反,那sdf里负的hold 是什么意思,是好是坏?
2 有error,提示要加+neg_thck,这个和负的hold有什么关系吗?加+neg_tchk貌似把负的hold修成0了?
3.+notimingcheck就相当于不检查负的hold?那影响仿真所加时序吗?这个命令在仿真时候需要加吗?
正确的仿真,这2个命令都需要加吗?
1.PR后的timing rpt没有时序违反,那sdf里负的hold 是什么意思,是好是坏?
没有关系,hold为负值的意思是信号在时钟沿之前指定时间内(那个负值的绝对值)翻转都不会出问题。
2 有error,提示要加+neg_thck,这个和负的hold有什么关系吗?加+neg_tchk貌似把负的hold修成0了?
需要+neg_thck,我认为不是因为“+neg_tchk”才把负值改为0,而是因为工具不支持负值,
所以把负值改为0来计算,这样相当于仿真时hold check更苛刻了。
3.+notimingcheck就相当于不检查负的hold?那影响仿真所加时序吗?这个命令在仿真时候需要加吗?
时序仿真不能用“+notimingcheck”,只有功能仿真时才可以加这个选项。
非常,非常感谢你的回答!另外,飞翼零式很帅!
大哥大gdeg
请问能否具体说明下,notimingcheck在RTL仿真和后仿真中的意义?如果后仿真中加了这个参数会有什么影响?
notimingcheck在RTL级仿真中,可以避免如sram、flash以及你RTL中例化的std cell报出时序违背,而影响你的仿真结果。后仿真一般仅将notimingcheck设置在跨时钟域处理的第一级DFF上,以规避其报时序违背,导致仿真出现X态。
非常感谢,现在完全清楚了!
你好,请问一下怎么将“notimingcheck”这个参数只加到跨时钟域的第一级呢? 谢谢!
假设你有两个dff (分别为“u1/u2/u3”,“u1/u2/u4”) 不做时序检查创建一个文件,我在这里命名为notimingcheck.cfg
文件内容为:
instance {
u1/u2/u3,
u1/u2/u4
} {noTiming};
然后在仿真编译中加入 “+optconfigfile+notimingcheck.cfg”
执行仿真即可
第二级的时序是需要解决的(也就是说第二级不能出现时序问题,因为他属于同一个时钟域)
谢谢!
请问有人按9楼大神的回复的方法试过吗?
我初步试了一下,发现这个方法行不通,
不知道还有没有其他的办法,急用。
路过。
谢谢指导,谢谢!
大神经验很丰富,看了你的回答,学习了,谢谢!