摘 要: 介紹了支持JTAG標準的IC芯片結(jié)構(gòu)、邊界掃描測試原理以及利用邊界掃描技術(shù)控制IC芯片處于特定功能模式的方法。針對IC芯片某種特定的功能模式給出了設(shè)計思路和方法,并用兩塊xc9572 pc84芯片互連的PCB板為例進行設(shè)計分析和實驗實現(xiàn)。通過實驗實現(xiàn),體現(xiàn)了邊界掃描技術(shù)易于電路系統(tǒng)調(diào)試和方便系統(tǒng)設(shè)計的特點,且設(shè)計的系統(tǒng)控制邏輯簡單方便,易于實現(xiàn)。
當今,微電子技術(shù)已經(jīng)進入超大規(guī)模集成電路(VLSI)時代。隨著芯片電路的小型化及表面封裝技術(shù)(SMT)和電路板組裝技術(shù)的發(fā)展,使得傳統(tǒng)測試技術(shù)面臨著巨大的挑戰(zhàn)。在這種情況下,為了提高電路和系統(tǒng)的可測試性,聯(lián)合測試行動小組(JTAG)于1987年提出了一種新的電路板測試方法——邊界掃描測試,并于1990年被IEEE接納,形成了IEEE1149.1標準,也稱為JTAG標準[1]。這種技術(shù)以全新的“虛擬探針”代替?zhèn)鹘y(tǒng)的“物理探針”來提高電路和系統(tǒng)的可測性。由于 JTAG標準的通用性很好, 現(xiàn)在許多IC公司都提供了支持邊界掃描機制的IC芯片,甚至部分FPGA和CPLD芯片也采用了這一技術(shù)。
本文介紹支持JTAG標準的IC芯片結(jié)構(gòu),并以Xilinx公司的兩塊xc9572_ pc84芯片為例,探討并利用邊界掃描技術(shù)控制IC芯片處于某種特定功能模式的方法,并且針對IC芯片某種特定的功能模式設(shè)計該芯片的JTAG控制器。
1 支持JTAG標準的IC芯片結(jié)構(gòu)
邊界掃描技術(shù)的核心就是在IC芯片的輸入輸出引腳與內(nèi)核電路之間設(shè)置邊界掃描結(jié)構(gòu)。JTAG 標準定義了一個4-wire串行總線[2],通過這四條測試線訪問邊界掃描單元,可以達到測試芯片內(nèi)核與外圍電路的目的。圖1示出了支持JTAG標準的IC芯片結(jié)構(gòu)。圖中,掃描結(jié)構(gòu)由測試存取通道(TAP)、邊界掃描寄存器(BSR)、TAP控制器、指令寄存器(IR)和輔助寄存器等組成。
1.1 TAP
TAP是由4-wire串行測試線組成的測試存取通道,JTAG標準定義的所有操作都由這四條測試線來控制。這四條測試線分別是:測試時鐘輸入線(TCK),測試方式選擇輸入線(TMS),測試數(shù)據(jù)輸入線(TDI),測試數(shù)據(jù)輸出線(TDO)。
1.2 TAP控制器
TAP控制器是邊界掃描測試的核心控制器,具有一個16狀態(tài)的有限狀態(tài)機。它與TCK信號同步工作,并響應(yīng)TMS信號。在TCK信號和TMS信號的控制下, TAP控制器可以選擇使用指令寄存器掃描還是數(shù)據(jù)寄存器掃描,以及選擇用于控制邊界掃描測試的各個狀態(tài)。圖2描述了TAP控制器的狀態(tài)轉(zhuǎn)換全過程[3]。
無論當前狀態(tài)如何, 只要TMS保持5個TCK 時鐘為高電平, TAP控制器都會回到Test_Logic_Reset狀態(tài), 使測試電路不影響IC芯片本身的正常邏輯。需要測試時,TAP控制器跳出該狀態(tài), 選擇數(shù)據(jù)寄存器掃描(Select_DR_Scan)或選擇指令寄存器掃描(Select_IR_Scan)進入圖2的各個狀態(tài)。一個標準的測試過程如下:TAP控制器在Capture_IR狀態(tài)捕獲指令信息, 經(jīng)過Shift_IR狀態(tài)移入新指令,新指令經(jīng)過Update_IR狀態(tài)成為當前指令;緊接著,當前指令在Select_DR_Scan狀態(tài)選擇相應(yīng)的測試數(shù)據(jù)寄存器, 在Capture_DR狀態(tài)捕獲前一測試向量的響應(yīng)向量,在Shift_DR狀態(tài)移出該響應(yīng)向量,同時移入下一測試向量,在Update_DR狀態(tài)將新的測試量并行加載到相應(yīng)的串行數(shù)據(jù)通道,直到移入最后一個測試向量為止。其中,Pause_DR狀態(tài)和Pause_IR狀態(tài)暫停數(shù)據(jù)移位狀態(tài);而四個Exit狀態(tài)是不穩(wěn)定狀態(tài),它們?yōu)闋顟B(tài)轉(zhuǎn)換提供靈活性。