本发明专利技术涉及一种基于深度强化学习的X结构绕障Steiner最小树方法,包括以下三个阶段:预处理阶段,基于最小生成树算法来简化多引脚线网问题,构建MST;布线主阶段,利用MST来建立DRL中智能体训练的环境,最后利用训练好的智能体来完成布线,得到XSMT,然后根据绕障策略来完成绕障得到OAXSMT;后处理阶段,利用DFS算法对OAXSMT进行拆环得到布线结果,并计算布线结果的线长。本发明专利技术能快速有效的获取最优布线结果,提高超大规模集成电路物理设计效率。提高超大规模集成电路物理设计效率。提高超大规模集成电路物理设计效率。
【技术实现步骤摘要】
基于深度强化学习的X结构绕障Steiner最小树方法
[0001]本专利技术涉及一种基于深度强化学习的X结构绕障Steiner最小树方法。
技术介绍
[0002]随着超大规模集成电路物理设计日益复杂,单位面积内的晶体管数量随着技术进步呈指数级增长,超大规模集成电路物理设计需要更有效的电子设计自动化工具。作为NP难问题的总体布线是超大规模集成电路物理设计的重要步骤,所涉及的问题难度高,随着宏模块等许多可重复使用的组件不断集成,总体布线对XSMT的绕障能力的需求日益增加。
技术实现思路
[0003]有鉴于此,本专利技术的目的在于提供一种基于深度强化学习的X 结构绕障Steiner最小树方法,能快速有效的获取最优布线结果,提高超大规模集成电路物理设计效率。
[0004]为实现上述目的,本专利技术采用如下技术方案:
[0005]本专利技术与现有技术相比具有以下有益效果:
[0006]一种基于深度强化学习的X结构绕障Steiner最小树方法,包括以下三个阶段:
[0007]预处理阶段,基于最小生成树算法来简化多引脚线网问题,构建 MST;
[0008]布线主阶段,利用MST来建立DRL中智能体训练的环境,最后利用训练好的智能体来完成布线,得到XSMT,然后根据绕障策略来完成绕障得到OAXSMT;
[0009]后处理阶段,利用DFS算法对OAXSMT进行拆环得到布线结果,并计算布线结果的线长。
[0010]进一步的,所述预处理阶段,提取的线网基本信息包含引脚坐标集合,障碍物坐标集合,利用引脚坐标构造的晶格映射表,并利用 Prim算法来构造MST。
[0011]进一步的,所述智能体采用深度Q网络,通过模拟智能体与环境进行交互,从环境中获取不同收益,以训练智能体来寻找最高收益的解,具体为:
[0012]对于每一个双引脚问题,环境向网络提供状态信息;
[0013]然后,智能体对状态的每一个可能的动作(a0,a1,a2,a3)的Q值进行估计;
[0014]最后根据ε
‑
贪婪算法选择下一步需要执行的动作,并去环境中继续观察下一个状态。
[0015]进一步的,所述深度Q网络中预设要素,包括
[0016]状态空间,状态定义为一个4维向量,前两个元素是智能体当前状态的起点的直角坐标,后两个元素是终点的坐标;
[0017]动作空间,动作代表MST中邻接点之间的布线方式;
[0018]奖励,根据选择的动作得到的当前布线线路共享和线长减小情况来决定奖励,如下公式(3):
[0019][0020]进一步的,所述ε
‑
贪婪算法,具体为:在四种动作中随机选择一种连接动作来连接引脚,使得智能体更加大胆的去尝试未被发现的可能更优的解决方案,贪心策略即根据现有的经验选择Q值最大的布线动作,该策略定义为如下公式(4):
[0021][0022]进一步的,所述深度Q网络包含2个全连接层,其中隐藏层包含32个神经元,其后有一个修正线性单元激活层;输入层的大小为 4,其与状态向量的长度设置相同;输出层的大小为4,其与动作空间的大小相同。
[0023]进一步的,所述绕障策略具体为:
[0024]根据XMST,按照穿障判断策略先对XMST进行穿障判断,然后进行模拟绕障来对绕障线路可能穿过的障碍物进行判断,从而得到对XMST进行绕障时需要考虑的所有障碍物,之后通过迭代对绕障顺序进行确定,直到找到合适的绕障顺序;
[0025]然后根据预设需求选取虚拟Steiner点加入XMST;
[0026]最后按照给定的四种基本连接动作完成绕障。
[0027]进一步的,所述穿障判断策略,对XSMT中的点与点间的基本连接动作进行穿障判断,首先将连接动作提取为一个个的线段,然后通过以下方法判断线段与障碍物的关系:
[0028]判断线段的端点是否在矩形障碍物内部,若有一端点存在于内部,则穿过此障碍物;
[0029]若端点都不在障碍物内部,通过判断线段构成的矩形O1与矩形障碍物O2是否相交,若不相交则AS不穿过此障碍物O2;
[0030]若上述的两矩形相交,分别判断线段AS与矩形障碍物主对角、副对角线,即蓝线部分是否相交,若相交则穿过此障碍物,否则不穿过此障碍物。
[0031]进一步的,所述模拟绕障具体为:对当前已经判断为穿过的障碍物,按所有绕障顺序,都进行一次选取虚拟Steiner点进行绕障,若本次模拟绕障是为了找到绕障线路导致穿过新的障碍物,则将穿过的新的障碍物加入绕障集合,若本次模拟绕障是为了找到合适的绕障顺序,则在模拟绕障成功时返回当前绕障顺序。
[0032]进一步的,所述拆环处理,具体为:将所有线段的交点、虚拟 Steiner点和引脚点,加入点集,利用邻接矩阵存储各点间的连接关系,通过DFS对整个图进行遍历,利用visit数组记录访问记录,当重复访问已访问的点时,即出现环,删除该边,从而完成线路的拆环。
[0033]本专利技术能快速有效的获取最优布线结果,提高着超大规模集成电路物理设计效率。
附图说明
[0034]图1是本专利技术一实施例中布线动作(a)动作0,(b)动作1;
[0035]图2是本专利技术一实施例中布线动作(a)动作2,(b)动作3;
[0036]图3是本专利技术一实施例中一个X结构绕障Steiner树;
[0037]图4是本专利技术一实施例中算法整体流程图;
[0038]图5是本专利技术一实施例中DRL布线器的总体流程;
[0039]图6是本专利技术一实施例中绕障器的算法流程;
[0040]图7是本专利技术一实施例中穿障判断第一步;
[0041]图8是本专利技术一实施例中穿障判断第二步;
[0042]图9是本专利技术一实施例中穿障判断第三步;
[0043]图10是本专利技术一实施例中判断线段相交;
[0044]图11是本专利技术一实施例中虚拟Steiner点选择与绕障;
[0045]图12是本专利技术一实施例中整个绕障算法伪代码。
具体实施方式
[0046]下面结合附图及实施例对本专利技术做进一步说明。
[0047]请参照图1
‑
12,本专利技术提供一种基于深度强化学习的X结构绕障Steiner最小树方法,包括以下三个阶段:
[0048]预处理阶段,提取的线网基本信息包含引脚坐标集合,障碍物坐标集合,利用引脚坐标构造的晶格映射表。为了分解多引脚线网,将多引脚线网问题简化双引脚线网问题,本专利技术的算法利用Prim来构造 MST。如公式(1)与(2),本专利技术中的Prim算法不仅仅考虑了点与点之间的距离花费即利用两点横坐标之差与纵坐标之差的和来表示,更考虑了障碍物对于花费的影响来对绕障策略进行优化;
[0049]布线主阶段,利用上一阶段构造的MST来建立DRL中智能体训练的环境,最后利用训练好的智能体来完成布线,得到XSMT。然后基于绕障策略来完成绕障得到本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种基于深度强化学习的X结构绕障Steiner最小树方法,其特征在于,包括以下三个阶段:预处理阶段,基于最小生成树算法来简化多引脚线网问题,构建MST;布线主阶段,利用MST来建立DRL中智能体训练的环境,最后利用训练好的智能体来完成布线,得到XSMT,然后根据绕障策略来完成绕障得到OAXSMT;后处理阶段,利用DFS算法对OAXSMT进行拆环得到布线结果,并计算布线结果的线长。2.根据权利要求1所述的基于深度强化学习的X结构绕障Steiner最小树方法,其特征在于,所述预处理阶段,提取的线网基本信息包含引脚坐标集合,障碍物坐标集合,利用引脚坐标构造的晶格映射表,并利用Prim算法来构造MST。3.根据权利要求1所述的基于深度强化学习的X结构绕障Steiner最小树方法,其特征在于,所述智能体采用深度Q网络,通过模拟智能体与环境进行交互,从环境中获取不同收益,以训练智能体来寻找最高收益的解,具体为:对于每一个双引脚问题,环境向网络提供状态信息;然后,智能体对状态的每一个可能的动作(a0,a1,a2,a3)的Q值进行估计;最后根据ε
‑
贪婪算法选择下一步需要执行的动作,并去环境中继续观察下一个状态。4.根据权利要求3所述的基于深度强化学习的X结构绕障Steiner最小树方法,其特征在于,所述深度Q网络中预设要素,包括状态空间,状态定义为一个4维向量,前两个元素是智能体当前状态的起点的直角坐标,后两个元素是终点的坐标;动作空间,动作代表MST中邻接点之间的布线方式;奖励,根据选择的动作得到的当前布线线路共享和线长减小情况来决定奖励,如公式(3)5.根据权利要求3所述的基于深度强化学习的X结构绕障Steiner最小树方法,其特征在于,所述ε
‑
贪婪算法,具体为:在四种动作中随机选择一种连接动作来连接引脚,使得智能体更加大胆的去尝试未被发现的可能更优的解决方案,贪心策略即根据现有的经验选择Q值最大的布线动作,该策略定义为如下公式(4):6.根据权利要求3所述的基于深度强化学习的X结构绕障Steiner最小树方法,其特征在于,所述深度Q网络包含2个全连接层...
【专利技术属性】
技术研发人员:刘耿耿,游杰,杨礼亮,郭文忠,
申请(专利权)人:福州大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。