LPDDR5/5X JEDEC学习 Week1

学习目标:1.Initialization

2.部分Training

主要学习章节:Clause1-4,11,12

一、Test

(一) DC 直流测试集合****【定位章节:Clause 11 /12 534-538

1.RUN_TEST( 1, TB__ContinuityUpDiode, nullptr, nullptr, NEXT, cont_fail, "TB__ContinuityUpDiode", 8,8 ) //向上 ESD 保护二极管连续性测试

2.RUN_TEST( 2, TB__ContinuityDownDiode, nullptr, nullptr, NEXT, cont_fail, "TB__ContinuityDownDiode ", 8, 8) //向下 ESD 钳位二极管连续性测试

参数 含义
1 1 测试项 ID / 使能标记,1 = 启用该测试
2 TB__ContinuityUpDiode 测试函数入口,TB=TestBench,向上二极管连续性测试
3 nullptr 测试前置回调函数,无
4 nullptr 测试后置回调函数,无
5 NEXT 执行分支:测试完成无条件执行下一个测试;其他可选:ABORT(失败终止)、REPEAT 等
6 cont_fail 失败处理回调:连续性测试失败回调函数;一般记录 fail log、设置测试 flag,不直接终止整套测试(continuity continue fail),高速时序训练类tran_fail
7 "TB__ContinuityUpDiode" 测试名称字符串,用于日志打印、测试报告输出
8 8 测试配置参数,最大重试次数
9 8 循环执行次数

| 回调宏 | 使用测试 | 含义 |
| cont_fail | ContinuityUp/DownDiode、Input_Leakage、ManufacturerIdRead | continuity‑fail,硬件连续性、直流测量、寄存器读取类失败;即使失败记录 log,不 Abort,继续跑剩下所有 case,收集全部失效点用于失效分析。 |

tran_fail CBT1、全部 Training 训练项 transient‑fail,瞬态 / 交流 / 时序类测试失败;记录 DUT 失败标记,NEXT 表示不终止序列继续执行后续 case。

①被测对象

  • LPDDR5 DRAM 每颗信号引脚内部 ESD 保护电路有一对二极管:
    • Up‑Diode:引脚→VDD(电源),正向导通到电源;(负电流,引脚往外吸电流)
    • Down‑Diode:引脚→VSS(地),正向导通到地。(正电流,向引脚灌入电流)
  • ContinuityUpDiode 专门测 Up‑Diode :ATE 的 PMU 单元向每个 LPDDR5 CA/CK/DQ/DQS 等信号引脚注入微小负电流,让上保护二极管正向导通,测量引脚的二极管正向压降

②测试目的

  1. 检测引脚开路:bonding 断线、探针接触不良、PCB 开路 → 测不到二极管压降;
  2. 检测引脚短路:引脚和 VDD/VSS/ 其他引脚短路,压降偏离 JEDEC 允许区间;
  3. 初步筛 ESD 损坏:ESD 击穿后保护二极管损坏,压降异常;
  4. 属于直流接触测试,发生在 DRAM 上电,发送任何 JEDEC LPDDR5 协议命令之前,不做读写操作

3.RUN_TEST(3, TB__Input_Leakage, nullptr, nullptr, NEXT, cont_fail, "TB__Input_Leakage ", 8, 8 )//输入引脚IIH/IIL漏电流测试

①被测对象

LPDDR5 的 CA、CK、CS、CKE 等输入引脚(不包含输出驱动类引脚),测量输入引脚的漏电流。 JEDEC 定义两个关键漏电流参数:

  • IIH:引脚施加高电平 VIH,流入引脚的输入漏电流
  • IIL:引脚施加低电平 VIL,从引脚流出的输入漏电流

②ATE 物理测试过程

  1. 将被测芯片电源 VDD/VDDQ 上电,DRAM 内部电路不激活,不执行 DDR 命令
  2. ATE 的 PMU 给每一根输入引脚分别强制施加规定的高电平 VIH,测量流入引脚的电流 → IIH;
  3. 再给引脚强制施加规定的低电平 VIL,测量流出引脚的电流 → IIL;
  4. 将实测电流与 JEDEC 规格的最大 / 最小漏电流窗口对比,判定 Pass/Fail。

③主要检测故障

  1. 引脚和电源 / 地发生漏电、微弱短路;
  2. 探针卡绝缘漏电、探针接触不良;
  3. 芯片输入缓冲损坏,静态漏电流超标;
  4. 封装 / 邦定带来的异常漏电。

Note: Input_Leakage measures the tiny leakage current of a single input pin (on the order of µA). It is a static DC leakage current, not the dynamic current IDD under operating conditions; IDD is the overall power consumption current of the chip.

(二)AC 边界测试【Clause15 603

1.RUN_TEST( 4, TB__CBT1, nullptr, nullptr, NEXT, tran_fail, "TB__CBT1", 7, 7)//输出引脚 VOH/VOL 驱动能力测试

①TB__CBT1 含义

CBT = Component Boundary Test,器件边界测试,也常叫引脚边界 AC 测试

  • CBT1:第一组器件边界交流测试,一般测输出引脚驱动特性:VOH / VOL输出高低电平、输出阻抗、边沿相关参数;

对象:LPDDR5 DQ / DQS 输出引脚,芯片输出驱动能力测试。

CBT 执行时机: 在DC 连续性、漏电流全部跑完之后;正式 LPDDR5 JEDEC 初始化、模式寄存器、training 之前 。 芯片需要进入输出驱动模式,ATE 给激励,采样输出电压,属于AC / 瞬态电性测试

核心目的: 校准内部VREF(CA)电压(使接收端电压裕量最优)、调整CS和CA信号时序以满足接收掩码要求,通过极简的外部命令实现进入、训练、退出全流程,保障命令总线的高速信号完整性。

②CBT1 典型测试内容

  1. VOH:输出高电平电压;输出引脚驱动为逻辑 1,测输出高电平电压
  2. VOL:输出低电平电压;输出引脚驱动为逻辑 0,测输出低电平电压
  3. 输出引脚的驱动能力,带负载条件下看电平是否满足 JEDEC 窗口

给 DUT (Device Under Test 被测器件)输入激励,让 DUT 主动驱动引脚输出高低电平,ATE 采样电压。 和前面 DC 测试不一样:前面是 ATE 强制引脚施加电压 / 电流;CBT 是让芯片自己驱动输出引脚

③故障检测

  • 输出缓冲损坏;
  • DQ/DQS 引脚驱动异常;
  • 输出引脚存在漏电、微弱短路;
  • 封装 / 探针接触在动态驱动条件下暴露的问题。

**(三)LPDDR5 协议链路训练【****定位章节:**Clause4 Initialization and Training(初始化与训练)】

1.RUN_TEST(5, TB__WCK2CKTraining, nullptr, nullptr, NEXT, tran_fail, "TB__WCK2CKTraining", 7, 7 )//WCK‑to‑CK全局相位对齐

①LPDDR5 两组时钟

  • CK / CK_N:命令地址时钟(CA 时钟),用于命令、地址;
  • WCK / WCK_N:写时钟,用于 DQ/DQS 数据通路,速率远高于 CK

②测试目的

调整 WCK 写时钟相对于命令时钟CK 的相位偏移,让高速写时钟 WCK 与低速命令时钟 CK 相位对齐,建立 WCK 和 CK 之间确定相位关系;如果 WCK 与 CK 相位关系没有校准,LPDDR5 的数据写入会采样错误,数据 bit 出错。

③测试步骤

  1. ATE 主机通过 LPDDR5 标准 JEDEC 命令,触发 DRAM 内部 WCK2CK 训练流程;
  2. DRAM 内部调整 WCK 相位,反馈训练状态;
  3. ATE 读取 DRAM 训练完成状态,判断训练是否成功收敛;
  4. 失败则按配置最多重试7 次

④故障检测

  • WCK/CK 时钟通路时序、相位偏移过大,无法完成相位对齐;
  • WCK、CK 时钟缓冲硬件缺陷;
  • 时钟路径噪声、接触问题导致训练收敛失败;
  • MR 模式寄存器访问异常

2.RUN_TEST(6, TB__ReadDqCalibrationTraining, nullptr, nullptr, NEXT, tran_fail, "TB__ReadDqCalibrationTraining",7,7 )//读通路 DQ 相对 DQS 逐 bit 相位校准

LPDDR5 的数据是从 DRAM输出到控制器 / ATE 测试机:DQ/DQS 是高速读数据通路。 由于 PCB、封装、bond 线存在走线延迟、相位偏移,每一根 DQ 比特相对于 DQS 采样时钟存在不同的相位偏差。

①Read DQ Calibration Training(读 DQ 校准)作用

  1. DRAM 送出训练 Pattern;
  2. ATE / 控制器采样 DQ、DQS;
  3. 逐 bit 调整 DQ 相对于 DQS 的采样相位,找到每一根 DQ 的有效数据眼窗口;
  4. 将最优相位配置写入 DRAM 对应的模式寄存器 MR;
  5. 保证后续正常读操作时,每一路 DQ 都可以被正确采样。

②故障检测

  • DQ/DQS 通路时序偏移过大,找不到有效采样窗口;
  • DQ 引脚缓冲损坏、信号完整性问题;
  • 模式寄存器 MR 配置 / 读取异常;
  • 噪声、探针接触不稳定造成训练无法收敛。

3.RUN_TEST(7, TB__WriteFifoTraining, nullptr, nullptr, NEXT, tran_fail, "TB__WriteFifoTraining",7,7 )****//写通路内部 FIFO 跨时钟域接收校准

①LPDDR5 写路径: ATE / 控制器发出写命令、写数据,经由 WCK 高速写时钟送入 DRAM 内部写 FIFO 缓存

  • CK 是低速命令地址时钟;WCK 是高速数据写时钟,两者频率不一样;
  • 写 FIFO 用来做跨时钟域数据同步,把 WCK 域的高速写数据,转到 CK 内部时钟域;
  • Write FIFO Training 的作用:校准写 FIFO 的读 / 写指针相位,保证高速 WCK 送来的写数据可以正确写入 DRAM 内部 FIFO,避免 FIFO 溢出、读写出错、数据 bit 错误。

②故障检测

  • 写通路 WCK‑数据相位偏移过大,FIFO 无法建立稳定接收窗口;
  • DRAM 内部写 FIFO 硬件缺陷;
  • WCK 时钟、写数据通路信号完整性差;
  • 模式寄存器配置异常,训练无法收敛

4.RUN_TEST(8, TB__WCKRDQST_Training, nullptr, nullptr, NEXT, tran_fail, "TB__WCKRDQST_Training",7,7 )****//读通路 WCK‑R 与 DQS‑T 源头相位精细校准

①名词拆解

  • WCK‑R:WCK Read,用于读操作采样的 WCK 时钟
  • DQS‑T:DQS Timing,读 DQS 时序;

②WCKRDQST Training 作用

校准读路径 WCK‑R 和 DQS‑T 之间相位关系。 LPDDR5 读数据时,DRAM 内部使用 WCK‑R 来产生读 DQS 输出。需要精细调节 WCK‑R 相对于 DQS‑T 的相位,把读 DQS 边沿放到 DQ 数据眼的最优位置,保证读数据采样窗口最大化。

③故障检测

  • WCK‑R 到 DQS 输出通路时序偏移过大,无法找到有效窗口;
  • 读 DQS 产生电路硬件缺陷;
  • 高速通路信号完整性差、抖动过大训练不收敛;
  • 相关 MR 模式寄存器读写异常。
序号 测试项 测试类别 回调 简要说明
1 TB__ContinuityUpDiode DC 直流 cont_fail 上钳位二极管,引脚开路短路筛查
2 TB__ContinuityDownDiode DC 直流 cont_fail 下钳位二极管,引脚开路短路筛查
3 TB__Input_Leakage DC 直流 cont_fail 输入引脚 IIH/IIL 漏电流测试
4 TB__CBT1 AC 边界测试 tran_fail 输出引脚 VOH/VOL 驱动能力测试
5 TB__WCK2CKTraining JEDEC 链路训练 tran_fail WCK 与 CK 全局相位对齐
6 TB__ReadDqCalibrationTraining JEDEC 链路训练 tran_fail 读通路 DQ 相对 DQS 逐 bit 相位校准
7 TB__WriteFifoTraining JEDEC 链路训练 tran_fail 写通路内部 FIFO 跨时钟域接收校准
8 TB__WCKRDQST_Training JEDEC 链路训练 tran_fail 读通路 WCK‑R 与 DQS‑T 源头相位精细校准

二、JEDEC相关内容学习

(一)突发序列

  • B0-B2默认为"0",不通过命令总线传输;
  • 读操作起始突发地址对齐128 位(8n)边界;
  • 写操作起始地址:BL16对齐256位(16n)边界,BL32对齐512位(32n)边界;
  • 写操作中 B3 必须设为"0",BL32 模式下 CO 必须设为"0";
  • 8B 模式读序列仅适用于LPDDR5,LPDDR5X 不支持。

LPDDR5/5X的突发序列依赖WCK(数据时钟)与CK(命令时钟)的同步,核心关联规则如下:

  • WCK 与 CK 比例为 2:1 或 4:1(对应数据速率翻倍/四倍),通过 MR18 OP7 配置;
  • 读/写突发操作前,必须启动 WCK2CK 同步序列(器件内部自动执行,无需额外命令),确保 WCK与 CK 对齐;
  • WCK用于写数据采样和读数据输出,需在突发数据传输前开始翻转;
  • RDQS(读数据选通信号)由 WCK生成,与 DQ 数据同步,保障采样准确性。

补充:BL/n:有效突发长度,代表两条读命令之间最小命令间隔 (CK),区分跨 BG / 同 B

  1. BL16
    • 跨不同 BG:BL/n = 2 CK
    • 相同 BG:BL/n = 4 CK
    • 一笔 BL16 数据传输:8 WCK = 2 CK
  2. BL32(BG 模式独有特殊行为)
    • 跨 BG:BL/n 依然 = 2 CK
    • 单条 BL32 完整数据输出需要 4 CK
    • BL32 不是连续 32 拍一口气输出

(二)Voltage Ramp and Device Initialization上电初始化完整解析

完整流程:Ta 电源斜坡 → Tb‑Tc 复位保持 → Tc 释放复位 → Td 时钟稳定 → Te CA 接口就绪 → Tf MR 寄存器配置 → Tg ZQ 校准锁存 → Th CBT 命令总线训练 → Tk WCK2CK Leveling → Tm DQ 总线训练 → Tn 正常工作

**1.**上电阶段时序分段总览表

阶段 标识 关键时序参数 核心动作 硬性约束
电源斜坡 Ta tINIT0 ≤20ms(max) 各电源轨按顺序爬升;RESET_n 拉低 VDD1≥VDD2H 时序;VDD2L>VDDQ‑200mV(仅斜坡期);IO 全部钳位 VSS~VDDQ;CS_n 低;DQ/DMI/RDQS=High‑Z
复位保持 Tb‑Tc tINIT1 ≥200μs(min) 电源全部达到稳态;RESET_n 继续低电平 电源稳定后必须满 200μs 才能释放复位,不可提前拉高 RESET_n
释放复位 Tc RESET_n 拉高;CK_t/CK_c 差分时钟开始翻转;DRAM 内部自动 Initial ZQ 预校准 内部 Initial ZQ 仅预计算,不锁存阻抗结果
时钟稳定 Td tINIT4 ≥5 nCK(min) CK 持续差分翻转;CS_n/CA 保持 DES 无有效命令 tINIT4 结束后才允许 CS_n 第一次翻转
CA 接口就绪等待 Te tINIT5 ≥2μs(min) CS_n 第一次 toggle 翻转,等待 2μs CS 翻转后不能立刻发 MR 命令,必须等满 tINIT5
模式寄存器配置 Tf 工作于 tCKb 基础时钟 MRW/MRRR 读写;单 VDD2 系统配置 MR13‑OP 7 开启单轨模式 MR13 单轨配置必须在 CBT 之前完成;高速 AC 参数未生效,使用宽松时序
ZQ 校准锁存 Tg tZQLAT 下发 ZQ Cal Latch 命令,等待 tZQLAT 完成;锁存 ODT、输出驱动阻抗 内部 Initial ZQ 结果不生效,此命令不可省略;放在 CBT 之前
命令总线训练 Th MRW 开启 CBT 模式;校准 VREF (CA),对齐 CA/CS_n 相对 CK 采样窗口;DRAM 通过 DQ 输出训练结果给控制器读取 未完成 CBT,无法工作高于 tCKb 的高频
WCK‑CK 相位对齐 Tk MR18‑OP 6=1 开启 WCK2CK Leveling;WCK=2×CK,优化 tWCKCK,建立 WCK‑Sync 同步 必须 CBT 完成后执行;为 DQ 高速读写做相位准备
DQ 总线训练 Tm RD‑DQ‑Cal;校准 VREF (DQ)、读写 FIFO、读 DQ 通路校准 RD‑DQ‑Cal 不破坏存储阵列数据;DQ 训练未完成禁止高频业务
正常工作 Tn ACT/READ/WRITE 业务命令;可补配剩余 MR 寄存器 全部训练完成,VREF、阻抗、相位全部锁存,进入完整高速工作模式

2 电源上电斜坡规则(仅上电斜坡阶段生效,稳态无此压差约束)

| 电源 | 典型稳态电压 | 功能 |
| VDD1 | 1.8V | IO、模拟电路、PLL、复位电路电源 |
| VDD2H | 1.05V | DRAM 高速内核,高速逻辑部分 |
| VDD2L | 0.9V | DRAM 存储阵列内核,低速阵列电源;可等于 VDD2H(单轨模式) |

VDDQ 0.5V (ODT 开)/0.3V (ODT 关) DQ/CA/WCK/RDQS I/O 接口电源

①斜坡先后顺序

  1. VDD1 ramp 完成:同时或早于 VDD2H
  2. VDD2H ramp 完成:同时或早于 VDD2L
  3. VDD2L ramp 完成:同时或早于 VDDQ

②斜坡压差条件(抑制 ESD 二极管导通、Latch‑up 闩锁)

  • VDD1 > VDD2H
  • VDD2H ≥ VDD2L
  • VDD2L > VDDQ − 200 mV

目的:防止芯片内部 ESD 二极管正向导通、闩锁 Latch‑up 损坏器件;稳态工作不适用 200mV 压差约束

③Ta~Tb 引脚强制条件

  1. RESET_n ≤ 0.2 × VDD2H
  2. 全部输入引脚电压范围 VSS ~ VDDQ,禁止超电源轨
  3. CS_n 维持 ViLPD Max 低电平,规避虚假 CA 命令采样
  4. RESET_n 为低时,DRAM 输出引脚 DQ/DMI/RDQS 保持 High‑Z 高阻

(三)Command Bus Training

1.功能定位

校准内部VREF(CA)电压(使接收端电压裕量最优)、调整CS和CA信号时序以满足接收掩码要求,通过极简的外部命令实现进入、训练、退出全流程,保障命令总线的高速信号完整性。

2.模式选择

支持两种CBT模式,通过MR13 OP6配置(0B=Mode1,1B=Mode2)。

3.CBT Mode1 (MR13 OP6=0B)

①模式特点

  • 不支持训练期间调整VREF(CA),依赖预设的FSP寄存器配置;

  • CBT期间WCK ODT固定为40Ω(不受MR18控制),DQ ODT和NT-ODT关闭;

  • 支持从IDLE或自刷新状态进入,禁止从掉电/深度睡眠状态进入;

  • 训练后的值不保留,需写入目标FSP寄存器(FSP-WRy)。

②进入流程

  1. 配置MR20 OP3:2=00B(CBT需差分WCK输入);

  2. 发送MRW-1+MRW-2命令,设置MR16 OP5:4选择CBT模式(对应FSPy);

  3. 进入前WCK需为静态电平(WCK_t=低,WCK_c=高),DQ7需为低;

  4. 满足tCBTWCKPRE_static后,WCK可开始翻转,且需满足tWCK2DQ7H后驱动DQ7为高;

  5. 器件通过WCK采样到DQ7高电平后,自动切换至MR16 OP5:4指定的FSP寄存器;

  6. 满足tCAENT后,可通过CA总线输入训练图案。

③单rank系统训练

  1. 配置MR16 OP1:0=FSP-WRy,启用FSPy寄存器读写;

  2. 向FSPy写入高频运行参数;

  3. 设置MR16 OP5:4选择CBTy

  4. 发送MRW-1+MRW-2进入CBT,驱动DQ7高,切换CK至高频;

  5. 执行CS和CA训练(CA图案通过DQ异步输出验证);

  6. 驱动DQ7低,切换CK至低频,发送MRW退出CBT;

  7. 向FSPy写入训练后的值;

  8. 切换至FSP-OPy,启用ODT,切换CK至高频,完成训练。

④ 多rank系统训练

  1. 为两个rank配置FSP-WRy并写入高频参数;

  2. 先训练带终端电阻的rank:进入CBT→高频训练→退出CBT→写入训练值;

  3. 进入无终端电阻rank的CBT(保持DQ7低);

  4. 带终端电阻的rank切换至FSP-OPy(启用ODT),切换CK至高频;

  5. 驱动无终端电阻rank的DQ7高,执行训练;

  6. 带终端电阻的rank切换回FSP-OPx(禁用ODT);

  7. 无终端电阻rank退出CBT,写入训练值;

  8. 两个rank均切换至FSP-OPy,启用ODT,完成训练。

⑤退出流程

  1. 切换CK频率至低频(FSPx对应的频率);

  2. 驱动DQ7为低,满足tDQ7LWCK + tVREFCA_LONG后,发送MRW命令设置MR16 OP5:4=00B;

  3. 满足tMRD后,器件自动切换回进入CBT前的FSP寄存器(FSPx),恢复正常运行。

**4.**CBT Mode2(MR13 OP6=1B)

①模式特点

  • 支持训练期间实时调整VREF(CA):通过DQ6:0输入调整值,DMI0作为选通信号;

  • 其他基础特性与Mode1一致(WCK ODT=40Ω、DQ ODT/NT-ODT关闭、仅允许DES和退出CBT的MRW);

  • 训练值不保留,需写入FSP寄存器,VREF(CA)调整值需单独写入MR12。

②进入流程

  1. 同Mode1步骤1-4(配置MR20 OP3:2=00B、发送MRW进入CBT、WCK静态电平);

  2. 器件采样DQ7高电平后切换至目标FSP寄存器;

  3. 满足tDQ7HWCK + tDQ72DQ后,通过DQ6:0输入VREF(CA)调整值,DMI0置高;

  4. 器件通过WCK采样DMI0上升沿,捕获DQ6:0值,更新VREF(CA);

  5. 等待tVREF_LONG后,可输入CA训练图案。

③系统训练

单rank/多rank训练序列与Mode1一致,仅新增"VREF(CA)调整"步骤(进入CBT后、CA训练前)。

④退出流程

与Mode1一致,额外要求:DMI0需置低,关闭DQ6:0输出模式。

(四) WCK2CK Leveling

1.功能定位

主要用于补偿系统 CK(系统基准时钟)与 WCK(写数据时钟)之间的 PCB 走线、器件延时带来的时序偏斜(Skew),完成双时钟相位精准对齐。

2.核心工作逻辑

DRAM 内部实时比对 CK 与 WCK 上升沿相位关系,通过 DQ 总线异步输出相位偏差反馈结果;上位控制器采样反馈后动态微调 WCK 时钟延迟,迭代校准直至相位最优,满足规范时序偏差要求。

3.强制前置约束(不可颠倒)

  • 必须优先完成 CBT 命令总线训练,再执行 WCK2CK 校准

  • 校准前强制配置时钟比率为 CKR=2:1(MR18 OP7=1)

  • 必须在所有写训练、DQ总线训练之前完成,为后续数据通路校准提供时钟基准

4.完整操作流程

① 前置准备

  1. 配置 CKR 模式为 2:1(MR18 OP7=1B),确保 WCK 频率可支持 CK 的 2 倍;

  2. 驱动 WCK_t=低电平、WCK_c=高电平,保持稳定状态。

② 进入校准模式

  1. 发送 MRW-1 + MRW-2 命令,设置 MR18 OP6=1B,进入 WCK2CK Leveling 模式;

  2. 等待时序 tWLMRD(最小值=Max(14ns, 5nCK))后,开始驱动 WCK 翻转;

  3. WCK 必须精确翻转 7.5 个周期(tWCKTGGL=7.5tWCK),确保 SDRAM 稳定捕获相位(避免首个上升沿不稳定导致的误判)。

③相位检测与反馈

  1. SDRAM 内部对比 CK 与 WCK 的上升沿相位,在 WCK 翻转期间通过所有 DQ 引脚异步输出反馈结果:

    • DQ=低电平:WCK 相位早于 CK 相位;

    • DQ=高电平:WCK 相位晚于 CK 相位;

  2. 控制器需在满足 tWLO(输出延迟,最小值=0ns,最大值=Max(2tCK, 20ns))后,采样 DQ 反馈结果。

④ 调整 WCK 延迟并重复校准

  1. 控制器仅能在 WCK_t=低电平、WCK_c=高电平时调整 WCK 延迟(避免 WCK 信号出现毛刺);

  2. 按反馈结果增量/减量调整延迟,重复"WCK 翻转 7.5 周期→采样反馈"的流程,直至 DQ 反馈表示相位对齐(或达到预设最优裕量);

  3. 校准搜索范围需符合 tWCK2CK_Leveling 参数要求(Table32 详述)。

⑤退出校准模式

  1. 发送 MRW-1 + MRW-2 命令,设置 MR18 OP6=0B,退出校准模式;

  2. 等待 tWLWCKOFF(最小值=Max(14ns, 5nCK))后停止 WCK 翻转,等待 tWLDQOFF(最大值=Max(14ns, 5nCK))后 DQ 恢复正常状态;

  3. NT-ODT 自动恢复为校准前的配置

(五) READ DQ Calibration

参数 含义
RL 读潜伏期,RDC 命令和普通 READ 命令共用同一套 RL
tRPRE RDQS 前置预 amble,RDQS 数据到来前的先导序列
tDQSQ RDQS 到 DQ 的 skew,DRAM 内部 DQ 与 RDQS 之间偏移
tRPST RDQS postamble,数据结束后 RDQS 尾部序列
tWCK2DQO WCK 时钟沿到 DQ 输出的 skew,PHY 训练校准目标
tRTRRD 普通 Read 命令到 RDC 命令,命令‑命令间隔
tMRRI 退出 PowerDown 之后,到发 RDC 命令必须等待的额外时间

1.功能定位

通过 RDC 命令触发,在 DQ15:0 和 DMI1:0 引脚输出预设图案,用于验证读数据路径的时序和电平准确性;

2.触发方式

发送 READ DQ CALIBRATION(RDC)命令,需在 WCK2CK 同步状态下执行;

3.完整操作流程

图48Read → RDC(BG 模式,CKR=4:1,BL=16)

图49RDC 连续触发时序(BG 模式,CKR=4:1,BL=16)

①前置配置(可选,默认使用预设图案)

通过 MRW 命令配置以下寄存器,定义图案样式和调整规则:

1.图案存储:

  • MR33:存储 16 位图案的前 8 位;
  • MR34:存储 16 位图案的后 8 位;
  • 默认值:MR31=55H、MR32=55H、MR33=5AH、MR34=3CH;

2.调整模式选择(MR20 OP7):

  • 0B:启用"图案反转",由 MR31/MR32 定义反转掩码;
  • 1B:启用"低固定",由 MR31/MR32 定义低固定引脚;

3.DMI 图案控制(MR20 OP6):

  • 1B:DMI 引脚输出低固定图案;

  • 0B:DMI 引脚输出与 DQ 一致的自定义图案(无数据总线反转(DBI)功能)。

② 校准执行步骤

  1. 确保器件处于 WCK2CK 同步状态(若同步关闭,需先发送 CAS(WS_RD) 或 CAS(WS_FS) 命令建立同步);

  2. 发送 RDC 命令,无需额外 CAS(WS_RD) 命令(同步状态保持时);

  3. 器件在当前读延迟(RL)后,输出 16 位图案:先输出 MR33 内容,再输出 MR34 内容;

  4. 控制器采样 DQ/DMI 引脚输出,与预期图案对比,验证读路径完整性;

  5. 支持连续触发:按 2nCK(CKR=4:1 模式)或 4nCK(CKR=2:1 模式)的间隔无缝重复发送 RDC 命令。

③关键约束说明

1.CAS 命令操作数:仅 WS_RD 有效,DC0~3、B3 操作数被忽略;

2.命令间隔要求:

  • 阵列读命令与 RDC 命令之间需满足 tRTRRD 延迟;
  • RDC 命令与阵列读命令之间需满足相同 tRTRRD 延迟;

3.运行状态兼容:可在任意 Bank 状态(活跃/空闲)、刷新期间、自刷新(非掉电)状态下执行;

4.字节模式适配:

  • X8 模式:MR31 仅对低字节器件有效,MR32 仅对高字节器件有效;

  • X16 模式:MR31 控制 DQ7:0,MR32 控制 DQ15:8

**4.特殊场景处理(**掉电后校准)

图50Power‑Down 退出之后发 RDC

  • 约束条件:从掉电模式退出后,需额外等待 tMRRI 时间再发送 RDC 命令;

  • 核心目的:确保 MR33/MR34 数据路径完全上电稳定,避免图案输出异常;

  • 时序要求:tMRRI 为掉电退出后的数据路径稳定时间,需满足器件手册规定。

(六) WCK-DQ Training

1.功能定位

因 LPDDR5 采用非匹配的 WCK-DQ 传输路径(DQ 接收器靠近引脚,内部延迟更短),需通过训练调整 DQ 相对 WCK 的延迟,实现两者中心对齐,避免时序偏差导致的数据错误。

2.训练逻辑

采用"FIFO 写入+FIFO 读出验证"的方式,控制器将自定义测试图案写入 SDRAM 内部 FIFO,再读出与预期图案对比,迭代调整延迟直至匹配;

3.完整操作流程

命名规则 含义
tWCKENL_XX WCK 使能延迟:命令发出后,WCK 从静态 idle 切换到翻转之前的等待时间
tWCKPRE_Static WCK 静态预周期:WCK 还没有开始翻转,处于静态电平
tWCKPRE_Toggle_WR/RD WCK 开始翻转,直到数据 DQ/DMI 输出的间隔
WL Write Latency 写延迟;RL Read Latency 读延迟
tWCK2DQI 写:WCK 边沿到 DQ 输入建立偏移;tWCK2DQO读:WCK 边沿到 DQ 输出偏移
tWCKPST 写 FIFO:DQ 结束之后 WCK 后保持时间
tRPRE / tRPST / tDQSQ 读 RDQS 前导、后导、DQS‑DQ 偏移(普通读那套参数)
BL/n_max BG 模式 effective burst length 最大间隔
2nCK 两条 FIFO 命令之间最小命令间隔

关键背景知识:

Write‑FIFO / Read‑FIFO:DRAM 内部有 8 深度的同步 FIFO ,用来做CK 命令域 ↔ WCK 数据域跨时钟域同步,专门用于 WCK‑RDQS 训练(CBT、WCK2CK‑Leveling),不是普通读写。

  • Write‑FIFO:PHY 把训练 pattern 写到 DRAM 内部 FIFO,不写入存储阵列 bank
  • Read‑FIFO:把 FIFO 里面存的 pattern 读回 DQ,不从存储阵列读数据
  • FIFO 深度 = 8;写满 8 次之后,第 9 次 Write‑FIFO 会覆盖 FIFO 第 1 个位置;读满 8 次 Read‑FIFO 指针绕回。
  • 每次执行 FIFO 命令,需要前置一条CAS(WS_WR=1) / CAS(WS_RD=1),用来复位 FIFO 指针

图51连续 Write‑FIFO(WCK‑RDQS 训练关闭,MR46 OP 2=0)图52连续 Read‑FIFO(WCK‑RDQS 训练关闭,MR46 OP 2=0) 图53连续 Write‑FIFO(WCK‑RDQS/Parity 训练打开 MR46 OP 2=1)

图54连续 Read‑FIFO(WCK‑RDQS/Parity 训练打开 MR46 OP 2=1)

图55Write‑FIFO → Read‑FIFO(FIFO 写之后切换 FIFO 读)

图 56 Read‑FIFO → Write‑FIFO(FIFO 读之后切换 FIFO 写)

① 前置准备

  1. 确保 SDRAM 处于 WCK2CK 同步状态(若同步失效,需先发送 CAS(WS_FS) 命令重建同步);

  2. 确认允许执行的命令:仅支持 CAS_WR、CAS_RD、CAS_FS、CAS_OFF、Read FIFO(RFF)、Write FIFO(WFF)、DES、NOP、刷新命令,以及特定 MRW 命令(FSP 配置、VRCG、VREF 调整等),禁止其他可能覆盖 FIFO 数据的命令;

  3. 重置 FIFO 指针(可选):通过电源初始化、RESET_n 断言、进入掉电/深度睡眠/自刷新掉电模式可重置指针。

②写入 FIFO(WFF 命令操作)

  1. 命令序列:先发送 WS_WR=1 的 CAS 命令,紧接着发送 WFF 命令,时序与普通 CAS+Write 命令一致;

  2. 数据容量:支持连续发送最多 8 个 WFF 命令,每个命令突发长度(BL)固定为 16,单引脚最多存储 128 个数据(BL16×8);

  3. 覆盖规则:超过 8 个连续 WFF 命令会覆盖最早写入的数据;若写入命令少于 8 个,未写入的 FIFO 地址存储未定义但有效的数据;

  4. 字节模式适配:X8 模式下,MR31 仅控制低字节 DQ7:0,MR32 仅控制高字节 DQ15:8,需按封装类型配置。

③读取 FIFO(RFF 命令操作)

  1. 命令序列:先发送 WS_RD=1 的 CAS 命令,紧接着发送 RFF 命令,时序与普通 CAS+Read 命令一致;

  2. 读出特性:RFF 操作对 FIFO 数据无破坏性,可连续读取直至数据被新 WFF 命令覆盖;

    eg:写入 3 个 WFF 命令后,连续读取时,前 3 次读出有效数据,后 5 次读出未定义数据,之后循环回到第 1 个有效数据;

  3. 验证逻辑:读出数据与预期图案对比,若不一致则调整 DQ 延迟,重复"写入-读出"流程直至匹配。

④训练结束条件

读写 FIFO 指针需满足同步公式: b = a + (n × c)

  • a :写入 FIFO 命令执行次数;

  • b :读取 FIFO 命令执行次数;

  • c :FIFO 深度(LPDDR5 固定为 8);

  • n :非负整数(≥0)

(七) Read/Write-based WCK-RDQS_t Training

1.功能定位

当 Write Link ECC 启用时(RDQS_t 引脚兼具奇偶校验功能),通过普通 Read/Write 命令而非 FIFO 命令,校准 WCK(写时钟)、RDQS_t(读选通/奇偶校验)与 DQ(数据)的时序同步,确保高速写入时的数据准确性。校准 WCK、RDQS_t 与 DQ 的时序关系,解决 Write Link ECC 启用时 RDQS_t 兼具奇偶校验功能导致的时序偏差。

2.训练逻辑

过"Write 命令写入数据 + Read 命令读出验证"的闭环,控制器根据读出数据与预期数据的一致性,调整时序参数,直至匹配。

3.适用场景

  • 必须启用 Write Link ECC(MR22 OP5:4=01B),且 WCK 频率 ≥1600MHz(与 Link ECC 适用频率一致);
  • 仅支持 LPDDR5 器件,需通过 MR26 OP6 判断是否支持(1B=支持,0B=不支持);

4.操作流程

①前置准备(必须执行)

  • 启用 Write DBI 功能:设置 MR3 OP7=1B(训练模式依赖 Write DBI 电路,此为强制配置);

  • 启用 Write Link ECC:设置 MR22 OP5:4=01B(RDQS_t 奇偶校验功能生效的前提);

  • 确保 SDRAM 处于 WCK2CK 同步状态(若同步失效,需先发送 CAS(WS_FS=1) 重建同步);

  • 确认无禁止命令执行:训练前需终止 FIFO、RDC 等禁止命令的操作。

②进入训练模式

  • 发送 MRW 命令:设置 MR26 OP7=1B(启用 Read/Write-based WCK-RDQS_t Training);

  • 等待时序 tRDQSTFE:延迟时间为 Max(35ns, 4nCK),等待后 SDRAM 进入训练就绪状态;

  • 期间约束:tRDQSTFE 等待期间,仅允许执行 DES 命令,禁止其他操作。

③数据写入流程(Write 阶段)

  • 激活 Bank:发送 ACT 命令激活目标 Bank(训练需在 Bank 激活状态下执行);

  • 发送写入命令:先发送 CAS(WS_WR=1) 命令,紧接着发送 Write 命令,时序与普通 Write 操作一致;

  • 数据处理规则:

    • SDRAM 采样 Write 操作时 RDQS_t 的电平状态;

    • 若 RDQS_t=1B:SDRAM 会反转 DQ 引脚输入的训练数据后,写入存储单元;

    • 若 RDQS_t=0B:SDRAM 直接将 DQ 输入数据写入存储单元,不反转;

  • 数据量无限制:可连续发送多个 Write 命令,训练图案长度不受约束。

④数据读出验证(Read 阶段)

  1. 发送读取命令:先发送 CAS(WS_RD=1) 命令,紧接着发送 Read 命令,时序与普通 Read 操作一致;

  2. 数据反馈:SDRAM 从存储单元读出数据(若写入时反转则读出时自动还原),通过 DQ 引脚输出;

  3. 时序调整:控制器对比读出数据与预期训练图案:

    • 若一致:当前时序校准有效;

    • 若不一致:调整 WCK 与 DQ 的相对延迟,重复"写入-读出"流程,直至数据匹配。

⑤退出训练模式

  • 发送 MRW 命令:设置 MR26 OP7=0B(禁用训练模式);

  • 等待时序 tRDQSTFX:延迟时间为 Max(35ns, 4nCK),等待后 SDRAM 恢复正常状态(RDQS_t 恢复奇偶校验功能);

  • 状态恢复:Write Link ECC 配置、MR43/MR44/MR45 中存储的 ECC 相关数据不会丢失,无需重新配置。

相关推荐
CodingCos3 年前
【ARM Coresight 系列文章 2.5 - Coresight 寄存器:PIDR0-PIDR7,CIDR0-CIDR3 介绍】
pidr0-pidr7·cidr0-cidr7·jedec·jep106·coresgiht