当前位置:首页 > 公众号精选 > 全栈芯片工程师
[导读]密密麻麻的线,像高架桥一样,不能交叉,还要保证留够宽度和间距。有时候APR工具并不是那么智能,需要人工干预才能达到满意的效果。下面总结了工作中遇到的Route后DRC、Antenna等问题的几个解决方法。第一步,不修antenna,降低Timing的优化强度,关掉SI,进行det...


密密麻麻的线,像高架桥一样,不能交叉,还要保证留够宽度和间距。有时候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优化一下。


第九步,考虑优化设计,删减一部分冗余或者次要逻辑,特别是大扇出的逻辑,一下子可以省很多连线。


第十步,可以考虑增加局部的高层金属,或者增加面积,来增加绕线资源。




本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
关闭
关闭