CN110728106A - 产生布局图的方法 - Google Patents
产生布局图的方法 Download PDFInfo
- Publication number
- CN110728106A CN110728106A CN201910578257.8A CN201910578257A CN110728106A CN 110728106 A CN110728106 A CN 110728106A CN 201910578257 A CN201910578257 A CN 201910578257A CN 110728106 A CN110728106 A CN 110728106A
- Authority
- CN
- China
- Prior art keywords
- cell
- vep
- pattern
- cells
- edge
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
-
- G—PHYSICS
- G03—PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
- G03F—PHOTOMECHANICAL PRODUCTION OF TEXTURED OR PATTERNED SURFACES, e.g. FOR PRINTING, FOR PROCESSING OF SEMICONDUCTOR DEVICES; MATERIALS THEREFOR; ORIGINALS THEREFOR; APPARATUS SPECIALLY ADAPTED THEREFOR
- G03F1/00—Originals for photomechanical production of textured or patterned surfaces, e.g., masks, photo-masks, reticles; Mask blanks or pellicles therefor; Containers specially adapted therefor; Preparation thereof
- G03F1/68—Preparation processes not covered by groups G03F1/20 - G03F1/50
- G03F1/70—Adapting basic layout or design of masks to lithographic process requirements, e.g., second iteration correction of mask patterns for imaging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/04—Constraint-based CAD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/31—Design entry, e.g. editors specifically adapted for circuit design
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- Architecture (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
产生布局图的方法包含:在布局图中,识别违反水平约束向量的三或多个单元的群组,且群组呈对齐于垂直方向而形成垂直边缘对(vertically‑aligned edge‑pairs,VEP);每一个VEP包含二个表示为至少具部分群组的对应单元的垂直边缘部分的成员;相对于水平方向,每一个VEP的成员设于毗邻边缘并分离对应实际间距;及水平约束向量包含间隔临界值,每一间隔临界值包含对应VEP并表示为在水平方向上,对应VEP的成员之间对应的最小间距;及对于每一个具有至少一个但少于总数之间隔临界值者,选择性移动单元中的给定单元,其对应于对应VEP的成员中一者,以避免违反水平约束向量。
Description
技术领域
本案是有关于一种用于集成电路的布局图,包含其产生方法。
背景技术
集成电路包含一个或多个半导体装置。一种用来表示为半导体装置的方式为平面图,特别是指半导体装置的布局图。布局图是用以产生设计准则的背景。设计准则的套组于布局图中,强制施行对应图案位移的约束,例如地区上或空间上的限制、连接限制等等。通常,设计准则的套组包含其次套组,且次套组关联于空间或其他相邻单元及毗邻单元之间图案的交互作用,其中图案能表示为金属层中的导体。
一般而言,设计准则的套组是为了特定的某种制程,并根据布局图借以制造半导体装置。设计准则套组是为了对应制程上变动性而作的补偿。通过布局图而产生的实际半导体装置,及根据布局图而产生的虚拟装置,前述的补偿能提升实际半导体装置相对于虚拟装置为可接受装置的可能性。
发明内容
本案的一些实施例是关于一种产生布局图的方法,一布局图储存于一非暂态计算机可读取媒体。该方法特征在于,包含:在该布局图中,识别违反一水平约束向量的三个或多个单元的一群组,该群组设置呈现为大致上对齐于一垂直方向的二个或多个边缘对,而形成复数垂直边缘对;每一该等垂直边缘对包含二个表示为至少具部分该群组的对应单元的垂直边缘部分的成员;相对于一水平方向,每一该等垂直边缘对的该等成员设置于毗邻边缘并分离一对应实际间距;以及该水平约束向量包含至少一间隔临界值,每一该等间隔临界值包含一对应垂直边缘对并表示为在该水平方向上,该对应垂直边缘对的该等成员之间的一对应的最小间距;以及对于每一个具有至少一个但少于总数之间隔临界值者,选择性地移动该等单元中的一给定单元,该给定单元对应于该等对应垂直边缘对的该等成员的其中一者,借以避免违反该水平约束向量。
附图说明
为让本案所揭示的内容与以下实施例能更明显易懂,所附附图的说明如下。应注意的是,依照产业中的标准方法,各种特征并不会依其尺规呈现于图示中。实际上,为了厘清讨论内容,各种特征的维度可能任意增加或减少。
图1为根据本案一些实施例所绘示半导体装置的方块图;
图2A–2J为根据本案一些实施例所绘示对应布局图;
图3A–3E为根据本案一些实施例所绘示对应的水平约束向量(HCV)示意图;
图4A–4F为根据本案一些实施例所绘示对应的垂直约束向量(VCV)示意图;
图5A–5H为根据本案一些实施例所绘示对应的群组单元描述符(GCD)示意图;
图6A为根据本案一些实施例所绘示HCV、VEP及条件表格;
图6B为根据本案一些实施例所绘示覆盖网格示意图;
图6C为根据本案一些实施例所绘示利用覆盖网格的数学示意图;
图7A–7B为根据本案一些实施例所绘示一组中单元的操作及其数学示意图;
图8A为根据本案一些实施例所绘示代表为一对单元的不同取向范围的符号示意图;
图8B为根据本案一些实施例所绘示杂凑函数示意图;
图8C为根据本案一些实施例所绘示代表为一对单元的不同取向范围的符号示意图;
图9A–9C为根据本案一些实施例所绘示用于单元的跨列反转、移位及/或置换的数学示意图;
图10A–10B为根据本案一些实施例所绘示用于单元的列间移动及反转的数学示意图;
图11为根据本案一些实施例所绘示产生布局图方法的方块图;
图12为根据本案一个或多个实施例所绘示产生布局图方法的方块图;
图13为根据本案一些实施例所绘示电子设计自动化(EDA)系统的方块图;
图14为根据本案一些实施例所绘示集成电路(IC)制程系统及其相关流程的方块图。
【符号说明】
为让本案的上述和其他目的、特征、优点与实施例能更明显易懂,所附符号的说明如下:
100:半导体装置
102:电路巨集
104:最小扩张单元区域
200A、200B、200C、220D、220E、220F、200G、200H、200I、200J:布局图
202A、202B、202C、222D、220E、220F、202G、222H:群组
204、206、208、224、226、228、229:单元
210、212、214、232、234、236:图案
216、218、237、238:移动
240_L、242_L、244_L、260_L、262_L、262’_L、264_L、264’_L、266_L:左边缘
240_T、242_T、244_T、260_T、262_T、262’_T、264_T、264’_T、266_T:顶边缘
240_B、242_B、244_B、260_B、262_B、262’_B、264_B、264’_B、266_B:底边缘
240_R、242_R、244_R、260_R、262_R、262’_R、264_R、264’_R、266_R:右边缘
250、252、254、256、270、272、274、274’、276、276’、278(1)、278(2)、278(3)、278(4):成员
1100、1200:方法
1102、1104、1106、1108、1110、1112、1120、1112、1202、1204、1206、1210、1222:步骤
1310:输入/输出接口
1302:处理器
1312:网络接口
1314:网络
1304:记忆体
1306:指令
1307:标准单元库
1309:布局图
1342:使用者界面(UI)
1420:设计机构
1422:集成电路(IC)设计布局图
1430:光罩机构
1432:光罩准备
1444:光罩制造
1445:光罩
1450:制造厂
1452:晶圆制造
1453:晶圆
1460:集成电路(IC)装置
257(1)、257(2)、316(1)、316(2)、422、422B、422B’:VEP
277(1)、277(1)’、277(2)、277(2)’、277(3)、302B、302B’:HEP
279(1)、279(1)’、279(2)、418(2):PrHEP
251、253、259、271(2)、271(2)’、273(1)、273(1)’、273(2):实际间距
275(1):第一列
275(2):第二列
300:HCV文法
302、302B、302B’、302E:HCV
422E、422E’:VCV
304、304(1)、304(2)、424、424(1)、424(2):条件
306、308、310、312、314、306(1)、308(1)、310(1)、312(1)、314(1)、306(2)、308(2)、310(2)、312(2)、314(2)、426、428、430、432、434、435、436、438、440、442、444:元件
400:VCV文法
500、500B、500H:GCD
501:右边缘识别符
503、513、523、523(1)、523(2)、533、533(1)、533(2):列识别符
505、515、527、527(1)、527(2)、537、537(1)、537(2):约束识别符
507、517、529、529(1)、529(2)、539、539(1)、539(2):单元类型识别符
511:左边缘识别符
521、521(1):顶边缘识别符
525、525(1)、535、535(1)、539、529(1):位置指向识别符
531、531(1):底边缘识别符
600A、600B、800A、800B、800C:表格
具体实施方式
下述揭露内容提供的不同实施例或实例可实施本案主题的不同特征。下述特定元件、材料、数值、步骤与排列等的实施例是用以简化本案。这些仅作示例而非局限本案。其他的元件、材料、数值、步骤与排列等也被考虑。举例来说,形成第一特征于第二特征上的叙述包含两者直接接触,或两者之间隔有其他额外特征而非直接接触。此外,本案的多个实例中将采用重复标号及/或符号。这些重复使说明简化及明确,不代表多种实施例中相同标号的元件之间具有相同的对应关系。
另一方面,空间性的相对用语如“下方”、“其下”、“较下方”、“上方”、“较上方”、或类似用语可用于简化说明某一元件或某一特征与另一元件或另一特征在图示中的相对关系。空间性的相对用语可延伸至以其他方向使用的元件,而非局限于图示方向。装置可指向其他方向(可转动90°或其他角度),并且可对应地解释在此所用的方向性用语。
约束(Constraint,于此亦指约束向量(Constraint vectors,CV))在布局图中,强制执行三个或多个单元的群组之间的最小间隔距离。单元的群组以一定方式设置,因而使单元包含二个或多个边缘对(Edge-pairs,EPs)。最小间隔距离是指间隔临界值,且间隔临界值表示为在水平方向上,对应单元之间所对应的最小间距。在某些实施例中,约束(Constraint)为水平约束(指水平约束向量,Horizontal CV(HCV)),用以使边缘对(EPs)为垂直边缘对(Vertical Eps(VEPs))。或于一些实施例中,约束为垂直约束(指垂直约束向量,Vertical CV(VCV)),用以使边缘对(EPs)为水平边缘对(Horizontal Eps(HEPs)),并设置水平边缘对(HEPs)形成至少一个成对的水平边缘对(HEPs),称之为成对水平边缘对(Pair of HEPs,PrHEP)。
本案所揭露的至少一些实施例中,方法包含选择性地移动Eps的其中一个给定单元,借以避免违反CV(或称为CV违规,CV Violation),如满足间隔临界值。在某些实施例中,选择性移动是跨列(Intra-row)移动,或于某些实施例中,选择性移动是列间(Inter-row)移动。相较于其他方法,对于计算负载(Computational load)及/或减少尘埃(Densityreduction),选择性移动具较低的成本。
在一些实施例中,假设如下:在布局图中,三个或多个单元的群组违反约束向量(CV);群组设置呈现为二个或多个边缘对(EPs);以及,约束向量(CV)包含一个或多个间隔临界值,每一个间隔临界值表示为在水平方向上,对应对应单元之间所对应的最小间距。至少于一些实施例中(相同假设下),对于每一个具有至少一个但少于总数之间隔临界值者,选择性地移动单元中的一个给定单元,且给定单元对应于其所对应的对应边缘对(EP)的成员的其中一者,借以避免违反CV。于某些实施例中,约束向量(CV)为水平约束向量(Horizontal CV(HCV)),用以使边缘对(EPs)为垂直边缘对(Vertical Eps(VEPs))。或于一些实施例中,约束向量(CV)为垂直约束向量(Vertical CV(VCV)),用以使边缘对(EPs)为水平边缘对(Horizontal Eps(HEPs)),并设置水平边缘对(HEPs)形成至少一个成对的水平边缘对(HEPs),称之为成对水平边缘对(Pair of HEPs,PrHEP),借以产生修改的布局图。并于一些实施例中,选择性移动是跨列(Intra-row)移动。或于某些实施例中,选择性移动是列间(Inter-row)移动。相较于其他方法(于下述讨论),对于计算负载(Computational load)及/或减少密度(Density reduction),选择性移动具较低的成本,讨论如下。
即使通过单元的选择性移动而产生布局图的修改,能借以避免违反CV而从中受益,然而每一个单元的选择性移动在修改中并非不用成本(Cost)。在一例子中,成本可为对布局图修改修改所呈现的累计计算负载。每一个如前述的单元的选择性移动,新增增量计算负载于累计计算负载。另一个例子的成本为根据密度。在一般的情况下,相对于水平方向上,分散在水平方向上的多个毗邻单元能减少修改布局图的密度。然而,在一些情况下,移动单元至新的非毗邻位置,会减少修改布局图的密度。
根据其他方法,暴力演算法(Brute force)是用以解决三个或多个单元违反CV的问题,也就是通过移动群组中每一个单元修改布局图(所有单元皆任意移动)。根据其他相较于所有单元的任意移动的方法,至少一些实施例中所述的选择性移动,能使修改布局图的变化较少,其中是利用新增较少的增量计算负载于累计计算负载,借以在计算负担方面具有较低的成本。相同地,根据其他相较于所有单元的任意移动的方法,至少一些实施例中所述的选择性移动,能使修改布局图的变化较少,其中是利用减少布局图的密度于较少的范围,并于减少密度方面具有较低的成本。
图1为根据本案至少一个实施例所绘示半导体装置100的方块图。
如图1所示,半导体装置100除了其他元件以外尚包含电路巨集(于此称为巨集,Macro)102。于一些实施例中,巨集102为SRAM巨集。或于一些实施例中,巨集102为其他非SRAM巨集的巨集。巨集102除了其他元件以外尚包含最小扩张单元区域104。用于最小扩张对应单元区域104的布局图的方法的例子,包含本案揭露的方法。
图2A–2C为根据本案一个或多个实施例对应的布局图200A–200C。
如图2A所示,布局图200A包含三个或多个单元的群组202A,且单元违反设计准则。为了简化说明,群组202A仅以三个单元204、206及208呈现。通常,群组202A包含多于三个单元。
在一些实施例中,布局图200A是相对于一个具有相互正交的X、Y及Z轴所组成的三维座标系统建构而成。于一些实施例中,X轴为水平且Y轴为垂直。因此,定义X-Y平面,能使布局图200A的层结构能大致上与其共平面。借此,布局图200A的层结构大致上叠置于平行Z轴的方向上。于一些实施例中,布局图的列大致上平行于X轴。
单元204、206及208设置于相同列。单元204设置于单元202及206之间,因此单元202毗邻单元204,且单元204毗邻单元206。
单元204、206及208包含对应的图案210、212及214。图案210、212及214代表着半导体装置中相异的结构,因而产生包含布局图200A的更大布局图。图案212大致上横跨单元206的整个宽度(在水平方向上),因此图案212自单元206的左边缘延伸至其右边缘。
图案210于水平方向上,自单元204的右边缘延伸至单元204的左边缘,并与其间隔一个相当的距离。如此一来,相对于水平方向上,图案210毗邻图案212。于一些实施例中,在水平方向上,图案210及图案212之间存有小间距。或于一些实施例中,图案210及图案212之间大致上并不存有间距。在布局图220A中,相对于水平方向上,图案210延伸超过单元204的中线(宽度的中线),但并未抵触于单元204的左边缘。或于某些实施例中,图案210水平地于单元204内延伸并与其相距不同的距离,借此以不同的宽度覆盖部分单元204。在一些实施例中,图案210大致上横跨单元204的整个宽度,因此图案210自单元204的左边缘延伸至其右边缘。
图案214于水平方向上,自单元208的左边缘延伸至单元208的左边缘,并与其间隔一个相当的距离。如此一来,相对于水平方向上,图案214毗邻图案212。于一些实施例中,在水平方向上,图案214及图案212之间存有小间距。或于一些实施例中,图案214及图案212之间大致上并不存有间距。在布局图220A中,相对于水平方向上,图案214延伸超过单元208的中线宽度,但并未抵触于单元208的右边缘。或于某些实施例中,图案214水平地于单元208内延伸并与其相距不同的距离,借此以不同的宽度覆盖部分单元208。在一些实施例中,图案214大致上横跨单元208的整个宽度,因此图案214自单元208的左边缘延伸至其右边缘。
相对于垂直方向上,图案212朝向单元206的内部设置,并具有高度(垂直方向上的距离)。前述的高度是指单元206总体高度的部分距离,借以使图案212能在垂直高度上覆盖部分单元206。相对于垂直方向,图案212的底部边缘并没有实质地地接近单元206的底端边缘。
于一些实施例中,图案212以不同的高度覆盖部分单元206。或于一些实施例中,图案212于垂直方向延伸,以至于能以较低的高度大致上覆盖部分单元206。在一些实施例中,图案212于垂直方向实质地地延伸至单元206的底端边缘。或在一些实施例中,图案212于垂直方向延伸,以至于能以较高的高度大致上覆盖部分单元206。在一些实施例中,图案212于垂直方向实质地地延伸至单元206的顶端边缘。
相对于垂直方向,图案210朝向单元204的内部设置,并具有高度(垂直方向上的距离)。前述的高度是指单元204总体高度的部分距离,借以使图案210能在垂直高度上覆盖部分单元204。相对于垂直方向,图案210的底部边缘并没有实质地地接近单元204的底端边缘。并且,相对于垂直方向,图案210的顶部边缘并没有实质地地接近单元204的顶端边缘。
于一些实施例中,图案210以不同的高度覆盖部分单元204。或于一些实施例中,图案210于垂直方向延伸,以至于能以较低的高度大致上覆盖部分单元204。在一些实施例中,图案210于垂直方向实质地地延伸至单元204的底端边缘。或在一些实施例中,图案210于垂直方向延伸,以至于能以较高的高度大致上覆盖部分单元204。在一些实施例中,图案210于垂直方向实质地地延伸至单元204的顶端边缘。
相对于垂直方向,图案214朝向单元208的内部设置,并具有高度(垂直方向上的距离)。前述的高度是指单元208总体高度的部分距离,借以使图案214能在垂直高度上覆盖部分单元208。相对于垂直方向,图案214的底部边缘并没有实质地地接近单元208的底端边缘。并且,相对于垂直方向,图案214的顶部边缘并没有实质地地接近单元208的顶端边缘。
于一些实施例中,图案214以不同的高度覆盖部分单元208。或于一些实施例中,图案214于垂直方向延伸,以至于能以较低的高度大致上覆盖部分单元208。在一些实施例中,图案214于垂直方向实质地地延伸至单元208的底端边缘。或在一些实施例中,图案214于垂直方向延伸,以至于能以较高的高度大致上覆盖部分单元208。在一些实施例中,图案214于垂直方向实质地地延伸至单元208的顶端边缘。
相对于垂直方向,图案210大致上与图案212的整体高度重叠。相同地,相对于垂直方向,图案214大致上与图案212的整体高度重叠。于此,图案210同时水平毗邻并垂直重叠于图案212,因而导致单元群组202A违反所对应的设计准则。根据图案214相对于图案210的水平毗邻及垂直重叠的设计组合,以及图案214相对于图案212的水平毗邻及垂直重叠的设计组合,设计准则属于一种为水平约束向量(HCV)的类型,并于后续进行更详细的讨论。
于一些实施例中,为了避免或破坏如图2A所示的布局202A中,因单元204、206及208的设置所产生的水平约束向量(HCV)违规,能在水平方向上移动单元208(及其中的图案214),并使的足以远离单元206(及其中的图案212)的右边缘,而不需要移动单元204(亦不需移动其中的图案210)。前述的单元208的移动,使得图案214及图案212之间之间隔增加,因而修改布局图200A,如图2B所示的布局202B。前述的移动是以在图2B中的箭头216(移动216)表示。通过移动至少一个(也就是单元208),但少于单元204、206及208的总数量,移动216能避免或破坏水平约束向量(HCV)违规,并同时能将基于单元204、206及208的设置所消耗的有效面积,进行最小化扩张。
或于一些实施例中,为了避免或破坏如图2A所示的布局202A中,因单元204、206及208的设置所产生的水平约束向量(HCV)违规,能在水平方向上移动单元204(及其中的图案210),并使的足以远离单元206(及其中的图案212)的左边缘,而不需要移动单元208(亦不需移动其中的图案214)。前述的单元204的移动,使得图案210及图案212之间之间隔增加,因而修改布局图200A,如图2C所示的布局图200C。前述的移动是以在图2C中的箭头218(移动218)表示。通过移动至少一个(也就是单元204),但少于单元204、206及208的总数量,移动218能避免或破坏水平约束向量(HCV)违规,并同时能将基于单元204、206及208的设置所消耗的有效面积,进行最小化扩张。
或者根据其他的方法,为了避免或破坏如图2A所示的布局202A中,因单元204、206及208的设置所产生的水平约束向量(HCV)违规,能在水平方向上同时移动单元204及单元208(及其中各自对应的图案210与图案214),并使的足以远离单元206(及其中的图案212)的左边缘及右边缘。即使前述的其他的方法能可能避免或破坏水平约束向量(HCV)违规,该方法依然要将基于单元204、206及208的设置所消耗的有效面积,进行不必要的扩张,且于包含根据该方法所修改的布局图的布局中,不必要地减少了半导体装置的密度,其中的半导体装置是根据前述的布局而制成的半导体装置。图2B中的移动216或图2C中的移动218所达到的功效,并不仅能避免或破坏水平约束向量(HCV)违规,更能基于单元204、206及208的设置所消耗的有效面积进行最小化地扩张。借此,包含相对应的布局图200B或布局图200C的较大布局中,能避免不必要地减少半导体装置的密度,且其是根据该布局而制成的半导体装置。
图2D–2F为根据本案一个或多个实施例对应的布局图200D–200F。
在某些方面,图2D–2F相似于对应的图2A–2C。据此,为了简短说明,以下的讨论会着重于相对于图2A–2C,其与图2D–2F之间的差异。
在图2D中,布局图200D包含三个或多个单元的群组222D,且单元违反设计准则。为了简化说明,群组222D仅以三个单元224、226及228呈现。通常,群组222D包含多于三个单元。
单元224及单元226设置于二个大致上相邻列中的其中第一者。单元228设置于二个大致上相邻列中的其中第二者。单元224的右边缘毗邻单元226的左边缘。单元224底边缘的部分毗邻单元228顶边缘的第一部分。单元226底边缘的部分毗邻单元228顶边缘的第二部分。
单元224、226及228包含对应的图案232、234及236。图案232、234及236代表着半导体装置中相异的结构,因而产生包含布局图200D的更大布局图。相对于水平方向上,单元224及单元226分别所毗邻的右边缘及左边缘,大致上对齐于单元228的中线。其中单元228的左边缘大致上对齐单元224的中线,单元228的右边缘大致上对齐单元226的中线。
相对于垂直方向上,图案236的顶部边缘实质地地接近单元228的顶端边缘。图案236具有高度(垂直方向上的距离)。前述的高度是指单元228总体高度的部分距离,借以使图案236能在垂直高度上覆盖顶部部分单元228。相对于垂直方向,图案236的底部边缘并没有实质地接近单元228的底端边缘。并且,相对于垂直方向,图案236的底部边缘碰触于单元228的中心区域。于一些实施例中,图案236于垂直方向延伸,以至于能以不同的高度覆盖部分单228。或于一些实施例中,图案236于垂直方向上实质地延伸至单元228的底端边缘。
相对于垂直方向,图案232的底部边缘实质地地接近单元224的底端边缘。借此,相对于垂直方向,图案232毗邻图案236的第一部分。图案232具有高度(垂直方向上的距离)。前述的高度是指单元224总体高度的部分距离,借以使图案232能在垂直高度上覆盖较低部分单元224。并且,相对于垂直方向,图案232的顶部边缘并没有实质地地接近单元224的顶端边缘。相对于垂直方向,图案232的顶部边缘些微延伸至单元224的中心区域。或于一些实施例中,图案232以不同的垂直高度覆盖部分单元224。于一些实施例中,图案232于垂直方向延伸,以大致上延伸至于单元224的中心区域。或于一些实施例中,图案232于垂直方向延伸,以大致上延伸至于单元224的顶端边缘。
相对于垂直方向上,图案234的底部边缘实质地地接近单元226的底端边缘。借此,相对于垂直方向上,图案234毗邻图案236的第二部分。图案236具有高度(垂直方向上的距离)。前述的高度是指单元226总体高度的部分距离,借以使图案234能在垂直高度上覆盖较低部分单元226。并且,相对于垂直方向,图案234的顶部边缘并没有实质地地接近单元226的顶端边缘。相对于垂直方向,图案234的顶部边缘些微延伸至单元226的中心区域。或于一些实施例中,图案234以不同的垂直高度覆盖部分单元226。于一些实施例中,图案234于垂直方向延伸,以大致上延伸至于单元226的中心区域。或于一些实施例中,图案234于垂直方向延伸,以大致上延伸至于单元226的顶端边缘。
相对于水平方向,图案236的左部边缘并没有实质地地接近单元228的左端边缘,并且图案236的右部边缘并没有实质地地接近单元228的右端边缘。然而,图案236大致上横跨单元228的大多数宽度(在水平方向上),因此图案236覆盖单元228的大部分的宽度。或于一些实施例中,图案236的左部边缘实质地地接近单元228的左端边缘。于一些实施例中,图案236的右部边缘实质地地接近单元228的右端边缘。
相对于水平方向上,图案232自单元224的右边缘朝向单元224的左边缘延伸,但并未延伸超越单元224的中线宽度。图案232延伸超过单元224的中线,但并未抵触于单元224的左边缘。或于某些实施例中,图案232水平地于单元224内延伸并与其相距不同的距离,借此以不同的宽度覆盖部分单元224。在一些实施例中,图案232大致上横跨单元224的整个宽度,因此图案232自单元224的右边缘延伸至其左边缘。
相对于水平方向上,图案234自单元226的左边缘朝向单元226的右边缘延伸,但并未延伸超越单元226的中线宽度。图案234延伸超过单元226的中线,但并未抵触于单元226的右边缘。或于某些实施例中,图案234水平地于单元226内延伸并与其相距不同的距离,借此以不同的宽度覆盖部分单元226。在一些实施例中,图案234大致上横跨单元226的整个宽度,因此图案234自单元226的左边缘延伸至其右边缘。
相对于垂直方向上,图案236部分的底部边缘实质地地接近单元228部分的顶端边缘。图案236具有高度(垂直方向上的距离)。前述的高度是指单元228总体高度的部分距离,借以使图案236能在垂直高度上覆盖顶部部分单元228。相对于垂直方向,图案236的底部边缘并没有实质地地接近单元228的底端边缘。并且,相对于垂直方向,图案236的底部边缘碰触于单元228的中心区域。或于一些实施例中,图案236以不同的垂直高度覆盖部分单元228。于一些实施例中,图案236于垂直方向延伸,以大致上延伸至于单元228的底端边缘。
相对于水平方向,图案236的左部边缘并没有实质地地接近单元228的左端边缘,并且图案236的右部边缘并没有实质地地接近单元228的右端边缘。然而,图案236大致上横跨单元228的大多数宽度(在水平方向上),因此图案236覆盖单元228的大部分的宽度。或于一些实施例中,图案236的左部边缘实质地地接近单元228的左端边缘。于一些实施例中,图案236的右部边缘实质地地接近单元228的右端边缘。
相对于水平方向,图案236大致上与图案232的整体宽度重叠。相同地,相对于水平方向,图案236大致上与图案234的整体宽度重叠。图案236相对于图案232以及图案236相对于图案234的垂直毗邻及水平重叠的设计组合,导致单元群组222D违反所对应的设计准则。根据图案236相对于图案232以及图案236相对于图案234的垂直毗邻及水平重叠的设计组合,设计准则属于一种为垂直约束向量(VCV)的类型,并于后续进行更详细的讨论。
于一些实施例中,为了避免或破坏如图2D所示的布局220D中,因单元224、226及228的设置所产生的垂直约束向量(VCV)违规,能在水平方向上移动单元226(及其中的图案234),并使的足以远离单元224(及其中的图案232)的右边缘,而不需要移动单元228(亦不需移动其中的图案236),也不需要移动单元224(亦不需移动其中的图案232)。前述的单元226的移动(及其中的图案234)至少减少了(若其未完全消除的话)图案234及图案236之间的重叠部分。不需移动单元228(亦不需移动其中的图案236),及不需移动单元224(及其中的图案232),则保留图案234及图案236之间的水平重叠间距。于此,前述的单元226的移动,使得图案234及图案232之间之间隔增加,因而修改布局图200D,如图2E所示的布局220E。前述的移动是以在图2E中的箭头237(移动237)表示。通过移动至少一个(也就是单元226),但少于单元224、226及228的总数量,移动237能避免或破坏垂直约束向量(VCV)违规,并同时能将基于单元224、226及228的设置所消耗的有效面积,进行最小化扩张。
或于一些实施例中,为了避免或破坏如图2D所示的布局220D中,因单元22 4、226及228的设置所产生的垂直约束向量(VCV)违规,能在水平方向上移动单元224(及其中的图案232),并使的足以远离单元226(及其中的图案234)的左边缘,而不需要移动单元228(亦不需移动其中的图案236),也不需要移动单元226(亦不需移动其中的图案234)。前述的单元224的移动(及其中的图案232)至少减少了(若其未完全消除的话)图案232及图案236之间的重叠部分。不需移动单元228(亦不需移动其中的图案236),及不需移动单元224(及其中的图案232),则保留图案234及图案236之间的水平重叠间距。于此,前述的单元224的移动使得图案232及图案234之间之间隔增加,因而修改布局图200D,如图2F所示的布局220F。前述的移动是以在图2F中的箭头238(移动238)表示。通过移动至少一个(也就是单元224),但少于单元224、226及228的总数量,移动238能避免或破坏垂直约束向量(VCV)违规,并同时能将基于单元224、226及228的设置所消耗的有效面积,进行最小化扩张。
或者根据其他的方法,为了避免或破坏如图2D所示的布局220D中,因单元224、226及228的设置所产生的垂直约束向量(VCV)违规,能在水平方向上同时移动单元224及单元226(及其中各自对应的图案232与图案234),并使的足以远离单元228(及其中的图案236)的中线宽度。因此,借以减少图案232及图案236之间的重叠部分,以及减少图案234及图案236之间的重叠部分,若其前述的重叠部分未完全消除的话。即使前述的其他的方法能可能避免或破坏垂直约束向量(VCV)违规,该方法依然要将基于单元224、226及228的设置所消耗的有效面积,进行不必要的扩张,且于包含根据该方法所修改的布局图的布局中,不必要地减少了半导体装置的密度,其中的半导体装置是根据前述的布局而制成的半导体装置。相反地,图2E中的移动237或图2F中的移动238所达到的功效,并不仅能避免或破坏垂直约束向量(VCV)违规,更能基于单元224、226及228的设置所消耗的有效面积进行最小化地扩张。借此,包含相对应的布局图220E或布局图220F的较大布局中,能避免不必要地减少半导体装置的密度,且其是根据该布局而制成的半导体装置。
在单元内移动一个图案而未移动整个单元的技巧或方法的情形下,,前述的移动能被描述为单元的内部(intra-cell)移动。相反地,图2B中的每一个移动216及图2C中的每一个移动218,则是描述为单元外部(Extra-cell)移动。于某些实施例中,每一个单元204、206及208为标准单元。相对于标准单元,单元外部移动的好处是其是为移动单元的标准化特征。
图2B中的每一个移动216及图2C中的每一个移动218,其移动皆是通过以下所揭露的一种或多种方法所决定(请参阅下列说明)。在某些实施例中,该方法使用特定的文法,用以表示所对应的水平约束向量(HCV),请参阅图3A,以及垂直约束向量(VCV),请参阅图4A。或于某些实施例中,该方法使用关于布局图的几何信息,且布局图以一种数据结构储存。于此,数据结构是指群组单元描述符(Grouped cells descriptors,GCDs),请参阅图5A-5B。
图2G为根据本案一个或多个实施例对应的布局图200G。
在某些方面,图2G的布局图200G为图2A的布局图200A的更详细版本,或于一些方面,则为较不详细的版本。据此,为了简短说明,以下的讨论会着重于相对于图2A,其与图2G之间的差异。
图2G的布局图200G包含三个或多个单元的群组202G,且单元违反设计准则的其中一种类型,于此是指违反水平约束向量(HCV)。为了精简说明,群组202G仅以三个单元204、206及208呈现。通常,群组202G包含多于三个单元。在一些实施例中,布局图200G是相对于一个三维座标系统建构而成。其中三维座标系统相似或相同于图2A所述者。
单元204具有顶边缘240_T、底边缘240_B、左边缘240-_L以及右边缘240_R。相同地,单元206具有顶边缘242_T、底边缘242_B、左边缘242_L以及右边缘242_R。单元208具有顶边缘244_T、底边缘244_B、左边缘244_L以及右边缘244_R。
关于约束向量违规(CV)文法及群组单元描述符(GCD),以下提供一种实施例用以实现前述的状况。其中假设布局图200G中,每一个单元204及208为或运算子单元(OR单元)且每一个单元206,为全加法器运算子单元(Full adder,FA单元)。或于某些实施例中,单元204及/或208为对应于OR单元的其他单元,且/或单元206为对应于FA单元的其他单元。
更具体地,图案212左端毗邻图案210右端,且图案212右端毗邻图案214左端。图案210、212及214的左或右端表示为大致上垂直的边缘。如上所述,水平约束向量(HCV)是根据图案间具水平毗邻及垂直重叠。据此,图案212及210毗邻而形成垂直边缘对(Verticaledge-pair,VEP),也就是指单元204(OR单元)及单元206(FA单元)所形成的垂直边缘对(VEP),表示为VEP(OR_204,FA_206),又于布局图200G中称为元素257(1),或表示为VEP257(1)。相同地,图案212及214毗邻而形成垂直边缘对(VEP),也就是指单元单元206(FA单元)及208(OR单元)所形成的垂直边缘对(VEP),表示为VEP(FA_206,OR_204),又于布局图200G中称为元素257(2),或表示为VEP257(2)。
于布局图200G中,图案212左端及图案210右端所大致上垂直的边缘表示为VEP257(1)的所对应的成员252及成员250。图案212右端及图案210左端所大致上垂直的边缘表示为VEP 257(2)的所对应的成员254及成员256。
相对于水平方向,VEP 257(1)中,成员252及成员250间存有实际间距251。如上所述,对于群组202G中,水平约束向量(HCV)对应于实际间距251会具有最小间距。实际间距251、253或其他未示的间距,在电路设计中为独立的位置,并储存于其所对应的电路设计数据库中,包含如图13所示的记忆体1304(请参阅后续说明)。对应于群组单元描述符(GCD)500A的水平约束向量(HCV)文法300(如下说明),及其垂直约束向量(VCV)文法400(如下说明),皆于电路设计中为非独立的。于某些实施例中,在单元库为可用时,GCD 500A,HCV文法300及VCV文法400可被定义,并能在不同的电路设计中重复使用。举例来说,在单元库被设计以包含AND标准单元以及OR标准单元,且在AND标准单元以及OR标准单元之间的所需空间被建立时,GCD 500A可被定义。
由于单元204及单元206设置于相同列,单元204的右边缘240_R完全与单元206的左边缘242_L重叠。据此,如图所示,VEP 257(1)的成员250、252大致上沿着其所对应的右边缘240_R及左边缘242_L延伸。相同地,由于单元206及单元208设置于相同列,单元206的右边缘242_R大致上完全与单元208的左边缘244_L重叠。据此,如图所示,VEP 257(2)的成员254、256大致上沿着其所对应的右边缘242_R及左边缘244_L延伸。
图2H为根据本案一个或多个实施例对应的布局图200H。
在某些方面,图2H的布局图200G为图2D的布局图220D的更详细版本,或于一些方面,则为较不详细的版本。据此,为了简短说明,以下的讨论会着重于图2H,其相对于图2D的差异。
图2H的布局图200G包含三个或多个单元的群组222H,且单元违反设计准则的其中一种类型,于此是指违反垂直约束向量(VCV)。为了精简说明,群组222H仅以三个单元224、226及228呈现。通常,群组222H包含多于三个单元。在一些实施例中,布局图200G是相对于一个三维座标系统建构而成。其中三维座标系统相似或相同于图2A所述者。
单元224具有顶边缘260_T、底边缘260_B、左边缘260L以及右边缘260_R。相同地,单元226具有顶边缘262_T、底边缘262_B、左边缘262_L以及右边缘262_R。单元228具有顶边缘264_T、底边缘264_B、左边缘264_L以及右边缘264_R。
关于约束向量违规(CV)文法及群组单元描述符(GCD),以下提供一种实施例用以实现前述的状况。其中假设布局图200G中,每一个单元224、226及228为或运算子单元(OR单元)。或于某些实施例中,单元224、226及/或228为对应于OR单元的其他单元。
为了精简说明,布局图200G并没有显示图案232、234或236,或其他相似的图案。然而,如上所述,单元226的图案234延伸至单元226的左边缘262_L,且单元224的图案232延伸至单元224的右边缘260_R。借此,图案234及图案232为水平地毗邻。并且,单元224的图案232延伸至单元224的底边缘260_B,且单元228的图案236延伸至单元228的顶边缘264_T。借此,图案232及图案236为垂直地毗邻。单元226的图案234延伸至单元226的底边缘262_B,且单元228的图案236延伸至单元228的顶边缘264_T。借此,图案234及图案236为垂直地毗邻。
更具体地,图案234左端毗邻图案232右端,且图案232底端毗邻图案236顶端。并且,图案234底端毗邻图案236顶端。
图案232及234的左或右端表示为大致上垂直的边缘。图案232、234及236的顶或底端表示为大致上水平的边缘。如上所述,垂直约束向量(VCV)是根据图案间具垂直毗邻及水平重叠。据此,图案232及236毗邻而形成水平边缘对(Horizontal edge-pair,HEP),也就是指单元224(OR单元)及单元228(OR单元)所形成的水平边缘对(HEP),表示为HEP(OR_224,OR_228),又于布局图200G中称为元素277(1),或表示为HEP 277(1)。相同地,图案234及236毗邻而形成水平边缘对(HEP),也就是指单元单元226(OR单元)及228(OR单元)所形成的水平边缘对(HEP),表示为HEP(OR_226,OR_228),又于布局图200G中称为元素277(2),或表示为HEP 277(2)。
于布局图200G中,图案232底端及图案236顶端所大致上水平的边缘表示为HEP277(1)的所对应的成员270及成员272。图案234底端及图案236顶端所大致上水平的边缘表示为HEP 277(2)的所对应的成员274及成员276。
相对于水平方向,HEP 277(1)的左侧及HEP 277(2)的右侧之间存有实际间距273(1)。HEP 277(1)右侧对应于其右端的成员270及272,且HEP 277(2)左侧对应于其左端的成员274及276。综上,HEP 277(1)及HEP 277(2)表示为一个成对的水平边缘对(HEP),又称为成对水平边缘对(a pair of HEPs,PrHEP)279(1)。并如上所述,群组222H中,垂直约束向量(VCV)对应于实际间距273(1)会具有最小间距。实际间距273(1)或其他未示的间距,在电路设计中为独立的位置,并储存于其所对应的电路设计数据库中,包含如图13所示的记忆体1304(请参阅后续说明)。PrHEP 279(1)中线的宽度大致上对齐于单元228的中线宽度。
由于单元224及单元228设置于不同列,但单元224位在第一列275(1),且单元228位在第二列275(2)。其中第二列275(2)于第一列275(1)的下方并与的相邻,因此,单元224的底边缘260_B不完全与单元228的顶边缘264_T重叠。据此,如图所示,HEP 277(1)的成员270、272的宽度表示为,其对应的图案232、236的部分重叠宽度。相同地,由于单元226及单元228设置于不同列,但单元226位在第一列275(1),且单元228位在第二列275(2)。因此,单元226的底边缘262_B不完全与单元228的顶边缘264_T重叠。据此,如图所示,HEP 277(2)的成员274、276的宽度表示为,其对应的图案234、236的部分重叠宽度。
图2I为根据本案一个或多个实施例对应的布局图200I。
图2I的布局图200I为图2H的布局图200G的变异实施例。据此,为了简短说明,以下的讨论会着重于相对于图2H,其与图2I之间的差异。
图2I的布局图200I包含三个或多个单元的群组222I,且单元亦违反设计准则的其中一种类型,于此是指违反垂直约束向量(VCV)。为了精简说明,群组222I仅以四个单元224、226’、228’及229呈现,如图2I所示。单元208新增于第二列275(2),因此单元229的左边缘266_L毗邻单元228’的右边缘264’_R。通常,群组222I包含多于四个单元。在一些实施例中,布局图200I是相对于一个三维座标系统建构而成。其中三维座标系统相似或相同于图2A所述者。
关于约束向量违规(CV)文法及群组单元描述符(GCD),以下提供一种实施例用以实现前述的状况。其中假设布局图200I中,每一个单元224、226’及228’为或运算子单元(OR单元),且每一个单元229为加法运算单元(AND单元)。或于某些实施例中,单元224、226’及/或228’为对应于OR单元的其他单元,且单元229为对应于AND单元的其他单元。
布局图200I中单元206’的宽度,相较于200H的单元206宽度是为增加的。并于某些实施例中,单元224具有一个单元单位(Cell-unit,CU)的宽度,其中单元单位(CU)相关于半导体制程,且半导体装置是由半导体制程根据包含布局图200I的更大布局图而制成的。在一些实施例中,单元226’具有b个单元单位(CU)的宽度,其中b为正数且b大于或等于2。或于一些实施例中,单元226’具有3个单元单位(CU)的宽度。在某些实施例中,单元229的宽度大致上与单元226’相同。
布局图200I中,并相对于图2H,HEP 277(2)’移位至HEP 277(2)的较右的处。因此,成员276’对应于单元229中的图案(图中未示)。并且,HEP 277(3)新增于布局图200I中,并位于HEP 277(2)’的右边。HEP 277(3)的成员278(1)、278(2)对应于单元226’、229中的图案(图中未示)。如此一来,HEP 277(2)’及HEP 277(3)表示为一对的成对水平边缘对(PrHEP)279(2)。并如前述的说明,群组222I中,垂直约束向量(VCV)对应于实际间距273(1)’会具有第一最小间距,并对应于实际间距273(2)’会具有第二最小间距。
由于单元224及单元228’设置于不同列,但单元224位在第一列275(1),且单元228’位在第二列275(2)。因此,单元224的底边缘260_B不完全与单元228的顶边缘264_T重叠。由于单元226’及单元229设置于不同列,但单元226’位在第一列275(1),且单元229位在第二列275(2)。因此,单元226’的底边缘262_B’不完全与单元229的顶边缘266_T重叠。
据此,如图所示,HEP 277(1)的成员270、272的宽度表示为,其对应的如图2D中图案232的部分重叠宽度以及单元228’的图案(图中未示)。相同地,HEP 277(2)’的成员274’、276’的宽度表示为,其对应的单元226’、229的第一及第二图案(图中未示)的部分重叠宽度。同样地,HEP 277(3)的成员278(1)、278(2)的宽度表示为,其对应的单元226’、229的第三及第四图案(图中未示)的部分重叠宽度。
图2J为根据本案一个或多个实施例对应的布局图200J。
图2J的布局图200J为图2H的布局图200H的变异实施例。据此,为了简短说明,以下的讨论会着重于相对于图2H,其与图2J之间的差异。
相较于布局图200I,垂直边缘对(VEP)257(3)新增于布局图200J。其中VEP 257(3)是指VEP(OR_224’,OR_226”),并具有成员278(3)、278(4)。其中成员278(3)对应于单元224’,且成员278(4)对应于单元226”。相对于水平方向,成员278(3)及成员278(4)之间存有实际间距259。并如前述的说明,群组222H中,水平约束向量(HCV)对应于实际间距259会具有最小间距。
如前述的说明,单元(如图2B所对应的单元208、图2E的单元226或其他相似者)的移动(如图2B的移动216、图2E的237或其他相似者)及其群组,为一种移动的举例,且其是通过以下所揭露的一种或多种方法所决定(请参阅下列说明)。在某些实施例中,该方法使用特定的文法,用以表示所对应的水平约束向量(HCV),请参阅图3A。
图3A为根据本案一个或多个实施例所绘示的文法300,用以表示所对应的水平约束向量(HCV),即HCV文法300(HCV grammar 300)。
HCV 302包含至少一个条件(Condition)304。若HCV 302包含两种或两种以上的条件304,条件304彼此逻辑连结。在某些实施例中,每一个HCV 302的所有条件304由逻辑连结运算子(AND)逻辑连结。或于某些实施例中,每一个HCV 302的所有条件304由逻辑连结运算子(AND)的其他运算子进行逻辑连结。
在某些实施例中,HCV 302的每一个条件304包含以下元件:方向识别符(direction identifier(dir))306、左侧类型识别符(left-side type identifier(TypeID_L))308、右侧识别符(right-side identifier(TypeID_R))310、关系运算子(relational operator)312以及最小间距(minimum gap(min_gap_i))314,其中i为非负整数。在某些实施例中,每一个条件304为文字字串。其中元件306–314对应于文字字串及条件304,是由图3A中由左至右的序连元件306–314所形成。在某些实施例中,据此,包含至少第一个条件304及第二个条件304的每一个HCV 302,为以下序列(Sequence)的序连(Concatenation):第一条件304、表示为逻辑连结运算子的文字字串,如文字字串「及(and)」以及第二条件304。或于某些实施例中,每一个HCV 302为关系数据库中的纪录。于一些实施例中,每一个条件304为表示HCV 302的纪录中的一个领域。于一些实施例中,元件306-314为表示条件304的领域中的多个领域。
对于每一个HCV 302,dir 306为字母「H」,表示水平的意。TypeID_L 308及TypeID_R 310对应于一个VEP的成员,也就是VEP(TypeID_L 308,TypeID_R 310)。min_gap_i 314为对应于VEP(TypeID_L 308,TypeID_R 310)的最小间距的值,因此min_gap_i 314是成员之间、TypeID_L 308与TypeID_R310及VEP(TypeID_L 308,TypeID_R 310)间可允许的最小间距。
关系运算子312能使值为「小于」(l)、「小于或等于」(le)、「等于」(e)、「大于」(g)或「大于或等于」(ge)。关系运算子312指示关于min_gap_i 314,与TypeID_L 308与TypeID_R 310之间的实际间距。也就是说,实际间距会「小于」(l)min_gap_i 314、实际间距会「小于或等于」(le)min_gap_i 314、实际间距会「等于」(e)min_gap_i 314、实际间距会「大于」(g)min_gap_i 314或实际间距会「大于或等于」(ge)min_gap_i 314。
第3B、3C及3D图为根据一个或多个实施例所绘示,并对应于水平约束向量(HCV)302B、302B’的更不详细的版本或/及更详细的版本。
水平约束向量(HCV)302B、302B’对应于图2G的布局图200G。
为了更进一步说明图2G及第3B-3D图的内容,假设min_gap_1 314为3.2,且min_gap_2 314(2)为2.5。其中min_gap_1 314及min_gap_2 314(2)为不具单位的长度值。于某些实施例中,3.2及2.5的数值表示为复数个单元间距(Unit-gap)的距离,且是相关于半导体制程,且半导体装置是由半导体制程根据包含布局图200I的更大布局图而制成的。第3B-3D图所示的min_gap_1314及min_gap_2 314(2)的值,储存于所对应的单元描述符(GCD),请参阅第5C-5D图。
图3B所示的水平约束向量(HCV)302B包含第一条件304(1),且第一条件304(1)是由逻辑连结运算子(AND)连结于第二条件304(2)。其中第一条件304(1)关联于VEP 316(1),且第二条件304(2)关联于VEP 316(2)。
图3B所示的第一条件304(1)包含:dir 306表示为「H」(如图3C所示的306(1));VEP316(1)的TypeID_L 308表示为OR_L,用以指示单元类型(如图3C所示的308(1));VEP 316(1)的TypeID_R 310表示为OR_R,用以指示单元类型(如图3C所示的310(1));关系运算子312表示为「小于」(l)(如图3C所示的312(1));min_gap_i 314表示为3.2(如图3C所示的314(1))。
图3B所示的第二条件304(2)包含:dir 306表示为「H」(如图3C所示的306(2));VEP316(2)的TypeID_L 308表示为OR_L,用以指示单元类型(如图3C所示的308(2));VEP 316(2)的TypeID_R 310表示为OR_R,用以指示单元类型(如图3C所示的310(2));关系运算子312表示为「小于」(l)(如图3C所示的312(2));min_gap_i 314表示为2.5(如图3C所示的314(2))。
如图3C–3D所示,字串「OR_L」表示为OR单元的右边缘对应于VEP成员的左侧。字串「OR_R」表示为OR单元的左边缘对应于VEP成员的右侧。字串「FA_L」表示为FA单元的右边缘对应于VEP成员的左侧。对于第一条件304(1):VEP 316(1)的TypeID_L 308显示为成员250,且VEP 316(1)的TypeID_R 310显示为成员252。对于第二条件304(2):VEP 316(2)的TypeID_L308显示为成员254,且VEP 316(2)的TypeID_R 310显示为成员256。
图3E为根据一个或多个实施例所绘示的水平约束向量(HCV)302E。
HCV 302E对应于图2J的布局图200J中,单元的群组222J的一例子。为了更进一步说明图2J及图3E的内容,假设min_gap_1 314为3.1。图3E所示的min_gap_1 314的值,储存于所对应的单元描述符(GCD),请参阅图5F。
图3E所示的水平约束向量(HCV)302E包含一个条件304。图3E所示的HCV 302E的一个条件304(1)包含:dir 306表示为「H」;TypeID_L 308表示为OR_L,用以指示单元类型;TypeID_R 310表示为OR_R,用以指示单元类型;关系运算子312表示为「小于」(l);min_gap_i 314表示为3.1。
如前述的说明,单元(如图2B所对应的单元208、图2E的单元226或其他相似者)的移动(如图2B的移动216、图2E的237或其他相似者)及其群组,为一种移动的举例,且其是通过以下所揭露的一种或多种方法所决定(请参阅下列说明)。在某些实施例中,该方法使用特定的文法,用以表示所对应的垂直约束向量(VCV),请参阅图4A。
图4A为根据本案一个或多个实施例所绘示的文法400,用以表示所对应的垂直约束向量(VCV),即VCV文法400(VCV grammar 400)。
VCV 422包含至少一个条件(Condition)424。若VCV 422包含两种或两种以上的条件424,条件424彼此逻辑连结。在某些实施例中,每一个VCV 422的所有条件424由逻辑连结运算子(AND)逻辑连结。或于某些实施例中,每一个VCV 422的所有条件424由逻辑连结运算子(AND)的其他运算子进行逻辑连结。
在某些实施例中,VCV 422的每一个条件424包含以下元件:方向识别符(direction identifier(dir))426、顶侧类型识别符(top-side type identifier(TypeID_T))428、底侧识别符(bottom-side identifier(TypeID_B))430、关系运算子(relational operator)432、最小间距(minimum gap(min_gap_j-1))434、逻辑连结运算子435、方向识别符(direction identifier(dir))436、顶侧类型识别符(TypeID_T)438、底侧识别符(TypeID_B)440、逻辑连结运算子442以及最小间距(min_gap_j)444,其中j为非负整数。在某些实施例中,每一个逻辑连结运算子435可为其他非逻辑连结运算子(AND)者。在某些实施例中,每一个条件424为文字字串。其中元件426–444对应于文字字串及条件424,是由图4A中由左至右的序连元件426–444所形成。在某些实施例中,据此,包含至少第一个条件424及第二个条件424的每一个VCV 422,为以下序列(Sequence)的序连(Concatenation):第一条件424、表示为逻辑连结运算子的文字字串,如文字字串「及(and)」以及第二条件424。或于某些实施例中,每一个VCV422为关系数据库中的纪录。于一些实施例中,每一个条件424为表示VCV 422的纪录中的一个领域。于一些实施例中,元件426–444为表示条件424的领域中的多个领域。
对于每一个VCV 422,dir 426为字母「V」,表示垂直的意。如前述所述,每一个HCV关联于至少一个对的水平边缘对(HEPs)称之为PrHEP。TypeID_T428、TypeID_B 430对应于PrHEP中第一HEP的成员,且TypeID_L 438及TypeID_R 440对应于PrHEP中第二HEP的成员。
PrHEP中第一HEP为HEP(TypeID_T 428,TypeID_B 430)。PrHEP中第二HEP为HEP(TypeID_T 438,TypeID_B 440)。由于HCV关联于至少一个成对的水平边缘对(PrHEP),min_gap_j 444为对应于PrHEP的最小间距的值,因此min_gap_j 444是PrHEP中第一HEP及PrHEP中第二HEP间可允许的最小间距。
关系运算子432、442能使值为「小于」(l)、「小于或等于」(le)、「等于」(e)、「大于」(g)或「大于或等于」(ge)。关系运算子432、442指示关于PrHEP中第一HEP及PrHEP中第二HEP之间的实际间距。也就是说,实际间距会「小于」(l)min_gap_j 444、实际间距会「小于或等于」(le)min_gap_j 444、实际间距会「等于」(e)min_gap_j 444、实际间距会「大于」(g)min_gap_j 444或实际间距会「大于或等于」(ge)min_gap_j 444。
举例来说,若VCV 422包含二个条件422如第4E–4F所示,则HEP(TypeID_T 428,TypeID_B 430)包含两者条件,即为第一条件中PrHEP的第二HEP,以及第二条件中PrHEP的第一HEP。
每一个关系运算子432及min_gap_j 444能使值为「不在乎」(Φ)。在关系运算子432包含于VCV 422的第一及第二条件422的一环境下,不会有包含HEP(TypeID_T 438,TypeID_B 440)的前置PrHEP。因此,于此情况下,每一个关系运算子432及min_gap_j 444皆没有意义,因而设定其值为「不在乎」(Φ)。或于一些情况下,min_gap_j 444的值被设定成复数个单元间距距离的非负数值,且关系运算子432为Φ以外的一个值。应理解为,min_gap_j 444及关系运算子432于该情况下没有意义。
图4B、图4C及图4D为根据一个或多个实施例所绘示,并对应于垂直约束向量(VCV)422B、422B’的更不详细的版本或/及更详细的版本。
垂直约束向量(VCV)422B、422B’对应于图2H的布局图200H的单元。
为了更进一步说明图2H及图4B-4D的内容,假设min_gap_j-1 434(第4C–4D图中显示为min_gap_1 434)为Φ,且min_gap_j 444(第4C–4D图中显示为min_gap_2 444)为2.5。其中min_gap_j-1 434及min_gap_j 444为不具单位的长度值。于某些实施例中,2.5的数值表示为复数个单元间距(Unit-gap)的距离,且是相关于半导体制程,且半导体装置是由半导体制程根据包含布局图200H的更大布局图而制成的。图4B-4D所示的min_gap_j-1 434及min_gap_j444的值,储存于所对应的单元描述符(GCD),请参阅图5E-5F。
图4B所示的垂直约束向量(VCV)422B包含一个条件424,且条件424关联于一个成对水平边缘对(PrHEP)279(1)。其中PrHEP 279(1)具有第一HEP277(1)及第二HEP 277(2)。图4B中的条件424包含:dir 426表示为「V」;第一HEP 277(1)的TypeID_T 428表示为OR_T,用以指示单元类型;第一HEP277(1)的TypeID_B 430表示为OR_B,用以指示单元类型;关系运算子432表示为「Φ」;min_gap_j-1 434表示为「Φ」;逻辑连结运算子表示为逻辑连结运算子(AND);dir 436表示为「V」;第二HEP 277(2)的TypeID_T 438表示为OR_T,用以指示单元类型;第二HEP 277(2)的TypeID_B 440表示为OR_B,用以指示单元类型;关系运算子442表示为「小于」(l)以及min_gap_j444表示为2.5。
如图4B所示,字串「OR_T」表示为OR单元的顶边缘对应于HEP成员的底侧。对于条件424:第一HEP 277(1)的TypeID_T 428显示为成员272;第一HEP 277(1)的TypeID_B 430显示为成员270;第二HEP 277(2)的TypeID_T438显示为成员276;以及第二HEP 277(2)的TypeID_B 440显示为成员274。
图4E–4F为根据一个或多个实施例所绘示,并对应于垂直约束向量(VCV)422E、422E’的更不详细的版本或/及更详细的版本。
垂直约束向量(VCV)422E、422E’对应于图2H的布局图200H的单元。为了更进一步说明图2J及图4E的内容,假设min_gap_j-1 414(显示为min_gap_1)为Φ;min_gap_j 444(显示为min_gap_2)为5.8,且min_gap_j+1(显示为min_gap_3)为7.0。其中第4E–4F图所示的min_gap_j-1 434、min_gap_j 444及min_gap_j+1的值,储存于所对应的单元描述符(GCD)(图中未示)。
图4E所示的垂直约束向量(VCV)422E包含一个第一条件424(1)及一个第二条件424(2)。第一条件424(1)关联于一个成对水平边缘对(PrHEP)279(1)’,且第二条件424(2)关联于PrHEP 279(2)。其中PrHEP 279(1)’具有第一HEP277(1)’及第二HEP 277(2)’;PrHEP279(2)具有第二HEP 277(2)’及第三HEP277(3)。
图4E中的第一条件424(1)包含:dir 426表示为「V」;第一HEP 277(1)’的TypeID_T428表示为OR_T,用以指示单元类型;第一HEP 277(1)’的TypeID_B 430表示为OR_B,用以指示单元类型;关系运算子432表示为「Φ」;min_gap_j-1 434表示为「Φ」;逻辑连结运算子435表示为逻辑连结运算子(AND);dir 436表示为「V」;第二HEP 277(2)’的TypeID_T 438表示为OR_T,用以指示单元类型;第二HEP 277(2)’的TypeID_B 440表示为OR_B,用以指示单元类型;关系运算子442表示为「小于」(l);min_gap_j 444表示为5.8;第二HEP 277(2)’的逻辑连结运算子及第三HEP 277(3)表示为逻辑连结运算子(AND);第三HEP 277(3)的TypeID_T表示为OR_T,用以指示单元类型;第三HEP 277(3)的TypeID_B表示为AND_B,用以指示单元类型;用于PrHEP 279(2)的关系运算子442表示为「小于」(l);以及用于PrHEP 279(2)的min_gap_j+1表示为7.0。
如图4E所示,字串「OR_T」表示为OR单元的顶边缘对应于HEP成员的底侧。字串「OR_B」表示为OR单元的底边缘对应于HEP成员的顶侧。字串「AND_B」表示为AND单元的底边缘对应于HEP成员的顶侧。
对于第一条件424(1):第一HEP 277(1)’的TypeID_T 428显示为成员272;第一HEP277(1)’的TypeID_B 430显示为成员270;第二HEP 277(2)’的TypeID_T 438显示为成员276;第二HEP 277(2)’的TypeID_B 440显示为成员274;第三HEP 277(3)的TypeID_T显示为成员278(2);以及第三HEP 277(3)的TypeID_B显示为成员278(1)。
如前述的说明,单元(如图2B所对应的单元208、图2E的单元226或其他相似者)的移动(如图2B的移动216、图2E的237或其他相似者)及其群组,为一种移动的举例,且其是通过以下所揭露的一种或多种方法所决定(请参阅下列说明)。在某些实施例中,该方法使用关于布局图的几何信息,且布局图以一种数据结构储存。于此,数据结构是指群组单元描述符(GCD),请参阅第5A-5B图。
图5A、图5B为根据一个或多个实施例所绘示,并对应于群组单元描述符(GCD)500A、500B的更不详细的版本或/及更详细的版本。
群组单元描述符(GCD)500B包含一个或多个几何信息的方块,且方块是关联于单元的所对应的群组。每一个方块关联于一种类型的单元,例如OR单元、AND单元、FA单元或其他相似者。于一些实施例中,每一个方块的起始即结束是分别对应于其中的宣告用语「BEGIN」及「END」。一些实施例中,宣告用语「BEGIN」附加一个名字,以变数Cell_Name表示,表示为对应方块所涉及的单元的类型。
每一个GCD 500B包含最多四列,其中关联于所对应的方块中的单元的设置。四列储存对应的右成员信息、左成员信息、顶成员信息及底成员信息。
储存右边缘信息的列包含:右边缘识别符(显示为「r」)501,表示单元的右边缘对应于VEP的左侧成员;列识别符(显示为「RowID」)503;约束识别符(显示为「ConstrID」)505;以及单元类型识别符(显示为「TypeID」)507。
储存左边缘信息的列包含:左边缘识别符(显示为「l」)511,表示单元的左边缘对应于VEP的右侧成员;列识别符(显示为「RowID」)513;约束识别符(显示为「ConstrID」)515;以及单元类型识别符(显示为「TypeID」)517。
储存顶边缘信息的列包含:顶边缘识别符(显示为「t」)521,表示单元的顶边缘对应于HEP的底侧成员;位置起始识别符(显示为「SiteFrom」)523;位置指向识别符(显示为「SiteTo」)525;约束识别符(显示为「ConstrID」)527;以及单元类型识别符(显示为「TypeID」)529。
储存底边缘信息的列包含:底边缘识别符(显示为「b」)531,表示单元的底边缘对应于HEP的顶侧成员;位置起始识别符(显示为「SiteFrom」)533;位置指向识别符(显示为「SiteTo」)535;约束识别符(显示为「ConstrID」)537;以及单元类型识别符(显示为「TypeID」)539。
图5C、图5D为根据一个或多个实施例所绘示,并对应于群组单元描述符(GCD)500C、500D的更不详细的版本或/及更详细的版本。
每一个GCD 500C及500D对应于图2G的布局图200G的单元的群组202G的一例。借此,每一个GCD 500C及500D包含名为「204_&_208」的方块,且方块对应于OR单元204及208,名为「206」的方块对应于FA单元206。
名为「204_&_208」的方块包含储存右边缘信息的列及储存左边缘信息的列。同样地,名为「206」的方块包含储存右边缘信息的列及储存左边缘信息的列。由于群组202G的单元204、206及208设置于相同列,其中能不具有水平边缘对(HEPs)。如此一来,群组202G不具成对水平边缘对(PrHEP),且GCD 500C及500D不包含储存顶边缘信息的列及储存底边缘信息的列。
群组202G中,OR单元204对应于VEP 257(1)的左侧成员250。据此,名为「204_&_208」的方块中,储存右边缘信息的列(于其他物件中)是指成员250。相同地,群组202G中,OR单元208对应于VEP 257(2)的右侧成员256。据此,名为「206」的方块中,储存左边缘信息的列(于其他物件中)是指成员256。
群组202G中,FA单元206对应于VEP 257(1)的右侧成员252及VEP 257(2)的左侧成员254。据此,名为「206」的方块中,储存右边缘信息的列(于其他物件中)是指成员254,且储存左边缘信息的列(于其他物件中)是指成员252。
图5E、图5F为根据一个或多个实施例所绘示,并对应于群组单元描述符(GCD)500E、500F的更不详细的版本或/及更详细的版本。
每一个GCD 500E、500F对应于图2H的布局图200H的单元的群组222H的一实施例。借此,每一个GCD 500E、500F包含名为「224_&_226_&_228」的方块,且方块对应于OR单元224、228及226。
名为「224_&_226_&_228」的方块包含储存顶边缘信息的列及储存底边缘信息的列。由于图2H的实施例中,群组222H中没有VEP,且GCD 500E、500F也没有含储存右边缘信息的列及储存左边缘信息的列。
群组222H中,OR单元228的顶侧部分对应于HEP 277(1)的底侧成员272,且OR单元228的顶侧部分对应于HEP 277(2)的底侧成员276。据此,名为「224_&_226_&_228」的方块中,储存顶边缘信息的列(于其他物件中)是指成员272、276。相同地,群组222H中,OR单元224的底侧部分对应于HEP 277(1)的顶侧成员270,且OR单元226的底侧部分对应于HEP 277(2)的顶侧成员274。据此,名为「224_&_226_&_228」的方块中,储存底边缘信息的列(于其他物件中)是指成员270、274。
图5D为根据一个或多个实施例所绘示,并对应于群组单元描述符(GCD)500G的一种数据结构类型。
GCD 500G对应于图2J的布局图200J的单元的群组222J的一实施例。借此,GCD500G包含名为「224'_&_226’_&_228’」的方块,且方块对应于OR单元224’、226’及228’。
由于群组222J包含VEP 257(3),名为「224'_&_226’_&_228’」的方块包含储存右边缘信息的列及储存左边缘信息的列。又因群组222J包含PrHEP279(1),名为「224'_&_226’_&_228’」的方块包含储存顶边缘信息的列及储存底边缘信息的列。
群组222J中,OR单元228’的顶侧部分对应于HEP 277(1)的底侧成员272,且OR单元228’的顶侧部分对应于HEP 277(2)的底侧成员276。据此,名为「224'_&_226’_&_228’」的方块中,储存顶边缘信息的列(于其他物件中)是指成员272、276。相同地,群组222J中,OR单元224’的顶侧部分对应于HEP 277(1)的底侧成员270,且OR单元226’的底侧部分对应于HEP277(2)的顶侧成员274。据此,名为「224'_&_226’_&_228’」的方块中,储存底边缘信息的列(于其他物件中)是指成员270、274。
群组222J中,OR单元224’的至少一个右侧部分对应于VEP 257(3)的左侧成员278(3),且OR单元‘226’的至少一个左侧部分对应于VEP 257(3)的右侧成员278(4)。据此,名为「224'_&_226’_&_228’」的方块中,储存右边缘信息的列(于其他物件中)是指成员278(3),且储存左边缘信息的列(于其他物件中)是指成员278(4)。
在某些实施例中,对一个给定的群组单元描述符(GCD)具有多个CV。或于一些实施例中,一个给定的GCD有一个CV。
假使一种情况是当一个给定的GCD仅有一个CV,其中CV(Constraint vector,约束向量)为水平或垂直的违规并具有二个或多个条件。如前述所述,通过逻辑连结运算子(AND)将二个或多个条件进行逻辑连结。通过逻辑连结条件,为了使所给定的CV违规,给定的CV的每一个条件皆必须违规。据此,透过避免(或称为破坏)其中一个条件的违规,给定的CV的违规能避免(破坏)。换言的,为了避免(破坏)给定的CV的违规,并不需要对每一个条件的违规进行避免(破坏)。
在某些实施例中,选择避免(破坏)给定CV违规的一个,或少于总个数的多个违规条件的实例。或于某些实施例中,仅选择避免(破坏)给定CV违规条件实例的其中一者。在一些实施例中,所选择避免(破坏)给定CV违规条件(即为目标条件)的实例,是根据所对应的最小间距及实际间距而决定。在一些实施例中,选择避免(破坏)给定CV违规条件的实例能根据其他方式决定。
在一些实施例中,所选择避免(破坏)给定CV违规的条件是指目标条件TCB,并根据下述条件而决定:给定CV的条件套组CND(1),...,CND(Q)中的所有元素,其中Q为整数且大于等于2。
使TCB为CND(i),且CND(i)给予最小值SHFT(i),其中SHFT为单元的图示,表示为水平移动(或位置移位)的价值(Merit),其中数学式如下
SHFT(i)=max(0,reqSPCND(i)-currSPCND(i)) (1)
其中{CND(1),...,CND(i),...,CND(Q)}为多个条件(CNDs)的套组,且条件(CNDs)是考量水平约束向量(Horizontal CV),每一个i及Q皆为正整数,且Q大于等于2。
其中TCB是「二个(水平及垂直)目标条件(水平及垂直)(targeted conditionboth(horizontal and vertical))」的缩写,且TCB是由CNDs中所选择的一者;
TCB∈of{CND(1),...,CND(Q)};
其中max(x,y)表示最大函数,于x=0及y=reqSPCND(i)-currSPCND(i)中所选择的最大值;x=0用以消除负值;
其中reqSP是「需要空间(required spacing)」的缩写,并表示最小间距,对应条件CND(i)的min_gap_i;以及
其中currSP是「目前空间(current spacing)」的缩写,并表示对应条件CND(i)的实际间距,此信息储存于对应的群组单元描述符(GCD)。
在方程式(1)中,假使一种情况是当一个给定的GCD仅有一个CV,其中为了避免(破坏)TCB违规的每一个CV的成本(cost per CV),其为对应的TCB的条件CND(i)的SHFT(i)的值。
以下为一个简单示例,示例(A)用以说明方程式(1)的用法。在示例(A)中,假设约束向量(CV_A)具有三个条件CND_A(1)、CND_A(2)及CND_A(3),其中:
CND_A(1)has reqSPCND_A(1)-currSPCND_A(1)
CND_A(2)has reqSPCND_A(2)-currSPCND_A(2)
CND_A(3)has reqSPCND_A(3)-currSPCND_A(3)
借此;
SHIFT(CND_A(1))=reqSPCND-A(1)-currSPCND_A(1)
SHIFT(CND_A(2))=reqSPCND-A(2)-currSPCND_A(2)
SHIFT(CND_A(3))=reqSPCND_A(3)-currSPCND_A(3)
于示例(A)中,更假设
SHIFT(CND_A(3))<SHIFT(CND_A(1))<SHIFT(CND_A(2))
于此,示例(A)中的CV_A、TCB_A为CND_A(3)。
在一些实施例中,如上所述,给定的群组单元描述符(GCD)具有多个CV,借此每一个CV的所避免(破坏)违规的成本,是指破坏成本(breaking cost,BC)。其中多个CV表示为套组{CV(1),...,CV(j),...,CV(P)},其中每一个j及P为正整数且P小鱼或等于2。更具体地,每一个CV(j)具有对应于TCB(j)的避免(破坏)违规的成本,其中TCB(j)为如前述方程式(1)中所述的SHFT(j(i))。据此BC为SHFT值的总和并对应于每一个CV的TCBs,其中
方程式(1)带入方程式(2),产生
在一些实施例中,给定CV为水平(HCV),其是违反二个或多个条件,且所选择避免(破坏)给定CV违规的条件是指目标条件TCH。其中根据下述条件而决定:给定HCV的条件套组CND(1),...,CND(Q)中的所有元素,其中Q为整数且大于等于2。
使TCH为CND(i),且CND(i)给予最小值APXH(i),其中APXH为单元的图示,表示为HCV大约的内容的价值(Merit),其中数学式如下
APXH(i)=NVEP(i)*reqSPVEP(i) (4)
其中{CND(1),...,CND(i),...,CND(Q)}为多个条件(CNDs)的套组,且条件(CNDs)是HCV,且Q为正整数并小于等于2。
其中TCH是「水平目标条件(targeted condition horizontal)」的缩写,且TCH是由CNDs中所选择的一者;
TCH∈of{CND(1),...,CND(Q)};
其中VEP(i)为CND(i)的垂直边缘对;
其中N为正整数并表示,于对应的群组单元描述符(GCD),VEP违反CND(i)的实例的总数;
其中reqSP是「需要空间(required spacing)」的缩写,并表示最小间距,对应条件CND(i)的VEP(i)的min_gap_i。
以下为一个简单示例,示例(B)用以说明方程式(4)的用法。在示例(B)中,假设水平CVs具有三个群组单元描述符(GCD),也就是:
CV1=
=H OR_L AND_R l 5and H FF_L AND_R l 5and H FA_L XOR_R l 3
=H OR/FF_L AND_R l 5and H FA_L XOR_R l 3
CV2=
=H OR_L BUF_R l 5and H FF_L BUF_R l 5and H BUF_L AND_R l 2and H OR_LXOR_R l 2
=H OR1/FF_L BUF_R l 5and H BUF_L AND_R l 2and H OR2_L XOR_Rl 2
CV3=
=H INV_L FA_R l 5and OR_L XOR_R l 1and H FA_L XOR_R l 1
=H INV_L FA_R l 5and OR/FA_L XOR_R l 1
图5H为根据一个或多个实施例所绘示,并对应于群组单元描述符(GCD)500H的一种数据结构类型。
更进一步说明上述的示例(B),假设群组单元描述符(GCD)对应于示例(B)中,为图5H的GCD 500H。
在水平CV1,条件宣告为「H OR_L AND_R l 5and H FF_L AND_R l 5and H FA_LXOR_R l 3」。其中可能出现引述三个条件,但实际上仅引述二个条件。这是因为次宣告「HOR_L AND_R l 5」仅考量VEP(1)=VEP(OR,AND)。并且次宣告「H FF_L AND_R l 5」考量VEP(2)=VEP(FF,AND)用以减少单一次宣告「H OR/FF_L BUF_R l 5」。
据此,示例(B)中,水平CV1具有二个条件,也就是CND(1)及CND(2),并考量所对应地VEP(1/2)及VEP(3)=VEP(FA,XOR);
其中;
CND(1)=H OR/FF_L AND_R l 5
CND(2)=H FA_L XOR_R l 3
相同地,示例(B)中,水平CV2具有三个条件,也就是CND(3)、CND(4)CND(5),并考量所对应地VEP(3&4)=VEP(OR1/FF,BUF),VEP(5)=(BUF,AND)及VEP(6)=VEP(OR2,XOR);
其中;
CND(3)=H OR1/FF_L BUF_R l 5
CND(4)=H BUF_L AND_R l 2
CND(5)=H OR2_L XOR_R l 2
对于CV2,需注意的是次宣告「H OR1_L BUF_R l 5」考量VEP(3)=VEP(OR,BUF),且次宣告「H FF_L BUF_R l 5」考量VEP(4)=VEP(FF,BUF),用以减少单一次宣告「H OR1/FF_LBUF_R l 5」,其是考量VEP(3&4)=VEP(OR1/FF,BUF)。
最后,示例(B)中,水平CV3具有二个条件,也就是CND(6)及CND(7),并考量所对应地VEP(7)=VEP(INV,FA)及VEP(8&9)=VEP(OR/FA,XOR);
其中;
CND(6)=H INV_L FA_R l 5
CND(7)=OR/FA_L XOR_R l 1
对于CV2,需注意的是次宣告「OR_L XOR_R l 1」考量VEP(8)=VEP(OR,XOR),且次宣告「FA_L XOR_R l 1」考量VEP(9)=VEP(FA,XOR),用以减少单一次宣告「OR/FA_L XOR_Rl 1」,其是考量VEP(8&9)=VEP(OR/XOR,XOR)。
示例(B)中,对于CV1,假设存有VEP(OR,AND)的10个实例、VEP(FF,BUF)的6个实例以及VEP(FA,XOR)的8个实例;对于CV2,假设存有VEP(OR1,BUF)的13个实例、VEP(FF,BUF)的1个实例、VEP(BUF,AND)的9个实例以及VEP(OR2,XOR)的20个实例;对于CV3,假设存有VEP(INV,FA)的100个实例、VEP(OR,XOR)的20个实例以及VEP(FA,XOR)的8个实例。
示例(B)中,根据方程式(4),CV1的TCH(1)能由下述而决定:
或以另一种宣告方式;
{APXH(CND(2))=24}<{APXH(CND(1))=80}
借此,示例(B)中的CV1,CND为CND(2),其中为于套组{CND(1),CND(2)}中给予最小值,且是为对应的套组{APXHAPXHH(1),APXHAPXHH(2)}。据此,示例(B)中的CV1,TCH(1)为CND(2)。
接续示例(B)中,根据方程式(2),CV2的TCH(2)能由下述而决定:
或以另一种宣告方式;
{APXH(CND(4))=18}<{APXH(CND(5))=40}<{APXH(CND(3))=70}
借此,示例(B)中的CV2,CND为CND(4),其中为于套组{CND(3),CND(4),CND(5)}中给予最小值,且是为对应的套组{APXH(3),APXH(4),APXH(5)}。据此,示例(B)中的CV2,TCH(2)为CND(4)。
接续示例(B)中,根据方程式(2),CV3的TCH(3)能由下述而决定:
或以另一种宣告方式;
{APXH(CND(7))=28}<{APXH(CND(6))=500}
借此,示例(B)中的CV3,CND为CND(7),其中为于套组{CND(6),CND(7)}中给予最小值,且是为对应的套组{APXH(1),APXH(2)}。据此,示例(B)中的CV3,TCH(3)为CND(7)。
综上,示例(B)的内容为应用方程式(4):
示例(B)中,当考量避免(破坏)违规的条件TCH(1)、TCH(2)及TCH(3)的实例的数量时,其净总数(Net total)为37。于示例(B)中净总数为调整总数(Grosstotal)而获得,其中通过合计TCH(i)的避免(破坏)违规的实例形成,因而形成总数。另外,净总数透过减去多余(redundancy)的数量而形成。其中,多余为TCH(i)的避免(破坏)违规中多余的实例。在示例(B)中,总数为45,且多余的数量为8,因此净总数为37。
更进一步说明,于示例(B)中,总数为45为8+9+28;其中对于CV1,TCH(1)=CND(2),因此TCH(1)的避免(破坏)违规中的实例有8个;对于CV2,TCH(2)=CND(4),因此TCH(2)的避免(破坏)违规中的实例有9个;对于CV3,TCH(3)=CND(7),因此TCH(3)的避免(破坏)违规中的实例有28个。
具体地,于示例(B)中,多余的数量为以下说明方式获得。其中对于CV1,因TCH(1)=CND(2),其是对应于VEP(3)=VEP(FA,XOR),而VEP(3)=VEP(FA,XOR)具有8个实例。对于CV3,因TCH(3)=CND(7),其是对应于VEP(8&9)=VEP(OR/FF,XOR),而VEP(8&9)=VEP(OR/FF,XOR)具有28个实例。但是,VEP(8&9)=VEP(OR/FF,XOR)为组合的VEP,因此,VEP(8&9)={VEP(8),VEP(9)}={VEP(OR,XOR),VEP(FF,XOR)}。其中VEP(8)=VEP(OR,XOR)具有20个实例,VEP(9)=VEP(FF,XOR)具有8个实例。
实际上,VEP(3)与VEP(9)相同。据此,CV1所对应的TCH(1)=CND(2),VEP(3)=VEP(FA,XOR)具有8个实例,等同于VEP(9)=VEP(FF,XOR)具有8个实例。通常,TCH(i)的避免(破坏)违规中的实例,是通过对应的VEP的实例操作而处理形成。若CV3违规之前处理CV1,则对于TCH(1),VEP(3)的8个实例会在TCH(3)的于VEP(8&9)的28个实例之前处理完成。处理完TCH(1)的CV1后,接下来接触TCH(3)的CV3,因而不需要处理TCH(3)的VEP(8&9)的28个实例中的8个实例。这是因为对于TCH(3),VEP(8&9)的28个实例中的8个实例涉及VEP(3)。同样地,VEP(3)的8个实例与VEP(9)的8个实例相同,因此在处理TCH(1)内容时已处理完成。据此,VEP(9)的8个实例表示为8个多余的实例,而自总数中减除。并基于相同理由,若再处理CV1违规前处理CV3,亦获得相同结果。
在一些实施例中,给定CV为水平(HCV),其是违反二个或多个条件,且所选择避免(破坏)给定CV违规的条件TCHs,用以减少其中的净总数。透过选择TCHs,借以最大化多余的数量,其中是由TCHs的避免(破坏)违规的实例自其净总数减去,因而使净总数最小化。关于TCHs的选择而用以减少TCHs的避免(破坏)违规实例的总数,以一个简单示例说明。因此,重新考虑示例(B),并将修改的示例(B)称为示例(C)。
示例(C)中,除了前述所提及的第一多余(first redundancy),也就是VEP(3)的8个实例与VEP(9)的8个实例相同为第二多余(second redundancy)。第二多余关联于VEP(OR,XOR)。对于CV2的CND(5),对应于CND(5)VEP(4)=VEP(OR2,XOR)具有20个实例。对于CV3的CND(7),对应于CND(7)VEP(8&9)=VEP(OR/FF,XOR)具有28个实例。但是,VEP(8&9)=VEP(OR/FF,XOR)为组合的VEP,因此,VEP(8&9)={VEP(8),VEP(9)}={VEP(OR,XOR),VEP(FF,XOR)}。其中VEP(8)=VEP(OR,XOR)具有20个实例,VEP(9)=VEP(FF,XOR)具有8个实例。因此,VEP(4)=VEP(OR,XOR)的20个实例与VEP(8)=VEP(OR,XOR)的20个实例相同。
在示例(C)中,若TC2选择为CND(5)而非前述对应于方程式(4)的示例(B)中为CND(4)。示例(C)的相关数学式如下:
示例(C)中,TCHs的选择而用以减少TCHs的避免(破坏)违规实例的总数为56,56=8+20+28。其中对于CV1,因TCH(1)=CND(2),TCH(1)的避免(破坏)违规具有8个实例;对于CV2,因TCH(2)=CND(5),TCH(2)的避免(破坏)违规具有20个实例;以及对于CV3,因TCH(3)=CND(7),TCH(3)的避免(破坏)违规具有28个实例。示例(C)中,多余的数量为28,56=8+20+28,因此净总数为28。
以下再提及另一示例(示例(D)),关于TCHs的选择而用以减少TCHs的避免(破坏)所对应的HCVs实例的总数。HCV 302的内容包含条件304,所对应的一个或多个TCHs表示为减少的条件304的套组的次套组(假设非最小值)。其中用以避免(破坏)违规的TCH的次套组足以执行的。
图6A–6C为根据某些实施例所绘示,其中所示的内容为示例(D)。假设示例(D)中包含三个HCV 302,也就是HCV1、HCV2及HCV3。图6A为表格600A,并列出HCV1、HCV2及HCV3及其对应的条件304的VEPs。图6B为覆盖网格(Cover grid)600B,并对应于图6A的表格600A。于覆盖网格600B中,对于表示为给定CV的一组行,其中一行及一列的交点值为0或1。每一组行表示为条件CND(1)、CND(2)及CND(3)组合的细目。例如,对于HCV1具有以下三种组合:
1.CND(1)=VEP(A,A),CND(2)=VEP(B,A);
2.CND(1)=VEP(A,B),CND(2)=VEP(B,A);and
3.CND(1)=VEP(A,C),CND(2)=VEP(B,A)
相似的细目亦存在于HCV2(图中未示)的细目,及HCV2(图中未示)的细目。具体地,表示为给定CV的一组行,交点值为0表示VEP所对应的列并不存在于组合的所对应的行中。交点值为1表示VEP所对应的列存在于组合的所对应的行中。例如,HCV1的列为(A,A)(B,A),当其他列皆为0时,整个列(A,A)及列(B,A)为1。
在一些实施例中,用于覆盖网格的数学显示于图6C,如覆盖网格600B。在一些实施例中,图6C所示变数Ci为方程式(1)中的SHFT(i)。
在某些实施例中会引荐一种状况。对于包含单一条件的HCV,状况(1)为违反在相同单元中,其N实例的第一序列CELL,表示为在相同VEP中,其N-1实例的第二序列。其中N为正整数且大于或等于3。第一序列为CEL(0),CEL(1),...,CEL(i-1),CEL(i),CEL(i+1),...CEL(N-2),CEL(N-1)。第二序列为VEP(CEL(0),CEL(1)),VEP(CEL(1),CEL(2)),...VEP(CEL(i-1),CEL(i)),VEP(CEL(i),CEL(i+1)),...VEP(CEL(N-3),CEL(N-2)),VEP(CEL(N-2),CEL(N-1))。相同单元的N实例的序列,除了第一个实例CEL(0)及最后个实例CEL(N-1),其余的每一个CEL(1),...,CEL(i-1),CEL(i),CEL(i+1),...CEL(N-2)皆为VEP的二实例中的成员。因此,CEL(i)为每一个VEP(CEL(i-1),CEL(i))及VEP(CEL(i),CEL(i+1))的成员。
状况(1)中,仅有一个条件而非多个条件,因此,方程式(4)对于在多个违规条件中决定避免(破坏)条件者(为目标条件),并不具助益。然而,仍可由相似的逻辑应用其中。
状况(1)中,如前述所述,通过逻辑连结运算子(AND)将二个或多个条件进行逻辑连结。由于逻辑连结相同条件的实例,为了使所给定的HCV违规,给定的HCV的每一个条件皆必须违规。据此,透过避免(或称为破坏)其中一个条件的违规,给定的HCV的违规能避免(破坏)。换言的,为了避免(破坏)给定的HCV的违规,并不需要对每一个条件的违规进行避免(破坏)。
在某些实施例中,选择避免(破坏)给定HCV违规的一个,或少于总个数的多个违规条件的实例。或于某些实施例中,仅选择避免(破坏)给定HCV违规条件实例的其中一者。在一些实施例中,所选择避免(破坏)违规条件(即为目标条件)的实例,是根据VEP的最后一个实例,即VEP(CEL(N-2),CEL(N-1)。在一些实施例中,所选择避免(破坏)给定HCV违规条件的实例,是根据其他非VEP的最后一个实例者。
如图2G所示,为状况(1)的简单例子。其中包含相同单元的三个实例的序列,即OR单元204、OR单元206及OR单元206,且N为3。相同地,如图3所示,相同VEP的二个实例的序列,即VEP(OR,OR),且N-1为2。更具体地,VEP(OR,OR)的二个实例为VEP(204,206)及VEP(206,208)。其中OR单元206为VEP(OR,OR)每一个实例的成员。假设图2G违反对应的HCV,则通过定目标于VEP(206,208)而避免(破坏)违规,其中处理作业如水平移动单元208自单元206,而使成员254及256间的间距253增加。其中的成员254及256是对应于单元206的右边缘242_R及单元208的左边缘224_L。借此,间距253等于或大于其所对应的最小间距。
对于给定的约束向量(CV)为垂直约束向量(VCV),并一些实施例中,使用相似于APXH(如前述内容)的近似方式。更具体地,在一些实施例中,根据下述条件而决定:给定VCV的条件套组CND(1),...,CND(Q)中的所有元素,其中Q为整数且大于等于2。
使TCV为CND(i),且CND(i)给予最小值APXV(i),其中APXV为单元的图示,表示为VCV内容近似的价值(Merit),其中数学式如下
APXV(i)=NPrHEP(i)*reqSPPrHEP(i) (5)
其中{CND(1),...,CND(Q)}为给定VCV的多个条件(CNDs)的套组;
其中TCV是「垂直目标条件(targeted condition vertical)」的缩写,且TCV是由CNDs中所选择的一者;
TCV∈of{CND(1),...,CND(Q)};
其中PrHEP(i)为CND(i)的水平边缘对HEPs的成对(Pr);
其中N为正整数并表示,于对应的群组单元描述符(GCD),PrHEP违反CND(i)的实例的总数;
其中reqSP是「需要空间(required spacing)」的缩写,并表示最小间距,对应条件CND(i)的PrHEP(i)的min_gap_i。
如前述说明(A)、(B)及(C)。其中(A)为,HCV的每个条件CND,对于HCV的CND具有二个VEPs。其中(B)为,VCV的每个条件CND具有PrHEP,且PrHEP具有四个VEPs。其中(C)为,每个条件VEP具有二个对应的单元,借此每个单元为可能为移动或再定位的候选单元(Relo-candidate cell),用以避免(破坏)给定TC的违规。对于给定CV的给定条件,一旦当其TC决定后,于一些实施例中,候选单元即成立。其中候选单元是根据位置成本(Placement costs(PCOSTs))并关联于其潜在新位置。
一些实施例中,位置成本是至少根据部分所对应的一个或多个跨接图案(Jumperpattern)的累积长度,且跨接图案用来再耦接候选单元于新的地点。例如,假设第一及第二候选单元包含对应的第一及第二目前位置,及其所各自对应移动至第一及第二新位置。一个或多个跨接图案所对应的第一套组,通过一种方式以再耦接第一候选单元于第一新位置。前述的方式为,使得第一单元如同从未自第一目前位置移动过。一个或多个跨接图案所对应的第二套组,通过一种方式以再耦接第二候选单元于第二新位置。前述的方式为,使得第二单元如同从未自第二目前位置移动过。如此一来,第一及第二位置成本是至少根据部分所对应跨接图案(Jumper pattern)的累积长度,且累积长度是相对于其所对应的第一及第二套组。
除了考虑是否将候选单元,自目前(第一)位置移动至新(第二)位置,于某些实施例中,更考虑改变候选单元的方向,而非仅是自目前(第一)位置,移动候选单元至新(第二)位置。
一些实施例中,单元方向(cell orientation)的四个状态已定性,为R0、R180、MX及MY。某些实施例中,单元方向相对于一个具有相互正交的X、Y及Z轴所组成的三维座标系统。具有相互正交的X、Y及Z轴所组成的三维座标系统建构而成。于一些实施例中,X轴为水平且Y轴为垂直。因此,定义X-Y平面,能使布局图的层结构能大致上与其共平面。借此,布局图的层结构大致上叠置于平行Z轴的方向上。于一些实施例中,布局图的列大致上平行于X轴。
一些实施例中,单元方向R0、R180、MX及MY分别为,相对于X-Y平面上,单元的一个给定位置,如下述:单元方向R0表示为单元的预设或未反转状态;单元方向R180表示为,相对R0为初始方向,单元已相对Z轴大致上转动180°;单元方向MX表示为,相对R0为初始方向,单元已相对X轴大致上转动180°,因此使得单元方向MX及R0以X轴为对称轴为镜像对称;单元方向MY表示为,相对R0为初始方向,单元已相对Y轴大致上转动180°。
于某些实施例中,巢状回圈(如下方程式(6)所示)用以产生PCOSTs套组,且PCOSTs套组为候选单元的所对应的可能新地点的范围,如下所述:
其中i及n为正整数,且n大于或等于3;
其中fx指示布局图的x列的方向(反转状态),其中x=i-1指示单元(Cell)cell(i-1),且x=i指示cell(i);如fx=0指示cell(x)具有单元方向R0(如上所述)并视为示尚未反转状态;或如fx=1指示cell(x)具有单元方向MY(如上所述)并视为示尚已反转状态;
其中Δcosti–1,i(fi–1,di–1,fi,di)为「成本差(delta cost)」并显示于下列方程式(7)。
成本差(delta cost)Δcost为:
Δcosti-1,i(fi-1,di-1,fi,di)=α*WLCOST+β*CFLCi-1,i(fi-1,di-1,fi,di) (7)
其中α表示为使用者定义的权重,为根据减少线长的重要程度而因应调整,并于某些实施例中其预设值为5;
其中WLCOST表示为线长,为根据对应的半导体制程;
其中β表示为使用者定义的权重,为根据减少冲突的重要程度而因应调整。通常β较α大,其是由于在单元移位后,位置理论上应不具有任何冲突。并于某些实施例中其预设值为5;
其中CFLCi–1,i(fi–1,di–1,fi,di)为「冲突差(conflict cost)」并显示于下列方程式(8)。
冲突成本(Conflict cost,CFLC)相似于BC,如上述所述。冲突成本CFLC为:
其中Circumstance(1)表示为YV,其中若VEP(i-1,i)中,YV为「yes VEP」的缩写,且YV如方程式(8)所示如下;
其中Circumstance(2)为0,其中若不存在VEP(i-1,i)。
Circumstance(1)中,YV为:
YVVEP(i-1,i)=max(0,reqSPVEP(i-1,i)-currSPVEP(i-1,i)) (9)
图7A–7B为根据某些实施例所绘示,其中所示的内容为示例(E)。假设示例(E)中群组包含三个单元(Cell),也就是单元1、单元2及单元3,并假设群组违反对应的HCV。如图7A–7B所示,数学式为递回关系,并使用方程式(6)中的巢状回圈。其中假设群组的三个单元单元1、单元2及单元3为举例说明。
一些实施例中,为了找出候选单元的可能的新位置范围,考虑一成对的单元能使用的各种方向范围。其中,成对的单元对应于VEP。一些实施例中,第一符号(Notation)表示为各种方向范围,并相对于图8A所示表格800A的一成对单元。其中,表格800A为图2A的单元204、206的内容举例。
一些实施例中,杂凑函数(hashing function)用以产生范围的二进为表示法(Binary representation),且范围可为描述性配对如「(左_成员_方向,右_成员_方向(left_member_orientation,right_member_orientation)」。一些实施例中,杂凑函数(hashing function)为one-hot编码(one-hot encodation),如图8B所示表格800B。
一些实施例中,图8A所示表格800A的符号示意图(notation),与图8B所示表格800B的二进为表示法结合,并形成图8C所示的表格800C。或于一些实施例中,能允许少于的所有可能的方向组合。据此,一些实施例中,允许对于这些可能组合的方向,如图8C所示的表格800C。其中以「减少(reduced)或浓缩(condensed)」进行逻辑组合,例如位元运算(bitwise)OR,位元于二进为表示法的部分表格800C的符号示意图。
一些实施例中,对于候选单元,考量其可能的新位置及/或方向的范围,且该范围约束新位置及/或方向于相同列。对于处在目前位置的单元,相同列为目前位置的列,因此仅考量跨列调整。一些实施例中,考量跨列调整包含反转(flipping)、移位(shifting)及/或置换(swapping)单元。一些实施例中,跨列反转包含改变候选单元的方向,自R0、R180、MX及MY其中一者改变为其中另一者。一些实施例中,对于对应于VEP的第一及第二单元,移位第一单元包含改变相对于第二单元的第一单元的列位置,借以改变实际间隔而不破坏毗邻边缘(edgewise-abutment)。一些实施例中,对于对应于VEP的第一及第二单元,列间置换(当地置换,local swapping)包含改变相对于第二单元的第一单元的列位置,借以改变实际间隔而使其足以破坏毗邻边缘。例如,第一及第二单元之间因第三单元而插入列间。根据某些实施例,如图9A–9C所示,数学式为递回关系(递回方程式),用以实现单元的列间地反转(flipping)、移位(shifting)及/或置换(swapping),并利用common platform forautomated programming(CPAP)。其中图9A的递回方程式考虑成本的所对应的一个或多个跨接图案(Jumper pattern)的累积长度,且跨接图案用来再耦接候选单元于新的地点。其中通过一种方式,使得第二单元如同从未自第二目前位置移动过。
在某些些实施例中,将具有横跨多列高度的单元(多列单元,Multi-row cell)的移动,是通过虚拟分解多列高度单元而形成具有相等数量的单元(组成单元,Constituentcells)。其中每一个组成单元横跨单一列(单列高度单元,single-row height cells)。为了找出多列高度单元的可能的新位置范围,透过移动一个组成单元,并根据给定的组成单元的新位置,以重建成多列高度单元。前述的重建能通过组成单元之外的其他者产生冲突而防止其发生。
某些实施例中,若仅违反HCVs,则执行单元的跨列移动的计算机程序,且平行运算多列的移动。一些实施例中,为了避免竞争条件(race condition),列的运算是由其所相对应的执行绪执行。一些实施例中,仅有当违反HCVs,才允许执行多列并相邻列的平行运算。一些实施例中,仅有当违反VCVs,才允许执行平行运算并分成二个阶段。其中第一阶段处理平行的偶数列,而第二阶段处理平行的奇数列,借以避免竞争条件。
一些实施例中,对于候选单元,考量其可能的新位置及/或方向的范围,且该范围约束新位置及/或方向于一个或多个第二列。对于处在目前位置的单元,第二列为相异于目前位置的第一列,因此仅考量列间(Inter-row)调整。一些实施例中,考量列间调整包含置换(swapping)及反转(flipping)单元。一些实施例中,列间反转包含改变给定单元的方向,自R0、R180、MX及MY其中一者改变为其中另一者。一些实施例中,对于对应于VEP的第一及第二单元,列间置换(全球置换,global swapping)包含移动第一单元自第一列至第二列,且第二列为相异于第一列的列,借以破坏毗邻边缘。图10A–10B为根据一些实施例所绘示的数学式,用以实现单元的列间移动及反转。
图11为根据一个或多个实施例所绘示的流程图1100,为用以产生布局图的方法。
根据一些实施例,可实现方法1100。例如,利用如图13及下述的电子设计自动化系统(Electronic design automation system,EDA)系统1300。
如图11所示,方法1100包含方块1102–1112。于方块1102中,修改初始布局图。初始布局图的一例,为根据方法1100可修改的布局图,包含图2A所示的布局图200A、图2D所示的布局图200D、图2G所示的布局图200G、图2H所示的布局图200H、图2I所示的布局图200I、图2J所示的布局图200J或其他相似者。一些实施例中,初始布局图及其版本储存于非暂态计算机可读取媒体(non-transitory computer-readable medium),如图13所示的标号元件1304(并于下述说明)。该方法的执行流程方向是自方块1102,朝向方块1104。于方块1104中,建立数据结构(data structur)类型,且于此是指群组单元描述符(GCD)。数据结构的一例,如图5A所示的GCD 500A、图5B所示的GCD500B、图5C所示的GCD 500C、图5D所示的GCD500D、图5E所示的GCD500E、图5F所示的GCD 500F、图5H所示的GCD 500H或其他相似者。
方块1104包含方块1120–1122。于方块1122中,对于每一个约束向量(CV),分析用于初始布局图的几何信息(geometric information),并决定所对应的违反CV单元(若有的话),借以识别对应的单元群组。识别单元群组(identified groups of cells)的一例,如图2A所示的群组202A、图2D所示的群组202D、图2G所示的群组202G、图2H所示的群组202H、图2I所示的群组202I、图2J所示的群组202J或其他相似者。其中的执行流程方向是自方块1120,朝向方块1122。
于方块1122中,对于每一个单元群组,建立其所对应的数据结构,于此是指群组单元描述符(GCD)。每一个GCD为用于初始布局图的所有几何信息的次套组。GCD的一例,如图5A所示的GCD 500A、图5B所示的GCD 500B、图5C所示的GCD 500C、图5D所示的GCD 500D、图5E所示的GCD 500E、图5F所示的GCD 500F、图5H所示的GCD 500H或其他相似者。其中自方块1122,朝向出口方块1104。其中的执行流程方向是自方块1104,朝向方块1116。
于方块1106中,执行约束分析并用以决定,对于每一个群组,移动其中至少一个但少于总数的单元者,用以避免(破坏)对应的约束向量(CV)的违规,并当群组中单元的设置而消耗的有效面积进行最小化扩张。一些实施例中,约束分析考量价值(Merit)图、SHFT及破坏成本BC等,并于下述说明。其中的执行流程方向是自方块1106,朝向方块1108。
于方块1108中,执行单元位置的跨列调整,而形成第一修改布局图。一些实施例中,对于候选单元,考量其可能的新位置及/或方向的范围,且该范围约束新位置及/或方向于相同列。对于处在目前位置的单元,相同列为目前位置的列,因此仅考量跨列调整,如前述所述。一些实施例中,考量跨列调整包含反转、移位及/或置换单元,如前述所述。一些实施例中,跨列反转包含改变给定单元的方向,自R0、R180、MX及MY其中一者改变为其中另一者,如前述所述。其中的执行流程方向是自方块1108,朝向方块1110。
于方块1110中,对第一修改布局图,执行单元位置的列间调整,而形成第二修改布局图。一些实施例中,对于候选单元,考量其可能的新位置及/或方向的范围,且该范围约束新位置及/或方向于一个或多个第二列。对于处在目前位置的单元,第二列为相异于目前位置的第一列,因此仅考量列间调整,如前述所述。一些实施例中,考量列间调整包含移动及反转单元,如前述所述。一些实施例中,列间反转包含改变给定单元的方向,自R0、R180、MX及MY其中一者改变为其中另一者,如前述所述。其中的执行流程方向是自方块1110,朝向方块1112。于方块1112中,输出第二修改布局图。
图12为根据一个或多个实施例所绘示的流程图1200,为用以产生布局图的方法。
根据一些实施例,可实现方法1200。例如,利用如图13及下述的EDA系统1300。
如图12所示,方法1200包含方块1202–1206。于方块1202中,在布局图中,三个或多个单元的群组违反约束向量(CV),如水平CV(HCV)或垂直CV(VCV)。HCV的一例,如图3B所示的HCV 302B、第3C–3D图所示的HCV 302B’、图3E所示的HCV 302E或其他相似者。VCV的一例,如图4B所示的VCV 422B、第4C–4D图所示的VCV 422B’、图4E所示的VCV 422E、图4F所示的VCV 422E’或其他相似者。识别违反设计准则的三个或多个单元的群组,其中群组设置呈现为二个或多个边缘对(EPs)。
HCV的内容中,二个或多个边缘对(EPs)大致上对齐于一垂直方向(V方向),而形成垂直边缘对(VEPs)。每一个VEP包含二个表示为至少具部分群组,其所对应单元的垂直边缘部分的成员。相对于水平方向,每一个VEP的成员设置于毗邻边缘,并以其对应的实际间距呈分离设置。VEP的一例,如图2G所示的VEPs 257(1)、257(2)、图2J所示的VEPs 257(3)或其他相似者。
VCV的内容中,二个或多个边缘对(EPs)大致上对齐于一水平方向(H方向),而形成水平边缘对(HEPs)。每一个HE包含二个表示为至少具部分群组,其所对应单元的水平边缘部分的成员。相对于水平方向,HEPs以成对设置而形成成对的水平边缘对(PrHEPs)。其中每一个PrHEP设置于毗邻边缘,并以实际间距呈分离设置。HEP的一例,如第2H、2J图所示的HEPs 277(1)、277(2)、图2I所示的HEPs 277(1)’、277(2)’、277(3)或其他相似者。PrHEP的一例,如第2H、2J图所示的PrHEP 279(1)、图2I所示的PrHEP 279(1)’、279(2)或其他相似者。
每一个HCV包含一个或多个间隔临界值(separation threshold)。每一个间隔临界值表示为在水平方向上,对应的VEP成员之间的所对应的最小间距。HCV的内容中,间隔临界值的一例,如图3C所示的min_gap_1 314(1)、min_gap_2 314(2)或其他相似者。每一个VCV包含一个或多个间隔临界值。每一个间隔临界值表示为在水平方向上,对应的PrHEP的HEP之间的所对应的最小间距。VCV的内容中,间隔临界值的一例,如图4C所示的min_gap_2444或其他相似者。
HCV的内容中,对于每一个具有至少一个但少于总数之间隔临界值者,选择性地移动一个给定单元,且给定单元对应于其所对应的VEP的成员的其中一者,借以避免违反设计准则(于此是指HCV)。避免(破坏)HCV违规的内容中,前述的移动的一例,如图2B所示的移动216、图2C所示的移动218或其他相似者。VCV的内容中,对于每一个具有至少一个但少于总数之间隔临界值者,选择性地移动一个给定单元,且给定单元对应于其所对应的PrHEP的HEP成员的其中一者,借以避免违反VCV。避免(破坏)VCV违规的内容中,前述的移动的一例,如图2E所示的移动237、图2F所示的移动238或其他相似者。
方块1204包含方块1210–1220。于方块1210中,决定第一及第二移动成本(movement cost),用以重新定位第一及第二候选单元。一些实施例中,移动成本为破坏成本(breaking cost),并考量价值(Merit)图、SHFT及破坏成本BC等,如前述所述。一些实施例中,移动成本为位置成本(placement cost),如前述所述。位置成本的其他例子为,一个或多个跨接图案的累积长度,且跨接图案用来再耦接第二候选单元于新的地点。其中通过一种方式,使得第二候选单元如同从未自其目前位置移动过,如前述所述。其中的执行流程方向是自方块1210,朝向方块1212。
于方块1212中,选择第一及第二候选单元中具有较小移动成本者。
其中自方块1212,朝向出口方块1204。其中的执行流程方向是自方块1204,朝向方块1206。
一些实施例中,对于候选单元,考量其可能的新位置及/或方向的范围,且该范围约束新位置及/或方向于相同列。对于处在目前位置的单元,相同列为目前位置的列,因此仅考量跨列调整,如前述所述。一些实施例中,考量跨列调整包含反转、移位及/或置换单元,如前述所述。一些实施例中,跨列反转包含改变给定单元的方向,自R0、R180、MX及MY其中一者改变为其中另一者,如前述所述。其中的执行流程方向是自方块1108,朝向方块1110。
一些实施例中,对于候选单元,考量其可能的新位置及/或方向的范围,且该范围约束新位置及/或方向于一个或多个第二列。对于处在目前位置的单元,第二列为相异于目前位置的第一列,因此仅考量列间调整,如前述所述。一些实施例中,考量列间调整包含移动及反转单元,如前述所述。一些实施例中,列间反转包含改变给定单元的方向,自R0、R180、MX及MY其中一者改变为其中另一者,如前述所述。
于方块1206中,根据布局图(A),制造至少一个(A)或(B)。其中(A)为一个或多个半导体光罩,(B)为至少一个半导体集成电路中层结构的元件。请参阅图14及下述说明。一些实施例中,制程包含根据布局图,执行一个或多个微影曝光(Lithographic exposures)程序。
根据本案一些实施例,图13为EAD系统1300的方块示意图。
一些实施例中,EDA系统900包含APR系统。于此说明的方为根据一个或多个实施例,为用以产生布局图的方法。并且为可实现方法,例如一些实施例中利用EDA系统1300实现。
一些实施例中,EDA系统900为通用计算机装置(General purpose computingdevice),包含硬件处理器(Hardware processor)1302及非暂态计算机可读取媒体(Non-transitory computer-readable medium)1304。储存媒体(Storage medium)1304,除其他功能外,可用以编码,如储存计算机程序码(computer program code)1306如执行指令(Execution of instruction)的套组。由硬件处理器1302执行指令1306代表,至少部分的EDA工具,能用以执行部分或全部根据一个或多个如前述的步骤及/或方法。
处理器1302透过总线(Bus)1308电性连接计算机可读取媒1304。处理器1302亦透过总线1308电性连接输入/输出接口(I/O interface)1310。网络接口(networkinterface)1312亦透过总线1308电性连接处理器1302。网络接口1312连接网络1314,借以使处理器1302及计算机可读取媒1304能通过网络1314连接至外部元素。处理器1302用以执行计算机程序码1306编码于计算机可读取媒1304,用以使系统1300能执行部分或全部如前述的步骤及/或方法。在一个或多个实施例中,处理器1302为中央处理器(Centralprocessing unit,CPU)、多元处理器(Multi-processor)、分散式运算系统(Distributedprocessing system)、特殊应用集成电路(Application specific integrated circuit,ASIC)及/或适用处理器(Suitable processing unit)。
在一个或多个实施例中,计算机可读取媒1304为电、磁、光学、电磁、远红外线及/或半导体系统(或设备、装置)。例如,计算机可读取媒1304包含半导体或固态记忆体(solid-state memory)、磁带(magnetic tape)、可移动计算机盘(removable computerdiskette)、随机存取记忆体(random access memory,RAM)、只读记忆体(read-onlymemory(ROM))、磁盘(rigid magnetic disk)及/或光盘(optical disk)。在一个或多个实施例中,使用光盘的计算机可读取媒1304包含只读记忆光盘(compact disk-read onlymemory,CD-ROM),可重复录写光盘(compact disk-read/write,CD-R/W)及/或数字多功能影音光盘(digital video disc,DVD)。
在一个或多个实施例中,储存媒体1304储存计算机程序码1306,用以使系统1300于执行部分或全部前述的步骤及/或方法时,能正常工作。其中前述的系统1300中,所执行的程序或指令代表为(至少部分的)EDA工具。在一个或多个实施例中,储存媒体1304亦储存用以执行部分或全部前述的步骤及/或方法的信息。在一个或多个实施例中,储存媒体1304储存一个或多个布局图1309。
EDA系统1300包含I/O接口1310。I/O接口1310耦合至外部电路。在一个或多个实施例中,I/O接口1310包含键盘、数字键盘(keypad)、鼠标、轨迹球(trackball)、触控板(trackpad)、触控屏幕(touchscreen)及/或用于与处理器1302沟通信息或指令的方向键(cursor direction key)。
EDA系统1300包含连接于处理器1302的网络接口1312。网络接口1312允许系统1300与网络1314沟通,并供以使一个或多个其他计算机系统相互连接。网络接口1312包含无线网络接口,如BLUETOOTH、WIFI、WIMAX、GPRS或WCDMA;及有线网络接口,如ETHERNET、USB或IEEE-1364。在一个或多个实施例中,部分或全部前述的步骤及/或方法能执行于二个或多个系统1300。
EDA系统1300用以通过I/O接口1310接收信息。由I/O接口1310所接收的信息包含一个或多个指令(instruction)、数据(data)、设计准则、标准单元库(libraries ofstandard cells)及/或处理器1302执行的其他参数。信息通过总线(Bus)1308传送至处理器1302。EDA系统1300用以透过I/O接口1310接收关于使用者界面(UI,User interface)的信息。信息作为使用者界面(UI)1342储存于计算机可读取媒1304。
一些实施例中,部分或全部前述的步骤及/或方法以应用标准程序(standalonesoftware)并由处理器执行。一些实施例中,部分或全部前述的步骤及/或方法以应用软件(software)执行,其中软件为另部分新增的应用程序。一些实施例中,部分或全部前述的步骤及/或方法作以应用程序的插件(plug-in)执行。一些实施例中,至少一个前述的步骤及/或方法作以应用软件执行,其中软件为部分EDA工具。一些实施例中,部分前述的步骤及/或方法作以使用EDA系统1300的应用软件执行。一些实施例中,包含标准单元的布局图,是利用工具而产生。其中的工具如CADENCE DESIGN SYSTEMS,Inc.提供的或其他能产生布局图适用的工具。
一些实施例中,处理器是以非暂态计算机可读取媒体储存的程序的函数(function)实现。非暂态计算机可读取媒体包含但不限于外接/可移除(external/removable)及/或内建(internal/built-in)储存单元或记忆单元(memory unit)如一个或多个光盘,如DVD;磁盘,如硬盘;半导体记忆体,如ROM、RAM、记忆卡或其他相似者。
图14为根据一个或多个实施例,集成电路(integrated circuit,IC)制程系统800的方块示意图及其流程图。一些实施例中,根据布局图,制造至少一个(A)或(B)。其中(A)为一个或多个半导体光罩,(B)为使用制程系统800而制造的至少一个半导体集成电路中层结构的元件。
图14中,IC制程系统1400包含个体如IC设计厂(design house)1420、光罩厂(maskhouse)1430及IC制造厂(manufacturer/fabricator)1450,又称为「制造厂」(fab)。IC制程系统800相互互动于设计、研发、制造循环及/或关于IC装置1460制造服务等方面。IC制程系统1400中的个体通过沟通网络(Communications network)相互连接。一些实施例中,沟通网络为单一网络。一些实施例中,沟通网络为多种的不同网络,如内部网络(intranet)及外部网络(Internet)。沟通网络包含无线及/或有线沟通频道。每一个个体与其他个体的一个或其他者相互互动,并提供服务及/或接收服务自其他个体的一个或其他者。一些实施例中,二个或多个IC设计厂1420、光罩厂1430及IC fab 1450由单一个较大的公司持有。一些实施例中,二个或多个IC设计厂1420、光罩厂1430及IC fab 1450同时由共有的制造厂持有并共用资源。
IC设计厂(或设计团队)1420产生IC设计布局图1422。IC设计布局图1422包含多个用于IC装置1460的几何图案(geometrical pattern)设计。几何图案对应于金属、氧化物或半导体层结构的图案,其中层结构为用于制造IC装置1460的修饰。不同的层结构相结合而形成不同的IC功能。举例来说,布局图1422的部分IC设计包含不同的IC功能,如活化区(active region)、闸极电极(gate electrode)、源极(source)、汲极(drain)、金属线或层结构间互连(interlayer interconnection)的通孔(via)、焊接点(bonding pad)的开端、半导体基板(substrate)(如硅晶圆)的形成以及设置于半导体基板的不同材料层。IC设计厂1420自IC设计布局图1422中执行其合适的一者。设计步骤包含一个或多个逻辑设计、物理设计或布局(place and route)。IC设计布局图1422存在于一个或多个具有几何图案的信息的数据文件中。例如,IC设计布局图1422能以GDSII文件格式或DFII文件格式表示。
光罩厂1430包含光罩数据准备(data preparation)1432及光罩制程(maskfabrication)1444。光罩厂1430使用IC设计布局图1422制造一个或多个光罩1445,用以制造根据IC设计布局图1422的IC装置1460层结构。光罩厂1430执行光罩数据准备1432,其中IC设计布局图1422转换成RDF的文件格式。数据准备1432提供RDF给光罩制程1444。光罩制程1444包含光罩刻写(mask writer)。光罩刻写将RDF转换成基板的图片,如光罩(reticle)1445或半导体晶圆1453。IC设计布局图1422由光罩数据准备1432操作,以遵守光罩刻写及/或IC fab 1450所要求的特定特征。如图14所示,光罩厂光罩数据准备1432及光罩制程1444为非分开的程序。一些实施例中,光罩资f料准备1432及光罩制程1444能合为光罩数据准备。
一些实施例中,光罩数据准备1432包含光学接近修正(optical proximitycorrection,OPC),为用来补偿图片错误的微影增强技术(ithography enhancementtechnique)。例如,能自绕射(diffraction)、干涉(interference)、其他影响或相似者提升者。OPC调整IC设计布局图1422。一些实施例中,光罩数据准备1432包含解析度提升技术(resolution enhancement technique,RET)。例如,离轴照明(off-axis illumination)、次解析辅助特征(sub-resolution assist features)、相位移光罩(phase-shiftingmask)、其他适用或相似的技术,或其中的任组合者。一些实施例中,光罩数据准备1432包含反向式微影术(inverse lithography technology,ILT),其中将OPC视为反向影像问题。
一些实施例中,光罩数据准备1432包含光罩检查(mask rule checker,MRC)。MRC检查IC设计布局图1422是否于OPC中未执行程序,其中具有讨组关于光罩创作准则(Maskcreation rule)包含保持特定几何及/或连接限制,以确保有足够的剩余空间,以解决半导体制程程序的可变性或其他相似者。一些实施例中,MRC修饰IC设计布局图1422补偿于光罩制程1444的限制。其中可能为了符合光罩创作准则,以OPC执行未执行部分的修饰。
一些实施例中,光罩数据准备1432包含微影制程检查(lithography processchecking,LPC)。LPC模拟接续由IC fab 1450制造IC装置1460的程序。LPC模拟根据IC设计布局图1422的其中的程序,用以创造模拟制造装置如IC装置1460。LPC模拟中的程序参数能包含关联于多个IC制程循环程序的参数,且参数关联于用以制造IC的工具;及/或其他制程程序方面。LPC考虑多种因素如对比度(Aerial image contrast)、景深(Depth of focus,DOF)、光罩误差放大因子(Mask error enhancement factor,MEEF)或其他适用的因素,及其中的任组合者。一些实施例中,由LPC创造的模拟制造装置,当模拟装置并不够接近于其预设的形状用以满足设计准则时,OPC及/或MRC重复执行已使IC设计布局图1422更精练。
应当理解的是,上述的光罩数据准备1432是以利说明而简化的版本。一些实施例中,光罩数据准备1432包含其他另外的功能如逻辑运算(logic operation,LOP),用以根据制造准则修饰IC设计布局图1422。并且,在光罩数据准备1432中,应用于IC设计布局图1422的程序可能以不同顺序执行。
结束光罩数据准备1432并于光罩制程1444中时,根据修饰后的IC设计布局图1422,制造光罩1445或其群组。一些实施例中,光罩制程1444包含执行一个或多的根据IC设计布局图1422的微影曝光(Lithographic exposures)程序。一些实施例中,根据修饰后的IC设计布局图1422,电子束(electron-beam,e-beam)或多个e-beam的机制被用来形成光罩(photomask或reticle)1445的图案。光罩1445能由多种技术形成。一些实施例中,光罩图案包含不透明区域(opaque region)及透明区域(transparent region)。辐射束(radiationbeam)如紫外线(ultraviolet,UV),用以曝光影像感光材料层(sensitive materiallayer)如光刻胶(photoresist)。其中感光材料层涂覆于晶圆上。辐射束被不透明区域屏蔽,并穿透透明区域。于一个例子中,光罩1445的二位元光罩版本包含透明基板如熔硅石(fused quartz),及涂覆于其中不透明区域的不透明材料如铬(chromium)。或于其他实施例中,光罩1445利用相位移光罩技术(phase shift technology)而形成。于相位移光罩(phase shift mask,PSM)版本的光罩1445,图案的各种功能是由相位移光罩而形成,用以使得其具有合适的相差,以增强影像品质或解析度。不同例子中,相位移光罩能为衰减性相位偏移光罩(attenuated PSM)或交替式相位移光罩(alternating PSM)。光罩于各种制程中,由光罩制程1444产生。例如,此种光罩于离子注入(ion implantation)制成,用以于半导体晶圆1453形成不同的参杂区域;于蚀刻(etching)制成,用以以于半导体晶圆1453形成不同的蚀刻区域;及/或其他适用的制成。
IC fab 1450包含晶圆制造(wafer fabrication)1452。IC fab 1450为IC制造产业并包含一个或多个制造厂,以制造各种不同的IC产品。一些实施例中,IC fab 1450为IC铸造场。例如,有用于多个IC产品的前端制造的制造厂(前端制造厂,front-end-of-line(FEOL)fabrication),其中当第二个制造厂提供用于互连及封装多个IC产品的后端制造的制造厂(后端制造厂,back-end-of-line(BEOL)fabrication),第三个制造厂能提供其他的服务给第四个制造厂公司。
IC fab 1450由光罩厂1430制造光罩1445,并进一步制造IC装置1460。因此,ICfab 1450至少间接地利用IC设计布局图1422制造IC装置1460。一些实施例中,由IC fab1450制造半导体晶圆1453并使用光罩1445,并进一步制造IC装置1460。一些实施例中,IC制造包含至少间接地利用IC设计布局图1422,执行一个或多个微影曝光。半导体晶圆1453包含硅基板或其他具有材料层结构的合适的基板。半导体晶圆1453还包含一个或多个不同参杂区域、介电特征、多级互连及其他相似者(于其后续的制成步骤中形成)。
关于集成电路(IC)制程系统(如第10图所示的系统1000)的细节,及IC制程流程相关的内容能一并找到。如美国专利字号第9,256,709号,申请日2016年02月09日,美国专利公开号第20150278429号,公开日2015年10月01日,美国专利公开号第20140040838号,公告日2014年02月06日及美国专利公开号第7,260,442号,公告日2017年08月21日。其全部内容在此引入作为参考。
在一些实施例中,产生布局图的该方法,其中选择性地移动给定单元的步骤还包含:对于所有该些间隔临界值中至少一者中的每一个,于水平方向上改变单元中的一个给定单元的位置,借以扩大对应实际间距而足以避免违反水平约束向量,其中该些间隔临界值中的该至少一者的数量少于所有该些间隔临界值。
在一些实施例中,该方法中:改变单元中的一个给定单元的位置,保留其对应的毗邻边缘。
在一些实施例中,该方法中:单元位于布局图的相同列;且选择性地移动给定单元的步骤还包含:以相同列重新配置单元中的一个给定单元,尽管因此形成新的位置,亦能借以破坏给定单元所对应的毗邻边缘。
在一些实施例中,该方法其中对于单元的一个给定单元所对应的给定临界值,选择性地移动给定单元的步骤还包含:决定第一移动成本及第二移动成本,且第一移动成本及第二移动成本分别用以重新定位所对应的第一单元及第二单元;选择第一单元或第二单元分别对应的第一移动成本及第二移动成本的最小者,以作为被重新定位的对象;以及重新定位该对象,借以避免违反水平约束向量;以及其中单元的一个给定单元对应于第一单元或第二单元。
在一些实施例中,该方法中:对于第一移动成本及第二移动成本的给定移动成本,给定移动成本是至少根据部分的对应实际间隔及对应的最小间距之间的差异。
在一些实施例中,该方法中:第一移动成本及第二移动成本分别为对应第一位置成本及对应第二位置成本;每一个第一位置成本及每一个第二位置成本表示为总计成本,且总计成本关联于:自对应第一目前位置或第二目前位置,分别移除其所对应的第一单元或第二单元;以及部属所对应的第一单元及第二单元于其所分别对应的第一新位置及第二新位置;对应一个或多个跨接图案的第一组,用以在第一新位置以方法再耦接第一单元,借以等同于第一单元从未自第一目前位置移动;对应一个或多个跨接图案的第二组,用以在第二新位置以方法再耦接第二单元,借以等同于第二单元从未自第一目前位置移动;以及第一位置成本及第二位置成本是分别至少根据部分跨接图案对应于第一套组及第二套组所对应的累积长度。
在一些实施例中,该方法还包含:根据布局图,制造至少一个(A)或(B),其中(A)为一个或多个半导体光罩,(B)为至少一个半导体集成电路中层结构的元件。
在一些实施例中,用以产生布局图且布局图储存于非暂态计算机可读取媒体的方法包含:在该布局图中,识别违反一垂直约束向量的三个或多个单元的一群组,该群组设置呈现为大致上对齐于一水平方向的二个或多个边缘对,而形成复数水平边缘对,,其中每一该等水平边缘对与每一该等垂直边缘对包含表示为该群组的对应单元的水平边缘中至少一部分的二个成员;相对于一垂直方向,每一该等水平边缘对的该等成员设置于毗邻边缘;相对于一水平方向,该等水平边缘对为成对设置而形成复数成对水平边缘对,借此,对于每一该等成对水平边缘对,其所对应的复数第一该等水平边缘对及复数第二该等水平边缘对设置于毗邻末端并分离一实际间距;以及该垂直约束向量包含至少一间隔临界值,每一该等间隔临界值包含一对应成对水平边缘对并表示为在该水平方向上,该对应成对水平边缘对的该等水平边缘对之间对应一的最小间距;以及对于每一个具有至少一个但少于总数之间隔临界值者,选择性地移动该等单元中的一给定单元,该给定单元对应于该等对应成对水平边缘对的该等水平边缘对的其中一该等成员的其中一者,借以避免违反该垂直约束向量。
在一些实施例中,该方法中选择性地移动给定单元的步骤还包含:对于每一个具有至少一个但少于总数之间隔临界值者并相对于第一水平方向,改变单元中的一个给定单元的位置,且前述的单元是对应于对应成对水平边缘对的一个水平边缘对的其中一个成员,借以扩大对应实际间距而足以避免违反垂直约束向量。
在一些实施例中,该方法中,改变单元中的一个给定单元的位置,保留其对应的毗邻末端。
在一些实施例中,该方法中,单元位于布局图的对应相邻列;且选择性地移动给定单元的步骤还包含:重新配置单元中的一个给定单元,且前述的给定单元对应于布局图中,相异列所对应的对应成对水平边缘对的水平边缘对其中一者的其中一个成员,借以破坏给定单元所对应的毗邻末端。
一些实施例中,该方法中,对于单元的一个给定单元所对应的给定临界值,选择性地移动给定单元的步骤还包含:决定第一移动成本、第二移动成本、第三移动成本及第四移动成本,第一、第二、第三及第四移动成本分别用以重新定位所对应的第一单元、第二单元、第三单元及第四单元,且分别自其所对应的第一单元、第二单元、第三单元及第四单元的对应的第一、第二、第三及第四目前位置至对应的第一、第二、第三及第四新位置;选择第一或第二或第三或第四单元所分别对应的第一、第二、第三或第四移动成本的最小者为被重新定位的对象;以及重新定位该对象,借以避免违反垂直约束向量;以及其中单元的一个给定单元对应于第一、第二、第三或第四单元。
一些实施例中,该方法中,对于第一、第二、第三及第四移动成本的一个给定移动成本,给定移动成本是至少根据部分的对应实际间隔及对应的最小间距之间的差异。
一些实施例中,该方法中,第一、第二、第三及第四成本分别为对应第一第一、第二、第三及第四位置成本;每一个第一、第二、第三及第四位置成本表示为总计成本,且总计成本关联于:自对应的第一、第二、第三及第四目前位置,分别移除其所对应的第一、第二、第三及第四单元;以及部属所对应的第一、第二、第三及第四单元于其所分别对应的第一、第二、第三及第四新位置;对应一个或多个跨接图案的第一组,用以在第一新位置以方法再耦接第一单元,借以等同于第一单元从未自第一目前位置移动;对应一个或多个跨接图案的第二组,用以在第二新位置以方法再耦接第二单元,借以等同于第二单元从未自第二目前位置移动;对应一个或多个跨接图案的第三组,用以在第三新位置以方法再耦接第三单元,借以等同于第三单元从未自第三目前位置移动;对应一个或多个跨接图案的第四组,用以在第四新位置以方法再耦接第四单元,借以等同于第四单元从未自第四目前位置移动;以及第一、第二、第三及第四位置成本是分别至少根据部分跨接图案对应于第一、第二、第三及第四套组所对应的累积长度。
一些实施例中,该方法还包含:根据布局图,制造至少一个(A)或(B),其中(A)为一个或多个半导体光罩,(B)为至少一个半导体集成电路中层结构的元件。
在一些实施例中,用以产生布局图且布局图储存于非暂态计算机可读取媒体的系统包含:至少一处理器;以及至少一记忆体,包含用于一个或多个程序的计算机程序码;其中于至少一该记忆体中,该计算机程序码及至少一该处理器用于使该系统执行:在该布局图中,识别违反一设计准则的三个或多个单元的一群组,该群组设置呈现为大致上对齐于一垂直方向的二个或多个边缘对,而形成复数垂直边缘对,或者该群组设置呈现为大致上对齐于一水平方向的二个或多个边缘对,而形成复数水平边缘对;每一该等垂直边缘对及每一该等水平边缘对包含二个表示为该群组的对应单元的对应垂直边缘及水平边缘中至少一部分的成员;相对于该水平方向,每一该等垂直边缘对的该等成员设置于毗邻边缘并分离一第一对应实际间距;相对于该垂直方向,每一该等水平边缘对的该等成员设置于毗邻边缘;相对于该水平方向,该等水平边缘对为成对设置而形成复数成对水平边缘对,借此,对于每一该等成对水平边缘对,其所对应的复数第一该等水平边缘对及复数第二该等水平边缘对设置于毗邻末端并分离一实际间距;以及该设计准则包含至少一间隔临界值,每一该等间隔临界值包含(A)或(B),其中(A)为一对应垂直边缘对并表示为在该水平方向上,该对应垂直边缘对的该等成员之间的一对应的第一最小间距,其中(B)为对应成对水平边缘对并表示为在该水平方向上,该对应成对水平边缘对的该等水平边缘对之间的一对应的第二最小间距;以及对于每一个具有至少一个但少于总数之间隔临界值者,选择性地移动该等单元中的一给定单元,该给定单元对应于(A)或(B),其中(A)为该等对应垂直边缘对的该等成员的其中一者,其中(B)为该等对应成对水平边缘对的该等水平边缘对的其中一该等成员的其中一者,借以避免违反该设计准则。
一些实施例中,该系统其中对于单元的一个给定单元所对应的给定临界值,选择性地移动给定单元的步骤还包含:若垂直边缘对为给定临界值的聚焦,则:决定第一移动成本及第二移动成本,且第一移动成本及第二移动成本分别用以重新定位所对应的第一单元及第二单元;选择第一单元或第二单元分别对应的第一移动成本及第二移动成本的最小者,以作为被重新定位的对象;重新定位该对象,借以避免违反设计准则;以及其中单元的一个给定单元对应于第一单元或第二单元;或者若水平边缘对为给定临界值的聚焦,则:决定第一移动成本、第二移动成本、第三移动成本及第四移动成本,第一、第二、第三及第四移动成本分别用以重新定位所对应的第一单元、第二单元、第三单元及第四单元,且分别自其所对应的第一单元、第二单元、第三单元及第四单元的对应的第一、第二、第三及第四目前位置至对应的第一、第二、第三及第四新位置;根据重新定位的套组,选择第一或第二或第三或第四单元所分别对应的第一、第二、第三或第四移动成本的最小者;以及重新定位套组,借以避免违反设计准则;以及其中单元的一个给定单元对应于第一、第二、第三或第四单元。
一些实施例中,该系统其中对于给定临界值,选择性地移动给定单元的步骤还包含:若垂直边缘对为给定临界值的聚焦,则:对于第一移动成本及第二移动成本的给定移动成本,给定移动成本是至少根据部分的对应第一实际间隔及对应的第一最小间距之间的差异;或者若一拍档为给定临界值的聚焦,则:对于第一、第二、第三及第四移动成本的一个给定移动成本,给定移动成本是至少根据部分的对应第二实际间隔及对应的第二最小间距之间的差异;或者若垂直边缘对为给定临界值的聚焦,则:第一移动成本及第二移动成本分别为对应第一位置成本及对应第二位置成本;每一个第一位置成本及每一个第二位置成本表示为总计成本,且总计成本关联于:自对应第一目前位置及第二目前位置,分别移除其所对应的第一单元及第二单元;部属所对应的第一单元及第二单元于其所分别对应的第一新位置及第二新位置;对应一个或多个跨接图案的第一组,用以在第一新位置以方法再耦接第一单元,借以等同于第一单元从未自第一目前位置移动;对应一个或多个跨接图案的第二组,用以在第二新位置以方法再耦接第二单元,借以等同于第二单元从未自第一目前位置移动;以及第一位置成本及第二位置成本是分别至少根据部分跨接图案对应于第一套组及第二套组所对应的累积长度;或者若水平边缘对为给定临界值的聚焦,则:第一、第二、第三及第四成本分别为对应第一第一、第二、第三及第四位置成本;每一个第一、第二、第三及第四位置成本表示为总计成本,且总计成本关联于:自对应的第一、第二、第三及第四目前位置,分别移除其所对应的第一、第二、第三及第四单元;部属所对应的第一、第二、第三及第四单元于其所分别对应的第一、第二、第三及第四新位置;对应一个或多个跨接图案的第一组,用以在第一新位置以方法再耦接第一单元,借以等同于第一单元从未自第一目前位置移动;对应一个或多个跨接图案的第二组,用以在第二新位置以方法再耦接第二单元,借以等同于第二单元从未自第一目前位置移动;对应一个或多个跨接图案的第三组,用以在第三新位置以方法再耦接第三单元,借以等同于第三单元从未自第三目前位置移动;以及对应一个或多个跨接图案的第四组,用以在第四新位置以方法再耦接第四单元,借以等同于第四单元从未自第四目前位置移动;以及第一、第二、第三及第四位置成本是分别至少根据部分跨接图案对应于第一、第二、第三及第四套组所对应的累积长度。
一些实施例中,该系统还包含至少一个下列元件:一光罩制造厂,用以根据布局图制造一个或多个半导体光罩;或者一制造厂,用以根据布局图制造至少一个集成电路半导体的结构层的元件。
前述概略说明多个实施例的特征使得本领域具通常知识者可以更好地理解本案的各个方面。本领域具通常知识者应理解的是,可以立即地使用本案作为设计或修改其他程序和结构的基础,以达到相同的目的和/或实现本案介绍的实施例的相同优点。本领域具通常知识者也应认识,如此的同等结构不脱离本案的精神和范围,并且在不脱离本案的精神和范围的情况下,可以于其中执行各种改变、替换和变更。
Claims (1)
1.一种产生布局图的方法,一布局图储存于一非暂态计算机可读取媒体,其特征在于,该方法包含:
在该布局图中,识别违反一水平约束向量的三或多个单元的一群组,该群组设置呈现为大致上对齐于一垂直方向的二或多个边缘对,而形成复数垂直边缘对;
每一该等垂直边缘对包含二个表示为至少具部分该群组的对应单元的垂直边缘部分的成员;
相对于一水平方向,每一该等垂直边缘对的该等成员设置于毗邻边缘并分离一对应实际间距;以及
该水平约束向量包含至少一间隔临界值,每一该等间隔临界值包含一对应垂直边缘对并表示为在该水平方向上,该对应垂直边缘对的该等成员之间的对应的一最小间距;以及
对于每一个具有至少一个但少于总数的该等间隔临界值者,选择性地移动该等单元中的一给定单元,该给定单元对应于该等对应垂直边缘对的该等成员中一者,以避免违反该水平约束向量。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862692457P | 2018-06-29 | 2018-06-29 | |
US62/692,457 | 2018-06-29 | ||
US16/441,802 | 2019-06-14 | ||
US16/441,802 US10776551B2 (en) | 2018-06-29 | 2019-06-14 | Method and system of revising a layout diagram |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110728106A true CN110728106A (zh) | 2020-01-24 |
Family
ID=69054692
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910578257.8A Pending CN110728106A (zh) | 2018-06-29 | 2019-06-28 | 产生布局图的方法 |
Country Status (3)
Country | Link |
---|---|
US (3) | US10776551B2 (zh) |
CN (1) | CN110728106A (zh) |
TW (1) | TW202001638A (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102017127276A1 (de) * | 2017-08-30 | 2019-02-28 | Taiwan Semiconductor Manufacturing Co., Ltd. | Standardzellen und abwandlungen davon innerhalb einer standardzellenbibliothek |
US10776551B2 (en) * | 2018-06-29 | 2020-09-15 | Taiwan Semiconductor Manufacturing Company Ltd. | Method and system of revising a layout diagram |
US10997348B2 (en) * | 2018-09-28 | 2021-05-04 | Taiwan Semiconductor Manufacturing Company Ltd. | Metal cut region location method and system |
US20230385505A1 (en) * | 2022-05-31 | 2023-11-30 | Taiwan Semiconductor Manufacturing Company, Ltd. | Method for chip integration |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7260442B2 (en) | 2004-03-03 | 2007-08-21 | Taiwan Semiconductor Manufacturing Co., Ltd. | Method and system for mask fabrication process control |
US8850366B2 (en) | 2012-08-01 | 2014-09-30 | Taiwan Semiconductor Manufacturing Company, Ltd. | Method for making a mask by forming a phase bar in an integrated circuit design layout |
US9256709B2 (en) | 2014-02-13 | 2016-02-09 | Taiwan Semiconductor Manufacturing Company, Ltd. | Method for integrated circuit mask patterning |
US9465906B2 (en) | 2014-04-01 | 2016-10-11 | Taiwan Semiconductor Manufacturing Company, Ltd. | System and method for integrated circuit manufacturing |
US10776551B2 (en) * | 2018-06-29 | 2020-09-15 | Taiwan Semiconductor Manufacturing Company Ltd. | Method and system of revising a layout diagram |
-
2019
- 2019-06-14 US US16/441,802 patent/US10776551B2/en active Active
- 2019-06-28 CN CN201910578257.8A patent/CN110728106A/zh active Pending
- 2019-06-28 TW TW108122998A patent/TW202001638A/zh unknown
-
2020
- 2020-08-19 US US16/997,703 patent/US11062076B2/en active Active
-
2021
- 2021-07-01 US US17/365,531 patent/US11741286B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11062076B2 (en) | 2021-07-13 |
US11741286B2 (en) | 2023-08-29 |
US10776551B2 (en) | 2020-09-15 |
US20200004912A1 (en) | 2020-01-02 |
TW202001638A (zh) | 2020-01-01 |
US20210326510A1 (en) | 2021-10-21 |
US20200380194A1 (en) | 2020-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11756999B2 (en) | Double height cell regions, semiconductor device having the same, and method of generating a layout diagram corresponding to the same | |
US10878158B2 (en) | Semiconductor device including cell region having more similar cell densities in different height rows, and method and system for generating layout diagram of same | |
KR102032300B1 (ko) | 셀 구조물들 및 이를 갖는 반도체 디바이스들 | |
CN110728106A (zh) | 产生布局图的方法 | |
KR102387001B1 (ko) | 홀수 개 핀 높이 셀 영역, 그것을 구비한 반도체 디바이스, 및 그것에 대응하는 레이아웃 다이어그램을 생성하는 방법 | |
US11552085B2 (en) | Semiconductor device including memory cell and fin arrangements | |
US11362090B2 (en) | Semiconductor device having buried logic conductor type of complementary field effect transistor, method of generating layout diagram and system for same | |
US10997348B2 (en) | Metal cut region location method and system | |
US20220043957A1 (en) | Method of forming merged pillar structures and method of generating layout diagram of same | |
US11587937B2 (en) | Method of forming semiconductor device including trimmed-gates | |
US12061856B2 (en) | Semiconductor device including combination rows and method and system for generating layout diagram of same | |
US20220216270A1 (en) | Integrated circuit device and method | |
TWI792553B (zh) | 製造半導體元件之方法和系統 | |
US20240364811A1 (en) | Semiconductor device having more similar cell densities in alternating rows, and method of forming the same | |
US20220310598A1 (en) | Semiconductor device having buried logic conductor type of complementary field effect transistor, method of forming same | |
KR20230017112A (ko) | 반도체 디바이스 및 그 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
CB03 | Change of inventor or designer information | ||
CB03 | Change of inventor or designer information |
Inventor after: Xu Mengkai Inventor after: Chen Shengxiong Inventor after: Wang Yanji Inventor after: Mai Weiji Inventor after: Zheng Yuxiang Inventor after: Huang Dingwai Inventor before: Xu Mengkai Inventor before: Chen Shengxiong |
|
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200124 |