CN116522854A - 多供电系统的集成电路仿真模型生成与计算方法及系统 - Google Patents
多供电系统的集成电路仿真模型生成与计算方法及系统 Download PDFInfo
- Publication number
- CN116522854A CN116522854A CN202310815263.7A CN202310815263A CN116522854A CN 116522854 A CN116522854 A CN 116522854A CN 202310815263 A CN202310815263 A CN 202310815263A CN 116522854 A CN116522854 A CN 116522854A
- Authority
- CN
- China
- Prior art keywords
- vrm
- integrated circuit
- polygon
- vrms
- supernode
- 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.)
- Granted
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 73
- 238000004364 calculation method Methods 0.000 title claims abstract description 61
- 238000000034 method Methods 0.000 claims abstract description 81
- 230000005684 electric field Effects 0.000 claims description 16
- 239000011159 matrix material Substances 0.000 claims description 16
- 230000010354 integration Effects 0.000 claims description 13
- 230000000149 penetrating effect Effects 0.000 claims description 12
- 230000008878 coupling Effects 0.000 claims description 9
- 238000010168 coupling process Methods 0.000 claims description 9
- 238000005859 coupling reaction Methods 0.000 claims description 9
- 238000002955 isolation Methods 0.000 claims description 6
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 claims description 4
- WABPQHHGFIMREM-UHFFFAOYSA-N lead(0) Chemical compound [Pb] WABPQHHGFIMREM-UHFFFAOYSA-N 0.000 claims description 3
- 239000010931 gold Substances 0.000 claims 1
- 229910052737 gold Inorganic materials 0.000 claims 1
- 230000005284 excitation Effects 0.000 abstract description 5
- 238000005516 engineering process Methods 0.000 abstract description 3
- 101000766345 Homo sapiens Tribbles homolog 3 Proteins 0.000 description 32
- 102100026390 Tribbles homolog 3 Human genes 0.000 description 32
- 238000004590 computer program Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 241000218202 Coptis Species 0.000 description 2
- 235000002991 Coptis groenlandica Nutrition 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 239000002184 metal Substances 0.000 description 2
- 229910052751 metal Inorganic materials 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 125000003275 alpha amino acid group Chemical group 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/12—Printed circuit boards [PCB] or multi-chip modules [MCM]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02E—REDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
- Y02E60/00—Enabling technologies; Technologies with a potential or indirect contribution to GHG emissions mitigation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Architecture (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明公开了多供电系统的集成电路仿真模型生成与计算方法,基于网络的拓扑关系及VRM与SINK管脚的连接关系识别集成电路版图中各VRM、SINK所在的网络;将整个集成电路版图划分为多个互不连通的独立的网络组,每个独立的网络组即为一个连通的电源供电系统,对每个独立的电源供电系统建立仿真计算模型;当判断所述仿真计算模型只包含一个VRM,对该VRM施加一类边界条件进行仿真;当判断所述仿真计算模型在该网络组中包含多个VRM,则首先将多个VRM合并为一个超节点,采用超节点技术将为同一网络供电的多个VRM联合起来,从根本上解决了各个激励独立施加带来的误差,为多供电电源的集成电路提供高精度的直流压降仿真。
Description
技术领域
本发明涉及集成电路优化技术领域,具体为多供电系统的集成电路仿真模型生成与计算方法及系统。
背景技术
随着通信技术的发展,超大规模集成电路的研究与发展已逐渐展开。为了提高电子设备的性能,缩小体积,降低成本,将电源、晶体管、电子元器件、线路等都集成在一小块2D、3D的集成电路封装上。为了实现更多的功能,超大规模集成电路往往设计有几层到上百层结构,每层结构极其复杂,集成数千万甚至数亿的晶体管,具有多尺度结构,从厘米级到目前最新的纳米级,这些数以亿计的元器件在集成电路封装上形成了数以万计的电源与信号网络,以实现多路信号、多个功能同时并发工作。
其中SINK的功耗较大,或者在同一个网络中存在多个SINK导致总体功耗较大时,对应的SINK电流较大,单个VRM供电无法满足大功耗的SINK的需求,此时需要多个VRM在不同位置同时给SINK供电。由于多个VRM同时给相同的网络供电,因此要求多个VRM具有相同的供电电压。然而,由于不同VRM在版图上的位置不同,其与各SINK之间的直流电阻也各不相同,因此各VRM的实际供电电流也不一样。传统上,对于多VRM供电的集成电路电源供电系统的仿真,常采用施加多个激励的方式,在多个位置同时施加一类边界条件:
式中表示一类边界条件的边界位置,/>表示一类边界的值,即VRM的供电电压。基于施加的激励,首先可以计算出电压分布,进而,可以通过常规方法计算出直流压降和电流密度分布、功率损耗分布、热点分布等用户关心的问题。这个多激励添加的方法通常情况下是准确的,能满足用户绝大多数情况下的要求,但由于各个激励是独立施加的,虽然激励表示的VRM的供电电压是一致的,但这个电压代表各激励相对于地平面的电压,无法严格保证各VRM的实际供电电压精确等于设置的供电电压,在不同的VRM距离较远时,这个差异已经不能忽略,这将给仿真带来一定的误差。
发明内容
本发明主要是提供多供电系统的集成电路仿真模型生成与计算方法及系统。
为了解决上述技术问题,本发明采用如下技术方案:
第一方面,多供电系统的集成电路仿真模型生成与计算方法,包括,
S1:基于网络的拓扑关系及VRM与SINK管脚的连接关系识别集成电路版图中各VRM、SINK所在的网络;
S2:基于各VRM、SINK所在的网络将整个集成电路版图划分为多个互不连通的独立的网络组,每个独立的网络组即为一个连通的电源供电系统,其中包含一个或多个VRM、SINK,对每个独立的电源供电系统建立仿真计算模型;
S3:基于仿真计算模型,当判断所述仿真计算模型只包含一个VRM,对该VRM施加一类边界条件进行仿真,计算直流压降和电流密度分布;当判断所述仿真计算模型在该网络组中包含多个VRM,则首先将多个VRM合并为一个超节点,对该超节点施加一类边界条件进行仿真,计算直流压降和电流密度分布;所述超节点为形成整体刚度矩阵时电路节点不同但编号相同的电路节点集合。
S4:基于电流密度分布,通过积分的方法计算各VRM的实际输出电流。
进一步的,所述S1:基于网络的拓扑关系及VRM与SINK管脚的连接关系识别集成电路版图中各VRM、SINK所在的网络,包括,
S11:标记各VRM,SINK的管脚在集成电路版图中的位置,并将所述位置作为集成电路版图的电路节点;
S12:将所述集成电路版图中的走线、由过孔引起的焊盘以及隔离垫片转换为版图多边形并与原始定义的覆铜多边形进行多边形布尔运算,形成统一的版图多边形;
S13:根据所述版图多边形和所述集成电路版图中的电路节点,生成带约束的三角形网格剖分;
S14:对带约束的三角形网格剖分进行遍历并进行网络编号填写;
S15:基于标记的各VRM、SINK管脚的电路节点在所述集成电路版图中对应的位置点所关联的三角形获取所述位置点的网络编号,获得各VRM,SINK所属的网络。
进一步的,所述基于仿真计算模型,当判断所述仿真计算模型只包含一个VRM,对该VRM施加一类边界条件进行仿真,计算直流压降和电流密度分布,包括,
获取根据多层集成电路直流电场的三维模型简化的多层集成电路直流电场二维模型,对各层所述二维模型采用有限元法建立场域求解方程组,形成集成电路场域求解方程组的总体刚度矩阵;
对所述集成电路的外部电路,根据超节点法建立对称正定的外部电路方程组;对VRM各管脚对应的电路节点,将其作为外部电路节点且合并为一个超节点;
将所述场域求解方程组与所述包含超节点的外部电路方程组合并,建立场-路耦合的对称正定的统一求解方程组;
求解上述方程组,获得电压分布,在此基础上计算直流压降、电流密度分布。
进一步的,S3中当判断所述仿真计算模型在该网络组中包含多个VRM,则首先将多个VRM合并为一个超节点,对该超节点施加一类边界条件进行仿真,计算直流压降和电流密度分布,包括,
对所述集成电路的外部电路,根据超节点法建立对称正定的外部电路方程组;
收集所有VRM各管脚对应的电路节点,将所有收集的VRM管脚对应的电路节点作为外部电路节点且合并为一个超节点;
进一步的,所述S4:基于电流密度分布,通过积分的方法计算各VRM的实际输出电流,包括,
S41:基于每个VRM,采用递归法建立VRM管脚的包络凸多边形;
S42:基于每个VRM的包络凸多边形,判断其是否与其他VRM的包络凸多边形相交,若没有其他VRM的包络凸多边形与之相交,转入S44;
S43:采用布尔“或”的操作合并相交的凸多边形,形成新的包络多边形;
S44:基于电流密度分布,通过采用积分法计算穿出包络多边形的电流和;
S45:若包络多边形所在的覆铜区域还存在连接不同层的导线包括过孔、金线、引线,所述穿出包络多边形的电流和还包括从包络多边形流出连接不同层的导线的电流和;
S46,根据包络多边形内包含的VRM管脚数量按比例计算每个VRM的输出电流:
其中I为所述穿出包络多边形的电流和,为第k个VRM的管脚数。
S47:若包络多边形内只有1个VRM,那么该VRM的输出电流即为S45中计算的电流和。
第二方面,多供电系统的集成电路仿真模型生成与计算系统,包括,
集成电路识别模块:基于网络的拓扑关系及VRM与SINK管脚的连接关系识别集成电路版图中各VRM、SINK所在的网络;
仿真计算模型建立模块:用于基于各VRM、SINK所在的网络将整个集成电路版图划分为多个互不连通的独立的网络组,每个独立的网络组即为一个连通的电源供电系统,其中包含一个或多个VRM、SINK,对每个独立的电源供电系统建立仿真计算模型;
VRM判断与计算模块:用于基于仿真计算模型,当判断所述仿真计算模型只包含一个VRM,对该VRM施加一类边界条件进行仿真,计算直流压降和电流密度分布;当判断所述仿真计算模型在该网络组中包含多个VRM,则首先将多个VRM合并为一个超节点,对该超节点施加一类边界条件进行仿真,计算直流压降和电流密度分布;所述超节点为形成整体刚度矩阵时电路节点不同但编号相同的电路节点集合。
VRM电流计算模块:基于电流密度分布,用于通过积分的方法计算各VRM的实际输出电流。
进一步的,集成电路版图标记单元:用于标记各VRM,SINK的管脚在集成电路版图中的位置,并将所述位置作为集成电路版图的电路节点;
集成电路统一版图多边形生成单元:用于将所述集成电路版图中的走线、由过孔引起的焊盘以及隔离垫片转换为版图多边形并与原始定义的覆铜多边形进行多边形布尔运算,形成集成电路统一的版图多边形;
三角形网格剖分生成单元:用于根据所述版图多边形和所述集成电路版图中的电路节点,生成带约束的三角形网格剖分;
网络编号单元:用于对带约束的三角形网格剖分进行遍历并进行网络编号填写;
VRM,SINK所属网络获取单元:基于标记的各VRM、SINK管脚的电路节点在所述集成电路版图中对应的位置点所关联的三角形获取所述位置点的网络编号,从而获得各VRM,SINK所属的网络。
进一步的,总体刚度矩阵单元:用于获取根据多层集成电路直流电场的三维模型简化的多层集成电路直流电场二维模型,对各层所述二维模型采用有限元法建立场域求解方程组,形成集成电路场域求解方程组的总体刚度矩阵;
单个VRM超节点形成单元:用于对所述集成电路的外部电路,根据超节点法建立对称正定的外部电路方程组;对VRM各管脚对应的电路节点,将其作为外部电路节点且合并为一个超节点;
方程组建立单元:用于将所述场域求解方程组与所述包含超节点的外部电路方程组合并,建立场-路耦合的对称正定的统一求解方程组;
方程组求解单元:用于求解上述方程组,获得电压分布。
直流压降计算单元:用于根据获得的电压分布计算直流压降分布;
电流密度分布计算单元:用于根据获得的电压分布计算电流密度分布。
进一步的,外部电路方程组建立单元:用于对所述集成电路的外部电路,根据超节点法建立对称正定的外部电路方程组;
多个VRM超节点形成单元:收集所有VRM各管脚对应的电路节点,将所有收集的VRM管脚对应的电路节点作为外部电路节点且合并为一个超节点;
进一步的,VRM电流计算模块,包括,
基于每个VRM,采用递归法建立VRM管脚的包络凸多边形;
基于每个VRM的包络凸多边形,判断其是否与其他VRM的包络凸多边形相交,若没有其他VRM的包络凸多边形与之相交,基于电流密度分布,采用积分法计算穿出包络多边形的电流和;
若有其他VRM的包络凸多边形与之相交,采用布尔“或”的操作合并相交的凸多边形,形成新的包络多边形;基于电流密度分布,通过采用积分法计算穿出新的包络多边形的电流和;
若包络多边形所在的覆铜区域还存在连接不同层的导线包括过孔、金线、引线,所述穿出包络多边形的电流和还包括从包络多边形流出连接不同层的导线的电流和;
根据包络多边形内包含的VRM管脚数量按比例计算每个VRM的输出电流:
其中I为所述穿出包络多边形的电流和,为第k个VRM的管脚数。
有益效果:多供电系统的集成电路仿真模型生成与计算方法及系统,通过采用超节点技术将为同一网络供电的多个VRM联合起来,多供电电源的集成电路直流压降计算模型自动生成,从根本上解决了各个激励独立施加带来的误差,为多VRM供电的集成电路电源供电系统提供高精度的直流压降仿真。
附图说明
图1为多VRM供电的集成电路电源供电的方法流程示意图;
图2为多VRM供电的集成电路电源供电的系统模块示意图;
图3为积分法计算穿出包络多边形的电流组合示意图。
具体实施方式
以下将结合实施例对本发明涉及的多供电系统的集成电路仿真模型生成与计算方法及系统技术方案进一步详细说明。
参见图1,多供电系统的集成电路仿真模型生成与计算方法,包括,
S1:基于网络的拓扑关系及VRM与SINK管脚的连接关系识别集成电路版图中各VRM、SINK所在的网络;
S2:基于各VRM、SINK所在的网络将整个集成电路版图划分为多个互不连通的独立的网络组,每个独立的网络组即为一个连通的电源供电系统,其中包含一个或多个VRM、SINK,对每个独立的电源供电系统建立仿真计算模型;
S3:基于仿真计算模型,当判断所述仿真计算模型只包含一个VRM,对该VRM施加一类边界条件进行仿真,计算直流压降和电流密度分布;当判断所述仿真计算模型在该网络组中包含多个VRM,则首先将多个VRM合并为一个超节点,对该超节点施加一类边界条件进行仿真,计算直流压降和电流密度分布;所述超节点为形成整体刚度矩阵时电路节点不同但编号相同的电路节点集合。
S4:基于电流密度分布,通过积分的方法计算各VRM的实际输出电流。
参见图3,另一种实施方式,所述S1:基于网络的拓扑关系及VRM与SINK管脚的连接关系识别集成电路版图中各VRM、SINK所在的网络,包括,
S11:标记各VRM,SINK的管脚在集成电路版图中的位置,并将所述位置作为集成电路版图的电路节点;
S12:将所述集成电路版图中的走线、由过孔引起的焊盘以及隔离垫片转换为版图多边形并与原始定义的覆铜多边形进行多边形布尔运算,形成统一的版图多边形;
S13:根据所述版图多边形和所述集成电路版图中的电路节点,生成带约束的三角形网格剖分;
S14:对带约束的三角形网格剖分进行遍历并进行网络编号填写;
S15:基于标记的各VRM、SINK管脚的电路节点在所述集成电路版图中对应的位置点所关联的三角形获取所述位置点的网络编号,从而获得各VRM,SINK所属的网络。
另一种实施方式,所述基于仿真计算模型,当判断所述仿真计算模型只包含一个VRM,对该VRM施加一类边界条件进行仿真,计算直流压降和电流密度分布,包括,
获取根据多层集成电路直流电场的三维模型简化的多层集成电路直流电场二维模型,对各层所述二维模型采用有限元法建立场域求解方程组,形成集成电路场域求解方程组的总体刚度矩阵,具体过程如下:
多层集成电路直流电场的三维模型是指所述直流电场模型中电导率、电位u的分布均为三维空间坐标(x,y,z)的函数,即:
,/>,其满足以下方程(1)及边界条件(2):
(1)
(2)
式(2)中,为第一类边界,/>为第二类边界的法向,/>为电位/>在第一类边界上的值,用/>表示,/>为外部电路的体电流密度;
针对所述多层集成电路直流电场的三维模型,建立各层集成电路直流电场二维模型的泛函: (3)
式中,所述h为金属层的厚度,为网格剖分单元e的电导率;/>为网格剖分单元e的电位;/>为网格剖分单元e的面,/>为外部激励产生的表面电流密度,所述I(u)为泛函,le表示网格剖分单元e的棱边。对以上泛函在网格剖分单元上进行离散,取极值并令极值为零,即可获得有限元方程组。
对所述集成电路的外部电路,根据超节点法建立对称正定的外部电路方程组;对VRM各管脚对应的电路节点,将其作为外部电路节点且合并为一个超节点;
将所述场域求解的有限元方程组与所述包含超节点的外部电路方程组合并,建立场-路耦合的对称正定的统一求解方程组;
求解上述方程组,获得电压分布,在此基础上计算直流压降、电流密度分布。
其中,直流压降的计算方法:基于网格单元的每个节点所属的网络(VRM所在的电源网络、SINK所在的电源供给网络以及地网络),网格单元的每个节点的实际电压与其理想电压的偏差为网格单元的每个节点的直流压降。如果节点所属的网络为VRM所在的电源网络或SINK所在的电源供给网络,其理想电压为VRM的标称输出电压;如果节点所属网络为地网络,其理想电压为0;
电流密度分布的计算方法:
基于电压分布,计算平面电流密度和过孔的电流密度/>。其中,平面电流密度/>为:/>
式中为平面所在导体的电导率,/>为平面电源或地平面任意点的坐标,为有限元法获得的电压分布,/>为梯度运算符。
过孔的电流密度由有限元法获得的电压分布根据下式计算获得:
式中为第/>个过孔的电流密度,/>为第/>个过孔top层所在位置的电压,/>为第/>个过孔bottom层所在位置的电压,/>为第/>个过孔的电阻,为第/>个过孔的截面积。
另一种实施方式,收集所有VRM各管脚对应的电路节点,将所有收集的VRM管脚对应的电路节点作为外部电路节点且合并为一个超节点;
对所述集成电路的外部电路,根据超节点法建立对称正定的外部电路方程组;
另一种实施方式,所述S4:基于电流密度分布,通过积分的方法计算各VRM的实际输出电流,包括,
S41:基于每个VRM,采用递归法建立VRM管脚的包络凸多边形;
S42:基于每个VRM的包络凸多边形,判断其是否与其他VRM的包络凸多边形相交,若没有其他VRM的包络凸多边形与之相交,转入S44;
S43:采用布尔“或”的操作合并相交的凸多边形,形成新的包络多边形;
S44:基于电流密度分布,通过采用积分法计算穿出包络多边形的电流和;
参见图3,具体的,采用积分法计算穿出包络多边形的电流和为,
图示为包络多边形及其相关网格示意图,顶点1234579为包络多边形的顶点,因为网格剖分过程中,VRM的实际管脚对应的电路节点应加入到网格节点中,因此包络多边形的顶点也是VRM的实际管脚对应的电路节点。但包络多边形的边不一定都是网格单元的边,图中多边形的边57和79不是任何网格单元的边。
S4411:找出包络多边形包含的网格单元(包括包络多边形的顶点相关的单元,类似于“一种集成电路版图电流密度超标区域优化方法及系统”中搜索电流密度超标区域的方法),并找出这些网格单元的边界,如上图所示的网格单元的边界,具体步骤:
S4412:从包络多边形的任意顶点出发,设置包络多边形包含的网格单元集合{T}为与该顶点相关的单元,并设置这些单元的状态为已处理单元;设置前线单元集合{front}={T};设置包络多边形包含的网格单元的边界集合{bound}为空;所述与顶点相关联的单元是指单元的任一顶点为该顶点;
S4413:从前线单元集合{front}中取出一个单元,判断其某个边的邻居单元是否存在,如果存在,判断其顶点是否至少有一个在包络多边形之内(含单元顶点为包络多边形的某个顶点),如果在之内,将该单元添加到{T}和{front}中,转入S4416;
S4414:如果其某个边的邻居单元不存在,将该边加入包络多边形包含的网格单元的边界集合{bound}中,转入S4416;
S4415: 如果其顶点都不在包络多边形之内,将该边加入包络多边形包含的网格单元的边界集合{bound}中;
S4416:转入S4413,直到前线单元集合{front}为空。
S442:计算穿过包络多边形包含的网格单元的边界集合{bound}的每个边的电流:
其中为穿过边界集合{bound}的边界b的电流,b=1,2,…,Nbound,Nbound为边界集合{bound}中边的数量,/>为边界集合{bound}的边界b所在的包络多边形包含的网格单元的电流密度, />为边界集合{bound}的边界b的单位法向量,/>为边界集合{bound}的边界b的长度,h为金属层的厚度。
S443: 对S442计算的所有穿过边界集合{bound}的边界的电流累加,即完成积分法计算穿出包络多边形的电流和。
S45:若包络多边形所在的覆铜区域还存在连接不同层的导线包括过孔、金线、引线,所述穿出包络多边形的电流和还包括从包络多边形流出连接不同层的导线的电流和;
S45,根据包络多边形内包含的VRM管脚数量按比例计算每个VRM的输出电流:
其中I为所述穿出包络多边形的电流和,为第k个VRM的管脚数。
S46:若包络多边形内只有1个VRM,那么该VRM的输出电流即为S45中计算的电流和。
参见图2,多供电系统的集成电路仿真模型生成与计算系统,包括,
集成电路识别模块01:基于剖分的网格,用于识别集成电路版图中各VRM、SINK所在的网络;
仿真计算模型建立模块02:用于基于各VRM、SINK所在的网络将整个集成电路版图划分为多个互不连通的独立的网络组,每个独立的网络组即为一个连通的电源供电系统,其中包含一个或多个VRM、SINK,对每个独立的电源供电系统建立仿真计算模型;
VRM判断与计算模块03:用于基于仿真计算模型,当判断所述仿真计算模型只包含一个VRM,对该VRM施加一类边界条件进行仿真,计算直流压降和电流密度分布;当判断所述仿真计算模型在该网络组中包含多个VRM,则首先将多个VRM合并为一个超节点,对该超节点施加一类边界条件进行仿真,计算直流压降和电流密度分布;所述超节点为形成整体刚度矩阵时电路节点不同但编号相同的电路节点集合。
VRM电流计算模块04:基于电流密度分布,用于通过积分的方法计算各VRM的实际输出电流。
另一种实施方式,集成电路版图标记单元05:用于标记各VRM,SINK的管脚在集成电路版图中的位置,并将所述位置作为集成电路版图的电路节点;
集成电路统一版图多边形生成单元06:用于将所述集成电路版图中的走线、由过孔引起的焊盘以及隔离垫片转换为版图多边形并与原始定义的覆铜多边形进行多边形布尔运算,形成集成电路统一的版图多边形;
三角形网格剖分生成单元07:用于根据所述版图多边形和所述集成电路版图中的电路节点,生成带约束的三角形网格剖分;
网络编号单元08:用于对带约束的三角形网格剖分进行遍历并进行网络编号填写;
VRM,SINK所属网络获取单元09:基于标记的各VRM、SINK管脚的电路节点在所述集成电路版图中对应的位置点所关联的三角形获取所述位置点的网络编号,从而获得各VRM,SINK所属的网络。
另一种实施方式,总体刚度矩阵单元10:用于获取根据多层集成电路直流电场的三维模型简化的多层集成电路直流电场二维模型,对各层所述二维模型采用有限元法建立场域求解方程组,形成集成电路场域求解方程组的总体刚度矩阵;
单个VRM超节点形成单元11:用于对所述集成电路的外部电路,根据超节点法建立对称正定的外部电路方程组;对VRM各管脚对应的电路节点,将其作为外部电路节点且合并为一个超节点;
方程组建立单元12:用于将所述场域求解方程组与所述包含超节点的外部电路方程组合并,建立场-路耦合的对称正定的统一求解方程组;
方程组求解单元13:用于求解上述方程组,获得电压分布,在此基础上计算直流压降、电流密度分布。
直流压降计算单元14:用于根据获得的电压分布计算直流压降分布;
电流密度分布计算单元15:用于根据获得的电压分布计算电流密度分布
另一种实施方式,外部电路方程组建立单元16:用于对所述集成电路的外部电路,根据超节点法建立对称正定的外部电路方程组;
多个VRM超节点形成单元17:收集所有VRM各管脚对应的电路节点,将所有收集的VRM管脚对应的电路节点作为外部电路节点且合并为一个超节点;
另一种实施方式,基于每个VRM,采用递归法建立VRM管脚的包络凸多边形;
基于每个VRM的包络凸多边形,判断其是否与其他VRM的包络凸多边形相交,若没有其他VRM的包络凸多边形与之相交,基于电流密度分布,采用积分法计算穿出包络多边形的电流和;
若有其他VRM的包络凸多边形与之相交,采用布尔“或”的操作合并相交的凸多边形,形成新的包络多边形;基于电流密度分布,通过采用积分法计算穿出新的包络多边形的电流和;
若包络多边形所在的覆铜区域还存在连接不同层的导线包括过孔、金线、引线,所述穿出包络多边形的电流和还包括从包络多边形流出连接不同层的导线的电流和;
根据包络多边形内包含的VRM管脚数量按比例计算每个VRM的输出电流:
其中I为所述穿出包络多边形的电流和,为第k个VRM的管脚数。
本技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
在本公开所提供的实施例中,应该理解到,所揭露的装置/计算机设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/计算机设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本公开实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可以存储在计算机可读存储介质中,该计算机程序在被处理器执行时,可以实现上述各个方法实施例的步骤。计算机程序可以包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如,在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的精神和范围,均应包含在本公开的保护范围之内。
Claims (10)
1.多供电系统的集成电路仿真模型生成与计算方法,其特征在于,包括,
S1:基于网络的拓扑关系及VRM与SINK管脚的连接关系识别集成电路版图中各VRM、SINK所在的网络;
S2:基于各VRM、SINK所在的网络将整个集成电路版图划分为多个互不连通的独立的网络组,每个独立的网络组即为一个连通的电源供电系统,其中包含一个或多个VRM、SINK,对每个独立的电源供电系统建立仿真计算模型;
S3:基于仿真计算模型,当判断所述仿真计算模型只包含一个VRM,对该VRM施加一类边界条件进行仿真,计算直流压降和电流密度分布;当判断所述仿真计算模型在该网络组中包含多个VRM,则首先将多个VRM合并为一个超节点,对该超节点施加一类边界条件进行仿真,计算直流压降和电流密度分布;所述超节点为形成整体刚度矩阵时电路节点不同但编号相同的电路节点集合;
S4:基于电流密度分布,通过积分的方法计算各VRM的实际输出电流。
2.根据权利要求1所述的多供电系统的集成电路仿真模型生成与计算方法,其特征在于,所述S1:基于网络的拓扑关系及VRM与SINK管脚的连接关系识别集成电路版图中各VRM、SINK所在的网络,包括,
S11:标记各VRM,SINK的管脚在集成电路版图中的位置,并将所述位置作为集成电路版图的电路节点;
S12:将所述集成电路版图中的走线、由过孔引起的焊盘以及隔离垫片转换为版图多边形并与原始定义的覆铜多边形进行多边形布尔运算,形成统一的版图多边形;
S13:根据所述版图多边形和所述集成电路版图中的电路节点,生成带约束的三角形网格剖分;
S14:对带约束的三角形网格剖分进行遍历并进行网络编号填写;
S15:基于标记的各VRM、SINK管脚的电路节点在所述集成电路版图中对应的位置点所关联的三角形获取所述位置点的网络编号,获得各VRM、SINK所属的网络。
3.根据权利要求1所述的多供电系统的集成电路仿真模型生成与计算方法,其特征在于,所述基于仿真计算模型,当判断所述仿真计算模型只包含一个VRM,对该VRM施加一类边界条件进行仿真,计算直流压降和电流密度分布,包括,
获取根据多层集成电路直流电场的三维模型简化的多层集成电路直流电场二维模型,对各层所述二维模型采用有限元法建立场域求解方程组,形成集成电路场域求解方程组的总体刚度矩阵;
对所述集成电路的外部电路,根据超节点法建立对称正定的外部电路方程组;对VRM各管脚对应的电路节点,将其作为外部电路节点且合并为一个超节点;
将所述场域求解方程组与包含超节点的外部电路方程组合并,建立场-路耦合的对称正定的统一求解方程组;
求解上述方程组,获得电压分布,在此基础上计算直流压降、电流密度分布。
4.根据权利要求3所述的多供电系统的集成电路仿真模型生成与计算方法,其特征在于,在步骤S3:基于仿真计算模型,当判断所述仿真计算模型只包含一个VRM,对该VRM施加一类边界条件进行仿真,计算直流压降和电流密度分布;当判断所述仿真计算模型在该网络组中包含多个VRM,则首先将多个VRM合并为一个超节点,对该超节点施加一类边界条件进行仿真,计算直流压降和电流密度分布;所述超节点为形成整体刚度矩阵时电路节点不同但编号相同的电路节点集合;在当判断所述仿真计算模型在该网络组中包含多个VRM,则首先将多个VRM合并为一个超节点中,包括,
收集所有VRM各管脚对应的电路节点,将所有收集的VRM管脚对应的电路节点作为外部电路节点且合并为一个超节点;
对所述集成电路的外部电路,根据超节点法建立对称正定的外部电路方程组。
5.根据权利要求1所述的多供电系统的集成电路仿真模型生成与计算方法,其特征在于,所述S4:基于电流密度分布,通过积分的方法计算各VRM的实际输出电流,包括,
S41:基于每个VRM,采用递归法建立VRM管脚的包络凸多边形;
S42:基于每个VRM的包络凸多边形,判断其是否与其他VRM的包络凸多边形相交,若没有其他VRM的包络凸多边形与之相交,转入S44;
S43:采用布尔“或”的操作合并相交的凸多边形,形成新的包络多边形;
S44:基于电流密度分布,采用积分法计算穿出包络多边形的电流和;
S45:若包络多边形所在的覆铜区域还存在连接不同层的导线包括过孔、金线、引线,所述穿出包络多边形的电流和还包括从包络多边形流出连接不同层的导线的电流和;
S46,根据包络多边形内包含的VRM管脚数量按比例计算每个VRM的输出电流:其中I为所述穿出包络多边形的电流和,/>为第k个VRM的管脚数。S47:若包络多边形内只有1个VRM,则该VRM的输出电流即为S45中计算的电流和。
6.多供电系统的集成电路仿真模型生成与计算系统,其特征在于,包括,
集成电路识别模块:基于网络的拓扑关系及VRM与SINK管脚的连接关系识别集成电路版图中各VRM、SINK所在的网络;
仿真计算模型建立模块:用于基于各VRM、SINK所在的网络将整个集成电路版图划分为多个互不连通的独立的网络组,每个独立的网络组即为一个连通的电源供电系统,其中包含一个或多个VRM、SINK,对每个独立的电源供电系统建立仿真计算模型;
VRM判断与计算模块:用于基于仿真计算模型,当判断所述仿真计算模型只包含一个VRM,对该VRM施加一类边界条件进行仿真,计算直流压降和电流密度分布;当判断所述仿真计算模型在该网络组中包含多个VRM,则首先将多个VRM合并为一个超节点,对该超节点施加一类边界条件进行仿真,计算直流压降和电流密度分布;所述超节点为形成整体刚度矩阵时电路节点不同但编号相同的电路节点集合;
VRM电流计算模块:基于电流密度分布,用于通过积分的方法计算各VRM的实际输出电流。
7.根据权利要求6所述的多供电系统的集成电路仿真模型生成与计算系统,其特征在于,集成电路识别模块,包括,
集成电路版图标记单元:用于标记各VRM,SINK的管脚在集成电路版图中的位置,并将所述位置作为集成电路版图的电路节点;
集成电路统一版图多边形生成单元:用于将所述集成电路版图中的走线、由过孔引起的焊盘以及隔离垫片转换为版图多边形并与原始定义的覆铜多边形进行多边形布尔运算,形成集成电路统一的版图多边形;
三角形网格剖分生成单元:用于根据所述版图多边形和所述集成电路版图中的电路节点,生成带约束的三角形网格剖分;
网络编号单元:用于对带约束的三角形网格剖分进行遍历并进行网络编号填写;
VRM,SINK所属网络获取单元:基于标记的各VRM、SINK管脚的电路节点在所述集成电路版图中对应的位置点所关联的三角形获取所述位置点的网络编号,从而获得各VRM,SINK所属的网络。
8.根据权利要求6所述的多供电系统的集成电路仿真模型生成与计算系统,其特征在于,VRM判断与计算模块,包括,
总体刚度矩阵单元:用于获取根据多层集成电路直流电场的三维模型简化的多层集成电路直流电场二维模型,对各层所述二维模型采用有限元法建立场域求解方程组,形成集成电路场域求解方程组的总体刚度矩阵;
单个VRM超节点形成单元:用于对所述集成电路的外部电路,根据超节点法建立对称正定的外部电路方程组;对VRM各管脚对应的电路节点,将其作为外部电路节点且合并为一个超节点;
方程组建立单元:用于将所述场域求解方程组与所述包含超节点的外部电路方程组合并,建立场-路耦合的对称正定的统一求解方程组;
方程组求解单元:用于求解上述方程组,获得电压分布;
直流压降计算单元:用于根据获得的电压分布计算直流压降分布;
电流密度分布计算单元:用于根据获得的电压分布计算电流密度分布。
9.根据权利要求6所述的多供电系统的集成电路仿真模型生成与计算系统,其特征在于,VRM判断与计算模块,包括,
多个VRM超节点形成单元:收集所有VRM各管脚对应的电路节点,将所有收集的VRM管脚对应的电路节点作为外部电路节点且合并为一个超节点;
外部电路方程组建立单元:用于对所述集成电路的外部电路,根据超节点法建立对称正定的外部电路方程组。
10.根据权利要求6所述的多供电系统的集成电路仿真模型生成与计算系统,其特征在于,VRM电流计算模块,包括,
基于每个VRM,采用递归法建立VRM管脚的包络凸多边形;
基于每个VRM的包络凸多边形,判断其是否与其他VRM的包络凸多边形相交,若没有其他VRM的包络凸多边形与之相交,基于电流密度分布,采用积分法计算穿出包络多边形的电流和;
若有其他VRM的包络凸多边形与之相交,采用布尔“或”的操作合并相交的凸多边形,形成新的包络多边形;基于电流密度分布,通过采用积分法计算穿出新的包络多边形的电流和;
若包络多边形所在的覆铜区域还存在连接不同层的导线包括过孔、金线、引线,所述穿出包络多边形的电流和还包括从包络多边形流出连接不同层的导线的电流和;根据包络多边形内包含的VRM管脚数量按比例计算每个VRM的输出电流:其中I为所述穿出包络多边形的电流和,
为第k个VRM的管脚数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310815263.7A CN116522854B (zh) | 2023-07-05 | 2023-07-05 | 多供电系统的集成电路仿真模型生成与计算方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310815263.7A CN116522854B (zh) | 2023-07-05 | 2023-07-05 | 多供电系统的集成电路仿真模型生成与计算方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116522854A true CN116522854A (zh) | 2023-08-01 |
CN116522854B CN116522854B (zh) | 2023-09-01 |
Family
ID=87408647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310815263.7A Active CN116522854B (zh) | 2023-07-05 | 2023-07-05 | 多供电系统的集成电路仿真模型生成与计算方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116522854B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117272914A (zh) * | 2023-10-31 | 2023-12-22 | 北京智芯仿真科技有限公司 | 基于四叉树快速确定覆铜形状形成拓扑结构的方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111737947A (zh) * | 2020-08-06 | 2020-10-02 | 北京智芯仿真科技有限公司 | 一种基于场路耦合的集成电路全波ibis模型提取方法及装置 |
CN112989746A (zh) * | 2021-04-27 | 2021-06-18 | 北京智芯仿真科技有限公司 | 一种多线程管理的集成电路仿真粗颗粒并行方法及装置 |
CN113887102A (zh) * | 2021-09-30 | 2022-01-04 | 北京智芯仿真科技有限公司 | 无损耗有频散介质下的集成电路全波电磁仿真方法及系统 |
CN114218888A (zh) * | 2022-02-22 | 2022-03-22 | 北京智芯仿真科技有限公司 | 一种集成电路版图电流密度超标区域标定方法及系统 |
WO2023036144A1 (zh) * | 2021-09-07 | 2023-03-16 | 芯和半导体科技(上海)股份有限公司 | 一种集成电路板仿真多级分布式并行计算方法 |
CN116258111A (zh) * | 2023-05-15 | 2023-06-13 | 贝叶斯电子科技(绍兴)有限公司 | 一种静态模拟集成电路版图分析方法 |
-
2023
- 2023-07-05 CN CN202310815263.7A patent/CN116522854B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111737947A (zh) * | 2020-08-06 | 2020-10-02 | 北京智芯仿真科技有限公司 | 一种基于场路耦合的集成电路全波ibis模型提取方法及装置 |
CN112989746A (zh) * | 2021-04-27 | 2021-06-18 | 北京智芯仿真科技有限公司 | 一种多线程管理的集成电路仿真粗颗粒并行方法及装置 |
WO2023036144A1 (zh) * | 2021-09-07 | 2023-03-16 | 芯和半导体科技(上海)股份有限公司 | 一种集成电路板仿真多级分布式并行计算方法 |
CN113887102A (zh) * | 2021-09-30 | 2022-01-04 | 北京智芯仿真科技有限公司 | 无损耗有频散介质下的集成电路全波电磁仿真方法及系统 |
CN114218888A (zh) * | 2022-02-22 | 2022-03-22 | 北京智芯仿真科技有限公司 | 一种集成电路版图电流密度超标区域标定方法及系统 |
CN116258111A (zh) * | 2023-05-15 | 2023-06-13 | 贝叶斯电子科技(绍兴)有限公司 | 一种静态模拟集成电路版图分析方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117272914A (zh) * | 2023-10-31 | 2023-12-22 | 北京智芯仿真科技有限公司 | 基于四叉树快速确定覆铜形状形成拓扑结构的方法及装置 |
CN117272914B (zh) * | 2023-10-31 | 2024-03-12 | 北京智芯仿真科技有限公司 | 基于四叉树快速确定覆铜形状形成拓扑结构的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN116522854B (zh) | 2023-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111737947B (zh) | 一种基于场路耦合的集成电路全波ibis模型提取方法及装置 | |
CN104885212B (zh) | 利用分区多跳网络的裸片堆叠装置 | |
CN116522854B (zh) | 多供电系统的集成电路仿真模型生成与计算方法及系统 | |
US20200042667A1 (en) | Modeling of Power Distribution Networks for Path Finding | |
US7644381B2 (en) | Electromagnetic coupled basis functions for an electronic circuit | |
CN116090316A (zh) | 一种pcb电路板二维非结构网格生成方法及系统 | |
CN112287625B (zh) | 一种系统级集成电路直流压降的并行分析方法及系统 | |
US6868374B1 (en) | Method of power distribution analysis for I/O circuits in ASIC designs | |
CN114330215A (zh) | 一种快速处理集成电路版图走线的电磁仿真方法及装置 | |
CN115600550A (zh) | 基于端口电阻确定集成电路版图设计缺陷的精准检测方法 | |
US20170017744A1 (en) | Modeling of Power Distribution Networks for Path Finding | |
CN112989749A (zh) | 一种集成电路版图布线中引脚访问方法及装置 | |
CN116542220A (zh) | 集成电路直流压降计算模型的自动设置与诊断方法及系统 | |
CN114330214B (zh) | 一种包含走线的集成电路快速高精度计算的方法及装置 | |
CN104731987B (zh) | 一种早期版图的寄生电阻电容估算方法 | |
CN116522855B (zh) | 一种优化集成电路多电源多负载的供电方法及系统 | |
CN112307710B (zh) | 一种系统级集成电路的直流压降分析方法及系统 | |
CN109683814A (zh) | 一种共享存储创建方法、装置、终端及存储介质 | |
US6598207B1 (en) | Software for converting power delivery interconnect modeling connectivity maps to simulation ready input | |
CN116542219B (zh) | 集成电路电源供电系统的多vrm位置优化的方法及系统 | |
CN105701290B (zh) | 一种电压岛的多供电引脚分配方法 | |
JP3554479B2 (ja) | 自動配置配線方法及び自動配置配線装置 | |
CN106649895A (zh) | 一种层次化的集成电路版图短路查找方法 | |
CN118171623B (zh) | 一种基于分布式计算平台的电源网络分析方法和系统 | |
CN112287627B (zh) | 一种系统级集成电路直流压降的端口等效分析方法及系统 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |