4. Floorplan规划与Die/Core尺寸确定

Floorplan是数字后端实现中最早、也最难返工的一步。它决定了芯片的物理边界、标准单元可摆放区域、宏单元落位、电源网络骨架以及IO与内核之间的连接通道。一旦Die尺寸、Core区域或宏单元位置定错,后续Place、CTS、Route只能在错误的地基上做局部优化,拥塞、时序和IR-drop问题往往无法通过工具修复。本节围绕三个核心问题展开:Die面积如何估算、Core与IO Ring如何规划、先进工艺下布线资源与拥塞如何预判。

一、Die面积估算:从利用率反推

Die面积估算的起点是标准单元总面积。假设综合后标准单元面积(含组合逻辑、时序单元、时钟门控等)为 A_std,宏单元(SRAM、IP、模拟模块)总面积为 A_macro,目标标准单元利用率为 U,则Core面积可近似为:

Core_Area ≈ A_std / U + A_macro
Die_Area  ≈ Core_Area × (1 + IO_Ring_Ratio + Seal_Ring_Ratio)

其中 U 是标准单元在Core可摆放区域内的面积占比。先进工艺下,U 的取值需要谨慎:28nm 常用 0.70~0.75,16/12nm 常用 0.65~0.72,7nm 及以下由于布线资源紧张、单元密度高,通常控制在 0.55~0.68。利用率越高,布线越拥挤,但Die越小、成本越低,这是一个需要权衡的参数。

举例说明:某7nm模块综合后标准单元面积 A_std = 1.2 mm²,宏单元面积 A_macro = 0.8 mm²,目标利用率 U = 0.62。则Core面积约为 1.2/0.62 + 0.8 ≈ 2.74 mm²。若IO Ring与Seal Ring合计占约12%,则Die面积约为 2.74 × 1.12 ≈ 3.07 mm²。实际工程中还需为电源网络、去耦电容、时钟树预留空间,通常再留5%~10%余量。

利用率不是越高越好。7nm以下若利用率超过0.70,标准单元引脚密度和局部布线需求会迅速超过金属层供给,导致大量DRC和时序违例。宁可Die略大,也不要让布线资源成为瓶颈。

二、Core与IO Ring规划

Core区域是标准单元和宏单元的实际摆放范围,其形状通常为矩形,长宽比建议控制在1:1到1:2之间。过于狭长的Core会导致时钟树偏斜增大、长线增多、电源网络不均匀。Core边界到Die边界的距离由IO Ring、Seal Ring和电源环共同决定。

IO Ring规划需要同时考虑三个约束:一是IO数量与间距,先进工艺IO pitch通常在30~60μm,数量多时IO Ring会显著增大Die周长;二是IO类型,电源IO、模拟IO、高速差分IO对位置和隔离有不同要求;三是ESD与Latch-up规则,IO之间、IO与Core之间需要满足最小间距。常见做法是先将电源IO均匀分布在四边,再将高速信号IO靠近对应功能模块,最后填充普通信号IO。

宏单元的摆放是Floorplan中最影响后续布线的环节。原则是:宏单元尽量靠边、靠角,减少对Core中央布线通道的切割;宏单元之间预留足够通道,通道宽度应能容纳电源线、时钟线和总线;SRAM等规则宏单元的长边尽量与Core边平行,避免产生大量短边引脚导致的局部拥塞。

Die / Core / IO Ring 规划示意 Die 边界 Seal Ring IO Ring Core 区域(标准单元 + 宏单元) SRAM SRAM 模拟IP PLL 标准单元摆放区 利用率 U ≈ 0.62 红色箭头 = 宏单元间预留布线通道 Die 宽度 Die 高度

三、先进工艺下的布线资源与拥塞预判

先进工艺的金属层数多,但每层金属的pitch缩小、电阻增大,实际可用布线资源并不像层数看起来那么充裕。拥塞预判的核心是计算局部布线需求与供给的比值。常用指标包括:

  • Pin Density:单位面积内的标准单元引脚数,过高说明局部连接需求集中。
  • Routing Overflow:布线需求减去可用轨道数,正值表示溢出。
  • Congestion Map:工具在Floorplan阶段即可生成的拥塞热力图,红色区域表示高风险。
  • Macro Channel Width:宏单元之间通道宽度,建议不小于该区域金属层总轨道数的1.5倍。

在Floorplan阶段,可以通过以下操作提前发现拥塞:第一,运行 checkFloorplan 或等效命令检查宏单元间距、Core边界和IO合法性;第二,使用 reportCongestion 或工具内置的全局布线预估,观察拥塞分布;第三,对高Pin Density区域,提前调整宏单元朝向或增加通道宽度;第四,检查电源网络是否占用了过多布线轨道,尤其是宽金属电源线对信号布线的遮挡。

拥塞一旦在Route阶段才暴露,修复成本极高。Floorplan阶段多花一天调整宏单元位置,可能节省后续一周的布线迭代。建议在Floorplan完成后立即做一次快速全局布线预估,而不是等到Place之后。

四、Floorplan检查清单

完成Floorplan后,建议按以下清单逐项确认,避免把问题带入后续阶段:

检查项判断标准常见问题
Core利用率7nm建议0.55~0.68过高导致布线溢出
Core长宽比1:1~1:2狭长导致时钟偏斜大
宏单元到Core边距离≥ 通道最小宽度太近导致引脚无法出线
宏单元之间通道≥ 1.5倍金属轨道需求通道不足导致局部拥塞
IO Ring间距满足ESD/Latch-up规则IO太密导致DRC
电源网络覆盖Core内无供电盲区IR-drop超标
拥塞热力图无大面积红色区域高Pin Density区未处理

需要强调的是,Die面积估算不是一次性的算术题。随着综合迭代、宏单元替换、IO数量变化,Floorplan需要反复调整。工程上通常先按目标利用率给出初版Die尺寸,再根据拥塞预估和时序预估做±5%~10%的微调。先进工艺下,宁可Die略大、利用率略低,也要保证布线资源和电源网络的余量,因为后期修复拥塞和IR-drop的代价远高于增加少量面积。