專利名稱:采用jtag標準的高阻抗測試模式的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及使用JTAG邊界掃描結(jié)構(gòu)的電路,尤其涉及具有借助JTAG測試寄存器使總線輸出允許可控的電路。
一種眾所周知用來在例如一塊印刷電路板上測試復(fù)雜集成電路的方法是由國際測試行動組織(JTAG)首創(chuàng)的IEEE1149.1邊界掃描標準,特此參考引入。該標準的一種實現(xiàn)方式包括設(shè)計用于通過提供移位寄存器元件菊花鏈以圍繞一個集成電路元件的外圍構(gòu)成一條通路來進行串行邊界掃描測試的元件(例如,集成電路)。
采用JTAG的串行測試總的設(shè)計思想是為了把串行數(shù)據(jù)移入和通過許多集成電路元件,激勵其中的電路,或為了從電路中生成預(yù)定輸出信號。之后,把由集成電路元件生成的數(shù)據(jù)或在集成電路元件的輸入端接收的數(shù)據(jù)從集成電路元件移到JTAG主測試電路中。
如果返回主測試電路的數(shù)據(jù)流不象所希望的那樣,則由測試電路檢測電路的故障。在軟件控制下對數(shù)據(jù)流中的偏差的仔細分析可以查出電路中的任何故障。
在某些情況下,最好把一片單獨的芯片或PC板上芯片的一個或多個總線連接與PC板上電路的其余部分隔離開。例如,一個集成電路(IC)芯片可以包括內(nèi)部存儲器總線接口電路、PCI總線接口電路、微處理器(μP)總線接口電路等等,這些電路在IC芯片中的電路與PC板上各種通信總線之間提供連接。IC芯片中的JTAG測試電路通常包括含與IC芯片上每個I/O總線連接相對應(yīng)的一個位存儲單元的JTAG邊界掃描數(shù)據(jù)移位寄存器(BSR)。另外,一個或多個總線輸出允許位存儲單元包含于BSR之中,BSR鏈中的每個總線輸出允許位存儲單元允許連接到IC芯片上的一個總線(例如處理器總線、PCI總線、存儲器總線等等)的全部或部分輸出。這樣,例如,會使一個總線輸出允許位存儲單元與PCI總線的地址-數(shù)據(jù)總線相關(guān)聯(lián);會使另一個總線輸出允許位與PCI總線的控制總線相關(guān)聯(lián)等等。當把各個輸出允許位存儲單元設(shè)定到適當?shù)闹禃r,從IC芯片中允許整個PCI總線的地址-數(shù)據(jù)總線接口電路(或PCI總線的控制接口電路等)的輸出。類似地,如果把BSR中的輸出允許位存儲單元設(shè)定到非允許值,則整個PCI總線的地址-數(shù)據(jù)總線接口將顯現(xiàn)高阻抗模式以致可能不會通過PCI地址-數(shù)據(jù)總線接口把信號傳送到IC芯片的外部。當然,對于本領(lǐng)域的那些技術(shù)人員來說,當然也可以把BSR的多個輸出允許位存儲單元用來控制一個總線接口的各部分,以使例如PCI地址-數(shù)據(jù)總線的16位可在一個輸出允許的控制之下,而另外16位可在另一個輸出允許的控制之下,等等。類似地,BSR中一個單獨的輸出允許位可以用來控制整個PCI總線。
如果把一個IC芯片與一個或多個連接到該IC芯片上的總線隔離開,則傳統(tǒng)的JTAG測試電路會包括把JTAG邊界掃描數(shù)據(jù)寄存器中每一位存儲單元的數(shù)據(jù)位裝入整個IC芯片。這樣,例如,如果四個分開的64位總線連接到IC芯片上,并且每條總線在芯片的BSR中有一個單獨相關(guān)的總線輸出允許位存儲單元,則在設(shè)定每個總線輸出允許位存儲單元之前將把總共260個BSR測試位(4×64+4)裝入BSR中。在最糟的情況下,所有四條總線都要被禁止以使JTAG數(shù)據(jù)寄存器中剩下的256個存儲單元為“無關(guān)”(“don’t care”)值。這樣,傳統(tǒng)的系統(tǒng)可能涉及大量的低效工作,這是因為必須把數(shù)據(jù)位移入除四個輸出允許BSR位存儲單元以外的BSR中。這種情況由該芯片的BSR可能與PC板上其他芯片的BSR相串聯(lián)這一現(xiàn)象所造成。
另一種把IC元件與PC板上其他電路隔離開的方法包括用裝入JTAG指令寄存器中的“HIGHZ”指令把整個芯片設(shè)定于高阻抗模式下。雖然這樣一種方法緩和了前述低效禁止總線的問題,不過這種解決辦法用來要么禁止所有總線、要么不禁止任何一條總線。
但是,某些應(yīng)用要求,允許所選定的IC元件總線而禁止其他總線。例如,由于許多IC元件采用了CMOS技術(shù),所以由于當把CMOS電路置于高阻抗模式下時CMOS電路通常是浮動的,因而允許給定總線上至少一個電路操作以驅(qū)動該總線就很重要。因此,如果把一條總線上所有的CMOS電路置于高阻抗模式下以致沒有電路正在驅(qū)動總線以達到某個確定的狀態(tài),則該總線會浮動以致該總線可能會浮動到高邏輯電平與低邏輯電平之間的中間位置。這樣一種浮動狀況并不是所希望的,因為一個接收浮動輸入信號的CMOS輸入可能使兩個輸入晶體管一部分處于這種狀況,電源接地,造成CMOS晶體管過熱并有可能損壞。因此,當禁止一個連接到多條總線上IC元件的總線連接時,有時希望驅(qū)動一個或多個連接到IC元件上的其余總線以使當前未被測試的那些總線不浮動。所以,一個要么把IC元件上所有的總線連接置于高阻抗模式下、要么不把IC元件上任何一個總線連接置于高阻抗模式下的JTAG系統(tǒng)不適于某些應(yīng)用。
本發(fā)明的一個方面是一種用來有選擇地允許和禁止到集成電路(IC)上外圍連接的JTAG測試電路結(jié)構(gòu)。該結(jié)構(gòu)包括一個邊界掃描鎖存寄存器,該邊界掃描鎖存寄存器包括與外圍連接有電通信并與若干輸出允許位存儲單元有電通信的若干數(shù)據(jù)位存儲單元。每個輸出允許位存儲單元用來允許存入若干數(shù)據(jù)位存儲單元中的數(shù)據(jù)位的輸出。一個邊界掃描移位寄存器連接到鎖存寄存器上以使移位寄存器的內(nèi)容并行裝入鎖存寄存器。移位寄存器包括與鎖存寄存器中若干數(shù)據(jù)位存儲單元相對應(yīng)的移位寄存器數(shù)據(jù)位存儲單元。移位寄存器包括與鎖存寄存器中輸出允許位存儲單元相對應(yīng)的移位寄存器輸出允許位存儲單元。把移位寄存器輸出允許位存儲單元組合于移位寄存器中邏輯緊靠位置處,以便用比由每個輸出允許位存儲單元允許的數(shù)據(jù)位存儲單元數(shù)目少的移位寄存器存儲單元間隔開移位寄存器輸出允許位存儲單元。當轉(zhuǎn)換電路處于第一狀態(tài)時,轉(zhuǎn)換電路通過在邏輯緊靠位置處的移位寄存器輸出允許位存儲單元提供一條通路。當轉(zhuǎn)換電路處于第二狀態(tài)時,轉(zhuǎn)換電路通過移位寄存器輸出允許位存儲單元和移位寄存器數(shù)據(jù)位存儲單元提供一條通路。
最好是,移位寄存器輸出允許位存儲單元串聯(lián)連接并在邏輯上相互鄰接。還有最好是,轉(zhuǎn)換電路包括一個多路轉(zhuǎn)換器(下文也稱作“mux”)。在一個特別的優(yōu)選實施例中,轉(zhuǎn)換電路連接到一個JTAG輸出上。
本發(fā)明的另一方面是一種用JTAG邊界掃描測試電路有選擇地允許和禁止到集成電路(IC)上的外圍連接的方法。該方法包括這樣的步驟,即,連接一個串行邊界掃描移位寄存器中的輸出允許元件和數(shù)據(jù)測試位元件,以便通過輸出允許元件和數(shù)據(jù)測試位元件提供第一通路,并僅通過輸出允許元件提供第二通路。存入輸出允許元件中的信息有選擇地允許發(fā)生于數(shù)據(jù)測試位元件與外圍連接之間的電通信。該方法還包括以下步驟生成用于JTAG邊界掃描測試的位流;在第一和第二通路之間選擇;和通過串行邊界掃描移位寄存器對所生成的位流進行移位。
圖1是包括與PC板上多條總線相連接的集成芯片的印刷電路(PC)板的簡化示意性框圖。
圖2是更詳細地表示出圖1集成電路芯片的示意性框圖。
圖3是當JTAG電路連接總線接口時給出的JG電路詳細情況的示意性框圖。
圖1是表示出連接于印刷電路(PC)板100上的多個集成電路器件的高度簡化示意性框圖。具體地說,第一集成電路芯片(IC)110通過PCI總線125和PCI接口128連接到第二IC120上。第一IC110還通過處理器總線135和處理器接口138連接到第三IC130和第四IC132上。通過存儲器總線145和存儲器接口148把IC110連接到存儲器系統(tǒng)140上。例如,IC120最好包括PCI-到-PCI橋,IC130、132最好包括多處理器,存儲器系統(tǒng)140最好包括DRAM陣列。
在工作中,IC110通過總線125、135、145與PC100中的各電路元件120、130、132、140相互通信。如果最好是用JTAG和來自IC130的輸出數(shù)據(jù)來測試處理器總線135,那么,為了防止IC110中的電路干擾JTAG測試,必須把IC110的輸出與處理器總線135隔離開。即,必須使IC110的處理器接口138處于高阻抗模式以使其JTAG輸入鎖存器能俘獲來自IC130的JTAG輸出測試數(shù)據(jù)。
如上概述,一個選擇是把整個IC110置于高阻抗模式下以使PCI接口128、處理器接口138和存儲器接口148全都進入高阻抗模式。但是,如果總線125或總線145都需要由IC110驅(qū)動,則這樣一種方法可能并不實用。即,例如,如果IC120是一種含與也處于高阻抗模式的PCI總線125接口的CMOS器件,或PCI總線125是一個輸入信號,則由于沒有電路用來驅(qū)動總線125而使PCI總線125浮動。在這種情況下,當把PCI接口128用來驅(qū)動PCI總線125時,必須只將處理器接口135設(shè)定于高阻抗模式。如上所述,實現(xiàn)這一作用的傳統(tǒng)方法可能需要上百次向JTAG數(shù)據(jù)寄存器移位以在JTAG數(shù)據(jù)寄存器中僅設(shè)定一對輸出允許位。
圖2是說明象按照本發(fā)明所構(gòu)造的IC110某些內(nèi)部元件的簡化示意性框圖。把IC110中的JTAG邊界掃描鏈和電路專門構(gòu)造得能克服以前電路的缺點。具體地說,按照本發(fā)明,把JTAG測試電路構(gòu)造得使JTAG BSR中的每個輸出允許存儲單元串聯(lián)在一起(例如,在JTAG邊界掃描數(shù)據(jù)移位寄存器中的相鄰存儲單元中),以便能使用輸出允許位對在最短的所需時間內(nèi)完成接口128、138、148的阻抗模式的移位的控制(即,不必移位到任何其他BSR存儲單元中)。
這樣,如圖2所示,JTAG數(shù)據(jù)輸入線(JTAG DIN)200直接連接到輸出允許數(shù)據(jù)移位寄存器存儲單元205。移位寄存器存儲單元205連接到用來在把適當?shù)闹狄迫氪鎯卧?05之后鎖存移入存儲單元205中數(shù)據(jù)位的鎖存器207。鎖存器207又連接到PCI接口128的JTAG測試輸出允許線209上。通過線209把存入鎖存器207中的數(shù)據(jù)位加到PCI接口128上以當處于JTAG測試模式下時允許或禁止圖2所示例子中整個PCI總線接口128的輸出。不過,當然也可以將多個輸出允許位用來有選擇地控制PCI總線125的輸出部分(這同樣也適用于所有其他總線)。數(shù)據(jù)移位寄存器中的第二元件是與存儲單元205相串聯(lián)的輸出允許存儲單元210(即,存儲單元210是從存儲單元205移入的下一個存儲單元)。數(shù)據(jù)寄存器輸出允許存儲單元210還連接到鎖存器212上,鎖存器212又通過線214連接到處理器接口138的JTAG測試輸出允許端。如同PCI總線接口128一樣,鎖存器212中的輸出允許位用來當在本例中的JTAG測試模式下時允許或禁止整個處理器總線135的輸出。最后,輸出允許移位寄存器存儲單元215與存儲單元210串聯(lián)連接以使三個輸出允許移位寄存器存儲單元205、210和215相互鄰接。輸出允許存儲單元215還連接到鎖存器217上,鎖存器217又通過線219連接到存儲器總線接口148的JTAG測試輸出允許端。而且,保存在鎖存器217中的輸出允許位能用來當在JTAG測試模式下時允許或禁止整個存儲器總線接口148。
BSR存儲單元215的輸出連接到2比1多路轉(zhuǎn)換器220(2:1MUX)的輸入端,而且還連接到由多路轉(zhuǎn)換器226和D觸發(fā)器225構(gòu)成的BSR224中的第一元件上。最好如此處所用,BSR224中的一個存儲單元代表一個多路轉(zhuǎn)換器226及其對應(yīng)的D觸發(fā)器225。BSR224是JTAG邊界掃描數(shù)據(jù)寄存器的一部分并專門用來為BSR輸出鎖存寄存器227提供測試數(shù)據(jù),而且通過PCI接口128連到PCI總線125上。為了收集測試輸入數(shù)據(jù),可以把來自PCI總線125的數(shù)據(jù)輸入到邊界掃描輸入多路轉(zhuǎn)換器226中,這些數(shù)據(jù)能被裝入邊界掃描寄存器225中。下面將參照圖3非常詳細地描述數(shù)據(jù)移位寄存器225和PCI總線125之間的連接關(guān)系。通過把移位寄存器存儲單元215的輸出連接到多路轉(zhuǎn)換器220和BSR區(qū)段224上,可為通過線220輸入的JTAG數(shù)據(jù)提供兩條可能的通路。具體地說,如果希望只控制與每個接口128、138、148相關(guān)的輸出允許位,則通過線200、移位寄存器存儲單元205、210、215和多路轉(zhuǎn)換器220提供最短可能的JTAG通路。不過,如果還希望更新或?qū)φ麄€BSR采樣,則可以通過輸出允許部分(200、128、138和148)對測試數(shù)據(jù)進行移位,然后能通過BSR剩下的I/O部分(即,移位寄存器225、230和235)對測試數(shù)據(jù)進行移位。然后可以通過多路轉(zhuǎn)換器220的第二輸入端移出它??梢园褋碜晕⑻幚砥骺偩€135和存儲器總線145的數(shù)據(jù)分別輸入給邊界掃描輸入多路轉(zhuǎn)換器231、236。為了收集測試輸入數(shù)據(jù),可以以與多路裝換器236所用方式相似的一種方式,把多路轉(zhuǎn)換器231、236分別裝入邊界掃描移位寄存器230、235中。這樣,通過借助上述JTAG連接把用于輸出允許的BSR區(qū)段在邏輯靠近處相互電連接來達到與每個接口128、138、148相關(guān)的輸出允許的有效控制,以便能把控制輸出允許的BSR存儲單元與其他JTAGBSR區(qū)段在邏輯上隔離開。
當然,本領(lǐng)域的普通技術(shù)人員可以理解,圖2的結(jié)構(gòu)只是典型的例子,因此還可以按照本發(fā)明采用把輸出允許BSR存儲單元組合在極靠近處的其他結(jié)構(gòu)。此外,可以把一系列多路開關(guān)散布于整個BSR通路上以便于繞過某些數(shù)據(jù)寄存器225、230或235。例如,在以上所引文件(IEEE/149.1)中描述了這些修改。象移位寄存器225那樣,移位寄存器230、235能把數(shù)據(jù)并行裝入各個鎖存寄存器232、237也是可以理解的。數(shù)據(jù)鎖存寄存器227、232和237可以用來測試分別連接到PCI總線125、處理器總線135和存儲器總線145的電路。
圖3是詳細描述通過鎖存寄存器227多路轉(zhuǎn)換器231和PCI總線128在數(shù)據(jù)移位寄存器225和PCI總線125之間連接的示意性框圖。如圖3所示,通過線300把JTAG輸入位移入JTAG BSR 224的輸入端并通過線305移出寄存器225中存儲單元的輸出端。在通過線315從JTAG控制邏輯310提供的時鐘信號的控制下,完成通過數(shù)據(jù)位的移位寄存器230對數(shù)據(jù)位進行的移位??刂七壿?10分別通過線312、314接收測試時鐘和測試模式信號。如本領(lǐng)域中所共知的,控制邏輯310通過線315提供時鐘輸出、俘獲輸出316、更新輸出信號320和更新-oe信號317。當只通過縮短的BSR模式更新輸出允許時,分開的更新信號(320和317)允許277中的測試輸出數(shù)據(jù)保持不變。
一旦在DR-CLOCK的控制下把所有適當?shù)腏TAG測試數(shù)據(jù)位移入了數(shù)據(jù)移位寄存器225,然后就在線320上提供的更新輸出信號的控制下把該數(shù)據(jù)俘獲入鎖存電路227。即,把移位寄存器225中的每個數(shù)據(jù)位并行裝入鎖存寄存器227中。為了簡單起見,在圖3中只表示出兩個連接焊點,這兩個連接焊點都通過PCI接口電路128連接到輸出焊點上。
在每個JTAG邊界測試電路中,包括在JTAG測試矢量和正常電路之間進行選擇的一個多路轉(zhuǎn)換器,當不使用JTAG時正常電路連接到IC110的輸出引線上。這樣,如圖3所示,在被鎖存的數(shù)據(jù)寄存器227中的每個位存儲單元通過相應(yīng)線332分別連接到多路轉(zhuǎn)換器330的第一輸入端。每個多路轉(zhuǎn)換器330的第二輸入端通過相應(yīng)的線333連接到IC110中的正常電路中。每個多路轉(zhuǎn)換器330的選擇輸入端335借助JTAG指令寄存器310的譯碼輸出允許在傳統(tǒng)JTAG測試模式和正常工作模式之間選擇。每個多路轉(zhuǎn)換器330的輸出進入包括若干雙向三態(tài)緩沖器340、345的PCI接口128。如圖3所示,輸出緩沖器340把輸出通路提供給各個外連接焊點350,而輸入緩沖器345提供從連接焊點350到IC芯片110內(nèi)部電路的輸入通路。如圖3所示,線209連接到所有的三態(tài)緩沖器340上,因此當施加到線209上的輸出允許信號有效時,每個緩沖器340都進入高電阻抗模式。這樣,能夠充分并有選擇地把連接到IC110上的總線置于高電阻抗模式。
雖然對本發(fā)明的實現(xiàn)來說并不是必須的,但是應(yīng)注意到焊點350還通過緩沖器345連接到多路轉(zhuǎn)換器226的各個元件上,從而能對輸入焊點上的數(shù)據(jù)采樣并將它們鎖存入移位寄存器225中。
雖然以上已詳細描述了本發(fā)明,不過當然前述描述只是說明性的,并不是限制性的。本領(lǐng)域的普通技術(shù)人員可以理解,在并不脫離本發(fā)明的精神或?qū)嵸|(zhì)特點的情況下能對本發(fā)明作許多顯而易見的修改。因此下面所附的權(quán)利要求書應(yīng)能使人理解本發(fā)明的范圍。
權(quán)利要求
1.一種用來有選擇地允許和禁止到集成電路(IC)上外圍連接的JTAG測試電路結(jié)構(gòu),所述結(jié)構(gòu)包括一個邊界掃描鎖存寄存器,所述邊界掃描鎖存寄存器包括與所述外圍連接有電通信并與若干輸出允許位存儲單元有電通信的若干數(shù)據(jù)位存儲單元,每個所述輸出允許位存儲單元用來允許存入若干所述數(shù)據(jù)位存儲單元中的數(shù)據(jù)位輸出;一個邊界掃描移位寄存器,所述邊界掃描移位寄存器連接到所述鎖存寄存器上以使所述移位寄存器的內(nèi)容并行裝入所述鎖存寄存器,所述移位寄存器包括與所述鎖存寄存器中若干數(shù)據(jù)位存儲單元相對應(yīng)的移位寄存器數(shù)據(jù)位存儲單元,并包括與所述鎖存寄存器中所述輸出允許位存儲單元相對應(yīng)的移位寄存器輸出允許位存儲單元,把所述移位寄存器輸出允許位存儲單元組合于所述移位寄存器中的邏輯緊靠的位置處以便用比由每個所述輸出允許位存儲單元允許的數(shù)據(jù)位存儲單元數(shù)目少的移位寄存器存儲單元間隔開所述移位寄存器輸出允許位存儲單元;和一個轉(zhuǎn)換電路,當所述轉(zhuǎn)換電路處于第一狀態(tài)時,所述轉(zhuǎn)換電路通過在邏輯緊靠位置處的所述移位寄存器輸出允許位存儲單元提供一條通路,當所述轉(zhuǎn)換電路處于第二狀態(tài)時,所述轉(zhuǎn)換電路通過所述移位寄存器輸出允許位存儲單元和所述移位寄存器數(shù)據(jù)位存儲單元提供一條通路。
2.一種如權(quán)利要求1所述的JTAG測試電路結(jié)構(gòu),其中所述移位寄存器輸出允許位存儲單元串聯(lián)連接并在邏輯上相互鄰接。
3.一種如權(quán)利要求1所述的JTAG測試電路結(jié)構(gòu),其中所述轉(zhuǎn)換電路包括一個多路轉(zhuǎn)換器。
4.一種如權(quán)利要求1所述的JTAG測試電路結(jié)構(gòu),其中所述轉(zhuǎn)換電路連接到一個JTAG輸出上。
5.一種用一個JTAG邊界掃描測試電路有選擇地允許和禁止到集成電路(IC)上的外圍連接的方法,所述方法包括以下步驟連接一個串行邊界掃描移位寄存器中的輸出允許單元和數(shù)據(jù)測試位單元以便通過所述輸出允許單元和數(shù)據(jù)測試位單元提供第一通路,并僅通過所述輸出允許單元提供第二通路,其中存入所述輸出允許單元中的信息有選擇地允許發(fā)生于所述數(shù)據(jù)測試位單元與所述外圍連接之間的電通信;生成用于JTAG邊界掃描測試的位流;在所述第一和第二通路之間選擇;和通過所述串行邊界掃描移位寄存器對所述所生成的位流進行移位。
全文摘要
一種特殊構(gòu)造的JTAG測試電路使一個集成電路芯片(110、120、130或140)中的多個總線連接能被有選擇地且有效地置高阻抗狀態(tài)。使輸出允許移位寄存器存儲單元(205、210、215)沿JTAG數(shù)據(jù)移位寄存器邊界掃描通路被置于彼此邏輯緊靠著的位置,從而不必將數(shù)據(jù)位移入集成電路芯片中所有的數(shù)據(jù)移位寄存器存儲單元(225、230和235)中以便有選擇地允許和禁止集成電路芯片(110)中的幾個總線接口(128、138和148)。這樣,可以把集成電路芯片(110)與所選擇連到集成電路芯片(110)上的那些總線連接隔離開來,而其它的總線連接能夠保持被允許狀態(tài)以驅(qū)動其他連到集成電路芯片(110)上的其他總線(125、135和/或145)。因而避免了涉及把整個集成電路芯片(110)設(shè)置于高阻抗模式的問題。
文檔編號G01R31/3185GK1219241SQ96199970
公開日1999年6月9日 申請日期1996年9月26日 優(yōu)先權(quán)日1995年12月19日
發(fā)明者小L·R·莫特 申請人:三星電子株式會社