CN104572658B - 一种甚大规模集成电路版图层次比较工具的单元切分预处理方法 - Google Patents

一种甚大规模集成电路版图层次比较工具的单元切分预处理方法 Download PDF

Info

Publication number
CN104572658B
CN104572658B CN201310478185.2A CN201310478185A CN104572658B CN 104572658 B CN104572658 B CN 104572658B CN 201310478185 A CN201310478185 A CN 201310478185A CN 104572658 B CN104572658 B CN 104572658B
Authority
CN
China
Prior art keywords
subelement
pseudo
unit
segmentation lines
cutting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310478185.2A
Other languages
English (en)
Other versions
CN104572658A (zh
Inventor
戴斌华
于士涛
王国庆
路艳芳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Empyrean Technology Co Ltd
Original Assignee
Beijing CEC Huada Electronic Design Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing CEC Huada Electronic Design Co Ltd filed Critical Beijing CEC Huada Electronic Design Co Ltd
Priority to CN201310478185.2A priority Critical patent/CN104572658B/zh
Publication of CN104572658A publication Critical patent/CN104572658A/zh
Application granted granted Critical
Publication of CN104572658B publication Critical patent/CN104572658B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Architecture (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明公开了一种甚大规模集成电路版图层次比较工具的单元切分预处理方法,属于半导体集成电路设计白动化领域,主要用于后端设计时比较甚大规模集成电路版图间的差异。本预处理方法将层次版图中降低比较效率的大单元内部转换为较小单元,提高了层次版图差异比较的效率。其实现过程为:对版图中的每个大单元在X方向和Y方向同时作切分:根据本单元的大小决定X和Y方向切分线的总数Nx和N y;切分为(N x+1)X(Ny+1)块数据,对应的新建(Nx+1)X(Ny+1)个伪子单元,将每块数据存入伪单元中:将大单元中的原始数据清空,重新插入(Nx+1)X(Ny+1)个引用伪子单元的实例。

Description

一种甚大规模集成电路版图层次比较工具的单元切分预处理 方法
技术领域
一种甚大规模集成电路版图层次比较工具中版图单元切分预处理方法属于半导体集成电路设计自动化后端设计领域,涉及甚大规模集成电路版图的差异比较操作中版图单元切分预处理方法。
背景技术
集成电路版图差异比较是版图设计和制造过程中,频繁执行的一种操作,通常用于筛选两个近似版图在图形和文本方面的差异。
版图在发计过程中,通常以层次架构表示,版图由多个单元(Cell)组成。单元中包含图形,文本数据和调用子单元的实例(Instance)。版图比较工具的主要输入数据是层次版图数据。
版图比较工具分二种:层次比较工具和打散比较工具。
版图打散比较工具处理层次版图的主要方法是:首先读入层次版图数据,然后按照从顶层到底层的层次调用关系扁平化打散各个单元的图形文本数据,仅保留一个顶层单元(Top Cell);接着对顶层单元调用打散比较引擎作版图比较,最后在顶层单元输出差异结果。
版图层次比较工具处理层次版图的主要方法是:首先读入层次版图数据,然后对层次版图数据的各个单元并行的调用层次比较引擎作跨层次的版图比较,最后在层次版图的各个单元输出差异结果。
在版图设计后期,投入生产之前,版图通常要经过多次局部修改,以满足设计规则检查和电路元件参数要求。而每次迭代修改,都要进行版图差异比较,复查确认修改内容。因此,版图比较工具的处理效率对集成电路设计周期具有重要影响。
随着纳米级IC设计的出现,版图数据规模迅速膨胀,单个层次版图文件的尺寸可达几百GB的规模。如此大的数据规模,版图打散比较工具还要打散各单元数据,使得数据规模进一步增大,处理效率非常低。而版图层次比较工具具有无须打散单元数据,避免重复比较同一单元数据和并行比较多个单元的优点,特别适合比较甚大规模集成电路的版图。
集成电路设计者在设计版图的各个单元时,主要是按照逻辑关系和个人偏好来设计。因此版图中经常出现部分单元的数据规模很大。当版图层次比较工具处理到这样的单元时,处理效率很低。并且由于一个大单元的比较迟迟不能结束,也降低了整个版图比较的并发执行效率。要进一步提高版图层次比较工具的比较速度,就必须解决好版图中大单元造成的比较效率下降的问题。
发明内容
本发明提供一种集成电路版图层次比较工具的单元切分预处理方法,能够解决集成电路版图层次比较工具处理大单元时效率下降的问题。
本发明的主要思路:在版图层次比较工具中增加一个预处理步骤——单元切分处理。单元切分处理将版图中经常存在的大单元转换为多个较小单元。
单元切分处理的技术方案如下:
对版图中的每个大单元在X方向和Y方向同时作切分;根据本单元的大小决定X和Y方向切分线的总数Nx和Ny;切分为(Nx+1)x(Ny+1)块数据,对应的新建(Nx+1)x(Ny+1)个伪子单元,将每块数据存入伪单元中;将大单元中的原始数据清空,重新插入(Nx+1)x(Ny+1) 个引用伪子单元的实例。
在对单个大单元做切分时,确定切分线的步骤如下:根据子单元实例的边框的X,Y坐标,生成X和Y方向的候选切分线,按着给每个切分线赋予权重,选出权重最小的且满足最小间距的Nx(Ny)个切分线作为最终的切分线。
在对单个大单元做切分时,切分子单元实例(Instance)的步骤如下:当某个Instance不跨越任何切分线,直接放入对应的伪子单元中;当某个Instance跨越一个或多个切分线时,选取与该Instance重叠区域最大的伪子单元作为目标伪子单元,将该Instance放入。
在对单个大单元做切分时,切分图形的步骤如下:当图形不跨越任何切分线时,直接放入对应的伪子单元中;当图形跨越多个切分线时,将该图形与切分线围成的矩形区域做几何AND操作进行切割,该图形被切割后的各部分图形,放入对应的伪子单元中。
在对每个切分线赋予权重时,步骤如下:①穿越Instance内部的切分线比经过Instance边界权重要大的多。②穿越大Instance的切分线比穿越小的Instance权重更大。③各Instance的权重值等于Instance所引用的单元内图形和Instance总数。
本发明在保证比较结果正确性的前提下,不仅能消除版图中存在的大单元,还能够使版图中单元的大小均衡,提升各单元并发比较效率,加快版图比较速度。实验中采用若干甚大规模真实版图测试,在采用了本发明所述的单元切分预处理后,版图层次比较工具有2-5倍的性能提升。
附图说明
图1层次版图的单元切分预处理方法流程图;
图2层次版图实例;
图3大单元实例的候选切分线和权重示意图;
图4大单元实例切分后的伪子单元。
具体实施方式
如附图1所示,本发明的具体实现流程如下:
步骤(101),将所有单元按层次调用关系,拓扑排序,转步骤(102)。
步骤(102),按照拓扑顺序,取出下一个未处理的单元,转步骤(103)。
步骤(103),判断当前单元是否大单元实例,是则转步骤(104),提升子单元数据到本单元;否则当前单元不做操作,直接转步骤(110)。判断当前单元是否大单元的标准是同时满足以下条件:1.当前单元外框的面积大于200000平方微米,2.当前单元外框与顶层单元外框的面积比大于1/240。
步骤(104),计算出本单元的X方向和Y方向切分线总数,转步骤(105)。计算本单元切分线总数的步骤如下:1、计算本单元的Instance和图形的总数T1;2、将T1取3次开方运算然后向上取整得到各方向的初始切分线总数N1;3、如果本单元的X方向长度除N1大于X方向的最小切分线间隔(1000微米),则X方向的切分线总数Nx确定为N1;否则X方向的切分线总数Nx为0;4、如果本单元的Y方向长度除以N1大于Y方向的最小切分线间隔 (200微米),则Y方向的切分线总数Ny确定为N1;否则Y方向的切分线总数Ny为0;
步骤(105),根据子单元实例的边框的X,Y坐标,生成X和Y方向的候选切分线,转步骤(106)。
步骤(106),根据候选切分线跨图形或跨Instance的情况为其设定权值,转步骤(107)。设定权值的步骤如下:1、当候选切分线跨过图形时,每跨过一个图形,给候选切分线的权值加1;2、当候选切分线跨过Instance时,每跨过一个Instance,计算该Instance引用的单元内Instance和图形的总数Ti,给候选切分线的权值加Ti。
步骤(107),按照权值从候选切分线中选取实际切分线,转步骤(108)。选取X方向实际切分线的步骤如下:1、若候选切分线总数CL小于计划切分线总数NL,则候选切分线全部被选为实际切分线;然后对间隔大于2倍X方向切分线最小间隔的区域增加新的实际切分线,直到实际切分线总数达到计划切分线总数NL。2、若候选切分线总数CL大于等于计划切分线总数NL,则将候选切分线按照权重值从小到大排序;从最小权重值的候选切分线开始,如果与前一条实际切分线间隔大于X方向切分线的最小间隔,则选定为实际切分线,直到实际切分线总数达到计划切分线总数NL。选取Y方向实际切分线的步骤与X方向类似,只需要将方向替换即可。
步骤(108),按照实际切分线切分本单元的图形,文本和Instance到对应伪子单元,转步骤(109)。1、切分图形的步骤如下:当图形不跨越任何切分线时,直接放入对应的伪子单元中;当图形跨越多个切分线时,将该图形与相关切分线围成的矩形区域做几何 AND操作进行切割,该图形被切割后的各部分图形,放入对应的伪子单元中。2、切分文本的步骤如下:当文本的坐标点不在任何切分线时,直按放入对应的伪子单元中;当文本的坐标点在多个切分线时,该文本恰好在多个伪子单元的边框上,则任选一个伪子单元放入该文本。3、切分子单元实例(Instance)的步骤如下:当某个Instance不跨越任何切分线,直接放入对应的伪子单元中;当某个Instance跨越一个或多个切分线时,在这些切分线围成的多个伪子单元中选取与该Instance重叠区域最大的作为目标伪子单元,将该Instance 放入。
步骤(109),清空本单元的图形,文本和Instance,插入各伪子单元的Instance,转步骤(110)。
步骤(110),判断是否有未处理的单元,否则表示已经处理过所有单元,方法结束;是则转步骤(102),继续处理下一个单元。
下面以图2中的待切分的大单元实例为例,描述具体实施过程。
图2中的实例为顶层单元(Top Ce]1),由图2中的Top Ce]]表示。顶层单元长为800微米,宽为600um。顶层单元有4个子Cell:Cell A、Cell B、Cell C、Cell D;有10 个子单元的实例(Instance):I1-I10,没有图形和文本。Cell A没有子单元,只有50个图形,在父单元Top Cell有1个实例I1,Cell B、Cell C、Cell D也没有子单元,各有10 个图形。Cell B在在父单元Top Cell有3个实例I2-I4。Ce11C在在父单元Top Ce11有2 个实例I5-I6。Ce11D在在父单元Top Ce11有4个实例I7-I10。为方便描述,图2仅绘制了Instance的方框,未绘制图形和文本。
首先,执行步骤(101),按照拓扑排序5个单元,得到以下拓扑序:Top,A,B,C, D;转步骤(102)。
步骤(102)执行,按照拓扑序得到第一个单元Top Cell,转步骤(103)。
步骤(103)执行,判断当前单元Top Ce11是否大单元。因为Top Ce11的面积为480000um,大于200000um的阈值,而且与顶层单元的面积比为1,也大于1/240,因此为大单元;转步骤(104)。
步骤(104)执行,1、计算当前单元Top Ce11的Instance和图形的总数 T1=100+10=110;2、计算各方向的初始切分线总数N1=ROUNDUP(SQRT(SQRT(SQRT(10))))=2;3、因为X方向的长度600微米小于阈值,X方向的切分线总数最终为0;4、因为Y方向的长度 600微米大于于阈值,Y方向的切分线总数最终为3;转步骤(105)。
步骤(105)执行,根据子单元实例的边框的X,Y坐标,生成X和Y方向的候选切分线,转步骤(106)。因为步骤(104)己经知道X方向不需要切分,因此只需生成Y方向的候选切分线,如图3所示,得到8条Y方向候选切分线(301)-(308)。
步骤(106)执行,根据候选切分线跨图形或跨Instance的情况为其设定权值,转步骤(107)。单元Top Ce11没有图形,因此只需计算好每个Instance的权重,然后加到跨越该Instance的候选切分线上。Cell A有50个图形,因此它的实例I1的权重为50;Ce11 B有10个图形,因此它的实例I2,I3和I4的权重为10;Ce11C有10个图形,因此它的实例I5和I6的权重为10;Ce11D有10个图形,因此它的实例I7,I8,I9和I10的权重为10;
候选线(301)跨越子单元实例I3和I4,权重累加为20;候选线(302)跨越子单元实 例I3, I6和I4,权重累加为30;候选线(303)跨越子单元实例I2,I5和I6,权重累加为30;候 边线(304)跨越子单元实例I5,权重累加为10;候选线(305)跨越子单元实例I1,权重累加为 50;候选线(306)未跨越子单元实例,权重累加为0;候选线(307)跨越子单元实例I7和I10, 权重累加为20;候选线(308)跨越子单元实例I8和I9,权重累加为20;候选线权值设定如下 表:
候选线 301 302 303 304 305 306 307 308
权重 20 30 30 10 50 0 20 20
步骤(107)执行,按照权值从候选切分线中选取实际切分线,转步骤(108)。因为Y方向候选切分线8条大于Y方向计划切分线2条,因此执行2、的操作,首先将8条候选线按权重排序,取出权重最小的候选线(306),它与本单元边界的间隔超过了最小切分线间隔,因此选定为实际切分线;接着取出权重次小的厚选线(304),他与本单元边界及其他切分线的间隔也超过了最小切分线间隔,也选定为实际切分线;达到了计划切分线的总数2条,本步骤完成。
步骤(108)执行,按照权值从候选切分线中选取实际切分线,转步骤(109)。本单元Top Ce11没有图形和文本,仅需切割Instance。由于实际切分线(304)跨越了子单元实例I5,I5与切分线(304)上方的伪子单元P1重叠区域最大,I5与切分线(304)下方的伪子单元P2重叠区域很小,I5被放入伪子单元P1中。其他Instance因为没有切分线跨越,直接放入对应伪子单元中,如图4所示。
步骤(109)执行,清空本单元Top Cell的Instance,插入各伪子单元的Instance,转步骤(110)。
步骤(110)执行,尚有未获取的Cell单元,转步骤(102)。
步骤(102)执行,按照拓扑序得到第二个单元A,转步骤(103)。
步骤(103)执行,判断当前单元A是否大单元。因为单元A的面积远小于200000um的阈值,不是大单元;转步骤(110)。
步骤(110)执行,尚有未获取的Cell单元,转步骤(102)。
步骤(102)执行,按照拓扑序得到第三个单元B,转步骤(103)。
步骤(103)执行,判断当前单元B是否大单元。因为单元B的面积远小于200000um的阈值,不是大单元;转步骤(110)。
步骤(110)执行,尚有未获取的Cell单元,转步骤(102)。
步骤(102)执行,按照拓扑序得到第四个单元C,转步骤(103)。
步骤(103)执行,判断当前单元C是否大单元。因为单元C的面积远小于200000um的阈值,不是大单元;转步骤(110)。
步骤(110)执行,尚有未获取的Cell单元,转步骤(102)。
步骤(102)执行,按照拓扑序得到第五个单元D,转步骤(103)。
步骤(103)执行,判断当前单元D是否大单元。因为单元D的面积远小于200000um的阈值,不是大单元;转步骤(110)。
步骤(110)执行,己经没有未获取的Cell单元,单元切分预处理结束。

Claims (4)

1.一种集成电路版图层次比较工具的单元切分预处理方法,将层次版图中降低了比较效率的大单元转换为多个小单元,提高了层次版图差异比较的效率,其特征在于:
对版图中的每个大单元在X方向和Y方向同时作切分;根据所述大单元的大小决定X和Y方向切分线的总数Nx和Ny;切分为(Nx+1)×(Ny+1)块数据,对应的新建(Nx+1)×(Ny+1)个伪子单元,将每块数据存入所述伪子单元中;将所述大单元中的原始数据清空,重新插入(Nx+1)×(Ny+1)个引用伪子单元实例;
对大单元做切分时,切分图形的步骤为:当图形不跨越任何切分线时,直接放入对应的伪子单元中;当图形跨越多个切分线时,将该图形与切分线围成的矩形区域做几何AND操作进行切割,该图形被切割后的各部分图形,放入对应的伪子单元中。
2.根据权利要求1所述的一种集成电路版图层次比较工具的单元切分预处理方法,其特征在于,所述对大单元做切分时,确定切分线的步骤为:根据引用伪子单元实例的边框的X,Y坐标,生成X和Y方向的候选切分线,接着给每个切分线赋予权重,选出权重最小的且满足最小间距的Nx或Ny个切分线作为最终的切分线。
3.根据权利要求1所述的一种集成电路版图层次比较工具的单元切分预处理方法,其特征在于,所述对大单元做切分时,引用伪子单元实例的步骤为:当某个引用伪子单元实例不跨越任何切分线,直接放入对应的伪子单元中;当某个引用伪子单元实例跨越一个或多个切分线时,选取与该引用伪子单元实例重叠区域最大的伪子单元作为目标伪子单元,将该引用伪子单元实例放入。
4.根据权利要求2所述的一种集成电路版图层次比较工具的单元切分预处理方法,其特征在于,所述给每个切分线赋予权重的步骤为:①穿越引用伪子单元实例内部的切分线比经过引用伪子单元实例边界权重大;②穿越大引用伪子单元实例的切分线比穿越小的引用伪子单元实例权重大;③各引用伪子单元实例的权重值等于引用伪子单元实例所引用的单元内图形和引用伪子单元实例总数。
CN201310478185.2A 2013-10-14 2013-10-14 一种甚大规模集成电路版图层次比较工具的单元切分预处理方法 Active CN104572658B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310478185.2A CN104572658B (zh) 2013-10-14 2013-10-14 一种甚大规模集成电路版图层次比较工具的单元切分预处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310478185.2A CN104572658B (zh) 2013-10-14 2013-10-14 一种甚大规模集成电路版图层次比较工具的单元切分预处理方法

Publications (2)

Publication Number Publication Date
CN104572658A CN104572658A (zh) 2015-04-29
CN104572658B true CN104572658B (zh) 2018-06-22

Family

ID=53088755

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310478185.2A Active CN104572658B (zh) 2013-10-14 2013-10-14 一种甚大规模集成电路版图层次比较工具的单元切分预处理方法

Country Status (1)

Country Link
CN (1) CN104572658B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106649897B (zh) * 2015-10-28 2019-11-15 北京华大九天软件有限公司 一种子单元阵列拼接预处理方法
US10303839B2 (en) * 2016-06-07 2019-05-28 Kla-Tencor Corporation Electrically relevant placement of metrology targets using design analysis
CN106295049B (zh) * 2016-08-19 2019-07-23 上海华力微电子有限公司 多产品共晶圆流片中的几何信息提取方法
CN116822453B (zh) * 2023-08-25 2024-01-26 深圳国微福芯技术有限公司 集成电路的比对方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102156765A (zh) * 2010-12-23 2011-08-17 上海高性能集成电路设计中心 一种分割版图的装置
CN102346800A (zh) * 2011-11-08 2012-02-08 中国科学院微电子研究所 加速设计规则检查的方法及装置
CN103164489A (zh) * 2011-12-19 2013-06-19 北京华大九天软件有限公司 集成电路版图数据库的快速比较方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080028226A1 (en) * 2006-07-31 2008-01-31 Brocker Matthew W System-on-a-chip and method for securely transferring data on a system-on-a-chip

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102156765A (zh) * 2010-12-23 2011-08-17 上海高性能集成电路设计中心 一种分割版图的装置
CN102346800A (zh) * 2011-11-08 2012-02-08 中国科学院微电子研究所 加速设计规则检查的方法及装置
CN103164489A (zh) * 2011-12-19 2013-06-19 北京华大九天软件有限公司 集成电路版图数据库的快速比较方法

Also Published As

Publication number Publication date
CN104572658A (zh) 2015-04-29

Similar Documents

Publication Publication Date Title
CN103106275B (zh) 基于特征分布信息的文本分类特征筛选方法
US9753895B2 (en) Method for process variation analysis of an integrated circuit
CN104572658B (zh) 一种甚大规模集成电路版图层次比较工具的单元切分预处理方法
CN109753995A (zh) 一种基于3d目标分类和场景语义分割的网络优化结构
CN108733644B (zh) 一种文本情感分析方法、计算机可读存储介质及终端设备
CN105631466A (zh) 图像分类的方法及装置
US20180267102A1 (en) Implementing enhanced diagnostics with intelligent pattern combination in automatic test pattern generation (atpg)
CN110503143A (zh) 基于意图识别的阈值选取方法、设备、存储介质及装置
CN107748898A (zh) 文件分类方法、装置、计算设备及计算机存储介质
CN103500168A (zh) 一种基于拓扑势的重叠复杂网络社区发现方法及系统
CN106874322A (zh) 一种数据表关联方法和装置
CN105404728B (zh) 一种基于fpga芯片多控制信号的布局方法
Tsai et al. Wafer map defect classification with depthwise separable convolutions
CN103870563B (zh) 确定给定文本的主题分布的方法和装置
CN110688723A (zh) 一种时钟分布网络快速设计方法
CN104992032B (zh) 一种多电压域设计中保持时间的修正方法
CN105787004A (zh) 一种文本分类方法及装置
CN111651507A (zh) 一种大数据加工方法及系统
CN116151186A (zh) 一种时序优化方法、装置和电子设备
US10372861B2 (en) Method of macro placement and a non-transitory computer readable medium thereof
CN110032815A (zh) 基于文化基因的八角形斯坦纳树构建方法
Liang et al. Design Rule Violation Prediction at Sub-10-nm Process Nodes Using Customized Convolutional Networks
CN107704320A (zh) 一种分布式系统的任务分配方法及系统
US20050240889A1 (en) Process and apparatus for placing cells in an IC floorplan
JP2007095028A (ja) 半導体集積回路のタイミング検証方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 100102 Beijing city two Chaoyang District Lize Road No. 2 A block two layer

Patentee after: Beijing Huada Jiutian Technology Co.,Ltd.

Address before: 100102 Beijing city two Chaoyang District Lize Road No. 2 A block two layer

Patentee before: HUADA EMPYREAN SOFTWARE Co.,Ltd.

CP01 Change in the name or title of a patent holder