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