一、UCIe 技术概述:从“为什么要拆芯片”说起

做硬件这么多年,我越来越觉得,芯片设计正从“大而全”走向“拆而合”。

记得七八年前,我做一块高速背板,上面挂了一颗巨大的 FPGA。那会儿业界还在拼制程、拼单芯片集成度。可到了今天,连 Intel、AMD 的 CPU 都开始用 chiplet 拼出来了——说白了,就是把一个大的 SoC 拆成几颗小 die,再用高速互连把它们粘回去。

这中间最关键的一环,就是 die-to-die 互连技术。UCIe(Universal Chiplet Interconnect Express)正是在这个背景下诞生的。

1.1 为什么需要 UCIe?——Chiplet 互连的痛点

在 UCIe 出现之前,各家 chiplet 互连方案几乎是“各自为政”。

  • 私有协议:比如 Intel 的 AIB、AMD 的 Infinity Fabric,都是自家生态,别人想用?门儿都没有。
  • 互连标准割裂:有的用并行总线,有的用串行 SerDes,物理层、链路层互不兼容。
  • 封装依赖重:不少方案只针对 2.5D 硅中介层,换了封装类型就得重做 PHY。

我在一个异构计算项目里就吃过这个亏。当时要把两个不同厂商的 die 拼到一起,光是 PHY 对齐就耗了三个月,最后信号质量还不行。

UCIe 的出现,就是想把 die-to-die 互连标准化——不管你是用 EMIB、CoWoS 还是普通封装,都能用同一套协议通信。

1.2 UCIe 的历史:从开放互连到产业标准

UCIe 不是凭空冒出来的。2022 年初,Intel 联合 AMD、Arm、Google、Meta、Microsoft 等一票巨头成立了 UCIe 联盟。首版规范 1.0 在同年 3 月发布。

这个时间点很有意思。我观察当时行业趋势:CXL 已经在服务器 CPU 和加速器间铺开,但那是板级互连;而 die-to-die 层面还是一片混乱。UCIe 补上的正是“片间”这一层。

时间事件
2022.03UCIe 1.0 规范发布,定义物理层、链路层、协议层
2023.08UCIe 1.1 更新,增加封装类型支持、优化电气参数
20242.0 版本在酝酿,目标带宽翻倍、支持更远距离

你想想看,一个标准从发布到小批量应用,一般要两三年。到 2025 年,我手上已经接到三个基于 UCIe 的 PCB 设计项目了——这个节奏,比当年 PCIe 3.0 推广还快。

1.3 UCIe 的核心技术特征

UCIe 协议栈分三层:

  • 物理层(PHY):处理电气信号,支持标准封装和先进封装(比如 2.5D 硅桥)。数据速率从 4 Gbps 到 24 Gbps,甚至更高。
  • 链路层(DLL):负责初始化、训练、CRC 校验、重传。保证 die 间的可靠传输。
  • 协议层:向上兼容 PCIe、CXL 等标准协议。也就是说,UCIe 可以“跑”PCIe 事务层包。

为什么强调协议兼容?我举个例子。你设计的 SoC 内部已经有 PCIe 控制器,如果想跟另一个 chiplet 高速通信,直接通过 UCIe 物理层+PCIe 协议层就能无缝对接,不用改驱动。这省的不是一点点时间。

小提示: UCIe 的物理层可以根据带宽需求配置 lane 数量。标准封装下每个 lane 占两对差分线(TX+RX),所以 8-lane 接口就需要 16 对差分线。PCB 布局时,这些 lane 的等长要求非常严格——我后面会专门讲。

1.4 应用场景:谁在用 UCIe?

我个人看到的典型场景有这几类:

  1. CPU+加速器组合:比如一颗 CPU die 搭配一颗 AI 加速 die,通过 UCIe 共享内存。
  2. 高性能计算(HPC):在一个封装内集成多个计算 tile,通过 UCIe 形成片上网络。
  3. 光互连接口:有些先进封装里用 UCIe 桥接硅光引擎和电芯片。
  4. 汽车芯片:异构 SoC 里传感器处理 die 和主控 die 之间低延迟通信。

我在一个 400G 智能网卡项目里,遇到过用 UCIe 连接 NPU 和 FPGA 的方案。板级走线长度不到 5mm,但带宽达到了 200 Gbps——这要是用传统 SerDes,功耗和面积都扛不住。

1.5 UCIe 与 CXL、PCIe 的关系

很多刚接触的同学会问:UCIe 和 CXL 到底啥关系?和 PCIe 又有什么区别?

其实一句话就能说清楚:UCIe 是物理层+链路层,CXL 和 PCIe 是协议层。

你看这张关系图:

UCIe 与 CXL / PCIe 的协议栈关系 UCIe 物理层 UCIe 链路层 UCIe 协议适配层 PCIe 事务层 CXL.io / .mem / .cache 自定义协议 物理封装(2.5D / 3D / 标准封装) 说明 UCIe 物理层+链路层构成标准 die-to-die 互连通道。上层可以跑 PCIe 事务层包(如 Endpoint 模拟), 也可以跑 CXL 协议(需要协议层适配),甚至自定义私有协议。 Chiplet A CPU / NPU Chiplet B 加速器 / Memory

看到没?UCIe 扮演的是“连接器的角色”。CXL 和 PCIe 都是跑在 UCIe 之上的高层协议。换句话说:UCIe 不关心你上层跑什么协议。

1.6 三者的关键差异

特性UCIeCXLPCIe
互连范围Die-to-Die(片内/封装内)板级(CPU↔加速器)板级/系统级
物理层专用 PHY(短距、低功耗)复用 PCIe PHY标准 SerDes PHY
协议层次物理层+链路层+协议适配事务层(基于 PCIe)事务层+数据链路层+物理层
延迟纳秒级(<10 ns)亚微秒级微秒级
功耗效率极高(pJ/bit 级别)中等较高
典型应用Chiplet 内部互连内存池化、加速器共享外设扩展(GPU、SSD)

以前我在做芯片间互连选型时,总是纠结:这组 die 距离只有几毫米,用 PCIe 的 PHY 太浪费功耗,用私有接口又得自研协议栈。UCIe 出来后,我基本不再犹豫了——它就是为这种场景量身定做的。

注意: UCIe 的链路层训练时序非常苛刻,尤其是在标准封装场景下,die 间距离超过 10mm 时,PCB 上的 trace 损耗会明显影响信号眼图。后面章节我会详细讲怎么用仿真来预判这个问题。

1.7 本节小结

UCIe 不是什么天外来客,它就是 chiplet 时代“标准化互连”的产物。

  • 它补齐了 die-to-die 层面的标准空缺,让不同厂商的 die 能像拼乐高一样组合。
  • 它和 CXL、PCIe 是互补关系,可以结合使用,也可以独立跑自定义协议。
  • 实际项目中,UCIe 的物理层设计是关键——等长、阻抗、损耗、串扰,哪一个环节出问题都会导致链路训练失败。

我记得第一次调试 UCIe 链路时,花了两天时间才发现是封装基板上一段不合理的 stub 造成了反射。从那时起,我就养成了“先看物理层,再调协议层”的习惯。希望这个经验能帮你少走弯路。