PCELL 123 概述...................................................................................................................................2 1.1 什么是参数化单元(parameters cell)....................................................................2 1.2 创建 Pcell 流程.......................................................................................................... 4 1.3 什么是 parameters.................................................................................................... 4 2 延伸命令...........................................................................................................................6 2.1 主菜单(Stretch Menu)................................................................................................7 2.2 如何画控制线(Drawing Stretch Control Lines)...................................................... 14 2.3 控制线规则(Stretch Control Line Rules)...............................................................16 3 复制...................................................................................................................................24 3.1 复制和延伸(Using Stretch with Repetition)............................................................24 3.2 参数定义(Using Stretch Parameters with Repeated Objects)..................................24 3.3 从属控制拉伸线(Using Dependent Stretch Control Lines)..................................... 30 4 条件延伸...........................................................................................................................32 5 创建实例...........................................................................................................................33 5.1 基本的 mos 管的 pcell 建立....................................................................................33 6 Conditional inclusion........................................................................................................ 40 6.1 命令解析..................................................................................................................40 6.2 实例展示..................................................................................................................42 7 Parameterized shapes 和 Repeat along shape 的定义.................................................44 7.1 Parameterized shapes 命令解析................................................................................44 7.2 Repeat along shape 命令解析.................................................................................. 48 7.3 应用 path 定义 进行自动画孔................................................................................ 52 8 Reference point 的定义(不理解用在什么情况).............................................................. 58 8.1 选择参考图形........................................................................................................... 58 8.2 选择需要参考的层................................................................................................... 59 8.3 实例展示...................................................................................................................64 9 Inherieted paraneters ( 层次化参数)..............................................................................65 9.1 描述..........................................................................................................................65 9.2 定义..........................................................................................................................66 9.3 实例展示..................................................................................................................69 10 Parameterized layers(层参数)..................................................................................... 69 10.1 描述........................................................................................................................69 10.2 调用........................................................................................................................72 11 Parameterized label............................................................................................................ 73 11.1 描述........................................................................................................................ 73 11.2 实例展示................................................................................................................ 76 设计举例.................................................................................................................................77 1 创建接触孔.................................................................................................................77 2 创建简单 NMOS........................................................................................................ 85 1 第 1 页 2011-6-28 3 创建简单 PMOS......................................................................................................... 95 4 创建简单 INV1.........................................................................................................105 5 创建简单 INV2......................................................................................................... 113 6 创建电压可转换的管子........................................................................................... 122 7 创建电容 1................................................................................................................ 135 8 创建电容 2................................................................................................................ 139 1 概述 parameters cell 1.1 什么是参数化单元(parameters cell) 一个参数化的单元(pcell),是用图形表示的,允许你每次创建器件的时 候都可以编辑其参数。你创建这样的单元就好像创建任何其他layout单元, 你将parameters赋予它,它就称为了pcell,这样的pcell我们称之为master。 在你compile完这样的master之后,他将以SKILL语言的形式记录基础数据。 Submaster Cells:你已经创建了一个pcell,当你利用这个pcell创建器件 的时候,你需要对创建的instances赋予参数,这样每个不同的instance都 具有不同数据存储在虚拟内存中,我们称之为submaster 。 第 2 页 2011-6-28 第 3 页 2011-6-28 1.2 创建 Pcell 流程 两种编译 Pcell 的方式:利用 Pcell 菜单;用 SKILL 命令 1 创建并编辑一个 cell 2 添加 parameters 3 编译 cell 成为 master pcell 4 测试 master. ➤ From a layout window, choose Tools – Pcell. 1.3 什么是 parameters 1.3.1 参数名 当你放置一个instance的时候,你需要将数值赋予不同的参数项以使你: 第 4 页 2011-6-28 � stretch parameter —— 向X或Y方向拉伸图形; � conditional inclusion parameter —— 包含或去除对象; � repetition parameter —— 在X或Y方向复制对象组; � parameterized shapes —— 在你放置instance时修改栅paths或矩形; � repetition along shape parameter —— 沿着参数化图形的边缘复制; � reference point defined by path endpoint —— 放置与 parameterized path端点相关的对象 � reference point defined by parameter —— 放置于参考点相关器件 � inherited parameters —— 从hierarchy的任何一个level获得参数而 inherit更高的level � parameterized layer —— 改变layer目的是对象图形组 � parameterized label —— 定制label � parameterized property —— 创建一个由参数值决定的属性 1.3.2 定义参数: 参数名是一个变量,我们可以将其关联到其他定义参数上如果给的拉伸 变量名是 gate,那么我们定义重复栅的步长的时候我们可以使用 SKILL 表达 式,如 gate+1。变量名的命名需要指明使用意图,如 channelWidth。SKILL 表达式可以使用 2 个以上参数。可以定义为: � 浮点型的数字 第 5 页 2011-6-28 � 一个名字 � 一个SKILL 表达式 � 一个SKILL 函数 1.3.3 SKILL 操作符: 2 延伸命令 第 6 页 2011-6-28 这一章我们讨论 � Drawing Stretch Control Lines � Defining Stretch Parameters � Specifying Stretch Directions � Specifying a Reference Dimension � Setting Minimum and Maximum Values � Stretching Paths � Using Stretch with Repetition � Using Stretch with Conditional Inclusion � Using the Stretch menu, including 利用 Stretch parameters 可以改变对象的尺寸,可以沿着垂直方向(vertically)、 水平方向(horizontally)或者同时两个方向。 � Stretch the length and width of a transistor � Stretch the width of a path � Move certain groups of objects while stretching others 2.1 主菜单((Stretch Menu Menu)) 第 7 页 2011-6-28 2.1.1 Stretch in X —— 沿 X 方向拉伸 将目标沿 X 方向拉伸,其 Stretch control line 是一条垂直的直线,将 object 一分为二,分割处既是拉伸的起点。(注意 Reference dimension 的值需和实 际的 pcell 的尺寸一样) 沿 X 方向拉伸后的图形: 第 8 页 2011-6-28 2.1.2 Stretch in Y —— 沿 Y 方向拉伸 注意 Reference dimension 的值需和实际的 pcell 的尺寸一样) � 沿 Y 方向拉伸后的图形: 第 9 页 2011-6-28 2.1.3Qualify —— 指定对象 首先点击 Qualify —— 出现提示 击 Stretch line — — Stretch ——点 line 高 亮 同 时 出 现 提 示 — — (点击受此 Stretch line 影响的单元) ——我们选择除了孔以外的图形——双击空白处结束。 此命令可以修改黄色线所作用的对象,并不能改黄线的(就是此参数) 的属性,假如一开始把孔 , 铝线,栅 都作用,此时需要修改,那 么就可以通过此命令实现。 —— Summarize 查看() 2.1.4 选择菜单项的 parameters parameters—— ——Summarize 我们可以看到(qualified)字样,具体我们还需要验证: 第 10 页 2011-6-28 我们选择影响的单元不包括右边的空,我们看下结果: 右边的孔并没有被影响到。 2.1.5 Modify —— 修改 我们选择 ,出现提示 ,选择一 条 Stretch control line ,出现对话框,我们可以进行修改,这里只能修改已 知 Stretch control line 的 parameters。 Modify —— 修改 当选中此命令后, 会提示你选择要修改的线名(就是参数 名),假如选择 中间那条黄线,那么会弹出参数对话框,此时就可以改对话框 中的内容了(包括参数名等) 此命令仅仅可以修改对话框的内容,并不能改其它,例如 不能修改黄线所要作 用的对象。 第 11 页 2011-6-28 重新定义 2.1.6 Redefine —— ——重新定义 选择 出现提示 ,我们单击 Stretch control line,出现提示 选择合适位置,单击左键出现 Stretch control line 的划线,再双击左键结束, 原来的 Stretch control line 消失。Redefine 功能不仅能用于重新定义 Stretch control line 的位置,而对于 parameters 也能修改。 第 12 页 2011-6-28 当你对你的对象设置 parameters 之前必须首先绘制一条 Stretch Control Lines,这条线决定我们从哪开始拉伸和向哪个方向拉伸。 第 13 页 2011-6-28 2.2 如何画控制线((Drawing Stretch Control Lines Lines)) 添 加 拉 伸 parameters 到 你 的 cellviews , 你 必 须 首 先 画 一 条 Stretch control line,Stretch control line 决定了 where to Begin the stretch 和 which direction to stretch。 horizontal stretch control line —— 水平拉伸控制线是一条水平线,控制 着向上向下或上下拉伸。菜单中是 Stretch in X。 vertical stretch control line —— 垂直拉伸控制线是一条垂直线,控制着 左右拉伸。菜单中是 Stretch in Y。 你可以为一个单元添加很多 Stretch control line ,程序默认为他们都是 独立的。 Example 下图是一个实例,我们选取一条垂直拉伸控制线(vertical Stretch control line)来控制其穿过的栅和栅下有源区位置,而对未穿过的孔和铝线则不能控制。 选择菜单中的 Stretch in X,出现菜单 第 14 页 2011-6-28 菜 单 中 Name or Expression for Stretch 需 要 填 入 parameter , 这 个 parameter 可以是变量名称,我们用 Length(代表栅长) ,Reference Dimension (Default)默认为 0.6,这里默认值是控制线穿过的图形中最小的图形量度, Stretch Direction 可以选择 right-left-right and left 三种,从控制线穿 越位置拉伸。其他以后介绍。 再选择一个拉伸有源的,水平拉伸控制线(horizontally Stretch control line)菜单中选择 Stretch in Y。 菜 单 中 Name or Expression for Stretch 需 要 填 入 parameter , 这 个 parameter 可以是变量名称,我们用 Width(代表有源区宽度 ),Reference Dimension(Default)默认为 0.5,这里默认值是控制线穿过的图形中最小的图 形量度,也即是空的宽度 Stretch Direction 可以选择 up-down-up and down 三 种,从控制线穿越位置拉伸。 我们设置完 parameters 后还需要编译一下,才能保存到硬盘上。 Pcell——compile——To Pcell 或者我们可以直接按 保存。 第 15 页 2011-6-28 新建一个 votoso layout ,在 parameter 选项内更改参数,拉伸变化如图: 我们发现孔也随着有源区拉伸的,这是我们所不希望看到的。我们可以使用 Qualify 命令来选择我们需要影响的图形。 选择 Pcell——Stretch——Qualify,按照界面左下角提示选择水平拉伸控 制线(horizontally Stretch control line),使其高亮,再按提示选择需要被 该控制线影响的图形,除了孔和铝都设置为高亮,双击完成,再测试: 2.3 控制线规则(Stretch Control Line Rules Rules)) 拉伸控制线需要遵循的几点规则: � Stretch control line 必须要与图形正交,排除其他任何角度,这里可以 在 Display options 选项中的 调整。 第 16 页 2011-6-28 � Stretch control lines 不能翻转 ,你可以将控制线绕开你不想包括的单 元但是不能够反相翻转。且 stretch in X 不能穿过垂直的边缘,stretch in Y 不能穿过水平的边缘。 � Stretch control lines 穿过的图形,将会受到其影响,但是未穿过的图形 呢?他们将会跟随穿过图形相对移动(这个参数在定义的时候,图形必须是 都选中的,也就是说,没有被穿过的图形,它是整体要被选中的; 没穿过 不表示没选中)。而不会拉伸,即使是不同的层,我们做一个实验,将有右 边的有源区变换层次,再用垂直控制线拉伸栅长。可以看到右边的层次也随 着栅长的拉伸位置跟随变化。 第 17 页 2011-6-28 � 当我们设置 parameters 的时候,默认的 Reference Dimension 总是穿越图 形中最小尺寸的图形,那么我们改变其值会怎样呢?我们用横向拉伸控制线 控制栅宽或者有源宽度的变化,我们改变默认值,在 Reference Dimension 填入栅的总宽度(长)2.4。我们插入 instance 观察 parameter。Widith 栏默认的是填入的栅的宽度 2.4,而晶体管并未拉伸。更改数值后,晶体管 拉伸。这样我们可以设置我们所需要更改的图形参数,而不只是默认的最小 宽度。 � 我们是首先量了栅的宽度,如果没有测量准确测量尺寸的情况下,我们绘制 了 2 个矩形高度分别为 10 和 30,而我们填入的 Reference Dimension 为 20, 我们插入后分别设置 Reference Dimension 为 20 15 10 和 5,发现 Reference 第 18 页 2011-6-28 Dimension 设置为 20 的没有变化,设为 15 的两个矩形的高度都减少了 5, 设置为 5 的时候均减小了 15,其中较矮矩形变为反相的图形。这样就知道 Reference Dimension 填 入 的 值 只 是 一 个 基 准 值 , 我 们 后 来 填 入 的 parameters 会依照基准值加减(就是我们在调用单元的时候,需要填入长 宽尺寸,如果本身 pcell 的 w=1u l=0.5u , 现在填入的尺寸为 2 和 2.5, 那实际出来的就是 2 和 1.5,只是说程序会在原图形里分别加 1u 和 2u,而 这个用户不用管它)。 � 在垂直和水平拉伸线命名同样的 parameter,这样就可以实现同时拉伸,对 于宽高不同的图形,对于设的 Reference Dimension 值,我们放置 instance 的时候设的值相对于宽高按差值变化,如宽高分别为 10 20,初值 Reference Dimension=20,Name or Expression for Stretch=Width。Instance 放置 Width=30,那么变化后宽=10+(30-20)=20,高=20+(30-20)=30。相同尺 寸相同变化(也就是说不管你所建的 pcell 是否正方形, 只要你 x,y 方向 设置的是一个参数,那么当你调用单元后,结果都会是正方形): � 当 Stretch control line 穿过两块图形连接的缝隙之间,图形的拉伸跟 Stretch Direction, 结果如下图: 第 19 页 2011-6-28 ***注意 reference dimension =0 , 如果不是 0,下面图形会变,但规则是一 样的。 Stretch Direction —— Left Edges=4 ;Edges=-2 (如果是正数,那么控制线左边的图形将以控制线为基准向左括设定的值,而 此时控制线右边的图形大小不变;如果是负数,左边的图形将以控制线为基准 向右延伸设定的值的绝对值,右边的图形不变)。 第 20 页 2011-6-28 Edges=-6 Stretch Direction —— Right Edges=4 ;Edges=-2(只对控制线右边的图 形操作)。 第 21 页 2011-6-28 Stretch Direction —— Right and Left Edges=4 ;Edges=-2 (注意到下面的图形,如果设定的是正数,左边的图形向左移动,右边的图形 向右移动,两个图形移动的总距离是设定的值,图形大小不变。如果是负数, 那么左边图形向右移,右边图形向左移,两个图形移动的总距离是设定的值, 如果负数绝对值大,就会出现两个图形调换位置的情况,图形大小不变) Edges=-10 第 22 页 2011-6-28 我们可以限制 parameters 的最大最小值。 � Stretching Paths **注意 上一图中, 因为控制线一开始是水平的 ,所以必需选择 stretch Y 命令,否则不能 画出带弯的控制线。 第 23 页 2011-6-28 3 复制 3.1 复制和延伸((Using Stretch with Repetition Repetition)) 我们可以将拉伸参数和复制参数相结合,可以做到: � 拉伸复制对象 � 依总拉伸量决定复制个数 � 依复制个数决定拉伸量 我们可以将拉伸参数结合复制参数在同一个 pcell 里面,但这里要注意的 是拉伸总是赶在复制之前发生的,如果要使复制先行于拉伸,我们必须指定一 条依靠复制参数的拉伸控制线。 3.2 参 数 定 义 (Using Stretch Parameters with Repeated Objects Objects)) 当一条 Stretch control line 穿过一个复制的对象,拉伸的方向和复制的 方向共同影响该实例。 � 如果拉伸的方向垂直于复制的方向,这个实例或实例组首先被拉伸然后被复 制。下图栅长是上下方向拉伸的,而栅的复制是水平的,形成了常见的相互 垂直关系。 � 如果拉伸的方向平行于复制的方向,那么实例或实例组将会默认被排除拉伸 的影响之外,除非实例组完全在拉伸线的一端(即使在一端也未发现被影响, 第 24 页 2011-6-28 带验证.....),否则复制的实例不会被拉伸影响。 � 默认的,拉伸总是先于复制,即使是由宽度函数(width/stepping distance) 决定的复制参数中,因为拉伸先行发生,就使晶体管源漏的接触孔的计算称 为 可 能 。 宽 度 设 为 width , 复 制 步 长 为 pcStepY , 计 算 contact 为 width/pcStepY。 � Stretching Objects in Repetition Groups(拉伸复制的实例) Stretch control line 穿过复制的实例组,默认情况下实例组的单元不会 被拉伸,但你仍可以拉伸这部分图形。我们通过点击拉伸对话框的 Stretch Horizontally(Vertically) Repeated Figures 来拉伸复制的单元,这里我们设 置栅的长度为 Width,栅和栅之间的距离为 0.1,这样 Stepping Distance = Width+0.1(这里一定要注意有变量 expression 我们不能用初始值带入,必须用 变量名)。这样将栅的数量设为 3,栅长为 0.9 如图(这里复制的 objects 需要 第 25 页 2011-6-28 如图 3 项,而拉伸的影响 object 有栅和栅下的有源,默认即可)。 Example: 第 26 页 2011-6-28 我们看 TO 层次跟随的栅的复制,这样的情况下我们采用另一种方法: 因为栅的复制方向和拉伸方向相同,必须使此项为 true; 第 27 页 2011-6-28 有源区的拉伸,需独立留一条; 垂直的 contact 的复制,这里需要包括除了 contact 的所有图形; 第 28 页 2011-6-28 串联栅的数量为 NUM,这里注意栅长是变化的,所以在 pcStep 需要用栅长 的变量 L+0.1,这里需要用依靠 TO 决定有源区域的拉伸长度。 第 29 页 2011-6-28 Contact 的复制。验证 compile: 3 从属控制拉伸线((Using Dependent Stretch Control Lines 3. 3.3 Lines)) 默认的拉伸先于复制发生,然而你也可以设置拉伸从属于复制参数。 � 当拉伸参数是主要的(默认),拉伸总量控制着复制总量。 � 当复制参数是主要的(拉伸参数是依靠项),复制参数控制着拉伸总量 你可以控制主要参量(拉伸或复制的 parameters),但你不能控制第二主 要参量(因为这个量是被主要参量控制的,属于从属关系)。系统从主要参量计 算非主要参量,你只需要指定哪个量是需要输入的,哪个量只需要由其控制即可。 第 30 页 2011-6-28 注意到,上图中的控制线是 X 方向的,所以在 repeat x 时,图形将 以穿过它的 x 方向的控制线为基准,进行复制。 第 31 页 2011-6-28 4 条件延伸 你可以结合条件包含来设置拉伸参数: � 创建一个条件包含的控制线(可废弃或启用) � 由拉伸总量决定是否包含实例 � 由条件包含决定是否拉伸 Example 第 32 页 2011-6-28 5 创建实例 5.1 基本的 mos 管的 pcell 建立 在新建的 cellview 中进行以下操作 Tools-pcell 先 layout 出一个最简单的 MOS 管 5.1.1 定义 channal 长度和宽度 L,W: 点击 stretch 命令进行横向和纵向拉伸 5.1.1.1 Stretch in X 将出现的控制线,跨过你所需要拉伸的所有 layer,然后按 enter 出 现下图所示的图框 第 33 页 2011-6-28 Name or Expression for stretch 自己取个名字,比如 L 代表了 channal channel Reference Dimension (Default)L 的尺寸,默认为控制线所经过的最小 layer 宽度(切记, 默认的值必须是你需要的图形层的尺寸,否则在调用时,尺寸会不对, 本例中倒不存在此问题,因为控制线确定的最小尺寸正是栅的长度.) 比如像下面的情况,在确定 Y 方向的控制线时, Reference Dimension 出现的默认值将是铝线的宽度,并非栅的宽度,这种情况下就需要对 词参数的值做修改了. 第 34 页 2011-6-28 其他的几个选项可以调整 layer 拉伸的方向和最小最大值 5.1.1.2 Stretch in Y W 用 stretch in Y 定义 然后看看成果 点击 compile –to pcell,进行编辑 第 35 页 2011-6-28 点击 OK,并且保存。 5.1.2 定义 M 可以看到现在调用出来的 MOS 已经是一个可以编辑 W,L 的器件了。 但是我们有的时候我们要用到多个 finger 并联,所以可以通过设置 另外一个参数 M 来实现。 因为 M 实际上就是一个 finger 复制 M 次,所以我们要用到 repetition 选项,如果这样直接使用这个操作,无法实现我们需要的结果,现在 进行 repetition 的 L 是原始的 L 但是希望得到的是 L 改变后的复制, 所以我们用到 stretch-qualify 点击 Qualify,此时控制线可选,点击控制 L 的线,并希望与其一起 变化的 layer,并双击或者 enter 确定(此例中要选择 poly,源区,和 右边的孔,右边的铝线作为延伸对象) 第 36 页 2011-6-28 现在就可以进行 repetition 操作了。 5.1.2.1 定义辅助控制线 我们还需要定义一个 X 方向的辅助参数 ods, 选中需要 repeatlayer,一般是 poly,contact,metal, Repetition-repeat in 第 37 页 X , 2011-6-28 Ok,然后进行 compile-to pcell 同样的方法不用定义 ods,然后其他定义和上相同,调用两个 pcell 可以看出两者 的不同 第 38 页 2011-6-28 5.1.2.2 定义孔的自动增加 横向的 repeat 后,要进行纵向的 repeat 一般选择 contact repeat(选择孔作为复制对象)。 选种需要 repeat 的 layer,然后 repeatition-repeat in X and Y 上面的参数要根据自己的工艺进行定义 第 39 页 2011-6-28 这就是一个简单的 MOS 的 pcell 建立方法。 6 Conditional inclusion 6.1 命令解析 下面的定义我们可以用于一个 pcell 可以做多个调用,比如我们要 用到 pmos 和 nmos,他们两个之间只有一层 layer 不同,我们可以选 择这层 layer,来实现 NMOS 或者是 PMOS,同样我们的一个芯片中很 可能要用到不同电压的器件,比如这个工艺所用的 1.8 v 和 3.3v 的 器件,3.3V 比 1.8V 的多了一层 layer,我们可以选择这个层次的有 无来选择两种不同的器件,我们就以这个例子来定义。 选择需要定义的层次,然后 第 40 页 2011-6-28 出现的图框中进行定义 第 41 页 2011-6-28 Ok , Compile-to pcell 并保存 6.2 实例展示 第 42 页 2011-6-28 第 43 页 2011-6-28 如上两图,可以通过 TG?的选择,实现 MOS 从 3.3V 到 1.8V 的转换 7 Parameterized shapes 和 Repeat along shape 的定义 7.1 Parameterized shapes 命令解析 选择参考图形(参考图形是矩形,同一单元中只能定义一个图形) 命令 Parameterized shapes define/modify 第 44 页 2011-6-28 选中铝线这一层,且只能选种一层 然后 define: 第 45 页 2011-6-28 Margin 代表说调用图中离左边缘的距离 红色定义的 layer,margin=0 时 第 46 页 2011-6-28 Margin=2 时, 第 47 页 2011-6-28 7.2 Repeat along shape 命令解析 在 parameterized shapes 的基础上进行定义,需要选择另外一层 layer 第 48 页 2011-6-28 将孔这一层选中 Define 第 49 页 2011-6-28 上图参数要选择合适的值 第 50 页 2011-6-28 这个定义可以定义多层 layer(扩展的图形多个) ,因此可以定义 其他可以用到的层次比如 via,metal,等等 第 51 页 2011-6-28 7.3 应用 path 定义 进行自动画孔 7.3.1 选择参考图形 选择命令 parameterized shapes �denfine 将铝线选中(注意铝线是用 PATH 画的) 第 52 页 2011-6-28 7.3.2 选择依据参考图形复制的图形 第 53 页 2011-6-28 选择命令 repetition along shape -> define 将孔选中,弹出对话框 第 54 页 2011-6-28 其中 stepping distance 是孔间距, start offset 是第一个孔被铝线包的头. 7.3.3 实例 第 55 页 2011-6-28 第 56 页 2011-6-28 第 57 页 2011-6-28 8 Reference point 的定义 的定义((不理解用在什么情况 不理解用在什么情况)) 8.1 选择参考图形 第 58 页 2011-6-28 在前面 Parameterized shapes 的基础上进行下面的定义, 8.2 选择需要参考的层 第 59 页 2011-6-28 将孔选中,弹出对话框 第 60 页 2011-6-28 1 如果选择 first , ok 实例 第 61 页 2011-6-28 2 如果选择 last , ok 第 62 页 2011-6-28 同理,define by parameterized 和上面同样定义适用于不是矩形图 形. 第 63 页 2011-6-28 8.3 实例展示 可以调节参数 X 来进行调节上述图形。 第 64 页 2011-6-28 9 Inherieted paraneters ( 层次化参数 层次化参数)) 9.1 描述 这个设置主要用于多层次的设置,比如我要建立一个 inv,我可以利 用已经建立好 PMOS,NMOS 来实现这个功能,比如我要建立一 个 NMOS/PMOS,L 和 M 相同,但是 W 不同的一个 inv,如果只是象原来那 样设置的话,我无法改变 PMOS 和 NMOS 的 L,W,M, 只能改边最上面设置的几个参数 第 65 页 2011-6-28 9.2 定义 选中 PMOS 然后定义 第 66 页 2011-6-28 定义上述的各种参数 第 67 页 2011-6-28 NMOS 同样定义 这个时候进行上层 poly,M 的设置, 第 68 页 2011-6-28 9.3 实例展示 然后根据要求进行连线 10 Parameterized layers( 层参数 layers(层参数 层参数)) 10.1 描述 这个命令可以选择一些 layer 进行随意变换,比如 选种一层 TG 第 69 页 2011-6-28 Define 第 70 页 2011-6-28 第二个选项可以不填,属于可选选项 Compile-to pcell , 第 71 页 2011-6-28 10.2 调用 在 TG 中填入任何一种 layer,如 nwl,图中的 TG 便 NWL 所替代。 第 72 页 2011-6-28 11 Parameterized label 11.1 描述 如上图在设置了 W,L 的 MIM 电容后进行如下操作 Define 第 73 页 2011-6-28 Lable 中写入关系如需要计算或标示的关系式 第 74 页 2011-6-28 Compile-to pcell,可以看到调用的 pcell 可以直接将电容面积计算 出来,如果将电容的单位容值加进去,也可以直接计算出电容值。 第 75 页 2011-6-28 11.2 实例展示 第 76 页 2011-6-28 设计举例 以下所举例简单的例子对上面命令的回顾 1 创建接触孔 1.1 实例绘制 1.1.1 绘制图形 我们想做一个铝线包孔的单元, 规则: 铝线包孔 0.2um , 孔间距为 1.0um . 孔大小为 0.4*0.4 . 我们定义 X Y 方向可设置孔的个数, X 方向孔的参数为 XM .Y 方向孔的参数为 YM 1.1.2 设置复制属性 首先设置孔的参数 第 77 页 2011-6-28 选取 repeat in x and y 命令, 选中孔这一层,弹出对话框 首先设定两个参数 XM, YM (这是我们调用单元时所要填的数据,X 方向和 Y 方向孔的个数) 同时确定 X Stepping Distance 和 Y Stepping Distance 的值, 根据我们的要求 这两个值都为 1.4 . 通过这一设置,孔的自动化调用就完成了. 接下来我们的让铝线伴随孔的增加自动按规则增大. 1.1.3 设置控制线 第 78 页 2011-6-28 分别选择 Stretch in x 示. 和 Stretch in y 命令, 两条控制线分别穿过孔的中心点,如下图所 第 79 页 2011-6-28 在弹出的对话框分别填写: Stretch in x 第 80 页 2011-6-28 Stretch in y 还有就是设置 XM 和 YM 的最小值,因为最少也得一个孔吧! 所以要通过下面命令设置 XM 和 YM 最小为 1, 1 第 81 页 2011-6-28 1.2 实例调用 1.2.1 example1 1*1 的实例 第 82 页 2011-6-28 第 83 页 2011-6-28 1.2.1 example2 3*3 的实例 第 84 页 2011-6-28 2 创建简单 NMOS 2.1 实例绘制 2.1.1 绘制图形 绘制如下的图形: 栅 源区 孔 铝线, 源区在下图所指的地方是被割开的 规则: 孔大小 0.4*0.4 孔距栅 0.4, 铝线包孔 0.2 第 85 页 2011-6-28 第 86 页 2011-6-28 根据下图指示画出控制线: X 方向有两根分别命名为 X, L Y 方向有一根命名为 W 2.1.2 设置控制线 下面详细说明每根控制线的属性 2.1.2.1 X 控制线 它是为复制做参考用的,它不作用任何对象. X 的属性设置 第 87 页 2011-6-28 2.1.2.2 L 控制线 延伸管子的沟道长度,它所作用的对象是栅(obj1)和右半源区(obj2),如下图所示 第 88 页 2011-6-28 L 的属性设置 0.5 right(这里没有对最大最小值设置,如有需要就在此对话框内设 置) 2.1.2.3 W 控制线 第 89 页 2011-6-28 延伸管子的沟道宽度,它所作用的对象是栅(obj1),右半源区(obj2),左半源区(obj3), 铝线(obj4) 也就是除了孔都操作 ,如下图所示 W 的属性设置 0.8 up(这里没有对最大最小值设置,如有需要就在此对话框内设 置) 以上是对单个管子进行操作,下面就将并联 第 90 页 2011-6-28 2.1.3 设置复制属性 2.1.3.1 对栅进行并联操作 命令 Repeat in x 选择对象栅(obj1),右半源区(obj2), 设置属性: 第 91 页 2011-6-28 这种复制以 X 控制线为准,这就是为什么要画 X 控制线的原因了. 我们将并联的参数设置为 M, 间距根据工艺定(L+1.2). 2.1.3.2 自动添加孔 命令 Repeat in x and y 选择对象孔(obj5) 设置属性: 这种复制没有参考基准,在 XY 方向都复制,X 方向孔的个数受 M 控制,Y 方向 孔的个数受 W 控制, 注意到在计算 Y 方向孔的个数时给 W 多加了 0.01,这保证在调最小单元时不会出错, 否则将不会出现孔(具体我也不知道,还需查证). 第 92 页 2011-6-28 2.2 实例调用 至此我们这个简单的 NMOS 就完成了, 总结一下它有三个参数,L W 和 M. 以下是调用实例 2.2.1 example1 W=0.8 L=0.5 M=1 第 93 页 2011-6-28 2.2.1 example2 W=3 L=1.5 M=4 第 94 页 2011-6-28 3 创建简单 PMOS 3.1 单元绘制 3.1.1 绘制图形 绘制如下的图形: 栅 源区 孔 铝线, 源区在下图所指的地方是被割开的 规则: 孔大小 0.4*0.4 孔距栅 0.4, 铝线包孔 0.2 第 95 页 2011-6-28 根据下图指示画出控制线: X 方向有两根分别命名为 X, L Y 方向有一根命名为 W 第 96 页 2011-6-28 3.1.2 设置控制线 下面详细说明每根控制线的属性 3.1.2.1 X 控制线 它是为复制做参考用的,它不作用任何对象. X 的属性设置 3.1.2.2 L 控制线 延伸管子的沟道长度,它所作用的对象是栅(obj1),右半源区(obj2), 右半阱(obj3),如下图所示 第 97 页 2011-6-28 L 的属性设置 0.5 right(这里没有对最大最小值设置,如有需要就在此对话框内设 置) 3.1.2.3 W 控制线 第 98 页 2011-6-28 延伸管子的沟道宽度,它所作用的对象是栅(obj1),右半源区(obj2),右半阱区(obj3), 左半阱区 (obj4) , 左半源区(obj5) 铝线(obj6).也就是除了孔都操作 ,如下图所示 W 的属性设置 0.8 up(这里没有对最大最小值设置,如有需要就在此对话框内设 置) 第 99 页 2011-6-28 以上是对单个管子进行操作,下面就将并联 3.1.3 设置复制属性 3.1.3.1 对栅进行并联操作 命令 Repeat in x 选择对象栅(obj1),右半源区(obj2), 右半阱区(obj3), 第 100 页 2011-6-28 设置属性: 这种复制以 X 控制线为准,这就是为什么要画 X 控制线的原因了. 我们将并联的参数设置为 M, 间距根据工艺定(L+1.2). 第 101 页 2011-6-28 3.1.3.1 自动添加孔 命令 Repeat in x and y 选择对象孔(obj7) 设置属性: 这种复制没有参考基准,在 XY 方向都复制,X 方向孔的个数受 M 控制,Y 方向 孔的个数受 W 控制, 注意到在计算 Y 方向孔的个数时给 W 多加了 0.01,这保证在调最小单元时不会出错, 否则将不会出现孔(具体我也不知道,还需查证). 第 102 页 2011-6-28 3.2 实例调用 至此我们这个简单的 NMOS 就完成了, 总结一下它有三个参数,L W 和 M. 以下是调用实例 3.2.1 example1 W=0.8 L=0.5 M=1 第 103 页 2011-6-28 3.2.1 example2 W=3 L=1.5 M=4 第 104 页 2011-6-28 4 创建简单 INV1 4.1 单元绘制 我们做 INV ,所用的管子正是上面所建立的 NMOS 和 PMOS,具体就是对上面的 pcell 的调用. 所以调用的管子仍然保持其特有的复制,延伸等属性. 所以建的 INV 已经具有了层次化属性. 4.1.1 绘制图形 规则: 反向器的尺寸关系, PMOS 和 NMOS 管子的 L 相同, 宽度分别设置为 WN,WP ,并 联参数为 M, 阱到 NIFF 的距离一定. 第 105 页 2011-6-28 在 INV 这个 cell 里还需要设置两个控制线 X 方向和 Y 方向,我们先分别定义为 L, 和 WN, 以下在解释. 4.1.2 设置参数传递属性 4.1.2.1 设置 PMOS 选择 inherited parameters ->define 选中 PMOS 这个 cell, 弹出对话框 第 106 页 2011-6-28 注意: 想传递哪个参数,那就选中 inherit PMOS 传到反向器的三个参数为 L---->L(因为 PMOS 和 NMOS 的沟道长变化是一样的) W---->WP(PMOS 的沟道宽度定义为 WP ) M---->M(因为 PMOS 和 NMOS 的并联个数是一样的) 4.1.2.2 设置 NMOS 选择 inherited parameters ->define 选中 NMOS 这个 cell, 弹出对话框 第 107 页 2011-6-28 注意: 想传递哪个参数,那就选中 inherit NMOS 传到反向器的三个参数为 L---->L(因为 NMOS 和 PMOS 的沟道长变化是一样的) W---->WN(NMOS 的沟道宽度定义为 WN ) M---->M(因为 NMOS 和 PMOS 的并联个数是一样的) 至此我们 INV 的参数都被传递,分别是: L WN WP M 4.1.3 设置控制线 4.1.3.1 设置 Y 方向 还有一个就是当 WN WP 变化时,我们怎么保证 PMOS 和 NMOS 之间的距离不变呢? 这里就 用到 WN 这根控制线 选中 WN 控制线 ,弹出对话框 第 108 页 2011-6-28 Reference dimension 为 0.8 ,因为 PCELL 管子的尺寸为 0.8. 4.1.3.2 设置 X 方向 设置 L 控制线 至此 一个简单的 INV 就完成了 第 109 页 2011-6-28 4.2 实例调用 4.2.1 example1 调用一个基本尺寸的单元 第 110 页 2011-6-28 4.2.2 example2 调用 WN=2 WP=3 L=0.5 M=1 4.2.3 example3 调用 WN=2 WP=3 L=0.5 M=2 第 111 页 2011-6-28 第 112 页 2011-6-28 5 创建简单 INV2 5.1 单元绘制 我们做 INV ,所用的管子正是上面所建立的 NMOS 和 PMOS,具体就是对上面的 pcell 的调用. 所以调用的管子仍然保持其特有的复制,延伸等属性. 所以建的 INV 已经具有了层次化属性. 5.1.1 绘制图形 规则: 反向器的尺寸关系, PMOS 和 NMOS 管子的 L 相同, 宽度分别设置为 WN,WP ,并 联参数为 M 阱到 NIFF 的距离可调节为 D. 在 INV 这个 cell 里还需要设置两个控制线 X 方向和 Y 方向,我们先分别定义为 L, 和 WN, 以下在解释. 第 113 页 2011-6-28 5.1.2 设置参数传递属性 5.1.2.1 设置 PMOS 选择 inherited parameters ->define 选中 PMOS 这个 cell, 弹出对话框 第 114 页 2011-6-28 注意: 想传递哪个参数,那就选中 inherit PMOS 传到反向器的三个参数为 L---->L(因为 PMOS 和 NMOS 的沟道长变化是一样的) W---->WP(PMOS 的沟道宽度定义为 WP ) M---->M(因为 PMOS 和 NMOS 的并联个数是一样的) 5.1.2.2 设置 NMOS 选择 inherited parameters ->define 选中 NMOS 这个 cell, 弹出对话框 第 115 页 2011-6-28 注意: 想传递哪个参数,那就选中 inherit NMOS 传到反向器的三个参数为 L---->L(因为 NMOS 和 PMOS 的沟道长变化是一样的) W---->WN(NMOS 的沟道宽度定义为 WN ) M---->M(因为 NMOS 和 PMOS 的并联个数是一样的) 至此我们 INV 的参数都被传递,分别是: L WN WP M 5.1.3 设置控制线 5.1.3.1 设置 Y 方向 还有一个就是当 WN WP 变化时,针对不同的情况我们要控制 N 阱到 Ndiff 的距离,为此我们 又引进参数 D (N 阱到 Ndiff 的距离), 这里就用到 Y 方向这根控制线 选中 Y 控制线 ,弹出对话框 第 116 页 2011-6-28 Reference dimension 为 0.8(NMOS 的尺寸) +0.93(PCELLN 阱到 Ndiff 的距离) =1.73 5.1.3.2 设置 X 方向 设置 L 控制线 编辑参数的默认值 第 117 页 2011-6-28 至此 一个简单的 INV 就完成了 5.2 实例调用 5.2.1 example1 调用一个基本尺寸的单元 D=0 第 118 页 2011-6-28 第 119 页 2011-6-28 D=1 5.2.2 example2 调用 WN=2 WP=3 L=0.5 M=1 D=1 第 120 页 2011-6-28 5.2.3 example3 调用 WN=2 WP=3 L=0.5 M=2 第 121 页 2011-6-28 6 创建电压可转换的管子 首先要绘制一个普通的 NMOS 管 ,步骤和创建简单的 NMOS 一样 6.1 实例绘制 6.1.1 绘制图形 绘制如下的图形: 栅 源区 孔 铝线, 源区在下图所指的地方是被割开的 规则: 孔大小 0.4*0.4 孔距栅 0.4, 铝线包孔 0.2 第 122 页 2011-6-28 根据下图指示画出控制线: X 方向有两根分别命名为 X, L Y 方向有一根命名为 W 6.1.2 设置控制线 下面详细说明每根控制线的属性 6.1.2.1 X 控制线 它是为复制做参考用的,它不作用任何对象. X 的属性设置 第 123 页 2011-6-28 6.1.2.2 L 控制线 延伸管子的沟道长度,它所作用的对象是栅(obj1)和右半源区(obj2),如下图所示 第 124 页 2011-6-28 L 的属性设置 0.5 right(这里没有对最大最小值设置,如有需要就在此对话框内设 置) 6.1.2.3 W 控制线 第 125 页 2011-6-28 延伸管子的沟道宽度,它所作用的对象是栅(obj1),右半源区(obj2),左半源区(obj3), 铝线(obj4) 也就是除了孔都操作 ,如下图所示 W 的属性设置 0.8 up(这里没有对最大最小值设置,如有需要就在此对话框内设 置) 以上是对单个管子进行操作,下面就将并联 第 126 页 2011-6-28 6.1.3 设置复制属性 6.1.3.1 对栅进行并联操作 命令 Repeat in x 选择对象栅(obj1),右半源区(obj2), 设置属性: 第 127 页 2011-6-28 这种复制以 X 控制线为准,这就是为什么要画 X 控制线的原因了. 我们将并联的参数设置为 M, 间距根据工艺定(L+1.2). 6.1.3.2 自动添加孔 命令 Repeat in x and y 选择对象孔(obj5) 设置属性: 这种复制没有参考基准,在 XY 方向都复制,X 方向孔的个数受 M 控制,Y 方向 孔的个数受 W 控制, 注意到在计算 Y 方向孔的个数时给 W 多加了 0.01,这保证在调最小单元时不会出错, 否则将不会出现孔(具体我也不知道,还需查证). 第 128 页 2011-6-28 6.1.4 设置电压识别层 工艺一般会给出,下图比源区大的正是识别层(TG) 绘制识别层 TG 注意 TG 被切割的地方 第 129 页 2011-6-28 设置识别层的延伸复制属性 这个和 NDIFF 的设置完全一样. 定义识别层 选择命令 conditional inclusion ->define 第 130 页 2011-6-28 选择识别层 TG, 第 131 页 2011-6-28 定义开关名为 VTOV 6.2 实例调用 6.2.1 example1 调用一个基本的管子包含 TG 这一层,注意 VTOV 是被选中的. 第 132 页 2011-6-28 第 133 页 2011-6-28 6.2.2 example2 调用一个基本的管子不包含 TG 这一层,注意 VTOV 是不被选中的. 第 134 页 2011-6-28 7 创建电容 1 7.1 实例绘制 7.1.1 绘制图形 7.1.2 设置控制线 7.1.2.1 X 控制线 定义参数为 L 第 135 页 2011-6-28 7.1.2.2 Y 控制线 第 136 页 2011-6-28 7.1.2.3 设置 LABLE 选择命令 paramererized lael 第 137 页 2011-6-28 7.2 实例展示 调用一个 2.5*2.5 的电容 第 138 页 2011-6-28 以上建立的电容孔不能移动. 8 创建电容 2 8.1 实例绘制 8.1.1 绘制图形 第 139 页 2011-6-28 8.1.2 设置控制线 X 控制线 A 定义参数为 L 第 140 页 2011-6-28 B 定义参数为 L2( L2(只针对孔移动)) 第 141 页 2011-6-28 Y 控制线 A 定义参数为 W 第 142 页 2011-6-28 B 定义参数为 W2( W2(只针对孔移动)) 第 143 页 2011-6-28 设置 LABLE 选择命令 paramererized lael 第 144 页 2011-6-28 8.2 实例展示 调用一个 5*5 的电容 第 145 页 2011-6-28 End 继续补充 第 146 页 2011-6-28
0
You can add this document to your study collection(s)
Sign in Available only to authorized usersYou can add this document to your saved list
Sign in Available only to authorized users(For complaints, use another form )