JP3437950B2 - 双方向データを同期的に交換する回路、この回路を含む集積回路チップ及びテスト方法 - Google Patents
双方向データを同期的に交換する回路、この回路を含む集積回路チップ及びテスト方法Info
- Publication number
- JP3437950B2 JP3437950B2 JP2000144762A JP2000144762A JP3437950B2 JP 3437950 B2 JP3437950 B2 JP 3437950B2 JP 2000144762 A JP2000144762 A JP 2000144762A JP 2000144762 A JP2000144762 A JP 2000144762A JP 3437950 B2 JP3437950 B2 JP 3437950B2
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- terminal
- data
- latch
- swapper
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
- G01R31/318594—Timing aspects
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
- G01R31/318572—Input/Output interfaces
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Tests Of Electronic Circuits (AREA)
Description
【0001】
【発明の属する技術分野】本発明は、一般に、1つのバ
スを共用する複数のエンティティすなわち回路ユニット
間の両方向データ転送用の同期回路に関し、より詳細に
は、両方向データ経路を超大規模集積回路(VLSI)
チップについてテスト可能なものにするための走査連鎖
(scan chain)をさらに含む同期回路に関する。
スを共用する複数のエンティティすなわち回路ユニット
間の両方向データ転送用の同期回路に関し、より詳細に
は、両方向データ経路を超大規模集積回路(VLSI)
チップについてテスト可能なものにするための走査連鎖
(scan chain)をさらに含む同期回路に関する。
【0002】
【従来の技術】チップ上の様々なコンポーネントまたは
マクロを接続してデータ信号を交換するために、通常、
金属配線を使用する。このような信号ワイヤは、大量の
物理的スペースを消費し、したがって、チップの集積密
度に制限を加える。さらに、現在のリソグラフィ配線技
法も達成可能な配線分解能を制限する。配線資源をより
よく利用するための1つの方法は、マクロ間のバス・ワ
イヤを共用することである。トライステート・バスとも
呼ばれる共用バスにより、複数の送信エンティティはそ
のバスの状態を制御できるようになる。このトライステ
ート・バスの欠点は、通常、バス・サイクルあたり所与
のワイヤ上で1つのデータ・ビットしか伝達できないこ
とである。このため、一度にそのバスを駆動できるのは
1つのエンティティだけである。そのバスに接続された
他のすべてのエンティティは、自分の番ではないときに
ハイ・インピーダンス状態になっていなければならず、
そうでなければ、競合が発生する恐れがある。
マクロを接続してデータ信号を交換するために、通常、
金属配線を使用する。このような信号ワイヤは、大量の
物理的スペースを消費し、したがって、チップの集積密
度に制限を加える。さらに、現在のリソグラフィ配線技
法も達成可能な配線分解能を制限する。配線資源をより
よく利用するための1つの方法は、マクロ間のバス・ワ
イヤを共用することである。トライステート・バスとも
呼ばれる共用バスにより、複数の送信エンティティはそ
のバスの状態を制御できるようになる。このトライステ
ート・バスの欠点は、通常、バス・サイクルあたり所与
のワイヤ上で1つのデータ・ビットしか伝達できないこ
とである。このため、一度にそのバスを駆動できるのは
1つのエンティティだけである。そのバスに接続された
他のすべてのエンティティは、自分の番ではないときに
ハイ・インピーダンス状態になっていなければならず、
そうでなければ、競合が発生する恐れがある。
【0003】
【発明が解決しようとする課題】したがって、本発明の
一目的は、同じクロック・サイクル中にバス上で反対方
向に移動する両方向データが「スワップ」されて、衝突
しないように、駆動エンティティ間のバスの中心付近に
挿入された同期回路を提供することにある。
一目的は、同じクロック・サイクル中にバス上で反対方
向に移動する両方向データが「スワップ」されて、衝突
しないように、駆動エンティティ間のバスの中心付近に
挿入された同期回路を提供することにある。
【0004】本発明の他の目的は、両方向データ転送用
の同期回路をVLSIアプリケーション内で容易にテス
トできるように、走査連鎖を提供することにある。
の同期回路をVLSIアプリケーション内で容易にテス
トできるように、走査連鎖を提供することにある。
【0005】
【課題を解決するための手段】本発明によれば、少なく
とも1つのスワッパ回路が、バスを共用する複数のエン
ティティ間でそのバスに電気的に接続されている。この
スワッパは、各データ方向に1つずつで並列に接続され
た、直列接続ラッチとトライステート回路の対を含む。
このスワッパは、回転ドアとして動作し、バスの一方の
側から移動するデータを取り込み、衝突せずにもう一方
の側にそのデータを移動させる。ラッチ回路は、もう一
方の側から到着したデータを取り込むためにバスの一方
の端部に接続される。さらに、それぞれの駆動エンティ
ティには、アクセスした各ノードごとに外部接続を必要
とせずに回路の内部ノードを監視できるようにすること
により回路のテストを可能にするために、スキャンイン
/スキャンアウト・ポートをそれぞれ備えたマスタ/ス
レーブ・ラッチが設けられている。VLSI配置では、
様々なハードウェア構成を徹底的に検証するために様々
なテスト・パターンを加えることができるように、スキ
ャンイン/スキャンアウト・ポートが複数のこのような
回路内でまとめて接続されている。
とも1つのスワッパ回路が、バスを共用する複数のエン
ティティ間でそのバスに電気的に接続されている。この
スワッパは、各データ方向に1つずつで並列に接続され
た、直列接続ラッチとトライステート回路の対を含む。
このスワッパは、回転ドアとして動作し、バスの一方の
側から移動するデータを取り込み、衝突せずにもう一方
の側にそのデータを移動させる。ラッチ回路は、もう一
方の側から到着したデータを取り込むためにバスの一方
の端部に接続される。さらに、それぞれの駆動エンティ
ティには、アクセスした各ノードごとに外部接続を必要
とせずに回路の内部ノードを監視できるようにすること
により回路のテストを可能にするために、スキャンイン
/スキャンアウト・ポートをそれぞれ備えたマスタ/ス
レーブ・ラッチが設けられている。VLSI配置では、
様々なハードウェア構成を徹底的に検証するために様々
なテスト・パターンを加えることができるように、スキ
ャンイン/スキャンアウト・ポートが複数のこのような
回路内でまとめて接続されている。
【0006】
【発明の実施の形態】次に添付図面、より詳細には図1
を参照すると、本発明による同期両方向データ経路回路
が示されている。この同期両方向データ経路回路は、左
から右に、駆動エンティティ(駆動回路ユニット)X1
15と、第1のバス・ワイヤ・セグメント103と、ス
ワッパ105と、第2のバス・ワイヤ・セグメント11
0と、駆動エンティティ(駆動回路ユニット)Y116
とを含む。同図は、例示を単純にするため、バスの一方
の側の1つの駆動エンティティXまたはYのみを示す
が、所与のアプリケーションではバスの一方の側に複数
の駆動エンティティが存在してもよい。
を参照すると、本発明による同期両方向データ経路回路
が示されている。この同期両方向データ経路回路は、左
から右に、駆動エンティティ(駆動回路ユニット)X1
15と、第1のバス・ワイヤ・セグメント103と、ス
ワッパ105と、第2のバス・ワイヤ・セグメント11
0と、駆動エンティティ(駆動回路ユニット)Y116
とを含む。同図は、例示を単純にするため、バスの一方
の側の1つの駆動エンティティXまたはYのみを示す
が、所与のアプリケーションではバスの一方の側に複数
の駆動エンティティが存在してもよい。
【0007】駆動エンティティX115は、バス・セグ
メント103を駆動するためにその出力がトライステー
ト回路101に接続されたL1ラッチ100を含む。ス
レーブL2*ラッチ102もL1 100の出力に接続
され、L1 100へのスレーブとして動作する。駆動
エンティティY116は、実質的に駆動エンティティX
115のミラー・イメージであり、同様にトライステー
ト回路112に接続されたL1ラッチ113を含む。ス
レーブL2*ラッチ114もL1 113の出力に接続
されている。駆動エンティティは、バス上で転送すべき
データを受け入れるためのデータ・ポートならびにスレ
ーブL2*ラッチ102および114により転送される
走査テスト・パターンおよびテスト結果をそれぞれ供給
し取り込むための走査ポートを有する。
メント103を駆動するためにその出力がトライステー
ト回路101に接続されたL1ラッチ100を含む。ス
レーブL2*ラッチ102もL1 100の出力に接続
され、L1 100へのスレーブとして動作する。駆動
エンティティY116は、実質的に駆動エンティティX
115のミラー・イメージであり、同様にトライステー
ト回路112に接続されたL1ラッチ113を含む。ス
レーブL2*ラッチ114もL1 113の出力に接続
されている。駆動エンティティは、バス上で転送すべき
データを受け入れるためのデータ・ポートならびにスレ
ーブL2*ラッチ102および114により転送される
走査テスト・パターンおよびテスト結果をそれぞれ供給
し取り込むための走査ポートを有する。
【0008】スワッパ105は、左から右にデータを伝
達するために直列に接続された第1のL2ラッチ106
とトライステート回路107の対と、右から左にデータ
を伝達するために直列に接続された第2のL2ラッチ1
09とトライステート回路108の対を含む。概念上、
スワッパ105は長いバス上のリピータを置き換えるた
めに使用されるが、リピータとは対照的に、スワッパ1
05は、両方のバス・ワイヤ・セグメント103および
110からデータを取り込み、反対のバス・ワイヤ・セ
グメント110および103にそれぞれデータを送る回
転ドアのように動作する。回転ドアと同様に、各データ
は他のデータと電気的に接触することはない。というの
は、L2ラッチ106および109は、回転ドア内のプ
レクシグラスの仕切りと同様の役割を果たし、データ信
号が混ざらないようにするからである。転送サイクルの
開始時にデータはバス・ワイヤ103および110上に
駆動される。データはそのサイクルの途中でスワッパ1
05に到着し、そこで各データがもう一方のバス・ワイ
ヤ・セグメント上にスワップされる。
達するために直列に接続された第1のL2ラッチ106
とトライステート回路107の対と、右から左にデータ
を伝達するために直列に接続された第2のL2ラッチ1
09とトライステート回路108の対を含む。概念上、
スワッパ105は長いバス上のリピータを置き換えるた
めに使用されるが、リピータとは対照的に、スワッパ1
05は、両方のバス・ワイヤ・セグメント103および
110からデータを取り込み、反対のバス・ワイヤ・セ
グメント110および103にそれぞれデータを送る回
転ドアのように動作する。回転ドアと同様に、各データ
は他のデータと電気的に接触することはない。というの
は、L2ラッチ106および109は、回転ドア内のプ
レクシグラスの仕切りと同様の役割を果たし、データ信
号が混ざらないようにするからである。転送サイクルの
開始時にデータはバス・ワイヤ103および110上に
駆動される。データはそのサイクルの途中でスワッパ1
05に到着し、そこで各データがもう一方のバス・ワイ
ヤ・セグメント上にスワップされる。
【0009】図2に示すように、各サイクルの終了時に
は、L1/L2ラッチ104および111がバス・ワイ
ヤ103および110を越えて転送されたデータを取り
込む。このサイクルの開始時に駆動エンティティX11
5から送り出されたデータはそのサイクルの終了時にラ
ッチ111で取り込まれる。同様に、駆動エンティティ
Y116から送り出されたデータはラッチ104で取り
込まれる。どちらの転送も単一転送サイクル内で同時に
行われる。システム・モードおよびテスト・モード中に
クロックがラッチおよびトライステート・ドライバ間の
データの順序正しい転送をどのように調整するかを説明
するために、クロック規則を含む追加の回路詳細は図3
に含まれている。
は、L1/L2ラッチ104および111がバス・ワイ
ヤ103および110を越えて転送されたデータを取り
込む。このサイクルの開始時に駆動エンティティX11
5から送り出されたデータはそのサイクルの終了時にラ
ッチ111で取り込まれる。同様に、駆動エンティティ
Y116から送り出されたデータはラッチ104で取り
込まれる。どちらの転送も単一転送サイクル内で同時に
行われる。システム・モードおよびテスト・モード中に
クロックがラッチおよびトライステート・ドライバ間の
データの順序正しい転送をどのように調整するかを説明
するために、クロック規則を含む追加の回路詳細は図3
に含まれている。
【0010】両方向データ経路について説明してきたの
で、そのシステム・モードおよびテスト・モードの動作
をサポートするために必要なクロックおよびラッチの概
要を以下に示す。次に、駆動エンティティおよびスワッ
パ回路のCMOS実施について述べ、それに続いてクロ
ック・ブロックのゲート・レベルの説明を示す。最後
に、要約セクションでは、両方向データ経路およびその
構成要素回路の各種実施形態を概括する。
で、そのシステム・モードおよびテスト・モードの動作
をサポートするために必要なクロックおよびラッチの概
要を以下に示す。次に、駆動エンティティおよびスワッ
パ回路のCMOS実施について述べ、それに続いてクロ
ック・ブロックのゲート・レベルの説明を示す。最後
に、要約セクションでは、両方向データ経路およびその
構成要素回路の各種実施形態を概括する。
【0011】システム・モードおよびテスト・モードの
詳細説明を示す前に、クロック体系を検討することは有
利になるだろう。レベル・センシティブ走査設計(LS
SD)では、テスト中のチップ内にパターンをシフト
し、そのチップからテスト結果を取り出すために、テス
ト・フェーズ中に「A」クロックと「B」クロックを排
他的に使用する。「A」クロックと「B」クロックはタ
イミング・センシティブではなく、一般にオンまたはオ
フのいずれかである。走査連鎖が速度ソート・モニタと
して動作するまれな場合(その場合、製造ラインを離れ
た、広範囲の遅延を有するチップを迅速に速度ソートす
るために、数百のラッチを含む走査経路全体を通して信
号が流される)を除き、両方が同時にオンになることは
ほとんどない。これらを交互に使用して(たとえば、A
BAB・・・)、マスタ/スレーブ(L1/L2)ラッ
チ対の連鎖を通して走査データをシフトする。これに対
して、「C」クロックはシステム・クロックである。こ
れらのクロックのタイミングは、高速の機能ハードウェ
アを達成する上で重要なものである。これらは、システ
ム動作中にチップ内のデータの流れを調整する。
詳細説明を示す前に、クロック体系を検討することは有
利になるだろう。レベル・センシティブ走査設計(LS
SD)では、テスト中のチップ内にパターンをシフト
し、そのチップからテスト結果を取り出すために、テス
ト・フェーズ中に「A」クロックと「B」クロックを排
他的に使用する。「A」クロックと「B」クロックはタ
イミング・センシティブではなく、一般にオンまたはオ
フのいずれかである。走査連鎖が速度ソート・モニタと
して動作するまれな場合(その場合、製造ラインを離れ
た、広範囲の遅延を有するチップを迅速に速度ソートす
るために、数百のラッチを含む走査経路全体を通して信
号が流される)を除き、両方が同時にオンになることは
ほとんどない。これらを交互に使用して(たとえば、A
BAB・・・)、マスタ/スレーブ(L1/L2)ラッ
チ対の連鎖を通して走査データをシフトする。これに対
して、「C」クロックはシステム・クロックである。こ
れらのクロックのタイミングは、高速の機能ハードウェ
アを達成する上で重要なものである。これらは、システ
ム動作中にチップ内のデータの流れを調整する。
【0012】図1に戻ると、L1ラッチ(たとえば、ラ
ッチ100および113)は、走査テスト用の「A」ク
ロックと、システム動作用の「C1」クロックとを受け
取る。「C1」クロックの数字「1」は、それが、一般
に「C」クロックとして示すシステム・クロックに対す
る特定のフェーズ関係を有することを示している。同様
に、L2ラッチ(たとえば、ラッチ106および10
9)に接続される「C2」クロックは、システム・クロ
ックに対して他の固有のフェーズ関係を有する。図1お
よび図2に示す特定の実施では、「C1」クロックと
「C2」クロックは一緒に(共存関係)機能して、当技
術分野で「ダブル・ラッチ」設計として知られるものに
よって情報を移動する。最後に、L2ラッチは、マスタ
/スレーブ・ラッチ104および111によって例示す
るように、時には「B」クロックを獲得する。「B」ク
ロックはいつでもL2*ラッチ(102および114)
にも接続するが、このラッチは走査テスト・モード中の
みに使用される。
ッチ100および113)は、走査テスト用の「A」ク
ロックと、システム動作用の「C1」クロックとを受け
取る。「C1」クロックの数字「1」は、それが、一般
に「C」クロックとして示すシステム・クロックに対す
る特定のフェーズ関係を有することを示している。同様
に、L2ラッチ(たとえば、ラッチ106および10
9)に接続される「C2」クロックは、システム・クロ
ックに対して他の固有のフェーズ関係を有する。図1お
よび図2に示す特定の実施では、「C1」クロックと
「C2」クロックは一緒に(共存関係)機能して、当技
術分野で「ダブル・ラッチ」設計として知られるものに
よって情報を移動する。最後に、L2ラッチは、マスタ
/スレーブ・ラッチ104および111によって例示す
るように、時には「B」クロックを獲得する。「B」ク
ロックはいつでもL2*ラッチ(102および114)
にも接続するが、このラッチは走査テスト・モード中の
みに使用される。
【0013】図2は、両方向データ経路(図1)のシス
テム動作を示すタイミング図である。好ましい実施形態
では、C1クロックとC2クロックが単一システム・ク
ロックから導出される。一般に、両方向データ経路の同
期挙動は、いずれも同じ基本周波数またはその高調波を
有するが、異なるフェーズ関係を有する、N個のクロッ
ク(ただし、N=0、1、2)によって調整することが
できるだろう。図1のクロック・バッファ120〜12
0nは、駆動エンティティX115、スワッパ105、
駆動エンティティY116を駆動するためにローカルC
1およびC2クロックを生成する。一般に、C1クロッ
クはシステム・クロックと同相であり、その立下りがL
1ラッチ内のデータの取込みをトリガするので、取込み
クロックと呼ばれる。C1の立下りはあるサイクルの終
了を示す。C2はシステム・クロックと違相であり、そ
の立上りがL2ラッチから論理回路(図示せず)へ、ま
たは両方向データ経路の場合にはワイヤ・セグメント1
03および110へのデータの送出をトリガするので、
送出クロックと呼ばれる。C2の立上りは図2に示すよ
うにサイクルの開始を示す。C2の立上り直後に、駆動
エンティティのトライステート・ドライバ101は迅速
にノード「DE_X」を新しい状態、すなわち、「1」また
は「0」のいずれかに駆動する。この新しい状態はワイ
ヤ103によりノード「SW_X」に伝搬する。ただし、信
号がノード「SW_X」に到達したときのその指数特性に留
意されたい。通常、オンチップ・ワイヤ103はRC遅
延特性を示す。サイクルの中央では、スワッパ105が
駆動エンティティX115から発生した信号をワイヤ・
セグメント110上に転送する。スワッパ・ラッチ10
6はC2の立下り後にこの新しい状態を取り込む。C1
が立ち上がると、トライステート・ドライバ107はノ
ード「SW_Y」を迅速に新しい状態に駆動する。この新し
い状態を表す信号は、ワイヤ・セグメント110を介し
て伝搬し、ノード「DE_Y」に到達する。C1の立下りに
より、ラッチ111のL1部分で新しい状態が取り込ま
れる。このようにして、領域Xで発生したデータはバス
・セグメント103および110を介して領域Yに転送
される。同じサイクル中に、データは領域Yから領域X
に流れる。
テム動作を示すタイミング図である。好ましい実施形態
では、C1クロックとC2クロックが単一システム・ク
ロックから導出される。一般に、両方向データ経路の同
期挙動は、いずれも同じ基本周波数またはその高調波を
有するが、異なるフェーズ関係を有する、N個のクロッ
ク(ただし、N=0、1、2)によって調整することが
できるだろう。図1のクロック・バッファ120〜12
0nは、駆動エンティティX115、スワッパ105、
駆動エンティティY116を駆動するためにローカルC
1およびC2クロックを生成する。一般に、C1クロッ
クはシステム・クロックと同相であり、その立下りがL
1ラッチ内のデータの取込みをトリガするので、取込み
クロックと呼ばれる。C1の立下りはあるサイクルの終
了を示す。C2はシステム・クロックと違相であり、そ
の立上りがL2ラッチから論理回路(図示せず)へ、ま
たは両方向データ経路の場合にはワイヤ・セグメント1
03および110へのデータの送出をトリガするので、
送出クロックと呼ばれる。C2の立上りは図2に示すよ
うにサイクルの開始を示す。C2の立上り直後に、駆動
エンティティのトライステート・ドライバ101は迅速
にノード「DE_X」を新しい状態、すなわち、「1」また
は「0」のいずれかに駆動する。この新しい状態はワイ
ヤ103によりノード「SW_X」に伝搬する。ただし、信
号がノード「SW_X」に到達したときのその指数特性に留
意されたい。通常、オンチップ・ワイヤ103はRC遅
延特性を示す。サイクルの中央では、スワッパ105が
駆動エンティティX115から発生した信号をワイヤ・
セグメント110上に転送する。スワッパ・ラッチ10
6はC2の立下り後にこの新しい状態を取り込む。C1
が立ち上がると、トライステート・ドライバ107はノ
ード「SW_Y」を迅速に新しい状態に駆動する。この新し
い状態を表す信号は、ワイヤ・セグメント110を介し
て伝搬し、ノード「DE_Y」に到達する。C1の立下りに
より、ラッチ111のL1部分で新しい状態が取り込ま
れる。このようにして、領域Xで発生したデータはバス
・セグメント103および110を介して領域Yに転送
される。同じサイクル中に、データは領域Yから領域X
に流れる。
【0014】当技術分野で既知の通り、ローカル・クロ
ック・ブロック120〜120nにより、ローカル・チ
ューニング、すなわち、C1クロックとC2クロックと
のフェーズ(タイミング)関係のプログラミングが可能
になる。たとえば、C2の立上りをC1の立下りに対し
て遅延させることにより、短絡路問題を回避することが
できる。ただし、図2では、C1の立下りとC2の立上
りがサイクル境界でほぼ同時に発生していることに留意
されたい。C1の立下りによって古いデータ(サイクル
n−1)がラッチ104および111に取り込まれる
と、駆動エンティティ115および116内に保持され
た新しいデータ(サイクルn)がC2の立上りによって
ワイヤ・セグメント103および110上に駆動され
る。避けがたいスキューのために短絡路問題が発生する
可能性があり、それにより、C2クロックの立上りがC
1の立下りより先行する場合には、115からの新しい
データ(サイクルn)が古いデータ(サイクルn−1)
を上書きし、ラッチ104に取り込まれる。実際のシス
テムでは、クロック供給におけるスキューは、ローカル
電源の変動、物理的実施技術の差などから発生する。同
様の短絡路問題は、スワッパ105の入力または出力、
すなわち、ノード「SW_X」または「SW_Y」で発生する可
能性があり、駆動エンティティの場合とは対照的に、C
1がC2より先行する場合にこの短絡路問題が発生す
る。すべての短絡路問題は、クロックがローカル・レベ
ルで調整可能であれば、克服することができる。
ック・ブロック120〜120nにより、ローカル・チ
ューニング、すなわち、C1クロックとC2クロックと
のフェーズ(タイミング)関係のプログラミングが可能
になる。たとえば、C2の立上りをC1の立下りに対し
て遅延させることにより、短絡路問題を回避することが
できる。ただし、図2では、C1の立下りとC2の立上
りがサイクル境界でほぼ同時に発生していることに留意
されたい。C1の立下りによって古いデータ(サイクル
n−1)がラッチ104および111に取り込まれる
と、駆動エンティティ115および116内に保持され
た新しいデータ(サイクルn)がC2の立上りによって
ワイヤ・セグメント103および110上に駆動され
る。避けがたいスキューのために短絡路問題が発生する
可能性があり、それにより、C2クロックの立上りがC
1の立下りより先行する場合には、115からの新しい
データ(サイクルn)が古いデータ(サイクルn−1)
を上書きし、ラッチ104に取り込まれる。実際のシス
テムでは、クロック供給におけるスキューは、ローカル
電源の変動、物理的実施技術の差などから発生する。同
様の短絡路問題は、スワッパ105の入力または出力、
すなわち、ノード「SW_X」または「SW_Y」で発生する可
能性があり、駆動エンティティの場合とは対照的に、C
1がC2より先行する場合にこの短絡路問題が発生す
る。すべての短絡路問題は、クロックがローカル・レベ
ルで調整可能であれば、克服することができる。
【0015】図3は、C2と表示されたクロックがスワ
ッパを駆動するものと、駆動エンティティXを駆動する
ものと、駆動エンティティYを駆動するものと、取込み
ラッチ104および111を駆動するものにさらに細分
できることを強調するものである。これらのクロックの
それぞれは、ローカル・レベルでそのフェーズ関係を調
整するようプログラミングすることができる。図3にお
いてクロックを追加表示することは、両方向データ経路
をテストする様々な方法を説明するためにも必要なこと
である。
ッパを駆動するものと、駆動エンティティXを駆動する
ものと、駆動エンティティYを駆動するものと、取込み
ラッチ104および111を駆動するものにさらに細分
できることを強調するものである。これらのクロックの
それぞれは、ローカル・レベルでそのフェーズ関係を調
整するようプログラミングすることができる。図3にお
いてクロックを追加表示することは、両方向データ経路
をテストする様々な方法を説明するためにも必要なこと
である。
【0016】次に、両方向データ経路内の走査連鎖(sc
an chain)を統合するための様々な実施形態について説
明する。図4、図6、図8は、回路をテストし走査する
ための3通りの手法を示している。いずれの手法でも、
破線(たとえば、図4の250および251)に添付し
た矢印は、テスト・パターンがバスにより駆動されたと
きにデータが移動する方向を示している。図12は、汎
用論理回路およびラッチ・ストランドによって囲まれた
両方向データ経路を示している。これは、両方向データ
経路が近隣論理回路のテストを可能にするためにどのよ
うに走査インタフェースを提供するかを説明するために
使用する。両方向データ経路とともに結合された論理回
路からなる上部構造について考慮すると、両方向データ
経路をテストするための実行可能な候補として、2通り
のサイクル・テストが明らかになる。
an chain)を統合するための様々な実施形態について説
明する。図4、図6、図8は、回路をテストし走査する
ための3通りの手法を示している。いずれの手法でも、
破線(たとえば、図4の250および251)に添付し
た矢印は、テスト・パターンがバスにより駆動されたと
きにデータが移動する方向を示している。図12は、汎
用論理回路およびラッチ・ストランドによって囲まれた
両方向データ経路を示している。これは、両方向データ
経路が近隣論理回路のテストを可能にするためにどのよ
うに走査インタフェースを提供するかを説明するために
使用する。両方向データ経路とともに結合された論理回
路からなる上部構造について考慮すると、両方向データ
経路をテストするための実行可能な候補として、2通り
のサイクル・テストが明らかになる。
【0017】次に図4を参照すると、両方向データ・フ
ロー・バスのシステム・モード動作に最もよく似ている
テスト・モードおよびテスト・ハードウェアが示されて
いる。太い矢印252および253は、物理的に隣接す
る駆動エンティティをまとめて接続することによって形
成された走査連鎖によりテスト・パターンがどのように
ロードされるかを示している。この例では、4つのX駆
動エンティティ215a〜215dがまとめて接続さ
れ、4つのY駆動エンティティ216a〜216dがま
とめて接続されている。太い矢印252および253
は、走査連鎖によりどのようにテスト・パターンおよび
結果パターンが導出され取り出されるかを示している。
パターンがロードされると、テスト・パターンがバスに
加えられる。テスト経路251を追跡すると、駆動エン
ティティX215は、ラッチ211に取り込まれる前に
バス・ワイヤ・セグメント203、スワッパ205、バ
ス・ワイヤ・セグメント210を通過するデータを駆動
する。同時に、駆動エンティティYは、テスト経路25
0をたどり、最後にラッチ204に取り込まれるデータ
を駆動する。テスト結果は、取り込まれると、すべての
取込みラッチ(204a〜204dおよび211a〜2
11d)をまとめて接続する走査連鎖(図示しない走査
接続)によりチェックするために取出すことができる。
図5に示す表は、図4のハードウェアのシステム・モー
ド、テスト・モード、走査モード中にどのクロックが使
用可能または使用不能になるかを示すものである。ロー
カル・クロックの場合、「E」はクロックが使用可能に
なっていることを示し、ブランクはクロックが使用不能
になっていることを示す。テストのためのグローバル・
クロック・シーケンスでは、次のように、第1に
[1)]駆動エンティティ内にテスト・ベクトルをスキ
ャンインし、第2に[2)]両方向データ経路にテスト
・ベクトルを加え、第3に[3)]テスト結果をスキャ
ンアウトする。 1)走査モードでは、「A」クロックと「B」クロック
を交互に発生し、「A」で停止する(「ABAB...
ABA」)。 2)テスト・モードでは、「C2」クロック・パルスに
続いて「C1」クロック・パルスを出す。 3)走査モードでは、「B」クロックから始まり、
「B」クロックと「A」クロックを交互に発生する
(「BABA...BAB)。
ロー・バスのシステム・モード動作に最もよく似ている
テスト・モードおよびテスト・ハードウェアが示されて
いる。太い矢印252および253は、物理的に隣接す
る駆動エンティティをまとめて接続することによって形
成された走査連鎖によりテスト・パターンがどのように
ロードされるかを示している。この例では、4つのX駆
動エンティティ215a〜215dがまとめて接続さ
れ、4つのY駆動エンティティ216a〜216dがま
とめて接続されている。太い矢印252および253
は、走査連鎖によりどのようにテスト・パターンおよび
結果パターンが導出され取り出されるかを示している。
パターンがロードされると、テスト・パターンがバスに
加えられる。テスト経路251を追跡すると、駆動エン
ティティX215は、ラッチ211に取り込まれる前に
バス・ワイヤ・セグメント203、スワッパ205、バ
ス・ワイヤ・セグメント210を通過するデータを駆動
する。同時に、駆動エンティティYは、テスト経路25
0をたどり、最後にラッチ204に取り込まれるデータ
を駆動する。テスト結果は、取り込まれると、すべての
取込みラッチ(204a〜204dおよび211a〜2
11d)をまとめて接続する走査連鎖(図示しない走査
接続)によりチェックするために取出すことができる。
図5に示す表は、図4のハードウェアのシステム・モー
ド、テスト・モード、走査モード中にどのクロックが使
用可能または使用不能になるかを示すものである。ロー
カル・クロックの場合、「E」はクロックが使用可能に
なっていることを示し、ブランクはクロックが使用不能
になっていることを示す。テストのためのグローバル・
クロック・シーケンスでは、次のように、第1に
[1)]駆動エンティティ内にテスト・ベクトルをスキ
ャンインし、第2に[2)]両方向データ経路にテスト
・ベクトルを加え、第3に[3)]テスト結果をスキャ
ンアウトする。 1)走査モードでは、「A」クロックと「B」クロック
を交互に発生し、「A」で停止する(「ABAB...
ABA」)。 2)テスト・モードでは、「C2」クロック・パルスに
続いて「C1」クロック・パルスを出す。 3)走査モードでは、「B」クロックから始まり、
「B」クロックと「A」クロックを交互に発生する
(「BABA...BAB)。
【0018】本発明のコンテキストでは、「使用可能
(イネーブル状態)」とは、そのクロック、すなわち、
C1、C2、A、Bのいずれかが出されたときに回路が
活動状態になることを意味する。「活動状態」とは、ラ
ッチが透過性であり、トライステート回路がその出力の
ノードを「1」または「0」のいずれかに駆動すること
を意味する。「オン」とは、クロック状態にかかわら
ず、その回路が活動状態であることを意味する。「オ
フ」と「使用不能(ディスエーブル状態)」はどちら
も、その回路が非活動状態であることを意味する。「非
活動状態」とは、ラッチがラッチされ、トライステート
回路がハイ・インピーダンス状態になっていることを意
味する。
(イネーブル状態)」とは、そのクロック、すなわち、
C1、C2、A、Bのいずれかが出されたときに回路が
活動状態になることを意味する。「活動状態」とは、ラ
ッチが透過性であり、トライステート回路がその出力の
ノードを「1」または「0」のいずれかに駆動すること
を意味する。「オン」とは、クロック状態にかかわら
ず、その回路が活動状態であることを意味する。「オ
フ」と「使用不能(ディスエーブル状態)」はどちら
も、その回路が非活動状態であることを意味する。「非
活動状態」とは、ラッチがラッチされ、トライステート
回路がハイ・インピーダンス状態になっていることを意
味する。
【0019】図6は両方向バスの単一方向テストを示
し、図7は単一方向テスト用のクロック状態を示す表で
ある。この場合もテスト・パターンは走査連鎖によりロ
ードされる。太い矢印352が示すように、テスト・パ
ターンで充填する必要があるのは左側の駆動エンティテ
ィ(DEX)のみである。というのは、テスト・パター
ンはDEXによってバスの左側だけに加えられ、結果は
ラッチ311a〜311dによって右側で取り込まれる
からである。この機能を実現するため、スワッパ305
は、一部の両方向データ経路クロックが「オン」にな
り、一部が使用可能になり、さらに他のクロックが使用
不能になる必要があるリピータのように構成しなければ
ならない。次に、図3に示すスワッパ105のより詳細
な概略図について検討する。左から右に排他的にデータ
を駆動し、スワッパ105をリピータとして構成するに
は、L2ラッチ106とトライステート回路107がデ
ータを放出しなければならず、したがって、C2_SW_L2_X
toYクロックとC1_SW_TR_XtoYクロックを「オン」にゲー
トしなければならない。右から左にL2ラッチ109お
よびトライステート回路108を通る経路は、C2_SW_L2
_YtoXクロックとC1_SW_TR_YtoXクロックを「オフ」にゲ
ートすることによって使用不能にする必要がある。前述
のクロック・ゲーティング方式により、微妙な問題が発
生する。すなわち、ワイヤ・セグメント103に付加さ
れたトライステート回路101および108は同時に使
用不能になりうる。この状態は、テスト・ベクトルがス
キャンインされた直後であって、しかも両方向データ経
路によりテスト・パターンが加えられる直前に発生す
る。すべてのドライバが使用不能になるので、バス・ワ
イヤ・セグメントは、隣接ワイヤからの結合またはトラ
ンジスタ内の漏れなどのメカニズムにより、いずれかの
電圧に浮動する可能性がある。潜在的な問題の1つは、
GND(ローの電源)とVDD(ハイの電源)との間に
位置する浮動ノードDE_Xが104のL1ラッチ内のトラ
ンジスタをオンにする可能性があり、それが当技術分野
で「IDQ」テストとして知られる零入力電流テストで
大混乱を引き起こす恐れがあることである。このような
状況および他の予測不能な状況を回避するため、図5に
示すように、ワイヤ・セグメント103および110が
既知の電圧、すなわち、「VDD」または「GND」の
いずれかに駆動されることを確認するために、テスト・
モード中にトライステート・ドライバ101を駆動する
C2_DE_TR_XとC1_SW_TR_XtoYは強制的に「オン」にしな
ければならず、C2_SW_L2_XtoYは使用可能になり、C1_SW
_TR_YtoXとC2_DE_TR_Yは使用不能になり、C2_SW_L2_Yto
Xは使用可能または使用不能になる。ローカル・クロッ
クのゲーティングにより、テスト・シーケンスは、両方
向テスト用のものと同じ3ステップの手順をたどる。当
然のことながら、完全なテストを行うには単方向テスト
を繰り返す必要があり、テスト・ベクトルはY側の駆動
エンティティによって加えられ、結果ベクトルはX側の
ラッチ(304a〜304d)に取り込まれるという条
件が付く。
し、図7は単一方向テスト用のクロック状態を示す表で
ある。この場合もテスト・パターンは走査連鎖によりロ
ードされる。太い矢印352が示すように、テスト・パ
ターンで充填する必要があるのは左側の駆動エンティテ
ィ(DEX)のみである。というのは、テスト・パター
ンはDEXによってバスの左側だけに加えられ、結果は
ラッチ311a〜311dによって右側で取り込まれる
からである。この機能を実現するため、スワッパ305
は、一部の両方向データ経路クロックが「オン」にな
り、一部が使用可能になり、さらに他のクロックが使用
不能になる必要があるリピータのように構成しなければ
ならない。次に、図3に示すスワッパ105のより詳細
な概略図について検討する。左から右に排他的にデータ
を駆動し、スワッパ105をリピータとして構成するに
は、L2ラッチ106とトライステート回路107がデ
ータを放出しなければならず、したがって、C2_SW_L2_X
toYクロックとC1_SW_TR_XtoYクロックを「オン」にゲー
トしなければならない。右から左にL2ラッチ109お
よびトライステート回路108を通る経路は、C2_SW_L2
_YtoXクロックとC1_SW_TR_YtoXクロックを「オフ」にゲ
ートすることによって使用不能にする必要がある。前述
のクロック・ゲーティング方式により、微妙な問題が発
生する。すなわち、ワイヤ・セグメント103に付加さ
れたトライステート回路101および108は同時に使
用不能になりうる。この状態は、テスト・ベクトルがス
キャンインされた直後であって、しかも両方向データ経
路によりテスト・パターンが加えられる直前に発生す
る。すべてのドライバが使用不能になるので、バス・ワ
イヤ・セグメントは、隣接ワイヤからの結合またはトラ
ンジスタ内の漏れなどのメカニズムにより、いずれかの
電圧に浮動する可能性がある。潜在的な問題の1つは、
GND(ローの電源)とVDD(ハイの電源)との間に
位置する浮動ノードDE_Xが104のL1ラッチ内のトラ
ンジスタをオンにする可能性があり、それが当技術分野
で「IDQ」テストとして知られる零入力電流テストで
大混乱を引き起こす恐れがあることである。このような
状況および他の予測不能な状況を回避するため、図5に
示すように、ワイヤ・セグメント103および110が
既知の電圧、すなわち、「VDD」または「GND」の
いずれかに駆動されることを確認するために、テスト・
モード中にトライステート・ドライバ101を駆動する
C2_DE_TR_XとC1_SW_TR_XtoYは強制的に「オン」にしな
ければならず、C2_SW_L2_XtoYは使用可能になり、C1_SW
_TR_YtoXとC2_DE_TR_Yは使用不能になり、C2_SW_L2_Yto
Xは使用可能または使用不能になる。ローカル・クロッ
クのゲーティングにより、テスト・シーケンスは、両方
向テスト用のものと同じ3ステップの手順をたどる。当
然のことながら、完全なテストを行うには単方向テスト
を繰り返す必要があり、テスト・ベクトルはY側の駆動
エンティティによって加えられ、結果ベクトルはX側の
ラッチ(304a〜304d)に取り込まれるという条
件が付く。
【0020】図8は、走査によって両方向バスの機能テ
ストを実行するテストの手法を示している。「A」クロ
ックと「B」クロックを交互に発生すると、バスを通っ
てジグザグに進む走査経路460によりテスト・データ
が移動する。テスト・データはスキャン・イン入力から
駆動エンティティ415a、バス・ワイヤ・セグメント
403a、スワッパ405a、バス・ワイヤ・セグメン
ト410a、駆動エンティティ416b、バス・ワイヤ
・セグメント410b、スワッパ405b、バス・ワイ
ヤ・セグメント403bなど、スキャン・アウトMUX
465によってそれが駆動されるまで通過し、他の走査
連鎖に至る。
ストを実行するテストの手法を示している。「A」クロ
ックと「B」クロックを交互に発生すると、バスを通っ
てジグザグに進む走査経路460によりテスト・データ
が移動する。テスト・データはスキャン・イン入力から
駆動エンティティ415a、バス・ワイヤ・セグメント
403a、スワッパ405a、バス・ワイヤ・セグメン
ト410a、駆動エンティティ416b、バス・ワイヤ
・セグメント410b、スワッパ405b、バス・ワイ
ヤ・セグメント403bなど、スキャン・アウトMUX
465によってそれが駆動されるまで通過し、他の走査
連鎖に至る。
【0021】ジグザグ・テスト・モードの利点は、ハー
ドウェア・インフラストラクチャが簡略化され、図1お
よび図3に含まれる走査専用のL2*ラッチ102およ
び114の必要性が除去されることである。図9は、図
3に取って代わる両方向データ経路の新しいビット・ス
ライスを示している。L2*ラッチの除去以外の主な変
更は、スワッパL2ラッチ406および409を駆動す
るためにBクロックとC2のORが取られることであ
る。前に確立された規則に従い、ローカル・クロック名
はC2orB_SW_L2_XtoYおよびC2orB_SW_L2_YtoXになる。ジ
グザグ・テストをサポートするため、図6に示す単一方
向テストの場合と同様にクロックがゲートされる。追加
の条件は、図8に示すように各ビット・スライスごとに
データ・フローの方向が交互に変わり、XtoYビット・ス
ライス1、YtoXビット・スライス2、XtoYビット・スラ
イス3、YtoXビット・スライス4などになることであ
る。XtoYの転送方向について図10(YtoXの転送方向に
ついては図11)に示すクロックのゲーティングは図7
のものと非常によく似ており、C2クロックではなくB
クロックだけがスワッパのL2ラッチ406(または4
09)によりデータを駆動する。これまでに述べたよう
に、ジグザグ・テストは、駆動エンティティ416aと
415b、416c、415dの機能検証を完全に無視
し、スワッパ405a〜405dの単一方向データ転送
機能のみを妥当性検査する。図8に示すすべてのエンテ
ィティを完全にテストするためには、データ・フローの
方向を各ビット・スライス内で反転させて、この時だけ
ジグザグ・テストを繰り返さなければならない。完全な
ジグザグ・テストは、図8に示す「Z」スタイルのテス
トと、いずれの図にも示さず、前の文章で説明しただけ
の「S」スタイルのテストの両方を必要とする、2ステ
ップのプロセスである。
ドウェア・インフラストラクチャが簡略化され、図1お
よび図3に含まれる走査専用のL2*ラッチ102およ
び114の必要性が除去されることである。図9は、図
3に取って代わる両方向データ経路の新しいビット・ス
ライスを示している。L2*ラッチの除去以外の主な変
更は、スワッパL2ラッチ406および409を駆動す
るためにBクロックとC2のORが取られることであ
る。前に確立された規則に従い、ローカル・クロック名
はC2orB_SW_L2_XtoYおよびC2orB_SW_L2_YtoXになる。ジ
グザグ・テストをサポートするため、図6に示す単一方
向テストの場合と同様にクロックがゲートされる。追加
の条件は、図8に示すように各ビット・スライスごとに
データ・フローの方向が交互に変わり、XtoYビット・ス
ライス1、YtoXビット・スライス2、XtoYビット・スラ
イス3、YtoXビット・スライス4などになることであ
る。XtoYの転送方向について図10(YtoXの転送方向に
ついては図11)に示すクロックのゲーティングは図7
のものと非常によく似ており、C2クロックではなくB
クロックだけがスワッパのL2ラッチ406(または4
09)によりデータを駆動する。これまでに述べたよう
に、ジグザグ・テストは、駆動エンティティ416aと
415b、416c、415dの機能検証を完全に無視
し、スワッパ405a〜405dの単一方向データ転送
機能のみを妥当性検査する。図8に示すすべてのエンテ
ィティを完全にテストするためには、データ・フローの
方向を各ビット・スライス内で反転させて、この時だけ
ジグザグ・テストを繰り返さなければならない。完全な
ジグザグ・テストは、図8に示す「Z」スタイルのテス
トと、いずれの図にも示さず、前の文章で説明しただけ
の「S」スタイルのテストの両方を必要とする、2ステ
ップのプロセスである。
【0022】「Z」走査テスト(図8に示す、データ・
フローは点線460で示す) 1)データが両方向データ経路による「Z」経路をたど
るようにクロックをゲートする。 2)AクロックとBクロックを交互に発生することによ
り(ABA...B)、駆動エンティティ、ワイヤ・セ
グメント、スワッパによりデータを走査する。
フローは点線460で示す) 1)データが両方向データ経路による「Z」経路をたど
るようにクロックをゲートする。 2)AクロックとBクロックを交互に発生することによ
り(ABA...B)、駆動エンティティ、ワイヤ・セ
グメント、スワッパによりデータを走査する。
【0023】「S」走査テスト(データは「Z」走査テ
ストとは反対方向に移動する) 1)データが両方向データ経路による「S」経路をたど
るようにクロックをゲートする。 2)AクロックとBクロックを交互に発生することによ
り(ABA...B)、駆動エンティティ、ワイヤ・セ
グメント、スワッパによりデータを走査する。
ストとは反対方向に移動する) 1)データが両方向データ経路による「S」経路をたど
るようにクロックをゲートする。 2)AクロックとBクロックを交互に発生することによ
り(ABA...B)、駆動エンティティ、ワイヤ・セ
グメント、スワッパによりデータを走査する。
【0024】図12は、他の「X」および「Y」データ
経路論理回路によって囲まれた両方向データ経路580
を示している。この概略図は2つの理由により有用であ
る。第1に、これは両方向データ経路の駆動エンティテ
ィが周囲の論理回路の1サイクル・テスト中にどのよう
に取込みラッチとして動作するかを示している。第2
に、これは両方向データ経路の2サイクル・テストを実
行するために必要な上部構造を提供する。
経路論理回路によって囲まれた両方向データ経路580
を示している。この概略図は2つの理由により有用であ
る。第1に、これは両方向データ経路の駆動エンティテ
ィが周囲の論理回路の1サイクル・テスト中にどのよう
に取込みラッチとして動作するかを示している。第2
に、これは両方向データ経路の2サイクル・テストを実
行するために必要な上部構造を提供する。
【0025】図12のデータ経路論理回路では、当技術
分野で既知の標準的なラッチ間テストを実行することが
できる。テスト・ベクトルはL1/L2ラッチ570
(または573)を介してロードされる。テスト・パタ
ーンは矢印574(または575)の方向にデータ経路
論理回路571(または572)を通って流れる。結果
は両方向データ経路580の駆動エンティティ515
(または516)により取り込まれ、次にスキャン・ア
ウトされる。各走査テストは、他の走査動作とは時間的
に分離されたそれ専用のテスト・ベクトルの独立印加と
結果ベクトルの取込みを必要とする。この場合の唯一の
例外は図8に示すジグザグ・テストの際に発生する。完
全な結果テスト・ベクトルを取り込むためには、テスト
・ベクトルを2回加え、2回シフト・アウトしなければ
ならない。結果ベクトルの全ビットをシフトアウトする
ためには、新しいテスト・ベクトルごとに「S」と
「Z」のジグザグのスキャン・アウトを実行しなければ
ならない。「Z」(「S」)走査は、両方向データ経路
内のドライバ・エンティティ・ビットを1つおきにシフ
ト・アウトするだけである。
分野で既知の標準的なラッチ間テストを実行することが
できる。テスト・ベクトルはL1/L2ラッチ570
(または573)を介してロードされる。テスト・パタ
ーンは矢印574(または575)の方向にデータ経路
論理回路571(または572)を通って流れる。結果
は両方向データ経路580の駆動エンティティ515
(または516)により取り込まれ、次にスキャン・ア
ウトされる。各走査テストは、他の走査動作とは時間的
に分離されたそれ専用のテスト・ベクトルの独立印加と
結果ベクトルの取込みを必要とする。この場合の唯一の
例外は図8に示すジグザグ・テストの際に発生する。完
全な結果テスト・ベクトルを取り込むためには、テスト
・ベクトルを2回加え、2回シフト・アウトしなければ
ならない。結果ベクトルの全ビットをシフトアウトする
ためには、新しいテスト・ベクトルごとに「S」と
「Z」のジグザグのスキャン・アウトを実行しなければ
ならない。「Z」(「S」)走査は、両方向データ経路
内のドライバ・エンティティ・ビットを1つおきにシフ
ト・アウトするだけである。
【0026】図12に示すように、データ経路論理回路
571および572と両方向データ経路580には2サ
イクル・テストが適用される。矢印576(577)
は、L1/L2ラッチ570(573)からデータ経路
論理回路571(572)、駆動エンティティXs51
5(516)、バス・ワイヤ・セグメント、スワッパ5
05、他のバス・ワイヤ・セグメントを通り、最後にL
1/L2取込みラッチ511(504)に至るテスト・
データの流れを示している。実行サイクル・タリーも矢
印576および577内に含まれている。データ・フロ
ー回路はフィードバックを一切行わないので、2サイク
ル・テストが可能である。また、両方向データ経路はそ
れを通過するデータを変換しない。これは、チップのあ
る領域から他の領域へデータを移動するためのチャネル
として動作するだけである。単一サイクルのラッチ間テ
ストの場合、結果ベクトルは駆動エンティティ515
(516)に取り込まれる。2サイクル・テストの場
合、データはさらに1ステップ移動し、変更されずに次
のラッチ・セット、すなわち、L1/L2取込みラッチ
511(504)に至る。新しいテスト・ベクトルを発
生する必要はない。1サイクルと2サイクルのテスト・
ベクトルは同じであり、結果ベクトルは異なるラッチに
よって取り込まれて終わるだけである。2サイクル・テ
スト用の3ステップ・プロセスは以下の通りである。 1)走査モードで、AクロックとBクロックを交互に発
生してAで停止することにより(AB...A)テスト
・ベクトルをスキャン・インする。 2)システム・モードで、C2クロックを出し、次にC
1クロック、C2クロックを出し、最後にC1クロック
を出す。 3)走査モードで、Bクロックから開始して(B
A...B)結果ベクトルをスキャンアウトする。
571および572と両方向データ経路580には2サ
イクル・テストが適用される。矢印576(577)
は、L1/L2ラッチ570(573)からデータ経路
論理回路571(572)、駆動エンティティXs51
5(516)、バス・ワイヤ・セグメント、スワッパ5
05、他のバス・ワイヤ・セグメントを通り、最後にL
1/L2取込みラッチ511(504)に至るテスト・
データの流れを示している。実行サイクル・タリーも矢
印576および577内に含まれている。データ・フロ
ー回路はフィードバックを一切行わないので、2サイク
ル・テストが可能である。また、両方向データ経路はそ
れを通過するデータを変換しない。これは、チップのあ
る領域から他の領域へデータを移動するためのチャネル
として動作するだけである。単一サイクルのラッチ間テ
ストの場合、結果ベクトルは駆動エンティティ515
(516)に取り込まれる。2サイクル・テストの場
合、データはさらに1ステップ移動し、変更されずに次
のラッチ・セット、すなわち、L1/L2取込みラッチ
511(504)に至る。新しいテスト・ベクトルを発
生する必要はない。1サイクルと2サイクルのテスト・
ベクトルは同じであり、結果ベクトルは異なるラッチに
よって取り込まれて終わるだけである。2サイクル・テ
スト用の3ステップ・プロセスは以下の通りである。 1)走査モードで、AクロックとBクロックを交互に発
生してAで停止することにより(AB...A)テスト
・ベクトルをスキャン・インする。 2)システム・モードで、C2クロックを出し、次にC
1クロック、C2クロックを出し、最後にC1クロック
を出す。 3)走査モードで、Bクロックから開始して(B
A...B)結果ベクトルをスキャンアウトする。
【0027】両方向データ経路の機能およびテスト上の
問題に関する上記の詳述に続いて、下位回路の実用的な
CMOS実施を以下に示す。両方向データ経路は、図1
3に示すような2つ(またはそれ以上)のハーフ(1/
2)・スワッパと、図14に示すような2つ(またはそ
れ以上)の駆動エンティティとを含む。フル・スワッパ
(たとえば、図1のスワッパ105)は、1つのハーフ
・スワッパの入力と他のハーフ・スワッパの出力とを接
続し、その逆に接続することにより形成される。ハーフ
・スワッパは、L2ラッチ、たとえば、図1の106
と、トライステート・ドライバ、たとえば、図1の10
7とを含む。図13のハーフ・スワッパを通るデータ経
路は、ここではインバータとして示す入力論理段600
と、パス・ゲート601と、NANDゲート602と、
アース割込みを備えたインバータ603とを介して「in
_swap」から「out_swap」へ延びている。このハーフ・
スワッパは反転しており、駆動エンティティも反転して
いる(図14)。しかし、駆動エンティティとスワッパ
の直列結合は非反転データ経路を形成する。
問題に関する上記の詳述に続いて、下位回路の実用的な
CMOS実施を以下に示す。両方向データ経路は、図1
3に示すような2つ(またはそれ以上)のハーフ(1/
2)・スワッパと、図14に示すような2つ(またはそ
れ以上)の駆動エンティティとを含む。フル・スワッパ
(たとえば、図1のスワッパ105)は、1つのハーフ
・スワッパの入力と他のハーフ・スワッパの出力とを接
続し、その逆に接続することにより形成される。ハーフ
・スワッパは、L2ラッチ、たとえば、図1の106
と、トライステート・ドライバ、たとえば、図1の10
7とを含む。図13のハーフ・スワッパを通るデータ経
路は、ここではインバータとして示す入力論理段600
と、パス・ゲート601と、NANDゲート602と、
アース割込みを備えたインバータ603とを介して「in
_swap」から「out_swap」へ延びている。このハーフ・
スワッパは反転しており、駆動エンティティも反転して
いる(図14)。しかし、駆動エンティティとスワッパ
の直列結合は非反転データ経路を形成する。
【0028】ハーフ・スワッパのL2ラッチ部分は下位
回路600、601、604、605、606を含む。
入力論理段600は、反転または多重化などの論理機能
を実行し、「in_swap」でゆっくり立ち下がるかまたは
立ち上がる信号のスルー・レートを改善し、パス・ゲー
ト601へのノイズ(特にVDDよりも高い、およびG
NDよりも低い結合ノイズ)を抑制する。ローカルC2
クロックは、次の論理段であるパス・ゲート601を通
るデータの転送を支配する。ローカル・インバータ60
5および606は、C2クロックの反転フェーズと非反
転フェーズをパス・ゲート601に供給する。C2クロ
ックが非活動状態であり、パス・ゲート601がオフで
ある場合、スタティック・ラッチ604はノード642
に記憶されたデータの論理状態を維持する。パス・ゲー
ト601は、C2クロックが活動状態であるときに透過
性になる。C2クロックの両方のフェーズはフィードバ
ック・インバータのトライステート・トランジスタ63
0および631のゲートを駆動し、新しいデータがハー
フ・スワッパのトライステート・ドライバ部分に駆動さ
れるとフィードバックが使用不能になる。
回路600、601、604、605、606を含む。
入力論理段600は、反転または多重化などの論理機能
を実行し、「in_swap」でゆっくり立ち下がるかまたは
立ち上がる信号のスルー・レートを改善し、パス・ゲー
ト601へのノイズ(特にVDDよりも高い、およびG
NDよりも低い結合ノイズ)を抑制する。ローカルC2
クロックは、次の論理段であるパス・ゲート601を通
るデータの転送を支配する。ローカル・インバータ60
5および606は、C2クロックの反転フェーズと非反
転フェーズをパス・ゲート601に供給する。C2クロ
ックが非活動状態であり、パス・ゲート601がオフで
ある場合、スタティック・ラッチ604はノード642
に記憶されたデータの論理状態を維持する。パス・ゲー
ト601は、C2クロックが活動状態であるときに透過
性になる。C2クロックの両方のフェーズはフィードバ
ック・インバータのトライステート・トランジスタ63
0および631のゲートを駆動し、新しいデータがハー
フ・スワッパのトライステート・ドライバ部分に駆動さ
れるとフィードバックが使用不能になる。
【0029】ハーフ・スワッパのトライステート・ドラ
イバ部分は下位回路602、603、607、608、
609を含む。インバータ607、608、609は、
NAND602と、アース割込みを備えたインバータ6
03とを含むトライステート回路にC1クロックの反転
フェーズと非反転フェーズを供給する。C1クロックの
フェーズに応じて、トライステート回路は透過状態また
はハイ・インピーダンス状態のいずれかになる。ノード
640をローに駆動し、それがPFET637によりノ
ード643を強制的にハイにすると共に、インバータ6
08および609の遅延を除けば、ほぼ同時に割込みト
ランジスタ632を遮断することにより、アース割込み
を備えたインバータ603でハイ・インピーダンスが達
成される。このような動作の最終的な結果として、「ou
t_swap」からアースへの経路が割込みNFETトランジ
スタ632によって使用不能になり、PFET634の
ゲートがすでにVDDにハイにセットされているので
「out_swap」からVDDへの経路がPFET634によ
って使用不能になる。したがって、ハーフ・スワッパの
出力セクション603でハイ・インピーダンスが達成さ
れる。トライステート回路を活動化するためには、ノー
ド640をハイに駆動しなければならない。この場合、
NAND602はインバータになる。というのは、PF
ET637が使用不能になり、トランジスタ636がオ
ンになり、その結果、NFET635のドレインをノー
ド643に結合するからである。同様に、トランジスタ
632がオンになり、その結果、アースをNFET63
3のソースに結合するので、アース割込みを備えたイン
バータ603はインバータになる。透過モードのトライ
ステート回路は、ノード642に記憶された状態を出力
「out_swap」に駆動する2つのバックツーバック・イン
バータのように動作する。
イバ部分は下位回路602、603、607、608、
609を含む。インバータ607、608、609は、
NAND602と、アース割込みを備えたインバータ6
03とを含むトライステート回路にC1クロックの反転
フェーズと非反転フェーズを供給する。C1クロックの
フェーズに応じて、トライステート回路は透過状態また
はハイ・インピーダンス状態のいずれかになる。ノード
640をローに駆動し、それがPFET637によりノ
ード643を強制的にハイにすると共に、インバータ6
08および609の遅延を除けば、ほぼ同時に割込みト
ランジスタ632を遮断することにより、アース割込み
を備えたインバータ603でハイ・インピーダンスが達
成される。このような動作の最終的な結果として、「ou
t_swap」からアースへの経路が割込みNFETトランジ
スタ632によって使用不能になり、PFET634の
ゲートがすでにVDDにハイにセットされているので
「out_swap」からVDDへの経路がPFET634によ
って使用不能になる。したがって、ハーフ・スワッパの
出力セクション603でハイ・インピーダンスが達成さ
れる。トライステート回路を活動化するためには、ノー
ド640をハイに駆動しなければならない。この場合、
NAND602はインバータになる。というのは、PF
ET637が使用不能になり、トランジスタ636がオ
ンになり、その結果、NFET635のドレインをノー
ド643に結合するからである。同様に、トランジスタ
632がオンになり、その結果、アースをNFET63
3のソースに結合するので、アース割込みを備えたイン
バータ603はインバータになる。透過モードのトライ
ステート回路は、ノード642に記憶された状態を出力
「out_swap」に駆動する2つのバックツーバック・イン
バータのように動作する。
【0030】図14の駆動エンティティを通る反転シス
テム・データ経路は、「in_de」から「out_de」へ、こ
こではインバータとして示す入力論理段700と、パス
・ゲート701と、NANDゲート702と、アース割
込みを備えたインバータ703とを通り抜ける。下位回
路770の回路トポロジは図13のハーフ・スワッパの
ものと同じである。2つの回路の動作の微妙な違いは、
駆動エンティティ・ラッチがC1クロックを受け取り、
そのトライステート・ドライバがC2クロックを受け取
るのに対し、ハーフ・スワッパ・ラッチがC2クロック
を受け取り、そのトライステート・ドライバがC1クロ
ックを受け取ることである。別個のシステム・クロック
により、データは(図2に示すように)そのサイクル中
の別々の時点でトライステート回路およびラッチ回路を
通って転送される。ハーフ・スワッパ回路に加え、駆動
エンティティも「A」ポート771とL2*スレーブ・
ラッチ772を有し、どちらも走査テストに使用する。
(ただし、図8〜図11に関して説明した走査テスト・
モードをサポートするためにはL2*ラッチは不要であ
ることに留意されたい。)「A」クロックは「スキャン
・イン」入力からノード742にテスト・データをロー
ドする。「A」クロックによりテスト・データをロード
することができ、「C2」クロックを追加することによ
り、ノード742からシステム経路ノード743を通
り、出力「out_de」などを通り、図4〜図5、図6〜図
7、図8〜図11に関して本明細書で前述したように、
両方向データ経路の他の下位回路およびワイヤ・セグメ
ントを通って移動する。システム経路に代わるものは走
査経路である。この場合も「A」クロックは「スキャン
・イン」入力からパス・ゲート710を通り、ノード7
42にデータをロードするが、この場合のみ、データは
インバータを通ってノード745まで存続し、「B」ク
ロックを追加することにより、パス・ゲート711を通
り、2つのインバータを通って出力「スキャン・アウ
ト」に移動する。図12を参照すると、結果のテスト・
ベクトルは図13の駆動エンティティに取り込まれ、ス
キャンアウトすることができる。図12のテスト・パタ
ーン574からの結果データは、「C1」クロックの次
に「B」クロックが続くシーケンスにより図14の駆動
エンティティからスキャンアウトし、その後、「A」ク
ロックと「B」クロックを交互に発生することにより、
他の駆動エンティティおよび走査ラッチを通って出力す
ることができる。
テム・データ経路は、「in_de」から「out_de」へ、こ
こではインバータとして示す入力論理段700と、パス
・ゲート701と、NANDゲート702と、アース割
込みを備えたインバータ703とを通り抜ける。下位回
路770の回路トポロジは図13のハーフ・スワッパの
ものと同じである。2つの回路の動作の微妙な違いは、
駆動エンティティ・ラッチがC1クロックを受け取り、
そのトライステート・ドライバがC2クロックを受け取
るのに対し、ハーフ・スワッパ・ラッチがC2クロック
を受け取り、そのトライステート・ドライバがC1クロ
ックを受け取ることである。別個のシステム・クロック
により、データは(図2に示すように)そのサイクル中
の別々の時点でトライステート回路およびラッチ回路を
通って転送される。ハーフ・スワッパ回路に加え、駆動
エンティティも「A」ポート771とL2*スレーブ・
ラッチ772を有し、どちらも走査テストに使用する。
(ただし、図8〜図11に関して説明した走査テスト・
モードをサポートするためにはL2*ラッチは不要であ
ることに留意されたい。)「A」クロックは「スキャン
・イン」入力からノード742にテスト・データをロー
ドする。「A」クロックによりテスト・データをロード
することができ、「C2」クロックを追加することによ
り、ノード742からシステム経路ノード743を通
り、出力「out_de」などを通り、図4〜図5、図6〜図
7、図8〜図11に関して本明細書で前述したように、
両方向データ経路の他の下位回路およびワイヤ・セグメ
ントを通って移動する。システム経路に代わるものは走
査経路である。この場合も「A」クロックは「スキャン
・イン」入力からパス・ゲート710を通り、ノード7
42にデータをロードするが、この場合のみ、データは
インバータを通ってノード745まで存続し、「B」ク
ロックを追加することにより、パス・ゲート711を通
り、2つのインバータを通って出力「スキャン・アウ
ト」に移動する。図12を参照すると、結果のテスト・
ベクトルは図13の駆動エンティティに取り込まれ、ス
キャンアウトすることができる。図12のテスト・パタ
ーン574からの結果データは、「C1」クロックの次
に「B」クロックが続くシーケンスにより図14の駆動
エンティティからスキャンアウトし、その後、「A」ク
ロックと「B」クロックを交互に発生することにより、
他の駆動エンティティおよび走査ラッチを通って出力す
ることができる。
【0031】図15は、図13に示すハーフ・スワッパ
の第2の実施形態を示している。図15の実施では、必
要とするトランジスタおよびワイヤ接続が図13のもの
より少ない。図13の前述の実施形態と同様、図15の
ハーフ・スワッパを通るデータ経路は、「in_swap」か
ら「out_swap」へ、ここではインバータとして示す入力
論理段800と、パス・ゲート801と、NANDゲー
ト802と、アース割込みを備えたインバータ803と
を通り抜ける。実際に、図15の下位回路は図13の下
位回路600、601、602、603とそれぞれ同じ
である。図15に示すハーフ・スワッパの固有の特徴
は、図13で使用する個別のスタティック・ラッチ60
4とは対照的に、それがラッチ用のフィードバック・イ
ンバータ804を含むことである。このスタティック・
ラッチ機能は、ラッチ用のフィードバック・インバータ
804によって一部提供されるが、スタティック・ラッ
チ604(図13)によって提供される機能を達成する
ためには、ノード843によるNAND802とのある
程度の統合と、ノード840およびノード849による
トライステート信号の派生物との接続を必要とする。N
AND802は、ラッチ用のフィードバック・インバー
タ804と一緒に機能してスタティック・ラッチを形成
する。トライステート・クロック信号を使用可能にする
ことにより(tris_clkn=「0」)、ノード840およ
び849はどちらもハイになる。回路802および80
4は、一緒にスタティック・ラッチを形成するバックツ
ーバック・インバータになる。
の第2の実施形態を示している。図15の実施では、必
要とするトランジスタおよびワイヤ接続が図13のもの
より少ない。図13の前述の実施形態と同様、図15の
ハーフ・スワッパを通るデータ経路は、「in_swap」か
ら「out_swap」へ、ここではインバータとして示す入力
論理段800と、パス・ゲート801と、NANDゲー
ト802と、アース割込みを備えたインバータ803と
を通り抜ける。実際に、図15の下位回路は図13の下
位回路600、601、602、603とそれぞれ同じ
である。図15に示すハーフ・スワッパの固有の特徴
は、図13で使用する個別のスタティック・ラッチ60
4とは対照的に、それがラッチ用のフィードバック・イ
ンバータ804を含むことである。このスタティック・
ラッチ機能は、ラッチ用のフィードバック・インバータ
804によって一部提供されるが、スタティック・ラッ
チ604(図13)によって提供される機能を達成する
ためには、ノード843によるNAND802とのある
程度の統合と、ノード840およびノード849による
トライステート信号の派生物との接続を必要とする。N
AND802は、ラッチ用のフィードバック・インバー
タ804と一緒に機能してスタティック・ラッチを形成
する。トライステート・クロック信号を使用可能にする
ことにより(tris_clkn=「0」)、ノード840およ
び849はどちらもハイになる。回路802および80
4は、一緒にスタティック・ラッチを形成するバックツ
ーバック・インバータになる。
【0032】回路804の場合、活動状態のNFET8
20がNFET821のソースをアースに結合する。P
FET822とNFET821は相俟ってインバータを
構成する。回路802の場合、PFET837は使用不
能になり、活動状態のNFET836がNFET835
のドレインをノード843に結合し、NFET835と
PFET838は相俟ってインバータを構成する。これ
に対して、トライステート・クロック信号を使用不能に
すると(tris_clkn=「1」)、ノード840および8
49がアースされ、それにより、回路804がハイ・イ
ンピーダンス状態に設定される。ノード843は活動状
態のPFET837によってVDDに駆動されるので、
PFET822は使用不能になる。この状態では回路8
04によってVDDへの経路は一切提供されない。さら
に、ノード849に接続されたそのゲートがアースされ
るので、NFETは使用不能になる。回路804はアー
スへの経路を一切提供しない。その結果、回路804は
ハイ・インピーダンス状態になる。
20がNFET821のソースをアースに結合する。P
FET822とNFET821は相俟ってインバータを
構成する。回路802の場合、PFET837は使用不
能になり、活動状態のNFET836がNFET835
のドレインをノード843に結合し、NFET835と
PFET838は相俟ってインバータを構成する。これ
に対して、トライステート・クロック信号を使用不能に
すると(tris_clkn=「1」)、ノード840および8
49がアースされ、それにより、回路804がハイ・イ
ンピーダンス状態に設定される。ノード843は活動状
態のPFET837によってVDDに駆動されるので、
PFET822は使用不能になる。この状態では回路8
04によってVDDへの経路は一切提供されない。さら
に、ノード849に接続されたそのゲートがアースされ
るので、NFETは使用不能になる。回路804はアー
スへの経路を一切提供しない。その結果、回路804は
ハイ・インピーダンス状態になる。
【0033】要約すると、NAND802は図15のハ
ーフ・スワッパ回路で2重の役割を果たす。これは、ラ
ッチ用のフィードバック・インバータ804とアース割
込みを備えたインバータ803の両方を部分的に使用不
能にし、両方の回路のハイ・インピーダンス状態の確立
を支援する。したがって、ラッチ・クロック信号(latc
h_clkn)とトライステート・クロック信号(tris_clk
n)の機能はハーフ・スワッパのこの実施形態で混ぜら
れる。ラッチ信号はパス・ゲート801を遮断し、電荷
と、その結果、一時的にノード842にある状態をトラ
ップする。しかし、ノード842に記憶された状態と、
その結果のラッチ信号を維持するために、トライステー
ト信号をアサートすることにより、正のフィードバック
を使用可能にしなければならない。システム・モードお
よびテスト・モードでは、この独特の関係を満足するた
めに、クロックを直交式に(補足的に)ゲートしなけれ
ばならない。
ーフ・スワッパ回路で2重の役割を果たす。これは、ラ
ッチ用のフィードバック・インバータ804とアース割
込みを備えたインバータ803の両方を部分的に使用不
能にし、両方の回路のハイ・インピーダンス状態の確立
を支援する。したがって、ラッチ・クロック信号(latc
h_clkn)とトライステート・クロック信号(tris_clk
n)の機能はハーフ・スワッパのこの実施形態で混ぜら
れる。ラッチ信号はパス・ゲート801を遮断し、電荷
と、その結果、一時的にノード842にある状態をトラ
ップする。しかし、ノード842に記憶された状態と、
その結果のラッチ信号を維持するために、トライステー
ト信号をアサートすることにより、正のフィードバック
を使用可能にしなければならない。システム・モードお
よびテスト・モードでは、この独特の関係を満足するた
めに、クロックを直交式に(補足的に)ゲートしなけれ
ばならない。
【0034】図16は、図15の回路簡略化を取り入れ
た駆動エンティティの第2の実施形態を示している。実
際に、下位回路970の回路トポロジは図15のハーフ
・スワッパのものと同じである。2つの回路の動作の微
妙な違いは、駆動エンティティ・ラッチがC1クロック
を受け取り、そのトライステート・ドライバがC2クロ
ックを受け取るのに対し、ハーフ・スワッパ・ラッチが
C2クロックを受け取り、そのトライステート・ドライ
バがC1クロックを受け取ることである。別個のシステ
ム・クロックにより、データは(図2に示すように)そ
のサイクル中の別々の時点でトライステート回路および
ラッチ回路を通って転送される。図14と同様、駆動エ
ンティティは「A」ポート971と任意選択のL2*ス
レーブ・ラッチ972を有し、どちらも走査テストに使
用する。図16では、L2*スレーブ・ラッチは、図1
4の割込み可能なフィードバック712ではなく、活動
状態のフィードバック912とともに示されている。
た駆動エンティティの第2の実施形態を示している。実
際に、下位回路970の回路トポロジは図15のハーフ
・スワッパのものと同じである。2つの回路の動作の微
妙な違いは、駆動エンティティ・ラッチがC1クロック
を受け取り、そのトライステート・ドライバがC2クロ
ックを受け取るのに対し、ハーフ・スワッパ・ラッチが
C2クロックを受け取り、そのトライステート・ドライ
バがC1クロックを受け取ることである。別個のシステ
ム・クロックにより、データは(図2に示すように)そ
のサイクル中の別々の時点でトライステート回路および
ラッチ回路を通って転送される。図14と同様、駆動エ
ンティティは「A」ポート971と任意選択のL2*ス
レーブ・ラッチ972を有し、どちらも走査テストに使
用する。図16では、L2*スレーブ・ラッチは、図1
4の割込み可能なフィードバック712ではなく、活動
状態のフィードバック912とともに示されている。
【0035】図17は、図15に示すハーフ・スワッパ
回路の第3の実施形態を示す回路図である。入力論理段
1000およびパス・ゲート1001は図15のもの
(800および801)と同じである。他の下位回路で
は、PFETおよびNFETゲート・トランジスタが相
互に交換されている。これらは、アース割込みを備えた
インバータ1003(803)とラッチ用のフィードバ
ック・インバータ1004(804)を含む。さらに、
下位回路NAND802はNOR1002になる。図1
7のように、わずかな回路トポロジ置換は、トライステ
ート・クロック信号およびトライステート制御ノード1
043を反転すること以外に、ハーフ・スワッパ回路の
主な機能を変更するようなことはほとんど行わない。ト
ライステート・クロック信号(tris_clkn)により、
(図15のノード840および849用のロー信号では
なく)ノード1040および1049上に駆動されたハ
イ信号がアース割込みを備えた出力インバータ1003
を強制的にハイ・インピーダンス状態にし、ラッチ用の
フィードバック・インバータ1004を使用不能にす
る。ノード1043は、NFET1022および103
4を使用不能にするトランジスタ1037によってアー
スに結合される。この状態では、「out_swap」またはノ
ード1042の場合にアースへの経路が一切存在しな
い。この同じノードについては、PFET1020およ
び1032がハイ電源VDDへの経路を切り離す。対照
的に、ノード1040および1049上に駆動されたロ
ー信号により、ノード1042に記憶された信号はラッ
チ用のフィードバック・インバータ1004によって提
供される正のフィードバックによりスタティックにラッ
チされるとともに、「out_swap」出力により追い出され
る。トライステート信号経路内のフェーズの変更のみに
より、図17は図15に示す回路と同じ機能を達成す
る。
回路の第3の実施形態を示す回路図である。入力論理段
1000およびパス・ゲート1001は図15のもの
(800および801)と同じである。他の下位回路で
は、PFETおよびNFETゲート・トランジスタが相
互に交換されている。これらは、アース割込みを備えた
インバータ1003(803)とラッチ用のフィードバ
ック・インバータ1004(804)を含む。さらに、
下位回路NAND802はNOR1002になる。図1
7のように、わずかな回路トポロジ置換は、トライステ
ート・クロック信号およびトライステート制御ノード1
043を反転すること以外に、ハーフ・スワッパ回路の
主な機能を変更するようなことはほとんど行わない。ト
ライステート・クロック信号(tris_clkn)により、
(図15のノード840および849用のロー信号では
なく)ノード1040および1049上に駆動されたハ
イ信号がアース割込みを備えた出力インバータ1003
を強制的にハイ・インピーダンス状態にし、ラッチ用の
フィードバック・インバータ1004を使用不能にす
る。ノード1043は、NFET1022および103
4を使用不能にするトランジスタ1037によってアー
スに結合される。この状態では、「out_swap」またはノ
ード1042の場合にアースへの経路が一切存在しな
い。この同じノードについては、PFET1020およ
び1032がハイ電源VDDへの経路を切り離す。対照
的に、ノード1040および1049上に駆動されたロ
ー信号により、ノード1042に記憶された信号はラッ
チ用のフィードバック・インバータ1004によって提
供される正のフィードバックによりスタティックにラッ
チされるとともに、「out_swap」出力により追い出され
る。トライステート信号経路内のフェーズの変更のみに
より、図17は図15に示す回路と同じ機能を達成す
る。
【0036】図18は、走査クロックおよびシステム・
クロックをゲートして、駆動エンティティおよびスワッ
パ内に再駆動するローカル・クロック・ブロックを示し
ている。スワッパおよび駆動エンティティは、ローカル
・クロック・ブロックを個別にカストマイズしている。
しかし、一般に、ローカル・クロック・ブロックは共通
の下位回路機能を有し、それは図18に示すように、タ
イミング制御要素1100と、シンクロナイザ1101
と、ローカル・クロック・ドライバ1102とを含む。
タイミング制御要素1100は、いずれかのラッチにタ
イミング調整信号を記憶するかまたはヒューズの援助に
よりその信号を永続的に維持する。「汎用タイミング用
のA走査クロック」と「汎用タイミング用のB走査クロ
ック」を使用して、「A」および「B」走査クロックが
テスト・ベクトルをシステム・ラッチ内にシフトインし
たときにタイミング調整データをタイミング制御要素1
100内にシフトインする。両方の走査連鎖の違いは、
タイミング制御ラッチの内容がシステム動作中に決して
変更されないことである。タイミング調整は、テストま
たはシステム動作が開始される前に設定され、システム
動作の全期間中、有効のままになり、その結果、データ
送出とデータ取込みなどの重要なタイミング間の一貫性
が保証される。タイミングは、システム・クロックがロ
ーカル・クロック・ドライバ1102内でゲートされる
たびに一度しか調整することができない。タイミング・
モード信号はローカル・クロック・ドライバに供給さ
れ、そこで「C1」クロックと「C2」クロックのタイ
ミング・クリティカル・エッジを調整するが、どちらの
クロックもグローバル・システム・クロックから導出さ
れる。
クロックをゲートして、駆動エンティティおよびスワッ
パ内に再駆動するローカル・クロック・ブロックを示し
ている。スワッパおよび駆動エンティティは、ローカル
・クロック・ブロックを個別にカストマイズしている。
しかし、一般に、ローカル・クロック・ブロックは共通
の下位回路機能を有し、それは図18に示すように、タ
イミング制御要素1100と、シンクロナイザ1101
と、ローカル・クロック・ドライバ1102とを含む。
タイミング制御要素1100は、いずれかのラッチにタ
イミング調整信号を記憶するかまたはヒューズの援助に
よりその信号を永続的に維持する。「汎用タイミング用
のA走査クロック」と「汎用タイミング用のB走査クロ
ック」を使用して、「A」および「B」走査クロックが
テスト・ベクトルをシステム・ラッチ内にシフトインし
たときにタイミング調整データをタイミング制御要素1
100内にシフトインする。両方の走査連鎖の違いは、
タイミング制御ラッチの内容がシステム動作中に決して
変更されないことである。タイミング調整は、テストま
たはシステム動作が開始される前に設定され、システム
動作の全期間中、有効のままになり、その結果、データ
送出とデータ取込みなどの重要なタイミング間の一貫性
が保証される。タイミングは、システム・クロックがロ
ーカル・クロック・ドライバ1102内でゲートされる
たびに一度しか調整することができない。タイミング・
モード信号はローカル・クロック・ドライバに供給さ
れ、そこで「C1」クロックと「C2」クロックのタイ
ミング・クリティカル・エッジを調整するが、どちらの
クロックもグローバル・システム・クロックから導出さ
れる。
【0037】シンクロナイザ1101は、「scan_enabl
e」のフェーズをグローバル・システム・クロックのフ
ェーズと合わせ、2つのばらばらなタイミング信号をま
とめて混ぜたときにグリッチの可能性を根絶する。「sc
an_enable」はローカル・クロック・ブロックを駆動し
て走査モード動作(scan_enable=1)またはシステム
・モード動作(scan_enable=0)のいずれかにする。
この特定の実施形態では、シンクロナイザは、ハイの活
動ゲート信号である「C2_and」信号と「C1_and」信号を
発生する。ローの「C2_and」とローの「C1_and」はロー
カル・クロック・ドライバ1102をシステム・モード
動作に設定する。「C2_and」信号と「C1_and」信号は異
なるフェーズ関係を有し、通常、約180度ずれている
(サイクル境界とサイクル中央クロック・エッジとの関
係による)。scan_enable信号の状態に応じて、各ゲー
ト信号はサイクル時間の整数倍の間、持続する可能性が
あり、信号持続時間はサイクル時間のN倍に相当する
(N=1、2、3、・・・)。
e」のフェーズをグローバル・システム・クロックのフ
ェーズと合わせ、2つのばらばらなタイミング信号をま
とめて混ぜたときにグリッチの可能性を根絶する。「sc
an_enable」はローカル・クロック・ブロックを駆動し
て走査モード動作(scan_enable=1)またはシステム
・モード動作(scan_enable=0)のいずれかにする。
この特定の実施形態では、シンクロナイザは、ハイの活
動ゲート信号である「C2_and」信号と「C1_and」信号を
発生する。ローの「C2_and」とローの「C1_and」はロー
カル・クロック・ドライバ1102をシステム・モード
動作に設定する。「C2_and」信号と「C1_and」信号は異
なるフェーズ関係を有し、通常、約180度ずれている
(サイクル境界とサイクル中央クロック・エッジとの関
係による)。scan_enable信号の状態に応じて、各ゲー
ト信号はサイクル時間の整数倍の間、持続する可能性が
あり、信号持続時間はサイクル時間のN倍に相当する
(N=1、2、3、・・・)。
【0038】図19は、シンクロナイザの概略実施を示
している。インバータ1200は、「scan_enable」信
号が透過でなければならない時間中にラッチ1201
(たとえば、パス・ゲート・ラッチ)を上書きするのに
十分なローカル信号強度を有することを保証するため
に、シンクロナイザの概略図に含まれている。インバー
タ1203および1204は、「C1_and」信号と「C2_a
nd」信号に関する改良された駆動機構と正しいフェーズ
を提供する。ラッチ1201および1202は、グロー
バル・クロックの同相バージョンと違相バージョンによ
ってそれぞれクロックされる。各ラッチは、図18のロ
ーカル・クロック・ドライバ1102内で発生されたC
2パルスまたはC1パルスに関連し、それを補償するも
のである。ただし、ハイの「scan_enable」により「C1_
and」と「C2_and」がどちらも最終的にハイになること
に留意されたい。ハイの「scan_enable」はローカルの
C1クロックとC2クロックをオフにゲートするので、
走査モード中に「A」クロックおよび「B」クロックと
衝突することはない。この特定の設計ではグローバル・
システム・クロックが自走状態のままであり、「scan_e
nable」信号の状態が動作モードを定義する。クロック
とラッチの組合せは、「scan_enable」がハイであると
きにデフォルトで走査モード動作になり、「scan_enabl
e」信号がローであるときにシステム・モード動作にな
る。「scan_enable」とともに走査クロック(「A」ク
ロックと「B」クロック)をアサートすると、システム
・クロック(または「C」クロック)と走査クロック
(「A」クロックと「B」クロック)の間の直交性が維
持されることが保証される。
している。インバータ1200は、「scan_enable」信
号が透過でなければならない時間中にラッチ1201
(たとえば、パス・ゲート・ラッチ)を上書きするのに
十分なローカル信号強度を有することを保証するため
に、シンクロナイザの概略図に含まれている。インバー
タ1203および1204は、「C1_and」信号と「C2_a
nd」信号に関する改良された駆動機構と正しいフェーズ
を提供する。ラッチ1201および1202は、グロー
バル・クロックの同相バージョンと違相バージョンによ
ってそれぞれクロックされる。各ラッチは、図18のロ
ーカル・クロック・ドライバ1102内で発生されたC
2パルスまたはC1パルスに関連し、それを補償するも
のである。ただし、ハイの「scan_enable」により「C1_
and」と「C2_and」がどちらも最終的にハイになること
に留意されたい。ハイの「scan_enable」はローカルの
C1クロックとC2クロックをオフにゲートするので、
走査モード中に「A」クロックおよび「B」クロックと
衝突することはない。この特定の設計ではグローバル・
システム・クロックが自走状態のままであり、「scan_e
nable」信号の状態が動作モードを定義する。クロック
とラッチの組合せは、「scan_enable」がハイであると
きにデフォルトで走査モード動作になり、「scan_enabl
e」信号がローであるときにシステム・モード動作にな
る。「scan_enable」とともに走査クロック(「A」ク
ロックと「B」クロック)をアサートすると、システム
・クロック(または「C」クロック)と走査クロック
(「A」クロックと「B」クロック)の間の直交性が維
持されることが保証される。
【0039】図5、図7、図10、図11に示すような
ローカル・クロック信号は、ローカル・クロック・ドラ
イバ内で発生される。両方向データ経路の要求に適合す
るようにグローバル「A」、「B」、「C」(システ
ム)クロックを変更できるのはこのようなドライバ内で
ある。たとえば、走査モード動作中にラッチまたはトラ
イステート・ドライバに達しないようにシステム・クロ
ックを使用不能にするためにクロック・ゲーティングを
使用することができる。クロックORを使用すると、図
9、図10、図11に指定した「C2orB」信号などのグ
ローバル・クロックの組合せを発生することができる。
さらに、システム・クロックの場合には、ローカル・レ
ベルでタイミング調整を行って、サイクル・スチーリン
グ(マシン・サイクル時間を改善するために使用す
る)、クロック・ストレス(製造テスト中の潜在的な短
経路問題をふるい落とすために実行する)、タイミング
・リリーフ(クロック・スキューなど未知の数量から発
生する予期せぬ短経路問題を修正するために使用する)
を使用可能にすることができる。
ローカル・クロック信号は、ローカル・クロック・ドラ
イバ内で発生される。両方向データ経路の要求に適合す
るようにグローバル「A」、「B」、「C」(システ
ム)クロックを変更できるのはこのようなドライバ内で
ある。たとえば、走査モード動作中にラッチまたはトラ
イステート・ドライバに達しないようにシステム・クロ
ックを使用不能にするためにクロック・ゲーティングを
使用することができる。クロックORを使用すると、図
9、図10、図11に指定した「C2orB」信号などのグ
ローバル・クロックの組合せを発生することができる。
さらに、システム・クロックの場合には、ローカル・レ
ベルでタイミング調整を行って、サイクル・スチーリン
グ(マシン・サイクル時間を改善するために使用す
る)、クロック・ストレス(製造テスト中の潜在的な短
経路問題をふるい落とすために実行する)、タイミング
・リリーフ(クロック・スキューなど未知の数量から発
生する予期せぬ短経路問題を修正するために使用する)
を使用可能にすることができる。
【0040】図20は、駆動エンティティ用のローカル
・クロック・ドライバの概略図である。システム・モー
ドでは、グローバル・システム・クロックは4つの反転
段階1301、1302、1303、1304を通って
伝搬し、出力C1_latで非反転パルスを発生し、同様に4
つの反転段階1305、1306、1307、1308
を通って出力C2n_triで非反転パルスを発生する。この
特定の実施形態では、グローバル・クロックの立下りが
新しいサイクルの開始を示す。出力C1_latでのロー遷移
により、駆動エンティティのL1ラッチがホールド状態
に設定される。また、出力C2n_triでのロー遷移によ
り、駆動エンティティのL2トライステート・ドライバ
がハイ透過状態に設定される。したがって、グローバル
・クロックの立下りは、マスタ/スレーブ(L1/L2
の対)サイクル境界ラッチの場合とほぼ同じように、L
1ラッチ内でのデータのラッチとL2トライステート・
ドライバからのデータの送出をトリガする。クロック・
ドライバ内の反転段階は、第1に利得、第2にクロック
・ゲーティング、第3に信号ステアリング/経路指定
(タイミング調整)という3通りの目的に使用すること
ができる。
・クロック・ドライバの概略図である。システム・モー
ドでは、グローバル・システム・クロックは4つの反転
段階1301、1302、1303、1304を通って
伝搬し、出力C1_latで非反転パルスを発生し、同様に4
つの反転段階1305、1306、1307、1308
を通って出力C2n_triで非反転パルスを発生する。この
特定の実施形態では、グローバル・クロックの立下りが
新しいサイクルの開始を示す。出力C1_latでのロー遷移
により、駆動エンティティのL1ラッチがホールド状態
に設定される。また、出力C2n_triでのロー遷移によ
り、駆動エンティティのL2トライステート・ドライバ
がハイ透過状態に設定される。したがって、グローバル
・クロックの立下りは、マスタ/スレーブ(L1/L2
の対)サイクル境界ラッチの場合とほぼ同じように、L
1ラッチ内でのデータのラッチとL2トライステート・
ドライバからのデータの送出をトリガする。クロック・
ドライバ内の反転段階は、第1に利得、第2にクロック
・ゲーティング、第3に信号ステアリング/経路指定
(タイミング調整)という3通りの目的に使用すること
ができる。
【0041】走査モードでは、C1_latのクロック・ゲー
ティングは、NAND1303と結合されたインバータ
1309によって実施される。「C1_and」がハイである
場合、必ず「C1_lat」出力は強制的にローになり、それ
によりL1ラッチのシステム・ポートが使用不能にな
る。自走グローバル・システム・クロックは決してロー
カル・クロック・ドライバを貫通しない。これに対し
て、L1ラッチの走査ポートは依然として使用可能であ
る。「A」クロックと「B」クロックは、グローバル・
システム・クロックとの衝突を招かずに、走査レジスタ
を通ってデータをシフトすることができる。データ保全
性は保持される。このLSSD方式では暗黙のクロック
の直交性により、ロバスト・テストが保証される。
ティングは、NAND1303と結合されたインバータ
1309によって実施される。「C1_and」がハイである
場合、必ず「C1_lat」出力は強制的にローになり、それ
によりL1ラッチのシステム・ポートが使用不能にな
る。自走グローバル・システム・クロックは決してロー
カル・クロック・ドライバを貫通しない。これに対し
て、L1ラッチの走査ポートは依然として使用可能であ
る。「A」クロックと「B」クロックは、グローバル・
システム・クロックとの衝突を招かずに、走査レジスタ
を通ってデータをシフトすることができる。データ保全
性は保持される。このLSSD方式では暗黙のクロック
の直交性により、ロバスト・テストが保証される。
【0042】引き続き図20に関して説明すると、駆動
エンティティ用のローカル・クロック・ドライバ内の信
号ステアリングにより、ローカル「C1」および「C
2」クロック・エッジでタイミング調整を行うことがで
きる。破線1340および1341は、クロック・ドラ
イバを通って入力「clkg」から出力「c1_lat」まで代替
経路をたどる。経路はこの回路を通る「clkg」の立下り
の進捗状況をたどるだけである。というのは、駆動エン
ティティのL1ラッチがデータを取り込む時期と、駆動
エンティティのトライステート・ドライバがまったく同
じデータを送出する時期をそれが支配するからである。
タイミング・モード信号「clk_modea」は、所与の時点
で1340または1341のどちらの経路が選択される
かを決定する。様々な経路の遅延は、ストレス、サイク
ル・スチーリング、リリーフ・モードなどの様々なタイ
ミング・モードをサポートするように配置することがで
きる。「clk_modea」がローに設定されると、「clkg」
の立下りによって開始される信号は経路1341をたど
る。NAND1311へのローの制御入力により、それ
はNAND1302の「a」入力へのハイの非制御入力
を駆動し、それが経路1341に沿って移動する信号へ
のインバータとして現れるようにする。経路1341は
経路1340より少ない論理段階を通り抜け、したがっ
て、経路1341は1340より短い待ち時間を有す
る。通常動作では、クロック回路の全体的なスキューも
最小限になるようにクロック経路に沿った回路遅延を最
小限にすることが望ましい。診断モードおよび製造テス
ト・モードの場合、すべての動作条件下ですべてのクロ
ック回路に関して妥当なタイミング・マージンが存在す
ることを保証するために、マージン・テストが開発され
た。経路1340はマージン・テストに使用し、L1ラ
ッチの取込みエッジを遅延させることにより、駆動エン
ティティに供給する論理回路およびラッチ(図12のコ
ンポーネント570、571、573、572を参照)
の短経路タイミングにストレスを加える働きをする。
エンティティ用のローカル・クロック・ドライバ内の信
号ステアリングにより、ローカル「C1」および「C
2」クロック・エッジでタイミング調整を行うことがで
きる。破線1340および1341は、クロック・ドラ
イバを通って入力「clkg」から出力「c1_lat」まで代替
経路をたどる。経路はこの回路を通る「clkg」の立下り
の進捗状況をたどるだけである。というのは、駆動エン
ティティのL1ラッチがデータを取り込む時期と、駆動
エンティティのトライステート・ドライバがまったく同
じデータを送出する時期をそれが支配するからである。
タイミング・モード信号「clk_modea」は、所与の時点
で1340または1341のどちらの経路が選択される
かを決定する。様々な経路の遅延は、ストレス、サイク
ル・スチーリング、リリーフ・モードなどの様々なタイ
ミング・モードをサポートするように配置することがで
きる。「clk_modea」がローに設定されると、「clkg」
の立下りによって開始される信号は経路1341をたど
る。NAND1311へのローの制御入力により、それ
はNAND1302の「a」入力へのハイの非制御入力
を駆動し、それが経路1341に沿って移動する信号へ
のインバータとして現れるようにする。経路1341は
経路1340より少ない論理段階を通り抜け、したがっ
て、経路1341は1340より短い待ち時間を有す
る。通常動作では、クロック回路の全体的なスキューも
最小限になるようにクロック経路に沿った回路遅延を最
小限にすることが望ましい。診断モードおよび製造テス
ト・モードの場合、すべての動作条件下ですべてのクロ
ック回路に関して妥当なタイミング・マージンが存在す
ることを保証するために、マージン・テストが開発され
た。経路1340はマージン・テストに使用し、L1ラ
ッチの取込みエッジを遅延させることにより、駆動エン
ティティに供給する論理回路およびラッチ(図12のコ
ンポーネント570、571、573、572を参照)
の短経路タイミングにストレスを加える働きをする。
【0043】同様に、通常動作中にローの「clk_mode
b」は、駆動エンティティのトライステート・ドライバ
によりデータを送出するのに要する時間を最小限にす
る。「clkg」の立下り事象は、経路1343に沿ってイ
ンバータ1305,NAND1306、インバータ13
07、インバータ1308を通り、出力「c2n_tri」ま
で進む。これは、図3のトライステート・ドライバ10
1を最終的にトリガして、バス・ワイヤ・セグメント1
03上にデータを駆動する。「clk_modeb」がハイであ
る場合、「clkg」の立下り事象はクロック・ドライバを
通る代替ルートを通り抜ける。経路1342はバス・セ
グメント110上へのデータの送出を遅延させ、マスタ
/スレーブ取込みラッチ111で短経路問題が持ち上が
った場合にタイミング・リリーフを行う。明らかなこと
に、クロック・ストレス・モードおよび短経路回復モー
ドを処理するようにクロック・ドライバ設計を適合させ
ることができる。
b」は、駆動エンティティのトライステート・ドライバ
によりデータを送出するのに要する時間を最小限にす
る。「clkg」の立下り事象は、経路1343に沿ってイ
ンバータ1305,NAND1306、インバータ13
07、インバータ1308を通り、出力「c2n_tri」ま
で進む。これは、図3のトライステート・ドライバ10
1を最終的にトリガして、バス・ワイヤ・セグメント1
03上にデータを駆動する。「clk_modeb」がハイであ
る場合、「clkg」の立下り事象はクロック・ドライバを
通る代替ルートを通り抜ける。経路1342はバス・セ
グメント110上へのデータの送出を遅延させ、マスタ
/スレーブ取込みラッチ111で短経路問題が持ち上が
った場合にタイミング・リリーフを行う。明らかなこと
に、クロック・ストレス・モードおよび短経路回復モー
ドを処理するようにクロック・ドライバ設計を適合させ
ることができる。
【0044】図21は、スワッパ用のローカル・クロッ
ク・ドライバの概略図である。通常時には、グローバル
・クロックは経路1441に沿って3つの反転段階14
01、1402、1403を通って伝搬して出力C2_lat
で反転パルスを発生し、同様に、経路1443に沿って
3つの反転段階1404、1405、1406を通って
伝搬して出力C1n_triで反転パルスを発生する。図21
は、図20と同じタイミング・モードをすべてサポート
する。2つの回路の違いは、図21では「clkg」の立上
りで動作するのに対し、図20では「clkg」の立下りで
動作することである。駆動エンティティとスワッパはど
ちらも、データを取り込んで直ちにそれをバス・ワイヤ
・セグメント上に再駆動するというそれぞれのタイミン
グ・クリティカル動作を行う。経路1440はストレス
・テスト・モードをもたらす。経路1442は潜在的な
短経路問題に対するタイミング・リリーフを行う。一方
のハーフ・スワッパは、同じノードに付加されているが
反対方向にデータを駆動するもう一方のハーフ・スワッ
パがまったく同じバス・セグメント上でのデータの取込
みを完了する前に、新しいデータをバス・ワイヤ・セグ
メント上に駆動する。
ク・ドライバの概略図である。通常時には、グローバル
・クロックは経路1441に沿って3つの反転段階14
01、1402、1403を通って伝搬して出力C2_lat
で反転パルスを発生し、同様に、経路1443に沿って
3つの反転段階1404、1405、1406を通って
伝搬して出力C1n_triで反転パルスを発生する。図21
は、図20と同じタイミング・モードをすべてサポート
する。2つの回路の違いは、図21では「clkg」の立上
りで動作するのに対し、図20では「clkg」の立下りで
動作することである。駆動エンティティとスワッパはど
ちらも、データを取り込んで直ちにそれをバス・ワイヤ
・セグメント上に再駆動するというそれぞれのタイミン
グ・クリティカル動作を行う。経路1440はストレス
・テスト・モードをもたらす。経路1442は潜在的な
短経路問題に対するタイミング・リリーフを行う。一方
のハーフ・スワッパは、同じノードに付加されているが
反対方向にデータを駆動するもう一方のハーフ・スワッ
パがまったく同じバス・セグメント上でのデータの取込
みを完了する前に、新しいデータをバス・ワイヤ・セグ
メント上に駆動する。
【0045】図4および図5に示すテスト方式を実施す
るハードウェア・インフラストラクチャの詳細は以下の
図を含むことになるだろう。すなわち、図13または図
15のハーフ・スワッパ、図14の駆動エンティティ、
図20の駆動エンティティ用のローカル・クロック・ド
ライバ、図21のスワッパ用のローカル・クロック・ド
ライバを含み、どちらのドライバも図18に示すように
シンクロナイザおよびタイミング制御要素と統合され
る。図22は、同期両方向データ転送経路のロバスト・
タイミングおよびテストに使用する「scan_enable」な
どのすべてのクロック信号、内部クロック対話、モード
制御ビットを示している。ただし、両方向データ経路が
システム・モードであるか走査モードであるかにかかわ
らず、C1_tristate_Driver信号とC2_tristate_Driver信
号は必ず補足的であることに留意されたい。これによ
り、トライステート・ドライバの競合が防止され、すな
わち、一方のトライステート・ドライバがバス・ワイヤ
を強制的にVDDに接続し、もう一方のトライステート
・ドライバがそれをアースに駆動する。
るハードウェア・インフラストラクチャの詳細は以下の
図を含むことになるだろう。すなわち、図13または図
15のハーフ・スワッパ、図14の駆動エンティティ、
図20の駆動エンティティ用のローカル・クロック・ド
ライバ、図21のスワッパ用のローカル・クロック・ド
ライバを含み、どちらのドライバも図18に示すように
シンクロナイザおよびタイミング制御要素と統合され
る。図22は、同期両方向データ転送経路のロバスト・
タイミングおよびテストに使用する「scan_enable」な
どのすべてのクロック信号、内部クロック対話、モード
制御ビットを示している。ただし、両方向データ経路が
システム・モードであるか走査モードであるかにかかわ
らず、C1_tristate_Driver信号とC2_tristate_Driver信
号は必ず補足的であることに留意されたい。これによ
り、トライステート・ドライバの競合が防止され、すな
わち、一方のトライステート・ドライバがバス・ワイヤ
を強制的にVDDに接続し、もう一方のトライステート
・ドライバがそれをアースに駆動する。
【0046】当業者であれば、特許請求の範囲の精神お
よび範囲内の変更とともに本発明を実施できることが分
かるだろう。
よび範囲内の変更とともに本発明を実施できることが分
かるだろう。
【0047】まとめとして、本発明の構成に関して以下
の事項を開示する。
の事項を開示する。
【0048】(1)両方向データを同期的に交換するた
めの回路において、相互にデータを送受するためにバス
に接続された少なくとも2つの駆動エンティティであっ
て、前記少なくとも2つの駆動エンティティのそれぞれ
が走査テスト・ベクトルを受け取るためのスキャンイン
・ポートを有するマスタ・ラッチを含む少なくとも2つ
の駆動エンティティと、前記少なくとも2つの駆動エン
ティティ間の接続点で前記バスに電気的に接続されたス
ワッパ回路であって、前記バス上で反対方向に同時に移
動するデータを取り込み、前記取り込んだデータを前記
バス上に戻してデータの衝突を回避するためのスワッパ
回路と、受け取ったデータを取り込むために前記バスの
一方の端部にある取込みラッチとを含む回路。 (2)前記マスタ・ラッチの出力に接続された入力を有
するスレーブ・ラッチであって、走査テスト・ベクトル
を出力するためにスキャンアウト・ポートを有するスレ
ーブ・ラッチをさらに含む、上記(1)に記載の両方向
データを同期的に交換するための回路。 (3)前記少なくとも2つの駆動エンティティが、前記
マスタ・ラッチからのデータ出力を前記バス上に駆動す
るために前記マスタ・ラッチに接続されたトライステー
ト回路を含む、上記(1)に記載の両方向データを同期
的に交換するための回路。 (4)前記スワッパ回路が、前記バス上で一方向に移動
するデータ用の経路を提供するために前記バスに接続さ
れた第1のラッチとトライステート回路の対と、前記バ
ス上で反対方向に移動するデータ用の経路を提供するた
めに前記バスに接続された第2のラッチとトライステー
ト回路の対とを含む、上記(1)に記載の両方向データ
を同期的に交換するための回路。 (5)前記スワッパ回路の前記第1のラッチと前記第2
のラッチが、システム・クロックと走査クロックを受け
取るように接続される、上記(2)に記載の両方向デー
タを同期的に交換するための回路。 (6)両方向データを同期的に交換するための複数の前
記回路がまとめて接続され、第1の回路の前記スキャン
アウト・ポートが第2の回路のスキャンイン・ポートに
接続される、上記(2)に記載の両方向データを同期的
に交換するための回路。 (7)両方向データを同期的に交換するための回路にお
いて、相互にデータを送受するためにバスに接続された
少なくとも2つの駆動エンティティであって、前記少な
くとも2つの駆動エンティティのそれぞれが走査テスト
・ベクトルを受け取るためのスキャンイン・ポートと前
記バスに接続されたデータ出力ポートとを有するマスタ
・ラッチを含む少なくとも2つの駆動エンティティと、
前記少なくとも2つの駆動エンティティ間の接続点で前
記バスに電気的に接続されたスワッパ回路であって、前
記バス上で反対方向に同時に移動するデータを取り込
み、前記取り込んだデータを前記バス上に戻してデータ
の衝突を回避するためのスワッパ回路と、受け取ったデ
ータを取り込むために前記バスの一方の端部にある取込
みラッチとを含み、両方向データを同期的に交換するた
めの複数の前記回路がまとめて接続されて少なくとも1
つの走査連鎖を形成する回路。 (8)走査テスト・ベクトルを出力するためのスキャン
アウト・ポートを有する走査専用ラッチをさらに含み、
前記マスタ・ラッチの出力が前記走査専用ラッチの入力
に接続されて前記少なくとも1つの走査連鎖を形成す
る、上記(7)に記載の両方向データを同期的に交換す
るための回路。 (9)前記マスタ・ラッチのデータ出力ポートが次のマ
スタ・ラッチの前記スキャンイン・ポートに接続され、
前記少なくとも1つの走査連鎖が前記マスタ・ラッチと
スワッパ回路の1つずつを交互に通ることにより前後に
ジグザグに進む、上記(7)に記載の両方向データを同
期的に交換するための回路。 (10)前記少なくとも2つの駆動エンティティが、前
記マスタ・ラッチからのデータ出力を前記バス上に駆動
するために前記マスタ・ラッチに接続されたトライステ
ート回路を含む、上記(7)に記載の両方向データを同
期的に交換するための回路。 (11)前記スワッパ回路が、前記バス上で一方向に移
動するデータ用の経路を提供するために前記バスに接続
された第1のラッチとトライステート回路の対と、前記
バス上で反対方向に移動するデータ用の経路を提供する
ために前記バスに接続された第2のラッチとトライステ
ート回路の対とを含む、上記(7)に記載の両方向デー
タを同期的に交換するための回路。 (12)前記第1のラッチとトライステート回路の対
と、前記第2のラッチとトライステート回路の対が、シ
ステム・クロックと走査クロックを受け取るように接続
される、上記(11)に記載の両方向データを同期的に
交換するための回路。 (13)両方向データを同期的に交換するための回路を
走査テストするための方法において、相互にデータを送
受するためにバスに接続された少なくとも2つの駆動エ
ンティティを設け、前記少なくとも2つの駆動エンティ
ティのそれぞれがスキャンイン・ポートを有するマスタ
・ラッチを含むステップと、前記少なくとも2つの駆動
エンティティ間の接続点で前記バスにスワッパ回路を電
気的に接続し、前記スワッパ回路が前記バス上で反対方
向に同時に移動するデータを取り込み、前記取り込んだ
データを前記バス上に戻してデータの衝突を回避するス
テップと、受け取ったデータを取り込むために前記バス
の一方の端部に取込みラッチを接続するステップと、前
記マスタ・ラッチの出力に接続されたスレーブ・ラッチ
を接続し、前記スレーブ・ラッチが走査テスト・ベクト
ルを出力するためにスキャンアウト・ポートを有するス
テップと、前記駆動エンティティ、前記スワッパ、前記
取込みラッチ、前記スレーブ・ラッチを複数の同期クロ
ックに接続するステップと、走査テスト・ベクトルを前
記スキャンイン・ポートに入力するステップと、前記同
期クロックの1つが複数のテスト・パターンの1つにつ
いて前記回路を通って前記走査テスト・ベクトルを移動
できるようにするステップと、前記スキャンアウト・ポ
ートからデータ出力を読み取るステップとを含む方法。 (14)前記テスト・パターンが、X方向からY方向な
らびにY方向からX方向の一方に前記走査テスト・ベク
トルを移動させる単一方向テスト・パターンである、上
記(13)に記載の両方向データを同期的に交換するた
めの回路を走査テストするための方法。 (15)前記テスト・パターンが、X方向からY方向に
第1の走査テスト・ベクトルを移動させ、Y方向からX
方向に第2の走査テスト・ベクトルを移動させる両方向
テスト・パターンである、上記(13)に記載の両方向
データを同期的に交換するための回路を走査テストする
ための方法。 (16)複数の前記回路がまとめて直列に接続されるよ
うに、両方向データを同期的に交換するために前記スキ
ャンアウト・ポートを前記回路のうちの次の回路のスキ
ャンイン・ポートに接続するステップをさらに含む、上
記(13)に記載の両方向データを同期的に交換するた
めの回路を走査テストするための方法。 (17)前記テスト・パターンが「S」テスト・パター
ンと「Z」テスト・パターンの一方である、上記(1
6)に記載の両方向データを同期的に交換するための回
路を走査テストするための方法。
めの回路において、相互にデータを送受するためにバス
に接続された少なくとも2つの駆動エンティティであっ
て、前記少なくとも2つの駆動エンティティのそれぞれ
が走査テスト・ベクトルを受け取るためのスキャンイン
・ポートを有するマスタ・ラッチを含む少なくとも2つ
の駆動エンティティと、前記少なくとも2つの駆動エン
ティティ間の接続点で前記バスに電気的に接続されたス
ワッパ回路であって、前記バス上で反対方向に同時に移
動するデータを取り込み、前記取り込んだデータを前記
バス上に戻してデータの衝突を回避するためのスワッパ
回路と、受け取ったデータを取り込むために前記バスの
一方の端部にある取込みラッチとを含む回路。 (2)前記マスタ・ラッチの出力に接続された入力を有
するスレーブ・ラッチであって、走査テスト・ベクトル
を出力するためにスキャンアウト・ポートを有するスレ
ーブ・ラッチをさらに含む、上記(1)に記載の両方向
データを同期的に交換するための回路。 (3)前記少なくとも2つの駆動エンティティが、前記
マスタ・ラッチからのデータ出力を前記バス上に駆動す
るために前記マスタ・ラッチに接続されたトライステー
ト回路を含む、上記(1)に記載の両方向データを同期
的に交換するための回路。 (4)前記スワッパ回路が、前記バス上で一方向に移動
するデータ用の経路を提供するために前記バスに接続さ
れた第1のラッチとトライステート回路の対と、前記バ
ス上で反対方向に移動するデータ用の経路を提供するた
めに前記バスに接続された第2のラッチとトライステー
ト回路の対とを含む、上記(1)に記載の両方向データ
を同期的に交換するための回路。 (5)前記スワッパ回路の前記第1のラッチと前記第2
のラッチが、システム・クロックと走査クロックを受け
取るように接続される、上記(2)に記載の両方向デー
タを同期的に交換するための回路。 (6)両方向データを同期的に交換するための複数の前
記回路がまとめて接続され、第1の回路の前記スキャン
アウト・ポートが第2の回路のスキャンイン・ポートに
接続される、上記(2)に記載の両方向データを同期的
に交換するための回路。 (7)両方向データを同期的に交換するための回路にお
いて、相互にデータを送受するためにバスに接続された
少なくとも2つの駆動エンティティであって、前記少な
くとも2つの駆動エンティティのそれぞれが走査テスト
・ベクトルを受け取るためのスキャンイン・ポートと前
記バスに接続されたデータ出力ポートとを有するマスタ
・ラッチを含む少なくとも2つの駆動エンティティと、
前記少なくとも2つの駆動エンティティ間の接続点で前
記バスに電気的に接続されたスワッパ回路であって、前
記バス上で反対方向に同時に移動するデータを取り込
み、前記取り込んだデータを前記バス上に戻してデータ
の衝突を回避するためのスワッパ回路と、受け取ったデ
ータを取り込むために前記バスの一方の端部にある取込
みラッチとを含み、両方向データを同期的に交換するた
めの複数の前記回路がまとめて接続されて少なくとも1
つの走査連鎖を形成する回路。 (8)走査テスト・ベクトルを出力するためのスキャン
アウト・ポートを有する走査専用ラッチをさらに含み、
前記マスタ・ラッチの出力が前記走査専用ラッチの入力
に接続されて前記少なくとも1つの走査連鎖を形成す
る、上記(7)に記載の両方向データを同期的に交換す
るための回路。 (9)前記マスタ・ラッチのデータ出力ポートが次のマ
スタ・ラッチの前記スキャンイン・ポートに接続され、
前記少なくとも1つの走査連鎖が前記マスタ・ラッチと
スワッパ回路の1つずつを交互に通ることにより前後に
ジグザグに進む、上記(7)に記載の両方向データを同
期的に交換するための回路。 (10)前記少なくとも2つの駆動エンティティが、前
記マスタ・ラッチからのデータ出力を前記バス上に駆動
するために前記マスタ・ラッチに接続されたトライステ
ート回路を含む、上記(7)に記載の両方向データを同
期的に交換するための回路。 (11)前記スワッパ回路が、前記バス上で一方向に移
動するデータ用の経路を提供するために前記バスに接続
された第1のラッチとトライステート回路の対と、前記
バス上で反対方向に移動するデータ用の経路を提供する
ために前記バスに接続された第2のラッチとトライステ
ート回路の対とを含む、上記(7)に記載の両方向デー
タを同期的に交換するための回路。 (12)前記第1のラッチとトライステート回路の対
と、前記第2のラッチとトライステート回路の対が、シ
ステム・クロックと走査クロックを受け取るように接続
される、上記(11)に記載の両方向データを同期的に
交換するための回路。 (13)両方向データを同期的に交換するための回路を
走査テストするための方法において、相互にデータを送
受するためにバスに接続された少なくとも2つの駆動エ
ンティティを設け、前記少なくとも2つの駆動エンティ
ティのそれぞれがスキャンイン・ポートを有するマスタ
・ラッチを含むステップと、前記少なくとも2つの駆動
エンティティ間の接続点で前記バスにスワッパ回路を電
気的に接続し、前記スワッパ回路が前記バス上で反対方
向に同時に移動するデータを取り込み、前記取り込んだ
データを前記バス上に戻してデータの衝突を回避するス
テップと、受け取ったデータを取り込むために前記バス
の一方の端部に取込みラッチを接続するステップと、前
記マスタ・ラッチの出力に接続されたスレーブ・ラッチ
を接続し、前記スレーブ・ラッチが走査テスト・ベクト
ルを出力するためにスキャンアウト・ポートを有するス
テップと、前記駆動エンティティ、前記スワッパ、前記
取込みラッチ、前記スレーブ・ラッチを複数の同期クロ
ックに接続するステップと、走査テスト・ベクトルを前
記スキャンイン・ポートに入力するステップと、前記同
期クロックの1つが複数のテスト・パターンの1つにつ
いて前記回路を通って前記走査テスト・ベクトルを移動
できるようにするステップと、前記スキャンアウト・ポ
ートからデータ出力を読み取るステップとを含む方法。 (14)前記テスト・パターンが、X方向からY方向な
らびにY方向からX方向の一方に前記走査テスト・ベク
トルを移動させる単一方向テスト・パターンである、上
記(13)に記載の両方向データを同期的に交換するた
めの回路を走査テストするための方法。 (15)前記テスト・パターンが、X方向からY方向に
第1の走査テスト・ベクトルを移動させ、Y方向からX
方向に第2の走査テスト・ベクトルを移動させる両方向
テスト・パターンである、上記(13)に記載の両方向
データを同期的に交換するための回路を走査テストする
ための方法。 (16)複数の前記回路がまとめて直列に接続されるよ
うに、両方向データを同期的に交換するために前記スキ
ャンアウト・ポートを前記回路のうちの次の回路のスキ
ャンイン・ポートに接続するステップをさらに含む、上
記(13)に記載の両方向データを同期的に交換するた
めの回路を走査テストするための方法。 (17)前記テスト・パターンが「S」テスト・パター
ンと「Z」テスト・パターンの一方である、上記(1
6)に記載の両方向データを同期的に交換するための回
路を走査テストするための方法。
【図1】本発明による同期両方向データ回路のブロック
図である。
図である。
【図2】図1の様々な内部ノードにおけるデータ信号の
到着を示すタイミング図である。
到着を示すタイミング図である。
【図3】クロック表記を示す、図1の同期両方向データ
回路のブロック図である。
回路のブロック図である。
【図4】両方向テスト用の構成を示すブロック図であ
る。
る。
【図5】両方向テスト用のクロック状態を示す表であ
る。
る。
【図6】単一方向テスト用の構成を示すブロック図であ
る。
る。
【図7】単一方向テスト用のクロック状態を示す表であ
る。
る。
【図8】図4、図6、図7に示すテストを行う走査機能
テスト用の構成を示すブロック図である。
テスト用の構成を示すブロック図である。
【図9】L2*ラッチが除去された状態の図3に示す同
期両方向データ回路のブロック図である。
期両方向データ回路のブロック図である。
【図10】X−Yの転送方向用のクロック・ゲーティン
グを示す表である。
グを示す表である。
【図11】Y−Xの転送方向用のクロック・ゲーティン
グを示す表である。
グを示す表である。
【図12】汎用論理回路によって囲まれた両方向データ
経路回路を示すブロック図であり、近隣論理回路のテス
トを可能にするために両方向データ回路がどのように走
査インタフェースを提供するかを説明するためのブロッ
ク図である。
経路回路を示すブロック図であり、近隣論理回路のテス
トを可能にするために両方向データ回路がどのように走
査インタフェースを提供するかを説明するためのブロッ
ク図である。
【図13】ハーフスワッパを示す回路図である。
【図14】駆動エンティティを示す回路図である。
【図15】ハーフ・スワッパ回路の第2の実施形態を示
す回路図である。
す回路図である。
【図16】駆動エンティティの第2の実施形態を示す回
路図である。
路図である。
【図17】PFETゲーティング・トランジスタを有す
るハーフ・スワッパ用の第3の実施形態を示す回路図で
ある。
るハーフ・スワッパ用の第3の実施形態を示す回路図で
ある。
【図18】走査およびシステム・クロックをゲートして
駆動エンティティおよびスワッパ内に再駆動するローカ
ル・クロック・ブロックのブロック図である。
駆動エンティティおよびスワッパ内に再駆動するローカ
ル・クロック・ブロックのブロック図である。
【図19】同期装置の回路図である。
【図20】駆動エンティティ用のローカル・クロック・
ドライバの回路図である。
ドライバの回路図である。
【図21】スワッパ用のローカル・クロック・ドライバ
の回路図である。
の回路図である。
【図22】本発明による同期両方向データ転送経路のロ
バスト・タイミングおよびテストに使用する「scan_ena
ble」など、すべてのクロック信号、内部クロック対
話、モード制御ビットのタイミング図である。
バスト・タイミングおよびテストに使用する「scan_ena
ble」など、すべてのクロック信号、内部クロック対
話、モード制御ビットのタイミング図である。
100 L1ラッチ
101 トライステート回路
102 スレーブL2*ラッチ
103 第1のバス・ワイヤ・セグメント
104 L1/L2ラッチ
105 スワッパ
106 第1のL2ラッチ
107 トライステート回路
108 トライステート回路
109 第2のL2ラッチ
110 第2のバス・ワイヤ・セグメント
111 L1/L2ラッチ
112 トライステート回路
113 L1ラッチ
114 スレーブL2*ラッチ
115 駆動エンティティX
116 駆動エンティティY
─────────────────────────────────────────────────────
フロントページの続き
(72)発明者 ブライアン・ジェイ・ロビンズ
アメリカ合衆国12601 ニューヨーク州
ポーキープシー アントワネット・アベ
ニュー 30
(72)発明者 ウィリアム・アール・レオール
アメリカ合衆国10463 ニューヨーク州
ブロンクス キャポック・ストリート
629 アパートメント4ディー
(56)参考文献 特開 平4−174375(JP,A)
実開 昭60−47061(JP,U)
(58)調査した分野(Int.Cl.7,DB名)
G06F 11/22 - 11/26
G06F 13/36
G06F 13/38
G01R 31/28
JICSTファイル(JOIS)
Claims (19)
- 【請求項1】データ入力、該データ入力に接続されたラ
ッチ及び該ラッチに接続されたデータ出力を有する第1
駆動エンティティと、 第1端子及び第2端子を有し、更に、前記第1端子及び
前記第2端子の間に接続され前記第1端子からのデータ
をラッチし該ラッチしたデータを前記第2端子に送り出
す第1回路と、前記第2端子及び前記第1端子の間に接
続され前記第2端子からのデータをラッチし該ラッチし
たデータを前記第1端子に送り出す第2回路を有し、前
記第1端子が前記第1駆動エンティティのデータ出力に
接続されているスワッパ回路と、 データ入力、該データ入力に接続されたラッチ及び該ラ
ッチに接続されたデータ出力を有し、該データ出力が前
記スワッパ回路の第2端子に接続されている第2駆動エ
ンティティと、 前記スワッパ回路の前記第1端子に接続され、該第1端
子からデータを受け取る第1取り込みラッチと、 前記スワッパ回路の前記第2端子に接続され、該第2端
子からデータを受け取る第2取り込みラッチとを備え、 前記第1駆動エンティティの前記データ出力から前記ス
ワッパ回路の前記第1回路にデータをラッチすると同時
に、前記第2駆動エンティティの前記データ出力から前
記スワッパ回路の前記第2回路にデータをラッチし、前
記スワッパ回路の前記第1回路から前記第2端子にデー
タを送り出すと同時に、前記スワッパ回路の前記第2回
路から前記第1端子にデータを送り出すことを特徴とす
る両方向データを同期的に交換する回路。 - 【請求項2】両方向データを同期的に交換する回路であ
って、走査テスト・ベクトルを受け取るためのスキャンイン・
ポート及びデータ入力を有するマスタ・ラッチを含み、
更にデータ出力を有する第1駆動エンティティと、 第1端子及び第2端子を有し、更に、前記第1端子及び
前記第2端子の間に接 続され前記第1端子からのデータ
をラッチし該ラッチしたデータを前記第2端子に送り出
す第1回路と、前記第2端子及び前記第1端子の間に接
続され前記第2端子からのデータをラッチし該ラッチし
たデータを前記第1端子に送り出す第2回路を有し、前
記第1端子が前記第1駆動エンティティのデータ出力に
接続されているスワッパ回路と、 走査テスト・ベクトルを受け取るためのスキャンイン・
ポート及びデータ入力を有するマスタ・ラッチを含み、
更にデータ出力を有する第2駆動エンティティであっ
て、前記データ出力が前記スワッパ回路の前記第2端子
に接続されている第2駆動エンティティと、 前記スワッパ回路の前記第1端子に接続され、該第1端
子からデータを受け取る第1取り込みラッチと、 前記スワッパ回路の前記第2端子に接続され、該第2端
子からデータを受け取る第2取り込みラッチとを備え、 前記第1駆動エンティティの前記データ出力から前記ス
ワッパ回路の前記第1回路にデータをラッチすると同時
に、前記第2駆動エンティティの前記データ出力から前
記スワッパ回路の前記第2回路にデータをラッチし、前
記スワッパ回路の前記第1回路から前記第2端子にデー
タを送り出すと同時に、前記スワッパ回路の前記第2回
路から前記第1端子にデータを送り出すことを特徴とす
る両方向データを同期的に交換する回路 。 - 【請求項3】前記マスタ・ラッチの出力に接続された入
力を有し、前記マスタ・ラッチから受け取った走査テス
ト・ベクトルを出力するためのスキャンアウト・ポート
を有するスレーブ・ラッチをさらに含む、請求項2に記
載の両方向データを同期的に交換する回路。 - 【請求項4】前記第1駆動エンティティが前記マスタ・
ラッチに接続されたトライステート回路を有し、該トラ
イステート回路が前記マスタ・ラッチからのデータを前
記データ出力に送り出し、前記第2駆動エンティティが
前記マスタ・ラッチに接続されたトライステート回路を
有し、該トライステート回路が前記マスタ・ラッチか ら
のデータを前記データ出力に送り出す、請求項2に記載
の両方向データを同期的に交換する回路。 - 【請求項5】前記スワッパ回路の第1回路が、 前記第1端子及び前記第2端子の間で直列に接続された
ラッチ及びトライステート回路を有し、前記第1端子か
ら前記第2端子に向かう方向のデータ経路を与え、 前記スワッパ回路の第2回路が、 前記第2端子及び前記第1端子の間で直列に接続された
ラッチ及びトライステート回路を有し、前記第2端子か
ら前記第1端子に向かう方向のデータ経路を与える 、請
求項2に記載の両方向データを同期的に交換する回路。 - 【請求項6】(イ)走査テスト・ベクトルを受け取るた
めのスキャンイン・ポート及びデータ入力を有するマス
タ・ラッチを含み、更にスキャンアウト・ポート及びデ
ータ出力を有する第1駆動エンティティと、 (ロ)第1端子及び第2端子を有し、更に、前記第1端
子及び前記第2端子の間に接続され前記第1端子からの
データをラッチし該ラッチしたデータを前記第2端子に
送り出す第1回路と、前記第2端子及び前記第1端子の
間に接続され前記第2端子からのデータをラッチし該ラ
ッチしたデータを前記第1端子に送り出す第2回路を有
し、前記第1端子が前記第1駆動エンティティのデータ
出力に接続されているスワッパ回路と、 (ハ)走査テスト・ベクトルを受け取るためのスキャン
イン・ポート及びデータ入力を有するマスタ・ラッチを
含み、更にスキャンアウト・ポート及びデータ出力を有
する第2駆動エンティティであって、前記データ出力が
前記スワッパ回路の前記第2端子に接続されている第2
駆動エンティティと、 (ニ)前記スワッパ回路の前記第1端子に接続され、該
第1端子からデータを受け取る第1取り込みラッチと、 (ホ)前記スワッパ回路の前記第2端子に接続され、該
第2端子からデータを受け取る第2取り込みラッチとを
備え、 (ヘ)前記第1駆動エンティティの前記データ出力から
前記スワッパ回路の前記第1回路にデータをラッチする
と同時に、前記第2駆動エンティティの前記データ出力
から前記スワッパ回路の前記第2回路にデータをラッチ
し、前記スワッパ回路の前記第1回路から前記第2端子
にデータを送り出すと同時に、前記スワッパ回路の前記
第2回路から前記第1端子にデータを送り出すことを特
徴とする両方向データを同期的に交換する交換回路が、
複数個互いに隣接して配置されており、 1つの交換回路の前記第1駆動エンティティのスキャン
アウト・ポートをこの1つの交換回路に隣接する次の交
換回路の第1駆動エンティティのスキャンイン・ポート
に接続し、前記1つの交換回路の前記第2駆動エンティ
ティのスキャンアウト・ポートをこの1つの交換回路に
隣接する前記次の交換回路の第2駆動エンティティのス
キャンイン・ポートに接続するように制御する制御手段
を備えることを特徴とする集積回路チップ。 - 【請求項7】前記マスタ・ラッチの出力に接続された入
力を有し、前記マスタ・ラッチから受け取った走査テス
ト・ベクトルを出力するためのスキャンアウト・ポート
を有するスレーブ・ラッチを前記第1駆動エンティティ
及び前記第2駆動エンティティが含む、請求項6に記載
の集積回路チップ。 - 【請求項8】前記第1駆動エンティティが前記マスタ・
ラッチに接続されたトライステート回路を有し、該トラ
イステート回路が前記マスタ・ラッチからのデータを前
記データ出力に送り出し、前記第2駆動エンティティが
前記マスタ・ラッチに接続されたトライステート回路を
有し、該トライステート回路が前記マスタ・ラッチから
のデータを前記データ出力に送り出す、請求項6に記載
の集積回路チップ。 - 【請求項9】前記スワッパ回路の第1回路が、 前記第1端子及び前記第2端子の間で直列に接続された
ラッチ及びトライステート回路を有し、前記第1端子か
ら前記第2端子に向かう方向のデータ経路を与え、 前記スワッパ回路の第2回路が、 前記第2端子及び前記第1端子の間で直列に接続された
ラッチ及びトライステート回路を有し、前記第2端子か
ら前記第1端子に向かう方向のデータ経路を与える、請
求項6に記載の集積回路チップ。 - 【請求項10】(イ)走査テスト・ベクトルを受け取る
ためのスキャンイン・ポート及びデータ入力を有するマ
スタ・ラッチを含み、更にスキャンアウト・ポート及び
データ出力を有する第1駆動エンティティと、 (ロ)第1端子及び第2端子を有し、更に、前記第1端
子及び前記第2端子の間に接続され前記第1端子からの
データをラッチし該ラッチしたデータを前記第2端子に
送り出す第1回路と、前記第2端子及び前記第1端子の
間に接続され前記第2端子からのデータをラッチし該ラ
ッチしたデータを前記第1端子に送り出す第2回路を有
し、前記第1端子が前記第1駆動エンティティのデータ
出力に接続されているスワッパ回路と、 (ハ)走査テスト・ベクトルを受け取るためのスキャン
イン・ポート及びデータ入力を有するマスタ・ラッチを
含み、更にスキャンアウト・ポート及びデータ出力を有
する第2駆動エンティティであって、前記データ出力が
前記スワッパ回路の前記第2端子に接続されている第2
駆動エンティティと、 (ニ)前記スワッパ回路の前記第1端子に接続され、該
第1端子からデータを受け取る第1取り込みラッチと、 (ホ)前記スワッパ回路の前記第2端子に接続され、該
第2端子からデータを受け取る第2取り込みラッチとを
備え、 (ヘ)前記第1駆動エンティティの前記データ出力から
前記スワッパ回路の前記第1回路にデータをラッチする
と同時に、前記第2駆動エンティティの前記データ出力
から前記スワッパ回路の前記第2回路にデータをラッチ
し、前記スワッパ回路の前記第1回路から前記第2端子
にデータを送り出すと同時に、前記スワッパ回路の前記
第2回路から前記第1端子にデータを送り出すことを特
徴とする両方向データを同期的に交換する交換回路が、
複数個互いに隣接して配置されており、 前記複数個のうち奇数番目の交換回路の前記スワッパ回
路の前記第2端子をこの奇数番目の交換回路に隣接する
偶数番目の交換回路の前記第2エンティティの前記スキ
ャンイン・ポートに接続し、前記偶数番目の交換回路の
前記スワッパ回路の前記第1端子をこの偶数番目の交換
回路に隣接する奇数番目の交換回路の前記第1エンティ
ティの前記スキャンイン・ポートに接続し、前記複数個
の交換回路のうち最後の交換回路の前記スワッパ回路の
前記第1端子に、スキャン・アウトMUXを接続するよ
うに制御する制御手段を備えることを特徴とする集積回
路チップ。 - 【請求項11】前記マスタ・ラッチの出力に接続された
入力を有し、前記マスタ・ラッチから受け取った走査テ
スト・ベクトルを出力するためのスキャンアウト・ポー
トを有するスレーブ・ラッチを前記第1駆動エンティテ
ィ及び前記第2駆動エンティティが含む、請求項10に
記載の集積回路チップ。 - 【請求項12】前記第1駆動エンティティが前記マスタ
・ラッチに接続されたトライステート回路を有し、該ト
ライステート回路が前記マスタ・ラッチからのデータを
前記データ出力に送り出し、前記第2駆動エンティティ
が前記マスタ・ラッチに接続されたトライステート回路
を有し、該トライステート回路が前記マスタ・ラッチか
らのデータを前記データ出力に送り出す、請求項10に
記載の集積回路チップ。 - 【請求項13】前記スワッパ回路の第1回路が、 前記第1端子及び前記第2端子の間で直列に接続された
ラッチ及びトライステート回路を有し、前記第1端子か
ら前記第2端子に向かう方向のデータ経路を与え、 前記スワッパ回路の第2回路が、 前記第2端子及び前記第1端子の間で直列に接続された
ラッチ及びトライステート回路を有し、前記第2端子か
ら前記第1端子に向かう方向のデータ経路を与える、請
求項10に記載の集積回路チップ。 - 【請求項14】(イ)走査テスト・ベクトルを受け取る
ためのスキャンイン・ポート及びデータ入力を有するマ
スタ・ラッチを含み、更にスキャンアウト・ポート及び
データ出力を有する第1駆動エンティティと、 (ロ)第1端子及び第2端子を有し、更に、前記第1端
子及び前記第2端子の間に接続され前記第1端子からの
データをラッチし該ラッチしたデータを前記第2端子に
送り出す第1回路と、前記第2端子及び前記第1端子の
間に接続され前記第2端子からのデータをラッチし該ラ
ッチしたデータを前記第1端子に送り出す第2回路を有
し、前記第1端子が前記第1駆動エンティティのデータ
出力に接続されているスワッパ回路と、 (ハ)走査テスト・ベクトルを受け取るためのスキャン
イン・ポート及びデータ入力を有するマスタ・ラッチを
含み、更にスキャンアウト・ポート及びデータ出力を有
する第2駆動エンティティであって、前記データ出力が
前記スワッパ回路の前記第2端子に接続されている第2
駆動エンティティと、 (ニ)前記スワッパ回路の前記第1端子に接続され、該
第1端子からデータを受け取る第1取り込みラッチと、 (ホ)前記スワッパ回路の前記第2端子に接続され、該
第2端子からデータを受け取る第2取り込みラッチとを
備え、 (ヘ)前記第1駆動エンティティの前記データ出力から
前記スワッパ回路の前記第1回路にデータをラッチする
と同時に、前記第2駆動エンティティの前記データ出力
から前記スワッパ回路の前記第2回路にデータをラッチ
し、前記スワッパ回路の前記第1回路から前記第2端子
にデータを送り出すと同時に、前記スワッパ回路の前記
第2回路から前記第1端子にデータを送り出すことを特
徴とする両方向データを同期的に交換する交換回路が、
複数個互いに隣接して配置されている集積回路チップの
前記交換回路をテストする方法であって、 (a)1つの交換回路の前記第1駆動エンティティのス
キャンイン・ポートと前記1つの交換回路の前記第2駆
動エンティティのスキャンイン・ポートにテスト・パタ
ーンをそれぞれ供給するステップと、 (b)前記テスト・パターンが前記複数個の交換回路の
前記第1駆動エンティティを順番に通過するように、前
記1つの交換回路と残りの交換回路の前記第1 駆動エン
ティティ同士を接続する第1の走査連鎖を形成すると共
に、前記テスト・パターンが前記複数個の交換回路の前
記第2駆動エンティティを順番に通過するように、前記
1つの交換回路と残りの交換回路の前記第2駆動エンテ
ィティ同士を接続する第2の走査連鎖を形成するステッ
プと、 (c)それぞれの交換回路の前記第1駆動エンティティ
から前記テスト・パターンを前記スワッパ回路を経て前
記第2取り込みラッチに送り該第2取り込みラッチの内
容を読み取ると共に、それぞれの交換回路の前記第2駆
動エンティティから前記テスト・パターンを前記スワッ
パ回路を経て前記第1取り込みラッチに送り該第1取り
込みラッチの内容を読み取るステップとを含む交換回路
のテスト方法。 - 【請求項15】前記マスタ・ラッチの出力に接続された
入力を有し、前記マスタ・ラッチから受け取った走査テ
スト・ベクトルを出力するためのスキャンアウト・ポー
トを有するスレーブ・ラッチを前記第1駆動エンティテ
ィ及び前記第2駆動エンティティが含む、請求項14に
記載の交換回路のテスト方法。 - 【請求項16】前記第1駆動エンティティが前記マスタ
・ラッチに接続されたトライステート回路を有し、該ト
ライステート回路が前記マスタ・ラッチからのデータを
前記データ出力に送り出し、前記第2駆動エンティティ
が前記マスタ・ラッチに接続されたトライステート回路
を有し、該トライステート回路が前記マスタ・ラッチか
らのデータを前記データ出力に送り出す、請求項14に
記載の交換回路のテスト方法。 - 【請求項17】前記スワッパ回路の第1回路が、 前記第1端子及び前記第2端子の間で直列に接続された
ラッチ及びトライステート回路を有し、前記第1端子か
ら前記第2端子に向かう方向のデータ経路を与え、 前記スワッパ回路の第2回路が、 前記第2端子及び前記第1端子の間で直列に接続された
ラッチ及びトライステ ート回路を有し、前記第2端子か
ら前記第1端子に向かう方向のデータ経路を与える、請
求項14に記載の交換回路のテスト方法。 - 【請求項18】(イ)走査テスト・ベクトルを受け取る
ためのスキャンイン・ポート及びデータ入力を有するマ
スタ・ラッチを含み、更にスキャンアウト・ポート及び
データ出力を有する第1駆動エンティティと、 (ロ)第1端子及び第2端子を有し、更に、前記第1端
子及び前記第2端子の間に接続され前記第1端子からの
データをラッチし該ラッチしたデータを前記第2端子に
送り出す第1回路と、前記第2端子及び前記第1端子の
間に接続され前記第2端子からのデータをラッチし該ラ
ッチしたデータを前記第1端子に送り出す第2回路を有
し、前記第1端子が前記第1駆動エンティティのデータ
出力に接続されているスワッパ回路と、 (ハ)走査テスト・ベクトルを受け取るためのスキャン
イン・ポート及びデータ入力を有するマスタ・ラッチを
含み、更にスキャンアウト・ポート及びデータ出力を有
する第2駆動エンティティであって、前記データ出力が
前記スワッパ回路の前記第2端子に接続されている第2
駆動エンティティと、 (ニ)前記スワッパ回路の前記第1端子に接続され、該
第1端子からデータを受け取る第1取り込みラッチと、 (ホ)前記スワッパ回路の前記第2端子に接続され、該
第2端子からデータを受け取る第2取り込みラッチとを
備え、 (ヘ)前記第1駆動エンティティの前記データ出力から
前記スワッパ回路の前記第1回路にデータをラッチする
と同時に、前記第2駆動エンティティの前記データ出力
から前記スワッパ回路の前記第2回路にデータをラッチ
し、前記スワッパ回路の前記第1回路から前記第2端子
にデータを送り出すと同時に、前記スワッパ回路の前記
第2回路から前記第1端子にデータを送り出すことを特
徴とする両方向データを同期的に交換する交換回路が、
複数個互いに隣接して配置されている集積回路チップの
前記交換回路をテストする方法であって、 (a)1つの交換回路の前記第1駆動エンティティのス
キャンイン・ポートにテスト・パターンを供給するステ
ップと、 (b)前記テスト・パターンが前記複数個の交換回路の
前記第1駆動エンティティを順番に通過するように、前
記1つの交換回路と残りの交換回路の前記第1駆動エン
ティティ同士を接続する走査連鎖を形成するステップ
と、 (c)それぞれの交換回路の前記第1駆動エンティティ
から前記テスト・パターンを前記スワッパ回路を経て前
記第2取り込みラッチに送り該第2取り込みラッチの内
容を読み取るステップとを含む交換回路のテスト方法。 - 【請求項19】(イ)走査テスト・ベクトルを受け取る
ためのスキャンイン・ポート及びデータ入力を有するマ
スタ・ラッチを含み、更にスキャンアウト・ポート及び
データ出力を有する第1駆動エンティティと、 (ロ)第1端子及び第2端子を有し、更に、前記第1端
子及び前記第2端子の間に接続され前記第1端子からの
データをラッチし該ラッチしたデータを前記第2端子に
送り出す第1回路と、前記第2端子及び前記第1端子の
間に接続され前記第2端子からのデータをラッチし該ラ
ッチしたデータを前記第1端子に送り出す第2回路を有
し、前記第1端子が前記第1駆動エンティティのデータ
出力に接続されているスワッパ回路と、 (ハ)走査テスト・ベクトルを受け取るためのスキャン
イン・ポート及びデータ入力を有するマスタ・ラッチを
含み、更にスキャンアウト・ポート及びデータ出力を有
する第2駆動エンティティであって、前記データ出力が
前記スワッパ回路の前記第2端子に接続されている第2
駆動エンティティと、 (ニ)前記スワッパ回路の前記第1端子に接続され、該
第1端子からデータを受け取る第1取り込みラッチと、 (ホ)前記スワッパ回路の前記第2端子に接続され、該
第2端子からデータを受け取る第2取り込みラッチとを
備え、 (ヘ)前記第1駆動エンティティの前記データ出力から
前記スワッパ回路の前記第1回路にデータをラッチする
と同時に、前記第2駆動エンティティの前記データ出力
から前記スワッパ回路の前記第2回路にデータをラッチ
し、前記スワッパ回路の前記第1回路から前記第2端子
にデータを送り出すと同時に、前記スワッパ回路の前記
第2回路から前記第1端子にデータを送り出すことを特
徴とする 両方向データを同期的に交換する交換回路が、
複数個互いに隣接して配置されている集積回路チップの
前記交換回路をテストする方法であって、 (a)1つの交換回路の前記第1駆動エンティティのス
キャンイン・ポートにテスト・パターンを供給するステ
ップと、 (b)前記テスト・パターンが、前記奇数番目の前記ス
ワッパ回路をこれの前記第1端子から前記第2端子に向
かう方向に通過し、前記偶数番目の前記スワッパ回路を
これの前記第2端子から前記第1端子に向かう方向に通
過するように、前記複数個のうち奇数番目の交換回路の
前記スワッパ回路の前記第2端子をこの奇数番目の交換
回路に隣接する偶数番目の交換回路の前記第2エンティ
ティの前記スキャンイン・ポートに接続し、前記偶数番
目の交換回路の前記スワッパ回路の前記第1端子をこの
偶数番目の交換回路に隣接する奇数番目の交換回路の前
記第1エンティティの前記スキャンイン・ポートに接続
するステップと、 (c)前記複数個の交換回路のうち最後の交換回路の前
記スワッパ回路の前記第1端子に、スキャン・アウトM
UXを接続するステップとを含む交換回路のテスト方
法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/313261 | 1999-05-18 | ||
US09/313,261 US6990076B1 (en) | 1999-05-18 | 1999-05-18 | Synchronous bi-directional data transfer having increased bandwidth and scan test features |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000357108A JP2000357108A (ja) | 2000-12-26 |
JP3437950B2 true JP3437950B2 (ja) | 2003-08-18 |
Family
ID=23215011
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000144762A Expired - Fee Related JP3437950B2 (ja) | 1999-05-18 | 2000-05-17 | 双方向データを同期的に交換する回路、この回路を含む集積回路チップ及びテスト方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6990076B1 (ja) |
JP (1) | JP3437950B2 (ja) |
KR (1) | KR20010014876A (ja) |
TW (1) | TW480861B (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005026966A1 (ja) * | 2003-09-08 | 2005-03-24 | Fujitsu Limited | レジスタファイル及びその記憶素子 |
US20080088631A1 (en) * | 2003-11-19 | 2008-04-17 | Reuven Bakalash | Multi-mode parallel graphics rendering and display system supporting real-time detection of scene profile indices programmed within pre-profiled scenes of the graphics-based application |
JP2007512613A (ja) * | 2003-11-19 | 2007-05-17 | ルシッド インフォメーション テクノロジー リミテッド | Pcバス上の多重3−dグラフィックパイプラインのための方法およびシステム |
US7266742B1 (en) * | 2004-04-06 | 2007-09-04 | Cisco Technology, Inc. | Method and apparatus for generating a local scan enable signal to test circuitry in a die |
US20050273677A1 (en) * | 2004-06-04 | 2005-12-08 | Arm Limited | Circuit and method for storing a signal using a latch shared between operational and diagnostic paths |
US7761748B2 (en) * | 2005-06-09 | 2010-07-20 | Sony Computer Entertainment Inc. | Methods and apparatus for managing clock skew between clock domain boundaries |
US7487487B1 (en) * | 2008-04-01 | 2009-02-03 | International Business Machines Corporation | Design structure for monitoring cross chip delay variation on a semiconductor device |
US7729182B2 (en) * | 2008-09-03 | 2010-06-01 | Micron Technology, Inc. | Systems and methods for issuing address and data signals to a memory array |
US10156607B2 (en) * | 2016-04-21 | 2018-12-18 | Taiwan Semiconductor Manufacturing Co., Ltd. | Bidirectional scan chain structure and method |
US11041906B2 (en) * | 2019-04-19 | 2021-06-22 | Siemens Industry Software Inc. | Optimized scan chain diagnostic pattern generation for reversible scan architecture |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5862152A (en) * | 1995-11-13 | 1999-01-19 | Motorola, Inc. | Hierarchically managed boundary-scan testable module and method |
US5978419A (en) * | 1997-06-24 | 1999-11-02 | Sun Microsystems, Inc. | Transmitter and receiver circuits for high-speed parallel digital data transmission link |
US6008821A (en) * | 1997-10-10 | 1999-12-28 | International Business Machines Corporation | Embedded frame buffer system and synchronization method |
US6014036A (en) * | 1997-11-20 | 2000-01-11 | International Business Machines Corporation | Bidirectional data transfer path having increased bandwidth |
US6256760B1 (en) * | 1998-11-13 | 2001-07-03 | Nortel Networks Limited | Automatic test equipment scan test enhancement |
-
1999
- 1999-05-18 US US09/313,261 patent/US6990076B1/en not_active Expired - Fee Related
-
2000
- 2000-05-08 KR KR1020000024315A patent/KR20010014876A/ko active IP Right Grant
- 2000-05-17 JP JP2000144762A patent/JP3437950B2/ja not_active Expired - Fee Related
- 2000-06-09 TW TW089109255A patent/TW480861B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
TW480861B (en) | 2002-03-21 |
KR20010014876A (ko) | 2001-02-26 |
US6990076B1 (en) | 2006-01-24 |
JP2000357108A (ja) | 2000-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2626920B2 (ja) | スキャンテスト回路およびそれを用いた半導体集積回路装置 | |
US5719878A (en) | Scannable storage cell and method of operation | |
US5717700A (en) | Method for creating a high speed scan-interconnected set of flip-flop elements in an integrated circuit to enable faster scan-based testing | |
JP3587248B2 (ja) | スキャン用フリップフロップ | |
US5654658A (en) | Flip-flop circuit and electronic device including the flip-flop circuit | |
JP3151391B2 (ja) | 集積回路テスト用ローカル・クロック発生/分配回路 | |
US5870411A (en) | Method and system for testing self-timed circuitry | |
JP2725258B2 (ja) | 集積回路装置 | |
KR100416208B1 (ko) | 코어 주파수의 기분수를 포함하는 주파수에서의 소스 동기전송을 위한 방법 및 장치 | |
WO1999063354A1 (en) | Edge-triggered scan flip-flop and one-pass scan synthesis methodology | |
JPH05273311A (ja) | 論理集積回路 | |
JP3437950B2 (ja) | 双方向データを同期的に交換する回路、この回路を含む集積回路チップ及びテスト方法 | |
JPH0664546B2 (ja) | 検査システムの動作方法 | |
US8117579B2 (en) | LSSD compatibility for GSD unified global clock buffers | |
US6815977B2 (en) | Scan cell systems and methods | |
US5748645A (en) | Clock scan design from sizzle global clock and method therefor | |
US5457698A (en) | Test circuit having a plurality of scan latch circuits | |
TWI221926B (en) | A multi-time domain logic system and related method | |
US6052811A (en) | Method and apparatus for locating critical speed paths in integrated circuits using JTAG protocol | |
JPH04232699A (ja) | 遅延試験能力を有する走査可能なレジスタ | |
US20060156124A1 (en) | Boundary scan apparatus and interconnect test method | |
JPH1074400A (ja) | シフト・レジスタ | |
US6986089B2 (en) | Power reduction in scannable D-flip-flop with synchronous preset or clear | |
JP2937326B2 (ja) | 論理回路のテスト容易化回路 | |
JPH09243705A (ja) | 半導体論理集積回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |