一、引言
隨著微電子技術(shù)進入超大規(guī)模集成電路(VLSI)時代,VLSI電路的高度復雜性及多層印制板、表面貼裝(SMT)、圓片規(guī)模集成(WSI)和多芯片模塊 (MCM)技術(shù)在電路系統(tǒng)中的運用,使得電路節(jié)點的物理可訪問性正逐步削減以至于消失,電路和系統(tǒng)的可測試性急劇下降,測試費用在電路和系統(tǒng)總費用中所占 的比例不斷上升,常規(guī)測試方法正面臨著日趨嚴重的困難。
測試算法的研究和測試實踐證明了一個基本的事實:要對一個不具有可觀測性的電路進行測試是徒勞的,只有提高電路的可測性設(shè)計(design for testability,DFT),才能使電路的測試問題得到簡化并最終得到解決。而近年來飛速發(fā)展的JTAG邊界掃描技術(shù)很好的解決了這個問題,邊界掃 描技術(shù)是迄今為止最成熟的DFT技術(shù),它已經(jīng)成為DFT的主要手段,對于DFT技術(shù)的發(fā)展具有深遠的影響。而其中互連測試又是其中最關(guān)鍵的技術(shù)之一。
二、互連測試的原理
基于IEEE Std 1149.1(即JTAG協(xié)議)制定邊界掃描方法的檢測邏輯結(jié)構(gòu),是用邊界掃描單元組成的邊界掃描鏈,每個單元介于外部管腳與內(nèi)部邏輯之間,并且是串行連接的,由TAP(檢測口控制器)來控制數(shù)據(jù)鏈在邊界掃描鏈中的動作。
互連測試主要是指對電路板上器件之間互連線的測試,主要檢測電路板級的開路、短路或者呆滯型等故障。互連測試是引進邊界掃描測試技術(shù)的一個主要原因,因此 在IEEE 1149.1標準中,互連測試指令(EXTEST)是一條強制性指令,所有BS(Boundary Scan)器件都支持互連測試。
互連測試是最主要的測試任務(wù),很多測試都是依據(jù)互連測試的原理進行的。圖1是互連測試原理圖。
在圖1的互連測試中,基本的測試路線是:掃描單元、驅(qū)動器件、邊界線、路徑、焊接、接口、焊接、路徑、邊界線、驅(qū)動器件、掃描單元。
掃描單元就像虛擬探針,要測試BS器件之間的連線是否正常,可以通過給輸出型單元賦值,從輸出型掃描單元捕獲這個值的方法來進行判斷。驅(qū)動測試激勵的芯 片掃描置入的測試指令為EXTEST,接收測試響應(yīng)的芯片掃描置入的指令為SAMPLE或者EXTEST。至于輸入多少測試激勵,每一組測試激勵又是什么 樣的值,這是由測試矢量生成算法決定的,選用的測試算法,測試矢量也不盡相同。
下面用一個簡單的例子(圖2)來說明互連測試的原理。
通過輸入三組測試矢量
從接收端單元得到三組測試響應(yīng)
通過一定的故障診斷算法就可以檢測到圖2中net1和net2存在邏輯與的橋接短路故障,net4存在固定為0的呆滯型故障。
三、互連測試的主要功能
1.可以檢測電路板上面的開路故障,并能精確定位到具體的引腳;
2.可以檢測電路板上面的橋接短路故障,并能精確定位到橋接的具體網(wǎng)絡(luò)和引腳;
3.可以檢測呆滯型故障,并能夠精確定位到具體的引腳;
4.檢測其余不知名的故障(測試響應(yīng)與期望響應(yīng)不一致,但不屬于以上三類故障)。
四、互連測試的基本算法
互連測試的基本算法有走步1算法(walk-1)、走步0算法(walk-0)、改良記數(shù)序列算法(MCSA)、計數(shù)/補償算法 (True/Compliment)和等權(quán)值抗混迭算法等。下面假設(shè)待測互連網(wǎng)絡(luò)數(shù)目為n,分別介紹各個算法。在這種情況下,每個算法的矢量長度都為n, 不同的是各種算法需要的測試矢量數(shù)目不一樣,因而測試時間也不一樣。
1.走步1算法(walk-1)
走步1算法的初始測試矢量可以設(shè)為1,0,0,...,0。然后讓1順序移位,所以稱為走步1算法。這種算法的測試矢量格式為n。走步1算法是比較完備的 算法,它能夠檢測所有固定邏輯故障、開路故障和短路故障,并且能對固定的邏輯故障、開路故障和邏輯短路故障進行精確定位。
2.走步0算法(walk-0)
走步0算法與走步1算法算法互補,它的初始測試矢量可以設(shè)為0,1,1,...,1。然后讓0順序移位,所以稱為走步0算法。這種算法的測試矢量個數(shù)也 為n。走步0算法也是比較完備的算法,它能夠檢測所有固定邏輯故障、開路故障和短路故障,并能對它們進行定位。
3.改良記數(shù)序列算法
改良記數(shù)序列算法要求各個串行矢量各不相同,同時要求具有最少的并行測試矢量數(shù)??梢宰C明這時需要最大的串行測試矢量的個數(shù)為log2(n+2) 向上取整。改良記數(shù)序列算法能夠檢測所有固定邏輯故障、開路故障和短路故障,但是不能對故障進行精確定位,它是能夠發(fā)現(xiàn)所有故障的最緊湊算法之一。
4.記數(shù)/補償算法(True/Compliment)
記數(shù)補償算法是對改良記數(shù)序列算法的一種改進,為了增加測試矢量在故障診斷時的抗混淆能力,給各個測試矢量求反,得到一組新的測試矢量。這時測試矢量的 數(shù)目為2log2(n+2),相對改良記數(shù)序列算法而言,它的故障定位能力有所提高,但是還不能保證對故障進行精確診斷。
5.等權(quán)值抗混迭算法
等權(quán)值抗混迭算法要求各個串行測試矢量的權(quán)值相等,同時要求各個串行測試矢量各不相同,在這兩個前提下,要求得到測試矢量數(shù)目最小。等權(quán)值抗混迭算法可以 抗故障混迭,但是不能抗故障混淆,緊湊性良好。相對于前面算法,它的故障定位能力有所提高,但是還不能保證對故障的精確診斷。
不同的測試算法生成的測試矢量集不一樣,測試運行的時間也不一樣,測試矢量的抗混迭和抗混淆的能力也不一樣,也就是故障定位能力各不一樣。在實際運用中,需要根據(jù)待測網(wǎng)絡(luò)數(shù)目進行靈活選取。
五、應(yīng)用場合和應(yīng)用價值
互連測試可以在任何場合應(yīng)用,包括板極測試與系統(tǒng)級測試,包括開發(fā)調(diào)試、生產(chǎn)測試、維修測試等過程。互連測試是邊界掃描技術(shù)的主要應(yīng)用之一,通過互連測試能夠檢測到電路板上互連的結(jié)構(gòu)性故障。