CN114139485B - 一种网表器件参数计算方法 - Google Patents
一种网表器件参数计算方法 Download PDFInfo
- Publication number
- CN114139485B CN114139485B CN202111431319.6A CN202111431319A CN114139485B CN 114139485 B CN114139485 B CN 114139485B CN 202111431319 A CN202111431319 A CN 202111431319A CN 114139485 B CN114139485 B CN 114139485B
- Authority
- CN
- China
- Prior art keywords
- hash table
- netlist
- unit
- device group
- topological
- 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
- 238000004364 calculation method Methods 0.000 title claims description 19
- 238000000034 method Methods 0.000 abstract description 17
- 238000010586 diagram Methods 0.000 description 13
- 238000013461 design Methods 0.000 description 6
- 238000000605 extraction Methods 0.000 description 3
- 239000003990 capacitor Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 230000003071 parasitic effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Abstract
一种网表器件参数计算方法,包括以下步骤:1)对版图中的所有单元按调用关系进行拓扑排序,生成拓扑单元列表;2)按拓扑序遍历所有单元,生成器件组并更新哈希表;3)重新遍历所有单元,计算每个单元的哈希表中的器件组的NFM属性;其中,NFM属性是指并联或串联器件的数目。本发明可以针对层次网表高效计算并联或串联器件的数目,且必要时对部分或全部器件做提升操作,可以大幅度提高工具执行效率和降低内存消耗。
Description
技术领域
本发明涉及半导体集成电路设计的后端版图验证技术领域,特别涉及一种网表器件参数计算方法。
背景技术
在半导体集成电路的版图设计过程中,考虑到版图布局和栅寄生电阻等因素,版图工程师通常会将一个器件设计成多个并联或串联的器件。在层次版图与原理图一致性检查(Hierarchical Layout Versus Schematic,HLVS)完成后,需要计算并联或串联器件(Instance,指的是单元内部的基本器件和单元调用)的数目,并作为参数输出到网表,以供参数提取和后仿真软件使用。
对于超大规模集成电路设计,通常包含几万甚至几十万个单元,器件数目更是达到千万、甚至上亿规模,不但增加了计算的内存消耗,而且执行效率大大降低,传统的计算方法远远不能满足超大规模集成电路设计的要求,因此针对层次网表给出高效的计算并联或串联器件的数目(NFM属性)的方法,且必要时对部分或全部器件做提升操作。
发明内容
为了解决现有技术存在的不足,本发明的目的在于提供一种网表器件参数计算方法,可以针对层次网表高效计算并联或串联器件的数目,且必要时对部分或全部器件做提升操作,可以大幅度提高工具执行效率和降低内存消耗。
为实现上述目的,本发明提供的网表器件参数计算方法,包括以下步骤:
1)对版图中的所有单元按调用关系进行拓扑排序,生成拓扑单元列表;
2)按拓扑序遍历所有单元,生成器件组并更新哈希表;
3)重新遍历所有单元,计算每个单元的哈希表中的器件组的NFM属性;
其中,NFM属性是指并联或串联器件的数目。
进一步地,所述步骤2)进一步包括如下步骤:
21)对当前遍历单元中的基本器件按器件类型和所连线网进行哈希,对单元调用按所连线网进行哈希,生成器件组,将器件组插入哈希表,更新哈希表;
22)对器件组进行检查,如果器件组中包含单元调用,则根据器件类型和所连线网检索子单元中的哈希表,当在子单元的哈希表中检索到器件组时,将所述器件组中的器件提升到当前遍历单元,更新哈希表,若在子单元的哈希表中未检索到器件组,不需要更新当前单元的哈希表。
更进一步地,对所述拓扑单元列表中的所有单元按拓扑序依次执行所述步骤21)-22),直至当前单元为空。
为实现上述目的,本发明还提供一种网表器件参数计算的装置,包括存储器和处理器,所述存储器上储存有在所述处理器上运行的程序,所述处理器运行所述程序时执行上述的网表器件参数计算方法的步骤。
为实现上述目的,本发明还提供一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行上述的网表器件参数计算方法的步骤。
本发明的一种网表器件参数计算方法,与现有技术相比具有如下有益效果:充分利用了层次网表的特点和哈希方法,可以高效地计算器件NFM属性,可以大幅度提高工具执行效率和降低内存消耗。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,并与本发明的实施例一起,用于解释本发明,并不构成对本发明的限制。在附图中:
图1为根据本发明的网表器件参数计算方法流程图;
图2示出了版图设计中的关联器件的初始网表示意图;
图3为图2所示初始网表对应的电路图;
图4为利用根据本发明的方法对图3所示的电路图中的单元A中的器件进行分类统计后的结果示意图;
图5为利用根据本发明的方法对图3所示的电路图中的单元B中的器件进行分类统计后的结果示意图;
图6为利用根据本发明的方法对图3所示的电路图中的单元TOP进行分类统计后的结果示意图;
图7为利用根据本发明的方法对TOP单元中存在的器件调用进行器件提升操作后的分类统计结果示意图;
图8为将按并联器件类型和线网分类计算出的NFM属性输入网表后的输出网表示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明实施例中,
(1)HLVS:层次版图(Layout)与原理图(Sechematic)一致性检查(HierarchicalLayout Versus Schematic)。
(2)单元(Cell):版图或原理图中的单元。
(3)器件(Instance):指的是单元内部的基本器件(Primitive)和单元调用(CellInst),基本器件包括电阻、电容、Mos管等。
(4)器件组(InstanceGroup):由一组并联或串联的基本器件(Primitive)或单元调用(CellInst)组成。
(5)NFM属性:指并联或串联器件的数目,计算后作为器件NFM属性输出到网表供参数提取和后仿真软件使用,用户可以指定NFM属性的名字。
图1为根据本发明的网表器件参数计算方法流程图,下面将参考图1,对本发明的网表器件参数计算方法进行详细描述。
在步骤101,对版图中的所有单元进行拓扑排序,生成拓扑单元列表(TopoCellList)。
在该步骤中,对版图中的所有单元(Cell,版图或原理图中的单元)按调用关系进行拓扑排序,生成拓扑单元列表。
在步骤102,按拓扑序遍历所有单元,生成器件组并更新哈希表。
在该步骤中,按拓扑序遍历所有单元,并且对拓扑单元列表中的每个单元执行如下操作:
a)对当前单元中的基本器件(Primitive)按器件类型和所连线网进行哈希,对单元调用(CellInst)按所连线网进行哈希,生成器件组(InstanceGroup,由一组并联或串联的基本器件或单元调用组成),将器件组插入哈希表,更新哈希表。其中,基本器件包括电阻、电容、Mos管等。
b)若器件组中包含单元调用,则用器件类型和所连线网检索子单元中的哈希表,若在子单元的哈希表中检索到器件组,则将器件组中的器件提升到当前单元并更新当前单元的哈希表。
当前单元处理完毕以后按照拓扑序对下一个单元进行a)-b)的操作,当下一个单元为空时,则进行步骤103)。
在步骤103,重新遍历所有单元,计算每个单元的哈希表中的器件组的NFM属性。
在该步骤中,按拓扑序重新遍历所有单元,对每个单元的哈希表中的器件组计算NFM属性并输出结果。
如前所述,NFM属性是指并联或串联器件的数目,其输出到网表供参数提取和后仿真软件使用,用户可以指定NFM属性的名字。在执行HLVS时,若用户指定计算NFM属性,工具在执行完HLVS后利用上述步骤计算指定器件类型的并联或串联器件数目,输出NFM属性。
本发明对当前单元中的基本器件和单元调用按器件类型和所连线网进行哈希,生成器件组,记录到哈希表;若器件组中包含单元调用,检索子单元中的哈希表,若在子单元的哈希表中检索到器件组,则将器件组中的器件提升到当前单元。最后,按拓扑序遍历所有单元,对于每个单元的哈希表中的器件组计算NFM属性并输出结果。该方法充分利用层次网表的特点,避免重复计算,提高了计算效率。
为进一步说明本发明的方法,下面结合实施例1进行解释说明。
实施例1
图2示出了版图设计中的关联器件的初始网表示意图。网表对应的电路图如图3所示。
按拓扑序对每个单元进行处理,首先对单元A中的基本器件和单元调用按器件类型和所连线网进行哈希,生成器件组,得到结果如图4所示。
然后对单元B中的基本器件和单元调用按器件类型和所连线网进行哈希,生成器件组,得到结果如图5所示。
之后对单元TOP中的基本器件和单元调用按器件类型和所连线网进行哈希,生成器件组,得到结果如图6所示。
检查单元TOP中的器件调用(CellInst),发现器件需要提升到父单元中进行计算,器件提升后分类统计,统计结果如图7所示。
最后,遍历单元A、单元B和单元TOP,按并联器件的类型、线网分类计算NFM属性,计算NFM属性后输出网表,输出结果如图8所示。
本发明还提供网表器件参数计算的装置,包括存储器和处理器,存储器上储存有在处理器上运行的程序,处理器运行所述程序时执行上述一种网表器件参数计算方法的步骤。
本发明还提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行上述的一种网表器件参数计算方法的步骤,所述一种网表器件参数计算方法参见前述部分的介绍,不再赘述。
本领域普通技术人员可以理解:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种网表器件参数计算方法,其特征在于,包括以下步骤:
1)对版图中的所有单元按调用关系进行拓扑排序,生成拓扑单元列表;
2)按拓扑序遍历所有单元,生成器件组并更新哈希表;
3)重新遍历所有单元,计算每个单元的哈希表中的器件组的NFM属性;
其中,NFM属性是指并联或串联器件的数目;
其中,所述步骤2)进一步包括如下步骤:
21)对当前遍历单元中的基本器件按器件类型和所连线网进行哈希,对单元调用按所连线网进行哈希,生成器件组,将器件组插入哈希表,更新哈希表;
22)对器件组进行检查,如果器件组中包含单元调用,则根据器件类型和所连线网检索子单元中的哈希表,当在子单元的哈希表中检索到器件组时,将所述器件组中的器件提升到当前遍历单元,更新哈希表,若在子单元的哈希表中未检索到器件组,不需要更新当前单元的哈希表。
2.根据权利要求1所述的网表器件参数计算方法,其特征在于,对所述拓扑单元列表中的所有单元按拓扑序依次执行所述步骤21)-22),直至当前单元为空。
3.一种网表器件参数计算的装置,其特征在于,包括存储器和处理器,所述存储器上储存有在所述处理器上运行的程序,所述处理器运行所述程序时执行权利要求1-2任一项所述的网表器件参数计算方法的步骤。
4.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述计算机指令运行时执行权利要求1-2任一项所述的网表器件参数计算方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111431319.6A CN114139485B (zh) | 2021-11-29 | 一种网表器件参数计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111431319.6A CN114139485B (zh) | 2021-11-29 | 一种网表器件参数计算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114139485A CN114139485A (zh) | 2022-03-04 |
CN114139485B true CN114139485B (zh) | 2024-07-09 |
Family
ID=
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103034740A (zh) * | 2011-09-30 | 2013-04-10 | 北京华大九天软件有限公司 | 一种原理图驱动版图的生成层次版图方法 |
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103034740A (zh) * | 2011-09-30 | 2013-04-10 | 北京华大九天软件有限公司 | 一种原理图驱动版图的生成层次版图方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102236672B (zh) | 一种数据导入方法及装置 | |
CN109815283B (zh) | 一种异构数据源可视化查询方法 | |
CN110647995A (zh) | 规则训练方法、装置、设备及存储介质 | |
CN111768096A (zh) | 基于算法模型的评级方法、装置、电子设备及存储介质 | |
CN103309801A (zh) | 一种确定回归测试范围的方法和装置 | |
CN103019691A (zh) | 一种etl作业关系图的转化方法及其实现系统 | |
CN112307062B (zh) | 数据库聚合查询方法、装置及系统 | |
CN114139485B (zh) | 一种网表器件参数计算方法 | |
CN110704472A (zh) | 数据查询统计方法及装置 | |
CN109543300B (zh) | 一种提取版图中的像素器件的方法 | |
CN106980673A (zh) | 内存数据库表索引更新方法及系统 | |
CN114139485A (zh) | 一种网表器件参数计算方法 | |
CN104572658A (zh) | 一种甚大规模集成电路版图层次比较工具的单元切分预处理方法 | |
WO2023284088A9 (zh) | 基于人工智能的电路设计方法与实现系统 | |
CN111522819A (zh) | 一种树型结构数据汇总的方法及系统 | |
WO2019153546A1 (zh) | 万级维度数据生成方法、装置、设备以及存储介质 | |
CN112668259A (zh) | 一种后仿真网表的系统验证方法 | |
CN106528849A (zh) | 面向完整历史记录的图查询开销方法 | |
CN113032368A (zh) | 一种数据迁移方法、装置、存储介质及平台 | |
CN113254722B (zh) | 一种rc网络同构识别方法 | |
CN115828807B (zh) | 一种基于存储单位识别的网表约简方法 | |
CN104268278B (zh) | 一种基于规则的软件体系结构层性能演化优化方法 | |
CN112416362B (zh) | 一种pdk编译功能的实现方法 | |
CN113495831B (zh) | 基于关键字生成测试用例的方法、系统、设备及介质 | |
JP2016130929A (ja) | 集約装置、集約システム、集約方法、および、プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |