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

文档序号:9432843阅读:来源:国知局
h3; 3) 对于任意一条边,如果4种XRP全部穿越了障碍物,则每种XRP的优先度反比于相应 的W直。
[0024] 步骤S4还包括以下具体步骤:根据ML-XST每条穿障边的具体特征,将所有 ML-XST穿障边分为修复路径、逃逸路径及非逃逸路径三类,并采用了三种不同的策略进行 避障路径计算,精确地捕捉到多层空间中恰当的伪Steiner点位置,从而ML-XST边生成最 佳的避障X布线路径; 其中修复路径的策略为:对于转换后的任意一条可修复路径ΑΡιΛ布线器首先计算 IA7J的直角边界盒,记作然后从点向其右半轴五个方向作投影线,并记投影线Adx 同/^的第一个交点为4(1=1,2,3,4,5),若/?,(1)!同/^不相交4不存在;布线器计算每 条投影线Adx同线段AA之间的夹角记为α x,并选择最小的%对应的那个交点^作为 一个伪Steiner点s,由于s可能不能直接连接到点A,因此布线器检查box的四个拐点Cy(y=l, 2, 3, 4),并选择使得dis(s, cy)+dis (cyi /Ty)最小的那个拐点作为另一个伪Steiner 点c,其中dis (a, b)表示点a和点b之间的直角距离;布线器计算边/?,s,sc,和CjOy的XRP 信息,并添加这些信息到两个查找表中,从而生成一条新的连接A到/^的避障路径; 逃逸路径的策略为:布线器首先将Af/的三条子路径和{汉>}全部投影到一个伪平 面上,记投影后为A 对P {况>};然后布线器将该逃逸路径细分为两种,如果投影后的 伪Steiner点s并未被}中任何一个障碍物所包围则直接调用可修复路径策略解决, 否则布线器首先计算投影后ΙΛ7Λ }的直角边界盒box,并求得/7, /Ty々同box的一个交点 V* (X^户),如果投影V*到/7,和/^所在层形成一个通孔VV',如果VV'合法,则问题得到求 解,否则,基于线扫描的方法进一步寻找一个合法的通孔位置; 非逃逸路径的第一种策略为:布线器首先将一条非逃逸路径和{况"}全部投影到 一个伪平面上,记投影后为A々和{况>},则根据非逃逸边的定义,A 的直角边界盒 被至少一个}中的障碍物完全包围,在得到}的直角边界盒box后,通过线扫描 方法在box的任一条边所在直线上寻找到一个合法通孔位置v*,并生成一个连接^和&层 的通孔vv',那么P1V和ν' Pj两条XRP帮助原始路径逃离障碍物的包围; 非逃逸路径的第二种策略为:首先删除路径则ML-XST的所有点被分为两个子 集,一个点集A包含点ft,另一个点集B包含点巧。然后,我们从A中删除点ft,并求得此时 A和B间的一条最短路径,同理,我们从B中删除A.,并求得两个集合间的另一条最短路径, 最后,布线器选择两条路径中不构成非逃逸路径,且代价较小的作为非逃逸路径; 如果第二种策略新生成的边仍旧构成同一条非逃逸路径,或者代价大于第一种策略得 到的结果,布线器则自动取用第一种策略的结果。
[0025] 所述线扫描的方法包含三个要素:一条固定线L即是box中包含V*的那条边所在 直线,一条扫描线Ls及一组包含了所有第^层到第&层间的障碍物集合设置L的y 坐标范围为[y*,max(yb)],其中max(yb)中所有障碍物y坐标的最大值,布线器将万/ 中的所障碍物投影到与L相同的平面上,记作_¥,并按照投影后障碍物左下角拐点y坐标 值递增的顺序排序,一条水平边Ls被用来从y=y*到y= max (yb)去扫描所有排序后的障碍 物;当Ls扫描到一条与L相交,且为一个障碍物的底边时,Ls将直接扫描b的顶 边;当Ls扫描到连续两条边1挪12,且1挪12均与L相交,并分别为两个不同障碍物的顶 边和底边,则1:和1 2与L的两个交点被选为通孔候选,并从中选出一个合法的作为通孔位 置;如果Ls-直扫描到y= max(yb),仍未找到两个连续的底边和顶边,最后一个扫描到的 障碍物边同L的交点则被选为通孔位置;或者通过Ls从y=y*扫描到y= min (yb)去发现另 一个合法的通孔位置,其中min (yb)是I#中障碍物y坐标的最小值;最终,布线器取同点P1和?]垂直距离之和较小的那个点作为通孔位置。
[0026] 本发明采用一种改进的最近点对算法寻找空间两个点集A和B间的最短路径,主 要包括以下步骤:首先将集合A和B中的所有点根据平面y=诚Ij分为两个集合S JP S 2, ^ 所有点y坐标的中位数;分别递归地求解集合SJPS2中的最近点对,假设4和4为所求结 果,A和B之间的最短路径小于<=min ( &么),那么这条路径的两个端点A和/^必须满 足,·^.:且_:_·:.;由于仏和/?/司的距离小于心则有乃-m〈=心对于任意 一个可能的A,可构成最近点对的&形成一个长为毛宽和高为2ds的矩形R,R中任意两 个点间的距离不小于A根据鸽巢原理,在R中最多可能存在24个点与ft构成最近点对, 因此,对于S1中的一个点/?, (?τ_τ,〈=<),通过对S2中满足_^-111〈=式的点按照X和^坐标排 序,快速地寻找到S2中所有24个可能的最近点,进而找到凡和&间的最短路径。
[0027] 步骤S4的优化基于以下两种精炼策略:一种通过优化伪Steiner点连接结构以达 到充分利用有效布线资源的目的;另一种则是通过充分增加布线树共享路径总长,从而达 到压缩线长的目的。
[0028] 附图2-9为本发明一具体实施例的示意图。以下对附图2-9中的几个常用变量进 行定义及解释说明: 定义1 (伪Steiner点)为了简便,假设除了引脚外的连接点,均称为伪Steiner点。 图2中的S1, S2均为伪Steiner点,一个伪Steiner点可能是一个真实的Steiner点。
[0029] 定义2 (U如图2(a)所示,P1U7,乃,Z7)和P2U iif办办)为线段L的两 个端点,其中x/Xi·。线段L对应的伪Steiner点的选择如图2(b)所示,首先从pj|直角边 至伪Steiner点S1,再通过生成一个通孔由S1连接到另一伪Steiner点s 2,最后从S2引非 直角边到口2.。这条XRP被称为P1和口2间的
[0030] 定义3 (U如图2(a)所示,P1U7,乃,和P2Uiif办办)为线段L的两 个端点,其中x/Xi·。线段L对应的伪Steiner点的选择如图2(c)所示,首先从pj|非直角 边至伪Steiner点S1,再通过生成一个通孔由S1连接到另一伪Steiner点s 2,最后从sjl 直角边到口2.。这条XRP被称为P1和口2间的
[0031] 定义4 (U如图2(a)所示,P1U7,乃,和P2Uiif办办)为线段L的两 个端点,其中x/Xi·。线段L对应的伪Steiner点的选择如图2(d)所示,首先从pj|垂直边 至伪Steiner点S1,再通过生成一个通孔由S1连接到另一伪Steiner点s 2,最后从S2引水 平边到P2.。这条XRP被称为P1和口2间的不^。
[0032] 定义5 (U如图2(a)所示,P1U7,乃,和P2Uiif办办)为线段L的两 个端点,其中Χ/Χ,。线段L对应的伪Steiner点的选择如图2(e)所示,首先从?1引s水平 边至伪Steiner点S1,再通过生成一个通孔由S1连接到另一伪Steiner点s 2,最后从sjl 垂直边到P2.。这条XRP被称为P1和口2间的
[0033] 定义6 (半周长)对于一个长为a宽为A的举行障碍物b,b的半周长为a+A。
[0034] 定义7 (直角边界盒)任意两个点凡和的直角边界盒为以这两点为对角顶 点所形成的矩形。一组障碍物的直角边界盒为一个包含所有这些障碍物的最小矩形。
[0035] 定义8 (可修复路径)对于一条ML-XST边如果穿越了一个或多个 障碍物,且,则称AAk为一条可修复路径。
[0036] 定义9 (逃逸路径)对于一条ML-XST边/?,j〇7k,如果/?,/^k穿越了一个或多个障 碍物(记为集合{%^}),且4辛&。当投影A,到一个伪平面(投影后分别标记 为和{^!'),如果不存在障碍物二 ii?f,使得A'和^/的直角边界盒完全包 含于A中,则称为一条逃逸路径。如图3所示,图3 (a)中边P1P2I穿越障碍物Id1,投 影后P/和p2'的直角边界盒未完全包含在V中(图3 (c)),故P1P2I为一条逃逸路径。
[0037] 定义10 (非逃逸路径)对于一条ML-XST边/y^k,如果ftAk穿越了一个或多个 障碍物(记为集合IA7J ),且^辛&。当投影A,&和{汉7,}到一个伪平面(投影后分别标 记为A',<和ΙΛ"}'),如果至少存在一个障碍物b € ,使得A.'和A'的直角边界 盒完全包含于A中,则称为一条非逃逸路径。如图3所示,图3(a)中边Plp32穿越障 碍物b2,投影后P1^Pp3'的直角边界盒完全包含在b2'中(图3 (b)),故Plp32为一条非逃 逸路径。
[0038] I. 3D-0FMST 构建 在不考虑障碍物的情况下,存在多种构建3D-0FMST的方法,例如通过生成以所有芯片 引脚为点集的一个完全图,再利用经典Prim或Kruskal算法即可构建出一棵3D-0FMST。然 而,这种基于完全图的方法效率太低,时间复杂度可达到平方级,特别是在问题输入规模非 常大的情况下,该方法对整个线器的运行效率将产生较大负面影响。此外,基于Delaunay 三角剖分MST构建方法被广泛应用于平面布线问题,因为该三角剖分已被证明至少包含有 一棵覆盖所有给定点集的MST,且候选边集规模仅为线性级别。然而,Delaunay三角剖分 的构建策略目前还未能有效的推广到更高维度。幸运的是,Bentley和Friedman通过改进 经典Prim算法,提出了一种能适用于任意维度且被称为多分片MST的构建策略。该策略首 先基于多层芯片给定的所有引脚位置,构建一棵々-d树,该々-d树被用来预
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1