作者:北京百里半网络技术有限公司 从PDK中很容易调用器件的版图,并且可以根据需要修改参数,那么PDK中可以修改参数的器件是如何实现的呢?今天给大家介绍一下参数化单元(parameterized cell, Pcell)的设计环境,可以设计满足自己需求的Pcell. Pcell也就是参数化单元,可以看作是一种可编程单元,允许用户通过定义参数创建实例。 在调用Pcell的过程中为参数赋不同的值,可以创建不同的Pcell实例。 比如,可以在版图中调用PDK中的MOS器件,然后根据设计参数修改MOS器件的W、L、是否添加Gate过孔、是否添加源漏连接等,这些都可以通过Pcell实现。 可以使用skill程序创建Pcell,也可以使用Virtuoso Pcell应用程序以图形方式创建Pcell. 使用skill程序创建Pcell更加灵活,也是Cadence推荐的Pcell创建方式,使用Virtuoso Pcell应用程序以图形方式创建Pcell更加方便,并且需要很少的skill编程基础,适合初学者,往往也能满足大部分的设计需求,以下内容都是以图形化方式创建Pcell. 首先了解几个概念,可以认为Master cell就是PDK中提供的Pcell, 它所包含的各个参数信息已经保存,可以打开PDK中的Pcell, 查看包含的参数信息。 Submaster cell是通过调用Master方式生成,在调用Master cell时对不同的参数赋值不同也就产生的不同的Submaster cell,其中Submaster cell的信息保存在内存中。 Pcell的设计环境与版图设计环境基本一致,所有操作也都是在版图设计基础之上完成,在版图设计界面:Launch->Plugins->Pcell, 即可开始Pcell设计。 简单的Pcell MOS管 可以完成以下功能:
Pcell设计的plugin包含的命令在上图中可以看到,每一个命令对应不同的参数化功能,Pcell的所有功能都是利用上面不同功能的组合实现。
对于refernece dimension很多初学者都不容易理解,其中有一种方法可以很好记住:这个值就是当前版图中你想要stretch对象的尺寸,也可以认为为Pcell中该参数的默认值。 stretch direction:是指拉伸的方向,一般习惯使用两个方向同时拉伸,这样更改参数时器件中心坐标不会改变。但是为了方便设置Repetition命令,可经常定义单方向的拉伸。 完成stretch control line的相关定义之后可以选择:Compile->To Pcell, 将设计编译为Pcell, 然后新建版图view, 调用自定义的Pcell,并打开属性对话框,观察改变参数时器件的相应变化。 按照同样的方法,定义一条沿Y轴的Stretch命令,用来改变MOS管的Width参数,注意这里reference dimension值应该和此时版图中MOS管的宽度对应,如下图所示。 保存好设置,然后编译为Pcell, 再次调用并改变参数,观察器件变化是否和预期一致,如果不一致再返回修改参数设置。 为Stretch命令指定对象:从上面的演示结果可以看到,contact尺寸会随着Width参数改变,这个是不希望的。 在定义完Width命令的时候可以选择:Stretch->Qualify, 然后根据窗口左下角提示信息依次选择:Stretch control line, Stretch shapes. 比如在MOS设计中选择除contact之外的所有形状,然后再次查看结果。 Repetition命令还可以设置与Stretch命令关联,设置依拉伸总量决定复制数量(默认状态)或者设置依据复制数量决定拉伸量等。 ![]() |
|