一种针对多层芯片的高效x结构避障布线器的构造方法_4

文档序号:9432843阅读:来源:国知局
(b))。如果投影V*到/?,和/7/斤在层形成一个通孔 vv',如果vv'合法,则问题得到求解。否则,一种基于线扫描的方法将被采用去进一步寻找 一个合法的通孔位置。
[0053] 该线扫描方法包含三个要素,一条固定线L,它是box中包含V*的那条边所在直 线,一条扫描线Ls,和一组包含了所有第^层到第&层间的障碍物集合以图6(b)为 例,显然L是图6 (b)中box的右侧边(当L是一条水平边时,可以按照类似方法对称地去 处理),并且我们设置L的y坐标范围为[y*,max (yb)],这里max (yb)是中所有障碍物y 坐标的最大值。然后,布线器将Ir中的所障碍物投影到与L相同的平面上(记作,并按 照投影后障碍物左下角拐点y坐标值递增的顺序排序。此外,一条水平边Ls被用来从y=y* 到y= max(yb)去扫描所有排序后的障碍物。当Ls扫描到一条与L相交,且为一个障碍物 的底边时,Ls将直接扫描b的顶边,而当Ls扫描到连续两条边IJP 12,且IJP 12均与L相交,并分别为两个不同障碍物的顶边和底边,则1挪12与L的两个交点被选为通 孔候选,并从中选出一个合法的作为通孔位置。例如,在图6 (c)中,_包含3个障碍物, Ls从覆盖V*的位置开始扫描,并首先发现边1。,由于1。是一条底边,因此Ls下一步直接扫 描顶边I2而不是I i,接下来Ls发现边I3,它是另一个障碍物的底边,因此交点tJP 12被选 作两个候选通孔位置,布线器则随机选择其中一个合法的作为结果。当然,如果Ls -直扫 描到y= max(yb),仍未找到两个连续的底边和顶边,最后一个扫描到的障碍物边同L的交 点则被选为通孔位置。类似的,可以通过Ls从y=y*扫描到y= min (yb)去发现另一个合法 的通孔位置,这里min(yb)是万/中障碍物y坐标的最小值。最终,布线器取同点PdPh垂 直距离之和较小的那个点作为通孔位置。
[0054] 这里,可以利用二维线段树结构去判断一个通孔位置是否合法。用外层线段树去 记录平面水平坐标区间,用内层线段树去记录平面垂直坐标区间,并将每个区域的记录值 初始化为0。通过按序扫描P:中的障碍物一次,当某个区域被当前障碍物覆盖,则更新该 区域在二维线段树中的记录值,当所有_;中障碍物都被扫描后,该二维线段树便记录了 所有的障碍物位置信息。当给定一个通孔位置,则可以通过在二维线段树中查询相应位置 的记录值去判断该通孔是否合法。
[0055] 非逃逸路径:类似针对逃逸路径的方法,布线器首先将一条非逃逸路径和 全部投影到一个伪平面上(记投影后为A &>和{%;}),则根据非逃逸边的定义, A 的直角边界盒被至少一个中的障碍物完全包围。如图7(a)所示,在得到{汉7/} 的直角边界盒box后,可以通过上述线扫描方法在box的任一条边所在直线上寻找到一个 合法通孔位置v*,并生成一个连接^和&层的通孔vv',那么P lV和ν' Pj两条XRP可以帮 助原始路径Af/逃离障碍物的包围。然而,由于图7 (a)中p i'和V*之间的路径将分别 在第^和&两层来回布两次,当P /和V*间的距离较大时,可能会产生一条冗长的避障路 径。出于这个原因,布线器将尝试采用另一种避障策略。首先删除路径/^>,则ML-XST的 所有点被分为两个子集,一个点集A包含点ft,另一个点集B包含点A。然后,我们从A中 删除点A,并求得此时A和B间的一条最短路径。同理,我们从B中删除A.,并求得两个集 合间的另一条最短路径,最后,布线器选择两条路径中不构成非逃逸路径,且代价较小的作 为结果。图7 (b)给出了这种策略的原理图,这里为了简便,我们用一条直线去代表一条多 层环境下的XRP,在非逃逸路径被删除后,布线器最终选择作为一条新路径,从而 生成一棵新的ML-XST。当然,如果新生成的边仍旧构成一条非逃逸路径,或者代价大于第一 种方法得到的结果,布线器则自动取用第一种方法的结果。
[0056] 此外,对于寻找空间两个点集A和B间的最短路径,我们采用一种改进的最近点对 算法。经典的最近点对算法采用分治方法可以在一个平面上寻找到两个点集间的最短路 径。然而,我们的问题需要在三维空间下寻找两个集合间的最近点对。为此,我们首先将集 合A和B中的所有点根据平面y=诚Ij分为两个集合S JP S 2,这里^所有点y坐标的中位 数。然后,我们分别递归地求解集合SJP S2中的最近点对,假设妨P 4为所求结果,那么 如果A和B之间的最短路径仍小于<=min (心么),那么这条路径的两个端点A和/V必须 满足Pi且動:e 4。由于A和/?/司的距离小于心则有且_rrm〈=式。此外, 对于任意一个可能的A,可构成最近点对的/^形成一个长为毛宽和高为2ds的矩形R (如 图7 (c)所示),由于R中任意两个点间的距离不小于心根据鸽巢原理,在R中最多可能存 在24个点与构成最近点对。因此,对于S i中的一个点(ar_r,〈=i/s),通过对S2中满足 _^-111〈=式的点按照X和^坐标排序,我们可以快速地寻找到S2中所有24个可能的最近点, 进而找到A和/^间的最短路径。注意,因为我们需要寻找两个点集间的最近点对,因此在 递归过程中,如果存在两个点且它们属于不同的集合,则返回两者之间的真实距离,否则返 回一个无穷大值。
[0057] 4.精炼 在这一步,两种可以充分利用并共享布线资源的精炼策略被用来进一步优化上一步生 成的 ML-OAXST。
[0058] 4. 1 伪 Steiner 连接优化 尽管针对可修复路径的避障策略可以成功的帮助一条穿障边绕过障碍物,但两个选定 的伪Steiner点之间的路径仍然存在优化空间,因为在障碍物直角边界盒box中仍可能存 在未被利用的布线资源。当然,如果一条可修复路径仅穿越一个障碍物,或者两个选择的伪 Steiner点共线,则这条新生成的避障路径不存在被优化的空间。对于可优化的路径,布线 器采用一种被称为"滑动"的操作去尝试进一步压缩线长。由于两个被选择的伪Steiner 点分别位于box的两条边上,因此在沿着box的边,必然存在一条这两点之间的合法布线路 径,此外,box的这两条边必定与至少一个障碍物的边重合,例如,如图8 (a)所示,A和/^ 间的XRP穿越了障碍物k bjP b 3,根据可修复路径策略,布线器选择s和C2作为两个伪斯 坦纳点。在这种情况下,s和〇2只能采用X path3,此外,Id1, 132和b 3分别同box重叠于t彳2, t4t5,和c2t3。然而,如果我们沿着两个伪Steiner点之间的路径分别滑动两个点,并且停止 在一个距离该点最远的重叠障碍物拐点处,则两个找到的拐点可能通过Xpath。或X pathl来连 接,从而压缩了布线总长。例如,在图8 (a)中,我们滑动s到〖2,滑动Cjljt5,那么可以形 成一条新的XRP t2t50,从而压缩了线长。此外图8 (b)给出了图5 (d)中的布线路径被这 种滑动技术优化后的路径图。
[0059] 4. 2 ML-OAXST 结构优化 在ML-OAXST构建过程中,布线器主要专注于如何帮助所有的ML-XST边绕过障碍,但这 可能造成一个较差的布线结果,因为所有生成的XRP都是相互独立的。换句话说,如果这些 XRP可以相互关联起来,并且尽可能多的共享布线资源,ML-OAXST的布线总长将进一步得 到优化。
[0060] 事实上,对于ML-OAXST上的任意一个点,总存在至少一个最优的连接结构。例如, 图9 (a)给出了一个2度顶点P1,这里ρ#Ρρ3被连接到P1。不失一般性,这里我们假设两 点间的距离满足Λ χ> Λ y。由于每条边存在4中XRP,故针对点P1+种存在16中不同的 连接组合。显然,如果路径P3P1采用X path。或X path3,则该路径不可能与P2P1间的路径共享任 何资源。图9 (a)给出了 XRP P3P1I,这里S11和S12是两个伪Steiner点。可以看出,当p 2的X坐标位于S1JP p i之间时,图9 (a)是点p i的一个最优连接结构。此外,图9 (b)给 出了当P2的X坐标位于s 22和s 12之间的情况,这里s 22是XRP p逆。的伪Steiner点。在这 种情况下,点P1的最优连接结构则取决于P P1和P PiJ+S2S12的值,这里s JP s 2则分别是XRP P2P1I和P2Pj的伪Steiner点。例如,当P2SZp 2Sjs2S12,那么图9 (c)将是P1的最优连接 结构。当然,如图9 (d)所示,由于障碍物的存在,XRP P2P1I变为非法,图9 (d)成为这种 情况下?1的最优连接结构。总之,ML-OAXST上的每个点均存在一个最优的连接结构。
[0061] 基于上述分析,通过计算ML-OAXST上每个点的最连接结构,并应用这些结构到原 始ML-OAXST中直到所有ML-OAXST边的连接方式被确定,ML-OAXST的线长可以得到进一步 的压缩。具体的讲,对于每一个点^度顶点Ρι,我没枚举其所有4d种连接结构,并选择其中 线长最短且避障的一个作为该点的最优结构。然后,我们根据每个点最优结构中共享路径 长度由大到小的顺序排列所有点,并按序应用每个点的最优结构到原始ML-OAXST直到所 有ML-OAXST边的连接方式被确定。由于所需的XRP信息均可以通过查表得到,因此这个过 程是高效的。
[0062] 综上所述,本发明提供的上列较佳实施例,对本发明的目的、技术方案和优点进行 了进一步详细说明,所应理解的是,以上所述仅为本发明的较佳实施例而已,并不用以限制 本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本 发明的保护范围之内。
【主权项】
1. 一种针对多层芯片的高效X结构避障布线器的构造方法,其特征在于:包括以下步 骤: 步骤Sl :根据给定的一组引脚坐标位置,基于一种快速的多分片MST构建策略生成一 棵连接所有引脚的3D-0FMS
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1