2. DDR存储器基础与Kria选型
在 Kria SOM 上做 DDR 接口设计与验证,第一步不是打开 Vivado 或写约束,而是把“协议—器件—规划”这条链想清楚:DDR4 与 LPDDR4 在信号、时序、功耗和拓扑上有哪些本质差异?Kria SOM 板载的 DDR 器件到底挂在哪、容量多大、位宽多少?应用需要多少带宽和容量,才能反推出合理的接口配置?本节围绕这三个问题展开,为后续的控制器配置、时序约束和板级验证打基础。
一、DDR4 与 LPDDR4 的协议要点差异
DDR4 和 LPDDR4 都属于双倍数据率同步动态随机存储器,核心存储阵列仍是电容加访问晶体管,读写前需要激活行、再访问列,并周期性刷新。但两者面向的场景不同:DDR4 面向标准服务器、桌面和嵌入式板卡,强调容量与带宽;LPDDR4 面向移动和低功耗嵌入式,强调每比特功耗与封装尺寸。
从协议层面看,最值得关注的差异有四点。第一是电压与信号摆幅:DDR4 的 VDD 通常为 1.2V,VDDQ 也是 1.2V;LPDDR4 的 VDD1 为 1.8V、VDD2 为 1.1V、VDDQ 为 1.1V,I/O 摆幅更低,因此对电源完整性和参考电平更敏感。第二是通道结构:DDR4 每个通道为 64 位或 32 位数据,采用单端 DQ 加差分 DQS;LPDDR4 每个 channel 为 16 位,且支持双 channel 结构,DQ 为单端但 DQS 为差分,命令地址总线为单端。第三是命令时序:DDR4 使用 tRCD、tRP、tRAS、CL、CWL 等经典参数;LPDDR4 除这些外,还引入 tDQSCK、tDQS2DQ 等与 DQS 和 DQ 之间偏斜相关的参数,对训练要求更高。第四是低功耗状态:LPDDR4 支持自刷新、深度睡眠和部分阵列自刷新,DDR4 也有自刷新和掉电模式,但 LPDDR4 的状态切换更细、更频繁。
对 Kria 设计者而言,这些差异直接决定控制器 IP 的选择、PCB 走线规则和训练策略。例如 LPDDR4 的 DQS 与 DQ 之间偏斜必须通过写均衡和读训练补偿,而 DDR4 虽然也训练,但容差相对宽松。若把 LPDDR4 当成 DDR4 来约束,很可能在高温或低压角下出现读眼图闭合。
二、Kria SOM 搭载的 DDR 器件规格
Kria 系列 SOM 目前主要有 K26、K24 和 KV260 载板配套的 SOM 形态。以常见的 K26 SOM 为例,其 PS 侧 DDR 通常为 LPDDR4 或 LPDDR4X,容量有 4GB 和 8GB 等选项,位宽为 32bit(双 channel,每 channel 16bit),数据率可达 2400Mbps 至 4266Mbps 量级。PL 侧则通过 DDR4 或 LPDDR4 控制器外接器件,具体取决于 SOM 型号和载板设计。K24 SOM 更偏向成本敏感场景,DDR 容量和位宽相对较小。
需要特别注意的是,Kria SOM 的 DDR 器件是板载的,用户不能随意更换。因此选型阶段必须确认三件事:第一,PS DDR 的容量和位宽是否满足操作系统和应用程序的常驻内存需求;第二,PL DDR 是否独立于 PS DDR,若独立,其容量和带宽是否满足数据缓存或帧缓冲需求;第三,DDR 控制器的最大数据率是否与 SOM 器件额定速率匹配,避免降频使用导致带宽不足。
以 KV260 为例,其 SOM 板载 LPDDR4 为 PS 侧服务,容量 4GB,位宽 32bit,数据率约 2400Mbps。若在 PL 侧需要额外大容量缓存,通常通过载板上的 DDR4 插槽或板载 DDR4 器件实现。设计前应查阅对应 SOM 的硬件手册和 Xilinx/AMD 的 DDR 控制器文档,确认控制器支持的数据率、位宽和时序参数范围。
三、带宽与容量规划方法
带宽规划的核心公式是:理论带宽 = 数据率 × 位宽 / 8。例如 32bit 位宽、2400Mbps 数据率,理论带宽为 2400 × 32 / 8 = 9600MB/s,约 9.6GB/s。但实际可用带宽受刷新、激活、读写切换、命令开销和控制器效率影响,通常只能达到理论值的 60% 至 80%。因此规划时应按 70% 左右估算有效带宽。
容量规划则从应用需求出发。以视频处理为例:若需要缓存 4K 30fps 的 RGB888 帧,单帧大小为 3840 × 2160 × 3 ≈ 24.9MB,若缓存 8 帧,约需 200MB。若同时运行 Linux 系统,PS 侧常驻内存约 1GB 至 2GB,则 4GB LPDDR4 可以满足。若应用涉及多路视频或大模型推理,则需重新核算。
下面给出一个可参考的规划示例表,用于快速估算带宽和容量需求。表中数据为教学示例,实际设计应以具体 SOM 手册和应用实测为准。
| 应用场景 | 数据率 (Mbps) | 位宽 (bit) | 理论带宽 (GB/s) | 有效带宽 (GB/s) | 容量需求 (GB) |
|---|---|---|---|---|---|
| 4K30 视频缓存 8 帧 | 2400 | 32 | 9.6 | 6.7 | 0.2 |
| Linux + 边缘推理 | 2400 | 32 | 9.6 | 6.7 | 2.0 |
| 多路视频 + 大模型 | 4266 | 32 | 17.1 | 12.0 | 8.0 |
四、从规划到验证的衔接
完成带宽和容量规划后,下一步是确认 DDR 控制器配置是否与规划一致。在 Vivado 中配置 PS DDR 时,需要选择正确的器件型号、数据率、位宽和时序参数。若使用 PL DDR,则需在 IP 中设置对应的控制器模式、数据率和位宽。配置完成后,通过读写测试和眼图扫描验证实际带宽和信号质量。
验证时,可先运行 AMD 提供的 DDR 内存测试工具,观察读写是否通过;再用性能测试程序测量实际带宽,与规划值对比。若实际带宽低于有效带宽的 70%,应检查控制器效率、刷新开销和 PCB 走线质量。若容量不足,则需重新评估应用内存占用或更换 SOM 型号。
本节从协议差异出发,落到 Kria SOM 的具体器件规格,再给出带宽与容量的规划方法。掌握这条链路后,后续的控制器配置、时序约束和板级验证才有明确的依据,而不是盲目试参数。