第09章3 DRC - LVS - Dracula

发布时间 : 星期二 文章第09章3 DRC - LVS - Dracula更新完毕开始阅读

再举例说明GDSII转化为APPLICON *DESCRIPTION SYSTEM=gds2 SYSOUT=apple OUTDISK=appleout PRIMARY=composite INDISK=comp.db PRINTFILE=applprt SCALEIN=0.001 mic RESOLUTION=0.25 mic SCALEOUT=0.0000125 mic MODE=exec now CONVERT=yes *INPUT-LAYER layer1=1 text =60 layer2=2 layer3=3 layer4=4

*END

【语句3】INDISK={filename}{directory-name}

指定包含布局图的输入文件,必须在描述模块中包含这个语句。filename是布局图的输入文件名。最大长度为128个字符。directory-name是包含数据库模块或者DFII的库的文件夹名。

【语句4】INDISK-FILE=filename

作用是指定包含数据库模块的路径和DFII的数据库的路径的文件。这个语句在你应用不只一个的数据库模块和DFII数据库的时候是必须要用的。

【语句5】LIBRARY=library-name

指定了包含了你的设计中用到的基本单元的数据库的路径。当选择SYSTEM=CADENCE的时候,这个语句是必须的。

【语句6】OUTDISK=filename

用于指定包含运行中发现的错误单元的输出文件。如果INDISK和OUTDISK是同样的,dracula就产生一个名字一样但是扩展名不一样的文件。加入你用相对或绝对路径指定一个输出文件MULTIPLE-DISK这个语句将产生一个存于那个路径的输出文件,如果这个路径存在的话。如果这个路径并不存在或者你没有指定,那么MULTIPLE-DISK语句将会决定文件的路径,并且把路径存在.log文件中。 【语句7】PRYMARY=cell-name

指定顶级单元名。这在描述模块中是一个必须要有的语句。 【语句8】RESOLUTION=step-size units

指定布局图的最小步长(网格)。所有的布线工序都以这个语句规定的步长的整数倍进行。假如你的布局图里包含比这个步长还要小的数据,那么这个语句将会把它垂直于网格截断。要想知道Dracula是否截断了某些数据,可以用FLAG-OFFGRID语句。RESOLUTION与SIZE和RELOCATE语句以及它们的取值有关。假如RESOLUTION的大小比SCALE的值小,那么PDRACULA就会产生一个警告信息,并且自动吧RESOLUTION的取值调整到

跟SCALE一样大。假如RESOLUTION的值不是一个整数,那么PDRACULA会发出一个警告信息,并且在验证中采用“真数验证”。 【语句9】SYSOUT=format treefile

指定CAD系统输出文件(OUTDISK)的格式,假如你想要一个同你定义的SYSTEM及SYSIN不同的格式。例如:SYSTEM=GDS2,SYSOUT=CIF,则输入为GDSII格式,而输出的错误文件为CIF格式的。这个语句需要一个由dracula产生的使用你需要的文件格式的文件,这个文件包含了基于缩放和物理单元的格式的信息。treefile指定一个从上次的运行产生的文件,该次运行必须指定与现在的SYSOUT和SCALEOUT相同的SYSTEM和SCALE的值。

下面举一个例子,这个例子输入一个GDSII的数据库,输出采用CIF格式。Dracula拷贝名为tree2100.dat的文件,这个文件是上次定义SYSTEM=CIF和SCALE=0.01MIC的情况下产生的。

SYSTEM=GDS2

SYSOUT= cif tree2100 ;磁盘文件名是 tree2100.dat

SCALE =0.001 MIC SCALEOUT=0.01 MIC

【语句10】TNAMES-CSEN=YES/NO

对所有包含文本名的语句规定了文本名的大小写属性,这些语句包括,但不仅仅是:POWER-NODE, GROUND-NODE, PULL-UP, PULL-DOWN, PROBE, SELECT LABEL, LCONNECT, ECONNECT。

【语句11】 WORK-DIR =directory-name

指定运行目录。dracula把任务产生的所有文件都放在这个目录或其子目录下。使用这个语句时必须填入全名。directory是一个目录或指定的逻辑名。默认的是当前目录。最大的语句行长度为128字符。不能一次从你的当前目录或默认目录运行多于一个的任务即使你使用不同的工作目录。即使dracula在工作目录运行,它还是利用默认目录里的文件运行的。这些文件一次只能运行一个任务。下列的文件是默认目录或当前工作目录里产生或需要的文件。当前工作目录包含INDISK、OUTDISK、和EDTEXT等文件,除非你指定路径名。 输入层模块(INPUT-LAYER BLOCK)的重要语句有: 【语句1】CONNECT-LAYER = layer1 layer2 ……

定义IC自底向上工艺的导体层。假如你在操作模块中使用CONNECT语句,你必须在输入层模块中使用CONNECT-LAYER语句。仅仅指定在CONNECT语句中出现的层(不包括接触的层)。可以在同一行中指定多个层名,也可以在不同的行指定。layer 指定在CONNECT语句中用到的层的掩膜顺序(不包括接触层)。底层的层在先,顶层的层在后。层名至少要有三个字符。

文本次序只有在CONNECT-LAYER和CONNECT语句中都出现的层才产生。 【语句二】CTEXT = text –layer layerPurpose {ATTACH = layer –name}

指定提供了HCELL文本的输入层号。ATTACH语句指定了CTEXT上的HCELL文本被连接到的输入层。

text-layer 布局图里的文本层的序号 layerPurpose 该层的目的,例如,绘制 layer-name 连接的层当中的一层的名字

【语句三】EXPORT layer –name

从输入数据库产生某些层并且把它们以与Dracula兼容的格式输出。可以用这个语句来把来自数个数据库的层联合起来,也可以对来自不同的数据库的层进行比较。EXPORT语句

可以保证dracula不会删掉那些指定的层,即使你在描述模块中使用了KEEPDATA=NO或者KEEPDATA=SMART语句。当使用EXPORT语句的时候,可以没有操作模块。在KEEPDATA=NO的情况下,可以使用EXPORT语句来指定任何的层名来保证处理器不会删掉这些层。因此你可以指定不准备删掉的层和文件。下面举例: *INPUT-LAYER Diff =1 Npuls =2 PolyA =3 McA =4 MetalA =5

EXPORT polyA mcA metalA *END 例二:

*DESCRIPTION KEEPDATA = smart *END

*INPUT –LAYER

EXPORT = 6nets poly nsd psd pwell nsub contact EXPORT=- metal 6nets1 6pads 6pads 6nxrf 6exrf EXPORT= mosxn8g mosxp8g ;为MOS工艺设定的 *END

*OPERATION LVSCHK *END

操作模块(OPERATION BLOCK)常用的语句:

【语句1】AND layer –a layer –b trapfile {OUTPUT c –name l –name {d –num}} AND[E] layer1 layer2 layer3

由另外两个层建立一个新层。新层由那两个层的共有部分组成。 layer –a 第一个输入层的名字

layer –b 第二个输入层的名字

lrapfile 由逻辑操作产生的梯形文件的名字。参数layer –a 和layer –b 是有顺序的,一旦连接建立了,它将会影响到输出的文件。在节点信息被CONNECT语句建立到layer –a上面以后,电气节点信息将自动被标志到输出的层上。输出文件的名字可以最多由七个字符组成,但不能使用特殊字符。A-Z和0-9是可以使用的,但第一个字符必须是一个字母。 OUTPUT 把操作的结果送到一个输出的单元中

C-name l-name C-name 是输出的单元的名字,可以由六个或六个以下的字母组成,但不能含有特殊符号。L-name是由CAD图形系统决定的层的序号。假如你的C-name是rule03,而l-name是5,则输出的单元名为rule0305。

d-num 与输出单元的层号相关联的数据类型号。只对GDSII格式使用该参数。值可以从0到63。

E 为每个产生的层创建一个边缘信息文件。这个信息是用作侧壁电容提取的。 【语句2】 CONNECT layer –a layer –b BY cont –layer

定义中间层的连接,也就是,通过一系列的接触孔把两个层连接起来。

Layer –a 第一个输入层的名字

Layer –b 第二个输入层的名字

Cont –layer 先前定义的包含了layer –a 和 layer –b 的接触点的层。Cont –layer至少要包含三个字符而且开头的三个字符必须不同。第四个字符必须是字母,尽管名字可以包含数字。处理器把指定优先级最高的层为主层。Cont-layer只能够从主层连接到其他的层。下面是个例子

【语句3】NOT layer-a layer-b trapfile {OUTPUT c-name l-num{d-num}}

从其他两个层创建一个新层,由这个操作产生的四边形文件包含了第一个层减去第一层和第二层共有的部分。layer –a第一个输入层的名字 layer-b是第二个输入层的名字。trapfile 是由逻辑操作创建的层。layer-a和layer-b是有顺序之分的,如果颠倒的话会影响到输出的文件。再使用CONNECT语句使节点信息建立以后,电气节点信息被自动从第一层(layer-a)标志到生成的层上。trapfile的名字可以最多由七个字符组成并且不能包含特殊符号。A-Z和0-9是允许使用的,但是第一个字符必须是字母。OUTPUT 把结果送到一个输出的单元中。c-name是输出单元的名字可以由六个或者六个以下的字符组成,并且不能包含特殊字符。L-num是由你的CAD图形系统决定的层的序号。D-num 是与输出单元的层号相联系的数据类型的序号。仅在输入为GDSII格式时使用这个选项。值可以从0―63。下面是例子:

联系合同范文客服:xxxxx#qq.com(#替换为@)