1.一种基于强化学习的集成电路布局优化方法,其特征在于,包括以下步骤:确定集成电路的布局区域、各宏单元和标准单元的信息和设计规则;
根据布局区域和宏单元的信息,通过强化学习返回布局策略;
根据返回的布局策略对所有宏单元进行布局;
根据宏单元的布局结合基于电场能的布局方法对所有标准单元进行全局布局;
根据得到的全局布局,利用总体布线器进行总体布线;
判断强化学习的目标函数是否满足设计目标;不满足设计目标时,更新强化学习的网络参数。
2.根据权利要求1所述的基于强化学习的集成电路布局优化方法,其特征在于,所述根据布局区域和宏单元的信息,通过强化学习返回布局策略,包括:选择基于策略梯度的强化学习方法;使用神经网络模型作为强化学习算法的智能体,智能体在决策过程执行的动作依赖于策略函数,通过神经网络模型计算策略函数,随机性策略作为策略函数的输出,累计奖励的期望值作为目标函数;强化学习通过策略梯度算法计算目标函数的梯度值,并选择Actor‑Critic算法优化更新神经网络模型的网络参数,将m第m次迭代生成的输出序列U作为所述的布局策略。
3.根据权利要求1所述的基于强化学习的集成电路布局优化方法,其特征在于,所述强化学习包括:将神经网络模型作为强化学习算法的智能体,将所述的布局区域作为环境,布局区域内宏单元的布局情况作为状态,智能体持续地与环境交互,根据当前的状态选择行为,而环境会反馈给智能体新的状态和奖励;
述神经网络模型采用指针网络模型,具体结构如下:
指针网络模型包括循环神经网络以及注意力机制,其中,循环神经网络包括依次连接的嵌入层、注意力层和隐藏层;
嵌入层用于接收输入到网络模型中的包含宏单元信息的输入序列,并使用一维卷积层对输入的宏单元信息进行嵌入,将输入的序列映射成D维的向量空间,得到嵌入式输入;
注意力层用于接受解码器的输出,利用注意力机制获得每个输出的概率分布;
隐藏层的状态向量由嵌入式输入和上一个时间点的隐藏层状态构成,隐藏层状态对每一个时间点解码器的输出做一个加权,确保每一个时间点的输出都被使用到;
利用解码器保存输入序列的信息,并利用注意力机制将解码器的隐藏状态和嵌入的输入指向一个输入元素。
4.根据权利要求1所述的基于强化学习的集成电路布局优化方法,其特征在于,基于所述指针网络模型,通过强化学习返回布局策略的过程为:将所有宏单元的信息作为输入集V={vi,i=1,...,N},vi表示第i个宏单元,总共有N个宏单元;其中vi=(wi,li)是个元组,表示第i个宏单元对应的宽度w和长度l;输入集首先经过指针网络模型的嵌入层,得到嵌入式输入为 是一个向量;然后结合隐藏层状态向量,再使用解码器进行解码,得到输出序列;
t=0时刻,将所有宏单元进行随机排序,得到任意的输入V0,包含所有的宏单元;Vt表示在t时刻向指针网络输入的宏单元的集合;每一次解码时刻t,指针ut+1将指向当前输入Vt中可以被摆放到布局区域的宏单元中的一个,并将其作为解码器下一个时刻的输入,用注意力机制生成下一个输入的概率分布;下一个解码时刻t+1,从Vt+1集合中删除指针ut+1指向的宏单元;如此反复,直到输入集中的所有宏单元都被指针指向过,最终产生宏单元的布局顺序序列U。
5.根据权利要求1所述的基于强化学习的集成电路布局优化方法,其特征在于,强化学习通过策略梯度算法计算目标函数的梯度值,并选择Actor‑Critic算法优化更新指针网络模型的网络参数,所述策略梯度算法的优化流程如下:训练数据集S;其中每个训练数据为宏单元的信息,迭代次数总共M次,一次迭代所选取的宏单元个数为N,构成输入集V;
初始化Actor和critic的网络参数θ和ω,设置参数的梯度dθ=0和dω=0;
对于第m次迭代,向指针网络输入在t时刻宏单元的集合Vt,获得第m次迭代的每一个输m出 的概率分布,直到全部输入集V的所有元素被输出,得到第m次迭代生成的输出序列U作为布局策略; 表示第m次迭代时在t=0时刻将所有宏单元进行随机排序;
计算在第m次迭代过程中获得的奖励值Rm:
m
其中, 是在第m次迭代时任意初始状态 情况下生成输出序列U 获得的奖励值,rt是第m次迭代过程中t时刻获得的布局高度奖励值,W(v)是线长函数,C(g)是拥塞函数,α和β是权重参数;
利用第m次迭代时Critic网络的输出函数计算Actor网络梯度dθm和Critic网络梯度dωm; 是第m次迭代时Critic网络的输出函数,由前m‑1次迭代的奖励值加权和组j j j成,权重为第j次迭代生成对应输出序列U的概率P(U|V0),Rj为第j次迭代的奖励值;
更新第m次迭代后Actor‑Critic的网络梯度dθ和dω。
6.根据权利要求1所述的基于强化学习的集成电路布局优化方法,其特征在于,强化学习所述的奖励中,第m次迭代过程中t时刻获得的布局高度奖励值rt、线长函数W(v)、拥塞函数C(g)的计算过程如下:
1)如果t时刻的放置宏单元的累计布局高度h不超过布局区域的高H,计算公式如下:其中,T是一次迭代结束所需要的总时间,N为宏单元的总个数;
2)线长函数通常采用所有线网的半周长线长之和,计算公式如下:
其中,e指线网,E包含所有的线网,v是线网中的宏单元或标准单元;vi、vj是线网e中的任意第i个、第j个宏单元或标准单元;xi是第i个单元中心点的横坐标,yi是第i个单元中心点的纵坐标;
3)拥塞函数使用平均拥塞表示,计算公式如下:
其中,c∈{0.5,1,2,5,10},g指的是两个相邻总体布线单元的边界;cg是边界拥有的最大布线资源,即可以通过的最多线网数;bg是边界上的布线拥塞,wg是边界上布线所需要的容量。
7.根据权利要求1所述的基于强化学习的集成电路布局优化方法,其特征在于,所述根据返回的布局策略对所有宏单元进行布局,包括:在宏单元的四周按宏单元的长扩大为原来的a倍,宽扩大为原来的b倍;Bottom‑Left‑mFill算法按第m次迭代生成的输出序列U中宏单元的先后顺序依次放置经过上述处理后的宏单元,每个经过处理后的宏单元在初始阶段放置到区域的右上方,并使其不断交替地向下向左移动,直至经过处理后的宏单元在当前所处位置不能继续移动。
8.根据权利要求1所述的基于强化学习的集成电路布局优化方法,其特征在于,所述根据宏单元的布局结合基于电场能的布局方法对所有标准单元进行全局布局,包括:把布局问题建模作为一个二维独立的静电系统,将布局区域、宏单元和标准单元构成一个静电系统。每个标准单元或宏单元被转换为一个带正电荷的粒子,并将单元分布的密度约束视为总势能约束;然后基于给定的电荷密度分布和静电平衡,使用泊松方程对电势和电场分别建模;基于电场能的布局方法可以快速计算电势和电场分布,在电场力的作用下每个单元分向外分散,直到静电平衡,即为标准单元和宏单元寻找到最佳摆放位置,从而在最小化线长的同时快速扩散所有单元,完成全局布局。
9.根据权利要求1所述的基于强化学习的集成电路布局优化方法,其特征在于,所述总体布线器将具有相同电位的引脚用线路连接在一起;总体布线器以最小化单元内的拥塞和溢出进行布线设计,同时最小化线长:首先总体布线器定义了总体布线单元:将布局区域划分为大小规律的网格,其中每一个网格就是一个总体布线单元;
将总体布线单元作为布线参考网格,利用总体布线器对划分后的网格进行布线,布线器在布线时会试图寻找两个布线单元连接的最短路径。
10.根据权利要求1所述的基于强化学习的集成电路布局优化方法,其特征在于,所述判断强化学习的目标函数是否满足设计目标;不满足设计目标时,更新强化学习的网络参数,包括:由试错法得到设计的目标值A,A为常数,将A作为强化学习是否达到设计要求的判断条件;如果强化学习的目标函数 大于等于参数A,就输出当前布局结果;
不满足设计目标时,计算奖励函数Rm,然后计算Actor网络梯度dθm和Critic网络梯度dωm,从而更新强化学习的网络参数。