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