pub手册4.6.5,描述了如何执行 BIST(内建自检) 测试的具体步骤,包括 DDR PHY 的测试初始化、配置和错误检查
BIST 示例测试序列
下面是每个步骤的详细说明:
1. 配置复位后 PHY 初始化
- 操作:在配置复位解除后,系统需要等待 PHY 完成初始化。
- 方法:通过轮询 PGSR0.IDONE 位,等到它的值变为‘1’,表示初始化完成。
- 注意:在等待 PHY 初始化时,可以同时配置其他 PUB(PHY 微控制器)寄存器。
- 原因:此步骤确保 PHY 在测试前已经准备好,类似于正常运行模式下的初始化过程。
2. 选择 DRAM 模式或 BIST 循环回路模式
DRAM 模式:
- 操作:向
PIR
(PHY 初始化寄存器)写入以下设置:- 设置 PIR.INIT = 1,表示初始化 PHY。
- 设置 PIR.DRAMRST = 1(仅 DDR3)以重置 DRAM。
- 设置 PIR.DRAMINIT = 1 来初始化 DRAM。
- 操作:向
循环回路模式(Loopback)
- 操作:如果不需要 DRAM 模式,只需设置 PIR.INIT = 1 和 PIR.CTLDINIT = 1,表示跳过 DRAM 初始化。
原因:这一步确保选择正确的测试模式(DRAM 模式或循环回路模式)。
3. 等待 PHY 初始化完成
- 操作:等待 PHY 完成初始化,或者通过轮询 PGSR0.IDONE 位来确认初始化是否完成。
- 原因:确保 PHY 在开始 BIST 测试之前已经完全初始化。
4. 配置读 DQS 90 度偏移和门控设置
操作:可选择性地配置在 BIST 运行期间如何控制读 DQS(数据使能信号)的 90 度偏移和门控设置,通过写入
PGCR1.LBDQSS
和PGCR1.LBGDQS
。- 推荐:保持默认值,这样可以确保 DQS 信号正确对齐,并且在 BIST 循环回路测试期间 DQS 门控始终开启。
选择回路模式:在配置PGCR1寄存器时,还需要通过写入
PGCR1.IOLB
选择使用 pad-side还是 core-side回路。- 推荐:使用 core-side 回路模式。
原因:确保数据在 BIST 期间正确对齐,避免数据捕获时的对齐问题。
5. 设置 BIST 生成的测试模式数量
操作:通过向 BISTWCR.BWNCT写入,设置要生成的模式数量。
- 默认值:默认值 32 个模式通常足以覆盖大部分测试。
原因:这一步是可选的,但可以根据需要配置测试模式的数量。
6. 确保地址/命令和I/O 接收器被供电
- 操作:如果计划使用 pad-side 回路,需要确保地址/命令 I/O 接收器已供电,可以通过向 ACIOCR0 写入 0x20000000 来确保这一点。
- 原因:地址和命令信号默认是关闭的,这一步确保它们在测试前被供电。
7. 重置 PHY FIFO
操作:通过写入
PGCR0.PHYFRST = 0
来重置 PHY FIFO。- 等待:等待至少 8 个 cfg_clk 周期,以确保 FIFO 完全重置。
- 清除复位:通过写入
PGCR0.PHYFRST
= 1 清除复位状态,准备好进行测试。
原因:确保 FIFO 中没有残留的坏数据或错误状态,避免影响 BIST 测试。
8. 触发 BIST 运行
操作:通过写入 3’b001到 BISTRR.BINST启动 BIST 测试。
其他配置:在触发 BIST 时,还需要配置 BISTRR 寄存器中的其他字段,如:
- 选择 循环回路模式 或 DRAM 模式。
启用 地址/命令通道 或 字节通道。
- 启用 数据掩码。
选择用于测试的具体 字节通道。
原因:这一步启动了 BIST 测试,并且确保其他配置正确设置。
9. 等待 BIST 完成
- 操作:通过轮询 BISTSR.BDONE 位,等待 BIST 测试完成,状态为 ‘1’。
- 原因:这一步确认 BIST 测试已成功完成。
10. 检查是否有错误
操作:通过读取 BISTWER.ACWER地址/命令通道错误)或 BISTWER.DXWER字节通道错误)来检查是否有错误。
- 如果没有错误,测试完成。
如果发现错误,进一步读取 BIST 错误寄存器,查看具体哪些信号发生了错误。
- 可选地,使用 BIST 调试模式寄存器 来帮助定位故障。
原因:确保在 BIST 测试中发现并处理任何错误。
关键操作总结:
- 初始化 PHY 并配置相关寄存器。
- 选择测试模式(循环回路模式或 DRAM 模式)。
- 触发 BIST 测试,等待完成并检查错误。
- 使用 BIST 调试寄存器 定位并调试可能的错误。
这些步骤确保 DDR PHY 的 BIST 测试能够正确运行,并在发现问题时提供调试信息。这为测试人员提供了一种灵活的方式来验证 DDR PHY 的功能,确保其在生产中的可靠性。
本文链接: https://talent-tudou.github.io/2024/11/05/DDR/PUB Architecture-BIST Example Test Sequence/
版权声明: 本作品采用 CC BY-NC-SA 4.0 进行许可。转载请注明出处!