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