1 引言 邊界掃描技術(shù)已成為了VLSI和ASIC測試的重要方法,但是,盡管邊界掃描器件越來越多,非邊界掃描器件仍然大量存在。在復(fù)雜電路設(shè)計(jì)中,VLSI和ASIC雖然能夠完成電路的許多功能,但并不是所有的邏輯功能都可以集成,相當(dāng)多的功能仍需要采用分離器件或通用集成電路實(shí)現(xiàn),而它們很少支持邊界掃描。因此,由邊界掃描器件和非邊界掃描器件組裝的非完全BS器件電路板仍將在今后相當(dāng)長時(shí)間內(nèi)廣泛存在,它們的測試問題已成為板級(jí)邊界掃描測試技術(shù)需要研究的關(guān)鍵問題。隨機(jī)存取存儲(chǔ)器(RAM)是一種應(yīng)用極為廣泛的電子元件,但由于成本和結(jié)構(gòu)復(fù)雜性的原因,RAM的的設(shè)計(jì)很少包含邊界掃描結(jié)構(gòu),設(shè)計(jì)中也無法用其他器件所替代。 RAM可分為動(dòng)態(tài)(DRAM)與靜態(tài)(SRAM)兩種。本文以靜態(tài)SRAM為研究對(duì)象,在定義 SRAM簇的電路模型和互連故障模型的基礎(chǔ)上,利用"虛擬數(shù)據(jù)通道"測試方法,對(duì)多驅(qū)動(dòng)沖突和SRAM簇的控制線、地址線和數(shù)據(jù)線之間的板級(jí)互連故障進(jìn)行分析和研究,從而提出一種更優(yōu)化的測試向量生成算法,并將此算法運(yùn)用于測試程序產(chǎn)生測試圖形序列。這些測試圖形序列不僅易于產(chǎn)生,而且有短的測試序列和高的故障覆蓋率。 2 SRAM簇板級(jí)測試的基本原理 文獻(xiàn)中提出了一種測試RAM的I/O完整性的測試序列:首先寫入走步"1"的測試向量到指定地址000…000,100…000,…,000…010,000… 001,然后從各地址讀回相應(yīng)寫入的值。文獻(xiàn)則提出了檢測RAM數(shù)據(jù)線和地址線的互連故障的測試條件,通過對(duì)這些測試條件的合并和對(duì)地址、數(shù)據(jù)線互連故障測試的組合,提出了一種新的測試算法。這種算法在文獻(xiàn)中帶有邊界掃描結(jié)構(gòu)的RAM簇測試的示例中已有應(yīng)用。但是,上面所提到的方法都沒有涉及到數(shù)據(jù)線和地址線之間的橋接故障,沒有考慮BSC的多驅(qū)動(dòng)沖突。下面,我們將綜合上述文獻(xiàn)的測試條件和測試矢量的優(yōu)點(diǎn),研究數(shù)據(jù)線和地址線之間橋接的測試條件,并確定一般性的測試條件和禁止條件,開發(fā)一個(gè)完備的SRAM簇測試矢量算法。這種算法產(chǎn)生的測試矢量具有以下優(yōu)點(diǎn): ① 能夠避免多BSC驅(qū)動(dòng)沖突; ② 能夠覆蓋所有可測SRAM互連故障; ③ 測試序列短。 下面,首先提出SRAM簇的電路模型和故障模型,然后討論數(shù)據(jù)線、地址線、控制線以及數(shù)據(jù)線和地址線之間的固定(開路)、橋接測試條件和相應(yīng)的禁止條件,這些禁止條件描述了那些不能被插入到下面所描述的測試條件中去的測試圖形。最后,通過對(duì)這些測試條件和禁止條件的重新排列和組合,在綜合分析的基礎(chǔ)上得到測試矢量的具體構(gòu)成,提出了一種測試算法和相應(yīng)的測試圖形生成程序。 2.1 SRAM簇互連測試的電路模型 一種典型的SRAM簇的互連電路模型如圖1所示。它包括:1、地址線(Am-1 ,…,A1,A0),可由2態(tài)或3態(tài)BS單元驅(qū)動(dòng);2、數(shù)據(jù)線(Dn -1,…,D1,D0 ),數(shù)據(jù)線為雙向并由雙向BS單元驅(qū)動(dòng);3、控制信號(hào),包括芯片使能(CE),輸出使能(OE)和寫使能(WE),它們由2態(tài)或3態(tài)BS單元驅(qū)動(dòng)。SRAM簇的每一個(gè)互連節(jié)點(diǎn)都可由多個(gè)3態(tài)的BS單元來驅(qū)動(dòng),需注意的是存在這種多驅(qū)動(dòng)的情況下,必須要求任何時(shí)刻只能有一個(gè)3 態(tài)的BS單元的輸出使能控制端有效,其他不能使能,以避免多驅(qū)動(dòng)沖突。在本文中,我們假設(shè)只有一片SRAM,對(duì)于有多個(gè)與同一地址總線和數(shù)據(jù)總線相連的存儲(chǔ)器芯片組成的存儲(chǔ)器組件,只需對(duì)每一芯片分別進(jìn)行互連故障測試即可,同時(shí)假定SRAM的內(nèi)部邏輯無故障。 在SRAM簇的互連測試?yán)铮鎯?chǔ)器的讀寫操作是通過邊界掃描的"虛擬通道"來實(shí)現(xiàn)激勵(lì)與采集,運(yùn)用一組合適的測試圖形序列輸入到邊界掃描單元中去控制地址線、數(shù)據(jù)線和控制線實(shí)現(xiàn)讀寫。圖2為SRAM簇測試時(shí)實(shí)現(xiàn)一個(gè)SRAM的讀(READ)寫(WRITE)周期時(shí)序。 存儲(chǔ)器讀寫信號(hào)都由寫使能WE控制,WE為高電平時(shí)進(jìn)行讀操作,為低電平時(shí)進(jìn)行寫操作。同時(shí)規(guī)定地址信號(hào)、OE信號(hào)與WE信號(hào)不得同時(shí)改變。如圖2所示,t1、t2和t3為一個(gè)讀周期,t4、 t5和t6為一個(gè)寫周期。 SRAM的讀寫操作的測試圖形序列如表1所表示。表中DR表示從SRAM中讀取的數(shù)據(jù)值,A和D分別表示所寫數(shù)據(jù)單元的地址向量和所寫數(shù)據(jù)向量,X表示任意值。本文正是按照一定的測試算法來產(chǎn)生SRAM簇的互連測試的測試圖形。這些測試圖形不僅能滿足下面所描述的故障測試條件,而且能滿足故障覆蓋和避免多驅(qū)動(dòng)沖突。 2.2 故障模式和測試條件 SRAM簇的互連故障有呆滯故障、開路故障以及在地址線、數(shù)據(jù)線和控制線間的橋接故障。SRAM簇的互連故障檢測的基理是將一組測試向量的序列首先寫入SRAM,讀出SRAM簇的響應(yīng)序列,通過分析得到互連網(wǎng)絡(luò)上的故障行為。下面討論是按單一故障模式分別進(jìn)行,且開路故障為呆滯故障S-A-1 或S-A-0,橋接故障為"線與"或"線或"。四元組(RD,A,DR,[DE])代表對(duì)地址A的一個(gè)讀操作,讀取的數(shù)據(jù)值為DR,期望數(shù)據(jù)是 [DE];一個(gè)三元組(WR,A,D)代表了一個(gè)寫操作,即在地址 寫入數(shù)據(jù)。 和代表包含多位的向量,Ti ,j代表 的第j位。 2.2.1 地址線 (1)地址線i呆滯為v(開路)的故障測試 iii),(RD,A1,DR,[D1])若地址線i呆滯為v,則DR≠D1。 禁止條件 a) 在i)和iii)之間不允許有其他(WR,A1,D),其中D=X; b) 在ii)和iii)之間不允許有(WR,A2,D1 ) 容易驗(yàn)證,走步"1"或"0"序列能滿足以上地址線的呆滯和橋接故障的測試條件。 2.2.2 數(shù)據(jù)線 (1)數(shù)據(jù)線i的呆滯為v (開路)故障的測試 ● 測試條件 ii) (RD,A1,DR,[D1]),若數(shù)據(jù)線i呆滯為v ,則DR≠D1。 ● 禁止條件 i)和ii)之間不允許(WR,A,D),其中D=X。 (2)數(shù)據(jù)線i與數(shù)據(jù)線j 的橋接故障的測試 ii) (RD,A1,DR,[D1]),若數(shù)據(jù)線i與數(shù)據(jù)線j橋接,則DR≠D1。 ● 禁止條件 在i)和ii)之間不允許(WR,A,D1),其中D=X。 同樣容易驗(yàn)證,在數(shù)據(jù)線上使用計(jì)數(shù)序列和走步"1"或"0"序列同樣能夠滿足以上數(shù)據(jù)線呆滯和橋接故障的測試條件。 (3)地址線i和數(shù)據(jù)線j 之間的橋接橋接故障 數(shù)據(jù)線和地址線之間的橋接故障的測試較為復(fù)雜。我們同樣假設(shè)數(shù)據(jù)線和地址線之間的橋接為"線與"或者為"線或"。這時(shí)只要保證兩橋接線上的測試圖形互補(bǔ),再通過讀出數(shù)據(jù)判斷故障。用走步"1"序列測試"線或"橋接,用走步 "0"序列測試"線與"橋接故障,連續(xù)使用這兩種序列即可滿足故障覆蓋。 ①地址線i電平占優(yōu),地址線 i與數(shù)據(jù)線j之間的橋接故障測試。 ● 測試條件 ii) (RD,A1,DR,[D1]),若地址線i為v占優(yōu)與地址線 j橋接,則DR≠D1。 ● 禁止條件 i)和ii)之間不允許(WR,A1,D1),其中D=X ②數(shù)據(jù)線j電平占優(yōu),數(shù)據(jù)線 j與地址線i之間的橋接故障的檢測 ● 禁止條件 a) (WR,A1,D)無可滿足測試條件i)和iii),其中D=X; b) (WR,A2,D1)無可滿足測試條件i)和iii)。 2.2.3 控制信號(hào)線 控制信號(hào)線上的故障包括控制信號(hào)的呆滯(開路)故障以及控制信號(hào)線和地址線或數(shù)據(jù)線的成對(duì)橋接故障。控制信號(hào)除OE和CE為S-A-0不影響SRAM的正常讀寫操作而無法檢測故障外,控制信號(hào)線上的其余故障都將導(dǎo)致從SRAM讀出的數(shù)據(jù)是任意的,或者在整個(gè)測試過程中只讀出一個(gè)數(shù)據(jù)。這種故障檢測比較容易,但不易確定其原因。 按照上述故障模式分類,并賦予相應(yīng)的測試條件后,除控制信號(hào)CE和OE上的S-A-0的故障不能檢測外,在數(shù)據(jù)線和地址線上的任何故障都能被檢測。 2.3 測試算法的設(shè)計(jì) 由于SRAM一般都有很規(guī)則的結(jié)構(gòu),再考慮到在地址線和數(shù)據(jù)線上同時(shí)存在故障的測試條件,我們提出一種在SRAM簇的互連測試中易于產(chǎn)生的測試序列。假設(shè)SRAM的地址線和數(shù)據(jù)線的寬度分別為m和n,p、q分別代表 m和n的較大者和較小者。用0(1)表示全0(1)向量;=[h1 ,…,hW]表示一個(gè)寬度為w的one-hot vector,(hk=1,hi =0, ≠ k), 與互補(bǔ)。于是我們用下面的算法程序描述測試序列的生成和故障檢測過程: 通過對(duì)此程序產(chǎn)生的測試序列去驗(yàn)證上述故障分類下的測試條件和禁止條件可以看出,此算法能夠檢測有 m位地址線和n位數(shù)據(jù)線的SRAM簇的所有可檢測互連故障。而且這些測試序列也很容易由測試程序來產(chǎn)生。地址和數(shù)據(jù)可分別由一個(gè)m階和 n階的OHC來產(chǎn)生。OHC的輸出端Q/Q提供所需的one-hot/cold 向量。 3 實(shí)驗(yàn)結(jié)果 下面以一個(gè)具有四位地址線和四位數(shù)據(jù)線的 SRAM為例,簡單介紹測試地址線呆滯、橋接故障的過程。按照以上的測試條件與禁止條件,測試生成的過程可描述為:首先,在地址全"0"處寫數(shù)據(jù)全"1",在地址全"1"處寫數(shù)據(jù)全 "0",在地址走步"1"處寫數(shù)據(jù)走步"0",在地址走步"0"處寫數(shù)據(jù)走步"1";然后通過邊界掃描鏈路得到響應(yīng)矩陣;通過響應(yīng)矩陣計(jì)算出故障矩陣,故障矩陣中"1"表示有故障,"0" 表示無故障。 "如表所示,若地址線A2固定為0,則在地址全"0"處所讀出數(shù)據(jù)被地址"0100"處所寫數(shù)據(jù)覆蓋,在地址全"1"處所讀出數(shù)據(jù)被地址 "1011"處所寫數(shù)據(jù)覆蓋,其故障矩陣只有F2 的地址全"0"和地址全"1"行對(duì)應(yīng)數(shù)據(jù)為1。由此,可判斷故障為地址線A 2固定為0。 橋接故障在本文中分為"線與"和"線或" 兩種,前者0占優(yōu),后者1占優(yōu)。若地址線A2與 A3發(fā)生"線與"橋接故障,0占優(yōu),則其響應(yīng)矩陣和故障矩陣如下表所示。地址?quot;0"與"1000"處所讀出數(shù)據(jù)被地址"0100"處所寫數(shù)據(jù)覆蓋,地址全 "0111"處所寫入的數(shù)據(jù)被地址"1011"處所寫數(shù)據(jù)覆蓋,對(duì)應(yīng)故障矩陣F 2與F3共有五處值為1,若數(shù)據(jù)線全"1"與走步"0" 對(duì)應(yīng)故障矩陣中"1"的數(shù)目比數(shù)據(jù)線全"0"與走步"1"對(duì)應(yīng)故障矩陣中"1"的數(shù)目多,則為0占優(yōu)"線與"橋接故障,否則為1占優(yōu)"線或"橋接故障。由此可判斷表2中地址線A 2與A3發(fā)生0占優(yōu)"線與"橋接故障。"線或"故障在故障表中的表現(xiàn)類似,可同樣判決。" 數(shù)據(jù)線故障的診斷定位比地址線更為簡單,限于篇幅,數(shù)據(jù)線與數(shù)據(jù)線、地址線與數(shù)據(jù)線、控制線之間的橋接故障與多故障測試在此不做詳細(xì)討論,讀者可按類似方法分析。 4 結(jié)論 本文首先通過對(duì)SRAM簇的故障模型和對(duì)應(yīng)測試條件進(jìn)行定義,在進(jìn)行綜合分析的基礎(chǔ)上創(chuàng)建了它在硅缺陷的分析當(dāng)中有重要的作用,它能夠直接觀察缺陷的形態(tài)、分析缺陷的成分以及缺陷-缺陷的相互作用等等。它為我們分析研究硅缺陷提供了一種行之有效的手段。 |