布局布线 PnR

概念解析

定义与起源

术语定义:布局布线(Place and Route, PnR)是IC物理设计的核心步骤——把综合后的门级网表"画"到芯片硅平面上。PnR的输出是GDSII——直接送给晶圆厂的光罩数据。

1980年代芯片几千门可以手工画版图。1990年代百万门时代出现第一代自动PnR工具。2020年代Fusion Compiler将综合+布局+CTS+布线融合为统一引擎。

核心要义

第一,PnR是一个带10^8个变量的优化问题。 几百万标准单元中决定每个的(x,y)坐标——使总面积最小、总连线最短、时序满足、功耗最低、散热均匀。这是NP-hard问题——只有启发式算法的"够好解"。

第二,Floorplan决定一切。 好的Floorplan让PnR事半功倍。坏Floorplan让PnR成为噩梦。

第三,布线不只是连线——是信号完整性管理。 相邻并行长线产生crosstalk。先进工艺下crosstalk引起的延迟变化可达20%+。

实践应用

* Placement需要跟CTS协同:先把寄存器大略放好→预估时钟树→调整寄存器位置→再精确放组合逻辑。 * Congestion是PnR的头号杀手:局部单元密度太高→绕线绕很远→时序恶化。 * ECO是PnR的日常:好的PnR流程预留ECO资源。

实战案例

- 某GPU的Congestion地狱:SM内部单元密度极高——局部congestion导致绕线长度超出预算30%。SM之间插入布线通道——面积+3%,时序全部收敛。——SNUG San Jose 2021 - Macro Placement的蝴蝶效应:DDR PHY放在右下角——离CPU太远——DDR延迟超20%。移到中下方——延迟达标。——SNUG Silicon Valley 2020 - 7nm的Crosstalk灾难:DDR数据线并行了800μm——实际延迟比STA模型多了18%。插入屏蔽线后频率恢复正常。——SNUG Europe 2022

原话引用

> "Placement is where the magic happens. Get it right, and routing is boring."—— Synopsys Fusion Compiler 技术白皮书, 2020 > "Congestion is not a routing problem — it's a placement problem that manifests during routing."—— Cadence Innovus 首席架构师, 2019 > "好的Floorplan管三代芯片。坏的Floorplan每代都在还债。"—— 物理设计总监, 内部评审

常见误区

误区一:PnR就是工具按个按钮。 工具只能做局部优化。全局决策必须由工程师决定。

误区二:面积越小越好。 面积最小化会增加congestion→绕线变长→面积反弹。最优面积通常是"最小可达面积+10-15%"。

误区三:PnR做完就交给signoff了。 PnR和signoff必须迭代。PnR用的时序模型有5-10%误差。

思想演变

- 1980s:手工时代 (1980–1995):芯片几千门,手工画版图。第一个自动布线工具出现。 - 1995–2010:自动PnR成熟:IC Compiler、Encounter成为标准。时序驱动的布局成为标配。 - 2010–2020:物理综合融合:Fusion Compiler统一引擎。double patterning给PnR带来新维度。 - 2020–present:AI驱动+3DIC:AI/ML优化macro placement。3D堆叠给PnR增加Z轴。

相关论文

- DC-T与ICC之间相关性的系统分析 - DC Graphical:承诺与现实 - 百万门设计构建方法论:DC Topographical与ICC协同 - 寄存器克隆加速设计收敛 - 基于ICC相对布局的流程实现45nm大型IP核最佳面积与频率 - 使用IC Compiler进行45nm高性能处理器设计 - 使用IC Compiler设计45nm高性能处理器 - 层次化设计流程中的布局规划与版图优化:案例研究 - 缩小综合与布局布线之间的差距 - 综合与布局相关性:DC-Topography是解决综合布局失配的圣杯吗? - 经济高效的金属掩膜ECO流程 - 低功耗IP与UPF:高性能低功耗CPU设计的使能技术 - 构建百万门级设计方法论 - 构建百万门级设计方法论 - 使用 IC Compiler 进行布局规划和可行性分析 - 使用更多生成时钟来简化约束 - 先有鸡还是先有蛋:如何在网表生成之前获得布图规划 - 与设计同步的DFT:层次化扫描压缩 - 使用Design Compiler Graphical进行拥塞预测与缓解 - 基于UPF的多电压MCMM实现经验 - 部署全定制时序壳方法学以在Custom Designer与ICC之间交付宏单元_Deployment_of_full_custom_created_timing_shell_methodology_paper.md) - StarRC在先进节点(28nm)下RC提取的精度分析 - RTLA / TestMax Advisor:布局布线原型 - RTLA 与 TestMax Advisor:P&R 原型验证中处理不完整 RTL 与 DFT 约束 - FPlab:一种参数化方法简化布图规划执行 - 基于仿真的标准单元可布线性分析 - 标准单元库功能丰富度基准对比及其对设计PPA的影响 - 先进Fusion Compiler综合与布局布线技术驱动性能与周转时间提升 - 重定时流水线多种低功耗方法的优异权衡 - Synopsys定制设计平台:加速稳健的定制设计 - Simply Better RTL -- RTL Architect 入门指南 - 利用多位寄存器合并技术提升芯片设计功耗效率 - 并发时钟与数据优化(CCD)技术亮点与瑞萨成功经验分享/SNUG_TPC_CCD_Gobok_2018_Synopsys_Inc_paper.md) - 高速内核实现的布局布线流程定制化/SNUG_TPC_CCD_高速内核实现的布局布线流程定制化.md) - 使用IC Compiler II加速设计收敛/使用IC_Compiler_II加速设计收敛.md) - 使用ICC2进行智能总线规划 - 使用 IC Compiler II 以扁平化流程实现百万门级 GPU 模块 - IC Compiler II在前沿节点设计中的优势 - IC Compiler II加速大规模电路物理实现收敛 - 16nm节点复杂全芯片低功耗实现案例研究 - 使用 IC Compiler II 的有用偏斜增强实现时序收敛 - 面向布局布线的RTL改进 - 2.1GHz ARM Cortex-A55功耗约束存储SoC的实现流程 - 下一代RTL综合:未来十年的RTL综合