原创
IC测试原理解析
2008-7-2 10:23
2020
6
6
分类:
测试测量
芯片测试原理讨论在芯片存储器芯片测试介绍 $ i2 N3 w' F( R8 f5 N " E7 B1 y V/ \; J7 m3 H 存储器芯片是在特定条件下用来存储6 q d5 B. Y0 |( W( {1 ~, I 存储器的种类与特性7 ^. o ?0 @$ |$ x1 m 3 Z- ]! P- R- m 存储器术语的 保持时间(Hold Time):0 r) { D7 q# e2 _/ B 刷新时间(Refresh Time):存储器刷新的最大时间间隔。 ) d# m$ r' V9 _ f+ Y# ]$ n% R ) u: F+ V% E6 @6 X3 r 建立时间(Setup Time):输入数据电平在锁存时钟之前必须稳定保持的时间间隔。 - _4 e R: J3 S# J2 N0 Q2 u 6 z9 V/ v. _1 q- b. x 上升和下降时间(Rise and Fall Times):/ C. G- Q0 E* Y' ?, o i; I 读取时间(Access time):通常是指在读使能,片选 存储器芯片必须经过许多必要的测试以保证其功能正确。这些测试主要用来确保芯片不包含一下类型的错误: 2 Z2 R) T! Q4 M 4 M5 q8 A" H0 {. {6 e# K" F 存储单元短路:存储单元与电源或者地段路 U8 s Z7 l+ { 0 |. ~; N/ s* P5 [- Q 存储单元开路:存储单元在写入时状态不能改变相邻单元短路:根据不同的短路状态,相邻的单元会被写入相同或相反的数据地址 5 p c" n- ]8 I/ E* ` 7 C+ v* a/ A3 n* ~7 h6 H$ Y 开路或短路:这种错误引起一个存储单元对应多个地址或者多个地址对应一个存储单元。这种错误不容易被检测,因为我们一次只能检查输入地址所对应的输出响应,很难确定是哪一个物理地址被真正读取。 , {3 p1 M" a6 I ' t i! _$ ]3 z& Q 存储单元干扰:它是指在写入或者读取一个存储单元的时候可能会引起它周围或者相邻的存储单元状态的改变,也就是状态被干扰了。 0 c7 D1 I2 ~8 W. W. j o - ]+ o# e% S+ p, ` P# j 存储器芯片测试时用于错误检测的测试向量 7 h- L2 s/ Z- n; N m 9 d6 x p( h+ n 测试向量是施加给存储器芯片的一系列的功能,即不同的读和写等的功能组合。它主要用于测试芯片的功能错误。常用的存储器测试向量如下所示,分别介绍一下他们的执行方式以及测试目的. - s% `5 K" m' x i1 a. _% I E( W4 K3 S J9 y+ c! K 全”0”和全”1”向量: 4n行向量 2 ^' @9 {2 V+ s ^) `* E " f$ i( z" c- L- G6 h% O7 F 执行方式:对所有单元写”1”再读取验证所有单元。对所有单元写”0”再读取验证所有单元。 " n8 t# y: d4 L8 s , ~- p4 I8 i, S 目的:检查存储单元短路或者开路错误。也能检查相邻单元短路的问题。 8 I8 F( H7 l2 R, P! ] 8 r {+ w1 S- J% T" z' J- ? 棋盘格(Checkerboard)向量:4n行向量 2 z, e G4 r: K, v S : d5 k g2 ^9 ~0 A- y 执行方式:先运行0-1棋盘格向量,也就是第一个单元写1,第二个单元写0,第三个单元再写1,依此类推,直到最后一个单元,接下来再读取并验证所有单元。再运行一个1-0棋盘格向量,就是对所有单元写入跟0-1棋盘格完全相反的数据,再读取并验证所有单元。 : ~) x8 R+ S) e3 U 9 C7 k. E" l4 x 目的:这是功能测试,地址解码和单元干扰的一个最基本最简单的测试向量。它还能检查连续地址错误或者干扰错误,也通常用它作为时间测量时的向量。 6 H4 L3 E7 K) h6 w$ `7 `0 q% O 7 v z! c/ I, \( ]0 _ Patterns Marching向量:5n行向量 * o k- J) o+ X8 Q3 n9 @' g8 @* q8 K/ m3 _ 6 \: J5 n" z/ O Z+ n 执行方式:先对所有单元写0.读取第一个单元,再对第一个单元写1。再读取第二个单元,再对第二个单元写1,依此类推,直到最后一个单元。最后再重复上述操作,只是写入数据相反。 " k) r/ \' a6 P8 G x + Y6 A( w' n* W k @ 目的:这是功能测试,地址解码和单元干扰的一个最基本最简单的测试向量。它还能检查连续地址错误或者干扰错误,也通常用它作为时间测量时的向量。 5 m: C4 }9 A% O ]8 N& e" Y! H % i9 O q- S0 y7 o8 J Walking向量:2n^2 行向量 / s9 t5 B/ M7 S4 f" ^( G3 r1 C 4 a+ u `$ H1 i+ {) K 执行方式:先对所有单元写0,再读取所有单元。接下来对第一个单元写1,读取所有单元,读完之后把第一个单元写回0。再对第二个单元写1,读取所有单元,读完之后把第二个单元写回0。依次类推,重复到最后一个单元。等上述操作完成之后,再重复上述操作,只不过写入的数据相反。 0 O: F2 B# X) Z- Y; T5 u5 F , J# K- d$ _" |% \" q+ x$ O/ X 目的:检查所有的地址解码错误。它的缺点是它的运行时间太长。假设读写周期为500ns,对一个4K的RAM进行wakling向量测试就需要16秒的测试时间。如果知道存储器的8 {. i: H# L. k* F; @' q$ [ Galloping写入恢复向量:12^2n行向量 * K( \8 h# A4 [4 v! m / X1 c. z$ q9 h, s `6 [# K4 a 执行方式:对所有单元写0。再对第一个单元写1(基本单元),读取第二个单元, 然后返回来读取第一个单元。再对第二个单元写0,读第二个单元。接下来再在其它所有单元和基本单元之间重复这个操作。等第一个单元作为基本单元的操作完成之后,再把第二个单元作为基本单元,再作同样的操作。依此类推,直到所有单元都被当过基本单元。最后,再重复上述过程,但写入数据相反。 4 F# t0 F1 ?0 a8 h. e: r! t* y0 g/ k ! e7 a8 l% e- L5 \ 目的:这是功能测试,地址解码测试和干扰测试一个极好的向量。如果选择适当的时序,它还可以很好地用于写入恢复测试。同时它也能很好地用于读取时间测试。 - ?' ?3 \/ M0 E0 l/ X s2 ~6 |, }6 D! n6 H# M( m 其他的测试向量都类似于以上这些向量,都基于相同的核心理念。 # v e+ D# m2 {, U! Y3 c) S p7 F# J2 D6 N7 L6 O2 d) a( N( G }1 g 1.行地址和列地址在相同的地址线上输入(行列地址复用)。他们分别通过RAS和CAS信号来锁存。 % L+ a+ m. Q f N" r1 c' |" g/ q 8 @' V1 B8 B5 {/ m6 \" B8 | n! ?+ H 2.需要在固定的时间间隔内对芯片进行刷新。 $ T) ~' [! }) [0 ~ 0 A6 U ^4 _3 O. e/ ^ 3.DRAM能够进行页操作。因此需要保持行地址不变而改变列地址(或者相反)。 0 [/ T2 c- S+ k a% u4 T; J8 u: u* S# Q3 j 逻辑测试介绍 / D" M( f* l A 1 w L% n6 T5 N# Q$ y9 X# a7 C 逻辑芯片功能测试用于保证被测器件能够正确完成其预期的功能。为了达到这个目的,必须先创建测试向量或者真值表,才能进检测代测器件的错误。一个真值表检测错误的能力有一个统一的标准,被称作故障覆盖率。测试向量与测试时序结合在一起组成了逻辑功能测试的核心。 6 U* d( g3 b, k9 A5 [% K! E5 v7 r 4 r( R7 [# x$ y: j3 _ 测试向量 3 L9 O5 v( ^ F, z5 n ; z, o- c% ^" Q. @2 L1 {4 T 测试向量—也称作测试 测试向量是存储在向量存储器里面的,每行单独的向量代表一个单一测试周期的“原始“数据。从向量存储器里输入的数据与时序,; g4 V9 I. B5 h1 C* g) i 比较复杂的芯片,其测试向量一般是由芯片- l. f5 z/ h. _# M# V VIL/VIH (输入电压) " o2 ]! M% v7 H) v8 T/ n , q1 E2 N1 s. a; z0 [1 R, z4 R VOL/VOH (输出电压) Q. t+ M" V7 J) B ( `8 U6 ^+ Q) @+ v IOL/IOH (输出电流负载) ( o; o) ]: {, A 0 I5 X- ?4 X. Y VREF (IOL/IOH转换电平) 0 j* N" v7 h- S( `* }6 S( S 5 M0 ^% P- D) O4 ~ 测试频率(测试使用的周期) + r# U! r t. J4 T: d 3 n. n; j/ M Q+ o! l 输入信号时序(时钟/建立时间/保持时间/控制) " ^ l5 q: _! d9 s6 H ) ~' o( U0 h% z. N/ m4 I \ 输入信号波形格式 $ f3 C7 ^ J6 ], c, x 4 W" q r9 _% {& U/ W- `8 n 输出时序(在周期内何时对输出进行采样) 5 V7 \3 F; g0 e: j - Z; p( `0 }* z( ~4 M 向量顺序(向量文件内的start/stop位置) 9 m- w- g8 V, t; x1 H 6 G9 x9 c3 D `: e2 o$ s5 w 上述的这些资源说明了功能测试会占用测试系统的大部分资源。功能测试主要由两大块组成,一是测试向量文件,另外一块是包含测试指令的主测试程序。测试向量代表了测试待测器件所需的输入输出逻辑状态。主测试程序包含了保证测试仪硬件能产生必要的电压,波形和时序等所必需的信息。 2 H x7 W. C8 m% J( a # L0 r* h7 e6 h2 X 功能测试; g9 W B4 p% p& H9 C' |, w / y( [% m, k6 b5 ^ 当功能测试执行的时候,测试系统把输入波形施加给待测器件,并一个周期一个周期,一个管脚一个管脚地监控输出数据。如果有任何的输出数据不符合预期的逻辑状态,电压或者时序,该测试结果被记录为错误。 ( `" V w" y4 \6 M) J 6 ]1 e$ c6 B' o0 p4 o: z! j9 ` 到现在我们讨论了相对简单的存储器和数字芯片测试的基本测试技术 。在此文接下来的两章里,我们将讨论测试更为复杂的混合信号和射频/无线芯片的独特要求。
文章评论(0条评论)
登录后参与讨论