数字IC后端设计实现Innovus中我们经常会碰到如下的WARNING警告信息。这个log是在route或ECO Route阶段报的。这个WARNING必须要看,因为这里是报告当前设计存在open的net,即某些pin只有逻辑连接,而没有实际的物理连接。
这里正常工具应该报ERROR才合理,但不知C家工程师为何要给大家报了一个警告。导致大部分工程师都看不到这类警告。
所以,以后在route或eco阶段绕线完成后一定要注意下detail route结束后的这个Summary。可以直接在log中搜索"Complete Detail Routing"或者“open nets”即可定位到有问题的点。
数字后端实现工具Innovus中常见open的原因主要有以下几方面:
1)net被设置了skip routing属性
由于种种原因可能在PR实现时会对某些net设置skip routing属性。如果后续这些net要插hold buffer甚至做逻辑功能改动,那么ecoRoute工具也是无法绕这条net的。
###获取net的skipRouting属性
getAttribute -net $net -skip_routing
###设置net为skipRoute
setAttribute -net $net -skip_routing
2)ECO Route阶段设置了modifyOnlyLayer
这个一般出现在做Post-mask ECO阶段。因为此时我们为了节省mask改动带来的成本增加,我们需要尽量保证改动最少的mask来完成我们所需要的ECO。
下面的命令是只允许ECO route改动M1,VIA1和M2这三层。如果做的ECO点连接情况比较复杂,仅仅改动这两层可能是无法绕通。这时候工具就会报open net,告诉我们当前的ECO方案是行不通的。
ecoRoute -modifyOnlyLayers 1:2
所以,在ecoRoute阶段要仔细看log,否则工具会很快刷过完成ecoRoute,你可能会以为绕通了,但实际上工具可能压根就没有做绕线的工作。
3)IP的pin 没有在routing track上
虽然很多时候router还是可以不在track上走线,但我们还是强烈推荐模块的pin或IP的pin都要摆放在routing track上。所以这种问题出现open的情况是有一定的概率,工具发现无法连接上这个IP的pin。
4)cell被摆在低层power stripe正下方
这个情况之前介绍过。如果cell的出pin是在M2出,刚好有跟M3的宽metal整好落在这个pin上,那么这里是很难能绕通的。
数字IC后端设计实现floorplan及powerplan规划
5)net被设置特殊NDR
比如原来的net被设置NDR,限制只能使用M5和M6两层来绕。如果后续因某种需求要使用M2-M5来绕线,此时可能会导致这条net出现open或者工具会直接报错。
需要将原来的NDR remove掉,即恢复成default rule。
setAttribute -net $net -non_default_rule default
数字IC后端设计实现之分段长clock tree经典案例
6)手工修drc导致的net open
这类open net需要在innovus中执行verifyConnectivity来检查。当然后续的物理验证calibre LVS也会报layout比source多出一条net。