芯片开发学习笔记·二十五——UCIe

UCIe(Universal Chiplet Interconnect Express)


一、UCIe 背景与定位

1.1 为什么需要 UCIe?

随着摩尔定律放缓,单片 SoC 的工艺演进成本急剧上升。**Chiplet(芯粒)**架构成为主流解决方案:将不同功能模块制造在独立的小芯片(Die)上,再通过先进封装技术将其集成到同一个封装(Package)内。

Chiplet 架构面临的核心挑战是:各家 Chiplet 之间的互联接口缺乏统一标准,导致来自不同厂商的 Chiplet 无法互操作。UCIe 的目标正是解决这一问题------定义一套开放的、标准化的 Die-to-Die(D2D)互联接口。

1.2 UCIe 联盟与版本历史

版本 发布时间 主要特性
UCIe 1.0 2022年3月 首个公开版本,定义 2D/2.5D 封装的 D2D 标准接口,支持标准封装(SP)和先进封装(AP)
UCIe 1.1 2023年 细化链路训练触发机制、RDI 接口完善
UCIe 2.0 2024年8月 支持 3D 封装(UCIe-3D/混合键合)、引入 SiP 可管理性架构(UDA)、增强 DFx

UCIe 联盟创始成员(2022年):Intel、AMD、ARM、高通、台积电、三星、日月光(ASE)、Google Cloud、Meta、微软

1.3 UCIe 的定位

  • 不是芯片总线:UCIe 是封装内 Die-to-Die 互联,不是板级 PCB 总线
  • 兼容现有协议:上层可承载 PCIe、CXL、自定义 Stream 等协议
  • 与 PCIe 互补:PCIe 用于板级,UCIe 用于封装内;UCIe 物理层带宽密度远高于 PCIe

二、UCIe 系统架构总览

2.1 Chiplet 架构示意

复制代码
┌──────────────────────────────────────────────┐
│              System-in-Package (SiP)          │
│  ┌─────────────┐        ┌──────────────────┐ │
│  │  CPU Die     │←UCIe→ │  Accelerator Die │ │
│  │ (台积电 3nm) │        │  (三星 5nm)      │ │
│  └─────────────┘        └──────────────────┘ │
│          ↑                        ↑           │
│        UCIe                     UCIe          │
│          ↓                        ↓           │
│  ┌─────────────────────────────────────────┐  │
│  │         Memory Die / HBM / IO Die        │  │
│  └─────────────────────────────────────────┘  │
└──────────────────────────────────────────────┘

2.2 封装类型

类型 缩写 封装技术 Bump Pitch 典型应用
标准封装 SP (Standard Package) 传统 Flip Chip 100 ~ 130 μm 低成本 Chiplet 集成
先进封装 AP (Advanced Package) InFO、CoWoS、EMIB 等 45 μm 高带宽、高密度 SiP
3D 封装 UCIe-3D 混合键合(Hybrid Bonding) 1 ~ 25 μm 最高带宽密度(2024 UCIe 2.0 引入)

三、UCIe 协议栈(分层架构)

UCIe 定义了清晰的三层协议栈,并通过两个标准接口(FDI、RDI)连接各层:

复制代码
┌────────────────────────────────────────┐
│         Protocol Layer(协议层)         │
│   PCIe TL / CXL / 自定义 Stream        │
├───────────────────┬────────────────────┤
│     FDI 接口       │  ← 50 个标准信号   │
├────────────────────┴───────────────────┤
│         D2D Adapter(适配层)            │
│   链路管理 / 流量控制 / FLIT 封装        │
├───────────────────┬────────────────────┤
│     RDI 接口       │  ← 32 个标准信号   │
├────────────────────┴───────────────────┤
│         Physical Layer(物理层)         │
│   Mainband / Sideband / 链路训练        │
└────────────────────────────────────────┘

3.1 Protocol Layer(协议层)

UCIe 支持以下三种上层协议模式:

模式 协议 说明
PCIe 模式 PCIe TL Packet 直接承载 PCIe 事务层数据包,兼容 PCIe 协议栈
CXL 模式 CXL.io / CXL.cache / CXL.mem 支持 CXL 三种子协议
Stream 模式 Raw Mode(自定义) 不经过标准协议封装,直接传输原始数据流,适合 AI 加速器等

3.2 D2D Adapter(适配层)

D2D Adapter 是 UCIe 的核心逻辑层,负责:

  • FLIT(Flow control unit)打包/解包:将协议层数据封装为固定大小 FLIT
  • 链路状态管理:控制链路初始化、退出低功耗、重训练
  • 流量控制:基于 Credit 机制防止接收缓冲溢出
  • DLLP 处理:生成/解析数据链路层控制包
  • 协议协商上报:向协议层汇报协商后的链路速率、宽度、Flit 格式

3.3 Physical Layer(物理层)

物理层负责实际的 Die-to-Die 信号传输,包含两个通道:

通道 功能
Mainband(主带) 传输实际业务数据,高速差分信号
Sideband(旁带) 传输管理/控制信息(链路训练、寄存器访问、低功耗管理等),低速

四、FDI 与 RDI 接口详解

4.1 接口层次关系

复制代码
Protocol Layer
      ↕  FDI(50 signals)
D2D Adapter
      ↕  RDI(32 signals)
Physical Layer
  • FDI(Flit-level Die-to-Die Interface):协议层 ↔ Adapter,50 个信号
  • RDI(Raw Die-to-Die Interface):Adapter ↔ 物理层,32 个信号
  • 规则:FDI 是 RDI 的功能超集;RDI 有的信号,FDI 一定有;FDI 独有信号包括 DLLP 传输和链路参数上报

4.2 信号功能分类(FDI/RDI 共同)

类别 说明
Clock 时钟信号
Mainband 数据传输 主带业务数据收发
Sideband 数据传输 旁带控制信息收发
Flow Control 流量控制相关握手
链路/功耗状态管理 链路状态和低功耗状态握手
错误上报 物理层错误上报到适配层
DLLP 数据传输 FDI 独有,DLLP 包传输
链路参数上报 FDI 独有,协商后的速率/宽度/协议/Flit 格式

五、物理层规格与 Module 结构

5.1 Module 定义

UCIe 物理层以 Module 为基本单元,一个 Module 包含固定数量的 Lane:

封装类型 每 Module Lane 数(可配置)
Standard Package (SP) x16、x32、x64
Advanced Package (AP) x16、x32、x64
UCIe-3D 灵活配置

一个 UCIe Link 可以包含 1、2 或 4 个 Module

5.2 速率规格

封装类型 支持速率(GT/s) 接口频率(MHz)
Standard Package 4、8、12、16 500、1000、2000
Advanced Package 4、8、12、16、24、32 500、1000、2000
UCIe-3D 扩展到更低 pitch 的高密度速率 -

编码效率:UCIe 采用类似 PCIe 的扰码机制(LFSR),无额外编码开销(非 8b/10b)。

5.3 带宽密度计算

以 AP(先进封装)x64 Lane、32 GT/s 为例:

复制代码
原始带宽 = 64 lanes × 32 Gbps = 2048 Gbps = 256 GB/s(单向)
带宽密度 ≈ 256 GB/s / (Bump 面积) → 远高于 PCIe 板级互联

5.4 Bump 规格

封装 Bump Pitch 最大通道长度
Standard Package 100 ~ 130 μm 长通道 ≤ 25mm,短通道 ≤ 10mm
Advanced Package 45 μm 典型 ≤ 2mm(CoWoS/EMIB)
UCIe-3D 1 ~ 25 μm 极短,混合键合直连

5.5 物理层逻辑功能模块

物理层逻辑包含以下七大功能模块:

模块 功能
信号与时序 接口信号定义和时序规范
数据分发与重组 将数据拆分为适合通道传输的单元(1字节/Lane,4个时钟周期/字节)
坏道修复与重映射(Lane Repair) 检测坏道,利用备用 Lane 进行重路由
链路初始化与训练 新链路建立时的试运行和参数协商
扰码与训练序列生成 LFSR 生成扰码和训练码型,Seed 按 lane_number % 8 分配
通道反转与 ID 映射 解决封装时物理布线限制(Mirror Flip、Lane Reversed 等)
动态调整 动态调整传输宽度和速率(类似 PCIe 的 Recovery 机制)

六、链路训练状态机(PHY LSM)

UCIe 物理层状态机(LSM)控制链路从复位到正常工作的全过程。

6.1 状态转换流程

复制代码
RESET → SBINIT → MBINIT → MBTRAIN → LINKINIT → ACTIVE
                                              ↕
                              TRAINERROR ←──── 训练失败

6.2 各状态详解

状态 说明 工作速率
RESET 复位状态,持续至少 4ms;TX 信号三态,RX 可断电 ---
SBINIT Sideband 初始化,双端交换 SBINIT Pattern(64 UI)并握手 Sideband 800 MT/s
MBINIT Mainband 最低速率初始化;AP 做 Lane Repair,SP 跳过 Mainband 最低速率
MBTRAIN Mainband 速率爬升至协商最高速率,做 data-to-clock 居中训练(眼图扫描) 协商最高速率
LINKINIT Adapter/Link 管理消息交换 协商最高速率
ACTIVE 正式收发事务数据 协商最高速率
TRAINERROR 训练失败,回退到 RESET ---

超时机制 :除 RESET 和 TRAINERROR 外,每个状态/子状态的超时时间为 8ms;收到 Stall 时超时计数清零。

6.3 训练触发方式

版本 触发条件
UCIe 1.1 ① 软件置位 Start Link Training;② Adapter 在 RDI 发起 Reset→Active;③ 检测到 SBINIT Pattern
UCIe 2.0 在 1.1 基础上新增:Management Port Gateway 自动触发、Management Transport 写 Retrain Link

6.4 Mainband 训练基础原语

复制代码
单点测试(Point Test):
  固定 PI 相位 → 发测试图样 → 接收端逐 UI 比较 → 判断该相位是否可用

眼宽扫描(Eye Width Sweep):
  扫描多个 PI 相位 → 记录每个相位的 pass/fail → 找出 passing phase range

训练步骤(核心流程)

  1. 发起方通过 Sideband 通知对端开始训练
  2. 双方清 LFSR / 清错误统计
  3. 发送端在 Mainband 上发已知测试 Pattern
  4. 接收端与本地期望 Pattern 比较并记录结果
  5. 通过 Sideband 将比较结果取回,判断 pass/fail
  6. 如果是扫描,换不同 PI 相位重复
  7. 双方交换结束消息完成本轮训练

七、FLIT 模式与数据格式

7.1 FLIT 概念

UCIe 在链路层使用 FLIT(Flow Control Unit) 作为基本传输单元(类似 PCIe 6.0 引入的 FLIT 模式):

  • 标准 FLIT 大小:256 bit(32 字节)
  • FLIT 由 D2D Adapter 封装,物理层以 FLIT 为单位进行调度

7.2 FLIT 格式(PCIe 模式为例)

复制代码
┌──────────────────────────────────────────┐
│  Payload(248 bit)  │  CRC(8 bit)       │
└──────────────────────────────────────────┘

实际格式随协议模式(PCIe / CXL / Stream)和速率协商结果而变化。


八、低功耗管理

8.1 UCIe 链路低功耗状态

状态 说明 恢复延迟
ACTIVE(L0) 正常运行 ---
PHY Retrain 动态降速或重训练 数十 μs
Clock Gating(CG) 关闭空闲 Lane 的时钟 数 ns
L1(ASPM L1 类似) PHY 进入低功耗,Sideband 保持活跃 < 10 μs
L2 深度断电,需完整重训练恢复 数 ms

8.2 低功耗转换控制

  • 低功耗进入/退出通过 RDI 接口的电源状态握手信号控制
  • 主动/被动退出机制:可由本端发起,也可响应对端唤醒请求

九、UCIe 与 PCIe / CXL 的关系

9.1 层次关系对比

复制代码
应用层
  │
协议层:PCIe TL / CXL.io / CXL.cache / CXL.mem
  │
适配层:D2D Adapter(UCIe 特有)
  │
物理层:
  ├── 板级 → PCIe PHY(差分信号,连接器,板迹线)
  └── 封装内 → UCIe PHY(Bump,短通道,高带宽密度)

9.2 三者关系总结

对比维度 PCIe CXL UCIe
连接范围 板级(slot/M.2/Cable) 板级(PCIe 5.0 PHY) 封装内 D2D
典型通道长度 数十 cm 数十 cm 2 ~ 25 mm
带宽密度 极高
协议层 PCIe TL CXL.io/cache/mem 可承载 PCIe 或 CXL 或 Stream
主要用途 外设互联 CPU-加速器-内存 Chiplet 间互联
是否需要连接器 否(Bump 直连)

总结:CXL 是"协议",PCIe 是"板级物理层+协议",UCIe 是"封装内物理层+适配层"。UCIe 可以在其物理层上承载 CXL 或 PCIe 协议。


十、UCIe 在芯片设计中的应用

10.1 典型 Chiplet 系统架构

复制代码
┌───────────────────────────────────────────────────┐
│                     SiP Package                    │
│                                                     │
│  ┌──────────┐  UCIe  ┌──────────┐  UCIe  ┌──────┐ │
│  │ CPU Die  │←──────→│  IO Die  │←──────→│ HBM  │ │
│  │ (3nm)   │        │ (12nm)   │        │ Die  │ │
│  └──────────┘        └──────────┘        └──────┘ │
│        ↕ UCIe                                       │
│  ┌──────────┐                                       │
│  │ AI       │                                       │
│  │Accel Die │                                       │
│  └──────────┘                                       │
└───────────────────────────────────────────────────┘

10.2 UCIe IP 核集成要点

模块 说明
UCIe PHY 通常为 Hardmacro,由代工厂或 IP 供应商(Synopsys、Cadence)提供
D2D Adapter 可以是软核,负责 FLIT 封装、流控、链路管理
上层协议接口 AXI / AXI-Stream 接口接入 SoC NoC
封装协同设计 需与封装厂(台积电 CoWoS、Intel EMIB)联合设计 Bump 布局

10.3 SoC 集成约束

tcl 复制代码
# UCIe Sideband 时钟约束(800 MHz)
create_clock -name ucie_sb_clk -period 1.25 [get_nets u_ucie_phy/sb_clk]

# UCIe Mainband 工作时钟(以 16 GT/s,每 Lane DDR 时钟 8 GHz 为例)
create_clock -name ucie_mb_clk -period 0.125 [get_nets u_ucie_phy/mb_clk]

# UCIe 参考时钟(100 MHz,与 PCIe 共享或独立)
create_clock -name ucie_refclk -period 10.0 [get_ports UCIE_REFCLK]

# 异步域隔离(Mainband 时钟域 vs 系统时钟域)
set_clock_groups -asynchronous \
    -group [get_clocks ucie_mb_clk] \
    -group [get_clocks sys_clk]

# 跨时钟路径约束
set_max_delay -datapath_only 2.0 \
    -from [get_cells u_ucie_adapter/tx_data_reg*] \
    -to   [get_cells u_ucie_phy/mb_tx_reg*]

10.4 UCIe 验证要点

验证项 方法
PHY 链路训练(LSM) 仿真 SBINIT/MBINIT/MBTRAIN 全流程
FDI/RDI 接口协议 使用 UCIe VIP(Synopsys DesignWare D2D VIP)
Lane Repair 注入坏道场景,验证重映射逻辑
低功耗状态转换 验证 L1/L2 进入退出时序和握手
FLIT 完整性 CRC 错误注入,验证重传机制
与 PCIe/CXL 联合验证 端到端场景测试(RC ↔ UCIe ↔ EP)

十一、UCIe 2.0 新特性(2024)

11.1 UCIe-3D 支持

  • 专为**混合键合(Hybrid Bonding)**优化
  • Bump Pitch:1 ~ 25 μm(相比 AP 的 45 μm 大幅缩小)
  • 极高的带宽密度和更低的功耗
  • 适用于 3D 堆叠芯片(如 HBM-on-Logic、Logic-on-Logic)

11.2 可管理性架构(UDA)

UCIe DFx Architecture(UDA):

  • 发现(Discovery):识别 SiP 内所有 Chiplet 及其配置
  • 初始化(Initialization):统一初始化 Chiplet 结构
  • 测试(Test):支持跨 Chiplet 边界的可测试性
  • 遥测(Telemetry):实时监控 SiP 内各 Chiplet 健康状态
  • 调试(Debug):统一调试接口,与供应商无关

11.3 生命周期管理

覆盖 SiP 从分拣(Sort)到现场(Field)的完整生命周期 DFx:

  • 分类(Classification)
  • 老化筛选(Burn-in)
  • 现场监控与调试

十二、常用术语速查

术语 全称/含义
UCIe Universal Chiplet Interconnect Express
D2D Die-to-Die,芯片间互联
SiP System-in-Package,系统级封装
Chiplet 芯粒,功能化小芯片
FDI Flit-level Die-to-Die Interface(协议层↔Adapter)
RDI Raw Die-to-Die Interface(Adapter↔物理层)
FLIT Flow Control Unit,流控单元(基本传输粒度)
LSM Link State Machine,链路状态机
SBINIT Sideband Initialization,旁带初始化
MBINIT Mainband Initialization,主带初始化
MBTRAIN Mainband Training,主带训练
AP Advanced Package,先进封装
SP Standard Package,标准封装
UCIe-3D UCIe 2.0 引入的 3D 封装支持
HB Hybrid Bonding,混合键合
UDA UCIe DFx Architecture,UCIe 可管理性架构
LFSR Linear Feedback Shift Register,线性反馈移位寄存器(用于扰码)
PI Phase Interpolator,相位内插器(链路训练中用于时钟调节)
Lane Repair 坏道修复,用备用 Lane 替换故障 Lane
CXL Compute Express Link(UCIe 可承载的上层协议之一)

十三、UCIe 与业界主要 D2D 标准对比

标准 发起方 开放性 封装类型 与 PCIe 关系
UCIe UCIe 联盟(10+家) 完全开放 2D/2.5D/3D 可承载 PCIe/CXL 协议
BoW(Bunch of Wires) OCP 开放 2.5D 独立物理层
HBI(High-Bandwidth Interface) Intel 半开放 2.5D(EMIB) 专有
AIB(Advanced Interface Bus) Intel 开放 2.5D 独立
XSR JEDEC 开放 2.5D/3D 独立,高速串行
NVLink-C2C NVIDIA 专有 2.5D/3D 专有

UCIe 是目前业界支持最广、最有望成为事实标准的开放 D2D 互联规范。


参考资料

  • UCIe Specification Rev 2.0(August 2024),UCIe Consortium 官方文档
  • UCIe Specification Rev 1.0 / 1.1,UCIe Consortium
  • Qi Luo Blog:UCIe PHY LSM 链路训练详解
  • 阿里云开发者社区:UCIe FDI 与 RDI 接口信号解析
  • IEEE Xplore:UCIe Standard for an Open Chiplet Ecosystem(2024)
  • ISSCC 2025 D2D 通信技术综述

本文档由工作区知识整理助手生成,如有疑问欢迎随时补充或修正。

相关推荐
发发就是发3 小时前
I2C适配器与算法:从一次诡异的时序问题说起
服务器·驱动开发·单片机·嵌入式硬件·算法·fpga开发
ALINX技术博客12 小时前
【黑金云课堂】FPGA技术教程FPGA基础:流水灯实验
fpga开发·fpga
化屾为海17 小时前
FPGA制造与测试全流程
fpga开发·制造
Aaron158818 小时前
RFSOC+VU13P+RK3588的核心优势与应用场景分析
嵌入式硬件·算法·matlab·fpga开发·信息与通信·信号处理·基带工程
Aaron158820 小时前
8通道测向系统演示科研套件
人工智能·算法·fpga开发·硬件工程·信息与通信·信号处理·基带工程
数字芯片实验室1 天前
当FPGA开始支持“自然语言编程“,芯片定制的门槛要变了
fpga开发
Kong_19941 天前
芯片开发学习笔记·二十四——PCIe(PCI Express)
fpga开发·芯片开发
化屾为海1 天前
FPGA CP测试
fpga开发
何如呢1 天前
ROM查表法实现UW
fpga开发