布图规划(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 中的“大块头”。它们的摆放位置直接影响时序和布线。
我一般会按这个优先级来摆放:
- 先放 Memory:Memory 面积大、端口多,而且通常有固定的宽高比。先把它们放在芯片的角落或边缘,留出中间区域给标准单元
- 再放 IP:比如 PLL、ADC/DAC、USB PHY 等。这些 IP 通常有特殊的电源和隔离要求
- 最后放标准单元:标准单元是“填缝剂”,哪里有空塞哪里
避坑指南:我曾经在一个项目中,把两个大容量 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 要跟这些环对齐,不能出现“断头路”。
本章知识体系
下面这张图总结了布图规划的核心内容,你可以把它当作一个快速参考:
布图规划不是一蹴而就的。我通常要迭代 3-5 版才能定下来。每次迭代,我都会问自己三个问题:面积够不够?时序能不能收敛?电源网络有没有瓶颈?如果三个答案都是肯定的,那这个 Floorplan 基本就稳了。
最后说一句:布图规划没有标准答案,只有最适合当前设计的方案。多积累项目经验,多跟前后端同事沟通,慢慢你就能找到感觉了。
公众号:蓝海资料掘金营,微信deep3321