MBIST:用于嵌入式存储器的可测试设计技术
MBist技术可以自动实现存储器单元或阵列的RTL级内建自测试电路,MBIST的EDA工具支持多种测试算法的自动实现,可针对一个或多个内嵌存储器自动创建BIST逻辑,并完成BIST逻辑与存储器的连接,此外MBIST结构中还可包括故障自动诊断功能,方便了故障定位和开发针对性测试向量。本文将介绍用于嵌入式存储器设计的MBIST技术,并对其电路结构进行讨论。
随着半导体工艺尺寸不断缩小,IC设计的规模越来越大,高度复杂的IC产品正面临着高可靠性、高质量、低成本以及更短的产品上市周期等日益严峻的挑战。一方面随着半导体工艺尺寸的缩小,嵌入式存储器可能存在的缺陷类型越来越多;另一方面,随着IC产品的复杂度的提高,ROM、RAM、EEPROM在IC产品中的比重越来越大。
嵌入式存储器的可测试设计技术包括直接测试、用嵌入式CPU进行测试和内建自测试技术(MBIST)。
直接测试方法利用自动测试设备进行测试,可以轻易实现多种高质量测试算法,但是这种方法存在着一些不足之处,
- 在ATE机上实现的算法越复杂,对ATE机存储器的容量要求越高,测试的费用也就越高;
- 在ATE机上不易实现对嵌入式存储器的“全速”测试,测试时钟的工作频率越高,测试成本越高;
- 由于芯片外围管脚的限制,对芯片内大容量嵌入式存储器进行直接测试往往不大现实。
利用嵌入式CPU进行测试的好处在于不需要对设计硬件做任何修改,而且测试算法的修改与实现可以通过灵活修改CPU软件程序完成。但是这种方法也存在缺点,首先是设计中的CPU并没有和所有的嵌入式存储器直接相连,其次编写或修改软件程序实现测试算法需要耗费大量的人力,另外这种方法还很难对存储CPU程序的存储器进行测试。
MBIST技术的缺点是增加了芯片的面积并有可能影响芯片的时序特性,然而,随着存储器容量的增加,这种方法所增加的芯片面积所占的比例相对很小,而且这种测试技术还有很多其它技术优势。
- 首先它可以实现可测性设计的自动化,自动实现通用存储器测试算法,达到高测试质量、低测试成本的目的;
- 其次MBIST电路可以利用系统时钟进行“全速”测试,从而覆盖更多生成缺陷,减少测试时间;
- 最后它可以针对每一个存储单元提供自诊断和自修复功能。此外MBIST的初始化测试向量可以在很低成本的测试设备上进行。
所以,从高测试质量、低测试成本的角度考虑,MBIST是目前嵌入式存储器测试设计的主流技术。
MBIST概述
BIST是一种结构性DFT技术,它将器件的测试结构置于该器件内部。BIST结构可以测试多种类型的电路,包括随机逻辑器件和规整的电路结构如数据通道、存储器等。BIST电路视其应用对象不同其实现存在显著差异,但任何类型的BIST都有共同的用途。BIST结构可以针对目标电路自动生成各种测试向量,并对输出响应进行比较。目标电路的类型也呈现多样化特征,它可以是整个芯片设计,也可以是设计模块或设计模块中的某个结构。此外,测试向量生成以及输出比较电路也可能存在差异。
大型、复杂电路通常包含多处难以测试的逻辑部分,即使就可测试性最好的大型设计而言,也同样需要耗费大量测试生成时间、占用大量的ATE存储器和ATE测试时间,所有这些都是非常昂贵,但对于采用ATPG方法进行测试而言又是必需的。另外,由于存储器缺陷类型不同于一般逻辑的缺陷类型,存储器在较大规模设计之中层次较深,ATPG通常不能提供完备的存储器测试解决方案,而MBIST技术则可以解决这些问题。
BIST能够在不牺牲检测质量的前提下提供一种存储器测试解决方案,在很多情况下,BIST结构可以彻底消除或最大限度减少对外部测试向量生成(以及ATE机存储器容量)和测试应用时间的需要。设计人员可以在某设计内部执行MBIST电路,并由于MBIST电路邻近被测试的存储器而轻易实现全速测试,设计人员也可以从该设计的较高层次运行MBIST流程。
MBIST电路以某项设计中的RAM和ROM模型为目标。前面已经提到,由于存储器缺陷类型不同于一般逻辑的缺陷类型,所以检测RAM和ROM不同于检测随机逻辑,MBIST针对检测RAM和ROM共有的缺陷类型采用了有效的电路和算法。MBIST电路还可以基于各种算法生成多种测试向量,每种测试向量都着重测试一种特定的电路类型或错误类型。比较电路具有多种独特的实现方式,其中包括比较器和标签分析器。
存储器电路模型一般由三个基本模块组成,分别是地址译码器、读/写控制逻辑以及存储单元阵列。
MBIST架构
MBIST通常采用一种或多种算法为测试存储器一种或多种缺陷类型而特别设计,MBIST电路包括测试向量产生电路、BIST控制电路、响应分析器三部分。
测试向量产生电路可生成多种测试向量,不同的测试算法实现的电路所产生的测试向量内容也不同;BIST控制电路通常由状态机实现,控制BIST对存储器的读写操作,响应分析器既可以用比较器实现,也可以用压缩器多输入移位寄存器(MISR)电路实现,它对照已知正常的存储器响应,比较实际存储器模型响应并检测器件错误。
采用比较器实现的MBIST电路如图3所示,该电路提供两个标志输出信号tst_done和fail_h通知系统测试进程的状态和结果。tst_done在测试结束时被置为有效状态,在测试过程中发现任何错误,fail_h信号即置为有效并保持到测试结束。采用压缩器实现的MBIST电路如图4所示,该电路提供了基于MISR的比较技术,测试结束后可以输出压缩后的标签寄存器结果。
通常情况下,MBIST电路不仅可以筛选出失效的器件,还能够自动分析失效的原因,此时测试数据同时被用来分析定位存储器失效的具体地址空间。
此外,特殊的MBIST电路还可以提供自诊断和自修复功能。在MBIST电路中引入内建自分析模块,BIST模块根据失效的数据和地址等信息输出相应的控制信号R2R1R0,把系统对存储器失效地址空间的读写操作指向用于自修复冗余设计。
MBIST电路通常还包括BIST Collar模块,BIST Collar模块的内容包括流水处理电路、扫描旁路电路、多路复用器电路和MISR电路等,其中扫描旁路电路最为常用(图5)。
MBIST实现与EDA工具
MBIST工具允许设计人员将更多时间花在设计工作中,而不是在有关测试的问题上忧心忡忡。工具已经内建了开发存储器测试和管理BIST电路所必需的知识,其生成的故障诊断电路允许设计人员对故障数据进行识别和分析。它可以产生相应的testbench,方便对MBIST外围电路逻辑开展验证,还可产生相应的自动化脚本文件以有助于逻辑综合的自动化运行。此外对任何EDA工具来说,要想有效工作就必须能够适应设计者现有的设计流程,遵循各种行业标准。
MBISTArchitect是Mentor公司提供的MBIST自动化EDA工具。它可以针对一个或多个嵌入式存储器开发嵌入式测试电路,自动实现存储器单元或阵列的RTL级内建自测试电路。它支持多种测试算法,可对一个或多个内嵌存储器自动创建BIST逻辑,并完成BIST逻辑与存储器的连接,另外还能在多个存储器之间共享BIST控制器,实现并行测试,从而缩短测试时间并节约芯片面积。MBIST结构中还可以包括故障的自动诊断功能,方便了故障定位和开发针对性的测试向量。