基于GoldenBit与Hanan网格更新的总线布线方法技术

技术编号:35166787 阅读:69 留言:0更新日期:2022-10-12 17:29
本发明专利技术公开了一种基于GoldenBit与Hanan网格更新的总线布线方法,该方法首先产生每个组件的GoldenBit拓扑路径,再对其它pin脚进行走线。然后,在每次走线之前,进行动态Hanan网格更新。对于Hanan网格的每一条边,根据是否为段和组件延伸出的线所产生的,将其分为不同的优先级。最后,按照优先级的不同,对走线的路径进行调整,在寻得最短路径的同时保证拓扑路径与上一条路径尽量相同,从而完成总线布线。从而完成总线布线。从而完成总线布线。

【技术实现步骤摘要】
基于GoldenBit与Hanan网格更新的总线布线方法


[0001]本专利技术涉及超大规模集成电路(VLSI)物理设计自动化
,具体涉及一种基于GoldenBit与Hanan网格更新的总线布线方法。

技术介绍

[0002]随着半导体技术进入纳米时代,以及电子系统规模的不断增长,PCB总线布线的难度也在不断增大,因为要在避开障碍物路线的同时,对总线上的位实现相同的最佳拓扑路径布线,说明书附图1列举了一种具有相同拓扑结构的总线。同时,总线布线也是PCB设计中最耗时和难度最大的步骤之一,布线过程中必须考虑到板上组件的拥塞以及长度范围限制等。
[0003]由于总线布线的新挑战,当前的总线自动化布线技术可能不足以满足当今PCB设计的要求,目前还很大程度依赖于人工布线。Hanan网格是一种可在VLSI自动化设计中较好描述布线区域邻接关系的构图方式。但现有技术只是根据组件的位置生成一次Hanan网格,然后进行布线路由选择,而没有考虑到PCB布线的特性,如布线顺序、总线的拓扑结构等。布线的结果达不到工业界要求,布通率较低,有待改进。因此期望对Hanan网格进一步改进,开发出一种可以优化布线顺序和拓扑结构的总线布线方法,可以满足当前工业界自动化布线的需求。

技术实现思路

[0004]针对现有技术存在的缺陷和不足,本专利技术提出一种基于GoldenBit与Hanan网格更新的总线布线方法,对Hanan网格进行了改进,引入了Hanan网格更新方法,使得布线路径能够通过Hanan网格边的优先级信息,实现在尽可能满足具有相同拓扑路径这一条件的同时,找到到目标引脚的最短路径。
[0005]其首先产生每个组件的GoldenBit拓扑路径,再对其它pin脚进行走线。然后,在每次走线之前,进行动态Hanan网格更新。对于Hanan网格的每一条边,根据是否为段和组件延伸出的线所产生的,将其分为不同的优先级。最后,按照优先级的不同,对走线的路径进行调整,在寻得最短路径的同时保证拓扑路径与上一条路径尽量相同,从而完成总线布线。
[0006]技术方案要点如下:(1)根据PCB板以及组件的中点产生的连线与组件的交点确定GoldenBit;(2)动态Hanan网格更新,存储布线完成的路径的段,加入到新的Hanan网格图中,对产生的Hanan网格的每条边,根据边的构成不同设置为不同的优先级;(3)采用A*算法使其根据优先级选择要走的路径,从而在使得当前路径的拓扑与上一条路径尽量相同的同时,找到最优布线路径。
[0007]实验结果表明,该算法可以优化布线顺序和拓扑结构,并且较大提高了布通率。
[0008]为实现上述目的,本专利技术采取如下技术方案:
[0009]一种基于GoldenBit与Hanan网格更新的总线布线方法,其特征在于,包括以下步骤:
[0010]步骤S1:构造初始的Hanan网格,根据PCB板中点以及组件中点产生每个组件的GoldenBit路径;
[0011]步骤S2:对步骤S1产生的GoldenBit路径进行调整;
[0012]步骤S3:将布线成功的位路径加入到下次Hanan网格生成中,并且对Hanan网格单元的边设置优先级;
[0013]步骤S4:先使用广度优先搜索上一条路径的段所在的网格,然后使用A*算法根据网格边的优先级进行路径选择;
[0014]步骤S5:对步骤S4产生的布线路径进行调整。
[0015]进一步地,步骤S1具体包括以下步骤:
[0016]步骤S11:由组件以及PCB板的边界构造初始Hanan网格,找出PCB板以及当前组件的中点坐标;
[0017]步骤S12:在步骤S11的指导下,对两个中点进行连线从而得到一条线段;
[0018]步骤S13:对当前组件的每条边与这条线段进行跨立实验和快速排斥实验,以确定哪条边与这条线段相交,若组件的边都不与这条线段相交,则略过这一个组件,根据组件的优先级选择下一个组件回到步骤S11;
[0019]步骤S14:在步骤S13的指导下,若边与此线段相交,则使用向量法求解交点的坐标,然后找出离这个交点最近的引脚;
[0020]步骤S15:在步骤S14的指导下,对这个引脚使用A*算法查找一条最短路径;具体为,将每个Hanan网格单元的中点设置为A*算法过程中的可走节点,以此找到一条最短路径作为当前组件的GoldenBit。
[0021]进一步地,步骤S2具体包括以下步骤:
[0022]步骤S21:对位路径的第一段和最后一段进行调整;首先添加两个段,分别是起始引脚到其所在网格中点的段,以及终止引脚到其所在网格中点的段;然后根据引脚所在组件的边,判断第一段和最后一段的方向是水平的还是垂直的,以此调整第一段和最后一段的上的坐标;
[0023]步骤S22:根据GoldenBit的段2方向,统计从GoldenBit的起始引脚到组件此边边界过程中的经过引脚数量;
[0024]步骤S23:在步骤S22的指导下,计算预留距离W,作为段1的长度:
[0025]W(N
p
)=N
p
·
CW+U
ꢀꢀ
(1)
[0026]式中,N
p
表示统计的引脚数量;CW表示本层规定的间距和线宽的和;U表示用户添加的间距要求;
[0027]步骤S24:判断GoldenBit是否由三个及以上的段构成;若是,则判断是否能够构成矩形;若能够构成矩形,则统计在矩形中的组件边界上的引脚数量;
[0028]步骤S25:在步骤S24的指导下,计算预留距离,作为第三段到当前组件的预留距离;
[0029]步骤S26:根据路径的节点信息以及步骤S23和步骤S25的指导,调整GoldenBit的布线路径。
[0030]进一步地,步骤S3具体包括以下步骤:
[0031]步骤S31:将当前布线成功的位的段记为集合S=(V,H),其中V表示垂直方向的段,
H表示水平方向的段;
[0032]步骤S32:将集合S中的段当做边进行延伸,直到碰到其他组件或者在集合S中的段为止;
[0033]步骤S33:根据网格边组成的不同,将其分为5种情况,并且将其优先级设置为从高到低,分别为:段,段延伸出的边,组件的边界,组件边界延伸的边,以及PCB板的边。
[0034]进一步地,步骤S4具体包括以下步骤:
[0035]步骤S41:对当前引脚,先使用广度优先搜索,找到一个Hanan网格的某条边由上一条路径的段构成时停止;
[0036]步骤S42:使用A*算法,根据网格的构成,选择下一个要走的网格。
[0037]进一步地,步骤S5具体包括以下内容:
[0038]遍历当前网格的四条边,根据步骤S33的指导,根据网格边的优先级,移动当前网格中的线段到相应的边旁,并保留规定的间距,若当前网格边的最高优先级是组件的边界,则还要判断这条组件边界上是否有引脚需要布本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于GoldenBit与Hanan网格更新的总线布线方法,其特征在于,包括以下步骤:步骤S1:构造初始的Hanan网格,根据PCB板中点以及组件中点产生每个组件的GoldenBit路径;步骤S2:对步骤S1产生的GoldenBit路径进行调整;步骤S3:将布线成功的位路径加入到下次Hanan网格生成中,并且对Hanan网格单元的边设置优先级;步骤S4:先使用广度优先搜索上一条路径的段所在的网格,然后使用A*算法根据网格边的优先级进行路径选择;步骤S5:对步骤S4产生的布线路径进行调整。2.根据权利要求1所述的基于GoldenBit与Hanan网格更新的总线布线方法,其特征在于:步骤S1具体包括以下步骤:步骤S11:由组件以及PCB板的边界构造初始Hanan网格,找出PCB板以及当前组件的中点坐标;步骤S12:在步骤S11的指导下,对两个中点进行连线从而得到一条线段;步骤S13:对当前组件的每条边与这条线段进行跨立实验和快速排斥实验,以确定哪条边与这条线段相交,若组件的边都不与这条线段相交,则略过这一个组件,根据组件的优先级选择下一个组件回到步骤S11;步骤S14:在步骤S13的指导下,若边与此线段相交,则使用向量法求解交点的坐标,然后找出离这个交点最近的引脚;步骤S15:在步骤S14的指导下,对这个引脚使用A*算法查找一条最短路径;具体为,将每个Hanan网格单元的中点设置为A*算法过程中的可走节点,以此找到一条最短路径作为当前组件的GoldenBit。3.根据权利要求1所述的基于GoldenBit与Hanan网格更新的总线布线方法,其特征在于:步骤S2具体包括以下步骤:步骤S21:对位路径的第一段和最后一段进行调整;首先添加两个段,分别是起始引脚到其所在网格中点的段,以及终止引脚到其所在网格中点的段;然后根据引脚所在组件的边,判断第一段和最后一段的方向是水平的还是垂直的,以此调整第一段和最后一段的上的坐标;步骤S22:根据GoldenBit的段2方向,统计从GoldenBit的起始引脚到组件此边边界过程中的经过引脚数量;步...

【专利技术属性】
技术研发人员:张建华刘浩伟
申请(专利权)人:福州芯智联科技有限公司
类型:发明
国别省市:

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

1