CN115688668A - 一种集成电路全局布局优化方法及相关设备 - Google Patents

一种集成电路全局布局优化方法及相关设备 Download PDF

Info

Publication number
CN115688668A
CN115688668A CN202211384841.8A CN202211384841A CN115688668A CN 115688668 A CN115688668 A CN 115688668A CN 202211384841 A CN202211384841 A CN 202211384841A CN 115688668 A CN115688668 A CN 115688668A
Authority
CN
China
Prior art keywords
layout
central point
unit
position coordinates
model
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
Application number
CN202211384841.8A
Other languages
English (en)
Inventor
陈学松
张苹
蔡述庭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong University of Technology
Original Assignee
Guangdong University of Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangdong University of Technology filed Critical Guangdong University of Technology
Priority to CN202211384841.8A priority Critical patent/CN115688668A/zh
Publication of CN115688668A publication Critical patent/CN115688668A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明提供了一种集成电路全局优化方法及相关设备,方法包括:获取目标区域的全局布局中每个布局单元的初始位置坐标;根据线长函数和密度函数,构建布局模型;针对每个布局单元,将布局单元的初始位置坐标输入布局模型,得到每个布局单元的中心点位置坐标;根据每个布局单元的中心点位置坐标在目标区域内调整每个布局单元的位置,得到布局结果;本发明利用布局模型求解共轭梯度法的步长,并计算步长的步长学习率;将学习率代入布局模型中的迭代公式进行位置坐标迭代计算,得到每个布局单元的中心点位置坐标,从而获取布局结果,避免了进行步长部分的矩阵计算,减少了计算量,节约了布局所需时间。

Description

一种集成电路全局布局优化方法及相关设备
技术领域
本发明涉及集成电路技术领域,特别涉及一种集成电路全局优化方法及相关设备。
背景技术
目前,超大规模集成电路关系到我国数字经济高质量发展、提高综合国力成为了现代制造业中不可或缺的一环,常见的应用场景如:移动互联网、智能电网、新能源汽车、网络通讯等。这些使用场景中通常要求集成电路的试验功耗等性能指标。集成电路单元的布局结果决定着集成电路的性能指标。全局布局作为集成电路布局中最关键的部分,对最终布局结果有着非常大的影响。为了在给定的布局区域内,将布局单元按设计规则放置,并满足布局单元间连线短、单元间重叠少的要求,还可以加入时序、拥塞等设计需求。超大规模集成电路布局是一个具有多目标和多约束的非线性优化问题,布局问题的目标有单元间的互连线线长、时延等,约束有密度约束、区域约束等,直接求解该问题非常困难。通常在全局布局阶段将单元间的总线长作为优化目标,密度作为约束条件,利用优化算法得到一个合理的全局布局解。因此,如何求解以优化线长为目标的布局问题,在合理的时间内利用优化算法计算出好的布局解成为本领域研究人员需要解决的问题。
发明内容
本发明提供了一种集成电路全局优化方法及相关设备,其目的是为了避免进行步长部分的矩阵计算,减少计算量,节约布局所需时间。
为了达到上述目的,本发明提供了一种集成电路全局优化方法,包括:
步骤1,获取目标区域的全局布局中每个布局单元的初始位置坐标;
步骤2,根据线长函数和密度函数,构建布局模型;
步骤3,针对每个布局单元,将布局单元的初始位置坐标输入布局模型,利用布局模型求解共轭梯度法的步长,并计算步长的步长学习率;
将学习率代入布局模型中的迭代公式进行位置坐标迭代计算,得到每个布局单元的中心点位置坐标;
步骤4,根据每个布局单元的中心点位置坐标在所述目标区域内调整每个所述布局单元的位置,得到布局结果。
进一步来说,步骤1包括:
获取目标区域的宽度和高度;
以目标区域的左下角顶点为坐标原点,分别以宽度和高度作为横轴和纵轴,构建直角坐标系;
根据直角坐标系,得到目标区域的全局布局中每个布局单元的初始位置坐标。
进一步来说,构建布局模型为:
Figure BDA0003930301220000021
Figure BDA0003930301220000022
Figure BDA0003930301220000023
其中,WLSE(x,y)为线长函数,σ是人工设定的参数,b为布局区域划分的网格,Mb为可容纳的最小重叠面积,γ为光滑化参数,vi为线网中的第i个布局单元,e为线网,即布局单元与布局单元之间的连接关系,xi为第i个布局单元的中心点横坐标,yi为第i个布局单元的中心点纵坐标,Db(x,y)为密度函数,即所有可移动布局单元与网格b重叠部分的总面积,V为所有布局单元v的集合,θx(b,v)为重叠函数,即网格b和布局单元v在x方向重叠的长度,θy(b,v)为重叠函数,即网格b和布局单元v在y方向重叠的长度。
进一步来说,步骤3包括:
步骤3包括:
使用共轭梯度算法,计算得到每个布局单元的中心点位置坐标;
中心点位置坐标包括中心点横坐标和中心点纵坐标;
将y看作常数,x看作变量,计算中心点横坐标,公式如下:
x(k+1)=x(k)(k)d(k)
其中,
Figure BDA0003930301220000031
Figure BDA0003930301220000032
Figure BDA0003930301220000033
Figure BDA0003930301220000034
k为迭代次数,
Figure BDA0003930301220000035
为第k次迭代时线网中的第n个布局单元的中心点横坐标,αk、βk为第k次迭代的步长,dk为第k次迭代的共轭方向,g(k)为布局模型的梯度,
Figure BDA0003930301220000036
为步长学习率,T为矩阵转置符号;
将x看作常数,y看作变量,计算中心点纵坐标,公式如下:
y(k+1)=y(k)(k)d(k)
其中,
Figure BDA0003930301220000037
Figure BDA0003930301220000041
Figure BDA0003930301220000042
Figure BDA0003930301220000043
其中,
Figure BDA0003930301220000044
为第k次迭代时线网中的第n个布局单元的中心点纵坐标。
进一步来说,布局模型的梯度包括线长函数的梯度和密度函数的梯度,公式如下:
Figure BDA0003930301220000045
Figure BDA0003930301220000046
其中,x(k)为第k次迭代时线网中的所有布局单元的中心点横坐标的集合,y(k)为第k次迭代时线网中的所有布局单元的中心点纵坐标的集合。
进一步来说,步骤3还包括:
基于强化学习算法得到步长学习率,将步长学习率代入迭代公式进行计算,得到每个布局单元通过迭代后更新的中心点位置坐标;
针对每个布局单元,当k=0时,将布局单元的初始位置坐标输入布局模型,在横坐标和纵坐标方向上计算梯度g(0)和共轭方向d(0)
当时,通过ε-greedy策略获得第k次迭代时,在状态sk下,采取动作ak的概率π(ak|sk),采取动作ak后进入到下一状态sk+1,得到步长学习率
Figure BDA0003930301220000047
Figure BDA0003930301220000048
将步长学习率
Figure BDA0003930301220000049
代入公式
Figure BDA00039303012200000410
公式
Figure BDA0003930301220000051
和公式
Figure BDA0003930301220000052
计算第k次迭代时共轭梯度法的步长α(k)、步长β(k)的梯度g(k)和共轭方向d(k)
根据步长α(k)、步长β(k)的梯度g(k)和共轭方向d(k),计算得到布局单元通过迭代后更新的中心点位置坐标,并计算在第k次迭代后获得的奖励值。
进一步来说,步骤3还包括:
将每个布局单元通过迭代后更新的中心点位置坐标通过目标函数进行计算,目标函数为累计的奖励值,公式如下:
Figure BDA0003930301220000053
πθ(s,a)≈π(a|s)
当目标函数J(πθ)大于或等于目标值时,输出当前布局单元的中心点位置坐标,否则继续迭代。
本发明还提供了一种集成电路全局布局优化装置,包括:
获取模块,用于获取目标区域的全局布局中每个布局单元的初始位置坐标;
建模模块,用于根据线长函数和密度函数,构建布局模型;
求解模块,用于针对每个布局单元,将布局单元的初始位置坐标输入布局模型,利用布局模型求解共轭梯度法的步长,并计算步长的步长学习率;将学习率代入布局模型中的迭代公式进行位置坐标迭代计算,得到每个布局单元的中心点位置坐标;
布局模块,用于根据每个布局单元的中心点位置坐标在目标区域内调整每个布局单元的位置,得到布局结果。
本发明还提供了一种计算机可读存储介质,用于存储计算机程序,用于实现上述的集成电路全局布局优化方法。
本发明还提供了一种集成电路全局布局优化设备,用于实现上述的集成电路全局布局优化方法,包括:存储器和处理器;
存储器用于储存计算机程序;
处理器用于执行存储器存储的计算机程序。
本发明的上述方案有如下的有益效果:
本发明构建布局模型,将获取的目标区域的全局布局中每个布局单元的初始位置坐标输入布局模型中进行求解,得到每个布局单元的中心点位置坐标,根据每个布局单元的中心点位置坐标在目标区域内调整每个布局单元的位置,得到布局结果;相较于现有技术来说,通过利用布局模型求解共轭梯度法的步长,并计算步长的步长学习率;将学习率代入布局模型中的迭代公式进行位置坐标迭代计算,得到每个布局单元的中心点位置坐标,从而获取布局结果,避免了进行步长部分的矩阵计算,减少了计算量,节约了布局所需时间。
本发明的其它有益效果将在随后的具体实施方式部分予以详细说明。
附图说明
图1为本发明实施例的流程示意图;
图2为本发明实施例的网络结构图;
图3为本发明实施例的第k次迭代过程图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是锁定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
本发明针对现有的问题,提供了一种集成电路全局布局优化方法及相关设备
如图1-3所示,本发明的实施例提供了一种集成电路全局布局优化方法,包括:
步骤1,获取目标区域的全局布局中每个布局单元的初始位置坐标;
步骤2,根据线长函数和密度函数,构建布局模型;
步骤3,针对每个布局单元,将布局单元的初始位置坐标输入布局模型,利用布局模型求解共轭梯度法的步长,并计算步长的步长学习率;
将学习率代入布局模型中的迭代公式进行位置坐标迭代计算,得到每个布局单元的中心点位置坐标;
步骤4,根据每个布局单元的中心点位置坐标在目标区域内调整每个布局单元的位置,得到布局结果。
具体来说,步骤1包括:
获取目标区域的宽度和高度;
以目标区域的左下角顶点为坐标原点,分别以宽度和高度作为横轴和纵轴,构建直角坐标系;
根据直角坐标系,得到目标区域的全局布局中每个布局单元的初始位置坐标。
具体来说,在本发明实施例中,以最小化线长为目标,同时尽量减少布局单元与布局单元之间的重叠,为下一步的布线留出足够的位置空间,将布局问题表达为:
minW(v)
s.t.Db(x,y)≤Mb
其中,W(v)是线长函数,Db(x,y)是密度函数。为了能够使布局单元均匀分布,将目标区域划分为大小均匀的网格b,Db(x,y)是所有可移动单元与网格b重叠部分的总面积,Mb是可容纳的最小重叠面积。
线长函数通常采用所有线网的半周长线长之和,计算公式如下:
Figure BDA0003930301220000081
其中,e为线网,即布局单元与布局单元之间的连接关系,E包含所有的线网,v是线网中的布局单元,vi、vj分别为线网e中的任意第i个、第j个布局单元,xi是第i个布局单元的中心点横坐标,yi是第i个布局单元的中心点纵坐标。
使用Log-Sum-Exp(LSE)线长模型,通过如下函数可以近似为一个线网的半周长线长:
Figure BDA0003930301220000082
其中,γ是用来控制模型精度的光滑化参数。当γ趋于0时,LSE线长趋近于半周长线长。
每一个网格b中的密度函数表示为
Figure BDA0003930301220000083
其中,θx(b,v)为重叠函数,即网格b和布局单元v在x方向重叠的长度,θy(b,v)为重叠函数,即网格b和布局单元v在y方向重叠的长度,V是所有布局单元v的集合。
为了使得重叠函数θx(b,v)、θy(b,v)在x,y方向平滑,可以采用不同的密度模型将密度函数光滑化,本发明实施例采用钟形函数光滑化密度函数,x方向上的钟形函数如下:
Figure BDA0003930301220000084
其中,lx是x方向上第i个布局单元v的中心点(xi,yi)到网格b的中心点(xb,yb)的距离,lx=|xi-xb|,wb是网格b的宽度,wv是单元v的宽度,y方向上类似,光滑化后的密度函数为
Figure BDA0003930301220000091
其中,cv是归一化因子,使得布局单元的总势能等于其面积。
以一个线网为例,根据线长函数和密度函数,构建布局模型如下:
minf(x,y)=WLSE(x,y)+σ∑(Db(x,y)-Mb)
其中,σ是人工设定的参数。
具体来说,步骤3包括:
为了对布局模型进行求解,分别在x、y方向上使用共轭梯度算法进行优化;
首先计算得到每个布局单元的中心点的横坐标,将y看作常数,x看作变量,得到迭代公式如下:
x(k+1)=x(k)+α(k)d(k)
Figure BDA0003930301220000092
其中,k为迭代次数,
Figure BDA0003930301220000093
为第k次迭代时线网中的第n个布局单元的中心点的横坐标,该线网中共有n个布局单元,αk为第k次迭代的步长,dk为第k次迭代的共轭方向。
第k次迭代时步长更新公式如下:
Figure BDA0003930301220000094
Figure BDA0003930301220000095
Figure BDA0003930301220000101
βk为第k次迭代的步长,g(k)为布局模型的梯度,
Figure BDA0003930301220000102
为步长学习率,经过强化学习得到具体数值,T为矩阵转置符号。
布局模型在x方向上的梯度包括线长函数的梯度和密度函数的梯度,公式如下:
Figure BDA0003930301220000103
其中,x(k)为第k次迭代时线网中的所有布局单元的中心点的横坐标集合。
在本发明实施例中确定一个线网,在第k次迭代时,线长函数对该线网中的每一个布局单元在x方向上求偏导,该线网中总共有n个布局单元:
Figure BDA0003930301220000104
Figure BDA0003930301220000105
其中,
Figure BDA0003930301220000106
为第k次迭代时线网中的第i个布局单元的中心点横坐标。
惩罚项对该线网中的每一个布局单元在x方向上求偏导:
Figure BDA0003930301220000111
Figure BDA0003930301220000112
由于
Figure BDA0003930301220000113
所以密度函数对x求偏导时需要分情况讨论:
Figure BDA0003930301220000114
时,
Figure BDA0003930301220000115
对密度函数求x偏导为
Figure BDA0003930301220000116
Figure BDA0003930301220000117
时,
Figure BDA0003930301220000118
对密度函数求x偏导为
Figure BDA0003930301220000119
具体来说,步骤3还包括:
基于强化学习算法得到步长学习率,将步长学习率代入迭代公式进行计算,得到每个布局单元通过迭代后更新的横坐标和纵坐标。
本发明实施例选择基于策略梯度的强化学习算法;使用神经网络模型作为强化学习算法的智能体,智能体在决策过程执行的动作依赖于策略函数,使用ε-greedy算法作为强化学习算法的策略函数;累计奖励的期望值作为目标函数;强化学习通过策略梯度算法计算目标函数的梯度值,并选择Actor-Critic算法优化更新神经网络模型的网络参数。具体如下:
1)状态空间S
s是状态,S是所有状态的集合。将步长学习率λ1,λ2作为参数,为了使得步长α和β能够增大或缩小,设置λ1和λ2的取值范围为(0,2]。由每个参数的取值范围转换为参数状态s,将每个参数取值范围平均分为m份,即转换为m2个参数状态。
2)动作空间A
a是动作,A是所有动作的集合。总共有m2个参数状态可以选取,使用ε-greedy策略选择动作a,设置一个较小的ε值,以(1-ε)的概率选择当前策略下最优的动作:
Figure BDA0003930301220000121
其中,m2是可选动作的总数,a*是最优的动作。
3)奖励函数R
为了使得布局问题的目标函数最小,将强化学习的奖励函数R写为如下形式:
Figure BDA0003930301220000122
4)目标函数J
将累计的奖励值作为强化学习的目标函数:
Figure BDA0003930301220000123
πθ(s,a)≈π(a|s)
本发明实施例选择Actor-Critic的方法来训练强化学习网络,基于强化学习的共轭梯度法对横坐标进行迭代更新,其过程如下:
初始化选择Actor和Critic的网络参数θ和ω,设置dθ=0和dω=0,K为总迭代次数;
对于第k次迭代:
针对每个布局单元,当k=0时,将布局单元的初始位置坐标输入布局模型,固定纵坐标,得到x(0),并在横坐标方向上计算梯度g(0)和共轭方向d(0)
当k=0~K时,通过ε-greedy策略获得第k次迭代时在状态sk下,采取动作ak的概率π(ak|sk),采取动作ak后进入到下一状态sk+1,得到步长学习率
Figure BDA0003930301220000131
Figure BDA0003930301220000132
将步长学习率
Figure BDA0003930301220000133
代入公式
Figure BDA0003930301220000134
公式
Figure BDA0003930301220000135
和公式
Figure BDA0003930301220000136
计算第k次迭代时共轭梯度法的步长α(k)、步长β(k)的梯度g(k)和共轭方向d(k)
根据步长α(k)、步长β(k)的梯度g(k)和共轭方向d(k),计算得到布局单元通过迭代后更新的横坐标为:
x(k)=x(k-1)(k-1)d(k-1)
并计算在第k次迭代后获得的奖励值为:
Rk=-WLSE(x(k),y)-σ∑(Db(x(k),y)-Mb)
计算Actor网络的梯度
Figure BDA0003930301220000137
和Critic网络的梯度
Figure BDA0003930301220000138
更新第k次迭代后Actor-Critic的网络梯度dθk和dωk
其中,V(skk)是第k次迭代时Critic网络的输出,计算公式如下:
Figure BDA0003930301220000139
Rk-V(skk)是优势函数,表示在sk的状态下采取动作的优劣,如果优势函数的结果为正,则增加该动作出现的概率,否则降低概率。
使用基于强化学习的共轭梯度法计算得到迭代结束后所有布局单元的中心点的横坐标,然后求解纵坐标,将x看作常数,y看作变量,求解得到所有布局单元的中心点的纵坐标,如下:
y(k+1)=y(k)(k)d(k)
Figure BDA0003930301220000141
其中,
Figure BDA0003930301220000142
为第k次迭代时线网中的第n个布局单元的中心点的纵坐标;
Figure BDA0003930301220000143
第k次迭代时步长更新公式如下:
Figure BDA0003930301220000144
Figure BDA0003930301220000145
其中,
Figure BDA0003930301220000146
是步长学习率,由强化学习算法返回的步长学习率得到具体数值。
布局模型在y方向上目标函数的梯度由线长函数的梯度和密度函数的梯度两部分组成:
Figure BDA0003930301220000147
确定一个线网,第k次迭代时,线长函数对该线网中的每一个布局单元在y方向上求偏导,该线网中总共有n个布局单元:
Figure BDA0003930301220000148
Figure BDA0003930301220000151
其中,
Figure BDA0003930301220000152
为第k次迭代时线网中的第i个布局单元的中心点的纵坐标。惩罚项对该线网中的每一个布局单元在y方向上求偏导:
Figure BDA0003930301220000153
Figure BDA0003930301220000154
由于
Figure BDA0003930301220000155
所以密度函数对y求偏导:
Figure BDA0003930301220000156
时,
Figure BDA0003930301220000157
对密度函数求y偏导为
Figure BDA0003930301220000158
Figure BDA0003930301220000159
时,
Figure BDA00039303012200001510
对密度函数求y偏导为
Figure BDA00039303012200001511
本发明实施例选择Actor-Critic的方法来训练强化学习网络,基于强化学习的共轭梯度法对纵坐标进行迭代更新,其过程如下:
当k=0时,输入更新后的布局单元的横坐标,首先固定x坐标,得到y(0),在纵坐标方向上计算梯度g(0)和搜索方向d(0)
当k=0~K时,通过ε-greedy策略获得第k次迭代时在状态sk下采取动作ak的概率π(ak|sk),采取动作ak后进入到下一个状态sk+1,得到y方向上的步长学习率
Figure BDA0003930301220000161
根据上述的共轭梯度法的更新公式,计算第k次迭代时的步长α(k)和β(k)的梯度g(k)和搜索方向d(k),计算出每一个布局单元的纵坐标y(k)=y(k-1)(k-1)d(k-1),并计算在第k次迭代后获得的奖励值:
Rk=-WLSE(x,y(k))-σ∑(Db(x,y(k))-Mb)
计算Actor网络梯度
Figure BDA0003930301220000162
和Critic网络梯度
Figure BDA0003930301220000163
更新第k次迭代后Actor-Critic的网络梯度dθk和dωk
迭代结束后更新所有布局单元的中心点纵坐标,最终根据迭代结束后更新所有布局单元的中心点横坐标和中心点纵坐标,得到迭代结束后更新所有布局单元的中心点位置坐标。
本发明实施例由试错法得到设计的目标值B,本发明实施例中,根据试错法设置目标值的过程如下:
首先将总迭代次数设置为一个较大的数值,观测随着迭代次数增加,每一次迭代的奖励值的变化曲线是否趋于稳定,若曲线稳定,则取当前迭代的累计奖励值作为目标值B。B为常数,将目标值B作为强化学习是否达到设计要求的判断条件。如果强化学习的目标函数J(πθ)大于或等于目标值B,则停止迭代,并输出当前布局单元的中心点位置坐标。如果不满足,则继续迭代。
根据每个布局单元的中心点位置坐标在目标区域内调整每个布局单元的位置,得到布局结果,当布局模型的梯度为0时,该线网的布局单元与布局单元之间的连线最短并且相互重叠的部分最少,即为最优布局。
本发明实施例构建布局模型,将获取的目标区域的全局布局中每个布局单元的初始位置坐标输入布局模型中进行求解,得到每个布局单元的中心点位置坐标,根据每个布局单元的中心点位置坐标在目标区域内调整每个布局单元的位置,得到布局结果;相较于现有技术来说,利用布局模型求解共轭梯度法的步长α和β,并计算步长的步长学习率λ1,λ2,将学习率λ1,λ2代入布局模型中的迭代公式进行位置坐标迭代计算,得到每个布局单元的中心点位置坐标,从而获取布局结果,避免了进行步长部分的矩阵计算,减少了计算量,节约了布局所需时间。
本发明实施例还提供了一种集成电路全局布局优化装置,包括:
获取模块,用于获取目标区域的全局布局中每个布局单元的初始位置坐标;
建模模块,用于根据线长函数和密度函数,构建布局模型;
求解模块,用于针对每个布局单元,将布局单元的初始位置坐标输入布局模型,利用布局模型求解共轭梯度法的步长,并计算步长的步长学习率,将学习率代入布局模型中的迭代公式进行位置坐标迭代计算,得到每个布局单元的中心点位置坐标;
布局模块,用于根据每个布局单元的中心点位置坐标在目标区域内调整每个布局单元的位置,得到布局结果。
本发明实施例还提供了一种计算机可读存储介质,用于存储计算机程序,用于实现上述的集成电路全局布局优化方法。
本发明实施例还提供了一种集成电路全局布局优化设备,用于实现上述的集成电路全局布局优化方法,包括:存储器和处理器;
存储器用于储存计算机程序;
处理器用于执行存储器存储的计算机程序。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种集成电路全局布局优化方法,其特征在于,包括:
步骤1,获取目标区域中每个布局单元的初始位置坐标;
步骤2,根据线长函数和密度函数,构建布局模型;
步骤3,针对每个所述布局单元,将所述布局单元的初始位置坐标输入所述布局模型,利用所述布局模型求解共轭梯度法的步长,并计算所述步长的步长学习率;
将所述学习率代入所述布局模型中的迭代公式进行位置坐标迭代计算,得到每个所述布局单元的中心点位置坐标;
步骤4,根据每个所述布局单元的中心点位置坐标在所述目标区域内调整每个所述布局单元的位置,得到布局结果。
2.根据权利要求1所述的集成电路全局布局优化方法,其特征在于,所述步骤1包括:
获取所述目标区域的宽度和高度;
以所述目标区域的左下角顶点为坐标原点,分别以所述宽度和所述高度作为横轴和纵轴,构建直角坐标系;
根据所述直角坐标系,得到目标区域的全局布局中每个布局单元的初始位置坐标。
3.根据权利要求2所述的集成电路全局布局优化方法,其特征在于,构建所述布局模型为:
Figure FDA0003930301210000011
Figure FDA0003930301210000012
Figure FDA0003930301210000013
其中,WLSE(x,y)为线长函数,σ是人工设定的参数,b为布局区域划分的网格,Mb为可容纳的最小重叠面积,γ为光滑化参数,vi为线网中的第i个布局单元,e为线网,即布局单元与布局单元之间的连接关系,xi为第i个布局单元的中心点横坐标,yi为第i个布局单元的中心点纵坐标,Db(x,y)为密度函数,即所有可移动布局单元与网格b重叠部分的总面积,V为所有布局单元v的集合,θx(b,v)为重叠函数,即网格b和布局单元v在x方向重叠的长度,θy(b,v)为重叠函数,即网格b和布局单元v在y方向重叠的长度。
4.根据权利要求3所述的集成电路全局布局优化方法,所述步骤3包括:
使用所述共轭梯度算法,计算得到每个所述布局单元的中心点位置坐标;
所述中心点位置坐标包括中心点横坐标和中心点纵坐标;
将y看作常数,x看作变量,计算所述中心点横坐标,公式如下:
x(k+1)=x(k)(k)d(k)
其中,
Figure FDA0003930301210000021
Figure FDA0003930301210000022
Figure FDA0003930301210000023
Figure FDA0003930301210000024
k为迭代次数,
Figure FDA0003930301210000025
为第k次迭代时线网中的第n个布局单元的中心点横坐标,αk、βk为第k次迭代的步长,dk为第k次迭代的共轭方向,g(k)为布局模型的梯度,
Figure FDA0003930301210000026
为步长学习率,T为矩阵转置符号;
将x看作常数,y看作变量,计算所述中心点纵坐标,公式如下:
y(k+1)=y(k)(k)d(k)
其中,
Figure FDA0003930301210000031
Figure FDA0003930301210000032
Figure FDA0003930301210000033
Figure FDA0003930301210000034
其中,
Figure FDA0003930301210000035
为第k次迭代时线网中的第n个布局单元的中心点纵坐标。
5.根据权利要求4所述的集成电路全局布局优化方法,其特征在于,所述布局模型的梯度包括所述线长函数的梯度和所述密度函数的梯度,公式如下:
Figure FDA0003930301210000036
Figure FDA0003930301210000037
其中,x(k)为第k次迭代时线网中的所有布局单元的中心点横坐标的集合,y(k)为第k次迭代时线网中的所有布局单元的中心点纵坐标的集合。
6.根据权利要求5所述的集成电路全局布局优化方法,其特征在于,所述步骤3还包括:
基于强化学习算法得到步长学习率,将所述步长学习率代入迭代公式进行计算,得到每个所述布局单元通过迭代后更新的中心点位置坐标;
针对每个所述布局单元,当k=0时,将所述布局单元的初始位置坐标输入所述布局模型,在横坐标和纵坐标方向上计算梯度g(0)和共轭方向d(0)
当时,通过ε-greedy策略获得第k次迭代时,在状态sk下,采取动作ak的概率π(ak|sk),采取动作ak后进入到下一状态sk+1,得到步长学习率
Figure FDA0003930301210000041
Figure FDA0003930301210000042
将所述步长学习率
Figure FDA0003930301210000043
代入公式
Figure FDA0003930301210000044
公式
Figure FDA0003930301210000045
和公式
Figure FDA0003930301210000046
计算第k次迭代时所述共轭梯度法的步长α(k)、步长β(k)的梯度g(k)和共轭方向d(k)
根据所述步长α(k)、所述步长β(k)的梯度g(k)和共轭方向d(k),计算得到所述布局单元通过迭代后更新的中心点位置坐标,并计算在第k次迭代后获得的奖励值。
7.根据权利要求6所述的集成电路全局布局优化方法,其特征在于,所述步骤3还包括:
将每个所述布局单元通过迭代后更新的中心点位置坐标通过目标函数进行计算,所述目标函数为累计的奖励值,公式如下:
Figure FDA0003930301210000047
πθ(s,a)≈π(a|s)
当目标函数值大于或等于目标值时,输出当前布局单元的中心点位置坐标,否则继续迭代。
8.一种集成电路全局布局优化装置,其特征在于,包括:
获取模块,用于获取目标区域的全局布局中每个布局单元的初始位置坐标;
建模模块,用于根据线长函数和密度函数,构建布局模型;
求解模块,用于针对每个所述布局单元,将所述布局单元的初始位置坐标输入所述布局模型,利用所述布局模型求解共轭梯度法的步长,并计算所述步长的步长学习率,将所述学习率代入所述布局模型中的迭代公式进行位置坐标迭代计算,得到每个所述布局单元的中心点位置坐标;
布局模块,用于根据每个所述布局单元的中心点位置坐标在所述目标区域内调整每个所述布局单元的位置,得到布局结果。
9.一种计算机可读存储介质,用于存储计算机程序,其特征在于,通过执行所述计算机程序,用于实现上述权利要求1-7中任意一项所述的集成电路全局布局优化方法。
10.一种集成电路全局布局优化设备,其特征在于,用于实现上述权利要求1-7任意一项所述的集成电路全局布局优化方法,包括:存储器和处理器;
所述存储器用于储存计算机程序;
所述处理器用于执行所述存储器存储的计算机程序。
CN202211384841.8A 2022-11-07 2022-11-07 一种集成电路全局布局优化方法及相关设备 Pending CN115688668A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211384841.8A CN115688668A (zh) 2022-11-07 2022-11-07 一种集成电路全局布局优化方法及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211384841.8A CN115688668A (zh) 2022-11-07 2022-11-07 一种集成电路全局布局优化方法及相关设备

Publications (1)

Publication Number Publication Date
CN115688668A true CN115688668A (zh) 2023-02-03

Family

ID=85050538

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211384841.8A Pending CN115688668A (zh) 2022-11-07 2022-11-07 一种集成电路全局布局优化方法及相关设备

Country Status (1)

Country Link
CN (1) CN115688668A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116070573A (zh) * 2023-03-07 2023-05-05 湖南大学 考虑脉冲窄化的软错误布局优化方法
CN116702301A (zh) * 2023-08-04 2023-09-05 中国电子工程设计院有限公司 一种集成电路产线多级仿真布局的生成方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116070573A (zh) * 2023-03-07 2023-05-05 湖南大学 考虑脉冲窄化的软错误布局优化方法
CN116070573B (zh) * 2023-03-07 2023-06-13 湖南大学 考虑脉冲窄化的软错误布局优化方法
CN116702301A (zh) * 2023-08-04 2023-09-05 中国电子工程设计院有限公司 一种集成电路产线多级仿真布局的生成方法及装置
CN116702301B (zh) * 2023-08-04 2023-10-10 中国电子工程设计院有限公司 一种集成电路产线多级仿真布局的生成方法及装置

Similar Documents

Publication Publication Date Title
CN115688668A (zh) 一种集成电路全局布局优化方法及相关设备
WO2020215533A1 (zh) 一种基于材料场缩减级数展开的结构拓扑优化方法
CN112101530B (zh) 神经网络训练方法、装置、设备及存储介质
CN114896937A (zh) 一种基于强化学习的集成电路布局优化方法
JP6784780B2 (ja) 大規模再生可能エネルギーのデータについて確率モデルを構築する方法
CN112836411B (zh) 加筋板壳结构的优化方法、装置、计算机设备和存储介质
CN112597610B (zh) 机械臂结构轻量化设计的优化方法、装置及设备
CN110570034B (zh) 一种基于多XGBoost模型融合的母线负荷预测方法
CN113536623B (zh) 一种材料不确定性结构稳健性拓扑优化设计方法
Li et al. A Kriging-based bi-objective constrained optimization method for fuel economy of hydrogen fuel cell vehicle
CN109638883B (zh) 电网电压控制方法、装置、计算机设备和存储介质
CN114297779A (zh) 一种飞行器气动力系数快速预测方法、系统及设备
CN113962163A (zh) 一种实现无源微波器件高效设计的优化方法、装置和设备
CN113821983A (zh) 基于代理模型的工程设计优化方法、装置及电子设备
CN113837812B (zh) 节点电价联合概率预测方法及装置
CN115630316A (zh) 基于改进长短期记忆网络的超短期风速预测方法
CN115906303A (zh) 一种基于机器学习的平面微波滤波器设计方法及装置
CN110502784A (zh) 一种产品仿真优化方法
CN115495863B (zh) 一种平滑边界表达的散热拓扑优化方法
CN112836254B (zh) 节点可动基结构的参数控制方法、装置、设备和存储介质
CN115017735B (zh) 一种用于高维系统的多代理概率电压稳定计算方法
CN113033024B (zh) 输电网细粒度并行电磁暂态仿真方法、系统、终端及介质
CN114742285B (zh) 一种居民电力消费模式预测模型的构建方法及其应用
WO2024092613A1 (zh) 一种检验路径全纯性及物理可实现性的电网潮流计算方法
CN116885790A (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