当前位置: 首页 > news >正文

【EDA】Multi-Net Routing(多网布线)

第六章:Multi-Net Routing(多网布线)

在VLSI物理设计中,多网布线(Multi-Net Routing)的目标是同时为多个网络(Nets)规划路径,避免布线资源冲突(如导线重叠、拥塞),并优化线长、延迟或拥塞度。第六章聚焦四种经典算法,解决多网共享资源时的竞争问题,以下是详细介绍:

1. Steiner Min-Max Tree算法(斯坦纳最小最大树)

核心目标

为每个网络构建斯坦纳树,确保所有网络的最大边负载(Edge Load)不超过阈值,平衡布线资源使用。

核心思想(基于Steiner Tree with Bounded Edge Load)
  • 单网斯坦纳树:对每个网络,使用1-Steiner算法(第五章)构建最小线长树,同时记录每条边的使用次数(负载)。
  • 负载约束:设置最大边负载阈值(如2.0×HPBB,HPBB为半周长下界),若某网络的树边负载超标,则拒绝该树并重新路由(图6.1-6.6)。
关键步骤
  1. 单网预处理:对每个网络计算斯坦纳树,检查边负载是否超过阈值(如 (15 > 2.0×7) 时拒绝,图6.3)。
  2. 迭代优化
    • 对接受的树,累加边负载;对拒绝的树,使用最短路径(SP)重新路由(图6.7-6.12)。
    • 示例:网络n3首次路由失败(负载超标),通过SP路由成功(图6.9c)。
  3. 结果合并:所有网络路由成功后,生成无超标负载的布线图(图6.12)。
优势与应用
  • 优点:简单高效,适合初步布线筛选;负载阈值确保资源均衡。
  • 缺点:独立处理单网,可能忽略全局拥塞;阈值设置影响结果。
  • 典型场景:FPGA布线,资源有限时优先保证关键网络。

2. 多商品流路由算法(Multi-Commodity Flow Routing)

核心目标

将多网布线建模为流网络问题,最小化总拥塞,允许流量分配到多条路径,优化全局资源利用。

核心思想(基于线性规划/流网络模型)
  • 流网络建模
    • 节点为网格交点,边为导线段,容量为可同时通过的网络数(图6.14b)。
    • 目标函数:最小化总流成本(如线长×流量),约束为边容量和流量守恒。
  • 迭代优化
    1. 最短路径:初始按最短路径路由(图6.16)。
    2. 更新边成本:根据拥塞调整边权重(如增加高负载边的成本),重新路由(图6.17-6.20)。
关键步骤
  1. 构建流网络:定义边容量(如3)、源/汇节点(图6.14a)。
  2. 求解多商品流
    • 使用ILP(整数线性规划)或启发式算法(如Successive Shortest Path),分配各网络流量(图6.15)。
    • 示例:迭代2次后,无溢出边,拥塞度从6降至3(图6.20)。
  3. 结果验证:检查边负载是否在容量内,调整路径直至收敛。
优势与应用
  • 优点:全局优化资源分配,适合复杂拥塞场景;理论上保证最优解(ILP)。
  • 缺点:计算复杂度高(O(K2*N3),K为网络数),需简化模型处理大规模问题。
  • 典型场景:ASIC全局布线,处理数百万网的高密度互连。

3. 迭代删除算法(Iterative Deletion Algorithm)

核心目标

通过迭代删除高拥塞边,逐步优化布线树,减少关键通道的负载,提升整体可布通性。

核心思想(基于拥塞驱动的边删除)
  • 初始生成树:为每个网络生成初始生成树(如最小生成树),计算各通道的密度(边数)。
  • 迭代删除
    1. 删除高密度通道中的边,优先删除对拥塞影响最大的边(图6.26-6.27)。
    2. 重新生成树,避免使用已删除边,直至密度均衡(图6.28-6.29)。
关键步骤
  1. 初始布线:生成含馈通点(Feedthroughs)的生成树,计算通道密度(图6.21-6.23)。
  2. 删除与重构
    • 按密度降序删除边(如通道2密度6→删除边(e,f),密度降至3,图6.27c)。
    • 重新布线被删除边的连接,确保无重叠(图6.28)。
  3. 终止条件:所有通道密度≤容量,或无有效删除。
优势与应用
  • 优点:简单高效,局部优化拥塞;适合标准单元行之间的通道布线。
  • 缺点:可能破坏网络连通性,需谨慎选择删除边。
  • 典型场景:标准单元布局后的通道布线,缓解局部拥塞(如CPU缓存区域)。

4. Yoshimura-Kuh算法(约束驱动的层分配与路径规划)

核心目标

在多层布线中分配网络到不同层,同时规划路径,满足层约束(如优先层、禁止层)和线长优化。

核心思想(基于约束图和层分配)
  • 约束图构建
    • 节点为网络,边表示层分配冲突(如网络1和2不能同层)。
    • 分层约束:如电源网络优先使用底层,信号网络使用高层(图6.30-6.31)。
  • 层分配与路径规划
    1. 排序网络:按关键度排序(如时序关键网络优先)。
    2. 逐层分配:对每个网络,在允许的层中选择路径,更新约束图(图6.32-6.39)。
关键步骤
  1. 约束定义:设定各网络的允许层、优先层(如网络1允许层1-3,优先层2)。
  2. 路径搜索
    • 使用Dijkstra算法在允许层中找最短路径,避免已占用的层资源(图6.33)。
    • 示例:网络1分配到层2,网络3分配到层3,无冲突(图6.32b-c)。
  3. 冲突解决:若层冲突,调整路径或重新分配(如合并网络2和6,图6.35)。
优势与应用
  • 优点:显式处理层约束,适合3D IC或多层布线;支持优先级调度。
  • 缺点:依赖约束定义的合理性,复杂层结构增加计算量。
  • 典型场景:多层PCB或3D堆叠芯片的跨层布线。

5. 算法对比与总结

算法核心目标关键技术适用场景优势局限
Steiner Min-Max Tree单网边负载约束斯坦纳树+负载阈值检查FPGA/小规模多网快速筛选可行树忽略全局拥塞
Multi-Commodity Flow全局拥塞最小化流网络建模+ILP求解ASIC高密度布线全局最优资源分配计算复杂度高
Iterative Deletion局部通道拥塞优化密度驱动的边删除-重构标准单元通道布线简单高效,缓解局部热点可能破坏连通性
Yoshimura-Kuh层约束与路径规划约束图+层分配多层/3D IC布线显式处理层约束依赖约束定义精度
核心技术对比
  1. 单网vs全局
    • Steiner Min-Max Tree和Iterative Deletion处理单网或局部,Multi-Commodity Flow和Yoshimura-Kuh处理全局或多层约束。
  2. 建模方法
    • 流网络(Multi-Commodity Flow)适合数学规划,约束图(Yoshimura-Kuh)适合层分配,启发式(Iterative Deletion)适合快速局部优化。
  3. 约束类型
    • 边负载(Steiner Min-Max Tree)、通道密度(Iterative Deletion)、层资源(Yoshimura-Kuh)、流量容量(Multi-Commodity Flow)。
实际应用选择
  • 小规模设计:Steiner Min-Max Tree快速筛选可行树,结合Iterative Deletion优化通道。
  • 大规模复杂设计:Multi-Commodity Flow全局优化,适合百万网级ASIC;Yoshimura-Kuh处理多层PCB或3D IC的层约束。

6. 关键贡献与挑战

  • Steiner Min-Max Tree:首次提出负载约束下的单网路由,为多网初步筛选提供基础。
  • Multi-Commodity Flow:将网络流理论引入布线,成为全局拥塞优化的黄金标准,尽管计算成本高。
  • Iterative Deletion:简单有效的工程化方法,广泛应用于商用EDA工具(如Cadence Encounter)的通道优化。
  • Yoshimura-Kuh:推动多层布线的约束处理,适应现代3D集成趋势。

第六章的算法覆盖了多网布线的核心挑战:资源竞争、拥塞控制、层约束,从单网筛选到全局优化,为复杂芯片的可靠布线提供了多层次解决方案。随着芯片集成度提升,多网布线的高效算法仍是学术界和工业界的研究热点,尤其在3D IC和先进封装中的应用需求日益增长。

相关文章:

  • 【计算机视觉】CV实战项目 - 深入解析基于HOG+SVM的行人检测系统:Pedestrian Detection
  • 写在后面的话
  • 11.AOP开发
  • BS客户端的单点登录
  • 东南亚与中东小游戏市场出海调研报告
  • 7.0 sharpScada的sql数据的安装
  • 如何解决windows端口被占用
  • Kubernetes 节点 Not Ready 时 Pod 驱逐机制深度解析(下)
  • Java—— 常见API介绍 第四期
  • 【多目标进化算法】常见多目标进化算法一览
  • IP查询专业版:支持IPv4/IPv6自动识别并切换解析的API接口使用指南
  • C++ (STL,顺序容器,关联容器,容器适配器)
  • markdown自动标题序号,标题序号,目录处理
  • 软件设计模式与体系结构:基于Java实现管道-过滤器架构
  • RunnerGo API性能测试实战与高并发调优
  • SQL Server 2019 安装与配置详细教程
  • 区间和数量统计 之 前缀和+哈希表
  • Linux内核参数调优(TCP BBR算法实践)
  • 【计算机视觉】CV实践项目- 基于PaddleSeg的遥感建筑变化检测全解析:从U-Net 3+原理到工程实践
  • c++11新特性随笔
  • 龚正会见巴基斯坦卡拉奇市市长穆尔塔扎·瓦哈卜、巴西圣保罗市市长里卡多·努内斯
  • 农贸美学、业态再构、智能管理,今天的菜市场不止有菜
  • 神舟二十号载人飞船与空间站组合体完成自主快速交会对接
  • 中国牵头制定,在线旅游机构和展览与活动领域ISO国际标准发布
  • 鼓励每位学生为优秀定义,上海奉贤这所学校有何特色?
  • 北京顺义:做好潮白河大桥事故善后处置,举一反三排查风险