天天看点

【DFT】可测性设计(二)存储器的内建自测试一、基本概念 二、内建自测BIST

上集回顾:

【DFT】可测性设计(一)扫描测试_数字IC/FPGA杂货铺,找一找,或许有你想要的~-CSDN博客

目录

一、基本概念

 二、内建自测BIST

2.1 BIST基本概念

2.2存储器的测试算法

2.3 BIST模块在设计中的集成

一、基本概念

  1. 存储器模型:
【DFT】可测性设计(二)存储器的内建自测试一、基本概念 二、内建自测BIST

         存储器本身的物理结构密度很大,通常对存储器的测试将受到片外引脚的闲置,从片外无法通过端口直接仿真嵌入式存储器。

        2. 存储器测试方法比较

【DFT】可测性设计(二)存储器的内建自测试一、基本概念 二、内建自测BIST

 二、内建自测BIST

2.1 BIST基本概念

BIST: Built-In-Self-Test 内建自测

        通过在存储器周围加入额外的电路来产生片上测试向量并进行测试比较,完成对存储器的测试。它的基本思想是电路自己生成测试向量,而不是要求外部施加测试向量。附件的额外电路,包括向量生成器、BIST控制器、响应分析器。如下图所示:

【DFT】可测性设计(二)存储器的内建自测试一、基本概念 二、内建自测BIST

 BIST 测试引脚: 

  • BIST_MODE :测试模式选择信号,控制电路进入 BIST 状态。
  • BIST_RESET:初始化 BIST 控制单元.
  • BIST_CLK : BIST 测试时钟。
  • BIST_DONE :输出信号,标志自测结束。
  • BIST_FAIL :输出信号,标志自测失败,说明存储器有制造故障。

        其中,核心部分是 BIST 控制单元,作为外部电路与存储器之间的接口,为存储器的自测试提供控制信号,控制测试的结束与否,并且实现测试算法。通常用有限状态机来实现 BIST 的控制单元。根据电路要求,可知控制电路需具备以下功能。

  • 接收外部启动存储器自测试的信号。
  • 在该信号的作用下,对自测试电路进行初始化,并根据测试算法,产生自测试电路。
  • 确定何时结束测试,并控制送出测试情况。

        对预测结果,设计人员关心的不仅仅是故障的存在与否,更重要的是故障的诊断和修复,因此 BIST 电路需要具备故障定位和辅助修复的功能。一旦发现缺陷,就暂停测试,然后将此时的读地址、端口号、数据背景图形编号和测试算法控制单元的状态以串行方式送出片外,并且将状态机固定在确定状态,以便快速故障诊断,诊断完毕后再继续进行测试。

2.2存储器的测试算法

1. 棋盘式图形算法

        在这种测试方案中,将存储单元分为两组,相邻的单元属于不同的两组,然后向不同的组写入0和1交替组成的测试矢量。停止后对整个存储阵列进行读取。

【DFT】可测性设计(二)存储器的内建自测试一、基本概念 二、内建自测BIST

2. March算法

        March算法是目前最流行的测试算法;在March测试方案中,首先对单个单元进行一系列的操作,然后才进行下个单元的操作。

例如,March 13n算法:

•(w0)↑(r0,w1,r1)↑(r1,w0,r0)↓(r0,w1,r1)↓(r1,w0,r0)

不同的March算法能覆盖不同的故障模型。

算法复杂度:对单个单元进行读写操作的次数;

3. 数据保留测试

        该测试为了保证存储单元在一定的时间内能保持数据,通常在棋盘式图形算法和March算法中插入延迟单元来实现,延迟时间通常介于10 ms和80 ms之间,由制造工艺和环境温度决定。

【DFT】可测性设计(二)存储器的内建自测试一、基本概念 二、内建自测BIST

2.3 BIST模块在设计中的集成

        BIST电路作为逻辑电路的一部分通常在RTL级插入,并且需要与其他逻辑一起进行综合。数据、地址和一些控制信号在进入存储器之前需要经过多路选择器。

【DFT】可测性设计(二)存储器的内建自测试一、基本概念 二、内建自测BIST
  • 正常工作模式下,存储器的输入信号来自于其他电路;
  • 自测模式下,输入信号由BIST控制单元产生;

        许多EDA工具可以在RTL级自动生成BIST电路并集成到设计中,其中最常用的是Mentor的mBISTArchitect和Synopsys的SoCBIST。

继续阅读