ZHCAG86 July 2026 AWR2944 , AWR2944P
PBIST(Programmable Built-In Self-Test)是一个专用协处理器,具有针对存储器测试的专用指令集。PBIST 从片上 ROM 读取测试算法和存储器配置信息,通过专用数据路径直接对目标存储器执行测试,无需 CPU 干预。
相比 CPU 运行软件测试,PBIST 的优势在于:专用路径绕过 CPU 的访问路径、专用指令集更高效、代码体积更小、硬件面积开销更低。AWR2944 包含两个 PBIST 实例:
推荐的测试算法为 March13N,可检测地址译码故障、Stuck-At 故障、耦合故障、状态耦合故障、参数故障、写恢复故障、读/写逻辑故障等。
PBIST 测试流程(以 TOP PBIST 为例):
| 步骤 | 操作 | 说明 |
|---|---|---|
| 1 | SDL_TEST_dplInit | 初始化 DPL |
| 2 | SDL_PBIST_configNeg | 执行负测试,配置错误算法参数验证 PBIST 检测能力 |
| 3 | 禁用 Cache | 禁用 L1P/L1D Cache,防止干扰测试结果 |
| 4 | SDL_PBIST_selfTest | 执行正常 PBIST,运行 March 算法检测存储器故障 |
| 5 | 等待完成/超时 | 等待 PBIST 完成中断或超时 |
| 6 | 获取结果 | 读取测试状态(通过/失败) |
注意: PBIST 期间需禁用 Cache,测试耗时较长。
| 关键函数 | 功能 |
|---|---|
| SDL_PBIST_selfTest | 执行 PBIST 自测 |
| SDL_PBIST_configNeg | PBIST 负测试配置(故障注入) |