【EDA】Placement(布局)
第四章:Placement(布局)
在VLSI物理设计中,布局(Placement)的目标是确定电路中每个模块(或门)的位置,以最小化线长、时序延迟或功耗,同时满足面积和拥塞约束。第四章聚焦三种经典布局算法,涵盖递归划分、解析优化和模拟退火,以下是详细介绍:
1. 最小割布局(Mincut Placement)
核心目标
通过递归二分划分电路,每次切割最小化跨分区连接(割集),结合终端传播优化模块位置,减少全局线长。
核心思想(Breuer算法 + Dunlop-Kernighan终端传播)
- 递归二分划分:
- 将电路递归划分为两个子电路,每次切割选择最小割集(跨区连接权重和最小)。
- 划分区域交替横纵切割(如先垂直后水平),形成层次化布局(图4.1a)。
- 终端传播(Terminal Propagation):
- 对每个分区,将外部连接(终端)作为“锚点”,吸引相关模块靠近分区边界,减少跨区线长(图4.1b)。
- 示例:若模块y在分区外且靠近切割线,将其“传播”到分区边界,引导关联模块进入对应分区。
关键步骤
- 初始划分:随机或基于连通性划分电路,计算初始割集(图4.2-4.3)。
- 递归切割:
- 每次切割前,评估水平/垂直切割的割集大小,选择较小者(图4.3a-4.3f)。
- 终端传播:对分区外的连接终端,若位于“窗口”外(如中三分之一区域外),将其作为锚点吸引模块(图4.4-4.8)。
- 网格映射:将最终分区的模块放置到网格(如4×4网格),计算半周长线长(图4.3f、4.10d)。
优势与应用
- 优点:适合大规模电路,分层处理降低复杂度;终端传播有效减少长距离连线。
- 缺点:依赖划分质量,可能陷入局部最优;网格映射可能引入布局重叠。
- 典型应用:早期标准单元布局,如微处理器核心模块划分。
2. GORDIAN算法(基于二次规划的解析布局)
核心目标
通过二次规划(QP)最小化平方线长,结合分层划分和重心约束,逐步细化模块位置,减少重叠并优化线长。
核心思想
- 二次规划建模:
- 目标函数:最小化模块间连线的平方距离,形如 (\frac{1}{2}x^T C x + d_x^T x),其中 (C) 是拉普拉斯矩阵,描述模块连接权重;(d_x) 是固定引脚的坐标影响(图4.13)。
- 约束条件:分层划分后的重心约束(如分区模块重心与分区中心重合)。
- 分层优化:
- 顶层优化(Level 0):无约束QP,求解模块初步位置(图4.14)。
- 分层约束(Level 1/2):加入分区重心约束,如垂直/水平切割后,子分区模块重心必须位于子区域中心(图4.15-4.17)。
关键步骤
- 图模型构建:将网表转换为带权无向图,边权为 (2/k)(k为网的扇出数)(图4.12)。
- QP求解:
- 使用MOSEK等求解器,计算模块坐标,最小化平方线长(图4.14)。
- 分层时添加线性约束(如 (A x = u_x),确保分区重心匹配)(图4.15)。
- 示例:四层模块布局,通过三层优化(Level 0-2)逐步细化位置,减少重叠并优化线长(图4.14-4.18)。
优势与应用
- 优点:数学优化保证局部最优,适合处理大规模电路的全局布局。
- 缺点:初始位置敏感,需后续合法化处理重叠;计算复杂度高(O(n³))。
- 典型应用:混合信号电路布局,平衡模拟与数字模块的线长和噪声约束。
3. TimberWolf算法(基于模拟退火的布局)
核心目标
通过模拟退火(Simulated Annealing, SA)优化单元位置,允许单元交换和移动,最小化线长并消除重叠,适用于标准单元布局。
核心思想
- 单元交换与移动:
- 随机交换两个单元,计算线长变化 (\Delta C = \Delta W + \Delta W_S),其中 (\Delta W) 是直接线长变化,(\Delta W_S) 是移位消除重叠的线长估计(图4.19-4.25)。
- 使用两种模型估计移位影响:
- Model A:精确计算边界点的线长变化。
- Model B:梯度法快速估计(如计算模块对网的边界影响,图4.20-4.21)。
- 重叠消除:交换后优先移位短边的单元,减少重叠(图4.19b、4.22b)。
关键步骤
- 初始化:随机放置单元,计算初始线长(图4.19a)。
- 模拟退火循环:
- 随机选择单元对交换,计算增益(Gain),若增益为负(线长减少)则接受,否则以概率接受(Metropolis准则)。
- 移位消除重叠:交换后若单元宽度不同,移位较窄行的单元以避免重叠(图4.22b、4.25b)。
- 示例:交换单元b和e,计算线长变化,移位单元h后消除重叠,线长从19增加到20(图4.19-4.21)。
优势与应用
- 优点:全局搜索能力强,适合详细布局优化;处理标准单元行的密集布局。
- 缺点:计算耗时(依赖温度调度和迭代次数);局部最优可能影响结果。
- 典型应用:ASIC标准单元布局,如微控制器的高密度逻辑单元排列。
4. 算法对比与总结
算法 | 核心方法 | 优化目标 | 模块支持 | 关键技术 | 典型示例 |
---|---|---|---|---|---|
Mincut Placement | 递归二分+终端传播 | 割集最小化 | 任意模块 | 分层划分、终端锚点引导 | 图4.3(4×4网格布局,线长27) |
GORDIAN | 二次规划+分层约束 | 平方线长最小化 | 混合模块(软/硬) | 拉普拉斯矩阵、重心约束 | 图4.14-4.18(三层优化布局) |
TimberWolf | 模拟退火+单元交换 | 线长+重叠消除 | 标准单元(固定尺寸) | 增益计算、Model A/B估计 | 图4.19-4.25(单元交换与移位) |
核心技术对比
- 划分 vs 解析 vs 启发式:
- Mincut依赖分层划分,适合粗布局;GORDIAN通过数学规划求局部最优;TimberWolf用SA探索全局解。
- 线长度量:
- Mincut用半周长(HPWL),GORDIAN用平方线长(适合数学优化),TimberWolf用精确/估计模型。
- 约束处理:
- GORDIAN支持重心约束(分区平衡),TimberWolf隐式处理重叠(移位消除),Mincut依赖终端传播间接优化。
实际应用场景
- 大规模电路:先使用Mincut进行粗划分,再用TimberWolf细化,结合GORDIAN的解析优化提升线长。
- 高性能设计:GORDIAN的二次规划适合时序关键路径布局,确保模块靠近减少延迟。
- 标准单元库:TimberWolf的单元交换和SA适合密集布局,降低芯片面积和线长。
5. 关键贡献与局限
- Mincut Placement:开创递归划分布局,终端传播技术成为现代分层布局的基础(如Cadence Encounter的早期版本)。
- GORDIAN:首次将二次规划引入布局,推动解析布局算法发展,影响后续FastPlace等工具。
- TimberWolf:模拟退火在布局中的成功应用,证明启发式算法在详细优化中的有效性,成为工业级工具的核心组件(如Synopsys IC Compiler)。
第四章的算法覆盖了从早期分层划分到现代启发式优化的核心方法,为VLSI布局提供了从粗到细的完整流程,是后续布线和物理验证的关键前置步骤。