布图规划(Floorplan)基础:目标、意义与核心实践

布图规划,圈内人常叫它 Floorplan。这是整个后端流程的起点,也是决定芯片成败的关键一步。我常说一句话:Floorplan 做得好,后面躺平都能跑;Floorplan 做得烂,加班改线改到断。

说白了,布图规划就是给芯片的各个功能模块找个合适的位置,定好尺寸,规划好进出通道。你想想看,盖房子之前总得先画个户型图吧?芯片设计也是一样的道理。

核心要点:布图规划决定了芯片的面积、性能、功耗和可制造性。这一步如果出了问题,后面时序收敛、信号完整性、电源完整性都会跟着遭殃。

芯片面积估算:别让芯片变成“胖子”

面积估算,是布图规划的第一步。我见过不少新手,上来就把标准单元和宏单元的面积简单相加,结果流片回来发现芯片比预期大了 30%。为什么会这样?因为忽略了布线资源和电源网络的占用。

我个人习惯用这个公式做初步估算:

芯片总面积 = (标准单元总面积 + 宏单元总面积) × (1 + 布线资源系数)

布线资源系数通常在 0.3 到 0.6 之间。具体取多少,要看工艺节点和设计复杂度。比如 28nm 工艺,我一般取 0.4 左右;到了 7nm,这个系数可能要提到 0.6 甚至更高。

工艺节点 布线资源系数 备注
28nm 0.3 - 0.4 成熟工艺,布线资源相对充裕
16nm/12nm 0.4 - 0.5 FinFET 工艺,密度提升
7nm 及以下 0.5 - 0.7 超高密度,布线资源紧张

我的经验:如果设计中包含大量高速接口或模拟 IP,建议把系数再往上调 0.1。我在一个 12nm 的项目中,就因为低估了 SerDes 模块的布线需求,最后不得不重新做 Floorplan,浪费了两周时间。

IO Pad 规划:芯片的“门面”

IO Pad 是芯片与外界通信的窗口。规划 IO Pad 时,我通常会考虑三个因素:信号完整性、电源完整性和封装兼容性。

嗯,这里要注意:高速信号 Pad 要尽量靠近芯片边缘,并且远离噪声源。我曾经遇到过一个案例,客户把一组 DDR 接口的 IO Pad 放在了电源 Pad 旁边,结果信号抖动超标,最后只能通过增加屏蔽层来解决,成本直接上去了。

IO Pad 的布局原则:

  • 高速信号优先:DDR、SerDes、PCIe 等高速接口,放在芯片边缘的中间位置,走线最短
  • 电源 Pad 均匀分布:避免电流集中,减少 IR Drop
  • 模拟与数字隔离:模拟 IO 和数字 IO 之间保持一定距离,防止串扰
  • 封装兼容性:提前与封装团队沟通,确保 Pad 位置与封装基板匹配

宏单元(Memory、IP)的摆放策略

宏单元,尤其是 Memory 和第三方 IP,是 Floorplan 中的“大块头”。它们的摆放位置直接影响时序和布线。

我一般会按这个优先级来摆放:

  1. 先放 Memory:Memory 面积大、端口多,而且通常有固定的宽高比。先把它们放在芯片的角落或边缘,留出中间区域给标准单元
  2. 再放 IP:比如 PLL、ADC/DAC、USB PHY 等。这些 IP 通常有特殊的电源和隔离要求
  3. 最后放标准单元:标准单元是“填缝剂”,哪里有空塞哪里

避坑指南:我曾经在一个项目中,把两个大容量 SRAM 并排放在一起,结果导致中间区域的布线通道被堵死,标准单元只能绕远路,时序直接崩了。后来我学乖了,Memory 之间至少要留出 2-3 条布线通道的间距。

宏单元摆放的几个关键点:

  • 对齐供电轨道:宏单元的电源引脚要与芯片的电源网络对齐,减少电源绕线
  • 避免形成“孤岛”:宏单元之间不要形成封闭区域,否则标准单元进不去,利用率会下降
  • 考虑时钟分布:时钟源(如 PLL)要放在芯片中心附近,方便时钟树综合

电源网络规划(PG Mesh)基础

电源网络,也就是 PG Mesh,是芯片的“血管”。没有它,再好的设计也跑不起来。

PG Mesh 的核心目标就两个:降低 IR Drop减少 EM(电迁移)风险。说白了,就是要保证每个标准单元都能吃到足够的电压,同时不能让金属线因为电流过大而烧断。

我常用的 PG Mesh 结构是这样的:

顶层金属(如 M9/M10):宽线,间距大,用于全局供电
中间层金属(如 M5-M8):中等宽度,用于区域供电
底层金属(如 M1-M4):细线,用于标准单元供电

设计 PG Mesh 时,我会关注这几个参数:

  • 线宽:顶层金属通常用 5-10μm 的宽线,底层用 0.5-1μm
  • 间距:顶层间距 10-20μm,底层间距 1-3μm
  • 通孔数量:不同金属层之间的通孔要足够多,否则会成为电流瓶颈

我的习惯:在 Floorplan 阶段,我会先跑一个快速的 IR Drop 分析。如果发现某个区域的电压降超过 5%,我会提前调整 PG Mesh 的密度,而不是等到布线完成后再返工。这样能省下至少一周的迭代时间。

另外,电源网络还要考虑与宏单元的对接。比如 Memory 通常有专用的电源环(power ring),PG Mesh 要跟这些环对齐,不能出现“断头路”。

本章知识体系

下面这张图总结了布图规划的核心内容,你可以把它当作一个快速参考:

布图规划(Floorplan)知识体系 布图规划 芯片面积估算 IO Pad 规划 宏单元摆放策略 电源网络规划 标准单元面积 布线资源系数 高速信号优先 电源均匀分布 Memory 优先 IP 隔离摆放 IR Drop 控制 EM 风险规避 核心目标:面积最优 · 时序收敛 · 电源完整 · 可制造性 一步错,步步错;Floorplan 做扎实,后端流程事半功倍

布图规划不是一蹴而就的。我通常要迭代 3-5 版才能定下来。每次迭代,我都会问自己三个问题:面积够不够?时序能不能收敛?电源网络有没有瓶颈?如果三个答案都是肯定的,那这个 Floorplan 基本就稳了。

最后说一句:布图规划没有标准答案,只有最适合当前设计的方案。多积累项目经验,多跟前后端同事沟通,慢慢你就能找到感觉了。


公众号:蓝海资料掘金营,微信deep3321