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