存储器内建自测试
Memory Built-In Self-Test(MBIST)
由片内测试控制与响应检查结构执行规定的阵列读写序列,检查所针对的存储器故障。
速览
约 1 分钟存储器自测不只是把阵列读一遍。测试控制器要选择地址、写入数据背景、按算法读写并比较响应,考虑邻近单元与访问次序的影响。测试通过只对应实际执行的算法;若测试覆盖原内容,必须先安排数据使用边界。
系统理解
约 2 分钟典型结构在地址、数据和控制入口选择功能或测试通路,由状态机执行序列。不同背景与遍历顺序使单元经历不同条件;响应可直接比较或按规定压缩。需要分别理解访问次数、算法故障范围、信息压缩风险和冗余修复,不把一个PASS信号推广为全部功能与可靠性已获保证。
先理解SRAM和可测性设计,再讨论片内阵列访问、算法与响应;通过边界扫描等接口可组织自测控制,但接口与算法分工不同。
关键参数
| 参数 | 单位 | 含义 |
|---|---|---|
| 被测地址数与访问宽度 | 1 | 决定地址遍历及每次访问涉及的数据范围 |
| 算法与数据背景 | — | 规定每地址动作及相邻单元状态安排 |
| 访问周期 | s | 影响实际自测时间,可能含等待和其他控制 |
常见误区
- 扫描链能自动覆盖存储器全部阵列故障。
- 最终读到正确值说明测试序列和背景都充分。
- 有MBIST就一定有备用行自修复。
工程深入
12 条结论 · 1 道例题把测试结构与其真正能支持的访问对象、执行算法和结果边界区分,帮助读懂测试计划而不把接口或PASS标记当作全面保证。
存储器测试结构
数据背景、地址与响应
March测试以规定方向遍历地址并组合每地址操作
March类测试把递增或递减地址遍历与每个地址上的读写动作组合成若干阶段。不同March算法的阶段与故障目标不同,不能把任意一次写遍和读遍都称为同一种March测试。3
成立条件 此处引用Microchip的March C/March C-实现说明作为具体示例,不规定MBIST必须使用该软件例程。;算法名、字访问实现与所针对故障范围应一并说明。
响应分析与工程边界
签名压缩需要声明信息损失和混叠风险
把长响应压成短签名能减少需要保存和传出的数据,但不同响应序列可能映射为相同签名;签名匹配不是逐位完全相同的逻辑证明。1
成立条件 针对使用压缩分析器的方案,直接逐位比较不属于这一压缩情形。
测试时间估计应从明确的存储访问次数开始
若一个教学序列依次执行全阵列写0、读0、写1、读1,并且每个地址每阶段只访问一次,则N个地址共需要4N次访问。时间还取决于每次访问的周期和额外控制开销。12
- Nop
- 所述四阶段教学序列的总存储访问次数,单位 1
- N
- 被测地址数,单位 1
- facc
- 每周期一次访问假设下的访问时钟频率,单位 Hz
- Tideal
- 忽略其他开销后的理想序列时长,单位 s
成立条件 本序列只用于访问计数,不宣称是某种完整March算法或能覆盖全部故障。;下面时间式假设每次访问恰用一个频率facc的周期,忽略等待、比较流水、复位与其他控制。;公式由规定的四阶段逐地址计数推导;教材提供读写测试结构和背景的依据。
例题:动手算一次教学假设,可复算
教学假设:4096个可访问字地址,执行写0、读0、写1、读1四阶段,每个地址每阶段一次访问,以50.0MHz且每次访问一周期估算时间。
已知
- N=4096个字地址;四阶段各遍历一次。
- facc=50.0×10⁶Hz,每次访问一周期;数值不是存储宏规格。
步骤
- Nop = 4×4096 = 16384 次访问,按地址数和四个阶段计数,不再乘字中位数。
- Tideal = 16384/(50.0×10⁶) = 0.00032768 s = 327.68 μs,先转为秒,再转为微秒。
字访问一次可同时涉及多位,访问时间模型必须说明计数单位。
不能外推到 不含额外等待和控制,不代表March完备覆盖,也不能直接当作实际MBIST时长。
检测出失效与修复阵列是不同的动作
MBIST可以提供某种失效检测结果;要用备用行或其他冗余替代故障部分,还需要相应的定位、配置与冗余结构。不能把自测功能存在直接等同于已经具有自修复能力。2
成立条件 替换能力和备用资源取决于具体存储设计;本条不规定通用修复流程。
出处
3 份资料 · 21 处引用- 1
数字集成电路:电路、系统与设计(第2版)
- H.3.5、图H.14;;PDF p.564,第 542 页 支持:存储器内建自测试在片内组织阵列读写检查
- H.3.2、图H.3,与PDF564/542图H.14;;PDF p.558,第 536 页 支持:测试访问需要接管地址、数据和读写控制
- H.3.5;;PDF p.564,第 542 页 支持:状态机把地址顺序与每地址读写动作组合成算法;不同数据背景用于暴露不同状态下的行为;邻近单元影响要求考虑图案与访问次序;会覆盖原内容的读写测试必须安排数据使用边界
- H.3.5、图H.10,与PDF564/542图H.14;;PDF p.562,第 540 页 支持:已知期望值把读出数据转为可判定响应
- H.3.5、图H.12–H.13;;PDF p.563,第 541 页 支持:签名压缩需要声明信息损失和混叠风险
- H.3.5、图H.14;教学序列计数推导;;PDF p.564,第 542 页 支持:测试时间估计应从明确的存储访问次数开始
- H.3.5,与PDF567/545 H.4.3对照;;PDF p.564,第 542 页 支持:自测通过只对应已执行的算法和观察规则
- 2
CMOS超大规模集成电路设计(第4版)
- §15.6.3.2;;PDF p.1112,第 583 页 支持:存储器内建自测试在片内组织阵列读写检查;测试访问需要接管地址、数据和读写控制;状态机把地址顺序与每地址读写动作组合成算法;已知期望值把读出数据转为可判定响应;不同数据背景用于暴露不同状态下的行为;邻近单元影响要求考虑图案与访问次序;会覆盖原内容的读写测试必须安排数据使用边界
- §15.6.3.2;教学序列计数推导;;PDF p.1112,第 583 页 支持:测试时间估计应从明确的存储访问次数开始
- §15.6.3.2,与PDF1098/578 §15.5.6对照;;PDF p.1112,第 583 页 支持:自测通过只对应已执行的算法和观察规则
- §15.6.5.2,与PDF1112/583 §15.6.3.2对照;;PDF p.1114,第 585 页 支持:检测出失效与修复阵列是不同的动作
- 3
Class B Software Library: SSL_MarchCRamTest.c
- SSL_MarchCRamTest.c,RAMtestMarchC及ReadZeroWriteOne/ReadOneWriteZero函数;源码行192–381;网页无固定印刷/PDF页,核对2026-10-22 支持:March测试以规定方向遍历地址并组合每地址操作
本页结论均已对照来源核对,其中 3 条目前只有一个来源,尚未经过同行专家审阅。发现不准确的地方,请告诉我们。
报告这一页的问题