Convert instVia to stdVia

文摘   2024-05-24 15:40   江苏  

最近收到这样的一个需求,原始layout 经过多次stream in/out 所有的std via都变成了instance 了。

在导入的library 库里存在大量的via 相关的cell(流水号加via名这种类型cell),mos 等也是一样的。对layout 后续修改非常不方便。这里先说下cc里的import 或export时是可以keep pcell /vias的。使用cc的时候可以 打开这个option,导出gds时会随带出一个pcell 和abut信息的数据。导入的时候提供这两个信息就可以恢复原来的pcell via了,非常方便。

再看当前需要中的问题,版图上所有的via都变成instance了,无法进行stretch ,相关的parameter功能无法使用。相信遇到过的都有一样的感受。         

 

    


我们可以使用什么方法把这些via还原呢?下面分享下我的解决思路

1.遍历用到的via instance,到对应这里cell里面把所需要的信息收集成paramter,比如上图中我从via cell里通过一系列的布尔操作运算出需要 enclosure 信息,column/row信息,x /y space等。然后把这些信息生成viaParams list,以cell name 做key 索引。

2.找到版图中这些via inst的位置,以inst name 为key 调出相关的parameter信息重新

le::createVia -definition $viaNames -design $design -origin $point -params $viaParams

3.对于一些简单的器件,需要提取的信息不多的情况,比如电阻或电容关键参数可以从图像中提取出来的,同样可以用上面方法重建pcell。    

怎么实现hierarchy 的替换,这里我是把library里的都替换一遍了。处理方便些。没有从top去一层层处理。下面是做个了GUI 来方便处理。

     Custom compiler 提供非常丰富的运算命令,使用这些命令可以轻松提取需要的信息xor and not outside等等。通过定制可以帮助自动化修复DRC问题。    

    对应这些命令都example 参考,修改修改即可使用。

对于定制化flow非常友好。脚本就不展示了,脚本只是实现解决思路的方式。


         
 

         

 

   

         

 

         

 

         

 

   

IC模拟版图设计
IC 设计后端知识分享 EDA使用心得 Linux 环境 脚本分享 Perc开发 Custom compiler