第四章:物理综合与布局规划
各位好,我是老陈。今天咱们聊聊物理综合和布局规划。说实话,这两个概念在芯片后端设计里,就像盖房子时的地基和框架——地基没打好,后面装修得再漂亮也白搭。
我刚开始做后端那会儿,总觉得物理综合就是个流程,跑一遍就完事了。后来吃过几次亏才明白,这步要是没想清楚,后面面积优化基本就是空谈。嗯,咱们今天就把这块掰开揉碎了讲。
4.1 物理综合的概念
物理综合,说白了就是把逻辑综合出来的网表,跟实际的物理位置信息结合起来做优化。传统逻辑综合只考虑时序和逻辑,但物理综合会提前把走线延迟、拥塞度这些物理因素考虑进去。
为什么会这样?因为到了深亚微米工艺,连线延迟已经占了总延迟的70%以上。你想想看,如果综合阶段完全不管物理位置,后面布局布线时发现关键路径太长,那就只能返工了。
核心区别:
- 逻辑综合:只优化逻辑级数和门大小
- 物理综合:同时优化逻辑、位置、走线
我个人习惯在物理综合阶段就把floorplan的初步信息给进去。比如芯片的尺寸、I/O口的位置、主要宏单元(SRAM、PLL)的摆放。这样综合工具在做门级优化时,就能更准确地估算走线负载。
我记得有个项目,客户给的时序约束特别紧。逻辑综合出来的网表时序是满足的,但一跑物理综合就崩了。后来发现是I/O口到核心逻辑的走线太长,物理综合阶段重新优化了驱动强度和逻辑位置才搞定。
4.2 布局规划对面积的影响
布局规划,英文叫floorplanning。这一步直接决定了芯片最终面积能压到多小。我见过太多新手一上来就急着摆标准单元,结果面积大得离谱。
影响面积的关键因素有这几个:
- 宏单元摆放:SRAM、ROM这些大块头,摆错了位置会浪费大量面积
- 通道宽度:模块之间留的走线通道,太宽浪费面积,太窄走不通
- 利用率:标准单元区域的填充密度,一般控制在70%-85%
- 电源网络:电源条带的宽度和间距,直接影响绕线资源
我的经验:宏单元尽量靠边放,把中间区域留给标准单元。这样走线更顺畅,面积利用率能提高5%-10%。
我曾经在一个AI加速器项目里,把SRAM从芯片中央挪到边缘,面积直接省了12%。为什么?因为中央区域留给逻辑单元后,走线不再需要绕开宏单元,拥塞度大幅下降。
这里有个表格,展示不同布局策略对面积的影响:
| 布局策略 | 面积利用率 | 走线拥塞度 | 时序余量 |
|---|---|---|---|
| 宏单元集中中央 | 65% | 高 | -0.2ns |
| 宏单元靠边摆放 | 78% | 中 | +0.1ns |
| 宏单元分散布局 | 72% | 低 | +0.3ns |
你看,宏单元靠边摆放不仅面积利用率最高,时序也还不错。分散布局虽然走线最顺畅,但面积会大一些。
4.3 I/O规划与面积权衡
I/O规划,说白了就是芯片的「门面」。I/O口怎么摆,直接决定了芯片的尺寸和封装成本。
这里有个常见的矛盾:I/O口越多,芯片面积越大。但有些I/O口是功能必需的,不能砍。怎么办?
我个人习惯的做法是:
- 先列出所有I/O口的功能和电流需求
- 把高速I/O(DDR、SerDes)放在一起,远离噪声源
- 把低速I/O(GPIO、SPI)放在边缘区域
- 电源/地I/O均匀分布,保证供电稳定
避坑指南:我曾经在一个项目中,为了省面积把I/O口挤得太密。结果封装测试时发现信号串扰严重,最后不得不重新流片。嗯,从那以后我宁愿多留10%的面积给I/O,也不敢再冒险了。
I/O规划对面积的影响,主要体现在两个方面:
- I/O环宽度:每个I/O单元都有固定宽度,数量越多环越宽
- I/O到核心的走线:I/O口到内部逻辑的走线需要预留通道
你想想看,如果芯片有200个I/O口,每个宽度80μm,光I/O环一圈就要16mm。如果芯片尺寸是5mm×5mm,I/O环就占了将近30%的面积。这时候就得权衡:是增加芯片尺寸,还是减少I/O数量?
我记得有个无线通信芯片的项目,客户要求I/O数量不能变,但面积要压到最小。最后我们用了 staggered I/O(交错排列)的方案,把I/O环宽度从80μm压缩到60μm,面积省了8%。代价是封装时走线稍微复杂了点,但整体是划算的。
4.4 知识体系总览
说了这么多,咱们用一张图来总结本章的核心逻辑:
这张图把咱们今天讲的内容串起来了。物理综合、布局规划、I/O规划,三者相互影响,最终目标就是在满足性能的前提下把面积压到最小。
好了,今天就聊到这儿。记住一句话:面积优化不是最后一步才做的事,而是从物理综合阶段就要开始考虑。希望各位在实际项目中能少走弯路,一次流片成功。
本章要点回顾:
- 物理综合要提前考虑物理位置信息
- 宏单元靠边摆放能提高面积利用率
- I/O规划需要在面积和功能之间做权衡
- 利用率控制在70%-85%比较合理