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

【EDA】Placement(布局)

第四章:Placement(布局)

在VLSI物理设计中,布局(Placement)的目标是确定电路中每个模块(或门)的位置,以最小化线长、时序延迟或功耗,同时满足面积和拥塞约束。第四章聚焦三种经典布局算法,涵盖递归划分、解析优化和模拟退火,以下是详细介绍:

1. 最小割布局(Mincut Placement)

核心目标

通过递归二分划分电路,每次切割最小化跨分区连接(割集),结合终端传播优化模块位置,减少全局线长。

核心思想(Breuer算法 + Dunlop-Kernighan终端传播)
  • 递归二分划分
    1. 将电路递归划分为两个子电路,每次切割选择最小割集(跨区连接权重和最小)。
    2. 划分区域交替横纵切割(如先垂直后水平),形成层次化布局(图4.1a)。
  • 终端传播(Terminal Propagation)
    • 对每个分区,将外部连接(终端)作为“锚点”,吸引相关模块靠近分区边界,减少跨区线长(图4.1b)。
    • 示例:若模块y在分区外且靠近切割线,将其“传播”到分区边界,引导关联模块进入对应分区。
关键步骤
  1. 初始划分:随机或基于连通性划分电路,计算初始割集(图4.2-4.3)。
  2. 递归切割
    • 每次切割前,评估水平/垂直切割的割集大小,选择较小者(图4.3a-4.3f)。
    • 终端传播:对分区外的连接终端,若位于“窗口”外(如中三分之一区域外),将其作为锚点吸引模块(图4.4-4.8)。
  3. 网格映射:将最终分区的模块放置到网格(如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)。
    • 约束条件:分层划分后的重心约束(如分区模块重心与分区中心重合)。
  • 分层优化
    1. 顶层优化(Level 0):无约束QP,求解模块初步位置(图4.14)。
    2. 分层约束(Level 1/2):加入分区重心约束,如垂直/水平切割后,子分区模块重心必须位于子区域中心(图4.15-4.17)。
关键步骤
  1. 图模型构建:将网表转换为带权无向图,边权为 (2/k)(k为网的扇出数)(图4.12)。
  2. QP求解
    • 使用MOSEK等求解器,计算模块坐标,最小化平方线长(图4.14)。
    • 分层时添加线性约束(如 (A x = u_x),确保分区重心匹配)(图4.15)。
  3. 示例:四层模块布局,通过三层优化(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)。
关键步骤
  1. 初始化:随机放置单元,计算初始线长(图4.19a)。
  2. 模拟退火循环
    • 随机选择单元对交换,计算增益(Gain),若增益为负(线长减少)则接受,否则以概率接受(Metropolis准则)。
    • 移位消除重叠:交换后若单元宽度不同,移位较窄行的单元以避免重叠(图4.22b、4.25b)。
  3. 示例:交换单元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(单元交换与移位)
核心技术对比
  1. 划分 vs 解析 vs 启发式
    • Mincut依赖分层划分,适合粗布局;GORDIAN通过数学规划求局部最优;TimberWolf用SA探索全局解。
  2. 线长度量
    • Mincut用半周长(HPWL),GORDIAN用平方线长(适合数学优化),TimberWolf用精确/估计模型。
  3. 约束处理
    • GORDIAN支持重心约束(分区平衡),TimberWolf隐式处理重叠(移位消除),Mincut依赖终端传播间接优化。
实际应用场景
  • 大规模电路:先使用Mincut进行粗划分,再用TimberWolf细化,结合GORDIAN的解析优化提升线长。
  • 高性能设计:GORDIAN的二次规划适合时序关键路径布局,确保模块靠近减少延迟。
  • 标准单元库:TimberWolf的单元交换和SA适合密集布局,降低芯片面积和线长。

5. 关键贡献与局限

  • Mincut Placement:开创递归划分布局,终端传播技术成为现代分层布局的基础(如Cadence Encounter的早期版本)。
  • GORDIAN:首次将二次规划引入布局,推动解析布局算法发展,影响后续FastPlace等工具。
  • TimberWolf:模拟退火在布局中的成功应用,证明启发式算法在详细优化中的有效性,成为工业级工具的核心组件(如Synopsys IC Compiler)。

第四章的算法覆盖了从早期分层划分到现代启发式优化的核心方法,为VLSI布局提供了从粗到细的完整流程,是后续布线和物理验证的关键前置步骤。

相关文章:

  • Windows 安全设置不允许下载文件
  • 文档编辑:reStructuredText全面使用指南 — 第二部分 基础语法
  • 第四章第四节 Spark-Streaming核心编程(三)
  • 浅谈AI Agent 演进之路
  • netcore8.0项目部署到windows服务器中(或个人windows电脑),利用nginx反向代理
  • 解决 EasyExcel 填充图片占满单元格问题
  • javascript全栈开发之旅01
  • Spring-Framework源码环境搭建
  • window和ubuntu自签证书
  • Node.js 应用场景
  • vue3中nextTick的作用及示例
  • Asp.Net Core 基于(asp.net core 2.2) 创建asp .net core空项目
  • vite+vue2+elementui构建之 vite.config.js
  • 优化算法
  • uniapp小程序开发入门01-快速搭建一个空白的项目并预览它
  • 用C语言实现——一个中缀表达式的计算器。支持用户输入和动画演示过程。
  • 文档编辑:reStructuredText全面使用指南 — 第一部分 介绍
  • 百度打响第一枪!通用超级智能体时代,真的来了
  • Spring 与 ActiveMQ 的深度集成实践(二)
  • OpenCv高阶(九)——背景建模
  • 一季度煤价持续下探,多家煤炭巨头营收下滑、净利润降约两成
  • 政治局会议:要提高中低收入群体收入,设立服务消费与养老再贷款
  • 外交部回应美财长涉中国发展经济模式言论:损害各国人民共同利益的是美方
  • 下周起上海浦东将投放5000万元消费券,预计分五周发放
  • “全国十大考古”揭晓:盘龙城遗址、周原遗址等入选
  • “全国十大考古”揭晓:盘龙城遗址、周原遗址入围