李 洋
摘 要:主要研究邊界掃描技術(shù)在電路板互連測試中的應(yīng)用,對互連測試的故障模型和測試方法進行優(yōu)化。根據(jù)電路板制造故障的具體成因和分布情況,對基于邊界掃描的板級互連測試模型進行擴展。提出以元器件焊點故障作為基本參考點,增加了網(wǎng)絡(luò)兩端發(fā)生不同故障的情況,從而總結(jié)出新的故障模型,并給出了針對新故障模型的測試方案。基于新的故障模型的測試可以更加全面地發(fā)現(xiàn)電路板的潛在問題,避免在生產(chǎn)測試中因為故障的漏判而反復維修,從而提高生產(chǎn)的效率。
關(guān)鍵詞:邊界掃描;互連測試;故障模型;測試矩陣
中圖分類號:TN407文獻標識碼:A
文章編號:1004 373X(2009)02 008 04
Board Interconnections Test Model Based on Boundary Scan
LI Yang
(Tsinghua University,Beijing,100084,China)
Abstract:The paper optimizes the board interconnections model and test methodology based on boundary scan.Based on the investigations into board manufacturing defects,a new defect model is proposed for boundary scan interconnections test.The new model takes into accounting the situation that the input and output of one net have different defects.The test solution for the new model is also provided.By implementing the right test solution for this model,manufacturing test can cover more potential defects.The efficiency for factory test and repairment are improved.
Keywords:boundary scan;interconnections test;defect model;test matrix
0 引 言
邊界掃描技術(shù)是聯(lián)合測試行動組JTAG(Joint Test Action Group)于1987年提出一種電路測試方法,并于1990年被IEEE接納,形成了IEEE 1149.1標準[1]。因此邊界掃描技術(shù)也被稱為JTAG測試技術(shù)。隨著大規(guī)模集成電路的發(fā)展,JTAG測試技術(shù)得到了越來越廣泛的應(yīng)用,尤其是在電路板制造行業(yè)中,很多工廠已經(jīng)把其作為必備的生產(chǎn)測試流程。
能夠進行JTAG測試的電路板必須采用支持IEEE 1149.1標準的電子元器件,這里稱為BS(Boundary Scan)器件。BS器件的管腳和內(nèi)部邏輯電路之間增加了由移位寄存器構(gòu)成的邊界掃描單元,各邊界掃描單元串行連接。把電路板上的所有BS器件連接起來,就形成了邊界掃描鏈。通過串行掃描方式設(shè)定和讀取器件管腳的狀態(tài),實現(xiàn)對電路板的測試和診斷。
電路板的JTAG測試包括以下3個步驟:
第一步:測試邊界掃描鏈的完整性,確保JTAG的掃描鏈路和各個接口工作正常。這一步是JTAG測試的基礎(chǔ),必須在其他測試開始之前進行;
第二步:測試電路板各BS器件管腳之間的互連;
第三步:對電路板上的可編程邏輯器件進行在線編程。
在此主要研究BS器件管腳之間的互連測試?;ミB測試采用網(wǎng)絡(luò)互連模型,用網(wǎng)絡(luò)描述電路板上的互連,把網(wǎng)絡(luò)之間的短路和開路作為電路板的故障模型。實際上,電路板在制造過程中發(fā)生的故障有其特殊的成因,根據(jù)這些特點,可以進一步細化網(wǎng)絡(luò)互連模型的故障模型,使之更加符合電路板制造業(yè)的實際缺陷,從而提高工廠JTAG測試的效率。
在以下章節(jié)里,首先介紹網(wǎng)絡(luò)互連模型,并給出了傳統(tǒng)的故障模型,然后根據(jù)電路板制造業(yè)的特點,對傳統(tǒng)故障模型進行了擴展,給出了一種更貼近電路板生產(chǎn)實際的故障模型,最后提出了基于新故障模型的測試方案。
1 電路板的網(wǎng)絡(luò)互連模型
JTAG互連測試采用網(wǎng)絡(luò)互連模型。其核心思想是把電路板上元器件管腳之間的連接描述為網(wǎng)絡(luò)。┮桓霆網(wǎng)絡(luò)是由1個輸入節(jié)點、1個輸出節(jié)點,和1根連接輸入/輸出節(jié)點的導線構(gòu)成的,圖1是網(wǎng)絡(luò)的示意圖。網(wǎng)絡(luò)的輸入、輸出點對應(yīng)著電路板上存在互連關(guān)系的2個管腳,網(wǎng)絡(luò)的導線對應(yīng)著這兩個管腳之間的基板導線。
把電路板上所有的管腳互連都定義成網(wǎng)絡(luò),就構(gòu)成了網(wǎng)絡(luò)表。圖2是一個由5個網(wǎng)絡(luò)組成的網(wǎng)絡(luò)表。
圖1 單個網(wǎng)絡(luò)
圖2 網(wǎng)絡(luò)表
JTAG技術(shù)提供了一套寫入和讀取機制,通過JTAG可以把測試代碼串行加載到網(wǎng)絡(luò)表的各個輸入點,然后從輸出點串行讀出測試結(jié)果。通過對測試結(jié)果的分析,來檢查網(wǎng)絡(luò)是否發(fā)生了故障。
在對網(wǎng)絡(luò)進行互連測試時,涉及到以下幾個概念[2]:
并行測試向量PTV (Parallel Test Vector):在一次測試循環(huán)中,加載到各網(wǎng)絡(luò)上的測試代碼構(gòu)成的向量,記為vP璲,j=1,2,…,P。對某個固定的電路板而言,它的PTV維數(shù)是確定的,等于網(wǎng)絡(luò)的總數(shù)N。
并行響應(yīng)向量PRV(Parallel Response Vector):采用某個PTV進行測試所得到的測試響應(yīng)向量稱為并行響應(yīng)向量,記為rP璲,j=1,2,…,P。
串行測試向量STV(Sequential Test Vector):在多次測試循環(huán)中施加到同一網(wǎng)絡(luò)的測試代碼構(gòu)成的向量,記為vQ璲,j=1,2,…,N。STV的數(shù)量等于網(wǎng)絡(luò)的總數(shù)N,其維數(shù)等于測試循環(huán)的次數(shù)(或PTV的數(shù)目)。
串行測試響應(yīng)向量SRV(Sequential Response Vector):網(wǎng)絡(luò)在輸入一定的STV后的輸出響應(yīng)向量為串行測試響應(yīng)向量,記為rQ璲,j=1,2,…,N。У蓖絡(luò)無故障時,其SRV與STV相同。
測試矩陣:以PTV為列向量,STV為行向量構(gòu)成的矩陣。
故障征兆:當某個網(wǎng)絡(luò)存在故障時,表征故障的SRV稱為故障征兆,記為Sf璱。
2 傳統(tǒng)的互連故障模型(故障模型1)
傳統(tǒng)的互連故障模型包括2種故障[3]:一種是單個網(wǎng)絡(luò)輸出呆滯。另一種是幾個網(wǎng)絡(luò)之間發(fā)生短路。如圖3所示。
圖3 傳統(tǒng)故障模型單個網(wǎng)絡(luò)輸出呆滯,是指網(wǎng)絡(luò)的輸出值為固定為1或者固定為0。因此又被稱為S-A-1(Stuack-At-1)或S-A-0(Stuack-At-0)。造成這類故障的原因主要有以下2個:
(1) 網(wǎng)絡(luò)發(fā)生開路,外界不能給其施加激勵,從該網(wǎng)絡(luò)讀取的響應(yīng)始終為1或者始終為0。具體為1或0取決于電路工藝。
(2) 網(wǎng)絡(luò)跟電源或地短路,造成網(wǎng)絡(luò)輸出始終為1或者始終為0。
發(fā)生S-A-1或S-A-0故障的網(wǎng)絡(luò),其測試輸出為全“1”SRV或全“0”SRV。
短路故障是指一個網(wǎng)絡(luò)和其他1個或幾個網(wǎng)絡(luò)發(fā)生橋接,短路故障所涉及的網(wǎng)絡(luò)具備相同的輸出結(jié)果,即在不同的 STV激勵下,涉及短路的網(wǎng)絡(luò)SRV相同。短路故障有兩種類型[4]:
(1) 線“或”短路W-O(Wired-OR-Short):最終的邏輯值為各網(wǎng)絡(luò)STV的邏輯“或”。數(shù)學描述如下,其中B表示涉及短路的網(wǎng)絡(luò)的集合;
ИSf璱=∪j∈BvQ璲И
(2) 線“與”短路W-A(Wired-AND-Short):最終的邏輯值為各網(wǎng)絡(luò)STV的邏輯“與”。數(shù)學描述如下;
ИSf璱=∩j∈BvQ璲И
對網(wǎng)絡(luò)進行測試時,測試時間取決于PTV的數(shù)量,測試的診斷能力則受到混淆癥候和混迭癥候的影響[5]。
混迭癥候(Abasing Syndrome):當測試矩陣中某個網(wǎng)絡(luò)的STV或某個短路故障響應(yīng)相同時,將無法確定這個網(wǎng)絡(luò)是否包含在該短路故障中,這種現(xiàn)象稱為混迭癥候。
混淆癥候(Confounding Syndrome):當多個獨立故障的輸出結(jié)果相同時,不能確定故障現(xiàn)象究竟是由哪個故障引起,這種現(xiàn)象稱為混淆癥候。
上述的故障模型是目前互連測試研究中常用的故障模型?,F(xiàn)把這種模型稱為故障模型1。故障模型1把網(wǎng)絡(luò)作為一個整體來測試,認為網(wǎng)絡(luò)是發(fā)生故障的最小單元。但在實際上網(wǎng)絡(luò)包括輸入點,輸出點和連線,這幾個環(huán)節(jié)可能分別發(fā)生不同的故障。
通過對電路板生產(chǎn)過程的分析,可以在故障模型1的基礎(chǔ)上把網(wǎng)絡(luò)故障加以細化,從而得出更接近電路板生產(chǎn)實際的互連故障模型。
3 以管腳故障為參考點的互連故障模型(故障模型2)
電路板在生產(chǎn)過程中發(fā)生的管腳互連故障可以分為以下幾類:
電路板基板導線的故障;
焊接故障:包括元器件管腳與基板之間的焊料缺失;管腳焊點上的焊料橋接;管腳斷裂或抬起導致管腳脫離焊點等;
元器件故障:包括電路板上的元器件缺失;在貼片時使用了錯誤的元器件;元器件安裝方向相反等;
隨著電路板生產(chǎn)技術(shù)的進步,基板的制造過程已經(jīng)非常成熟,基板上的導線發(fā)生故障的可能性很小,工廠在制造過程中的問題大都發(fā)生在元器件的組裝階段,即焊接或元器件引起的故障。
前面已經(jīng)說明,電路板上的元器件是串行連接成邊界掃描鏈的。元器件故障會導致電路板上的邊界掃描鏈中斷,因此在測試邊界掃描鏈的完整性時就可以發(fā)現(xiàn)并修復元器件的問題。這樣在進行管腳互連測試時,元器件故障就已經(jīng)被排除了,所以互連測試主要是檢查元器件管腳的焊接故障,包括以下2個方面:
管腳和電路板導線開路:包括元器件管腳脫離焊點,元器件管腳與基板之間的焊料缺失;
管腳之間短路,即元器件管腳焊點上的焊料橋接。
管腳對應(yīng)著網(wǎng)絡(luò)的輸入或輸出點,把管腳故障作為參考點來定義網(wǎng)絡(luò)互連故障,可以得出:網(wǎng)絡(luò)短路就是網(wǎng)絡(luò)的輸入點之間或輸出點之間發(fā)生短路,而開路就是指網(wǎng)絡(luò)的輸入點或輸出點跟網(wǎng)絡(luò)導線之間斷開。
對于單個網(wǎng)絡(luò)而言,其輸入點和輸出點可能只有一端發(fā)生故障,可能兩端同時發(fā)生同一類故障,也可能兩端各發(fā)生不同的故障。因此網(wǎng)絡(luò)的互連故障可以有更多的類型,現(xiàn)歸納如下:
(1) 網(wǎng)絡(luò)輸出呆滯:故障原因包括網(wǎng)絡(luò)一端開路一端正常;或兩端同時開路;如圖4所示。網(wǎng)絡(luò)跟電源或地發(fā)生短路也會造成這類故障。這些故障都表現(xiàn)為網(wǎng)絡(luò)SRV固定為1(S-A-1)或者固定為0(S-A-0)。
(2) 網(wǎng)絡(luò)短路:N(N≥2)個網(wǎng)絡(luò)之間發(fā)生短路,且這些網(wǎng)絡(luò)本身沒有開路故障, 如圖5所示。這種短路故障可能是W-A短路,也可能是W-O短路,這些短路網(wǎng)絡(luò)可能一端短路另一端正常,也可能網(wǎng)絡(luò)兩端同時和其他網(wǎng)絡(luò)短路。
圖4 網(wǎng)絡(luò)開路故障
圖5 網(wǎng)絡(luò)短路故障
(3) 輸入短路,輸出開路:如圖6所示,某個網(wǎng)絡(luò)輸入點跟其他網(wǎng)絡(luò)短路,同時輸出點開路。在這種情況下,該網(wǎng)絡(luò)的SRV為S-A-0或S-A-1,輸入點因為和其他網(wǎng)絡(luò)短路,會對短路組合的SRV產(chǎn)生影響。
(4) 輸入開路,輸出短路:如圖7所示,某個網(wǎng)絡(luò)輸入點開路,同時輸出點跟其他網(wǎng)絡(luò)短路。在這種情況下,該網(wǎng)絡(luò)的輸入值對輸出值沒有影響,網(wǎng)絡(luò)的輸出值是由短路組合決定的。
圖6 輸入短路,輸出開路故障
圖7 輸入開路,輸出短路故障
如果把網(wǎng)絡(luò)的輸入點和輸出點對調(diào),第四種情況就變成了第3種情況。但是在把電路板描述成網(wǎng)絡(luò)表時,對于輸入點和輸出點發(fā)生何種故障是完全不可知的,所以,第3種情況和第4種情況應(yīng)該分開來考慮。
在此把上述故障模型稱為故障模型2,其中第1種和第2種情況與故障模型1是等效的,在建模時考慮到網(wǎng)絡(luò)兩端可能發(fā)生不同的故障,增加了第3種和第4種情況。
每個網(wǎng)絡(luò)的輸出結(jié)果只能直接反映輸出端的故障,如果輸入端也存在故障,那么它就可能被忽視。這里把這種現(xiàn)象稱為漏判。
工廠測試的目的是發(fā)現(xiàn)故障并進行維修,其流程如圖8所示:測試中如發(fā)現(xiàn)故障,就要進行維修,修復后再進行驗證測試。如果發(fā)生了漏判,一次測試不能發(fā)現(xiàn)所有故障,則只能在電路板輸出端維修完成后,進行驗證測試時,才能發(fā)現(xiàn)輸入端的故障,于是必須再次維修并再次驗證測試。這就增加了測試的時間和維修的復雜性。如果能夠基于故障模型2找到方法消除漏判,就可以有效提高生產(chǎn)測試的效率。
4 基于故障模型2的測試方案
故障模型2引入了網(wǎng)絡(luò)一端開路,一端短路的故障。在測試時采用走步1算法[6]和走步0算法[6]生成測試矩陣,能夠同時檢測出網(wǎng)絡(luò)兩端的故障,避免發(fā)生漏判。
設(shè)網(wǎng)絡(luò)總數(shù)為N,走步1算法的初始測試矢量為1,0,0,…,0(N維),然后讓1順序移位,構(gòu)成N行N列的測試矩陣,所以稱作走步1算法。走步0算法與走步1算法原理相同,只是走步0算法的初始測試矢量為0,1,1,…,1,然后讓0順序移位。走步1算法和走步0算法生成的測試矩陣,PTV數(shù)量都是N。
表1和表2是走步1算法和走步0算法生成的測試矩陣示例,網(wǎng)絡(luò)總數(shù)為5。
圖8 工廠 JTAG測試流程
表1 走步1測試矩陣
網(wǎng)絡(luò)
PTV
vP5vP4vP3vP2vP1STV
110000vQ1
201000vQ2
300100vQ3
400010vQ4
500001vQ5
表2 走步0測試矩陣
網(wǎng)絡(luò)
PTV
vP5vP4vP3vP2vP1STV
101111vQ1
210111vQ2
311011vQ3
411101vQ4
511110vQ5
走步1算法生成的測試矩陣能實現(xiàn)對所有W-O短路的完全診斷,每個故障征兆都有惟一的故障成因與之對應(yīng),不會發(fā)生混迭或混淆[7];對網(wǎng)絡(luò)一端W-O短路,一端開路的故障也具有診斷能力。因為STV 中“1”的位置是網(wǎng)絡(luò)的標志,如果發(fā)生了W-O短路,可以根據(jù)SRV中“1”的位置,分析出哪些網(wǎng)絡(luò)發(fā)生了短路,哪些網(wǎng)絡(luò)發(fā)生了開路,從而避免漏判。例如,用走┎1矩陣對表1的5個網(wǎng)絡(luò)中進行測試,如果網(wǎng)絡(luò)1的SRV是00000, 網(wǎng)絡(luò)2的SRV是11000,從11000這個結(jié)果,可以分析出網(wǎng)絡(luò)1和2 的輸入點必然發(fā)生了或短路;但是網(wǎng)絡(luò)1的SRV不是11000,而是全“0”向量,那么可以判定:網(wǎng)絡(luò)1的輸出點發(fā)生了開路,導致輸出㏒-A-0。
同理,走步0算法生成的測試矩陣能實現(xiàn)對所有W-A短路的完全診斷,對網(wǎng)絡(luò)一端W-A短路,一端開路的故障具有診斷能力。
在實際測試時為了同時覆蓋W-O短路和W-A短路,要把走步1矩陣和走步0矩陣組合起來使用,如表3示。這樣,PTV 的數(shù)量就是2N。
表3 走步1和走步0組合測試矩陣
網(wǎng)絡(luò)點
PTV
vP10獀P9vP8vP7vP6vP5vP4vP3vP2vP1STV
11000001111vQ1
20100010111vQ2
30010011011vQ3
40001011101vQ4
50000111110vQ5
走步1矩陣和走步0矩陣構(gòu)成的組合測試矩陣,只有當全部網(wǎng)絡(luò)一起發(fā)生短路時,其結(jié)果才是全“0”SRV或全“1”SRV。而顯然這種故障是不可能發(fā)生的,因此可以認為全“0”SRV和全“1”SRV不是由短路故障造成的,這樣就避免了和開路故障發(fā)生混淆。也就是說,用組合矩陣測試時,只要一個網(wǎng)絡(luò)的輸出是全“0”和全“1”,就可以肯定該網(wǎng)絡(luò)發(fā)生了輸出開路或者輸出呆滯。
綜上所述,組合矩陣能夠?qū)收夏P?的所有情況進行完備診斷,不會發(fā)生混迭癥候、混淆癥候和漏判問題。
組合矩陣的PTV數(shù)量是2N,當網(wǎng)絡(luò)數(shù)量比較大時會造成測試時間過長。因此對于大規(guī)模集成電路板的測試不宜直接采用這種算法。為了縮短測試時間,可以采用兩步測試的方案[8]:第一步用緊湊性比較好的測試矩陣進行初步測試,快速地找出可能存在問題的網(wǎng)絡(luò),縮小診斷測試的范圍;第二步,采用組合矩陣,對存在故障的網(wǎng)絡(luò)進行精確診斷。這樣就可以又快又好地達到測試目的。
第一步測試可以采用改良計數(shù)序列算法[9]或等權(quán)值算法[10],其PTV數(shù)量級為 log2 NВ是緊湊性最好的一類算法[10]。用這類算法生成的測試矩陣可以發(fā)現(xiàn)所有可能存在問題的網(wǎng)絡(luò),但不能完全確定故障的位置和類型。
5 結(jié) 語
電路板生產(chǎn)測試目的在于發(fā)現(xiàn)故障并進行維修。測試中對故障的漏判會造成反復維修,影響生產(chǎn)的效率,因此需要盡可能全面地發(fā)現(xiàn)故障?,F(xiàn)以網(wǎng)絡(luò)輸入端和輸出端的故障為參考點,引入了一端開路,一端短路的故障?;谶@種故障模型的測試可以避免對輸入端故障的漏判,從而減少反復維修。
JTAG測試技術(shù)的應(yīng)用還包括用BS器件測試非BS器件[3]。因為BS器件之間的互連可能會經(jīng)過一些非BS器件(電阻,功放等),可以通過測試BS器件之間的互連來檢查這些中繼器件。這種測試實際上是假設(shè)網(wǎng)絡(luò)互連模型的導線部分也可能發(fā)生故障。根據(jù)這種情況,本文提出的故障模型2可以進一步擴展,從而應(yīng)用到BS器件測試非BS器件的領(lǐng)域。
參考文獻
[1]IEEE Std 1149.1:IEEE Standard Test Access Port and Boundary-Scan Architecture[S].IEEE Computer Society,2001.
[2]Najmi Jarwala,Yau C W.A New Framework for Analyzing Test Generation and Diagnosis Algorithms for Wiring Interconnects[A].Intl Test Conf..1989:63-70.
[3]Ben Bennetts.Boundary Scan Tutorial[R].ASSET InterTech.,2001.
[4]胡政,溫熙森.邊界掃描測試的數(shù)學描述模型[J].國防科技大學學報,1999,21(5):83-87.
[5]陳圣儉,牛春平,任哲平.邊界掃描測試生成算法優(yōu)化問題[J].電子測量與儀器學報,2006,20(4):73-76.
[6]Hassan A,Rajski J,Agarwal V K.Testing and Diagnosis of Interconnects using Boundary Scan Architecture[A].IntlTest Conf..1988:126-137.
[7]牛春平,陳圣儉,任哲平.同時具備W-O和W-A對角獨立性的多故障測試生成算法[J].微電子學與計算機,2005,22(1):54-57.
[8]Cheng W T.Optimal Diagnostic Methods for Wiring Interconnects[J].IEEE Trans.on C.A.D.,1992,11(9):1 161-1 165.
[9]Goel P,McMahon M T.Electronic Chip-in-Place Test[A].Proc.Intl.Test Conf.1982:126-137.
[10]胡政,黎瓊煒,溫熙森.邊界掃描測試向量生成的抗混迭算法[J].電子測量技術(shù),1998(1):8-12.
[11]楊吉祥,趙玉蓮.用于電路板生產(chǎn)檢驗的邊界掃描[J].國外電子測量技術(shù),1997(2):15-18.
作者簡介 李 洋 1979年出生,陜西漢中人,現(xiàn)在清華大學電子工程系在職攻讀工程碩士。供職于摩托羅拉(中國)電子有限公司,主要負責產(chǎn)品的可測試性設(shè)計和基于邊界掃描的測試技術(shù)應(yīng)用。