1.測試概念和原理
測試包含了三方面的內容:
已知的測試矢量
確定的電路結構
已知正確的輸出結果
試方式的分類
測試矢量
窮舉測試矢量是指所有可能的輸入矢量。
測試矢量
功能測試矢量主要應用于驗證測試中,目的是驗證各個器件的功能是否正確。
測試矢量
這是一種基于故障模型的測試矢量,它的最大好處是可以利用電子設計自動化(EDA)工具自動對電路產生測試向量,并且能夠有效地評估測試效果。
向量舉例說明
例如,如果要測試74181ALU,其有14個輸入端口
窮舉測試向量,就需要214=16384個測試矢量,對于一個有38個輸入端口的16位的ALU來說,以10 MHz的速度運行完所有的測試矢量需要7.64個小時.
功能測試向量,要448個測試矢量,但是目前沒有算法去計算矢量是否覆蓋了芯片的所有功能。
結構測試向量,要47個測試矢量。這類測試矢量的缺點是有時候工具無法檢測所有的故障類型。
測試的目的
尋找最小的測試向量集去覆蓋更多的芯片以及板級的故障
衡量標準:故障覆蓋率
2.可測性設計
可測性設計基礎
所謂可測性設計是指設計人員在設計系統和電路的同時,考慮到測試的要求,通過增加一定的硬件開銷,獲得最大可測性的設計過程。
目前,主要的可測性設計方法有:
掃描通路測試(Scan)
內建自測試(BIST)
邊界掃描測試(Boundary Scan)
可測性設計的優勢和不足
3.可測性方法(SCAN、BIST、 Boundary SCAN)
掃描通路測試 Scan
可測試性
Scan的基本概念
掃描測試設計規則
可控制性:把激勵施加到被測單元的能力
可觀察性:故障傳播到原始輸出端的能力
掃描測試的基本概念
掃描測試是目前數字集成電路設計中最常用的可測性設計技術,這里說的是內部掃描,不同于邊界掃描。
掃描時序分成時序和組合兩部分,從而使內部節點可以控制并且可以觀察。
測試矢量的施加及傳輸是通過將寄存器用特殊設計的帶有掃描功能的寄存器代替,使其連接成一個或幾個長的移位寄存器鏈來實現的。
帶多路選擇器的D型觸發器
正常工作模式:scan_enable為0,此時數據從D端輸入,從Q端輸出。
掃描移位模式:scan_enable為1,此時數據從scan_in輸入,從scan_out端輸出。
帶掃描端的鎖存器
全掃描和部分掃描
掃描測試原理
掃描設計規則
掃描測試要求電路中每個節點處于可控制和可觀測的狀態,只有這樣才能保證其可替換為相應的掃描單元,并且保證故障覆蓋率。
為了保證電路中的每個節點都符合設計需求,在掃描鏈插入之前會進行掃描設計規則的檢查。
基本掃描規則
使用同種類掃描單元進行替換,通常選擇帶多路選擇器的掃描觸發器;
在原始輸入端必須能夠對所有觸發器的時鐘端和異步復位端進行控制;
時鐘信號不能作為觸發器的輸入信號;
三態總線在掃描測試模式必須處于非活躍狀態;
ATPG無法識別的邏輯應加以屏蔽和旁路。
三態總線
為了避免掃描模式(scan_mode)下的總線競爭,必須控制其控制端,通常的做法是在控制端加入多路選擇器,使其固定在邏輯0或者邏輯1
門控時鐘或者門控異步輸入端
為了避免掃描模式下resetn不可控制,處理方法和三態總線一樣,加入額外邏輯,讓異步輸入端處于非有效狀態
內建自測試BIST
內建自測必須附加額外的電路,包括向量生成器、BIST控制器和響應分析器
BIST測試引腳:
BIST_MODE:測試模式選擇信號,控制電路進入BIST狀態。
BIST_RESET:初始化BIST控制單元。
BIST_CLK:BIST測試時鐘。
BIST_DONE:輸出信號,標志自測結束。
BIST_FAIL:輸出信號,標志自測失敗,說明存儲器有制造故障。
BIST模塊在設計中的集成
BIST電路作為邏輯電路的一部分通常在RTL級插入,并且需要與其他邏輯一起進行綜合。數據、地址和一些控制信號在進入存儲器之前需要經過多路選擇器。
許多EDA工具可以在RTL級自動生成BIST電路并集成到設計中,其中最常用的是Mentor的mBISTArchitect和Synopsys的SoCBIST
邊界掃描測試
IEEE 1149.1標準
邊界掃描是歐美一些大公司聯合成立的一個組織——聯合測試行動小組(JTAG),為了解決印制電路板(PCB)上芯片與芯片之間互連測試而提出的一種解決方案。由于該方案的合理性,它于1990年被IEEE采納而成為一個標準,即IEEE 1149.1。
該標準規定了邊界掃描的測試端口、測試結構和操作指令。
IEEE 1149.1結構
主要包括TAP控制器和寄存器組。
寄存器組包括邊界掃描寄存器、旁路寄存器、標志寄存器和指令寄存器
JTAG的基本原理
是在器件內部定義一個TAP(Test Access Port,測試訪問口)通過專用的JTAG測試工具對內部節點進行測試。JTAG測試允許多個器件通過JTAG接口串聯在一起,形成一個JTAG鏈,能實現對各個器件分別測試。
端口定義
TCK:Test Clock邊界掃描設計中的測試時鐘是獨立的,因此與原來IC或PCB上的時鐘是無關的,也可以復用原來的時鐘。
TMS:Test Mode Select由于在測試過程中,需要有數據捕獲、移位、暫停等不同的工作模式,因此需要有一個信號來控制。在IEEE 1149.1中,僅有這樣一根控制信號,通過特定的輸入序列來確定工作模式,采用有限狀態機來實現。該信號在測試時鐘TCK的上升沿采樣。
TDI:Test Data In以串行方式輸入的數據TDI有兩種。一種是指令信號,送入指令寄存器;另一種是測試數據(激勵、輸出響應和其他信號),它輸入到相應的邊界掃描寄存器中去。
TDO:Test Data Out以串行輸出的數據也有兩種,一種是從指令寄存器移位出來的指令,另一種是從邊界掃描寄存器移位出來的數據。
除此之外,還有一個可選端口TRST,為測試系統復位信號,作用是強制復位。
邊界掃描的原理
在核心邏輯電路的輸入和輸出端口都增加一個寄存器,通過將這些I/O上的寄存器連接起來,可以將數據串行輸入被測單元,并且從相應端口串行讀出。
首先是芯片級測試,即可以對芯片本身進行測試和調試,使芯片工作在正常功能模式,通過輸入端輸入測試矢量,并通過觀察串行移位的輸出響應進行調試。
其次是板級測試,檢測集成電路和PCB之間的互連。實現原理是將一塊PCB上所有具有邊界掃描的IC中的掃描寄存器連接在一起,通過一定的測試矢量,可以發現元件是否丟失或者擺放錯誤,同時可以檢測引腳的開路和短路故障。
最后是系統級測試,在板級集成后,可以通過對板上CPLD或者Flash的在線編程,實現系統級測試。
板級芯片的互連測試
TAP控制器
TAP控制器的作用是將串行輸入的TMS信號進行譯碼,使邊界掃描系統進入相應的測試模式,并且產生該模式下所需的各個控制信號。
邊界掃描寄存器
邊界掃描寄存器
指令寄存器
指令寄存器由移位寄存器和鎖存器組成,長度等于指令的長度。IR可以連接在TDI和TDO的兩端,經TDI串行輸入指令,并且送入鎖存器,保存當前指令。
在這兩部分中有個譯碼單元,負責識別當前指令。由于JTAG有3個強制指令,所以該寄存器的寬度至少為2位。
邊界掃描測試策略
利用邊界掃描IEEE 1149.1進行板級測試的策略分以下3步。
根據IEEE 1149.1標準建立邊界掃描的測試結構
利用邊界掃描測試結構,對被測部分之間的連接進行矢量輸入和響應分析。這是板級測試的主要環節,也是邊界掃描結構的主要應用。可以用來檢測由于電氣、機械和溫度導致的板級集成故障
對單個核心邏輯進行測試,可以初始化該邏輯并且利用其本身的測試結構。
邏輯單元BIST
Logic BIST是SoC設計中芯片可測性設計的發展方向。
大多數的ASIC使用基于掃描的DFT技術。對于規模越來越大的芯片來說,掃描測試的策略面臨著巨大的挑戰。
整體DFT實現及性能上考慮
盡量避免異步時鐘設計;
限制不同時鐘域的數量;
對于多時鐘域的設計,處于同一時鐘域的觸發器最好連在同一根掃描鏈上;
注意扇出比較多的端口,如scan_enable信號,尤其在綜合的時候需要特別注意;
對于存儲器、模擬電路等不可綜合的邏輯加入適當的隔離旁路結構;
避免過長的掃描鏈;
考慮到測試模式下功耗過高所造成的問題,可將掃描測試分成數個部分,分開進行插入,在不同的掃描測試模式下,測試不同的部分;
盡量減少額外邏輯帶來的面積、功耗的增大;
通過復用外圍引腳,減少掃描測試對引腳的要求。
掃描設計流程
審核編輯 :李倩
-
寄存器
+關注
關注
31文章
5361瀏覽量
120878 -
DFT
+關注
關注
2文章
231瀏覽量
22777 -
矢量
+關注
關注
0文章
95瀏覽量
23764
原文標題:可測性設計DFT
文章出處:【微信號:數字ICer,微信公眾號:數字ICer】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論