CN117574839A - 多层集成电路版图网表信息的并行确定方法及装置 - Google Patents
多层集成电路版图网表信息的并行确定方法及装置 Download PDFInfo
- Publication number
- CN117574839A CN117574839A CN202410056232.2A CN202410056232A CN117574839A CN 117574839 A CN117574839 A CN 117574839A CN 202410056232 A CN202410056232 A CN 202410056232A CN 117574839 A CN117574839 A CN 117574839A
- Authority
- CN
- China
- Prior art keywords
- layout
- triangle
- negative
- numbers
- polygon
- 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
- 238000000034 method Methods 0.000 title claims abstract description 62
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 claims description 54
- 238000013507 mapping Methods 0.000 claims description 37
- 238000012545 processing Methods 0.000 claims description 35
- 239000010931 gold Substances 0.000 claims description 32
- 229910052737 gold Inorganic materials 0.000 claims description 32
- 239000011362 coarse particle Substances 0.000 claims description 30
- 241000218202 Coptis Species 0.000 claims description 22
- 235000002991 Coptis groenlandica Nutrition 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 16
- 230000002093 peripheral effect Effects 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 9
- 239000002245 particle Substances 0.000 claims description 8
- 238000010276 construction Methods 0.000 claims description 6
- 238000002224 dissection Methods 0.000 claims description 6
- 238000011084 recovery Methods 0.000 claims description 6
- 238000003860 storage Methods 0.000 claims description 5
- 238000013461 design Methods 0.000 description 13
- 238000004519 manufacturing process Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 239000002131 composite material Substances 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process 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
- 230000001590 oxidative effect Effects 0.000 description 1
- 238000000206 photolithography Methods 0.000 description 1
- 238000005498 polishing Methods 0.000 description 1
- 238000012546 transfer 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]
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
本发明公开了多层集成电路版图网表信息的并行确定方法及装置,包括:在读入版图各层信息之后,采用并行方法同时对不同层的版图进行网格剖分和遍历,最终对遍历结果进行整合,实现多层集成电路版图网表信息的并行确定方法,由于不同层的集成电路版图的网络并非完全独立,而是通过过孔、金线建立联系,因此每个网络基本都涵盖了所有叠层,在建立并行方法确定多层集成电路版图的网表信息时,需要对层之间体现依赖关系的与过孔、金线相关的节点对进行特殊处理,先暂时解除这种依赖关系,使得网格单元的遍历能独立并行的进行,最后,再通过这种依赖关系更新不同层的集成电路版图的网表信息,从而解决了现有技术中逐层确定版图网表信息速度太慢的问题。
Description
技术领域
本发明属于集成电路版图检测技术领域,具体涉及多层集成电路版图网表信息的并行确定方法及装置。
背景技术
集成电路的制备过程通常包括原理图设计、版图设计以及依据设计的版图进行集成电路制备。集成电路制备由集成电路供应商完成,其工艺过程通常包括电路掩膜制备、对晶片进行抛光、氧化、杂化、光刻、扩散、淀积、金属化等几十道工序,最终实现将电路掩膜转移到晶片上,从而通过晶片高密度的电子线路和元器件分布实现非常复杂的电路功能。集成电路设计公司对产品进行设计后,将设计文件导出到其他供应商时,为了设计的保密性,通常针对不同的供应商将完整的设计文件分开导出,尽可能抹去设计的电路相关的信息,例如,针对版图形状描述的形状复杂的覆铜层,并不直接导出形状复杂的多边形,而是将复杂的多边形分解为多个简单形状的几何图形(填充的或挖空的矩形、圆、椭圆、扇形、椭圆扇形)的重叠,作为完整设计文件的几何图形信息形成一个文件导出;同时,对于设计文件中的元器件、网表信息,也分别通过其他文件进行导出,且并不给出完整的网表信息,而是仅仅给出不同元器件管脚所在的网络,以及元器件管脚的坐标信息,基于这些信息,集成电路制造商即可准确的制备出完整的设计文件表达的集成电路信息,但却无法获取集成电路的设计信息,达到保密的目的。
然而,为了提高集成电路制备的一次成品率,集成电路制造商在拿到设计商提供的制备相关的文件后,仍需要对集成电路的版图进行诊断,以在实际制备之前发现潜在的版图错误,降低制备成本,因此,基于设计商提供的设计文件来对集成电路版图的网表信息进行判断,并基于网表信息的判断结果对这个版图进行诊断是非常必要的。
在基于三角形网格遍历的技术确定集成电路版图中各几何图形、过孔、金线的网表信息中,需要从管脚对应的节点出发顺次根据节点对的连接关系完成所有层的三角形单元的遍历,现有方法对于结构复杂的集成电路版图,其叠层数量达数百层,逐层进行网格剖分与遍历的速度仍然太慢。
发明内容
针对上述现有技术的不足,本申请提供多层集成电路版图网表信息的并行确定方法及装置。
第一方面本申请提出了多层集成电路版图网表信息的并行确定方法,包括以下步骤:
读取集成电路版图中的版图信息,所述版图信息包括版图元素、所述版图元素对应的元素关系、版图层和版图网络,所述版图元素包括覆铜多边形、挖空多边形、挖空圆、焊盘、反焊盘、走线、金线、过孔和元器件,所述元素关系包括各版图层之间的过孔连接和金线连接;
根据所述元素关系抽取所述集成电路版图中连接两个不同版图层的节点,根据节点构建节点对集合;根据所述版图元素抽取每层版图层中的几何图形形成几何图形集合,将所述几何图形集合中的几何图形转换为多边形集合;根据所述元器件、版图层和版图网络形成各元器件管脚所在版图网络的网络集合、对应的版图层以及各元器件管脚的坐标集合;
对所述网络集合建立正的编号映射,对所述节点对集合建立负的编号映射;
采用粗颗粒并行步骤对每个版图层的覆铜层及过孔基于多边形的顶点和节点对集合中位于该版图层的节点进行三角形网格剖分,通过编号遍历三角形获取每个覆铜层对应的几何图形、金线和过孔的编号;
针对粗颗粒并行步骤中遍历出的含有负编号的节点对,利用该节点对的正编号对相应覆铜层中编号为负的几何图形、金线和过孔进行替换,使得所有覆铜层对应的几何图形编号、金线编号和过孔编号为正;
将所有覆铜层对应的几何图形编号、金线编号和过孔编号映射为所述网络集合中的网络名,确定并构建整个集成电路版图的网表信息。
在一些实施例中,所述根据所述元素关系抽取所述集成电路版图中连接两个不同版图层的节点,根据节点构建节点对集合;根据所述版图元素抽取每层版图层中的几何图形形成几何图形集合,将所述几何图形集合中的几何图形转换为多边形集合;根据所述元器件、版图层和版图网络形成各元器件管脚所在版图网络的网络集合、对应的版图层以及各元器件管脚的坐标集合,包括:
根据所述元素关系抽取各个版图层之间的过孔连接和金线连接,根据连接两个不同版图层的节点形成所述节点对集合,所述节点对集合为{Vpair};
根据所述版图元素抽取每层版图层中的几何图形集合,所述几何图形集合为{P},将{P}中填充的几何图形转换为正的多边形,正的多边形的顶点逆时针排列,将{P}中挖空的几何图形转换为负的多边形,负的多边形的顶点顺时针排列;
根据所述元器件、版图层和版图网络形成各元器件管脚所在版图网络的网络集合、对应的版图层以及各元器件管脚的坐标集合,所述网络集合为{NetPIN},所述坐标集合为{xPIN, yPIN}。
在一些实施例中,所述对所述网络集合建立正的编号映射,对所述节点对集合建立负的编号映射,包括:
对所述网络集合{NetPIN}建立正的编号映射,所述网络集合{NetPIN}中的网络名依次编号为1,2,…,Nnet, Nnet为网络集合{NetPIN}中的网络数量;
对所述节点对集合{Vpair}建立负的编号映射,所述节点对集合{Vpair}中的节点对依次同编号为-1,-2,…,-Npair, Npair为节点对集合{Vpair}中的节点对数量。
在一些实施例中,所述采用粗颗粒并行步骤对每个版图层的覆铜层及过孔基于多边形的顶点和节点对集合中位于该版图层的节点进行三角形网格剖分,通过编号遍历三角形获取每个覆铜层对应的几何图形、金线和过孔的编号,包括:
步骤0:将整个过程划分为对每层覆铜层的互不重叠的运算颗粒,将所述运算颗粒作为并行粗颗粒;
步骤1:针对每层覆铜层建立一个并行粗颗粒,使用该并行粗颗粒基于多边形的顶点、节点对集合{Vpair}中位于对应覆铜层的节点形成初始Delaunay三角形网格剖分;
步骤2:基于步骤1的网格剖分结果,继续使用相同的并行粗颗粒采用在多边形交点插入新的网格节点的方法恢复丢失的多边形的边,形成恢复边的三角形网格剖分;
步骤3:基于步骤2的恢复丢失的多边形的边的结果继续使用相同的并行粗颗粒进行遍历,如果所述覆铜层中存在元器件管脚,从元器件管脚的网络映射的正编号出发,基于三角形遍历的方法将该层中与元器件管脚连通的几何图形、金线、过孔的编号都赋值为正的编号,获取该层中几何图形、金线和过孔的正编号;
步骤4:基于步骤3的遍历结果继续使用相同的并行粗颗粒进行查找,如果所述覆铜层中存在金线、过孔对应的映射为负编号的节点对中的节点,从映射为负的编号的节点出发,基于三角形遍历的方法获取该层中的与映射为负的编号的节点连通的几何图形、金线和过孔的负编号。
在一些实施例中,所述步骤3中的遍历方法具体包括:
步骤3.1:初始设置所述覆铜层中所有三角形的处理状态为未处理;设置该层所有三角形的处理状态为未处理;设置该层所有几何图形、金线和过孔对应的位于该层的节点对中的节点的处理状态为未处理;设置当前外围遍历网格单元集合Frontp为空;设置当前处理该层第i=1个管脚;
步骤3.2:如果i>该层管脚数量,则结束;
步骤3.3:获取第i个管脚对应的网络Neti PIN,其映射的编号为IDi PIN,管脚坐标(xi PIN, yi PIN);找出当前第i个管脚所在的层对应的恢复边的三角形网格剖分中包含(xi PIN,yi PIN)的三角形t,检测三角形t的处理状态,如果状态为已处理,取出三角形t的编号,转入步骤3.5;否则,如果状态为未处理,设置三角形t的编号为IDi PIN,将其加入到集合Frontp中,设置其状态为已处理;
步骤3.4:从所述集合Frontp取出一个三角形t并将其从所述集合Frontp中移除;
步骤3.4.1:若所述三角形t的任一顶点v为节点对集合{Vpair}中的节点对Vk pair中的一个,检测顶点v对应的节点的处理状态,如果状态为已处理,取出该节点的编号,转入步骤3.5;否则,如果状态为未处理,修改顶点v对应的节点编号为IDi PIN,并将该节点的处理状态设置为已处理;
步骤3.4.2:若所述三角形t的三个边不为任何多边形的边,且三个邻居三角形中的任何一个或多个邻居三角形的处理状态为未处理,则将所述三角形t的该一个或多个邻居三角形加入所述集合Frontp中,并将新加入集合Frontp的三角形的标识状态设置为已处理,设置三角形的编号为IDi PIN,转入步骤3.4;否则转入步骤3.4.3;
步骤3.4.3:若所述三角形t的一个或多个边为第j个多边形Pj的边e,且三角形t为多边形Pj的边e的左三角形,检测多边形Pj的处理状态,如果状态为已处理,取出多边形Pj的编号,转入步骤3.5;否则,如果多边形Pj的状态为未处理,设置多边形Pj的编号为IDi PIN,转入步骤3.4.4;如以上情况均不满足则转入步骤3.5;所述多边形Pj的边e的左三角形为包含该边e且三角形边e的方向与多边形边e的方向相同的三角形;
步骤3.4.4:对于多边形Pj的所有边的左三角形tL,检测三角形tL的处理状态,如果状态为已处理,取出三角形tL的编号,转入步骤3.5;否则,如果其处理状态为未处理,设置所述左三角形tL的编号为IDi PIN,并将其加入集合Frontp中;
步骤3.5:判断外围覆铜网格单元集合Frontp是否为空集,若否,转入步骤3.4,若是,设置i=i+1,转入步骤3.2。
在一些实施例中,所述步骤4中的遍历方法具体包括:
步骤4.1:搜索所述覆铜层中金线和过孔对应的映射为负的编号的节点对中的节点,形成集合{Vnegative};
步骤4.2:如果集合{Vnegative}为空,结束;
步骤4.3:从集合{Vnegative}中取出节点Vm negative将其从所述集合{Vnegative}中移除,设置当前外围遍历网格单元集合Frontp为空;设其节点Vm negative映射的编号为IDm negative,其坐标为(xm negative, ym negative);找出当前层对应的恢复边的三角形网格剖分中包含(xm negative, ym negative)的三角形t,设置三角形t的编号为IDm negative,将其加入到集合Frontp中;
步骤4.4:从所述集合Frontp取出一个三角形t并将其从所述集合Frontp中移除;
步骤4.4.1:若所述三角形t的三个边不为任何多边形的边,且三个邻居三角形中的任何一个或多个邻居三角形的编号不为IDm negative,则将所述三角形t的该一个或多个邻居三角形加入所述集合Frontp中,设置三角形的编号为IDm negative,转入步骤4.4;否则转入步骤4.4.2;
步骤4.4.2:若所述三角形t的一个或多个边为第j个多边形Pj的边e,且三角形t为多边形Pj的边e的左三角形,如果多边形Pj的编号不为IDm negative,设置多边形Pj的编号为IDm negative,转入步骤4.4.3;如以上情况均不满足则转入步骤4.5;所述多边形Pj的边e的左三角形为包含该边e且三角形边e的方向与多边形边e的方向相同的三角形;
步骤4.4.3:对于多边形Pj的所有边的左三角形tL,如果其编号不为IDm negative,设置所述左三角形tL的编号为IDm negative,并将其加入集合Frontp中;
步骤4.5:判断所述外围覆铜网格单元集合Frontp是否为空集,若否,转入步骤4.4,若是,转入步骤4.2。
在一些实施例中,所述针对粗颗粒并行步骤中遍历出的含有负编号的节点对,利用该节点对的正编号对相应覆铜层中编号为负的几何图形、金线和过孔进行替换,使得所有覆铜层对应的几何图形编号、金线编号和过孔编号为正,包括:
收集所有覆铜层的节点对集合形成总的节点对集合{Vpair};
从所述节点对集合{Vpair}中找出同时含有正编号和负编号的节点对,形成新的集合{Vdiff pair};
对集合{Vdiff pair}中的每个节点对Vd pair,其负的编号为IDd n,正的编号为IDd p,对所有层的所有几何图形、金线、过孔,如果其编号为IDd n,将其修改为IDd p。
第二方面本申请提出多层集成电路版图网表信息的并行确定装置,包括版图信息获取单元、元素信息获取单元、映射构建单元、并行处理单元、遍历单元和网表信息确定单元;
所述版图信息获取单元,用于读取集成电路版图中的版图信息,所述版图信息包括版图元素、所述版图元素对应的元素关系、版图层和版图网络,所述版图元素包括覆铜多边形、挖空多边形、挖空圆、焊盘、反焊盘、走线、金线、过孔和元器件,所述元素关系包括各版图层之间的过孔连接和金线连接;
所述元素信息获取单元,用于根据所述元素关系抽取所述集成电路版图中连接两个不同版图层的节点,根据节点构建节点对集合;根据所述版图元素抽取每层版图层中的几何图形集合,将所述几何图形集合中的几何图形形成几何图形转换为多边形集合;根据所述元器件、版图层和版图网络形成各元器件管脚所在版图网络的网络集合、对应的版图层以及各元器件管脚的坐标集合;
所述映射构建单元,用于对所述网络集合建立正的编号映射,对所述节点对集合建立负的编号映射;
所述并行处理单元,用于采用粗颗粒并行步骤对每个版图层的覆铜层及过孔基于多边形的顶点和节点对集合中位于该版图层的节点进行三角形网格剖分,通过编号遍历三角形获取每个覆铜层对应的几何图形、金线和过孔的编号;
所述遍历单元,用于针对粗颗粒并行步骤遍历出的含有负编号的节点对,利用该节点对的正编号对相应覆铜层中编号为负的几何图形、金线和过孔进行替换,使得所有覆铜层对应的几何图形编号、金线编号和过孔编号为正;
所述网表信息确定单元,用于将所有覆铜层对应的几何图形编号、金线编号和过孔编号映射为所述网络集合中的网络名,确定并构建整个集成电路版图的网表信息。
第三方面本申请提出一种电子设备,包括存储器、处理器以及存储在所述存储器中并且可以在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
第四方面本申请提出一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
本发明的有益效果:
对于叠层数量达数百层的结构复杂集成电路版图,本方案采用并行方法同时对不同层的版图进行网格剖分和遍历,最终对遍历结果进行整合,实现多层集成电路版图网表信息的并行确定方法,由于不同层的集成电路版图的网络并非完全独立,而是通过过孔、金线建立联系,因此每个网络基本都涵盖了所有叠层,在建立并行方法确定多层集成电路版图的网表信息时,需要对层之间体现依赖关系的与过孔、金线相关的节点对进行特殊处理,先暂时解除这种依赖关系,使得网格单元的遍历能独立并行的进行,最后,再通过这种依赖关系更新不同层的集成电路版图的网表信息,从而解决了现有技术中逐层遍历的方法速度太慢的问题。
附图说明
图1为本发明的总体流程图。
图2为走线起始点对应的半圆离散方式示意图。
图3为走线最终离散形成的复合多边形示意图。
图4为3层版图PIN脚和节点对初始编号示意图。
图5为3层版图PIN脚和节点对每层遍历后编号示意图。
图6为3层版图PIN脚和节点对最终编号示意图。
图7为本发明的装置原理示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制;相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
第一方面本申请提出了多层集成电路版图网表信息的并行确定方法,如图1所示,包括以下步骤:
S100:读取集成电路版图中的版图信息,所述版图信息包括版图元素、所述版图元素对应的元素关系、版图层和版图网络,所述版图元素包括覆铜多边形、挖空多边形、挖空圆、焊盘、反焊盘、走线、金线、过孔和元器件,所述元素关系包括各版图层之间的过孔连接和金线连接;
S200:根据所述元素关系抽取所述集成电路版图中连接两个不同版图层的节点,根据节点构建节点对集合;根据所述版图元素抽取每层版图层中的几何图形形成几何图形集合,将所述几何图形集合中的几何图形转换为多边形集合;根据所述元器件、版图层和版图网络形成各元器件管脚所在版图网络的网络集合、对应的版图层以及各元器件管脚的坐标集合;
在一些实施例中,所述根据所述元素关系抽取所述集成电路版图中连接两个不同版图层的节点,根据节点构建节点对集合;根据所述版图元素抽取每层版图层中的几何图形形成几何图形集合,将所述几何图形集合中的几何图形转换为多边形集合;根据所述元器件、版图层和版图网络形成各元器件管脚所在版图网络的网络集合、对应的版图层以及各元器件管脚的坐标集合,包括:
根据所述元素关系抽取各个版图层之间的过孔连接和金线连接,根据连接两个不同版图层的节点形成所述节点对集合,所述节点对集合为{Vpair};
根据所述版图元素抽取每层版图层中的几何图形集合,所述几何图形集合为{P},将{P}中填充的几何图形转换为正的多边形,正的多边形的顶点逆时针排列,将{P}中挖空的几何图形转换为负的多边形,负的多边形的顶点顺时针排列;
其中,将所述版图元素中的走线、挖空圆、焊盘和反焊盘离散成几何图形,从而构建几何图形集合,设置所述覆铜多边形、走线与焊盘为positive=1的多边形,positive=1表示正的多边形,正的多边形的顶点按逆时针的顺序排列,设置挖空多边形、挖空圆与反焊盘为positive=-1的多边形,positive=-1表示负的多边形,负的多边形的顶点按顺时针的顺序排列;
将走线离散成多边形的步骤为:
将所述初始版图中覆铜部分的走线按起始点、终止点和宽度转换为覆铜矩形外加第一半圆和第二半圆,第一半圆的直径边为起始点所在的走线宽边,第二半圆的直径边为终止点所在的走线宽边;
预设离散数量,基于所述第一半圆和所述预设离散数量形成第一半圆离散点,离散点逆时针排列形成第一半多边形,基于所述第二半圆和所述预设离散数量形成第二半圆离散点,离散点逆时针排列形成第二半多边形;
将所述覆铜矩形、第一半多边形和第二半多边形进行组合形成复合多边形:将所述形成第一半多边形的逆时针排列的离散点与所述形成第二半多边形的逆时针排列的离散点直接拼接,形成离散点按逆时针顺序排列的复合多边形。
如图2-图3所示,所述复合多边形的具体形成步骤包括:
其中,由走线起始点出发,基于其宽度对应的直径按离散数量形成半圆的离散点;假设半圆离散数量为6,则形成图2所示的1,2,3,4,5,6的半圆离散点,且点1-6形成逆时针排列;
类似的,离散走线终止点对应的半圆为7-12的离散点;
进一步的,如图3所示,直接将走线第一半圆对应的半圆离散点与走线第二半圆对应的半圆离散点进行拼接,形成离散点1,2,…,12按顺序排列的复合多边形。
在一些实施例中,所述将所述初始版图中的走线、挖空圆、焊盘和反焊盘离散成多边形,还包括:
将挖空圆和反焊盘离散成多边形的步骤为:
当所述挖空圆和反焊盘的形状在集成电路版图的版图元素中定义为圆时,将圆离散为等边多边形,则所述挖空圆和反焊盘离散成的多边形为第一等边多边形,第一等边多边形的顶点顺时针排列;
当所述挖空圆和反焊盘的形状在集成电路版图的版图元素中定义为椭圆时,按椭圆在极坐标下等弧度取第三离散点,则所述挖空圆和反焊盘离散成的多边形为由所述第三离散点依次连成的第三多边形,第三多边形的顶点顺时针排列。
将焊盘离散成多边形的步骤为:
当所述焊盘的形状在集成电路版图的版图元素中定义为圆时,将圆离散为等边多边形,则所述焊盘离散成的多边形为第二等边多边形,第二等边多边形的顶点逆时针排列;
当所述焊盘的形状在集成电路版图的版图元素中定义为椭圆时,按椭圆在极坐标下等弧度取第四离散点,则所述焊盘离散成的多边形为由所述第四离散点依次连成的第四多边形,第四多边形的顶点逆时针排列。
根据所述元器件、版图层和版图网络形成各元器件管脚所在版图网络的网络集合、对应的版图层以及各元器件管脚的坐标集合,所述网络集合为{NetPIN},所述坐标集合为{xPIN, yPIN}。
S300:对所述网络集合建立正的编号映射,对所述节点对集合建立负的编号映射;
在一些实施例中,所述对所述网络集合建立正的编号映射,对所述节点对集合建立负的编号映射,包括:
对所述网络集合{NetPIN}建立正的编号映射,所述网络集合{NetPIN}中的网络名依次编号为1,2,…,Nnet, Nnet为网络集合{NetPIN}中的网络数量;
对所述节点对集合{Vpair}建立负的编号映射,所述节点对集合{Vpair}中的节点对依次同编号为-1,-2,…,-Npair, Npair为节点对集合{Vpair}中的节点对数量。
以上建立编号映射的方法可以解除各层之间的依赖关系,使得各覆铜层的网格剖分和网格单元的遍历能独立并行的进行。在并行部分完成后,即可收集各覆铜层的节点对并依据每个节点对的编号应一致的原则对编号进行修正。
S400:采用粗颗粒并行步骤对每个版图层的覆铜层及过孔基于多边形的顶点和节点对集合中位于该版图层的节点进行三角形网格剖分,通过编号遍历三角形获取每个覆铜层对应的几何图形、金线和过孔的编号;
其中,将步骤S400的整个过程划分为对每层覆铜层的互不重叠的运算颗粒,这里的运算颗粒即作为并行粗颗粒,利用该并行粗颗粒对各覆铜层进行运算;
在一些实施例中,所述采用粗颗粒并行步骤对每个版图层的覆铜层及过孔基于多边形的顶点和节点对集合中位于该版图层的节点进行三角形网格剖分,通过编号遍历三角形获取每个覆铜层对应的几何图形、金线和过孔的编号,包括:
步骤0:将整个过程划分为对每层覆铜层的互不重叠的运算颗粒,将所述运算颗粒作为并行粗颗粒;
步骤1:针对每层覆铜层建立一个并行粗颗粒,使用该并行粗颗粒基于多边形的顶点、节点对集合{Vpair}中位于对应覆铜层的节点形成初始Delaunay三角形网格剖分;
步骤2:基于步骤1的网格剖分结果,继续使用相同的并行粗颗粒采用在多边形交点插入新的网格节点的方法恢复丢失的多边形的边,形成恢复边的三角形网格剖分;
步骤3:基于步骤2的恢复丢失的多边形的边的结果继续使用相同的并行粗颗粒进行遍历,如果所述覆铜层中存在元器件管脚,从元器件管脚的网络映射的正编号出发,基于三角形遍历的方法将该层中与元器件管脚连通的几何图形、金线、过孔的编号都赋值为正的编号,获取该层中几何图形、金线和过孔的正编号;
在一些实施例中,所述步骤3中的遍历方法具体包括:
步骤3.1:初始设置所述覆铜层中所有三角形的处理状态为未处理;设置该层所有三角形的处理状态为未处理;设置该层所有几何图形、金线和过孔对应的位于该层的节点对中的节点的处理状态为未处理;设置当前外围遍历网格单元集合Frontp为空;设置当前处理该层第i=1个管脚;
步骤3.2:如果i>该层管脚数量,则结束;
步骤3.3:获取第i个管脚对应的网络Neti PIN,其映射的编号为IDi PIN,管脚坐标(xi PIN, yi PIN);找出当前第i个管脚所在的层对应的恢复边的三角形网格剖分中包含(xi PIN,yi PIN)的三角形t,检测三角形t的处理状态,如果状态为已处理,取出三角形t的编号,转入步骤3.5;否则,如果状态为未处理,设置三角形t的编号为IDi PIN,将其加入到集合Frontp中,设置其状态为已处理;
步骤3.4:从所述集合Frontp取出一个三角形t并将其从所述集合Frontp中移除;
步骤3.4.1:若所述三角形t的任一顶点v为节点对集合{Vpair}中的节点对Vk pair中的一个,检测顶点v对应的节点的处理状态,如果状态为已处理,取出该节点的编号,转入步骤3.5;否则,如果状态为未处理,修改顶点v对应的节点编号为IDi PIN,并将该节点的处理状态设置为已处理;
步骤3.4.2:若所述三角形t的三个边不为任何多边形的边,且三个邻居三角形中的任何一个或多个邻居三角形的处理状态为未处理,则将所述三角形t的该一个或多个邻居三角形加入所述集合Frontp中,并将新加入集合Frontp的三角形的标识状态设置为已处理,设置三角形的编号为IDi PIN,转入步骤3.4;否则转入步骤3.4.3;
步骤3.4.3:若所述三角形t的一个或多个边为第j个多边形Pj的边e,且三角形t为多边形Pj的边e的左三角形,检测多边形Pj的处理状态,如果状态为已处理,取出多边形Pj的编号,转入步骤3.5;否则,如果多边形Pj的状态为未处理,设置多边形Pj的编号为IDi PIN,转入步骤3.4.4;如以上情况均不满足则转入步骤3.5;所述多边形Pj的边e的左三角形为包含该边e且三角形边e的方向与多边形边e的方向相同的三角形;
步骤3.4.4:对于多边形Pj的所有边的左三角形tL,检测三角形tL的处理状态,如果状态为已处理,取出三角形tL的编号,转入步骤3.5;否则,如果其处理状态为未处理,设置所述左三角形tL的编号为IDi PIN,并将其加入集合Frontp中;
步骤3.5:判断外围覆铜网格单元集合Frontp是否为空集,若否,转入步骤3.4,若是,设置i=i+1,转入步骤3.2。
步骤4:基于步骤3的遍历结果继续使用相同的并行粗颗粒进行查找,如果所述覆铜层中存在金线、过孔对应的映射为负编号的节点对中的节点,从映射为负的编号的节点出发,基于三角形遍历的方法获取该层中的与映射为负的编号的节点连通的几何图形、金线和过孔的负编号。
在一些实施例中,所述步骤4中的遍历方法具体包括:
步骤4.1:搜索所述覆铜层中金线和过孔对应的映射为负的编号的节点对中的节点,形成集合{Vnegative};
步骤4.2:如果集合{Vnegative}为空,结束;
步骤4.3:从集合{Vnegative}中取出节点Vm negative将其从所述集合{Vnegative}中移除,设置当前外围遍历网格单元集合Frontp为空;设其节点Vm negative映射的编号为IDm negative,其坐标为(xm negative, ym negative);找出当前层对应的恢复边的三角形网格剖分中包含(xm negative, ym negative)的三角形t,设置三角形t的编号为IDm negative,将其加入到集合Frontp中;
步骤4.4:从所述集合Frontp取出一个三角形t并将其从所述集合Frontp中移除;
步骤4.4.1:若所述三角形t的三个边不为任何多边形的边,且三个邻居三角形中的任何一个或多个邻居三角形的编号不为IDm negative,则将所述三角形t的该一个或多个邻居三角形加入所述集合Frontp中,设置三角形的编号为IDm negative,转入步骤4.4;否则转入步骤4.4.2;
步骤4.4.2:若所述三角形t的一个或多个边为第j个多边形Pj的边e,且三角形t为多边形Pj的边e的左三角形,如果多边形Pj的编号不为IDm negative,设置多边形Pj的编号为IDm negative,转入步骤4.4.3;如以上情况均不满足则转入步骤4.5;所述多边形Pj的边e的左三角形为包含该边e且三角形边e的方向与多边形边e的方向相同的三角形;
步骤4.4.3:对于多边形Pj的所有边的左三角形tL,如果其编号不为IDm negative,设置所述左三角形tL的编号为IDm negative,并将其加入集合Frontp中;
步骤4.5:判断所述外围覆铜网格单元集合Frontp是否为空集,若否,转入步骤4.4,若是,转入步骤4.2。
S500:针对粗颗粒并行步骤中遍历出的含有负编号的节点对,利用该节点对的正编号对相应覆铜层中编号为负的几何图形、金线和过孔进行替换,使得所有覆铜层对应的几何图形编号、金线编号和过孔编号为正;
在一些实施例中,所述针对粗颗粒并行步骤中遍历出的含有负编号的节点对,利用该节点对的正编号对相应覆铜层中编号为负的几何图形、金线和过孔进行替换,使得所有覆铜层对应的几何图形编号、金线编号和过孔编号为正,包括:
收集所有覆铜层的节点对集合形成总的节点对集合{Vpair};
从所述节点对集合{Vpair}中找出同时含有正编号和负编号的节点对,形成新的集合{Vdiff pair};
对集合{Vdiff pair}中的每个节点对Vd pair,其负的编号为IDd n,正的编号为IDd p,对所有层的所有几何图形、金线、过孔,如果其编号为IDd n,将其修改为IDd p。
下面通过图4-图6来具体说明步骤S400-S500的运算过程:
如图4所示,{NetPIN}={VSS, VCC, VDD, VO},将其编号为{1,2,3,4},{Vpair}={V金线1,V过孔1,V过孔2,V过孔3},将其编号为{(-1,-1),(-2,-2),(-3,-3),(-4,-4)};
在执行步骤S400的运算过程后,每层覆铜层不同几何图形、不同金线、不同过孔的编号如图5所示,可见,此时凡是与管脚连通的节点对中的节点编号均变成管脚的编号,而未与管脚连通的节点编号不变,执行步骤S500后,每层覆铜层不同几何图形、不同金线、不同过孔的编号如图6所示;
具体的,对于编号为负的节点对中的节点,如金线1对应的节点对中的编号-1,过孔1对应的节点对中的编号-2,过孔2对应的节点对中的编号-3,过孔3对应的节点对中的编号-4,找出该节点对的另一个编号为正的节点,用该节点对的正编号代替所有层编号为该负编号的不同几何图形、不同金线、不同过孔,从而将正编号传递给负编号,实现所有覆铜层不同几何图形、不同金线、不同过孔的编号为正,如图6所示。
S600:将所有覆铜层对应的几何图形编号、金线编号和过孔编号映射为所述网络集合中的网络名,确定并构建整个集成电路版图的网表信息。
第二方面本申请提出多层集成电路版图网表信息的并行确定装置,如图7所示,包括版图信息获取单元、元素信息获取单元、映射构建单元、并行处理单元、遍历单元和网表信息确定单元;
所述版图信息获取单元,用于获取集成电路版图中的版图信息,所述版图信息包括版图元素、所述版图元素对应的元素关系、版图层和版图网络,所述版图元素包括覆铜多边形、挖空多边形、挖空圆、焊盘、反焊盘、走线、金线、过孔和元器件,所述元素关系包括各版图层之间的过孔连接和金线连接;
所述元素信息获取单元,用于根据所述元素关系读取所述集成电路版图中连接两个不同版图层的节点,根据节点构建节点对集合;根据所述版图元素读取每层版图层中的几何图形集合,将所述几何图形集合中的几何图形转换为多边形集合;根据所述元器件、版图层和版图网络读取各元器件管脚所在版图网络的网络集合、对应的版图层以及各元器件管脚的坐标集合;
所述映射构建单元,用于对所述网络集合建立正的编号映射,对所述节点对集合建立负的编号映射;
所述并行处理单元,用于采用粗颗粒并行步骤对每个版图层的覆铜层及过孔基于多边形的顶点和节点对集合中位于该版图层的节点进行三角形网格剖分,通过编号遍历三角形获取每个覆铜层对应的几何图形、金线和过孔的编号;
所述遍历单元,用于针对粗颗粒并行步骤遍历出的含有负编号的节点对,利用该节点对的正编号对相应覆铜层中编号为负的几何图形、金线和过孔进行替换,使得所有覆铜层对应的几何图形编号、金线编号和过孔编号为正;
所述网表信息确定单元,用于将所有覆铜层对应的几何图形编号、金线编号和过孔编号映射为所述网络集合中的网络名,确定并构建整个集成电路版图的网表信息。
第三方面本申请提出一种电子设备,包括存储器、处理器以及存储在所述存储器中并且可以在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
第四方面本申请提出一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/计算机设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/计算机设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可以存储在计算机可读存储介质中,该计算机程序在被处理器执行时,可以实现上述各个方法实施例的步骤。计算机程序可以包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如,在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上仅是本发明优选的实施方式,需指出的是,对于本领域技术人员在不脱离本技术方案的前提下,作出的若干变形和改进的技术方案应同样视为落入本权利要求书要求保护的范围。
Claims (10)
1.多层集成电路版图网表信息的并行确定方法,其特征在于:包括以下步骤:
读取集成电路版图中的版图信息,所述版图信息包括版图元素、所述版图元素对应的元素关系、版图层和版图网络,所述版图元素包括覆铜多边形、挖空多边形、挖空圆、焊盘、反焊盘、走线、金线、过孔和元器件,所述元素关系包括各版图层之间的过孔连接和金线连接;
根据所述元素关系抽取所述集成电路版图中连接两个不同版图层的节点,根据节点构建节点对集合;根据所述版图元素抽取每层版图层中的几何图形形成几何图形集合,将所述几何图形集合中的几何图形转换为多边形集合;根据所述元器件、版图层和版图网络形成各元器件管脚所在版图网络的网络集合、对应的版图层以及各元器件管脚的坐标集合;
对所述网络集合建立正的编号映射,对所述节点对集合建立负的编号映射;
采用粗颗粒并行步骤对每个版图层的覆铜层及过孔基于多边形的顶点和节点对集合中位于该版图层的节点进行三角形网格剖分,通过编号遍历三角形获取每个覆铜层对应的几何图形、金线和过孔的编号;
针对粗颗粒并行步骤中遍历出的含有负编号的节点对,利用该节点对的正编号对相应覆铜层中编号为负的几何图形、金线和过孔进行替换,使得所有覆铜层对应的几何图形编号、金线编号和过孔编号为正;
将所有覆铜层对应的几何图形编号、金线编号和过孔编号映射为所述网络集合中的网络名,确定并构建整个集成电路版图的网表信息。
2.根据权利要求1所述的方法,其特征在于:所述根据所述元素关系抽取所述集成电路版图中连接两个不同版图层的节点,根据节点构建节点对集合;根据所述版图元素抽取每层版图层中的几何图形形成几何图形集合,将所述几何图形集合中的几何图形转换为多边形集合;根据所述元器件、版图层和版图网络形成各元器件管脚所在版图网络的网络集合、对应的版图层以及各元器件管脚的坐标集合,包括:
根据所述元素关系抽取各个版图层之间的过孔连接和金线连接,根据连接两个不同版图层的节点形成所述节点对集合,所述节点对集合为{Vpair};
根据所述版图元素抽取每层版图层中的几何图形集合,所述几何图形集合为{P},将{P}中填充的几何图形转换为正的多边形,正的多边形的顶点逆时针排列,将{P}中挖空的几何图形转换为负的多边形,负的多边形的顶点顺时针排列;
根据所述元器件、版图层和版图网络形成各元器件管脚所在版图网络的网络集合、对应的版图层以及各元器件管脚的坐标集合,所述网络集合为{NetPIN},所述坐标集合为{xPIN, yPIN}。
3.根据权利要求2所述的方法,其特征在于:所述对所述网络集合建立正的编号映射,对所述节点对集合建立负的编号映射,包括:
对所述网络集合{NetPIN}建立正的编号映射,所述网络集合{NetPIN}中的网络名依次编号为1,2,…,Nnet, Nnet为网络集合{NetPIN}中的网络数量;
对所述节点对集合{Vpair}建立负的编号映射,所述节点对集合{Vpair}中的节点对依次同编号为-1,-2,…,-Npair, Npair为节点对集合{Vpair}中的节点对数量。
4.根据权利要求3所述的方法,其特征在于:所述采用粗颗粒并行步骤对每个版图层的覆铜层及过孔基于多边形的顶点和节点对集合中位于该版图层的节点进行三角形网格剖分,通过编号遍历三角形获取每个覆铜层对应的几何图形、金线和过孔的编号,包括:
步骤0:将整个过程划分为对每层覆铜层的互不重叠的运算颗粒,将所述运算颗粒作为并行粗颗粒;
步骤1:针对每层覆铜层建立一个并行粗颗粒,使用该并行粗颗粒基于多边形的顶点、节点对集合{Vpair}中位于对应覆铜层的节点形成初始Delaunay三角形网格剖分;
步骤2:基于步骤1的网格剖分结果,继续使用相同的并行粗颗粒采用在多边形交点插入新的网格节点的方法恢复丢失的多边形的边,形成恢复边的三角形网格剖分;
步骤3:基于步骤2的恢复丢失的多边形的边的结果继续使用相同的并行粗颗粒进行遍历,如果所述覆铜层中存在元器件管脚,从元器件管脚的网络映射的正编号出发,基于三角形遍历的方法将该层中与元器件管脚连通的几何图形、金线、过孔的编号都赋值为正的编号,获取该层中几何图形、金线和过孔的正编号;
步骤4:基于步骤3的遍历结果继续使用相同的并行粗颗粒进行查找,如果所述覆铜层中存在金线、过孔对应的映射为负编号的节点对中的节点,从映射为负的编号的节点出发,基于三角形遍历的方法获取该层中的与映射为负的编号的节点连通的几何图形、金线和过孔的负编号。
5.根据权利要求4所述的方法,其特征在于:所述步骤3中的遍历方法具体包括:
步骤3.1:初始设置所述覆铜层中所有三角形的处理状态为未处理;设置该层所有三角形的处理状态为未处理;设置该层所有几何图形、金线和过孔对应的位于该层的节点对中的节点的处理状态为未处理;设置当前外围遍历网格单元集合Frontp为空;设置当前处理该层第i=1个管脚;
步骤3.2:如果i>该层管脚数量,则结束;
步骤3.3:获取第i个管脚对应的网络Neti PIN,其映射的编号为IDi PIN,管脚坐标(xi PIN,yi PIN);找出当前第i个管脚所在的层对应的恢复边的三角形网格剖分中包含(xi PIN, yi PIN)的三角形t,检测三角形t的处理状态,如果状态为已处理,取出三角形t的编号,转入步骤3.5;否则,如果状态为未处理,设置三角形t的编号为IDi PIN,将其加入到集合Frontp中,设置其状态为已处理;
步骤3.4:从所述集合Frontp取出一个三角形t并将其从所述集合Frontp中移除;
步骤3.4.1:若所述三角形t的任一顶点v为节点对集合{Vpair}中的节点对Vk pair中的一个,检测顶点v对应的节点的处理状态,如果状态为已处理,取出该节点的编号,转入步骤3.5;否则,如果状态为未处理,修改顶点v对应的节点编号为IDi PIN,并将该节点的处理状态设置为已处理;
步骤3.4.2:若所述三角形t的三个边不为任何多边形的边,且三个邻居三角形中的任何一个或多个邻居三角形的处理状态为未处理,则将所述三角形t的该一个或多个邻居三角形加入所述集合Frontp中,并将新加入集合Frontp的三角形的标识状态设置为已处理,设置三角形的编号为IDi PIN,转入步骤3.4;否则转入步骤3.4.3;
步骤3.4.3:若所述三角形t的一个或多个边为第j个多边形Pj的边e,且三角形t为多边形Pj的边e的左三角形,检测多边形Pj的处理状态,如果状态为已处理,取出多边形Pj的编号,转入步骤3.5;否则,如果多边形Pj的状态为未处理,设置多边形Pj的编号为IDi PIN,转入步骤3.4.4;如以上情况均不满足则转入步骤3.5;所述多边形Pj的边e的左三角形为包含该边e且三角形边e的方向与多边形边e的方向相同的三角形;
步骤3.4.4:对于多边形Pj的所有边的左三角形tL,检测三角形tL的处理状态,如果状态为已处理,取出三角形tL的编号,转入步骤3.5;否则,如果其处理状态为未处理,设置所述左三角形tL的编号为IDi PIN,并将其加入集合Frontp中;
步骤3.5:判断外围覆铜网格单元集合Frontp是否为空集,若否,转入步骤3.4,若是,设置i=i+1,转入步骤3.2。
6.根据权利要求5所述的方法,其特征在于:所述步骤4中的遍历方法具体包括:
步骤4.1:搜索所述覆铜层中金线和过孔对应的映射为负的编号的节点对中的节点,形成集合{Vnegative};
步骤4.2:如果集合{Vnegative}为空,结束;
步骤4.3:从集合{Vnegative}中取出节点Vm negative将其从所述集合{Vnegative}中移除,设置当前外围遍历网格单元集合Frontp为空;设其节点Vm negative映射的编号为IDm negative,其坐标为(xm negative, ym negative);找出当前层对应的恢复边的三角形网格剖分中包含(xm negative,ym negative)的三角形t,设置三角形t的编号为IDm negative,将其加入到集合Frontp中;
步骤4.4:从所述集合Frontp取出一个三角形t并将其从所述集合Frontp中移除;
步骤4.4.1:若所述三角形t的三个边不为任何多边形的边,且三个邻居三角形中的任何一个或多个邻居三角形的编号不为IDm negative,则将所述三角形t的该一个或多个邻居三角形加入所述集合Frontp中,设置三角形的编号为IDm negative,转入步骤4.4;否则转入步骤4.4.2;
步骤4.4.2:若所述三角形t的一个或多个边为第j个多边形Pj的边e,且三角形t为多边形Pj的边e的左三角形,如果多边形Pj的编号不为IDm negative,设置多边形Pj的编号为IDm negative,转入步骤4.4.3;如以上情况均不满足则转入步骤4.5;所述多边形Pj的边e的左三角形为包含该边e且三角形边e的方向与多边形边e的方向相同的三角形;
步骤4.4.3:对于多边形Pj的所有边的左三角形tL,如果其编号不为IDm negative,设置所述左三角形tL的编号为IDm negative,并将其加入集合Frontp中;
步骤4.5:判断所述外围覆铜网格单元集合Frontp是否为空集,若否,转入步骤4.4,若是,转入步骤4.2。
7.根据权利要求6所述的方法,其特征在于:所述针对粗颗粒并行步骤中遍历出的含有负编号的节点对,利用该节点对的正编号对相应覆铜层中编号为负的几何图形、金线和过孔进行替换,使得所有覆铜层对应的几何图形编号、金线编号和过孔编号为正,包括:
收集所有覆铜层的节点对集合形成总的节点对集合{Vpair};
从所述节点对集合{Vpair}中找出同时含有正编号和负编号的节点对,形成新的集合{Vdiff pair};
对集合{Vdiff pair}中的每个节点对Vd pair,其负的编号为IDd n,正的编号为IDd p,对所有层的所有几何图形、金线、过孔,如果其编号为IDd n,将其修改为IDd p。
8.多层集成电路版图网表信息的并行确定装置,其特征在于:包括版图信息获取单元、元素信息获取单元、映射构建单元、并行处理单元、遍历单元和网表信息确定单元;
所述版图信息获取单元,用于读取集成电路版图中的版图信息,所述版图信息包括版图元素、所述版图元素对应的元素关系、版图层和版图网络,所述版图元素包括覆铜多边形、挖空多边形、挖空圆、焊盘、反焊盘、走线、金线、过孔和元器件,所述元素关系包括各版图层之间的过孔连接和金线连接;
所述元素信息获取单元,用于根据所述元素关系抽取所述集成电路版图中连接两个不同版图层的节点,根据节点构建节点对集合;根据所述版图元素抽取每层版图层中的几何图形形成几何图形集合,将所述几何图形集合中的几何图形转换为多边形集合;根据所述元器件、版图层和版图网络形成各元器件管脚所在版图网络的网络集合、对应的版图层以及各元器件管脚的坐标集合;
所述映射构建单元,用于对所述网络集合建立正的编号映射,对所述节点对集合建立负的编号映射;
所述并行处理单元,用于采用粗颗粒并行步骤对每个版图层的覆铜层及过孔基于多边形的顶点和节点对集合中位于该版图层的节点进行三角形网格剖分,通过编号遍历三角形获取每个覆铜层对应的几何图形、金线和过孔的编号;
所述遍历单元,用于针对粗颗粒并行步骤中遍历出的含有负编号的节点对,利用该节点对的正编号对相应覆铜层中编号为负的几何图形、金线和过孔进行替换,使得所有覆铜层对应的几何图形编号、金线编号和过孔编号为正;
所述网表信息确定单元,用于将所有覆铜层对应的几何图形编号、金线编号和过孔编号映射为所述网络集合中的网络名,确定并构建整个集成电路版图的网表信息。
9.一种电子设备,包括存储器、处理器以及存储在所述存储器中并且可以在所述处理器上运行的计算机程序,其特征在于:所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410056232.2A CN117574839B (zh) | 2024-01-15 | 2024-01-15 | 多层集成电路版图网表信息的并行确定方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410056232.2A CN117574839B (zh) | 2024-01-15 | 2024-01-15 | 多层集成电路版图网表信息的并行确定方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117574839A true CN117574839A (zh) | 2024-02-20 |
CN117574839B CN117574839B (zh) | 2024-04-12 |
Family
ID=89886524
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410056232.2A Active CN117574839B (zh) | 2024-01-15 | 2024-01-15 | 多层集成电路版图网表信息的并行确定方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117574839B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090313596A1 (en) * | 2008-06-11 | 2009-12-17 | Bernhard Lippmann | System and Method for Integrated Circuit Planar Netlist Interpretation |
CN117034858A (zh) * | 2023-10-10 | 2023-11-10 | 北京智芯仿真科技有限公司 | 大面积叠加的集成电路版图快速网格剖分方法及装置 |
CN117034857A (zh) * | 2023-10-10 | 2023-11-10 | 北京智芯仿真科技有限公司 | 多边形大面积重叠的集成电路版图网络标识方法及装置 |
CN117057308A (zh) * | 2023-10-10 | 2023-11-14 | 北京智芯仿真科技有限公司 | 大面积叠加的集成电路版图融合与精准诊断方法及装置 |
-
2024
- 2024-01-15 CN CN202410056232.2A patent/CN117574839B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090313596A1 (en) * | 2008-06-11 | 2009-12-17 | Bernhard Lippmann | System and Method for Integrated Circuit Planar Netlist Interpretation |
CN117034858A (zh) * | 2023-10-10 | 2023-11-10 | 北京智芯仿真科技有限公司 | 大面积叠加的集成电路版图快速网格剖分方法及装置 |
CN117034857A (zh) * | 2023-10-10 | 2023-11-10 | 北京智芯仿真科技有限公司 | 多边形大面积重叠的集成电路版图网络标识方法及装置 |
CN117057308A (zh) * | 2023-10-10 | 2023-11-14 | 北京智芯仿真科技有限公司 | 大面积叠加的集成电路版图融合与精准诊断方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN117574839B (zh) | 2024-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN117034857B (zh) | 多边形大面积重叠的集成电路版图网络标识方法及装置 | |
CN117057308B (zh) | 大面积叠加的集成电路版图融合与精准诊断方法及装置 | |
CN117034858B (zh) | 大面积叠加的集成电路版图快速网格剖分方法及装置 | |
CN115544958B (zh) | 集成电路版图设计缺陷的诊断及自动修复方法 | |
CN115600549B (zh) | 基于网格剖分确定集成电路版图设计缺陷的精准检测方法 | |
US10628551B2 (en) | Preventing corner violations in fill region of layout using exclusion layer | |
US10089431B2 (en) | Tool for modular circuitboard design | |
CN115618803B (zh) | 一种用于集成电路版图检测微孔的方法和系统 | |
CN115600550B (zh) | 基于端口电阻确定集成电路版图设计缺陷的精准检测方法 | |
CN117574839B (zh) | 多层集成电路版图网表信息的并行确定方法及装置 | |
CN117574838B (zh) | 基于确定的集成电路版图网表信息的版图诊断方法及装置 | |
CN117272914B (zh) | 基于四叉树快速确定覆铜形状形成拓扑结构的方法及装置 | |
Little et al. | The 3-D computer: an integrated stack of WSI wafers | |
JP2008310562A (ja) | 回路シミュレーション用の抵抗網作成装置、及び抵抗網作成プログラム | |
CN116522854A (zh) | 多供电系统的集成电路仿真模型生成与计算方法及系统 | |
CN115618802B (zh) | 一种用于集成电路版图检测孤岛的方法和系统 | |
CN112818624A (zh) | 印制线路板设计图的生成方法、印制电路板及其制作方法 | |
JPS63129466A (ja) | 回路接続検査装置 | |
CN117852482A (zh) | 针对走线的集成电路版图网表信息的快速诊断方法及系统 | |
CN114330213B (zh) | 一种基于版图多边形走线的自动识别转换方法及装置 | |
JP3514892B2 (ja) | 半導体集積回路のレイアウト検証方法 | |
CN116542219B (zh) | 集成电路电源供电系统的多vrm位置优化的方法及系统 | |
JP2004078428A (ja) | レイアウト検証装置 | |
CN117852481A (zh) | 一种集成电路版图网表信息的快速确定方法及系统 | |
CN117151016A (zh) | 一种基于Welsh-Powell算法的电路布局方法 |
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 |