dongxl

如何绘制IC版图(dongxl)

0
阅读(4331)

本文将用一个贯穿始终的例子来说明如何绘制版图。这个例子绘制的是一个最简单的非门的版图。

  建立版图文件

使用library manager。首先,建立一个新的库myLib,由于我们要建立的是一个版图文件,因此我们在technology file选项中必须选择compile a new tech  file,或是attach to an exsiting tech file。这里由于我们要新建一个tech file,因此选择前者。这时会弹出load tech file的对话框,如图1所示。

                    图1
    在ASCII Technology File中填入csmc1o0.tf即可。接着就可以建立名为inv的cell了。为了完备起见,读者可以先建立inv的schematic view和symbol view(具体步骤前面已经介绍,其中pmos长6u,宽为0.6u。nmos长为3u,宽为0.6u。model 仍然选择hj3p和hj3n)。然后建立
其layout view,其步骤为:然后点击ok。
              绘制inv的掩膜版图的一些准备工作

       首先,在library manager中打开inv这个cell的layout view。即打开了virtuoso editing窗

口,如图2所示。


                                          图2 virtuoso editing
 

版图视窗打开后,掩模版图窗口显现。视窗由三部分组成:Icon menu , menu banner , status banner.

Icon menu (图标菜单)缺省时位于版图图框的左边,列出了一些最常用的命令的图标,要查看图标所代表的指令,只需要将鼠标滑动到想要查看的图标上,图标下方即会显示出相应的指令。

menu banner(菜单栏),包含了编辑版图所需要的各项指令,并按相应的类别分组。几个常用的指令及相应的快捷键列举如下:

 status banner(状态显示栏),位于menu banner的上方,显示的是坐标、当前编辑指令等状态信息。

在版图视窗外的左侧还有一个层选择窗口(Layer and Selection Window  LSW)。

LSW视图的功能:

1)  可选择所编辑图形所在的层;

2)  可选择哪些层可供编辑;

3)  可选择哪些层可以看到。

 由于我们所需的部分版图层次在初始LSW中并不存在,因此下一步要做的是:建立我们自己的工艺库所需的版图层次及其显示属性。为了简单起见,以下仅列出绘制我们这个版图所需的最少版图层次。



下图是修改后的LSW

图3 LSW

如何来修改LSW中的层次呢?以下就是步骤:

切换至CIW窗口,在technology file的下拉菜单中选择最后一项edit layers出现如图窗口

 图4    edit layers

在technology library中选择库mylib,先使用delete 功能去除不需要的层次。然后点击add添加必需的层次,add打开如下图的窗口:


 图5

其中,layer name中填入所需添加的层的名称。Abbv是层次名称缩写。Number是系统给层次的内部编号,系统保留128-256的数字作为其默认层次的编号而将1-127留给开发者创造新层次。Purpose是所添加层次的功用,如果是绘图层次,一般选择drawing。Priority是层次在LSW中的排序位置。其余的选项一般保持默认值。在右边是图层的显示属性。可以直接套用其中某些层次的显示属性。也可以点击edit resources自己编辑显示属性。如图6所示(这个窗口还可以在LSW中调出) 编辑方法很简单,读者可以自己推敲,就不再赘述。上述工作完毕后就得到我们所需的层次。接着我们就可以开始绘制版图了。

    绘制版图

一.画pmos的版图(新建一个名为pmos的cell)

1.  画出有源区

在LSW中,点击active(dg),注意这时LSW顶部显示active字样,说明active层为当前所选层次。然后点击icon menu中的rectangle icon,在vituoso editing窗口中画一个宽为3.6u,长为6u的矩形。这里我们为了定标,必须得用到标尺。点击misc/ruler即可得到。清除标尺点击misc/clear ruler。如果你在绘制时出错,点击需要去除的部分,然后点击delete icon。

2.  画栅

在LSW中,点击poly(dg),画矩形。与有源区的位置关系如下图:

                  图6  display resource editor3.

画整个pmos 为了表明我们画的是pmos管,我们必须在刚才图形的基础上添加一个pselect层,这一层将覆盖整个有源区0.6u。接着,我们还要在整个管子外围画上nwell,它覆盖有源区1.8u。如下图所示:

4.衬底连接

   pmos的衬底(nwell)必须连接到vdd。首先,画一个1.2u乘1.2u的active矩形;然后在这个矩形的边上包围一层nselect层(覆盖active0。6u)。最后将nwell的矩形拉长,完成后如下图所示: 这样一个pmos的版图就大致完成了。接着我们要给这个管子布线。

一.布线

pmos管必须连接到输入信号源和电源上,因此我们必须在原图基础上布金属线。

1.  首先我们要完成有源区(源区和漏区)的连接。在源区和漏区上用contact(dg)层分别画三个矩形,尺寸为0.6乘0.6。注意:contact间距为1.5u。

2.  用metal1(dg)层画两个矩形,他们分别覆盖源区和漏区上的contact,覆盖长度为0.3u。

3.  为完成衬底连接,我们必须在衬底的有源区中间添加一个contact。这个contact每边都被active覆盖0.3u。

4.  画用于电源的金属连线,宽度为3u。将其放置在pmos版图的最上方。

布线完毕后的版图如下图所示:

      画nmos管

绘制nmos管的步骤同pmos管基本相同(新建一个名为nmos的cell)。无非是某些参数变化一下。下面给出nmos管的图形及一些参数,具体绘制步骤就不再赘述。