March C算法

(一) 存储器故障模型
常见的存储器(比如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的简写,即直接耦合故障。

(二) March C算法
March C算法是目前应用最为广泛的MBIST(Memory Built-In-Self-Test,存储器内建自测试)算法。论文《嵌入式存储器内建自测试方法》对March C算法的相关描述如下。

这里写图片描述

此外,很多芯片厂商都将March C算法做成了库,比如ST、Microchip、TI、NXP以及Infineon等。

  • 13
    点赞
  • 125
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
### 回答1: 基于MARCH C算法的MBIST设计是一种存储器测试技术,用于检测和诊断存储器中的故障。MARCH C是MARCH算法系列中的一种,用于测试带有存储单元(例如SRAM或DRAM)的存储器。 MARCH C算法通过在存储器中连续地写入、读取不同的数据模式,以及通过对存储单元进行不同的操作来检测故障。该算法通过以下四个步骤循环进行: 1. M序列(March Selective Write,选择性写入):将特定模式的数据写入存储器的各个存储单元,用于创造故障条件。 2. M序列(March Access,访问):读取存储器中的数据,以便检测可能存在的故障。 3. M序列(March Refresh,刷新):在存储器中执行定期的刷新操作,确保数据的正确性。 4. M序列(March Compare,比较):将存储器中读取的数据与之前写入的数据进行比较,以检测故障。 基于MARCH C算法的MBIST设计具有以下优点: 1. 高效性:MARCH C算法能够有效地探测出大多数常见存储器故障,并且具有较高的故障覆盖率。 2. 灵活性:MARCH C算法可以根据具体需求进行调整,例如在写入和读取的模式选择上可以进行变化,以满足特定测试要求。 3. 可控性:基于MARCH C算法的MBIST设计提供了对存储器测试过程的控制,可以根据需要进行自定义测试流程和参数调整。 4. 实用性:MARCH C算法已经广泛应用于各种存储器测试中,其性能和可靠性得到了验证。 总之,基于MARCH C算法的MBIST设计是一种能够有效测试和诊断存储器故障的方法,并具有高效性、灵活性和可控性等优点。 ### 回答2: 基于March C算法的MBIST设计是一种用于测试存储器功能和稳定性的方法。MBIST表示存储器内建自测试,它使用一套包含了一系列不同的March测试序列来检查存储器单元的读写操作。 March C算法是其中一种常用的测试序列,它极大地简化了测试过程。该算法通过将测试序列划分为四个步骤:March C1、March C2、March C3和March C4来完成测试。每个步骤都对存储器单元进行不同的读写操作,并在测试序列迭代过程中更新存储器单元的状态。 在March C1中,所有存储器单元被写入相同的非零数据。然后,March C2进行读取和写入操作,并检查读取值是否等于先前写入的非零数据。在March C3中,所有存储器单元都被写入相反的前一步骤的数据。最后,在March C4中进行最后一次读取和写入操作,并检查读取值是否等于原始非零数据。 基于March C算法的MBIST设计具有高效性和可靠性。它可以有效地检测存储器中的单元故障,例如单元失效、硬链接和阻塞等。此外,March C算法还能提供良好的噪声抵抗能力和误报率控制,从而提高了测试结果的准确性和可靠性。 总之,基于March C算法的MBIST设计可以帮助保证存储器的正确性和可靠性。它是一种经过验证的方法,广泛应用于芯片和系统集成电路的生产过程中。 ### 回答3: 基于MARCH C(Memory Array Repair and Checker for Caches)算法的MBIST(Memory Built-In Self-Test)设计是一种用于测试内存和缓存的自动化解决方案。MARCH C算法是一系列的测试模式,通过循环执行特定的步骤来识别和修复存储器芯片中的故障。 MBIST设计中的MARCH C算法通过一系列读取和写入操作来测试存储器芯片。首先,进行“M”模式,将数据写入存储单元。接下来,通过执行“A”模式来检查写入的数据是否正确存储。如果发现错误,则会使用“R”模式修复该存储单元。“C”模式用于检查存储器中的相邻单元是否受到干扰。最后,通过执行“H”模式来检查存储单元是否存在隐含错误。 基于MARCH C算法的MBIST设计具有以下优点。首先,它可以自动化执行测试,减少了人工操作的需求,提高了测试效率。其次,该算法可以快速识别和修复存储器中的错误,从而提高了存储器的可靠性和稳定性。此外,该算法具有良好的适应性,可以应用于各种类型的存储器和缓存。 在实际的设计中,基于MARCH C算法的MBIST需要通过适当的控制逻辑来实现测试模式的循环执行和故障的检测与修复。测试结果可以通过存储器芯片的输出端口进行读取,并可以与预期结果进行比较来判断存储器的工作状态。 总而言之,基于MARCH C算法的MBIST设计是一种高效、自动化的测试方案,用于检测和修复存储器和缓存的故障。它在现代计算机系统中起着至关重要的作用,确保存储器的可靠性和性能。
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值