摘要:鑒于工程實踐中對邊界掃描技術的忽視,分析了它在實際使用中存在的誤區,介紹了邊界掃描接口的定義及其具體硬件結構,闡述了邊界掃描的工作原理。并分析總結了其用于實際測試中的作用與優點,提出了對邊界掃描測試進行優化時需要注意的方面,以利于更好地普及應用。
關鍵詞:聯合測試行動組;邊界掃描;測試存取口;掃描鏈路;測試向量
中圖分類號:TP206文獻標識碼:A 文章編號:1009-3044(2009)25-7295-03
Test Technology Based on Boundary Scan
CHEN Meng-dong, LIU Peng, ZHANG Hui-hua
(Jiangnan Institute of Computing Technology, Wuxi214083, China)
Abstract: Because of the neglect of boundary scan technology in project practice, the misapprehension in practical use is analysed. The definition of boundary scan interface, it’s hardware configuration and it's detailed working principle are introduced. Also introduced is the usage and advantage in practice use. In order to populize it better, the aspects of optimizing it are discussed.
Key words: JTAG; boundary scan; test access port; scan link; test vector
聯合測試行動組于1987 年提出了邊界掃描技術, 并于1990 年被IEEE接納, 形成了IEEE1149. 1 標準。邊界掃描技術是一種非常有效的測試手段。目前使用的芯片中越來越多的cpu、epld、fpga、dsp以及一些專用芯片(如ATM層專用芯片)等提供符合IEEE1149.1的JTAG測試口。但是JTAG電路的設計并沒有引起工程人員足夠的重視,很多人不了解JTAG,對JTAG口的處理較為隨意,對JTAG的使用存在誤區,未能實現它應有的作用。
1 使用誤區
過去形成的一些誤解妨礙了邊界掃描技術在測試中的應用,主要有以下幾個方面需要注意 [1]。
1.1 成本
人們對于產品成本的增加非常敏感。實際上,為了實現邊界掃描而增加的少量無源元件以及一個小型連接器的成本可通過測試開發時間的縮短彌補回來。支持邊界掃描的數字IC可能會比不支持邊界掃描的同樣器件稍貴一點,但卻可獲得更方便的測試性、更小的電路板尺寸以及更低的服務和維修成本。
1.2 特殊器件
在并非每片IC 都支持邊界掃描時,設計人員仍可利用邊界掃描有效地完成對PCB的測試。只要設計中包括一些邊界掃描器件,軟件工具就可方便地測試電路板上的大部分器件。CPLD 或FPGA 有許多引腳,每個都可做為測試點,因此設計人員在電路板上已經擁有了數百個測試點。工具供應商提供的參考資料都給出了如何利用CPLD和FPGA實現邊界掃描測試的說明。
1.3 軟件
過去為了進行邊界掃描測試,必須掌握邊界掃描描述語言(BSDL),并花費數周的時間將設計轉換為邊界掃描測試向量。現在,測試開發工具可利用原理圖和網表,再結合IC供應商提供的BSDL文件,即可快速生成測試向量。測試開發時間的縮短,也使原型制造過程中因重新進行PCB 布線而改變測試過程的時間也大大縮短。
1.4 空間
采用邊界掃描測試技術可大量減少測試點,由此所節約的空間遠遠超過邊界掃描器件所需要的空間。最終效果是設計所需要的空間減小,從而使電路板尺寸更小,層數更少。
2 邊界掃描的硬件結構
JTAG標準的核心思想是在芯片管腳和芯片內部邏輯之間, 即緊挨元件的每個輸入/ 輸出引腳處增添移位寄存器組(因為這些移位寄存器組布置在IC元件的I/ O 引腳處,所以稱為邊界掃描單元或邊界掃描寄存器),這些寄存器單元在相應指令的作用下讀出輸出引腳或輸入引腳的狀態,可進行芯片級、板級互聯甚至系統級的測試。
JTAG為邊界掃描結構定義了測試存取口TAP(test acess port)、TAP 控制器、測試數據寄存器和指令寄存器4個基本的硬件單元。其中,測試數據寄存器包括邊界掃描寄存器、器件鑒別寄存器和旁路寄存器。圖1是包含邊界掃描機制的芯片結構[2]。
2.1 測試存取口( TAP)
JTAG規定了4 條測試總線,也稱為測試存取口( TAP) ,分別是:測試數據輸入總線( TDI) ,用來接收測試數據和測試指令; 測試數據輸出總線( TDO) ,用來測試數據的輸出; 測試模式選擇總線( TMS) ,在TCK的上升沿可有效控制測試邏輯; 測試時鐘輸入總線( TCK) ,在上升沿按串行方式對測試指令、數據及控制信號進行移位操作,在下降沿,對輸出信號進行操作。此外,還有可選擇的TRST測試復位輸入端。
2.2 TAP控制器
TAP 控制器是J TAG邏輯電路中最重要的控制部分,整個測試邏輯都是由TAP 控制器按一定順序調用的。TAP 控制器實際上是包含16 態的狀態機,產生時鐘信號和各種控制信號(即產生測試、移位、捕獲和更新等信號),從而使指令或測試數據移入相應的寄存器,并控制邊界掃描測試的各種工作狀態。并在指令寄存器的配合下產生復位、測試、輸出緩沖器允許等信號。測試數據的捕獲、移位、更新都必須在TAP 控制器進入到相應的狀態下才能進行。圖2 為TAP 控制器的狀態機,左邊是數據寄存器(DR) 分支,右邊是指令寄存器( IR) 分支,狀態轉換的條件就是TMS 的值。TAP 控制器被初始化為Test_Logic_Reset 狀態,發出復位信號,使測試電路不影響ASIC 本身的工作。需要測試時,在TMS 控制下,TAP 進入數據寄存器掃描選擇狀態( Select _DR_Scan) 或者指令寄存器掃描選擇狀態(Select_ IR_Scan)。在Capture 狀態,捕獲指令信息或者數據;在Shif t狀態,數據進行移位操作;在Pause 狀態,移位停止,對寄存器重新加載測試向量;在Update 狀態,移入掃描通道的數據將被輸出。
2.3測試數據寄存器
邊界掃描寄存器(boundary scan register)構成邊界掃描路徑,它的每一個單元由存儲器、發送/接收器和緩沖器組成。邊界掃描單元置于集成電路的輸入/輸出端附近,并首尾相連構成一個移位寄存器鏈,首端接TDI,末端接TDO。在測試時鐘TCK的作用下,從TDI 加入的數據可以在移位寄存器鏈中移動并進行掃描。
器件鑒別寄存器有32 位,借助它可以辨別板上元器件的生產商,還可以通過它來測試是否將正確的器件安裝在了PCB 板的正確位置。
旁路寄存器只有1 位,它提供了一條從TDI 到TDO 之間的最短通道,用來將不參加串行掃描的數據寄存器的數據旁路掉以減少不必要的掃描時間。
2.4 指令寄存器
為了執行不同的測試和選擇實際的數據寄存器,除了TAP 控制器和數據寄存器之外,還需要有指令寄存器IR。指令寄存器進行指令的譯碼,向各數據寄存器發出各種操作碼,并確定邊界掃描工作方式。J TAG標準中定義了大量指令,有必需的,有可選的,而且也允許定義更多特定設計的指令來擴展測試邏輯的功能。
3 邊界掃描測試的作用方式與優點
利用邊界掃描測試技術,可以比較全面地了解集成電路芯片的內部故障、電路板的互連以及相互間影響。有效地克服了傳統測試方式的不足,節約了測試時間和測試成本,極大地方便了系統電路的調試。不同的測試是在不同的工作方式下進行的,這些工作方式可以通過加載相應指令到指令寄存器來選擇。
3.1 內部測試 ( INTEST)
內部測試方式用于測試電路板上集成電路芯片的內部故障,可以通過INTEST指令來選擇執行。在這種測試方式下,測試圖形通過TDI 輸入,并通過邊界掃描通道將測試圖形加到每個芯片的輸入引腳寄存器中,從輸出端TDO可以串行讀出存于輸出引腳寄存器中各芯片的響應圖形。根據輸入圖形和輸出響應,可以對電路板上各芯片的內部工作狀態做出測試分析。
3.2 外部測試 ( EXTEST)
外部測試方式可以通過EXTEST指令選擇執行,用于測試電路板上各集成電路芯片間連線以及板級互連的故障,包括斷路和短路故障。把從TDO 端輸出的邊界掃描寄存器的串行信號與正確的信號相比較,就可以方便有效地診斷出電路板引線及芯片引腳間的斷路或短路故障。
3.3 采樣測試 (SAMPLE/ PRELOAD)
流過器件管腳的數據被截取,稱為“采樣”。邊界掃描寄存器輸入單元并行裝載芯片輸入引腳的數據,而輸出單元并行裝載輸出引腳的數據。不干擾管腳與核心邏輯之間的正常信號流,各邊界掃描單元的采樣值便可串行移出,可觀察IC 正常工作時輸入、輸出引腳的數據流。
4 優化建議
邊界掃描測試能準確地定位芯片的故障,迅速準確地測試兩個芯片管腳的連接是否可靠,提高測試檢驗效率。但是為縮短測試施加時間,提高故障診斷率,仍需要對其進行優化設計,以利于更好的普及應用。針對它的優化問題提出幾點建議[3]。
4.1 掃描鏈路優化
邊界掃描技術中,邊界掃描鏈路的串行移位使得單條邊界掃描鏈路會導致很長的測試應用時間,而如果使用多條掃描鏈路,則測試時間可以明顯減少。在測試期間,各掃描鏈路在任何時刻其長度相等,則可以實現測試的最好性能。如何對掃描鏈路進行動態配置是一個重要問題。
4.2 測試流序列優化
邊界掃描的測試向量是以串行方式從外界輸入的,施加大的測試集合可能要消耗大量時間。通過適當地縮減串行測試流,可以減少測試施加時間。這個方面值得研究。
4.3 測試向量集優化生成方法研究
在邊界掃描測試中,合理優化地生成測試向量集是進行有效測試的關鍵。
4.4 板級可測性設計優化方法研究
基于邊界掃描的電路板測試性設計方法在改善電路板測試性的同時,也增加了電路板設計的復雜性。因此,必須進行設計復雜性和測試性改善的綜合權衡,實現二者的折衷,即進行電路板的測試性優化設計。
5 結束語
J TAG提出的邊界掃描機制提供了一套完整的、標準化的測性設計方法,是測試技術的一次飛躍。它不僅能測試集成電路芯片的輸入、輸出管腳的狀態,而且能夠測試芯片內部工作情況以及引線級的斷路和短路故障,且能實現高精度的故障定位。考慮到邊界掃描測試技術和TAP體系結構所提供的諸多優點,應當認真考慮應用IEEE1149.1標準來解決數字ASIC的測試問題。
參考文獻:
[1] 蔚英輝. 測試技術的飛躍——邊界掃描技術[J]. 電信技術, 2002, (2): 75-77.
[2] Test Technology Standards Committee of the IEEE Computer Society. IEEE Std 1149.1-2001 IEEE Standard Test Access Port and Boundary-Scan Architecture. 2001[S].
[3] 陳曉梅, 孟曉風, 鐘波,等. 邊界掃描技術的優化設計[J]. 電子測量技術, 2006, 29 (3): 1-3.