MBist技术可以自动实现存储器单元或阵列的RTL级内建自测试电路,MBIST的EDA工具支持多种测试算法的自动实现,可针对一个或多个内嵌存储器自动创建BIST逻辑,并完成BIST逻辑与存储器的连接,此外MBIST结构中还可包括故障自动诊断功能,方便了故障定位和开发针对性测试向量。本文将介绍用于嵌入式存储器设计的MBIST技术,并对其电路结构进行讨论。

随着半导体工艺尺寸不断缩小,IC设计的规模越来越大,高度复杂的IC产品正面临着高可靠性、高质量、低成本以及更短的产品上市周期等日益严峻的挑战。一方面随着半导体工艺尺寸的缩小,嵌入式存储器可能存在的缺陷类型越来越多;另一方面,随着IC产品的复杂度的提高,ROM、RAM、EEPROM在IC产品中的比重越来越大。

嵌入式存储器的可测试设计技术包括直接测试、用嵌入式CPU进行测试和内建自测试技术(MBIST)

直接测试方法利用自动测试设备进行测试,可以轻易实现多种高质量测试算法,但是这种方法存在着一些不足之处,

  1. 在ATE机上实现的算法越复杂,对ATE机存储器的容量要求越高,测试的费用也就越高;
  2. 在ATE机上不易实现对嵌入式存储器的“全速”测试,测试时钟的工作频率越高,测试成本越高;
  3. 由于芯片外围管脚的限制,对芯片内大容量嵌入式存储器进行直接测试往往不大现实。

利用嵌入式CPU进行测试的好处在于不需要对设计硬件做任何修改,而且测试算法的修改与实现可以通过灵活修改CPU软件程序完成。但是这种方法也存在缺点,首先是设计中的CPU并没有和所有的嵌入式存储器直接相连,其次编写或修改软件程序实现测试算法需要耗费大量的人力,另外这种方法还很难对存储CPU程序的存储器进行测试。

MBIST技术的缺点是增加了芯片的面积并有可能影响芯片的时序特性,然而,随着存储器容量的增加,这种方法所增加的芯片面积所占的比例相对很小,而且这种测试技术还有很多其它技术优势。

  1. 首先它可以实现可测性设计的自动化,自动实现通用存储器测试算法,达到高测试质量、低测试成本的目的;
  2. 其次MBIST电路可以利用系统时钟进行“全速”测试,从而覆盖更多生成缺陷,减少测试时间;
  3. 最后它可以针对每一个存储单元提供自诊断和自修复功能。此外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结构中还可以包括故障的自动诊断功能,方便了故障定位和开发针对性的测试向量。

MBIST:用于嵌入式存储器的可测试设计技术的更多相关文章

  1. 【Selenium-WebDriver自学】Selenium测试设计技术(十三)

    Selenium页面对象模型 1.Selenium页面对象模型 优点 页面的对象模型是其中测试对象和功能被彼此分开,从而保持代码干净的实现. 对象保持独立的测试脚本.一个目的可以通过一个或多个测试脚本 ...

  2. Linux用于嵌入式

    步骤1:Linux工具和项目布局 每个嵌入式软件设计都从选择合适的工具开始. 工具链是一组连接(或链接)在一起的软件开发工具,它包含诸如GNU编译器集合(GCC).binutils(一组包括连接器.汇 ...

  3. 云计算PAAS平台测试设计之镜像管理

    下面是云计算PAAS平台页面概览: 今天我们要讲的是镜像管理页面的测试设计: 可以看到,这个页面主要有增删改查四个功能. 1. 查询镜像 (1)易用性:查看镜像查询界面,界面上各组件设计合理.美观.易 ...

  4. H5介绍与测试设计

    近期的项目中接触的基本都为H5的测试工作,从项目初期评审到测试工作的完成过程中,遇到了很多问题是与APP测试方法不太相同的地方,在此希望总结测试过程遇到的问题及新思路给之后会接触到H5测试的同学. 这 ...

  5. 用于.NET环境的时间测试(转)

    用于.NET环境的时间测试   在.NET环境中,衡量运行完整算法所花费的时间长度,需要考虑很多 需要考虑很多种情况 ,如:程序运行所处的线程以及无用单位收集(GC垃圾回收). 在程序执行过程中无用单 ...

  6. VB 共享软件防破解设计技术初探(二)

    VB 共享软件防破解设计技术初探(二) ×××××××××××××××××××××××××××××××××××××××××××××× 其他文章快速链接: VB 共享软件防破解设计技术初探(一)http ...

  7. 《Python测试开发技术栈—巴哥职场进化记》—软件测试工程师“兵器库”

    上文<Python测试开发技术栈-巴哥职场进化记>-初来乍到,请多关照 我们介绍了巴哥入职后见到了自己的导师华哥,第一次参加团队站会,认识了团队中的开发小哥哥和产品小姐姐以及吃到了公司的加 ...

  8. VB 共享软件防破解设计技术初探(三)

    ×××××××××××××××××××××××××××××××××××××××××××××× 其他文章快速链接: VB 共享软件防破解设计技术初探(一)http://bbs.pediy.com/sho ...

  9. VB 共享软件防破解设计技术初探(一)

    VB 共享软件防破解设计技术初探(一) ×××××××××××××××××××××××××××××××××××××××××××××× 其他文章快速链接: VB 共享软件防破解设计技术初探(二)http ...

随机推荐

  1. ksplatform学习笔记

    1.viewResolver配置中的: <bean id="viewResolver" class="org.springframework.web.servlet ...

  2. 如何处理App的Application的事件

    http://blog.sina.com.cn/s/blog_44fa172f0102vwr2.html 直接上代码,还有条经验就是SetApplicationEventHandler可注册多个事件方 ...

  3. Android-DateUtil工具类

    时间相关工具类 public class DateUtil { private DateUtil(){} /** * 枚举日期格式 */ public enum DatePattern{ /** * ...

  4. TFS支持移动设备,微软已经走出了第一步(手机上更新、查询工作项)

    TFS支持移动设备,微软已经走出了第一步! 从现在开始,你可以在手机浏览器上打开自己的VSTS团队项目,会看大手机版的工作项界面,你可以在手机设备上更新.查询工作项. 这是原生自带的,这些移动功能马上 ...

  5. ionic xcode8 App上传应用详细流程

    第一步: 进入开发者官网 https://developer.apple.com   2.证书 序号1:开发者证书,用于真机调试   序号2:上传证书,用于发布最终版 3.证书申请 由于我现在是要发布 ...

  6. 转载:R语言rvest包使用

    R中有好几个包都可以抓取网页数据,但是rvest + CSS Selector最方便. 通过查看器立刻知道表格数据都在td:nth-child(1),td:nth-child(3)之类的节点中,直接代 ...

  7. ASP.NET MVC+Redis (准备工作)

    今天准备更新这个项目的第二篇博客.有一点需要说明的是之前觉得用的是Asp.net的WebPage,经过查看微软的官方文档还有相关的博客,相比较而言使用起来需要安装一个自动工具WebMatrix可以很快 ...

  8. asp.net—单例模式

    一.单例模式是什么? 定义:确保一个类仅仅能产生一个实例,并且提供一个全局访问点来获取该实例. 二.单例模式怎么用? class SingleCase { public string Name{get ...

  9. UWP开发---DIY星级评分控件

    一,需求来源 在开发韩剧TV UWP过程中,遇到了星级评分的控件问题,在安卓和html中很容易用现有的轮子实现星级评分,搜索了一下目前UWP还未有相关文章,在WPF的一篇文章中使用Photo shop ...

  10. s11 day 101 python Linux环境安装 与路飞项目支付功能

    from django.conf.urls import urlfrom django.contrib import adminfrom app01 import viewsurlpatterns = ...