1. UCIe协议概述
各位工程师朋友,欢迎来到这门实战课。今天我们先聊聊UCIe的协议背景和整体架构。我个人习惯,不管做什么高速设计,一定要先把协议吃透。你想想看,如果连信号怎么走的都不知道,那后续的PCB布局调试根本就无从谈起。
1.1 为什么需要UCIe?
先说背景。UCIe是 Universal Chiplet Interconnect Express 的缩写。说白了,它就是给不同芯片之间做高速互联的一套标准。
以前我们做设计,一个SoC把所有功能都集成在一颗大芯片上。现在不同了,大家更倾向于把大芯片拆成多个小芯片,也就是Chiplet,然后封装在一起。这样做的好处很多:良率更高、成本更低、还能混用不同工艺。我遇到过不少项目,CPU用先进工艺,I/O用成熟工艺,就是靠Chiplet方案节省了一大笔成本。
但是,问题来了。Chiplet之间怎么通信?需要一个标准接口。UCIe就是干这个的。它定义了芯片和芯片之间的物理层、协议层,以及封装上的要求。记得2022年UCIe标准刚出来时,圈内都很兴奋。终于有个统一的互联标准了,不用各家自己搞私有协议了。
核心观点:UCIe是Chiplet生态的“高速公路”。没有它,不同厂商的芯片根本没法互相通信。
为什么要学UCIe?因为PCB上已经不可避免地要处理Chiplet的信号了。很多高端服务器、AI加速器,都在用UCIe做Die-to-Die互联。信号速率已经跑到32Gbps甚至更高。这不是闹着玩的。
1.2 UCIe的架构层次
UCIe协议栈分三层。我画了张图,大家一看就明白。
从上到下,依次是协议层、适配层、物理层。我个人习惯把它想成三明治结构。
- 协议层:最上面。支持PCIe、CXL,甚至厂商自定义协议。说白了,这层决定你的数据包长什么样。
- 适配层:中间层。负责协议映射、链路训练、CRC校验和重传。我调试时经常在这层发现问题。链路上不去,多半是训练没通过。
- 物理层:最下面。这层跟PCB关系最大。SerDes收发器、时钟数据恢复、均衡器,还有差分对走线,全在这层。
经验提醒:做PCB布局时,你的主要战场在物理层。信号速率越高,物理层的设计容限就越小。我曾经因为一个过孔Stub没处理好,导致32Gbps信号眼图闭合,排查了整整三天。
1.3 物理层到底管什么?
物理层是UCIe协议栈里最“硬”的部分。它直接决定了信号能不能从A点跑到B点。我会重点讲,因为后面的PCB布局调试几乎全围绕它展开。
物理层有几个关键指标:
| 参数 | 典型值 | 说明 |
|---|---|---|
| 单端信号速率 | 32 Gbps | 标准速率,未来会更高 |
| 差分阻抗 | 85 Ω / 100 Ω | 封装级85Ω,板级100Ω |
| 通道插入损耗 | ≤ 15 dB @ Nyquist频率 | 超过这个值,眼图大概率闭合 |
| 串扰 | < -35 dB | 相邻走线必须隔离 |
我个人在项目中遇到过一个问题。某款芯片,封装内走线阻抗是85Ω,但PCB上我们按100Ω设计。结果呢?回波损耗超标,信号在封装和PCB交界处反射得一塌糊涂。后来加了AC耦合电容,调了均衡参数才解决。所以,阻抗不连续是物理层的头号杀手。
1.4 协议层与适配层速览
协议层我不展开太多。你知道它支持PCIe和CXL就够了。适配层我需要多说一句。适配层负责FLIT管理、CRC校验和重传。
什么是FLIT?就是流控制单元(Flow Control Unit)。UCIe把所有数据切成固定大小的FLIT来传输。这样做的好处是流控简单,重传也方便。适配层还有个重要功能——链路训练。我调试过不少UCIe链路,上不去的原因十有八九是训练没通过,比如没有检测到对端,或者比特锁定失败。
看个简化的链路训练序列:
1. 复位
2. 发送训练序列 TS1/TS2
3. 比特锁定
4. 符号锁定
5. 通道对齐
6. 数据链路层初始化
7. 链路进入工作状态
嗯,这里要注意。调试时一定要确认每一步的状态机走到哪了。工具链里通常有寄存器可以读。我习惯先读物理层状态,再看适配层是否完成训练。
避坑指南:我曾经遇到一个案例,链路间歇性断开。查来查去,发现是适配层的CRC错误计数在缓慢增长,直到超过阈值后触发重训练。根源呢?其实是PCB上的一个过孔产生了信号反射,导致偶发性误码。所以,不要只看通不通,还要看链路余量。
1.5 从PCB布局角度看UCIe
回到我们这门课的主题——PCB布局。UCIe对PCB有什么特殊要求?我总结了几点:
- 差分对布线:必须等长、等距。32Gbps的信号,100mil的长度差就可能产生2ps的时序偏斜。我在项目中遇到过时钟与数据之间出现几十皮秒的偏斜,直接导致接收端采样错误。
- 参考层:必须连续。信号跨分割是致命伤。返流路径一旦被切断,EMI和信号质量会迅速恶化。
- AC耦合电容:UCIe物理层通常需要放置AC耦合电容。位置要靠近发送端还是接收端?我建议靠近接收端。但具体还得看芯片的指导手册。
- 过孔与Stub:打过孔时,Stub长度要控制到10mil以内。否则会对高频信号产生谐振损耗。
这些细节,后面每一章都会用具体案例来展开。今天只是先打个底。你需要记住的是:UCIe协议层和适配层决定了功能,但物理层决定了能不能跑通、跑多快。而物理层的质量,很大程度上取决于你的PCB布局功力。
1.6 本章小结
最后,我用一张表格帮你快速回顾本章核心内容。
| 层次 | 主要职责 | 与PCB的关系 |
|---|---|---|
| 协议层 | PCIe / CXL 协议处理 | 低。软件配置为主 |
| 适配层 | 链路训练 / CRC / 重传 | 中。调试时需监控状态 |
| 物理层 | SerDes / 时钟 / 均衡 | 高。直接受PCB走线影响 |
说白了,UCIe不是天上掉下来的标准,它是为了解决Chiplet互联的现实问题而生的。作为硬件工程师,我们的职责就是把物理层设计好,让这条“高速公路”畅通无阻。
嗯,第一章就到这里。下次我会用一个真实的调试案例,带你看看PCB布局中到底哪些细节会毁掉你的UCIe链路。准备好了吗?