CN105631087B - 用于集成电路布局生成的方法、器件和计算机程序产品 - Google Patents
用于集成电路布局生成的方法、器件和计算机程序产品 Download PDFInfo
- Publication number
- CN105631087B CN105631087B CN201510666871.1A CN201510666871A CN105631087B CN 105631087 B CN105631087 B CN 105631087B CN 201510666871 A CN201510666871 A CN 201510666871A CN 105631087 B CN105631087 B CN 105631087B
- Authority
- CN
- China
- Prior art keywords
- network
- air gap
- length
- virtual
- neighbouring
- 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
Links
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
- 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]
Abstract
至少部分地通过处理器实施的方法包括实施气隙***工艺。气隙***工艺包括按顺序排序集成电路的布局的多个网络,以及根据多个网络的排序顺序邻近多个网络***气隙图案。该方法还包括生成集成电路的修改布局。修改布局包括多个网络和***的气隙图案。本发明的实施例还涉及用于集成电路布局生成的方法、器件和计算机程序产品。
Description
技术领域
本发明涉及用于集成电路布局生成的方法、器件和计算机程序产品。
背景技术
使集成电路(IC)小型化的最近趋势已经产生了更小的器件,该更小的器件消耗更少的功率,还在更高的速度下提供更多功能。小型化工艺也已经产生了更严格的设计和/或制造规范。发展了多种电子设计自动化(EDA)工艺以生成、优化和验证IC设计,同时确保满足设计和制造规范。
发明内容
为了解决现有技术中的问题,根据本发明的一些实施例,提供了一种方法,所述方法至少部分地通过处理器实施,所述方法包括:实施气隙***工艺,所述气隙***工艺包括:按顺序排序集成电路的布局的多个网络;以及根据所述多个网络的排序顺序在邻近所述多个网络处***气隙图案;以及生成所述集成电路的修改布局,所述修改布局包括所述多个网络和***的所述气隙图案。
根据本发明的另一些实施例,提供了一种器件,包括配置为实施以下操作的至少一个处理器:虚拟网络和气隙***工艺,所述虚拟网络和气隙***工艺包括:按顺序排序集成电路的布局的多个网络;和根据所述多个网络的排序顺序在邻近所述多个网络处***虚拟网络和气隙图案;以及生成所述集成电路的修改布局,所述修改布局包括所述多个网络、***的所述虚拟网络和***的所述气隙图案。
根据本发明的又一些实施例,提供了一种计算机程序产品,包括其中含有指令的非暂时性计算机可读介质,当由至少一个处理器执行所述指令时,导致所述至少一个处理器实施:在集成电路的多个网络中选择用于气隙***的候选网络;基于相应的候选网络的长度确定所述候选网络的各个缩放比率;基于所述候选网络的相应的缩放比率估算所述候选网络的电容;以及基于所述候选网络的估算的电容,实施全局路由、跟踪任务和详细路由中的至少一个,以生成所述集成电路的布局。
附图说明
当结合附图进行阅读时,从以下详细描述可最佳理解本发明的各方面。应该注意,根据工业中的标准实践,各个部件未按比例绘制。实际上,为了清楚的讨论,各个部件的尺寸可以任意地增大或减小。
图1是根据一些实施例的至少部分IC设计工艺的功能流程图。
图2A是根据一些实施例的用于IC的部分布局的示意平面图。
图2B是根据一些实施例的制造的IC的部分的示意截面图。
图3是根据一些实施例的气隙***方法的流程图。
图4A至图4D是根据一些实施例的IC布局的各个部分的示意平面图。
图5是根据一些实施例的虚拟网络和气隙***方法的流程图。
图6A至图6D是根据一些实施例的IC布局的各个部分的示意平面图。
图7是根据一些实施例的部分IC设计工艺的流程图。
图8是根据一些实施例的EDA工具的功能流程图。
图9A是根据一些实施例的用于IC的部分布局的示意平面图。
图9B是根据一些实施例的用于确定由IC设计工艺中的EDA工具使用的缩放比例的图。
图9C至图9E是根据一些实施例的IC布局的各个部分的示意平面图。
图10是根据一些实施例的至少部分IC设计工艺的功能流程图。
图11是根据一些实施例的计算机***的框图。
具体实施方式
以下公开内容提供了许多用于实现所提供主题的不同特征的不同实施例或实例。下面描述了组件和布置的具体实例以简化本发明。当然,这些仅仅是实例,而不旨在约束本发明。例如,在以下描述中,在第二部件上方或者上形成第一部件可以包括第一部件和第二部件直接接触形成的实施例,并且也可以包括在第一部件和第二部件之间可以形成额外的部件,从而使得第一部件和第二部件可以不直接接触的实施例。此外,本发明可在各个实例中重复参考标号和/或字符。该重复是为了简单和清楚的目的,并且其本身不指示所讨论的各个实施例和/或配置之间的关系。
图1是根据一些实施例的至少部分设计工艺100的功能流程图。在制造IC之前,设计工艺100利用一种或多种EDA工具以用于生成、优化和/或验证IC的设计。如本文中描述的,在一些实施例中,EDA工具是一个或多个可执行指令集,该一个或多个可执行指令集由配置为实施指示的功能的至少一个处理器执行。
在操作110中,由电路设计师提供IC的设计。在一些实施例中,IC的设计包括IC的示意图,即,电路图。在一些实施例中,以诸如集成电路通用模拟程序(SPICE)网络表的示意网络表的形式生成或提供该示意图。在一些实施例中,对设计实施布局前模拟以确定设计是否满足预定规范。当设计不满足预定规范时,重新设计IC。在至少一个实施例中,省略布局前模拟。
在操作120中,基于设计生成IC的布局。布局包括IC的各个电路元件的物理位置以及互连电路元件的各个网络的物理位置。例如,以图形设计***(GDS)文件的形式生成布局。用于描述设计的其他数据格式在各个实施例的范围内。在一些实施例中,由自动布局布线(APR)工具生成布局。结合图8描述了根据一些实施例的示例性APR工具的配置和功能。
在操作130中,实施伪***工艺以将伪部件***布局内。在至少一个实施例中,伪部件***的目的是改进生产产量和/或质量。例如,IC生产涉及多个工艺,包括但不限于沉积、光刻、蚀刻、化学机械抛光(CMP)等。实施CMP工艺以回蚀刻并且平坦化导电材料和/或介电材料,并且CMP工艺涉及材料去除工艺中的化学蚀刻和机械研磨。在一些实施例中,伪部件的***改进了制造的IC中的导电材料(例如,金属)的密度,从而实现足以确保CMP质量的机械强度。在另一实例中,当邻近的导电图案通过大于预定值的间距彼此间隔较远时,在制造期间可能发生金属偏置效应,并且金属偏置效应导致间隔较远的导电图案的宽度变得比初始设计的宽度宽,这进而导致电阻、电容和/或电路性能的意外变化。在一些实施例中,在间隔较远的导电图案之间***伪部件降低了金属偏置效应的可能性并且改进了制造的IC的质量和/或性能。在至少一个实施例中,通过本文中描述的APR工具和/或设计规则检查(DRC)工具实施伪***工艺。在美国专利第7,801,717号和美国专利第8,307,321号中描述了示例性伪***工艺,其全部内容结合于此作为参考。结合图5和图6A至图6D描述了根据一些实施例的进一步示例性伪***工艺。
在操作140中,实施气隙***工艺以将气隙图案***布局内。如结合图2A至图2B描述的,***在布局中的气隙图案将产生形成在制造的IC中的气隙,以减小寄生电容并且改进制造的IC的性能。结合图3和图4A至图4D描述了根据一些实施例的示例性气隙***工艺。
在操作150中,通过RC提取工具实施电阻和电容(RC)提取。运行RC提取以确定IC中的组件的寄生参数(例如,寄生电阻和寄生电容),以用于随后的操作中的时序和/或功率模拟。这些寄生参数不是电路设计师所预期的,而是由于IC中的各个组件的配置和/或材料导致的。提取的寄生参数包括在RC技术文件中。结合图10描述了根据一些实施例的示例性RC提取工具的配置和功能。
在一些实施例中,实施一个或多个验证和/或检查。例如,实施布局对原理图(LVS)检查以确保生成的布局对应于设计。另一实例,通过DRC工具实施设计规则检查以确保布局满足特定的制造设计规则,即,确保可以制造IC。当其中一个检查失败时,通过使工艺返回至操作110和/或操作120而对至少一个布局或设计作出校正。
在操作160中,实施时序终止检查(也称为布局后模拟)以确定布局是否满足预定规范。在一些实施例中,当布局后模拟指示布局不满足预定规范时,例如,当存在不期望的时间延迟时,通过使工艺返回至操作110-140中的任何操作而对至少一个布局或设计作出校正。否则,会将布局传递至操作170中的制造。在一些实施例中,省略了一个或多个上述操作。
图2A是根据一些实施例的用于IC的部分布局200A的示意性平面图。布局200A包括多个网络202、204、206、208、210和212。布局200A还包括位于相应的网络对之间的多个气隙图案222、224、226和228。例如,气隙图案222位于网络202和212之间,气隙图案224位于网络204和206之间,气隙图案226位于网络206和208之间,并且气隙图案228位于网络208和210之间。
虽然在图2A中未示出,布局200A还包括由多个网络互连的多个电路元件。电路元件是有源元件或无源元件。有源元件的实例包括但不限于晶体管和二极管。晶体管的实例包括但不限于金属氧化物半导体场效应晶体管(MOSFET)、互补金属氧化物半导体(CMOS)晶体管、双极结晶体管(BJT)、高压晶体管、高频晶体管、p沟道和/或n沟道场效应晶体管((PFET/NFET)等)、FinFET、具有凸起的源极/漏极的平面MOS晶体管等。无源元件的实例包括但不限于电容器、电感器、熔丝和电阻器。在一些实施例中,电路元件具有一个或多个节点,通过节点将电信号输入电路元件或从电路元件输出电信号。在一些实施例中,成对的节点通过互连件彼此电连接。一组电连接的互连件形成网络。在至少一个实施例中,网络包括单一的互连件。在至少一个实施例中,IC包括许多交替布置的导电层和介电层。在导电层中形成互连件。在至少一个实施例中,网络包括在单个导电层中形成的一个或多个互连件。在至少一个实施例中,网络包括在IC的不同导电层中形成的互连件以及电连接形成在不同导电层中的互连件的一个或多个通孔。为了简化,本文中描述的示例性实施例中的各个网络在一个或多个图中示出为包括单个互连件和/或形成在单个导电层中。本文中的描述适用于其中网络包括多于一个的互连件和/或形成在多于一个的导电层中的实施例。
多个网络包括信号网络202、204、206、208和210以及虚拟网络212。信号网络是配置为将信号或电源(power)传输至电路元件的网络。信号的实例包括但不限于数据信号、控制信号、时钟信号等。虚拟网络是不配置为传输信号或电源的网络。例如,虚拟网络是浮动网络。在本文中的描述中,除非另有声明,“网络”指的是“信号网络”和“虚拟网络”。
气隙图案222、224、226和228是包括在布局200A中的掩模层中的图案。气隙图案222、224、226和228覆盖邻近的网络之间的相应的空间。例如,气隙图案222覆盖邻近的网络202、212之间的空间。例如,如结合图2B描述的,当制造IC时,防止介电材料形成在由气隙图案222、224、226和228覆盖的空间中,从而在邻近的网络之间产生相应的气隙。
图2B是根据一些实施例的制造的IC 200B的部分的示意性截面图。在图2B中的示例性配置中,制造的IC 200B的部分对应于沿着图2A中的线II-II截取的截面图。制造的IC200B包括多个交替布置的导电层231、233以及介电层232、234。例如,介电层232布置在导电层231上方,导电层233布置在介电层232上方,并且介电层234布置在导电层233上方。导电层231包括电连接至下面的导电层或电路元件的导电图案235。导电图案235电连接至介电层232的介电材料236中的导电通孔237。导电层233包括介电材料238中的多个导电图案244、246、248。如本文中描述的,导电图案248通过导电通孔237电连接至导电图案235以在多个导电层中形成网络。导电图案244、246、248对应于图2A的布局200A中的网络204、206和208。气隙264位于导电图案244和246之间。气隙266位于导电图案246和248之间。气隙244、246对应于图2A的布局200A中的气隙图案224、226。在一个或多个实施例中,由于工艺变化和/或材料特性,部分介电材料存在于气隙和相应的导电图案之间。例如,虽然布局200A中的气隙图案224从边到边地覆盖网络204、206之间的空间,但是介电材料238的部分265、267仍存在于气隙264和相应的导电图案244、246之间的覆盖的空间中。在一些实施例中,气隙从边到边地延伸在相应的导电图案之间,例如,介电材料238的部分265、267不存在于制造的IC中。未由气隙图案覆盖的邻近的导电图案之间的区域填充有介电材料。例如,图2A的布局200A中的区域229未由气隙图案覆盖并且将填充有制造的IC 200B中的介电材料238。介电层234的介电材料239位于导电层233上方。在至少一个实施例中,由于与用于形成介电材料239的材料和/或工艺相关的一个或多个因素,气隙的顶部突入介电材料239内。例如,气隙266的顶部269突入介电材料239内。导电图案235、244、246、248和/或导电通孔237的示例性材料包括诸如铜的金属。介电材料236、238、239的示例性材料包括但不限于SiNx、SiOx、SiON、SiC、SiBN、SiCBN或它们的组合。在美国专利第8,456,009号中描述了用于气隙形成的示例性工艺,其全部内容结合于此作为参考。制造的IC的描述的配置是实例。其他配置在各个实施例的范围内。
为了电路***小型化的目的,IC中的诸如互连件和电路元件的导电结构的密度增大,而互连件和电路元件的尺寸减小。结果,导电结构之间的寄生电容潜在地增大,这进而潜在地增大功耗和/或IC的各个电路元件之间传输的信号的时间延迟。导电结构之间的寄生电容取决于导电结构之间的绝缘件的介电常数。由于空气的介电常数(约1)低于各种介电材料的介电常数,在IC的导电结构之间除了形成介电材料之外,也形成气隙,以减小邻近的导电结构之间的绝缘件的整体有效介电常数以及减小寄生电容。在一些实施例中,“气隙”包括空气、真空、气体或介电常数低于在IC的导电结构之间形成的介电材料的介电常数的物质。如本文中描述的,气隙形成经受一个或多个气隙约束。一些实施例提供了用于最大化、优化或增加寄生电容减小的效果而同时满足气隙约束的各种气隙***方法。
图3是根据一些实施例的气隙***方法300的流程图。图4A至图4D是根据一些实施例的用于示出方法300的各种实施方式的IC布局400A至400D的各个部分的示意性平面图。方法300包括气隙***工艺305,其中,邻近IC的布局的多个网络***气隙图案。方法300还包括操作315,其中,生成了修改布局,修改布局包括多个网络和***的气隙图案。
在图3中的气隙***工艺305的操作325中,按顺序排序集成电路的布局或布局的部分中的多个网络。在一些实施例中,通过网络的相应的长度(本文中也称为网络长度)排序多个网络。例如,如图4A所示,布局400A的层包括网络402、404、406。网络404邻近网络402、406并且通过边到边间距s与网络402、406间隔开。例如,间距s是网络402的边缘407与网络404的边缘408之间的距离。间距s满足用于气隙***的约束。例如,间距s等于或小于用于气隙***的最大间距。当邻近的网络之间的间距大于用于气隙***的最大间距时,气隙图案不***在邻近的网络之间。在至少一个实施例中,间距s是IC的设计和/或制造规范所允许的邻近的网络之间的最小间距,并且仅允许气隙***在具有间距s的邻近的网络之间。在图4A中的示例性配置中,网络404的长度(其表示为图4A中的“长度”)大于网络402的长度,网络402的长度进而大于网络406的长度。网络402、404、406按相应的长度的顺序排序,即,以网络404、网络402、网络406的以下顺序。
在排序多个网络之后,根据多个网络的排序顺序邻近多个网络***气隙图案。例如,在图3中的气隙***工艺305的操作335中,将指数i设置为1。这对应于在用于气隙***的IC的排序网络中选择第一网络。在图4A中的示例性配置中,选择具有最长长度的网络404在具有较短长度的其他网络402、406之前用于气隙***。
在图3中的气隙***工艺305的操作345中,邻近当前选择的网络(即,网络[i])***至少一个气隙图案。在图4A中的示例性配置中,邻近当前选择的网络404***气隙图案411、413。气隙图案411***在当前选择的网络404和邻近的网络402之间以减小网络402、404之间的寄生电容。气隙图案413***在当前选择的网络404和另一邻近的网络406之间以减小网络404、406之间的寄生电容。
在图3中的气隙***工艺305的操作355中,确定已经***的气隙图案是否满足约束。在图4A中的示例性配置中,确定已经***的气隙图案411、413是否满足约束。在一些实施例中,约束包括气隙密度,即,由***的气隙图案覆盖的气隙的总面积与将在其中形成气隙的层的总面积的比率。层的总面积包括层中的导电结构(例如,网络)的面积以及网络之间的绝缘件(例如,气隙和介电材料)的面积。当已经***的气隙图案的气隙密度大于预定的气隙密度约束时,层的机械强度可能不足以抵抗制造期间和/或最终产品中的应力。在一些实施例中,气隙密度约束为50%。除了气隙密度之外的其他气隙密度约束值和/或约束在各个实施例的范围内。
在图3中的气隙***工艺305的操作365中,响应于确定已经***的气隙图案满足约束(操作355中的是),增大指数i。这对应于在用于气隙***的IC的排序网络中选择下一网络。在图4A中的示例性配置中,选择下一网络(即,网络402)用于气隙***。然后该工艺返回操作345,在操作345中,邻近网络402(例如,在网络402和邻近网络402的另一网络之间)***至少一个气隙图案。然后该工艺进行至操作355,在操作355中,确定已经***的气隙图案(即,气隙图案411、413以及邻近网络402***的一个或多个气隙图案)是否满足约束。响应于确定已经***的气隙图案满足约束(操作355中的是),再次增大指数i,并且对下一网络(例如,图4A中的网络406)执行操作345和355。
在图3中的气隙***工艺305的操作375中,响应于确定已经***的气隙图案不满足约束(操作355中的否),去除最后***的气隙图案,并且然后该工艺进行至操作315,其中,生成具有剩余的已经***的气隙图案的IC的修改布局。例如,当当前网络是图4A中的示例性配置中的网络402并且操作355表明已经***的气隙图案不满足约束时,去除邻近网络402***的至少一个气隙图案。在一些实施例中,响应于确定当已经邻近当前的网络***若干气隙图案时不满足约束,去除邻近当前的网络***的所有气隙图案。在一些实施例中,响应于确定当已经邻近当前的网络***若干气隙图案时不满足约束,逐个去除邻近当前的网络***的气隙图案,直到满足约束。其他布置在各个实施例的范围内。
在一些实施例中,通过根据网络的相应的长度排序IC或IC的部分中的多个网络,具有较长长度的网络在较短长度的网络之前***气隙图案。结果,在一个或多个实施例中,对于沿着长网络的网络电容,优化了寄生电容减小,长网络可能比短网络对时间延迟和电路性能具有更大的影响。描述的通过网络长度排序是实例。其他排序布置在各个实施例的范围内。
在一些实施例中,通过投影长度排序IC或IC的部分中的网络。成对的邻近的网络的投影长度是在其上方邻近的网络沿着彼此延伸的长度。在图4B中的示例性配置中,网络422、424的投影长度a是在其上方网络422、424沿着彼此延伸的长度。投影长度a对应于网络422、424之间可***的气隙的长度。网络424、426的投影长度b是在其上方网络424、426沿着彼此延伸的长度。投影长度b对应于网络424、426之间可***的气隙的长度。网络426、428的投影长度c是在其上方网络426、428沿着彼此延伸的长度。投影长度c对应于网络426、428之间可***气隙的长度。在图4B中的示例性配置中,投影长度a长于投影长度c,投影长度c进而长于投影长度b。
如关于图3中的操作335、345、355、365和375所描述的,在一些实施例中,在通过相应的投影长度排序网络之后,在具有较短的投影长度的网络之前,在具有较长投影长度的网络之间***气隙图案,并且检查约束。在图4B中的示例性配置中,首先在具有最长投影长度a的网络422、424之间***气隙图案431。确定***的气隙图案431是否满足约束。假定***的气隙图案431满足约束,则工艺进行至在具有第二长的投影长度c的网络426、428之间***气隙图案435。确定***的气隙图案431、435是否满足约束。假定***的气隙图案431、435满足约束,则工艺进行至在具有投影长度b的网络424、426之间***气隙图案(示出,例如,图4C中的437)。确定***的气隙图案(例如,气隙图案431、435以及网络424、426之间***的气隙图案)是否满足约束。假定***的气隙图案不满足约束,则去除网络424、426之间的最后***的气隙图案(示出,例如,图4C中的437)。如图4B所示,生成具有网络422、424、426、428以及***的气隙图案431、435的修改布局。在采用关于图4B描述的排序布置的一个或多个实施例中,对于网络之间的耦合电容,优化了寄生电容减小。
在一些实施例中,通过成本函数排序IC或IC的部分中的网络。示例性成本函数Cost1是沿着每个网络的投影长度的总和,如由以下等式确定:
其中,
i表示多个网络中的第i个网络,
N是多个网络中的且邻近第i个网络的网络的数量,
j表示邻近第i个网络的N个网络中的第j个网络,
投影长度(j)是在其上方第i个网络和第j个网络沿着彼此延伸的投影长度,以及
长度(i)是第i个网络的长度。
在图4C中的示例性配置中,与关于图4B描述的相同的网络422、424、426和428考虑用于气隙***。通过成本函数Cost1排序图4C中的网络422、424、426和428,而不是如关于图4B描述的投影长度。对于网络422,成本函数Cost1是投影长度a。对于网络424,成本函数Cost1是投影长度a加上投影长度b的总和,该总和在网络422、424、426和428中是最大的。对于网络426,成本函数Cost1是投影长度b加上投影长度c的总和,该总和在网络422、424、426和428中是第二大的。对于网络428,成本函数Cost1是投影长度c,投影长度c在网络422、424、426和428中是最小的。结果,按以下顺序排序网络:网络424、网络426、网络422和网络428。
如关于图3中的操作335、345、355、365和375所描述的,在一些实施例中,在通过成本函数Cost1排序网络之后,在具有较小Cost1的网络之前,邻近具有较大Cost1的网络***气隙图案,并且检查约束。在图4C中的示例性配置中,在其他网络422、426、428之前,邻近具有最大Cost1的网络424***气隙图案431和437。确定***的气隙图案431、437是否满足约束。假定***的气隙图案431、437满足约束,则由于网络426具有第二大的Cost1,工艺进行至在网络426、428之间***气隙图案(示出,例如,图4B中的435)。确定***的气隙图案431、437以及网络426、428之间***的气隙图案是否满足约束。假定***的气隙图案不满足约束,则去除网络426、428之间的最后***的气隙图案(示出,例如,图4B中的435)。如图4C所示,生成具有网络422、424、426、428以及***的气隙图案431、437的修改布局。在采用关于图4C描述的使用成本函数Cost1的排序布置的一个或多个实施例中,对于网络的总电容,优化了寄生电容减小。
根据一些实施例,另一示例性成本函数Cost2是每个网络的成本函数Cost1与网络的长度的比率,如由以下等式确定:
Cost2(i)=Cost1(i)/长度(i) (2)
在图4D中的示例性配置中,网络442、446、448、450和452具有相同的长度L,并且网络444具有长度2L。对于网络444和450,成本函数Cost1是2L。然而,网络444的长度是2L,而网络450的长度是L。结果,网络444的成本函数Cost2是1,并且网络450的成本函数Cost2是2。当通过成本函数Cost2排序网络时,具有较大Cost2的网络450的排名高于具有较小Cost2的网络444。
如关于图3中的操作335、345、355、365和375所描述的,在一些实施例中,在通过成本函数Cost2排序网络之后,在具有较小Cost2的网络之前,邻近具有较大Cost2的网络***气隙图案,并且检查约束。例如,在邻近较低排名的网络444***气隙图案457、459之前,邻近较高排名的网络450***气隙图案453、455。在采用关于图4D描述的使用成本函数Cost2的排序布置的一个或多个实施例中,对于网络的总电容与网络长度的比率,优化了寄生电容减小。
描述的排序布置是实例。其他排序布置在各个实施例的范围内。在一些实施例中,不同的排序布置应用于IC的不同部分。在一些实施例中,当排序布置产生在后续阶段未通过验证或检查的气隙图案时,应用另一排序布置以重新生成气隙图案。
在一些实施例中,寄生电容减小优化工艺不仅涉及气隙***,而且涉及虚拟网络***。
图5是根据一些实施例的虚拟网络和气隙***方法500的流程图。图6A至图6B是根据一些实施例的用于示出方法500的各个实施方式的IC布局600A至600B的各个部分的示意性平面图。方法500包括虚拟网络和气隙***工艺505,其中,邻近IC的布局的多个网络***虚拟网络和气隙图案。方法500还包括操作515,其中,生成修改布局,修改布局包括多个网络以及***的虚拟网络和气隙图案。
在图5中的虚拟网络和气隙***工艺505的操作525中,按顺序排序集成电路的布局或布局的部分中的多个网络。如关于图4A描述的,在一些实施例中,通过网络的相应的长度排序多个网络。例如,如图6A所示,布局600A的层包括网络602、604、606。与邻近网络602、606相比,网络604具有最长的长度(其表示为图6A中的“长度”)。
在排序多个网络之后,根据多个网络的排序顺序邻近多个网络***虚拟网络和气隙图案。例如,在图5中的虚拟网络和气隙***工艺505的操作535中,将指数i设置为1。这对应于在用于虚拟网络和气隙***的IC的排序网络中选择第一网络。在图6A中的示例性配置中,具有最长长度的网络604在具有较短长度的其他网络602、606之前被选择用于虚拟网络和气隙***。
在图5中的虚拟网络和气隙***工艺505的操作540中,邻近当前选择的网络(即,网络[i])***至少一个虚拟网络。在图6A中的示例性配置中,邻近间距为s的当前选择的网络604***虚拟网络608、610,间距s允许气隙图案***在虚拟网络608、610和当前选择的网络604之间。
在图5中的虚拟网络和气隙***工艺505的操作545中,邻近当前选择的网络(即,网络[i])***至少一个气隙图案。在图6A中的示例性配置中,邻近当前选择的网络604***气隙图案611、613、615和617。具体地,气隙图案611、613、615和617***在一方面的当前选择的网络604和另一方面的相应的网络602、606、608与610之间以减小相应的邻近的网络之间的寄生电容。
如关于图3中的操作355描述的,在图5中的虚拟网络和气隙***工艺505的操作555中,确定已经***的气隙图案是否满足约束。
如关于图3中的操作365描述的,在图5中的虚拟网络和气隙***工艺505的操作565中,响应于确定已经***的气隙图案满足约束(操作555中的是),增大指数i,并且工艺返回操作540和545以***用于IC的排序网络中的下一网络的至少一个虚拟网络和至少一个气隙图案。
如关于图3中的操作375描述的,在图5中的虚拟网络和气隙***工艺505的操作575中,响应于确定已经***的气隙图案不满足约束(操作555中的否),去除最后***的气隙图案,并且然后该工艺进行至操作515。
在一些实施例中,在操作575中,响应于确定已经***的气隙图案不满足约束,不仅去除最后***的气隙图案,而且去除最后***的虚拟网络。在一些实施例中,响应于确定当已经邻近当前的网络***若干气隙图案和/或虚拟网络时不满足约束,去除邻近当前的网络***的所有气隙图案和虚拟网络。在一些实施例中,响应于确定当已经邻近当前的网络***若干气隙图案和虚拟网络时不满足约束,逐个去除邻近当前的网络***的气隙图案,直到满足约束。当去除在当前的网络和***的虚拟网络之间***的气隙图案时,也去除虚拟网络。其他布置在各个实施例的范围内。
根据一些实施例,通过方法500可实现关于方法300描述的一个或多个优势和/或效果。在至少一个实施例中,虚拟网络的额外***增大了气隙覆盖范围。例如,在图4A中的布局400A中,***两个气隙图案411、413,而在图6A中的布局600A中,***四个气隙图案611、613、615、617。结果,在至少一个实施例中,通过方法500进一步增强了寄生电容减小效果。
在一些实施例中,通过成本函数排序IC或IC的部分中的网络。通过以下等式确定示例性成本函数Cost3:
其中,
i表示多个网络中的第i个网络,
N是多个网络中的且邻近第i个网络的网络的数量,
j表示邻近第i个网络的N个网络中的第j个网络,
投影长度(j)是在其上方第i个网络和第j个网络沿着彼此延伸的投影长度,
C气隙是第i个网络和第j个网络之间的单元耦合电容,
P是邻近第i个网络可***的虚拟网络的数量,
k表示邻近第i个网络可***的P个虚拟网络中的第k个虚拟网络,
虚拟长度(k)是第k个虚拟网络的长度,以及
C虚拟是第k个虚拟网络的单元耦合电容。
在图6B中的示例性配置中,布局600B包括网络622、624、626和632。如关于图4B描述地确定网络624关于邻近的网络622和626的投影长度。基于网络622、624、626和632的尺寸和/或投影长度,确定邻近网络624可***虚拟网络628、630,并且确定虚拟网络628、630的尺寸。基于可***的虚拟网络628、630的尺寸,确定与邻近网络624***的虚拟网络的电容相关的成本函数Cost3(或Cap_Cost)。以类似的方式确定与邻近其他网络622、626和632***的虚拟网络的电容相关的成本函数Cost3,并且通过成本函数Cost3排序网络622、624、626和632。如关于图5描述的,随后该工艺***虚拟网络和气隙图案。在采用使用成本函数Cost3排序布置的一个或多个实施例中,对于网络的总电容,优化了寄生电容减小。
通过以下等式确定另一示例性成本函数Cost4:
Cost4(i)=Cap_Cost(i)/长度(i) (4)
其中,
i表示多个网络中的第i个网络,以及
长度(i)是第i个网络的长度。
在计算了网络的成本函数Cost4之后,通过计算的成本函数值排序网络。如关于图5描述的,随后该工艺***虚拟网络和气隙图案。在采用使用成本函数Cost4的排序布置的一个或多个实施例中,对于网络的总电容与网络长度的比率,优化了寄生电容减小。
通过以下等式确定另一示例性成本函数Cost5:
Cost5(i)=Cap_Cost(i)×Res_Cost(i) (5)
其中,
以及
R虚拟是第k个网络的单元电阻。
在计算了网络的成本函数Cost5之后,通过计算的成本函数值排序网络。如关于图5描述的,随后该工艺***虚拟网络和气隙图案。在采用使用成本函数Cost5的排序布置的一个或多个实施例中,不仅考虑与***的虚拟网络的电容相关的成本函数Cap_Cost,而且考虑与***的虚拟网络的电阻相关的成本函数Res_Cost。在至少一个实施例中,因为***的虚拟网络有助于减小电容,同时由于对应于虚拟网络的添加的导电图案而增大电阻,所以***的虚拟网络的电阻的该额外考虑是有用的。
描述的用于虚拟网络和气隙***的排序布置是实例。其他排序布置在各个实施例的范围内。在一些实施例中,不同排序布置应用于IC的不同部分。在一些实施例中,当排序布置产生在后续阶段未通过验证或检查的气隙图案时,应用另一排序布置以重新生成气隙图案。
图6C是根据一些实施例的IC布局600C的部分的示意性平面图。布局600C包括网络652、654、656、658、660和662。邻近的网络654、656彼此间隔开间距s,间距s允许气隙图案675***在网络654、656之间。类似地,邻近的网络658、660之间和邻近的网络660和662之间的间距s允许***相应的气隙图案677、679。然而,网络652和654之间的间距是3s,3s大于允许气隙***的间距s。在一些实施例中,在间距大于用于气隙***的最大间距的两个邻近的网络之间***虚拟网络,以允许气隙图案***在虚拟网络和该两个邻近的网络之间。例如,在网络652和654之间***具有s的宽度的虚拟网络664。结果,虚拟网络664和每个网络652、654之间的间距变成允许气隙***的间距s。结果,气隙图案671、673可***虚拟网络664和相应的网络652、654之间以增大气隙覆盖范围并且减小网络652、654的寄生电容。描述的虚拟网络***技术在本文中称为3s虚拟***。在一些实施例中,在关于图1描述的操作130中实施3s虚拟***。在一些实施例中,在操作130中实施的3s虚拟***之后还进行关于图3描述的气隙***方法。在一些实施例中,以如关于图5描述的虚拟网络和气隙***方法,在操作540中实施3s虚拟***。其他布置在各个实施例的范围内。
布局600C示出了当根据一些实施例实施3s虚拟***以增大气隙覆盖范围时的实例;然而,未优化虚拟网络和气隙***。图6D是根据一些实施例的具有优化的虚拟网络和气隙***的IC布局600D的部分的示意性平面图。在至少一个实施例中,通过使用关于图6A至图6B以及成本函数Cost3、Cost4和Cost5描述的排序布置实施方法500来获得布局600D。例如,在至少一个实施例中,采用通过关于图6A描述的网络长度的排序布置以获得布局600D。与布局600C相比,在布局600D中,在网络654和658之间***虚拟网络684,并且气隙图案691、693、695、677和699集成在长网络658、660和***的虚拟网络684周围。结果,长网络658和660的寄生电容减小,从而产生比布局600C实现的更大量的寄生电容减小。在至少一个实施例中,布局600C中的虚拟网络664以及气隙图案671、673、675和679的长度基本上等于布局600D中的相应的虚拟网络684以及气隙图案691、693、695和699的长度。结果,与布局600C相比,布局600D实现了沿着长和/或关键网络的更大量的寄生电容减小,而虚拟网络和气隙图案的覆盖范围基本上没有变化。
图7是根据一些实施例的IC设计工艺700的部分的流程图。
在操作715中,生成IC的布局。在至少一个实施例中,通过本文中描述的APR工具生成该布局。
在操作725中,实施虚拟网络***工艺。在至少一个实施例中,如关于图1中的操作130描述的,***虚拟网络以改进生产产量和/或质量。在至少一个实施例中,在操作725中以虚拟网络***工艺实施3s虚拟***。
在操作735中,实施气隙***工艺。在至少一个实施例中,在操作735中实施气隙***方法300。在一些实施例中,在操作725和735中实施虚拟网络和气隙***方法500。通过操作735生成IC的修改布局。
在操作745中,实施时序终止检查。在至少一个实施例中,如关于图1中的操作160描述的,实施时序终止检查以确定IC的修改布局是否满足时序规范。
响应于确定IC的修改布局不满足时序规范(操作755中的否),工艺进行至操作765,其中,识别IC中的一个或多个故障的信号路径。
在一些实施例中,工艺进一步从操作765进行至操作735(如箭头767所示),其中,对一个或多个故障的信号路径中的网络实施气隙***优化。例如,在一个或多个实施例中,在操作735中,使用关于图4A至图4D描述的排序布置中的至少一种(例如,网络长度、投影长度、Cost1或Cost2),对IC的布局中的网络实施气隙***方法300。使用描述的排序布置中的至少一种(例如,网络长度、投影长度、Cost1或Cost2),对在操作765中识别的一个或多个故障的信号路径中的网络再次应用气隙***方法300。在至少一个实施例中,对于不同的行(runs),气隙***方法300使用不同的排序布置。例如,气隙***方法300使用一种排序布置(例如,网络长度)用于优化布局的气隙***,并且使用不同的排序布置(例如,Cost2)用于优化一个或多个故障的信号路径的气隙***。其他布置在各个实施例的范围内。
在一些实施例中,工艺进一步从操作765进行至操作725(如箭头769所示),其中,对一个或多个故障的信号路径中的网络实施虚拟网络和气隙***优化。例如,在一个或多个实施例中,在操作725和735中,使用本文中描述的排序布置中的至少一种(例如,网络长度、Cost3、Cost4和Cost5),对IC的布局中的网络实施虚拟网络和气隙***方法500。使用描述的排序布置中的至少一种(例如,网络长度、Cost3、Cost4和Cost5),对在操作765中识别的一个或多个故障的信号路径中的网络再次应用虚拟网络和气隙***方法500。在至少一个实施例中,对于不同的行,虚拟网络和气隙***方法500使用不同的排序布置。例如,虚拟网络和气隙***方法500使用一种排序布置(例如,网络长度)用于优化布局的虚拟网络和气隙***,并且使用不同的排序布置(例如,Cost5)用于优化一个或多个故障的信号路径的虚拟网络和气隙***。其他布置在各个实施例的范围内。
响应于确定IC的修改布局满足时序规范(操作755中的是),工艺终止于操作775。在至少一个实施例中,已经通过时序终止的修改布局经受进一步验证或检查,或者被输出用于制造IC。
在其他方法中,仅考虑产量而实施气隙***,并且当存在时序违规时,工艺返回至APR处的放置或路由阶段,以用于耗时的重新放置和/或重新路由。与其他方法相比,当存在时序违规时,根据一些实施例的IC设计工艺700不返回至放置或路由阶段;相反,IC设计工艺700返回至虚拟网络***和/或气隙***阶段,以用于优化如本文中所述的虚拟网络和/或气隙布置。当一个或多个信号路径使时序终止发生故障时,由于根据一些实施例的IC设计工艺700不涉及布局的重新放置和/或重新路由,与其他方法相比,在一个或多个实施例中的IC设计工艺700减小了周期时间。在一些实施例中,IC设计工艺700可应用于数字和模拟设计时序关闭步骤,以用减小的时间周期来修理故障的信号路径。根据一些实施例,通过方法700可实现关于方法300和/或方法500描述的一个或多个优势和/或效果。
图8是根据一些实施例的APR工具800的功能流程图。在至少一个实施例中,APR工具800对应于图1的操作120中描述的APR工具和/或图7的操作715中描述的APR工具。
在操作810中,APR工具800接收输入以用于生成IC的布局。在图8中的示例性配置中,输入包括以下形式的IC的设计:如关于操作110描述的网络表、包含对设计的约束的概要设计约束(SDC)文件以及平面规划图。其他布置在各个实施例的范围内。例如,在一些实施例中,APR工具800实施平面规划以识别彼此电连接并且彼此紧邻放置的电路元件,以用于减小IC的面积和/或减小在连接电连接的电路元件的互连件或网络上行进的信号的时间延迟。在一些实施例中,APR工具800实施分割以将设计分成多个块或组,诸如时钟和逻辑组。
在操作812中,在一些实施例中,基于电子设计的分割和/或平面规划,APR工具800实施功率规划。
在操作814中,APR工具800实施放置。例如,在时钟树综合(CTS)之前和/或之后,在包括但不限于放置前优化、放置中优化和放置后优化的一个或多个阶段中实施放置。
在操作816中,APR工具800实施CTS以最小化偏斜和/或延迟。
在操作818、820和822中,APR工具800实施路由以路由互连放置的电路元件的各个网络。实施该路由以确保路由的互连件或网络满足一组约束。
具体地,在操作818中,APR工具800实施全局路由以分配用于互连件或网络的路由资源。例如,在全局路由期间,将路由区域分成多个子区域,将放置的电路元件的引脚映射至子区域,并且将网络构建为子区域的组,在子区域的组中,可物理地路由互连件。
在操作820中,APR工具800实施跟踪任务以将互连件或网络分派至IC的相应的导电层。
在操作822中,APR工具800实施详细路由以路由分派的导电层中和全局路由资源内的互连件或网络。例如,在详细路由期间,在全局路由中限定的相应的子区域的组内以及在跟踪任务中限定的导电层中生成详细的物理互连件。
在操作824中,APR工具800输出包括放置的电路元件和路由网络的IC的布局。描述的APR工具800的操作是实例。其他布置在各个实施例的范围内。例如,在一个或多个实施例中,省略了一个或多个描述的操作。
在一些实施例中,在路由操作期间,APR工具800配置为试图最小化路由网络的网络长度,和/或最小化IC的总面积。在一些情况下,路由操作趋于增大导电图案的密度和/或网络彼此并肩行进的投影长度。为了减小寄生电容和/或与导电图案的增大的密度相关的信号串扰,在一些实施例中,APR工具800进一步配置为在操作830中实施RC估算,以估算互连件的寄生参数(尤其是寄生电容),由此路由互连件。估算的寄生参数用于路由工艺的至少一个操作,即,用于全局路由、跟踪任务或详细路由中的至少一个,以估算用于路由网络的各个选择的时序延迟。然后,时序延迟估算用于确定哪个路由选择用于路由网络,从而使得满足预定的性能目标。
如本文中描述的,在一些实施例中,APR工具800在考虑气隙的情况下实施RC估算,该气隙之后将***至由APR工具800输出的布局内。RC估算包括关于图9A至图9E描述的操作832、834和836。
在操作832中,在IC的多个网络中选择用于气隙***的候选网络。例如,图9A是根据一些实施例的IC的正在生成的布局的部分900A的示意性平面图。布局部分900A包括布置在具有网格线912的路由网格上的网络902、904、906、908和910。邻近的网格线912彼此间隔开一定节距,该节距对应于间距s的整数倍,间距s是IC的设计和/或制造规范所允许的邻近的网络之间的最小间距。在图9A中的示例性配置中,邻近的网格线912之间的节距为2s。网络904与网络902、906间隔开间距s,间距s不大于用于气隙***的最大间距。结果,在网络904和相应的网络902、906之间可***气隙图案913、915,以及网络902、904、906识别为用于气隙***的候选网络。在至少一个实施例中,实际上未***气隙图案913、915,直到在由APR工具800输出布局并且如关于图3和图5描述地实施气隙***工艺之后。网络908、910彼此间隔开间距3s,间距3s大于用于气隙***的最大间距。结果,在网络908、910不可***气隙图案,并且网络908、910未识别为用于气隙***的候选网络。在一些实施例中,间距s是用于气隙***的最大间距,即,气隙图案仅可***在彼此间隔开间距s的邻近的网络之间。在至少一个实施例中,间距s为0.08μm。基于网格线912,沿着网格线912布置网络或规划布置网络,确定邻近的网络之间的间距,并且将该间距与用于气隙***的最大间距进行比较,以及基于该比较确定用于气隙***的候选网络。用于识别用于气隙***的候选网络的其他布置在各个实施例的范围内。
在操作834中,基于相应的候选网络的长度确定候选网络的各个缩放比率,并且在操作836中,基于相应的缩放比率估算候选网络的电容。缩放比率表示气隙对相应的候选网络的电容的影响。在一些实施例中,缩放比率越高,气隙对相应的候选网络的电容的影响越小。例如,图9B是根据一些实施例的用于确定各个缩放比率的图900B。关于图9C至图9E描述了图900B,图9C至图9E是根据一些实施例的正在生成的布局的各个部分900C至900E的示意性平面图。
在一些实施例中,当候选网络的长度小于第一阈值长度时,候选网络的缩放比率具有第一缩放比值。例如,如图9B所示,当候选网络的长度小于第一阈值长度L1时,候选网络的缩放比率具有第一缩放比值SR1。在至少一个实施例中,第一缩放比值SR1是1,这表示邻近候选网络未***气隙,以及表示候选网络的电容不受气隙的影响。在至少一个实施例中,第一阈值长度L1是可***气隙的最小网络长度。在至少一个实施例中,L1是0.18754μm。在图9C中的示例性配置中,由于网络922与邻近的网络924间隔开间距s,所以网络922是用于气隙***的候选网络。然而,网络922的长度L短于L1,并且结果,邻近网络922不可***气隙图案。
在一些实施例中,当候选网络的长度不小于第一阈值长度并且不大于第二阈值长度时,随着候选网络的相应长度从第一阈值长度增大至第二阈值长度,候选网络的缩放比率从第一缩放比值减小至第二缩放比值。例如,如图9B所示,当候选网络的长度介于第一阈值长度L1和第二阈值长度L2之间时,随着候选网络的相应长度增大,候选网络的缩放比率从第一缩放比值SR1减小至第二缩放比值SR2。在至少一个实施例中,第二缩放比值SR2是0.7,这表示当邻近相应的候选网络***气隙时,候选网络的电容将减小30%,即,候选网络的电容将是没有气隙***的相应的候选网络的电容的70%。在至少一个实施例中,第二阈值长度L2是6μm。SR1、SR2、L1和L2的具体数值是实例。其他数值在各个实施例的范围内。
在图9D中的示例性配置中,候选网络932、934、936足够长以用于可将气隙图案937、939***在候选网络932、934之间以及网络934、936之间。然而,用于将候选网络934电连接至其他导电图案的通孔941、943的存在将可***的气隙图案937、939的有效长度Lf限制于候选网络932、934、936的长度L的部分。原因是在围绕相应的通孔941、943的区域945、947中不形成气隙以减小例如由于制造中的未对准导致的通孔941、943落在气隙上的可能性。通过通孔约束确定区域945、947的尺寸,通孔约束是区域945、947和相应的通孔941、943的面向边缘之间的间距V。在至少一个实施例中,V是0.06μm。V的其他数值在各个实施例的范围内。
图9B中的L1和L2之间的网络长度的缩放比率的减小反映了通孔约束对气隙***的影响。如图9D的示例性配置中所示,网络长度短,通孔约束显著地限制了可***的气隙的有效长度Lf。结果,利用气隙***可实现的电容减小的量低,并且具有气隙***的候选网络的电容接近没有气隙***的候选网络的电容,这意味着缩放比率接近1。如图9E的示例性配置中所示,当网络长度增大时,通孔约束将可***的气隙的有效长度Lf限制于比候选网络的长度L更小的范围。结果,利用气隙***可实现的电容减小的量增大,并且具有气隙***的候选网络的电容减小,这意味着缩放比率减小。在至少一个实施例中,当网络长度足够长以使通孔约束可忽略时,缩放比率是固定的。例如,如图9B所示,当候选网络的长度大于第二阈值长度L2时,相应的缩放比率具有第二缩放比值SR2。
描述的网络长度和缩放比率之间的关系是实例。其他布置在各个实施例的范围内。例如,在至少一个实施例中,用于L1和L2之间的网络长度的缩放比率的减小不是如图9B所示的线性的;相反,在一些实施例中,缩放比率的减小是非线性的或步进式的。
基于确定的缩放比率,通过使相应的缩放比率与没有气隙***的候选网络的电容相乘来估算具有气隙***的候选网络的电容。考虑气隙的估算的电容用于如本文中描述的路由操作。与在路由期间不考虑气隙的其他方法相比,一个或多个实施例中的APR工具提供了优化用于随后的气隙***的布局。结果,至少一个实施例最大化或至少增大了与气隙***相关的性能益处。
除了在如关于图8描述的APR工具处考虑气隙和/或如关于图5和图6A至图6D描述的添加用于增大气隙覆盖范围的虚拟网络之外,一些实施例在后续设计阶段(例如,在RC提取操作中)考虑气隙。
图10是根据一些实施例的IC设计工艺1000的至少部分的功能流程图。
在操作1010中,提供了IC的网络表和SDC文件。如关于图8中的操作810描述的,在至少一个实施例中,网络表和SDC文件对应于用于生成布局的输入。
在操作1020中,提供了原始RC技术文件。在公开号为2009/0077507的美国专利申请中描述了用于生成原始RC技术文件的示例性方法,其全部内容结合于此作为参考。在至少一个实施例中,原始RC技术文件包括各个原始多边形图案的预存寄生电容和电阻。在至少一个实施例中,原始RC技术文件还包括用于确定寄生电容的介电常数K。当气隙***至IC内时,寄生电容减小。如本文中所述的,在至少一个实施例中,调整介电常数K以模拟由于气隙***导致的寄生电容减小。例如,介电常数K减小至小于介电材料的实际介电常数,该介电材料用于制造IC,并且在该介电材料上方出现寄生电容。
在操作1030中,在操作1010中提供的网络表和SDC文件以及在操作1020中提供的原始RC技术文件用作至APR工具的输入,如关于图1中的操作120描述的,APR工具实施放置和路由操作以生成IC的布局。在至少一个实施例中,本文中描述的APR工具800用于放置和路由操作1030。
在操作1040中,实施气隙***工艺以将气隙***至由APR工具输出的布局内,从而获得修改布局。在至少一个实施例中,在操作1040中实施气隙***方法300或虚拟网络和气隙***方法500。
在操作1050中,在操作1040中由气隙***工艺输出的修改布局经受RC提取工具的RC提取。如关于图1中的操作150描述的,实施RC提取以确定用于随后的处理的修改布局中的寄生参数。在至少一个实施例中,操作1050中的RC提取包括操作1051至1059。
在操作1051中,基于不考虑气隙的RC提取,实施静态时序分析(STA)。在至少一个实施例中,不考虑气隙的RC提取从修改布局提取寄生电阻和电容,同时忽略***的气隙。例如,RC提取工具将从操作1040接收的修改布局分成块,该块包含在操作1020中提供的原始RC技术文件中限定的可辨识的原始多边形图案。然后RC提取工具通过从原始RC技术文件读取相应的预存寄生电阻和电容而提取修改布局的寄生电阻和电容。使用提取的寄生电阻和电容实施STA以估算沿着IC中的各个信号路径的时间延迟。在至少一个实施例中,通过忽略***的气隙和与沿着具有***的气隙的网络的介电常数的变化相关的复杂性,不必进行耗时的RC提取而实施操作1051,RC提取考虑修改布局的气隙。
在操作1052中,基于从操作1051获得的沿着各个信号路径的时间延迟,为考虑气隙的RC提取识别至少一个信号路径。在至少一个实施例中,识别的信号路径是关键信号路径。在实例中,关键信号路径是具有最长时间延迟的信号路径。在实例中,关键信号路径是时间延迟接近或高于时序约束的信号路径。在一些实施例中,识别多于一个的关键信号路径。例如,为考虑气隙的RC提取识别若干最关键的信号路径。用于为考虑气隙的RC提取识别信号路径的其他布置在各个实施例的范围内。
在操作1053中,对在操作1052中识别的信号路径实施考虑气隙的RC提取。该考虑气隙的RC提取在本文中称为基于拐角的RC提取。在至少一个实施例中,除了考虑沿着具有***的气隙的网络的介电常数的变化之外,以与关于操作1051描述的RC提取类似的方式实施基于拐角的RC提取。结果,基于拐角的RC提取提供更精确的提取的寄生参数。在至少一个实施例中,通过对一个或多个识别的信号路径实施基于拐角的RC提取,而不对IC中的其他信号路径实施基于拐角的RC提取,由于基于拐角的RC提取包括了对应于关键信号路径的拐角情况,所以减少了处理时间,同时保证整个IC的精确度。
在操作1054中,对于每个识别的信号路径,实现了两个时间延迟值。使用由基于拐角的RC提取来提取的寄生电容,导出了本文中称为D精确的第一时间延迟值以用于识别的信号路径。使用如关于操作1051描述的不考虑气隙的RC提取来提取的寄生电容导出了本文中称为D拐角的第二时间延迟值以用于识别的信号路径。在至少一个实施例中,从操作1051中的STA的结果获得D拐角。
在操作1055中,确定D拐角是否匹配D精确。当D精确和D拐角之间的差的绝对值不大于X%时,认为D拐角匹配D精确。在一些实施例中,X为从2%至4%。在至少一个实施例中,X是3%。用于使D拐角和D精确匹配的其他X值和/或布置在各个实施例的范围内。
在操作1056中,响应于确定D拐角不匹配D精确(操作1055中的否),调整原始RC技术文件中的介电常数K。在至少一个实施例中,D拐角>D精确表示不考虑气隙的情况下提取的寄生电容大于由基于拐角的RC提取来提取的更精确的寄生电容。为了减小不考虑气隙的情况下提取的寄生电容以匹配由基于拐角的RC提取来提取的那些寄生电容,减小(例如,按比例缩小)原始RC技术文件中的介电常数K。在至少一个实施例中,D拐角<D精确表示不考虑气隙的情况下提取的寄生电容小于由基于拐角的RC提取来提取的更精确的寄生电容。为了增大不考虑气隙的情况下提取的寄生电容以匹配由基于拐角的RC提取来提取的那些寄生电容,增大(例如,按比例放大)原始RC技术文件中的介电常数K。在一些实施例中,识别用于基于拐角的RC提取和介电常数K的调整的信号路径包括具有网络的1W1S信号路径,该网络具有IC的规范所允许的最小宽度(即,1W)和与邻近的网络的IC的规范所允许的最小间距(即,1S)。
在操作1057中,通过利用在操作1056中调整的介电常数K更新原始RC技术文件来获得新的RC技术文件。
在操作1058中,利用调整的介电常数K更新不考虑气隙的情况下提取的寄生电容。例如,当在操作1056中的调整中按比例缩小介电常数K时,也根据调整的介电常数K按比例缩小寄生电容。当在操作1056中的调整中按比例放大介电常数K时,也根据调整的介电常数K按比例放大寄生电容。实施STA以使用更新的寄生电容重新计算用于相应的识别的信号路径的D拐角。然后工艺返回至操作1055以确定重新计算的D拐角是否匹配D精确。当重新计算的D拐角仍不匹配D精确时,在操作1056、1057和1058中反复地调整介电常数K。
在操作1059中,响应于确定D拐角匹配D精确(操作1055中的是),对应于D精确和D拐角的匹配的介电常数K用于调整在不考虑气隙的情况下提取的寄生电容,以用于IC中的其他信号路径。在一些实施例中,当在操作1056中的调整中按比例缩小介电常数K时,也根据调整的介电常数K按比例缩小为其他信号路径提取的寄生电容。当在操作1056中的调整中按比例放大介电常数K时,也根据调整的介电常数K按比例放大为其他信号路径提取的寄生电容。输出调整的寄生参数以用于随后的处理。
在操作1060中,调整的寄生参数用于使IC布局时序终止。在至少一个实施例中,操作1060中的时序终止对应于关于图1中的操作160描述的时序终止。
一些其他方法实施用于IC的考虑气隙的RC提取。由于***的气隙的存在以及当邻近的导电图案之间的隔离件从气隙改变至介电材料时的介电常数的相关变化,因此这种RC提取是耗时的。此外,当气隙***的位置基于后续阶段中的分析而改变时,重新生成包含气隙图案的掩模层,并且重复用于IC的考虑气隙的耗时的RC提取。结果,增加了设计时间和成本。
与其他方法相比,根据一些实施例的IC设计工艺1000为一个或多个关键信号路径实施考虑气隙的RC提取,但不为IC中的其他路径实施考虑气隙的RC提取。结果,由于基于拐角的RC提取涵盖了对应于关键信号路径的拐角情况,所以减少了处理时间,同时保证了精确度。在至少一个实施例中,与其他方法相比,减少了时序终止(例如,在操作1060中)和布局校正(例如,在操作1030和/或操作1040中)之间的周转时间。在至少一个实施例中,在不反复生成包含气隙图案的掩模层的情况下实施RC提取。
以上方法包括示例性操作,但是它们不必按示出的顺序实施。根据本发明的实施例的精神和范围,可以视情况添加、替换、重排和/或消除操作。结合不同特征和/或不同实施例的实施例在本发明的范围内并且在查看本发明之后对本领域普通技术人员将是显而易见的。
图11是根据一些实施例的计算机***1100的框图。在一些实施例中,通过一个或多个图11的计算机***1100实现关于图1至图7描述的工具和/或引擎和/或***和/或操作中的一种或多种。***1100包括通过总线1104或其他互连通信机制通信连接的至少一个处理器1101、存储器1102、网络界面(I/F)1106、储存器1110、输入/输出(I/O)器件1108。
在一些实施例中,存储器1102包括连接至总线1104的随机存取存储器(RAM)和/或其他动态存储器件和/或只读存储器(ROM)和/或其他静态存储器,以用于存储数据和/或由处理器1101执行的指令(例如,内核1114、用户空间1116、内核和/或用户空间的部分以及它们的组件)。在一些实施例中,存储器1102也用于存储在执行由处理器1101执行的指令期间的临时变量或其他中间信息。
在一些实施例中,诸如磁盘或光盘的存储器件1110连接至总线1104以用于存储数据和/或指令(例如,内核1114、用户空间1116等)。I/O器件1108包括输入器件、输出器件和/或用于使用户能够与***1100互动的组合输入/输出器件。例如,输入器件包括用于将信息和命令通信至处理器1101的键盘、小键盘、鼠标、轨迹球、触控板和/或光标方向键。例如,输出器件包括用于将信息通信至用户的显示器、打印机、语音合成器。
在一些实施例中,通过处理器1101实现关于图1至图7描述的工具和/或引擎和/或***的一个或多个操作和/或功能,编程处理器1101以用于实施这样的操作和/或功能。在一些实施例中,处理器1101配置为特定配置的硬件(例如,一个或多个专用集成电路(ASIC))。存储器1102、I/F 1106、储存器1110、I/O器件1108、硬件组件1118和总线1104中的一种或多种是可操作的以接收指令、数据、设计约束、设计规则、网络表、布局、模型和/或其他参数以用于由处理器1101处理。
在一些实施例中,操作和/或功能实现为存储在非暂时性计算机可读记录介质中的程序的功能。在至少一个实施例中,操作和/或功能实现为存储在存储器1102中的诸如一组可执行指令的程序的功能。在至少一个实施例中,存储在存储器1102中的指令包括采用关于图1、图3、图5、图7、图8和图10描述的工艺流程中的至少一个的功能。非暂时性计算机可读记录介质的实例包括但不限于外部/可去除和/或内部/机内的储存或存储单元,例如,光盘(诸如DVD)、磁盘(诸如硬盘)、半导体存储器(诸如ROM、RAM、存储卡等)中的一种或多种。
在一些实施例中,根据IC中的网络的长度和/或其他特征或成本函数,将气隙***IC的布局内。结果,在一个或多个实施例中,优化了由于气隙***而导致的寄生电容减小的效果。
在一些实施例中,将虚拟网络***IC的布局内以增大区域中的气隙覆盖范围,否则在该区域中不可***气隙。在一些实施例中,根据IC中的网络的长度和/或其他特征或成本函数来***虚拟网络和气隙。结果,在一个或多个实施例中,优化了由于气隙***而导致的寄生电容减小的效果。
在一些实施例中,即使在将气隙实际上***布局内之前,在APR阶段考虑气隙而实施RC估算。结果,PAR阶段输出优化用于随后的气隙***的布局,该布局最大化或至少增加与气隙***相关的性能益处。
在一些实施例中,考虑气隙而实施基于拐角的RC提取,以用于IC的关键信号路径,然而实施不考虑气隙的RC提取,用于IC的其他不那么关键的信号路径。结果,减少了设计周转时间,同时通过涵盖拐角情况而保证了精确度。
在一些实施例中,至少部分地通过处理器实施的方法包括实施气隙***工艺。气隙***工艺包括按顺序排序集成电路的布局的多个网络,以及根据多个网络的排序顺序邻近多个网络***气隙图案。该方法还包括生成集成电路的修改布局。修改布局包括多个网络和***的气隙图案。
在一些实施例中,一种器件包括配置为实施以下操作的至少一个处理器。虚拟网络和气隙***工艺包括按顺序排序集成电路的布局的多个网络,以及根据多个网络的排序顺序邻近多个网络***虚拟网络和气隙图案。生成集成电路的修改布局。修改布局包括多个网络、***的虚拟网络和***的气隙图案。
在一些实施例中,一种计算机程序产品包括其中含有指令的非暂时性计算机可读介质,当由至少一个处理器执行该指令时,导致至少一个处理器实施以下操作。在集成电路的多个网络中选择用于气隙***的候选网络。基于相应的候选网络的长度确定候选网络的各个缩放比率。基于候选网络的相应的缩放比率估算候选网络的电容。基于候选网络的估算的电容,实施全局路由、跟踪任务或详细路由中的至少一个,以生成集成电路的布局。
上面概述了若干实施例的特征,使得本领域技术人员可以更好地理解本发明的方面。本领域技术人员应该理解,他们可以容易地使用本发明作为基础来设计或修改用于实施与本文所介绍实施例相同的目的和/或实现相同优势的其他工艺和结构。本领域技术人员也应该意识到,这种等同构造并不背离本发明的精神和范围,并且在不背离本发明的精神和范围的情况下,本文中他们可以做出多种变化、替换以及改变。
为了解决现有技术中的问题,根据本发明的一些实施例,提供了一种方法,所述方法至少部分地通过处理器实施,所述方法包括:实施气隙***工艺,所述气隙***工艺包括:按顺序排序集成电路的布局的多个网络;以及根据所述多个网络的排序顺序在邻近所述多个网络处***气隙图案;以及生成所述集成电路的修改布局,所述修改布局包括所述多个网络和***的所述气隙图案。
在上述方法中,其中,在所述排序中,基于以下的至少一个排序所述多个网络:所述多个网络的长度,或所述多个网络中的邻近的网络的投影长度,其中,所述邻近的网络在相应的投影长度上方沿着彼此延伸。
在上述方法中,其中,在所述排序中,基于以下的至少一个排序所述多个网络:或Cost2(i)=Cost1(i)/长度(i),其中,i表示所述多个网络中的第i个网络,N是所述多个网络中的且邻近所述第i个网络的网络的数量,j表示邻近所述第i个网络的N个网络中的第j个网络,投影长度(j)是所述第i个网络和所述第j个网络在所述投影长度上方沿着彼此延伸的投影长度,以及长度(i)是所述第i个网络的长度。
在上述方法中,其中,所述气隙***工艺还包括:在邻近所述多个网络中的网络***至少一个气隙图案之后,确定已经***的所述气隙图案是否满足约束;响应于确定已经***的所述气隙图案不满足所述约束,去除***的所述至少一个气隙图案,和进行至生成所述修改布局;以及响应于确定已经***的所述气隙图案满足所述约束,根据所述排序顺序在邻近所述多个网络中的下一个网络处***至少一个另外的气隙图案,和返回至所述确定。
在上述方法中,其中,所述多个网络包括信号网络和至少一个虚拟网络,以及所述方法还包括:在所述气隙***工艺之前,在邻近至少一个所述信号网络处***所述至少一个虚拟网络。
在上述方法中,还包括:检查所述集成电路是否满足时序规范;响应于确定所述集成电路不满足所述时序规范,识别所述集成电路中的故障的信号路径,以及对包括在所述故障的信号路径中的网络实施所述气隙***工艺。
根据本发明的另一些实施例,提供了一种器件,包括配置为实施以下操作的至少一个处理器:虚拟网络和气隙***工艺,所述虚拟网络和气隙***工艺包括:按顺序排序集成电路的布局的多个网络;和根据所述多个网络的排序顺序在邻近所述多个网络处***虚拟网络和气隙图案;以及生成所述集成电路的修改布局,所述修改布局包括所述多个网络、***的所述虚拟网络和***的所述气隙图案。
在上述器件中,其中,所述***包括:在邻近所述多个网络中的网络处***至少一个虚拟网络;在***的所述至少一个虚拟网络和相应的网络之间***至少一个气隙图案;以及在所述相应的网络和所述多个网络中的邻近的网络之间***至少一个另外的气隙图案。
在上述器件中,其中,在所述排序中,基于以下的至少一个排序所述多个网络:长度(i),或
其中,i表示所述多个网络中的第i个网络,长度(i)是所述第i个网络的长度,N是所述多个网络中的且邻近所述第i个网络的网络的数量,j表示邻近所述第i个网络的N个网络中的第j个网络,投影长度(j)是所述第i个网络和所述第j个网络在所述投影长度上方沿着彼此延伸的投影长度,C气隙是所述第i个网络和所述第j个网络之间的单元耦合电容,P是邻近所述第i个网络可***的虚拟网络的数量,k表示邻近所述第i个网络可***的P个虚拟网络中的第k个虚拟网络,虚拟长度(k)是所述第k个虚拟网络的长度,以及C虚拟是所述第k个虚拟网络的单元耦合电容。
在上述器件中,其中,在所述排序中,基于以下的至少一个排序所述多个网络:Cost4(i)=Cap_Cost(i)/长度(i),或Cost5(i)=Cap_Cost(i)×Res_Cost(i),其中, i表示所述多个网络中的第i个网络,长度(i)是所述第i个网络的长度,N是所述多个网络中的且邻近所述第i个网络的网络的数量,j表示邻近所述第i个网络的N个网络中的第j个网络,投影长度(j)是所述第i个网络和所述第j个网络在所述投影长度上方沿着彼此延伸的投影长度,C气隙是所述第i个网络和所述第j个网络之间的单元耦合电容,P是邻近所述第i个网络可***的虚拟网络的数量,k表示邻近所述第i个网络可***的P个虚拟网络中的第k个虚拟网络,虚拟长度(k)是所述第k个虚拟网络的长度,C虚拟是所述第k个虚拟网络的单元耦合电容,以及R虚拟是所述第k个网络的单元电阻。
在上述器件中,其中,所述虚拟网络和气隙***工艺还包括:在邻近所述多个网络中的网络处***至少一个虚拟网络以及在***的所述至少一个虚拟网络和相应的网络之间***至少一个气隙图案之后,确定已经***的所述气隙图案是否满足约束;响应于确定已经***的所述气隙图案不满足所述约束,去除***的所述至少一个气隙图案,和进行至生成所述修改布局;以及响应于确定已经***的所述气隙图案满足所述约束,根据所述排序顺序在邻近所述多个网络中的下一个网络处***至少一个另外的虚拟网络;在所述至少一个另外的虚拟网络和所述下一个网络之间***至少一个另外的气隙图案,和返回至所述确定。
在上述器件中,其中,所述虚拟网络和气隙***工艺还包括:在邻近所述多个网络中的网络处***至少一个虚拟网络以及在***的所述至少一个虚拟网络和相应的网络之间***至少一个气隙图案之后,确定已经***的所述气隙图案是否满足约束;响应于确定已经***的所述气隙图案不满足所述约束,去除***的所述至少一个虚拟网络,去除***的所述至少一个气隙图案,和进行至生成所述修改布局;以及响应于确定已经***的所述气隙图案满足所述约束,根据所述排序顺序在邻近所述多个网络中的下一个网络处***至少一个另外的虚拟网络;在所述至少一个另外的虚拟网络和所述下一个网络之间***至少一个另外的气隙图案,和返回至所述确定。
在上述器件中,其中,所述至少一个处理器还配置为实施:检查所述集成电路是否满足时序规范;响应于确定所述集成电路不满足所述时序规范,识别所述集成电路中的故障的信号路径,以及对包括在所述故障的信号路径中的网络实施所述虚拟网络和气隙***工艺。
在上述器件中,其中,所述***包括:在所述多个网络中的邻近的第一网络和第二网络之间***至少一个虚拟网络,其中,所述第一网络和所述第二网络之间的间距大于用于气隙***的最大间距,(i)所述至少一个虚拟网络和(ii)所述第一网络或所述第二网络中的至少一个之间的间距不大于用于气隙***的所述最大间距,以及在(i)所述至少一个虚拟网络和(ii)所述第一网络或所述第二网络中的至少一个之间***至少一个气隙图案。
根据本发明的又一些实施例,提供了一种计算机程序产品,包括其中含有指令的非暂时性计算机可读介质,当由至少一个处理器执行所述指令时,导致所述至少一个处理器实施:在集成电路的多个网络中选择用于气隙***的候选网络;基于相应的候选网络的长度确定所述候选网络的各个缩放比率;基于所述候选网络的相应的缩放比率估算所述候选网络的电容;以及基于所述候选网络的估算的电容,实施全局路由、跟踪任务和详细路由中的至少一个,以生成所述集成电路的布局。
在上述计算机程序产品中,其中,对于相应的长度小于第一阈值长度的候选网络,所述相应的缩放比率具有第一缩放比值,对于所述相应的长度大于第二阈值长度的候选网络,所述相应的缩放比率的第二缩放比值小于所述第一缩放比值,以及对于所述相应的长度不小于所述第一阈值长度并且不大于所述第二阈值长度的候选网络,随着所述相应的长度从所述第一阈值长度增大至所述第二阈值长度,所述相应的缩放比率从所述第一缩放比值减小至所述第二缩放比值。
在上述计算机程序产品中,其中,当由所述至少一个处理器执行所述指令时,还导致所述至少一个处理器实施:在生成的所述布局的所述多个网络中的邻近的第一网络和第二网络之间***至少一个虚拟网络,其中,所述第一网络和所述第二网络之间的间距大于用于气隙***的最大间距,(i)所述至少一个虚拟网络和(ii)所述第一网络或所述第二网络中的至少一个之间的间距不大于用于气隙***的所述最大间距,以及在(i)所述至少一个虚拟网络和(ii)所述第一网络或所述第二网络中的至少一个之间***至少一个气隙图案,以生成所述集成电路的修改布局,所述修改布局包括所述多个网络、***的所述至少一个虚拟网络和***的所述至少一个气隙图案。
在上述计算机程序产品中,其中,当由所述至少一个处理器执行所述指令时,还导致所述至少一个处理器实施:在生成的所述布局的所述多个网络中的邻近的第一网络和第二网络之间***至少一个虚拟网络,其中,所述第一网络和所述第二网络之间的间距大于用于气隙***的最大间距,(i)所述至少一个虚拟网络和(ii)所述第一网络或所述第二网络中的至少一个之间的间距不大于用于气隙***的所述最大间距,以及在(i)所述至少一个虚拟网络和(ii)所述第一网络或所述第二网络中的至少一个之间***至少一个气隙图案,以生成所述集成电路的修改布局,所述修改布局包括所述多个网络、***的所述至少一个虚拟网络和***的所述至少一个气隙图案;其中,当由所述至少一个处理器执行所述指令时,还导致所述至少一个处理器:按顺序排序所述生成的布局的所述多个网络;以及根据所述多个网络的排序顺序实施***所述至少一个虚拟网络。
在上述计算机程序产品中,其中,当由所述至少一个处理器执行所述指令时,还导致所述至少一个处理器实施:在所述集成电路的所述生成的布局中***虚拟网络和气隙图案;识别所述集成电路中的信号路径,所述信号路径包括至少一个所述气隙图案;基于考虑所述信号路径中的所述至少一个气隙图案提取的所述信号路径的至少一个电容,计算所述信号路径的第一时间延迟;基于以下两者计算所述信号路径的第二时间延迟:在不考虑所述信号路径中的所述至少一个气隙图案的情况下提取的所述信号路径的至少一个电容,和可调整的介电常数;调整所述介电常数以使所述第二时间延迟与所述第一时间延迟匹配;以及基于调整的介电常数调整所述集成电路中的其他信号路径的电容,在所述调整的介电常数处,所述第二时间延迟匹配所述第一时间延迟。
在上述计算机程序产品中,其中,当由所述至少一个处理器执行所述指令时,还导致所述至少一个处理器实施:在所述集成电路的所述生成的布局中***虚拟网络和气隙图案;识别所述集成电路中的信号路径,所述信号路径包括至少一个所述气隙图案;基于考虑所述信号路径中的所述至少一个气隙图案提取的所述信号路径的至少一个电容,计算所述信号路径的第一时间延迟;基于以下两者计算所述信号路径的第二时间延迟:在不考虑所述信号路径中的所述至少一个气隙图案的情况下提取的所述信号路径的至少一个电容,和可调整的介电常数;调整所述介电常数以使所述第二时间延迟与所述第一时间延迟匹配;以及基于调整的介电常数调整所述集成电路中的其他信号路径的电容,在所述调整的介电常数处,所述第二时间延迟匹配所述第一时间延迟;其中,调整所述介电常数包括:当所述第二时间延迟大于所述第一时间延迟时,减小所述介电常数,以及当所述第二时间延迟小于所述第一时间延迟时,增大所述介电常数。
Claims (19)
1.一种用于生成集成电路布局的方法,所述方法至少部分地通过处理器实施,所述方法包括:
实施气隙***工艺,所述气隙***工艺包括:
按顺序排序集成电路的布局的多个网络;以及
根据所述多个网络的排序顺序在邻近所述多个网络处***气隙图案,其中,基于以下公式排序所述多个网络:
Cost4(i)=Cap_Cost(i)/长度(i),
其中,
i表示所述多个网络中的第i个网络,
长度(i)是所述第i个网络的长度,
N是所述多个网络中的且邻近所述第i个网络的网络的数量,
j表示邻近所述第i个网络的N个网络中的第j个网络,
投影长度(j)是所述第i个网络和所述第j个网络在所述投影长度上方沿着彼此延伸的投影长度,
C气隙是所述第i个网络和所述第j个网络之间的单元耦合电容,
P是邻近所述第i个网络可***的虚拟网络的数量,
k表示邻近所述第i个网络可***的P个虚拟网络中的第k个虚拟网络,
虚拟长度(k)是所述第k个虚拟网络的长度,以及
C虚拟是所述第k个虚拟网络的单元耦合电容;以及
生成所述集成电路的修改布局,所述修改布局包括所述多个网络和***的所述气隙图案。
2.根据权利要求1所述的方法,其中,在所述排序中,还基于以下的至少一个排序所述多个网络:
所述多个网络的长度,或
所述多个网络中的邻近的网络的投影长度,其中,所述邻近的网络在相应的投影长度上方沿着彼此延伸。
3.根据权利要求1所述的方法,其中,在所述排序中,还基于以下的至少一个排序所述多个网络:
或
Cost2(i)=Cost1(i)/长度(i),
其中,
i表示所述多个网络中的第i个网络,
N是所述多个网络中的且邻近所述第i个网络的网络的数量,
j表示邻近所述第i个网络的N个网络中的第j个网络,
投影长度(j)是所述第i个网络和所述第j个网络在所述投影长度上方沿着彼此延伸的投影长度,以及
长度(i)是所述第i个网络的长度。
4.根据权利要求1所述的方法,其中,所述气隙***工艺还包括:
在邻近所述多个网络中的网络***至少一个气隙图案之后,确定已经***的所述气隙图案是否满足约束;
响应于确定已经***的所述气隙图案不满足所述约束,
去除***的所述至少一个气隙图案,和
进行至生成所述修改布局;以及
响应于确定已经***的所述气隙图案满足所述约束,
根据所述排序顺序在邻近所述多个网络中的下一个网络处***至少一个另外的气隙图案,和
返回至所述确定。
5.根据权利要求1所述的方法,其中,
所述多个网络包括信号网络和至少一个虚拟网络,以及
所述方法还包括:在所述气隙***工艺之前,在邻近至少一个所述信号网络处***所述至少一个虚拟网络。
6.根据权利要求1所述的方法,还包括:
检查所述集成电路是否满足时序规范;
响应于确定所述集成电路不满足所述时序规范,
识别所述集成电路中的故障的信号路径,以及
对包括在所述故障的信号路径中的网络实施所述气隙***工艺。
7.一种用于集成电路布局的器件,包括配置为实施以下操作的至少一个处理器:
虚拟网络和气隙***工艺,所述虚拟网络和气隙***工艺包括:
按顺序排序集成电路的布局的多个网络;和
根据所述多个网络的排序顺序在邻近所述多个网络处***虚拟网络和气隙图案,基于以下公式排序所述多个网络:
Cost4(i)=Cap_Cost(i)/长度(i),
其中,
i表示所述多个网络中的第i个网络,
长度(i)是所述第i个网络的长度,
N是所述多个网络中的且邻近所述第i个网络的网络的数量,
j表示邻近所述第i个网络的N个网络中的第j个网络,
投影长度(j)是所述第i个网络和所述第j个网络在所述投影长度上方沿着彼此延伸的投影长度,
C气隙是所述第i个网络和所述第j个网络之间的单元耦合电容,
P是邻近所述第i个网络可***的虚拟网络的数量,
k表示邻近所述第i个网络可***的P个虚拟网络中的第k个虚拟网络,
虚拟长度(k)是所述第k个虚拟网络的长度,以及
C虚拟是所述第k个虚拟网络的单元耦合电容;以及
生成所述集成电路的修改布局,所述修改布局包括所述多个网络、***的所述虚拟网络和***的所述气隙图案。
8.根据权利要求7所述的器件,其中,所述***包括:
在邻近所述多个网络中的网络处***至少一个虚拟网络;
在***的所述至少一个虚拟网络和相应的网络之间***至少一个气隙图案;以及
在所述相应的网络和所述多个网络中的邻近的网络之间***至少一个另外的气隙图案。
9.根据权利要求7所述的器件,其中,在所述排序中,还基于以下公式排序所述多个网络:
Cost5(i)=Cap_Cost(i)×Res_Cost(i),
其中,
i表示所述多个网络中的第i个网络,
j表示邻近所述第i个网络的N个网络中的第j个网络,
P是邻近所述第i个网络可***的虚拟网络的数量,
k表示邻近所述第i个网络可***的P个虚拟网络中的第k个虚拟网络,
虚拟长度(k)是所述第k个虚拟网络的长度,以及
R虚拟是所述第k个网络的单元电阻。
10.根据权利要求7所述的器件,其中,所述虚拟网络和气隙***工艺还包括:
在邻近所述多个网络中的网络处***至少一个虚拟网络以及在***的所述至少一个虚拟网络和相应的网络之间***至少一个气隙图案之后,确定已经***的所述气隙图案是否满足约束;
响应于确定已经***的所述气隙图案不满足所述约束,
去除***的所述至少一个气隙图案,和
进行至生成所述修改布局;以及
响应于确定已经***的所述气隙图案满足所述约束,
根据所述排序顺序在邻近所述多个网络中的下一个网络处***至少一个另外的虚拟网络;
在所述至少一个另外的虚拟网络和所述下一个网络之间***至少一个另外的气隙图案,和
返回至所述确定。
11.根据权利要求7所述的器件,其中,所述虚拟网络和气隙***工艺还包括:
在邻近所述多个网络中的网络处***至少一个虚拟网络以及在***的所述至少一个虚拟网络和相应的网络之间***至少一个气隙图案之后,确定已经***的所述气隙图案是否满足约束;
响应于确定已经***的所述气隙图案不满足所述约束,
去除***的所述至少一个虚拟网络,
去除***的所述至少一个气隙图案,和
进行至生成所述修改布局;以及
响应于确定已经***的所述气隙图案满足所述约束,
根据所述排序顺序在邻近所述多个网络中的下一个网络处***至少一个另外的虚拟网络;
在所述至少一个另外的虚拟网络和所述下一个网络之间***至少一个另外的气隙图案,和
返回至所述确定。
12.根据权利要求7所述的器件,其中,所述至少一个处理器还配置为实施:
检查所述集成电路是否满足时序规范;
响应于确定所述集成电路不满足所述时序规范,
识别所述集成电路中的故障的信号路径,以及
对包括在所述故障的信号路径中的网络实施所述虚拟网络和气隙***工艺。
13.根据权利要求7所述的器件,其中,所述***包括:
在所述多个网络中的邻近的第一网络和第二网络之间***至少一个虚拟网络,其中,
所述第一网络和所述第二网络之间的间距大于用于气隙***的最大间距,
(i)所述至少一个虚拟网络和(ii)所述第一网络或所述第二网络中的至少一个之间的间距不大于用于气隙***的所述最大间距,以及
在(i)所述至少一个虚拟网络和(ii)所述第一网络或所述第二网络中的至少一个之间***至少一个气隙图案。
14.一种计算机可读介质,包括指令,当由至少一个处理器执行所述指令时,导致所述至少一个处理器实施:
在集成电路的多个网络中选择用于气隙***的候选网络;
基于相应的候选网络的长度确定所述候选网络的各个缩放比率;
基于所述候选网络的相应的缩放比率估算所述候选网络的电容;以及
基于所述候选网络的估算的电容,实施全局路由、跟踪任务和详细路由中的至少一个,以生成所述集成电路的布局。
15.根据权利要求14所述的计算机可读介质,其中,
对于相应的长度小于第一阈值长度的候选网络,所述相应的缩放比率具有第一缩放比值,
对于所述相应的长度大于第二阈值长度的候选网络,所述相应的缩放比率的第二缩放比值小于所述第一缩放比值,以及
对于所述相应的长度不小于所述第一阈值长度并且不大于所述第二阈值长度的候选网络,随着所述相应的长度从所述第一阈值长度增大至所述第二阈值长度,所述相应的缩放比率从所述第一缩放比值减小至所述第二缩放比值。
16.根据权利要求14所述的计算机可读介质,其中,当由所述至少一个处理器执行所述指令时,还导致所述至少一个处理器实施:
在生成的所述布局的所述多个网络中的邻近的第一网络和第二网络之间***至少一个虚拟网络,其中,
所述第一网络和所述第二网络之间的间距大于用于气隙***的最大间距,
(i)所述至少一个虚拟网络和(ii)所述第一网络或所述第二网络中的至少一个之间的间距不大于用于气隙***的所述最大间距,以及
在(i)所述至少一个虚拟网络和(ii)所述第一网络或所述第二网络中的至少一个之间***至少一个气隙图案,以生成所述集成电路的修改布局,所述修改布局包括所述多个网络、***的所述至少一个虚拟网络和***的所述至少一个气隙图案。
17.根据权利要求16所述的计算机可读介质,其中,当由所述至少一个处理器执行所述指令时,还导致所述至少一个处理器:
按顺序排序所述生成的布局的所述多个网络;以及
根据所述多个网络的排序顺序实施***所述至少一个虚拟网络。
18.根据权利要求14所述的计算机可读介质,其中,当由所述至少一个处理器执行所述指令时,还导致所述至少一个处理器实施:
在所述集成电路的所述生成的布局中***虚拟网络和气隙图案;
识别所述集成电路中的信号路径,所述信号路径包括至少一个所述气隙图案;
基于考虑所述信号路径中的所述至少一个气隙图案提取的所述信号路径的至少一个电容,计算所述信号路径的第一时间延迟;
基于以下两者计算所述信号路径的第二时间延迟:
在不考虑所述信号路径中的所述至少一个气隙图案的情况下提取的所述信号路径的至少一个电容,和
可调整的介电常数;
调整所述介电常数以使所述第二时间延迟与所述第一时间延迟匹配;以及
基于调整的介电常数调整所述集成电路中的其他信号路径的电容,在所述调整的介电常数处,所述第二时间延迟匹配所述第一时间延迟。
19.根据权利要求18所述的计算机可读介质,其中,调整所述介电常数包括:
当所述第二时间延迟大于所述第一时间延迟时,减小所述介电常数,以及
当所述第二时间延迟小于所述第一时间延迟时,增大所述介电常数。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/555,191 | 2014-11-26 | ||
US14/555,191 US10140407B2 (en) | 2014-11-26 | 2014-11-26 | Method, device and computer program product for integrated circuit layout generation |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105631087A CN105631087A (zh) | 2016-06-01 |
CN105631087B true CN105631087B (zh) | 2018-12-21 |
Family
ID=56010481
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510666871.1A Active CN105631087B (zh) | 2014-11-26 | 2015-10-15 | 用于集成电路布局生成的方法、器件和计算机程序产品 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10140407B2 (zh) |
KR (1) | KR101776385B1 (zh) |
CN (1) | CN105631087B (zh) |
TW (1) | TWI598758B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9991249B2 (en) * | 2016-02-11 | 2018-06-05 | Samsung Electronics Co., Ltd. | Integrated circuit and computer-implemented method of manufacturing the same |
US10169507B2 (en) * | 2016-11-29 | 2019-01-01 | Taiwan Semiconductor Manufacturing Co., Ltd. | Variation-aware circuit simulation |
US10949595B2 (en) * | 2017-06-22 | 2021-03-16 | Semiconductor Energy Laboratory Co., Ltd. | Layout design system and layout design method |
US10846456B2 (en) | 2018-05-02 | 2020-11-24 | Taiwan Semiconductor Manufacturing Company Ltd. | Integrated circuit modeling methods and systems |
KR102661963B1 (ko) | 2018-09-28 | 2024-04-30 | 삼성전자주식회사 | 반도체 소자 및 반도체 소자 제조 방법 |
US10699043B2 (en) * | 2018-12-04 | 2020-06-30 | Google Llc | Generating integrated circuit floorplans using neural networks |
TWI713984B (zh) * | 2019-01-28 | 2020-12-21 | 和碩聯合科技股份有限公司 | 計算導體阻抗的方法 |
TWI718486B (zh) * | 2019-02-27 | 2021-02-11 | 瑞昱半導體股份有限公司 | 積體電路佈局設計方法 |
DE102021106202A1 (de) * | 2020-05-18 | 2021-11-18 | Taiwan Semiconductor Manufacturing Co., Ltd. | Systeme und verfahren für integriertes schaltungslayout |
US11537773B2 (en) | 2020-05-18 | 2022-12-27 | Taiwan Semiconductor Manufacturing Company Ltd. | Systems and methods for integrated circuit layout |
CN113505554A (zh) * | 2021-07-05 | 2021-10-15 | 广东工业大学 | 时效预校准方法及*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1808452A (zh) * | 2005-01-21 | 2006-07-26 | 国际商业机器公司 | 电路设计方法及*** |
CN101364595A (zh) * | 2007-08-10 | 2009-02-11 | 东部高科股份有限公司 | 半导体器件布局及在其中放置虚置图案的方法 |
CN103544333A (zh) * | 2012-07-12 | 2014-01-29 | 台湾积体电路制造股份有限公司 | 半导体器件设计方法、***和计算机程序产品 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6728113B1 (en) | 1993-06-24 | 2004-04-27 | Polychip, Inc. | Method and apparatus for non-conductively interconnecting integrated circuits |
JP3481222B2 (ja) | 2001-09-07 | 2003-12-22 | 松下電器産業株式会社 | 配線構造及びその設計方法 |
JP2004021766A (ja) * | 2002-06-19 | 2004-01-22 | Fujitsu Ltd | 電子回路設計方法及びコンピュータプログラム |
JP4284235B2 (ja) * | 2004-06-07 | 2009-06-24 | 富士通株式会社 | 配線選択方法及び装置、配線選択プログラム及び配線選択プログラムを記録したコンピュータ読取可能な記録媒体、並びに、遅延改善方法 |
US7703067B2 (en) | 2006-03-31 | 2010-04-20 | Synopsys, Inc. | Range pattern definition of susceptibility of layout regions to fabrication issues |
JP2008103610A (ja) * | 2006-10-20 | 2008-05-01 | Matsushita Electric Ind Co Ltd | 半導体集積回路の配線構造およびその設計方法と設計装置 |
JP2008130911A (ja) * | 2006-11-22 | 2008-06-05 | Matsushita Electric Ind Co Ltd | 半導体集積回路設計方法およびプログラム、半導体集積回路設計支援方法およびプログラム、配線寄生容量算出方法およびプログラム |
US7801717B2 (en) | 2007-01-22 | 2010-09-21 | Taiwan Semiconductor Manufacturing Company, Ltd | Method for smart dummy insertion to reduce run time and dummy count |
JP2008205283A (ja) | 2007-02-21 | 2008-09-04 | Matsushita Electric Ind Co Ltd | 半導体集積回路装置の配線構造並びにその設計方法及び設計装置 |
US8826207B2 (en) | 2007-09-17 | 2014-09-02 | Taiwan Semiconductor Manufacturing Company, Ltd. | Method of generating technology file for integrated circuit design tools |
US8307321B2 (en) | 2009-03-20 | 2012-11-06 | Taiwan Semiconductor Manufacturing Company, Ltd. | Method for dummy metal and dummy via insertion |
US8456009B2 (en) | 2010-02-18 | 2013-06-04 | Taiwan Semiconductor Manufacturing Company, Ltd. | Semiconductor structure having an air-gap region and a method of manufacturing the same |
US8709264B2 (en) | 2010-06-25 | 2014-04-29 | International Business Machines Corporation | Planar cavity MEMS and related structures, methods of manufacture and design structures |
-
2014
- 2014-11-26 US US14/555,191 patent/US10140407B2/en active Active
-
2015
- 2015-07-03 KR KR1020150095243A patent/KR101776385B1/ko active IP Right Grant
- 2015-10-15 CN CN201510666871.1A patent/CN105631087B/zh active Active
- 2015-11-16 TW TW104137688A patent/TWI598758B/zh active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1808452A (zh) * | 2005-01-21 | 2006-07-26 | 国际商业机器公司 | 电路设计方法及*** |
CN101364595A (zh) * | 2007-08-10 | 2009-02-11 | 东部高科股份有限公司 | 半导体器件布局及在其中放置虚置图案的方法 |
CN103544333A (zh) * | 2012-07-12 | 2014-01-29 | 台湾积体电路制造股份有限公司 | 半导体器件设计方法、***和计算机程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN105631087A (zh) | 2016-06-01 |
US10140407B2 (en) | 2018-11-27 |
TW201629815A (zh) | 2016-08-16 |
KR101776385B1 (ko) | 2017-09-07 |
TWI598758B (zh) | 2017-09-11 |
US20160147928A1 (en) | 2016-05-26 |
KR20160063225A (ko) | 2016-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105631087B (zh) | 用于集成电路布局生成的方法、器件和计算机程序产品 | |
CN103544333B (zh) | 半导体器件设计方法、***和计算机程序产品 | |
US8745565B2 (en) | Satisfying routing rules during circuit design | |
US8701055B1 (en) | Macro cell based process design kit for advanced applications | |
CN107066681B (zh) | 集成电路和制造集成电路的计算机实现方法 | |
Yilmaz et al. | Analog layout generator for CMOS circuits | |
Xiao et al. | Practical placement and routing techniques for analog circuit designs | |
US20080092099A1 (en) | Analog and mixed signal ic layout system | |
US9268894B2 (en) | Area optimized driver layout | |
US10540475B2 (en) | System for manufacturing a semiconductor device | |
CN104657537A (zh) | 设计基于鳍式场效应晶体管(finfet)的电路的方法及其实施*** | |
US10346579B2 (en) | Interactive routing of connections in circuit using auto welding and auto cloning | |
US10509883B2 (en) | Method for layout generation with constrained hypergraph partitioning | |
US10891411B2 (en) | Hierarchy-driven logical and physical synthesis co-optimization | |
JP2006093631A (ja) | 半導体集積回路の製造方法および半導体集積回路の製造装置 | |
Ziesemer Jr et al. | Physical design automation of transistor networks | |
US8181143B2 (en) | Method and apparatus for generating a memory-efficient representation of routing data | |
US20110041112A1 (en) | Method and apparatus for generating a centerline connectivity representation | |
Elshawy et al. | Multi-device layout templates for nanometer analog design | |
Saha et al. | An efficient intersection avoiding rectilinear routing technique in VLSI | |
US8826197B2 (en) | Pattern-based replacement for layout regularization | |
Chen et al. | Redundant via insertion: Removing design rule conflicts and balancing via density | |
JP2005086153A (ja) | 半導体装置の設計方法 | |
Hanchate et al. | Integrated gate and wire sizing at post layout level |
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 |