JP2004502147A - 高性能回路をテストする方法及び装置 - Google Patents

高性能回路をテストする方法及び装置 Download PDF

Info

Publication number
JP2004502147A
JP2004502147A JP2002505756A JP2002505756A JP2004502147A JP 2004502147 A JP2004502147 A JP 2004502147A JP 2002505756 A JP2002505756 A JP 2002505756A JP 2002505756 A JP2002505756 A JP 2002505756A JP 2004502147 A JP2004502147 A JP 2004502147A
Authority
JP
Japan
Prior art keywords
clock
capture
test
signal
active
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.)
Pending
Application number
JP2002505756A
Other languages
English (en)
Inventor
ナド−ドティ、ブノワ
マーマリ、ファディ
ビュレック、ドウェイン
コテ、ジャン−フランソワ
Original Assignee
ロジックヴィジョン インコーポレイテッド
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ロジックヴィジョン インコーポレイテッド filed Critical ロジックヴィジョン インコーポレイテッド
Publication of JP2004502147A publication Critical patent/JP2004502147A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • G11C29/56012Timing aspects, clock generation, synchronisation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318552Clock circuits details
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318558Addressing or selecting of subparts of the device under test
    • G01R31/318563Multiple simultaneous testing of subparts
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/30Accessing single arrays
    • G11C2029/3202Scan chain

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Logic Circuits (AREA)

Abstract

組み合わせロジック及び記憶素子(走査可能記憶素子でも非走査可能記憶素子でもよい)を有する高性能ディジタル・システム及びディジタル回路の高速テストを実行する方法は、シフト・シーケンスに続く捕獲シーケンスの間、少なくとも2つのクロック・パルスをイネーブルすることによって実行される。非走査可能記憶素子は、高速テストが実行される前のテストの開始時に、走査可能記憶素子を介して初期化される。初期化の間、制御ロジックは、捕獲のためのシステム・クロック・パルスの生成をディスエーブルする信号を生成する。その代わりに、テスト・クロック又はシステム・クロックから導出される1つのクロック・サイクルが、非走査可能素子を初期化するために生成される。

Description

【0001】
【発明の属する技術分野】
本発明は、一般的に、ディジタル・システム及びディジタル回路のテストに関し、更に具体的には、高性能ディジタル・システム及びディジタル回路のテストで使用される方法、及び、その方法を実施するテスト・コントローラに関する。
【0002】
【従来の技術及び発明が解決しようとする課題】
ディジタル・システム及びディジタル回路のテストは、高度に進歩した技術となってきた。一般的に、集積回路は、回路が設計された機能を実行する組み合わせロジック又はコア・ロジックを含む。コア・ロジックと他のコンポーネントとの間で信号を渡すため、入力及び出力ピンが設けられる。データを記憶するため、記憶素子がチップの中に設けられる。記憶素子を直列に接続して走査チェーンを形成し、テスト・スティミュラス(試験刺激)を記憶素子の中へロードできるようにし、応答データを解析のために記憶素子からアンロードできるように、幾つかの(必ずしも全部ではない)記憶素子が構成される。テスト動作を制御するため、組み込みテスト・コントローラが設けられる。テストは、典型的には、テスト・スティミュラスを走査可能記憶素子の中へロードし、テスト・クロックの少なくとも1つのサイクルの間、正規モードで回路を動作させ、次に、解析のために記憶素子からデータをアンロードすることを含む。
【0003】
幾つかのテストでは、テスト・クロックがテスト機器によって与えられるが、多くの場合、テストクロックはチップ又は回路が設計されたクロック速度ではない。回路パッケージングの全てのレベル、即ち、ウェーハ・プローブ、最終テスト、バーンイン、ボード及びシステム・テストなどで、回路の高速テスト(at−speed test)を実行することが望まれる。解決を必要とする1つの難点は、「クロック走査」型記憶素子を有する回路で、自走クロック(free−running clock)から捕獲クロック及びシフト・クロックを生成する方法を提供することである。1999年10月29日に出願され、本発明の譲受人へ譲渡された「多数のクロックを有する回路をテストする方法及び装置」と題する同時係属米国特許出願第09/430,686号は、記憶素子がシフト・シーケンス及び捕獲シーケンスの双方で同じクロックによって刻時される「マクスド走査(muxed scan)」型の走査可能記憶素子のみを含む回路のために、この問題を取り扱っている。しかし、高速テストを実行するために使用される方法は、「クロック走査」手順に適用することができない。「クロック走査」手順に適用できる他の従来技術は、自走クロックから捕獲クロック及びシフト・クロックを生成する問題を取り扱っていない。なぜなら、クロックはチップの外部にあるテスタから制御されるからである。システム・クロックの周波数があまりに高く、テスタとテストされる回路との間の接続に寄生効果が生じるためテスト機器が所望のクロックを与えることができない場合、従来の方法を適用することができない。そのような場合には、自走クロックを提供するオンチップ・クロック・ジェネレータがより適している。
【0004】
解決を必要とする他の状況は、クロックが、通常、水晶又は他の源から生成され、クロック走査手順によって要求されるシフト・シーケンス及び捕獲シーケンスと両立する様式では制御され得ないシステムで、回路を再テストする必要性がある場合である。
【0005】
克服されなければならない更なる難点は、非走査可能記憶素子を含む被テスト回路を適切に初期化する必要性である。そのような配列において、全ての記憶素子を初期化し、未知の値がテスト・コントローラへ伝搬しないことを確実にするためには、最初のシフト・シーケンスのみを使用しても十分ではない。テストの開始時に、全ての記憶素子は未知の値を含む。走査可能記憶素子は、テスト・コントローラから既知の値をシフトすることによって初期化される。非走査可能記憶素子だけが捕獲クロックを受け取るので、それらの値は未知のままである。テスト・スティミュラス・ロード・シーケンスの終わりに、最初の捕獲クロックが記憶素子へ印加される。非走査可能記憶素子に含まれる未知の値は、組み合わせロジックを通って伝搬し、未知の値が走査可能記憶素子によって捕獲されるようになるであろう。
【0006】
更に、走査可能記憶素子から生じたデータを受け取る非走査可能記憶素子は、既知の値を捕獲するであろう。なぜなら、それらの入力は、初期化された記憶素子の出力のみに依存するからである。しかし、もし第2の捕獲クロック・サイクルが印加されて高速テストが実行されるならば、未知のデータが非走査可能記憶素子へ伝搬するであろう。関連する問題は、「シーケンシャル・ループ」、即ち、組み合わせロジックを介して入力へ接続された出力を有する非走査可能記憶素子に関する。
【0007】
更なる問題は、システム・クロックが診断目的に必要とされて利用できないとき、システム・クロックがなくても高速テストを実行する場合に関する。
【0008】
本発明の目的は、クロック走査型走査可能記憶素子を使用する高性能回路のディジタル・システム及びディジタル回路をテストする方法を提供することである。
【0009】
【課題を解決するための手段】
本発明の1つの態様は、自走テスト・クロック及び自走システム・クロックを使用して、高性能ディジタル・システム及びディジタル回路をテストする方法に関する。本発明のこの態様によれば、組み合わせロジック及び走査可能クロック走査型記憶素子を含み、各々の走査可能記憶素子が、捕獲クロック入力及びシフト・クロック入力を有する回路の高速テストを実行する方法が提供される。この方法は、自走テスト・クロックから導出されたシフト・クロックの制御のもとでテスト・スティミュラスを走査可能記憶素子の中へロードし、捕獲クロックの所定数のサイクルの間、自走テスト・クロック及び自走システム・クロックの1つから導出された捕獲クロックの制御のもとで捕獲動作を実行し、シフト・クロックの制御のもとで走査可能記憶素子からテスト応答データをアンロードすることを含む。
【0010】
本発明の他の態様は、テスト・クロック及びシステム・クロックを使用して高性能ディジタル・システム及びディジタル回路の高速テストを実行する方法であって、システム・クロックが利用可能でないときテスト・クロックのみを使用してテストを実行することができる方法に関する。本発明のこの態様によれば、組み合わせロジック及び走査可能クロック走査型記憶素子を含み、各々の走査可能記憶素子が捕獲クロック入力及びシフト・クロック入力を有する回路の高速テストを実行する方法が提供される。この方法は、回路をアクティブ又はインアクティブのデバッグ・モードに構成し、回路がアクティブのデバッグ・モードに構成されているとき、テスト・クロックから導出されたシフト・クロック信号の制御のもとでテスト・スティミュラスを走査可能記憶素子の中へロードし、捕獲クロックの所定数のサイクルの間、テスト・クロックから導出された捕獲クロックの制御のもとで捕獲動作を実行し、シフト・クロック信号の制御のもとでテスト応答データを走査可能記憶素子からアンロードし、回路がインアクティブのデバッグ・モードに構成されているとき、テスト・クロックから導出されたシフト・クロック信号の制御のもとで走査可能記憶素子の中へテスト・スティミュラスをロードし、捕獲クロックの所定数のサイクルの間、テスト・クロック及びシステム・クロックの1つから導出された捕獲クロックの制御のもとで捕獲動作を実行し、シフト・クロック信号の制御のもとで走査可能記憶素子からテスト応答データをアンロードすることを含む。
【0011】
本発明の更なる態様は、非走査可能記憶素子を含む高性能ディジタル・システム及びディジタル回路をテストする方法に関する。本発明のこの態様によれば、組み合わせロジック及び走査可能クロック走査型記憶素子を含み、各々の走査可能記憶素子が捕獲クロック入力及びシフト・クロック入力を有する回路の高速テストを実行する方法が提供される。この方法は、回路をアクティブ又はインアクティブの初期化モードに構成し、回路がアクティブの初期化モードに構成されているとき、初期化データを走査可能記憶素子の中へ反復してロードし、次に、回路内の全ての非走査可能記憶素子が既知の値で初期化されるまで、テスト・クロック及びシステム・クロックの1つの制御のもとで捕獲サイクルを実行し、次に、初期化信号を非活性化し、テスト・クロックから導出されたシフト・クロック信号の制御のもとでテスト・スティミュラスを走査可能記憶素子の中へロードし、捕獲クロックの所定数のサイクルの間、テスト・クロック及びシステム・クロックの1つから導出された捕獲クロックの制御のもとで捕獲動作を実行し、シフト・クロック信号の制御のもとで走査可能記憶素子からテスト応答データをアンロードすることを含む。
【0012】
本発明のこれら及び他の特徴は、添付の図面を参照する次の説明から、より明らかになるであろう。
【0013】
【発明の実施の形態】
図1は、相互接続された組み合わせロジック12、記憶素子14及び16、並びにテスト又は組み込み自己テスト(BIST)コントローラ20を有する高度に簡略化された回路10を示す。全ての記憶素子は、クロック入力CLK、データ入力D、及び出力Qを有する。これらの入力及び出力は、回路が、正規動作の間、設計された機能を実行するために必要である。幾つかの記憶素子、ここでは「走査可能記憶素子(scannable memory element)」16と呼ばれる記憶素子には、走査可能記憶素子を走査チェーンとして接続するための追加的入力及び出力を設けられる。記憶素子14は、これらの追加的入力及び出力を有せず、ここでは「非走査可能記憶素子(non−scannable memory element)」と呼ばれる。追加のポートには、走査チェーンに沿ってデータを移動させるシフト・クロックを受け取るクロック入力であるシフト・ポートSHIFT、データを受け取る入力ポートSI、及びデータを走査チェーンの中の他の要素又はコントローラへ転送する出力ポートSOが含まれる。この例では、双方のクロックは、それぞれの上昇端でアクティブであると仮定される。即ち、データは、クロック入力が上昇するときデータ入力Dから出力Qへ転送され、シフト・クロックが上昇するとき入力ポートSIから出力ポートSOへ転送される。しかし、アクティブの極性が異なってよいことは、当業者に明らかであろう。更に、出力ポートSO及び出力Qは同じポートであってよい。
【0014】
走査チェーンへの直列データ入力は、メイン・テスト・コントローラ20のSI出力ポート22へ接続され、走査チェーンの直列データ出力は、テスト・コントローラのSO入力ポート24へ接続される。通常、複数の走査チェーンが使用されるが、説明を簡単にするため1の走査チェーンのみを示す。記憶素子のクロック入力CLKは、テスト・コントローラの捕獲クロック(CaptureClock)出力ポートへ接続される。シフト・クロックSHIFT入力は、コントローラのシフト・クロック出力ポート(Shift CLK)へ接続される。示された走査可能記憶素子で使用される走査手順は、「クロック走査」と呼ばれる。
【0015】
テスト・コントローラは、システム・クロック及びテスト・クロックを含む2つのクロックを受け取る。これらの双方は、典型的には自走型である。システム・クロック及びテスト・クロックは、オンチップで生成されるか、チップ入力で受け取られる。テスト・クロックは、更に、システム・クロックから導出されることができる。典型的には、システム・クロックはテスト・クロックよりも高い周波数を有する。
【0016】
走査可能記憶素子のみを含む回路、即ち、非走査可能記憶素子14が存在しない回路で高速テストを実行するため、走査可能記憶素子は、コントローラによって、走査可能記憶素子16の中へテスト・スティミュラス・データ出力をロード又はシフトすることによって初期化される。これは、十分な数のクロック・パルスをシフト・クロックへ印加し、適切なデータを走査チェーンの入力SIへ与えることを含むシフト・シーケンス又はロード・シーケンスによって行なわれる。
【0017】
いったん、シフト・シーケンスが完了すると、シフト・クロックはディスエーブル(動作不能)にされ、捕獲クロックがイネーブル(動作可能)にされ、捕獲クロックの2つ以上のクロック・サイクルが、記憶素子のクロック入力CLKへ印加される。これらのクロック・パルスは、正規動作の間に存在する条件に類似した条件を作り出すため、システム・クロックから導出される。前述したように、シフト・クロックは、この捕獲シーケンスの間、インアクティブ状態に置かれる。捕獲シーケンスが完了した後、捕獲クロックはインアクティブに維持され、シフト・クロックが再びイネーブルにされ、記憶素子の応答データは、テスト・コントローラによる解析のためにアンロード又はシフトアウトされる。
【0018】
本発明の目的の1つは、回路パッケージングの全てのレベル、即ち、ウェーハ・プローブ、最終テスト、バーンイン、ボード及びシステム・テストなどで、回路の高速テストを可能にすることである。解決すべき最初の難点は、自走クロックから捕獲クロック及びシフト・クロックを生成する方法を提供することである。1999年10月29日に出願され、本発明の譲受人へ譲渡された「多数のクロックを有する回路をテストする方法及び装置」と題する同時係属米国特許出願第09/430,686号は、記憶素子がシフト・シーケンス及び捕獲シーケンスの双方で同じクロックによって刻時される「マクスド走査(muxed scan)」型の走査可能記憶素子のみを含む回路のために、この問題を取り扱っている。しかし、高速テストを実行するためにそこで使用される方法は、「クロック走査」手順で必要とされる方法とは異なっており、「クロック走査」手順へ適用することはできない。
【0019】
「クロック走査」手順に適用できる他の従来技術の中では、自走クロックから捕獲クロック及びシフト・クロックを生成する問題は取り扱われていない。なぜなら、クロックはチップの外部にあるテスタから制御されるからである。システム・クロックの周波数があまりに高く、テスタとテストされる回路との間の接続に生じる寄生効果のためテスタがクロックを与えることができないとき、従来の方法を適用することはできない。この場合、自走クロックを提供するオンチップ・クロック・ジェネレータが、より適している。新しい方法を必要とする他の状況は、通常、クロック走査手順に必要なシフト・シーケンス及び捕獲シーケンスと両立するようには制御できない水晶又は他の源からクロックが生成されるシステムで、回路を再テストする場合である。
【0020】
克服されなければならない第2の難点は、図1及び図2で示されるように、非走査可能記憶素子を含む回路の適切な初期化である。図2は、組み合わせロジック32、及び走査可能記憶素子34及び非走査可能記憶素子36並びに38を含む記憶素子の特別な配列を有する回路の一部分30を示す。そのような配列をテストするとき、全ての記憶素子を初期化し、未知の値がテスト・コントローラへ伝搬しないことを確実にするためには、テスト・スティミュラスのロード・シーケンス又はシフト・シーケンスだけでは十分でない。それは、テストの開始時に、全ての記憶素子が未知の値を含むからである。非走査可能記憶素子を含まない回路について、前に説明した方法の最初のステップでは、走査可能記憶素子は、テスト・コントローラから既知の値をシフトインすることによって初期化される。非走査可能記憶素子は捕獲クロックのみを受け取るので、それらの値は未知のままである。シフト・シーケンスの終わりに、最初の捕獲クロックが印加される。図2の左側で非走査可能記憶素子36に含まれる未知の値は、組み合わせロジック32を通って伝搬し、未知の値が走査可能記憶素子34によって捕獲される。図2の右側にある非走査可能記憶素子38は、既知の値を捕獲する。なぜなら、それらの入力は、初期化された記憶素子38の出力にのみ依存するからである。しかし、高速テストを実行するため、もし第2の捕獲クロック・サイクルが印加されるならば、最初の捕獲サイクルで走査可能記憶素子34へ印加された未知のデータは、記憶素子38へ伝搬する。
【0021】
回路の初期化を保証するため、本発明の方法は、前述したロード・シーケンスの前に、非走査可能記憶素子の初期化手順を導入する。初期化手順の間に、本発明のテスト・コントローラは、1クロック・サイクルのみを含む捕獲シーケンスと一緒に、一連のシフト・シーケンス及び捕獲シーケンスを印加する。この手順は、回路から未知の値を漸次除去する。この初期化期間の間に、走査チェーンから出てくるデータの解析をディスエーブル(動作不能に)しなければならない。そうでなければ、テストから生じるシグネチャを反復することはできないであろう。シフト・シーケンス及び捕獲シーケンスの数は、回路の「シーケンシャル深度」に依存する。シーケンシャル深度は、回路内の任意の2つの走査可能記憶素子の間の経路で発見される非走査可能記憶素子の最大数として定義される。初期化期間の間、回路はシーケンシャル・ループを含まないものと仮定する。即ち、非走査可能記憶素子の出力を、その入力へ導くことのできる経路は存在しない。しかし、もし組み合わせロジックがシーケンシャル・ループを含むならば、図1で示されるように初期化信号(Init)を組み合わせロジックへ印加することができ、組み合わせロジックがアクティブの初期化信号を検出したときシーケンシャル・ループをディスエーブルするように、組み合わせロジックを設計することができる。
【0022】
第3の問題が本発明によって取り扱われる。システム・クロックを利用できないとき、システム・クロックが存在しなくてもテストを実行できなければならない。この能力は診断(diagnostic)のためには有用である。図3は、これまで説明した全ての問題を取り扱うテスト・コントローラの様々なモジュールを示す。
【0023】
図3を参照すると、コントローラ20は、制御モジュール40、クロック生成モジュール42、疑似ランダム・パターン・ジェネレータ(PRPG)44、及び多入力シグネチャ・レジスタ(MISR)46を含むように示される。制御モジュールは、テスト・クロック及び本発明には重要でない他の入力(図示されない)を受け取り、幾つかの出力信号を生成する。これらの出力信号は、アクティブ(論理値ハイ)であるときシフト・シーケンスが処理されていることを示し、インアクティブ(論理値ロー)であるとき捕獲シーケンスが処理されていることを示す走査イネーブル信号(ScanEnable;SE)、アクティブ(論理値ハイ)であるとき回路が初期化段階にあることを示し、インアクティブ(論理値ロー)であるとき回路が初期化される(又は初期化された)ことを示す初期化信号、及びアクティブ(論理値ハイ)であるときシフト・シーケンス及び捕獲シーケンスの双方のためにテスト・クロックを使用してテストを実行するべきであることを示し、インアクティブ(論理値ロー)であるときシステム・クロックを使用して高速捕獲シーケンスを実行するべきことを示すデバッグ信号Debugを含む。制御モジュールによって生成される他の信号は示されていない。
【0024】
クロック生成モジュールは、前述した3つの制御信号、及びシステム・クロック並びにテスト・クロックを受け取り、シフト・クロック及び捕獲クロックを各々生成する。回路の正規動作の間、システム・クロックはコントローラの捕獲クロック出力へ直接接続され、テスト・クロックは使用されず、シフト・クロックはインアクティブ、この例では論理値ローに維持される。テストの間、シフト・クロックはテスト・クロックから引き出され、捕獲クロックは、高速捕獲シーケンスの間ではシステム・クロックから引き出され、初期化シーケンス及びデバッグ・シーケンスの間ではテスト・クロックから導出される。しかし、所望であれば、本発明から逸脱することなく、初期化の間にシステム・クロックが使用されてよいことを理解すべきである。
【0025】
シグネチャ・レジスタ46は、走査チェーンからの直列データ及び初期化信号を受け取る。シグネチャ・レジスタ46は、初期化信号がインアクティブ(論理値ロー)になって回路が完全に初期化されたことを示すまで、走査チェーンから受け取られたデータの解析を開始しない。テストの終わりに、シグネチャ・レジスタは回路のシグネチャを含む。このシグネチャを、テスト・コントローラに含まれる参照シグネチャと比較することができ、あるいはシグネチャ・レジスタの内容を検査のためにシフトアウトすることができる。シグネチャ・レジスタは当技術分野でよく知られており、詳細には説明しない。ランダム・パターン・ジェネレータ44は、シフト・クロックをペースに、走査チェーンを介して、テストされる回路へデータを提供する。ランダム・パターン・ジェネレータもまた当技術分野でよく知られており、これ以上説明しない。コントローラは、更に、テストを開始しテスト結果を収集するために使用される他の入力及び出力を有する。これらは当技術分野でよく知られており、ここでは図示又は説明しない。
【0026】
図4は、本発明の方法をサポートするクロック生成モジュール42の1つの実施形態を示す。シフト・クロックは、ANDゲート50を使用して、単に走査イネーブル信号をテスト・クロックと一緒にゲートすることによって生成される。シフト・クロック出力上にグリッチが生成されないように、無競争(race−free)動作を確保するため、ラッチ52が設けられる。
【0027】
初期化信号及びデバッグ信号はORゲート54へ印加される。ORゲート54の出力はANDゲート56の1つの入力へ印加される。ラッチ52の出力はインバータ58によって反転され、ANDゲート56の第2の入力へ印加される。テスト・クロックは、ANDゲート56の第3の入力へ印加される。従って、例示された実施形態において、テスト・クロックから導出されたシフト・クロックは、記憶素子の全てのロード及びアンロード動作に使用される。
【0028】
捕獲クロック(Capture CLK)は2つの電位源を有する。初期化信号又はデバッグ信号、又は、これらの双方がアクティブである初期化又はデバッグの間、捕獲クロックは、ANDゲート56を使用して、テスト・クロックを走査イネーブル信号の反転と一緒にゲートすることによって得られる。高速テストがイネーブルされ、初期化信号及びデバッグ信号の双方がインアクティブであるとき、ANDゲート62によって、遅延した走査イネーブル信号の降下の遷移を検出する遷移検出器回路60の出力及びシステム・クロックをゲートすることによって、捕獲クロックが得られる。この複雑な回路が必要である理由は、通常、このような場合、システム・クロック及びテスト・クロックが相互に非同期的であり、従って同期させなければならないからである。
【0029】
走査イネーブル制御信号は遅延回路64で遅延される。遅延回路64は捕獲クロック制御信号SEDを生成する。捕獲クロック制御信号は、図6のタイミング図では走査イネーブル遅延信号ScanEnableDelayed(SED)として示される。遅延回路64は、テスト・クロック信号へ接続されるクロック入力を有する(図示されない)記憶素子を使用する。制御信号を1/2、1、1+1/2などのクロック・サイクルだけ遅延させるため、好ましくは、クロック信号の上昇端又は降下端に応答して更新することのできる記憶素子が使用される。データが走査可能記憶素子から他の全ての記憶素子へ伝搬する十分な時間を得た後、応答データのアンロード・シフト・シーケンスが開始する少し前に、システム・クロック信号から導出された捕獲クロックがアクティブになるように、遅延が選択される。例示された簡略な回路では、走査イネーブル信号は、テスト・クロックの半クロック・サイクルだけ遅延する。遅延は、次に説明する遷移検出器60によって導入される遅延を考慮に入れなければならない。遷移検出器60のクロック入力はシステム・クロック信号へ接続される。
【0030】
図5は、本発明の目的に適した遷移検出器回路60を示す。テスト・クロック及びシステム・クロックは、相互に非同期であってよいから、テスト・クロックを使用して生成される制御信号は、システム・クロックと同期化されなければならない。これは、直列に接続された記憶素子を使用して、遅延制御信号SEDをサンプリングすることによって行なわれる。通常、遅延制御信号が良好に同期化されることを保証し、また回路が準安定状態へ入らないことを保証するためには、2つの記憶素子66及び68があれば十分である。この同期化方法は当技術分野でよく知られている。
【0031】
遷移検出器60の第2の部分70は、捕獲クロックイネーブル信号ENを生成し、一対の記憶素子72及び74、インバータ76、及びANDゲート78を含む。捕獲クロックイネーブル信号のアクティブ値は、捕獲クロックをイネーブルする。インアクティブ値は捕獲クロックをディスエーブルする。アクティブ値は、同期遅延制御信号SEDのアクティブ値からインアクティブ値への遷移に応答して生成される。アクティブ値は、記憶素子68の後に置かれた記憶素子の数に対応する所定数のシステム・クロック・サイクルの間に生成される。記憶素子64の出力は、反転値同期化遅延制御信号SEDである。インバータ76は、信号を反転し、それをANDゲート78へ印加する。図示された回路において、図5のタイミング図で示されるように、記憶素子の数は2つである。しかし、任意の数の記憶素子を使用することができる。記憶素子のチェーンの長さを、所望される最大数のシステム・クロック・サイクルにし、このチェーンの任意の記憶素子の出力を選択するメカニズムを設け、イネーブル信号ENを生成するANDゲートの第2の入力へ印加することによって、記憶素子の数が可変になるようにコントローラを設計することができる。そのような回路は図示されないが、当業者によく知られている。
【0032】
図6のタイミング図は、本発明の方法で使用される主要な信号の関係を示す。システム・クロック信号SystemCLKは、この例では、テスト・クロック信号BistCLKよりも約8倍早いように示されている。システム・クロック及びテスト・クロックの双方は自走型である。
【0033】
テストを開始する前に、シフト・クロック及び捕獲クロックの双方がディスエーブルされる。初期化を必要とする非走査可能記憶素子を含む回路において、本発明の方法に従った高速テストは以下の内容を含むであろう。
【0034】
コントローラは、当技術分野でよく知られるように、適切なテスト・モード信号(図示されていない)を提供することによって開始される。シフト・クロック及び捕獲クロックはディスエーブルされる。最初のステップは、全ての非走査可能記憶素子を初期化することである。それを行なうため、自走テスト・クロックをゲートし、アクティブの走査イネーブル信号及びアクティブの初期化信号を生成することによって、シフト・クロックがイネーブルにされる。初期化データは、ランダム・パターン・ジェネレータによって決定されたシフト・シーケンスに従って、全ての走査可能記憶素子の中へシフトインされる。
【0035】
このシフト・シーケンスの終わりに、走査イネーブル信号が非活性化され、シフト・クロックが、インアクティブの走査イネーブル信号に応答してディスエーブルされる。テスト・クロックの単一のクロック・サイクルの間、走査イネーブル信号のアクティブ値からインアクティブ値への遷移に応答して、捕獲クロックがイネーブルにされ、自走テスト・クロックから生成される。これは図6の最初の捕獲クロック波形80によって示される。走査イネーブル信号はテスト・クロックの1クロック・サイクルの間、インアクティブであることに注意されたい。それによって、走査可能記憶素子の中へロードされた初期化データが組み合わせロジックへ印加され、組み合わせロジックは、それに接続された様々な記憶素子へ出力を印加する。そのような記憶素子は非走査可能記憶素子を含む。この初期化シーケンスの終わりに、走査イネーブル信号が再び活性化される。それによって、自走テスト・クロックがゲートされ、シフト・クロックが再びイネーブルにされる。説明した初期化シーケンスの間、初期化信号はアクティブに維持される。それによって、クロック生成信号は、システム・クロックではなくテスト・クロックを使用して、捕獲クロックを生成する。
【0036】
捕獲クロックを生成するためには、テスト・クロックの代わりにシステム・クロックを使用できることに注意すべきである。これは、記憶素子72及び74とANDゲート78との間にマルチプレクサを置くことによって達成される。初期化信号がアクティブであるとき、記憶素子72の出力がANDゲート78へ印加される。初期化信号がインアクティブであるとき、記憶素子74の出力がANDゲート78へ印加される。従って、初期化期間の捕獲サイクルの間、システム・クロックから導出された単一のクロック・パルスが、全ての記憶素子へ印加される。
【0037】
これまで説明した初期化シーケンスは、全ての非走査可能記憶素子に確実に既知のデータがロードされるように、必要な回数だけ反復される。前述したように、反復の回数は、回路のシーケンシャル深度に依存する。この回数は、所与の回路について前もって決定されており、テスト・コントローラの中へプログラムされる。初期化反復の全てが完了したとき、以下に説明するように、非走査可能記憶素子を有しない回路と同じように高速テストが実行される。
【0038】
一般的に、テスト・スティミュラスは全ての走査可能記憶素子の中へロードされ、次に、システム・クロックの制御のもとで捕獲シーケンスが実行される。更に具体的には、初期化信号のインアクティブ値が生成され、アクティブの走査イネーブル信号が生成される。テスト・スティミュラスは、シフト・シーケンスに従って全ての走査可能記憶素子の中へシフトされ、その間に、前のテストの出力応答がシフトアウトされて解析される。しかし、シグネチャ・レジスタは、初期化シーケンスに続く最初のロード・シーケンスの間、ディスエーブルされることに注意すべきである。なぜなら、記憶素子は有効な応答データを含まないからである。このロード動作の終わりに、走査イネーブル信号が非活性化され、それによってシフト・クロックはディスエーブルされる。テスト・クロックの所定数の半クロック・サイクル(ゼロ・サイクルを含む)の間、制御信号(走査イネーブル遅延信号;SED)はアクティブに保たれ、次にディスエーブルされる。これは遅延回路64で達成される。この降下遷移は遷移検出器60によって検出される。遷移検出器60はアクティブの捕獲クロックイネーブル信号ENを生成する。信号ENによって、システム・クロックの少なくとも2つのクロック・サイクルが、捕獲クロックとして記憶素子のクロック入力CLKへ出力される。これは高速捕獲シーケンスを完了する。この捕獲シーケンスによって、テスト・スティミュラスは組み合わせロジックへ印加され、組み合わせロジックは、それに応答して、応答データを記憶素子の中へ印加する。
【0039】
次に、応答データは、走査イネーブル信号を再び活性化することによって走査可能記憶素子からアンロードされる。それによって、シフト・クロックは自走テスト・クロックのゲートによって再びイネーブルにされる。これは、応答データをシグネチャ・レジスタの中へロードさせる。応答データはシグネチャ・レジスタで解析され、回路シグネチャが生成及び確認される。
【0040】
要するに、初期化シーケンスの間、走査イネーブル信号は、「マクスド走査」手順を使用する走査可能回路の場合に通常起こるように、テスト・クロックの1周期、即ち、捕獲サイクルの間、インアクティブであるように示される。シフト・クロックはアクティブであり、走査イネーブル信号がアクティブである間、本質的にテスト・クロックのコピーである。走査イネーブル信号がインアクティブであるとき、シフト・クロックはインアクティブである。
【0041】
初期化及びデバッグの間、捕獲クロックはテスト・クロックから導出され、単一のパルスが印加され、テスト・クロックをイネーブルにする前に遅延は強制されない。初期化期間が完了し、回路がデバッグ・モードにないとき、制御信号が遅延され、遅延した制御信号の降下遷移が遷移検出器によって検出される。遷移検出器は、システム・クロックから導出された捕獲クロックの2つ以上のクロック・サイクルを生成する。これらの2つのパルスによって、高速テストが適用される。
【0042】
図示された回路は、4よりも大きな周波数比に対して良好に働くであろう。これは、高性能回路に典型的な周波数比である。もし低い周波数比が必要とされ、テスト・クロックの周波数を変更できないとすれば、有効シフト・クロック周波数を低減して、捕獲クロック周波数に関して4よりも大きな周波数比を維持しなければならない。この状況を処理するためには、2つの方法を利用することができる。適切なテスト・コントローラを設計するためには、Nadeau−Dostieらの米国特許第5,349,587号、及びNadeau−Dostieらの米国特許出願第09/192,839号を使用することができる。双方の場合、有効シフト・クロック周波数を、テスト・コントローラへ印加される参照テスト・クロックの1/4にすることができる。従って、1以上のクロック周波数比を処理することができる。
【0043】
これまで説明した本発明に対しては、特許請求の範囲で定義される本発明の趣旨から逸脱することなく様々な修正及び変更が可能であることを当業者は理解するであろう。
【図面の簡単な説明】
【図1】組み合わせロジック、走査可能及び非走査可能記憶素子、及び本発明に従ったテスト・コントローラを有する簡略な集積回路を示す。
【図2】高速テストの前に初期化を必要とする簡略な回路の一部分を示す。
【図3】本発明の好ましい実施形態に従ったテスト・コントローラの簡略なブロック図を示す。
【図4】本発明の好ましい実施形態に従ったクロック生成モジュールを示す。
【図5】クロック生成モジュールで使用される遷移検出器の1つの実施形態を示す。
【図6】本発明の方法及びテスト・コントローラの1つの実施形態に従った高速テストの間の主要な信号の状態を示すタイミング図である。

Claims (44)

  1. 組み合わせロジック及び走査可能クロック走査型記憶素子を含み、前記記憶素子が捕獲クロック入力及びシフト・クロック入力を有する回路の高速テストを、テスト・クロック及びシステム・クロックを使用して実行する方法であって、
    前記回路を、アクティブ又はインアクティブの初期化モードへ構成し、
    前記回路がアクティブの初期化モードに構成されているとき、
    前記組み合わせロジックの中で非走査可能記憶素子に関連付けられたシーケンシャル・ループをディスエーブルし、
    テスト応答データの解析をディスエーブルし、
    テスト・クロック及びシステム・クロックの1つから導出されたクロック信号の制御のもとで前記走査可能記憶素子の中へ初期化データをロードすること、及びテスト・クロック及びシステム・クロックの1つから導出されたクロック信号の制御のもとで捕獲サイクルを実行すること、を含む所定数の初期化サイクルを実行し、
    前記初期化信号を非活性化し、
    前記組み合わせロジックの中でディスエーブルにされたシーケンシャル・ループをイネーブルし、
    前記テスト・クロックから導出されたシフト・クロック信号の制御のもとで前記走査可能記憶素子へテスト・スティミュラスをロードし、
    前記テスト・クロック及び自走システム・クロックの1つから導出された捕獲クロックの制御のもとで、前記捕獲クロックの所定数のサイクルの間、捕獲動作を実行し、
    テスト応答データの解析をイネーブルし、
    前記シフト・クロック信号の制御のもとで前記走査可能記憶素子からテスト応答データをアンロードすること、
    を含む方法。
  2. テスト・スティミュラスの前記ロード、及び初期化データの前記ロードの各々が、
    アクティブの走査イネーブル信号及びアクティブの捕獲クロック制御信号を生成し、
    アクティブの前記走査イネーブル信号に応答して前記テスト・クロックから導出されたアクティブのシフト・クロックを生成し、
    シフト・シーケンスの前記ロードの終わりにインアクティブの走査イネーブル信号を生成し、インアクティブの前記走査イネーブル信号に応答して前記シフト・クロックをディスエーブルすることを含む、請求項1に記載の方法。
  3. アクティブの捕獲クロック制御信号の前記生成が、前記走査イネーブル信号から前記捕獲クロック制御信号を導出して、インアクティブの走査イネーブル信号の前記生成に続く前記テスト・クロックの前記所定数の半クロック・サイクルの間、前記制御信号をアクティブに維持することを含む、請求項2に記載の方法。
  4. 捕獲動作の前記実行が、前記シフト・クロックのディスエーブルに続く前記テスト・クロックの前記所定数の半クロック・サイクルの間、前記制御信号をアクティブに維持し、次に前記制御信号を非活性化することを含み、
    前記捕獲動作の前記実行が、前記制御信号のアクティブ状態からインアクティブ状態への遷移に応答して前記捕獲動作を実行することを含む、
    請求項2に記載の方法。
  5. 初期化サイクルの前記所定数が、少なくとも、前記回路の中の2つの走査可能記憶素子の間の経路に配置された非走査可能記憶素子の最大数である、請求項1に記載の方法。
  6. 前記回路を構成することがデバッグ信号の生成を含み、捕獲動作の前記実行が、更に、デバッグ信号のアクティブ値に応答して前記テスト・クロックから導出された捕獲クロックを選択することを含む、請求項1に記載の方法。
  7. 組み合わせロジック及び走査可能クロック走査型記憶素子を含み、各々の前記走査可能記憶素子が捕獲クロック入力及びシフト・クロック入力を有する回路の高速テストを、自走テスト・クロック及び自走システム・クロックを使用して実行する方法であって、
    アクティブの走査イネーブル信号、初期化信号、捕獲クロック制御信号を生成し、
    前記初期化信号がアクティブである間に、アクティブの前記走査イネーブル信号に応答して自走テスト・クロックから導出されたシフト・クロックをイネーブルし、前記シフト・クロックの制御のもとでシフト・シーケンスに従って初期化データを前記走査可能記憶素子の中へロードし、インアクティブの前記走査イネーブル信号に応答して前記走査イネーブル信号を非活性化して前記シフト・クロックをディスエーブルし、インアクティブの前記走査イネーブル信号に応答して前記テスト・クロック及びシステム・クロックの1つから導出された捕獲クロックをイネーブルし、前記捕獲クロックの1つのクロック・サイクルを印加すること、を含む所定数の非走査可能記憶素子初期化サイクルを実行し、
    前記回路の中の全ての非走査可能記憶素子が初期化されたとき、前記初期化信号を非活性化し、
    アクティブの走査イネーブル信号を生成し、アクティブの前記走査イネーブル信号に応答して自走テスト・クロックから導出されたシフト・クロックをイネーブルし、前記シフト・クロックの制御のもとで前記テスト・スティミュラスを前記走査可能記憶素子の中へ逐次シフトし、前記走査イネーブル信号を非活性化し、インアクティブの前記走査イネーブル信号に応答して前記シフト・クロックをディスエーブルすることを含むシフト・シーケンスに従ってテスト・スティミュラスを前記走査可能記憶素子の中へロードし、
    前記テスト・クロック及びシステム・クロックの1つを捕獲クロックとして選択し、前記捕獲クロック制御信号がアクティブである間に、前記捕獲クロックのイネーブルを遅延させ、少なくとも2つのクロック・サイクルの間、前記捕獲クロックをイネーブルにすることを含む捕獲動作を実行し、
    アクティブの走査イネーブル信号を生成し、
    アクティブの前記走査イネーブル信号に応答して自走テスト・クロックから導出された前記シフト・クロックをイネーブルし、前記シフト・クロックの制御のもとで前記テスト応答データを前記走査可能記憶素子から逐次にシフトすることを含むようにテスト応答データを前記走査可能記憶素子からアンロードし、
    前記テスト応答データを解析すること、
    を含む方法。
  8. 組み合わせロジック及び走査可能クロック走査型記憶素子を含み、各々の前記走査可能記憶素子が捕獲クロック入力及びシフト・クロック入力を有する回路の高速テストを、自走テスト・クロック及び自走システム・クロックを使用して実行する方法であって、
    前記自走テスト・クロックから導出されたシフト・クロックの制御のもとでテスト・スティミュラスを前記走査可能記憶素子の中へロードし、
    前記自走テスト・クロック及び前記自走システム・クロックの1つから導出された捕獲クロックの制御のもとで、前記捕獲クロックの所定数のサイクルの間、捕獲動作を実行し、及び、
    前記シフト・クロックの制御のもとで前記走査可能記憶素子からテスト応答データをアンロードすること、
    を含む方法。
  9. 前記テスト・クロックの制御のもとで初期化データを前記走査可能記憶素子の中へロードし、次に、前記テスト・クロック及び前記システム・クロックの1つの1クロック・サイクルの間、前記回路を正規モードで動作させることを含む所定数の初期化シーケンスを実行することによって、テスト・スティミュラスをロードする前に前記回路の中の非走査可能記憶素子を初期化すること、を更に含む請求項8に記載の方法。
  10. 初期化シーケンスの前記所定数が、少なくとも、前記回路の中で2つの走査可能記憶素子の間の経路に配置された非走査可能記憶素子の最大数である、請求項9に記載の方法。
  11. 組み合わせロジック及び走査可能クロック走査型記憶素子を含み、各々の前記走査可能記憶素子が捕獲クロック入力及びシフト・クロック入力を有する回路の高速テストを実行する方法であって、
    前記回路をアクティブ又はインアクティブのデバッグ・モードに構成し、
    前記回路がアクティブのデバッグ・モードに構成されているとき、
    テスト・クロックから導出されたシフト・クロック信号の制御のもとでテスト・スティミュラスを前記走査可能記憶素子の中へロードし、
    前記テスト・クロックから導出された捕獲クロックの制御のもとで、前記捕獲クロックの所定数のサイクルの間、捕獲動作を実行し、
    前記シフト・クロック信号の制御のもとで前記走査可能記憶素子からテスト応答データをアンロードし、
    前記回路がインアクティブのデバッグ・モードに構成されているとき、
    テスト・クロックから導出されたシフト・クロック信号の制御のもとでテスト・スティミュラスを前記走査可能記憶素子の中へロードし、
    前記テスト・クロック及びシステム・クロックの1つから導出された捕獲クロックの制御のもとで、前記捕獲クロックの所定数のサイクルの間、捕獲動作を実行し、
    前記シフト・クロック信号の制御のもとで前記走査可能記憶素子からテスト応答データをアンロードすること、
    を含む方法。
  12. 組み合わせロジック及び走査可能クロック走査型記憶素子を含み、各々の前記走査可能記憶素子が捕獲クロック入力及びシフト・クロック入力を有する回路の高速テストを実行する方法であって、
    前記回路をアクティブ又はインアクティブのデバッグ・モードに構成し、
    前記回路をアクティブ又はインアクティブの初期化モードに構成し、
    前記回路がインアクティブのデバッグ・モードに構成されており、
    前記回路がアクティブの初期化モードに構成されているとき、
    前記組み合わせロジックの中で非走査可能記憶素子に関連付けられたシーケンシャル・ループをディスエーブルし、
    テスト応答データの解析をディスエーブルし、初期化データを前記走査可能記憶素子の中へ反復してロードし、次に、前記回路の非走査可能記憶素子が既知の値で初期化されてしまうまで、自走テスト・クロック及び自走システム・クロックの1つから導出されたシフト・クロックの制御のもとで捕獲サイクルを実行し、次に、前記初期化信号を非活性化することを含むように、前記回路の中で非走査可能記憶素子を初期化し、
    テスト応答データの解析をイネーブルし、
    前記組み合わせロジックの中のディスエーブルシーケンシャル・ループをイネーブルし、
    前記自走テスト・クロック及び自走システム・クロックの1つから導出されたシフト・クロック信号の制御のもとでテスト・スティミュラスを前記走査可能記憶素子の中へロードし、
    前記システム・クロックから導出された捕獲クロック及び自走システム・クロックの制御のもとで、前記捕獲クロックの所定数のサイクルの間、捕獲動作を実行し、
    前記シフト・クロックの制御のもとで前記走査可能記憶素子からテスト応答データをアンロードし、
    前記回路がインアクティブの初期化モードに構成されているとき、
    前記自走テスト・クロック及び自走システム・クロックの1つから導出されたシフト・クロック信号の制御のもとでテスト・スティミュラスを前記走査可能記憶素子の中へロードし、
    前記テスト・クロック及び自走システム・クロックの1つから導出された捕獲クロックの制御のもとで、前記捕獲クロックの所定数のサイクルの間、捕獲動作を実行し、
    前記シフト・クロックの制御のもとでテスト応答データを前記走査可能記憶素子からアンロードし、
    前記回路がアクティブのデバッグ・モードに構成されており、
    前記回路がアクティブの初期化モードに構成されているとき、
    前記組み合わせロジックの中で非走査可能記憶素子に関連付けられたシーケンシャル・ループをディスエーブルし、テスト応答データの解析をディスエーブルし、初期化データを前記走査可能記憶素子の中へ反復的にロードし、次に、前記回路の非走査可能記憶素子が既知の値で初期化されてしまうまで、自走テスト・クロックから導出されたシフト・クロックの制御のもとで捕獲サイクルを実行し、次に、前記初期化信号を非活性化することを含むように、前記回路の中で非走査可能記憶素子を初期化し、
    テスト応答データの解析をイネーブルし、
    前記組み合わせロジックの中のディスエーブルシーケンシャル・ループをイネーブルし、
    前記自走テスト・クロック及び自走システム・クロックの1つから導出されたシフト・クロック信号の制御のもとでテスト・スティミュラスを前記走査可能記憶素子の中へロードし、
    前記テスト・クロックから導出された捕獲クロックの制御のもとで、前記捕獲クロックの所定数のサイクルの間、捕獲動作を実行し、
    前記シフト・クロックの制御のもとでテスト応答データを前記走査可能記憶素子からアンロードし、
    前記回路がインアクティブの初期化モードに構成されているとき、
    前記自走テスト・クロックから導出されたシフト・クロック信号の制御のもとでテスト・スティミュラスを前記走査可能記憶素子の中へロードし、
    前記テスト・クロックから導出された捕獲クロックの制御のもとで、前記捕獲クロックの所定数のサイクルの間、捕獲動作を実行し、
    前記シフト・クロックの制御のもとでテスト応答データを前記走査可能記憶素子からアンロードし、
    前記応答データを解析及び確認すること、
    を含む方法。
  13. 組み合わせロジック、及び前記組み合わせロジックへ接続された走査可能クロック走査型記憶素子を含み、前記記憶素子が捕獲クロック入力、シフト・クロック入力、データ入力、データ出力、シリアル・データ入力、及びシリアル・データ出力を有する集積回路のBISTコントローラであって、
    走査イネーブル信号及び初期化制御信号を生成する制御回路と、
    テスト・クロック及びシステム・クロックを受け取り、シフト・クロック及び捕獲クロックを生成するクロック生成回路と、
    アクティブの走査イネーブル信号及び前記テスト・クロックに応答して、テスト・スティミュラスを生成し、前記テスト・スティミュラスを前記走査可能記憶素子の中へ逐次にロードする手段と、
    インアクティブの初期化制御信号及びアクティブの走査イネーブル信号に応答して、前記走査可能記憶素子からアンロードされたテスト応答データを解析する手段とを具備し、
    前記クロック生成回路は、シフト・クロック出力及びテスト・クロック入力を有し、アクティブの走査イネーブル信号に応答して前記テスト・クロック入力を前記シフト・クロック出力へ接続し、インアクティブの走査イネーブル信号に応答して前記シフト・クロック出力をディスエーブルして前記シフト・クロックを生成する手段を含み、及びテスト・クロック入力、システム・クロック入力、並びに捕獲クロック出力を有し、インアクティブの走査イネーブル信号及びアクティブの初期化制御信号に応答して、前記捕獲クロックの1つのクロック・サイクルの間、前記テスト・クロック及びシステム・クロックの1つを前記捕獲クロック出力へ接続し、インアクティブの走査イネーブル信号及びインアクティブの初期化信号に応答して、前記捕獲クロックの少なくとも2つのサイクルの間、前記システム・クロック入力を前記捕獲クロック出力へ接続して前記捕獲クロックを生成する手段を含む、
    BISTコントローラ。
  14. 捕獲クロックを生成する前記手段が、
    前記走査イネーブル信号がインアクティブになってから所定の時間間隔の間、前記捕獲クロックのイネーブルを遅延させる捕獲クロック制御信号を生成する捕獲遅延手段と、
    前記捕獲クロックをイネーブルにする捕獲クロックイネーブル信号を生成するため、前記捕獲クロック制御信号に応答して前記捕獲クロック制御信号のアクティブからインアクティブへの遷移を検出する遷移検出手段と、
    前記システム・クロックを受け取り、アクティブの捕獲クロックイネーブル信号に応答して、前記システム・クロックを前記捕獲クロック出力へ接続する手段と、
    を含む請求項13に記載のBISTコントローラ。
  15. 前記制御回路が、入力デバッグ信号に応答してアクティブのデバッグ信号を生成し、前記クロック生成信号が、前記テスト・クロックから導出されたシフト・クロック及び捕獲クロックを生成することによってアクティブのデバッグ信号に応答する、請求項13に記載のBISTコントローラ。
  16. 前記回路の中で2つの走査可能記憶素子の間の経路に配置された非走査可能記憶素子の最大数を記憶する記憶手段を更に含む、請求項13に記載のBISTコントローラ。
  17. 前記遅延手段が、少なくとも1つの記憶素子を含み、前記捕獲クロック制御信号を生成する、請求項14に記載のBISTコントローラ。
  18. 前記遅延手段が、前記走査イネーブル信号を受け取る、請求項17に記載のBISTコントローラ。
  19. 遷移に応答する前記手段が遷移検出器を含み、前記遷移検出器は、前記システム・クロックの制御のもとで動作して前記捕獲クロック制御信号をサンプリングし、前記制御信号のアクティブ値からインアクティブ値への遷移を検出したことに応答して、アクティブの捕獲クロックイネーブル信号を生成する、請求項17に記載のBISTコントローラ。
  20. 前記遷移検出器が、更に、捕獲動作の間に実行される捕獲クロック・サイクルの数を決定する手段を含む、請求項19に記載のBISTコントローラ。
  21. アクティブのデバッグ信号に応答して、ロード動作、アンロード動作、及び捕獲動作のために前記テスト・クロックを選択する手段を更に含む、請求項13に記載のBISTコントローラ。
  22. 前記制御回路が、アクティブの入力デバッグ信号に応答して、アクティブのデバッグ信号を生成する、請求項21に記載のBISTコントローラ。
  23. 前記テスト・クロック及びシステム・クロックが自走クロックである、請求項13に記載のBISTコントローラ。
  24. 組み合わせロジック、及び前記組み合わせロジックへ接続された走査可能クロック走査型記憶素子を含み、前記記憶素子は捕獲クロック入力、シフト・クロック入力、データ入力、データ出力、シリアル・データ入力、及びシリアル・データ出力を有する集積回路のBISTコントローラであって、
    走査イネーブル信号及び初期化制御信号を生成する制御回路と、
    テスト・クロック及びシステム・クロックを受け取り、シフト・クロック及び捕獲クロックを生成するクロック生成回路と、
    アクティブの走査イネーブル信号及び前記テスト・クロックに応答して、テスト・スティミュラスを生成し、前記テスト・スティミュラスを前記走査可能記憶素子の中へ逐次ロードする手段と、
    インアクティブの初期化制御信号及びアクティブの走査イネーブル信号に応答して、前記走査可能記憶素子からアンロードされたテスト応答データを解析する手段とを具備し、
    前記クロック生成回路は、シフト・クロック出力及びテスト・クロック入力を有し、アクティブの走査イネーブル信号に応答して前記テスト・クロック入力を前記シフト・クロック出力へ接続し、インアクティブの走査イネーブル信号に応答して前記シフト・クロック出力をディスエーブルして前記シフト・クロックを生成する手段を含み、インアクティブの走査イネーブル信号及びアクティブの初期化制御信号に応答して、前記捕獲クロックの1クロック・サイクルの間、前記テスト・クロック及びシステム・クロックの1つを前記捕獲クロック出力へ接続し、インアクティブの走査イネーブル信号及びインアクティブの初期化信号に応答して、前記捕獲クロックの少なくとも2つのサイクルの間、前記システム・クロック入力を前記捕獲クロック出力へ接続して前記捕獲クロックを生成し、更に、テスト・クロック入力、システム・クロック入力、捕獲クロック出力、前記走査イネーブル信号がインアクティブになってから所定の時間間隔の間、前記捕獲クロックのイネーブルを遅延させる捕獲クロック制御信号を生成する遅延手段を含み、前記捕獲クロック制御信号に応答して、前記捕獲クロック制御信号のアクティブからインアクティブへの遷移を検出して、前記捕獲クロックをイネーブルにする捕獲クロックイネーブル信号を生成する遷移検出手段を含み、及び前記システム・クロックを受け取り、アクティブの捕獲クロックイネーブル信号に応答して、前記システム・クロックを前記捕獲クロック出力へ接続する手段を含む、
    BISTコントローラ。
  25. 前記制御回路が、入力デバッグ信号に応答してアクティブのデバッグ信号を生成し、前記クロック生成手段が、前記テスト・クロックから導出されたシフト・クロック及び捕獲クロックを生成することによってアクティブのデバッグ信号に応答する、請求項24に記載のBISTコントローラ。
  26. 前記回路の中で2つの走査可能記憶素子の間の経路に配置された非走査可能記憶素子の最大数を記憶する記憶手段を更に含む、請求項24に記載のBISTコントローラ。
  27. 前記遅延手段が、少なくとも1つの記憶素子を含み、前記捕獲クロック制御信号を生成する、請求項24に記載のBISTコントローラ。
  28. 前記遅延手段が前記走査イネーブル信号を受け取る、請求項27に記載のBISTコントローラ。
  29. 遷移に応答する前記手段が遷移検出器を含み、前記遷移検出器は、前記システム・クロックの制御のもとで動作して前記捕獲クロック制御信号をサンプリングし、前記制御信号のアクティブ値からインアクティブ値への遷移を検出したことに応答してアクティブの捕獲クロックイネーブル信号を生成する、請求項27に記載のBISTコントローラ。
  30. 前記遷移検出器が、捕獲動作の間に実行される捕獲クロック・サイクルの数を決定する手段を更に含む、請求項29に記載のBISTコントローラ。
  31. アクティブのデバッグ信号に応答して、ロード動作、アンロード動作、及び捕獲動作のために前記テスト・クロックを選択する手段を更に含む、請求項24に記載のBISTコントローラ。
  32. 前記制御回路が、アクティブの入力デバッグ信号に応答して、アクティブのデバッグ信号を生成する、請求項31に記載のBISTコントローラ。
  33. 前記テスト・クロック及びシステム・クロックが自走クロックである、請求項24に記載のBISTコントローラ。
  34. 組み合わせロジック、及び前記組み合わせロジックへ接続された走査可能クロック走査型記憶素子を含み、前記記憶素子は捕獲クロック入力、シフト・クロック入力、データ入力、データ出力、シリアル・データ入力、及びシリアル・データ出力を有する集積回路の改善されたBISTコントローラであって、
    走査イネーブル信号及び初期化制御信号を生成する制御回路と、
    テスト・クロック及びシステム・クロックを受け取り、シフト・クロック及び捕獲クロックを生成するクロック生成回路と、
    アクティブの走査イネーブル信号及び前記テスト・クロックに応答してテスト・スティミュラスを生成し、前記テスト・スティミュラスを前記走査可能記憶素子の中へ逐次ロードする手段と、
    インアクティブの初期化制御信号及びアクティブの走査イネーブル信号に応答して、前記走査可能記憶素子からアンロードされたテスト応答データを解析する手段とを具備し、
    前記クロック生成回路は、シフト・クロック出力及びテスト・クロック入力を有し、アクティブの走査イネーブル信号に応答して前記テスト・クロック入力を前記シフト・クロック出力へ接続し、インアクティブの走査イネーブル信号に応答して前記シフト・クロック出力をディスエーブルして前記シフト・クロックを生成する手段を含み、及びテスト・クロック入力、システム・クロック入力、及び捕獲クロック出力を有し、インアクティブの走査イネーブル信号及びアクティブの初期化制御信号に応答して前記テスト・クロック及びシステム・クロックの1つを前記捕獲クロック出力へ接続し、インアクティブの走査イネーブル信号及びインアクティブの初期化信号に応答して前記捕獲クロックの少なくとも2つのサイクルの間、前記システム・クロック入力を前記捕獲クロック出力へ接続して前記捕獲クロックを生成する手段を含み、
    前記組み合わせロジック手段は、アクティブの初期化信号に応答して前記組み合わせロジックの中で非走査可能記憶素子に関連付けられたシーケンシャル・ループをディスエーブルし、インアクティブの初期化信号に応答して前記組み合わせロジックの中で非走査可能記憶素子に関連付けられたディスエーブルシーケンシャル・ループをイネーブルにする、
    BISTコントローラ。
  35. 捕獲クロックを生成する前記手段が、
    前記走査イネーブル信号がインアクティブになってから所定の時間間隔の間、前記捕獲クロックのイネーブルを遅延させる捕獲クロック制御信号を生成する捕獲遅延手段と、
    前記捕獲クロック制御信号に応答して前記捕獲クロック制御信号のアクティブからインアクティブへの遷移を検出し、前記捕獲クロックをイネーブルする捕獲クロックイネーブル信号を生成する遷移検出手段と、
    前記システム・クロックを受け取り、アクティブの捕獲クロックイネーブル信号に応答して前記システム・クロックを前記捕獲クロック出力へ接続する手段と、
    を具備する、請求項34に記載のBISTコントローラ。
  36. 前記制御回路が、入力デバッグ信号に応答してアクティブのデバッグ信号を生成し、前記クロック生成信号が、前記テスト・クロックから導出されたシフト・クロック及び捕獲クロックを生成することによってアクティブのデバッグ信号に応答する、請求項35に記載の集積回路。
  37. 前記回路の中で2つの走査可能記憶素子の間の経路に配置された非走査可能記憶素子の最大数を記憶する記憶手段を更に含む、請求項35に記載のBISTコントローラ。
  38. 前記遅延手段が、少なくとも1つの記憶素子を含み、前記捕獲クロック制御信号を生成する、請求項36に記載のBISTコントローラ。
  39. 前記遅延手段が前記走査イネーブル信号を受け取る、請求項36に記載のBISTコントローラ。
  40. 遷移に応答する前記手段が遷移検出器を含み、前記遷移検出器は、前記システム・クロックの制御のもとで動作して前記捕獲クロック制御信号をサンプリングし、前記制御信号のアクティブ値からインアクティブ値への遷移を検出したことに応答してアクティブの捕獲クロックイネーブル信号を生成する、請求項36に記載のBISTコントローラ。
  41. 前記遷移検出器が、更に、捕獲動作の間に実行される捕獲クロック・サイクルの数を決定する手段を含む、請求項40に記載のBISTコントローラ。
  42. アクティブのデバッグ信号に応答してロード動作、アンロード動作、及び捕獲動作のために前記テスト・クロックを選択する手段を更に含む、請求項40に記載のBISTコントローラ。
  43. 前記制御回路が、アクティブの入力デバッグ信号に応答してアクティブのデバッグ信号を生成する、請求項40に記載のBISTコントローラ。
  44. 前記テスト・クロック及びシステム・クロックが自走クロックである、請求項40に記載のBISTコントローラ。
JP2002505756A 2000-06-29 2001-06-15 高性能回路をテストする方法及び装置 Pending JP2004502147A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/607,128 US6510534B1 (en) 2000-06-29 2000-06-29 Method and apparatus for testing high performance circuits
PCT/CA2001/000881 WO2002001719A2 (en) 2000-06-29 2001-06-15 Method and apparatus for testing high performance circuits

Publications (1)

Publication Number Publication Date
JP2004502147A true JP2004502147A (ja) 2004-01-22

Family

ID=24430938

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002505756A Pending JP2004502147A (ja) 2000-06-29 2001-06-15 高性能回路をテストする方法及び装置

Country Status (6)

Country Link
US (1) US6510534B1 (ja)
EP (1) EP1305647A2 (ja)
JP (1) JP2004502147A (ja)
AU (1) AU2001268872A1 (ja)
CA (1) CA2410432A1 (ja)
WO (1) WO2002001719A2 (ja)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7065481B2 (en) * 1999-11-30 2006-06-20 Synplicity, Inc. Method and system for debugging an electronic system using instrumentation circuitry and a logic analyzer
US7072818B1 (en) * 1999-11-30 2006-07-04 Synplicity, Inc. Method and system for debugging an electronic system
US6581191B1 (en) * 1999-11-30 2003-06-17 Synplicity, Inc. Hardware debugging in a hardware description language
US7356786B2 (en) * 1999-11-30 2008-04-08 Synplicity, Inc. Method and user interface for debugging an electronic system
US6931572B1 (en) * 1999-11-30 2005-08-16 Synplicity, Inc. Design instrumentation circuitry
US6823497B2 (en) * 1999-11-30 2004-11-23 Synplicity, Inc. Method and user interface for debugging an electronic system
US7240303B1 (en) 1999-11-30 2007-07-03 Synplicity, Inc. Hardware/software co-debugging in a hardware description language
JP2001255356A (ja) * 2000-03-08 2001-09-21 Matsushita Electric Ind Co Ltd 半導体集積回路のテストパターン生成方法及びテスト方法
US6735563B1 (en) * 2000-07-13 2004-05-11 Qualcomm, Inc. Method and apparatus for constructing voice templates for a speaker-independent voice recognition system
JP2002071758A (ja) * 2000-08-29 2002-03-12 Mitsubishi Electric Corp 半導体集積回路のテスト装置
US6665828B1 (en) * 2000-09-19 2003-12-16 International Business Machines Corporation Globally distributed scan blocks
US7222315B2 (en) * 2000-11-28 2007-05-22 Synplicity, Inc. Hardware-based HDL code coverage and design analysis
US7007213B2 (en) * 2001-02-15 2006-02-28 Syntest Technologies, Inc. Multiple-capture DFT system for detecting or locating crossing clock-domain faults during self-test or scan-test
US8769359B2 (en) 2001-02-15 2014-07-01 Syntest Technologies, Inc. Multiple-capture DFT system for detecting or locating crossing clock-domain faults during self-test or scan-test
US8091002B2 (en) * 2001-02-15 2012-01-03 Syntest Technologies, Inc. Multiple-capture DFT system to reduce peak capture power during self-test or scan test
FR2821436B1 (fr) * 2001-02-26 2004-07-23 St Microelectronics Sa Procede et systeme de test d'un circuit integre
US6671848B1 (en) * 2001-03-20 2003-12-30 Advanced Micro Devices, Inc. Test circuit for exposing higher order speed paths
US20020194565A1 (en) * 2001-06-18 2002-12-19 Karim Arabi Simultaneous built-in self-testing of multiple identical blocks of integrated circuitry
WO2003032159A2 (en) * 2001-10-11 2003-04-17 Altera Corporation Error detection on programmable logic resources
US7644333B2 (en) * 2001-12-18 2010-01-05 Christopher John Hill Restartable logic BIST controller
US7058866B2 (en) * 2002-04-24 2006-06-06 International Business Machines Corporation Method and system for an on-chip AC self-test controller
US7827510B1 (en) 2002-06-07 2010-11-02 Synopsys, Inc. Enhanced hardware debugging with embedded FPGAS in a hardware description language
US20040153926A1 (en) * 2002-10-30 2004-08-05 Abdel-Hafez Khader S. Method and apparatus for testing asynchronous set/reset faults in a scan-based integrated circuit
US20040085082A1 (en) * 2002-10-30 2004-05-06 Townley Kent Richard High -frequency scan testability with low-speed testers
EP1634089A1 (en) * 2003-06-03 2006-03-15 Koninklijke Philips Electronics N.V. Delay-fault testing method, related system and circuit
US7447960B2 (en) * 2003-08-07 2008-11-04 International Business Machines Corporation Method of efficiently loading scan and non-scan memory elements
GB0330076D0 (en) * 2003-12-27 2004-02-04 Koninkl Philips Electronics Nv Delay fault test circuitry and related method
KR100594257B1 (ko) * 2004-02-26 2006-06-30 삼성전자주식회사 내장형 셀프 테스트 회로를 가지는 soc 및 그 셀프테스트 방법
US7155651B2 (en) * 2004-04-22 2006-12-26 Logicvision, Inc. Clock controller for at-speed testing of scan circuits
US8621304B2 (en) * 2004-10-07 2013-12-31 Hewlett-Packard Development Company, L.P. Built-in self-test system and method for an integrated circuit
US8205186B1 (en) 2005-04-11 2012-06-19 Synopsys, Inc. Incremental modification of instrumentation logic
CN101258417B (zh) 2005-09-08 2011-04-13 Nxp股份有限公司 扫描测试方法
US8024631B1 (en) * 2006-11-07 2011-09-20 Marvell International Ltd. Scan testing system and method
JP2008122159A (ja) * 2006-11-09 2008-05-29 Toshiba Corp 半導体集積回路
US20100269002A1 (en) * 2009-04-21 2010-10-21 Texas Instruments Incorporated Pseudo-Random Balanced Scan Burnin
US8458635B2 (en) * 2009-12-04 2013-06-04 Synopsys, Inc. Convolution computation for many-core processor architectures
US20110296259A1 (en) * 2010-05-26 2011-12-01 International Business Machines Corporation Testing memory arrays and logic with abist circuitry
US9140754B2 (en) 2011-02-28 2015-09-22 Texas Instruments Incorporated Scan-based MCM interconnecting testing
US8850280B2 (en) * 2011-10-28 2014-09-30 Lsi Corporation Scan enable timing control for testing of scan cells
US9595350B2 (en) * 2012-11-05 2017-03-14 Nxp Usa, Inc. Hardware-based memory initialization
US9182445B2 (en) * 2013-05-06 2015-11-10 Broadcom Corporation Integrated circuit with toggle suppression logic
US9588176B1 (en) * 2015-01-30 2017-03-07 Altera Corporation Techniques for using scan storage circuits
US10520547B2 (en) * 2017-09-29 2019-12-31 Silicon Laboratories Inc. Transition scan coverage for cross clock domain logic
CN109085420A (zh) * 2018-09-18 2018-12-25 四川爱联科技有限公司 基于NB-IoT技术的电压监测系统及监测方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5329533A (en) 1991-12-26 1994-07-12 At&T Bell Laboratories Partial-scan built-in self-test technique
US5349587A (en) 1992-03-26 1994-09-20 Northern Telecom Limited Multiple clock rate test apparatus for testing digital systems
US5450418A (en) * 1992-12-23 1995-09-12 Advanced Micro Devices, Inc. Pseudo master slave capture mechanism for scan elements
CA2219847C (en) * 1996-11-20 2000-10-03 Logicvision, Inc. Method and apparatus for scan testing digital circuits
US5889788A (en) * 1997-02-03 1999-03-30 Motorola, Inc. Wrapper cell architecture for path delay testing of embedded core microprocessors and method of operation
US6327684B1 (en) * 1999-05-11 2001-12-04 Logicvision, Inc. Method of testing at-speed circuits having asynchronous clocks and controller for use therewith
US6327685B1 (en) * 1999-05-12 2001-12-04 International Business Machines Corporation Logic built-in self test
US6442722B1 (en) * 1999-10-29 2002-08-27 Logicvision, Inc. Method and apparatus for testing circuits with multiple clocks

Also Published As

Publication number Publication date
AU2001268872A1 (en) 2002-01-08
CA2410432A1 (en) 2002-01-03
WO2002001719A3 (en) 2002-09-19
WO2002001719A2 (en) 2002-01-03
US6510534B1 (en) 2003-01-21
EP1305647A2 (en) 2003-05-02

Similar Documents

Publication Publication Date Title
US6510534B1 (en) Method and apparatus for testing high performance circuits
US6442722B1 (en) Method and apparatus for testing circuits with multiple clocks
US7644333B2 (en) Restartable logic BIST controller
US6327684B1 (en) Method of testing at-speed circuits having asynchronous clocks and controller for use therewith
US8086924B2 (en) Implementing diagnosis of transitional scan chain defects using logic built in self test LBIST test patterns
US6861867B2 (en) Method and apparatus for built-in self-test of logic circuits with multiple clock domains
JP6544772B2 (ja) スキャンテスト用のテストモード制御信号を生成可能な集積回路
CN101911491B (zh) 用于分析扫描链和确定扫描链中的保持时间故障的数目或位置的方法
US7934134B2 (en) Method and apparatus for performing logic built-in self-testing of an integrated circuit
US20060064616A1 (en) Method and apparatus for at-speed testing of digital circuits
US5530706A (en) Non-destructive sampling of internal states while operating at normal frequency
EP1647828B1 (en) Automatic fault-testing of logic blocks using internal at-speed logic-BIST
US20040210808A1 (en) Diagnostic method for structural scan chain designs
WO2006132329A1 (ja) マイクロコンピュータ及びそのテスト方法
JPH0784002A (ja) チップの相互接続試験のための試験回路
US6446229B1 (en) Method and apparatus for integrated flip-flop to support two test modes
US6032278A (en) Method and apparatus for performing scan testing
US7380189B2 (en) Circuit for PLL-based at-speed scan testing
US20160349318A1 (en) Dynamic Clock Chain Bypass
Nadeau-Dostie et al. Power-aware at-speed scan test methodology for circuits with synchronous clocks
US6662324B1 (en) Global transition scan based AC method
US7421634B2 (en) Sequential scan based techniques to test interface between modules designed to operate at different frequencies
US20060156100A1 (en) Test wrapper including integrated scan chain for testing embedded hard macro in an integrated circuit chip
US6976199B2 (en) AC LSSD/LBIST test coverage enhancement
US9835683B2 (en) Clock gating for X-bounding timing exceptions in IC testing