3. 物理层关键特性

物理层是UCIe的硬实力。说白了,就是信号怎么从一颗die跑到另一颗die,中间不丢数据、不出错。我刚开始接触UCIe时,总觉得协议层比物理层复杂,后来在调试中栽了好几个跟头才知道——物理层才是决定你能不能点亮链路的命门。下面我把几个关键点拆开讲,都是干活儿时攒下来的经验。

3.1 通道设计——从板级到芯片

UCIe的通道,不是普通PCB走线。它是die之间的短距高速链路。典型长度在几毫米到几十毫米之间。你想想看,这么短的距离,信号频率却跑到几十GHz,它对通道的一致性要求极高。

我记得第一次做UCIe封装基板设计时,画了条1cm长的差分线,仿真眼图很漂亮。结果实测时,眼图塌得一塌糊涂。最后查出来,是过孔残桩没处理好。嗯,教训深刻。

  • 阻抗控制:差分阻抗通常要求在85Ω±10%或90Ω±10%,具体看UCIe规范哪个代。我习惯把目标阻抗设在中间值(比如87.5Ω),留点裕量。
  • 等长约束:P/N两线长度差控制在5mil以内。一旦等长超过10mil,共模噪声就会飙升。
  • 过孔与 stub:残桩长度不能超过0.5mm,否则20GHz以上的反射会让你叫苦不迭。我个人建议用背钻(back drilling)把不用的过孔段打掉。
避坑指南: 我曾经在多层封装基板上,把信号参考层跨了两个地平面,结果插入损耗直接多了2dB。记住——通道设计要保证参考平面连续,尽量少换层。

3.2 差分信号——UCIe的传家手艺

为什么UCIe非要用差分信号?因为噪声啊。片间信号走封装基板,共模噪声比你想象的大得多。差分信号一来,共模噪声被抵消了,信号完整性就上来了。

UCIe 1.0标准里,每条lane就是一对差分线(TX_P/TX_N 和 RX_P/RX_N)。传输速率从16GT/s到28GT/s,差分摆幅在几百毫伏。别小看这个摆幅——我见过有人想当然地把摆幅调高,结果电磁辐射超标,整板重制。

参数UCIe 典型值我的建议
差分阻抗85 Ω ± 10%设计目标 87.5 Ω
差分摆幅600 mVpp~1.0 Vpp优先使用 800 mVpp,留裕量
共模电平200~300 mV不要低于 200 mV,否则CDR锁定困难
P/N 长度差≤ 5 mil最优控制在 3 mil 以内

还有一点,差分信号对地参考层的依赖很大。我曾经在debug时用示波器探差分信号,发现共模电压漂了50mV。后来发现是参考层有点不连续,补了个缝合电容就解决了。所以,同步开关噪声(SSN)也要小心。

3.3 PAM4调制——用幅度换速度

UCIe从1.0开始就用了PAM4(4级脉冲幅度调制)。说白了,就是每个符号(UI)能传2比特,而不是1比特。NRZ(或者叫PAM2)只能传0或1,PAM4能传00、01、10、11四种状态。

为什么非要用PAM4?因为带宽有限。你想继续提高数据率,要么缩短UI,要么每个UI多传比特。UCIe选择了后者。这样可以在相同的通道带宽下,把数据率翻倍。代价呢?信号噪容小了。PAM4的眼图是三个垂直叠加的眼——中间那个眼最“紧”,对噪声最敏感。

新手容易犯的错: PAM4的四个电平不是均匀分布的吗?理论上是的,但实际中因为信道损耗和串扰,非均匀性很常见。我曾经测过一款UCIe PHY,中间眼高只有上下眼高的70%。最后调了TX的预加重,才把三个眼都拉平。

PAM4和NRZ的对比我用个表格方便你快速理解:

特性NRZ (PAM2)PAM4
每UI比特数12
信噪比要求低高(约高3dB)
眼图复杂度单眼三眼(垂直堆叠)
适用场景低速/短距高速/短距
时钟恢复难度简单较复杂(需要DCDR)

在实际调试中,我最怕PAM4信号中间那个眼闭上。一旦中间眼闭合,CDR就容易失锁,整个链路就崩了。所以测量PAM4眼图时,要重点关注中间眼高度和眼宽。

3.4 时钟数据恢复(CDR)——从边沿里找时钟

UCIe是异步片间通信,没有单独发送时钟信号。时钟和数据是同一个信号传过来的。接收端必须在数据流里恢复出时钟。这就是CDR干的事。

CDR的核心思想:从数据跳变边沿中提取时钟相位,然后用锁相环(PLL)或延迟锁相环(DLL)生成稳定的恢复时钟。我习惯把CDR分成两个阶段:频率捕获和相位跟踪。

  • 频率捕获:上电或者复位后,CDR先检测数据的频率是否与本地参考时钟基本一致(一般误差在±200ppm以内)。如果偏差太大,就先调整本地振荡器频率。
  • 相位跟踪:频率锁定后,CDR跟踪每个数据边沿的相位变化,每秒调整几十到几百次相位,保持采样点稳定落在眼图中间。

UCIe的CDR有两大流派:架构式CDR(基于相位插值)和锁相环CDR。UCIe 1.0推荐相位插值式,因为面积小、功耗低。我参与的那个项目选的就是相位插值,不过有个坑——相位插值的线性度不好,容易产生确定性抖动(DJ)。我们实际测试时,在-40°C到85°C下,相位步进最大偏差达到0.6UI,差点让眼图closure。后来校准了相位插值器的offset才通过。

小提示: CDR的环路带宽设置很关键。带宽太低,跟不上温度漂移;带宽太高,会把高频抖动带进采样时刻。我一般把环路带宽设在波特率的1/1000左右,比如28GT/s对应28MHz,选28kHz。当然,具体值要看你的抖动分布。

下面这张图可以帮你快速理解整个物理层的信号链路:

UCIe 物理层信号链路示意图 发送端 TX PAM4 编码 差分输出 通道 差分线(P/N) 阻抗 85Ω 接收端 RX 差分放大器 PAM4 解码 CDR 相位插值 / 恢复时钟 恢复时钟 → RX 采样 PAM4 信号经过差分通道,在接收端先通过差分放大器恢复幅值,再经 CDR 提取时钟并采样解码。 注意:差分对等长、阻抗匹配、CDR 环路带宽直接影响链路裕量。

你看到从TX经通道到RX,再到CDR,每一步都有坑。我总结下来,物理层调试最常碰到的三个问题是:阻抗不连续、PAM4中间眼闭合、CDR相位插值非线性。解决问题的最好方法——提前做充分的仿真,不要等板子打回来再调。

经验之谈: 我习惯做完通道设计和CDR参数后,先跑10000UI的bit-error-rate(BER)仿真。如果BER超过1e-12,就回头检查每个环节。千万别把希望寄托在链路层的重传上——物理层扎实,后面才省心。