IEEE 1149.1TAPアーキテクチャを示す。
Tap状態機械(TSM)データレジスタ制御(DRC)信号をデータレジスタへルーティングするためのルータ回路を示す。
TSMの状態図を示す。
ルータを介してTSMによって制御される非同期CSUデータレジスタを示す。
ルータを介してTSMによって制御される同期CSUデータレジスタを示す。
ルータを介してTSMによって制御される非同期CSデータレジスタを示す。
ルータを介してTSMによって制御される同期CSデータレジスタを示す。
本開示に従った、コマンド(CMD)回路及びデュアルポートルータを備えて拡張されたIEEE 1149.1TAPを示す。
本開示に従った、TSM又はCMD回路からデータレジスタへDRC信号をルーティングするためのデュアルポートルータ回路を示す。
本開示に従った、CMD回路を用いてCS又はCSU動作を実行するためのタイミング図を示す。
本開示に従った、デュアルポートルータを介してTSM又はCMD回路のいずれかによって制御される非同期CSUデータレジスタを示す。
本開示に従った、デュアルポートルータを介してTSM又はCMD回路によって制御される同期CSUデータレジスタを示す。
本開示に従った、デュアルポートルータを介してTSM又はCMD回路のいずれかによって制御される非同期CSデータレジスタを示す。
本開示に従った、デュアルポートルータを介してTSM又はCMD回路によって制御される同期CSデータレジスタを示す。
本開示に従った、デュアルポートルータを介してTSM又はCMD回路によって制御される非同期CSデータレジスタを示す。
本開示に従った、デュアルポートルータを介して、TSM又はCMD回路によって制御される第1のテスト圧縮アーキテクチャを示す。
本開示に従った、デュアルポートルータを介して、TSM又はCMD回路によって制御される第2のテスト圧縮アーキテクチャを示す。
本開示に従った、デュアルポートルータを介して、TSM又はCMD回路によって制御されるIEEE 1500ラッパーアーキテクチャを示す。
本開示に従った、デュアルポートルータを介して、TSM又はCMD回路によって制御される読み出し/書き込み回路アーキテクチャを示す。
本開示に従った、デュアルポートルータを介して、TSM又はCMD回路によって制御されるIEEE P1687インスツルメンテーションアーキテクチャを示す。
本開示に従った、外部テスト動作を実行するデバイスの第1のデイジーチェーンを示す。
本開示に従った、内部テストを実行するデバイスの第2のデイジーチェーンを示す。
JTAG/1149.1バスコントローラを示す。
本開示に従った、CMD回路を備えて拡張されたJTAG/l149.1バスコントローラを示す。
本開示に従ったJTAGコントローラCMD回路の実装例を示す。
本開示に従った、デュアルポートルータを介して、TSM又は付加的なCapture及びUpdate入力を備えるCMD回路に接続可能なCSU又はCS回路を示す。
本開示に従った、Capture入力を備えるCMD回路を示す。
本開示に従った、Capture及びUpdate入力を備えるCMD回路を示す。
本開示に従った、TSMからCMD信号を受信するCMD回路を備えて拡張されたIEEE 1149.1 TAPを示す。
本開示に従った、TSMがExitlDR状態のときCMD信号をCMD回路に出力するためのゲーティング回路要素を示す。
本開示に従った、CSOP、CSUOP、及びB2BCSOP動作を実行するためにCMD回路にCMD信号を出力するTSMのタイミング図を示す。
本開示に従った、TSMのためのCMD信号を受信するCMD回路によって制御されるデータレジスタを示す。
本開示に従った、或るTSM状態の間、TSMのClockDR出力上にクロック信号を生成するための回路を示す。
本開示に従った、デュアルポートルータを介して、TSM又は付加的なCapture及びUpdate入力を備えるCMD回路に接続可能なCSU又はCS回路を示す。
本開示に従った、TSMから制御信号を受信するプログラマブルスイッチ(PSW)回路を備えて拡張されたIEEE 1149.1 TAPを示す。
本開示に従った、TSMがExitlDR又はPauseDR状態にあるときに、制御信号をPSWに出力するためのゲーティング回路要素を示す。
本開示に従った、CSOP、CSUOP、及びB2BCSOP動作を実行するために制御信号をPSW回路に出力するTSMのタイミング図を示す。
本開示に従った、TSMから制御信号を受信するPSWによって制御されるデータレジスタを示す。
本開示に従った、デュアルポートルータを介して、TSM又は付加的なCapture及びUpdate入力を備えるPSW回路に接続可能なCSU又はCS回路を示す。
本開示に従った、Capture及びUpdate入力を備えるPSW回路を示す。
本開示に従った、TSMのExitlDR及びPauseDR状態検出回路要素及びデュアルポートルータを備えて拡張されたIEEE 1149.1 TAPを示す。
本開示に従った、TSMのExitlDR及びPauseDR状態検出回路要素、マルチプレクサ、及びデュアルポートルータを備えて拡張されたIEEE 1149.1 TAPを示す。
本開示に従った、デュアルポートルータを介してDRCマルチプレクサに接続可能なCSU又はCS回路を示す。
図1は、TAP状態機械(TSM)102、命令レジスタ104、データレジスタ106、データレジスタ制御(DRC)信号ルータ108、及びTDOマルチプレクサ110で構成される従来技術例のTAPアーキテクチャ100を示す。TSMは、(1)TAPをTest Logic Reset状態にする、(2)TAPをRun Test/Idle状態にする、(3)命令レジスタスキャン動作を実行する、或いは(4)データレジスタスキャン動作を実行するために、図3に示す状態を経由して動作する。命令レジスタはデータレジスタイネーブル(DRE)信号を出力し、DRE信号は、TSMのDRC信号が、アクセスされるべきデータレジスタに対してルータを通過するよう選択する。
図2は、TSMのDRC出力をデータレジスタ106のDRC入力に接続するルーティング回路202で構成されるルータ108を示す。一旦接続されると、図3のTAPのTSM状態図に示すように、SelectDR、CaptureDR、ShiftDR、Exit1DR、及びUpdateDR状態を経由してTAP状態機械を遷移させることによって、TDIからTDOまでデータレジスタがアクセスされうる。
図4は、ルーティング回路108を介してTSM102に接続される非同期Capture、Shift及びUpdate(CSU)データレジスタ402を示す。このルーティング回路例、及び後述する他のルーティング回路例では、ルーティング回路108は、DRE命令入力によってそれがアクセスのために選択されているときにTSMにデータレジスタ402を制御させるゲーティング回路で構成される。非同期とは、そのTSMのゲーティングされたClockDR出力によってデータレジスタのタイミングが合わされることを意味する。IEEE 1149.1バウンダリスキャンレジスタ等のCSUタイプのデータレジスタがよく知られている。ルータ回路のゲーティング回路は、DRE入力に応答して、この分野ではすべて周知であるTSMのClockDR、ShiftDR、及びUpdateDR出力を、データレジスタのClockDR、ShiftDR、及びUpdateDR入力に接続する。一旦接続されると、データレジスタを動作させるために、TSMは、図3のSelectDR、CaptureDR、ShiftDR、ExitlDR、及びUpdateDR状態を経由して遷移する。データレジスタがTSMによってアクセスされていないときは、ルーティング回路108のゲーティング回路は、データレジスタのClockDR、ShiftDR、及びUpdateDR入力をイナクティブ状態にするように、DRE入力によって設定される。
図5はルーティング回路108を介してTSM102に接続される同期CSUデータレジスタ502を示す。同期とは、TCK信号によってデータレジスタのタイミングが合わされることを意味する。同期動作では、データレジスタがCapture、Shift、又はUpdate動作を実行していないときに、その現行状態を維持するような保持状態を提供するためにデータレジスタのスキャンセルが必要である。Capture信号は、TSMが図3のCaptureDR状態にあることを示し、Shift信号はTSMが図3のShiftDR状態にあることを示し、Update信号はTSMが図3のUpdateDR状態にあることを示す。ルーティング回路は、DRE入力に応答して、TSMのCapture、Shift、及びUpdate状態出力をデータレジスタのCapture、Shift、及びUpdate入力に接続する。一旦接続されると、TSMは、データレジスタを動作させるために、図3のSelectDR、CaptureDR、ShiftDR、ExitlDR、及びUpdateDR状態を経由して遷移する。データレジスタがTSMによってアクセスされないときは、ルーティング回路108のゲーティング回路は、データレジスタのCapture、Shift、及びUpdate入力をイナクティブ状態にするように、DRE入力によって設定される。
図6はルーティング回路108を介してTSM102に接続される非同期Capture及びShift(CS)データレジスタ602を示す。内部スキャンパスレジスタ等のCSタイプのデータレジスタがよく知られている。ルーティング回路は、DRE入力に応答して、TSMのClockDR及びShiftDR出力をデータレジスタのClockDR及びShiftDR入力に接続する。一旦接続されると、TSMは、データレジスタを動作させるために、図3のSelectDR、CaptureDR、ShiftDR、ExitlDR、及びUpdateDR状態を経由して遷移する。データレジスタがTSMによってアクセスされていないときは、ルーティング回路108のゲーティング回路は、データレジスタのClockDR及びShiftDR入力をイナクティブ状態にするように、DRE入力によって設定される。
図7はルーティング回路108を介してTSM102に接続される同期CSデータレジスタ702を示す。ルーティング回路は、DRE入力に応答して、TSMのCapture及びShift状態出力をデータレジスタのCapture及びShift入力に接続する。一旦接続されると、TSMは、データレジスタを動作させるために、図3のSelectDR、CaptureDR、ShiftDR、ExitlDR、及びUpdateDR状態を経由して遷移する。データレジスタがTSMによってアクセスされないときは、ルーティング回路108のゲーティング回路は、データレジスタのCapture及びShift入力をイナクティブ状態にするように、DRE入力によって設定される。
図4及び図5のCSUスキャンサイクルのTSMの状態遷移では、問題となるデッド状態のSelectDR及びExitlDRを破線のボックスで示す。UpdateDR状態でUpdate動作が起こると、CaptureDR状態でキャプチャ動作が起こるまでに2と1/2のTCKかかる。これがアット・スピードUpdate&Captureスキャン動作を妨げる。図6及び図7のCSスキャンサイクルのTSMの状態遷移では、問題となるデッド状態のSelectDR、ExitlDR、及びUpdateDRを破線のボックスで示す。ShiftDR状態で、最後のシフト動作が起こると、CaptureDR状態でキャプチャ動作が起こるまでに4TCKかかる。これがアット・スピードShift&Captureスキャン動作を妨げる。
アット・スピードのCSU及びCSスキャン動作を妨げる図4〜図7のデッド状態は、この業界ではよく知られている。この問題を解決するために多くの解決法が提案されている。幾つかの初期の解決法を説明し以下に参照する。
解決法1 IEEEコンピュータソサエティプレス、第18章、「テストアクセスポート及びバウンダリスキャンアーキテクチャ」1990年、Maunder著。この解決法は、最後のシフト動作の後、アット・スピードのキャプチャ動作が起こりうる箇所へTSM状態アサインメントを「リプログラム」する、TAP命令レジスタにロードされ得るScanTest命令を定義している。この解決法は、CSスキャン動作におけるデッド状態を除去するが、CSUスキャン動作におけるデッド状態は除去しない。また、この解決法はスタンドアロンのデバイステストにのみ適用する。即ち、デバイスが他のデバイスとデイジーチェーン接続されている場合には用いることができない。
解決法2 論文「バウンダリスキャンを用いるビルトインテスト」、ATE&インスツルメンテーションコンファレンス、1989年、頁15〜22、Whetsel著。この解決法は、アット・スピードのアップデート及びキャプチャ動作を行うために、TAP命令レジスタロードにすることができ、Run Test/Idle状態で実行され得るBIST及びDelay Test命令を定義している。この解決法はCSU及びCSスキャン動作におけるデッド状態問題を解決しない。
解決法3 論文「バウンダリスキャンタイミング測定のためのアーリーキャプチャ、IEEE国際テストコンファレンス」、1996年、Lofstrom著。この解決法は、TAP命令レジスタにロードすることができ、アップデート動作の後に適用しうるキャプチャクロックとしてTMS信号を用いることを可能にする、EarlyCapture命令を定義している。この解決法は、アット・スピード・アップデート及びキャプチャ動作を提供するが、デッド状態を考察する必要性を除去していない。また、CSUスキャン動作とのみ機能し、CSスキャン動作とは機能しない。
解決法4 IEEE規格1149.6、「アドバンストデジタルネットワークのバウンダリスキャンテストのための規格」。この解決法は、Run Test/Idle状態においてアット・スピードのアップデート及びキャプチャ動作を実行させる新規の命令(ExtestPulse & ExtestTrain)を定義する新規の規格(IEEE 1149.6)に基づいている。解決法2と同様に、この解決法はCSU及びCSスキャン動作におけるデッド状態問題を解決しない。
第1の開示される解決法−図8〜図33
図4〜図7の、問題となるデッド状態を除去するための本開示に記載される第1の解決法は、コマンド回路及びデュアルポートルータを備えてTAP100を拡張するものである。コマンド回路及びデュアルポートルータは、CSUデータレジスタ上でアット・スピードUpdate及びCapture動作を、CSデータレジスタ上でアット・スピードShift及びCapture動作を実行するように、TSM102が図3のShiftDR状態にある間に動作しうる。
図8はコマンド(CMD)回路802及びデュアルポートルータ804を備えて拡張されたTAP800を示す。それ以外はTAP800は図1のTAP100と同じである。CMD回路802は、TCK、TMS、DRE、及びDRC出力に接続される入力を有する。デュアルポートルータ804の1つのポートは、CMD回路のDRC出力に接続され、他のポートはTSMのDRC出力に接続される。命令レジスタからのDRE信号は、CMD回路をイネーブル又はディスエーブルする。また、DRE信号は、データレジスタ106へのルータのDRC出力が、上述したようにTSM102によって、又はCMD回路804によって制御されうるようにデュアルポートルータを制御する。
図9はルーティング回路902で構成される例示のデュアルポートルータ804を示し、ルーティング回路902は、DRE入力に応答して、TSMからのDRC出力を選択されたデータレジスタ106のDRC入力へ接続、或いはCMD回路のDRC出力を選択されたデータレジスタ106のDRC入力に接続する。データレジスタがTSMのDRC出力に接続されている場合、上述したように、TSMによって制御されるCSU又はCSスキャン動作のためにデータレジスタがアクセスされうる。データレジスタがCMD回路のDRC出力に接続されている場合、CMD回路によって制御されるCSU又はCSスキャン動作のためにデータレジスタがアクセスされうる。
図10は、CMD回路を用いて、CSUスキャン動作(CSUOP)1002、又はCSスキャン動作(CSOP)1004を実行するタイミングを示す。データレジスタにアクセスするためにCMD回路が用いられるときは、TSMはShiftDR状態1006に遷移し、そこに留まる。ShiftDR状態では、データレジスタはTDIからTDOへデータをシフトする。シフトの間適切な時点で、TMS信号を介してTCKの立ち下がりで、CMD信号1008がCMD回路に入力される。CMD信号入力の間に、NoOperation(NOP)信号1010が、TMSを介してTCKの立ち下がりでCMD回路に入力される。データレジスタへのCMD制御アクセスの間、TSMは継続してTCKの立ち上がりで通常のTMS入力1012を受信し、TSMをShiftDR状態に維持する。CMD回路制御スキャン動作の最後に、データレジスタアクセス動作を終了するために、TSMはTMS入力を受信して、ShiftDR状態から外に遷移する。
図10からわかるように、CSUタイプのデータレジスタがアクセスされると、CMD信号入力に応答してCSUOPが実行される。CSUOPは、最後のShift(Shift N)動作の後にUpdate動作1014を実行し、Capture動作1016を実行し、その後Shift動作を再開する。TMS上にCMD信号が入力される毎に、このUpdate、Capture、及びShiftシーケンスが繰り返される。CMD回路がCSUデータレジスタを制御する間は、TSMがShiftDR状態に留まるので、図10のCSUOPサイクルではデッド状態がない。
また、図10からわかるように、CSタイプのデータレジスタがアクセスされる場合、CMD信号入力に応答して、CSOPが実行される。CSOPは、最後のShift(Shift N)動作の後に、Capture動作1018を実行し、その後Shift動作を再開する。TMS上にCMD信号が入力される毎に、このCapture及びShiftシーケンスが繰り返される。CMD回路がCSデータレジスタを制御する間、TSMはShiftDR状態に留まるので、図10のCSOPサイクルではデッド状態がない。
図11は例示のデュアルポートルータ804を介してTSM及びCMD回路に接続される図4の非同期CSUデータレジスタ402を示す。DRE入力は、図4で説明したようにTSMによって又は図10で説明したようにCMD回路によって、データレジスタがアクセスされるようにデュアルポートルータを制御する。この例では、CMD回路は、TMSからのCMD信号をTCKの立ち下がりに入力する単に2つの直列接続されたFFである。
この例のデュアルポートルータ804は、図示されているように接続され、命令レジスタからのDRE入力によって制御される単なるマルチプレクサ及びゲーティングである。データレジスタがTSMによって制御されるときは、DRE入力は、TSMからのClockDR、ShiftDR、及びUpdateDR出力を、デュアルポートルータを介して、データレジスタのClockDR、ShiftDR、及びUpdateDR入力へルーティングする。データレジスタがCMD回路によって制御されるときは、DRE入力は、CMD回路からのCapture(C)及びUpdate(U)信号、及びTSMからのClockDR信号を、デュアルポートルータを介して、データレジスタのClockDR、ShiftDR、及びUpdateDR入力にルーティングする。TSMがShiftDR状態になるので、TSMからのClockDR出力が作動する。この例示のデュアルポートルータの第1のポートは、TSMからのClockDR、ShiftDR、及びUpdateDR入力であると定義される。この例示のデュアルポートルータの第2のポートは、CMD回路からのCapture(C)及びUpdate(U)入力、及びTSMからのClockDR入力であると定義される。
CMD回路によるアクセスの間、第1のFFはTMSからCMD信号を入力し、Update(U)信号をデュアルポートルータへ出力する。デュアルポートルータは、データレジスタにUpdate動作を実行させるために、UpdateDR信号をデータレジスタへ出力する。CMD回路からのUpdate(U)信号は、TSMからのClockDR信号によってゲーティングされて、TCKの立ち上がりでデータレジスタへのUpdateDR入力上にアップデートクロックパルスを生成する。次に、CMD信号は第2のFFへシフトされ、第2のFFはデュアルポートルータへCapture(C)信号を出力する。デュアルポートルータは、TCKによって駆動されるClockDRの次の立ち上がりでデータレジスタにCapture動作を実行させるために、ShiftDR信号上のロジックレベルをデータレジスタへ出力する。Update(U)及びCapture(C)信号は、TCKの立ち下がりでFF内にレジスタされるため、立ち上がりのClockDR動作の間安定している。CMD信号がCMD回路に入力される毎にUpdate及びCapture動作シーケンスが繰り返される。この例示のデュアルポートルータはClockDRの立ち上がりでアップデートクロックパルスを生成するが、他の例示のデュアルポートルータでは、所望とされる場合は、ClockDRの立ち下がりでアップデートクロックパルスを生成することもできる。
図11では示されていないが、このCMD回路例、及び後述する他のCMD回路例のFFは、CMD信号を受信するまでUpdate(U)及びCapture(C)出力がアサートされないように、図9に示すように、データレジスタテストアクセス動作の開始時にDRE入力によって初期化される。
図12は、例示のデュアルポートルータ804を介して図11のTSM102及びCMD回路802に接続される図5の同期CSUデータレジスタ502を示す。図5に示すようにTSMによって或いは図10に示すようにCMD回路によって、データレジスタがアクセスされるように、DRE入力がデュアルポートルータを制御する。データレジスタは自走TCKによってクロックされる。
この例のデュアルポートルータ804は、図示されるように接続され、命令レジスタからのDRE入力によって制御される単なるマルチプレクサ及びゲーティングである。データレジスタがTSMによって制御されるべきときは、DRE入力は、TSMからのCapture、Shift、及びUpdate状態出力を、デュアルポートルータを介して、データレジスタのCapture、Shift、及びUpdate入力へルーティングする。TSMがCaptureDR状態のときCapture状態信号がアサートされ、TSMがShiftDR状態のときShift状態信号がアサートされ、TSMがUpdateDR状態のときUpdate状態信号がアサートされる。データレジスタがCMD回路によって制御されるべきときは、DRE入力は、CMD回路からのCapture(C)及びUpdate(U)信号を、デュアルポートルータを介して、データレジスタのCapture、Shift、及びUpdate入力へルーティングする。TSMからのCapture(C)入力は、データレジスタのCapture及びShift入力を、データレジスタにデータをシフト又はキャプチャさせる状態に設定する。この例において、Capture(C)が低である場合、データレジスタへのCapture及びShift入力は低及び高にそれぞれ設定され、それによってデータレジスタにTDIからTDOへデータをシフトさせる。また、Capture(C)が高である場合、データレジスタへのCapture及びShift入力が高及び低にそれぞれ設定され、それによってデータレジスタにデータをキャプチャさせる。この例示のデュアルポートルータの第1のポートは、TSMからのCapture、Shift、及びUpdate状態出力であると定義される。この例示のデュアルポートルータの第2のポートは、CMD回路からのCapture(C)及びUpdate(U)入力であると定義される。
CMD回路によるアクセスの間、第1のFFはTMSからCMD信号を入力し、Update(U)信号をデュアルポートルータへ出力する。デュアルポートルータは、データレジスタにUpdate動作を実行させるためにUpdate信号を出力する。次にCMD信号が第2のFFへシフトされ、第2のFFは、Capture(C)信号をデュアルポートルータへ出力し、デュアルポートルータは、データレジスタにCapture動作を実行させるために、Capture及びShift信号を出力する。この例のCapture、Shift、及びUpdateデータレジスタ動作は、自走TCKの立ち上がりで起こる。所望とされる場合、データレジスタのUpdate回路要素は、Update回路要素へのTCK入力を単に反転させることによって、TCKの立ち下がりでUpdate信号に応答して動作するように設計することができる。CMD信号がCMD回路に入力される毎に、Update及びCapture動作シーケンスが繰り返される。
図13は、デュアルポートルータ804を介してTSM102及びCMD回路802に接続される図6の非同期CSデータレジスタ602を示す。この例のデュアルポートルータは、図示されるように接続されるマルチプレクサ及びゲートで構成される。図6に示すようにTSMによって又は図10に示すようにCMD回路によって、データレジスタがアクセスされ得るように、DRE入力は、デュアルポートルータのマルチプレクサ及びゲートを制御する。デュアルポートルータの第1のポートは、TSMからのClockDR及びShiftDR出力を含む。デュアルポートルータの第2のポートは、CMD回路からのCapture(C)出力及びTSMからのClockDR出力を含む。この例のCMD回路は、TCKの立ち下がりでTMSからのCMD信号を入力する単なるFFである。CMD回路によるアクセスの間、FFはTMSからCMD信号を入力し、デュアルポートルータへCapture(C)信号を出力する。デュアルポートルータは、データレジスタにTSMからのClockDRの立ち上がりでCapture動作を実行させるために、マルチプレクサ及びゲートを介して、ShiftDR信号上のロジック状態を出力する。TSMがShiftDR状態にあるので、ClockDR信号はアクティブである。Capture動作に続いて、ShiftDR信号は前の状態に戻り、ClockDRの次の立ち上がりでShift動作を再開する。CMD信号がCMD回路に入力される毎にCapture動作が繰り返される。
図14は、デュアルポートルータを介して図12のTSM102及びCMD回路802に接続される図7の同期CSデータレジスタ702を示す。この例のデュアルポートルータは、図示されるように接続されるマルチプレクサ及びゲートで構成される。図7で説明したようにTSMによって又は図10で説明したようにCMD回路によって、データレジスタがアクセスされ得るように、DRE入力はデュアルポートルータのマルチプレクサ及びゲートを制御する。デュアルポートルータの第1のポートは、TSMからのCapture及びShift状態出力を含む。デュアルポートルータの第2のポートは、CMD回路からのCapture(C)出力を含む。データレジスタは、自走TCK信号によってクロックされる。図7で説明したようにTSMによって又は図10で説明したようにCMD回路によって、データレジスタがアクセスされ得るように、DRE入力はデュアルポートルータを制御する。CMD回路によるアクセスの間、FFはTMSからCMD信号を入力し、デュアルポートルータへCapture(C)信号を出力する。デュアルポートルータは、データレジスタへのCapture及びShift入力を、TCKの立ち上がりでデータレジスタにCapture動作を実行させる状態へ設定する信号を出力する。Capture動作に続いて、Capture及びShift信号は前の状態に戻り、TCKの次の立ち上がりでShift動作を再開する。CMD信号がCMD回路に入力される毎にCapture動作が繰り返される。
図15は、図13のデュアルポートルータ804を介してTSM102及びCMD回路802に接続される図6の非同期CSデータレジスタ602を示す。図6で説明したようにTSMによって又はCMD回路によって、データレジスタがアクセスされ得るように、図13で説明したように、DRE入力はデュアルポートルータを制御する。この例では、CMD回路は、データレジスタに連続(back to back)Capture動作を実行させるよう制御するように設計される。この例のCMD回路は、第1及び第2の直列接続されるFFで構成される。これらのFFの出力はNORゲート等のゲートに入力される。ゲートの出力はデュアルポートルータに入力される。TMSからのCMD入力信号に応答して、CMD回路の第1のFFが第1のCapture(C)信号を出力し、次にCMD信号がCMD回路の第2のFFへシフトされ、それが第2のCapture信号を出力する。CMD回路は、第1及び第2の両Capture信号(C)を、ゲートを介してデュアルポートルータへ入力する。第1のCapture(C)信号に応答して、デュアルポートルータは、データレジスタへのShiftDR入力を、ClockDRの立ち上がりで第1のCapture動作をデータレジスタに実行させるための状態に設定する。第2のCapture(C)信号に応答して、デュアルポートルータは、ClockDRの次の立ち上がりでデータレジスタに第2のCapture動作を実行させるようにShiftDR入力上でキャプチャ状態を維持する。連続Capture動作に続いて、データレジスタへのShiftDR入力は前の状態へ戻り、Shift動作を再開する。
図8〜図15は、TSM又はCMD回路のいずれかによって制御される様々なタイプの簡単なデータレジスタを示すが、これらデータレジスタは、典型的にはデバイス内の、より複雑なテストアーキテクチャのビルディングブロックを形成する。これらのより複雑なテストアーキテクチャも、以下の図16〜図17に示すように、TSM又はCMD回路によって制御されうる。
また図8〜図15は、単一のフリップフロップ、又は直列構成の2つのフリップフロップのいずれかのCMD回路を示すが、CMD回路は、例えば状態機械として設計されたCMD回路等の多くの異なる様式で設計されうる。
図16は、デバイス内の既知のタイプの単一入力及び単一出力のテスト圧縮アーキテクチャ1602の簡単な例を示す。このアーキテクチャは、デコンプレッサ(D)回路、並列CSタイプのデータレジスタ(DR)、及びコンパクタ(C)回路で構成される。デコンプレッサは、デュアルポートルータのDRC出力によって制御されて、TDIから圧縮された刺激データを入力し、その刺激データを解凍し、解凍された刺激データをCSデータレジスタへ出力する。コンパクタは、デュアルポートルータのDRC出力によって制御されて、CSデータレジスタからの応答データを入力し、その応答データを圧縮し、圧縮されたデータをTDO出力へ出力する。CSデータレジスタは、デュアルポートルータのDRC出力によって制御されて、Capture及びShift動作を実行する。図6又は図7で説明したようにTSMのDRC出力によって、又は図13及び図14で説明したようにCMD回路のDRC出力によって、テスト圧縮アーキテクチャが制御可能になるように、DRE入力がデュアルポートルータを制御する。
図17は、デバイス内の既知のタイプの多重入力及び多重出力のテスト圧縮アーキテクチャ1702の簡単な例を示す。このアーキテクチャの構造及び動作は、図16で説明したものと同じであるが、圧縮された刺激データを入力するために多重TDI入力が用いられ、圧縮された応答データを出力するために多重TDO出力が用いられる点が異なっている。多重入力多重出力テスト圧縮アーキテクチャは、図16で説明したようにTSM又はCMD回路のいずれかによって選択的に制御されうる。
図18は、デュアルポートルータのDRC出力に接続される、デバイス内のIEEE1500コアラッパーアーキテクチャ1802の簡単な例を示す。このアーキテクチャは、ラッパーバウンダリレジスタ(WBR)及び並列CSタイプデータレジスタ(DR)で構成される。図示されていないが、このアーキテクチャは、そのテスト動作モードを制御するための命令レジスタも含む。
ラッパーバウンダリレジスタは、デバイス内の多数のコアラッパーアーキテクチャ間の相互接続テストを提供するために主に用いられる。ラッパーバウンダリレジスタは、CSU又はCSのいずれかのタイプのデータレジスタとして実装されうる。相互接続テスト中、ラッパーバウンダリレジスタは、デュアルポートルータのDRC出力によって制御されて、ラッパー直列入力(WSI)及びラッパー直列出力(WSO)を介して、データをラッパーバウンダリレジスタを経由してシフトさせ、その後アップデート及びキャプチャ動作を実行する。この例では、WSIはTDIに接続して示され、WSOはTDOに接続して示される。相互接続テストを制御するために、デュアルポートルータへのDRE入力によってTSMが選択される場合、TSMはラッパーバウンダリレジスタを制御するためにDRC信号を出力するよう、データレジスタスキャン状態を経由して循環する。相互接続テストを制御するために、デュアルポートルータへのDRE入力によってCMD回路が選択される場合、TSMはShiftDR状態に遷移してそこに留まり、一方、CMD回路はラッパーバウンダリレジスタを制御するためにDRC信号を出力する。
並列CSデータレジスタは、そのコアのロジック並列スキャンテストを実行するために用いられる。並列スキャンテストの間、CSデータレジスタは、デュアルポートルータのDRC出力によって制御されて、ラッパー並列入力(WPI)及びラッパー並列出力(WPO)を介してデータをCSデータレジスタを経由してシフトさせ、その後キャプチャ動作を実行する。並列スキャンテストを制御するために、デュアルポートルータのDRE入力によってTSMが選択される場合、TSMは、並列CSデータレジスタを制御するためにDRC信号を出力するよう、データレジスタスキャン状態を経由して循環する。相互接続テストを制御するために、デュアルポートルータへのDRE入力によってCMD回路が選択される場合、TSMはShiftDR状態へ遷移してそこに留まり、一方、CMD回路は並列CSデータレジスタを制御するためにDRC信号を出力する。
図16〜図18に示すデバイステストアーキテクチャを、従来のようにTSMを用いて制御することは、スキャン動作中に問題となるデッド状態を再現することになる。テストアーキテクチャをCMD回路を用いて制御することは、スキャン動作中のこれらのデッド状態を有利に除去する。
図16〜図18の例では、デバイスのスキャン又はスキャン圧縮テストを改善するために、CMD回路及びデュアルポートルータをどのように用いうるかを示したが、CMD回路は、TAPとインタフェースされている、デバイス内の他のタイプの埋め込み回路へのスキャンアクセスを改善するためにも用いることができる。以下では、そのような埋め込み回路の2つを説明する。
図19は、デュアルポートルータ804を介してTSM102又はCMD回路802によって選択的に制御されるR/Wデータレジスタ1904に接続されるアドレス可能なR/W回路1902で構成される構成1900を示す。R/W回路は、メモリ回路、テスト回路、デバッグ回路、又はトレース回路でありうる。R/W回路は、R/W回路とデータレジスタとの間のデータバス接続を介して、R/W回路内のアドレスされた位置へデータを書き込む、及び/又はその位置からデータを読み出すことが可能になるよう、データレジスタからアドレス入力及びR/W制御入力を受け取る。
R/W回路へのTSM制御アクセスが所望される場合、TSMからのDRC出力をデータレジスタのDRC入力に接続するよう、DRE入力がデュアルポートルータを制御する。一旦接続されると、TSMは、アドレス、データ、及びR/W制御ビットをデータレジスタへシフト又はデータレジスタからシフトするために、ShiftDR状態へ遷移する。R/W制御ビットが書き込み動作のために設定されている場合、TSMがUpdateDR状態に遷移すると、データレジスタのデータがR/W回路のアドレスされた位置に書き込まれる。R/W制御ビットが読み出しのために設定されている場合、TSMがCaptureDR状態へ遷移すると、R/W回路のアドレスされた位置のデータが、データレジスタの中にロードされる。R/W制御ビットが、読み出し及び書き込み動作のために設定されている場合、CaptureDR状態では、R/W回路のアドレスされた位置から読み出しが起こり、UpdateDR状態では、R/W回路のアドレスされた位置から書き込みが起こる。
R/W回路へのCMD回路制御アクセスが所望される場合、CMD回路のDRC出力をデータレジスタのDRC入力に接続するように、DRE入力がデュアルポートルータを制御する。一旦接続されると、TSMはShiftDR状態へ遷移してそこに留まり、アドレス、データ、及びR/W制御ビットをデータレジスタへ又はデータレジスタからシフトする。そのシフト動作中の適切な時点で、CMD回路にDRC信号をデュアルポートルータへ出力させるために、CMD入力がCMD回路に入力される。R/W制御ビットが書き込み動作のために設定されている場合、CMD回路のDRC信号に応答して、データレジスタ内のデータがアドレスされた位置に書き込まれる。R/W制御ビットが読み出し動作のために設定されている場合、CMD回路のDRC信号に応答して、アドレスされた位置のデータがデータレジスタの中にロードされる。R/W制御ビットが読み出し及び書き込み動作のために設定されている場合、CMD回路のDRC信号に応答して、読み出し及び書き込みが起こる。
CMD回路制御されたR/W動作の利点は、読み出し及び/又は書き込み動作を実行するために、TSMがShiftDR状態の外に遷移する必要がないことである。アドレス、データ、及びR/W制御ビットがデータレジスタへ又はデータレジスタから継続的にシフトされる間、読み出し及び/又は書き込み動作はCMD入力によって実行される。データレジスタが例えば50ビット長である場合、50番目のシフト動作の後毎に、読み出し及び/又は書き込み動作が起こるように命令しうる。
図20は、デバイス内の埋め込みインスツルメントへのアクセスのためにIEEE規格P1687によって開発されたインスツルメンテーションデータレジスタアーキテクチャ2002を示す。インスツルメンテーションデータレジスタアーキテクチャは、TDIとTDOとの間のパスでインスツルメントの接続又は接続解除を行うようスキャン動作によって制御されうるセグメント挿入ビット(SIB)構成要素で構成される。インスツルメンテーションデータレジスタアーキテクチャは、米国特許第4,872,169号において、Whetselによって最初に記述された自己制御可変長スキャンパスの動作に類似している。インスツルメンテーションデータレジスタアーキテクチャは、TSMからのDRC出力に接続され、それによって制御され得るように、DRC制御入力を含むことが明記されている。この例では、インスツルメンテーションデータレジスタもCMD回路によってどのように制御されうるかを示すために、CMD回路及びデュアルポートルータが付加されている。
インスツルメンテーションデータレジスタへのTSM制御アクセスが所望される場合、TSMからのDRC出力をデータレジスタのDRC入力に接続するよう、DRE入力がデュアルポートルータを制御する。一旦接続されると、インスツルメンテーションデータレジスタへ又はインスツルメンテーションデータレジスタからデータをシフトするように、TSMがShiftDR状態へ遷移する。SIBが、その関連インスツルメントをデータレジスタに接続するよう設定される場合、データは、図19のR/W回路に関する説明と同様の方式で、UpdateDR状態でそのインスツルメントに書き込むことができ、CaptureDR状態でそのインスツルメントから読み出すことができる。
インスツルメンテーションデータレジスタへのCMD回路制御アクセスが所望される場合、CMD回路のDRC出力をデータレジスタのDRC入力へ接続するよう、DRE入力がデュアルポートルータを制御する。一旦接続されると、データレジスタへ又はデータレジスタからデータをシフトするように、TSMがShiftDR状態へ遷移する。SIBが、その関連インスツルメントをデータレジスタへ接続するように設定される場合、データは、図19のR/W回路に関する説明と同様の方式で、CMD回路へのCMD入力に応答して、インスツルメントへ書き込み、インスツルメントから読み出すことができる。
CMD回路制御インスツルメントアクセス動作の利点は、CMD回路制御R/W回路アクセス動作と同様で、データが、インスツルメンテーションデータレジスタへ又はインスツルメンテーションデータレジスタから連続的にシフトする間、読み出し及び/又は書き込み動作がCMD入力によって実行されるので、読み出し及び/又は書き込み動作を実行するために、TSMがShiftDR状態から外へ遷移する必要がないという点である。
ボードレベルテスト動作の改善
図21は、JTAGコントローラに接続されるデイジーチェーン接続のデバイスの構成2102を示す。これらのデバイスはIC内のボード又は埋め込み回路上のICでありうる。各デバイスは命令可能なTAP(CTAP)を有する。即ち、各デバイスTAPは本開示のCMD回路及びデュアルポートルータを含む。この例では、デバイスのCTAPは、相互接続間でアット・スピード・アップデート及キャプチャ動作を可能にするように、CMD制御IEEE 1149.1のエックステストバウンダリスキャン命令がロードされている。このタイミング図でわかるように、TMSからのCMD入力に応答して、上述したようにUpdate、Capture、及びShiftバウンダリスキャンテスト動作が実行される。この例では、Update動作がTCKの立ち上がりで起こり、Capture動作がTCKの次の立ち上がりで起こる。これによって従来のエックステストバウンダリスキャンのUpdate及びCapture動作の2と1/2のTCK周期に対し、1TCK周期内で起こるエックステストバウンダリスキャンUpdate及びCapture動作が提供される。
所望とされる場合、デュアルポートルータの設計により、Update動作を遅らせて、Update動作がTCKの立ち下がりで起こり、Capture動作がTCKのその後の立ち上がりで起こるようにし、UpdateとCaptureとの間を1/2TCK周期にすることがきる。Update及びCapture動作間のタイミングを短くすることは、あらゆるタイプのCSUデータレジスタに適用可能である。
アット・スピード・バウンダリスキャンテストの間、CTAPをShiftDR状態に維持するために、通常のTMS信号がTCKの立ち上がりで入力される。またCTAPスキャンも、TSM状態遷移を用いて、相互接続の従来のエックステストバウンダリスキャンテストを実行するように設定しうる。しかしながら、TSMデッド状態が導入されるためテストはアット・スピードUpdate及びCaptureテストではない。
IEEE規格1149.6は、デバイス間のAC結合相互接続のテストが可能なバウンダリスキャンテストを提供するために開発された。Update動作とCapture動作との間の2と1/2のTCK遅延のため、1149.1エックステスト命令は全てのAC結合相互接続を適切にテストすることができなかったため、1149.6が必要であった。上述のCMD制御エックステスト動作は、1又は1/2TCK周期内で相互接続間のデータをアップデート及びキャプチャすることができるので、通常の1149.1エックステスト命令を用いるテストが難しいAC結合相互接続のテストを可能にする。
図22は、JTAGコントローラに接続されるデイジーチェーン接続のデバイスの構成2202を示す。これらのデバイスはIC内のボード又は埋め込み回路上のICでありうる。この例では、ミドルデバイスにあるCS又はCSUタイプ回路にアクセスすることが望ましい。CS又はCSU回路は、TDI及びTDOのみを用いてデータを通信する上述したタイプのいずれでもよい。ミドルデバイスへのアクセスを設定するために、リーディング及びトレーリングデバイスにIEEE 1149.1命令、即ち、それらのバイパス(BYP)レジスタを選択する1149.1Bypass、Clamp、又はHighZ命令、がロードされ、ミドルデバイスにはアクセスのための所望のCS又はCSUタイプ回路を選択するための命令がロードされる。
ミドルデバイスのCS又はCSU回路へのアクセスが通常のJTAGスキャン動作を用いて実行される場合、ミドルデバイスにロードされた命令が、そのデバイスのTSMをCS又はCSU回路に接続する。ミドルデバイス回路へのアクセスは、従来のデータレジスタのCapture、Shift、及びUpdate動作を実行するJTAGコントローラによって実行される。Capture動作の間、バイパスレジスタが、ロジックゼロを従順にロードし、ミドルデバイス回路が、出力されるべきデータを次のShift動作中にコントローラにロードする。CSUタイプの回路であると仮定すると、Shift動作に続いて、ミドル回路へシフトされているデータをアップデートするためにUpdate動作が実行される。各データレジスタスキャン動作の間、JTAGコントローラは、リーディングデバイスのバイパスレジスタを経由し、ミドルデバイス回路を経由し、そして、トレーリングデバイスのバイパスレジスタを経由してデータをシフトしなければならない。50個のリーディングデバイス、50個のトレーリングデバイスがあり、ミドルデバイス回路のスキャン長が50ビットである場合、各データレジスタスキャンサイクルは150ビット長になる。ミドルデバイス回路にアクセスするために、大きな数のスキャンサイクルが必要となる場合、リーディング及びトレーリングデバイスのバイパスレジスタを経由してデータを繰り返しシフトしなければならないので、膨大な量の時間が費やされうる。
ミドルデバイスのCS又はCSU回路へのアクセスがCMD回路を用いて実行される場合、即ち、ミドル回路のTAPが本開示のCMD回路及びデュアルポートルータを備えて拡張される場合は、ミドルデバイスにロードされた命令が、そのデバイスのCMD回路をCS又はCSU回路へ接続する。デバイスを経由してデータをTDIからTDOへ連続的にシフトするために、すべてのデバイスをShiftDR状態にするJTAGコントローラによってミドルデバイス回路へのアクセスが実行される。シフト中の適切な時点で、JTAGコントローラは、CMD信号をミドルデバイスのCMD回路へTMS信号を介して入力する。図22のCSOPタイミングでわかるように、CS回路は、CMD入力に応答してCapture動作を実行し、次いでデータのシフトを再開する。図22のCSUOPタイミングでわかるように、CSU回路は、CMD入力に応答してUpdate動作を実行し、その後、Capture動作を実行し、次いでデータのシフトを再開する。リーディング及びトレーリングデバイスのバイパスレジスタはCMD入力に応答しないので、それらはデータをJTAGコントローラからミドルデバイスへシフト及びミドルデバイスからJTAGコントローラへ逆にシフトバックする単なるパイプラインビットとして動作する。
ミドルデバイスへのアクセスの間、バイパスレジスタを横断して時間を無駄にするのは、JTAGコントローラからのデータがリーディングデバイスのバイパスレジスタを満たす際のアクセス開始時の1回と、トレーリングデバイスのバイパスレジスタからJTAGコントローラへミドルデバイスのデータを空にする際のアクセスの終了時の1回だけである。50個のリーディングデバイス、50個のトレーリングデバイス、及び50ビットのミドルデバイス回路長の例を再び用いると、ミドルデバイスへのアクセスは、アクセスの開始時に50ビットのシフト1回分と、アクセスの終了時の50ビットのシフト1回分、長くなるだけである。
CMP出力のためのJTAGコントローラの適合
TMS信号を用いてCMDを入力する本開示のアプローチは、従来のJTAGコントローラの改変を必要とする。JTAGコントローラには、ソフトウェア制御JTAGコントローラとハードウェア制御ハードウェア制御JTAGコントローラの2つの基本的なタイプがある。ソフトウェア制御JTAGコントローラは、単にコンピュータの並列ポートを使用し、TMS、TCK、TDI、及びTDO信号をソフトウェアを用いて動作させる。ハードウェア制御JTAGコントローラは、JTAGインタフェース回路を用いて、TMS、TCK、TDI、及びTDO信号を制御する。TMS上へCMD信号を提供させるようにソフトウェア制御JTAGコントローラを適合させることは、並列ポートを制御するソフトウェアを改変するだけで達成される。TMS上にCMD信号を提供するようにハードウェア制御JTAGコントローラを適合させることは、ハードウェアの改変を必要とするためにより難しい。TMS上へCMD信号を提供させるようにハードウェア制御JTAGコントローラを改変するための簡単な方法を以下に説明する。
図23は、コンピュータ2306及びJTAGインタフェース回路2304で構成される例示のハードウェア制御JTAGコントローラ2302を示す。JTAGインタフェース回路は、TMS信号を出力するためのTMS制御回路、TCK信号を出力するためのTCK制御回路、TDI信号を出力するためのTDIメモリ、及びTDO信号を入力するためのTDOメモリを有する。このコンピュータは、JTAGインタフェース回路に対する読み出し及び書き込みを実行して、JTAGインタフェース回路にTMS、TCK、TDI、及びTDO信号を動作させる。
図24は、TMS上へCMD信号を提供すること又は提供しないことを選択的に可能にするために、CMD回路2404及びマルチプレクサ2406を備えて、図23のJTAGコントローラをどのように拡張しうるのかを示す例示の構成2402を示す。CMD回路は、コンピュータインタフェース、ShiftDR状態入力、TCK入力、Enable出力、及びCMD出力を有する。TCK入力はCMD回路のタイミングを提供し、ShiftDR状態入力はCMD回路の動作をイネーブルする。マルチプレクサは、Enable出力に接続されるイネーブル入力、CMD出力に接続されるデータ入力、TMS出力に接続されるデータ入力、TCK出力に接続されるSelect入力、及びTMS出力に接続される出力を有する。JTAGコントローラ構成2402がTMS上へCMD信号を提供しないように設定されるときは、マルチプレクサにTMS信号のみを出力させ、図23の従来のJTAGコントローラの動作を再現するようにEnable信号が設定される。JTAGコントローラ構成2402がTMS上にCMD信号を提供するように設定されるときは、TCK信号からのSelect入力に応答して、マルチプレクサにTMS信号とCMD信号を交互に出力させるようにEnable信号が設定される。
図25は、レジスタ2502及びカウンタ2504で構成される図24のCMD回路2404の実装例を示す。レジスタはShift Countビットフィールド及びEnableビットを含む。図24のJTAGコントローラ構成が通常のJTAG動作を実行すべきときは、コンピュータは、マルチプレクサにTMS信号のみを出力させるようEnableビットを設定する。JTAGコントローラ構成2402がCMD動作を実行するものであるときは、コンピュータは、Shift Countをレジスタに書き込み、Select信号に応答してマルチプレクサにTMS信号とCMD信号を交互に出力させるようEnableビットを設定し、Shift Countをカウンタへロードする。Shift Countは、アクセスされるデータレジスタのビット長に等しく設定される。CMDによる動作の間、ShiftDR状態入力は、シフト動作のTCKの立ち上がり毎に1回カウントするためにカウンタをイネーブルするよう設定される。Shift Countが終了すると、CMD信号を高に設定するCount Complete(CC)信号をCounterが出力する。ターゲットデバイスでCMDによる動作をトリガするように、CMD信号がマルチプレクサを介してTMS上に出力される。図25のタイミング図でわかるように、CMD信号が起こるまでNOP信号がTMS上に出力される。CC信号も次のCMDによるシフトサイクルのためにShift Countをカウンタへロード(LD)する。テストが完了するまでこの動作が反復する。CMD信号出力モードにあるとき、図24のJTAGコントローラ構成2402は、TCKの立ち上がりの前に、TMS信号のために1/2TCK設定時間を提供し、TCKの立ち下がりの前に、CMD信号のために1/2TCK設定時間を提供する。
図26は1つ又は複数のCSU及び/又はCSデータレジスタ要素を含む回路ブロック2602を示す。回路ブロック2602は、これに限定されないが、テスト回路、デバッグ回路、トレース回路、エミュレーション回路、読み出し/書き込み回路、及びインスツルメンテーション回路を含む任意のタイプの回路でありうる。このような回路の幾つかの例は、図16〜図20に関連して説明されている。この回路ブロックは、Capture及びShift、又はCapture、Shift、及びUpdate動作を実行するようデュアルポートルータ804のDRC出力によって制御される。DRE入力は、上述したように、回路ブロック2602がTSM102又はCMD回路2604のDRC出力によって制御され得るように、デュアルポートルータを制御する。この例のCMD回路2604は、Capture信号及びUpdate信号のための付加的な入力を有する。DRE入力に応答して、CMD回路2604のDRC出力を制御するようCapture及びUpdate信号が選択されうる。ウエハ又はパッケージレベルでのデバイス製造テストの間、外部のテスタが、テスト中デバイスリード上でアクセス可能にされているCapture及びUpdate信号を用いてCMD回路のDRC出力を直接制御できるようにすることが所望されうる。Capture及びUpdate信号を介して、テスタがCMD回路のDRC出力を制御できるようにすることは、CMD回路のDRC出力のより柔軟な制御を可能にする。またTSMへのTMS入力が、TMS及びCMD信号ではなく、TMS信号を入力しさえすればよくなり、TAP102へのテスタのインタフェースを簡略化する。更に、TMS入力上でTMS信号を入力するだけでよいことは、より良好な設定及び保留時間をTMS信号に適用することができるため、TCKをより高速のクロック周波数で走らせることを可能にする。Capture及びUpdate信号を用いるテストの間、テスタは、TDI及びTDO信号を介して回路ブロック2602へ又は回路ブロック2602からデータをシフトするように、TAPをShiftDR状態へ遷移し、シフト中の適切な時点で、回路ブロック2602のテストを遂行するようCapture及びUpdate信号を動作させ得る。
図27は、上述した図13及び図14のCMD回路804及びマルチプレクサ2702で構成されるCMD回路2604の一実装例を示す。CMD回路804がCapture(C)出力を制御できるようにCMD回路2604が設定されるとき、図13及び図14で説明したように、Capture(C)出力をCMD回路804の出力に結合して、アット・スピードShift&Capture動作を可能にするように、DRE入力がマルチプレクサを設定する。Capture信号にCapture(C)出力を制御させるようにCMD回路2604が設定されるとき、Capture信号をCapture(C)出力に結合して、テスタがアット・スピードShift&Capture動作を直接制御できるように、DRE入力がマルチプレクサを設定する。図21及び図22に示されるようにデバイスが他のデバイスと共にシステム内にあるときは、CMD回路804によるCapture(C)出力の制御が有利に用いられる。ウエハ又はパッケージレベルのデバイステストにおいてデバイスがテスタによってテストされているときは、Capture信号によるCapture(C)出力の制御が有利に用いられる。
図28は、上述した図11及び図12のCMD回路804及びマルチプレクサ2702及び2802で構成されるCMD回路2604の別の実装例を示す。CMD回路804にUpdate(U)及びCapture(C)出力を制御させるようにCMD回路2604が設定されるとき、図11及び図12で説明したように、Update(U)及びCapture(C)出力をCMD回路804の出力に結合して、アット・スピードのUpdate&Capture及びShift&Capture動作を可能にするように、DRE入力がマルチプレクサを設定する。Update及びCapture信号にUpdate(U)及びCapture(C)出力を制御させるようにCMD回路2604が設定されるとき、Update及びCapture信号をUpdate(U)及びCapture(C)出力に結合して、テスタがアット・スピードのUpdate&Capture及びShift&Capture動作を直接制御できるように、DRE入力がマルチプレクサを設定する。デバイスが、図21及び図22に示されるように他のデバイスと共にシステム内にあるときは、CMD回路804によるUpdate(U)及びCapture(C)出力の制御が有利に用いられる。ウエハ又はパッケージレベルのデバイステストにおいてデバイスがテスタによってテストされているときは、Update及びCapture信号によるUpdate(U)及びCapture(C)出力の制御が有利に用いられる。
図29Aは、CMD回路802へのCMD入力が、TMS入力からではなくTSM102の出力2904からくる以外は図8のTAP800と同一のTAP2902を示す。TSMがExitlDR状態にあるとき、TSMからのCMD出力2904が起こる。これは、図29Bに示すように、状態デコードゲートを用いて、TSMがいつExitlDR状態にあるかを検出することによって達成される。
図30は、図29AのCMD回路へCMD信号を出力するために、ExitlDR状態(斜線部)を経由して遷移するTSMのタイミング図を示す。図からわかるように、図8のCMD回路で説明したように、CMD回路は、TCKの立ち下がりからTCKの次の立ち下がりまでCMD信号(斜線部)をレジスタする。TCKの2つの立ち下がりの間のTCKの立ち上がり3008でCMD動作が起こる。図13及び図14の例示のCMD回路802を用いてCMD動作がCapture及びShift動作(CSOP)3002を実行する場合、TCK3008の立ち上がりでCaptureが起こる。図11又は図12の例示のCMD回路802を用いてCMD動作がCapture、Shift、及びUpdate動作(CSUOP)3004を実行する場合、TCK3008の立ち上がりでUpdate動作が起こり、TCK3010の次の立ち上がりでCapture動作が起こる。図15の例示のCMD回路802を用いてCMD動作が連続Capture及びShift動作(B2BCSOP)3006を実行する場合、TCK3008の立ち上がりで第1のCapture動作が起こり、TCK3010の次の立ち上がりで第2のCapture動作が起こる。
図30のタイミング図でわかるように、且つ図10のタイミング図とは異なり、TSMは、CMD信号をCMD回路802へ提供するためにShiftDR状態から外に遷移してExitlDR状態を経由しなければならない。CSOP3002にとって、これは、Capture動作に続いてShiftDR状態を再開する前に2つのデッド状態(即ち、ノーアクション状態)のPauseDR及びExit2DRを横切らなければならないことを意味する。CSUOP3004にとって、これはUpdate及びCapture動作の後ShiftDR状態を再開する前にデッド状態のExit2DRを横切らなければならないことを意味する。2BCSOP3006にとっては、これは、第1及び第2のCapture動作に続いてShiftDR状態を再開する前に1つのデッド状態のExit2DRを横切らなければならないことを意味する。CMD信号を検出するためにExitlDR状態を用いてデッド状態が導入されている間は、所望のアット・スピードShift及びCapture動作(CSOP)3002、アット・スピードUpdate及びCapture動作(CSUOP)3004、及びアット・スピード連続Capture動作(B2BCSOP)3006の後にデッド状態が起こる。
TSM102がShiftDR状態から遷移するとき、そのClockDR出力上のクロック信号の出力を停止又はゲートオフすることが知られている。図30のタイミング図でわかるように、CSOP動作3002は、Capture動作のためにExitlDR状態でクロックを必要とし、CSUOP動作3004は、Update及びCapture動作のためにExitlDR及びPauseDR状態でクロックを必要とし、B2BCSOP動作3006は、連続Capture動作のためにExitlDR及びPauseDR状態でクロックを必要とする。以下の図31及び図32の説明は、これらの状態の間、ClockDR上にこれらのクロックをどのように供給するのかを例として示す。
図31は、非同期レジスタ3102、デュアルポートルータ804、CMD回路802、及びTSM102を示す。非同期データレジスタ3102は、非同期CSUデータレジスタ402又は非同期CSデータレジスタ602でありうる。非同期データレジスタ3102が非同期CSUデータレジスタ402である場合、CMD回路802は図11で説明したように動作して、ClockDR、ShiftDR、及びUpdate信号をデュアルポートルータ804を介してデータレジスタに提供する。非同期データレジスタ3102が非同期CSデータレジスタ602である場合、CMD回路802は図13又は図15のいずれかで説明したように動作して、ClockDR及びShiftDR信号をデュアルポートルータ804を介してデータレジスタに提供する。図31の構成と、CMD回路802を用いる上述した他の構成との間の違いは、図31のCMD回路へのCMD信号が、TMS信号からではなく、TSMから来るという点だけである。ExitlDR状態の間CMD信号を提供するためにTSMは図29Bのゲーティング回路2904を含み、CSOP、CSUOP、及びB2BCSOP動作に関して上述したようにClockDR上にクロック信号を提供するためにClockDRゲーティング回路要素3102を更に含む。
図32は、すべて図示されるように接続される、ゲーティング回路3204〜3208、及びマルチプレクサ3202を含むTSMのClockDRゲーティング回路要素3102の例を示す。各ゲーティング回路3204〜3208は、TCK信号、及びTSM状態を示す4つの状態信号を入力する。TSMがCaptureDR又はShiftDR状態のとき、ゲーティング回路要素3204はTCKをマルチプレクサへパスする。TSMがCaptureDR、ShiftDR、又はExitlDR状態のとき、ゲーティング回路要素3206はTCKをマルチプレクサへパスする。TSMがCaptureDR、ShiftDR、ExitlDR、又はPauseDR状態のとき、ゲーティング回路要素3208はTCKをマルチプレクサへパスする。マルチプレクサは、どのゲーティング回路出力をClockDR出力へパスするかを選択するために、命令レジスタからDRE入力を受け取る。
データレジスタ3102へのDRC信号をTSMが制御しているときは、従来のIEEE 1149.1のTSM制御Capture及びShift、又はCapture、Shift、及びUpdate動作を可能にするために、ゲーティング回路3204の出力はマルチプレクサ3202のClockDR出力に多重化される。図30のCSOP動作3002の間データレジスタ3102へのDRC信号をCMD回路が制御しているときは、ゲーティング回路要素3206の出力はマルチプレクサ3202のClockDR出力に多重化されて、ExitlDR状態の間、要求される付加的なCaptureクロックをClockDR上に提供する。図30のCSUOP動作3004の間データレジスタ3102へのDRC信号をCMD回路が制御しているときは、ゲーティング回路要素3208の出力はマルチプレクサ3202のClockDR出力に多重化されて、ExitlDR状態の間要求される付加的なUpdateクロックclockをClockDR上に提供し、PauseDR状態の間要求されるCaptureクロックをClockDR上に提供する。図30のB2BCSOP動作3006の間データレジスタ3102へのDRC信号をCMD回路が制御しているときは、ゲーティング回路要素3208の出力はマルチプレクサ3202のClockDR出力に多重化されて、ExitlDR状態の間要求される付加的な第1のCaptureクロックをClockDR上に提供し、PauseDR状態の間要求される付加的な第2のCaptureクロックをClockDR上に提供する。
図33は、回路ブロック2602、デュアルポートルータ804、TSM102、及びCMD回路2604を含む構成を示す。図33は、図31で上述したように、TSMがExitlDR状態の間ゲーティング回路要素2904を介してCMD回路2604へCMD信号を出力し、他の選択されたTSM状態の間はゲーティング回路要素3104を介してデュアルポートルータへクロック信号を出力するように改変されていること以外は図26と同一である。図26、図27、及び図28に関して説明したように、デュアルポートルータから回路ブロック2602へのDRC入力は、CMD回路、又は外部アクセス可能なCapture及びUpdate信号に接続されるテスタから、のいずれかによって制御されうる。
図34Aは、データレジスタ106、デュアルポートルータ804、命令レジスタ104、多重化回路要素110、及びTSM102を含む、図29AのTAP2902に類似するTAP3402を示す。TAP3402が、CMD回路802の代わりに、プログラマブルスイッチ(PSW)回路3406を使用するという点でTAP2902とは異なる。TSM102はTSM状態検出回路要素3404を備えて拡張されている。図34Bの例に示されるように、TSM状態回路要素は、ExitlDR及びPauseDR状態を検出するように実装される。検出されたExitlDR(EDR)及び検出されたPauseDR(PDR)TSM状態信号は、命令レジスタからのDRE入力と共にPSW回路に入力される。選択された1つ又は複数のデータレジスタ上のCapture及びShift、Capture、Shift及びUpdate、又は連続Capture及びShift動作を制御するように、PSW回路がDRC制御をデュアルポートルータ804に出力する。PSW回路へのDRE入力は、EDR及びPDR信号を必要に応じて適切なDRC信号に結合するようPSW回路をプログラムして、データレジスタ上でCSOP、CSUOP、又はB2BCSOP動作を実行する。
図35は、状態検出回路要素3404及びPSW回路3406を用いて、CSOP動作3502、CSUOP動作3504、及びB2BCSOP動作3506を実行するように状態を経由して遷移するTSMのタイミング図を示す。CSOP動作3502の間、検出されたExitlDR状態がPSWを経由して、選択されたデータレジスタ上でCapture動作を実行するように、デュアルポートルータにDRC制御を出力させる。CSUOP動作3504の間、検出されたExitlDR状態がPSWを経由し、選択されたデータレジスタ上でUpdate動作を実行するように、デュアルポートルータにDRC制御を出力させ、検出されたPauseDR状態がPSWを経由し、選択されたデータレジスタ上でCapture動作を実行するように、デュアルポートルータにDRC制御を出力させる。B2BCSOP3506動作の間、検出されたExitlDR状態がPSWを経由し、選択されたデータレジスタ上で第1のCapture動作を実行するように、デュアルポートルータにDRC制御を出力させ、検出されたPauseDR状態がPSWを経由し、選択されたデータレジスタ上で第2のCapture動作を実行するように、デュアルポートルータにDRC制御を出力させる。
図30のタイミング図と同様に、図35のタイミング図はデッド状態を含む。図示されるように、CSOP動作3502の間2つのデッド状態が起こり、CSUOP動作3504の間1つのデッド状態が起こり、B2BCSOP動作3506の間1つのデッド状態が起こる。これらのデッド状態は、CSOPサイクル3502中の所望のアット・スピードCapture動作の後、CSUOPサイクル3504中の所望のアット・スピードUpdate及びCapture動作の後、及び、B2BCSOPサイクル3506中の所望のアット・スピード連続Capture動作の後に起こるために問題とならない。
図36は、非同期レジスタ3602、デュアルポートルータ804、TSM102、及びPSW回路3406を示し、これらは全て図示されているように接続される。非同期データレジスタ3602は、非同期CSUデータレジスタ402又は非同期CSデータレジスタ602でありうる。
データレジスタ3602が非同期CSUデータレジスタ402である場合、検出回路3404からのExitlDR信号をPSWのUpdate(U)信号出力に、検出回路3404からのPauseDR信号出力をPSWのCapture(C)出力に結合するように、PSW3406がDRE入力によってプログラムされる。TSMが、検出可能なExitlDR状態を経由して遷移するとき、PSWのUpdate(U)出力がアサートされ、デュアルポートルータを介して、CSUデータレジスタのUpdateDR入力に印加されて、Update動作を実行する。TSMが、検出可能なPauseDR状態を経由して遷移するときは、PSWのCapture(C)出力がアサートされ、デュアルポートルータを介して、CSUデータレジスタのShiftDR入力に印加されて、Capture動作を実行する。
データレジスタ3602が非同期CSデータレジスタ602であり、且つCSOP動作がレジスタ上で実行される場合、検出回路3404からのExitlDR信号をPSWのCapture(C)信号出力に結合するように、PSW3406がDRE入力によってプログラムされる。TSMが、検出可能なExitlDR状態を経由して遷移するとき、PSWのCapture(C)出力がアサートされ、デュアルポートルータを介して、CSデータレジスタへのShiftDR入力へ印加されて、Capture動作を実行する。
データレジスタ3602が非同期CSデータレジスタ602であり、且つB2BCSOP動作がレジスタ上で実行される場合、検出回路3404からのExitlDR信号をPSWのCapture(C)信号出力に結合し、検出回路3404からのPauseDR信号をPSWのCapture(C)信号出力に結合するように、PSW3406がDRE入力によってプログラムされる。TSMが、検出可能なExitlDR状態を経由して遷移するとき、PSWのCapture(C)出力がアサートされ、デュアルポートルータを介して、CSデータレジスタへのShiftDR入力へ印加されて、第1のCapture動作を実行する。TSMが、検出可能なPauseDR状態を経由して遷移するときは、PSWのCapture(C)出力が再びアサートされ、デュアルポートルータを介して、CSデータレジスタのShiftDR入力に印加されて、第2のCapture動作を実行する。
図36で分かるように、TSMは、PSW制御のCSOP、CSUOP、及びB2BCSOP動作を実行するために図32で説明したように、要求されたTSM状態の間ClockDR上にクロック信号を提供するように、上述したClockDRゲーティング回路要素3104を備えて拡張される。PSW回路3406は、DRE入力によって制御されるゲーティング回路要素及びマルチプレクサを用いる方法、DRE入力によって制御されるゲーティング回路要素及びクロスバースイッチを用いる方法等、多くの方法で設計されうる。
図37は、全て図示されているように接続される、回路ブロック2602、デュアルポートルータ804、TSM102、及び新規のPSW回路3702を含む構成を示す。図38に示すように、新規のPSW回路3702は、上述したPSW回路3406及び2つのマルチプレクサ3802及び3804を含む。PSW回路3406は、上述したTSM102の検出回路要素3404からのExitlDR及びPauseDR信号を入力し、命令レジスタからのDRE入力を入力する。PSW回路3406は、マルチプレクサ3802へ信号を出力し、マルチプレクサ3804へ信号を出力する。マルチプレクサ3802は、PSW3406からの信号、Capture信号、DRE制御入力信号を入力し、Capture(C)信号を出力する。マルチプレクサ3804は、PSW3406からの信号、Update信号、DRE制御入力信号を入力し、Update(U)信号を出力する。新規のPSW3702は、DRE入力によって決定される2つのモードで動作しうる。第1のモードは、検出されたExitlDR及びPauseDR状態信号に応答して、PSW3406がマルチプレクサ3802及び3804を介して新規のPSW3702のCapture(C)及びUpdate(U)出力を制御するという、図34A及び図36で説明したものと同一のモードである。第2のモードは、新規のPSW3702のCapture(C)及びUpdate(U)出力を、マルチプレクサ3802及び3804へのCapture及びUpdate信号によって制御させる。図26及び図33で上述したように、CSOP、CSUOP、及びB2BCSOPテスト動作をより効率的に制御するためにTAP102がShiftDR状態にある間、ウエハ及びパッケージデバイスの製造テスト中、Capture及びUpdate信号をテスタによって直接制御され得る。
図39は、データレジスタ106、デュアルポートルータ804、命令レジスタ104、多重化回路要素110、及びTSM102を含むという点で図34AのTAP3402に類似するTAP3902を示す。TAP3902はPSW回路3406を含まない点が、TAP3402とは異なる。図からわかるように、検出回路3404からのTSMのExitlDR(EDR)及びPauseDR(PDR)状態検出信号が、デュアルポートルータのDRC入力に直接結合される。図35で説明したように、信号に応答して、データレジスタがCSOP、CSUOP、又はB2BCSP動作を実行できるように、DRE入力に応答して、EDR及びPDR信号を選択されたデータレジスタに結合するようにデュアルポートルータ804が設計される。
第1の例では、データレジスタ1がCSデータレジスタであり、且つ図35に示されるようにCSOP動作3502が実行される場合、Capture動作がいつ起こるのかを制御するように、EDR信号をデータレジスタ1へのDRC3904入力に結合して、DRE命令入力がデュアルポートルータ804を制御する。CSデータレジスタが非同期602タイプのレジスタである場合、これはデュアルポートルータ804のDRC出力3904を介して、EDR信号がレジスタのShiftDR入力へ結合されることを意味する。
第2の例では、データレジスタNがCSUデータレジスタであり、且つ図35に示されるようにCSUOP動作3504が実行される場合、Update及びCapture動作がいつ起こるのかを制御するために、EDR及びPDR信号をデータレジスタNへのDRC3906入力に結合するよう、DRE命令入力がデュアルポートルータを制御する。CSUデータレジスタが非同期402タイプのレジスタである場合、これはデュアルポートルータ804のDRC出力3906を介して、EDR信号がレジスタのUpdateDR入力へ結合され、PDR信号がレジスタのShiftDR入力に結合されることを意味する。
図40は、データレジスタ106、デュアルポートルータ804、命令レジスタ104、多重化回路要素110、及びTSM102を含む点で図39のTAP3902に類似するTAP4002を示す。TAP4002は、TSMとデュアルポートルータとの間のEDR及びPDR信号パスにマルチプレクサ4008を挿入するという点でTAP3902とは異なる。マルチプレクサは外部アクセス可能なCapture及びUpdate信号のための入力を有する。デュアルポートルータへのDRC入力をEDR及びPDRのTSM信号、又は外部アクセス可能なCapture及びUpdate信号によって制御できるように、マルチプレクサはDRE入力によって制御される。デュアルポートルータへのDRC入力を制御するためにEDR及びPDR信号が選択されるときは、TAP4002は、図39で説明したように動作する。デュアルポートルータへのDRC入力を制御するためにCapture及びUpdate信号が選択されるときは、TAP402は、図26、図33、及び図37で説明したように動作する。
図41は、全て図示されるように接続される、回路ブロック2602、デュアルポートルータ804、TSM102、及びマルチプレクサ4008を含む構成を示す。マルチプレクサ4008は、図40で説明したようにTSMからのExitlDR(EDR)及びPauseDR(PDR)信号、Capture及びUpdate信号を入力し、デュアルポートルータにDRC制御を出力する。PSW3406は、Capture信号、DRE制御入力信号を入力し、Capture(C)信号を出力する。マルチプレクサ4008は、DRE入力によって決定される2つのモードで動作可能である。第1のモードは、ExitlDR及びPauseDR信号にデュアルポートルータへのDRC入力を制御させる。第2のモードは、Capture及びUpdate信号にデュアルポートルータへのDRC入力を制御させる。図26及び図33で上述したように、回路ブロック2602へのCSOPC、SUOP及びB2BCSOPテスト動作をより効率よく制御するために、TAP102がShiftDR状態にある間、ウエハ及びパッケージデバイス製造テスト中、Capture及びUpdate信号はテスタによって直接制御され得る。
デュアルポートルータの価値は、それにより、従来のようにTSMによって、或いは本開示で説明した新規の方法によって、ターゲット回路が制御され得ることである。例えば、図21では、デイジーチェーン配置のデバイスがIEEE規格1149.1のエックステスト命令動作の間TSMによって選択的に制御され得、或いは、それらのデバイスが本開示の新規のアット・スピードのエックステスト命令動作の間CMD回路によって制御されうる。本開示によれば、任意の規格又は非規格のIEEE 1149.1命令が2つの動作モードを有しうる。第1の動作モードは、デュアルポートルータを介してTSMによって従来のように制御される動作モードで、第2の動作モードはデュアルポートルータを介して開示の教示に従って制御される動作モードである。
本開示の実施形態では、デュアルポートルータが示されているが、それは本開示の必須の特徴ではないことを理解するべきである。実際には、データレジスタ106又は他の回路2602への従来のTSMアクセスが要求されない場合、デュアルポートルータを、DRE入力を受け取り、CMD回路、PSW回路、ExitlDR及びPauseDR状態検出回路から、又は外部からアクセス可能なCapture及びUpdate信号からのDRC出力を、データレジスタ106又は回路2602のDRC入力に結合することが可能な他のルータで置き換えてもよい。
デバイス回路106及び2602は、デバイステスト回路、デバイスデバッグ回路、デバイスプログラミング回路、デバイスインスツルメンテーション回路、デバイス読み出し/書き込み回路、デバイストレース回路、及びデバイスエミュレーション回路を含むが、それらに限定されない。
当業者であれば、本発明の請求の範囲内で他の実施形態及び変形が可能であること、及び、簡潔さ或いは平易さのため、特徴又は工程は、例示の実施例の文脈で説明したような特徴又は工程のすべて又はその幾つかを有する例示の実施例の文脈で説明したが、例示の実施形態の文脈で説明した一つ又はそれ以上の特徴又はステップの異なる組合せを有する実施形態も本明細書に包含されることが理解されるであろう。