Versal Gen2连载第三篇--KPL3858 LPDDR5X-8533介绍及性能测试

作者:Fisher Yang,文章来源:FPGA FAE技术分享选集

前言
在前两篇文章中,我们完成了开普勒KPL3858的开箱上电和UFS烧录启动。本篇聚焦KPL3858上最值得关注的硬件特性之一 —— LPDDR5X-8533高速内存子系统。

KPL3858搭载的Versal AI Edge Gen2器件(2VE3858)内置5个DDRMC5E内存控制器,支持LPDDR5X最高8533 Mb/s速率,单控制器理论峰值带宽34.1 GB/s。本文先梳理DDR系列标准的演进脉络和DDRMC5系列控制器的差异,再介绍KPL3858的内存子系统硬件配置,最后通过在KPL3858评估板上跑官方LPDDR5X_Demo来展示实测性能数据。

一、DDR内存标准演进

1.1 DDR标准时间线

下表整理了主流DDR标准的关键参数:


DDR(Double Data Rate)和LPDDR(Low Power DDR)是同一技术路线的两个分支:DDR面向桌面/服务器,追求高性能;LPDDR面向移动端,在保持竞争力性能的同时大幅降低功耗。LPDDR4X相比LPDDR4的核心改进是将VDDQ从1.1V降至0.6V,显著降低I/O功耗;LPDDR5X相比LPDDR5则进一步将VDDQ降至0.3V,同时将速率上限从6400 Mb/s提升至8533 Mb/s。

1.2 LPDDR5/5X的关键技术改进

相比LPDDR4X,LPDDR5/5X引入了多项架构级改进:

Bank架构升级:

1. 速率 >3200 Mb/s:BG(Bank Group)模式,16个Bank分为4组,提升Bank并行度
2. 速率 ≤3200 Mb/s:16B模式(16个Bank)
3. 8B模式(8个Bank):DDRMC5不支持
Per-Bank Refresh:LPDDR5/5X支持Per-Bank Refresh,刷新操作只影响单个Bank,其余Bank可继续服务读写请求,相比全Bank刷新显著减少带宽损失。Versal DDRMC5还支持1x/2x/4x/8x刷新率,可根据温度和应用场景灵活调整。

Auto-Precharge:Versal DDRMC5新增自动预充电功能,在每个Bank最后一次Page Hit时自动触发预充电,提升随机访问效率。LPDDR5流量默认启用此功能。

二、AMD Versal内存控制器演进

2.1 三代控制器对比

AMD在Versal系列中随器件代际持续升级内存控制器:

2.2 DDRMC5C / DDRMC5E / DDRMC5X差异

DDRMC5系列三个版本的功能差异:

功能差异


最高接口速率

器件对应关系(部分)

KPL3858搭载的2VE3858使用DDRMC5E,支持LPDDR5X-8533和Inline加密(AES-XTS-512 / AES-GCM)。

2.3 ECC支持

DDRMC5支持两种ECC模式:

Sideband ECC:ECC数据与主数据并行传输,需要额外的I/O引脚(DDR5 x32接口需额外4或8位),增加PCB布线复杂度,对整个内存设备生效。仅DDR5支持,LPDDR5/5X不支持Sideband ECC。

Inline ECC(SEC-CRC):ECC数据嵌入数据流内传输,不需要额外I/O引脚,简化PCB布线,但会消耗一定带宽和内存空间,可针对部分内存地址空间选择性启用。DDR5和LPDDR5/5X均支持。

2.4 Inline加密

DDRMC5C和DDRMC5E支持两种加密模式:

1. AES-XTS(512位密钥):高吞吐量加密,支持可配置密钥滚动
2. AES-GCM(256位密钥):最高吞吐量2 GB/s,支持双级GCM认证防DRAM重放攻击
两种模式均内置SCA-DPA(侧信道/差分功耗分析)对抗措施。

三、KPL3858 LPDDR5X内存子系统

3.1 Versal Gen2 X5IO Bank布局

Versal Gen2采用新一代X5IO接口,与第一代Versal的XPIO相比有以下变化:


DDRMC5E使用3个X5IO Bank,支持所有LPDDR5/5X和DDR5配置,包括双Rank和DDR5 DIMM(需两个交错控制器)。DDRMC5X使用2个Bank,仅支持部分受限配置(如LPDDR5 1×16、LPDDR5 1×32单Rank)。

下图为KPL3858评估板中2VE3858的封装图,可以看到5个DDRMC5E及其对应X5IO Bank的物理位置分布:

图:2VE3858封装图,5个DDRMC5E分布于器件底部

3.2硬件配置

KPL3858(2VE3858)的内存子系统配置:

1. 内存控制器:5个DDRMC5E,支持LPDDR5X-8533
2. 内存颗粒:5片LPDDR5X
3. 时钟方案:可采用Internal、Differential或No Buffer模式,两个相邻DDRMC5E可共享同一差分时钟源(可通过Utility Buffer IP分发)
4. 单控制器峰值带宽:34.1 GB/s(8533 Mb/s × 32bit ÷ 8)
5. 5个控制器理论峰值:170.5 GB/s
下图为Vivado中2VE3858的LPDDR5X-8533配置截图:


图:Vivado中2VE3858 LPDDR5X-8533配置

3.3 DDR Calibration

KPL3858上电后,2VE3858的 PMC(Platform Management Controller)会自动执行DDR Calibration(时序训练),对PCB走线延迟进行补偿,确保数据传输的信号完整性。Calibration包含多个阶段,具体阶段因内存类型(DDR5/LPDDR5X)而异,主要包括:

ZQ Calibration:校准DRAM的驱动强度和终端电阻,补偿PVT(工艺/电压/温度)变化,完成后设备进入IDLE状态准备后续训练

Vref DQ Calibration:为每个DQ引脚确定最优参考电压,改善信号完整性

Write Leveling:调整写时序,补偿走线延迟差异

Read Leveling:调整读采样点,补偿差分延迟

Calibration失败会直接中断整个启动流程。 对OSPI Flash烧写操作时,如果Init PDI的DDR校准不通过,会停止OSPI Flash的烧写操作。

图:DDRMC_4 DDRMC_5 Calibration失败

Calibration完成后,可通过Vivado Hardware Manager查看详细的校准状态和各阶段结果。在DDRMC Core面板中,Calibration标签页会列出所有训练阶段及其通过/失败状态;Margin Analysis标签页则以图形方式展示读写margin数据,用于评估信号质量裕量。

图:Vivado Hardware Manager中的Calibration状态页面

图:Margin Analysis页面,展示读写信号裕量

四、KPL3858 LPDDR5X性能测试

4.1 测试工具

AMD官方提供了LPDDR_v2.0.bat一键运行脚本,内部使用mem_perfmon工具 —— 一个基于ChipScoPy NoC性能监控API的Python应用,通过读取NMU和DDRMC性能监控寄存器实时报告带宽和延迟数据,并提供GUI界面。每个内存控制器配有两个流量生成器。

脚本运行时除了内存性能监控外,还会通过INA电源监控芯片采集System、PLD、FPD、LPD、AIE等电源轨的功耗数据。由于KPL3858的电源部分设计方案与官方VEK385不同,需要将Demo程序中的电源测量功能禁用,内存性能监控部分才能正常运行。

4.2 运行步骤

硬件连接

1. 用USB线连接电脑与KPL3858板卡J26端口;
2. 将启动模式拨码开关SW1设为JTAG启动(全部拨到ON);
3. 接通电源,上电;

环境配置

1. 安装Python 3.11.9或更高版本(建议安装3.11.9,注意Python版本兼容性)
2. 准备官方提供的两个文件:VEK385_LPDDR5X_demo_20250815.zip 和 LPDDR_v2.0.bat,建议放在同一工作目录下:
运行Demo

在Windows命令提示符(CMD)中:

set DEMO_ZIP=
LPDDR_v2.0.bat

在Windows PowerShell中:

$Env:DEMO_ZIP=''
.\LPDDR_v2.0.bat

路径使用反斜杠,PowerShell中路径需用单引号括起。

注意:如果已安装过Demo依赖库,重复运行脚本时终端会出现红色报错,但不影响Demo正常运行,忽略即可。

4.3 纯读测试

顺序读取(Read Linear)

图:顺序读取测试结果

随机读取(Read Random)

图:随机读取测试结果

顺序读取带宽最高;随机读取因频繁的行激活/预充电操作带宽下降。

4.4 纯写测试

顺序写入(Write Linear)

图:顺序写入测试结果

随机写入(Write Random)

图:随机写入测试结果

4.5 读写混合测试(RdWr5050)

顺序读写(RdWr5050 Linear)

图:混合读写顺序测试结果

随机读写(RdWr5050 Random)

图:混合读写随机测试结果

总结

本文介绍了开普勒 KPL3858的LPDDR5X-8533内存子系统:

1. DDR系列对比:从DDR4到LPDDR5X,速率从3200 Mb/s提升至8533 Mb/s,VDDQ从1.2V降至0.3V;LPDDR5/5X新增BG模式、Per-Bank Refresh等特性
2. DDRMC5系列:DDRMC5C/5E/5X三个版本在速率、ECC、加密支持上各有侧重;2VE3858搭载DDRMC5E,支持LPDDR5X-8533和Inline加密
3. KPL3858硬件配置:5个DDRMC5E,每个控制器配3个X5IO Bank,单控制器峰值带宽34.1 GB/s
4. KPL3858 LPDDR5X实测性能:通过4MC + 8TG测试设计,覆盖纯读、纯写、读写混合场景,顺序访问带宽显著高于随机访问
下一篇预告: KPL3858(四)IBERT示例设计和测试,敬请期待。

本文操作基于开普勒 KPL3858 评估板,LPDDR5X测试 Demo来源于 AMD 官方版本。

如果您对Versal Gen2及KPL3858开发板感兴趣,欢迎联系您身边的科通FAE及Sales,也欢迎邮件联系:
simonyang@comtech.cn
charlesxu@comtech.cn