(57)【要約】組み合わせロジック及び記憶素子（走査可能記憶素子でも非走査可能記憶素子でもよい）を有する高性能ディジタル・システム及びディジタル回路の高速テストを実行する方法は、シフト・シーケンスに続く捕獲シーケンスの間、少なくとも２つのクロック・パルスをイネーブルすることによって実行される。非走査可能記憶素子は、高速テストが実行される前のテストの開始時に、走査可能記憶素子を介して初期化される。初期化の間、制御ロジックは、捕獲のためのシステム・クロック・パルスの生成をディスエーブルする信号を生成する。その代わりに、テスト・クロック又はシステム・クロックから導出される１つのクロック・サイクルが、非走査可能素子を初期化するために生成される。
2004502147.tif 000002
【特許請求の範囲】
【請求項１】
組み合わせロジック及び走査可能クロック走査型記憶素子を含み、前記記憶素子が捕獲クロック入力及びシフト・クロック入力を有する回路の高速テストを、テスト・クロック及びシステム・クロックを使用して実行する方法であって、
前記回路を、アクティブ又はインアクティブの初期化モードへ構成し、
前記回路がアクティブの初期化モードに構成されているとき、
前記組み合わせロジックの中で非走査可能記憶素子に関連付けられたシーケンシャル・ループをディスエーブルし、
テスト応答データの解析をディスエーブルし、
テスト・クロック及びシステム・クロックの１つから導出されたクロック信号の制御のもとで前記走査可能記憶素子の中へ初期化データをロードすること、及びテスト・クロック及びシステム・クロックの１つから導出されたクロック信号の制御のもとで捕獲サイクルを実行すること、を含む所定数の初期化サイクルを実行し、
前記初期化信号を非活性化し、
前記組み合わせロジックの中でディスエーブルにされたシーケンシャル・ループをイネーブルし、
前記テスト・クロックから導出されたシフト・クロック信号の制御のもとで前記走査可能記憶素子へテスト・スティミュラスをロードし、
前記テスト・クロック及び自走システム・クロックの１つから導出された捕獲クロックの制御のもとで、前記捕獲クロックの所定数のサイクルの間、捕獲動作を実行し、
テスト応答データの解析をイネーブルし、
前記シフト・クロック信号の制御のもとで前記走査可能記憶素子からテスト応答データをアンロードすること、
を含む方法。
【請求項２】
テスト・スティミュラスの前記ロード、及び初期化データの前記ロードの各々が、
アクティブの走査イネーブル信号及びアクティブの捕獲クロック制御信号を生成し、
アクティブの前記走査イネーブル信号に応答して前記テスト・クロックから導出されたアクティブのシフト・クロックを生成し、
シフト・シーケンスの前記ロードの終わりにインアクティブの走査イネーブル信号を生成し、インアクティブの前記走査イネーブル信号に応答して前記シフト・クロックをディスエーブルすることを含む、請求項１に記載の方法。
【請求項３】
アクティブの捕獲クロック制御信号の前記生成が、前記走査イネーブル信号から前記捕獲クロック制御信号を導出して、インアクティブの走査イネーブル信号の前記生成に続く前記テスト・クロックの前記所定数の半クロック・サイクルの間、前記制御信号をアクティブに維持することを含む、請求項２に記載の方法。
【請求項４】
捕獲動作の前記実行が、前記シフト・クロックのディスエーブルに続く前記テスト・クロックの前記所定数の半クロック・サイクルの間、前記制御信号をアクティブに維持し、次に前記制御信号を非活性化することを含み、
前記捕獲動作の前記実行が、前記制御信号のアクティブ状態からインアクティブ状態への遷移に応答して前記捕獲動作を実行することを含む、
請求項２に記載の方法。
【請求項５】
初期化サイクルの前記所定数が、少なくとも、前記回路の中の２つの走査可能記憶素子の間の経路に配置された非走査可能記憶素子の最大数である、請求項１に記載の方法。
【請求項６】
前記回路を構成することがデバッグ信号の生成を含み、捕獲動作の前記実行が、更に、デバッグ信号のアクティブ値に応答して前記テスト・クロックから導出された捕獲クロックを選択することを含む、請求項１に記載の方法。
【請求項７】
組み合わせロジック及び走査可能クロック走査型記憶素子を含み、各々の前記走査可能記憶素子が捕獲クロック入力及びシフト・クロック入力を有する回路の高速テストを、自走テスト・クロック及び自走システム・クロックを使用して実行する方法であって、
アクティブの走査イネーブル信号、初期化信号、捕獲クロック制御信号を生成し、
前記初期化信号がアクティブである間に、アクティブの前記走査イネーブル信号に応答して自走テスト・クロックから導出されたシフト・クロックをイネーブルし、前記シフト・クロックの制御のもとでシフト・シーケンスに従って初期化データを前記走査可能記憶素子の中へロードし、インアクティブの前記走査イネーブル信号に応答して前記走査イネーブル信号を非活性化して前記シフト・クロックをディスエーブルし、インアクティブの前記走査イネーブル信号に応答して前記テスト・クロック及びシステム・クロックの１つから導出された捕獲クロックをイネーブルし、前記捕獲クロックの１つのクロック・サイクルを印加すること、を含む所定数の非走査可能記憶素子初期化サイクルを実行し、
前記回路の中の全ての非走査可能記憶素子が初期化されたとき、前記初期化信号を非活性化し、
アクティブの走査イネーブル信号を生成し、アクティブの前記走査イネーブル信号に応答して自走テスト・クロックから導出されたシフト・クロックをイネーブルし、前記シフト・クロックの制御のもとで前記テスト・スティミュラスを前記走査可能記憶素子の中へ逐次シフトし、前記走査イネーブル信号を非活性化し、インアクティブの前記走査イネーブル信号に応答して前記シフト・クロックをディスエーブルすることを含むシフト・シーケンスに従ってテスト・スティミュラスを前記走査可能記憶素子の中へロードし、
前記テスト・クロック及びシステム・クロックの１つを捕獲クロックとして選択し、前記捕獲クロック制御信号がアクティブである間に、前記捕獲クロックのイネーブルを遅延させ、少なくとも２つのクロック・サイクルの間、前記捕獲クロックをイネーブルにすることを含む捕獲動作を実行し、
アクティブの走査イネーブル信号を生成し、
アクティブの前記走査イネーブル信号に応答して自走テスト・クロックから導出された前記シフト・クロックをイネーブルし、前記シフト・クロックの制御のもとで前記テスト応答データを前記走査可能記憶素子から逐次にシフトすることを含むようにテスト応答データを前記走査可能記憶素子からアンロードし、
前記テスト応答データを解析すること、
を含む方法。
【請求項８】
組み合わせロジック及び走査可能クロック走査型記憶素子を含み、各々の前記走査可能記憶素子が捕獲クロック入力及びシフト・クロック入力を有する回路の高速テストを、自走テスト・クロック及び自走システム・クロックを使用して実行する方法であって、
前記自走テスト・クロックから導出されたシフト・クロックの制御のもとでテスト・スティミュラスを前記走査可能記憶素子の中へロードし、
前記自走テスト・クロック及び前記自走システム・クロックの１つから導出された捕獲クロックの制御のもとで、前記捕獲クロックの所定数のサイクルの間、捕獲動作を実行し、及び、
前記シフト・クロックの制御のもとで前記走査可能記憶素子からテスト応答データをアンロードすること、
を含む方法。
【請求項９】
前記テスト・クロックの制御のもとで初期化データを前記走査可能記憶素子の中へロードし、次に、前記テスト・クロック及び前記システム・クロックの１つの１クロック・サイクルの間、前記回路を正規モードで動作させることを含む所定数の初期化シーケンスを実行することによって、テスト・スティミュラスをロードする前に前記回路の中の非走査可能記憶素子を初期化すること、を更に含む請求項８に記載の方法。
【請求項１０】
初期化シーケンスの前記所定数が、少なくとも、前記回路の中で２つの走査可能記憶素子の間の経路に配置された非走査可能記憶素子の最大数である、請求項９に記載の方法。
【請求項１１】
組み合わせロジック及び走査可能クロック走査型記憶素子を含み、各々の前記走査可能記憶素子が捕獲クロック入力及びシフト・クロック入力を有する回路の高速テストを実行する方法であって、
前記回路をアクティブ又はインアクティブのデバッグ・モードに構成し、
前記回路がアクティブのデバッグ・モードに構成されているとき、
テスト・クロックから導出されたシフト・クロック信号の制御のもとでテスト・スティミュラスを前記走査可能記憶素子の中へロードし、
前記テスト・クロックから導出された捕獲クロックの制御のもとで、前記捕獲クロックの所定数のサイクルの間、捕獲動作を実行し、
前記シフト・クロック信号の制御のもとで前記走査可能記憶素子からテスト応答データをアンロードし、
前記回路がインアクティブのデバッグ・モードに構成されているとき、
テスト・クロックから導出されたシフト・クロック信号の制御のもとでテスト・スティミュラスを前記走査可能記憶素子の中へロードし、
前記テスト・クロック及びシステム・クロックの１つから導出された捕獲クロックの制御のもとで、前記捕獲クロックの所定数のサイクルの間、捕獲動作を実行し、
前記シフト・クロック信号の制御のもとで前記走査可能記憶素子からテスト応答データをアンロードすること、
を含む方法。
【請求項１２】
組み合わせロジック及び走査可能クロック走査型記憶素子を含み、各々の前記走査可能記憶素子が捕獲クロック入力及びシフト・クロック入力を有する回路の高速テストを実行する方法であって、
前記回路をアクティブ又はインアクティブのデバッグ・モードに構成し、
前記回路をアクティブ又はインアクティブの初期化モードに構成し、
前記回路がインアクティブのデバッグ・モードに構成されており、
前記回路がアクティブの初期化モードに構成されているとき、
前記組み合わせロジックの中で非走査可能記憶素子に関連付けられたシーケンシャル・ループをディスエーブルし、
テスト応答データの解析をディスエーブルし、初期化データを前記走査可能記憶素子の中へ反復してロードし、次に、前記回路の非走査可能記憶素子が既知の値で初期化されてしまうまで、自走テスト・クロック及び自走システム・クロックの１つから導出されたシフト・クロックの制御のもとで捕獲サイクルを実行し、次に、前記初期化信号を非活性化することを含むように、前記回路の中で非走査可能記憶素子を初期化し、
テスト応答データの解析をイネーブルし、
前記組み合わせロジックの中のディスエーブルシーケンシャル・ループをイネーブルし、
前記自走テスト・クロック及び自走システム・クロックの１つから導出されたシフト・クロック信号の制御のもとでテスト・スティミュラスを前記走査可能記憶素子の中へロードし、
前記システム・クロックから導出された捕獲クロック及び自走システム・クロックの制御のもとで、前記捕獲クロックの所定数のサイクルの間、捕獲動作を実行し、
前記シフト・クロックの制御のもとで前記走査可能記憶素子からテスト応答データをアンロードし、
前記回路がインアクティブの初期化モードに構成されているとき、
前記自走テスト・クロック及び自走システム・クロックの１つから導出されたシフト・クロック信号の制御のもとでテスト・スティミュラスを前記走査可能記憶素子の中へロードし、
前記テスト・クロック及び自走システム・クロックの１つから導出された捕獲クロックの制御のもとで、前記捕獲クロックの所定数のサイクルの間、捕獲動作を実行し、
前記シフト・クロックの制御のもとでテスト応答データを前記走査可能記憶素子からアンロードし、
前記回路がアクティブのデバッグ・モードに構成されており、
前記回路がアクティブの初期化モードに構成されているとき、
前記組み合わせロジックの中で非走査可能記憶素子に関連付けられたシーケンシャル・ループをディスエーブルし、テスト応答データの解析をディスエーブルし、初期化データを前記走査可能記憶素子の中へ反復的にロードし、次に、前記回路の非走査可能記憶素子が既知の値で初期化されてしまうまで、自走テスト・クロックから導出されたシフト・クロックの制御のもとで捕獲サイクルを実行し、次に、前記初期化信号を非活性化することを含むように、前記回路の中で非走査可能記憶素子を初期化し、
テスト応答データの解析をイネーブルし、
前記組み合わせロジックの中のディスエーブルシーケンシャル・ループをイネーブルし、
前記自走テスト・クロック及び自走システム・クロックの１つから導出されたシフト・クロック信号の制御のもとでテスト・スティミュラスを前記走査可能記憶素子の中へロードし、
前記テスト・クロックから導出された捕獲クロックの制御のもとで、前記捕獲クロックの所定数のサイクルの間、捕獲動作を実行し、
前記シフト・クロックの制御のもとでテスト応答データを前記走査可能記憶素子からアンロードし、
前記回路がインアクティブの初期化モードに構成されているとき、
前記自走テスト・クロックから導出されたシフト・クロック信号の制御のもとでテスト・スティミュラスを前記走査可能記憶素子の中へロードし、
前記テスト・クロックから導出された捕獲クロックの制御のもとで、前記捕獲クロックの所定数のサイクルの間、捕獲動作を実行し、
前記シフト・クロックの制御のもとでテスト応答データを前記走査可能記憶素子からアンロードし、
前記応答データを解析及び確認すること、
を含む方法。
【請求項１３】
組み合わせロジック、及び前記組み合わせロジックへ接続された走査可能クロック走査型記憶素子を含み、前記記憶素子が捕獲クロック入力、シフト・クロック入力、データ入力、データ出力、シリアル・データ入力、及びシリアル・データ出力を有する集積回路のＢＩＳＴコントローラであって、
走査イネーブル信号及び初期化制御信号を生成する制御回路と、
テスト・クロック及びシステム・クロックを受け取り、シフト・クロック及び捕獲クロックを生成するクロック生成回路と、
アクティブの走査イネーブル信号及び前記テスト・クロックに応答して、テスト・スティミュラスを生成し、前記テスト・スティミュラスを前記走査可能記憶素子の中へ逐次にロードする手段と、
インアクティブの初期化制御信号及びアクティブの走査イネーブル信号に応答して、前記走査可能記憶素子からアンロードされたテスト応答データを解析する手段とを具備し、
前記クロック生成回路は、シフト・クロック出力及びテスト・クロック入力を有し、アクティブの走査イネーブル信号に応答して前記テスト・クロック入力を前記シフト・クロック出力へ接続し、インアクティブの走査イネーブル信号に応答して前記シフト・クロック出力をディスエーブルして前記シフト・クロックを生成する手段を含み、及びテスト・クロック入力、システム・クロック入力、並びに捕獲クロック出力を有し、インアクティブの走査イネーブル信号及びアクティブの初期化制御信号に応答して、前記捕獲クロックの１つのクロック・サイクルの間、前記テスト・クロック及びシステム・クロックの１つを前記捕獲クロック出力へ接続し、インアクティブの走査イネーブル信号及びインアクティブの初期化信号に応答して、前記捕獲クロックの少なくとも２つのサイクルの間、前記システム・クロック入力を前記捕獲クロック出力へ接続して前記捕獲クロックを生成する手段を含む、
ＢＩＳＴコントローラ。
【請求項１４】
捕獲クロックを生成する前記手段が、
前記走査イネーブル信号がインアクティブになってから所定の時間間隔の間、前記捕獲クロックのイネーブルを遅延させる捕獲クロック制御信号を生成する捕獲遅延手段と、
前記捕獲クロックをイネーブルにする捕獲クロックイネーブル信号を生成するため、前記捕獲クロック制御信号に応答して前記捕獲クロック制御信号のアクティブからインアクティブへの遷移を検出する遷移検出手段と、
前記システム・クロックを受け取り、アクティブの捕獲クロックイネーブル信号に応答して、前記システム・クロックを前記捕獲クロック出力へ接続する手段と、
を含む請求項１３に記載のＢＩＳＴコントローラ。
【請求項１５】
前記制御回路が、入力デバッグ信号に応答してアクティブのデバッグ信号を生成し、前記クロック生成信号が、前記テスト・クロックから導出されたシフト・クロック及び捕獲クロックを生成することによってアクティブのデバッグ信号に応答する、請求項１３に記載のＢＩＳＴコントローラ。
【請求項１６】
前記回路の中で２つの走査可能記憶素子の間の経路に配置された非走査可能記憶素子の最大数を記憶する記憶手段を更に含む、請求項１３に記載のＢＩＳＴコントローラ。
【請求項１７】
前記遅延手段が、少なくとも１つの記憶素子を含み、前記捕獲クロック制御信号を生成する、請求項１４に記載のＢＩＳＴコントローラ。
【請求項１８】
前記遅延手段が、前記走査イネーブル信号を受け取る、請求項１７に記載のＢＩＳＴコントローラ。
【請求項１９】
遷移に応答する前記手段が遷移検出器を含み、前記遷移検出器は、前記システム・クロックの制御のもとで動作して前記捕獲クロック制御信号をサンプリングし、前記制御信号のアクティブ値からインアクティブ値への遷移を検出したことに応答して、アクティブの捕獲クロックイネーブル信号を生成する、請求項１７に記載のＢＩＳＴコントローラ。
【請求項２０】
前記遷移検出器が、更に、捕獲動作の間に実行される捕獲クロック・サイクルの数を決定する手段を含む、請求項１９に記載のＢＩＳＴコントローラ。
【請求項２１】
アクティブのデバッグ信号に応答して、ロード動作、アンロード動作、及び捕獲動作のために前記テスト・クロックを選択する手段を更に含む、請求項１３に記載のＢＩＳＴコントローラ。
【請求項２２】
前記制御回路が、アクティブの入力デバッグ信号に応答して、アクティブのデバッグ信号を生成する、請求項２１に記載のＢＩＳＴコントローラ。
【請求項２３】
前記テスト・クロック及びシステム・クロックが自走クロックである、請求項１３に記載のＢＩＳＴコントローラ。
【請求項２４】
組み合わせロジック、及び前記組み合わせロジックへ接続された走査可能クロック走査型記憶素子を含み、前記記憶素子は捕獲クロック入力、シフト・クロック入力、データ入力、データ出力、シリアル・データ入力、及びシリアル・データ出力を有する集積回路のＢＩＳＴコントローラであって、
走査イネーブル信号及び初期化制御信号を生成する制御回路と、
テスト・クロック及びシステム・クロックを受け取り、シフト・クロック及び捕獲クロックを生成するクロック生成回路と、
アクティブの走査イネーブル信号及び前記テスト・クロックに応答して、テスト・スティミュラスを生成し、前記テスト・スティミュラスを前記走査可能記憶素子の中へ逐次ロードする手段と、
インアクティブの初期化制御信号及びアクティブの走査イネーブル信号に応答して、前記走査可能記憶素子からアンロードされたテスト応答データを解析する手段とを具備し、
前記クロック生成回路は、シフト・クロック出力及びテスト・クロック入力を有し、アクティブの走査イネーブル信号に応答して前記テスト・クロック入力を前記シフト・クロック出力へ接続し、インアクティブの走査イネーブル信号に応答して前記シフト・クロック出力をディスエーブルして前記シフト・クロックを生成する手段を含み、インアクティブの走査イネーブル信号及びアクティブの初期化制御信号に応答して、前記捕獲クロックの１クロック・サイクルの間、前記テスト・クロック及びシステム・クロックの１つを前記捕獲クロック出力へ接続し、インアクティブの走査イネーブル信号及びインアクティブの初期化信号に応答して、前記捕獲クロックの少なくとも２つのサイクルの間、前記システム・クロック入力を前記捕獲クロック出力へ接続して前記捕獲クロックを生成し、更に、テスト・クロック入力、システム・クロック入力、捕獲クロック出力、前記走査イネーブル信号がインアクティブになってから所定の時間間隔の間、前記捕獲クロックのイネーブルを遅延させる捕獲クロック制御信号を生成する遅延手段を含み、前記捕獲クロック制御信号に応答して、前記捕獲クロック制御信号のアクティブからインアクティブへの遷移を検出して、前記捕獲クロックをイネーブルにする捕獲クロックイネーブル信号を生成する遷移検出手段を含み、及び前記システム・クロックを受け取り、アクティブの捕獲クロックイネーブル信号に応答して、前記システム・クロックを前記捕獲クロック出力へ接続する手段を含む、
ＢＩＳＴコントローラ。
【請求項２５】
前記制御回路が、入力デバッグ信号に応答してアクティブのデバッグ信号を生成し、前記クロック生成手段が、前記テスト・クロックから導出されたシフト・クロック及び捕獲クロックを生成することによってアクティブのデバッグ信号に応答する、請求項２４に記載のＢＩＳＴコントローラ。
【請求項２６】
前記回路の中で２つの走査可能記憶素子の間の経路に配置された非走査可能記憶素子の最大数を記憶する記憶手段を更に含む、請求項２４に記載のＢＩＳＴコントローラ。
【請求項２７】
前記遅延手段が、少なくとも１つの記憶素子を含み、前記捕獲クロック制御信号を生成する、請求項２４に記載のＢＩＳＴコントローラ。
【請求項２８】
前記遅延手段が前記走査イネーブル信号を受け取る、請求項２７に記載のＢＩＳＴコントローラ。
【請求項２９】
遷移に応答する前記手段が遷移検出器を含み、前記遷移検出器は、前記システム・クロックの制御のもとで動作して前記捕獲クロック制御信号をサンプリングし、前記制御信号のアクティブ値からインアクティブ値への遷移を検出したことに応答してアクティブの捕獲クロックイネーブル信号を生成する、請求項２７に記載のＢＩＳＴコントローラ。
【請求項３０】
前記遷移検出器が、捕獲動作の間に実行される捕獲クロック・サイクルの数を決定する手段を更に含む、請求項２９に記載のＢＩＳＴコントローラ。
【請求項３１】
アクティブのデバッグ信号に応答して、ロード動作、アンロード動作、及び捕獲動作のために前記テスト・クロックを選択する手段を更に含む、請求項２４に記載のＢＩＳＴコントローラ。
【請求項３２】
前記制御回路が、アクティブの入力デバッグ信号に応答して、アクティブのデバッグ信号を生成する、請求項３１に記載のＢＩＳＴコントローラ。
【請求項３３】
前記テスト・クロック及びシステム・クロックが自走クロックである、請求項２４に記載のＢＩＳＴコントローラ。
【請求項３４】
組み合わせロジック、及び前記組み合わせロジックへ接続された走査可能クロック走査型記憶素子を含み、前記記憶素子は捕獲クロック入力、シフト・クロック入力、データ入力、データ出力、シリアル・データ入力、及びシリアル・データ出力を有する集積回路の改善されたＢＩＳＴコントローラであって、
走査イネーブル信号及び初期化制御信号を生成する制御回路と、
テスト・クロック及びシステム・クロックを受け取り、シフト・クロック及び捕獲クロックを生成するクロック生成回路と、
アクティブの走査イネーブル信号及び前記テスト・クロックに応答してテスト・スティミュラスを生成し、前記テスト・スティミュラスを前記走査可能記憶素子の中へ逐次ロードする手段と、
インアクティブの初期化制御信号及びアクティブの走査イネーブル信号に応答して、前記走査可能記憶素子からアンロードされたテスト応答データを解析する手段とを具備し、
前記クロック生成回路は、シフト・クロック出力及びテスト・クロック入力を有し、アクティブの走査イネーブル信号に応答して前記テスト・クロック入力を前記シフト・クロック出力へ接続し、インアクティブの走査イネーブル信号に応答して前記シフト・クロック出力をディスエーブルして前記シフト・クロックを生成する手段を含み、及びテスト・クロック入力、システム・クロック入力、及び捕獲クロック出力を有し、インアクティブの走査イネーブル信号及びアクティブの初期化制御信号に応答して前記テスト・クロック及びシステム・クロックの１つを前記捕獲クロック出力へ接続し、インアクティブの走査イネーブル信号及びインアクティブの初期化信号に応答して前記捕獲クロックの少なくとも２つのサイクルの間、前記システム・クロック入力を前記捕獲クロック出力へ接続して前記捕獲クロックを生成する手段を含み、
前記組み合わせロジック手段は、アクティブの初期化信号に応答して前記組み合わせロジックの中で非走査可能記憶素子に関連付けられたシーケンシャル・ループをディスエーブルし、インアクティブの初期化信号に応答して前記組み合わせロジックの中で非走査可能記憶素子に関連付けられたディスエーブルシーケンシャル・ループをイネーブルにする、
ＢＩＳＴコントローラ。
【請求項３５】
捕獲クロックを生成する前記手段が、
前記走査イネーブル信号がインアクティブになってから所定の時間間隔の間、前記捕獲クロックのイネーブルを遅延させる捕獲クロック制御信号を生成する捕獲遅延手段と、
前記捕獲クロック制御信号に応答して前記捕獲クロック制御信号のアクティブからインアクティブへの遷移を検出し、前記捕獲クロックをイネーブルする捕獲クロックイネーブル信号を生成する遷移検出手段と、
前記システム・クロックを受け取り、アクティブの捕獲クロックイネーブル信号に応答して前記システム・クロックを前記捕獲クロック出力へ接続する手段と、
を具備する、請求項３４に記載のＢＩＳＴコントローラ。
【請求項３６】
前記制御回路が、入力デバッグ信号に応答してアクティブのデバッグ信号を生成し、前記クロック生成信号が、前記テスト・クロックから導出されたシフト・クロック及び捕獲クロックを生成することによってアクティブのデバッグ信号に応答する、請求項３５に記載の集積回路。
【請求項３７】
前記回路の中で２つの走査可能記憶素子の間の経路に配置された非走査可能記憶素子の最大数を記憶する記憶手段を更に含む、請求項３５に記載のＢＩＳＴコントローラ。
【請求項３８】
前記遅延手段が、少なくとも１つの記憶素子を含み、前記捕獲クロック制御信号を生成する、請求項３６に記載のＢＩＳＴコントローラ。
【請求項３９】
前記遅延手段が前記走査イネーブル信号を受け取る、請求項３６に記載のＢＩＳＴコントローラ。
【請求項４０】
遷移に応答する前記手段が遷移検出器を含み、前記遷移検出器は、前記システム・クロックの制御のもとで動作して前記捕獲クロック制御信号をサンプリングし、前記制御信号のアクティブ値からインアクティブ値への遷移を検出したことに応答してアクティブの捕獲クロックイネーブル信号を生成する、請求項３６に記載のＢＩＳＴコントローラ。
【請求項４１】
前記遷移検出器が、更に、捕獲動作の間に実行される捕獲クロック・サイクルの数を決定する手段を含む、請求項４０に記載のＢＩＳＴコントローラ。
【請求項４２】
アクティブのデバッグ信号に応答してロード動作、アンロード動作、及び捕獲動作のために前記テスト・クロックを選択する手段を更に含む、請求項４０に記載のＢＩＳＴコントローラ。
【請求項４３】
前記制御回路が、アクティブの入力デバッグ信号に応答してアクティブのデバッグ信号を生成する、請求項４０に記載のＢＩＳＴコントローラ。
【請求項４４】
前記テスト・クロック及びシステム・クロックが自走クロックである、請求項４０に記載のＢＩＳＴコントローラ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般的に、ディジタル・システム及びディジタル回路のテストに関し、更に具体的には、高性能ディジタル・システム及びディジタル回路のテストで使用される方法、及び、その方法を実施するテスト・コントローラに関する。
【０００２】
【従来の技術及び発明が解決しようとする課題】
ディジタル・システム及びディジタル回路のテストは、高度に進歩した技術となってきた。一般的に、集積回路は、回路が設計された機能を実行する組み合わせロジック又はコア・ロジックを含む。コア・ロジックと他のコンポーネントとの間で信号を渡すため、入力及び出力ピンが設けられる。データを記憶するため、記憶素子がチップの中に設けられる。記憶素子を直列に接続して走査チェーンを形成し、テスト・スティミュラス（試験刺激）を記憶素子の中へロードできるようにし、応答データを解析のために記憶素子からアンロードできるように、幾つかの（必ずしも全部ではない）記憶素子が構成される。テスト動作を制御するため、組み込みテスト・コントローラが設けられる。テストは、典型的には、テスト・スティミュラスを走査可能記憶素子の中へロードし、テスト・クロックの少なくとも１つのサイクルの間、正規モードで回路を動作させ、次に、解析のために記憶素子からデータをアンロードすることを含む。
【０００３】
幾つかのテストでは、テスト・クロックがテスト機器によって与えられるが、多くの場合、テストクロックはチップ又は回路が設計されたクロック速度ではない。回路パッケージングの全てのレベル、即ち、ウェーハ・プローブ、最終テスト、バーンイン、ボード及びシステム・テストなどで、回路の高速テスト（ａｔ−ｓｐｅｅｄ　ｔｅｓｔ）を実行することが望まれる。解決を必要とする１つの難点は、「クロック走査」型記憶素子を有する回路で、自走クロック（ｆｒｅｅ−ｒｕｎｎｉｎｇ　ｃｌｏｃｋ）から捕獲クロック及びシフト・クロックを生成する方法を提供することである。１９９９年１０月２９日に出願され、本発明の譲受人へ譲渡された「多数のクロックを有する回路をテストする方法及び装置」と題する同時係属米国特許出願第０９／４３０，６８６号は、記憶素子がシフト・シーケンス及び捕獲シーケンスの双方で同じクロックによって刻時される「マクスド走査（ｍｕｘｅｄ　ｓｃａｎ）」型の走査可能記憶素子のみを含む回路のために、この問題を取り扱っている。しかし、高速テストを実行するために使用される方法は、「クロック走査」手順に適用することができない。「クロック走査」手順に適用できる他の従来技術は、自走クロックから捕獲クロック及びシフト・クロックを生成する問題を取り扱っていない。なぜなら、クロックはチップの外部にあるテスタから制御されるからである。システム・クロックの周波数があまりに高く、テスタとテストされる回路との間の接続に寄生効果が生じるためテスト機器が所望のクロックを与えることができない場合、従来の方法を適用することができない。そのような場合には、自走クロックを提供するオンチップ・クロック・ジェネレータがより適している。
【０００４】
解決を必要とする他の状況は、クロックが、通常、水晶又は他の源から生成され、クロック走査手順によって要求されるシフト・シーケンス及び捕獲シーケンスと両立する様式では制御され得ないシステムで、回路を再テストする必要性がある場合である。
【０００５】
克服されなければならない更なる難点は、非走査可能記憶素子を含む被テスト回路を適切に初期化する必要性である。そのような配列において、全ての記憶素子を初期化し、未知の値がテスト・コントローラへ伝搬しないことを確実にするためには、最初のシフト・シーケンスのみを使用しても十分ではない。テストの開始時に、全ての記憶素子は未知の値を含む。走査可能記憶素子は、テスト・コントローラから既知の値をシフトすることによって初期化される。非走査可能記憶素子だけが捕獲クロックを受け取るので、それらの値は未知のままである。テスト・スティミュラス・ロード・シーケンスの終わりに、最初の捕獲クロックが記憶素子へ印加される。非走査可能記憶素子に含まれる未知の値は、組み合わせロジックを通って伝搬し、未知の値が走査可能記憶素子によって捕獲されるようになるであろう。
【０００６】
更に、走査可能記憶素子から生じたデータを受け取る非走査可能記憶素子は、既知の値を捕獲するであろう。なぜなら、それらの入力は、初期化された記憶素子の出力のみに依存するからである。しかし、もし第２の捕獲クロック・サイクルが印加されて高速テストが実行されるならば、未知のデータが非走査可能記憶素子へ伝搬するであろう。関連する問題は、「シーケンシャル・ループ」、即ち、組み合わせロジックを介して入力へ接続された出力を有する非走査可能記憶素子に関する。
【０００７】
更なる問題は、システム・クロックが診断目的に必要とされて利用できないとき、システム・クロックがなくても高速テストを実行する場合に関する。
【０００８】
本発明の目的は、クロック走査型走査可能記憶素子を使用する高性能回路のディジタル・システム及びディジタル回路をテストする方法を提供することである。
【０００９】
【課題を解決するための手段】
本発明の１つの態様は、自走テスト・クロック及び自走システム・クロックを使用して、高性能ディジタル・システム及びディジタル回路をテストする方法に関する。本発明のこの態様によれば、組み合わせロジック及び走査可能クロック走査型記憶素子を含み、各々の走査可能記憶素子が、捕獲クロック入力及びシフト・クロック入力を有する回路の高速テストを実行する方法が提供される。この方法は、自走テスト・クロックから導出されたシフト・クロックの制御のもとでテスト・スティミュラスを走査可能記憶素子の中へロードし、捕獲クロックの所定数のサイクルの間、自走テスト・クロック及び自走システム・クロックの１つから導出された捕獲クロックの制御のもとで捕獲動作を実行し、シフト・クロックの制御のもとで走査可能記憶素子からテスト応答データをアンロードすることを含む。
【００１０】
本発明の他の態様は、テスト・クロック及びシステム・クロックを使用して高性能ディジタル・システム及びディジタル回路の高速テストを実行する方法であって、システム・クロックが利用可能でないときテスト・クロックのみを使用してテストを実行することができる方法に関する。本発明のこの態様によれば、組み合わせロジック及び走査可能クロック走査型記憶素子を含み、各々の走査可能記憶素子が捕獲クロック入力及びシフト・クロック入力を有する回路の高速テストを実行する方法が提供される。この方法は、回路をアクティブ又はインアクティブのデバッグ・モードに構成し、回路がアクティブのデバッグ・モードに構成されているとき、テスト・クロックから導出されたシフト・クロック信号の制御のもとでテスト・スティミュラスを走査可能記憶素子の中へロードし、捕獲クロックの所定数のサイクルの間、テスト・クロックから導出された捕獲クロックの制御のもとで捕獲動作を実行し、シフト・クロック信号の制御のもとでテスト応答データを走査可能記憶素子からアンロードし、回路がインアクティブのデバッグ・モードに構成されているとき、テスト・クロックから導出されたシフト・クロック信号の制御のもとで走査可能記憶素子の中へテスト・スティミュラスをロードし、捕獲クロックの所定数のサイクルの間、テスト・クロック及びシステム・クロックの１つから導出された捕獲クロックの制御のもとで捕獲動作を実行し、シフト・クロック信号の制御のもとで走査可能記憶素子からテスト応答データをアンロードすることを含む。
【００１１】
本発明の更なる態様は、非走査可能記憶素子を含む高性能ディジタル・システム及びディジタル回路をテストする方法に関する。本発明のこの態様によれば、組み合わせロジック及び走査可能クロック走査型記憶素子を含み、各々の走査可能記憶素子が捕獲クロック入力及びシフト・クロック入力を有する回路の高速テストを実行する方法が提供される。この方法は、回路をアクティブ又はインアクティブの初期化モードに構成し、回路がアクティブの初期化モードに構成されているとき、初期化データを走査可能記憶素子の中へ反復してロードし、次に、回路内の全ての非走査可能記憶素子が既知の値で初期化されるまで、テスト・クロック及びシステム・クロックの１つの制御のもとで捕獲サイクルを実行し、次に、初期化信号を非活性化し、テスト・クロックから導出されたシフト・クロック信号の制御のもとでテスト・スティミュラスを走査可能記憶素子の中へロードし、捕獲クロックの所定数のサイクルの間、テスト・クロック及びシステム・クロックの１つから導出された捕獲クロックの制御のもとで捕獲動作を実行し、シフト・クロック信号の制御のもとで走査可能記憶素子からテスト応答データをアンロードすることを含む。
【００１２】
本発明のこれら及び他の特徴は、添付の図面を参照する次の説明から、より明らかになるであろう。
【００１３】
【発明の実施の形態】
図１は、相互接続された組み合わせロジック１２、記憶素子１４及び１６、並びにテスト又は組み込み自己テスト（ＢＩＳＴ）コントローラ２０を有する高度に簡略化された回路１０を示す。全ての記憶素子は、クロック入力ＣＬＫ、データ入力Ｄ、及び出力Ｑを有する。これらの入力及び出力は、回路が、正規動作の間、設計された機能を実行するために必要である。幾つかの記憶素子、ここでは「走査可能記憶素子（ｓｃａｎｎａｂｌｅ　ｍｅｍｏｒｙ　ｅｌｅｍｅｎｔ）」１６と呼ばれる記憶素子には、走査可能記憶素子を走査チェーンとして接続するための追加的入力及び出力を設けられる。記憶素子１４は、これらの追加的入力及び出力を有せず、ここでは「非走査可能記憶素子（ｎｏｎ−ｓｃａｎｎａｂｌｅ　ｍｅｍｏｒｙ　ｅｌｅｍｅｎｔ）」と呼ばれる。追加のポートには、走査チェーンに沿ってデータを移動させるシフト・クロックを受け取るクロック入力であるシフト・ポートＳＨＩＦＴ、データを受け取る入力ポートＳＩ、及びデータを走査チェーンの中の他の要素又はコントローラへ転送する出力ポートＳＯが含まれる。この例では、双方のクロックは、それぞれの上昇端でアクティブであると仮定される。即ち、データは、クロック入力が上昇するときデータ入力Ｄから出力Ｑへ転送され、シフト・クロックが上昇するとき入力ポートＳＩから出力ポートＳＯへ転送される。しかし、アクティブの極性が異なってよいことは、当業者に明らかであろう。更に、出力ポートＳＯ及び出力Ｑは同じポートであってよい。
【００１４】
走査チェーンへの直列データ入力は、メイン・テスト・コントローラ２０のＳＩ出力ポート２２へ接続され、走査チェーンの直列データ出力は、テスト・コントローラのＳＯ入力ポート２４へ接続される。通常、複数の走査チェーンが使用されるが、説明を簡単にするため１の走査チェーンのみを示す。記憶素子のクロック入力ＣＬＫは、テスト・コントローラの捕獲クロック（ＣａｐｔｕｒｅＣｌｏｃｋ）出力ポートへ接続される。シフト・クロックＳＨＩＦＴ入力は、コントローラのシフト・クロック出力ポート（Ｓｈｉｆｔ　ＣＬＫ）へ接続される。示された走査可能記憶素子で使用される走査手順は、「クロック走査」と呼ばれる。
【００１５】
テスト・コントローラは、システム・クロック及びテスト・クロックを含む２つのクロックを受け取る。これらの双方は、典型的には自走型である。システム・クロック及びテスト・クロックは、オンチップで生成されるか、チップ入力で受け取られる。テスト・クロックは、更に、システム・クロックから導出されることができる。典型的には、システム・クロックはテスト・クロックよりも高い周波数を有する。
【００１６】
走査可能記憶素子のみを含む回路、即ち、非走査可能記憶素子１４が存在しない回路で高速テストを実行するため、走査可能記憶素子は、コントローラによって、走査可能記憶素子１６の中へテスト・スティミュラス・データ出力をロード又はシフトすることによって初期化される。これは、十分な数のクロック・パルスをシフト・クロックへ印加し、適切なデータを走査チェーンの入力ＳＩへ与えることを含むシフト・シーケンス又はロード・シーケンスによって行なわれる。
【００１７】
いったん、シフト・シーケンスが完了すると、シフト・クロックはディスエーブル（動作不能）にされ、捕獲クロックがイネーブル（動作可能）にされ、捕獲クロックの２つ以上のクロック・サイクルが、記憶素子のクロック入力ＣＬＫへ印加される。これらのクロック・パルスは、正規動作の間に存在する条件に類似した条件を作り出すため、システム・クロックから導出される。前述したように、シフト・クロックは、この捕獲シーケンスの間、インアクティブ状態に置かれる。捕獲シーケンスが完了した後、捕獲クロックはインアクティブに維持され、シフト・クロックが再びイネーブルにされ、記憶素子の応答データは、テスト・コントローラによる解析のためにアンロード又はシフトアウトされる。
【００１８】
本発明の目的の１つは、回路パッケージングの全てのレベル、即ち、ウェーハ・プローブ、最終テスト、バーンイン、ボード及びシステム・テストなどで、回路の高速テストを可能にすることである。解決すべき最初の難点は、自走クロックから捕獲クロック及びシフト・クロックを生成する方法を提供することである。１９９９年１０月２９日に出願され、本発明の譲受人へ譲渡された「多数のクロックを有する回路をテストする方法及び装置」と題する同時係属米国特許出願第０９／４３０，６８６号は、記憶素子がシフト・シーケンス及び捕獲シーケンスの双方で同じクロックによって刻時される「マクスド走査（ｍｕｘｅｄ　ｓｃａｎ）」型の走査可能記憶素子のみを含む回路のために、この問題を取り扱っている。しかし、高速テストを実行するためにそこで使用される方法は、「クロック走査」手順で必要とされる方法とは異なっており、「クロック走査」手順へ適用することはできない。
【００１９】
「クロック走査」手順に適用できる他の従来技術の中では、自走クロックから捕獲クロック及びシフト・クロックを生成する問題は取り扱われていない。なぜなら、クロックはチップの外部にあるテスタから制御されるからである。システム・クロックの周波数があまりに高く、テスタとテストされる回路との間の接続に生じる寄生効果のためテスタがクロックを与えることができないとき、従来の方法を適用することはできない。この場合、自走クロックを提供するオンチップ・クロック・ジェネレータが、より適している。新しい方法を必要とする他の状況は、通常、クロック走査手順に必要なシフト・シーケンス及び捕獲シーケンスと両立するようには制御できない水晶又は他の源からクロックが生成されるシステムで、回路を再テストする場合である。
【００２０】
克服されなければならない第２の難点は、図１及び図２で示されるように、非走査可能記憶素子を含む回路の適切な初期化である。図２は、組み合わせロジック３２、及び走査可能記憶素子３４及び非走査可能記憶素子３６並びに３８を含む記憶素子の特別な配列を有する回路の一部分３０を示す。そのような配列をテストするとき、全ての記憶素子を初期化し、未知の値がテスト・コントローラへ伝搬しないことを確実にするためには、テスト・スティミュラスのロード・シーケンス又はシフト・シーケンスだけでは十分でない。それは、テストの開始時に、全ての記憶素子が未知の値を含むからである。非走査可能記憶素子を含まない回路について、前に説明した方法の最初のステップでは、走査可能記憶素子は、テスト・コントローラから既知の値をシフトインすることによって初期化される。非走査可能記憶素子は捕獲クロックのみを受け取るので、それらの値は未知のままである。シフト・シーケンスの終わりに、最初の捕獲クロックが印加される。図２の左側で非走査可能記憶素子３６に含まれる未知の値は、組み合わせロジック３２を通って伝搬し、未知の値が走査可能記憶素子３４によって捕獲される。図２の右側にある非走査可能記憶素子３８は、既知の値を捕獲する。なぜなら、それらの入力は、初期化された記憶素子３８の出力にのみ依存するからである。しかし、高速テストを実行するため、もし第２の捕獲クロック・サイクルが印加されるならば、最初の捕獲サイクルで走査可能記憶素子３４へ印加された未知のデータは、記憶素子３８へ伝搬する。
【００２１】
回路の初期化を保証するため、本発明の方法は、前述したロード・シーケンスの前に、非走査可能記憶素子の初期化手順を導入する。初期化手順の間に、本発明のテスト・コントローラは、１クロック・サイクルのみを含む捕獲シーケンスと一緒に、一連のシフト・シーケンス及び捕獲シーケンスを印加する。この手順は、回路から未知の値を漸次除去する。この初期化期間の間に、走査チェーンから出てくるデータの解析をディスエーブル（動作不能に）しなければならない。そうでなければ、テストから生じるシグネチャを反復することはできないであろう。シフト・シーケンス及び捕獲シーケンスの数は、回路の「シーケンシャル深度」に依存する。シーケンシャル深度は、回路内の任意の２つの走査可能記憶素子の間の経路で発見される非走査可能記憶素子の最大数として定義される。初期化期間の間、回路はシーケンシャル・ループを含まないものと仮定する。即ち、非走査可能記憶素子の出力を、その入力へ導くことのできる経路は存在しない。しかし、もし組み合わせロジックがシーケンシャル・ループを含むならば、図１で示されるように初期化信号（Ｉｎｉｔ）を組み合わせロジックへ印加することができ、組み合わせロジックがアクティブの初期化信号を検出したときシーケンシャル・ループをディスエーブルするように、組み合わせロジックを設計することができる。
【００２２】
第３の問題が本発明によって取り扱われる。システム・クロックを利用できないとき、システム・クロックが存在しなくてもテストを実行できなければならない。この能力は診断（ｄｉａｇｎｏｓｔｉｃ）のためには有用である。図３は、これまで説明した全ての問題を取り扱うテスト・コントローラの様々なモジュールを示す。
【００２３】
図３を参照すると、コントローラ２０は、制御モジュール４０、クロック生成モジュール４２、疑似ランダム・パターン・ジェネレータ（ＰＲＰＧ）４４、及び多入力シグネチャ・レジスタ（ＭＩＳＲ）４６を含むように示される。制御モジュールは、テスト・クロック及び本発明には重要でない他の入力（図示されない）を受け取り、幾つかの出力信号を生成する。これらの出力信号は、アクティブ（論理値ハイ）であるときシフト・シーケンスが処理されていることを示し、インアクティブ（論理値ロー）であるとき捕獲シーケンスが処理されていることを示す走査イネーブル信号（ＳｃａｎＥｎａｂｌｅ；ＳＥ）、アクティブ（論理値ハイ）であるとき回路が初期化段階にあることを示し、インアクティブ（論理値ロー）であるとき回路が初期化される（又は初期化された）ことを示す初期化信号、及びアクティブ（論理値ハイ）であるときシフト・シーケンス及び捕獲シーケンスの双方のためにテスト・クロックを使用してテストを実行するべきであることを示し、インアクティブ（論理値ロー）であるときシステム・クロックを使用して高速捕獲シーケンスを実行するべきことを示すデバッグ信号Ｄｅｂｕｇを含む。制御モジュールによって生成される他の信号は示されていない。
【００２４】
クロック生成モジュールは、前述した３つの制御信号、及びシステム・クロック並びにテスト・クロックを受け取り、シフト・クロック及び捕獲クロックを各々生成する。回路の正規動作の間、システム・クロックはコントローラの捕獲クロック出力へ直接接続され、テスト・クロックは使用されず、シフト・クロックはインアクティブ、この例では論理値ローに維持される。テストの間、シフト・クロックはテスト・クロックから引き出され、捕獲クロックは、高速捕獲シーケンスの間ではシステム・クロックから引き出され、初期化シーケンス及びデバッグ・シーケンスの間ではテスト・クロックから導出される。しかし、所望であれば、本発明から逸脱することなく、初期化の間にシステム・クロックが使用されてよいことを理解すべきである。
【００２５】
シグネチャ・レジスタ４６は、走査チェーンからの直列データ及び初期化信号を受け取る。シグネチャ・レジスタ４６は、初期化信号がインアクティブ（論理値ロー）になって回路が完全に初期化されたことを示すまで、走査チェーンから受け取られたデータの解析を開始しない。テストの終わりに、シグネチャ・レジスタは回路のシグネチャを含む。このシグネチャを、テスト・コントローラに含まれる参照シグネチャと比較することができ、あるいはシグネチャ・レジスタの内容を検査のためにシフトアウトすることができる。シグネチャ・レジスタは当技術分野でよく知られており、詳細には説明しない。ランダム・パターン・ジェネレータ４４は、シフト・クロックをペースに、走査チェーンを介して、テストされる回路へデータを提供する。ランダム・パターン・ジェネレータもまた当技術分野でよく知られており、これ以上説明しない。コントローラは、更に、テストを開始しテスト結果を収集するために使用される他の入力及び出力を有する。これらは当技術分野でよく知られており、ここでは図示又は説明しない。
【００２６】
図４は、本発明の方法をサポートするクロック生成モジュール４２の１つの実施形態を示す。シフト・クロックは、ＡＮＤゲート５０を使用して、単に走査イネーブル信号をテスト・クロックと一緒にゲートすることによって生成される。シフト・クロック出力上にグリッチが生成されないように、無競争（ｒａｃｅ−ｆｒｅｅ）動作を確保するため、ラッチ５２が設けられる。
【００２７】
初期化信号及びデバッグ信号はＯＲゲート５４へ印加される。ＯＲゲート５４の出力はＡＮＤゲート５６の１つの入力へ印加される。ラッチ５２の出力はインバータ５８によって反転され、ＡＮＤゲート５６の第２の入力へ印加される。テスト・クロックは、ＡＮＤゲート５６の第３の入力へ印加される。従って、例示された実施形態において、テスト・クロックから導出されたシフト・クロックは、記憶素子の全てのロード及びアンロード動作に使用される。
【００２８】
捕獲クロック（Ｃａｐｔｕｒｅ　ＣＬＫ）は２つの電位源を有する。初期化信号又はデバッグ信号、又は、これらの双方がアクティブである初期化又はデバッグの間、捕獲クロックは、ＡＮＤゲート５６を使用して、テスト・クロックを走査イネーブル信号の反転と一緒にゲートすることによって得られる。高速テストがイネーブルされ、初期化信号及びデバッグ信号の双方がインアクティブであるとき、ＡＮＤゲート６２によって、遅延した走査イネーブル信号の降下の遷移を検出する遷移検出器回路６０の出力及びシステム・クロックをゲートすることによって、捕獲クロックが得られる。この複雑な回路が必要である理由は、通常、このような場合、システム・クロック及びテスト・クロックが相互に非同期的であり、従って同期させなければならないからである。
【００２９】
走査イネーブル制御信号は遅延回路６４で遅延される。遅延回路６４は捕獲クロック制御信号ＳＥＤを生成する。捕獲クロック制御信号は、図６のタイミング図では走査イネーブル遅延信号ＳｃａｎＥｎａｂｌｅＤｅｌａｙｅｄ（ＳＥＤ）として示される。遅延回路６４は、テスト・クロック信号へ接続されるクロック入力を有する（図示されない）記憶素子を使用する。制御信号を１／２、１、１＋１／２などのクロック・サイクルだけ遅延させるため、好ましくは、クロック信号の上昇端又は降下端に応答して更新することのできる記憶素子が使用される。データが走査可能記憶素子から他の全ての記憶素子へ伝搬する十分な時間を得た後、応答データのアンロード・シフト・シーケンスが開始する少し前に、システム・クロック信号から導出された捕獲クロックがアクティブになるように、遅延が選択される。例示された簡略な回路では、走査イネーブル信号は、テスト・クロックの半クロック・サイクルだけ遅延する。遅延は、次に説明する遷移検出器６０によって導入される遅延を考慮に入れなければならない。遷移検出器６０のクロック入力はシステム・クロック信号へ接続される。
【００３０】
図５は、本発明の目的に適した遷移検出器回路６０を示す。テスト・クロック及びシステム・クロックは、相互に非同期であってよいから、テスト・クロックを使用して生成される制御信号は、システム・クロックと同期化されなければならない。これは、直列に接続された記憶素子を使用して、遅延制御信号ＳＥＤをサンプリングすることによって行なわれる。通常、遅延制御信号が良好に同期化されることを保証し、また回路が準安定状態へ入らないことを保証するためには、２つの記憶素子６６及び６８があれば十分である。この同期化方法は当技術分野でよく知られている。
【００３１】
遷移検出器６０の第２の部分７０は、捕獲クロックイネーブル信号ＥＮを生成し、一対の記憶素子７２及び７４、インバータ７６、及びＡＮＤゲート７８を含む。捕獲クロックイネーブル信号のアクティブ値は、捕獲クロックをイネーブルする。インアクティブ値は捕獲クロックをディスエーブルする。アクティブ値は、同期遅延制御信号ＳＥＤのアクティブ値からインアクティブ値への遷移に応答して生成される。アクティブ値は、記憶素子６８の後に置かれた記憶素子の数に対応する所定数のシステム・クロック・サイクルの間に生成される。記憶素子６４の出力は、反転値同期化遅延制御信号ＳＥＤである。インバータ７６は、信号を反転し、それをＡＮＤゲート７８へ印加する。図示された回路において、図５のタイミング図で示されるように、記憶素子の数は２つである。しかし、任意の数の記憶素子を使用することができる。記憶素子のチェーンの長さを、所望される最大数のシステム・クロック・サイクルにし、このチェーンの任意の記憶素子の出力を選択するメカニズムを設け、イネーブル信号ＥＮを生成するＡＮＤゲートの第２の入力へ印加することによって、記憶素子の数が可変になるようにコントローラを設計することができる。そのような回路は図示されないが、当業者によく知られている。
【００３２】
図６のタイミング図は、本発明の方法で使用される主要な信号の関係を示す。システム・クロック信号ＳｙｓｔｅｍＣＬＫは、この例では、テスト・クロック信号ＢｉｓｔＣＬＫよりも約８倍早いように示されている。システム・クロック及びテスト・クロックの双方は自走型である。
【００３３】
テストを開始する前に、シフト・クロック及び捕獲クロックの双方がディスエーブルされる。初期化を必要とする非走査可能記憶素子を含む回路において、本発明の方法に従った高速テストは以下の内容を含むであろう。
【００３４】
コントローラは、当技術分野でよく知られるように、適切なテスト・モード信号（図示されていない）を提供することによって開始される。シフト・クロック及び捕獲クロックはディスエーブルされる。最初のステップは、全ての非走査可能記憶素子を初期化することである。それを行なうため、自走テスト・クロックをゲートし、アクティブの走査イネーブル信号及びアクティブの初期化信号を生成することによって、シフト・クロックがイネーブルにされる。初期化データは、ランダム・パターン・ジェネレータによって決定されたシフト・シーケンスに従って、全ての走査可能記憶素子の中へシフトインされる。
【００３５】
このシフト・シーケンスの終わりに、走査イネーブル信号が非活性化され、シフト・クロックが、インアクティブの走査イネーブル信号に応答してディスエーブルされる。テスト・クロックの単一のクロック・サイクルの間、走査イネーブル信号のアクティブ値からインアクティブ値への遷移に応答して、捕獲クロックがイネーブルにされ、自走テスト・クロックから生成される。これは図６の最初の捕獲クロック波形８０によって示される。走査イネーブル信号はテスト・クロックの１クロック・サイクルの間、インアクティブであることに注意されたい。それによって、走査可能記憶素子の中へロードされた初期化データが組み合わせロジックへ印加され、組み合わせロジックは、それに接続された様々な記憶素子へ出力を印加する。そのような記憶素子は非走査可能記憶素子を含む。この初期化シーケンスの終わりに、走査イネーブル信号が再び活性化される。それによって、自走テスト・クロックがゲートされ、シフト・クロックが再びイネーブルにされる。説明した初期化シーケンスの間、初期化信号はアクティブに維持される。それによって、クロック生成信号は、システム・クロックではなくテスト・クロックを使用して、捕獲クロックを生成する。
【００３６】
捕獲クロックを生成するためには、テスト・クロックの代わりにシステム・クロックを使用できることに注意すべきである。これは、記憶素子７２及び７４とＡＮＤゲート７８との間にマルチプレクサを置くことによって達成される。初期化信号がアクティブであるとき、記憶素子７２の出力がＡＮＤゲート７８へ印加される。初期化信号がインアクティブであるとき、記憶素子７４の出力がＡＮＤゲート７８へ印加される。従って、初期化期間の捕獲サイクルの間、システム・クロックから導出された単一のクロック・パルスが、全ての記憶素子へ印加される。
【００３７】
これまで説明した初期化シーケンスは、全ての非走査可能記憶素子に確実に既知のデータがロードされるように、必要な回数だけ反復される。前述したように、反復の回数は、回路のシーケンシャル深度に依存する。この回数は、所与の回路について前もって決定されており、テスト・コントローラの中へプログラムされる。初期化反復の全てが完了したとき、以下に説明するように、非走査可能記憶素子を有しない回路と同じように高速テストが実行される。
【００３８】
一般的に、テスト・スティミュラスは全ての走査可能記憶素子の中へロードされ、次に、システム・クロックの制御のもとで捕獲シーケンスが実行される。更に具体的には、初期化信号のインアクティブ値が生成され、アクティブの走査イネーブル信号が生成される。テスト・スティミュラスは、シフト・シーケンスに従って全ての走査可能記憶素子の中へシフトされ、その間に、前のテストの出力応答がシフトアウトされて解析される。しかし、シグネチャ・レジスタは、初期化シーケンスに続く最初のロード・シーケンスの間、ディスエーブルされることに注意すべきである。なぜなら、記憶素子は有効な応答データを含まないからである。このロード動作の終わりに、走査イネーブル信号が非活性化され、それによってシフト・クロックはディスエーブルされる。テスト・クロックの所定数の半クロック・サイクル（ゼロ・サイクルを含む）の間、制御信号（走査イネーブル遅延信号；ＳＥＤ）はアクティブに保たれ、次にディスエーブルされる。これは遅延回路６４で達成される。この降下遷移は遷移検出器６０によって検出される。遷移検出器６０はアクティブの捕獲クロックイネーブル信号ＥＮを生成する。信号ＥＮによって、システム・クロックの少なくとも２つのクロック・サイクルが、捕獲クロックとして記憶素子のクロック入力ＣＬＫへ出力される。これは高速捕獲シーケンスを完了する。この捕獲シーケンスによって、テスト・スティミュラスは組み合わせロジックへ印加され、組み合わせロジックは、それに応答して、応答データを記憶素子の中へ印加する。
【００３９】
次に、応答データは、走査イネーブル信号を再び活性化することによって走査可能記憶素子からアンロードされる。それによって、シフト・クロックは自走テスト・クロックのゲートによって再びイネーブルにされる。これは、応答データをシグネチャ・レジスタの中へロードさせる。応答データはシグネチャ・レジスタで解析され、回路シグネチャが生成及び確認される。
【００４０】
要するに、初期化シーケンスの間、走査イネーブル信号は、「マクスド走査」手順を使用する走査可能回路の場合に通常起こるように、テスト・クロックの１周期、即ち、捕獲サイクルの間、インアクティブであるように示される。シフト・クロックはアクティブであり、走査イネーブル信号がアクティブである間、本質的にテスト・クロックのコピーである。走査イネーブル信号がインアクティブであるとき、シフト・クロックはインアクティブである。
【００４１】
初期化及びデバッグの間、捕獲クロックはテスト・クロックから導出され、単一のパルスが印加され、テスト・クロックをイネーブルにする前に遅延は強制されない。初期化期間が完了し、回路がデバッグ・モードにないとき、制御信号が遅延され、遅延した制御信号の降下遷移が遷移検出器によって検出される。遷移検出器は、システム・クロックから導出された捕獲クロックの２つ以上のクロック・サイクルを生成する。これらの２つのパルスによって、高速テストが適用される。
【００４２】
図示された回路は、４よりも大きな周波数比に対して良好に働くであろう。これは、高性能回路に典型的な周波数比である。もし低い周波数比が必要とされ、テスト・クロックの周波数を変更できないとすれば、有効シフト・クロック周波数を低減して、捕獲クロック周波数に関して４よりも大きな周波数比を維持しなければならない。この状況を処理するためには、２つの方法を利用することができる。適切なテスト・コントローラを設計するためには、Ｎａｄｅａｕ−Ｄｏｓｔｉｅらの米国特許第５，３４９，５８７号、及びＮａｄｅａｕ−Ｄｏｓｔｉｅらの米国特許出願第０９／１９２，８３９号を使用することができる。双方の場合、有効シフト・クロック周波数を、テスト・コントローラへ印加される参照テスト・クロックの１／４にすることができる。従って、１以上のクロック周波数比を処理することができる。
【００４３】
これまで説明した本発明に対しては、特許請求の範囲で定義される本発明の趣旨から逸脱することなく様々な修正及び変更が可能であることを当業者は理解するであろう。
【図面の簡単な説明】
【図１】組み合わせロジック、走査可能及び非走査可能記憶素子、及び本発明に従ったテスト・コントローラを有する簡略な集積回路を示す。
【図２】高速テストの前に初期化を必要とする簡略な回路の一部分を示す。
【図３】本発明の好ましい実施形態に従ったテスト・コントローラの簡略なブロック図を示す。
【図４】本発明の好ましい実施形態に従ったクロック生成モジュールを示す。
【図５】クロック生成モジュールで使用される遷移検出器の１つの実施形態を示す。
【図６】本発明の方法及びテスト・コントローラの１つの実施形態に従った高速テストの間の主要な信号の状態を示すタイミング図である。
【図１】
2004502147.tif 000003
【図２】
2004502147.tif 000004
【図３】
2004502147.tif 000005
【図４】
2004502147.tif 000006
【図５】
2004502147.tif 000007
【図６】
2004502147.tif 000008
【国際公開パンフレット】
2004502147.tif 000009
2004502147.tif 000010
2004502147.tif 000011
2004502147.tif 000012
2004502147.tif 000013
2004502147.tif 000014
2004502147.tif 000015
2004502147.tif 000016
2004502147.tif 000017
2004502147.tif 000018
2004502147.tif 000019
2004502147.tif 000020
2004502147.tif 000021
2004502147.tif 000022
2004502147.tif 000023
2004502147.tif 000024
2004502147.tif 000025
2004502147.tif 000026
2004502147.tif 000027
2004502147.tif 000028
2004502147.tif 000029
2004502147.tif 000030
2004502147.tif 000031
2004502147.tif 000032
2004502147.tif 000033
2004502147.tif 000034
2004502147.tif 000035
2004502147.tif 000036
2004502147.tif 000037
2004502147.tif 000038
2004502147.tif 000039
2004502147.tif 000040
2004502147.tif 000041
2004502147.tif 000042
2004502147.tif 000043
2004502147.tif 000044
【国際公開パンフレット（コレクトバージョン）】
2004502147.tif 000045
2004502147.tif 000046
【国際調査報告】
2004502147.tif 000047
2004502147.tif 000048