学习目标: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 等信号引脚注入微小负电流,让上保护二极管正向导通,测量引脚的二极管正向压降
②测试目的
- 检测引脚开路:bonding 断线、探针接触不良、PCB 开路 → 测不到二极管压降;
- 检测引脚短路:引脚和 VDD/VSS/ 其他引脚短路,压降偏离 JEDEC 允许区间;
- 初步筛 ESD 损坏:ESD 击穿后保护二极管损坏,压降异常;
- 属于直流接触测试,发生在 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 物理测试过程
- 将被测芯片电源 VDD/VDDQ 上电,DRAM 内部电路不激活,不执行 DDR 命令;
- ATE 的 PMU 给每一根输入引脚分别强制施加规定的高电平 VIH,测量流入引脚的电流 → IIH;
- 再给引脚强制施加规定的低电平 VIL,测量流出引脚的电流 → IIL;
- 将实测电流与 JEDEC 规格的最大 / 最小漏电流窗口对比,判定 Pass/Fail。
③主要检测故障
- 引脚和电源 / 地发生漏电、微弱短路;
- 探针卡绝缘漏电、探针接触不良;
- 芯片输入缓冲损坏,静态漏电流超标;
- 封装 / 邦定带来的异常漏电。
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 典型测试内容
- VOH:输出高电平电压;输出引脚驱动为逻辑 1,测输出高电平电压
- VOL:输出低电平电压;输出引脚驱动为逻辑 0,测输出低电平电压
- 输出引脚的驱动能力,带负载条件下看电平是否满足 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 出错。
③测试步骤
- ATE 主机通过 LPDDR5 标准 JEDEC 命令,触发 DRAM 内部 WCK2CK 训练流程;
- DRAM 内部调整 WCK 相位,反馈训练状态;
- ATE 读取 DRAM 训练完成状态,判断训练是否成功收敛;
- 失败则按配置最多重试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 校准)作用
- DRAM 送出训练 Pattern;
- ATE / 控制器采样 DQ、DQS;
- 逐 bit 调整 DQ 相对于 DQS 的采样相位,找到每一根 DQ 的有效数据眼窗口;
- 将最优相位配置写入 DRAM 对应的模式寄存器 MR;
- 保证后续正常读操作时,每一路 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
- BL16
- 跨不同 BG:BL/n = 2 CK
- 相同 BG:BL/n = 4 CK
- 一笔 BL16 数据传输:8 WCK = 2 CK
- 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 接口电源 |
|---|
①斜坡先后顺序
- VDD1 ramp 完成:同时或早于 VDD2H
- VDD2H ramp 完成:同时或早于 VDD2L
- VDD2L ramp 完成:同时或早于 VDDQ
②斜坡压差条件(抑制 ESD 二极管导通、Latch‑up 闩锁)
- VDD1 > VDD2H
- VDD2H ≥ VDD2L
- VDD2L > VDDQ − 200 mV
目的:防止芯片内部 ESD 二极管正向导通、闩锁 Latch‑up 损坏器件;稳态工作不适用 200mV 压差约束。
③Ta~Tb 引脚强制条件
- RESET_n ≤ 0.2 × VDD2H
- 全部输入引脚电压范围 VSS ~ VDDQ,禁止超电源轨
- CS_n 维持 ViLPD Max 低电平,规避虚假 CA 命令采样
- 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)。
②进入流程
-
配置MR20 OP3:2=00B(CBT需差分WCK输入);
-
发送MRW-1+MRW-2命令,设置MR16 OP5:4选择CBT模式(对应FSPy);
-
进入前WCK需为静态电平(WCK_t=低,WCK_c=高),DQ7需为低;
-
满足tCBTWCKPRE_static后,WCK可开始翻转,且需满足tWCK2DQ7H后驱动DQ7为高;
-
器件通过WCK采样到DQ7高电平后,自动切换至MR16 OP5:4指定的FSP寄存器;
-
满足tCAENT后,可通过CA总线输入训练图案。
③单rank系统训练
-
配置MR16 OP1:0=FSP-WRy,启用FSPy寄存器读写;
-
向FSPy写入高频运行参数;
-
设置MR16 OP5:4选择CBTy;
-
发送MRW-1+MRW-2进入CBT,驱动DQ7高,切换CK至高频;
-
执行CS和CA训练(CA图案通过DQ异步输出验证);
-
驱动DQ7低,切换CK至低频,发送MRW退出CBT;
-
向FSPy写入训练后的值;
-
切换至FSP-OPy,启用ODT,切换CK至高频,完成训练。
④ 多rank系统训练
-
为两个rank配置FSP-WRy并写入高频参数;
-
先训练带终端电阻的rank:进入CBT→高频训练→退出CBT→写入训练值;
-
进入无终端电阻rank的CBT(保持DQ7低);
-
带终端电阻的rank切换至FSP-OPy(启用ODT),切换CK至高频;
-
驱动无终端电阻rank的DQ7高,执行训练;
-
带终端电阻的rank切换回FSP-OPx(禁用ODT);
-
无终端电阻rank退出CBT,写入训练值;
-
两个rank均切换至FSP-OPy,启用ODT,完成训练。
⑤退出流程
-
切换CK频率至低频(FSPx对应的频率);
-
驱动DQ7为低,满足tDQ7LWCK + tVREFCA_LONG后,发送MRW命令设置MR16 OP5:4=00B;
-
满足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。
②进入流程
-
同Mode1步骤1-4(配置MR20 OP3:2=00B、发送MRW进入CBT、WCK静态电平);
-
器件采样DQ7高电平后切换至目标FSP寄存器;
-
满足tDQ7HWCK + tDQ72DQ后,通过DQ6:0输入VREF(CA)调整值,DMI0置高;
-
器件通过WCK采样DMI0上升沿,捕获DQ6:0值,更新VREF(CA);
-
等待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.完整操作流程


① 前置准备
-
配置 CKR 模式为 2:1(MR18 OP7=1B),确保 WCK 频率可支持 CK 的 2 倍;
-
驱动 WCK_t=低电平、WCK_c=高电平,保持稳定状态。
② 进入校准模式
-
发送 MRW-1 + MRW-2 命令,设置 MR18 OP6=1B,进入 WCK2CK Leveling 模式;
-
等待时序 tWLMRD(最小值=Max(14ns, 5nCK))后,开始驱动 WCK 翻转;
-
WCK 必须精确翻转 7.5 个周期(tWCKTGGL=7.5tWCK),确保 SDRAM 稳定捕获相位(避免首个上升沿不稳定导致的误判)。
③相位检测与反馈
-
SDRAM 内部对比 CK 与 WCK 的上升沿相位,在 WCK 翻转期间通过所有 DQ 引脚异步输出反馈结果:
-
DQ=低电平:WCK 相位早于 CK 相位;
-
DQ=高电平:WCK 相位晚于 CK 相位;
-
-
控制器需在满足 tWLO(输出延迟,最小值=0ns,最大值=Max(2tCK, 20ns))后,采样 DQ 反馈结果。
④ 调整 WCK 延迟并重复校准
-
控制器仅能在 WCK_t=低电平、WCK_c=高电平时调整 WCK 延迟(避免 WCK 信号出现毛刺);
-
按反馈结果增量/减量调整延迟,重复"WCK 翻转 7.5 周期→采样反馈"的流程,直至 DQ 反馈表示相位对齐(或达到预设最优裕量);
-
校准搜索范围需符合 tWCK2CK_Leveling 参数要求(Table32 详述)。
⑤退出校准模式
-
发送 MRW-1 + MRW-2 命令,设置 MR18 OP6=0B,退出校准模式;
-
等待 tWLWCKOFF(最小值=Max(14ns, 5nCK))后停止 WCK 翻转,等待 tWLDQOFF(最大值=Max(14ns, 5nCK))后 DQ 恢复正常状态;
-
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)功能)。
② 校准执行步骤
-
确保器件处于 WCK2CK 同步状态(若同步关闭,需先发送 CAS(WS_RD) 或 CAS(WS_FS) 命令建立同步);
-
发送 RDC 命令,无需额外 CAS(WS_RD) 命令(同步状态保持时);
-
器件在当前读延迟(RL)后,输出 16 位图案:先输出 MR33 内容,再输出 MR34 内容;
-
控制器采样 DQ/DMI 引脚输出,与预期图案对比,验证读路径完整性;
-
支持连续触发:按 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 写)

① 前置准备
-
确保 SDRAM 处于 WCK2CK 同步状态(若同步失效,需先发送 CAS(WS_FS) 命令重建同步);
-
确认允许执行的命令:仅支持 CAS_WR、CAS_RD、CAS_FS、CAS_OFF、Read FIFO(RFF)、Write FIFO(WFF)、DES、NOP、刷新命令,以及特定 MRW 命令(FSP 配置、VRCG、VREF 调整等),禁止其他可能覆盖 FIFO 数据的命令;
-
重置 FIFO 指针(可选):通过电源初始化、RESET_n 断言、进入掉电/深度睡眠/自刷新掉电模式可重置指针。
②写入 FIFO(WFF 命令操作)
-
命令序列:先发送 WS_WR=1 的 CAS 命令,紧接着发送 WFF 命令,时序与普通 CAS+Write 命令一致;
-
数据容量:支持连续发送最多 8 个 WFF 命令,每个命令突发长度(BL)固定为 16,单引脚最多存储 128 个数据(BL16×8);
-
覆盖规则:超过 8 个连续 WFF 命令会覆盖最早写入的数据;若写入命令少于 8 个,未写入的 FIFO 地址存储未定义但有效的数据;
-
字节模式适配:X8 模式下,MR31 仅控制低字节 DQ7:0,MR32 仅控制高字节 DQ15:8,需按封装类型配置。
③读取 FIFO(RFF 命令操作)
-
命令序列:先发送 WS_RD=1 的 CAS 命令,紧接着发送 RFF 命令,时序与普通 CAS+Read 命令一致;
-
读出特性:RFF 操作对 FIFO 数据无破坏性,可连续读取直至数据被新 WFF 命令覆盖;
eg:写入 3 个 WFF 命令后,连续读取时,前 3 次读出有效数据,后 5 次读出未定义数据,之后循环回到第 1 个有效数据;
-
验证逻辑:读出数据与预期图案对比,若不一致则调整 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 阶段)
-
发送读取命令:先发送 CAS(WS_RD=1) 命令,紧接着发送 Read 命令,时序与普通 Read 操作一致;
-
数据反馈:SDRAM 从存储单元读出数据(若写入时反转则读出时自动还原),通过 DQ 引脚输出;
-
时序调整:控制器对比读出数据与预期训练图案:
-
若一致:当前时序校准有效;
-
若不一致:调整 WCK 与 DQ 的相对延迟,重复"写入-读出"流程,直至数据匹配。
-
⑤退出训练模式
-
发送 MRW 命令:设置 MR26 OP7=0B(禁用训练模式);
-
等待时序 tRDQSTFX:延迟时间为 Max(35ns, 4nCK),等待后 SDRAM 恢复正常状态(RDQS_t 恢复奇偶校验功能);
-
状态恢复:Write Link ECC 配置、MR43/MR44/MR45 中存储的 ECC 相关数据不会丢失,无需重新配置。