JOVANA
Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

芯粒与异构集成

六十年来,对于"怎样造出更大、更快的芯片?"这个问题,答案一直很简单:"做一块更大的硅片。"如今这个答案已经悄然失效。本指南讲的是整个行业转向的解法:不再造一整块巨大的裸片,而是把几块小而专用的裸片——芯粒——拼装进同一个封装里。你会看到为什么经济账逼着我们这样做、"已知良好裸片"能给你带来什么、混用不同的工艺节点如何变成一种优势,以及 UCIe 为什么正把裸片间的连接变成一种标准插槽。

为什么要把芯片拆开?

在这之下的每一级台阶,都是在跟同一堵墙较劲。当 登纳德缩放 在 2006 年前后终结,功耗就不再随之缩小,于是我们没法再单纯靠拉高时钟来提速了。随着 互连缩放 陷入停滞,导线相对于晶体管变得越来越慢。而一个新 工艺节点 的成本不断攀升,即便 摩尔定律 还在勉力维持。几十年来,面对"我需要更多芯片"的本能答案始终如一:画一块更大的单一裸片——一整块单片硅,把 CPU 内核、缓存、I/O、模拟电路,统统装进去。本指南讲的就是这种本能为什么终于失灵,以及整个行业转向的那个替代方案。

这个替代方案就是解聚:把一整块大 集成电路 的各项功能拆分到几块较小的裸片上——也就是芯粒——再在同一个封装内把它们紧密互连起来,让它们在电气上、在软件看来,仍然表现得像一个单一的产品。可以把它想成铸造一整块巨大而毫无瑕疵的发动机缸体,和用一套做工精良的模块拼装起来之间的区别。这些模块更容易制造、更容易测试,而且——至关重要——你可以换掉其中一个,而不必把整块重铸一遍。本指南余下的部分,就是逐个限制地讲清这笔权衡背后的*原因*。

良率与大裸片的成本

下面这个限制,让解聚成为一种经济上的*必然*,而不只是个不错的点子。当你光刻一片晶圆时,会有随机缺陷落在上面——一颗游离的颗粒、光刻 中的一处瑕疵、金属层 上的一个坏点。这些缺陷大致均匀地散布在整片晶圆的面积上。所以每块裸片越大,至少一个缺陷落*进*它里面、把它报废的概率就越高。良率随裸片面积增大而下降——而且下降得比线性还快,因为面积本身是随裸片边长的平方增长的。

把这件事反过来看,就得到了芯粒的核心洞见:把一块大裸片切成四块小的,那么一个缺陷现在只会毁掉它落进去的*那一块*小裸片,而不是整个产品。另外三个完好的邻居都能存活。你在晶圆的圆形边缘也浪费更少的硅——大块的矩形裸片在那里往往会被切掉。同样的缺陷密度,切得更细,就把一个昂贵的低良率怪物,变成了好几块高良率的小块——而良率,正是决定一块芯片成本的大头。

  ONE BIG MONOLITHIC DIE                SAME FUNCTION, SPLIT INTO CHIPLETS
  (one defect kills the lot)            (a defect kills only its own tile)

  +-----------------------------+       +---------+   +---------+
  |        x  (defect)          |       |  CPU x  |   |  CPU    |   x = defect
  |   CPU   CPU   CPU   CPU      |       | (scrap) |   |  (good) |
  |                             |       +---------+   +---------+
  |   CACHE        I/O          |  -->   +---------+   +---------+
  |                             |       |  CACHE  |   |   I/O   |
  |   ANALOG       MEM-CTRL     |       | (good)  |   |  (good) |
  +-----------------------------+       +---------+   +---------+
  big area -> low yield, all-or-nothing  small dies -> high yield, lose 1 tile
      [ ============ one package: chiplets sit side-by-side ============ ]
一块大裸片是"全有或全无":一个缺陷就报废全部。把同样的功能拆成芯粒,一个缺陷只让你损失它击中的那一块——其余完好的小块仍能出货,一起组装进同一个封装。

已知良好裸片

拆成小裸片,只有在你能*赶在*花钱组装它们*之前*就把坏的扔掉时,才划算。这就是已知良好裸片的思路:每一块芯粒都先单独经过完整测试——通电、运行、在不同电压和温度下筛查——并在被放进封装*之前*就被认定为工作正常。你只从一桶证实合格的零件里去组装。

为什么这件事要紧,是因为算术很残酷。假设你把四块未测试的裸片键合进一个封装,而其中只要有一块有缺陷——整个昂贵的组装件,包括那三块完好的裸片和代价高昂的封装工序,全都报废。你堆叠或放置的裸片越多,这件事就越凶残:良率是相乘的。有了 已知良好裸片 测试,你就打破了这条链条,因为进入组装环节的每一个零件都已经通过了测试。这也正是为什么 先进封装 与芯粒理念密不可分——封装现在成了把已测裸片接合在一起的地方,所以测试这一步必须先行。

  1. 在各自的晶圆上制造每一块芯粒,用最适合它的那套工艺。
  2. 逐块单独测试每一片裸片——在额定速度下、跨越各种电压和温度——并标记出通过的那些。
  3. 只用已知良好裸片来组装封装,让有缺陷的零件永远到不了那道代价高昂的键合工序。
  4. 再把组装好的多裸片封装作为一个整体来测试,以抓出组装本身引入的任何问题。

混用节点

解聚解锁了单片裸片永远做不到的一件事:每一块芯粒都可以建在最适合它的那个工艺节点上。 这就是 异构集成——在一个封装里混用不同的技术。在单一裸片上,*所有东西*都被迫挤到同一个节点上,即便有些部分从中根本得不到任何好处。

而且很多部分确实得不到任何好处。快速逻辑真正从最新、最贵的节点中获益——它的 晶体管 更小、开关更快,无论它们是 FinFET 还是更新的 环绕栅极 纳米片。但大块 SRAM 缓存几乎已经停止缩小,模拟和 I/O 电路在更老、更便宜、更成熟的节点上往往工作得*更好*,而一个基于 MOSFET 的电源或射频模块,根本没有理由去追那个最前沿。把它们统统逼到一块单一的前沿裸片上,意味着为那些根本不需要它的电路,付出每平方毫米最高的价钱。把它们拆成芯粒,你就能把密集逻辑放在最新的 CMOS 节点上,同时把缓存、模拟和 I/O 留在成熟工艺上——逐个模块,各取所宜。

  HETEROGENEOUS PACKAGE: each chiplet on its best-fit node

  +-------------+   +-------------+   +-------------+
  | COMPUTE     |   | COMPUTE     |   |   I/O +     |
  | (logic)     |   | (logic)     |   |   ANALOG    |
  | leading-edge|   | leading-edge|   | mature node |
  | GAA node    |   | GAA node    |   | (cheaper)   |
  +-------------+   +-------------+   +-------------+
        |                 |                 |
  +-----------------------------------------------+
  |   SRAM CACHE chiplet (node that barely shrinks)|
  +-----------------------------------------------+
   pay top dollar only where it actually buys speed
异构集成:只把昂贵的前沿节点花在真正受益的逻辑上,把缓存、模拟和 I/O 留在更便宜的成熟节点上——全都在一个封装里缝合到一起。

UCIe:一种标准插槽

一旦一个产品变成好几块芯粒,一个新问题就冒出来了:*它们彼此怎么对话?* 多年来,每家厂商都发明自己的私有裸片间接口,这意味着来自不同公司的芯粒没法混用。这正是 UCIe——通用芯粒互连快线(Universal Chiplet Interconnect Express)——着手要消除的限制。它是一套面向裸片间连接的开放、行业标准规范:电气信号、物理凸点布局、以及协议,全都被共同定义下来。

有个比喻能抓住它的精髓:在 UCIe 出现之前,连接两块芯粒就像用一根你自己设计、自己焊的定制线缆去接两台设备。UCIe 把这变成了一种标准插槽——一种 USB 式的约定,任何合规的芯粒都能插进任何合规的邻居。封装内部一条短而密集的连接,取代了旧世界里长长的电路板走线,于是两块芯粒能以接近片上的带宽、只用一小部分能量来交换数据。在物理上,这些连接可以走一块硅 中介层,也可以靠 混合键合 面对面接合——两块裸片以铜焊盘对铜焊盘的方式键合,完全不用焊锡凸点。

芯粒经济

把这些拼到一起,芯粒就不再只是一种封装上的把戏,而成了一种*商业模式*。当裸片做得小、分开测试、跨节点混搭、并通过标准插槽接合,一块芯粒就变成了一个可复用的积木块——像一块乐高,而不是一次性的铸件。一个设计团队可以只造一次计算芯粒,再把它丢进十几种不同的产品里,每次都给它配上不同的 I/O 或内存芯粒,而不必为每一个变体都重新流片一块全新的单片裸片。

这也是 领域专用架构 的天然归宿:一块 CPU 芯粒、一块 GPU/NPU 加速器芯粒、一块 I/O 芯粒,各自都可以交给最擅长那项工作的人去设计,再混搭组合成一个定制产品——成为设计单元的是封装,而不是裸片。这呼应了你在下一级台阶遇到过的同一种模块化逻辑:在那里,布局布线 流程用预先造好的 标准单元 拼装出一块芯片;芯粒只不过是把这个想法往上提了一级——从裸片内部的单元,提到封装内部的整块裸片。