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