第四章 系统架构规划:功能分区策略、芯片拆分原则与Die-to-Die接口选择

各位好,我是老张。在异质集成这个圈子里摸爬滚打了十几年,今天咱们聊聊系统架构规划。说白了,就是怎么把一个大芯片拆成几个小芯片,再让它们高效地协同工作。

很多人觉得,拆芯片嘛,不就是拿把刀切一下?其实没那么简单。我见过太多项目,因为前期分区没做好,后期调试改到崩溃。嗯,今天我就把这些年踩过的坑、总结的经验,一次性讲清楚。

4.1 功能分区策略:先想清楚再动手

功能分区,是异质集成的第一步。我个人习惯,拿到一个系统需求后,先画一张功能框图,把每个模块的工艺需求、功耗、面积、数据流都标出来。

为什么要这么做?因为不同的功能模块,对工艺的要求天差地别。举个例子:

  • 数字逻辑:追求先进工艺,比如7nm、5nm,因为要跑高频、要省功耗
  • 模拟/RF:通常用成熟工艺,比如28nm、22nm,因为对电压、噪声更敏感
  • 存储器:HBM、SRAM,有自己专门的工艺节点
  • 光电器件:硅光工艺,跟CMOS完全不同

所以,功能分区的核心原则就一条:把相同工艺需求的模块放在一起,不同工艺的拆开

核心原则:

  • 同工艺、同电压域 → 尽量放一个die
  • 不同工艺、不同电压域 → 拆成不同die
  • 高频接口、敏感模拟 → 单独隔离
  • 大带宽数据通路 → 靠近放,减少走线延迟

我在一个AI加速器项目里遇到过这种情况:客户非要把DDR控制器和AI计算核放在同一个die上。结果呢?DDR的噪声干扰了计算核,导致推理精度下降。后来我们硬是把它们拆成两个die,中间用UCIe连接,问题才解决。

4.2 芯片拆分原则:切得巧,才能合得好

功能分区定下来后,下一步就是具体怎么切。这里有几个原则,是我这些年总结出来的:

4.2.1 按数据流切

说白了,就是看数据怎么流动。如果两个模块之间数据交互频繁,带宽要求高,那就尽量放在同一个die上。如果只是偶尔通信,可以拆开。

举个例子:CPU和L3 cache之间,几乎每个时钟周期都在交换数据,这种绝对不能拆。但CPU和PCIe控制器之间,数据流是间歇性的,拆开完全没问题。

4.2.2 按功耗域切

不同功耗域,供电和散热要求不同。把高功耗模块和低功耗模块拆开,可以独立优化供电网络和散热方案。

我记得有个项目,把CPU core和I/O模块放在同一个die上。CPU跑起来时温度飙升,I/O模块也跟着受热,导致信号完整性出问题。后来拆成两个die,中间用硅桥连接,各自独立散热,问题迎刃而解。

4.2.3 按良率切

这个很现实。大芯片的良率低,小芯片的良率高。如果一个die的面积超过400mm²,良率就会急剧下降。所以,把大芯片拆成几个小die,每个小die单独制造,最后封装在一起,整体良率反而更高。

避坑指南:

我曾经把一个400mm²的SoC拆成4个100mm²的小die,良率从65%提升到了92%。但代价是Die-to-Die接口增加了额外的功耗和延迟。所以,拆与不拆,要算一笔经济账。

4.3 Die-to-Die接口选择:UCIe、BoW、HBM

拆完芯片,怎么把它们连起来?这就是Die-to-Die接口的活了。目前主流的接口有三种:UCIe、BoW、HBM。我一个个说。

4.3.1 UCIe(Universal Chiplet Interconnect Express)

UCIe是Intel牵头推的标准,现在已经是行业主流了。它基于PCIe/CXL协议栈,物理层支持标准封装和先进封装两种模式。

  • 标准封装:走PCB走线,速率稍低,但成本低
  • 先进封装:走硅中介层或桥接,速率高,功耗低

我个人比较喜欢UCIe,因为它生态好。很多IP厂商都提供UCIe的PHY和控制器,集成起来很方便。而且它支持多协议,可以跑PCIe、CXL、甚至自定义协议。

UCIe关键参数:

参数标准封装先进封装
每lane速率16 GT/s32 GT/s
每mm带宽~0.5 Tbps~1.5 Tbps
功耗效率~1 pJ/bit~0.5 pJ/bit
die间距~10mm~2mm

4.3.2 BoW(Bridge of Wires)

BoW是Open Compute Project(OCP)推的标准,主打低成本、低复杂度。它不需要复杂的PHY,直接用简单的并行总线连接。

说白了,BoW就是一根根导线,把两个die的IO口直接连起来。优点是延迟极低,功耗也低。缺点是带宽有限,而且对封装精度要求高。

我在一个低功耗IoT项目里用过BoW。两个die之间的距离只有几十微米,用硅桥连接,延迟不到1ns。效果非常好,但调试起来很痛苦——因为信号完整性全靠封装保证,稍微有点偏差就出问题。

注意:

BoW不适合长距离传输。如果两个die之间的距离超过5mm,信号衰减会很严重。这时候还是老老实实用UCIe吧。

4.3.3 HBM(High Bandwidth Memory)

HBM是专门为内存设计的接口。它通过硅通孔(TSV)和微凸点,把多个DRAM die堆叠在一起,再通过中介层连接到逻辑die。

HBM的优势是带宽极高。目前HBM3的带宽可以达到819 GB/s,是DDR5的十几倍。但代价是成本高、工艺复杂。

我建议,只有在对内存带宽有极致要求的场景下才用HBM,比如AI训练、高性能计算。普通应用,用DDR或者LPDDR就够了。

4.4 接口选择决策树

说了这么多,到底怎么选?我画了一张决策树,大家可以参考:

Die-to-Die接口选择决策树 需要多高带宽? 极高(>1 TB/s)→ 选HBM 中等(100-500 GB/s)→ 选UCIe 低(<50 GB/s)→ 选BoW 考虑因素:功耗、延迟、成本 功耗敏感 → 先进封装 成本敏感 → 标准封装 考虑因素:堆叠层数、TSV工艺 HBM2e(256 GB/s) HBM3(819 GB/s) 考虑因素:die间距、信号完整性 近距离(<2mm) 远距离 → 不建议用BoW 总结 HBM:极致带宽,成本高 | UCIe:平衡之选,生态好 | BoW:低延迟,低成本 没有最好的接口,只有最适合你项目的接口

4.5 实战经验:一个AI芯片的分区案例

最后,我分享一个真实的案例。去年我做了一颗AI推理芯片,目标是在30W功耗内实现100TOPS的算力。

我们是这样拆的:

  1. AI计算核:用7nm工艺,单独一个die,面积120mm²
  2. SRAM缓存:用16nm工艺,单独一个die,面积80mm²
  3. I/O控制器:用28nm工艺,单独一个die,面积40mm²
  4. HBM接口:用先进封装,通过硅中介层连接

Die-to-Die接口的选择:

  • AI核 ↔ SRAM:用UCIe先进封装模式,带宽1.2 TB/s
  • AI核 ↔ I/O:用UCIe标准封装模式,带宽200 GB/s
  • AI核 ↔ HBM:用HBM3接口,带宽819 GB/s

结果呢?芯片一次流片成功,性能达标,功耗比预期还低了5%。

我的心得:

异质集成不是简单的「切」,而是「切」完之后还能「合」得好。功能分区、芯片拆分、接口选择,这三步环环相扣。前期多花点时间做规划,后期就能少流几次片。

好了,今天就聊到这里。下一章咱们聊聊封装工艺的选择,包括硅中介层、桥接、扇出等技术的对比。各位有什么问题,欢迎随时交流。


专注资料整理