当前位置: 首页 > 专利查询>之江实验室专利>正文

一种基于深度强化学习的2.5D总体布线方法和系统技术方案

技术编号:38137832 阅读:8 留言:0更新日期:2023-07-08 09:50
一种基于深度强化学习的2.5D总体布线方法,包含:步骤1:压缩,将3D总体布线问题压缩为2D总体布线问题;步骤2:数据预处理,包括将多引脚线网按半周长模型升序排序,然后基于直角Steiner最小树算法做拆解,线网拆解的子网再排序。步骤3:基于深度强化学习针对步骤2获得的两引脚对数据点对点布线,获得2D的总体布线方案,若布线方案有溢出,输出拥塞信息;否则执行步骤4。步骤4:通过直角结构层分配技术基于2D的总体布线方案获得3D的总体布线方案。本发明专利技术还包括一种基于深度强化学习的2.5D总体布线系统。本发明专利技术将多层总体布线问题压缩后基于深度强化学习进行求解,再利用层分配技术获得3D总体布线方案,有效降低算力成本并提高总体布线性能。布线性能。布线性能。

【技术实现步骤摘要】
一种基于深度强化学习的2.5D总体布线方法和系统


[0001]本专利技术属于集成电路物理设计领域,是一种基于深度强化学习的2.5D总体布线方法和系统。

技术介绍

[0002]上世纪七十年代以来,集成电路(Integrated circuit,IC)遵循着摩尔定律高速发展,单位面积内的晶体管数量随着时间呈指数增长。随着设计规模不断扩大,需要布线的电路规模达到成千上万的宏单元和几百万个标准单元,给布线工作带来了巨大挑战。总体布线是超大规模集成电路(Very Large Scale Integration,VLSI)物理设计中一个承上启下、极为重要的步骤,其基本目标是实现每个线网内所有电等价引脚的互连并解决布线资源竞争的问题,其结果对最终芯片布线成功与否和芯片性能起到了决定性作用。现代集成电路通常是多层结构,即包含多个金属层,因此,面向多层总体布线问题的求解方案对芯片的设计具有重要的意义。多层总体布线问题求解方法可以分为两大类,分别是2.5D总体布线和3D总体布线。2.5D总体布线是目前的主流求解方法,FastRoute、NTHU

Route和NTUgr等知名布线器均采用2.5D布线方法,即先将3D网格图压缩为2D网格图并执行2D总体布线,然后通过层分配技术基于2D总体布线解决方案获得3D总体布线解决方案。大量高性能总体布线器已经证明2.5D总体布线策略能够在运行时间和布线质量之间取得较好的平衡。3D总体布线则是直接在3D网格图上进行布线路径搜索,在一些求解目标上能够获得更好的求解效果,但是计算量非常大,求解十分耗时。
[0003]近年来,一些基于机器学习的技术已被应用于加速多层总体布线问题求解,最新的研究成果中已有学者实现了基于深度强化学习的3D总体布线算法。然而,直接在三维空间中进行布线路径搜索,计算量非常大导致求解十分耗时,对于大规模问题该算法无法在合理的时间内输出可行的布线方案。

技术实现思路

[0004]为克服现有技术存在的不足,本专利技术提供了一种采用2.5D布线策略的基于深度强化学习的总体布线方法,旨在合理的时间内有效处理规模达几万至几百万个线网的布线问题。深度强化学习在处理复杂、顺序的决策问题方面表现出了极大的潜力,拥有自学习机制,能够对解空间进行充分的搜索,且能够通过控制参数平衡探索与利用,本专利技术利用深度强化学习的该优势为超大规模集成电路总体布线问题提供一种2.5D解决方案。
[0005]为了实现上述任务,本专利技术采用以下技术方案:
[0006]一种基于深度强化学习的2.5D总体布线方法,其技术方案的流程图见图1,具体包括以下步骤:
[0007]步骤1,确定芯片的布线区域、网格大小、设计规则以及给定的线网集合,并将3D总体布线问题压缩为2D总体布线问题。具体的,对于给定的线网集合,将其引脚集合按照所在的总体布线单元映射到2D的总体布线图上对应的顶点。然后,将各个金属层中边的容量累
加映射到2D的总体布线图上。
[0008]步骤2,对线网数据进行预处理,将其拆解为一组有序的两引脚子网,如图2所示,便于后续步骤对问题进行求解。
[0009]具体为,首先通过半周长模型计算每一个线网的估计总线长,然后对所有线网按照估计总线长升序排序。排序完成后,针对每一个线网,采用直线Steiner最小树生成算法将其拆解为一组两引脚子网,组内再按照两引脚的曼哈顿距离升序排序。全部线网拆解完成后获得一队有序的两引脚对。
[0010]进一步的,线网n
i
的半周长是指包含该线网中所有引脚Vi的最小矩形的半周长,计算表达式为:
[0011][0012]其中,分别表示所有引脚的最大和最小横坐标,则分别表示最大和最小纵坐标。
[0013]步骤3:基于深度强化学习针对步骤2获得的两引脚对数据点对点布线,获得2D的总体布线方案,若布线方案有溢出,输出拥塞信息;否则执行步骤4。步骤3中包含3小步,分别是步骤3.1、3.2、3.3.
[0014]步骤3.1:搭建深度强化学习模型,根据2D总体布线问题特点定义智能体的动作空间A、状态空间S和奖励函数R。
[0015]动作编码具体如下:总体布线是在二维的总体布线图中进行,受设计规则约束,布线要么水平要么垂直,因此用一个从0到3的整数表示动作a∈A,分别对应二维空间中从当前状态移动的四个方向(东南西北)。
[0016]状态编码具体如下:将状态s∈S编码为一个12维的向量[s0,s1,

,s
11
]。s0~s1是环境中当前智能体位置的x、y坐标;s2~s3是从智能体当前所在位置到目标引脚位置在x、y方向上的距离;s4~s7是当前位置分别往东南西北四个方向移动的可行性信息;s8~s
11
是当前位置分别往东南西北四个方向移动需通过的边的容量信息。这种编码方案综合了当前位置、导航信息和边的容量信息。
[0017]奖励函数设计具体如下:智能体每次解决一个两引脚对问题,在该过程中的奖励定义为如下所选动作和下一个状态的函数R(a,s

),
[0018][0019]其中,a代表智能体选取的动作,s

代表智能体执行动作a后的状态;k为网格图的半周长,以适应不同规格的网格,具体的,对于一个4
×
4的网格,k=(4+4=8);ss

指智能体从当前位置到下一位置走过的边,of(ss

)是指边的溢出数,具体的,当一条边的使用量超过其给定容量,超过的这部分使用量称为溢出。
[0020]我们希望最终的布线方案中边的溢出尽可能少,因此对发生溢出这种情况进行惩罚。奖励函数的整体设计思路是为了迫使智能体去学习一条溢出尽可能少进而长度尽可能短的路径,因为溢出和多余的动作会导致累积奖励的减少。
[0021]此外,限制智能体在解决每个两引脚问题时可以采取的最大步数为T
max
=4*k。因此,解决一个两引脚问题时,若到达了目标引脚,累积奖励始终在[0,T
max
)之间,否则为

T
max

[0022]步骤3.2:神经网络的预训练。采用传统的A*算法对问题进行求解,然后将其布线过程中的经验元组存入经验回放区,对神经网络的权重进行预训练,加速算法收敛。
[0023]步骤3.3:在预设的训练周期内针对步骤2获得的两引脚对数据点对点布线,生成2D的总体布线方案。若最终获得了无溢出的布线方案,执行步骤4,否则输出拥塞信息。这样设计的目的是为了能够将拥塞信息反馈给布局器,让布局器能够设计出更容易布线的布局方案。毕竟芯片物理设计的各个过程既具有一定的独立性又相互依赖,往往需要反复迭代求解。
[0024]步骤4:通过层分配技术基于2D的总体布线方案获得3D的总体布线方案。基于直角结构层分配算法生成线网的层分配方案,得到3D的总体布线方案。
[0025]一种基于深本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于深度强化学习的2.5D总体布线方法,其特征在于,包含以下步骤:步骤1:确定芯片的布线区域、网格大小、设计规则以及给定的线网集合,将3D网格图压缩为2D网格图;步骤2:对线网数据进行预处理,将其拆解为一组有序的两引脚子网,便于后续步骤对问题进行求解;步骤3:基于深度强化学习针对步骤2获得的两引脚对数据点对点布线,获得2D的总体布线方案,若布线方案有溢出,输出拥塞信息;否则执行步骤4;步骤4:层分配,利用直角结构层分配算法基于2D的总体布线方案获得3D的总体布线方案。2.如权利要求1所述的一种基于深度强化学习的2.5D总体布线方法,其特征在于,步骤1具体包括:1.1对于给定的线网集合,将其引脚集合按照所在的总体布线单元映射到2D的总体布线图上对应的顶点;1.2将各个金属层中边的容量累加映射到2D的总体布线图上。3.如权利要求1所述的一种基于深度强化学习的2.5D总体布线方法,其特征在于,步骤2具体包括:首先通过半周长模型计算每一个线网的估计总线长,然后对所有线网按照估计总线长升序排序。然后,针对每一个线网,采用直线Steiner最小树生成算法将其拆解为一组两引脚子网,组内再按照两引脚的曼哈顿距离升序排序。全部线网拆解完成后获得一队有序的两引脚对。4.如权利要求3所述的一种基于深度强化学习的2.5D总体布线方法,其特征在于,线网n
i
的半周长是指包含该线网中所有引脚V
i
的最小矩形的半周长,计算表达式为:其中,分别表示所有引脚的最大和最小横坐标,则分别表示最大和最小纵坐标。5.如权利要求1所述的一种基于深度强化学习的2.5D总体布线方法,其特征在于,步骤3具体包括:步骤3.1:搭建深度强化学习模型,根据2D总体布线问题特点定义智能体的动作空间A、状态空间S和奖励函数R;步骤3.2:神经网络的预训练。采用传统的A*算法对问题进行求解,然后将其布线过程中的经验元组存入经验回放区,对神经网络的权重进行预训练,加速算法收敛;步骤3.3:在预设的训练周期内针对步骤2获得的两引脚对数据点对点布线,生成2D的总体布线方案。若最终获得了无溢出的布线方案,执行步骤4,否则输出拥塞信息,以便将拥塞信息反馈给布局器,让布局器能够设计出更容易布线的布局方案。6.如权利要求5所述的一种基于深度强化学习的2.5D总体布线方法,其特征在于,步骤3.1中,动作编码具体如下:总体布线是在二维的总体布线图中进行,受设计规则约束,布线要么水平要么垂直,因此用一个从0到3的整数表示动作a∈A,分别对应二维空间中从当前状态移动的四个方向;
状态编码具体如下:将状态s∈S编码为一个12维的向量[s0,s1,

,s
11
]。s0~s1是环境中当前智能体位置的x、y坐标;s2~s3是...

【专利技术属性】
技术研发人员:陈晨张莹戴雨洋刘懿程稳李勇陈光曾令仿
申请(专利权)人:之江实验室
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1