密密麻麻的线,像高架桥一样,不能交叉,还要保证留够宽度和间距。有时候APR工具并不是那么智能,需要人工干预才能达到满意的效果。下面总结了工作中遇到的Route后DRC、Antenna等问题的几个解决方法。
第一步,不修antenna,降低Timing的优化强度,关掉SI,进行detail route。
setNanoRouteMode -drouteFixAntenna 0
setNanoRouteMode -routeWithTimingDriven 1
setNanoRouteMode -quiet -routeWithSiDriven false
routeDesign -globalDetail -viaOpt -wireOpt
第二步,设置OCV,打开修antenna,设置二极管类型,报出drc、geometry、connection、antenna的所有drc violation,然后删除所有violation的连线,重新连线
setAnalysisMode -analysisType onChipVariation -cppr both
setNanoRouteMode -quiet -drouteFixAntenna 1
setNanoRouteMode -quiet -routeInsertAntennaDiode 1
setNanoRouteMode -quiet -routeAntennaCellName ANTENNA27T
editDeleteViolations
ecoRoute
第三步,检查antenna是否与时钟树有关,设置允许时钟树自动插二极管,重新绕线。
editDeleteViolations
setnanoroutemode -routeInsertDiodeForClockNets true
ecoRoute
第四步,有时候真的是连线太长,先修一下cap和tran。
setOptMode -fixCap true -fixTran true -fixFanoutLoad false
optDesign -postRoute
第五步,如果发现drc violation总是在拐角处,并且拐角处的连线密度确实比较大了,可以试试挪cell和插buffer,让连线强制让开。
第六步,还可以增加一个局部的partial place blockage,设成20%,具体数值看情况。让cell稀疏一些,给连线让出更多的资源。
第七步,还可以设置工具的迭代次数,让工具多尝试几遍,用时间来换效果。
setNanoRouteMode -quiet -drouteEndIteration 100
第八步,如果修了很多遍还不行,可以试试从floorplan开始重新做一遍,floorplan优化一下。
第九步,考虑优化设计,删减一部分冗余或者次要逻辑,特别是大扇出的逻辑,一下子可以省很多连线。
第十步,可以考虑增加局部的高层金属,或者增加面积,来增加绕线资源。
转载:全栈芯片工程师
免责声明:文章内容来自互联网,本站不对其真实性负责,也不承担任何法律责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:【Innovus】总结了十条消除DRC和Antenna的方法-innoventbio https://www.yhzz.com.cn/a/10478.html