基于离散麻雀搜索优化的X结构绕障Steiner最小树构建方法

文档序号:37368389 发布日期:2024-03-22 10:21 阅读:16 来源:国知局
基于离散麻雀搜索优化的X结构绕障Steiner最小树构建方法

本发明涉及集成电路计算机辅助设计,特别涉及一种基于离散麻雀搜索优化的x结构绕障steiner最小树(obstacle-avoidance x-architecture steinerminimal tree,oaxsmt)构建方法。


背景技术:

1、超大规模集成电路(very large scale integration,vlsi)是一种在单个芯片上集成数千个晶体管的集成电路。随着芯片集成的晶体管规模不断扩大和特征尺寸不断缩小,芯片密度不断提高。这无疑加剧了电路设计复杂度,特别是电路互联设计的复杂度。因为电路互连设计质量很大程度上决定了总电路延迟、功耗和电噪声。其中在超深亚微米工艺中互连延迟更是主导了vlsi技术,极大影响着芯片最终性能。例如,在100nm下mosfet的开关延迟为5ps,而1nm互连的rc响应时间为30ps,差距比为6:1,而在35nm时,差距比将变为100:1。因此,电路互连对高性能vlsi设计提出了新的挑战,如何降低互连延迟是问题的关键。一个直观的方法就是优化互连线长,即减少互连长度。电路互联本质上就是通过适当的互连的方式将节点连接,而steiner最小树问题(steinerminimaltree,smt)即是在连接所有给定节点的情况下,通过引入额外的节点以获得最小的总长度,故smt模型在线长方面拥有良好的优化能力,并能精确评估线长。

2、另一方面,在实际vlsi设计过程中通常会遇到各种各样的障碍,如宏单元、ip块和预先布线的线网。考虑障碍的steiner最小树问题被称为绕障steiner最小树问题(obstacle-avoiding steinerminimal tree,oasmt)。

3、麻雀搜索优化是在2020年]提出的一种受麻雀觅食和反捕食行为启发的群智能优化方法。该方法具有较强的搜索能力,且实现简单、参数少、可扩展性强,特别是在求解np难问题或具有非凸性和不可微特征的复杂问题时展现了良好的应用前景。


技术实现思路

1、本发明的目的在于针对随着布线问题规模不断发展,约束要求不断复杂,如避开ip块等障碍约束使steiner最小树构建更加困难,考虑到x结构在布线问题中展现出的特有优势和麻雀搜索优化在求解np难问题上有良好的应用前景,因此提供一种基于离散麻雀搜索优化的x结构绕障steiner最小树构建方法,能够在满足约束条件的情况下得到一个最小化线长代价的布线方案。

2、为实现上述目的,本发明的技术方案是:一种基于离散麻雀搜索优化的x结构绕障steiner最小树构建方法,包括如下步骤:

3、s1、初始化阶段一:根据问题模型中引脚与障碍位置信息,生成一个为后续步骤提供快速查找的查找表,查找表中记录着任意两个引脚采用任意互联选择后经过障碍数的信息;

4、s2、初始化阶段二:利用混合初始化策略对种群进行初始化,初始化每只麻雀的历史最优位置pi,与最优麻雀个体的位置gbest;

5、s3、基于离散麻雀搜索优化的更新阶段:通过设计离散化的交叉算子与变异算子对麻雀搜索优化方法进行离散化,并用于麻雀群体的迭代更新,将获得的全局最优麻雀个体gbest作为最优布线树;

6、s4、调整阶段:针对得到的gbest中可能存在的违反约束的边应用调整策略,确保其中每条边均能够绕开障碍;

7、s5、精炼阶段:应用一种混合精炼策略,通过基于公共边的局部优化策略与消环策略对gbest进行优化。

8、在本发明一实施例中,所述步骤s1具体实现如下:

9、s11、x结构steiner树编码:

10、定义互连线方式:在x结构下,互连线的连接方式c分为以下四种类型:

11、选择0:先从起点引直角边至伪steiner点,再从伪steiner点引45°或135°的非直角边至终点;

12、选择1:先从起点引45°或135°的非直角边至伪steiner点,再从伪steiner点引直角边至终点;

13、选择2:先从起点引垂直边至伪steiner点,再从伪steiner点引水平边至终点;

14、选择3:先从起点引45°或135°的水平边至伪steiner点,再从伪steiner点引垂直边至终点;

15、s12、设计一种x结构steiner树的边点对编码方案:首先根据顺序为引脚与障碍设置数字编号,然后通过数字串(pqc)n-1f表示最终steiner树,其中p为前驱节点编号,q为后继节点编号,c表示相应边的连接选择,n为线网引脚数,f为相应麻雀的适应度值;

16、s13、设计一个由关联数组组成的查找表,用于保存任意两对引脚间四种连接选择方式所经过的障碍信息;对于每对引脚p和q,计算边pq在通过选择方式c进行连接后经过的障碍数与障碍编号,并将所有这些信息记录在集合{ok}中,构成最终查找表。

17、在本发明一实施例中,所述步骤s2中,混合初始化策略包括基于最小生成树的构建方法与轮盘赌改进的最小生成树构建方法。

18、在本发明一实施例中,所述步骤s3具体实现如下:

19、基于遗传操作的离散麻雀搜索优化:通过将遗传算法与麻雀搜索算法相结合,提出一种基于遗传操作的麻雀搜索优化方法,解决绕障x结构steiner最小树构建这一离散问题;

20、s31、适应度函数设计:

21、x结构绕障steiner最小树即oaxsmt问题的优化目标是线网的总线长,同时生成的布线树需要满足约束条件,即绕过障碍;因此,适应度函数公式同时将布线树总线长与障碍信息纳入考虑,最终适应度公式为

22、

23、其中,c表示布线树tx中的边所穿过的障碍物个数,w表示惩罚权重,len(tx)为tx的线长,l(e)表示布线树tx中边e的长度;相关边的定义如下:

24、oseg(a,b)表示引脚a与引脚b之间的边不经过任何障碍;

25、dseg(a,b)表示引脚a与引脚b之间的边会经过至少一个障碍,但能够通过改变边ab连接的选择方式实现绕障;

26、cseg(a,b)表示引脚a与引脚b之间的边会经过至少一个障碍,但只能通过从障碍物中选择一些角点实现绕障;

27、adseg(a,b)表示在dseg(a,b)基础上改变引脚a与引脚b连接的选择方式来避开所有障碍物后得到的边ab;

28、acseg(a,b)表示在cseg(a,b)基础上添加角点来避开所有障碍物后得到的边ab;

29、s32、搜索更新:

30、离散化更新公式如下:

31、1)发现者更新公式:

32、

33、其中m代表变异操作,c1、c2、c3分别表示与全局最优、个体历史最优,随机生成的麻雀个体进行的交叉操作,pi表示xi在r2

34、2)参与者更新公式:

35、

36、其中c4表示个体与全局最差个体进行反向交叉操作,qi表示与xw交叉的概率,c5表示个体与发现者最优个体交叉;

37、3)侦察者更新公式:

38、

39、其中fg为全局最优解xg的适应度值,有fg≤fi,m1=pi,m2=qi分别表示侦查者变异操作概率;

40、搜索更新结束之后,将所获得的最终种群全局最优粒子作为候选x结构steiner布线树。

41、在本发明一实施例中,所述变异操作通过变换引脚间的互连线来增加算法的随机性和全局搜索能力,即从生成树中随机选中两条边,对这两条边分别进行pse变换和e变换;其中pse变换操作步骤为删除相应边并随机生成一条新的边替换,新生成的边随机选择采用的连接方式;e变换为删除相应边后保留其连接方式,并使用该连接方式随机生成一条新边;pse变换和e变换在每删除一条边后,扫描剩余边并通过并查集将所有的引脚划分为两个集合,后分别从这两个集合中随机选择一个引脚构成新产生的边,形成一棵新的生成树;

42、所述交叉操作包括:

43、正向交叉算子:正向交叉运算保留两颗布线树的公共边,并随机选择剩余边构成新的布线树;首先,根据两棵布线树中引脚序号从小到大对所有的边进行排序;其次,保留两棵布线树的共同边作为交叉后新布线树的边,将剩余的边存储在一个剩余边集合中;最后从剩余边集合中随机选取边加入新布线树,直到构成一棵完整的新无环布线树,且在随机选取边的过程中采用并查集策略避免出现环;

44、反向交叉算子:与正向交叉算子不同之处仅在于第二步骤,即在不构成环的情况下保留两棵布线树不同边作为交叉后新布线树的边,将剩余的边存储在一个剩余边集合中。

45、在本发明一实施例中,所述步骤s4具体实现如下:

46、由于步骤s3所得的得到的布线树中可能存在dseg(a,b)与cseg(a,b)两类违反约束的非法边;针对这两种非法边,提出一种调整策略以使其合法化,具体实现步骤如下:

47、s41、基于查找表检查gbest中的每一条边pq是否避开所有障碍,若是则重复此步骤检查下一条边,直到最后一条边,否则执行步骤s42;

48、s42、根据查找表来检查边pq是否能够采用选择0或选择1以实现避障,若是则将pq的的连接方式替换为符合条件的选择方式,否则删除边pq后执行步骤s43;

49、s43、根据查找表列出边pq所经过的障碍b={b1,b2,…,bn},计算p与b中心之间的距离d={di1,di2,…,din},并根据d对升序距离对b进行排序得到b'={b'1,b'2,…,b'n},设当前起点s=p;

50、s44、从b'k中选择距离直线sq最近的一个角点,记为c;计算边sc的连接信息添加到查找表中;基于选择0与选择1的优先级高于选择2与选择3的准则,确定最终sc的连接方式并将s设为c;若k=n则执行步骤s45,否则k=k+1并重复次步骤;

51、s45、计算sq的连接信息并添加到查找表中,并优先采用选择0或选择1连接sq。

52、在本发明一实施例中,所述步骤s5具体实现如下:

53、s51、基于公共边的局部优化策略

54、1)扫描gbest的每条边,统计每个引脚的度数及其邻接引脚;

55、2)对于每个引脚pi,若pi度数为d,则先枚举pi所有的布线选择组合,即4d种,再从中选择具有最小线长的组合;

56、s52、消环策略

57、设两条边的起点分别为p1与p2,终点分别为p3与p4;根据交点位置的情况,将交叉问题划分为两种情况:(1)交点为某一引脚;(2)引入交点为steiner点;针对第(1)种情况,通过连接该引脚与其他相关引脚来消除;针对第(2)种情况,通过将交点作为新steiner点并连接相关引脚来解决。

58、在本发明一实施例中,在新生成的结构中,应该保证新的布线选择组合能够最大化公共边线长。

59、相较于现有技术,本发明具有以下有益效果:本发明设计一种基于离散麻雀搜索优化的绕障x结构steiner最小树构建方法,能够在满足约束条件的情况下得到一个最小化线长代价的布线方案。

当前第1页 1 2
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1