1. 课程导入与Kria平台概览
在嵌入式视觉、工业控制、边缘AI推理等场景中,AMD Kria™ 系列自适应系统级模块(SOM)正被越来越多地采用。Kria SOM 把 Zynq UltraScale+ MPSoC 或 Versal 器件、DDR 存储器、电源管理、时钟、启动配置等关键电路集成到一块紧凑的模块上,开发者只需围绕载板设计外设接口,就能快速构建产品。然而,模块化带来便利的同时,也把 DDR 存储接口的设计与验证复杂度"封装"进了 SOM 内部——这既是优势,也是本课程要重点剖析的对象。
Kria SOM 产品线与定位
Kria 家族目前主要有三条产品线,理解它们的差异是后续 DDR 接口分析的前提:
- Kria K26 SOM:基于 Zynq UltraScale+ MPSoC(ZU5EV 级别),面向成本敏感的视觉与工业应用,板载 DDR4 存储,常见容量为 4GB,采用 4 片 x16 颗粒组成 64 位数据位宽。
- Kria KR260 / KV260 载板套件:KR260 面向机器人,KV260 面向视觉 AI,二者都搭载 K26 SOM,区别在于载板外设(如 KR260 提供更多以太网、Pmod、SLVS-EC 等接口)。
- Kria K24 SOM:基于 Zynq UltraScale+ MPSoC 的较小封装版本,面向更紧凑的电机控制与实时控制场景,DDR 容量与位宽配置相对精简。
需要特别说明的是:Kria SOM 上的 DDR 存储器是焊接在模块上的,用户无法像在自研板卡上那样自由更换颗粒或重新布线。这意味着 DDR 接口的物理层(PHY)训练、时序参数、PCB 走线等,在 SOM 出厂时已经由 AMD 完成验证。开发者的工作重心,从"设计 DDR 硬件"转向"正确配置 DDR 控制器、验证访问稳定性、并在应用层合理使用存储带宽"。
DDR 存储接口在 Kria 系统中的位置
要理解 DDR 接口的位置,需要先看清 Kria SOM 内部的数据通路。下图展示了 Kria K26 SOM 中 DDR 存储子系统与处理系统(PS)、可编程逻辑(PL)以及外部载板之间的连接关系:
从图中可以提炼出三个关键认知:
- PS 是 DDR 的唯一主控入口。无论是 ARM 核、PL 逻辑还是载板外设,要访问 DDR 都必须经过 PS 内部的 DDR 控制器。PL 通过 AXI HP/HPC 端口连接到 PS,再由 PS 统一调度 DDR 访问。
- DDR 硬件已固化。颗粒型号、位宽、容量、PHY 训练结果、PCB 走线都在 SOM 出厂时确定,用户无法更改。这消除了传统 DDR 硬件设计中的大量风险,但也意味着带宽和延迟特性是"给定"的。
- 带宽是共享资源。4GB DDR4、64 位位宽、2400 MT/s 的配置,理论带宽约 19.2 GB/s。当 ARM 核、PL 加速器、显示控制器、摄像头采集同时访问时,实际可用带宽会被分摊,这正是后续章节要深入分析的内容。
课程目标与学习路径
本课程围绕"Kria DDR 存储接口的设计与验证"展开,目标不是教读者画 DDR PCB,而是让读者能够:
- 理解 Kria SOM 中 DDR 子系统的架构与访问路径;
- 在 Vivado / Vitis 中正确配置 DDR 控制器相关参数;
- 使用 AXI 性能监视器、带宽测试工具等手段验证 DDR 访问性能;
- 识别并排查常见的 DDR 访问异常(如带宽不足、访问冲突、地址映射错误);
- 在应用层合理规划存储分配,避免性能瓶颈。
学习路径建议按以下顺序推进:先建立平台认知(本章),再深入 DDR 控制器配置与地址映射,然后学习 AXI 接口与带宽分配机制,接着掌握性能测量与验证方法,最后通过综合案例完成从配置到验证的闭环。每一章都会围绕真实可操作的参数、工具和判断依据展开,避免停留在概念层面。
需要强调的是,Kria 的 DDR 验证与传统自研板卡有本质区别:传统板卡需要关注信号完整性、时序收敛、PHY 训练失败等问题;而 Kria SOM 把这些风险已经消除,验证重点转向控制器配置是否正确、带宽分配是否合理、访问是否稳定。这一转变贯穿整个课程,也是理解后续所有内容的基础。