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

文档序号:9432843阅读:515来源:国知局
一种针对多层芯片的高效x结构避障布线器的构造方法
【技术领域】
[0001] 本发明属于集成电路计算机辅助设计技术领域,具体涉及一种针对多层芯片的高 效X结构避障布线器构造问题。
【背景技术】
[0002] 斯坦纳最小树是图论领域最重要的数学模型之一,且被广泛的应用到了许多 研究领域。特别是1966年由Hanna提出的直角结构斯坦纳树(rectilinear Steiner minimal tree, RSMT),已经被广泛的应用到现代超大规模集成电路(very large scale integrat ion,VLSI)设计的多个阶段。例如,在早期设计阶段,包括划分、布图规划和布局, RSMT可以被用来有效的预估芯片的多项性能指标,如线长,拥塞,和时延。在总体布线和详 细布线阶段,RSMT可以被用来构造每一个线网的最终连通拓扑。此外,随着现代芯片密度 的急剧增加,在当今的VLSI设计中存在着越来越多的障碍物,例如宏模块和预布线网,这 些障碍物在布线阶段是不能够被穿越的,因此避障直角斯坦纳最小树(obstacle-avoiding rectilinear Steiner minimal tree, 0ARSMT)布线器构建问题在过去十几年得到了充分 重视,并取得了非常出色的研究成果。
[0003] 另一方面,随着VLSI生产工艺的不断进步,现代芯片可以提供多个布线层 以增加设计灵活性。因此,在2007年,多层避障直角斯坦纳最小树(multi-layer obstacle-avoiding rectilinear Steiner minimal tree, ML-0ARSMT)布线器构造问题首 次由台湾大学电子工程研究院提出,并很快得到了工业界和学术界的重视。随后,多家科研 单位先后设计了数个性能优良的ML-0ARSMT布线器。
[0004] 然而,上述布线器,无论是针对传统单层布线和现代多层布线,都是基于直角结 构。随着当前芯片规模进入深亚微米阶段,由于直角结构将走线方向限制为只能水平和垂 直两个方向,而这已经很难满足当前的设计需求。幸运的是,新兴的非直角结构允许更多的 走线方向并能进一步提高芯片的可布通性。特别的,X结构作为最有前景的非直角结构已 经被当前生产工艺充分支持,并成为近年来的一个研究热点。数家研究机构已先后设计出 了多个不同的避障X结构斯坦纳最小树布线器(obstalce-avoiding X Steiner minimal tree, OAXSMT)〇
[0005] 问题是,当同时考虑多层芯片结构、障碍物、X结构三个因素,即多层避障X结构 其if坦纳树(multi-layer obstacle-avoiding X-architecture Steiner minimal tree, ML-0AXSMT)布线器的构造,问题将变得非常困难。因为,仅仅一个单层的RSMT布线器构 造就已经被证明为NP完全问题。据我们所知,当前有关ML-0AXSMT布线器构造的成果非常 少,而工业设计的需求却仍在不断提高,因此设计一种高效的ML-0AXSMT布线器变得尤为 紧迫。

【发明内容】

[0006] 本发明的目的是提供一种在VLSI总体布线设计问题中考虑多层芯片结构和障碍 物,同时引入X结构斯坦纳最小树的布线器构造问题。以优化布线树总长为目标,进而使得 诸如时延、拥塞等多项指标得到优化。该方法从总体布线的全局角度考虑ML-OAXSMT的构 造,能够在极短的时间内获得有效的解决方案。
[0007] 本发明采用以下方案实现:一种针对多层芯片的高效X结构避障布线器的构造 方法,其特征在于:包括以下步骤:步骤Sl :根据给定的一组引脚坐标位置,基于一种快 速的多分片MST(最小生成树,minimum spanning tree),构建策略生成一棵连接所有引 脚的 3D-0FMST (三维无障最小生成树,3D obstacle-free minimal spanning tree),该 3D-0FMST 为最终 ML-0AXSMT (多层避障 X 结构斯坦纳树,multi-layer obstacle-avoiding X-architecture Steiner minimal tree)的基础架构;步骤 S2 :3D_0FMST 中所有边 的XRP(X布线路径,X routing path)信息被计算,并将这些信息存入两个记录从而生 成两个查找表,这两个查找表可以为布线器的后续运作提供信息支持;步骤S3 :基于快 速查表,通过将3D-0FMST的每条边转化为一条XRP生成一棵ML-XST (多层X结构斯坦 纳树,multi-layer X-architecture Steiner tree),并将该 ML-XST 将被转化为一棵 ML-0AXST (多层避障 X 结构斯坦纳树,multi-layer obstacle-avoiding X-architecture Steiner tree);步骤S4:对ML-OAXST进一步从全局和局部两个角度优化,从而生成最终 的 ML-0AXSMT 〇
[0008] 与现有技术相比本发明具有以下优点:该布线器采用了一种基于快速查找表的基 本构架,整个布线器逻辑紧凑,运行效率高;在3D-0FMST构建阶段,一种基于密度度量的多 分片MST构建策略被采用,同传统基于完全图的MST构建方法相比,该策略具有更高的效 率;在ML-OAXST生成阶段,该布线器根据ML-XST每条穿障边的具体特征,将所有ML-XST穿 障边分为三类,并采用了三种不同的策略进行避障路径计算,这些策略可以精确地捕捉到 多层空间中恰当的伪Steiner点位置,从而帮助ML-XST边生成最佳的避障X布线路径;特 别的,针对任意两个分布在不同布线层的引脚,一种针对多层空间通孔定位的线扫描策略 被用来精确地搜索引脚之间的合法通孔;此外,为了进一步优化压缩布线总长,该布线器采 用了两种有效的精炼策略,一种通过优化伪Steiner点连接结构以达到充分利用有效布线 资源的目的,另一种则是通过充分增加布线树共享路径总长,从而达到压缩线长的目的。
【附图说明】
[0009] 图1是针对多层芯片的高效X结构避障布线器的流程图。
[0010] 图2是多层结构下四种XRP图。
[0011] 图3是ML-XST穿障边的分类图。
[0012] 图4是单个引脚的八角划分示意图及ML-XST边转换示意图。
[0013] 图5是可修复路径的避障路径计算示例图。
[0014] 图6是逃逸路径的避障路径计算示例图及通孔定位线扫描策略示意图。
[0015] 图7是非逃逸路径的避障路径计算示例图。
[0016] 图8是伪Steiner点连接优化示意图。
[0017] 图9是ML-OAXST结构优化示意图。
[0018] 实施方式 下面结合附图和【具体实施方式】对本发明做进一步说明。
[0019] 一种针对多层芯片的高效X结构避障布线器的构造方法,包括以下步骤: 步骤Sl :根据给定的一组引脚坐标位置,基于一种快速的多分片MST构建策略生成一 棵连接所有引脚的3D-0FMST,该3D-0FMST为最终ML-0AXSMT的基础架构; 步骤S2 :3D-0FMST中所有边的XRP信息被计算,并将这些信息存入两个记录从而生成 两个查找表,这两个查找表可以为布线器的后续运作提供信息支持; 步骤S3 :基于快速查表,通过将3D-0FMST的每条边转化为一条XRP生成一棵ML-XST, 并将该ML-XST将被转化为一棵ML-OAXST ; 步骤S4 :对ML-OAXST进一步从全局和局部两个角度优化,从而生成最终的ML-0AXSMT。
[0020] 本发明的主要流程图参见图1。
[0021] 其中,步骤Sl中3D-0FMST的生成包括以下具体步骤:基于多层芯片给定的所有引 脚位置,构建一棵k-d树,该k-d树被用来预估任一引脚的近似密度值,同时可提供快速的 最近邻引脚查找;基于Prim算法思想,并根据每个引脚的初始预估密度,从当前密度最小 的引脚开始,一个MST分片被构建直到该分片达到了局部密度最大值,此时另一个MST分片 亦从当前密度最小的引脚开始被构建,直到所有的引脚被这些MST分片所覆盖;最后,通过 连接这些生成的MST分片,一棵完整的3D-0FMST将被生成。
[0022] 步骤S2还包括以下具体步骤:假设给定芯片包含η个引脚,则生成的3D-0FMST - 共包含η-1条边,由于每条边可以有4种不同的XRP,因此一共存在4* (η-1)条XRP,针对 所有这些XRP,生成两个查找表,第一个查找表为多层XRP-障碍物查找表MLX0T,另一个表 为多层XRP-坐标查找表MLXCT ;假设两个引脚ft (X, % 4和b4间的一条XRP, 记该路径为/y?/,将这条XRP穿越的障碍物记录到一个集合ΙΛ>}中,即生成MLXOT的记 录,并且当^^ &时,设置参数的值为U7J的基数,而当2,=?时,设置的值为 IAj中所有障碍物的直角边界盒的半周长;考虑到每一条XRP包含三条子路径,对于任一 路径ft/?/,记三条子路径分别为ftsw, SwSfcs SiilOy,其中6^和s 两个伪Steiner点,通过 生成所有4* (η-1)条XRP的三条子路径的坐标信息,从而生成多层XRP-坐标查找表MLXCT 的记录。
[0023] 步骤S3中还包括以下具体步骤:依次检查3D-0FMST中的每一条边,并基于以下原 则将每条边转化为一条XRP : 1) 对于任意一条边,如果XpatM和X pathl都能绕过所有障碍物,则二者具有相同的优先 度,如果\_和X Path3都能绕过所有障碍物,则二者具有相同的优先度; 2) 如果两者之间均存在绕障路径,对于任意一条边,Xpath。和X pathl的优先度高于X path2和 Xpat
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1