1. UCIe概述
你想想看,一颗大芯片里塞满几十亿晶体管,制程越做越贵,良率越来越低。那怎么办?Chiplet 思路就来了:把大芯片拆成小芯片,各自用成熟工艺造,再通过先进封装拼起来。想法很好,但问题也来了——这些小芯片之间怎么通信?
UCIe 标准就是干这个的。它全称 Universal Chiplet Interconnect Express,说白了就是给 Chiplet 们定了一套“普通话”。我最早接触 UCIe 是在一个多晶粒 AI 加速器项目里,当时各家协议还没统一,光物理层就得做三套适配。后来 UCIe 一出来,大家都松了口气。
从 Chiplet 到 UCIe 的必然需求
Chiplet 互连不是新概念,但以前多是私有协议,调试成本极高。UCIe 的核心定位是:
- 统一接口:不管你是 CPU、GPU 还是 NPU,只要支持 UCIe ,就能直接对话。
- 低成本高带宽:用标准 bump pitch(比如 55μm)在封装基板上走线,带宽密度可以做到 TB/s 级别。
- 协议可扩展:支持 PCIe、CXL、Streaming 等多种上层协议。
我在一个 7nm 的 Chiplet 项目里吃过亏——不同晶粒的 D2D 适配层没对齐,导致链路死活 lock 不上。后来照着 UCIe 1.0 规范重做,一次搞定。嗯,这里要注意:UCIe 不只是物理层标准,它定义了完整的协议栈。
UCIe 协议栈长什么样?
UCIe 协议栈分为三层:物理层(PHY)、D2D 适配层、协议层。每一层都有明确的分工,我把它画成了下面这张图:
从上往下看:协议层负责你熟悉的数据包格式,比如 PCIe 的 TLP;D2D 适配层是 UCIe 的精华——它处理链路初始化、错误检测,以及我们这门课的核心主题 FEC(前向纠错);物理层管原始比特的收发,包括高速 SerDes 和边带信号。
重点记住:UCIe 的 D2D 适配层里藏了两个关键机制——FEC 和重传。误码率测试主要针对物理层和 D2D 适配层的纠错能力。
为什么误码率测试和 FEC 调优这么重要?
Chiplet 互连的物理环境很复杂。微凸点、硅中介层、甚至有机基板上的走线,都会引入噪声和信号衰减。我记得有一次在实验室测一个 UCIe 回环链路,BER 一直在 1e-12 附近晃,总差那么一点达不到规范要求。后来排查发现是 FEC 的校正参数没配好,白浪费了三天。
UCIe 规范里对误码率有明确要求:
| 参数 | 典型目标 | 说明 |
|---|---|---|
| 原始误码率 (Raw BER) | < 1e-15 | 物理层无 FEC 时的错误率 |
| 经 FEC 后误码率 | < 1e-27 | 应用 RS(544,514) 等编码后 |
| 链路可用性 | > 99.999% | 包含重传机制的最终可靠性 |
注意:Raw BER 1e-15 听起来很低,但如果是 32 Gbps 的链路,每秒可能有 3 个误码。如果不加 FEC,你的 AI 加速器算着算着就崩了。这就是为什么 UCIe 强制要求 D2D 适配层提供可选的 FEC。
FEC 调优说白了就是在 纠错能力、延迟、硬件开销 之间找平衡。RS 码(Reed-Solomon)是 UCIe 的默认选型。我个人习惯先跑一组 BER 扫描,再微调码率参数。后面几章我们会手把手做这件事。
我的建议:刚接触 UCIe 的工程师,先不要追求极端参数。先把 PHY 和 D2D 层的回环测试跑通,再一步步加 FEC。我曾经跳过这一步想直接调优,结果连基础链路都没 lock 住,浪费时间。
本章小结
UCIe 为 Chiplet 互连提供了统一、高效、可靠的协议栈。物理层搞定信号,D2D 适配层负责容错(FEC + 重传),协议层兼容已有生态。误码率测试和 FEC 调优,就是确保这条通信链路在真实噪声环境下能稳定工作。接下来我们一步步深入,你会看到代码、波形和测试数据。