MBIST

 

 

MarchC算法

 

(一) 存储器故障模型
常见的存储器(比如SRAM)故障模型包括:
- 固定型故障(也称为粘着故障,Stuck-At Faults,SAF:存储单元中的值固定为0(简记为SA0,Stuck-At-0)或者1(简记为SA1,Stuck-At-1),无法发生改变。固定型故障可以通过对待测单元写入0再读出0,然后写入1再读出1来进行检测。
- 跳变故障(也称为转换故障,Transition Faults,TF:存储单元中的值无法从0跳变到1(简记为TF(0->1)),或者从1跳变到0(简记为TF(1->0))。跳变故障可以通过写入1到0的跳变再读出0,然后写入0到1的跳变再读出1来进行检测。
- 耦合故障(Coupling Faults,CF:一个存储单元的值发生改变,导致另一个存储单元的值发生改变,具体又可以分为以下几种类型:1)反相耦合故障(CFin:inversion):耦合单元做与存储单元相反的状态变化;2)等幂耦合故障(CFid:idempotent):某个存储单元的值发生跳变时,耦合单元的值变为特定值(0或者1);3)状态耦合故障(CFst:state):某个存储单元的某个特定状态引起耦合单元跳变为某一状态(0或者1);4)桥接故障(BF:Bridging Faults):这类故障主要是由两个单元或多个单元之间的短路或者桥接引起的,通常由一个特定的值激发出故障行为。桥接耦合故障又分为“与桥连故障(ABF)”和“或桥连故障(OBF)”,其行为分别类似于“与逻辑”和“或逻辑”;5)动态耦合故障(Dynamic Coupling Fault,CFdyn)。耦合故障可以通过先升序对所有存储单元进行写读操作,然后再降序对所有存储单元进行写读操作的方法进行故障检测
- 相邻图形敏感故障(Neighborhood Pattern Sensitive Faults,NPSF):一个存储单元的内容或者改变这个单元内容的能力受另一个存储单元内容的影响。
- 地址译码故障(Address Decoder Faults,ADF或AF):这种故障主要发生在地址译码逻辑中,地址与存储单元是一一对应的,一旦地址译码逻辑发生故障,将会出现以下四种故障类型中的一种或多种:1)对于给定的地址,不存在相对应的存储单元;2)对于一个存储单元,没有相对应的物理地址;3)对于给定的地址,可以访问多个固定的存储单元;4)对于一个存储单元,可以通过多个地址访问。

 

需要指出的是,在很多文献中,经常会看到DC Faults,查了很多资料,都没查到这里的DC是什么意思,一些资料上只说是直接故障或者短路故障,个人揣测这里的DC应该是Direct Coupling的简写,即直接耦合故障。

 

 

MBIST的框架

总体上就是分为三块:一是向量生成电路(在test 模式下生产需要的地址和数据)

                                  二是控制电路(通常是一个状态机,通过状态机实现:写0读0比较,写1读1比较,再写0读0比较)

                                  三就是比较电路,在状态机对应的状态下,进行比较操作。

这里的MUX数据选择器,就是通过控制电路产生的控制信号实现test信号和function信号的选择(信号包括地址信号和data信号)

 

这里,我们用的响应分析器是比较器。

 

 

 

几种测试方式相比较,bist的特点:

 

 

 

 

07-18
### MBIST技术原理及应用 MBIST(Memory Built-In Self-Test)是一种嵌入在芯片内部的自测试机制,专门用于检测存储器的功能缺陷。其核心思想是在芯片设计阶段集成专用的硬件电路,用于生成和施加测试向量,并分析测试响应,从而实现对存储器的自动测试[^1]。该技术通过减少对外部测试设备的依赖,显著提升了生产效率并降低了测试成本。 MBIST的基本工作流程包括:测试模式启动、测试向量生成、故障检测与诊断、以及测试结果分析。在测试过程中,MBIST控制器会根据预设的测试算法生成地址、控制信号和数据,依次访问存储器中的每一个单元,并比较读出的数据与预期值是否一致,以判断是否存在故障[^1]。 由于MBIST使用系统时钟进行“全速”测试,能够覆盖更多实际运行中可能出现的缺陷类型,同时减少了测试时间[^2]。这种能力使得它特别适用于高频率或高性能存储器的测试,例如高速缓存(Cache)、寄存器文件(Register Files)等。 尽管MBIST技术会增加一定的芯片面积并可能影响芯片的时序特性,但随着存储器容量的不断增长,这部分额外开销所占比例逐渐减小。而且,MBIST具备多项显著优势,如支持可测性设计自动化、提供高测试质量与低测试成本、以及允许使用低成本测试设备完成初始化测试向量加载[^2]。 此外,MBIST还可以为每个存储单元提供自诊断和自修复功能,进一步提升系统的可靠性。这一特性对于容错系统设计具有重要意义,尤其在航空航天、汽车电子等高可靠性要求的应用场景中发挥着关键作用。 ```python # 示例代码:模拟MBIST测试过程中的一个简单测试算法 def march_test(memory_array): """ 模拟March测试算法,用于检测存储器中的常见故障类型。 :param memory_array: 表示存储器内容的列表 :return: 测试结果,True表示无故障,False表示存在故障 """ for i in range(len(memory_array)): # 写入0 memory_array[i] = 0 # 读取并验证 if memory_array[i] != 0: return False for i in range(len(memory_array)): # 写入1 memory_array[i] = 1 # 读取并验证 if memory_array[i] != 1: return False return True # 使用示例 memory_size = 16 memory = [0] * memory_size test_passed = march_test(memory) print(f"Test Passed: {test_passed}") ``` MBIST广泛应用于现代SoC(System on Chip)设计中,尤其是在需要复杂存储结构的处理器、图形芯片、通信模块等领域。其不仅提高了测试效率,还增强了产品的市场竞争力。
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值