版图效率提升—Pcell与脚本的应用

文摘   其他   2024-03-14 17:25   江苏  

在模拟版图中效率提升空间是很大的,模拟版图目前很难实现完全的自动化设计。电路结构多变,导致模块复用率低。分享下借助Pcell和脚本来实现版图的效率提升。使用Pcell 来对相似结构的复用,所以模拟电路中的差分对,电流镜,cap array等等都是可以使用 pcell来实现的。通过对局部电路结构的固化,将模拟电路版图进一步拆分。

如下实例是在custom compiler 下开发环境,custom compiler 有丰富的API,可以实现快速的版图二次开发。其Pcell  可以使用Tcl 开发也可以选用Python开发。Python用的不熟练,下面展示的pcell都是tcl开发的。

下图是一个差分对管结构的pcell,从提供的parameters可以看到基本连线信息与size 等都需要用户提供。Hier pcell 底层直接调用pdk 中的器件。它的有点可以随时根据需要调整。

上图可以看到Pcell并没有完成,说下另一个会影响到自动化的因素。Schematic designer 都比较保守,不愿意使用自定义的pcell  symbol。单纯的layout 的pcell 是比较难与电路创建对应关系的。没有SDL 关系对后期review 都不方便,另外这些mos上的参数也比较难从电路上传递过来(当然这些问题都可以额外脚本解决但多一步骤体验不好)。    

所以改成下面直接在layout上生成对应的layout结构。这样既可以保持与电路匹配的对应关系,器件参数也可以直接传递到脚本来生成layout。创建一个与parameter相似的GUI 接受输入信息。

脚本可以从选择的电路器件上提取出需要update的参数,根据选择的匹配类型自动生成匹配。

如下生成两排结构:dummy 四端同时连接完成,输入输出连接完成。输出信号内部不全连接。由上层自行连接。

修改快速生成四排结构:    

直接根据电路生成的版图保持着SDL的对应关系,所以从电路上还是DN上选择对应器件或net时都是可以highlight到的。

上面开发的难点主要在gate的交叉连线保持45°斜边同时保证没有offgrid,另外就是当源端abut时候保证gate斜边位置不出现小角。    

下面是另一个实例,是一个新工艺下对大量的电感结构生成testkey的pcell 应用。电路结构固定,需要能够改变金属层次,宽度,距离,匝数,以及拉伸变形这些需求。

所以可想象如果纯人工layout,会是什么样的工作量。

可以支持拉伸成椭圆状

         

 

   

上面这些电感是花费一周多的时间开发验证完成。最终生成testkey将是几十或近百种 pattern。

手工来做的化不现实。Pcell方既保证效率同时保证质量的一致性。

Pcell 快速实现也可以使用custom compiler的UDD 功能:

Step by Step 教你使用UDD做Pcell

         

 

   

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