CN115270693A - 基于动态网格的135度pcb区域布线方法 - Google Patents

基于动态网格的135度pcb区域布线方法 Download PDF

Info

Publication number
CN115270693A
CN115270693A CN202210936270.8A CN202210936270A CN115270693A CN 115270693 A CN115270693 A CN 115270693A CN 202210936270 A CN202210936270 A CN 202210936270A CN 115270693 A CN115270693 A CN 115270693A
Authority
CN
China
Prior art keywords
wiring
cost
node
channel
feasible region
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.)
Pending
Application number
CN202210936270.8A
Other languages
English (en)
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 Xinzhilian Technology Co ltd
Original Assignee
Fuzhou Xinzhilian Technology Co ltd
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 Xinzhilian Technology Co ltd filed Critical Fuzhou Xinzhilian Technology Co ltd
Priority to CN202210936270.8A priority Critical patent/CN115270693A/zh
Publication of CN115270693A publication Critical patent/CN115270693A/zh
Pending legal-status Critical Current

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/394Routing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/04Constraint-based CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2115/00Details relating to the type of the circuit
    • G06F2115/12Printed circuit boards [PCB] or multi-chip modules [MCM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明公开了一种基于动态网格的135度PCB区域布线方法,首先构建串行布线顺序优先级队列,以确定每根线网的布线顺序。继而将板载元件和PCB边界框储存到障碍物列表中,作为每层布线的基础障碍物。然后,根据线网的起始pin位置及障碍物构建动态网格,对构建完成的动态网格,分析边的组成元素,进而得到动态网格非障碍物边。对通道非均匀分段,将每一小段的中心点设置为布线的候选节点加入到候选列表,通过改进的启发式算法寻路得到估计代价最小的节点。根据实时构造的动态网格,执行135度构图方案。最后,对于不能扩展到终点的线网,采用拆线重布机制对已有的线进行调整,进一步提高布线质量。

Description

基于动态网格的135度PCB区域布线方法
技术领域
本发明涉及电子设计自动化技术领域,特别是PCB板上的布线自动化技术,具体涉及一种基于动态网格的135度PCB区域布线方法。
背景技术
PCB区域布线(又称总线布线)是将逃逸线路在组件外部进行对应连接,使走线完整。总线的一组线网期望可以一起走线,保持较一致的拓扑结构。一般走线拐弯的拐角应大于等于135度,以免产生不必要的干扰。在满足各种布线规则的基础上,应该使走线长度尽可能的短,以减少由走线长度带来的时延等问题。
随着集成电路技术的发展,PCB板上的多芯片模块、I/O引脚和各类存储器上的总线结构越来越多,人工手动布线的效率低下,越来越难满足布线需要,于是效率高、布通率高且稳定的自动总线布线算法就成为行业亟需的。
现有的布线算法大多采用网格加寻路算法二者结合的方式进行自动布线。但大部分是基于静态网格,且受每层的布线方向限制,加上考虑容量和拓扑布线等,更容易拥塞。而传统的动态网格是不断更新可布线节点,导致布线角度不一致,给之后的详细布线带来很大的压力。
近年,在PCB区域布线领域,大部分都是基于2018年ICCAD竞赛的区域布线约束所做的研究,在此竞赛的约束中预置了线网布线的布线轨道,并且在同一布线层的不同布线轨道可能有不同的线宽约束。此外,每个层仅有一个布线方向(水平或垂直)和一组障碍物。针对以上约束而设计的方案,主要有以下几种:①基于有向无环图的总线布线算法:它使用LCS(最长公共子序列)总线聚类算法来大大减少总线的数目,从而降低布线的复杂性;使用基于DAG的拓扑匹配在轨总线布线算法在DAG中为总线的每一比特寻找最短路径,所得到的路径满足拓扑匹配约束;使用拆线重布的方法减少布线拥塞和间距冲突。②基于多级框架的总线布线算法:它能够有效的解决不规则轨道金属层上最小间距和最小线宽等实际问题。目标是完成所有总线的布线,为总线的不同比特保持相同的拓扑结构,同时优化总线的线长、段数和紧致性等指标。其算法主要包括基于总线的网格图(BGG)更新、拓扑感知路径规划(TAP)、比特的跟踪分配(TAB)、轨道占用更新和拆线重布(RR)方案等五个步骤。③基于布尔可满足性的总线布线算法:它使用高效的编码方式将物体间的约束编码成子句并且表达成拓扑布尔表达式,用于判定一组物体空间位置的合法性。其高效的编码方式可以显著减少子句数量。给定有若干离散位置{1,2,…,}的一条坐标轴,以及一个物体集合{1,…,},对于物体间的相对位置约束、物体之间不重叠约束、所有物体都要有位置放的约束,可以用SAT求解器来判断是否存在符合这些约束的放置方案,并且给出一个可行解。④考虑线长匹配的总线布线算法:它在同时考虑轨道资源、障碍物等设计约束的情况下,对可布线性、线长和长度匹配进行了优化。算法主要包括布局平面划分、构建总体布线图、pin-access布线段的轨道分配、利用深度优先搜索(DFS)不绕道地为每条总线搜索候选布线路径、对前一阶段每条失败总线采用广度优先搜索(BFS)进行绕道布线、对pin-access布线段上存在间距冲突的总线进行重新布线、最小-最大线长差优化。
以上布线算法为区域布线提供了有效的解决方案,但在工业界,一般情况下PCB板不会提供布线轨道信息,只会提供器件(障碍物)的位置信息、线网信息等,难以满足实际情况下的一般需求。
发明内容
针对现有技术存在的缺陷和不足,本发明从区域布线实际的一般情况出发,为更贴合区域布线的一般应用场景,对解决区域布线问题提供新的方案和算法思想。
有鉴于此,本发明的目的在于针对一般应用场景,提出一种基于动态网格的135度PCB区域布线方法,设计一种自动区域布线算法来解决PCB板区域布线问题,进而提高PCB板区域布线的效率。
其基本思想为:首先构建串行布线顺序优先级队列,以确定每根线网的布线顺序。继而将板载元件和PCB边界框储存到障碍物列表中,作为每层布线的基础障碍物。然后,根据线网的起始pin位置及障碍物构建动态网格,对构建完成的动态网格,分析边的组成元素,进而得到动态网格非障碍物边。对通道非均匀分段,将每一小段的中心点设置为布线的候选节点加入到候选列表,通过A*启发式算法寻路得到估计代价最小的节点。根据实时构造的动态网格,执行135度构图方案。最后,对于不能扩展到终点的线网,采用拆线重布机制对已有的线进行调整,进一步提高布线质量。
该技术方案要点如下:(1)与传统的网格布线不同,该算法在为线网规划路线时采取实时构造动态网格,以便在布线灵活性和运行效率之间进行良好的权衡;(2)在布线过程中,走线拐弯是不可避免的,如果是拐角为直角,在拐角处会产生额外的寄生电容和电感。根据当前构造的动态网格以及节点的位置关系采用了135度构图方案;(3)结合一种新的基于历史成本的改进启发函数,考虑布线拥塞的同时优化可布线性;(4)最后采用一种有效的拆线重布方法对已有布线进行调整,以进一步提高布线质量。
实验结果表明,该算法能够在较快时间内获得较好的布线结果,并且有不错的通用性。
为实现上述目的,本发明采取如下技术方案:
一种基于动态网格的135度PCB区域布线方法,其特征在于,包括以下步骤:
步骤S1:根据线网优先级和引脚距离,构造布线优先队列,确定串行布线顺序,初始化障碍物;
步骤S2:构造可行域,生成通道,由通道得到候选节点;
步骤S3:通过A*启发函数选择布线代价最小的节点;
步骤S4:对可行域进行135度的构图生成中间节点;
步骤S5:对没有布线成功的线网,采用拆线重布的方法以进一步提高布线质量。
进一步地,在步骤S1中;
采用构造预估函数计算每对引脚的布线顺序优先级,进行预处理,计算方法如下:
PN=ω*DN+γ*pc
其中,PN为线网的布线顺序优先级,DN为起始引脚和终止引脚之间的曼哈顿距离,Pc为自定义的参数,可根据实际情况将Pc参数值设置的较大,从而将优先级提高;ω,γ分别为所设定的固定权重,用于平衡两种参数在决定线网最终的布线顺序优先级中的重要程度。
进一步地,在步骤S2中;
按预处理的顺序,读取完下一条待布线的线网的起点后,将其设置为锚点,遍历障碍物列表,用障碍物的边约束当前可行域的大小和形状,使得限制之后的区域在不与任何障碍物相交但可以重叠的条件下,面积最大且不存在任何障碍物,得到一个待迷宫寻路的可行域;
将每次扩展可行域的起始点定义为锚点,锚点始终位于当前可行域之内或边界上;
可行域生成后,遍历可行域的边界Ec,确定可行域边界的组成部分,并判断Ec与障碍物边界Eo的位置关系,按以下规则确定其包含的通道:
若边界Ec与边界Eo存在一定交集,则将Ec中与Eo所重叠的部分进行端点缩减直至两条边不存在交集;
若Ec包含Eo,则将Ec的一端进行缩减,使得两条边不存在交集,同时将被Eo截断的另一段存入队列中;
若Eo包含Ec,则跳过该Ec;
当前可行域的通道全部生成后,对通道采取非均匀分段,把每个线段的中心点设置为候选节点;在通道的两端,为了满足线网之间的间距约束,预留一部分线段,此部分线段不参与候选节点的生成,每个通道的分段按照如下公式进行计算:
Seg_num=min(max_num,len/(distance+bit_width))
式中Seg_num表示当前通道所分的段数;max_num表示为了限制参与迷宫搜索的候选节点的个数所允许的最大段数;len表示当前通道的长度;distance表示线网之间的间距约束;bit_width表示每一层线网的线宽约束。
进一步地,在步骤S3中:
获得候选节点后,采用A*算法规划网络路径,其估价函数的表达式为f(x)=g(x)+h(x);其中,f(x)是当前点x的综合代价;g(x)是从起点沿着当前生成的路径移动到x的真实移动代价;h(x)是x到目标点的估计成本,成本是衡量布线质量的代价和距离;
一般情况下,对于任意两点(x1,y1),(x2,y2),可以通过不同方式进行间距的度量,包括:欧几里德距离、曼哈顿距离和切比雪夫距离,相应的表达式分别如下:
Figure BDA0003782752390000041
DManhatan=|x2-x1|+|y2-y1|
DChebyshev=max(|x2-x1|+|y2-y1|)
但为了更满足135度布线角度的要求,本发明对于当前节点X(x,y),目标点T(x,y),通过改进的切比雪夫距离进行间距的度量,公式如下:
Figure BDA0003782752390000042
式中,Dmin、Dmax分别是当前节点X和目标点T在X或Y坐标轴差值的最小值和最大值;h(x)为当前节点的评估值。
采用改进的A*算法的历史代价函数以控制布线拥塞,将g(x)定义如下:
Figure BDA0003782752390000043
其中,
Figure BDA0003782752390000044
ε,η,μ为算法定义的权重,Cw1为累计已走线长的代价,Cbend为与布线拐角数量成正比的代价,len为当前通道的长度,为了防止布线拥塞,设定优先走len值大的通道,Cdirection代表当前节点在不同方向的代价,设定优先选择趋向于目标点方向的节点,从而提高算法的实时性。
进一步地,在步骤S4中;估计代价最小的节点找到后,综合考虑两节点位置关系及其通道长度在可行域中的各种相对位置后,采用中间节点生成的方式进行135度构图。
进一步地,在步骤S5中;
使用拆线重布的机制对已有的线进行调整;
可行域在扩展时,如果与已布好的线网有一个相交的边界,则作为当前可行域的通道;此时取下一个节点,当下一个节点的可行域为线网型障碍物时,如果没有被标记为检查过,则计算拆除这根已布线网的代价,拆除代价的计算公式如下;
costfactor=costs*width/2
detour=(length+add)/(minlength+add)+itemcost*(wiresegments-1)
ripupcost=costfactor*viafactor/detour
ripupcost∈(1,MAX_RIPUP_COSTS)
式中costs,add为拆线代价设置的基数值,取为100,width为每根线网的宽度,length为要拆除线网起点到目标点的长度,minlength为起点到目标点的欧式距离,detour,costfactor均为影响拆除代价的因子,viafactor为拆除过孔的代价,与不同的层有关,wiresegment为线网的段数;
拆线代价大于等于0,表示该线网可以拆除;对拆线部分得到的节点,其代价函数在原先的估价函数的基础上增加拆除代价,再放回待选择的候选节点列表中;对于拆除的线网,重新添加到待布线网队列,重新根据布线资源进行布线。
本发明及其优选方案与现有技术相比具有以下有益效果:
(1)与传统的网格布线不同,该算法在为线网规划路线时采取实时构造动态网格,以便在布线灵活性和运行效率之间进行良好的权衡;(2)在布线过程中,走线拐弯是不可避免的,如果是拐角为直角,在拐角处会产生额外的寄生电容和电感。本算法根据当前构造的动态网格以及节点的位置关系采用135度构图方案;(3)结合一种新的基于历史成本的改进A*启发函数,考虑布线拥塞的同时优化可布线性;(4)最后采用一种有效的拆线重布方法对已有布线进行调整,以进一步提高布线质量。
附图说明
图1为本发明实施例布线流程图;
图2为本发明实施例扩展可行域示例图;
图3为本发明实施例构造通道的三种情况示例图;
图4为本发明实施例135度构图方法示例图;
图5为本发明拆线重布示例图。
具体实施方式
为让本专利的特征和优点能更明显易懂,下文特举实施例,作详细说明如下:
应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本说明书使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
本实施例提供一种基于动态网格的135度PCB区域布线方法,具体流程如图1所示,主要包括以下步骤:
(1)根据线网优先级和引脚距离,构造布线优先队列,确定串行布线顺序,初始化障碍物。
(2)构造可行域,生成通道,由通道得到候选节点。
(3)对A*寻路启发式进行改进,通过A*启发函数选择布线代价最小的节点。
(4)对可行域进行135度的构图生成中间节点。
(5)对没有布线成功的线网,采用拆线重布的方法来进一步提高布线质量。
请参见图1,图1为本发明基于动态网格的135度PCB区域布线方法流程图。具体如下:
本发明采用构造预估函数计算每对引脚的布线顺序优先级,进行预处理,计算方法如下:
PN=ω*DN+γ*pc
其中,PN为线网的布线顺序优先级,DN为起始引脚和终止引脚之间的曼哈顿距离,Pc为自定义的参数,可根据实际情况将Pc参数值设置得较大,从而将优先级提高。ω,γ分别为所设定的固定权重,用于平衡三种参数在决定线网最终的布线顺序优先级中的重要程度。
根据预估函数得到串行布线顺序后,将板载元件、PCB边界框储存到障碍物列表中,作为每层布线的基础障碍物;另外当前线网已完成的可行域也会作为后续当前线网构造可行域的障碍物;对于已布线网也作为二维的障碍物存入障碍物列表。
在按预处理的顺序,读取完下一条待布线的线网的起点后,将其设置为锚点。如图2所述,S点为构造当前可行域的起点,遍历障碍物列表,用障碍物的边去约束当前可行域的大小和形状,使得限制之后的区域在不与任何障碍物相交(边可以重叠)的条件下,面积最大且不存在任何障碍物,就得到一个待迷宫寻路的可行域,即右下角的区域。本发明将每次扩展可行域的起始点定义为锚点,需要强调的一点,必须确保锚点始终位于当前可行域之内或边界上。
右下角的区域构造完成后,遍历右下角的区域的边界Ec,确定可行域边界的组成部分,并判断Ec与障碍物边界Eo的位置关系,确定其包含的通道。①若边界Ec与边界Eo存在一定交集,则将Ec中与Eo所重叠的部分进行端点缩减直至两条边不存在交集;②若Ec包含Eo,则将Ec的一端进行缩减,使得两条边不存在交集,同时将被Eo截断的另一段存入队列中。③若Eo包含Ec,则跳过该Ec。通道的构造示意图如图3所示。
生成通道后,根据间距约束、障碍物间距和线网宽度对通道进行分段,并将每一段的中心点设置为候选节点,加入到候选节点列表中,位于通道两端要预留一部分线段,此部分线段不参与候选节点的生成。图2示例中,可行域包含的通道为虚线段。每个通道的分段按照如下公式进行计算。
Seg_num=min(max_num,len/(distance+bit_width))
式中Seg_num表示当前通道所分的段数;max_num表示为了限制参与迷宫搜索的候选节点的个数所允许的最大段数;len表示当前通道的长度;distance表示线网之间的间距约束;bit_width表示每一层线网的线宽约束。
获得候选节点后,需要选用一种寻路算法,本实施例选用A*算法来规划网络路径,A*算法在分析时一般用到估价函数,表达式为f(x)=g(x)+h(x)。其中,f(x)是当前点x的综合代价;g(x)是从起点沿着当前生成的路径移动到x的真实移动代价;h(x)是x到目标点的估计成本,成本是衡量布线质量的代价和距离。对于任意两点(x1,y1),(x2,y2),通过不同方式进行间距的度量,主要为欧几里德距离、曼哈顿距离和切比雪夫距离,相应的表达式分别如下:
Figure BDA0003782752390000071
DManhatan=|x2-x1|+|y2-y1|
DChebyshev=max(|x2-x1|+|y2-y1|)
本实施例为了更满足135度布线角度的要求,通过对切比雪夫距离改进来取代原算法中的欧氏距离来解决该问题,公式如下:
Figure BDA0003782752390000081
此外,本实施例对A*算法的历史代价函数做出的相应改进,从而更好的控制布线拥塞,主要体现于子节点的选取问题上,g(x)定义如下:
Figure BDA0003782752390000082
这里的
Figure BDA0003782752390000083
ε,η,μ为算法定义的权重,Cw1为累计已走线长的代价,Cbend为与布线拐角数量成正比的代价,len为当前通道的长度,为了防止布线拥塞,本算法优先走len值大的通道,Cdirection代表当前节点在不同方向的代价,本算法优先选择趋向于目标点方向的节点,从而提高算法的实时性。
估计代价最小的节点找到后,综合考虑两节点位置关系及其通道长度在可行域中的各种相对位置后,采用中间节点生成的方式,本实施例采用135度构图方法,大致分为图4中的八种情况。比如图2可行域的构图示例为图4三中的情况(a)。
当前可行域的中间节点生成后,表示找到父节点前往当前节点C的有向边,将父节点,中间节点存入该线网的路径中,并把当前节点设置为锚点,利用该点所在通道的下一个可行域关键字,确定下一个待切割的可行域,该点也将被更新为下一次动态网格搜索的起点,不断迭代执行以上步骤,直到布线目标点被找到,该条线网的布线节点就全部搜索完成,或者直到达到最大迭代次数。
对无法扩展到终点的线网使用拆线重布的机制进行调整。如图5所示,线网P1.1P1.2为已布线网,线网P2.1P2.2为待布线网。在获取线网P2.1P2.2的起点P2.1后,构造可行域,再遍历候选节点列表,经过检查发现无法扩展到终点P2.2。遍历通道的组成元素,与已布好的二维线网P1.1P1.2有一个相交的边界,也会作为当前可行域的通道。如果没有被标记为检查过,则计算拆除这根已布线网的代价。拆线代价大于等于0,表示该线网可以拆除。对拆线部分得到的节点,其代价函数在原先的估价函数的基础上增加拆除代价,再放回待选择的候选节点列表中。对于拆除的线网,重新添加到待布线网队列,重新根据布线资源进行布线。
本发明提出了一种高效的用于区域布线的PCB布线算法,不同于传统的构造静态网格,本发明首次提出了一种实时构造动态网格的布线算法。基于实时生成的动态网格,本发明采用了一种用于生成135度布线节点的构图方法。为了提高布线效率及拥塞控制,本发明对A*启发式进行了改进,以达到更好的布线效果。另外,为了进一步提高解决方案的质量,我们提出了一种有效的拆线重布机制,实验结果证明了该算法的有效性和灵活性。
以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例。但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。
本专利不局限于上述最佳实施方式,任何人在本专利的启示下都可以得出其它各种形式的基于动态网格的135度PCB区域布线方法,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本专利的涵盖范围。

Claims (6)

1.一种基于动态网格的135度PCB区域布线方法,其特征在于,包括以下步骤:
步骤S1:根据线网优先级和引脚距离,构造布线优先队列,确定串行布线顺序,初始化障碍物;
步骤S2:构造可行域,生成通道,由通道得到候选节点;
步骤S3:通过A*启发函数选择布线代价最小的节点;
步骤S4:对可行域进行135度的构图生成中间节点;
步骤S5:对没有布线成功的线网,采用拆线重布的方法以进一步提高布线质量。
2.根据权利要求1所述的基于动态网格的135度PCB区域布线方法,其特征在于:在步骤S1中;
采用构造预估函数计算每对引脚的布线顺序优先级,进行预处理,计算方法如下:
PN=ω*DN+γ*pc
其中,PN为线网的布线顺序优先级,DN为起始引脚和终止引脚之间的曼哈顿距离,Pc为自定义的参数,可根据实际情况将Pc参数值设置的较大,从而将优先级提高;ω,γ分别为所设定的固定权重,用于平衡两种参数在决定线网最终的布线顺序优先级中的重要程度。
3.根据权利要求1所述的基于动态网格的135度PCB区域布线方法,其特征在于:在步骤S2中;
按预处理的顺序,读取完下一条待布线的线网的起点后,将其设置为锚点,遍历障碍物列表,用障碍物的边约束当前可行域的大小和形状,使得限制之后的区域在不与任何障碍物相交但可以重叠的条件下,面积最大且不存在任何障碍物,得到一个待迷宫寻路的可行域;
将每次扩展可行域的起始点定义为锚点,锚点始终位于当前可行域之内或边界上;
可行域生成后,遍历可行域的边界Ec,确定可行域边界的组成部分,并判断Ec与障碍物边界Eo的位置关系,按以下规则确定其包含的通道:
若边界Ec与边界Eo存在一定交集,则将Ec中与Eo所重叠的部分进行端点缩减直至两条边不存在交集;
若Ec包含Eo,则将Ec的一端进行缩减,使得两条边不存在交集,同时将被Eo截断的另一段存入队列中;
若Eo包含Ec,则跳过该Ec;
当前可行域的通道全部生成后,对通道采取非均匀分段,把每个线段的中心点设置为候选节点;在通道的两端,为了满足线网之间的间距约束,预留一部分线段,此部分线段不参与候选节点的生成,每个通道的分段按照如下公式进行计算:
Seg_num=min(max_num,len/(distance+bit_width))
式中Seg_num表示当前通道所分的段数;max_num表示为了限制参与迷宫搜索的候选节点的个数所允许的最大段数;len表示当前通道的长度;distance表示线网之间的间距约束;bit_width表示每一层线网的线宽约束。
4.根据权利要求1所述的基于动态网格的135度PCB区域布线方法,其特征在于:在步骤S3中;
对于当前节点X(x,y),目标点T(x,y),通过改进的切比雪夫距离进行间距的度量,公式如下:
Figure FDA0003782752380000021
式中,Dmin、Dmax分别是当前节点X和目标点T在X或Y坐标轴差值的最小值和最大值;h(x)为当前节点的评估值;
采用改进的A*算法的历史代价函数以控制布线拥塞,将g(x)定义如下:
Figure FDA0003782752380000022
其中,
Figure FDA0003782752380000023
ε,η,μ为算法定义的权重,Cw1为累计已走线长的代价,Cbend为与布线拐角数量成正比的代价,len为当前通道的长度,为了防止布线拥塞,设定优先走len值大的通道,Cdirection代表当前节点在不同方向的代价,设定优先选择趋向于目标点方向的节点。
5.根据权利要求1所述的基于动态网格的135度PCB区域布线方法,其特征在于:在步骤S4中;估计代价最小的节点找到后,综合考虑两节点位置关系及其通道长度在可行域中的各种相对位置后,采用中间节点生成的方式进行135度构图。
6.根据权利要求1所述的基于动态网格的135度PCB区域布线方法,其特征在于:在步骤S5中;
使用拆线重布的机制对已有的线进行调整;
可行域在扩展时,如果与已布好的线网有一个相交的边界,则作为当前可行域的通道;此时取下一个节点,当下一个节点的可行域为线网型障碍物时,如果没有被标记为检查过,则计算拆除这根已布线网的代价,拆除代价的计算公式如下;
costfactor=costs*width/2
detour=(length+add)/(minlength+add)+itemcost*(wiresegments-1)
ripupcost=costfactor*viafactor/detour
ripupcost∈(1,MAX_RIPUP_COSTS)
式中costs,add为拆线代价设置的基数值,取为100,width为每根线网的宽度,length为要拆除线网起点到目标点的长度,minlength为起点到目标点的欧式距离,detour,costfactor均为影响拆除代价的因子,viafactor为拆除过孔的代价,与不同的层有关,wiresegment为线网的段数;
拆线代价大于等于0,表示该线网可以拆除;对拆线部分得到的节点,其代价函数在原先的估价函数的基础上增加拆除代价,再放回待选择的候选节点列表中;对于拆除的线网,重新添加到待布线网队列,重新根据布线资源进行布线。
CN202210936270.8A 2022-08-04 2022-08-04 基于动态网格的135度pcb区域布线方法 Pending CN115270693A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210936270.8A CN115270693A (zh) 2022-08-04 2022-08-04 基于动态网格的135度pcb区域布线方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210936270.8A CN115270693A (zh) 2022-08-04 2022-08-04 基于动态网格的135度pcb区域布线方法

Publications (1)

Publication Number Publication Date
CN115270693A true CN115270693A (zh) 2022-11-01

Family

ID=83748240

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210936270.8A Pending CN115270693A (zh) 2022-08-04 2022-08-04 基于动态网格的135度pcb区域布线方法

Country Status (1)

Country Link
CN (1) CN115270693A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116070575A (zh) * 2023-01-12 2023-05-05 广东工业大学 一种芯片布线优化方法及软件系统
CN116467997A (zh) * 2023-05-10 2023-07-21 南京邮电大学 基于决策协商算法的多实例化分块布图下的顶层布线方法
CN116681215A (zh) * 2023-07-28 2023-09-01 四川元祉智慧科技有限公司 一种城镇燃气管道网格化最小管理单元划分方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116070575A (zh) * 2023-01-12 2023-05-05 广东工业大学 一种芯片布线优化方法及软件系统
CN116070575B (zh) * 2023-01-12 2023-08-15 广东工业大学 一种芯片布线优化方法及软件系统
CN116467997A (zh) * 2023-05-10 2023-07-21 南京邮电大学 基于决策协商算法的多实例化分块布图下的顶层布线方法
CN116467997B (zh) * 2023-05-10 2023-09-26 南京邮电大学 基于决策协商算法的多实例化分块布图下的顶层布线方法
CN116681215A (zh) * 2023-07-28 2023-09-01 四川元祉智慧科技有限公司 一种城镇燃气管道网格化最小管理单元划分方法
CN116681215B (zh) * 2023-07-28 2023-11-03 四川元祉智慧科技有限公司 一种城镇燃气管道网格化最小管理单元划分方法

Similar Documents

Publication Publication Date Title
CN115270693A (zh) 基于动态网格的135度pcb区域布线方法
US8341586B2 (en) Method and system for routing
US7594214B1 (en) Maximum flow analysis for electronic circuit design
US6671864B2 (en) Method and apparatus for using a diagonal line to measure an attribute of a bounding box of a net
US7721243B2 (en) Method and apparatus for routing
US7080342B2 (en) Method and apparatus for computing capacity of a region for non-Manhattan routing
US6996789B2 (en) Method and apparatus for performing an exponential path search
US7171635B2 (en) Method and apparatus for routing
US7003752B2 (en) Method and apparatus for routing
US7010771B2 (en) Method and apparatus for searching for a global path
CN116029254B (zh) 一种基于路径优化的集成电路版图自动布线方法及系统
CN112560389B (zh) 一种基于轨道分配的详细布线方法
CN112149217A (zh) 三维室内导航场景的生成方法、装置、电子设备及存储介质
US7047513B2 (en) Method and apparatus for searching for a three-dimensional global path
CN112861466B (zh) 一种布线轨道分配方法、电子设备及计算机可读存储介质
US20240119214A1 (en) Using a machine trained network during routing to account for opc cost
US6988257B2 (en) Method and apparatus for routing
US9183343B1 (en) Methods, systems, and articles of manufacture for implementing high current carrying interconnects in electronic designs
US20230274065A1 (en) Using machine learning to produce routes
US20230282635A1 (en) Integrated circuit with non-preferred direction curvilinear wiring
CN115169279A (zh) 基于GoldenBit与Hanan网格更新的总线布线方法
CN117852489A (zh) 电路版图的布线方法、装置、设备、存储介质及产品
CN113220806B (zh) 一种基于衍生平行线段的大规模路网方向判定方法及系统
CN115270692A (zh) 基于布线区域生成的总线布线方法
Wu et al. A Bus Planning Algorithm for FPC Design in Complex Scenarios

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