(57)【特許請求の範囲】
【請求項１】
集積回路上の試験すべき出力ピンを迅速かつ効率的にトグルするための方法であって、ここにおいて前記出力ピンの各々が対応する境界スキャンラッチへつながれており、また前記境界スキャンラッチの各々が対応する境界スキャンシフトレジスタ要素へつながれており、またここにおいて前記出力ピンが更に試験回路と電気的通信状態にあり、次の工程：
試験回路から前記出力ピンを介して第１の試験ベクトルを第１の試験パターンとして前記境界スキャンシフトレジスタ要素中へ並列ロードすること、
前記試験回路を高インピーダンス状態に置くこと、
前記第１の試験ベクトルに応答して、前記第１の試験パターンを前記境界スキャンラッチから前記出力ピン上へ駆動すること、
前記第１の試験パターンを前記出力ピンから前記境界スキャンシフトレジスタ要素中へ並列ロードすること、
第２の試験パターンを前記境界スキャンラッチから前記出力ピン上へ駆動すること、ここにおいて前記第２の試験パターンは前記第１の試験パターンの補数である、
前記第２の試験パターンを前記出力ピンから前記境界スキャンシフトレジスタ要素中へ並列ロードすること、および
第３の試験パターンを前記境界スキャンラッチから前記出力ピン上へ駆動すること、ここにおいて前記第３の試験パターンは前記第２の試験パターンの補数である、
を含む方法。
【請求項２】
請求項１記載の方法であって、ここにおいて前記試験回路がICテスターを含んでいる方法。
【請求項３】
請求項１記載の方法であって、ここにおいて前記第１の試験パターンが、前記第１の試験パターンの前記境界スキャンシフトレジスタ要素中への並列ロードの後に前記境界スキャンシフトレジスタ要素中でシフトされて前記第２の試験パターンが作られるようになった方法。
【請求項４】
請求項１記載の方法であって、ここにおいて前記第２の試験パターンが、前記第２の試験パターンの前記境界スキャンシフトレジスタ要素中への並列ロードの後に前記境界スキャンシフトレジスタ要素中でシフトされて前記第３の試験パターンが作られるようになった方法。
【請求項５】
請求項１記載の方法であって、ここにおいて前記試験回路が、前記第１の試験ベクトルの前記境界スキャンシフトレジスタ要素中へのロードの後、前記項インピーダンス状態に置かれる前に、相補試験パターンを駆動するようになった方法。
【請求項６】
集積回路上の試験すべき出力ピンを迅速かつ効率的にトグルするための装置であって、ここにおいて前記出力ピンの各々が対応する境界スキャンラッチへ電気的につながれており、また前記境界スキャンラッチの各々が対応する境界スキャンシフトレジスタ要素へ電気的につながれており、またここにおいて前記出力ピンが更に試験回路と電気的通信状態にあり、次の：
１つの要素から隣接する次の要素へのデータシフトを許可するための、デイジーチェーン形状に接続された複数の前記境界スキャンシフトレジスタ要素によって定義された境界スキャンシフトレジスタであって、前記境界スキャンシフトレジスタが前記出力ピンから並列ロードされるデータを受信するようになっており、前記並列ロードされる試験パターンが交番する論理１および論理０を含んでいる境界スキャンシフトレジスタ、および
前記境界スキャンシフトレジスタの一端に位置するマルチプレクサであって、ここにおいて前記マルチプレクサが内部試験データ入力（TDI）ラインと通信状態にある第１の入力、および前記境界スキャンシフトレジスタの第１の境界スキャンシフトレジスタ要素の反転出力と通信状態にある第２の入力を有しており、前記マルチプレクサの前記出力が前記第１の境界スキャンシフトレジスタ要素への入力と通信状態にあり、またここにおいて、前記マルチプレクサがトグル試験モードにおいて前記第１の境界スキャンシフトレジスタ要素の前記反転出力を前記第１の境界スキャンシフトレジスタ要素の前記入力へ入力させるようになっており、またここにおいて前記境界スキャンシフトレジスタの前記要素中の前記並列のロードされた試験パターンが、交番する論理１および論理０の前記並列ロードされた試験パターンのロード後に１要素だけ論理的にシフトされることによって前記境界スキャンシフトレジスタ中の前記並列ロードされた試験パターンに対する補数パターンを形成されるようになったマルチプレクサ、
を含む装置。
【発明の詳細な説明】
発明の背景
発明の分野
本発明はASIC製造業者の出力トグル試験要求をそのASIC固有の主要機能性に依存しない効率的な標準化手法によって満たす方法に関する。
関連技術の説明
例えば、集積回路（IC）チップ内に組み込まれた複雑な集積回路を試験するための良く知られた方法はここに参考のために引用する国際共同試験活動グループ（JTAG）によって策定されたIEEE1149.1境界スキャン標準である。この標準の１つの例には、シフトレジスタ要素のデイジーチェーンで集積回路部品の周辺を取り囲む経路を構成することによってシリアルな境界スキャン試験を行うための部品（例えば、集積回路）設計法が含まれる。
JTAGを用いたシリアル試験の一般的概念は、複数個の集積回路部品の中を通るようにシリアルデータをシフトさせて、そこにある回路を駆動するか、あるいはその回路から予め定義されている出力信号を発生させるものである。その後で、それら集積回路部品によって発せられたデータ、またはそれら集積回路部品の入力に受信されたデータをそれら集積回路部品からJTAGマスター試験回路へシフトさせる。
もしもマスター試験回路へ戻ってきたそのデータストリームが期待されたものでなければ、その回路中での誤動作が試験回路によって検出されたことになる。ソフトウエアの制御下でデータストリーム中の逸脱を注意深く解析することによって回路中でのすべての誤動作が分別できよう。
ほとんどの特定用途向け集積回路（ASIC）供給業者は、試験すべきICのすべての出力ピン（すなわち、出力専用ピンのほかに双方向的（I/O）ピン）を最初の数百個の試験ベクトル内でトグルさせることをICの製造試験の一部として要求している。このように、IC試験回路は、各出力ピンにおいて、高電圧から低電圧への遷移とともに、低電圧から高電圧への遷移を観測しなければならない。これは出力の各々が正しく動作しており、状態から状態への遷移を行うことができることを保証するためである。
しかし、試験されるICの多くはトグルすべき出力ピンを通常制御している複雑な状態機械回路を含むことができるため、最初の数百個の試験ベクトル内で各各の出力ピンすべてをトグルさせるのに適切な試験ベクトルを生成させることを保証するためには複雑な解析が必要とされよう。標準的なJTAGを用いて出力をトグルすることは多量のピン数のICに関しては時間効率が悪い。それは毎回JTAGインターフェースを介して新しいベクトルをシリアルにロードしなければならないからである。ASICあるいは同様なICの出力を、そのIC内の特定の回路に依存せずにトグルさせる標準的な方法を提供することが望ましい。このように、IC上の出力ピンの各々がトグルすることを保証するための簡便でエレガントな方法に対する需要が存在する。
発明の概要
IC上の試験すべき出力ピンの各々を迅速かつ効率的にトグルさせるための１つの方法は、そのICに対して新しいJTAG“トグル試験”命令を加え、すべての出力専用ピンを双方向性のものに変更することを要求する。本方法は、JTAGインターフェースを介してそのICに新しい“トグル試験”命令を送ること；そのICのI/Oピンを高インピーダンス状態に置くこと;ICテスターから高および低ビットの交番するパターンをICの入力ピンを介してそのICのJTAG境界スキャンシフトレジスタ要素の各々へ並列にローディングすること;IC試験回路のJTAG制御およびデータ信号以外のI/Oピンを高インピーダンス状態に置くこと;ICのI/Oピンの出力を、交番する試験パターンでイネーブルすること；そのICによって出力される交番する試験パターンをICのBSR（境界スキャンレジスタ）中へ再捕獲すること;BSR中で前記交番する試験パターンを１ビット位置だけシフトさせること；この新しい試験パターンで以ってデータレジスタ（DR）を更新して、すべての出力に第１回のトグルをさせること;ICによって出力されるこの新しい（シフトされた）交番する試験パターンをICのBSR中へ再補獲すること；その試験パターンを１ビット位置だけシフトさせること；そして最後に、第３の交番する試験パターンで以ってDRを更新して、すべての出力に第２回目のトグルをさせること、の工程を含んでいる。このようにすれば、各出力は高から低への遷移および低から高への遷移をするようになる。
【図面の簡単な説明】
図1AはICテスターを用いて試験されるICチップの鳥瞰図である。
図1Bは図1AのICテスターとICとの接続の模式的ブロック図である。
図２は図１のICチップ内の内部JTAG境界スキャン試験回路の一部分を示す模式的ブロック図である。
図３はJTAG境界スキャン試験回路を制御するために使用されるJTAG  TAPコントローラ回路の動作を示す状態図である。
図４は本発明に従って、図１および２のICチップ上のI/Oピンのすべてが数個の試験ベクトル内にトグルされることを保証するために使用される一般的な方法を示すフロー図である。
発明の詳細な説明
図1AはICテスター100を用いて試験される集積回路（IC）チップ110の鳥瞰図である。ICチップ110は試験用ソケット120に挿入されている。図1Aに示されるように、ICチップ110は試験の前にパッケージングされている。しかし、当業者であれば理解されるように、IC110はパッケージングの前に、製造中のウエハ上で試験することも可能である。
図1BはICテスター100へつながれたICチップ110の非常に簡略化した模式的ブロック図である。図1Bに表されるように、ICテスター100はIC110内の例えば、PCIインターフェース128、プロセッサインターフェース138、およびメモリインターフェース148へつながれる。JTAGライン150（クロック、シリアルデータ入力、シリアルデータ出力、およびモード選択信号ラインを含む）もまた、IC110をICテスター100へつないでいる。PCIインターフェース128、プロセッサインターフェース138、およびメモリインターフェース148は、IC110のI/Oピンを試験するためのJTAG  BSR（図1Bには示されていない）を含んでいる。
動作時には、ICテスター100は予め定義された試験ベクトルを、試験すべきIC中へロードして、そのICの出力を期待される結果と比較することによって、当業者には良く知られたように、そのIC110が正しく動作しているかどうかを決定する。もしもIC110が正しく動作していなければそのIC110は欠陥品として同定される。
上で簡単に説明したように、ほとんどのASIC供給業者はすべての出力ピンを数百個の試験ベクトル内でトグルさせることを要求する。すなわち、ICチップ110の試験の間に、そのICチップ110上のすべてのI/O接続がトグルされることを保証しなければならない。すべてのI/O接続がトグルできるかどうかを可能な限り迅速に決定できることは特に有利である。これは、もしもI/O接続の１つがトグルしなければ、そのチップは欠陥品として直ちにマークでき、そのIC110をそれ以上試験する必要がなくなるからである。このように、もしもI/O接続のトグル試験を数個の試験クロックサイクル内で実行できれば、貴重な試験時間が節約できる。
図２は図１のICチップ110の内部にあるJTAG  BSR試験回路を示す模式的ブロック図である。当業者には理解されようが、図２に示されるJTAG試験回路200の部分は分かり易くするために簡略化されており、例えば通常はJTAG境界スキャン回路に付随して、ICがJTAG制御下にない時にICが正常に動作することを許容するICコア論理出力マルチプレクサ回路および出力制御回路は含んでいない。図２に示されるように、複数のデータシフトレジスタ要素205（例えばＤフリップフロップ）が複数個のマルチプレクサ204を介して直列につながって、これらのシフトレジスタ要素205の各々の中に記憶されているデータビットはクロックパルスの供給により次のシフトレジスタ要素へシフトされるようになっている。データは、更新トリガーパルスの供給によってシフトレジスタ要素205の出力から複数のラッチデータレジスタ要素220の出力へラッチされることによって、このシフトレジスタの内容全体がラッチデータレジスタ220中へ並列にロードされるようになっている。出力イネーブル信号が活動的な場合には、出力バッファ230がラッチデータレジスタ要素220の出力にある信号を複数のI/Oピン240へ通過させることによって、ラッチデータレジスタ220中のデータを用いてI/Oピン240上へ出力を駆動するようになっている。
イネーブル信号がアサートされる時は、複数の入力バッファ250が、I/Oピン240へ与えられる信号をマルチプレクサ204を介してシフトレジスタ要素205中へロードさせる。ここで注意すべきことは、入力バッファ250がまた、I/Oピン240とICチップ中のその他の回路との間に接続をも提供していることである。しかし、本発明の説明を分かり易いものとするために、それらの接続は図２には示していない。
特定の好適実施例において、JTAG境界スキャン試験レジスタ中には本発明の方法を容易なものとする目的で特殊な回路が設けられている。特に、出力イネーブルビットを記憶させるために用いられるシフトレジスタ要素205の各々は境界スキャンシフトレジスタの一端で一緒にグループ化されており、出力イネーブルビットを記憶させるために用いられるシフトレジスタ要素205と、I/Oピン240上へ出力すべきビットを記憶させるために用いられるシフトレジスタ要素205との間にマルチプレクサ回路260が位置している。マルチプレクサ260が第１の選択モードにある時は、マルチプレクサ260は単に出力イネーブルシフトレジスタ要素205と他のシフトレジスタ要素205とを通常のように接続して、試験ベクトルビットが妨害なしに境界スキャンシフトレジスタ中を通ってシフトされるようにする。マルチプレクサ260が第２の選択モード（すなわち、トグル試験モード）にある時には、第１のシフトレジスタ要素205の反転出力がマルチプレクサ260および204を介してそれぞれの対応する入力へつながれる。後で詳細に議論するように、この構成によって、JTAG試験回路がトグル試験モードにある時には、マルチプレクサ260後の最初のシフトレジスタ要素205中へシフトされるデータビットはその最初のシフトレジスタ要素205からシフト出力されるビットの補数（すなわち、逆の数）であることが保証される。
シフトレジスタ、要素205、ラッチレジスタ要素220、およびマルチプレクサ260および204は、JTAG  TAPコントローラ状態機能によって、一般に参照符号280で示される命令レジスタおよび付随回路と一緒に制御される。もちろん、当業者には理解されるように、命令レジスタは境界スキャン試験回路を制御するために使用される別々になったロード可能なシフトおよびラッチレジスタを含んでいる。命令レジスタは、主として本発明のこの特徴を説明する便宜上、制御回路280と一緒に含まれている。コントローラ280は、ライン285上の試験データ入力（TDI）信号、TCKライン287上の試験クロック信号（TCK）、およびライン289を介した試験モード選択（TMS）信号を介して命令ビットを受信する。
図３は、ライン289、287上に供給されるTMSおよびTCK制御信号に応答するTAPコントローラ280の動作を示す状態図である。TAPコントローラ状態機械280は試験論理リセット状態342から始動してTMS＝１の間はその状態に留まる。もしもTMS＝０になれば、アイドル状態300に入る。アイドル状態はスキャン動作間のコントローラ状態を構成する。一旦入ると、TAPコントローラ280はTMS信号が低レベルに保持されている限り、アイドル状態300に留まるであろう。アイドル状態300では、選ばれた試験論理中の活動は、当業者には良く知られたように、特定のJTAG命令が存在する時にのみ発生する。アイドルのTAPコントローラ状態300において関数を実行させることのない、命令レジスタ280にロードされた命令に関しては、現在の命令によって選ばれたすべての試験データレジスタがそれらの以前の状態に保持されるはずである。
TMS信号が高で、立ち上がり端がTCK信号に対して供給される時には、TAPコントローラ280は選択データレジスタスキャン状態305へ移動する。選択データレジスタスキャン状態305は一時的なコントローラ状態であって、そこにおいて現在の命令によって選ばれるすべての試験データレジスタはそれらの以前の状態に留まる。立ち上がり端がTCK信号に対して供給される間に、もしもTMS信号が低に保持されれば、TAPコントローラ280は捕獲データレジスタ状態315へ移行し、他方もしもTMS信号が高に保持され、立ち上がり端がTCK信号に対して供給されれば、TAPコントローラ状態機械280は選択命令レジスタスキャン状態310へ移行する。
もしもTAPコントローラ状態機械280が捕獲データレジスタ状態315へ移行すれば、この状態において、入力バッファ250からのデータはTCK信号上の立ち上がり端でシフトデータレジスタ205中へ並列ロードされよう。さらに、命令レジスタ280中に記憶されているビットは、TAPコントローラ状態機械280が捕獲データレジスタ状態315にある間は不変のままである。TMSが低に保持され、立ち上がり端がTCK信号に対して供給される間にTAPコントローラ280が捕獲データレジスタ状態315にある時は、コントローラはシフトデータレジスタ状態320へ入る。しかし、立ち上がり端がTCK信号に対して供給されている間にもしもTMS信号が高に保持されれば、その時はTAPコントローラ状態機械280は捕獲データレジスタ状態315から出口データレジスタ状態325へ直接移行する。シフトデータレジスタ状態320中では、データはデータシフトレジスタ205中へライン285に沿ってシフトされる。TMS信号が低に保持されている間にTCK信号の各々の立ち上がり端の供給によって、付加的なデータビットがライン285上をデータシフトレジスタ205中へシフトされる。TAPコントローラ280はTMS信号が低に保持されている限り、シフトデータレジスタ状態320にあり続ける。こうして、TMS信号が状態320において低に保持されている間に、予め指定された試験ベクトルをシフトレジスタ205中へロードするために必要なだけのデータビットがレジスタ205中へシフトされる。
TAPコントローラ280がシフトデータレジスタ状態320にあって、TMS信号が高に保持されている間に立ち上がり端がTCK信号に対して供給されると、TAPコントローラ状態機械280は出口データレジスタ状態325へ入る。出口データレジスタ状態325は一時的なコントローラ状態である。もしもTMS信号が高に保持されれば、TCK信号に対して供給される立ち上がり端はTAPコントローラ280を更新データレジスタ状態340へ入らせ、またもしもTCK信号に対して立ち上がり端が供給される間にTMS信号が低に保持されればTAPコントローラ280は休止データレジスタ状態330に入る。休止データレジスタ状態330は試験データレジスタ205のシフト動作を一時的に停止させる。TAPコントローラ280はTMS信号が低に保持されている間は休止データレジスタ状態330に留まる。TMS信号が高に保持され、立ち上がり端がTCK信号に対して供給されれば、TAPコントローラ状態機械280はこれもまた一時的なコントローラ状態である第２の出口データレジスタ状態335に入る。TMS信号が低に保持されている間にもしも立ち上がり端がTCK信号に対して供給されれば、TAPコントローラ状態機械280はシフトデータレジスタ状態320へ戻る。しかし、もしも立ち上がり端がTCK信号に対して供給されている間にTMS信号が高に保持されれば、TAPコントローラ状態機械280は第２の出口データレジスタ状態335から更新データレジスタ状態340へ移行する。図２に示されるように、シフトデータレジスタ205はラッチ並列出力220へつながって、データレジスタ205中のデータへの変化を防止しており、他方、データは命令レジスタ280に関する特定の命令に応答して付随するシフトレジスタ経路205中へシフトされる。こうして、更新データレジスタ状態340では、データはTCK信号の立ち下がり端において、シフトレジスタ205からシフトレジスタ220の並列出力へラッチされる。このようにして、このデータはラッチデータレジスタ220中に記憶されるので、レジスタ220中のデータは、自己試験の実行が要求される（例えば、特別な設計によるJTAG命令に応答したアイドル状態の間）場合の操作以外では更新データレジスタ状態の他で変更されることはない。状態305−335の各々でのように、命令シフトレジスタ280および命令ラッチレジスタ280中に記憶された命令は、TAPコントローラ280が更新データレジスタ状態340にある間は変化しない。TAPコントローラが更新データレジスタ状態にあって、立ち上がり端がTCK信号に対して供給される時は、TAPコントローラ280はTMS信号が高に保持されている時は選択データレジスタスキャン状態305へ入るか、あるいはTMS信号が低に保持されている時はアイドル状態300に入る。
TAPコントローラ状態機械280が選択データレジスタ状態305にある時に、もしもTMS信号が高に保持され、立ち上がり端がTCK信号に対して供給されれば、TAPコントローラ状態機械280は選択命令レジスタスキャン状態310へ移行する。
もしもTAPコントローラ状態機械280が捕獲命令レジスタ状態345へ移行すれば、その時は、この状態において、TCK信号の立ち上がり端において、シフト命令レジスタ280から命令レジスタ280中へ命令が並列ロードされよう。更に、TAPコントローラ状態機械280が捕獲命令レジスタ状態345にある間は、データレジスタ205、220中に記憶されているビットは不変のままである。TMS信号が低に保持されて、立ち上がり端がTCK信号に対して供給される時にTAPコントローラ280が捕獲命令レジスタ状態345にあれば、このコントローラはシフト命令レジスタ状態350へ入る。しかし、立ち上がり端がTCK信号に対して供給される間にTMS信号が高に保持されれば、TAPコントローラ状態機械280は捕獲命令レジスタ状態345から出口命令レジスタ状態355へ直接移行する。シフト命令レジスタ状態350において、命令はライン285に沿って命令シフトレジスタ280中へシフトされる。TMS信号が低に保持されている間にTCK信号に対して立ち上がり端が供給される度に、ライン285上を命令シフトレジスタ280中へ命令の付加的なビットがシフトされる。TAPコントローラ280はTMS信号が低に保持されている限り、シフト命令レジスタ状態350にあり続ける。このように、状態350においてTMS信号が低に保持されている間は、命令シフトレジスタ280中へ予め指定された命令ベクトルをロードするために必要なだけの命令ビットがシフトされる。
TMS信号が高に保持されている間にTCK信号に対して立ち上がり端が供給され、TAPコントローラ280がシフト命令レジスタ状態350にある時には、TAPコントローラ状態機械280は出口命令レジスタ状態355に入る。出口命令レジスタ状態355は一時的なコントローラ状態である。もしもTMS信号が高に保持されていればTCK信号に対して供給される立ち上がり端はTAPコントローラ280を更新命令レジスタ状態370に入れるようにし、他方もしもTCK信号に対して立ち上がり端が供給される間にTMS信号が低に保持されていれば、TAPコントローラ280は休止命令レジスタ状態360に入る。
休止命令レジスタ状態360は試験命令レジスタ280のシフトを一時的に停止させる。TAPコントローラ280はTMS信号が低に保持されている間は休止命令レジスタ状態360に留まる。TMS信号が高に保持され、TCK信号に対して立ち上がり端が供給される時は、TAPコントローラ状態機械280はこれも一時的なコントローラ状態である第２の出口命令レジスタ状態365に入る。TMS信号が低に保持されている間に立ち上がり端がTCK信号に対して供給されれば、TAPコントローラ状態機械280はシフト命令レジスタ状態350へ戻る。しかし、もしもTCK信号に対して立ち上がり端が供給される間にTMS信号が高に保持されれば、TAPコントローラ状態機械280は第２の出口命令レジスタ状態365から更新命令レジスタ状態370へ移行する。シフト命令レジスタ280は、命令ビットが命令シフトレジスタ中へシフトされる間に命令レジスタ280中の命令へ変化するのを阻止するためのラッチされた並列出力を含んでいる。命令レジスタラッチ280は更新IR状態370にある間にのみ更新される。TAPコントローラ280が更新命令レジスタ状態370にあって、TCK信号に対して立ち上がり端が供給される時には、TAPコントローラ280はTMS信号が高に保持されていれば選択レジスタスキャン状態305に入り、TMS信号が低に保持されていればアイドル状態300に入る。
もしも選択命令レジスタ状態310でTCK信号に対して立ち上がり端が供給される間にTMS信号が高に保持されていれば、TAPコントローラ280は試験論理リセット状態342に入る。TAPコントローラ状態機械280が試験論理リセット状態342に入る時は、試験論理は禁止されるためオンチップのシステム論理の通常動作が妨害されることなく続けられる。
図４はICチップの出力ピンの迅速かつ効率的なトグル動作のための本発明の方法を示すフロー図である。開始ブロック400に表されるように一旦本方法が始動すると、命令レジスタ（コントローラ280に含まれる）には、活動ブロック402に示されるようにJTAG境界スキャン試験回路レジスタをトグル試験モードにセットするための適切なビットがロードされる。すなわち、命令レジスタにロードされるビットは、マルチプレクサ260の選択ビットがその出力から交番するビットパターンを発生させるようにセットされたものとなっている。活動ブロック405に示されるように、それに続いてI/Oピン240を高インピーダンス状態に置くように出力イネーブルビットがセットされる。このことは、例えば、コントローラ280の制御下で出力イネーブルビットすべてがクリアされるまでデータシフトレジスタ要素205中へ０（すなわち、低電圧レベルビット）の列をシフトすることによって行われる。シフトレジスタ要素205中の出力イネーブルビットがクリアされた後、更新データレジスタ状態に入り（図３参照）、それによってシフトレジスタ要素中に記憶されている出力イネーブルビットは対応するラッチデータレジスタ要素220へラッチされる。従って、バッファ230はトライステートとなる（すなわち、高インピーダンス状態に置かれる）。上で述べたように、出力イネーブルビットはデータシフトレジスタの一端で一緒にグループ化されるため、すべての出力イネーブルビットを数クロックサイクルの間にセットすることができる。あるいは、特殊な論理（図示されていない）を設けて、すべての出力イネーブルレジスタ要素に並列ロードするか、あるいはレジスタ中の位置に関わらず出力イネーブルレジスタ要素を所望のビット値に上書きしてもよい。そうすれば、この代替え実施例で、単一の操作を用いてすべての出力のトグルを許可することができる。
次に活動ブロック407に示されるように、ICテスター100が試験パターンをI/Oピン240上へ出力する。有利なことに、この試験パターンは交番する高および低のビット（すなわち、二進数の１および０）を含んでいるため、データシフトレジスタ205中の各要素はそれ自身の二進補数に隣接することになる。コントローラ280は次に捕獲データレジスタ状態に入り、そこにおいて活動ブロック410に示されるように、データシフトレジスタ要素205中へ試験パターンを並列ロード（すなわち、スキャン）する。
ICテスター100が高インピーダンスモードに置かれた後、活動ブロック415に示されるように、出力イネーブルビットが逐次的にセットされて、I/Oピン240上に出力がイネーブルされる。このことは、例えば、コントローラ280の制御下ですべての出力イネーブルビットがセットされるまで、１（すなわち、高電圧レベルビット）の列をデータシフトレジスタ要素205中へシフトすることによって行われる。（上で既に述べたように、この機能のために別の論理を使用することもできる。）シフトレジスタ要素205中に出力イネーブルビットがセットされた後、更新データレジスタ状態に入る（図３参照）ため、シフトレジスタ要素205中に記憶されている出力イネーブルビットは対応するラッチデータレジスタ要素220中へラッチされる。その結果として、バッファ230はラッチデータレジスタ要素220の出力に依存するデータを出力することを許可される。
出力イネーブルビットがラッチデータレジスタへラッチされるのと同時に、交番する高および低ビットの試験パターンがラッチデータレジスタ中へラッチされる（すなわち、同じ更新命令の制御下で）。このように、ラッチデータレジスタ要素220の出力が、許可されたバッファ230を介してI/Oピン240へつながれているため、試験パターンはI/Oピン240上へ駆動出力される。
交番する高および低ビットの試験パターンが一旦ICチップ110のI/Oピン240上へ駆動出力されれば、活動ブロック420に示されるように、このデータパターンはデータシフトレジスタ要素205中へ並列ロードされるようにサンプリングされる。I/Oピン240上に存在するビットのサンプリングはコントローラ280を捕獲データレジスタ状態315に置くことによって行われる。このように、データシフトレジスタは、試験パターンをI/Oピン240上へ駆動出力する前に元々記憶されていたのと正確に同じ試験パターンを記憶することになる。
活動ブロック425に表されるように、次にシフトDR状態320がデータシフトレジスタ要素205中に記憶されている試験パターンを１ビットだけシフトさせる。こうして、データシフトレジスタ要素205の各々は前のクロックサイクル（すなわち、シフトが行われる前）に記憶されていたビットの補数を記憶することになる。マルチプレクサ260はトグル試験モードにセットされているので、第１のシフトレジスタ要素の出力は反転されて、第１のシフトレジスタ要素中へロードして戻されて、シフトが実行される度に、交番する高および低ビットのパターンは保存される。
一旦試験パターンが１ビットだけシフトされると、このシフトされた試験パターンは活動ブロック430に示されるように、更新状態340を介してラッチデータレジスタ要素220中へラットされる。このように、出力ピン240上へ駆動出力された元々の試験パターンの補数がここで駆動出力されるため、出力ピン240は低状態から高状態へ、あるいは高状態から低状態へのいずれかへトグルさせられることになる。こうしてトグル要求の前半部分は満たされる。
トグル要求の後半部分（すなわち、補数方向へトグルすることにより、もしも最初のトグルが低状態から高状態へであれば第２のトグルは高状態から低状態へ、あるいはこの逆）を満たすために、出力ピン240上のデータは、活動ブロック435に示されるように捕獲DR状態315によってデータシフトレジスタ205へロードして戻される。一旦この試験パターンがデータシフトレジスタ要素205中へロードされると、この試験パターンは活動ブロック440に示されるように１ビットだけシフトされる。引き続いて、このシフトされた試験パターンは活動ブロック445に示されるように、ラッチデータレジスタ要素220中へラッチされるため、現在I/Oピン240上に存在するデータの補数がピン240上へ駆動出力されることになる。
このように、トグル要求の後半部分も満たされるため、すべてのI/Oピン240に対してトグルを保証するために残りの試験ベクトルを特別に誂えることを保証する必要性はない。このように、活動ブロック450に示されるように、JTAG回路はTAPコントローラ状態機械280を試験論理リセット状態342へ移行させることによって禁止される。この時点で、ICテスター100によってICの通常の試験モードを実行することができる。本方法は次に最終ブロック455に示されるように終了する。
本発明はこのように詳細に説明してきたが、以上の説明は例示的であり、限定的なものではない。当業者であれば、本発明の精紳および本質的な特性から外れることなしに本発明に対して数多くの明白な修正がなし得ることを理解されよう。例えば、出力イネーブルビットは、所望のビット値の直列シフトや並列シフトのような多様な異なる方法によって制御してもよい。更に、交番する試験パターンの保存を保証するためにマルチプレクサ回路260を組み込まなくともよい。実際には、特殊なアプリケーションによって呼び出されるのと同じ機能を実行するためにその他の特殊化された回路を使用することができる。従って、本発明のスコープは次の請求の範囲に照らして解釈されるべきである。
【図１Ａ】
0003612336.tif 000002
【図１Ｂ】
0003612336.tif 000003
【図２】
0003612336.tif 000004
【図３】
0003612336.tif 000005
【図４】
0003612336.tif 000006