(57)【特許請求の範囲】
【請求項１】
半導体デバイスであって、
クロック信号およびリセット信号に接続されたフリップフロップ群およびメモリ群のセットを有する論理ブロック、
前記論理ブロックによる処理のためのテスト信号群のセットを発生するパターンジェネレータ、
前記テスト信号の処理の後に、前記論理ブロックによって作られた出力群のセットに基づいてテストシグネチャを作るシグネチャアキュムレータ、および
所定のクロックサイクルの間に前記フリップフロップ群およびメモリ群に前記リセット信号を入力することにより前記フリップフロップ群およびメモリ群を初期化し、前記論理ブロックのテストを開始する内蔵自己試験（論理ＢＩＳＴ）回路
を備え、
前記フリップフロップ群およびメモリ群の初期化は、前記フリップフロップ群およびメモリ群にわたる前記リセット信号のタイミングのバラツキまたは伝搬遅延にもかかわらず、それらが同時に初期化されるように行われ、
前記フリップフロップ群およびメモリ群を初期化する前記論理ＢＩＳＴ回路は、
（ａ）前記クロック信号を、アクティブなリセット信号を前記フリップフロップ群およびメモリ群の全てに伝播するために使用される期間に基づき決定されたクロックサイクル数にわたり、ゲーティングすること、
（ｂ）前記リセット信号をアクティベートすること、
（ｃ）前記リセット信号をアクティブに保持しながら前記クロック信号を再開すること、
（ｄ）前記クロック信号を、非アクティブなリセット信号を前記フリップフロップ群およびメモリ群の全てに伝播するために使用される期間に基づき決定されたクロックサイクル数にわたり、再びゲーティングすること、および
（ｅ）前記リセット信号をディアクティベートすること
を含むシーケンスを実行可能に構成される、半導体デバイス。
【請求項２】
請求項１に記載の半導体デバイスであって、前記論理ＢＩＳＴ回路は、前記テストシグネチャをレファレンスシグネチャにさらに比較し、前記レファレンスシグネチャは、前記論理ブロックによる前記テスト信号群のセットの故障のない処理の結果を表す半導体デバイス。
【請求項３】
請求項２に記載の半導体デバイスであって、前記レファレンスシグネチャは、前記テスト信号群のセットに対する前記論理ブロックの故障のない動作をシミュレートすることによって計算される半導体デバイス。
【請求項４】
請求項１に記載の半導体デバイスであって、前記論理ブロックは、ビデオ信号をデコードするビデオデコーダ論理ブロックを備え、前記パターンジェネレータは、ＮＴＳＣ、ＰＡＬ、ＳＥＣＡＭ、コンポジットビデオ、Ｓビデオ、およびコンポーネントビデオからなるグループから選択される標準方式によって、または故障の範囲を増すために非標準方式の入力によって前記テスト信号群のセットを発生する半導体デバイス。
【請求項５】
請求項１に記載の半導体デバイスであって、前記シグネチャアキュムレータは、前記論理ブロックによって作られた前記出力群のセットを漸次圧縮することによって前記テストシグネチャを作る巡回冗長検査（ＣＲＣ）を備える半導体デバイス。
【請求項６】
請求項１に記載の半導体デバイスであって、前記論理ブロックは、メモリ要素を有し、前記論理ＢＩＳＴはさらに、前記メモリ要素を既知の値でフラッシュすることによって初期化する半導体デバイス。
【請求項７】
クロック信号およびリセット信号に接続されたフリップフロップ群のセットを有する論理ブロックをテストする方法であって、
所定のクロックサイクルの間に前記フリップフロップ群に前記リセット信号を入力することにより前記フリップフロップ群のセットを初期化すること、
前記論理ブロックによる処理のためのテスト信号群のセットを発生すること、および
前記テスト信号の処理の後、前記論理ブロックによって作られた出力群のセットに基づいてテストシグネチャを作ること
を含む方法であって、
前記フリップフロップ群のセットを初期化することは、前記フリップフロップ群にわたる前記リセット信号のタイミングのバラツキまたは伝搬遅延にもかかわらず、それらが同時に初期化されるように行われ、
前記フリップフロップ群のセットを初期化することは、
（ａ）前記クロック信号を、アクティブなリセット信号を前記フリップフロップ群およびメモリ群の全てに伝播するために使用される期間に基づき決定されたクロックサイクル数にわたり、ゲーティングすること、
（ｂ）前記リセット信号をアクティベートすること、
（ｃ）前記リセット信号をアクティブに保持しながら前記クロック信号を再開すること、
（ｄ）前記クロック信号を、非アクティブなリセット信号を前記フリップフロップ群およびメモリ群の全てに伝播するために使用される期間に基づき決定されたクロックサイクル数にわたり、再びゲーティングすること、および
（ｅ）前記リセット信号をディアクティベートすること
を含む方法。
【請求項８】
請求項７に記載の方法であって、前記テストシグネチャをレファレンスシグネチャにさらに比較することであって、前記レファレンスシグネチャは、前記論理ブロックによる前記テスト信号群のセットの故障のない処理の結果を表す、比較することを含む方法。
【請求項９】
請求項８に記載の方法であって、前記レファレンスシグネチャは、前記テスト信号群のセットに対する前記論理ブロックの故障のない動作をシミュレートすることによって計算される方法。
【請求項１０】
請求項７に記載の方法であって、前記論理ブロックは、ビデオ信号をデコードするビデオデコーダ論理ブロックを備え、前記テスト信号群のセットは、ＮＴＳＣ、ＰＡＬ、ＳＥＣＡＭ、コンポジットビデオ、Ｓビデオ、およびコンポーネントビデオからなるグループから選択される標準方式によって発生される方法。
【請求項１１】
請求項７に記載の方法であって、前記テストシグネチャを作ることは、前記論理ブロックによって作られた前記出力群のセットの漸次圧縮を含む方法。
【請求項１２】
請求項１１に記載の方法であって、前記出力群のセットの漸次圧縮は、リニアフィードバックシフトレジスタ（ＬＦＳＲ）を用いることを含む方法。
【請求項１３】
請求項７に記載の方法であって、テスト信号群のセットを発生することは、前記論理ブロックと同じ半導体デバイス内にあるパターンジェネレータによって実行される方法。
【請求項１４】
請求項７に記載の方法であって、テストシグネチャを作ることは、前記論理ブロックと同じ半導体デバイス内にあるシグネチャアキュムレータによって実行される方法。
【請求項１５】
請求項７に記載の方法であって、前記フリップフロップ群のセットを初期化することは、前記論理ブロックと同じ半導体デバイス内にある内蔵自己試験（論理ＢＩＳＴ）によって実行される方法。
【請求項１６】
請求項７に記載の方法であって、前記論理ブロックは、メモリ要素を有し、
前記メモリ要素を既知の値でフラッシュすることによって初期化すること
をさらに含む方法。
【請求項１７】
論理ブロック、パターンジェネレータ、シグネチャアキュムレータ、内蔵自己試験（論理ＢＩＳＴ）回路を有する半導体装置をテストする方法であって、
前記ＢＩＳＴ回路に、（ａ）クロック信号およびリセット信号に接続された前記論理回路のフリップフロップ群およびメモリ郡のセットに、所定のクロックサイクルの間に前記リセット信号を入力することにより、前記フリップフロップ群およびメモリ郡のセットを初期化すること、（ｂ）前記パターンジェネレータに、前記論理ブロックによる処理のためのテスト信号群のセットを発生させること、および（ｃ）前記シグネチャアキュムレータに、前記テスト信号の処理の後、前記論理ブロックによって作られた出力群のセットに基づいてテストシグネチャを作らせること、とを行わせることと、
前記テストシグネチャをレファレンスシグネチャにさらに比較することであって、前記レファレンスシグネチャは、前記論理ブロックによる前記テスト信号群のセットの故障のない処理の結果を表す、ことと、を含む方法であって、
前記フリップフロップ群およびメモリ群のセットを初期化することは、前記フリップフロップ群にわたる前記リセット信号のタイミングのバラツキまたは伝搬遅延にもかかわらず、それらが同時に初期化されるように行われ、
前記フリップフロップ群およびメモリ群のセットを初期化することは、
（ａ）前記クロック信号を、アクティブなリセット信号を前記フリップフロップ群およびメモリ群の全てに伝播するために使用される期間に基づき決定されたクロックサイクル数にわたり、ゲーティングすること、
（ｂ）前記リセット信号をアクティベートすること、
（ｃ）前記リセット信号をアクティブに保持しながら前記クロック信号を再開すること、
（ｄ）前記クロック信号を、非アクティブなリセット信号を前記フリップフロップ群およびメモリ群の全てに伝播するために使用される期間に基づき決定されたクロックサイクル数にわたり、再びゲーティングすること、および
（ｅ）前記リセット信号をディアクティベートすること
を含む方法。
【請求項１８】
請求項１７に記載の方法であって、前記レファレンスシグネチャは、前記テスト信号群のセットに対する前記論理ブロックの故障のない動作をシミュレートすることによって計算される方法。
【請求項１９】
請求項１７に記載の方法であって、前記論理ブロックは、ビデオ信号をデコードするビデオデコーダ論理ブロックを備え、前記パターンジェネレータは、ＮＴＳＣ、ＰＡＬ、ＳＥＣＡＭ、コンポジットビデオ、Ｓビデオ、およびコンポーネントビデオからなるグループから選択される標準方式によって、前記テスト信号群のセットを発生する方法。
【請求項２０】
請求項１７に記載の方法であって、前記シグネチャアキュムレータは、前記論理ブロックによって作られた前記出力群のセットを漸次圧縮することによって前記テストシグネチャを生成するリニアフィードバックシフトレジスタ（ＬＦＳＲ）を含む、方法。
【請求項２１】
クロック信号およびリセット信号に接続されたフリップフロップおよびメモリ郡のセットを有する論理ブロックをテストするためのコンピュータプログラムであって、
所定のクロックサイクルの間に前記フリップフロップ郡に前記リセット信号を入力することにより前記フリップフロップ群のセットを初期化するためのコンピュータコード、
前記論理ブロックによる処理のためのテスト信号群のセットを発生するためのコンピュータコード、および
前記テスト信号の処理の後、前記論理ブロックによって作られた出力群のセットに基づいてテストシグネチャを作るためのコンピュータコード
を含み、
前記フリップフロップ群のセットを初期化することは、前記フリップフロップ群にわたる前記リセット信号のタイミングのバラツキまたは伝搬遅延にもかかわらず、それらが同時に初期化されるように行われ、
前記フリップフロップ群のセットを初期化するコンピュータコードは、
（ａ）前記クロック信号を、アクティブなリセット信号を前記フリップフロップ群およびメモリ群の全てに伝播するために使用される期間に基づき決定されたクロックサイクル数にわたり、ゲーティングするためのコンピュータコード、
（ｂ）前記リセット信号をアクティベートするためのコンピュータコード、
（ｃ）前記リセット信号をアクティブに保持しながら前記クロック信号を再開するためのコンピュータコード、
（ｄ）前記クロック信号を、非アクティブなリセット信号を前記フリップフロップ群およびメモリ群の全てに伝播するために使用される期間に基づき決定されたクロックサイクル数にわたり、再びゲーティングするためのコンピュータコード、および
（ｅ）前記リセット信号をディアクティベートするためのコンピュータコード
を含むコンピュータプログラム。
【請求項２２】
請求項２１に記載のコンピュータプログラムであって、前記テストシグネチャをレファレンスシグネチャにさらに比較するためのコンピュータコードを含み、前記レファレンスシグネチャは、前記論理ブロックによる前記テスト信号群のセットの故障のない処理の結果を表す、コンピュータプログラム。
【請求項２３】
請求項２２に記載のコンピュータプログラムであって、前記レファレンスシグネチャは、前記テスト信号群のセットに対する前記論理ブロックの故障のない動作をシミュレートすることによって計算される、コンピュータプログラム。
【請求項２４】
請求項２３に記載のコンピュータプログラムであって、前記論理ブロックは、ビデオ信号をデコードするビデオデコーダ論理ブロックを備え、前記テスト信号群のセットは、ＮＴＳＣ、ＰＡＬ、ＳＥＣＡＭ、コンポジットビデオ、Ｓビデオ、およびコンポーネントビデオからなるグループから選択される標準方式によって発生される、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般にハードウェア試験に関し、より具体的には、論理ＢＩＳＴ（内蔵自己試験）を用いた論理ブロックの自動アットスピード故障試験に関する。
【背景技術】
【０００２】
ディジタル論理ブロックの試験は、通常、そのディジタル論理ブロックにおいて自動試験装置（ＡＴＥ）およびスキャンチェーンを用いて実行される。このアプローチは使えるが、この試験は、試験されているディジタル論理ブロックの意図された動作速度よりも遅い速度で実行される。よってアットスピードつまり所望の速度において故障するが、低速では合格してしまう論理は、検出されない。加えて、このような試験は一般に、ディジタルロジックへのマクロインタフェースはテストしない。したがって、マクロおよびロジック間のインタフェースは一般に個別に試験され、接続性の故障は検出されないかもしれない。さらに、複雑なＡＴＥインタフェースのために、フィールドエンジニアによるチップのフィールドにおける簡便な試験はできない。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
したがって、簡単なＡＴＥインタフェースを用いた論理ブロック全体のアットスピードの試験のためのシステムおよび方法が必要とされる。
【課題を解決するための手段】
【０００４】
前述および他の目的を達成するために、本発明の目的によれば、提供されるものは、チップの内部にあるアットスピードの論理ＢＩＳＴ回路を用いた、論理ブロックおよび半導体デバイス（チップ）のインタフェースの自動的な故障テストのためのシステムおよび方法である。フリップフロップまたはスタティックランダムアクセスメモリ（ＳＲＡＭ）のような内部記憶要素の初期化に続いて、テスト信号群のセットが論理ブロックによる処理のために発生される。論理ブロックの出力は、テストシグネチャにアキュムレートされ、レファレンスシグネチャと比較されることによって、故障を検出する。テストは、簡単なテストベクタを用いてＡＴＥ上で実行されえ、チップを備える実際のボード上でフィールドエンジニアによって実行されえる。ＡＴＥベクタは簡単であるが、これは、それが外部のタイミング制約について煩わされることなく論理ＢＩＳＴ回路をトリガしさえすればよいからである。
【０００５】
本発明は例示によって示され、限定によっては示されず、添付の図面の図において、同様の参照番号は、同様の要素を参照する。
【発明を実施するための最良の形態】
【０００６】
以下の記載において、多くの特定の詳細が述べられるが、これは本発明の完全な理解を与えるためである。しかし、本発明はこれら特定の詳細の一部または全てがなくても実施できることが当業者には理解されよう。他の場合には、よく知られたハードウェア設計、操作および試験プロセスは、本発明の趣旨を不必要にぼかさないために詳細には記載されない。
【０００７】
したがって、提供されるのは、チップの内部にあるアットスピード論理ＢＩＳＴ（内蔵自己試験）を用いた、半導体デバイス（チップ）のロジックおよびインタフェースの自動故障試験のためのシステムおよび方法である。本発明は、簡単なテストベクタを用いたＡＴＥ上で実行される試験を可能にする。これは、チップの機能性について疑いが生じたときにいつでも、フィールドエンジニアがチップを備える実際のボード上でシステムレベルの試験を実行することも可能にする。ＡＴＥベクタは簡単であるが、これは、外部タイミング制約について煩わされることなく、それが論理ＢＩＳＴ回路をトリガするだけでよいからであり、論理ＢＩＳＴ回路がチップ内にあることによる。
【０００８】
以下は、ビデオデコーダ論理ブロックを試験するコンテキストで本発明を記載する。しかし、この実施形態は例示的であり、この技術は、オーディオデコーダ、ディジタル信号プロセッサ（ＤＳＰ）、および他のデータパイプのような、任意のタイプのディジタル論理ブロックを試験することに適用されることが理解されよう。
【０００９】
図１は、本発明のある実施形態によるビデオデコーダ集積回路を示すブロック図である。集積回路パッケージ１０１（以下では「チップ」と呼ばれる）は、ディジタル入力信号１０９に対してビデオデコーディング操作を実行する機能ロジックを提供するビデオデコーダ論理ブロック１０２を備える。ディジタル入力信号１０９は、１つ以上のアナログ・ディジタルコンバータ１０６によってチップの対応するアナログ入力信号１１０から変換される。
【００１０】
パターンジェネレータ１０３は、ビデオデコーダ１０２のためのテスト信号１１２を発生するために提供される。マルチプレクサ１０８は、変換された入力信号１１０および内部パターンジェネレータ１０３によって発生されたテスト信号１１２を好ましくはマルチプレクスする。シグネチャアキュームレータ１０４は、ビデオデコーダ１０２の出力をアキュムレートするのと同時に、所望の時に、ビデオデコーダ１０２の内部の任意の所望の信号をアキュムレートするために提供される。チップ１０１内部の論理ＢＩＳＴ回路１０５は、パターンジェネレータ１０３、ビデオデコーダ１０２およびシグネチャアキュームレータ１０４、および／または試験を調整するチップの他の部分（ＰＬＬ１１３のような）をプログラミングするために提供される。論理ＢＩＳＴ回路１０５は、パターンジェネレータ１０３をプログラムすることによって、所望なだけビデオデコーダ１０２の機能を実行および試験するために、境界条件およびコーナーケース（corner cases）を備えるテスト信号を発生し、それによりゲートにおけるスタックアット故障およびアットスピード欠陥のような論理故障を検出できる可能性を高くする。
【００１１】
パターンジェネレータ１０３によって発生された入力１１２の値の与えられたセットに応答するビデオデコーダ出力１１１の値の決定性セット（deterministic set）を発生するために、ビデオデコーダ１０２の内部のフリップフロップおよびメモリのようなフィードバック論理要素がまず初期化される。ビデオデコーダ１０２は、データパイプとして見ることができる。初期化は、このようなパイプの始めにあるフリップフロップおよびメモリが書き込まれる状態にビデオデコーダ１０２を駆動し、それら要素について繰り返しリセット信号を発生し、それによってそれが既知の値をとるようにすることによって達成される。この技術を反復して適用することによって、論理はさらにこのパイプを下っていき決定性の値（deterministic values）をとる。これは、全ての所望のフリップフロップおよびメモリが初期化されるまで続けられる。この技術を適用するために、ビデオデコーダ１０２中のリセット不能なフリップフロップのいくつかはリセット可能なフリップフロップに置き換えられえることに注意されたい。
【００１２】
入ってくるクロック信号１１４のスキュー（例えばフェーズロックループ１１３によって発生される）を管理するために、図２に概略的に示されるように、フリップフロップ１１６のいくつかは、そのクロック信号１１４をバッファ１１７のセットを通して受け取りえ、これらバッファはバッファツリーを形成し、このバッファツリーの枝は、対応するフリップフロップ１１６に延びる。バッファツリーが届いたフリップフロップ１１６については、バッファツリーは、既知の時間のウィンドウを提供し、このウィンドウの中で全てのフリップフロップ１１６はクロックエッジを見いだす。しかし、もしクロックがフリップフロップ１１６にバッファツリーを介して接続されるが、リセットライン１１５がフリップフロップ１１６にバッファツリーを介して結合されず、その代わり直接に印加される（論理ブロックではしばしばあることだが）なら、クロックエッジは、異なるフリップフロップ１１６に異なる時刻において到達しえる。さらに、特定のフリップフロップ１１６は、時にはクロックエッジの前に、また他の時にはクロックエッジの後にリセット信号１１５を受け取るかもしれない。リセット信号１１５は、一般にパワーオンの間に印加されるので、結果は、異なるパワーオン時について潜在的に異なるフリップフロップ値になる。
【００１３】
フリップフロップを既知の値でフラッシュ（flush）するためにスキャンチェーンが用いられえるが、内部スキャンチェーンタイミングのロバスト性は困難さを引き起こしえる。したがって、スキャンチェーンを伴うことなく、ビデオデコーダ１０２の機能モード中のフリップフロップ値の初期化に対応することが望ましい。単にリセット信号を印加することだけでは、適切なフリップフロップ初期化は達成できないが、それはリセット信号は必ずしも全てのフリップフロップに同じクロックエッジで届かないからである。これによって、あるフリップフロップは、他のフリップフロップよりも１つ以上のクロックサイクルだけ先にリセットされ、先にリセットされたそれらフリップフロップは、おそらく他のフリップフロップがリセットされる時までに、それらの値を変化させる。例えば、無限インパルス応答（ＩＩＲ）フィルタを備えるもののような、フィードバックを備える論理サブブロックによっては、その出力は、現在の入力だけでなく、出力の以前の値にも依存する。
【００１４】
これに対応するために、論理ＢＩＳＴ回路１０５は、本発明のある実施形態によって図３に概略的に示されるように、クロック信号１１４をゲーティングする。クロック信号１１４をゲーティングすることによって、クロック信号１１４をリセット信号１１５から分離し、それによってリセット信号１１５の伝搬におけるリセット信号１１５のアクチュエーションまたは遅延のタイミングにおける不正確さが、リセット信号１１５が異なる要素に異なるクロックサイクルで到達しないようにする。これによって、未知の値が既にリセットされたメモリまたはフリップフロップに伝搬して届くことを防ぐことができる。
【００１５】
クロック信号１１４は、リセット信号１１５がアクティベートされる（図３に示される例ではアクティブはロウである）、いくつかのクロックサイクル１１８と等価な間だけゲーティングされる。クロック信号１１４は、リセット信号１１５を用いて初期化されるべき全ての要素にリセット信号１１５が伝搬するために充分長い間だけゲーティングされる。リセット信号１１５がアクティブを維持する状態で、クロック１１４はサイクル数１１９の間だけ再開し、リセット信号１１５が到達した要素がリセットするようにする。ここの例では、４〜２０クロックサイクルは、うまく動作することがわかっており、これは、テスト中の特定の論理ブロックについて調整されえる。それからクロック信号１１４は、リセット信号１１５がディアクティベートされているいくつかのクロックサイクル１２０と等価な間だけ再びゲーティングされ、それによって全てのリセット要素が次のクロックエッジにおいて非アクティブなリセット信号１１５を受けることを可能にする。
【００１６】
論理ブロックを完全に初期化するために必要とされるクロックサイクルの数の実用的な上限は、論理ブロック１０２の動作をシミュレートするソフトウェアシミュレータを用いて決定されえる。シミュレータ中のフリップフロップまたはメモリの未知のビット値は、「未知」または「未初期化」として指定されえ、それらが既知の値で置き換えられるまで論理ブロック１０２を通して伝搬されえる。クロックサイクルの数は、未知の値が存在しなくなるまで増されえて、クロックサイクルの結果として生じる数はそれから論理ブロック１０２をテストするために用いられえる。
【００１７】
フリップフロップを初期化することに加えて、テストの前にメモリが既知の値をとるようにメモリには書き込みが行われる。ビデオデコーダ１０２において、たいていのメモリは、ランダムアクセスのためには用いられず、その代わりにディレイとして用いられ、ｎ個のメモリ位置を備えるメモリ要素はｎディレイとして機能しえる。このようなｎディレイへの入力は、ｎメモリ位置を通して順次に浸透していき、それぞれの入力は、ｎシフトのディレイの後に読み出される準備ができる。したがって、ｎディレイを駆動して既知の状態にするために、トータルでｎ個の既知の値がｎディレイに与えられる。
【００１８】
特定のｎディレイは、その値がｍクロックサイクル毎にアップデートされるフリップフロップから入力を受け取りえ、そのようなｎディレイが既知の状態まで駆動されるにはｎ・ｍクロックサイクルが必要となる。これを達成するために、本発明のある実施形態によれば図４に概略的に示されるように、論理ＢＩＳＴ回路１０５は、リセット信号１１５がアクティベートされている２，３のクロックサイクル１２１と等価なあいだ、入ってくるクロック信号１１４をゲーティングする。リセット信号１１５がアクティブに保持されている状態で、クロック１１４は、入力をｎディレイにリセットし、ｎディレイをフラッシュする（flush）ために、ｎ・ｍクロックサイクル１２２のあいだ、再開される。それからクロック信号１１４は、リセット信号１１５がディアクティベートされている２，３のクロックサイクル１２３と等価なあいだ、再びゲーティングされ、それによって全てのリセット要素が非アクティブなリセット信号１１５に次のクロックエッジにおいて遭遇することができるようにする。このプロセスは、ｎディレイをパイプの下流へとさらにフラッシュするために反復されてもよい（図４に示されるように）。フリップフロップを初期化するに当たり、理論上のｎ・ｍの数を表す適切な数を決定するために、また、そのような初期化の最後においてｎディレイに記憶される値を決定するために、ソフトウェアシミュレーションが用いられえる。
【００１９】
フリップフロップおよびメモリの初期化の後に、論理ＢＩＳＴ回路１０５は、パターンジェネレータ１０３をアクティベートする。パターンジェネレータ１０３は好ましくは、パターンジェネレータ１０３の動作のモードを示すために、かつ発生されるべきテスト信号のセットを選択するために、論理ＢＩＳＴ回路１０５によってプログラミングされえる１つ以上のレジスタを備える。パターンジェネレータによって発生される信号１１２は、ＮＴＳＣ（全国テレビジョン方式委員会）、ＰＡＬ（フェーズオルタネーションライン）、ＳＥＣＡＭ（順次式カラーおよびメモリ）、コンポジットビデオ、Ｓビデオ（「分離式」ビデオ）、コンポーネントビデオ、または他の同様の方式のような方式に基づきえる。パターンジェネレータは、テスト範囲を増すことができる非標準信号（ランダム信号、疑似ランダム信号または他の予期しない信号）も発生しえる。入って来る信号の特定の形状に依存して、ビデオデコーダ１０２のある部分は、試験されないままでもよく、それはビデオデコーダ１０２の全ての部分が、あらゆる入力信号１０９のデコードに必ずしも関わるわけではないからであることに注意されたい。したがって、ビデオデコーダ１０２を完全にテストするためには、パターンジェネレータ１０３は、望まれるだけなるべく多くのビデオデコーダの部分および機能と関係を持ち、テストするために、適切な信号パターンを発生する。ビデオデコーダは一般に、ディスプレイ上で見られるべきテスト信号を提供するいくつかの内部論理を有するので、本発明のパターンジェネレータ１０３は、大量に追加されたテスト関係のゲートオーバヘッドは呈しないことに注意されたい。
【００２０】
ＡＴＥまたは他の外部メカニズムは、ビデオデコーダ１０２に利用可能な動作モード群のセットから選ばれた動作モードを指定して、論理ＢＩＳＴ回路１０５をトリガし、ビデオデコーダ１０２のテストを開始するために用いられえる。論理ＢＩＳＴ回路１０５は、パターンジェネレータ１０３をプログラミングして、ビデオデコーダ１０２のためのテストデータのセットを発生し、ビデオデコーダ１０２をプログラミングして、発生されたテストデータを処理する所望の動作モードで動作させ、シグネチャアキュームレータ１０４をプログラミングして、ビデオデコーダ１０２からの出力を集める。論理ＢＩＳＴ回路１０５は、パターンジェネレータ１０３、ビデオデコーダ１０２、ＰＬＬ１１３およびシグネチャアキュームレータ１０４を、それらのプログラミングインタフェース（コマンドおよび入力を受け付け、オプションとして出力を示すレジスタ群のセットのような）によってバス１０７上でそれらと通信することによってプログラミングする。
【００２１】
シグネチャアキュームレータ１０４は、ＣＲＣ（循環冗長検査）メカニズムを用いて、デコーダ出力の全体をシグネチャにアキュムレートする。本質的に、ビデオデコーダ１０２の出力値は、「テストシグネチャ」と呼ばれる単一の値に圧縮される（または代替として複数の値のセットに圧縮される）。ＣＲＣは、デコーダ１０２の出力のわずかな違い（１ビットの違いのような）が存在するだけで、このテストシグネチャが正しいレファレンスシグネチャとは異なることを確実にする。論理ＢＩＳＴ回路１０５は、シグネチャアキュムレータ１０４がビデオデコーダ１０２の連続する出力を読み出す実際の時間を決定する。テストの最後において、ＣＲＣ出力レジスタに記憶された最終的な値（シグネチャ）は、テスト中にビデオデコーダ１０２によって作られた出力のシーケンスの関数である。
【００２２】
特定のテストが与えられると、ビデオデコーダ１０２による故障のない処理を表すレファレンスシグネチャは、ソフトウェアシミュレーションを用いて計算されえる。論理ＢＩＳＴ１０５は、最終的な値がレジスタに書き込まれるようにしえ、このレジスタはそれから読み出されえ、ソフトウェアシミュレーションによって予測された値と比較されえる。一致は、良いチップ（すなわち正しく機能する論理ブロック）を示し、一方、不一致は、ビデオデコーダ１０２の論理ブロック中の故障を示す。シグネチャの不一致は、テスト中の論理ブロック内の故障を示すが、論理ブロックによって実現される基礎となるアルゴリズム中のバグは示さず、これは、レファレンスシグネチャが論理ブロックをシミュレーションすることによって得られるからである。ビデオデコーダ１０２の直接の出力１１１に加えて、ＣＲＣによってテストシグネチャへと集められるビット群は、ビデオデコーダ１０２の任意の他の内部信号ラインを含みえることが理解されよう。これにより、特定のサブブロックのテストが可能になり、またはビデオデコーダ１０２の特定のエリアに故障を絞り込むことが可能になる。
【００２３】
図５は、本発明のある実施形態による論理ブロックのアットスピードの故障テスト方法を示すフロー図である。ステップ２０１において、論理ブロック１０２のフリップフロップおよびメモリを初期化する。ステップ２０２において、内部論理ＢＩＳＴ制御をトリガすることによって、論理ブロック１０２によって処理されるテスト信号を発生する。ステップ２０３において、論理ブロック１０２の出力からテストシグネチャを作る。最後に、ステップ２０４において、論理ブロック１０２がテストにパスしたか、またはフェイルしたかを決定するために、テストシグネチャをレファレンスシグネチャと比較する。
【００２４】
本発明は、ビデオデコーダ論理ブロックのコンテキストで記載されてきたが、入力信号群のセットを受け取り、出力信号群のセットを確定的に生成する他のタイプの論理ブロックをテストするためにも用いられえることが理解されよう。そのような論理ブロックの例には、オーディオデコーダ、ＤＳＰおよび他のデータパイプが含まれる。
【００２５】
本発明のある優位性は、クロックおよびテストデータを正しいフェーズで供給する複雑なＡＴＥを使用することなく、論理ブロックの意図された動作スピードにおいて論理ブロックの故障テストを行える能力があることである。
【００２６】
本発明の他の優位性は、与えられた論理ブロックをフィールドにおいてテストできる能力があることである。チップにパッケージングされ、集積回路ボードの一部として作られた論理ブロックは、テストモードに入るようにフィールドエンジニアによってチップを単に再プログラミングすることによって、フィールドエンジニアによってテストされえ、これは従来例における、ボードまたはチップを複雑な、または特殊なテスト装置を持つテスタに装着することに関わるコストをなくすことにつながる。
【００２７】
本発明の他の優位性は、スキャンチェーン法を用いるときよりも、より多くのゲートおよびマクロ（メモリおよびＰＬＬのような）をテストできる能力にある。スキャンチェーンベースのテストのアプローチを想定して論理ブロックによっては、２種類の入力をメモリに供給するマルチプレクサを備え、すなわち、ある入力は、論理ブロックの機能の一部を提供するゲートのセットを備え、一方、他の入力は、メモリのためのテスト入力を発生するゲートのセットを備える。典型的なスキャンチェーンベースのアプローチでは、ゲートおよびメモリを別々にテストするので、マルチプレクサはテストされず、論理ブロックの機能を損なうスタックアットフォールトや他のフォールトを見逃しえる。対照的に、本発明は、完全に機能するモードにおいて全体として論理ブロックをテストするので、論理ブロックの部分を別個にテストするときに検出されないで残るような故障を露見させることになる。
【００２８】
本発明の他の優位性は、簡単なＡＴＥインタフェースの提供にある。ほとんど全てがチップの内部でなされ、論理ＢＩＳＴ回路は、クロックおよびリセットラインをゲーティングすることによってチップを制御するので、ＡＴＥインタフェースは、簡単なままでよく、テストモードを選択し、テストを実行し、かつテスト結果を集めるように論理ＢＩＳＴを簡単にプログラミングする方法を提供する。
【００２９】
本発明の他の優位性は、他の論理ＢＩＳＴ回路アプローチとは異なり、提供されたテストケースは、ランダムではなく、望まれるだけ多くの論理ブロックのフィーチャをテストするように設計されていることにある。この機能は、たいていのゲートにおけるスタックアット故障を検出できる確率を高める。
【００３０】
本発明の前述の実施形態は、図示および説明として提供されている。これら実施形態は、本発明を記載されたそのままの形態に限定するよう意図はされていない。他のバリエーションおよび実施形態も上述の教示に照らして可能であり、よって、本発明の範囲は、この詳細な説明によって限定されることなく、むしろ添付の特許請求の範囲によって決まることが意図される。
【図面の簡単な説明】
【００３１】
【図１】本発明のある実施形態によるビデオデコーダ集積回路を示すブロック図である。
【図２】本発明のある実施形態による入力クロックツリーおよびリセットラインを持つフリップフロップのセットの概略図である。
【図３】本発明のある実施形態によるフリップフロップの初期化を示すタイミング図である。
【図４】本発明のある実施形態によるメモリの初期化を示すタイミング図である。
【図５】本発明のある実施形態による論理ブロックのアットスピード故障テストのための方法を示すフロー図である。
【図１】
0005336692.tif 000002
【図２】
0005336692.tif 000003
【図３】
0005336692.tif 000004
【図４】
0005336692.tif 000005
【図５】
0005336692.tif 000006