1. UCIe 概述与物理层简介
各位做芯片互联的同行,大家好。今天咱们聊聊 UCIe,全称 Universal Chiplet Interconnect Express。你可能已经在各种技术会议上听过这个词。说白了,它就是一套让不同芯片颗粒(chiplets)能高速、低延迟、省电地“对话”的接口标准。
我自己的感受是,芯片设计正从“单芯片巨无霸”转向“多芯粒拼装”。以前我们做一个大 SoC,把所有功能塞进一颗 Die,成本高、良率低、迭代慢。现在不一样了——把 CPU、GPU、内存控制器、I/O 分别做成小芯片,再用 UCIe 把它们封装在一起。这叫“异构集成”。嗯,UCIe 就是里面的“总线”。
1.1 UCIe 标准背景
UCIe 由 Intel、AMD、ARM、台积电、三星等巨头在 2022 年共同推出。核心目标只有一个:让不同厂商、不同工艺节点的芯片颗粒能“即插即用”。
为什么会突然需要这个标准?你想想看,之前的 die-to-die 接口(比如 AIB、BoW、OpenHBI)都是各家自研的。我在一个项目中遇到过两家的芯片颗粒,A 公司用 AIB,B 公司用 BoW,结果不得不额外做一个桥接芯片,成本翻了 30%。所以 UCIe 就是要统一这个接口,降低生态门槛。
现在 UCIe 已经发展到 1.1 版本,支持每通道 32 GT/s(Giga Transfer per second),未来会到 64 GT/s。物理层以差分信号为主,工作在超高频。
关键背景数字:
- 发布组织:UCIe Consortium(2022 年 3 月成立)
- 当前版本:1.1(2023 年)
- 每通道速率:32 GT/s(1.0),扩展至 64 GT/s(1.1 草案)
- 典型封装:2.5D 硅中介层、有机基板、嵌入式桥接
1.2 物理层架构
UCIe 的分层结构很清晰:物理层(PHY)、数据链路层(DLL)、事务层(TL)。我们今天重点解剖物理层,因为眼图分析就是针对物理层的。
物理层往下又分:
- 电气子层:负责驱动、接收、均衡、阻抗匹配。我习惯叫它“模拟心脏”。
- 逻辑子层:负责编码(比如 128B/130B)、同步头检测、训练状态机。说白了就是把物理位流处理成可用的数据包。
你注意啊,UCIe PHY 支持两种模式:
- 标准封装(Standard Package):适合 2.5D 先进封装,通道长度 < 20 mm,功耗最低。
- 先进封装(Advanced Package):用于更近的互联,比如 3D 堆叠,速率更高,但需要更复杂的均衡。
| 参数 | 标准封装 | 先进封装 |
|---|---|---|
| 最大通道长度 | ~20 mm | ~2 mm |
| 速率 (单通道) | 16/32 GT/s | 32/64 GT/s |
| 均衡复杂度 | CTLE + DFE (2 taps) | CTLE + DFE (4 taps 或更多) |
| 功耗 (pJ/bit) | 0.5 - 1.0 | 0.3 - 0.6 |
我记得第一次看 UCIe 规范时,它的物理层框图密密麻麻。但后来我把它分解成三个核心模块,就好理解多了。下面这张 SVG 图是我自己画的物理层核心流程——其实就是发送端、通道、接收端三大块。
图例说明:发送端把并行数据变成高速串行信号,经过封装通道(存在损耗、反射、串扰),接收端用均衡器把信号“修复”回来。眼图分析就是在这条链路的接收端入口处(或者片内调试点)观察信号质量。
一个小技巧:很多仿真工具会把眼图分析点放在 RX 端的封装焊盘处。但我在实际测试时发现,片内 CDR 输入点的眼图才是真实的判决眼图——因为 CTLE/DFE 已经改变了波形。所以看眼图的时候,一定要搞清楚采样点在哪里。
1.3 眼图分析的意义
好了,现在我们知道了 UCIe 物理层长什么样。那么问题来了:你怎么知道这个 32 GT/s 的高速链路有没有正常工作?
最简单粗暴的办法:发一段伪随机码(PRBS),然后用示波器抓累积波形——这就是眼图。眼图把成千上万个 bit 的波形叠加在一起,你能直观看到信号的眼睛睁开还是闭上。
眼图分析到底能告诉我们什么?我归纳了四点:
- 眼高(Eye Height):信号判决的电压余量。如果眼高太低,噪声稍微大一点就会误码。
- 眼宽(Eye Width):采样时机窗口。眼宽窄意味着时钟抖动过大或者码间干扰(ISI)严重。
- 抖动(Jitter):从眼图横轴上的交叉点宽度可以看出总抖动。我习惯把它分解为随机抖动(RJ)和确定性抖动(DJ)来分析根因。
- 误码率推断:尽管眼图不能直接测误码率(BER),但好的眼图往往意味着 BER 在 1e-12 以下。
为什么眼图在 UCIe 中如此重要?因为 chiplet 互联的物理层测试很难外接探头——芯片已经封装在一起了。很多时候你只能通过内置的 BIST(Built-In Self-Test)电路或者观察眼图监控器来评估质量。
曾经踩过的坑:我在一个 2.5D 封装项目中,刚开始只依赖仿真眼图,认为眼高 150 mV 足够。结果 tapeout 回来实测眼图只有 90 mV,导致高低温下频繁误码。排查后发现是 封装微凸块寄生电感 没有被仿真准确还原。后来我们改进了仿真模型,把 RDL 走线的寄生参数也加进去,眼图就对上实测了。所以千万记住:你用的通道模型决定了眼图仿真的可信度。
还有一点需要特别注意:眼图分析并不是只看“眼睛睁得够大”就可以了。UCIe 标准里规定了眼图掩码(Eye Mask)——一个六边形或矩形禁区。如果你的眼图任何部分落入掩码区域,就算眼高再大也算不合格。我建议你一开始设计均衡参数时,就把眼图掩码作为硬约束。
本章要点总结
- UCIe 是 chiplet 时代的互联标准,物理层是基础。
- 物理层包含电气子层和逻辑子层,发送端->通道->接收端形成信号链路。
- 眼图分析是评估物理层信号质量的最直观手段,关注眼高、眼宽、抖动。
- 仿真模型要准确反映封装寄生参数,否则眼图分析可能误导设计。
- 眼图掩码是 UCIe 的硬性合规要求,不要只看“好看”就通过。