CN114077274A - 引导式电网增强的系统和方法 - Google Patents
引导式电网增强的系统和方法 Download PDFInfo
- Publication number
- CN114077274A CN114077274A CN202110939332.6A CN202110939332A CN114077274A CN 114077274 A CN114077274 A CN 114077274A CN 202110939332 A CN202110939332 A CN 202110939332A CN 114077274 A CN114077274 A CN 114077274A
- Authority
- CN
- China
- Prior art keywords
- cells
- polygon
- design
- drop
- pga
- 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
- 238000000034 method Methods 0.000 title claims abstract description 68
- 230000003416 augmentation Effects 0.000 title abstract description 8
- 238000013461 design Methods 0.000 claims abstract description 166
- 239000004020 conductor Substances 0.000 claims abstract description 40
- 238000004458 analytical method Methods 0.000 claims description 31
- 238000003860 storage Methods 0.000 claims description 18
- 230000015654 memory Effects 0.000 claims description 17
- 238000012545 processing Methods 0.000 description 59
- 230000008569 process Effects 0.000 description 34
- 230000000694 effects Effects 0.000 description 19
- 239000010410 layer Substances 0.000 description 18
- 230000008878 coupling Effects 0.000 description 13
- 238000010168 coupling process Methods 0.000 description 13
- 238000005859 coupling reaction Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 10
- 238000004519 manufacturing process Methods 0.000 description 10
- 239000002184 metal Substances 0.000 description 9
- 238000012795 verification Methods 0.000 description 8
- 239000000047 product Substances 0.000 description 7
- 238000012938 design process Methods 0.000 description 6
- 238000009826 distribution Methods 0.000 description 6
- 230000003068 static effect Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 239000000872 buffer Substances 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000006731 degradation reaction Methods 0.000 description 3
- 238000013439 planning Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000002356 single layer Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 229920000954 Polyglycolide Polymers 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001808 coupling effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013440 design planning Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 235000010409 propane-1,2-diol alginate Nutrition 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 235000013599 spices Nutrition 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/394—Routing
- G06F30/3953—Routing detailed
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05F—SYSTEMS FOR REGULATING ELECTRIC OR MAGNETIC VARIABLES
- G05F1/00—Automatic systems in which deviations of an electric quantity from one or more predetermined values are detected at the output of the system and fed back to a device within the system to restore the detected quantity to its predetermined value or values, i.e. retroactive systems
- G05F1/10—Regulating voltage or current
- G05F1/46—Regulating voltage or current wherein the variable actually regulated by the final control device is dc
- G05F1/56—Regulating voltage or current wherein the variable actually regulated by the final control device is dc using semiconductor devices in series with the load as final control devices
- G05F1/561—Voltage to current converters
-
- 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/06—Power analysis or power optimisation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Geometry (AREA)
- Evolutionary Computation (AREA)
- Computer Networks & Wireless Communication (AREA)
- Architecture (AREA)
- Electromagnetism (AREA)
- Radar, Positioning & Navigation (AREA)
- Automation & Control Theory (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本公开涉及引导式电网增强的系统和方法。用于引导式电网增强的方法和系统确定集成电路(IC)设计内的单元的最小电阻路径。最小电阻路径追踪将IC设计中单元的引脚连接到IC抽头的导线。确定每个单元的压降值以标识具有满足压降标准的压降值的目标单元。在目标单元的最小电阻路径周围定义具有定义的尺寸特征的多边形,并且在定义的多边形内生成诸如附加导体之类的导体。
Description
相关申请的交叉引用
本专利申请要求于2020年8月17日提交的序列号63/066,556的美国临时申请的优先权,其全部内容通过引用并入本文。
技术领域
本公开总体上涉及电子设计自动化(EDA,electronic design automation)系统。具体地,本公开涉及用于提供引导式电网增强的系统和方法。
背景技术
对于超大规模集成(VLSI,very large scale integration)设计,通常称为抽头的外部电压源为整个集成电路(IC,integrated circuit)芯片提供电流。电网网络从抽头向各个单元提供电力,然而,这些电网网络的特性可能在于压降效应,这是因为电力是通过电网的线路提供的。压降可能会影响开关栅极的速度,并可能造成单元无法满足时序约束。
还有可能导致压降问题的其他因素,例如,物理设计的输入向量。放置在同一电源轨上的标准单元可能会同时汲取电流以增加峰值电流。标准单元定位也可能导致压降问题,这是因为在同一电源轨或邻近电源轨上放置的具有高峰值电流值的单元可能会在同时汲取电流时导致压降问题。某些IC设计的时钟树结构会导致压降问题。具有顺序单元的设计将在设计中合成时钟树。通常,时钟树已配备缓冲器和/或反相器。时钟树的结构决定了切换顺序单元和连接到顺序单元的组合单元的时刻。作为另一个例子,电网设计本身的弱点可能会增加压降问题,这是因为压降随着低效的电网布线而增加。
发明内容
某些实施例涉及一种方法,该方法包括:在集成电路(IC)设计内针对集成电路设计的单元确定最小电阻路径,以将单元连接到相应IC抽头;针对多个单元中的每一个确定压降值;标识从多个单元中选择的多个目标单元,其中多个目标单元中的每一个的压降值满足一个或多个压降标准;定义围绕目标单元的每个最小电阻路径的多边形;并在多边形内生成导体。
在某些实施例中,针对多个单元中的每一个的最小电阻路径位置的标识包括:针对每个单元的最小电阻路径内的部分电网网络的标识。在某些实施例中,标识目标单元包括:将每个单元的IR压降特性与IR压降标准进行比较;并且将目标单元标识为具有满足一个或多个IR压降标准的IR压降特性的单元。在某些实施例中,一个或多个IR压降标准包括目标单元的最大数目。在各种实施例中,一个或多个IR压降标准包括最小IR压降值。在各种实施例中,该方法还包括生成一个或多个过孔以将导体连接到电网布局的形状。在某些实施例中,对每个单元执行IR压降分析包括对每个单元的每个连接引脚执行IR压降分析。在各种实施例中,用于将每个单元连接到IC抽头的最小电阻路径位置的标识包括标识在引脚到IC抽头之间延伸的最小电阻路径。在某些实施例中,用于将每个单元连接到IC抽头的最小电阻路径位置的标识包括标识用于将每个单元连接到电源IC抽头的最小电阻路径位置和标识用于将每个单元连接到接地IC抽头的最小电阻路径位置。在各种实施例中,定义围绕与每个目标单元对应的最小电阻路径位置的多边形包括定义至少一个多边形,所述至少一个多边形包括处于所述至少一个多边形的边界内的多个目标单元。此外,该方法还可以包括:在定义了围绕与每个目标单元对应的最小电阻路径位置的多边形之后,标识重叠多边形内包括的一个或多个区域;重新定义至少一个多边形以取代重叠多边形并至少围绕重叠多边形内包括的区域;并在重新定义的至少一个多边形内生成导体。在某些实施例中,该方法还包括:在生成导体之后,在多边形外部的IC设计区域中布置至少一根导线。
各种实施例涉及一种计算机可读介质,包括至少一个用于存储指令的非暂时性计算机存储介质,当由装置执行时,指令使该装置:在集成电路(IC)设计内,针对IC设计的单元确定最小电阻路径,以将单元连接到相应IC抽头;针对每个单元确定压降值;标识具有满足压降标准的压降值的目标单元;定义围绕目标单元的每个最小电阻路径的多边形;并在多边形内生成导体。
在某些实施例中,标识目标单元包括:将每个单元的IR-压降特性与一个或多个IR-压降标准进行比较;并且将目标单元标识为具有满足IR压降标准的IR压降特性的单元。在某些实施例中,用于将每个单元连接到IC抽头的最小电阻路径位置的标识包括标识从引脚到IC抽头之间延伸的最小电阻路径。在各种实施例中,对将每个单元连接到IC抽头的最小电阻路径位置的标识包括标识用于将每个单元连接到电源IC抽头的最小电阻路径位置和标识用于将每个单元连接到接地IC抽头的最小电阻路径位置。在各种实施例中,定义围绕与每个目标单元对应的最小电阻路径位置的多边形包括定义至少一个多边形,所述至少一个多边形包括处于所述至少一个多边形的边界内的多个目标单元。在某些实施例中,用于存储指令的至少一个非暂时性计算机存储介质在由装置执行时进一步使装置:在生成围绕与每个目标单元相对应的最小电阻路径位置的多边形之后,标识重叠多边形内包含的区域;重新定义至少一个多边形以取代重叠多边形并至少围绕重叠多边形内包含的区域;并在重新定义的至少一个多边形内生成导体。在某些实施例中,用于存储指令的至少一种非暂时性计算机存储介质在由装置执行时进一步使装置在生成导体之后在多边形外部的IC设计区域中布置至少一根导线。
某些实施例涉及一种装置,该装置包括存储指令的存储器和与该存储器耦接并执行该指令的处理器。该指令在执行时使处理器:在集成电路(IC)设计内针对IC设计的单元确定最小电阻路径,以将单元连接到相应IC抽头;针对每个单元确定压降值;标识具有满足压降标准的压降值的目标单元;定义围绕与每个目标单元对应的每个最小电阻路径的多边形;并在多边形内生成导体。
附图说明
从下面给出的具体实施方式和从本公开实施例的附图将更全面地理解本公开。附图用于提供对本公开的实施例的知识和理解,并且不将本公开的范围限制于这些特定实施例。此外,附图不一定按比例绘制。
图1示出根据一个实施例的示例引导式PGA处理流程;
图2是根据一个实施例的电网的图示;
图3是示出根据一个实施例的用于提供引导式PGA的示例处理的流程图;
图4A示出示例IC设计的电网形状的位置;
图4B示出提供为图4A所示的电网形状之间的金属填充形状的导体的位置;
图5A示出示例IC设计的电网;
图5B示出提供的与图5A的电网连接的PGA形状的连接;
图6是相邻层中电网形状之间的连接的三维示意图示;
图7A图示作为PGA形状的距离的函数的IR压降的影响;
图7B图示作为PGA形状的距离的函数的时序的影响;
图8A图示IC设计内的特性在于具有大IR压降特性的特定单元的位置;
图8B图示图8A中标识的特定单元和相应的接地抽头之间的最小电阻路径;
图8C图示图8A中标识的特定单元和相应的电源抽头之间的最小电阻路径;
图9A图示围绕图8B中标识的最小电阻路径绘制的多边形的位置;
图9B图示围绕图8C中标识的最小电阻路径绘制的多边形的位置;
图10图示图9B中图示的合并的多边形;
图11A图示在配备有通常PGA处理的IC设计中PGA形状的位置;
图11B图示在配备有引导式PGA处理的IC设计中PGA形状的位置;
图12A图示根据相应标准在具有高IR压降特性的单元组周围绘制的多边形的位置;
图12B图示根据替代的对应标准在具有IR压降特性的单元组周围绘制的多边形的位置;
图12C图示根据相应标准在具有IR压降特性的多个单元组周围绘制的多边形的位置;
图13描绘根据本公开一些实施例的在集成电路的设计和制造期间使用的各种处理的流程图;和
图14描绘本公开实施例可以在其中运行的示例计算机系统的图。
具体实施方式
本公开参照附图更全面地描述了各种实施例。应当理解,这里示出和描述了一些但不是所有的实施例。实际上,实施例可以采用许多不同的形式,因此本公开不应被解释为限于这里阐述的实施例。相反,提供这些实施例使得本公开将满足适用的法律要求。相同的数字始终指代相同的元素。
如本文所用,下文提及的术语具有以下含义。
电网数据定义了IC设计的特性,包括IC设计中包括的多个单元的电网布局的指示。电网数据可以包括指示IC设计的特性的附加数据,包括IC设计中每个单元的单元类型、IC设计中每个单元的单元位置、IC设计的电源抽头和接地抽头的位置、将单元与电源抽头和/或接地抽头连接的导线的位置,以及IC设计的其他特性。导线的位置可以反映每个单元和相应抽头之间的最小电阻路径,其是被标识为具有连接单元与相应抽头的最小电阻的通路(例如,特征在于具有更高的电阻值的其他通路,如更长的导线通路、连接线的至少一部分的替代位置,等等)。电网数据可以包括由用于设计IC设计的系统和方法利用的其他数据。此外,一旦执行如本文所述的引导式PGA处理,电网数据可以包括用于连接电网的导体的过孔的位置、尺寸、形状、材料类型、位置,以及添加到IC设计的导体的其他特征。
IR压降分析(这里也称为压降分析)是指用于分析电源和接地网络的压降的分析框架。可以对IC设计中的特定单元或IC设计中的所有单元执行IR压降分析。更具体地,IC内的单个单元通常包括多个引脚(例如,输入引脚、输出引脚、电源引脚等),因此可以针对单元的单个电源引脚和接地引脚来分析单元的IR压降。
静态IR压降分析是指用于在不受电容影响的情况下分析电源和接地网络的压降的分析框架。
动态IR压降分析是指用每个单元的当前波形来分析电源和接地网络的压降的分析框架。
电网形状是指电网线路的分段,例如作为电网网络的一部分的将单元的电源引脚连接到IC的电源抽头的电网线路。
最小路径电阻是指如由相关IC设计系统所标识的,与电网网络内的用于在单元和相应抽头之间布置导线的其他可能路径相比,具有最小电阻值的沿着电网网络到抽头的路径。
设计规则检查(DRC,design rule check)是指用于确保设计满足代工厂相关设计规则的分析框架。当设计经历多次失败而通过设计规则时,该设计将具有较低的物理IC芯片的良品率。
总负松弛(TNS,total negative slack)是指单元内所有负松弛的总和。通常,单元内的松弛指示单元内的潜在时序违规,并且松弛可以指建立松弛或保持松弛。建立松弛是指数据在需要之前到达时发生的时序违规,可以通过从数据所需时间中减去数据到达时间来表征。保持松弛是指数据在需要之后到达时发生的时序违规,可以从数据到达时间减去数据所需时间来表征。
最坏负松弛(WNS,worst negative slack)是指单元的最低负松弛值。
行站点是指IC设计的核心区域具有用于简化单元放置的复杂性的行。每行包括若干个站点。行站点是标准单元宽度的基本单位。行站高度是标准单元高度的基本单位。
为IC芯片内的选择单元(例如那些选择单元的选择引脚)提供电网增强(PGA,power grid augmentation)需要通过添加附加的导线、迹线、沉积物或IC设计的一层或多层内的其他导体,并将这些附加的导体与所定义的电网的最小电阻路径的一根或多根导线连接起来,来增强用于定义在IC设计中定义的最小电阻路径的导线。为选择的单元提供PGA是通过对表现出严重IR压降特性的那些单元最小化沿IC芯片设计中的线路和形状的IR压降,同时最小化可能会阻碍IC性能的耦合电容,从而提高性能。完成电网布线后,IC设计经历对设计中的多个单元进行IR压降分析。通过在IC设计中选择性加宽的形状/区域和/或线路内提供附加的导电通路以降低电阻,为PGA选择满足定义的IR压降标准的那些单元。由于PGA应用于特定区域,结果是更少的PGA形状和布线区域,这最小化了耦合电容对IC设计中信号网络的影响。此外,引导式PGA处理可以进一步改进以应用于IC设计的特定层,从而进一步减少相邻层中线路之间耦合电容的不期望的影响。
对于VLSI设计,在抽头和某些单元之间提供的线路(将电源抽头与单元的电源引脚连接或将接地抽头与单元的接地引脚连接)以这样的电阻为特征:所述电阻由于电流通过配电网络从抽头提供给那些特定的单元从而导致压降效应。在初始设计处理期间,至少部分地基于物理设计的功耗和功率密度来规划电网结构。即使经过精心规划的电网布局,电网仍可能特征在于压降问题。如果电网中的单位仍然有IR压降问题,则可以将各种工程变更单(ECO,engineering change order)应用于芯片设计,以确保IC设计中的所有单元满足适用的IR 压降和时序约束。
例如,ECO可以涵盖电网增强(PGA,power grid augmentation)以创建电网形状以并联连接到现有电网以便降低分段形状的有效电阻。PGA是在对电网进行布线之后执行的。PGA在IC设计的非布线区域创建电网形状,并将创建的电网形状连接到现有的配电网络,以降低分段电网形状的有效电阻。
典型的PGA实现方案通常在物理设计的所有空余区域上创建电网形状,以提供改进的IR压降特性。然而,这种PGA实现方案的副作用是增加了耦合电容对信号网络的影响,这是因为IC设计中有明显更多的导电形状,这会导致信号引脚松弛。
如本文所讨论的,引导式PGA处理通过在IC设计的区域内以高水平IR压降为特性的那些区域周围提供附加导体来增强电网形状。由于引导式PGA仅增强特定区域上的电网形状,因此由此产生的IC设计的电网形状和布线区域水平相对较低。耦合电容对信号网络的影响减小。此外,引导式PGA处理在以高水平IR压降为特性的区域中提供了增加的布线资源(可以放置附加布线的区域,因为这些区域没有被增强的电网形状占用),而无需解决IC设计的区域中的没有以严重IR压降为特征的IR压降。基于用于应用引导式PGA的示例标准,引导式PGA的总电网形状区域可以涵盖将在受通常PCA布线的相同IC设计上提供的电网形状区域的大约15%至40%。
图1示出示例引导式PGA流程。
在图示的图1的流程图中,VLSI设计处理的引导式PGA处理涵盖了门级网表规划(如152所示)、平面规划(如154所示)、电源规划(如156所示)和布局与布线(如158所示)(通常由IC设计人员在电源规划阶段基于物理设计的功耗和功率密度规划电网结构来执行)。电网网络可划分为基于层定位和线宽区分的三种形状类型:电源环、电源条或电源轨。然而,即使使用用于建模和设计电网结构以最小化压降的估计方法,电网网络通常也具有压降问题,因此如159所示执行压降分析,以标识IC设计中与各个单元相关联的压降值,并为单元标识最小电阻路径用于将这些单元连接到相应的电源抽头和/或接地抽头(具体来说,用于绘制从单元的引脚延伸到相应的电源抽头或接地抽头的导电电网线路的通路)。提供引导式PGA处理以在特征是高水平的IR压降的IC设计的特定区域内生成PGA形状,如160所反映的。
所图示的引导式PGA处理的布局和布线阶段之后,执行IR压降/时序分析以确保针对当前引导式PGA处理如162处所反映的功能。该分析还确认所有标准单元的IR压降小于压降阈值(或满足另一个IR压降相关标准)。对于示例实施方案,可以手动确定压降阈值,例如在供电电压的10%到15%之间。
如果存在仍然具有IR压降问题的单元,则可以在芯片设计上应用一个或多个附加的ECO变化(如在164处反映的)。在迭代回执行162处的压降和时序违规分析之前,可以执行DRC并修复任何DRC违规,如块166所反映的。对通过压降和时序分析、ECO应用和DRC分析与弥补进行迭代的此处理进行迭代,直到它满足IR压降和时序约束。此类ECO更改导致物理设计的更改以修复设计违规(例如,DRC、IR压降、时序和/或诸如此类)。ECO处理的示例包括:
缓冲器插入—用以插入用于高扇出单元的缓冲器单元并降低信号网络中驱动器单元的峰值电流。
单元重定位—将单元重定位到IC设计内以较低IR压降为特征的位置。
单元尺寸调整—将单元尺寸重新调整为低功率、峰值电流,同时保持当前时序。
改变布线层—修改线路长度以避免高耦合效应并改变一个或多个单元的信号到达时间以避免同时电流汲取。
电网网络变型(2种类型)—过度设计电网结构以显著降低IR压降。这种电网网络修改还减少了供布线器修复DRC和通过时序约束的布线资源。因此,某些实施方案可以在没有IR压降或没有时序问题的情况下去除IC设计特定区域上的电网形状。作为电网网络变型的第二种选择,基于物理设计的功耗和功率密度估计电网结构。如果物理设计持续具有IR压降问题,可以加宽电网形状以增加电网形状的宽度(电阻值与IR形状的宽度成反比)或通过创建电网形状来并联到现有电网而降低分段形状的有效电阻。然而,无论是加宽现有的电网形状还是并联增加新的电网形状,这种电网网络变型的结果是线路之间的耦合电容的增加。如果线路的电容增加,则与连接到线路的信号引脚相关联的延迟也会增加。
如图1的最后块内所反映的,最终通过接收指示设计的最终验证和与芯片完成相关的其他步骤(反映在170)和签核处理(包括批准设计以进行制造处理(反映在172))来完成IC设计处理。
PGA是一种通过解决电网弱点来解决IR压降问题的方法。PGA是在给电网布线之后执行的。由于物理设计的配电网络难以作为布线后处理的一部分进行修改,因此PGA处理会在IC设计的非布线区域创建电网形状,并将这些新引入的电网形状连接到现有的配电网络,如图2的示例所示,以降低分段电网形状的有效电阻。
如图2中电网的一小部分的示意图示所示,现有的电网形状(沿着单元和抽头之间的最小电阻路径延伸的线路分段被标记为电力网格201和轨道202)通常在电网的相邻线路之间定义相对较大的空间(如图2所反映的,电网的线路之间的空间可能大于定义电网本身的线路的宽度)通过提供PGA的电网形状(添加到电网相邻线路之间的空间中的、与电网的线路并行运行的附加导体210(作为PGA处理的一部分而被添加的附加导体210在图中标记为PGA))而增强。结果,PGA形状为IC各个单元的抽头和电源引脚之间的信号提供了平行的导电通路。这些PGA形状利用过孔211与电力网格和轨道形状导电连接,其中过孔211可以在IC设计的相邻层之间延伸(这些过孔211示出在图2的图示中多个导体重叠处)。
典型的PGA处理并没有特别考虑IC设计内的IR压降分布。相反,此类PGA处理会在物理设计的所有空余区域上创建电网形状,以降低整个IC物理设计的整体IR压降。
填充物理设计上的所有空余空间可以改善IC设计内的IR压降问题。然而,一般的非目标PGA的副作用会增加对于信号网络的耦合电容效应,并导致IC设计中信号引脚的松弛恶化。耦合电容效应意味着彼此靠近的两根或更多根线路的放置会增加线路的电容值。此外,通过用导电的电网形状填充IC设计中的所有空余空间,由此产生的IC设计具有对于布线其他线路/资源而剩余的可忽略不计的空间,而这在某些设计处理中可能是必要的以执行附加的校正以解决其他IC设计问题。
图3是示出用于提供引导式PGA的示例处理的流程图。引导式PGA处理将PGA应用于物理IC设计的特定目标区域,如图1所反映的。引导式PGA处理提供了一种在物理IC设计的特定区域中执行PGA的有效方法。通过为物理IC设计提供比典型PGA处理更少的增强电网形状,引导式PGA处理为IC设计提供了与更好的IR压降分布、更好的TNS和更好的WNS相关的更高质量的结果。在执行引导式PGA之前,该处理包括以下步骤:执行IR压降分析(静态和/或动态分析)以计算IC设计中每个单元的压降值,并且找到将每个单元连接到电源抽头和/或地抽头的最小路径电阻(如图3的502所反映)。具体而言,找到每个单元的最小路径电阻涵盖:要在IC设计中放置的并且从IC设计中的特定单元的引脚延伸到抽头的导线的位置的标识。标识最小路径电阻可以是一个迭代处理,根据该处理,在放置用于IC设计的单元之后的初始配置中布置导线(例如,根据某些IC设计配置,这可以是自动化处理),并为IC设计中的每个导电路径确定电阻值。可以针对不同的导线布局重复布置导线的处理,并且可以为新的导线布局确定电阻值。可以重复此处理,直到生成所有可能的导线布局,并选择布局以继续IC设计处理。所选布局满足这样的布局标准:例如对于所有导线路径具有最低平均电阻、对于特定导线路径具有最低电阻值、或与特定IC设计相关的其他标准。这种分析的输出是与IC设计中的每个单元相关的IR压降值(具体来说,在IC 设计中每个单元的每个电源输入引脚),以及单元的最小路径电阻的位置的物理指示。该分析的输出用于标识特征为具有高IR压降值的特定目标单元,并且最小电阻路径用于定位PGA形状(加宽现有的最小路径电阻或提供与其平行的形状)。结果是在IC设计上未被PGA形状占用的附加的布线资源(例如,开放空间)是可用的,同时保持低水平的IR压降。由于与典型的PGA处理相比,作为引导式PGA处理的结果形成更少的PGA形状,因此通过减少对线路的耦合电容效应,由此产生的IC设计在时序质量方面具有显著改善。
图3提供了有关引导式PGA流程的额外细节。在根据引导式PGA流程确定用于提供金属填充的适当位置之后,在所有金属层或指定金属层内沉积金属以形成与IC设计中的引导式PGA流程对应的形状。引导式PGA流程是一种DRC清洁方法,其检查代工厂专用的DRC规则,以确保引导式PGA流程始终符合适用的DRC规则。当根据PGA流程标识的位置沉积金属时,PGA流程将附加金属与现有电网形状利用过孔连接起来。此后,可以执行附加的IR压降/时序分析,以确定设计结果的质量。
作为引导式PGA流程的一部分,有两个步骤用于执行电网增强:根据确定的引导式PGA位置在IC设计的空余区域内提供金属填充,并标识与邻近层中现有电网的交叉点。在IC设计的空余区域内提供金属填充涵盖了在IC设计的某些区域内映射用于放置诸如线路或其他导电形状之类的附加导体的位置。然后,附加的导体可以通过在IC设计的相邻层之间延伸的过孔与现有的电网形状(例如,沿着单元和抽头之间的最小电阻路径映射的导线)连接。过孔涵盖将增强导电形状与沿定位的最小电阻路径定义的电网形状进行电连接的导电组件。
图4A-图4B图示作为PGA处理的一部分的用于用导体410(例如,成形为线路、填充区域和/或其他导电形状)填充IC设计的空余区域的示例处理。图4A图示在IC设计处理期间针对特定层(图4A图示整个IC设计的一小部分)布置的单元的最小电阻路径401,图4B图示在现有最小电阻路径401周围作为导体410添加的金属填充物。尽管在图4B的图示中基本上所有围绕电网形状的空余空间都填充有导体410,应该理解,图4B仅示出IC设计的一小部分,并且在IC设计的其他未示出的部分中,电网形状周围(例如,不以高水平IR压降为特征的区域中的电网形状周围)的某些区域可能不用根据引导式PGA处理利用导体410进行填充。
当添加参考图4A-图4B讨论的PGA形状时,如果在邻近层内存在任何标识的交叉点,则那些PGA形状通过电网过孔连接到现有的电网形状和/或其他PGA形状,如图5A-图5B(如图5A所反映的,现有的电网形状被图示为以可预测的网格图案提供的线,并且PGA形状反映了在图5B的表示中添加的其他线)和图6所示。图5A图示了已经应用了任何PGA处理之前的电网,而图5B图示了在电网的多层中提供PGA处理之后的相同电网(图5A-图5B图示经受引导式PGA的IC设计的一小部分)。图6提供了使用过孔620的相邻层内的电网(P/G)形状601和PGA导体610之间的连接的三维表示。
为了能够进行引导式PGA以在IC设计内的指定位置(例如,对应于IC设计内的特定单元的位置)提供生成PGA的形状,确定单元内的特定区域的IR压降和时序效应。图7A-图7B图示了改变其中应用PGA形状的边界框的尺寸的效果,并且图示导体的较大面积与较低量的IR压降违规但是更糟糕的时序相关。图7A-图7B图示了与用于提供PGA形状的特定单元的最小路径电阻位置远离的x方向和y方向距离,并且提供了用于提供这些PGA形状的IR压降和时序效应的指示。这些结果表明,提供平衡且有针对性的PGA形状放置可提供最佳的IR压降效果,同时最大限度地减少耦合电容的影响。
引导式PGA系统和方法至少部分地基于IC设计内每个单元的最小电阻路径位置的IR压降分析和确定的位置来标识IC设计内用于应用PGA的最佳位置。如本文所讨论的,PGA形状被用于在围绕特征为具有高IR压降违规的单元电网的至少一部分的邻近区域内增加电网形状。这些具有高IR压降违规的区域可以表征为具有高电阻值的区域。
一旦标识出IC设计内用于应用PGA形状的区域,引导式PGA处理在那些标识出的区域内生成PGA形状。由于物理设计可能在核心区域分布有若干个独立的热点,因此引导式PGA处理会标识IC设计中具有最差IR压降特性的一个或多个单元。被标识为具有最差IR压降特性的那些单元可以基于多种标准中的任一种来标识,例如满足阈值电阻值、在具有满足阈值(例如,前10个最差的IR压降单元;前10%最差的IR压降单元)的最差IR压降特性的定义数目的单元内(或在单元级别或更具体的引脚级别,诸如定义数目的引脚或定义百分比的引脚处标识的),等等。
对于被标识为引导式PGA处理的候选的单元,该处理包括用于标识这些单元的对应最小电阻路径的步骤(包括指示最小电阻路径的位置的数据)。这种配置的例子示于图8A-图8C。该方法标识出具有最差IR压降特性的单元801(图8A并在图3的502处反映),并标识从IC设计中标识出的性能最差的IR压降单元801延伸到接地抽头810的路径811(图8B)和从IC设计中标识出的性能最差的IR压降单元801延伸到电源抽头820的路径821(图8C)。图9A图示围绕如参考图8B所讨论的标识的路径811提供的扩展多边形812、用于映射PGA形状以补充现有电网的那些多边形812边界区域(根据图3的504生成的扩展路径)。图9B图示围绕如参考图8C所讨论的标识的路径提供的扩展多边形822。以单元801和抽头810、820之间的最小电阻路径811、821为中心的多边形812、822(多边形的平行边之间)的宽度是根据引导式PGA处理的设置而进行设置的。在图9A-9B的示例中,多边形812、822的宽度设置为行站点高度的16.0倍。如果行站点高度等于0.5μm,则多边形812,822的宽度等于8.0μm(行站点的高度的16倍),围绕最小电阻路径811、821的导线在任一方向上延伸约4.0μm。利用行站点高度使得能够缩放不同行站点高度的设计。多边形812、822的宽度可以例如至少部分地基于用于将IR压降的严重性与多边形宽度相关联的一个或多个标准来自动确定。多边形的宽度(或其他定义的输入)可用于表征相邻层的数目,以在标识的最小电阻路径811、812周围应用PGA。引导式PGA处理可以应用于单个层,也可以应用于多个相邻层,如在PGA处理的执行指令中定义的那样。例如,执行指令可以包括用于仅在单层内执行PGA处理的用户指定的指令的指示。作为另一示例,执行指令可以包括用于在IC设计内应用PGA形状之后执行单元801的时序违规分析的指令。因为添加根据PGA提供的附加导体会增加整个电网的电容效应,所以添加这些PGA形状可能会对通过IC设计内的各种导体(例如,通过单元801之间的信号导线/形状和/或抽头810、820和各种单元801之间的电源信号)的信号的时序产生负面影响)。因此,作为确定放置PGA形状的最终位置的一部分,时序违规分析可以确保不会由于添加PGA形状而提供信号的负面时序影响,以及可以省略被确定为影响IC设计的时序的PGA形状。对于某些设计,可以在IC设计的某些层中省略PGA形状,从而有效地导致仅在IC设计的某些层中执行引导式PGA处理。
如图10所示,引导式PGA处理可以避免在各个多边形822的重叠区域中对PGA形状的放置进行的冗余检查(如图3的506处另外反映的)。例如,在图10的示例中示出对多边形822的矩形联合操作(例如通过生成涵盖多个多边形822的重叠和非重叠部分的单个多边形823,例如位于图9B上部的重叠多边形822)以将重叠多边形822组合成单个形状,其包括单一的内聚多边形823代替图9B上部所示的多个重叠多边形822。提供矩形联合操作以标识重叠多边形822(多个多边形822至少具有被包含在所有这些多个多边形822内的IC设计的某些区域),以及重叠多边形822的唯一边界以便定义涵盖所有多个多边形822的整个区域的单个的内聚的边界。此后,在标识的多边形区域823内添加PGA形状,而不在标识的多边形822,823之外的IC单元设计的区域中添加PGA形状(如图3的508处所反映)。生成的PGA形状可以使用过孔连接到现有的电网形状,如图3的510所反映的,并且可以执行附加的IR压降分析以确保IC设计的正确功能,如图3的512所反映的。
为了比较,图11A图示使用典型PGA生成系统的完整IC单元内PGA形状的位置,而图11B图示使用本引导式PGA生成系统的完整IC单元内的PGA形状的位置。以白色示出的区域标识IC单元内的线路的位置和PGA形状。具体地,如图11B所示,如果在执行引导式PGA处理之后需要对IC设计进行附加更改,则仅在某些指定区域中提供PGA形状,从而保持大量布线资源(IC设计内的开放空间)。耦合电容对信号网络的影响降低了,这是因为设计中包括了更少的对整体耦合电容有贡献的线路。总体而言,根据引导式PGA处理产生的总电网形状面积可以小于作为典型PGA处理的结果产生的电网面积。仅作为一个示例,引导式PGA处理可导致通过典型PGA处理产生的PGA区域的面积的约15%至约40%之间的电网面积。
在应用中,引导式PGA处理的使用可以限于IC设计的特定的、用户选择的区域和/或IC设计的特定的、用户选择的层。例如,用户可以至少部分地基于单元的某些特征来选择应用引导式PGA处理(例如,通过适当的图形用户界面)的那些单元。作为特定示例,用户可以标识用于应用引导式PGA处理的阈值(例如,电阻值阈值、单元数目阈值、单元百分比阈值等)。作为又一特定示例,用户可以选择(经由适当的交互式用户界面)特定单元以对其应用引导式PGA处理。该系统和方法另外标识受到定时退化影响的单元,并且该系统可以防止将引导式PGA处理应用于被标识为受到定时退化影响的那些单元。
此外,可以在IC单元设计上下文之外利用引导式PGA处理,例如用于生成关于位置的试探,以提供PGA形状来改进IC设计的性能。例如,引导式PGA处理可以输出用于指示作为引导式PGA处理结果的PGA形状覆盖的IC设计百分比的数据。引导式PGA处理还可以附加地生成多边形,以便在遵循抽头和单元之间的最小电阻路径的线路迹线之外的IC设计的其他部分周围提供PGA形状。
图12A-12C图示可以由引导式PGA处理自动解决的复杂性的示例。所图示的图12A-12C内的每个图基于它们所确定的IR压降特性来区分不同层级(ties)的单元801。具体地,示出3个层级,通过图12A-12C中的每一个内的代表性单元801的阴影来区分-第一层级反映了具有5个最高IR压降值的5个单元801(具有从1到5的违规等级,违规等级1具有最高IR压降值,递减的IR压降值对应于递增的违规等级编号);第二层级反映了具有下一最高IR压降值的5个单元801(第6个最高IR压降值到第10个最高IR压降值在图中指示为具有从6到10的违规等级);第三层级反映了具有下一最高IR压降值(第11最高IR压降值到第20最高IR压降值在图中指示为具有从11到20的违规等级)的10个单元801。每个层级的大小(例如每个层级中包括的违规等级)以及用于选择特定数目的单元801的指令可以在引导式PGA处理的执行指令中手动或自动定义。在图12A-12C中每个图示的示例中,落入前2层级的单元801(统称为具有前10个最高IR压降值的单元)被选择用于引导式PGA,根据其在每个标识的单元和适当的抽头之间的最小电阻路径周围标识多边形825并且将附加的导体添加到标识的多边形825内。生成这些多边形825以围绕包括由算法(例如,施泰纳树算法)定义的IR压降违规单元801的电网形状并在所生成的围绕所包含的单元801的多边形825内添加PGA形状。
图12A具体图示例如通过上述用于标识重叠多边形825并生成单个多边形825以包括重叠多边形825的所有区域的整体的处理可以绘制包括多个单元801的多边形825。图12B图示附加的复杂情况,根据其,一个单元802(位于图的左下角附近,在绘制的多边形825之外)在PGA形状被包括在围绕单元802的最小电阻路径的IC设计中的情况下被确定为具有时序相关的问题。例如,PGA形状的放置可能会导致高水平的耦合电容,其阻碍信号向单元802的发送和信号自单元802的发送。可以对执行引导式PGA处理的所有单元801执行上述时序分析,并且那些被标识为具有时序问题(例如,向/自单元发送的信号对于供接收单元使用来说到达太早,或者向/自单元发送的信号对于供接收单元使用来说到达太迟)的单元802可以从引导式PGA处理中省略,这样就不会在这些单元802的最小路径电阻周围添加附加的导体。
图12C图示用于在标识要对其执行引导式PGA处理的那些单元801之后提供引导式PGA的又一替代方案。在图12C的示例中,为引导式PGA处理标识的所有单元801都被限定在放置了PGA形状的单个多边形825内。
图13图示在诸如集成电路的制品的设计、验证和制造期间使用的以转换和验证代表集成电路的设计数据和指令的一组示例处理1600。这些流程中的每一个都可以作为多个模块或操作来构建和启用。术语“EDA”表示术语“电子设计自动化”。这些处理开始于使用由设计者提供的信息创建产品构思1610,转换该信息以创建使用一组EDA处理1612的制品。在设计完成后,对设计进行流片1634,其是将集成电路的作品(例如,几何图案)发送到制造设施以制造掩模组,然后使用掩膜组来制造集成电路。在流片之后,制造半导体管芯1636并且执行封装和组装处理1638以生产成品的集成电路1640。
电路或电子结构的规范范围可以从低级晶体管材料布局到高级描述语言。高级表示可用于设计电路和系统,使用硬件描述语言(‘HDL’),例如VHDL、Verilog、SystemVerilog、SystemC、MyHDL或OpenVera。HDL描述可以转换为逻辑级寄存器传输级(‘RTL’)描述、门级描述、布局级描述或掩码级描述。作为更详细描述的每个较低表示级别向设计描述添加更多有用的细节,例如,包含描述的模块的更多细节。作为更详细描述的较低级别的表示可以由计算机生成、从设计库派生或由另一个设计自动化处理创建。用于指定更详细描述的较低级别表示语言的规范语言的示例是SPICE,它用于具有许多模拟组件的电路的详细描述。可以启用每个级别表示的描述用于该层的相应工具(例如,形式验证工具)。EDA产品(或工具)可以启用所描述的处理。
在系统设计1614期间,指定要制造的集成电路的功能。可以针对例如功耗、性能、面积(物理和/或代码行)和成本降低等之类的所需特征优化设计。在此阶段可以将设计划分为不同类型的模块或组件。
在逻辑设计和功能验证1616期间,电路中的模块或组件以一种或多种描述语言指定,并且检查规格的功能准确性。例如,可以验证电路的组件以生成与正在设计的电路或系统的规范要求相匹配的输出。功能验证可以使用模拟器和其他程序,例如测试台生成器、静态HDL检查器和形式验证器。在一些实施例中,被称为“仿真器”或“原型系统”的特殊组件系统用于加速功能验证。
在测试的综合和设计1618期间,HDL代码被转换为网表。在一些实施例中,网表可以是图形结构,其中图形结构的边代表电路的组件并且其中图形结构的节点代表各组件如何互连。HDL代码和网表都是EDA产品可以使用的分层的制品来验证集成电路在制造时是否按照指定的设计执行。可以针对目标半导体制造技术优化网表。此外,可以测试成品集成电路以验证集成电路满足规范的要求。
在网表验证1620期间,检查网表是否符合时序约束以及与HDL代码的对应性。在设计规划1622期间,针对时序和顶层布线构建和分析集成电路的总体平面图。
在布局或物理实现1624期间,发生物理放置(定位诸如晶体管或电容器之类的电路组件)和布线(通过多个导体连接电路组件),并且从库中选择单元以使得特定的逻辑功能能够执行。如本文所用,术语“单元”可指定提供布尔逻辑功能(例如,AND、OR、NOT、XOR)或存储功能(例如触发器或锁存器)的一组晶体管、其他组件和互连。如本文所用,电路“块”可指两个或更多个单元。单元和电路块都可以称为模块或组件,并且既可以作为物理结构也可以在模拟中启用。为选定的单元(基于“标准单元”)指定参数,例如大小,并可在数据库中进行访问以供EDA产品使用。
在分析和提取1626期间,在布局级验证电路功能,这允许布局设计的细化。在物理验证1628期间,检查布局设计以确保例如DRC约束、电气约束、光刻约束之类的制造约束是正确的以及电路功能符合HDL设计规范。在分辨率增强1630期间,转换布局的几何形状以改进电路设计的制造方式。
在流片期间,创建数据以用于生产光刻掩模(如果合适的话在应用光刻增强之后)。在掩模数据准备1632期间,“流片”数据用于生产被用于生产成品集成电路的光刻掩模。
计算机系统(例如图14的计算机系统1700)的存储子系统可用于存储本文描述的EDA产品以及用于开发库的单元和使用库的物理和逻辑设计使用的产品中的一些和全部所使用的程序和数据结构。
图14图示其中可以执行一组指令的计算机系统1700的示例机器,该组指令用于使该机器执行这里讨论的任何一个或多个方法。在替代实施方式中,该机器可以连接(例如,联网)到LAN、内联网、外联网和/或因特网中的其他机器。该机器可以在客户端-服务器网络环境中作为服务器或客户端机器运行,在对等(或分布式)网络环境中作为对等机器运行,或者在云计算基础设施或环境中作为服务器或客户端机器运行。
机器可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、网络设备、服务器、网络路由器、交换机或网桥,或任何能够执行用于指定由该机器要采取的动作的一组指令(顺序或其他)的机器。此外,虽然图示单个机器,但术语“机器”也应被认为包括单独或联合执行一组(或多组)指令以执行本文中讨论的任何一个或多个方法的机器的任何集合。
示例计算机系统1700包括通过总线1730相互通信的处理设备1702、主存储器1704(例如,只读存储器(ROM)、闪存、例如同步DRAM(SDRAM)之类的动态随机存取存储器(DRAM),静态存储器)1706(例如,闪存、静态随机存取存储器(SRAM)等)和数据存储设备1718。
处理设备1702代表一个或多个处理器,例如微处理器、中央处理单元等。更具体地,处理设备可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器,或实现其他指令集的处理器,或实现指令集组合的处理器。处理设备1702也可以是一个或多个专用处理设备,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理设备1702可以被配置为执行指令1726以执行这里描述的操作和步骤。
计算机系统1700还可以包括网络接口设备1708以通过网络1720进行通信。计算机系统1700还可以包括视频显示单元1710(例如,液晶显示器(LCD)或阴极射线管(CRT))、字母数字输入设备1712(例如键盘)、光标控制设备1714(例如鼠标)、图形处理单元1722、信号生成设备1716(例如扬声器)、图形处理单元1722、视频处理单元1728和音频处理单元1732。
数据存储设备1718可以包括机器可读存储介质1724(也称为非暂时性计算机可读介质),在其上存储一组或多组指令1726或体现任何一个或多个此处描述的方法或功能的软件。指令1726还可以在其由计算机系统1700执行期间完全地或至少部分地驻留在主存储器1704和/或处理设备1702内,主存储器1704和处理设备1702也构成机器可读存储介质。
在一些实现方式中,指令1726包括用于实现与本公开相对应的功能的指令。虽然机器可读存储介质1724在示例实现中被示为单个介质,但术语“机器可读存储介质”应被视为包括存储一组或多组指令的单个介质或多个介质(例如,集中式或分布式数据库,以及/或相关的缓存和服务器)。术语“机器可读存储介质”也应包括任何能够存储或编码一组指令的介质,该组指令由机器执行并且使机器和处理设备1702执行本公开的任何一种或多种方法。因此,术语“机器可读存储介质”应理解为包括但不限于固态存储器、光学介质和磁介质。
已经以对计算机存储器内的数据位的操作的算法和符号表示方面来呈现前述详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用来最有效地向本领域的其他技术人员传达他们工作的实质的方式。算法可以是导致期望结果的一系列操作。这些操作是那些需要对物理量进行物理操纵的操作。这些量可以采用能够被存储、组合、比较和以其他方式操纵的电或磁信号的形式。这样的信号可以被称为位、值、元素、符号、字符、术语、数字等。
然而,应当记住,所有这些和类似的术语都将与适当的物理量相关联并且仅仅是应用于这些量的方便的标签。除非从本公开内容中清楚地另有说明,否则应理解,在整个说明书中,某些术语指的是操纵并将被表示为计算机系统的寄存器和存储器中的物理(电子)量的数据转换为被类似表示为计算机系统的存储器或寄存器或其他此类信息存储设备中的物理量的其他数据的计算机系统或者类似的电子计算商标的动作和处理。
本公开还涉及一种用于执行这里的操作的装置。该装置可以为预期目的而专门构造,或者它可以包括由存储在计算机中的计算机程序选择性地激活或重新配置的计算机。这种计算机程序可以存储在计算机可读存储介质中,例如但不限于任何类型的盘,包括软盘、光盘、CD-ROM、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡,或任何类型的适合存储电子指令的介质,每个都耦接到计算机系统总线。
本文中呈现的算法和显示与任何特定计算机或其他装置没有固有的相关性。各种其他系统可以与根据这里的教导的程序一起使用,或者构造更专门的装置来执行该方法可以证明是方便的。此外,本公开没有参照任何特定的编程语言进行描述。应当理解,可以使用多种编程语言来实现如本文所述的本公开的教导。
本公开可以作为计算机程序产品或软件提供,其可以包括其上存储有指令的机器可读介质,该指令可以用于对计算机系统(或其他电子设备)进行编程以执行根据本公开的处理。机器可读介质包括用于以机器(例如,计算机)可读的形式存储信息的任何机制。例如,机器可读(例如,计算机可读)介质包括机器(例如,计算机)可读存储介质,例如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储介质、光存储介质、闪存设备等。
在上述公开中,已经参考本公开的特定示例实施方式描述了本公开的实施方式。很明显,在不脱离如以下权利要求中阐述的本公开的实施方式的范围的情况下,可以对其进行各种修改。在本公开以单数时态指代某些元素的情况下,可以在图中描绘多于一个元素并且相同元素用相同数字来标记。因此,本公开和附图被认为是说明性的而不是限制性的。
Claims (20)
1.一种方法,包括:
在包括多个单元的集成电路IC设计内,针对多个单元中的每一个确定最小电阻路径,以将所述多个单元中的单元连接到IC抽头;
针对所述多个单元中的每一个确定压降值;
标识从所述多个单元中选择的多个目标单元,其中所述多个目标单元中的每一个的所述压降值满足一个或多个压降标准;
定义围绕与每个所述目标单元对应的每个最小电阻路径的多边形;以及
在所述多边形内生成导体。
2.根据权利要求1所述的方法,其中针对所述多个单元中的每一个的所述最小电阻路径位置的标识包括:针对所述多个单元中的每一个的所述最小电阻路径内的部分电网网络的标识。
3.根据权利要求1所述的方法,其中标识所述多个单元中的多个目标单元包括:
将所述多个单元中的每一个的IR压降特性与所述一个或多个IR压降标准进行比较;以及
将所述多个目标单元标识为具有满足所述一个或多个IR压降标准的IR压降特性的单元。
4.根据权利要求1所述的方法,其中所述一个或多个IR压降标准包括目标单元的最大数目。
5.根据权利要求1所述的方法,其中所述一个或多个IR压降标准包括期望的IR压降值。
6.根据权利要求1所述的方法,还包括:生成一个或多个过孔以将一个或多个导体与电网布局的一个或多个形状连接。
7.根据权利要求1所述的方法,其中针对所述多个单元中的每一个执行IR压降分析包括:针对所述多个单元中的每一个的每个连接引脚执行所述IR压降分析。
8.根据权利要求1所述的方法,其中用于将所述多个单元中的每一个连接到IC抽头的最小电阻路径位置的标识包括:标识在引脚到IC抽头之间延伸的所述最小电阻路径。
9.根据权利要求1所述的方法,其中用于将所述多个单元中的每一个连接到IC抽头的最小电阻路径位置的标识包括:标识用于将所述多个单元中的每一个连接到电源IC抽头的最小电阻路径位置,以及标识用于将所述多个单元中的每一个连接到接地IC抽头的最小电阻路径位置。
10.根据权利要求1所述的方法,其中定义围绕与每个所述目标单元对应的所述最小电阻路径位置的多边形包括:定义至少一个多边形,所述至少一个多边形包括处于所述至少一个多边形的边界内的多个目标单元。
11.根据权利要求1所述的方法,还包括:
在定义围绕与每个所述目标单元对应的所述最小电阻路径位置的多边形之后,标识被包括在重叠多边形内的一个或多个区域;
重新定义至少一个多边形以取代所述重叠多边形并至少围绕所述重叠多边形内包括的区域;以及
在重新定义的所述至少一个多边形内生成导体。
12.根据权利要求1所述的方法,还包括:在生成所述导体之后,在所述多边形外部的所述IC设计的区域中布线至少一根导线。
13.一种包括存储的指令的非暂时性计算机可读介质,所述指令在由装置执行时使所述装置:
在包括多个单元的集成电路IC设计内,针对多个单元中的每一个确定最小电阻路径,以将所述多个单元中的单元连接到IC抽头;
针对所述多个单元中的每一个确定压降值;
标识从所述多个单元中选择的多个目标单元,其中所述多个目标单元中的每一个的所述压降值满足一个或多个压降标准;
定义围绕与每个所述目标单元对应的每个最小电阻路径的多边形;以及
在所述多边形内生成导体。
14.根据权利要求13所述的非暂时性计算机可读介质,其中标识所述多个单元中的多个目标单元包括:
将所述多个单元中的每一个的IR压降特性与所述一个或多个IR压降标准进行比较;以及
将所述多个目标单元标识为具有满足所述一个或多个IR压降标准的IR压降特性的单元。
15.根据权利要求13所述的非暂时性计算机可读介质,其中用于将所述多个单元中的每一个连接到IC抽头的最小电阻路径位置的标识包括:标识在引脚到IC抽头之间延伸的所述最小电阻路径。
16.根据权利要求13所述的非暂时性计算机可读介质,其中用于将所述多个单元中的每一个连接到IC抽头的最小电阻路径位置的标识包括:标识用于将所述多个单元中的每一个连接到电源IC抽头的最小电阻路径位置,以及标识用于将所述多个单元中的每一个连接到接地IC抽头的最小电阻路径位置。
17.根据权利要求13所述的非暂时性计算机可读介质,其中定义围绕与每个所述目标单元对应的所述最小电阻路径位置的多边形包括:定义至少一个多边形,所述至少一个多边形包括处于所述至少一个多边形的边界内的多个目标单元。
18.根据权利要求13所述的非暂时性计算机可读介质,其中至少一个非暂时性计算机存储介质用于存储指令,所述指令在由装置执行时进一步使所述装置:
在定义围绕与每个所述目标单元对应的所述最小电阻路径位置的多边形之后,标识被包括在重叠多边形内的一个或多个区域;
重新定义至少一个多边形以取代所述重叠多边形并至少围绕所述重叠多边形内包括的区域;以及
在重新定义的至少一个多边形内生成导体。
19.根据权利要求13所述的非暂时性计算机可读介质,其中至少一个非暂时性计算机存储介质用于存储指令,所述指令在由装置执行时进一步使所述装置:在生成所述导体之后,在所述多边形外部的所述IC设计的区域中布线至少一根导线。
20.一种装置,包括:
存储器,其存储指令;以及
处理器,其与所述存储器耦接并执行所述指令,所述指令在被执行时使所述处理器:
在包括多个单元的集成电路IC设计内,针对多个单元中的每一个确定最小电阻路径,以将所述多个单元中的单元连接到IC抽头;
针对所述多个单元中的每一个确定压降值;
标识从所述多个单元中选择的多个目标单元,其中所述多个目标单元中的每一个的所述压降值满足一个或多个压降标准;
定义围绕与每个所述目标单元对应的每个最小电阻路径的多边形;以及
在所述多边形内生成导体。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063066556P | 2020-08-17 | 2020-08-17 | |
US63/066,556 | 2020-08-17 | ||
US17/402,046 | 2021-08-13 | ||
US17/402,046 US11829698B2 (en) | 2020-08-17 | 2021-08-13 | Guided power grid augmentation system and method |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114077274A true CN114077274A (zh) | 2022-02-22 |
Family
ID=80224302
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110939332.6A Pending CN114077274A (zh) | 2020-08-17 | 2021-08-16 | 引导式电网增强的系统和方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11829698B2 (zh) |
CN (1) | CN114077274A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118228654A (zh) * | 2024-05-23 | 2024-06-21 | 杭州芯晓电子科技有限公司 | 一种基于电阻网络的电路设计高效调试方法和装置 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050023705A1 (en) * | 2003-07-30 | 2005-02-03 | Telairity Semiconductor, Inc. | Power grid layout techniques on integrated circuits |
US20090236637A1 (en) * | 2008-03-21 | 2009-09-24 | Ching-Chung Ko | Power and ground routing of integrated circuit devices with improved ir drop and chip performance |
WO2012127784A1 (ja) * | 2011-03-24 | 2012-09-27 | ルネサスエレクトロニクス株式会社 | 半導体集積回路の電源配線レイアウト方法及び電源配線レイアウト装置 |
US20130037934A1 (en) * | 2011-08-09 | 2013-02-14 | Chih-Ching Lin | Integrated circuit chip with reduced ir drop |
US8495547B2 (en) * | 2009-11-11 | 2013-07-23 | International Business Machines Corporation | Providing secondary power pins in integrated circuit design |
US20130264681A1 (en) * | 2009-05-04 | 2013-10-10 | Mediatek Inc. | Integrated circuit chip with reduced ir drop |
CN105808807A (zh) * | 2014-12-31 | 2016-07-27 | 新思科技有限公司 | 用于先进半导体技术的电迁移验证 |
US20170177785A1 (en) * | 2015-12-18 | 2017-06-22 | Arm Limited | Computer Implemented System and Method for Modifying a Layout of Standard Cells Defining a Circuit Component |
CN108363845A (zh) * | 2017-01-27 | 2018-08-03 | Arm有限公司 | 电网愈合技术 |
CN109426695A (zh) * | 2017-08-30 | 2019-03-05 | Arm有限公司 | 集成电路设计和/或制造 |
CN109585371A (zh) * | 2017-09-28 | 2019-04-05 | 台湾积体电路制造股份有限公司 | 集成电路布局方法、结构和系统 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6308307B1 (en) * | 1998-01-29 | 2001-10-23 | Texas Instruments Incorporated | Method for power routing and distribution in an integrated circuit with multiple interconnect layers |
US6202191B1 (en) * | 1999-06-15 | 2001-03-13 | International Business Machines Corporation | Electromigration resistant power distribution network |
JP2005004268A (ja) * | 2003-06-09 | 2005-01-06 | Matsushita Electric Ind Co Ltd | 半導体集積回路装置の動作解析方法、これに用いられる解析装置およびこれを用いた最適化設計方法 |
JP4287294B2 (ja) * | 2004-01-21 | 2009-07-01 | 株式会社東芝 | 自動設計方法、自動設計装置、及び半導体集積回路 |
US7536658B2 (en) * | 2004-10-29 | 2009-05-19 | Synopsys, Inc. | Power pad synthesizer for an integrated circuit design |
JP4986114B2 (ja) * | 2006-04-17 | 2012-07-25 | ルネサスエレクトロニクス株式会社 | 半導体集積回路及び半導体集積回路の設計方法 |
JP5070785B2 (ja) * | 2006-09-26 | 2012-11-14 | 富士通セミコンダクター株式会社 | 回路設計方法及び回路設計システム |
US8386987B1 (en) * | 2008-03-31 | 2013-02-26 | Cadence Design Systems, Inc. | Method and system for implementing and analyzing power switch configurations |
US8959470B2 (en) * | 2008-04-09 | 2015-02-17 | Advanced Micro Devices, Inc. | Integrated circuit with areas having uniform voltage drop and method therefor |
US8336018B2 (en) * | 2010-06-09 | 2012-12-18 | Lsi Corporation | Power grid optimization |
US8712752B2 (en) * | 2011-02-23 | 2014-04-29 | Apple Inc. | IR(voltage) drop analysis in integrated circuit timing |
WO2013079995A1 (en) * | 2011-12-01 | 2013-06-06 | Freescale Semiconductor, Inc. | Method for placing operational cells in a semiconductor device |
US10318694B2 (en) * | 2016-11-18 | 2019-06-11 | Qualcomm Incorporated | Adaptive multi-tier power distribution grids for integrated circuits |
US10185801B2 (en) * | 2017-01-18 | 2019-01-22 | Oracle International Corporation | Adaptive power grid generation |
US11531797B1 (en) * | 2020-04-17 | 2022-12-20 | Synopsys, Inc. | Vector generation for maximum instantaneous peak power |
-
2021
- 2021-08-13 US US17/402,046 patent/US11829698B2/en active Active
- 2021-08-16 CN CN202110939332.6A patent/CN114077274A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050023705A1 (en) * | 2003-07-30 | 2005-02-03 | Telairity Semiconductor, Inc. | Power grid layout techniques on integrated circuits |
US20090236637A1 (en) * | 2008-03-21 | 2009-09-24 | Ching-Chung Ko | Power and ground routing of integrated circuit devices with improved ir drop and chip performance |
US20130264681A1 (en) * | 2009-05-04 | 2013-10-10 | Mediatek Inc. | Integrated circuit chip with reduced ir drop |
US8495547B2 (en) * | 2009-11-11 | 2013-07-23 | International Business Machines Corporation | Providing secondary power pins in integrated circuit design |
WO2012127784A1 (ja) * | 2011-03-24 | 2012-09-27 | ルネサスエレクトロニクス株式会社 | 半導体集積回路の電源配線レイアウト方法及び電源配線レイアウト装置 |
US20130037934A1 (en) * | 2011-08-09 | 2013-02-14 | Chih-Ching Lin | Integrated circuit chip with reduced ir drop |
CN105808807A (zh) * | 2014-12-31 | 2016-07-27 | 新思科技有限公司 | 用于先进半导体技术的电迁移验证 |
US20170177785A1 (en) * | 2015-12-18 | 2017-06-22 | Arm Limited | Computer Implemented System and Method for Modifying a Layout of Standard Cells Defining a Circuit Component |
CN108363845A (zh) * | 2017-01-27 | 2018-08-03 | Arm有限公司 | 电网愈合技术 |
CN109426695A (zh) * | 2017-08-30 | 2019-03-05 | Arm有限公司 | 集成电路设计和/或制造 |
CN109585371A (zh) * | 2017-09-28 | 2019-04-05 | 台湾积体电路制造股份有限公司 | 集成电路布局方法、结构和系统 |
Non-Patent Citations (1)
Title |
---|
葛成余;周博曦;朱颂怡;张俊玲;孙联喜;王金亮;张浩;刘书阁;韩先鹤;: "基于遗传算法的区域配电网单线图的自动布局算法", 中国电力, no. 12, 5 December 2016 (2016-12-05) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118228654A (zh) * | 2024-05-23 | 2024-06-21 | 杭州芯晓电子科技有限公司 | 一种基于电阻网络的电路设计高效调试方法和装置 |
CN118228654B (zh) * | 2024-05-23 | 2024-08-13 | 杭州芯晓电子科技有限公司 | 一种基于电阻网络的电路设计高效调试方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US20220050952A1 (en) | 2022-02-17 |
US11829698B2 (en) | 2023-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10796053B2 (en) | Computer implemented system and method for generating a layout of a cell defining a circuit component | |
US11288432B2 (en) | Computer implemented system and method for generating a layout of a cell defining a circuit component | |
US6519749B1 (en) | Integrated circuit partitioning placement and routing system | |
CN114303150A (zh) | 集成电路设计中的机器学习驱动的预测 | |
US11334705B2 (en) | Electrical circuit design using cells with metal lines | |
US11176306B2 (en) | Methods and systems to perform automated Integrated Fan-Out wafer level package routing | |
US20220405458A1 (en) | Machine-learning-based power/ground (p/g) via removal | |
US10242145B1 (en) | Optimizing a power grid for an integrated circuit | |
US11694016B2 (en) | Fast topology bus router for interconnect planning | |
US11675726B2 (en) | Interconnect repeater planning and implementation flow for abutting designs | |
US11829698B2 (en) | Guided power grid augmentation system and method | |
Kabir et al. | Holistic Chiplet–Package Co-Optimization for Agile Custom 2.5-D Design | |
US20230351087A1 (en) | Using machine trained network during routing to modify locations of vias in an ic design | |
US20220391566A1 (en) | Machine learning models for predicting detailed routing topology and track usage for accurate resistance and capacitance estimation for electronic circuit designs | |
US11620427B1 (en) | Pattern based die connector assignment using machine learning image recognition | |
US11301614B1 (en) | Feasibility analysis of engineering change orders | |
US11416661B2 (en) | Automatic derivation of integrated circuit cell mapping rules in an engineering change order flow | |
US9293450B2 (en) | Synthesis of complex cells | |
CN113536726A (zh) | 用于最大瞬时峰值功率的矢量生成 | |
US10540470B1 (en) | Generating a power grid for an integrated circuit | |
US11144700B1 (en) | Grouping nets to facilitate repeater insertion | |
US11816407B1 (en) | Automatic channel identification of high-bandwidth memory channels for auto-routing | |
US20230061120A1 (en) | Routing of high-speed, high-throughput interconnects in integrated circuits | |
US11080450B1 (en) | Calculating inductance based on a netlist | |
US11586796B1 (en) | Keep-through regions for handling end-of-line rules in routing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |