(57)【特許請求の範囲】
【請求項１】
入力ピンおよび出力ピンと、
前記入力ピンおよび出力ピンに接続することができ、所定の機能を実行するように構成された動作ロジックと、
前記入力ピンに接続することができ、前記入力ピンの状態に基づいてテスト期間を開始するように構成され、およびテスト期間中に、前記入力ピンの状態を、記憶デバイスに記録するように構成されたテスト制御ロジックと、
を備える集積回路。
【請求項２】
前記テスト制御ロジックは、前記入力ピンの状態が所定の状態に一致すると、前記テスト期間を開始するように構成されている、請求項１に記載の集積回路。
【請求項３】
前記テスト制御ロジックは、前記所定の状態を定めるプログラム可能な手段を有する、請求項２に記載の集積回路。
【請求項４】
前記テスト制御ロジックは、テスト・コントローラに接続することができ、前記テスト・コントローラは、Ｉ２  ＣおよびＪＴＡＧを含むバス・プロトコルから選択された通信バス・プロトコルにより、前記テスト制御ロジックをプログラムできる、請求項１に記載の集積回路。
【請求項５】
前記テスト制御ロジックの一部は、システム・クロックによってドライブされ、前記システム・クロックは、テスト期間中、テスト出力信号がシステム・クロックの周波数で変移するように、前記動作ロジックをドライブする、請求項１に記載の集積回路。
【請求項６】
前記テスト制御ロジックは、テスト期間中、チップ・ディセーブル（ＣＤ）信号をアサートするように構成され、および前記動作ロジックは、前記ＣＤ信号を受信し、前記ＣＤ信号がアサートされると、リセット状態になるように構成される、請求項１に記載の集積回路。
【請求項７】
前記テスト制御ロジックは、前記集積回路が送信デバイスとして指定されると、前記出力ピンに接続することのできる一組のテスト出力信号を生成するように構成されている、請求項１に記載の集積回路。
【請求項８】
前記テスト出力信号は、前記集積回路のシステム・クロックによって定められるクロック周波数で変移する、請求項７に記載の集積回路。
【請求項９】
前記テスト出力信号は、一組の可能なテスト出力状態間で変移し、前記可能なテスト出力状態は、所定のパターン，前記所定のパターンの反転，オール０パターン，オール１パターンよりなる、請求項７に記載の集積回路。
【請求項１０】
前記テスト出力信号は、前記集積回路が受信デバイスとして指定されると、マスキング・パターンを与え、前記マスキング・パターンは、前記テスト期間を開始することのできる前記集積回路の入力ピンを指示する、請求項１に記載の集積回路。
【請求項１１】
入力ピンおよび出力ピンと、前記入力ピンおよび出力ピンに接続することができ、所定の機能を実行するように構成された動作ロジックと、前記入力ピンに接続することができ、前記入力ピンの状態に基づいてテスト期間を開始するように構成され、およびテスト期間中に、前記入力ピンの状態を、記憶デバイスに記録するように構成されたテスト制御ロジックとを有する第１の集積回路と、
入力ピンおよび出力ピンと、前記入力ピンおよび出力ピンに接続することができ、所定の機能を実行するように構成された動作ロジックと、前記出力ピンに接続することができ、ユーザがプログラムできる一組のテスト出力信号を生成するように構成されたテスト制御ロジックを有する第２の集積回路とを備え、
前記第２の集積回路の出力ピンの少なくとも一部を、前記第１の集積回路の入力ピンの少なくとも一部に接続する、電子システム。
【請求項１２】
前記第１の集積回路のテスト制御ロジックは、前記入力ピンの状態が所定の状態に一致すると、前記テスト期間を開始するように構成されている、請求項１１に記載の電子システム。
【請求項１３】
前記テスト制御ロジックは、前記所定の状態を定めるプログラム可能な手段を有する、請求項１２に記載の電子システム。
【請求項１４】
前記第１および第２の集積回路のテスト制御ロジックに接続することのできるテスト・コントローラをさらに備え、前記テスト・コントローラは、テスト・コントローラのユーザが、前記第１の集積回路の所定の状態と前記第２の集積回路によって生成される一組の出力信号とをプログラムできるように構成されている、請求項１１に記載の電子システム。
【請求項１５】
前記テスト・コントローラは、Ｉ２  ＣおよびＪＴＡＧから選択された通信バス・プロトコルにより、前記集積回路と通信する、請求項１４に記載の電子システム。
【請求項１６】
前記第１および第２の集積回路のテスト制御ロジックの一部は、システム・クロックによってドライブされ、前記システム・クロックは、テスト期間中、前記第２の集積回路のテスト出力信号および前記第１の集積回路のテスト入力信号がシステム・クロックの周波数で変移するように、前記動作ロジックをドライブする、請求項１１に記載の電子システム。
【請求項１７】
前記テスト制御ロジックは、テスト期間中、チップ・ディセーブル（ＣＤ）信号をアサートするように構成され、および前記動作ロジックは、前記ＣＤ信号を受信し、前記ＣＤ信号がアサートされると、リセット状態になるように構成される、請求項１１に記載の電子システム。
【請求項１８】
前記第１および第２の集積回路は、プリント回路基板に取付けられる、請求項１１に記載の電子システム。
【請求項１９】
前記テスト出力信号は、一組の可能なテスト出力状態間で変移し、前記可能なテスト出力状態は、所定のパターン，前記所定のパターンの反転，オール０パターン，オール１パターンを含む、請求項１１に記載の電子システム。
【請求項２０】
集積回路のテスト方法であって、
前記集積回路の入力ピンに所定の状態を与えるステップと、
前記入力ピンの所定の状態に応じて、前記入力ピンの状態が前記集積回路の動作周波数で変移するテスト期間を開始するステップと、
前記テスト期間中に、前記入力ピンの状態を、記憶デバイスに記録するステップと、
を含む集積回路のテスト方法。
【請求項２１】
前記入力ピンに所定の状態を与える前に、前記所定の状態を、前記集積回路のプログラマブル・ポートにプログラミングするステップをさらに含む、請求項２０に記載の集積回路のテスト方法。
【請求項２２】
前記テスト期間が終了した後に、前記記憶デバイスから前記入力ピンの記録状態を検索するステップをさらに含む、請求項２０に記載の集積回路のテスト方法。
【請求項２３】
前記集積回路の入力ピンに所定の状態を与えるステップは、第２の集積回路の出力ピンに一組の出力信号を生成するステップを含み、
前記第２の集積回路の出力ピンの少なくとも一部を、第１の集積回路の入力ピンの少なくとも一部に接続する、請求項２０に記載の集積回路のテスト方法。
【請求項２４】
前記第１の集積回路を、受信集積回路として指定し、前記第２の集積回路を、送信集積回路として指定し、前記第２の集積回路の出力ピンが前記テスト期間中にとる状態の系列をプログラミングするステップをさらに含む請求項２３に記載の集積回路のテスト方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般的には、データ処理システムの分野に関し、より具体的にはプリント回路基板上の集積回路のような多数のデバイスの間の相互接続をダイナミック・テスト検証することが可能な電子システムに関する。
【０００２】
【従来の技術】
極めて複雑なプリント回路基板は、非常に多くの集積回路を備え、その各々は、多くの入出力信号を有している。さらに、電子システムは、相互接続された多くの回路基板を有し、その各々は、自身の一組の集積回路を含んでいる。集積回路の数、および集積回路あたりの信号の数が増大するにつれて、相互接続信号の数が劇的に増大する。多数の集積回路間を伝搬する非常に多数の信号の故に、多数の集積回路間の適切な相互接続についてプリント回路基板をテストする作業は、非常に複雑になる。典型的に、相互接続の検証は、非常に多数の入力を、所定のパターンまたはパターン系列で、高速でドライブすることができ、かつ、多数の出力信号を同時にモニタすることのできる、複雑かつ高価なテスト装置を用いて行われる。この種のテスト装置が利用できない場合には、従来のバウンダリ・スキャン方法のような既存の方法が、電子システムの多くの機能をチェックする経済的な手順を与える。
【０００３】
【発明が解決しようとする課題】
しかし、バウンダリ・スキャン方法は、典型的に、或る形式のシリアル通信バス動作を、電子システムが最終的に動作するクロック速度よりもかなり低いクロック速度で実施する。したがって、従来のバウンダリ・スキャン方法は、緩やかなタイミング条件下で、システムまたはデバイスの全機能をテストするのに適している。しかし、漂遊容量のような種々のシステム特性は、緩やかなタイミング条件では、表れないので、従来のバウンダリ・スキャン方法によって可能とされるテスト方法を拡張して、システムおよびその要素がその分野で経験するクロック速度を含むことが、おおいに望まれるであろう。
【０００４】
【課題を解決するための手段】
上述した問題は、集積回路をダイナミックにテストするシステム，デバイス，および方法によって解決される。システムは、入力ピンおよび出力ピンと、通常動作ロジックと、テスト制御ロジックとを有する第１の集積回路を備えている。テスト制御ロジックは、入力ピンに接続することができ、入力ピンの状態に基づいてテスト期間を開始するように構成され、およびテスト期間中に、入力ピンの状態を、記憶デバイスに記録するように構成されている。システムの第２の集積回路は、入力ピンおよび出力ピンと、通常動作ロジックと、テスト制御ロジックとを有している。テスト制御ロジックは、出力ピンに接続することができ、ユーザがプログラムできる一組のテスト出力信号を生成するように構成されている。第２の集積回路の出力ピンの少なくとも一部は、第１の集積回路の入力ピンの少なくとも一部に接続される。第１の集積回路のテスト制御ロジックは、入力ピンの状態が所定の状態に一致すると、テスト期間を開始するように構成することができる。第１および第２の集積回路のテスト制御ロジックの一部は、システム・クロックによってドライブでき、このシステム・クロックは、テスト期間中、第２の集積回路のテスト出力信号および第１の集積回路のテスト入力信号がシステム・クロックの周波数で変移するように、動作ロジックをドライブする。テスト出力信号は、一組の可能なテスト出力状態間で変移でき、可能なテスト出力状態は、所定のパターン，所定のパターンの反転，オール０パターン，オール１パターンを含む。
【０００５】
【発明の実施の形態】
図１は、本発明の一実施例による電子システム１００のブロック図である。図示の実施例において、電子システム１００は、マイクロプロセッサ・ベースのコンピュータのようなデータ処理システムに用いるのに適した回路基板１０１を有している。回路基板１０１は、例えば、デスクトップ・コンピュータのマザーボード、データ処理システムの周辺バスを接続するのに適したアダプタ・カード、またはデータ処理システムに用いるのに適した他の回路基板を含む。プリント回路基板１０１の図示の例では、一組の集積回路１０２−１，１０２−２，１０２−３，１０２−４（以下、一般的または集合的に、集積回路１０２という）を有している。集積回路１０２は、参照番号１０４によって図１に集合的に示される種々の信号によって、互いに情報をやり取りして、通常動作条件下で、システム機能を実現する。信号１０４は、アドレス信号，データ信号，制御信号を含むことができる。図１に示すように、信号１０４の各々は、プリント回路基板１０１上の集積回路１０２の全てに、または集積回路の一部に与えることができる。図示の実施例を用いた実例として、信号Ａは各集積回路１０２に与えられ、信号Ｂは集積回路１０２−４を除いた集積回路１０２−１，１０２−２，１０２−３に与えられ、信号Ｃは集積回路１０２−１，１０２−２，１０２−４に与えられ、信号Ｄは集積回路１０２−２，１０２−３，１０２−４に与えられる。
【０００６】
プリント回路基板１０１の図示の実施例は、４つの集積回路１０２および４つの信号の組１０４のみ示しているが、データ処理システムの設計に詳しい者であれば、典型的に、かなり複雑なプロセッサは、非常に多数の集積回路（各々は、非常に多数の入出力信号を有する）を含むことができることがわかるであろう。さらに、本発明が意図する電子システム１００は、相互接続された多数の回路基板（各々は、自身の組の集積回路を有する）を含むことができる。集積回路の数が増大し、および集積回路あたりの信号の数が増大するにつれて、相互接続信号の数が劇的に増大する。多数の集積回路１０２間を伝搬する非常に多数の信号の故に、多数の集積回路１０２間の適切な相互接続についてプリント回路基板をテストする作業は、非常に複雑になる。典型的に、多数の集積回路間の相互接続の検証は、多数の出力信号を同時にモニタしながら、非常に多数の入力を、所定のパターンまたはパターン系列で、高速でドライブすることができる、複雑かつ高価なテスト装置を用いて行われる。
【０００７】
本発明は、電子システム１００のダイナミック・テストを可能にする経済的な方法および装置を企図している。このテスト方法は、ＪＴＡＧコンプライアント（ｃｏｍｐｌｉａｎｔ）バスまたはＩ２  Ｃバスのような比較的簡単な通信バスを介して、電子システムの集積回路にテストパターンが供給されるバウンダリ・スキャン方法の概念に基づいている。本発明は、電子システム１００およびその集積回路１０２がこの分野で経験するクロック速度で実行されるダイナミックなパターン系列のテストを可能にすることによって、バウンダリ・スキャン方法のテスト能力を拡張している。
【０００８】
図１において、テスト・コントローラ１２０が、回路基板１０１上のコネクタ１１０を介して、電子システム１００に接続されている。テスト・コントローラ１２０は、ケーブル１２２を介して、電子システム１００の集積回路１０２と情報のやり取りをする。典型的に、ケーブル１２２は、予め選ばれた通信バス・プロトコルによって、電子システム１００とコントローラ１２２との間で、情報をやり取りする。図示の実施例では、コントローラ１２０が電子システム１００と通信するプロトコルとして、Ｉ２  Ｃプロトコルを説明する。Ｉ２  Ｃバスは、種々のデバイスを相互接続する簡単な２線バスである。クロック信号（図１では、テスト・クロック（ＴＣ）信号として示されている）と、データ信号（図２では、テスト・データ（ＴＤ）信号として示されている）とを用いて、情報がＩ２  Ｃバス上を伝送される。Ｉ２  Ｃバスに関しての詳細な情報は、ｔｈｅ  Ｉ２Ｃ  Ｂｕｓ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ，  Ｖｅｒｓｉｏｎ  ２．０，  Ｄｅｃ．  １９９８，  Ｐｈｉｌｉｐｓ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒｓ  Ｂ．Ｖ．  （ｗｗｗ．  ｓｅｍｉｃｏｎｄｕｃｔｏｒｓ．ｐｈｉｌｌｉｐｓ．ｃｏｍ）  Ｐ．Ｏ．Ｂｏｘ  ２１８，  ５６００  ＭＤ  Ｅｉｎｄｈｏｖｅｎ，  Ｔｈｅ  Ｎｅｔｈｅｒｌａｎｄｓ，  および  Ｐａｒｅｔ  ｅｔ  ａｌ．，  Ｔｈｅ  Ｉ２Ｃ  Ｂｕｓ  Ｆｒｏｍ  Ｔｈｅｏｒｙ  Ｔｏ  Ｐｒａｃｔｉｃｅ  （Ｊｏｈｎ  Ｗｉｌｅｙ  ＆  Ｓｏｎ  Ｌｔｄ．  １９９７），  ＩＳＢＮ  Ｎｏ．０１７４９６２６８６に開示されている。
【０００９】
他の実施例では、コントローラ１２０および集積回路１０２は、シリアル・バス（図１には、参照文字“Ｊ”により示される）を介して通信する。シリアル・バスは、ＩＥＥＥ  １１４９．１  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  の  ”ＩＥＥＥ  Ｔｅｓｔ  Ｐｏｒｔ  ａｎｄ  ｂｏｕｎｄａｒｙ  Ｓｃａｎ  Ａｒｃｈｉｔｅｃｔｕｒｅ”（通常は、“ｔｈｅ  ＪＴＡＧ標準”と呼ばれ、簡単には“ＪＴＡＧ”と呼ばれる）。この実施例では、コントローラ１２０は、ＪＴＡＧコンプライアント信号を電子システム１００に与えるＪＴＡＧ制御ロジックを有している。さらに、各集積回路１０２は、ＪＴＡＧに従う。ＪＴＡＧ標準に詳しい人は、ＪＴＡＧコンプライアント・デバイスは、ＪＴＡＧシリアル・バスに適切に接続されるバウンダリ・スキャン・レジスタ（ＢＳＲ）と呼ばれるレジスタを有していることがわかる。このＢＳＲは、内部レジスタの状態のようなデバイスの内部要素についての情報を格納する。内部レジスタに格納される情報は、ＢＳＲに格納される。ＪＴＡＧコンプライアント信号の適切な制御によって、コントローラ１２０は、集積回路１０２の内部ノードに読み書きを行うことができる。
【００１０】
電子システム１００は、図１に参照文字“Ｋ”によって示されるシステム・クロック信号を発生するシステム・クロック発生器１０８を、さらに有している。システム・クロックＫは、電子システム１００の集積回路１０２の各々に同期クロックを与える。典型的には、電子システム１００の信号１０４の各々は、システム・クロックＫの変移に関連して、送信されまたは受信される。
【００１１】
コントローラ１２０は、汎用プロセッサまたは特殊デバイスとすることができる。一実施例では、コントローラ１２０は、回路基板１０１に取付けられたサービス・プロセッサにより構成することができる。この場合、ケーブル１２２およびコネクタ１１０を、省略することができる。コントローラ１２０は、テスト・プログラムを実行し、電子システム１００の集積回路１０２と通信するように構成される。コントローラ１２０が例えばＩ２  Ｃプロトコルによって集積回路１０２と通信する一実施例では、コントローラ１２０は、テスト・データ信号ＴＤによって集積回路１０２の各々をアドレスすることのできるバス・マスタとして働く。各集積回路１０２は、コントローラ１２０によって発生された固有Ｉ２  Ｃアドレスに応答する。コントローラ１２０が集積回路１０２と通信する固有プロトコルにかかわらず、プロトコルは、システム・クロックＫの速度に対して、典型的に低速であり、十分に信頼できる。
【００１２】
図２には、本発明に従って、各集積回路１０２に設けられる回路の一実施例を含む電子システム１００の集積回路１０２のさらなる詳細を示す。各集積回路１０２は、比較的低速で信頼できる通信プロトコルによって、テスト・コントローラ１２０（図１）と通信するテスト制御ロジック２００を有している。図示の実施例では、この通信は、Ｉ２  ＣバスのクロックＴＣ信号およびテスト・データＴＤ信号により、またはＪＴＡＧコンプライアント・シリアル・バスによって発生する。システム・クロックＫは、位相ロック・ループ（ＰＬＬ），クロック・ツリー，または他の適切なクロック回路のようなクロック回路２２０に接続され、内部クロックＫ＿ＩＮＴの１つ以上のコピーを生成する。内部クロックＫ＿ＩＮＴは、集積回路１０２の通常動作ロジック２３０へ送られる。通常動作ロジック２３０は、ここに説明するダイナミック・テスト回路とは無関係の所定の機能を実行するように構成される。
【００１３】
集積回路１０２は、一組のＮ個の信号を、対応する一組の入力ピンすなわちＩ／Ｏピン２４０（図２には、それらの１つのみが示されている）を介して受信して、一組のＭ個の出力信号を、対応する一組の出力ピンすなわちＩ／Ｏピン２４０を介して発生する。入力信号および出力信号は、電子システム１００の集積回路１０２の間で通信される、図１に示される信号１０４を表している。信号のうちのいくつかは、入力のみの信号であり、信号のうちのいくつかは、出力のみの信号であるが、図２は、Ｉ／Ｏピン２４０に接続される１つの入出力信号Ｉ／Ｏｉに対する本発明の特徴を示している。Ｎ個の入力信号（Ｉ／Ｏｉを含む）の各々は、個別レシーバ２１４（その１つが、図２に示される）に接続される。各レシーバ２１４は、その対応する入力信号を、集積回路１０２の通常動作ロジック２３０に、および入力信号をテスト制御ロジック２００にインタフェースするサンプル／ホールド・ラッチ２１９に接続する。この構成では、テスト制御ロジック２００は、図２に参照番号２０４によって示される一組のＮ個のテスト入力信号を受信する。通常動作ロジック２３０をドライブするシステム・クロックＫ＿ＩＮＴは、またサンプル／ホールド・ラッチ２１９をドライブする。したがって、テスト制御ロジック２００によって受信されるラッチ２１９からの各テスト入力信号２０４は、通常動作ロジック２３０に送られる対応する入力信号とほぼ同じである。
【００１４】
通常動作ロジック２３０は、一組のＭ個の通常出力信号を生成するように構成されている。テスト制御ロジック２００は、図２に参照番号２０２によって示される一組のＭ個のテスト出力信号を生成するように構成されている。各通常出力信号およびその対応するテスト出力信号２０２は、個別信号マルチプレクサ２１７（図２には、その１つを示している）の入力端子に送られる。マルチプレクサ２１７の出力端子は、適切な出力ドライバ２１６に接続され、このドライバは、集積回路１０２の対応する出力ピン２４０に接続される。テスト制御ロジック２００によって生成されたテスト選択（ＴＳ）信号２１２は、各信号マルチプレクサ２１７に選択入力を与える。集積回路１０２が通常動作モードにあるとき、通常出力信号が選択される。集積回路１０２がテスト・モードにあり、送信デバイスとして指定される（テスト・コントローラ１２０からの適切なプログラミングによって）とき、テスト出力信号が選択される。図示の実施例では、出力ドライバ２１６に、イネーブル信号が入力される。出力ドライバ２１６へのイネーブル信号は、イネーブル・マルチプレクサ２１８の出力によってドライブされる。イネーブル・マルチプレクサ２１８は、通常動作ロジック２３０から通常イネーブル信号と、制御ロジック２００により生成されたテスト・イネーブル（ＴＥ）信号とを受信する。典型的には、集積回路１０２の双方向ピン（すなわちＩ／Ｏピン）は、個別イネーブル信号によってイネーブルされる出力ドライバ（図２に示される出力ドライバ２１６のような）に接続される。Ｉ／Ｏピンが入力ピンとして機能しているとき、イネーブル信号を用いて、出力ドライバが、入力ビットの状態と競合することを避ける。この場合、集積回路１０２の各Ｉ／Ｏピンに対する出力ドライバは、イネーブル・マルチプレクサ２１８の１つから出力されるイネーブル信号によってイネーブルされる。各イネーブル・マルチプレクサ２１８は、通常動作ロジック２３０から“通常”出力イネーブル信号と、テスト出力イネーブル信号とを受信する。対応する集積回路１０２がテスト・モードにあり、送信デバイスとして指定されると、テスト制御ロジック２００によって、テスト出力イネーブル信号が発生される。テスト制御ロジック２００により生成されたテスト選択信号ＴＳは、信号マルチプレクサ２１７およびイネーブル・マルチプレクサ２１８へ、選択入力を与える。図２，図３，図４のテスト・ロジックは、ＮおよびＭのパラメータがチップ毎に異なることを除いて、各ＩＣ１０２−１，１０２−２，１０２−３等に対するものとほぼ同一であることがわかるであろう。
【００１５】
図３には、図２に示されるテスト制御ロジック２００の適切な構成が、ブロック図で示されている。一般的に言えば、テスト制御ロジック２００は、ＩＣ１０２の入力ピンに接続でき（サンプル／ホールド・ラッチ２１９を経て）、入力ピンの状態に基づいて、テスト・モードまたはテスト期間を開始するのに適している。テスト制御ロジック２００は、テスト期間中、入力ピン２４０の状態または状態系列を、記憶デバイスに記録することができる。
【００１６】
図示の実施例では、制御ロジック２００は、ＩＢＭ  ＣｏｒｐｏｒａｔｉｏｎのＰｏｗｅｒＰＣ（登録商標）４０１プロセッサ・セルのような、汎用中央処理ユニット・マクロ・セル（ＣＰＵ）３０２によって、ドライブされる。（他の実施例では、テスト制御ロジック２００は、組合わせロジックおよび順序ロジックで、完全に構成できる。）ＣＰＵ３０２は、不揮発性メモリ・デバイス（ＲＯＭ）３１０に記憶された一組の命令（ソフトウェア）を実行して、テスト制御ロジック２００の機能的制御を与える。ＲＯＭ３１０は、フラッシュ・メモリ・セル，ＥＥＰＲＯＭデバイス，または他の適切な不揮発性メモリとして構成することができる。さらに、データおよび変数の一時的記憶のために比較的小さなスタティックＲＡＭ３１２が設けられる。
【００１７】
図２および図３に示されるように、テスト制御ロジック２００は、さらに、一組のテスト入力信号２０４（図２に示される）を受信する一組のＮ個の並列ポート入力ビット３０６を有している。並列ポート入力ビット３０６の各々は、ＩＣ１０２の対応する入力ピンに接続することができる。図示の実施例では、各入力ピン（すなわちＩ／Ｏピン）２４０は、ドライバ２１４およびサンプル／ホールド・ラッチ２１９を経て、対応する並列ポート入力ビットスルー３０６に接続することができる。並列ポート入力ビット３０６は、テスト制御ロジック２００が集積回路１０２によって受信されたデータを取込めるようにする。
【００１８】
テスト制御ロジック２００は、さらに、ＣＰＵ３０２に接続されおよびＣＰＵ３０２により制御される、図３に参照番号３０４によって示される一組の並列ポート出力ビットを含んでいる。並列ポート出力ビット３０４の数は、テスト制御ロジック２００により生成されたテスト出力２０２の数（Ｎ）以上とするのが好ましい。一実施例では、以下に詳細に説明するように、集積回路１０２が受信モードにあるときに、並列ポート出力ビット３０４は、マスキング・ビットとしても機能する。この実施例では、並列ポート出力ビット３０４の数は、テスト出力信号２０２の数（Ｎ）または入力信号２０４の数（Ｍ）の大きい方である。並列ポート出力ビット３０４は、集積回路１０２が送信ＩＣとして設計されるときに、ＣＰＵ３０２を介して図１のコントローラ１２０によってプログラムされて、プログラマが集積回路から送信することを望むパターンを記憶する。Ｍ個の並列ポート出力ビット３０４の各々は、Ｍ個の信号マルチプレクサ２１７（図２には、１つが示されている）のうちの１つに接続される。集積回路１０２がテスト・モードにおかれると、テスト選択信号ＴＳは、集積回路１０２の対応する出力ピンにドライブされる一組のテスト出力２０２を選択する。
【００１９】
図示の実施例では、並列ポート出力ビット３０４の各々は、また、図４に示されるコンパレータ４０４へ入力を与える。この実施例では、並列ポート出力ビット３０４を用いて、同期状態をプログラムすることができる。受信デバイスとして指定されたＩＣ１０２の入力ピン２４０が同期状態に一致するならば、テスト制御ロジック２００は、入力ピン２４０の状態が記録されるテスト期間を開始することができる。並列ポート出力ビットは、集積回路１０２が受信モードにあるときに用いられるマスクとして機能し、同期パターンを検索するときに、どの入力信号を無視するかを指示することができる。（この理由のために、ポート３０４におけるビットの実際の数は、特定の集積回路に対しＮまたはＭの大きい方でなければならない）。他の実施例では、個別ポートを有して、入力信号が比較されるマスク・パターンを与えることができる。個別ポートは、追加の回路を犠牲にして設けて、集積回路１０２がデバイスのテスト中にデータを同時に送受信できるようにする。
【００２０】
テスト制御ロジック２００の図示の実施例は、また、ＣＰＵ３０２がテスト・コントローラ１２０と通信できるようにする並列ポート３０８を有している。ＣＰＵ３０２とテスト・コントローラ１２０との間の通信は、ＲＯＭ３１０に記憶されたソフトウェアによって行われる。図示の実施例では、例えば、このソフトウェアは、テスト・クロック信号ＴＣおよびテスト・データ信号ＴＤを周期的にサンプルすることができる。さらに、このソフトウェアは、典型的に、通信プロトコルによって要求されるときに、データをＴＤ信号上にドライブさせるように構成される。図３に示される並列ポート３０８は、インタフェース信号を集積回路１０２に与える。このインタフェース信号は、前述したテスト選択信号ＴＳ，チップ・ディセーブル信号ＣＤ２０８，テスト・イネーブル信号ＴＥ２０６を含んでいる。テスト選択信号ＴＳは、信号マルチプレクサ２１７（およびイネーブル・マルチプレクサ２１８）に、テスト・データを集積回路１０２の対応する出力ピンに送出させる。テスト・イネーブル信号ＴＥは、その名前が示すように、テスト・データが、集積回路１０２の対応する出力ピンに送出されるときに、イネーブリングを要求する出力ドライバにイネーブル信号を与える。テスト制御ロジック２００によって生成されたチップ・ディセーブル（ＣＤ）信号は、アサート（ａｓｓｅｒｔ）されると、集積回路１０２の通常動作ロジック２３０を、非動作状態すなわちリセット状態にして、動作ロジック２３０がテスト・モードとインタフェースしないようにする。
【００２１】
テスト制御ロジック２００は、さらに、ＣＰＵ３０２に接続される高速順次制御回路３０７を有している。典型的に、ＣＰＵ３０２は、第１のクロック速度で動作するコマンドを用いて、高速順次制御回路３０７をセットアップする。高速順次制御回路３０７は、典型的には、ＣＰＵ３０２のクロック速度（３０９）によって制御される。適切なセットアップの後、高速順次制御回路３０７は、通常動作ロジック３２０をドライブするクロック信号Ｋ（またはＫ＿ＩＮＴ）によって、クロックまたはドライブされる。高速順次制御回路３０７は、一組のＭＵＸＣＯＮＴＲＯＬ信号を生成する。この一組のＭＵＸ  ＣＯＮＴＲＯＬ信号は、対応する集積回路１０２が情報を送出するとき（すなわち、送信モードにある）、一組のテスト出力信号２０２にドライブされるパターンを制御する。したがって、送信デバイスのテスト出力信号２０４は、テスト期間中は、システム・クロック（Ｋ）の周波数で変移する。
【００２２】
以下に図６に関連して詳細に説明するように、ＭＵＸ  ＣＯＮＴＲＯＬ信号は、一群の出力マルチプレクサの動作を制御するように働いて、送信動作中に、所望のパターン系列が、送信デバイスの出力ピンに供給できるようにする。高速順次制御回路３０７は、また、集積回路１０２が情報を受取っているときに、サンプル／ホールド・ラッチ２１９（図２）をイネーブルおよびディセーブルするＳＡＭＰＬＥ信号を生成するためのものである。
【００２３】
一実施例では、高速順次制御回路３０７は、集積回路１０２が送信デバイスとして指定されると、ＣＰＵ３０２を介してテスト・コントローラ１２０からコマンドを受取って、集積回路１０２によって生成される所定順序の出力状態を定める。一実施例では、テスト制御ロジック２００は、４つの異なる出力状態を生成するように構成される。これら４つの出力状態は、オール０（ａｌｌ  ０）の出力状態，オール１（ａｌｌ  １）の出力状態，テスト・パターン出力状態ＴＰ，テスト・パターンの反転（！ＴＰ）を含むことができる。典型的には、出力パターン・テスト制御ロジック２００の１つは、同期（ＳＹＮＣ）パターンとして指定されるパターンを生成する。ＳＹＮＣパターンは、受信デバイスとして指定される集積回路１０２上の高速順次制御ロジック３０７の高速動作をトリガする。（ＳＹＮＣパターンは、あらゆるパターンをＳＹＮＣパターンとして指定することができるが、例示としてオール０パターンであると仮定する。）これらパターンの各々は、並列ポート出力ビット３０４（図３）に記憶されたビットのパターンに関係している。このパターンは、集積回路１０２が送信集積回路となるように指定されると、集積回路１０２の出力ピン（すなわちＩ／Ｏピン）２４０に、最終的にドライブされる。テスト・コントローラ１２０のプログラマは、送信集積回路１０２によって生成される一組のパターンの順序を決定する。典型的には、４つのパターンのうちの１つは、ＳＹＮＣパターンでなければならない。送信集積回路として指定された集積回路１０２のＣＰＵ３０２は、これらコマンドを解釈して、入出力コマンドを、高速順次ロジック・ブロック３０７に送出して、送られるべきパターンを４つのタイム・スロットの各々に記憶する。
【００２４】
動作中、高速順次制御回路３０７は、所定の順序に従って、システム・クロックＫ（またはＫ＿ＩＮＴ）の各エッジで、ＭＵＸ  ＣＯＮＴＲＯＬ信号を連続的に変更し、集積回路が送信集積回路としてもはや指定されなくなるまで、集積回路１０２の出力ピン２４０に、所望出力信号系列を生成する。図４および図６において、ＭＵＸ  ＣＯＮＴＲＯＬ信号は、参照番号４０２−０，４０２−１，…，４０２−ｉ，…４０２−Ｎによって示された一組の４：１マルチプレクサ（一時的または集合的には、マルチプレクサ４０２と言う）の選択入力をドライブする。各４：１マルチプレクサ４０２は、並列ポート出力ビット３０４の１つを、その入力の１つとして受取る。図示の実施例では、各４：１マルチプレクサ４０２は、対応する並列ポート出力ビット３０４の反転を生成するインバータ４０５を有している。さらに、各マルチプレクサ４０２には、また、１つの入力として論理“０”を、他の入力として論理“１”を受取る。１つのマルチプレクサ４０２の構成を、図６に詳細に示す。この構成では、マルチプレクサ４０２の出力は、並列ポート出力ビット３０４に記憶されたビットよりなるテスト・パターン（ＴＰ），テスト・パターンの反転（！ＴＰ），オール０パターン，オール１パターンを生成することができる。４：１マルチプレクサ４０２の出力は、テスト制御ロジック２００によって生成された一組のテスト出力２０２を形成する。このテスト・パターン生成機構を用いて、本発明は、ＳＹＮＣパターン，ライン事前調整パターン，テスト・パターン，事後調整パターンのような出力パターン系列を生成することができる。この出力パターン系列は、システム・クロックＫの速度で変化する。これら４つのパターンを操作して、１つのクロックから次のクロックへの出力信号変移が最大になる最悪スイッチングのシナリオをシミュレートすることができる。一例として、オール０パターンがＳＹＮＣパターンを構成し、！ＴＰパターンがライン事前調整パターンを構成し、ＴＰパターンがテスト・パターンを構成し、オール１パターンが事後調整パターンを構成することができる。したがって、テスト制御ロジック２００は、テスト・コントローラ１２０がテスト・パターン系列を決定できるように構成する。テスト制御ロジック２００は、集積回路が送信デバイスとして指定されるとき、対応する集積回路１０２の出力ピンへ、クロック速度で、決定されたパターン系列を供給する。
【００２５】
高速順次制御回路３０７は、ＳＡＭＰＬＥ信号を制御するロジックをさらに有している。ＳＡＭＰＬＥ信号は、テスト期間を定める。このテスト期間中には、指定された受信集積回路１０２のテスト制御ロジック２００が、入力信号の状態を記録または取込むことができる。ＳＡＭＰＬＥ信号は、テスト制御ロジック２００がその入力ピンに同期パターンを検出した後に、正確な時刻でアサートすることができる。
【００２６】
テスト・コントローラ１２０から目標とされる集積回路１０２のＣＰＵ３０２へ適切な命令を送ることによって、集積回路１０２が受信およびチェック・モードに置かれると、ＲＯＭ３１０は、一連の命令を、高速順次制御回路３０７に送る。これらの命令に応じて、制御回路３０７は、自動取込みシーケンスを開始させる。この取込みシーケンスでは、制御ロジック３０７は、ＳＡＭＰＬＥ信号（サンプル／ホールド・ラッチ２１９のイネーブル入力に接続される）をアサートし、これによりサンプル／ホールド・ラッチ２１９の出力に記憶されたパターンを、クロックＫ＿ＩＮＴの周波数で変更させる。集積回路１０２が受信集積回路として指定されると、対応する集積回路１０２のコンパレータ４０４が利用される。指定された集積回路１０２によって受信されたテスト入力信号２０４が、所定のＳＹＮＣパターン（以下に説明するように、マスクされたビットは無視する）に一致すると、コンパレータ４０４は、高速順次回路３０７によって受信されるＳＹＮＣ信号を生成する。
【００２７】
図示の実施例では、マスク・ビット４０３は、一組のテスト出力信号２０２によって与えられる。集積回路１０２が受信デバイスとして指定されているときに、テスト出力ビット２０２に“１”がプログラムされると、入力データ・パターンが同期パターンに一致するか否かを決定する際に、対応する入力信号２０４は無視される。マスク・ビットは有用である。というのは、送信デバイスとして指定された集積回路１０２によって生成されたすべての信号１０４は、受信デバイスとして指定された各集積回路１０２によって受信することができない。同期パターンを検索するときに、特定の集積回路１０２での未接続の信号は、無視されなければならない。
【００２８】
図６のタイミング図において、受信集積回路のコンパレータ４０４が、マスクされていないすべてのテスト入力２０４上に、同期パターン（図示の実施例では、オール０パターン）を検出すると、コンパレータ４０４は、ＳＹＮＣ信号をアサートする。ＳＹＮＣ信号は、高速順次制御回路３０７にフィードバックされる。アサートされたＳＹＮＣ信号の検出に応じて、高速順次制御回路３０７は、１クロック期間遅延し、ＳＡＭＰＬＥ信号をデアクティブにする。ＳＡＭＰＬＥ信号がデアクティブされると、集積回路の入力ピン上に存在するパターン（データ）がラッチされ、ＣＰＵ３０２が高速順次制御回路３０７を命令して、他の自動取込みシーケンスを開始させる（ＳＡＭＰＬＥ信号をリアサートすることにより）まで、サンプル／ホールド・ラッチ２１９に保持する。ＳＡＭＰＬＥ信号がデアクティブにされているとき、サンプル／ホールド・ラッチ２１９に存在するパターンは、並列ポート３０６を介して読込むことができ、既知の良好パターンとの連続比較のためにＳＲＡＭ３１２に記憶される。取込まれたパターンと既知の良好パターンとの間のこの比較は、低速のクロック速度でＣＰＵ３０２によって行うことができる（すなわち、取込まれたデータの分析は、リアルタイムで行う必要はない）。しかし、取込まれたパターンと前に決定された既知の良好パターンとの間の比較を行うことが望まれるならば、追加のハードウェアを、テスト制御論理２００に組込んで、取込まれたパターンを既知の良好パターンと比較することができる。
【００２９】
前述したすべての特徴を組合わせると、テスト・シーケンスの動作を、以下のように実行することができる。最初に、１つ以上の集積回路の通常動作ロジック２３０が、リセットされる。次に、テスト・コントローラ１２０（ＣＰＵ３０２を介して）が、１つの集積回路１０２を送信デバイスとして指定して、指定された送信デバイスの並列ポート出力ビット３０４にパターンを記憶する。さらに、テスト・コントローラは、所望のパターン・シーケンスをプログラムすることができる。このパターン・シーケンスは、４：１マルチプレクサの各々に供給される選択信号のパターンを有している。テスト・コントローラ１２０は、また、１つ以上の他の集積回路１０２を受信デバイスとして指定し、マスク・ビットをプログラムする（各受信デバイスの並列ポート出力ビット３０４を用いて）。次に、前述したサンプル・シーケンスを開始する。指定された受信デバイスが、マスクされていないビット上にＳＹＮＣパターンを検出すると、受信デバイスは、その入力ビットに存在するデータ・パターンを、ＳＹＮＣパターンが存在した後に２サイクルにわたって取込み保持する。取込まれたデータは、さらなる分析および既知の良好パターンとの比較のために、テスト制御ロジック２００のＳＲＡＭに記憶される。このようにして、電子システム１００のダイナミック・テストが可能になる。
【００３０】
この開示を利用する当業者には、本発明が、電子システムの多数の集積回路間の相互接続を、電子システムの実際のクロック速度で、ダイナミックにテストする方法および装置を企図していることがわかるであろう。詳細な説明および図面に開示の本発明の実施形態は、現在好適な例を単に挙げただけであることを理解すべきである。
【００３１】
まとめとして、本発明の構成に関して以下の事項を開示する。
（１）入力ピンおよび出力ピンと、
前記入力ピンおよび出力ピンに接続することができ、所定の機能を実行するように構成された動作ロジックと、
前記入力ピンに接続することができ、前記入力ピンの状態に基づいてテスト期間を開始するように構成され、およびテスト期間中に、前記入力ピンの状態を、記憶デバイスに記録するように構成されたテスト制御ロジックと、
を備える集積回路。
（２）前記テスト制御ロジックは、前記入力ピンの状態が所定の状態に一致すると、前記テスト期間を開始するように構成されている、上記（１）に記載の集積回路。
（３）前記テスト制御ロジックは、前記所定の状態を定めるプログラム可能な手段を有する、上記（２）に記載の集積回路。
（４）前記テスト制御ロジックは、テスト・コントローラに接続することができ、前記テスト・コントローラは、Ｉ２  ＣおよびＪＴＡＧを含むバス・プロトコルから選択された通信バス・プロトコルにより、前記テスト制御ロジックをプログラムできる、上記（１）に記載の集積回路。
（５）前記テスト制御ロジックの一部は、システム・クロックによってドライブされ、前記システム・クロックは、テスト期間中、テスト出力信号がシステム・クロックの周波数で変移するように、前記動作ロジックをドライブする、上記（１）に記載の集積回路。
（６）前記テスト制御ロジックは、テスト期間中、チップ・ディセーブル（ＣＤ）信号をアサートするように構成され、および前記動作ロジックは、前記ＣＤ信号を受信し、前記ＣＤ信号がアサートされると、リセット状態になるように構成される、上記（１）に記載の集積回路。
（７）前記テスト制御ロジックは、前記集積回路が送信デバイスとして指定されると、前記出力ピンに接続することのできる一組のテスト出力信号を生成するように構成されている、上記（１）に記載の集積回路。
（８）前記テスト出力信号は、前記集積回路のシステム・クロックによって定められるクロック周波数で変移する、上記（７）に記載の集積回路。
（９）前記テスト出力信号は、一組の可能なテスト出力状態間で変移し、前記可能なテスト出力状態は、所定のパターン，前記所定のパターンの反転，オール０パターン，オール１パターンよりなる、上記（７）に記載の集積回路。
（１０）前記テスト出力信号は、前記集積回路が受信デバイスとして指定されると、マスキング・パターンを与え、前記マスキング・パターンは、前記テスト期間を開始することのできる前記集積回路の入力ピンを指示する、上記（１）に記載の集積回路。
（１１）入力ピンおよび出力ピンと、前記入力ピンおよび出力ピンに接続することができ、所定の機能を実行するように構成された動作ロジックと、前記入力ピンに接続することができ、前記入力ピンの状態に基づいてテスト期間を開始するように構成され、およびテスト期間中に、前記入力ピンの状態を、記憶デバイスに記録するように構成されたテスト制御ロジックとを有する第１の集積回路と、入力ピンおよび出力ピンと、前記入力ピンおよび出力ピンに接続することができ、所定の機能を実行するように構成された動作ロジックと、前記出力ピンに接続することができ、ユーザがプログラムできる一組のテスト出力信号を生成するように構成されたテスト制御ロジックを有する第２の集積回路とを備え、
前記第２の集積回路の出力ピンの少なくとも一部を、前記第１の集積回路の入力ピンの少なくとも一部に接続する、電子システム。
（１２）前記第１の集積回路のテスト制御ロジックは、前記入力ピンの状態が所定の状態に一致すると、前記テスト期間を開始するように構成されている、上記（１１）に記載の電子システム。
（１３）前記テスト制御ロジックは、前記所定の状態を定めるプログラム可能な手段を有する、上記（１２）に記載の電子システム。
（１４）前記第１および第２の集積回路のテスト制御ロジックに接続することのできるテスト・コントローラをさらに備え、前記テスト・コントローラは、テスト・コントローラのユーザが、前記第１の集積回路の所定の状態と前記第２の集積回路によって生成される一組の出力信号とをプログラムできるように構成されている、上記（１１）に記載の電子システム。
（１５）前記テスト・コントローラは、Ｉ２  ＣおよびＪＴＡＧから選択された通信バス・プロトコルにより、前記集積回路と通信する、上記（１４）に記載の電子システム。
（１６）前記第１および第２の集積回路のテスト制御ロジックの一部は、システム・クロックによってドライブされ、前記システム・クロックは、テスト期間中、前記第２の集積回路のテスト出力信号および前記第１の集積回路のテスト入力信号がシステム・クロックの周波数で変移するように、前記動作ロジックをドライブする、上記（１１）に記載の電子システム。
（１７）前記テスト制御ロジックは、テスト期間中、チップ・ディセーブル（ＣＤ）信号をアサートするように構成され、および前記動作ロジックは、前記ＣＤ信号を受信し、前記ＣＤ信号がアサートされると、リセット状態になるように構成される、上記（１１）に記載の電子システム。
（１８）前記第１および第２の集積回路は、プリント回路基板に取付けられる、上記（１１）に記載の電子システム。
（１９）前記テスト出力信号は、一組の可能なテスト出力状態間で変移し、前記可能なテスト出力状態は、所定のパターン，前記所定のパターンの反転，オール０パターン，オール１パターンを含む、上記（１１）に記載の電子システム。
（２０）集積回路のテスト方法であって、
前記集積回路の入力ピンに所定の状態を与えるステップと、
前記入力ピンの所定の状態に応じて、前記入力ピンが前記集積回路の動作周波数で変移するテスト期間を開始するステップと、
前記テスト期間中に、前記入力ピンの状態を、記憶デバイスに記録するステップと、
を含む集積回路のテスト方法。
（２１）前記入力ピンに所定の状態を与える前に、前記所定の状態を、前記集積回路のプログラマブル・ポートにプログラミングするステップをさらに含む、上記（２０）に記載の集積回路のテスト方法。
（２２）前記テスト期間が終了した後に、前記記憶デバイスから前記入力ピンの記録状態を検索するステップをさらに含む、上記（２０）に記載の集積回路のテスト方法。
（２３）前記集積回路の入力ピンに所定の状態を与えるステップは、第２の集積回路の出力ピンに一組の出力信号を生成するステップを含み、
前記第２の集積回路の出力ピンの少なくとも一部を、第１の集積回路の入力ピンの少なくとも一部に接続する、上記（２０）に記載の集積回路のテスト方法。（２４）前記第１の集積回路を、受信集積回路として指定し、前記第２の集積回路を、送信集積回路として指定し、前記第２の集積回路の出力ピンが前記テスト期間中にとる状態の系列をプログラミングするステップをさらに含む上記（２３）に記載の集積回路のテスト方法。
【図面の簡単な説明】
【図１】本発明の一実施例により実現された一組の集積回路よりなる電子システムのブロック図である。
【図２】図１の集積回路の少なくともいくつかにおけるテスト制御ロジックの一実施例の詳細を示すブロック図である。
【図３】図２のテスト制御ロジックの一構成例を示す図である。
【図４】高速順次制御ロジックの一部を含む図３のチップ・テスト制御ロジックの一部を示す図である。
【図５】図４のマルチプレクサの一実施例を示す図である。
【図６】データ取り込みシーケンスを説明する選択された信号のタイミング図である。
【符号の説明】
１００  電子システム
１０１  プリント回路基板
１０２  集積回路
１０４  信号
１２０  テスト・コントローラ
１２２  ケーブル
２００  制御ロジック
２１４  レシーバ
２１６  出力ドライバ
２１７  マルチプレクサ
２１８  イネーブル・マルチプレクサ
２１９  サンプル／ホールド・ラッチ
２２０  クロック回路
２３０  通常動作ロジック
２４０  Ｉ／Ｏピン
３０２  ＣＰＵ
３０４，３０６  並列ポート出力ビット
３０７  順次制御回路
４０４  コンパレータ
４０７  マルチプレクサ
【図１】
0003574103.tif 000002
【図２】
0003574103.tif 000003
【図３】
0003574103.tif 000004
【図４】
0003574103.tif 000005
【図５】
0003574103.tif 000006
【図６】
0003574103.tif 000007