微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC后端设计交流 > STA与后仿真setup/hold的问题

STA与后仿真setup/hold的问题

时间:10-02 整理:3721RD 点击:
PR之后,写出网表,然后StarRC抽取寄生参数,接着在PT中写出SDF反标,进行后仿真。PR中的setup/hold都是clean的(PT中也clean),但是在反标SDF进行后仿真时,却报$setuphold的violation:


请各位大大分析一下,有什么解决办法啊

就是去m3的这些寄存器查啊, report_timing 看看slack有多大, slack不够也会引起的,
后仿真多查查

感谢icfbicfb小编的回答~请教一下,icc在修hold的时候能设置一个最小的margin吗?保证最小的slack大于这个margin。保证每个slack都足够工作量蛮大的

检查后仿真发现的violation path,在PR后做STA时候有没有cover到?

set_clock_uncertainty -hold 0.2 [all_clocks] 啊,holdmargin

soga~初出茅庐,得好好积累,嘿嘿

感谢回答~没有cover的原因是什么呢?STA不应该报出最差slack吗?

STA是靠约束来保证的,前提是完备的约束,如果约束不够完备有漏掉的path,就可能在后面发现这样的问题

嗯,受教了

check_timing看看,

如果约束不正确或者不全面的话,是不会有违约报告的;这个时候,false path的设置就尤为重要,牢记它具有贪婪特性
保证所有的寄存器给的时序约束都是正确全面的,报告里没有违约才是可信的;其实,蛮多时候(特别是异步设计里),需要靠一定的后仿真来确保真的没有时序问题

刚刚解决了,果然是因为一些路径没有约束的问题,check_timing的时候发现的~再次感谢

嗯,刚解决这个问题,感觉你说的很有道理

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

网站地图

Top