1. Kria平台与多时钟系统概览

AMD Kria SOM(System-on-Module)把 Zynq UltraScale+ MPSoC 的 PS(Processing System)与 PL(Programmable Logic)集成在一个紧凑模块上,再通过载板(Carrier Card)引出外设接口。对做逻辑设计的人来说,Kria 的关键特征是:PS 侧和 PL 侧各自拥有独立的时钟树,二者之间又必须通过 AXI、DMA 或 PL-to-PS 中断等通路交换数据。只要数据跨过这条边界,就必然涉及跨时钟域(CDC)问题。本节先建立整体时钟版图,为后续的 CDC 验证打基础。

一、Kria SOM 的时钟资源分布

以常见的 Kria KV260 / KR260 为例,模块内部和载板上可用的时钟源大致分为四类:

  • PS 参考时钟:由载板上的固定晶振提供,典型为 33.333 MHz,送入 PS 的 PLL 后生成 CPU、DDR、AXI 等时钟。
  • PL 参考时钟:载板提供 27 MHz 或 100 MHz 差分/单端时钟,进入 PL 的 BUFG/MMCM/PLL。
  • 收发器参考时钟:GTH/GTY 需要独立的 125 MHz、156.25 MHz 等参考时钟,用于高速串行链路。
  • 外部器件时钟:以太网 PHY、DisplayPort、MIPI、SD 卡等外设各自带回或需要独立时钟。

这些时钟在频率、相位、抖动特性上互不相关。例如 PS 的 AXI HP 接口可能跑 250 MHz,而 PL 侧视频流水线跑 148.5 MHz(1080p60 像素时钟),两者之间没有固定整数倍关系,属于典型的异步时钟域。

二、PS-PL 时钟域划分

PS 与 PL 之间的接口可以按“谁驱动时钟”来划分:

接口时钟来源典型频率CDC 风险
AXI GP(M_AXI_HPM)PS 提供 ACLK100–250 MHzPL 逻辑若用本地时钟采样,需同步
AXI HP(S_AXI_HP)PL 提供 ACLK150–300 MHzPS 侧 DMA 与 PL 时钟异步
PL-to-PS 中断PL 时钟—脉冲需展宽或握手
GPIO / EMIOPS 或 PL—单比特电平需两级同步

需要特别注意的是:AXI 接口本身并不自动解决 CDC。AXI 协议要求同一事务内所有信号在同一时钟域,但 PL 内部逻辑如果使用另一个时钟去读写 AXI 寄存器,仍然要在用户逻辑里插入同步器或异步 FIFO。很多初学者误以为“用了 AXI 就安全了”,这是 CDC 验证中最常见的误区之一。

三、典型多时钟应用场景

Kria 上常见的多时钟场景包括:

  1. 视频采集与显示:MIPI 输入像素时钟(如 297 MHz)→ PL 图像处理(300 MHz)→ DisplayPort 输出像素时钟(148.5 MHz),三级时钟域串联。
  2. 工业以太网:PS 的 GEM 控制器时钟与 PL 侧 TSN 逻辑时钟异步,时间戳需要跨域传递。
  3. AI 推理加速:DPU 运行在 PL 的 300–400 MHz,PS 通过 AXI 下发指令并读取结果,控制路径与数据路径时钟不同。
  4. 多传感器融合:不同传感器各自带回 10–100 MHz 不等的采样时钟,汇聚到 PL 后统一处理。

这些场景的共同点是:数据流跨越至少两个异步时钟域,且往往同时存在控制路径和数据路径。控制路径上的单比特信号(如 start、done、valid)如果处理不当,会出现亚稳态传播;数据路径上的多比特总线如果直接跨域,会出现数据错位或采样到中间值。

四、CDC 验证的必要性

CDC 问题在仿真中往往“看起来正常”,因为仿真器默认没有亚稳态建模,信号要么 0 要么 1。但在实际硅片上,当触发器的建立/保持时间被违反时,输出可能在一段时间内处于中间电平,并随机稳定到 0 或 1。这种亚稳态会沿逻辑链传播,导致:

  • 状态机跳转到非法状态;
  • 多比特总线各位到达时间不一致,采样到错误组合;
  • 握手信号丢失,系统死锁;
  • 偶发、难以复现的数据错误。
CDC 问题具有随机性和低概率性,实验室测试可能连续运行数小时都不出现,但一旦在客户现场出现,排查成本极高。因此 CDC 必须在设计阶段通过结构检查、静态分析和定向仿真来验证,而不能依赖上板测试。

对 Kria 平台而言,CDC 验证的目标可以归纳为三点:识别所有跨时钟域信号、确认每个跨域路径都有正确的同步结构、验证同步结构在极端条件下不会丢失或重复数据。后续章节将围绕这三项目标,分别介绍同步器设计、异步 FIFO、握手协议以及对应的验证方法。

Kria SOM 多时钟域与 PS-PL 跨域路径 PS 处理系统 CPU / DDR PS PLL AXI GP 主口 AXI HP 从口 DMA 控制器 中断控制器 PS 时钟域:CPU 1.5 GHz / AXI 250 MHz 参考晶振 33.333 MHz PL 可编程逻辑 MMCM / PLL 用户逻辑 AXI 互联 异步 FIFO 视频流水线 同步器链 PL 时钟域:148.5 / 300 / 400 MHz 参考时钟 27 MHz / 100 MHz AXI GP AXI HP 中断 / 事件 CDC 边界 异步时钟域交界

上图把 PS 与 PL 各自的时钟域、内部主要模块以及三条典型跨域路径画在一起。可以看到,AXI GP、AXI HP 和中断路径都跨越了 CDC 边界,而 PL 内部的异步 FIFO 和同步器链正是处理这些跨域信号的关键结构。理解这张图,就理解了 Kria 多时钟系统的基本骨架,也就能明白为什么 CDC 验证必须从接口识别开始,而不是直接从写测试激励开始。