CN115017850A - 一种数字集成电路优化方法 - Google Patents
一种数字集成电路优化方法 Download PDFInfo
- Publication number
- CN115017850A CN115017850A CN202210697638.XA CN202210697638A CN115017850A CN 115017850 A CN115017850 A CN 115017850A CN 202210697638 A CN202210697638 A CN 202210697638A CN 115017850 A CN115017850 A CN 115017850A
- Authority
- CN
- China
- Prior art keywords
- circuit
- gate unit
- power consumption
- optimization
- threshold voltage
- 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
- 238000005457 optimization Methods 0.000 title claims abstract description 88
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000012549 training Methods 0.000 claims abstract description 13
- 239000011159 matrix material Substances 0.000 claims description 64
- 238000013528 artificial neural network Methods 0.000 claims description 41
- 230000007787 long-term memory Effects 0.000 claims description 21
- 230000006403 short-term memory Effects 0.000 claims description 21
- 230000006870 function Effects 0.000 claims description 16
- 230000002776 aggregation Effects 0.000 claims description 15
- 238000004220 aggregation Methods 0.000 claims description 15
- 230000002457 bidirectional effect Effects 0.000 claims description 14
- 238000004458 analytical method Methods 0.000 claims description 12
- 230000015572 biosynthetic process Effects 0.000 claims description 9
- 230000015654 memory Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 9
- 238000003786 synthesis reaction Methods 0.000 claims description 9
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 230000003068 static effect Effects 0.000 claims description 6
- 230000003044 adaptive effect Effects 0.000 claims description 4
- 230000008859 change Effects 0.000 claims description 4
- 230000009467 reduction Effects 0.000 claims description 4
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 claims description 3
- 230000004931 aggregating effect Effects 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000012938 design process Methods 0.000 claims description 3
- 238000011176 pooling Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 2
- 230000000694 effects Effects 0.000 abstract description 4
- 230000004048 modification Effects 0.000 abstract description 3
- 238000012986 modification Methods 0.000 abstract description 3
- 210000004027 cell Anatomy 0.000 description 11
- 210000002569 neuron Anatomy 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005070 sampling 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/32—Circuit design at the digital level
- G06F30/337—Design optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
-
- 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
-
- 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/12—Timing analysis or timing optimisation
-
- 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
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Geometry (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明公开了一种数字集成电路优化方法。在满足一定的时序约束的前提下,通过对电路的电路级,路径级和门单元级特征进行提取,构建漏功耗优化模型,采用来自商用电路优化工具的优化数据训练模型,预测电路优化后的门单元的阈值电压类型,从而对布线后的门级网表中的门单元进行阈值电压调整实现对电路的优化,以达到降低漏功耗的优化目标。与商用电路优化工具相比,本发明提出的数字集成电路优化方法能够应用到工程修改(ECO)阶段的电路优化中,极大提升优化速度的同时可以取得相近的漏功耗优化效果,对于加快数字集成电路漏功耗优化的速度具有重要意义。
Description
技术领域
本发明涉及数字集成电路的优化方法,特别是涉及一种数字集成电路工程修改(ECO)阶段的漏功耗优化方法。
背景技术
随着集成电路的发展和工艺节点的进步,漏功耗在总功耗中的占比不断增大,集成电路的漏功耗优化问题变得越发重要。过去,漏功耗占比较小的时候,通过电源电压缩放和阈值电压缩放等技术来降低占比较大的动态功耗可以有效解决集成电路的能耗问题。然而,当工艺节点发展到100nm范围内,阈值电压的降低将导致亚阈值漏功耗呈指数增长,从而可能导致芯片工作温度发生较大变化,进而对芯片工作的时序产生影响。因此,在保证时序约束严格满足要求的前提下,对漏功耗进行优化成为集成电路功耗优化的重要问题之一。
工程修改(Engineering Change Order,ECO)通常被用来优化电路的功耗,性能和面积,实现尽可能好的芯片设计指标。标准单元库中的每个标准单元通常有多种类型的尺寸和阈值电压,在一定的时序约束下,通过尺寸调节和阈值电压调节可以对电路的漏功耗进行优化。然而,在布线后阶段,尺寸调节通常需要进行增量布局,导致芯片设计时间的增加,而阈值电压调节不会对整体布局和布线产生重大干扰,因此成为ECO阶段更常用的漏功耗优化方法。但是,阈值电压更换需要进行多轮迭代,并且每次迭代完成后都需要进行相应的时序检查以保证满足时序约束的要求,由此带来了巨大的时间成本,进而延长了芯片的整个设计周期。因此,解决ECO阶段的漏功耗优化的耗时问题十分重要。
目前机器学习已经应用于漏功耗优化领域中。然而,由于漏功耗优化问题需要在电路时序和漏功耗之间进行权衡,其复杂性使得传统的机器学习方法难以取得很好的预测效果。一方面,优化后电路的最坏负时序裕量(Worst Negative Slack,WNS)和总的负时序裕量(Total Negative Slack,TNS)不能变差,并且不能引入新的违规;另一方面,紧密交织的时序路径上存在着许多共享门单元,这些路径上的任何门单元的阈值电压调节都可能导致共享该单元的路径中产生新的时序违规。因此,门单元优化后的阈值电压类型不仅取决于门单元本身的信息,而且高度依赖于其相邻门单元。那么,在最终的门单元的嵌入向量中,不仅需要考虑自身的特征对于优化后阈值电压的影响,还需要考虑到经过该门单元的时序最差的路径拓扑信息。然而,目前的已有研究主要利用门单元自身特征进行建模,缺少路径拓扑信息,无法满足预测的高精度要求。
此外,图神经网络(Graph Neural Network,GNN)基于图学习的方式来对相邻门单元的信息进行学习,从而提取电路级拓扑信息,是一种能够有效地应用于漏功耗优化问题的模型。然而,已有的处理漏功耗优化问题的GNN模型仍存在不足。首先,不同类型的相邻门单元的阈值电压调节会对其中心门单元最终的阈值电压类型产生不同的影响,但已有的GNN模型聚合时无法对不同相邻门单元进行区分。其次,已有的GNN模型在学习节点表示时仅保留最后一层的输出,这会导致一阶或两阶距离的相邻门单元的局部拓扑信息的丢失。
总的来说,现有的机器学习模型难以同时对门单元级信息,路径级拓扑信息和电路级拓扑信息进行学习,并且还存在无法区分不同类型的相邻门单元,缺少局部拓扑信息的问题,使得已有的基于机器学习的漏功耗优化方法不能够在减少漏功耗优化运行时间的同时,取得高精度的漏功耗优化预测效果。因此,如何建立一个预测框架,从而对漏功耗进行准确预测,同时提升漏功耗优化速度是亟需解决的问题。
发明内容
技术问题:本发明的目的是提供一种数字集成电路优化方法,能够对漏功耗优化进行准确的预测,并且有效提升漏功耗优化的速度。
技术方案:本发明的一种数字集成电路优化方法指的是在满足一定的时序约束的前提下,对电路中的门单元分配合适的阈值电压类型,使得漏功耗达到最小;所述方法包括以下步骤:
S1:通过提取门单元间拓扑连接信息、门单元特征信息和路径拓扑信息作为漏功耗优化模型的输入;首先从电路网表中提取门单元之间的拓扑连接关系构成邻接矩阵;随后通过时序和功耗分析工具获取指定电路的时序报表,从中提取时序和功耗相关的信息构成特征矩阵,包括单元自身和相邻单元的时序特征、电容特征以及功耗特征;之后提取电路中经过每个门单元的关键路径,得到路径特征序列;最后通过商用电路优化工具对电路进行漏功耗优化,得到电路中每个门单元优化后的阈值电压类型,作为模型训练及推理的真实标签值;
S2:将S1步骤中通过提取电路网表得到反映门单元之间拓扑连接关系的邻接矩阵和通过提取时序报表得到的时序和功耗相关的特征矩阵,作为图神经网络GNN的输入,该网络经过训练后能够对电路级拓扑信息进行建模,从而建立起电路拓扑结构与漏功耗优化结果之间的联系;
S3:将S1步骤中提取得到的路径特征序列作为双向长短期记忆网络BLSTM的输入,该网络经过训练后,能够对电路中经过每个门单元的关键路径的路径级拓扑信息进行建模,建立起路径级拓扑信息和漏功耗优化结果之间的联系;
S4:将S1步骤中通过提取时序报表得到的时序和功耗相关的信息构成的特征矩阵,包括门单元自身和相邻门单元的时序特征、电容特征以及功耗特征,作为人工神经网络ANN的输入,该模型经过训练后,能够建立起门单元自身信息与漏功耗优化结果之间的联系;
S5:将S2步骤中图神经网络GNN模型的输出,S3步骤中双向长短期记忆神经网络BLSTM的输出和S4步骤中人工神经网络ANN的输出进行合并;合并后的向量作为阈值电压分类网络的输入,该模型经过训练后,能够建立起电路级拓扑信息,路径级拓扑信息和门单元拓扑信息与漏功耗优化后门单元的阈值电压类型之间的关系,实现对电路中门单元的优化后的阈值电压类型的预测。
其中,
所述步骤S1具体包括以下步骤:
S11:通过将电路网表中的门单元表示为图graph中的节点Node,将门单元之间的互连线表示为图中的边Edge,把电路网表转换为有向无环图;根据有向无环图构建邻接矩阵,邻接矩阵中包含门单元之间的拓扑连接关系的信息,包括每个中心单元的扇入门单元,扇出门单元和兄弟门单元,随后采用压缩稀疏行CSR格式来对邻接矩阵进行压缩;
S12:通过逻辑综合工具对电路的寄存器传输级RTL网表进行逻辑综合得到逻辑综合后的门单元级网表,随后通过布局布线工具对综合后的网表进行布局布线等物理设计流程得到布线后的网表,然后使用时序和功耗分析工具对布线后的网表进行静态时序分析和功耗分析得到电路路径的时序信息和漏功耗信息;从时序报表中提取门单元自身的和相邻单元的时序特征、电容特征以及功耗特征;上述时序、电容和功耗相关的特征构成特征矩阵;
S13:提取电路中经过每个门单元的最小时序裕量的路径,随后遍历路径上所有门单元的集合,对集合中的每个门单元,找到特征矩阵中对应的特征向量,从而得到电路中每个门单元的路径特征序列;将序列数据填充到最大路径长度以解决路径长度不一致导致的序列数据长度不一致的问题,填充后得到特征序列矩阵;
S14:使用商用电路优化工具通过阈值电压调节的方式对电路的漏功耗进行优化,得到漏功耗优化后的每个门单元的阈值电压类型,作为模型训练及推理的真实标签值。
所述门单元自身的时序特征和电容特征包括:最坏输出时序裕量,最坏输入时序裕量,最大输出转换时间,最大输入转换时间,总的输入电容,最大延时改变和门单元延时;相邻门单元的时序特征和电容特征包括:扇入门单元最坏时序裕量,总的扇入门单元电容,扇出门单元最坏时序裕量,总的扇出门单元电容,最坏兄弟门单元时序裕量,总的兄弟门单元电容;功耗特征包括:初始漏功耗。
所述步骤S2中,将S1步骤得到的邻接矩阵和特征矩阵作为图神经网络GNN的输入,首先通过嵌入层将特征矩阵中每个门单元对应的特征向量映射为固定维度的向量;然后将嵌入层的输出连接到多层GNN层中进行学习,GNN层包括对相邻门单元的特征进行聚合的聚合层以及编码层,聚合层分别对每个门单元的扇入,扇出和兄弟门单元的信息进行聚合,聚合层的输出作为多层感知机构成的编码层的输入,经编码层的学习后更新得到当前GNN层的节点嵌入向量,当前GNN层的输出作为下一层GNN层的输入,重复进行聚合编码的过程,直到得到多层GNN层的输出;之后通过合并层将多层GNN的输出进行合并以使最终的节点嵌入向量包含不同深度的信息;最后输出到全连接层进行维度变换,并经过输出层得到最终的包含电路级拓扑信息的嵌入向量,从而建立起电路拓扑结构与漏功耗优化结果之间的联系。
所述步骤S3中,将S1步骤中得到的路径特征序列矩阵作为双向长短期记忆网络BLSTM的输入,首先对路径特征序列矩阵进行归一化,随后压缩掉长短期记忆LSTM特征序列生成过程中无效的填充值,之后特征序列分别前向和后向地输入到长短期记忆网络层中,得到前向长短期记忆嵌入向量和后向长短期记忆嵌入向量;两者合并后经过权重矩阵进行变换,再重新填充压缩的序列以便于后续数据处理,最后输入到池化层中进行降维,得到最终的长短期记忆嵌入向量,从而建立起路径级拓扑信息和漏功耗优化结果之间的联系。
所述步骤S4中,将S1步骤中的特征矩阵作为多层感知机MLP的输入,通过多层全连接层的转换,输出得到最终静态嵌入向量,从而建立起门单元自身信息与漏功耗优化结果之间的联系。
所述步骤S5具体包括以下步骤:
S51:将S2步骤中图神经网络GNN输出的包含电路级拓扑信息的嵌入向量,S3步骤中双向长短期记忆神经网络BLSTM输出的包含路径级拓扑信息的嵌入向量和S4步骤中人工神经网络ANN输出的包含门单元自身信息的向量进行合并,得到最终的节点嵌入向量;
S52:将最终的节点嵌入向量输入到阈值电压分类网络中进行训练,分类网络的末端连接归一化指数softmax函数输出得到维度为|V|×n的矩阵P,V表示网表中的门单元的集合,|V|表示网表中的门单元的个数,i表示网表中单元的编号1≤i≤|V|,n表示采用的阈值电压的类型数,c表示采用的阈值电压的编号1≤c≤n,Pic表示第i个门单元属于单元库中第c种阈值电压的概率;随后计算该网络的预测值和真实值之间的交叉熵误差,交叉熵损失函数的计算公式如下:
其中L表示损失函数值,Yic表示商用电路优化工具进行漏功耗优化后第i个门单元的阈值电压分配结果,如果分配为第c种阈值电压,则Yic=1,否则Yic=0;之后通过自适应矩估计优化器Adam来最小化交叉熵损失函数,优化模型参数。最后建立起电路级拓扑信息,路径级拓扑信息和门单元拓扑信息与漏功耗优化后门单元的阈值电压类型之间的关系,实现对电路中门单元的优化后的阈值电压类型的预测。
有益效果:本发明公开了一种数字集成电路优化方法,能够应用到工程修改(ECO)阶段的电路优化中,不会对电路整体布局和布线产生重大干扰;与商用电路优化工具相比,阈值电压调整过程不需要进行多轮迭代,可以极大提升电路优化速度;对门单元阈值电压类型的预测精度高,可以取得与商用电路优化工具相近的漏功耗优化效果。本发明对于加快数字集成电路漏功耗优化的速度具有重要意义。
附图说明
图1为数字集成电路漏功耗优化框架示意图;
图2位图神经网络(GNN)模型的聚合层;
图3为图神经网络(GNN)模型结构示意图;
图4为双向长短期记忆神经网络(BLSTM)模型结构示意图;
图5为多层感知机网络(MLP)模型结构示意图。
具体实施方式
下面结合具体实施方式对本发明的技术方案作进一步的介绍。
本发明具体实施方案公开了一种数字集成电路优化方法,所述优化指的是对电路中的门单元分配合适的阈值电压类型,使得漏功耗达到最小;例如:选用的TSMC28nm的工艺单元库中包含3种阈值电压类型,常规阈值电压(RVT)、低阈值电压(LVT)以及极低阈值电压(ULVT)。所述方法包括以下步骤:
S1:通过提取门单元间拓扑连接信息、门单元特征信息和路径拓扑信息作为漏功耗优化模型的输入。首先从电路网表中提取门单元之间的拓扑连接关系构成邻接矩阵;随后通过时序和功耗分析工具获取指定电路的时序报表,从中提取时序和功耗相关的信息构成特征矩阵,包括单元自身和相邻单元的时序特征、电容特征以及功耗特征;之后提取电路中经过每个门单元的关键路径,得到路径特征序列;最后通过商用电路优化工具对电路进行漏功耗优化,得到电路中每个门单元优化后的阈值电压类型,作为模型训练及推理的真实标签值;例如:阈值电压类型包括常规阈值电压(RVT)、低阈值电压(LVT)以及极低阈值电压(ULVT)三种。
S2:将S1步骤中通过提取电路网表得到反映门单元之间拓扑连接关系的邻接矩阵和通过提取时序报表得到的时序相关的特征矩阵,作为图神经网络GNN的输入,该网络经过训练后能够对电路级拓扑信息进行建模,从而建立起电路拓扑结构与漏功耗优化结果之间的联系。
S3:将S1步骤中提取得到的路径特征序列作为双向长短期记忆网络BLSTM的输入,该网络经过训练后,能够对电路中经过每个门单元的关键路径的路径级拓扑信息进行建模,建立起路径级拓扑信息和漏功耗优化结果之间的联系。
S4:将S1步骤中通过提取时序报表得到的时序和功耗相关的信息构成的特征矩阵,包括单元自身的和相邻单元的时序特征、电容特征以及功耗特征,作为人工神经网络ANN的输入,该模型经过训练后,能够建立起门单元自身信息与漏功耗优化结果之间的联系。
S5:将S2步骤中图神经网络GNN模型的输出,S3步骤中双向长短期记忆神经网络BLSTM的输出和S4步骤中人工神经网络ANN的输出进行合并;合并后的向量作为阈值电压分类网络的输入,该模型经过训练后,能够建立起电路级拓扑信息,路径级拓扑信息和门单元拓扑信息与漏功耗优化后门单元的阈值电压类型之间的关系,实现对电路中门单元的优化后的阈值电压类型的预测。
步骤S1具体包括以下步骤:
S11:通过将电路网表中的门单元表示为图graph中的节点Node,将门单元之间的互连线表示为图中的边Edge,把电路网表转换为有向无环图,并根据有向无环图构建邻接矩阵,邻接矩阵中包含门单元之间的拓扑连接关系的信息,包括每个中心单元的扇入门单元,扇出门单元和兄弟门单元,随后采用压缩稀疏行CSR格式来对邻接矩阵进行压缩;
S12:通过逻辑综合工具对电路的寄存器传输级RTL网表进行逻辑综合得到逻辑综合后的门单元级网表,随后通过布局布线工具对综合后的网表进行布局布线等物理设计流程得到布线后的网表,然后使用时序和功耗分析工具对布线后的网表进行静态时序分析和功耗分析得到电路路径的时序信息和漏功耗信息;从时序报表中提取单元自身的和相邻单元的时序特征、电容特征以及功耗特征;上述时序、电容和功耗相关的特征构成特征矩阵;
S13:提取电路中经过每个门单元的最小时序裕量的路径,随后遍历路径上所有门单元的集合,对集合中的每个门单元,找到特征矩阵中对应的特征向量,从而得到电路中每个门单元的路径特征序列,并将序列数据填充到最大路径长度以解决路径长度不一致导致的序列数据长度不一致的问题,填充后得到特征序列矩阵;
S14:使用商用电路优化工具通过阈值电压调节的方式对电路的漏功耗进行优化,得到漏功耗优化后的每个门单元的阈值电压类型,包括常规阈值电压(RVT)、低阈值电压(LVT)或者极低阈值电压(ULVT),作为模型训练及推理的真实标签值。
所述门单元自身的时序特征和电容特征包括:最坏输出时序裕量,最坏输入时序裕量,最大输出转换时间,最大输入转换时间,总的输入电容,最大延时改变和门单元延时;相邻门单元的时序特征和电容特征包括:扇入门单元最坏时序裕量,总的扇入门单元电容,扇出门单元最坏时序裕量,总的扇出门单元电容,最坏兄弟门单元时序裕量,总的兄弟门单元电容;功耗特征包括:初始漏功耗。
步骤S2中,将S1步骤得到的邻接矩阵和特征矩阵作为图神经网络GNN的输入,首先通过嵌入层将特征矩阵中每个门单元对应的特征向量映射为固定维度的向量;然后将嵌入层的输出连接到多层GNN层中进行学习,GNN层包括对相邻门单元的特征进行聚合的聚合层以及编码层,聚合层分别对每个门单元的扇入,扇出和兄弟门单元的信息进行聚合,聚合层输出作为多层感知机构成的编码层的输入,经编码层的学习后更新得到当前GNN层的节点嵌入向量,当前GNN层的输出作为下一层GNN层的输入,重复进行聚合编码的过程,直到得到多层GNN层的输出;之后通过合并层将多层GNN的输出进行合并以使最终的节点嵌入向量包含不同深度的信息;最后输出到全连接层进行维度变换,并经过输出层得到最终的包含电路级拓扑信息的嵌入向量,从而建立起电路拓扑结构与漏功耗优化结果之间的联系。例如:抽取电路级拓扑特征的图神经网络的层数分别为,图神经网络的层数为3,隐藏层神经元的个数为128,聚合函数使用均值聚合函数,输出层神经元个数为128,邻节点采样个数为15,嵌入层维度为32,特征矩阵维度为14。
步骤S3中,根据权利要求1所述的数字集成电路优化方法,其特征在于:所述步骤S3中,将S1步骤中得到的路径特征序列矩阵作为双向长短期记忆网络BLSTM的输入,首先对特征序列矩阵进行归一化,随后压缩掉长短期记忆LSTM特征序列生成过程中无效的填充值,之后特征序列分别前向和后向地输入到长短期记忆网络层中,得到前向长短期记忆嵌入向量和后向长短期记忆嵌入向量;两者合并后经过权重矩阵进行变换,再重新填充压缩的序列以便于后续数据处理,最后输入到池化层中进行降维,得到最终的长短期记忆嵌入向量,从而建立起路径级拓扑信息和漏功耗优化结果之间的联系。例如:抽取路径级拓扑特征的双向长短期记忆网络的参数分别为,长短期记忆网络的层数为2,隐藏层神经元的个数为128,输出层神经元个数为128,输入序列长度为电路最大路径长度,输入维度为14。
步骤S4中,将S1步骤中的特征矩阵作为多层感知机MLP的输入,通过多层全连接层的转换,输出得到最终的静态嵌入向量,从而建立起门单元自身信息与漏功耗优化结果之间的联系。例如:抽取门单元级特征的多层感知机模块的参数分别为,多层感知机层数为3,特征矩阵维度为14,隐藏层神经元个数为128,输出层神经元个数为128。
步骤S5具体包括以下步骤:
S51:将S2步骤中图神经网络GNN输出的包含电路级拓扑信息的嵌入向量,S3步骤中双向长短期记忆神经网络BLSTM输出的包含路径级拓扑信息的嵌入向量和S4步骤中人工神经网络ANN输出的包含门单元自身信息的向量进行合并,得到最终的节点嵌入向量;
S52:将最终的节点嵌入向量输入到阈值电压分类网络中进行训练,分类网络的末端连接归一化指数softmax函数输出得到维度为|V|×n的矩阵P,V表示网表中的门单元的集合,|V|表示网表中的门单元的个数,i表示网表中单元的编号1≤i≤|V|,n表示采用的阈值电压的类型数,c表示采用的阈值电压的编号1≤c≤n,Pic表示第i个门单元属于单元库中第c种阈值电压的概率;随后计算该网络的预测值和真实值之间的交叉熵误差,交叉熵损失函数的计算公式如下:
其中L表示损失函数值,Yic表示商用电路优化工具进行漏功耗优化后第i个门单元的阈值电压分配结果,如果分配为第c种阈值电压,则Yic=1,否则Yic=0;之后通过自适应矩估计优化器Adam来最小化交叉熵损失函数,优化模型参数;最后建立起电路级拓扑信息,路径级拓扑信息和门单元拓扑信息与漏功耗优化后门单元的阈值电压类型之间的关系,实现对电路中门单元的优化后的阈值电压类型的预测。例如:阈值电压分类网络的参数分别为,阈值电压类别数为3,训练批次个数为512,学习率为0.001,优化器选择自适应矩估计优化器Adam,损失函数选择交叉熵损失函数。
Claims (7)
1.一种数字集成电路优化方法,其特征在于:所述优化指的是在满足一定的时序约束的前提下,对电路中的门单元分配合适的阈值电压类型,使得漏功耗达到最小;所述方法包括以下步骤:
S1:通过提取门单元间拓扑连接信息、门单元特征信息和路径拓扑信息作为漏功耗优化模型的输入;首先从电路网表中提取门单元之间的拓扑连接关系构成邻接矩阵;随后通过时序和功耗分析工具获取指定电路的时序报表,从中提取时序和功耗相关的信息构成特征矩阵,包括单元自身和相邻单元的时序特征、电容特征以及功耗特征;之后提取电路中经过每个门单元的关键路径,得到路径特征序列;最后通过商用电路优化工具对电路进行漏功耗优化,得到电路中每个门单元优化后的阈值电压类型,作为模型训练及推理的真实标签值;
S2:将S1步骤中通过提取电路网表得到反映门单元之间拓扑连接关系的邻接矩阵和通过提取时序报表得到的时序和功耗相关的特征矩阵,作为图神经网络GNN的输入,该网络经过训练后能够对电路级拓扑信息进行建模,从而建立起电路拓扑结构与漏功耗优化结果之间的联系;
S3:将S1步骤中提取得到的路径特征序列作为双向长短期记忆网络BLSTM的输入,该网络经过训练后,能够对电路中经过每个门单元的关键路径的路径级拓扑信息进行建模,建立起路径级拓扑信息和漏功耗优化结果之间的联系;
S4:将S1步骤中通过提取时序报表得到的时序和功耗相关的信息构成的特征矩阵,包括门单元自身和相邻门单元的时序特征、电容特征以及功耗特征,作为人工神经网络ANN的输入,该模型经过训练后,能够建立起门单元自身信息与漏功耗优化结果之间的联系;
S5:将S2步骤中图神经网络GNN模型的输出,S3步骤中双向长短期记忆神经网络BLSTM的输出和S4步骤中人工神经网络ANN的输出进行合并;合并后的向量作为阈值电压分类网络的输入,该模型经过训练后,能够建立起电路级拓扑信息,路径级拓扑信息和门单元拓扑信息与漏功耗优化后门单元的阈值电压类型之间的关系,实现对电路中门单元的优化后的阈值电压类型的预测。
2.根据权利要求1所述的数字集成电路优化方法,其特征在于:所述步骤S1具体包括以下步骤:
S11:通过将电路网表中的门单元表示为图graph中的节点Node,将门单元之间的互连线表示为图中的边Edge,把电路网表转换为有向无环图;根据有向无环图构建邻接矩阵,邻接矩阵中包含门单元之间的拓扑连接关系的信息,包括每个中心单元的扇入门单元,扇出门单元和兄弟门单元,随后采用压缩稀疏行CSR格式来对邻接矩阵进行压缩;
S12:通过逻辑综合工具对电路的寄存器传输级RTL网表进行逻辑综合得到逻辑综合后的门单元级网表,随后通过布局布线工具对综合后的网表进行布局布线等物理设计流程得到布线后的网表,然后使用时序和功耗分析工具对布线后的网表进行静态时序分析和功耗分析得到电路路径的时序信息和漏功耗信息;从时序报表中提取门单元自身的和相邻单元的时序特征、电容特征以及功耗特征;上述时序、电容和功耗相关的特征构成特征矩阵;
S13:提取电路中经过每个门单元的最小时序裕量的路径,随后遍历路径上所有门单元的集合,对集合中的每个门单元,找到特征矩阵中对应的特征向量,从而得到电路中每个门单元的路径特征序列;将序列数据填充到最大路径长度以解决路径长度不一致导致的序列数据长度不一致的问题,填充后得到特征序列矩阵;
S14:使用商用电路优化工具通过阈值电压调节的方式对电路的漏功耗进行优化,得到漏功耗优化后的每个门单元的阈值电压类型,作为模型训练及推理的真实标签值。
3.根据权利要求2所述的数字集成电路优化方法,其特征在于:所述门单元自身的时序特征和电容特征包括:最坏输出时序裕量,最坏输入时序裕量,最大输出转换时间,最大输入转换时间,总的输入电容,最大延时改变和门单元延时;相邻门单元的时序特征和电容特征包括:扇入门单元最坏时序裕量,总的扇入门单元电容,扇出门单元最坏时序裕量,总的扇出门单元电容,最坏兄弟门单元时序裕量,总的兄弟门单元电容;功耗特征包括:初始漏功耗。
4.根据权利要求1所述的数字集成电路优化方法,其特征在于:所述步骤S2中,将S1步骤得到的邻接矩阵和特征矩阵作为图神经网络GNN的输入,首先通过嵌入层将特征矩阵中每个门单元对应的特征向量映射为固定维度的向量;然后将嵌入层的输出连接到多层GNN层中进行学习,GNN层包括对相邻门单元的特征进行聚合的聚合层以及编码层,聚合层分别对每个门单元的扇入,扇出和兄弟门单元的信息进行聚合,聚合层的输出作为多层感知机构成的编码层的输入,经编码层的学习后更新得到当前GNN层的节点嵌入向量,当前GNN层的输出作为下一层GNN层的输入,重复进行聚合编码的过程,直到得到多层GNN层的输出;之后通过合并层将多层GNN的输出进行合并以使最终的节点嵌入向量包含不同深度的信息;最后输出到全连接层进行维度变换,并经过输出层得到最终的包含电路级拓扑信息的嵌入向量,从而建立起电路拓扑结构与漏功耗优化结果之间的联系。
5.根据权利要求1所述的数字集成电路优化方法,其特征在于:所述步骤S3中,将S1步骤中得到的路径特征序列矩阵作为双向长短期记忆网络BLSTM的输入,首先对路径特征序列矩阵进行归一化,随后压缩掉长短期记忆LSTM特征序列生成过程中无效的填充值,之后特征序列分别前向和后向地输入到长短期记忆网络层中,得到前向长短期记忆嵌入向量和后向长短期记忆嵌入向量;两者合并后经过权重矩阵进行变换,再重新填充压缩的序列以便于后续数据处理,最后输入到池化层中进行降维,得到最终的长短期记忆嵌入向量,从而建立起路径级拓扑信息和漏功耗优化结果之间的联系。
6.根据权利要求1所述的数字集成电路优化方法,其特征在于:所述步骤S4中,将S1步骤中的特征矩阵作为多层感知机MLP的输入,通过多层全连接层的转换,输出得到最终静态嵌入向量,从而建立起门单元自身信息与漏功耗优化结果之间的联系。
7.根据权利要求1所述的数字集成电路优化方法,其特征在于:所述步骤S5具体包括以下步骤:
S51:将S2步骤中图神经网络GNN输出的包含电路级拓扑信息的嵌入向量,S3步骤中双向长短期记忆神经网络BLSTM输出的包含路径级拓扑信息的嵌入向量和S4步骤中人工神经网络ANN输出的包含门单元自身信息的向量进行合并,得到最终的节点嵌入向量;
S52:将最终的节点嵌入向量输入到阈值电压分类网络中进行训练,分类网络的末端连接归一化指数softmax函数输出得到维度为|V|×n的矩阵P,V表示网表中的门单元的集合,|V|表示网表中的门单元的个数,i表示网表中单元的编号1≤i≤|V|,n表示采用的阈值电压的类型数,c表示采用的阈值电压的编号1≤c≤n,Pic表示第i个门单元属于单元库中第c种阈值电压的概率;随后计算该网络的预测值和真实值之间的交叉熵误差,交叉熵损失函数的计算公式如下:
其中L表示损失函数值,Yic表示商用电路优化工具进行漏功耗优化后第i个门单元的阈值电压分配结果,如果分配为第c种阈值电压,则Yic=1,否则Yic=0;之后通过自适应矩估计优化器Adam来最小化交叉熵损失函数,优化模型参数,最后建立起电路级拓扑信息,路径级拓扑信息和门单元拓扑信息与漏功耗优化后门单元的阈值电压类型之间的关系,实现对电路中门单元的优化后的阈值电压类型的预测。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210697638.XA CN115017850A (zh) | 2022-06-20 | 2022-06-20 | 一种数字集成电路优化方法 |
US18/571,727 US12061854B1 (en) | 2022-06-20 | 2023-01-03 | Optimization method for digital integrated circuit |
PCT/CN2023/070098 WO2023246077A1 (zh) | 2022-06-20 | 2023-01-03 | 一种数字集成电路优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210697638.XA CN115017850A (zh) | 2022-06-20 | 2022-06-20 | 一种数字集成电路优化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115017850A true CN115017850A (zh) | 2022-09-06 |
Family
ID=83074054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210697638.XA Pending CN115017850A (zh) | 2022-06-20 | 2022-06-20 | 一种数字集成电路优化方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US12061854B1 (zh) |
CN (1) | CN115017850A (zh) |
WO (1) | WO2023246077A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115510780A (zh) * | 2022-09-30 | 2022-12-23 | 中国人民解放军国防科技大学 | 一种基于ppa预测的门级网表自动生成方法 |
CN116341441A (zh) * | 2023-05-22 | 2023-06-27 | 芯行纪科技有限公司 | 对数字逻辑电路进行优化的方法及相关设备 |
CN116822452A (zh) * | 2023-08-23 | 2023-09-29 | 芯行纪科技有限公司 | 芯片布局优化方法及相关设备 |
WO2023246077A1 (zh) * | 2022-06-20 | 2023-12-28 | 东南大学 | 一种数字集成电路优化方法 |
CN117709258A (zh) * | 2023-12-12 | 2024-03-15 | 南京邮电大学 | 基于图神经网络的路径时序预测方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060064654A1 (en) * | 2004-09-21 | 2006-03-23 | Shuo Zhang | Routed layout optimization with geotopological layout encoding for integrated circuit designs |
CN113326656A (zh) * | 2021-05-26 | 2021-08-31 | 东南大学 | 一种数字集成电路众工艺角延时预测方法 |
CN114595656A (zh) * | 2022-03-02 | 2022-06-07 | 南京星火技术有限公司 | 电子器件的算法模型和版图的生成方法、装置、设备及介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107832841B (zh) * | 2017-11-14 | 2020-05-05 | 福州瑞芯微电子股份有限公司 | 一种神经网络芯片的功耗优化方法及电路 |
CN110471522A (zh) * | 2019-06-28 | 2019-11-19 | 杭州宙其科技有限公司 | 一种利用牵连关系图优化静态功耗的方法 |
US20210374499A1 (en) | 2020-05-26 | 2021-12-02 | International Business Machines Corporation | Iterative deep graph learning for graph neural networks |
CN112668261B (zh) * | 2021-01-06 | 2024-10-01 | 江南大学 | 一种基于关键路径数和敏感性的多阈值低功耗优化方法 |
CN115017850A (zh) * | 2022-06-20 | 2022-09-06 | 东南大学 | 一种数字集成电路优化方法 |
US20240169135A1 (en) * | 2022-11-21 | 2024-05-23 | Synopsys, Inc. | Reinforcement learning (rl) based chip design optimization using trained graph convolutional networks (gcn) for ultra-fast cost function calculation |
-
2022
- 2022-06-20 CN CN202210697638.XA patent/CN115017850A/zh active Pending
-
2023
- 2023-01-03 WO PCT/CN2023/070098 patent/WO2023246077A1/zh unknown
- 2023-01-03 US US18/571,727 patent/US12061854B1/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060064654A1 (en) * | 2004-09-21 | 2006-03-23 | Shuo Zhang | Routed layout optimization with geotopological layout encoding for integrated circuit designs |
CN113326656A (zh) * | 2021-05-26 | 2021-08-31 | 东南大学 | 一种数字集成电路众工艺角延时预测方法 |
CN114595656A (zh) * | 2022-03-02 | 2022-06-07 | 南京星火技术有限公司 | 电子器件的算法模型和版图的生成方法、装置、设备及介质 |
Non-Patent Citations (2)
Title |
---|
PENG CAO 等: "Topology-Aided Multicorner Timing Predictor for Wide Voltage Design", IEEE DESIGN & TEST, vol. 40, no. 1, 4 October 2021 (2021-10-04), XP011933004, DOI: 10.1109/MDAT.2021.3117745 * |
李先锐 等: "芯片动态门限静态功耗的优化技术", 电子科技大学学报, no. 03, 31 May 2009 (2009-05-31) * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023246077A1 (zh) * | 2022-06-20 | 2023-12-28 | 东南大学 | 一种数字集成电路优化方法 |
US12061854B1 (en) | 2022-06-20 | 2024-08-13 | Southeast University | Optimization method for digital integrated circuit |
CN115510780A (zh) * | 2022-09-30 | 2022-12-23 | 中国人民解放军国防科技大学 | 一种基于ppa预测的门级网表自动生成方法 |
CN115510780B (zh) * | 2022-09-30 | 2023-03-31 | 中国人民解放军国防科技大学 | 一种基于ppa预测的门级网表自动生成方法 |
CN116341441A (zh) * | 2023-05-22 | 2023-06-27 | 芯行纪科技有限公司 | 对数字逻辑电路进行优化的方法及相关设备 |
CN116341441B (zh) * | 2023-05-22 | 2023-08-08 | 芯行纪科技有限公司 | 对数字逻辑电路进行优化的方法及相关设备 |
CN116822452A (zh) * | 2023-08-23 | 2023-09-29 | 芯行纪科技有限公司 | 芯片布局优化方法及相关设备 |
CN116822452B (zh) * | 2023-08-23 | 2023-11-21 | 芯行纪科技有限公司 | 芯片布局优化方法及相关设备 |
CN117709258A (zh) * | 2023-12-12 | 2024-03-15 | 南京邮电大学 | 基于图神经网络的路径时序预测方法 |
Also Published As
Publication number | Publication date |
---|---|
US20240265181A1 (en) | 2024-08-08 |
US12061854B1 (en) | 2024-08-13 |
WO2023246077A1 (zh) | 2023-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115017850A (zh) | 一种数字集成电路优化方法 | |
CN113128113B (zh) | 一种基于深度学习和迁移学习的贫乏信息建筑负荷预测方法 | |
Ma et al. | Understanding graphs in EDA: From shallow to deep learning | |
Lu et al. | Rl-sizer: Vlsi gate sizing for timing optimization using deep reinforcement learning | |
CN116702678A (zh) | 一种融合深度学习和群智能算法的dtco优化方法 | |
CN116151324A (zh) | 基于图神经网络的rc互连延时预测方法 | |
CN112069804B (zh) | 基于动态路由的交互式胶囊网络的隐式篇章关系识别方法 | |
CN117236246A (zh) | 一种考虑多输入转换效应的单元时序预测方法、设备及介质 | |
Tanghatari et al. | Federated learning by employing knowledge distillation on edge devices with limited hardware resources | |
Mp et al. | Time Series-based sensor selection and lightweight neural Architecture search for RUL Estimation in Future Industry 4.0 | |
CN113408226A (zh) | 一种基于深度学习的芯片供电网络凸快电流估算方法及系统 | |
Wang et al. | A graph neural network method for fast ECO leakage power optimization | |
Nath et al. | Generative self-supervised learning for gate sizing | |
Kuang et al. | HGBO-DSE: Hierarchical GNN and Bayesian Optimization based HLS Design Space Exploration | |
Zhao et al. | Signal-Division-Aware Analog Circuit Topology Synthesis Aided by Transfer Learning | |
US11934756B2 (en) | Reducing the numerical complexity of designs | |
Lee et al. | i TPlace: machine learning-based delay-aware transistor placement for standard cell synthesis | |
CN114861450A (zh) | 基于潜在表示和图正则非负矩阵分解的属性社区检测方法 | |
Nguyen et al. | GAQ-SNN: A Genetic Algorithm based Quantization Framework for Deep Spiking Neural Networks | |
CN117709258B (zh) | 基于图神经网络的路径时序预测方法 | |
Yang et al. | The prediction of the quality of results in Logic Synthesis using Transformer and Graph Neural Networks | |
CN112949830B (zh) | 智能推断网络系统以及加法单元和池化单元电路系统 | |
CN118446147A (zh) | 基于图注意力网络的物理设计后的路径延迟预测方法 | |
CN116127840B (zh) | 一种基于数据驱动的数据中心负荷预测方法 | |
Wang et al. | Research on Edge Network Topology Optimization Based on Machine Learning |
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 |