CN116579288B - 一种模拟集成电路版图布局方法及系统 - Google Patents
一种模拟集成电路版图布局方法及系统 Download PDFInfo
- Publication number
- CN116579288B CN116579288B CN202310847884.3A CN202310847884A CN116579288B CN 116579288 B CN116579288 B CN 116579288B CN 202310847884 A CN202310847884 A CN 202310847884A CN 116579288 B CN116579288 B CN 116579288B
- Authority
- CN
- China
- Prior art keywords
- layout
- tree
- preset
- solution
- layout device
- 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
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000005457 optimization Methods 0.000 claims abstract description 25
- 238000002922 simulated annealing Methods 0.000 claims abstract description 25
- 238000000137 annealing Methods 0.000 claims description 93
- 238000011156 evaluation Methods 0.000 claims description 53
- 238000010586 diagram Methods 0.000 claims description 42
- 238000004364 calculation method Methods 0.000 claims description 35
- 238000001816 cooling Methods 0.000 claims description 24
- 238000006073 displacement reaction Methods 0.000 claims description 19
- 238000010276 construction Methods 0.000 claims description 7
- 230000000694 effects Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012163 sequencing technique 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
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/14—Force analysis or force optimisation, e.g. static or dynamic forces
-
- 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)
- Architecture (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明公开了一种模拟集成电路版图布局方法及系统,涉及集成电路布局技术领域,该方法包括:根据输入的版图网表中的版图器件信息构建初始的B*树;通过模拟退火算法对B*树中的版图器件进行迭代优化处理,以获得最优的B*树;根据最优的B*树中的版图器件信息获取最优的平面布局图;通过力导向算法和预设器件大小来优化调整平面布局图中的版图器件间的间距,以获得最优的电路布局版图。本发明能有效降低版图布局耗时,提高版图布局效率及质量。
Description
技术领域
本发明涉及集成电路布局技术领域,尤其涉及一种模拟集成电路版图布局方法及系统。
背景技术
在芯片版图设计过程中,由于数字集成电路设计中的约束相对简单,其后端设计已实现了高度自动化。而模拟集成电路版图设计的自动化程度远低于数字集成电路。目前的模拟集成电路版图是通过二叉树进行器件的有序排布,并通过模拟退火算法进行优化排序处理以获得较优的电路布局版图;其中,获得的电路布局版图中的器件之间是没有间距的或器件之间的间距是固定间距。然而由于为了保证电路性能,不同大小的器件要求的间距往往不相同,通过人工逐一对器件进行间距调整将大大提高版图布局耗时,降低了版图布局效率,不能满足用户的实际需求。
发明内容
本发明所要解决的技术问题在于,提供一种模拟集成电路版图布局方法及系统,能有效降低版图布局耗时,提高版图布局效率及质量。
为了解决上述技术问题,本发明提供了一种模拟集成电路版图布局方法,包括:根据输入的版图网表中的版图器件信息构建初始的B*树;通过模拟退火算法对B*树中的版图器件进行迭代优化处理,以获得最优的B*树;根据最优的B*树中的版图器件信息获取最优的平面布局图;通过力导向算法和预设器件大小来优化调整平面布局图中的版图器件间的间距,以获得最优的电路布局版图。
作为上述方案的改进,通过模拟退火算法对B*树中的版图器件进行迭代优化处理,以获得最优的B*树的步骤包括:S1、对B*树中的版图器件施加预设扰动,以调整B*树中的版图器件的相对位置关系并获得扰动后的B*树,其中,扰动前的B*树为当前解,扰动后的B*树为新解;S2、对当前解和新解进行评价比较处理,以获得更新后的当前解,且退火迭代次数递增;S3、当退火迭代次数小于预设退火迭代次数时,返回步骤S1,否则执行步骤S4;S4、当当前退火温度小于等于结束退火温度时,输出当前解并作为最优的B*树,否则按预设降温规则对当前退火温度进行降温处理以获得新的当前退火温度,并将退火迭代次数更新为初始值,返回步骤S1。
作为上述方案的改进,对当前解和新解进行评价比较处理,以获得更新后的当前解的步骤包括:根据当前解和新解分别构建对应的平面布局图;根据当前解的平面布局图和新解的平面布局图分别计算出对应的评价系数,其中,评价系数为平面布局图所占用的面积及以半周线长法预估的版图器件之间连接的总线长的加权和;
通过接收概率公式,确定更新后的当前解;
其中,P为接收概率、Et为当前解的评价系数、Et+1为新解的评价系数、k为常量系数和T为当前退火温度;
当Et+1<Et时,则表示接收所述新解并将所述新解作为更新后的当前解,当Et+1≥Et且RN=random[0,1]<P时,则表示接收所述新解并将所述新解作为更新后的当前解,当Et+1≥Et且RN=random[0,1]≥P时,则表示为不接收所述新解并将所述当前解作为更新后的当前解。
作为上述方案的改进,通过力导向算法和预设器件大小来优化调整平面布局图中的版图器件间的间距,以获得最优的电路布局版图的步骤包括:S10、根据预设约束信息、版图器件节点间的平衡间距DMN和版图器件节点的位置信息,以计算每个版图器件节点所受到的合力,其中,参数M和N为任意两个直接互连的版图器件节点的版图器件ID;S20、更新每个版图器件节点在合力方向上的位移;S30、重复步骤S10和步骤S20,直至完成预设迭代次数为止,以获得最优的电路布局版图。
作为上述方案的改进,根据预设器件大小、版图器件节点间的平衡间距DMN和版图器件节点的位置信息,以计算每个版图器件节点所受到的合力的步骤包括:根据版图器件节点的坐标位置信息计算任意两个直接互连的版图器件节点之间的实际间距dMN;根据受力计算公式FMN=λM(DMN-dMN),计算版图器件节点M受到其他直连的版图器件节点N的作用力,以获得版图器件节点M所受到的合力;其中,根据平衡间距计算公式DMN=λMλNd,以预先计算出平面布局图中的任意两个直接互连的版图器件节点间的平衡间距DMN,版图器件节点的器件大小表示为版图器件节点的重量大小,所述预设器件大小表示为预设重量大小,λM为版图器件节点M的重量大小与预设重量大小的比值,λN为版图器件节点N的重量大小与预设重量大小的比值,d为版图器件节点间的预设平衡间距。
本发明还提供了一种模拟集成电路版图布局系统,包括:二叉树构建模块,用于根据输入的版图网表中的版图器件信息构建初始的B*树;模拟退火处理模块,用于通过模拟退火算法对B*树中的版图器件进行迭代优化处理,以获得最优的B*树;获取模块,用于根据最优的B*树中的版图器件信息获取最优的平面布局图;版图布局优化模块,用于通过力导向算法和预设器件大小来优化调整平面布局图中的版图器件间的间距,以获得最优的电路布局版图。
作为上述方案的改进,模拟退火处理模块包括:扰动处理模块,用于对B*树中的版图器件施加预设扰动,以调整B*树中的版图器件的相对位置关系并获得扰动后的B*树,其中,扰动前的B*树为当前解,扰动后的B*树为新解;评价处理模块,用于对当前解和新解进行评价比较处理,以获得更新后的当前解,且退火迭代次数递增;迭代判断执行模块,用于当退火迭代次数小于预设退火迭代次数时,驱动扰动处理模块和评价处理模块工作,否则驱动退火处理模块工作;退火处理模块,用于当当前退火温度小于等于结束退火温度时,输出当前解并作为最优的B*树,否则按预设降温规则对当前退火温度进行降温处理以获得新的当前退火温度,并将退火迭代次数更新为初始值,驱动扰动处理模块、评价处理模块和迭代判断执行模块工作。
作为上述方案的改进,评价处理模块包括:布局构建单元,用于根据当前解和新解分别构建对应的平面布局图;计算单元,用于根据当前解的平面布局图和新解的平面布局图分别计算出对应的评价系数,其中,评价系数为平面布局图所占用的面积及以半周线长法预估的版图器件之间连接的总线长的加权和;
评价处理单元,用于通过接收概率公式,确定更新后的当前解;
其中,P为接收概率、Et为当前解的评价系数、Et+1为新解的评价系数、k为常量系数和T为当前退火温度;
当Et+1<Et时,则表示接收所述新解并将所述新解作为更新后的当前解,当Et+1≥Et且RN=random[0,1]<P时,则表示接收所述新解并将所述新解作为更新后的当前解,当Et+1≥Et且RN=random[0,1]≥P时,则表示为不接收所述新解并将所述当前解作为更新后的当前解。
作为上述方案的改进,版图布局优化模块包括:
合力计算模块,用于根据预设器件大小、版图器件节点间的平衡间距DMN和版图器件节点的位置信息,以计算每个版图器件节点所受到的合力,其中,参数M和N为任意两个直接互连的版图器件节点的版图器件ID;
位移更新模块,用于更新每个版图器件节点在合力方向上的位移;
布局优化模块,用于重复驱动合力计算模块和位移更新模块工作,直至完成预设迭代次数为止,以获得最优的电路布局版图。
作为上述方案的改进,合力计算模块包括:平衡间距计算单元,用于根据平衡间距计算公式DMN=λMλNd,以预先计算出平面布局图中的任意两个直接互连的版图器件节点间的平衡间距DMN,其中,版图器件节点的器件大小表示为版图器件节点的重量大小,所述预设器件大小表示为预设重量大小,λM为版图器件节点M的重量大小与预设重量大小的比值,λN为版图器件节点N的重量大小与预设重量大小的比值,d为版图器件节点间的预设平衡间距;间距计算单元,用于根据版图器件节点的坐标位置信息计算任意两个直接互连的版图器件节点之间的实际间距dMN;合力计算单元,用于根据受力计算公式FMN=λM(DMN-dMN),计算版图器件节点M受到其他直连的版图器件节点N的作用力,以获得版图器件节点M所受到的合力。
实施本发明,具有如下有益效果:
本发明模拟集成电路版图布局方法及系统,能对版图器件进行B*树有序排布并通过模拟退火算法获得最优的平面布局图,通过力导向算法和预设器件大小来自动优化调整平面布局图中的版图器件间的间距,使不同版图器件之间的间距满足实际器件性能所需的间距要求范围,以获得最优的电路布局版图,有效降低版图布局耗时,提高版图布局效率及质量,满足用户的实际需求。
附图说明
图1是本发明模拟集成电路版图布局方法的流程图;
图2是本发明通过模拟退火算法对B*树中的版图器件进行迭代优化处理,以获得最优的B*树的流程图;
图3是本发明B*树的排序图;
图4是本发明与B*树对应的平面布局图;
图5是本发明模拟集成电路版图布局系统的结构示意图;
图6是本发明版图布局优化模块的结构示意图;
图7是本发明模拟退火处理模块的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。仅此声明,本发明在文中出现或即将出现的上、下、左、右、前、后、内、外等方位用词,仅以本发明的附图为基准,其并不是对本发明的具体限定。
如图1所示,图1是本发明提供的一种模拟集成电路版图布局方法,包括:
S1、根据输入的版图网表中的版图器件信息构建初始的B*树;
具体地,根据输入的版图网表中的版图器件信息构建初始的B*树的步骤包括;
步骤一、获取输入的版图网表;
步骤二、将版图网表中的版图器件信息存储在版图数据集中;
步骤三、将版图器件信息中的版图器件ID发送给B*树模型以构建初始的B*树。
需要说明的是,通过将获取的版图网表中的版图器件信息存储在版图数据集中,以备后续使用。通过将版图器件信息中的版图器件ID发送给B*树模型中,以根据版图器件ID随机构建初始的B*树。
S2、通过模拟退火算法对B*树中的版图器件进行迭代优化处理,以获得最优的B*树;
S3、根据最优的B*树中的版图器件信息获取最优的平面布局图;
需要说明的是,通过模拟退火算法对B*树中的版图器件的排序布局进行优化处理,以获得最优排序布局的B*树。根据B*树中的版图器件信息中的版图器件ID可从版图数据集中获得相应的版图器件ID的器件大小,通过B*树中的版图器件ID及其相应的器件大小可构建对应坐标系的平面布局图,具体可参见图3所示的B*树的排序图及图4所示的与B*树对应的平面布局图。
S4、通过力导向算法和预设器件大小来优化调整平面布局图中的版图器件间的间距,以获得最优的电路布局版图。
具体地,通过力导向算法和预设器件大小来优化调整平面布局图中的版图器件间的间距,以获得最优的电路布局版图的步骤包括:
步骤(一)、根据预设器件大小、版图器件节点间的平衡间距DMN和版图器件节点的位置信息,以计算每个版图器件节点所受到的合力,其中,参数M和N为任意两个直接互连的版图器件节点的版图器件ID;
进一步地,根据预设器件大小、版图器件节点间的平衡间距DMN和版图器件节点的位置信息,以计算每个版图器件节点所受到的合力的步骤包括:
步骤一)、根据版图器件节点的坐标位置信息计算任意两个直接互连的版图器件节点之间的实际间距dMN;
需要说明的是,根据平面布局图中的每个版图器件节点的坐标位置信息可确定对应的版图器件节点的中心点坐标,根据任意两个直接互连的版图器件节点的中心点坐标可计算出两者之间的实际间距dMN,从而可计算出任一个版图器件节点与其他直连的版图器件节点之间的实际间距dMN。
步骤二)、根据受力计算公式FMN=λM(DMN-dMN),计算版图器件节点M受到其他直连的版图器件节点N的作用力,以获得版图器件节点M所受到的合力;
需要说明的是,根据平衡间距计算公式DMN=λMλNd,以预先计算出平面布局图中的任意两个直接互连的版图器件节点间的平衡间距DMN,即可预先计算出任一个版图器件节点与其他直连的版图器件节点之间的平衡间距DMN。其中,将版图器件节点的器件大小表示为或类比为版图器件节点的重量大小,所述预设器件大小表示为预设重量大小,以通过重量大小来计算版图器件节点在受到力的时候移动的距离。由于不同的版图器件节点具有不同的器件大小,其对应的λ比值也不同,如λM为版图器件节点M的重量大小与预设重量大小的比值,λN为版图器件节点N的重量大小与预设重量大小的比值;d为版图器件节点间的预设平衡间距,预设平衡间距的具体数值可根据实际情况进行调整。本发明实施例的预设器件大小优选为15,但不以此为限制,可根据实际电路版图布局中的器件大小来调整预设器件大小的具体数值。
通过上述受力计算公式可计算出版图器件节点M受到其他直连的版图器件节点N的作用力,根据版图器件节点M受到的各作用力可确定版图器件节点M最终所受到的合力大小及方向。其中,本发明实施例版图器件节点之间的实际间距dMN大于平衡间距DMN时,版图器件节点M会受到与其相连的版图器件节点N的引力,当版图器件节点之间的实际间距dMN小于平衡间距DMN时,版图器件节点M会受到与其相连的版图器件节点N的斥力。
步骤(二)、更新每个版图器件节点在合力方向上的位移;
需要说明的是,根据位移计算公式F合/m=D,计算出每个版图器件节点在合力方向上的位移。其中,F合为版图器件节点受到的合力大小,m为版图器件节点的重量大小,D为合力方向上的位移大小。
通过上述调整方式,可依序调整每个版图器件节点的相应位置以使其处于力平衡状态。其中,依序调整规则优选为从B*树的根节点且从左子树节点到右子树节点规则依序进行调整处理,但不以此为限制。
步骤(三)、重复步骤(一)和步骤(二)的工作,直至完成预设迭代次数为止,以获得最优的电路布局版图。
需要说明的是,通过重复步骤(一)和步骤(二)的工作,当完成预设迭代次数时,平面布局图中的每个版图器件节点均处于力平衡状态并相应获得每个版图器件节点的最终位置坐标,从而获得相应版图器件节点之间的最终实际间距dMN,使自动调整后的不同版图器件之间的实际间距满足实际器件性能所需的间距要求范围,以获得最优的电路布局版图,有效降低版图布局耗时,提高版图布局效率及质量,满足用户的实际需求。其中,预设迭代次数的具体数值可根据实际需求进行选取。
如图2所示,通过模拟退火算法对B*树中的版图器件进行迭代优化处理,以获得最优的B*树的步骤包括:
S10、对B*树中的版图器件施加预设扰动,以调整B*树中的版图器件的相对位置关系并获得扰动后的B*树,其中,扰动前的B*树为当前解,扰动后的B*树为新解;
需要说明的是,B*树与模拟退火算法相结合,为了寻找全局范围更优的解,就需要对B*树添加扰动。本发明实施例的预设扰动方式包括:旋转扰动方式,用于通过修改任一版图器件ID相对应的版图器件信息来实现;移动扰动方式,用于通过将任一版图器件在B*树中的位置移动到另一个位置;交换扰动方式,用于通过交换两个版图器件在B*树中的位置。其中,每次只对B*树添加上述任一种扰动。
S20、对当前解和新解进行评价比较处理,以获得更新后的当前解,且退火迭代次数递增;
具体地,对当前解和新解进行评价比较处理,以获得更新后的当前解的步骤包括:
步骤1、根据当前解和新解分别构建对应的平面布局图;
需要说明的是,根据当前解和新解中的B*树中的版图器件信息中的版图器件ID可从版图数据集中获得相应的版图器件ID的器件大小,通过当前解和新解中的B*树中的版图器件ID及其相应的器件大小可构建对应坐标系的平面布局图。
步骤2、根据当前解的平面布局图和新解的平面布局图分别计算出对应的评价系数,其中,评价系数为平面布局图所占用的面积及以半周线长法预估的版图器件之间连接的总线长的加权和;
需要说明的是,通过当前解的平面布局图中的最大横坐标和最大纵坐标来计算其所占用的面积St;通过计算当前解的平面布局图中的所有版图器件的半周线长并相加求和以作为版图器件之间连接的总线长Lt;通过评价系数计算公式Et=St*QA+Lt*QB,计算出当前解的评价系数Et。其中,QA为面积权重系数,QB为总线长权重系数,QA+QB=1。同理地,通过上述方式可相应计算出新解的评价系数Et+1,评价系数越小越好。其次,平面布局图中的每个版图器件均呈长方形或正方形,但不以此为限制。
优选地,本发明本实施例中,面积权重系数QA优选为0.9,总线长权重系数QB优选为0.1,但不以此为限制,还可根据实际情况相应调整面积权重系数QA和总线长权重系数QB的具体取值。
步骤3、通过接收概率公式,确定更新后的当前解;
其中,P为接收概率、Et为当前解的评价系数、Et+1为新解的评价系数、k为常量系数和T为当前退火温度;常量系数k的具体取值可根据实际需求进行调整。
需要说明的是,当Et+1<Et时,则表示接收所述新解并将所述新解作为更新后的当前解,当Et+1≥Et且RN=random[0,1]<P时,则表示接收所述新解并将所述新解作为更新后的当前解,当Et+1≥Et且RN=random[0,1]≥P时,则表示为不接收所述新解并将所述当前解作为更新后的当前解。
S30、当退火迭代次数小于预设退火迭代次数时,返回步骤S10,否则执行步骤S40;
需要说明的是,预设退火迭代次数优选为1500次,但不以此为限制,还可根据实际需求进行调整。进行多次迭代计算可保证针对每个器件都会进行多次扰动操作。
S40、当当前退火温度小于等于结束退火温度时,输出当前解并作为最优的B*树,否则按预设降温规则对当前退火温度进行降温处理以获得新的当前退火温度,并将退火迭代次数更新为初始值,返回步骤S10。
需要说明的是,模拟退火算法进行初始计算时,初始退火温度作为当前退火温度。预设降温规则为用于与当前退火温度相乘的降温系数,其中,降温系数优选为0.99,但不限于此,还可根据实际需求进行调整。
当当前退火温度小于等于结束退火温度时,输出当前解并作为最优的B*树,通过最优的B*树可获得相应的平面布局图;当当前退火温度大于结束退火温度时,
按预设降温规则对当前退火温度进行降温处理以获得新的当前退火温度,即用当前退火温度与降温系数的乘积作为新的当前退火温度,并将退火迭代次数更新为初始值,返回步骤S10进行重复计算,直至当前退火温度小于等于结束退火温度为止,使每个当前退火温度都对B*树进行迭代优化处理,提高优化处理效果,以提高输出的B*树及平面布局图的排序质量,从而获得最优的平面布局图,以提高整体电路版图布局的质量。
如图5所示,本发明还提供了一种模拟集成电路版图布局系统,包括:
二叉树构建模块1,用于根据输入的版图网表中的版图器件信息构建初始的B*树;
具体地,二叉树构建模块1用于获取输入的版图网表,并将版图网表中的版图器件信息存储在版图数据集中,最后将版图器件信息中的版图器件ID发送给B*树模型以构建初始的B*树。
需要说明的是,通过将获取的版图网表中的版图器件信息存储在版图数据集中,以备后续使用。通过将版图器件信息中的版图器件ID发送给B*树模型中,以根据版图器件ID随机构建初始的B*树。
模拟退火处理模块2,用于通过模拟退火算法对B*树中的版图器件进行迭代优化处理,以获得最优的B*树;获取模块3,用于根据最优的B*树中的版图器件信息获取最优的平面布局图;
需要说明的是,通过模拟退火算法对B*树中的版图器件的排序布局进行优化处理,以获得最优排序布局的B*树。根据最优的B*树中的版图器件信息中的版图器件ID可从版图数据集中获得相应的版图器件ID的器件大小,通过B*树中的版图器件ID及其相应的器件大小可构建对应坐标系的平面布局图,具体可参见图3所示的B*树的排序图及图4所示的与B*树对应的平面布局图。
版图布局优化模块4,用于通过力导向算法和预设器件大小来优化调整平面布局图中的版图器件间的间距,以获得最优的电路布局版图。
具体地,如图6所示,版图布局优化模块4包括:
合力计算模块41,用于根据预设器件大小、版图器件节点间的平衡间距DMN和版图器件节点的位置信息,以计算每个版图器件节点所受到的合力,其中,参数M和N为任意两个直接互连的版图器件节点的版图器件ID;
进一步地,合力计算模块41包括:
平衡间距计算单元411,用于根据平衡间距计算公式DMN=λMλNd,以预先计算出平面布局图中的任意两个直接互连的版图器件节点间的平衡间距DMN。即可预先计算出任一个版图器件节点与其他直连的版图器件节点之间的平衡间距DMN。
其中,将版图器件节点的器件大小表示为或类比为版图器件节点的重量大小,所述预设器件大小表示为预设重量大小,以通过重量大小来计算版图器件节点在受到力的时候移动的距离。由于不同的版图器件节点具有不同的器件大小,其对应的λ比值也不同,如λM为版图器件节点M的重量大小与预设重量大小的比值,λN为版图器件节点N的重量大小与预设重量大小的比值;d为版图器件节点间的预设平衡间距,预设平衡间距的具体数值可根据实际情况进行调整。本发明实施例的预设器件大小优选为15,但不以此为限制,可根据实际电路版图布局中的器件大小来调整预设器件大小的具体数值。
间距计算单元412,用于根据版图器件节点的坐标位置信息计算任意两个直接互连的版图器件节点之间的实际间距dMN;
需要说明的是,根据平面布局图中的每个版图器件节点的坐标位置信息可确定对应的版图器件节点的中心点坐标,根据任意两个直接互连的版图器件节点的中心点坐标可计算出两者之间的实际间距dMN,从而可计算出任一个版图器件节点与其他直连的版图器件节点之间的实际间距dMN。
合力计算单元413,用于根据受力计算公式FMN=λM(DMN-dMN),计算版图器件节点M受到其他直连的版图器件节点N的作用力,以获得版图器件节点M所受到的合力。
需要说明的是,通过上述受力计算公式可计算出版图器件节点M受到其他直连的版图器件节点N的作用力,根据版图器件节点M受到的各作用力可确定版图器件节点M最终所受到的合力大小及方向。其中,本发明实施例版图器件节点之间的实际间距dMN大于平衡间距DMN时,版图器件节点M会受到与其相连的版图器件节点N的引力,当版图器件节点之间的实际间距dMN小于平衡间距DMN时,版图器件节点M会受到与其相连的版图器件节点N的斥力。
位移更新模块42,用于更新每个版图器件节点在合力方向上的位移;
需要说明的是,根据位移计算公式F合/m=D,计算出每个版图器件节点在合力方向上的位移。其中,F合为版图器件节点受到的合力大小,m为版图器件节点的重量大小,D为合力方向上的位移大小。
通过上述调整方式,可依序调整每个版图器件节点的相应位置以使其处于力平衡状态。其中,依序调整规则优选为从B*树的根节点且从左子树节点到右子树节点规则依序进行调整处理,但不以此为限制。
布局优化模块43,用于重复驱动合力计算模块41和位移更新模块42工作,直至完成预设迭代次数为止,以获得最优的电路布局版图。
需要说明的是,通过重复合力计算模块41和位移更新模块42工作,当完成预设迭代次数时,平面布局图中的每个版图器件节点均处于力平衡状态并相应获得每个版图器件节点的最终位置坐标,从而获得相应版图器件节点之间的最终实际间距dMN,使自动调整后的不同版图器件之间的实际间距满足实际器件性能所需的间距要求范围,以获得最优的电路布局版图,有效降低版图布局耗时,提高版图布局效率及质量,满足用户的实际需求。其中,预设迭代次数的具体数值可根据实际需求进行选取。
如图7所示,模拟退火处理模块2包括:
扰动处理模块21,用于对B*树中的版图器件施加预设扰动,以调整B*树中的版图器件的相对位置关系并获得扰动后的B*树,其中,扰动前的B*树为当前解,扰动后的B*树为新解;
需要说明的是,B*树与模拟退火算法相结合,为了寻找全局范围更优的解,就需要对B*树添加扰动。本发明实施例的预设扰动方式包括:旋转扰动方式,用于通过修改任一版图器件ID相对应的版图器件信息来实现;移动扰动方式,用于通过将任一版图器件在B*树中的位置移动到另一个位置;交换扰动方式,用于通过交换两个版图器件在B*树中的位置。其中,每次只对B*树添加上述任一种扰动。
评价处理模块22,用于对当前解和新解进行评价比较处理,以获得更新后的当前解,且退火迭代次数递增;
具体地,评价处理模块22包括:
布局构建单元221,用于根据当前解和新解分别构建对应的平面布局图;
需要说明的是,根据当前解和新解中的B*树中的版图器件信息中的版图器件ID可从版图数据集中获得相应的版图器件ID的器件大小,通过当前解和新解中的B*树中的版图器件ID及其相应的器件大小可构建对应坐标系的平面布局图。
计算单元222,用于根据当前解的平面布局图和新解的平面布局图分别计算出对应的评价系数,其中,评价系数为平面布局图所占用的面积及以半周线长法预估的版图器件之间连接的总线长的加权和;
需要说明的是,通过当前解的平面布局图中的最大横坐标和最大纵坐标来计算其所占用的面积St;通过计算当前解的平面布局图中的所有版图器件的半周线长并相加求和以作为版图器件之间连接的总线长Lt;通过评价系数计算公式Et=St*QA+Lt*QB,计算出当前解的评价系数Et。其中,QA为面积权重系数,QB为总线长权重系数,QA+QB=1。同理地,通过上述方式可相应计算出新解的评价系数Et+1,评价系数越小越好。其次,平面布局图中的每个版图器件均呈长方形或正方形,但不以此为限制。
优选地,本发明本实施例中,面积权重系数QA优选为0.9,总线长权重系数QB优选为0.1,但不以此为限制,还可根据实际情况相应调整面积权重系数QA和总线长权重系数QB的具体取值。
评价处理单元223,用于通过接收概率公式,确定更新后的当前解;
其中,P为接收概率、Et为当前解的评价系数、Et+1为新解的评价系数、k为常量系数和T为当前退火温度;
需要说明的是,当Et+1<Et时,则表示接收所述新解并将所述新解作为更新后的当前解,当Et+1≥Et且RN=random[0,1]<P时,则表示接收所述新解并将所述新解作为更新后的当前解,当Et+1≥Et且RN=random[0,1]≥P时,则表示为不接收所述新解并将所述当前解作为更新后的当前解。
迭代判断执行模块23,用于当退火迭代次数小于预设退火迭代次数时,驱动扰动处理模块21和评价处理模块22工作,否则驱动退火处理模块24工作;
需要说明的是,预设退火迭代次数优选为1500次,但不以此为限制,还可根据实际需求进行调整。进行多次迭代计算可保证针对每个器件都会进行多次扰动操作。
退火处理模块24,用于当当前退火温度小于等于结束退火温度时,输出当前解并作为最优的B*树,否则按预设降温规则对当前退火温度进行降温处理以获得新的当前退火温度,并将退火迭代次数更新为初始值,驱动扰动处理模块21、评价处理模块22和迭代判断执行模块23工作。
需要说明的是,模拟退火算法进行初始计算时,初始退火温度作为当前退火温度。预设降温规则为用于与当前退火温度相乘的降温系数,其中,降温系数优选为0.99,但不限于此,还可根据实际需求进行调整。
当当前退火温度小于等于结束退火温度时,输出当前解并作为最优的B*树,通过最优的B*树可获得相应的平面布局图;当当前退火温度大于结束退火温度时,按预设降温规则对当前退火温度进行降温处理以获得新的当前退火温度,即用当前退火温度与降温系数的乘积作为新的当前退火温度,并将退火迭代次数更新为初始值以进行重复计算,直至当前退火温度小于等于结束退火温度为止,使每个当前退火温度都对B*树进行迭代优化处理,提高优化处理效果,以提高输出的B*树及平面布局图的排序质量,从而获得最优的平面布局图,以提高整体电路版图布局的质量。
综上所述,本发明能对版图网表中的版图器件进行B*树有序排布并通过模拟退火算法获得最优的平面布局图,通过力导向算法和预设器件大小来自动优化调整平面布局图中的版图器件间的实际间距,使不同版图器件之间的实际间距满足实际器件性能所需的间距要求范围,以获得最优的电路布局版图,有效降低版图布局耗时,提高版图布局效率及质量,满足用户的实际需求。
以上所揭露的仅为本发明的较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (6)
1.一种模拟集成电路版图布局方法,其特征在于,包括:
根据输入的版图网表中的版图器件信息构建初始的B*树;
通过模拟退火算法对所述B*树中的版图器件进行迭代优化处理,以获得最优的B*树;
根据最优的所述B*树中的版图器件信息获取最优的平面布局图;
通过力导向算法和预设器件大小来优化调整所述平面布局图中的版图器件间的间距,以获得最优的电路布局版图;
其中,所述通过力导向算法和预设器件大小来优化调整所述平面布局图中的版图器件间的间距,以获得最优的电路布局版图的步骤包括:
S10、根据所述预设器件大小、版图器件节点间的平衡间距DMN和版图器件节点的位置信息,以计算每个所述版图器件节点所受到的合力,其中,参数M和N为任意两个直接互连的所述版图器件节点的版图器件ID;
S20、更新每个版图器件节点在合力方向上的位移;
S30、重复步骤S10和步骤S20,直至完成预设迭代次数为止,以获得最优的电路布局版图;
所述根据所述预设器件大小、版图器件节点间的平衡间距DMN和版图器件节点的位置信息,以计算每个所述版图器件节点所受到的合力的步骤包括:
根据版图器件节点的坐标位置信息计算任意两个直接互连的版图器件节点之间的实际间距dMN;
根据受力计算公式FMN=λM(DMN-dMN),计算所述版图器件节点M受到其他直连的版图器件节点N的作用力,以获得所述版图器件节点M所受到的合力;
其中,根据平衡间距计算公式DMN=λMλNd,以预先计算出所述平面布局图中的任意两个直接互连的版图器件节点间的平衡间距DMN,所述版图器件节点的器件大小表示为版图器件节点的重量大小,所述预设器件大小表示为预设重量大小,λM为所述版图器件节点M的重量大小与预设重量大小的比值,λN为所述版图器件节点N的重量大小与预设重量大小的比值,d为所述版图器件节点间的预设平衡间距。
2.根据权利要求1所述的模拟集成电路版图布局方法,其特征在于,所述通过模拟退火算法对所述B*树中的版图器件进行迭代优化处理,以获得最优的B*树的步骤包括:
S1、对所述B*树中的版图器件施加预设扰动,以调整所述B*树中的版图器件的相对位置关系并获得扰动后的B*树,其中,扰动前的B*树为当前解,扰动后的B*树为新解;
S2、对所述当前解和所述新解进行评价比较处理,以获得更新后的当前解,且退火迭代次数递增;
S3、当所述退火迭代次数小于预设退火迭代次数时,返回步骤S1,否则执行步骤S4;
S4、当当前退火温度小于等于结束退火温度时,输出当前解并作为最优的B*树,否则按预设降温规则对当前退火温度进行降温处理以获得新的当前退火温度,并将所述退火迭代次数更新为初始值,返回步骤S1。
3.根据权利要求2所述的模拟集成电路版图布局方法,其特征在于,所述对所述当前解和所述新解进行评价比较处理,以获得更新后的当前解的步骤包括:
根据所述当前解和所述新解分别构建对应的平面布局图;
根据所述当前解的平面布局图和所述新解的平面布局图分别计算出对应的评价系数,其中,所述评价系数为平面布局图所占用的面积及以半周线长法预估的版图器件之间连接的总线长的加权和;
通过接收概率公式,确定更新后的当前解;
其中,P为接收概率、Et为所述当前解的评价系数、Et+1为所述新解的评价系数、k为常量系数和T为当前退火温度;
当Et+1<Et时,则表示接收所述新解并将所述新解作为更新后的当前解,当Et+1≥Et且RN=random[0,1]<P时,则表示接收所述新解并将所述新解作为更新后的当前解,当Et+1≥Et且RN=random[0,1]≥P时,则表示为不接收所述新解并将所述当前解作为更新后的当前解。
4.一种模拟集成电路版图布局系统,其特征在于,包括:
二叉树构建模块,用于根据输入的版图网表中的版图器件信息构建初始的B*树;
模拟退火处理模块,用于通过模拟退火算法对所述B*树中的版图器件进行迭代优化处理,以获得最优的B*树;
获取模块,用于根据最优的所述B*树中的版图器件信息获取最优的平面布局图;
版图布局优化模块,通过力导向算法和预设器件大小来优化调整所述平面布局图中的版图器件间的间距,以获得最优的电路布局版图;
其中,所述版图布局优化模块包括:
合力计算模块,用于根据所述预设器件大小、版图器件节点间的平衡间距DMN和版图器件节点的位置信息,以计算每个所述版图器件节点所受到的合力,其中,参数M和N为任意两个直接互连的所述版图器件节点的版图器件ID;
位移更新模块,用于更新每个版图器件节点在合力方向上的位移;
布局优化模块,用于重复驱动所述合力计算模块和所述位移更新模块工作,直至完成预设迭代次数为止,以获得最优的电路布局版图;
所述合力计算模块包括:
平衡间距计算单元,用于根据平衡间距计算公式DMN=λMλNd,以预先计算出所述平面布局图中的任意两个直接互连的版图器件节点间的平衡间距DMN,其中,所述版图器件节点的器件大小表示为版图器件节点的重量大小,所述预设器件大小表示为预设重量大小,λM为所述版图器件节点M的重量大小与预设重量大小的比值,λN为所述版图器件节点N的重量大小与预设重量大小的比值,d为所述版图器件节点间的预设平衡间距;
间距计算单元,用于根据版图器件节点的坐标位置信息计算任意两个直接互连的版图器件节点之间的实际间距dMN;
合力计算单元,用于根据受力计算公式FMN=λM(DMN-dMN),计算所述版图器件节点M受到其他直连的版图器件节点N的作用力,以获得所述版图器件节点M所受到的合力。
5.根据权利要求4所述的模拟集成电路版图布局系统,其特征在于,所述模拟退火处理模块包括:
扰动处理模块,用于对所述B*树中的版图器件施加预设扰动,以调整所述B*树中的版图器件的相对位置关系并获得扰动后的B*树,其中,扰动前的B*树为当前解,扰动后的B*树为新解;
评价处理模块,用于对所述当前解和所述新解进行评价比较处理,以获得更新后的当前解,且退火迭代次数递增;
迭代判断执行模块,用于当所述退火迭代次数小于预设退火迭代次数时,驱动所述扰动处理模块和所述评价处理模块工作,否则驱动退火处理模块工作;
退火处理模块,用于当当前退火温度小于等于结束退火温度时,输出当前解并作为最优的B*树,否则按预设降温规则对当前退火温度进行降温处理以获得新的当前退火温度,并将所述退火迭代次数更新为初始值,驱动所述扰动处理模块、评价处理模块和迭代判断执行模块工作。
6.根据权利要求5所述的模拟集成电路版图布局系统,其特征在于,所述评价处理模块包括:
布局构建单元,用于根据所述当前解和所述新解分别构建对应的平面布局图;
计算单元,用于根据所述当前解的平面布局图和所述新解的平面布局图分别计算出对应的评价系数,其中,所述评价系数为平面布局图所占用的面积及以半周线长法预估的版图器件之间连接的总线长的加权和;
评价处理单元,用于通过接收概率公式,确定更新后的当前解;
其中,P为接收概率、Et为所述当前解的评价系数、Et+1为所述新解的评价系数、k为常量系数和T为当前退火温度;
当Et+1<Et时,则表示接收所述新解并将所述新解作为更新后的当前解,当Et+1≥Et且RN=random[0,1]<P时,则表示接收所述新解并将所述新解作为更新后的当前解,当Et+1≥Et且RN=random[0,1]≥P时,则表示为不接收所述新解并将所述当前解作为更新后的当前解。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310847884.3A CN116579288B (zh) | 2023-07-12 | 2023-07-12 | 一种模拟集成电路版图布局方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310847884.3A CN116579288B (zh) | 2023-07-12 | 2023-07-12 | 一种模拟集成电路版图布局方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116579288A CN116579288A (zh) | 2023-08-11 |
CN116579288B true CN116579288B (zh) | 2024-03-22 |
Family
ID=87536283
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310847884.3A Active CN116579288B (zh) | 2023-07-12 | 2023-07-12 | 一种模拟集成电路版图布局方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116579288B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201140356A (en) * | 2010-05-10 | 2011-11-16 | Univ Nat Chiao Tung | Method for analog placement and global routing considering wiring symmetry |
US8296708B1 (en) * | 2011-05-24 | 2012-10-23 | Springsoft Inc. | Method of constraint-hierarchy-driven IC placement |
CN106777849A (zh) * | 2017-03-31 | 2017-05-31 | 福州大学 | 一种用于求解给定边框约束的vlsi版图设计方法 |
CN108228972A (zh) * | 2016-12-12 | 2018-06-29 | 德国弗劳恩霍夫应用研究促进协会 | 确定用于可重配置逻辑器件的至少一个电路的布置的方法和计算机程序 |
CN109005048A (zh) * | 2018-05-28 | 2018-12-14 | 哈尔滨工程大学 | 基于力引导的点布局优化算法 |
CN111061921A (zh) * | 2019-12-04 | 2020-04-24 | 智器云南京信息科技有限公司 | 一种图像布局实现方法、系统、终端设备和存储介质 |
CN112632196A (zh) * | 2021-01-06 | 2021-04-09 | 中国工商银行股份有限公司 | 一种数据可视化方法、装置及存储介质 |
CN115048894A (zh) * | 2022-06-27 | 2022-09-13 | 无锡中微亿芯有限公司 | 一种多阶段优化的fpga布局方法 |
CN115315703A (zh) * | 2020-04-22 | 2022-11-08 | 谷歌有限责任公司 | 使用神经网络生成集成电路布局 |
-
2023
- 2023-07-12 CN CN202310847884.3A patent/CN116579288B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201140356A (en) * | 2010-05-10 | 2011-11-16 | Univ Nat Chiao Tung | Method for analog placement and global routing considering wiring symmetry |
US8296708B1 (en) * | 2011-05-24 | 2012-10-23 | Springsoft Inc. | Method of constraint-hierarchy-driven IC placement |
CN108228972A (zh) * | 2016-12-12 | 2018-06-29 | 德国弗劳恩霍夫应用研究促进协会 | 确定用于可重配置逻辑器件的至少一个电路的布置的方法和计算机程序 |
CN106777849A (zh) * | 2017-03-31 | 2017-05-31 | 福州大学 | 一种用于求解给定边框约束的vlsi版图设计方法 |
CN109005048A (zh) * | 2018-05-28 | 2018-12-14 | 哈尔滨工程大学 | 基于力引导的点布局优化算法 |
CN111061921A (zh) * | 2019-12-04 | 2020-04-24 | 智器云南京信息科技有限公司 | 一种图像布局实现方法、系统、终端设备和存储介质 |
CN115315703A (zh) * | 2020-04-22 | 2022-11-08 | 谷歌有限责任公司 | 使用神经网络生成集成电路布局 |
CN112632196A (zh) * | 2021-01-06 | 2021-04-09 | 中国工商银行股份有限公司 | 一种数据可视化方法、装置及存储介质 |
CN115048894A (zh) * | 2022-06-27 | 2022-09-13 | 无锡中微亿芯有限公司 | 一种多阶段优化的fpga布局方法 |
Non-Patent Citations (3)
Title |
---|
A graph placement methodology for fast chip design;Azalia Mirhoseini 等;Nature;第594卷;第207-212页 * |
基于力导向模型的网络图自动布局算法综述;水超 等;计算机工程与科学(第03期);第457-463页 * |
基于节点属性的启发式网络拓扑图布局算法;梁晟 等;计算机工程与应用;第122-126页 * |
Also Published As
Publication number | Publication date |
---|---|
CN116579288A (zh) | 2023-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109902818B (zh) | 一种面向深度学习训练任务的分布式加速方法及系统 | |
CN112101530B (zh) | 神经网络训练方法、装置、设备及存储介质 | |
CN112513886A (zh) | 信息处理方法、信息处理装置和信息处理程序 | |
CN112597610A (zh) | 机械臂结构轻量化设计的优化方法、装置及设备 | |
CN111291969B (zh) | 基于遗传算法的汽车重排序方法 | |
CN112949211A (zh) | 发动机模型的优化方法、装置、计算机设备及存储介质 | |
CN114676522B (zh) | 融合gan和迁移学习的气动形状优化设计方法及系统及设备 | |
CN115758761A (zh) | 基于遗传算法的质检任务调度方法、设备及介质 | |
CN109977025B (zh) | 一种工业机器人伺服系统性能单工位测试建模调度方法 | |
CN114595656A (zh) | 电子器件的算法模型和版图的生成方法、装置、设备及介质 | |
CN116579288B (zh) | 一种模拟集成电路版图布局方法及系统 | |
CN114186671A (zh) | 一种大批量的去中心化分布式图像分类器训练方法和系统 | |
CN107507210B (zh) | 一种基于遗传算法的图像边缘检测方法及装置 | |
CN110135725A (zh) | 一种线缆装配序列规划方法、装置及设备 | |
CN115567131A (zh) | 一种基于降维复卷积网络的6g无线信道特性提取方法 | |
CN115293623A (zh) | 一种生产调度模型的训练方法、装置、电子设备及介质 | |
WO2021244203A1 (zh) | 参数优化的方法、电子设备和存储介质 | |
CN112487723B (zh) | 一种基于多参数的中水热源泵系统优化设计方法 | |
CN115270686A (zh) | 一种基于图神经网络的芯片布局方法 | |
CN111931119A (zh) | 一种组合模式的快速稳定圆最优拟合方法 | |
JP2008299641A (ja) | 連立一次方程式の並列求解方法およびノード順序付け方法 | |
CN114444681A (zh) | 神经网络稀疏化的设备、方法及相应产品 | |
CN115456194B (zh) | 基于异步联邦学习的模型训练控制方法、装置及系统 | |
CN107273207A (zh) | 一种基于超图划分算法的相关数据存储方法 | |
CN112052517B (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 |