CN111339726B - 考虑电压转换速率的X结构Steiner树构造方法 - Google Patents

考虑电压转换速率的X结构Steiner树构造方法 Download PDF

Info

Publication number
CN111339726B
CN111339726B CN202010120331.4A CN202010120331A CN111339726B CN 111339726 B CN111339726 B CN 111339726B CN 202010120331 A CN202010120331 A CN 202010120331A CN 111339726 B CN111339726 B CN 111339726B
Authority
CN
China
Prior art keywords
steiner tree
obstacle
wiring
particle
steiner
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.)
Active
Application number
CN202010120331.4A
Other languages
English (en)
Other versions
CN111339726A (zh
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.)
Fuzhou University
Original Assignee
Fuzhou University
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 Fuzhou University filed Critical Fuzhou University
Priority to CN202010120331.4A priority Critical patent/CN111339726B/zh
Publication of CN111339726A publication Critical patent/CN111339726A/zh
Priority to PCT/CN2020/134415 priority patent/WO2021169468A1/zh
Application granted granted Critical
Publication of CN111339726B publication Critical patent/CN111339726B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement

Abstract

本发明涉及一种考虑电压转换速率的X结构Steiner树构造方法,包括以下步骤:S1)生成初始的Steiner树结构;S2)预先处理及记忆引脚与障碍之间的信息;S3)采用离散粒子群优化算法优化Steiner树结构,通过包括速度更新、自我感知及群体感知的粒子更新过程,得到优化的Steiner树结构;S4)对Steiner树结构进行局部优化,使其局部结构达到最优,以进一步缩短布线线长;S5)通过混合修正策略,对Steiner树结构中违反约束的部分进行调整,使Steiner树满足电压转换速率约束,得到最终的Steiner树结构。该方法有利于在满足电压转换速率约束的同时,优化布线线长。

Description

考虑电压转换速率的X结构Steiner树构造方法
技术领域
本发明属于集成电路计算机辅助设计技术领域,具体涉及一种考虑电压转换速率的 X结构Steiner树构造方法。
背景技术
Steiner树构造问题是大规模集成电路物理设计中的一个基本问题。Steiner树在布线阶段可用于构造线网的初始拓扑,在布图规划和布局阶段,可以估算线网总线长、拥挤度和时延值,也可以用于一些重要线网的布线,如电源(VDD)和地线(GND)布线。Steiner 树构造问题是一个NP-完全问题,因此无法在多项式时间内构造出最优解。而且在实际布线中,布线区域内存在大量布线障碍,如:预布线的线网、宏单元、以及知识产权保护模块,障碍内部并不严格禁止布线穿过,合理利用障碍内布线资源,可以大大缩短线长,提高芯片性能。
发明内容
本发明的目的在于提供一种考虑电压转换速率的X结构Steiner树构造方法,该方法有利于在满足电压转换速率约束的同时,优化布线线长。
为实现上述目的,本发明采用的技术方案是:一种考虑电压转换速率的X结构Steiner树构造方法,包括以下步骤:
S1)初始化:生成初始的Steiner树结构;
S2)预处理:预先处理及记忆引脚与障碍之间的信息,以为后面阶段中判断布线是否穿过障碍及计算节点电压转换速率节约时间;
S3)PSO搜索:采用离散粒子群优化算法优化Steiner树结构,在设定的迭代次数下,通过包括速度更新、自我感知及群体感知的粒子更新过程,得到优化的Steiner树结构;
S4)局部优化:对优化后的Steiner树结构进行局部优化,使Steiner树的局部结构达到最优,以进一步缩短布线线长,达到全局线长优化;
S5)混合修正:通过包括比较沿障调整策略和总体调整策略的混合修正策略,选择较佳的修正策略,对Steiner树结构中违反约束的部分进行调整,使Steiner树满足电压转换速率约束,得到最终的Steiner树结构。
进一步地,所述步骤S1的具体方法为:首先将Steiner树的边用引脚对方式进行编码,将树的每条边用三位数进行编码,前两位数表示连接的两个引脚序号,第三位表示两引脚间的布线选择,对于整个布线解用适应值评估质量;然后采用Prim算法生成初始的Steiner树结构,以减小下一阶段的收敛时间,最后初始化粒子群种群,并设置相关参数。
进一步地,所述步骤S2的具体方法为:预先处理引脚与障碍之间的信息,并生成两张预查表:经障判断表与障碍信息记录表,所述经障判断表记录布线是否经过障碍,所述障碍信息记录表记录经过障碍的布线与所经过的障碍之间的信息。
进一步地,所述步骤S3的具体方法为:PSO是基于种群的一种算法,种群的每个粒子都是优化问题的潜在解,每个粒子都有决定自身飞行的方向和距离的速度和评定自身位置优劣的适应值,粒子通过两个最优粒子来更新自己:一个是当前迭代中自身搜索到的个体最优粒子,另一个是当前迭代中种群搜索到的全局最优粒子;粒子位置更新包括三个部分:速度更新、个体经验感知和全局经验感知,所述粒子位置更新公式如下所示:
Figure BDA0002392768180000021
其中,
Figure BDA0002392768180000022
表示第i个粒子进行第t次位置更新,ω是惯性权重,表示粒子进行变异操作的概率,c1、c2是加速因子,表示粒子进行交叉操作的概率,F1为个体经验感知, F2为全局经验感知,V为速度更新;
速度更新用于防止离散粒子群优化算法陷入局部最优收敛,具体公式如下所示:
Figure BDA0002392768180000023
其中,
Figure BDA0002392768180000024
表示第i个粒子进行第t次速度更新,M表示变异操作,r1为区间(0,1)内的随机数;
个体经验感知是粒子与粒子历史最佳位置进行学习的过程,具体公式如下所示:
Figure BDA0002392768180000025
其中,
Figure BDA0002392768180000026
表示第i个粒子进行第t次个体感知,C表示交叉操作,r2为区间(0,1)内的随机数;
全局经验感知是粒子与种群当前最佳位置进行学习的过程,具体公式如下所示:
Figure BDA0002392768180000031
其中,r3为区间(0,1)内的随机数;
将线长作为离散粒子群优化算法的适应值,对于穿过障碍但不满足约束的布线,进行一定惩罚以减少该类型布线产生,惩罚函数公式为:
Figure BDA0002392768180000032
其中,P(T)表示Steiner树的惩罚函数,(i,j)表示引脚对,T表示一棵具体的Steiner 树,k表示惩罚因子,XDis(i,j)表示引脚对(i,j)的布线的实际长度;
对于离散粒子群优化算法的参数设定,在搜索前期采用较大的惯性权重w、较大的c1及较小的c2而在搜索后期采用较小的惯性权重w、较小的c1及较大的c2,参数更新公式为:
Figure BDA0002392768180000033
Figure BDA0002392768180000034
Figure BDA0002392768180000035
其中,wnew、wstart、wend分别表示惯性权重w的当前值、开始值、结束值,
Figure BDA0002392768180000036
Figure BDA0002392768180000037
分别表示加速因子c1的当前值、开始值、结束值以及加速因子c2的当前值,eval表示当前迭代次数,evals表示总迭代次数。
进一步地,所述步骤S4的具体方法为:将Steiner树结构中每个引脚看做一个局部Steiner树的根节点,将该引脚的相邻引脚看做局部Steiner树的叶子节点,通过遍历局部Steiner树的根节点与不同叶子节点的布线选择组合搭配,选择对于全局线长最短的局部Steiner树结构,以通过使Steiner树的局部结构达到最优实现全局优化目的。
进一步地,所述步骤S5的具体方法为:通过混合修正策略对Steiner树结构中违反约束的部分进行调整,所述混合修正策略包括沿障调整策略与总体调整策略,对于布线中违反约束的片段,所述沿障调整策略沿着所在的障碍进行绕障处理,所述总体调整策略则从布线经过的障碍的角点中选择距离两个待连接端点构成的连线最近的角点作为伪Steiner点进行连接绕障;设定判断条件,对于满足判断条件的布线采用沿障调整策略进行调整,不满足的采用总体调整策略进行调整;用于判断的判断函数为:
Figure BDA0002392768180000041
其中0表示沿障调整策略,1表示总体调整策略;len1和len2为设定的两个参考值,其计算方法为:
Figure BDA0002392768180000042
len2=|max(set(xi1))-min(set(xi2))|+|max(set(yi1))-min(set(yi2))|
其中,i为障碍的序号,li表示片段在障碍i内的长度,xi1、yi1表示矩形障碍左上角角点的横坐标与纵坐标,xi2、yi2表示矩形障碍左右下角角点的横坐标与纵坐标,set表示布线经过的所有障碍的集合,set(oi)表示布线经过的障碍的集合。
相较于现有技术,本发明具有以下有益效果:提出了一种考虑电压转换速率约束的 X结构Steiner树构造方法,该方法首先通过预处理,避免了频繁的电压转换速率的计算,再采用离散粒子群优化算法优化Steiner树结构,通过设置惩罚机制,在一定的迭代次数下,得到一个较优的Steiner树结构,然后通过局部优化,使Steiner树的布线长度进一步得到减少,最后通过混合修正策略,对Steiner树结构中违反约束的部分进行调整,从而在有效满足电压转换速率约束的同时,优化了布线线长,具有很强的实用性和广阔的应用前景。
附图说明
图1是本发明实施例中三引脚X结构Steiner树示意图。
图2是本发明实施例中电阻电容组合模型示意图。
图3是本发明实施例中内部树建模为电容电阻电路示意图。
图4是本发明实施例中混合修正策略示意图。
图5是本发明实施例中变异操作示意图。
图6是本发明实施例中交叉操作示意图。
图7是本发明实施例中三节点局部Steiner树优化示意图。
图8是本发明实施例的方法实现流程图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步说明。
Steiner树构建模型:
超大规模集成电路物理设计布线阶段中,在Steiner树布线区域中,给定一个布线图G=(P,O),Pi={P1,P2,...,Pn,i=1,2,...,n}为线网上待连接的一组引脚,,Oi={O1,O2,...,Ok,i=1,2,...,k}为线网上的一组矩形障碍,其中每个引脚Pi对应一个二维坐标(x, y)分别表示引脚的横坐标和纵坐标,其中每个障碍Oi对应两个二维坐标(x1,y1),(x2,y2) 分别表示障碍两个对角端点的横坐标和纵坐标,在不违反电压转换速率条件下,构建一棵连接集合Pi中的所有引脚的Steiner最小树。如图1所示为一棵三引脚的Steiner树,其中P={1,2,3},O={A,B,C}。
电压转换速率计算:
在电压转换速率模型下,在内部树的驱动节点前放置缓冲器,而在每个接收节点后放置缓冲器,并将布线中的互连线及缓冲器建模成电阻电容电路,如图2所示(其中,图2(a)为互连线的电容电阻电路建模,图2(b)为缓冲器的电容电阻电路建模)。图3(a) 为一棵带三个节点的内部树,图3(b)为将图3(a)中内部树建模为电容电阻电路,并逐点计算各个接收节点的电压转换速率,具体电压转换速率计算公式如下所示:
Figure BDA0002392768180000051
Figure BDA0002392768180000052
sstep(vi,vj)=α×Dp(vi,vj),α=ln9
Figure BDA0002392768180000053
其中,Kb为缓冲器的固有电压转换速率,Rb为缓冲器电压转换速率阻抗,c为单位电容,Dp为Elmore时延,C表示后继节点的电容和。
Steiner树构造目标:
考虑电压转换速率约束的X结构Steiner最小树构造问题可以描述为:在布线区域上,给定一组引脚Pi={P1,P2,...,Pn}以及一组矩形障碍Oi={O1,O2,...,Ok}。引脚P1为信号源,其他引脚为宿点,引脚不位于障碍内部且障碍之间不重叠。
在确定Steiner树的初始拓扑后,每个障碍中会形成初始的内部树,满足电压转换速率约束是指各个障碍中的最终形成内部树的每个节点的电压转换速率都不高于规定的阈值 。
在满足约束条件下,线长是Steiner树构造问题下最重要的优化目标。因此,本发明的X结构Steiner树构造方法在考虑电压转换速率约束条件下,结合全局收敛的离散粒子群算法,以最小化线长为目标,从而得到一个高质量的考虑电压转换速率约束的X 结构Steiner树。
本发明提出的考虑电压转换速率的X结构Steiner树构造方法,如图8所示,包括以下步骤:
S1)初始化:生成初始的Steiner树结构。
首先将Steiner树的边用引脚对方式进行编码,将树的每条边用三位数进行编码,前两位数表示连接的两个引脚序号,第三位表示两引脚间的布线选择,对于整个布线解用适应值评估质量;然后采用Prim算法生成初始的Steiner树结构,以减小下一阶段的收敛时间,最后初始化粒子群种群,并设置相关参数。
S2)预处理:预先处理及记忆引脚与障碍之间的信息,以为后面阶段中判断布线是否穿过障碍及计算节点电压转换速率节约时间。
在电压转换速率约束模型下Steiner树的构造需要频繁计算电压转换速率,而电压转换速率的计算与线长紧密相关。因此预先处理并记录下引脚与障碍之间的布线信息,能够对PSO搜寻过程以及之后步骤的执行节约大量判断与计算时间。出于该目的,本发明预先处理引脚与障碍之间的信息,并生成两张预查表:经障判断表与障碍信息记录表,用于指导后面的布线。所述经障判断表记录布线是否经过障碍,所述障碍信息记录表记录经过障碍的布线与所经过的障碍之间的信息。
S3)PSO搜索:采用离散粒子群优化算法优化Steiner树结构,在设定的迭代次数下,通过包括速度更新、自我感知及群体感知的粒子更新过程,得到优化的Steiner树结构。
PSO是基于种群的一种算法,种群的每个粒子都是优化问题的潜在解,每个粒子都有决定自身飞行的方向和距离的速度和评定自身位置优劣的适应值。粒子通过两个最优粒子来更新自己:一个是当前迭代中自身搜索到的个体最优粒子,另一个是当前迭代中种群搜索到的全局最优粒子。粒子位置更新包括三个部分:速度更新、个体经验感知和全局经验感知,所述粒子位置更新公式如下所示:
Figure BDA0002392768180000061
其中,
Figure BDA0002392768180000062
表示第i个粒子进行第t次位置更新,ω是惯性权重,表示粒子进行变异操作的概率,c1、c2是加速因子,表示粒子进行交叉操作的概率,F1为个体经验感知, F2为全局经验感知,V为速度更新。
速度更新用于有效防止离散粒子群优化算法陷入局部最优收敛,具体公式如下所示:
Figure BDA0002392768180000071
其中,
Figure BDA0002392768180000072
表示第i个粒子进行第t次速度更新,M表示变异操作,r1为区间(0,1)内的随机数。
个体经验感知是粒子与粒子历史最佳位置进行学习的过程,具体公式如下所示:
Figure BDA0002392768180000073
其中,
Figure BDA0002392768180000074
表示第i个粒子进行第t次个体感知,C表示交叉操作,r2为区间(0,1)内的随机数。
全局经验感知是粒子与种群当前最佳位置进行学习的过程,具体公式如下所示:
Figure BDA0002392768180000075
其中,r3为区间(0,1)内的随机数。
变异操作:
如图5所示,变异操作是在n个节点的Steiner树中,随机从n-1条边中选择一条边删除,将Steiner树分割为两颗子树,并分别随机从两颗子树中选择出两个节点进行连接,使得构成Steiner树保持连接且无环边。本发明中运用并查集来记录点的情况,避免从同一颗子树选择出两个节点,从而导致Steiner树不连接的情况发生。变异算子大大提高了粒子群算法的全局搜索能力。
交叉操作:
如图6所示,交叉操作是从两棵点集相同但边集不同的Steiner树中,将所有的边划分成两个边集。在两棵树中,存在相同的边划分进集合S1,其余的边划分进集合S2。以集合S1中的边作为新树的基本架构,再随机从集合S2中选择合适的边,构成新的连接且无环边Steiner树,并用并查集记录点的连接情况。交叉操作作用于粒子群的个体感知及全局感知部分,是本发明中对Steiner树作为粒子在感知这一概念具体化的过程。
为了评估粒子的质量,线长作为粒子质量最重要的指标,因此将线长作为离散粒子群优化算法的适应值。对于穿过障碍但不满足约束的布线,因为需要花费更大的布线代价进行修复,所以对该类型布线进行一定惩罚以减少该类型布线产生,惩罚函数公式为:
Figure BDA0002392768180000081
其中,P(T)表示Steiner树的惩罚函数,(i,j)表示引脚对,T表示一棵具体的Steiner 树,k表示惩罚因子,XDis(i,j)表示引脚对(i,j)的布线的实际长度,XDis泛指中Steiner树存在违反约束的引脚对。
对于离散粒子群优化算法的参数设定,在搜索前期采用较大的惯性权重w、较大的c1及较小的c2而在搜索后期采用较小的惯性权重w、较小的c1及较大的c2,既保证在前期有较强的全局搜索能力,不易过早的收敛,又保证了在后期能够较快的收敛,不发散于无意义的搜索中,参数更新公式为:
Figure BDA0002392768180000082
Figure BDA0002392768180000083
Figure BDA0002392768180000084
其中,wnew、wstart、wend分别表示惯性权重w的当前值、开始值、结束值,
Figure BDA0002392768180000085
Figure BDA0002392768180000086
分别表示加速因子c1的当前值、开始值、结束值以及加速因子c2的当前值,eval表示当前迭代次数,evals表示总迭代次数。
S4)局部优化:对优化后的Steiner树结构进行局部优化,使Steiner树的局部结构达到最优,以进一步缩短布线线长,达到全局线长优化。
将Steiner树结构中每个引脚看做一个局部Steiner树的根节点,将该引脚的相邻引脚看做局部Steiner树的叶子节点,通过遍历局部Steiner树的根节点与不同叶子节点的布线选择组合搭配,选择对于全局线长最短的局部Steiner树结构,以通过使Steiner树的局部结构达到最优实现全局优化目的。
如图7所示,引脚数为3的局部Steiner树中,引脚A为树的根节点,引脚B、C为叶节点,局部Steiner树中存在共43-1种潜在结构,可以发现图7(i)中,局部Steiner树的结构的线长达到了最短,故选择该结构作为优化的布线结构。
S5)混合修正:通过包括比较沿障调整策略和总体调整策略的混合修正策略,选择较佳的修正策略,对Steiner树结构中违反约束的部分进行调整,使Steiner树满足电压转换速率约束,得到最终的Steiner树结构。
修正的目的是为了解决Steiner树中可能存在部分结构违反约束的情况,并进一步减少线长,提高布线的质量。
对于Steiner树中违反约束的片段,本发明提出一种混合修正策略来进行调整。所述混合修正策略包括沿障调整策略与总体调整策略。对于布线中违反约束的片段,所述沿障调整策略沿着所在的障碍进行绕障处理,所述总体调整策略则从布线经过的障碍的端点中选择合适的点作为伪Steiner点进行连接绕障。图4(a)表示引脚p、q间的布线,沿障调整策略对于布线中存在违反约束的片段,沿着所在的障碍进行绕障处理,得到如图4(b)所示电压转换速率约束为0下基于沿障调整策略的布线。在该策略中需要判断接收节点与驱动节点所处的障碍边,以及节点间沿障碍的最短路径。但该策略在多片段布线中,存在由于布线经过障碍的数量与位置,而引起过多不必要绕障,从而导致线长代价的浪费。针对这种情况,所述总体调整策略从每个布线经过的障碍的角点中选择距离两个待连接端点构成的连线最近的角点作为伪Steiner点进行连接绕障,得到如图4(c) 所示电压转换速率约束为0下基于总体调整策略的布线。在电压转换速率约束阈值较大时,沿障调整策略有一定优势,如图4(d)所示为电压转换速率约束较大下基于沿障调整策略的布线。
设定判断条件,对于满足判断条件的布线采用沿障调整策略进行调整,不满足的采用总体调整策略进行调整。用于判断的判断函数为:
Figure BDA0002392768180000091
其中0表示沿障调整策略,1表示总体调整策略;len1和len2为设定的两个参考值,其计算方法为:
Figure BDA0002392768180000092
len2=|max(set(xi1))-min(set(xi2))| +|max(set(yi1))-min(set(yi2))|
其中,i为障碍的序号,li表示片段在障碍i内的长度,xi1、yi1表示矩形障碍左上角角点的横坐标与纵坐标,xi2、yi2表示矩形障碍右下角角点的横坐标与纵坐标,set表示布线经过的所有障碍的集合,set(oi)表示布线经过的障碍的集合。
以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。

Claims (5)

1.一种考虑电压转换速率的X结构Steiner树构造方法,其特征在于,包括以下步骤:
S1)初始化:生成初始的Steiner树结构;
S2)预处理:预先处理及记忆引脚与障碍之间的信息,以为后面阶段中判断布线是否穿过障碍及计算节点电压转换速率节约时间;
S3)PSO搜索:采用离散粒子群优化算法优化Steiner树结构,在设定的迭代次数下,通过包括速度更新、自我感知及群体感知的粒子更新过程,得到优化的Steiner树结构;
S4)局部优化:对优化后的Steiner树结构进行局部优化,使Steiner树的局部结构达到最优,以进一步缩短布线线长,达到全局线长优化;
S5)混合修正:通过包括比较沿障调整策略和总体调整策略的混合修正策略,选择较佳的修正策略,对Steiner树结构中违反约束的部分进行调整,使Steiner树满足电压转换速率约束,得到最终的Steiner树结构;
所述步骤S2的具体方法为:预先处理引脚与障碍之间的信息,并生成两张预查表:经障判断表与障碍信息记录表,所述经障判断表记录布线是否经过障碍,所述障碍信息记录表记录经过障碍的布线与所经过的障碍之间的信息;
所述步骤S5的具体方法为:通过混合修正策略对Steiner树结构中违反约束的部分进行调整,所述混合修正策略包括沿障调整策略与总体调整策略,对于布线中违反约束的片段,所述沿障调整策略沿着所在的障碍进行绕障处理,所述总体调整策略则从布线经过的障碍的角点中选择距离两个待连接端点构成的连线最近的角点作为伪Steiner点进行连接绕障;设定判断条件,对于满足判断条件的布线采用沿障调整策略进行调整,不满足的采用总体调整策略进行调整。
2.根据权利要求1所述的考虑电压转换速率的X结构Steiner树构造方法,其特征在于,所述步骤S1的具体方法为:首先将Steiner树的边用引脚对方式进行编码,将树的每条边用三位数进行编码,前两位数表示连接的两个引脚序号,第三位表示两引脚间的布线选择,对于整个布线解用适应值评估质量;然后采用Prim算法生成初始的Steiner树结构,以减小下一阶段的收敛时间,最后初始化粒子群种群,并设置相关参数。
3.根据权利要求1所述的考虑电压转换速率的X结构Steiner树构造方法,其特征在于,所述步骤S3的具体方法为:PSO是基于种群的一种算法,种群的每个粒子都是优化问题的潜在解,每个粒子都有决定自身飞行的方向和距离的速度和评定自身位置优劣的适应值,粒子通过两个最优粒子来更新自己:一个是当前迭代中自身搜索到的个体最优粒子,另一个是当前迭代中种群搜索到的全局最优粒子;粒子位置更新包括三个部分:速度更新、个体经验感知和全局经验感知,所述粒子位置更新公式如下所示:
Figure FDA0003494757830000021
其中,
Figure FDA0003494757830000022
表示第i个粒子进行第t次位置更新,ω是惯性权重,表示粒子进行变异操作的概率,c1、c2是加速因子,表示粒子进行交叉操作的概率,F1为个体经验感知,F2为全局经验感知,V为速度更新;
速度更新用于防止离散粒子群优化算法陷入局部最优收敛,具体公式如下所示:
Figure FDA0003494757830000023
其中,
Figure FDA0003494757830000024
表示第i个粒子进行第t次速度更新,M表示变异操作,r1为区间(0,1)内的随机数;
个体经验感知是粒子与粒子历史最佳位置进行学习的过程,具体公式如下所示:
Figure FDA0003494757830000025
其中,
Figure FDA0003494757830000026
表示第i个粒子进行第t次进行个体感知,C表示交叉操作,r2为区间(0,1)内的随机数;
全局经验感知是粒子与种群当前最佳位置进行学习的过程,具体公式如下所示:
Figure FDA0003494757830000027
其中,r3为区间(0,1)内的随机数;
将线长作为离散粒子群优化算法的适应值,对于穿过障碍但不满足约束的布线,进行一定惩罚以减少该类型布线产生,惩罚函数公式为:
Figure FDA0003494757830000028
其中,P(T)表示Steiner树的惩罚函数,(i,j)表示引脚对,T表示一棵具体的Steiner树,k表示惩罚因子,XDis(i,j)表示引脚对(i,j)布线的实际长度;
对于离散粒子群优化算法的参数设定,在搜索前期采用较大的惯性权重w、较大的c1及较小的c2而在搜索后期采用较小的惯性权重w、较小的c1及较大的c2,参数更新公式为:
Figure FDA0003494757830000031
Figure FDA0003494757830000032
Figure FDA0003494757830000033
其中,wnew、wstart、wend分别表示惯性权重w的当前值、开始值、结束值,
Figure FDA0003494757830000034
Figure FDA0003494757830000035
分别表示加速因子c1的当前值、开始值、结束值以及加速因子c2的当前值,eval表示当前迭代次数,evals表示总迭代次数。
4.根据权利要求1所述的考虑电压转换速率的X结构Steiner树构造方法,其特征在于,所述步骤S4的具体方法为:将Steiner树结构中每个引脚看做一个局部Steiner树的根节点,将该引脚的相邻引脚看做局部Steiner树的叶子节点,通过遍历局部Steiner树的根节点与不同叶子节点的布线选择组合搭配,选择对于全局线长最短的局部Steiner树结构,以通过使Steiner树的局部结构达到最优实现全局优化目的。
5.根据权利要求1所述的考虑电压转换速率的X结构Steiner树构造方法,其特征在于,所述步骤S5中,用于判断的判断函数为:
Figure FDA0003494757830000036
其中0表示沿障调整策略,1表示总体调整策略;len1和len2为设定的两个参考值,其计算方法为:
Figure FDA0003494757830000037
len2=|max(set(xi1))-min(set(xi2))|+|max(set(yi1))-min(set(yi2))|
其中,i为障碍的序号,li表示片段在障碍i内的长度,xi1、yi1表示矩形障碍左上角角点的横坐标与纵坐标,xi2、yi2表示矩形障碍右下角角点的横坐标与纵坐标,set表示布线经过的所有障碍的集合,set(oi)表示布线经过的障碍的集合。
CN202010120331.4A 2020-02-26 2020-02-26 考虑电压转换速率的X结构Steiner树构造方法 Active CN111339726B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010120331.4A CN111339726B (zh) 2020-02-26 2020-02-26 考虑电压转换速率的X结构Steiner树构造方法
PCT/CN2020/134415 WO2021169468A1 (zh) 2020-02-26 2020-12-08 考虑电压转换速率的X结构Steiner树构造方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010120331.4A CN111339726B (zh) 2020-02-26 2020-02-26 考虑电压转换速率的X结构Steiner树构造方法

Publications (2)

Publication Number Publication Date
CN111339726A CN111339726A (zh) 2020-06-26
CN111339726B true CN111339726B (zh) 2022-04-05

Family

ID=71183660

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010120331.4A Active CN111339726B (zh) 2020-02-26 2020-02-26 考虑电压转换速率的X结构Steiner树构造方法

Country Status (2)

Country Link
CN (1) CN111339726B (zh)
WO (1) WO2021169468A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111339726B (zh) * 2020-02-26 2022-04-05 福州大学 考虑电压转换速率的X结构Steiner树构造方法
CN112733484B (zh) * 2021-01-22 2022-06-14 福州大学 基于多策略优化的Slew约束下的X结构Steiner树构造方法
CN113935273A (zh) * 2021-09-17 2022-01-14 东科半导体(安徽)股份有限公司 一种低功耗模块的控制信号连接方法
CN113836861B (zh) * 2021-09-27 2024-04-05 福州大学 一种高质量的规避slew违规的层分配方法
CN113807042B (zh) * 2021-09-27 2023-12-26 福州大学 连续微流控生物芯片下基于序列对的流层物理设计方法
CN113919280A (zh) * 2021-10-12 2022-01-11 福州大学 基于两阶段竞争粒子群优化的时延驱动xsmt构建方法
CN114263077B (zh) * 2021-12-17 2023-01-24 无锡荷清数字建筑科技有限公司 一种3d打印模拟河流纹理铺地的建造方法
CN115185211B (zh) * 2022-06-17 2023-08-25 中北大学 一种适用低温振动传感器的动态电源管理系统及方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3351651B2 (ja) * 1995-04-07 2002-12-03 富士通株式会社 会話型回路設計装置
US6591411B2 (en) * 2001-03-15 2003-07-08 International Business Machines Corporation Apparatus and method for determining buffered steiner trees for complex circuits
US20070283301A1 (en) * 2006-06-05 2007-12-06 Karandikar Arvind K System and Method of Eliminating Electrical Violations
CN102096742A (zh) * 2011-02-24 2011-06-15 江苏大学 基于禁忌蚁群混合算法的超大规模集成电路布线设计方法
CN103902775B (zh) * 2014-03-31 2017-02-15 福州大学 超大规模集成电路多层绕障Steiner最小树构造方法
CN105184022B (zh) * 2015-10-21 2018-06-15 福州大学 一种针对多层芯片的高效x结构避障布线器的构造方法
CN107247844B (zh) * 2017-06-10 2020-11-03 福州大学 基于自适应PSO和混合转换策略的X结构Steiner最小树布线方法
CN110795907B (zh) * 2019-09-30 2021-05-18 福州大学 一种考虑布线资源松弛的X结构Steiner最小树构造方法
CN111339726B (zh) * 2020-02-26 2022-04-05 福州大学 考虑电压转换速率的X结构Steiner树构造方法

Also Published As

Publication number Publication date
WO2021169468A1 (zh) 2021-09-02
CN111339726A (zh) 2020-06-26

Similar Documents

Publication Publication Date Title
CN111339726B (zh) 考虑电压转换速率的X结构Steiner树构造方法
US7137097B1 (en) Constraint-based global router for routing high performance designs
Roy et al. High-performance routing at the nanometer scale
Koh et al. Manhattan or Non-Manhattan? A study of alternative VLSI routing architectures
CN111159811B (zh) 地下车库布局方法、装置、设备和存储介质
US20030005398A1 (en) Timing-driven global placement based on geometry-aware timing budgets
WO2000038228A1 (fr) Appareil et procede de cablage brute et support d'enregistrement conservant un programme de cablage brute
CN103324796B (zh) 一种大规模集成电路设计中的绕障直角斯坦纳树构造方法
CN110795908B (zh) 偏差驱动的总线感知总体布线方法
JP2009054172A (ja) 配線処理方法及び配線処理装置並びに配線処理プログラム用記録媒体
CN101957876A (zh) 考虑通孔的基于不均匀网格的多层布线方法
Zhang et al. Simultaneous shield and buffer insertion for crosstalk noise reduction in global routing
US8276110B2 (en) Reducing voltage drops in power networks using unused spaces in integrated circuits
CN115983189A (zh) 一种自适应网格的模拟集成电路版图布线方法及系统
US20040221253A1 (en) ASIC routability improvement
CN112733484B (zh) 基于多策略优化的Slew约束下的X结构Steiner树构造方法
CN113935275A (zh) 时序松弛约束下绕障X结构Steiner最小树构造方法
US20230385501A1 (en) Dvd simulation using microcircuits
Hur et al. Force directed mongrel with physical net constraints
US6912704B1 (en) Method and system for floor planning non Manhattan semiconductor integrated circuits
US20230091004A1 (en) System and method for computer-assisted design of indcutor for voltaged-controlled oscillator
CN117669468A (zh) 基于DQN的绕障矩形Steiner最小树构造方法
US20240086606A1 (en) Method for generating analog schematic diagram based on building block classification and reinforcement learning
Lerner et al. Towards Design Decisions for Genetic Algorithms in Clock Tree Synthesis
JPH08167652A (ja) Lsiのレイアウト設計方法およびその装置

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
GR01 Patent grant
GR01 Patent grant