介紹了支持JTAG標準的IC芯片結構、邊界掃描測試原理以及利用邊界掃描技術控制IC芯片處于特定功能模式的方法。針對IC芯片某種特定的功能模式給出了設計思路和方法,并用兩塊xc9572 pc84芯片互連的PCB板為例進行設計分析和實驗實現。通過實驗實現,體現了邊界掃描技術易于電路系統調試和方便系統設計的特點,且設計的系統控制邏輯簡單方便,易于實現。 當今,微電子技術已經進入超大規模集成電路(VLSI)時代。隨著芯片電路的小型化及表面封裝技術(SMT)和電路板組裝技術的發展,使得傳統測試技術面臨著巨大的挑戰。在這種情況下,為了提高電路和系統的可測試性,聯合測試行動小組(JTAG)于1987年提出了一種新的電路板測試方法——邊界掃描測試,并于1990年被IEEE接納,形成了IEEE1149.1標準,也稱為JTAG標準。這種技術以全新的“虛擬探針”代替傳統的“物理探針”來提高電路和系統的可測性。由于 JTAG標準的通用性很好, 現在許多IC公司都提供了支持邊界掃描機制的IC芯片,甚至部分FPGA和CPLD芯片也采用了這一技術。 本文介紹支持JTAG標準的IC芯片結構,并以Xilinx公司的兩塊xc9572_ pc84芯片為例,探討并利用邊界掃描技術控制IC芯片處于某種特定功能模式的方法,并且針對IC芯片某種特定的功能模式設計該芯片的JTAG控制器。 1 支持JTAG標準的IC芯片結構 邊界掃描技術的核心就是在IC芯片的輸入輸出引腳與內核電路之間設置邊界掃描結構。JTAG 標準定義了一個4-wire串行總線,通過這四條測試線訪問邊界掃描單元,可以達到測試芯片內核與外圍電路的目的。圖1示出了支持JTAG標準的IC芯片結構。圖中,掃描結構由測試存取通道(TAP)、邊界掃描寄存器(BSR)、TAP控制器、指令寄存器(IR)和輔助寄存器等組成。 1.1 TAP TAP是由4-wire串行測試線組成的測試存取通道,JTAG標準定義的所有操作都由這四條測試線來控制。這四條測試線分別是:測試時鐘輸入線(TCK),測試方式選擇輸入線(TMS),測試數據輸入線(TDI),測試數據輸出線(TDO)。 1.2 TAP控制器 TAP控制器是邊界掃描測試的核心控制器,具有一個16狀態的有限狀態機。它與TCK信號同步工作,并響應TMS信號。在TCK信號和TMS信號的控制下, TAP控制器可以選擇使用指令寄存器掃描還是數據寄存器掃描,以及選擇用于控制邊界掃描測試的各個狀態。圖2描述了TAP控制器的狀態轉換全過程。 無論當前狀態如何, 只要TMS保持5個TCK 時鐘為高電平, TAP控制器都會回到Test_Logic_Reset狀態, 使測試電路不影響IC芯片本身的正常邏輯。需要測試時,TAP控制器跳出該狀態, 選擇數據寄存器掃描(Select_DR_Scan)或選擇指令寄存器掃描(Select_IR_Scan)進入圖2的各個狀態。一個標準的測試過程如下:TAP控制器在Capture_IR狀態捕獲指令信息, 經過Shift_IR狀態移入新指令,新指令經過Update_IR狀態成為當前指令;緊接著,當前指令在Select_DR_Scan狀態選擇相應的測試數據寄存器, 在Capture_DR狀態捕獲前一測試向量的響應向量,在Shift_DR狀態移出該響應向量,同時移入下一測試向量,在Update_DR狀態將新的測試量并行加載到相應的串行數據通道,直到移入最后一個測試向量為止。其中,Pause_DR狀態和Pause_IR狀態暫停數據移位狀態;而四個Exit狀態是不穩定狀態,它們為狀態轉換提供靈活性。 1.3 BSR BSR是邊界掃描技術的核心,它構成邊界掃描鏈,其中的每一個邊界掃描單元(BSC)都是由觸發器Q、多路選擇開關mux組成。圖3示出了JTAP標準中BC_ 1 類型的BSC的結構。 在圖3中,SI為BSC的串行輸入端,連接上一個器件(BSC)的串行輸出端SO,依次相連便構成邊界掃描鏈。該掃描鏈的首端接TDI引腳,末端接TDO引腳。當MODE為0時,芯片工作在正常模式下。當芯片工作在測試模式時,測試數據在移位信號(SHIFT=1)的控制下,通過SI 端進入到多路選擇器1(MUX1)中,通過SO端進入下一個BSC的SI端;當芯片工作在捕獲方式時(SHIFT=0),觸發器Q1將捕獲BSR并行輸入端(DI)的數據,送入SO端,在掃描鏈中傳遞捕獲的數據,并在TDO回收數據,以此來檢測故障的存在并且定位故障所在的位置。當MODE為1時,芯片工作在更新方式下,Q1中的數據在更新信號(UPDATE)的作用下,進入到多路選擇器2(MUX2)中,通過BSR的并行輸出端(DO)進入芯片的內核中。 1.4 IR IR是向各個數據寄存器發出各種操作碼并確定其工作方式的指令寄存器,圖4示出了一種IR單元的結構。由圖4可以看出,IR單元是由一個觸發器Q1和一個鎖存器Q2構成的。CAPTURE DATE信號控制IR裝載指令,SHIRFT IR信號控制指令在IR中的移位;CLK IR信號是從TCK獲得的時鐘信號,用于為BSR的捕獲操作、移位操作提供時鐘信號。UPDATE IR信號用于將當前指令裝入鎖存器Q2,以決定將要執行的操作模式和將要用到的測試數據寄存器的類別。 1.5 輔助寄存器 輔助寄存器包括器件標志寄存器和旁路寄存器,器件標志寄存器用于存儲器件制造商、器件序列號和器件版本號等信息,借助它可以辨別板上器件的制造商, 還可以通過它檢測是否已將正確的器件安裝在電路板的正確位置上。旁路寄存器用于將邊界掃描單元直接旁路,把掃描數據直接傳遞給下一個掃描器件。 2 基于邊界掃描技術的數字系統測試 基于邊界掃描技術的數字系統測試包括兩個方面,一是對IC芯片電路功能測試及系統互連測試;二是利用邊界掃描技術控制IC芯片處于某種特定的功能模式,以方便電路系統的設計和調試。本文主要論述后者。 2.1 測試系統組成 測試系統由主機(PC機)、測試儀和PCB實驗板組成,測試儀通過標準口(RS232)與PC機連接,通過串行標準信號電纜與PCB板上的測試存取通道相連,如圖5所示。 PCB板由Xilinx公司的兩塊xc9572 pc84芯片互連組成,芯片符合IEEE1149.1的JTAG接口標準,具有84個外部引腳、4個JTAG引腳、5個VCC引腳、6個VSS引腳、69個雙向數據輸入/輸出引腳,xc9572系列芯片未實現異步復位信號引腳TRST,電纜不需要提供這一信號線。該器件的邊界掃描寄存器由216個邊界掃描單元組成,其中9個單元是內部屬性的單元,其余207個單元組成69組邊界掃描單元組。 2.2 設計分析與實現 2.2.1 設計內容與分析 在圖5所示的測試系統中,要求兩片IC芯片分別實現不同功能的數據處理。為了對存儲器實現分時訪問,可以設定其中的一片xc9572_ pc84芯片(IC2)受到另一片xc9572_ pc84芯片(IC1)的控制,使IC2進入高阻模式(高阻模式是JTAG標準中推薦的任選模式之一),用以對存儲器的訪問屏蔽一段時間,此時受控芯片IC2的所有輸出管腳都將處于浮空狀態即高阻態。 從圖2描述的TAP控制器的狀態機可知,通過改變IC芯片自身的輸入輸出狀態,就可以進行邊界掃描測試或利用JTAG接口使IC芯片處于某個特定的功能模式。 支持JTAG標準的芯片都附有特定的BSDL(Boundary Scan Description Language)描述文件。BSDL語言是硬件描述語言(VHDL)的一個子集。它對該芯片的邊界掃描特性進行描述,用來溝通廠商、用戶與測試工具之間的聯系,為自動測試圖形生成工具、檢測特定的電路板提供相關的信息;在BSDL文件的支持下可生成由JTAG標準定義的測試邏輯。BSDL文件可與軟件工具結合起來,用于測試生成、結果分析和故障診斷。 通過對xc9572 pc84芯片的BSDL部分文件的分析可知: …… attribute INSTRUCTION_CAPTURE of xc9572_pc84: entity is '000XXX01'& attribute INSTRUCTION_DISABLE of xc9572_pc84 : entity is 'HIGHZ'& attribute INSTRUCTION_OPCODE of xc9572_pc84:entity is 'BYPASS (11111111),' & 'EXTEST (00000000),' & 'IDCODE (11111110),' & 'INTEST (00000010),' & 'SAMPLE (00000001),' & 'USERCODE (11111101)' ; …… 通過該部分代碼可得出,控制該芯片進入高阻模式需要寫入指令寄存器的控制碼為11111100。此時應選擇旁路寄存器將邊界掃描寄存單元旁路,以使掃描數據直接傳遞給下一個掃描器件。 2.2.2 設計實現 根據上面的分析可以得出,要使芯片從正常工作模式下受控進入 JTAG 高阻狀態需要經過以下五個步驟: ①復位。由于Xilinx 9572_ pc84芯片不具備 TRST 管腳,而且芯片正常工作時TMS持續為高電平,所以控制器進入復位狀態需要使TMS端接收低電平信號,控制TAP控制器完成復位操作。 ②進入Shift_IR狀態。由TAP控制器狀態機可以看出,當持續5個TCK上升沿使TMS端接收到01100時,則進入Shift_IR狀態。 ③ 將指令碼寫入指令寄存器。在Shift_IR狀態,通過TDI將高阻狀態指令碼11111100寫入指令寄存器,需要5個TCK周期,此時TMS需保持4個周期低電平。 ④進入 Exit1_IR 狀態。在Shift_IR狀態的第5個TCK的上升沿,使TMS=1,進入 Exit1_IR狀態。 ⑤進入Update_IR狀態。在進入Exit1_IR狀態后,使TMS=1,進入Update_IR狀態。此時芯片進入高阻狀態。 按照上述步驟,采用數字系統中狀態機的設計思想,用VHDL語言編寫出相應的功能塊,控制xc9572_ pc84芯片(IC2)進入JTAG高阻狀態(限于篇幅,VHDL源程序未列出),就可以進行邊界掃描測試了。將VHDL源程序經過編譯、仿真后可得到如圖6所示的JTAG控制時序波形圖。 JTAG測試技術是一種新的測試技術,這種技術是建立在具有JTAG標準接口的芯片之上的。由于這種芯片內置一些預先定義好的功能模式,所以可以通過邊界掃描通道使芯片處于某個特定的功能模式,以提高系統控制的靈活性并便于系統設計。本文通過設計實例,詳細介紹了利用邊界掃描技術控制IC芯片處于高阻模式的思路和方法,并且通過實驗實現,達到了預期目標。基于邊界掃描技術的測試機制在產品全壽命周期的不同階段都可以共享,因此利用邊界掃描技術可以方便地對電路系統進行調試、測試,顯著地降低了產品的開發周期和費用。 |