0 引 言
邊界掃描技術(shù)是聯(lián)合測(cè)試行動(dòng)組JTAG(Joint Test Action Group)于1987年提出一種電路測(cè)試方法,并于1990年被IEEE接納,形成了IEEE 1149.1標(biāo)準(zhǔn)。因此邊界掃描技術(shù)也被稱為JTAG測(cè)試技術(shù)。隨著大規(guī)模集成電路的發(fā)展,JTAG測(cè)試技術(shù)得到了越來(lái)越廣泛的應(yīng)用,尤其是在電路板制造行業(yè)中,很多工廠已經(jīng)把其作為必備的生產(chǎn)測(cè)試流程。
能夠進(jìn)行JTAG測(cè)試的電路板必須采用支持IEEE 1149.1標(biāo)準(zhǔn)的電子元器件,這里稱為BS(Bound—ary Scan)器件。BS器件的管腳和內(nèi)部邏輯電路之間增加了由移位寄存器構(gòu)成的邊界掃描單元,各邊界掃描單元串行連接。把電路板上的所有BS器件連接起來(lái),就形成了邊界掃描鏈。通過(guò)串行掃描方式設(shè)定和讀取器件管腳的狀態(tài),實(shí)現(xiàn)對(duì)電路板的測(cè)試和診斷。
電路板的JTAG測(cè)試包括以下3個(gè)步驟:
第一步:測(cè)試邊界掃描鏈的完整性,確保JTAG的掃描鏈路和各個(gè)接口工作正常。這一步是JTAG測(cè)試的基礎(chǔ),必須在其他測(cè)試開(kāi)始之前進(jìn)行;
第二步:測(cè)試電路板各BS器件管腳之間的互連;
第三步:對(duì)電路板上的可編程邏輯器件進(jìn)行在線編程。
在此主要研究BS器件管腳之間的互連測(cè)試?;ミB測(cè)試采用網(wǎng)絡(luò)互連模型,用網(wǎng)絡(luò)描述電路板上的互連,把網(wǎng)絡(luò)之間的短路和開(kāi)路作為電路板的故障模型。實(shí)際上,電路板在制造過(guò)程中發(fā)生的故障有其特殊的成因,根據(jù)這些特點(diǎn),可以進(jìn)一步細(xì)化網(wǎng)絡(luò)互連模型的故障模型,使之更加符合電路板制造業(yè)的實(shí)際缺陷,從而提高工廠 JTAG測(cè)試的效率。
在以下章節(jié)里,首先介紹網(wǎng)絡(luò)互連模型,并給出了傳統(tǒng)的故障模型,然后根據(jù)電路板制造業(yè)的特點(diǎn),對(duì)傳統(tǒng)故障模型進(jìn)行了擴(kuò)展,給出了一種更貼近電路板生產(chǎn)實(shí)際的故障模型,最后提出了基于新故障模型的測(cè)試方案。
l 電路板的網(wǎng)絡(luò)互連模型
JTAG互連測(cè)試采用網(wǎng)絡(luò)互連模型。其核心思想是把電路板上元器件管腳之間的連接描述為網(wǎng)絡(luò)。一個(gè)網(wǎng)絡(luò)是由1個(gè)輸入節(jié)點(diǎn)、1個(gè)輸出節(jié)點(diǎn),和1根連接輸入/輸出節(jié)點(diǎn)的導(dǎo)線構(gòu)成的,圖1是網(wǎng)絡(luò)的示意圖。網(wǎng)絡(luò)的輸入、輸出點(diǎn)對(duì)應(yīng)著電路板上存在互連關(guān)系的2個(gè)管腳,網(wǎng)絡(luò)的導(dǎo)線對(duì)應(yīng)著這兩個(gè)管腳之間的基板導(dǎo)線。
把電路板上所有的管腳互連都定義成網(wǎng)絡(luò),就構(gòu)成了網(wǎng)絡(luò)表。圖2是一個(gè)由5個(gè)網(wǎng)絡(luò)組成的網(wǎng)絡(luò)表。
JTAG技術(shù)提供了一套寫入和讀取機(jī)制,通過(guò)JTAG可以把測(cè)試代碼串行加載到網(wǎng)絡(luò)表的各個(gè)輸入點(diǎn),然后從輸出點(diǎn)串行讀出測(cè)試結(jié)果。通過(guò)對(duì)測(cè)試結(jié)果的分析,來(lái)檢查網(wǎng)絡(luò)是否發(fā)生了故障。
在對(duì)網(wǎng)絡(luò)進(jìn)行互連測(cè)試時(shí),涉及到以下幾個(gè)概念:
并行測(cè)試向量PTV(Parallel Test Vector):在一次測(cè)試循環(huán)中,加載到各網(wǎng)絡(luò)上的測(cè)試代碼構(gòu)成的向量,記為vpj,j=1,2,…,P。對(duì)某個(gè)固定的電路板而言,它的PTV維數(shù)是確定的.等于網(wǎng)絡(luò)的總數(shù)N。
并行響應(yīng)向量PRV(Parallel Response Vector):采用某個(gè)PTV進(jìn)行測(cè)試所得到的測(cè)試響應(yīng)向量稱為并行響應(yīng)向量,記為rpj,j=1,2,…,P。
串行測(cè)試向量STV(Sequential Test Vector):在多次測(cè)試循環(huán)中施加到同一網(wǎng)絡(luò)的測(cè)試代碼構(gòu)成的向量,記為vQj,j=1,2,…,N。STV的數(shù)量等于網(wǎng)絡(luò)的總數(shù)N,其維數(shù)等于測(cè)試循環(huán)的次數(shù)(或PTV的數(shù)目)。
串行測(cè)試響應(yīng)向量SRV(SeqLlential Response Vector):網(wǎng)絡(luò)在輸入一定的STV后的輸出響應(yīng)向量為串行測(cè)試響應(yīng)向量,記為rQj,j=1,2,…,N。當(dāng)網(wǎng)絡(luò)無(wú)故障時(shí),其SRV與STV相同。
測(cè)試矩陣:以PTV為列向量,STV為行向量構(gòu)成的矩陣。
故障征兆:當(dāng)某個(gè)網(wǎng)絡(luò)存在故障時(shí),表征故障的SRV稱為故障征兆,記為Sfi。
2 傳統(tǒng)的互連故障模型(故障模型1)
傳統(tǒng)的互連故障模型包括2種故障:一種是單個(gè)網(wǎng)絡(luò)輸出呆滯。另一種是幾個(gè)網(wǎng)絡(luò)之間發(fā)生短路。如圖3所示。
單個(gè)網(wǎng)絡(luò)輸出呆滯,是指網(wǎng)絡(luò)的輸出值為固定為1或者固定為O。因此又被稱為S—A一1(Stuack—At一1)或S—A一0(Stuack—At—O)。造成這類故障的原因主要有以下2個(gè):
(1)網(wǎng)絡(luò)發(fā)生開(kāi)路,外界不能給其施加激勵(lì),從該網(wǎng)絡(luò)讀取的響應(yīng)始終為1或者始終為0。具體為1或O取決于電路工藝。
(2)網(wǎng)絡(luò)跟電源或地短路,造成網(wǎng)絡(luò)輸出始終為1或者始終為O。
發(fā)生S—A一1或S—A一0故障的網(wǎng)絡(luò),其測(cè)試輸出為全“l”SRV或全“0”SRV。
短路故障是指一個(gè)網(wǎng)絡(luò)和其他1個(gè)或幾個(gè)網(wǎng)絡(luò)發(fā)生橋接,短路故障所涉及的網(wǎng)絡(luò)具備相同的輸出結(jié)果,即在不同的STV激勵(lì)下,涉及短路的網(wǎng)絡(luò)SRV相同。短路故障有兩種類型:
(1)線“或”短路W—O(Wired—OR—Short):最終的邏輯值為各網(wǎng)絡(luò)STV的邏輯“或”。數(shù)學(xué)描述如下,其中B表示涉及短路的網(wǎng)絡(luò)的集合;
(2)線“與”短路W—A(Wired—AND—Short):最終的邏輯值為各網(wǎng)絡(luò)STV的邏輯“與”。數(shù)學(xué)描述如下;
對(duì)網(wǎng)絡(luò)進(jìn)行測(cè)試時(shí),測(cè)試時(shí)間取決于PTV的數(shù)量,測(cè)試的診斷能力則受到混淆癥候和混迭癥候的影響?;斓Y候(Abasing Syndrome):當(dāng)測(cè)試矩陣中某個(gè)網(wǎng)絡(luò)的STV或某個(gè)短路故障響應(yīng)相同時(shí),將無(wú)法確定這個(gè)網(wǎng)絡(luò)是否包含在該短路故障中,這種現(xiàn)象稱為混迭癥候。混淆癥候(Confolmding Syndrome):當(dāng)多個(gè)獨(dú)立故障的輸出結(jié)果相同時(shí),不能確定故障現(xiàn)象究竟是由哪個(gè)故障引起,這種現(xiàn)象稱為混淆癥候。上述的故障模型是目前互連測(cè)試研究中常用的故障模型。現(xiàn)把這種模型稱為故障模型1。故障模型1把網(wǎng)絡(luò)作為一個(gè)整體來(lái)測(cè)試,認(rèn)為網(wǎng)絡(luò)是發(fā)生故障的最小單元。但在實(shí)際上網(wǎng)絡(luò)包括輸入點(diǎn),輸出點(diǎn)和連線,這幾個(gè)環(huán)節(jié)可能分別發(fā)生不同的故障。
通過(guò)對(duì)電路板生產(chǎn)過(guò)程的分析,可以在故障模型1的基礎(chǔ)上把網(wǎng)絡(luò)故障加以細(xì)化,從而得出更接近電路板生產(chǎn)實(shí)際的互連故障模型。
3 以管腳故障為參考點(diǎn)的互連故障模型(故障模型2)
電路板在生產(chǎn)過(guò)程中發(fā)生的管腳互連故障可以分為以下幾類:
電路板基板導(dǎo)線的故障;
焊接故障:包括元器件管腳與基板之間的焊料缺失;管腳焊點(diǎn)上的焊料橋接;管腳斷裂或抬起導(dǎo)致管腳脫離焊點(diǎn)等;
元器件故障:包括電路板上的元器件缺失;在貼片時(shí)使用了錯(cuò)誤的元器件;元器件安裝方向相反等;
隨著電路板生產(chǎn)技術(shù)的進(jìn)步,基板的制造過(guò)程已經(jīng)非常成熟,基板上的導(dǎo)線發(fā)生故障的可能性很小,工廠在制造過(guò)程中的問(wèn)題大都發(fā)生在元器件的組裝階段,即焊接或元器件引起的故障。
前面已經(jīng)說(shuō)明,電路板上的元器件是串行連接成邊界掃描鏈的。元器件故障會(huì)導(dǎo)致電路板上的邊界掃描鏈中斷,因此在測(cè)試邊界掃描鏈的完整性時(shí)就可以發(fā)現(xiàn)并修復(fù)元器件的問(wèn)題。這樣在進(jìn)行管腳互連測(cè)試時(shí),元器件故障就已經(jīng)被排除了,所以互連測(cè)試主要是檢查元器件管腳的焊接故障,包括以下2個(gè)方面:
管腳和電路板導(dǎo)線開(kāi)路:包括元器件管腳脫離焊點(diǎn),元器件管腳與基板之間的焊料缺失;
管腳之間短路,即元器件管腳焊點(diǎn)上的焊料橋接。
管腳對(duì)應(yīng)著網(wǎng)絡(luò)的輸入或輸出點(diǎn),把管腳故障作為參考點(diǎn)來(lái)定義網(wǎng)絡(luò)互連故障,可以得出:網(wǎng)絡(luò)短路就是網(wǎng)絡(luò)的輸入點(diǎn)之間或輸出點(diǎn)之間發(fā)生短路,而開(kāi)路就是指網(wǎng)絡(luò)的輸入點(diǎn)或輸出點(diǎn)跟網(wǎng)絡(luò)導(dǎo)線之間斷開(kāi)。
對(duì)于單個(gè)網(wǎng)絡(luò)而言,其輸入點(diǎn)和輸出點(diǎn)可能只有一端發(fā)生故障,可能兩端同時(shí)發(fā)生同一類故障,也可能兩端各發(fā)生不同的故障。因此網(wǎng)絡(luò)的互連故障可以有更多的類型,現(xiàn)歸納如下:
(1)網(wǎng)絡(luò)輸出呆滯:故障原因包括網(wǎng)絡(luò)一端開(kāi)路一端正常;或兩端同時(shí)開(kāi)路;如圖4所示。網(wǎng)絡(luò)跟電源或地發(fā)生短路也會(huì)造成這類故障。這些故障都表現(xiàn)為網(wǎng)絡(luò)SRV固定為1(S—A一1)或者固定為O(S—A一0)。
(2)網(wǎng)絡(luò)短路:N(N≥2)個(gè)網(wǎng)絡(luò)之間發(fā)生短路,且這些網(wǎng)絡(luò)本身沒(méi)有開(kāi)路故障,如圖5所示。這種短路故障可能是W—A短路,也可能是W—O短路,這些短路網(wǎng)絡(luò)可能一端短路另一端正常,也可能網(wǎng)絡(luò)兩端同時(shí)和其他網(wǎng)絡(luò)短路。
(3)輸入短路,輸出開(kāi)路:如圖6所示,某個(gè)網(wǎng)絡(luò)輸入點(diǎn)跟其他網(wǎng)絡(luò)短路,同時(shí)輸出點(diǎn)開(kāi)路。在這種情況下,該網(wǎng)絡(luò)的SRV為S—A—O或S—A一1,輸入點(diǎn)因?yàn)楹推渌W(wǎng)絡(luò)短路,會(huì)對(duì)短路組合的SRV產(chǎn)生影響。
(4)輸入開(kāi)路,輸出短路:如圖7所示,某個(gè)網(wǎng)絡(luò)輸入點(diǎn)開(kāi)路,同時(shí)輸出點(diǎn)跟其他網(wǎng)絡(luò)短路。在這種情況下,該網(wǎng)絡(luò)的輸入值對(duì)輸出值沒(méi)有影響,網(wǎng)絡(luò)的輸出值是由短路組合決定的。
如果把網(wǎng)絡(luò)的輸入點(diǎn)和輸出點(diǎn)對(duì)調(diào),第四種情況就變成了第3種情況。但是在把電路板描述成網(wǎng)絡(luò)表時(shí),對(duì)于輸入點(diǎn)和輸出點(diǎn)發(fā)生何種故障是完全不可知的,所以,第3種情況和第4種情況應(yīng)該分開(kāi)來(lái)考慮。
在此把上述故障模型稱為故障模型2,其中第1種和第2種情況與故障模型1是等效的,在建模時(shí)考慮到網(wǎng)絡(luò)兩端可能發(fā)生不同的故障,增加了第3種和第4種情況。
每個(gè)網(wǎng)絡(luò)的輸出結(jié)果只能直接反映輸出端的故障,如果輸入端也存在故障,那么它就可能被忽視。這里把這種現(xiàn)象稱為漏判。
工廠測(cè)試的目的是發(fā)現(xiàn)故障并進(jìn)行維修,其流程如圖8所示:測(cè)試中如發(fā)現(xiàn)故障,就要進(jìn)行維修,修復(fù)后再進(jìn)行驗(yàn)證測(cè)試。如果發(fā)生了漏判,一次測(cè)試不能發(fā)現(xiàn)所有故障,則只能在電路板輸出端維修完成后,進(jìn)行驗(yàn)證測(cè)試時(shí),才能發(fā)現(xiàn)輸入端的故障,于是必須再次維修并再次驗(yàn)證測(cè)試。這就增加了測(cè)試的時(shí)間和維修的復(fù)雜性。如果能夠基于故障模型2找到方法消除漏判,就可以有效提高生產(chǎn)測(cè)試的效率。
4 基于故障模型2的測(cè)試方案
故障模型2引入了網(wǎng)絡(luò)一端開(kāi)路,一端短路的故障。在測(cè)試時(shí)采用走步1算法和走步0算法生成測(cè)試矩陣,能夠同時(shí)檢測(cè)出網(wǎng)絡(luò)兩端的故障,避免發(fā)生漏判。
設(shè)網(wǎng)絡(luò)總數(shù)為N,走步1算法的初始測(cè)試矢量為1,O,0,…,O(N維),然后讓1順序移位,構(gòu)成N行N列的測(cè)試矩陣,所以稱作走步1算法。走步O算法與走步1算法原理相同,只是走步O算法的初始測(cè)試矢量為O,1,1,…,1,然后讓O順序移位。走步1算法和走步0算法生成的測(cè)試矩陣,PTV數(shù)量都是N。
表1和表2是走步1算法和走步0算法生成的測(cè)試矩陣示例,網(wǎng)絡(luò)總數(shù)為5。
走步1算法生成的測(cè)試矩陣能實(shí)現(xiàn)對(duì)所有W一O短路的完全診斷,每個(gè)故障征兆都有惟一的故障成因與之對(duì)應(yīng),不會(huì)發(fā)生混迭或混淆;對(duì)網(wǎng)絡(luò)一端W—O短路,一端開(kāi)路的故障也具有診斷能力。因?yàn)镾TV中“1”的位置是網(wǎng)絡(luò)的標(biāo)志,如果發(fā)生了W一O短路,可以根據(jù)SRV中“1”的位置,分析出哪些網(wǎng)絡(luò)發(fā)生了短路,哪些網(wǎng)絡(luò)發(fā)生了開(kāi)路,從而避免漏判。例如,用走步1矩陣對(duì)表1的5個(gè)網(wǎng)絡(luò)中進(jìn)行測(cè)試,如果網(wǎng)絡(luò)1的SRV是00000,網(wǎng)絡(luò)2的SRV是11000,從 11000這個(gè)結(jié)果,可以分析出網(wǎng)絡(luò)1和2的輸入點(diǎn)必然發(fā)生了或短路;但是網(wǎng)絡(luò)1的SRV不是11000,而是全“O”向量,那么可以判定:網(wǎng)絡(luò)1的輸出點(diǎn)發(fā)生了開(kāi)路,導(dǎo)致輸出S—A一0。
同理,走步O算法生成的測(cè)試矩陣能實(shí)現(xiàn)對(duì)所有W—A短路的完全診斷,對(duì)網(wǎng)絡(luò)一端W—A短路,一端開(kāi)路的故障具有診斷能力。
在實(shí)際測(cè)試時(shí)為了同時(shí)覆蓋W—O短路和W—A短路,要把走步1矩陣和走步O矩陣組合起來(lái)使用,如表3示。這樣,PTV的數(shù)量就是2N。
走步1矩陣和走步O矩陣構(gòu)成的組合測(cè)試矩陣,只有當(dāng)全部網(wǎng)絡(luò)一起發(fā)生短路時(shí),其結(jié)果才是全“O”SRV或全“1”SRV。而顯然這種故障是不可能發(fā)生的,因此可以認(rèn)為全“O”SRV和全“1”SRV不是由短路故障造成的,這樣就避免了和開(kāi)路故障發(fā)生混淆。也就是說(shuō),用組合矩陣測(cè)試時(shí),只要一個(gè)網(wǎng)絡(luò)的輸出是全“0”和全“1”,就可以肯定該網(wǎng)絡(luò)發(fā)生了輸出開(kāi)路或者輸出呆滯。綜上所述,組合矩陣能夠?qū)收夏P?的所有情況進(jìn)行完備診斷,不會(huì)發(fā)生混迭癥候、混淆癥候和漏判問(wèn)題。組合矩陣的PTV數(shù)量是2N,當(dāng)網(wǎng)絡(luò)數(shù)量比較大時(shí)會(huì)造成測(cè)試時(shí)間過(guò)長(zhǎng)。因此對(duì)于大規(guī)模集成電路板的測(cè)試不宜直接采用這種算法。為了縮短測(cè)試時(shí)間,可以采用兩步測(cè)試的方案:第一步用緊湊性比較好的測(cè)試矩陣進(jìn)行初步測(cè)試,快速地找出可能存在問(wèn)題的網(wǎng)絡(luò),縮小診斷測(cè)試的范圍;第二步,采用組合矩陣,對(duì)存在故障的網(wǎng)絡(luò)進(jìn)行精確診斷。這樣就可以又快又好地達(dá)到測(cè)試目的。第一步測(cè)試可以采用改良計(jì)數(shù)序列算法或等權(quán)值算法,其PTV數(shù)量級(jí)為log2N,是緊湊性最好的一類算法。用這類算法生成的測(cè)試矩陣可以發(fā)現(xiàn)所有可能存在問(wèn)題的網(wǎng)絡(luò),但不能完全確定故障的位置和類型。
5 結(jié) 語(yǔ)
電路板生產(chǎn)測(cè)試目的在于發(fā)現(xiàn)故障并進(jìn)行維修。測(cè)試中對(duì)故障的漏判會(huì)造成反復(fù)維修,影響生產(chǎn)的效率,因此需要盡可能全面地發(fā)現(xiàn)故障。現(xiàn)以網(wǎng)絡(luò)輸入端和輸出端的故障為參考點(diǎn),引入了一端開(kāi)路,一端短路的故障?;谶@種故障模型的測(cè)試可以避免對(duì)輸入端故障的漏判,從而減少反復(fù)維修。
JTAG測(cè)試技術(shù)的應(yīng)用還包括用BS器件測(cè)試非BS器件。因?yàn)锽S器件之間的互連可能會(huì)經(jīng)過(guò)一些非BS器件(電阻,功放等),可以通過(guò)測(cè)試BS器件之間的互連來(lái)檢查這些中繼器件。這種測(cè)試實(shí)際上是假設(shè)網(wǎng)絡(luò)互連模型的導(dǎo)線部分也可能發(fā)生故障。根據(jù)這種情況,本文提出的故障模型2可以進(jìn)一步擴(kuò)展,從而應(yīng)用到 BS器件測(cè)試非BS器件的領(lǐng)域。