首页> 中国专利> 模拟集成电路版图寄生器件提取系统及方法

模拟集成电路版图寄生器件提取系统及方法

摘要

本发明公开一种模拟集成电路版图寄生器件提取系统及方法,主要是为了优化集成电路设计,提取出不同制造工艺下的寄生器件而设计。本发明包括:数据读取模块,读取模拟集成电路版图数据;图层定义模块,描述版图中几何层与物理层之间的对应关系;寄生器件提取规则模块,用于制定寄生器件的提取规则,生成提取规则执行文件;以及,寄生器件提取模块,对接收到的所述数据读取模块输出的数据进行预处理,并基于图层定义模块和寄生器提取规则模块对接收的所述数据进行运算提取,再将提取出的寄生器件标入到上述模拟集成电路版图中,并输出包含寄生器件的模拟集成电路版图。本发明能够提取出不同制造工艺下的寄生器件,为版图优化设计提供依据。

著录项

  • 公开/公告号CN101923595A

    专利类型发明专利

  • 公开/公告日2010-12-22

    原文格式PDF

  • 申请/专利权人 清华大学;

    申请/专利号CN201010262309.X

  • 发明设计人 蔡懿慈;周强;杨建磊;

    申请日2010-08-25

  • 分类号G06F17/50(20060101);

  • 代理机构11325 北京中伟智信专利商标代理事务所;

  • 代理人张岱

  • 地址 100084 北京市海淀区清华园1号

  • 入库时间 2023-12-18 01:39:26

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2012-10-24

    授权

    授权

  • 2011-02-02

    实质审查的生效 IPC(主分类):G06F17/50 申请日:20100825

    实质审查的生效

  • 2010-12-22

    公开

    公开

说明书

技术领域

本发明涉及模拟集成电路设计领域,尤其涉及集成电路设计优化领域。

背景技术

模拟集成电路是指将电阻、电容和晶体管等组成的模拟电路集成制造在硅片上来处理模拟信号的集成电路。集成电路是由设计者借助于电子设计自动化(EDA,Electronic Design Automation)工具设计出集成电路版图,交付集成电路制造商,通过电路掩膜制备(Mask)、以及对晶片(Wafer)进行氧化、掺杂、光刻等一系列的制作工艺将电路掩膜转移到晶片上,从而实现其电路功能。但是,在集成电路制造过程中,不同的电路掩膜层在某些区域会形成特殊的结构,这种结构在电学上具有类似于电阻、电容或者晶体管的功能,将此种结构叫作寄生器件。对于模拟集成电路,寄生器件对电路性能指标的影响极其严重,诸如电路噪声、信号带宽、电路匹配以及稳定性等电路性能。因此,在将版图交付制造商之前,寻找这些寄生器件,并对版图进行修改、仿真和优化,对于流片(Tape Out)成功是极为重要的。

一般的模拟集成电路设计流程是进行原理图设计,然后提取网表进行仿真;同时手工画出电路版图,进行网表的提取,并与原理图得到的网表进行对照(LVS,一种版图与线路图对比检查工具)。通用的EDA工具可以提取出版图中的一部分寄生器件。但是,对于特殊工艺下的模拟集成电路设计,比如高压高功率的版图设计,由于版图中有的节点电压很高,因此会产生一些特殊的寄生结构,这些结构采用通用的EDA工具是无法提取的,目前这部分工作基本上是依赖于设计者凭借其设计经验,并且花费很大的时间与精力来完成的,尚没有专门的工具来对特殊工艺下的特殊寄生器件进行提取。

发明内容

针对上述问题,本发明提供一种能够有效地提取出不同制造工艺下的寄生器件,并能为设计者进行版图优化提供依据的模拟集成电路版图寄生器件提取系统及方法。

为达到上述目的,本发明所述模拟集成电路版图寄生器件提取系统,包括:

一数据读取模块,读取模拟集成电路版图数据;

一图层定义模块,描述版图中几何层与物理层之间的对应关系;

一寄生器件提取规则模块,用于制定寄生器件的提取规则,生成提取规则执行文件;以及,

一寄生器件提取模块,对接收到的所述数据读取模块输出的数据进行预处理,并基于图层定义模块和寄生器提取规则模块对接收的所述数据进行运算提取,再将提取出的寄生器件标入到上述模拟集成电路版图中,并输出包含寄生器件的模拟集成电路版图。

进一步地,所述寄生器件提取规则模块由常用寄生器件提取规则模块和用户自定义寄生器件提取规则模块构成。

进一步地,所述寄生器件提取模块,包括图形查询模块,图形存储模块,图形预处理模块,提取处理模块,图形布尔运算引擎以及修改输出版图模块;其中,

所述图形查询模块,接收所述数据读取模块输出的数据,并基于该数据查找出版图中用于寄生器件提取运算的图形;

所述图形存储模块,建立内部的数据结构,将所述图形查询模块查找出的图形存储为以逆时针顺序的点序列的多边形;

所述图形预处理模块,基于图形定义模块,将存储于所述图形存储模块中的多边形进行分层,并对每层出现重叠的多边形进行合并,合并后出现多边形一条边包含三个或三个以上端点的进行端点合并;

所述图形布尔运算引擎,对所述多边形进行布尔运算,以获得版图中各多边形之间的几何位置关系;

所述提取处理模块,启动提取规则执行文件及图形布尔运算引擎,对版图中各多边形进行布尔运算,提取出寄生器件,并输出寄生器件提取结果;

所述修改输出版图模块,接收所述提取处理模块输出的寄生器件提取结果,将其标入到所述模拟集成电路版图中,并输出包含寄生器件的模拟集成电路版图。

本发明模拟集成电路版图特殊寄生器件提取方法,具体实现步骤如下:

(1)读入模拟集成电路版图数据;

(2)获取版图中几何层与物理层之间的对应关系;

(3)制定寄生器的提取规则,生成提取规则执行文件;

(4)对步骤(1)读入的数据进行预处理,处理完成后,启动提取规则执行文件及图形布尔运算引擎,提取版图中的寄生器件;

(5)将提取出的寄生器件,标入到模拟集成电路版图中;

(6)输出包含寄生器件的模拟集成电路版图。

进一步地,步骤(2)中所述寄生器的提取规则包括常用寄生器件提取规则和用户自定义寄生器件提取规则。

进一步地,步骤(4)具体实现步骤如下:

4.1查找出版图中用于寄生器件提取运算的图形;

4.2建立内部的数据结构,将上述图形存储为以逆时针顺序的点序列的多边形;

4.3依据版图中几何层与物理层之间的对应关系,对上述多边形进行分层,并对每层出现重叠的多边形进行合并,合并后出现多边形一条边包含三个或三个以上端点的进行端点合并;

4.4启动提取规则执行文件及布尔运算引擎,对版图中各多边形进行运算,提取出版图中的寄生器件。

本发明所述模拟集成电路版图寄生器件提取系统及方法,依据版图中各物理层含义分析了寄生器件的结构,并依此制定了寄生器件的提取规则;然后,通过图层间的布尔运算实现了不同制造工艺下的寄生器件的提取,并将提取出的寄生器件反标入到原模拟集成电路版图中;最后,输出包含有寄生器件的模拟集成电路版图,更有利于辅助设计者进行模拟集成电路版图设计的优化。

附图说明

图1为本发明所述模拟集成电路版图特殊寄生器件提取系统的结构原理图;

图2为本发明所述模拟集成电路版图特殊寄生器件提取方法的流程图;

图3为本发明图形布尔运算一实施例示意图;

图4为本发明图形布尔运算一实施例的相与运算示意图;

图5为本发明图形布尔运算一实施例的相或运算示意图;

图6为本发明图形布尔运算一实施例的A减B运算示意图;

图7为本发明图形布尔运算一实施例的B减A运算示意图;

图8为本发明寄生电容形成原理示意图;

图9为本发明寄生MOS电容形成原理示意图;

图10为本发明寄生NMOS晶体管形成原理示意图;

图11为本发明寄生NMOS晶体管提取原理示意图;

图12为本发明寄生PMOS晶体管形成原理示意图。

具体实施方式

下面结合说明书附图对本发明的具体实施方式作详细描述。

图1所示,本发明所述模拟集成电路版图特殊寄生器件提取系统的原理图。从图中可以看出,本发明由下面几部分组成。

一、输入包括数据读取模块,图层定义模块以及提取规则模块。

1.1数据读取模块

标准的版图描述格式为GDSII格式。本发明数据读取模块基于OpenAccess(OA)平台下,使用内置的stream2oa命令将GDSII格式转换为OA内部的数据结构。GDSII格式的文件对于OA来说是一种数据流(stream),转换为OA的数据结构之后,就可以利用OA提供的各种API函数来对版图进行操作。

1.2图层定义模块

图层定义模块中定义了版图中的几何层与物理层之间的对应关系,对于一种特定的工艺类型,每个几何层对应一个物理层,该模块的正确制定使得本发明可以适用于不同类型的集成电路制造工艺。图层定义模块的文件格式,示例如下:

$L21  M1    2

$L16  POLY  6

$L10  NWELL 8

每行以$符号开头,L**表示层名,之后是该层的物理含义缩写,最后是层的序号,这几项信息以及$符号中间都以空格分开。第一行表示层名为L21的层对应的物理层为金属层M1,第二行表示层名为L16的层对应的物理层为多晶层POLY,第三行表示层名为L10的层对应的物理层为N阱图层NWELL。

1.3提取规则模块

提取规则模块定义了对版图中寄生器件提取的规则,并生成了提取规则执行文件。本发明提供了两种类型的提取方式:一种是已经制定好的对常用的寄生器件的提取规则,另外一种是用户自定义的提取规则。

1.3.1制定寄生器件提取规则

下面举一BiCMOS工艺下典型的四种寄生器件的提取规则的制定对如何制定寄生器件提取规则作详细说明。

第一种,寄生电容

高压多晶1电阻层在P阱2上面会形成寄生的电容。一旦高压多晶1电阻层HRPS的电位与P阱2的电位不同的时候,它们之间就会形成分布电容。图8显示了高压多晶1在P阱2上面形成寄生电容的情形。具体提取方法是:用代表高压多晶的HRPS图层与P阱图层作相与运算,得到的结果区域即是形成该寄生电容的区域。

第二种,寄生MOS电容

寄生MOS电容结构的形成是由于寄生MOS晶体管的源漏短接,其电学效应可以等价于一个寄生电容,但是它的电学特性同一般的电容又有区别,所以需单独进行提取。如图9显示出了高压多晶1与作为衬底连接的有源区3形成寄生MOS电容。NMOS的衬底连接体现在版图中是由P型扩散4与有源区3组成的,因此选取高压多晶1与有源区3的重叠作为提取特征。为区别于N阱中的多晶,这里首先将多晶Poly层与N阱层作相减运算,记作PSW=Poly SUBNWell。为了区别于P阱中的NMOS,再将上述结果与埋层BN相减,记作PSWSB=PSW SUB BN。最后,将PSWSB和有源区3作相与运算,此时得到的结果区域即为能形成寄生MOS电容的区域。

第三种,寄生NMOS晶体管

跨在两个N阱6之间的高压金属5会形成寄生的NMOS晶体管,如图10所示寄生NMOS晶体管形成原理示意图。提取方法是:

首先,进行如下两个操作:

将金属层M1与N阱6层作相与运算,并把得到的结果记作MAW=MetalAND NWell;

将金属层M1与N阱6层作相减运算,并把得到的结果记作MSW=MetalSUB NWell。

然后,形成如图11的结构,从MAW7中任取两个多边形,同MSW8中的任何一个多边形作相或运算,如果求或运算的结果只有一个多边形(也即是这三个多边形满足Touch关系),那么这个多边形就是所要找的区域,记作KeyArea(实际上就是图11中所示的高压金属8的区域)。

实际设计中会有作为衬底连接的区域将上述KerArea截断,因此必须考虑衬底连接的影响。解决方法是:将上述KerArea区域与代表衬底连接的P型注入PPLUS层作相与运算,如果运算结果非空,那么即是被截断,否则就是本方法所要寻找的寄生NMOS晶体管。

第四种,寄生PMOS晶体管

低压多晶跨在两个P阱上,中间是N阱6,则会形成一个寄生的PMOS晶体管对于BiCMOS工艺的版图,默认的情况下P阱2不画出,认为N阱6之外皆为P阱2。如图12所示形成寄生PMOS晶体管的示意图。这种寄生器件的提取规则同提取寄生NMOS晶体管类似,只是得到源漏区域与栅区的方法正好相反。Poly AND PWell作为栅极,Poly SUB PWell作为源漏极,后面的提取与提取寄生NMOS晶体管完全一样。

1.3.2提取规则执行文件

提取规则执行文件记录了寄生器件提取流程控制的命令,该文件格式示例如下:

#this is an example for layer operation

$CustomLayer1=StdLayer1 AND StdLayer2

$CustomLayer2=StdLayer13 SUB StdLayer8

$CustomLayer3=CustomLayer1 OR CustomLayer2

>Result=CustomLayer3

$CustomLayer4=StdLayer2 AND StdLayer9

$CustomLayer5=StdLayer11 AND StdLayer5

$CustomLayer6=StdLayer3 OR StdLayer7

$Customlayer7=CustomLayer4 SUB CustomLayer5

$CustomLayer8=CustomLayer6 AND CustomLayer7

>Result=CustomLayer8

$CustomLayer1=StdLayer12 SUB StdLayer8

>Result=CustomsLayer1

@ExtractRCAP

@ExtractMCAP

@ExtractPMOS

@ExtractNMOS

注:每行以#开头,表示注释,执行时被忽略。

每行以$符号开头的表示一次图层运算,格式中包含了等号以及要进行运算的种类(AND,SUB,OR三种),等号前面的是运算的结果,运算符两边的是所需要进行运算的两个图层,以Std开头的表示模拟集成电路版图中原有的图层,以Custom开头的表示用户经过运算之后得到的结果图层。以$符号开头的若干行中定义了这些基本的图层之间的操作,然后以>开头的行,将前面运算得到的结果作为一种寄生器件所代表的区域进行输出。因此,如何自定义一种寄生器件,只需要根据物理含义编写类似于上面所描述的简单命令即可。而以@开头的行,可以直接提取提取规则模块中所描述的四种寄生器件。

二、寄生器件提取模块

包括图形查询模块,图形存储模块,图形预处理模块,提取处理模块,图形布尔运算引擎以及修改输出版图模块。

2.1图形查询模块

图形查询模块是利用OA中的oaRegionQuery()查找版图中将用于寄生器件提取运算的关键图形,并得到每个图形的属性,包括所属的层号以及其用途号等。

2.2图形存储模块

图形存储模块,建立内部的数据结构,并对上述的关键图形进行存储。对于图形是多边形的以逆时针顺序的点序列的方式进行存储;对于内部有孔的多边形则通过切割的方式,同样以一个逆时针顺序的点序列来存储。对于每个多边形,存储内容包括:点序列的坐标值,端点的数目,多边形所属的层号,以及该多边形唯一的ID号。

2.3图形预处理模块

图形预处理模块根据图层定义模块对几何层与物理层之间对应关系的描述,将上述得到的多边形进行分层,每层多边形是所有层号属性相同的多边形集合。

以及,由于版图设计者在绘制版图时可能会出现属于同一层物理层的多边形出现重叠的现象,因此需要对这种情况进行合并处理,合并使用到的方法是对同一层的多边形进行布尔运算中的或运算。多边形进行合并后有可能出现一条边上包含有三个或者三个以上端点的情况,同样要对这种情况下的端点进行合并处理。

2.4提取处理模块

提取处理模块启动提取规则执行文件及布尔运算引擎,对版图中各多边形进行运算,提取出版图中的寄生器件。

2.5图形布尔运算引擎

图形布尔运算引擎,对模拟集成电路版图中各多变形进行布尔运算,以获得各多边形之间的几何位置关系(相交、重叠、相邻等)。布尔运算的种类包括与运算、或运算、以及相减运算。对于两个多边形A、B,它们之间的三种运算定义如下:

定义1:同时属于A和B的区域为A和B的交,记作A AND B,此为相与运算(如图4所示);

定义2:至少属于A或者至少属于B的区域为A和B的并,记作A OR B,此为相或运算(如图5所示);

定义3:属于A但却不属于B的区域作为A和B的差,记作A SUB B,此为相减运算(如图6和图7所示)。

本发明使用了支持这三种运算的布尔运算引擎,该布尔运算引擎被封装成一个函数接口,调用该函数完成对图形的布尔运算。

2.6修改输出版图文件

修改输出版图文件将提取出的各种寄生器件后反标到GDSII版图文件中。具体方法:在OA环境下,为每一种寄生器件创建一个新的物理层,然后创建代表每种寄生器件的多边形,保存后使用OA内置命令oa2strm的方法生成新的GDSII版图文件,可以通过GDSII版图查看工具来查看寄生器件。

三、输出

输出是包含寄生器件的GDSII版图。在原有输入的GDSII版图上,本发明在输出的GDSII版图中对每一种寄生器件新建了一个物理层,用户可以通过GDSII版图查看工具来查看寄生器件。

下面结合一具体实施例对本发明所述模拟集成电路版图特殊寄生器件提取方法作进一步地说明。

本发明采用工业界提供的一个欠压锁存(Under Voltage Lock Out,UVLO)电路模块的版图作为实施例。运用本发明的寄生器件提取方法对其进行寄生器件的提取,该电路基于1.5um双阱双压(30V/5V)BiCMOS工艺。现结合图2对其进行详细阐述:

步骤(1),读入GDSII版图文件。

待处理的版图实例文件为test.gds,基于OpenAccess平台,使用命令strm2oa将GDSII转换为OA的数据结构,生成了一个lib.def文件和一些.xml格式的数据文件。lib.def文件记录了版图中的层次结构,通过OA可以从两个文件中读取所需要的数据。

步骤(2),图形的查询。

图形查询是利用OA中的oaRegionQuery()查找版图中将用于寄生器件提取运算的关键图形,并且得到每个图形的一些属性,包括所属的层号以及其用途号。

步骤(3),图形存储。

对于上述已查找出的关键图形,建立内部的数据结构进行存储。对于图形为多边形的以逆时针顺序的点序列的方式进行存储;对于图形为内部有孔的多边形则通过切割的方式,同样以一个逆时针顺序的点序列来存储。对于每个多边形,存储的内容均包括:点序列的坐标值,端点的数目,多边形所属的层号,以及该多边形唯一的ID号。

步骤(4),图形的预处理。

根据图层定义模块对版图中几何层与物理层之间对应关系的定义描述,将上述得到的图形进行分层,该图层定义模块的具体文件layer.def内容如下:

$L20   CONT    1

$L21   M1      2

$L44   RES     3

$L42   HRPS    4

$L19   PPLUS   5

$L16   POLY    6

$L1    BN      7

$L10   NWELL   8

$L12   ACTIVE  9

$L13   PFIELD  10

$L15   GATE    11

$L18   NPLUS   12

$L45   HV      13

$L0    EDGE    14

$L230  TEXT    15

该实施例用到的物理层与几何层的对应关系分别是:CONT(通孔)、M1(金属层1)、RES(电阻层)、HRPS(高阻多晶层)、PPLUS(P型源漏区注入)、POLY(多晶层)、BN(埋层)、NWELL(N阱层)、ACTIVE(有源区)、PFIELD(P型场区注入)、GATE(栅区薄氧层)、NPLUS(N型源漏区注入)、HV(高压器件识别层)、EDGE(CELL识别边框)、TEXT(文本层)。

对于每层图形,合并那些出现重叠的多边形,方法是:对该层多边形进行或运算。然后,对于多边形合并后出现一条边上包含三个或者三个以上端点的情况,对其进行端点合并。

步骤(5),寄生电容的提取。

用代表高压多晶的HRPS层与P阱层作相与运算,得到的结果区域作为形成寄生电容的区域。

步骤(6),寄生MOS电容的提取。

首先将多晶Poly层与N阱层作相减运算,记作PSW=Poly SUB NWell。为了区别于P阱中的NMOS,再将上述结果与埋层BN相减,记作PSWSB=PSWSUB BN。最后,将PSWSB和有源区作相与运算,此时得到的结果区域即为能形成寄生MOS电容的区域。

步骤(7),寄生NMOS晶体管的提取。

将金属层M1与N阱层作相与运算,并把得到的结果记作MAW=MetalAND NWell;

将金属层M1与N阱层作相减运算,并把得到的结果记作MSW=Metal SUBNWell。

如图11所示,从MAW7中任取两个多边形,同MSW8中的任何一个多边形作相或运算,如果求或运算的结果只有一个多边形(也即是这三个多边形满足Touch关系),那么这个多边形就是所要找的区域,记作KeyArea(实际上也就是图11中所示的高压金属8的区域)。实际设计中会有作为衬底连接的区域将上述KerArea截断,因此必须考虑衬底连接的影响。解决方法是:将上述KerArea区域与代表衬底连接的P型注入PPLUS层作相与运算,如果运算结果非空,那么即是被截断,否则就是本方法所要寻找的寄生NMOS结构。

步骤(8),寄生PMOS晶体管的提取。

将金属层M1与P阱层作相与运算,并把得到的结果记作MAW=Metal ANDPWell;

将金属层M1与P阱层作相减运算,并把得到的结果记作MSW=Metal SUBPWell。

如图11所示,从MAW7中任取两个多边形,同MSW8中的任何一个多边形作相或运算,如果求或运算的结果只有一个多边形(也即是这三个多边形满足Touch关系),那么这个多边形就是所要寻找的寄生NMOS结构。

步骤(9),修改版图文件。

在OA环境中,为每一种寄生器件创建一个新的物理层,为步骤(5)提取的寄生电容新建层L180,为步骤(6)提取的寄生MOS电容新建层L190,为步骤(7)提取的寄生NMOS器件新建层L210,为步骤(8)提取的寄生PMOS器件新建层L220。然后在新建的四层图层中分别创建其对应的四种寄生器件的多边形,保存后使用OA内置命令oa2strm的方法生成新的版图文件output.gds,可以通过GDSII版图查看工具来查看寄生器件。

另外,将本发明提到的方法应用到UVLO电路版图中,完全能够自动准确快速地将四种寄生器件提取出来。

以上,仅为本发明的较佳实施例,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求所界定的保护范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号