(57)【要約】【課題】完全なシステム・オン・チップのテストを行い、システム・オン・チップ設計の回路の信頼性と性能を確保するのに有効なビルトイン・セルフテスト方法を提供すること。【解決手段】システム機能を検証するための階層的なビルトイン・セルフテストの方法および構成。結果として、完全なシステム・オン・チップ・テストを行うための、システム・オン・チップ設計の回路信頼性と性能を共に確保するのに有効なビルトイン・セルフテスト方法が提供される。追加の利点としては、システム・オン・チップの応用例の開発コストが低減される。
2004534220.tif 000002
【特許請求の範囲】
【請求項１】
システム・オン・チップ用の階層的ビルトイン・セルフテストを行う装置であって、
中央ＢＩＳＴコントローラと、
少なくとも１つのローカルＢＩＳＴ回路と、
前記中央ＢＩＳＴコントローラと前記少なくとも１つのローカルＢＩＳＴ回路の間に設けられた少なくとも１つの通信媒体と
を備える装置。
【請求項２】
前記少なくとも１つのローカルＢＩＳＴ回路が少なくとも１つのマクロと関連づけられる、請求項１に記載の装置。
【請求項３】
前記中央ＢＩＳＴコントローラが、各マクロ用のハードコード化テスト・コマンドのための記憶域を備える、請求項２に記載の装置。
【請求項４】
前記中央ＢＩＳＴコントローラが、各マクロ用のテスト・コマンドをプログラムする少なくとも１つのプログラム可能媒体を備える、請求項２に記載の装置。
【請求項５】
前記中央ＢＩＳＴコントローラが、各マクロ用のテスト・シーケンスを実行する状態マシンを備える、請求項２に記載の装置。
【請求項６】
前記中央ＢＩＳＴコントローラが、外部テスト・プログラムを処理するプロセッサを備える、請求項２に記載の装置。
【請求項７】
前記中央ＢＩＳＴコントローラが、各マクロから収集されたデータを後で外部解析するために記憶する一時記憶空間を備える、請求項２に記載の装置。
【請求項８】
前記一時記憶空間が、ダイナミック・ランダム・アクセス・メモリを含む、請求項７に記載の装置。
【請求項９】
システム・オン・チップ用の階層的ビルトイン・セルフテストを提供する方法であって、
中央ＢＩＳＴコントローラを設けるステップと、
少なくとも１つのローカルＢＩＳＴ回路を設けるステップと、
前記中央ＢＩＳＴコントローラと前記少なくとも１つのローカルＢＩＳＴ回路の間で通信するステップと
を含む方法。
【請求項１０】
システム・オン・チップ用の階層的ビルトイン・セルフテストを提供するための方法ステップを実施するための機械で実行可能な命令プログラムを有形に実施する、機械で読み取り可能なプログラム記憶装置であって、前記方法が、
中央ＢＩＳＴコントローラを設けるステップと、
少なくとも１つのローカルＢＩＳＴ回路を設けるステップと、
前記中央ＢＩＳＴコントローラと前記少なくとも１つのローカルＢＩＳＴ回路の間で通信するステップと
を含む、プログラム記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にコンピュータ・チップ中およびコンピュータ・チップ用のビルトイン・セルフテスト設計に関する。
【背景技術】
【０００２】
ビルトイン・セルフテスト（ＢＩＳＴ）設計は、メモリ・チップおよびマイクロプロセッサ・チップ中で一般に実装されてきている。一部のＢＩＳＴ設計は、不良チップを選別するために、ウェーハ・レベルまたはモジュール・レベルのテスト時に一度だけ使用される。他のＢＩＳＴ設計は、チップのライフタイムを通じて、パワーオンのたびに、自己検査と修復を行うために使用される。今日の高密度、高性能のチップ設計において、ＢＩＳＴは、製品の開発コスト、および製品化までの期間を決定する重要な回路構成要素になってきている。
【０００３】
高密度ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）中の典型的なＢＩＳＴ回路は、コントローラ、キャッシュ、パターン・ジェネレータ、およびデータ・コンパレータを含む。（例えば、Jeffery Dreibelbis他の「Processor-Based Built-In Self-Test for EmbeddedDRAM」、IEEE Journal of Solid State Circuits、33巻、No.11、1988年11月、1731〜1739頁を参照されたい。）コントローラは、外部テスタと通信するために信号ビットを使用する。それらの信号ビットをプログラムすることによって、ＳＴＡＲＴ（開始）、ＳＴＯＰ（停止）、ＣＯＮＴＩＮＵＥ（継続）、ＲＥＦＲＥＳＨ（リフレッシュ）、ＲＥＡＤ（読出し）、ＷＲＩＴＥ（書込み）など、様々なテスト・モードを実行することができる。一般にキャッシュは、複数のプログラム中の２０ビットの命令ワードを２５６ワード分記憶することができる。チップの電源投入後、キャッシュに１組のテスト・プログラムをロードし、このテスト・プログラムがＤＲＡＭをどのようにテストするかを決める。パターン・ジェネレータは、オール「１」、オール「０」、チェッカーボード、行ストライプ、列ストライプ、マーチ・パターンなどの一般的なテスト・パターンを生成することができる。データ・コンパレータは、ＤＲＡＭから読み出したデータを、ＤＲＡＭに書き込まれた期待値データと比較し、回路がテストに合格するか、不合格になるかを判定する。
【０００４】
ウェーハ・バーンインまたはモジュール・バーンイン中により詳細な解析を行うことができる。ＤＲＡＭアレイの各行および各列をスキャンした後、ビルトイン・アドレス・スタック・レジスタ・アレイが、最大不合格カウントをもつアドレスを記憶することになる。フューズ・プログラミング技術によって冗長構成をアクティブにすることにより、これらのアドレスを修復に使用する。
【０００５】
システム・オン・チップ（ＳＯＣ）設計では、単一チップ上に多くの異なるマクロを配置することにより、多機能動作を実現する統合技術を全面的に利用する。例えば、無線通信チップは、内蔵ＤＲＡＭメモリ・マクロ、フラッシュ・メモリ・マクロ、マイクロプロセッサ・コア、混成信号マクロ、およびいくつかのアナログ・マクロを備えることができる。複雑なシステム・チップを設計する際の挑戦課題の１つは、その設計を検証することである。しかしながら、各マクロのほとんどの入力ピンおよび出力ピンは集積化後にはアクセスできなくなることから、システム・チップの信頼性のある高速および低コストのテストを行うことは難しい。
【０００６】
既存のたいていのビルトイン・セルフテスト回路は個々のマクロに合わせて調整されるので、単一のメモリ・チップまたはプロセッサ・チップ用のＢＩＳＴ設計を、メモリ・マクロとプロセッサ・マクロの両方を含むシステム・チップに適用することはできない。メモリのテスト用のＢＩＳＴ設計をプロセッサのテスト用にそのまま使用することはできないし、逆もまた同様である。さらに、アナログ・マクロ、無線周波数（ＲＦ）マクロ、および混成信号マクロ用のＢＩＳＴ設計は、知られていない。異なるマクロのテスト間の通信および調整の欠如により、この問題の複雑さがさらに増すことになる。
【非特許文献１】
Jeffery Dreibelbis他、「Processor-BasedBuilt-In Self-Test for Embedded DRAM」、IEEE Journal of Solid State Circuits、33巻、No.11、1988年11月、1731〜1739頁
【発明の開示】
【発明が解決しようとする課題】
【０００７】
したがって、完全なシステム・オン・チップのテストを行い、システム・オン・チップ設計の回路の信頼性と性能を確保するのに有効なビルトイン・セルフテスト方法を提供することの必要性が認識されるようになってきている。
【課題を解決するための手段】
【０００８】
したがって、本発明は、第１の態様において、システム・オン・チップ用の階層的ビルトイン・セルフテストを行う装置を提供する。この装置は、中央ＢＩＳＴコントローラと、少なくとも１つのローカルＢＩＳＴ回路と、前記中央ＢＩＳＴコントローラと前記少なくとも１つのローカルＢＩＳＴ回路の間に設けられた少なくとも１つの通信媒体とを備える。
【０００９】
前記少なくとも１つのローカルＢＩＳＴ回路は、少なくとも１つのマクロに関連づけられていることが好ましい。
【００１０】
前記中央ＢＩＳＴコントローラは、各マクロごとにハードコード化テスト・コマンド用の記憶域を備えることが好ましい。
【００１１】
前記中央ＢＩＳＴコントローラは、各マクロ用のテスト・コマンドをプログラムする少なくとも１つのプログラム可能媒体を備えることが好ましい。
【００１２】
前記中央ＢＩＳＴコントローラは、各マクロ用のテスト・シーケンスを実行する状態マシンを備えることが好ましい。
【００１３】
前記中央ＢＩＳＴコントローラは、外部テスト・プログラムを処理するプロセッサを備えることが好ましい。
【００１４】
前記中央ＢＩＳＴコントローラは、各マクロから収集したデータを後で外部解析するために記憶する一時記憶空間を備えることが好ましい。
【００１５】
前記一時記憶空間は、ダイナミック・ランダム・アクセス・メモリを含むことが望ましい。
【００１６】
前記中央ＢＩＳＴコントローラは、階層的テスト・アルゴリズムを実施するロジックを備えることが好ましい。
【００１７】
前記ロジックは複数のテスト・レベルでテストを実施するようになっていることが好ましい。
【００１８】
前記ロジックは、少なくとも１つの低レベルのテストを実施する以前に、少なくとも１つの高レベルのテストを実施するようになっていることが好ましい。
【００１９】
前記マクロが複数のマクロからなり、前記ロジックは各マクロ内、または複数のマクロ間の故障メカニズムを決定するようになっていることが好ましい。
【００２０】
前記ロジックは、致命的または修復不可能な故障が検出されたとき、テスト手順を打ち切るようになっていることが好ましい。
【００２１】
前記ロジックは、少なくとも１つのローカルＢＩＳＴ回路に、少なくとも１つのマクロ中で修復可能な故障を修理するように指示するようになっていることが好ましい。
【００２２】
前記ロジックは、所与のレベルのテストが完了した後、異なる階層レベルでテストを開始するようになっていることが好ましい。
【００２３】
前記中央ＢＩＳＴコントローラは、各マクロから収集したデータを後で外部解析するために記憶する一時記憶空間を備え、前記少なくとも１つのローカルＢＩＳＴ回路が最後のレベルのテストを完了した後に、前記ロジックが、前記中央ＢＩＳＴコントローラにデータを転送し、前記一時記憶空間にデータを記憶するようになっていることが好ましい。
【００２４】
前記ロジックは、前記少なくとも１つのローカルＢＩＳＴ回路があらゆるマクロ上で最後のレベルのテストを完了した後、テスト完了の信号を送るようになっていることが好ましい。
【００２５】
前記少なくとも１つの通信媒体は、コマンド・ビットおよびデータ・ビットと、前記コマンド・ビットおよびデータ・ビットを少なくとも１つの特定のマクロに差し向けるアドレス・ビットとを備えることが好ましい。
【００２６】
第１の態様の装置は、前記中央ＢＩＳＴコントローラに転送可能な、テスト・コマンドをプログラムするための少なくとも１つの所定のテスト・プログラムをさらに備えることが好ましい。
【００２７】
前記中央ＢＩＳＴコントローラは、ＤＳＰプロセッサを備えることが好ましい。
【００２８】
第１の態様の装置は、修復の目的で設けられた少なくとも１つの冗長なローカル回路をさらに備えることが好ましい。
【００２９】
第２の態様において、本発明は、システム・オン・チップ用の階層的なビルトイン・セルフテストを行う方法を提供する。この方法は、中央ＢＩＳＴコントローラを設けるステップと、少なくとも１つのローカルＢＩＳＴ回路を設けるステップと、前記中央ＢＩＳＴコントローラと前記少なくとも１つのローカルＢＩＳＴ回路の間で通信するステップとを含む。
【００３０】
第２の態様の方法は、前記少なくとも１つのローカルＢＩＳＴ回路と関連づけられた少なくとも１つのマクロを設けるステップをさらに含むことが好ましい。
【００３１】
前記中央ＢＩＳＴコントローラを設けるステップは、各マクロ用のハードコード化テスト・コマンドのための記憶域を設けるステップを含むことが好ましい。
【００３２】
前記中央ＢＩＳＴコントローラを設けるステップは、各マクロ用のテスト・コマンドをプログラムする少なくとも１つのプログラム可能媒体を設けるステップを含むことが好ましい。
【００３３】
前記中央ＢＩＳＴコントローラを設けるステップは、各マクロ用のテスト・シーケンスを実行する状態マシンを設けるステップを含むことが好ましい。
【００３４】
前記中央ＢＩＳＴコントローラを設けるステップは、外部テスト・プログラムを処理するプロセッサを設けるステップを含むことが好ましい。
【００３５】
前記中央ＢＩＳＴコントローラを設けるステップは、各マクロから収集したデータを後で外部解析するために記憶する一時記憶空間を設けるステップを含むことが好ましい。
【００３６】
前記一時記憶空間を設けるステップは、ダイナミック・ランダム・アクセス・メモリを設けるステップを含むことが好ましい。
【００３７】
第２の態様の方法は、階層的テスト・アルゴリズムを実施するステップをさらに含むことが好ましい。
【００３８】
前記階層的テスト・アルゴリズムを実施するステップは、複数のテスト・レベルでテストを実施するステップを含むことが好ましい。
【００３９】
前記階層的テスト・アルゴリズムを実施するステップは、少なくとも１つの低レベルのテストを実施する以前に、少なくとも１つの高レベルのテストを実施するステップを含むことが好ましい。
【００４０】
前記マクロは複数のマクロからなり、前記階層的テスト・アルゴリズムを実施するステップは、各マクロ内および複数のマクロ間で故障メカニズムを決定するステップを含むことが好ましい。
【００４１】
前記階層的テスト・アルゴリズムを実施するステップは、致命的または修復不可能な故障が検出されたとき、テスト手順を打ち切るステップを含むことが好ましい。
【００４２】
前記階層的テスト・アルゴリズムを実施するステップは、少なくとも１つのローカルＢＩＳＴ回路に、少なくとも１つのマクロ内の修復可能な故障を修理するように指示するステップを含むことが好ましい。
【００４３】
前記階層的テスト・アルゴリズムを実施するステップは、所与のレベルのテストが完了した後、異なる階層レベルでテストを開始するステップを含むことが好ましい。
【００４４】
前記中央ＢＩＳＴコントローラを設けるステップは、各マクロから収集したデータを後で外部解析するために記憶する一時記憶空間を設けるステップを含み、前記階層的テスト・アルゴリズムを実施するステップは、前記少なくとも１つのローカルＢＩＳＴ回路が最後のレベルのテストを完了した後、前記中央ＢＩＳＴコントローラにデータを転送し、前記一時記憶空間にデータを保存するステップを含むことが好ましい。
【００４５】
前記階層的テスト・アルゴリズムを実施するステップは、前記少なくとも１つのローカルＢＩＳＴ回路があらゆるマクロの最後のレベルのテストを完了した後、テスト完了の信号を送るステップを含むことが好ましい。
【００４６】
前記通信するステップは、コマンド・ビットおよびデータ・ビットを設けるステップと、前記コマンド・ビットおよびデータ・ビットを少なくとも１つの特定のマクロに差し向けるアドレス・ビットとを設けるステップを含むことが好ましい。
【００４７】
第２の態様の方法は、前記中央ＢＩＳＴコントローラに転送可能な、テスト・コマンドをプログラムするための少なくとも１つの所定のテスト・プログラムを備えるステップをさらに含むことが好ましい。
【００４８】
前記中央ＢＩＳＴコントローラを設けるステップは、ＤＳＰプロセッサを設けるステップを含むことが好ましい。
【００４９】
第２の態様の方法は、修復の目的で設けられた少なくとも１つの冗長なローカル回路を設けるステップをさらに含むことが好ましい。
【００５０】
好ましい実施形態では、本発明は、システム・オン・チップ用の階層的ビルトイン・セルフテストを提供するための方法ステップを実施するための、機械で実行可能な命令プログラムを有形に実施する、機械で読み取り可能なプログラム記憶デバイスを提供することができる。この方法は、中央ＢＩＳＴコントローラを設けるステップと、少なくとも１つのローカルＢＩＳＴ回路を設けるステップと、前記中央ＢＩＳＴコントローラと前記少なくとも１つのローカルＢＩＳＴ回路の間で通信するステップとを含む。
【００５１】
本発明の少なくとも１つの現在好ましい実施形態によれば、様々な機能ブロックおよびマクロを有する集積化システム・チップをテストするための階層的ビルトイン・セルフテスト（ＢＩＳＴ）設計方法が提供される。
【００５２】
本発明はまた、広義には、少なくとも１つの実施形態によれば、中央ＢＩＳＴコントローラと、各マクロ用の１つまたは複数のローカルＢＩＳＴ回路と、システム・オン・チップ（ＳＯＣ）テスト動作を実施するデータ／コントロール・パスとを提供することを企図している。
【００５３】
本発明ではさらに、様々なマクロ上で様々なレベル（または複数のレベル）のテストを可能にする好ましい階層的テスト方法を提供することを企図している。例えば、最高レベルのテストでは、修復可能ではない各マクロの故障を検出する。次のレベルのテストでは、修復可能ではないマクロ・インタフェースの故障を検出する。それに続くレベルのテストは、自己修復、自己調整、ならびに各マクロ用の性能および機能を確保するためのパラメータ調節を含むことができる。最後のレベルのテストは、インタフェース・デバッグおよび歩留まり解析を実施し、外部テスタにレポートを送る。
【００５４】
本発明の少なくとも１つの現在好ましい実施形態によれば、中央ＢＩＳＴコントローラは、各マクロ用のテスト・パターンを記憶し、テスト・コマンドをプログラムするためのプログラム可能装置と、各マクロ用のテスト・シーケンスを順番に実行するための状態マシンと、ローカルＢＩＳＴ回路からのフィードバック・データを収集するためのダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）と、外部テスタからのプログラムを介してマクロ内およびマクロ間のテストを実施するための組込みプロセッサとを備える。
【００５５】
本発明ではさらに、階層的かつ並列的な方法でセルフテストを実施し停止基準を設定して、合計テスト時間を低減する、好ましいテスト・アルゴリズムを提供することを企図している。
【００５６】
要約すれば、本発明の一態様の好ましい実施形態は、システム・オン・チップ用の階層的ビルトイン・セルフテストを行うための装置を提供する。この装置は、中央ＢＩＳＴコントローラと、少なくとも１つのローカルＢＩＳＴ回路と、中央ＢＩＳＴコントローラと少なくとも１つのローカルＢＩＳＴ回路の間に設けられた少なくとも１つの通信媒体とを備える。
【００５７】
本発明の好ましい実施形態の別の態様では、システム・オン・チップ用の階層的ビルトイン・セルフテストを行う方法を提供する。この方法は、中央ＢＩＳＴコントローラを設けるステップと、少なくとも１つのローカルＢＩＳＴ回路を設けるステップと、中央ＢＩＳＴコントローラと少なくとも１つのローカルＢＩＳＴ回路の間で通信するステップとを含む。
【００５８】
さらに、本発明の好ましい実施形態の別の態様では、システム・オン・チップ用の階層的ビルトイン・セルフテストを行うための方法ステップを実施するための、機械で実行可能な命令プログラムを有形に実施する、機械で読み取り可能なプログラム記憶デバイスを提供する。この方法は、中央ＢＩＳＴコントローラを設けるステップと、少なくとも１つのローカルＢＩＳＴ回路を設けるステップと、中央ＢＩＳＴコントローラと少なくとも１つのローカルＢＩＳＴ回路の間で通信するステップとを含む。
【００５９】
次に、本発明の好ましい実施形態を、ほんの一例として添付図面を参照して説明することにする。
【発明を実施するための最良の形態】
【００６０】
図１に、特定のビルトイン・セルフテスト（ＢＩＳＴ）ユニットを備えたシステム・オン・チップ（ＳＯＣ）設計を示す。具体的には、中央ＢＩＳＴ制御ユニット１０が、アドレス・ビットおよびコマンド・ビットを含む情報を個々のマクロ３０、５０、７０、９０、１００のそれぞれローカルＢＩＳＴユニット３０ａ、５０ａ、７０ａ、９０ａ、１００ａに送り、階層的に、以下のテストを行うことが好ましい。
−無線周波数（ＲＦ）マクロ３０、フラッシュ・メモリ・マクロ５０、混成信号マクロ７０、ダイナミック・ランダム・アクセス・メモリ・マクロ９０、およびプロセッサ・マクロ１００のユニット・テスト、
−ＤＲＡＭからプロセッサへのデータの読込み、プロセッサからＤＲＡＭへのデータの書込み、ＤＲＡＭマクロからのプロセッサのテスト・プログラムの実行など、プロセッサ・マクロ１００とＤＲＡＭマクロ８０の間のインターフェース・テスト、
−ＲＦマクロ３０と外部アンテナの間のインターフェース・テスト、
−ＲＦマクロ３０と混成信号マクロ７０のベースバンド部の間のインターフェース・テスト、
−フラッシュ・メモリ・マクロ５０と混成信号マクロ７０のディジタル信号処理（ＤＳＰ）ユニットの間の、例えばＤＳＰからフラッシュへの情報の記憶やブロック消去の実行などの通信テスト、
−ＤＲＡＭマクロ９０とフラッシュ・メモリ・マクロ５０の間の、例えばこれら２つのユニット間でデータ交換などのデータ転送性能テスト。
【００６１】
中央ＢＩＳＴ制御ユニット１０は、修復できない故障を検出したとき、テスト・シーケンスを直ちに停止して、テスト時間を節約することが好ましい。他のすべての修復可能な故障は、（修復可能な場合は）ローカルＢＩＳＴ回路（３０ａ、５０ａ、７０ａ、９０ａ、１００ａ）によって修理し、さらに解析するために中央ＢＩＳＴ制御ユニット１０に報告することが好ましい。図２に、システム・チップおよびそのサブシステム用の一般的な階層的ビルトイン・セルフテスト（ＢＩＳＴ）方式を示す（例えば、ラップトップ・システムには、マルチメディア、ビデオ、オーディオ、モデム、インターフェースなどのサブシステムがあり得る）。具体的には、図２に本発明の少なくとも１つの現在好ましい実施形態に従って利用できる一般的な階層を示す。この図に示すように、グローバル・レベルまたはシステム・レベル２００には、オフチップ通信、グローバルＢＩＳＴ制御、およびグローバルＢＩＳＴプログラムが存在することができる。他方、１「ステップ」階層が低いサブシステム・レベル２０５では、オンチップ通信、第２レベル（または中間レベル）ＢＩＳＴ制御、および第２レベル（または中間レベル）ＢＩＳＴプログラミングの諸機能を２０７ａ、２０７ｂ、２０７ｃなどの様々なサブシステムと関連づけることができる。したがって、階層の「ローカル」レベル２１０では、ローカルＢＩＳＴ制御およびローカルＢＩＳＴプログラミングを、２１２ａ、２１２ｂ、２１２ｃ、２１２ｄなどの様々なコアまたはマクロと関連づけることができることが好ましい。一般的に、レベル２００のグローバル・システムの下位にあるサブシステム「レベル」２０５には少なくとも１つの（一般には複数の）サブシステムが関連づけられていることが好ましいのに対して、各サブシステムの下位にあるローカル「レベル」２１０には（一般には複数であるが）少なくとも１つのコアまたはマクロが関連づけられていることを理解されたい。
【００６２】
本発明の好ましい実施形態においては、各サブシステムには、階層の「最低」レベルまたは「第１」レベルに、ＲＥＡＤ、ＷＲＩＴＥ、ＥＸＥＣＵＴＥ（実行）、ＲＥＴＵＲＮ（リターン）などの標準テスト機能を行うローカルＢＩＳＴユニットがあることが好ましい。かかるローカルＢＩＳＴユニットはまた、それが存在するサブシステムに特有のテスト機能を行うことが好ましい。例えば、ＤＲＡＭマクロ中のローカルＢＩＳＴユニットは、そのメモリ・アレイ用のあらかじめ定義されたテスト・パターンを生成するパターン・ジェネレータを有することができる。プロセッサ・マクロ中のローカルＢＩＳＴユニットは、中央処理ユニット（ＣＰＵ）コア用のあらかじめ定義されたプログラムを供給するプログラム・ジェネレータを有することが好ましい（ＣＰＵコアをＤＳＰユニットとすることもできることに留意されたい）。すべてのローカルＢＩＳＴ回路は、グローバルＢＩＳＴユニットとローカルＢＩＳＴユニットの間の通信を容易にするための共通インターフェースを備えている。この通信チャネルは、シリアル・バス、パラレル・バス、または既存の任意の標準バスとすることができる。それらのローカルＢＩＳＴ回路が共通インターフェースをもたない場合には、通信チャネルを確立するためにグローバルＢＩＳＴユニット中で、各ローカルＢＩＳＴ回路への特定のインターフェースを実装することが好ましい。
【００６３】
オンチップ通信により、グローバルＢＩＳＴユニットが、そのローカルＢＩＳＴユニットに対する様々な制御動作およびデータ転送動作を実施することが可能になる。制御動作により、グローバルＢＩＳＴユニットが、ローカルＢＩＳＴを開始し、ローカルＢＩＳＴを停止し、あるいはローカルＢＩＳＴのステータスを要求することが可能になる。データ転送動作により、グローバルＢＩＳＴユニットが、ローカルＢＩＳＴユニット中にテスト・プログラムを記憶し、またはローカルＢＩＳＴからテスト結果を読み取ることが可能になる。さらに、オンチップ通信により、グローバルＢＩＳＴユニットが、２つ以上のローカルＢＩＳＴユニット間で制御動作およびデータ転送動作を実施することが可能になる。例えば、制御動作は、２つ以上のローカルＢＩＳＴを開始し、２つ以上のローカルＢＩＳＴを停止し、あるいは２つ以上のローカルＢＩＳＴのステータスを要求することができる。データ転送動作は、２つ以上のローカルＢＩＳＴユニット中にテスト・プログラムを記憶し、２つ以上のローカルＢＩＳＴからテスト結果を読み取り、指定されたローカルＢＩＳＴユニットを介して、マクロ−マクロ間のテストを実施することができる。
【００６４】
グローバルＢＩＳＴのもう１つの主要な特徴は、設計仕様に従って、そのローカル・マクロが適切に機能しているかどうかを判定する能力である。機能していない場合には、グローバルＢＩＳＴがそれを冗長なローカル・ユニットで置き換えることが好ましい。
【００６５】
図３にグローバルＢＩＳＴユニットおよびローカルＢＩＳＴユニットによって実行することができるテスト・プログラムの流れを示す。
【００６６】
図に示すように、階層的なＢＩＳＴプログラムをまずロードすることが好ましい（３０２）。次いでローカルＢＩＳＴプログラムｎを実行することが好ましい（３０４）。対応するローカルＢＩＳＴレポート（３０６）に関連する故障があれば、このプロセスは終了する（３０８）。そうでなければ、ｎがＮに等しいかどうか判定を行う（３１０）。この後者Ｎは、利用可能なローカルＢＩＳＴプログラムの全体数を示す。判定が否定的な場合、ｎを１だけ増分し（３１２）、ステップ３０４に再び戻る。判定が肯定的な場合には、ステップ３１４で第２レベルまたは中間レベルのＢＩＳＴを実行する。この場合も同様に、システムＢＩＳＴはサブシステムのそれぞれのＢＩＳＴに順次、または別の定義された順序で問い合わせを行うことが好ましい。最後に、ステップ３１６でグローバル・レベルまたは最高レベルのＢＩＳＴを実行することが好ましい。最高レベルのＢＩＳＴレポート（３１８）に関して、故障があれば、このプロセスは終了する（３２０）。「合格」の場合には、階層的なＢＩＳＴがステップ３２２で完了したと見なされる。ステップ３２２がプロセスが正常に完了したことに相当するのに対して、ステップ３０８または３２０あるいはその両方は、修復できない故障の場合にはプロセスの早期終了を促し、その後直ちに自動外部テスタまたはオペレータにその旨を知らせ、あるいは修復可能な故障の場合にはさらなるテスト・プログラム、さらには自己修復プログラムをも活動化するよう通知することができる。
【００６７】
本発明の少なくとも１つの現在好ましい実施形態によれば、テスト・プログラムは、グローバルＢＩＳＴユニットによってあらかじめ定義することができ、あるいはオフチップの通信チャネルを介して外部からロードすることができる。テスト時間を低減するために、ローカルＢＩＳＴユニットにより、サブシステム用のテスト・プログラムを並列に実行することができる。ローカルＢＩＳＴユニットが修復不可能な故障を検出すると、オンチップのＢＩＳＴ間通信チャネルを介してグローバルＢＩＳＴユニットにそれが報告される。続いて、グローバルＢＩＳＴユニットはテストを終了し、グローバル・レベルで交換のために用意された追加ユニットがない場合はオフチップの通信チャネルを介して外部テスタに故障信号を送る。他方、ローカルに修復可能な故障が検出された場合、冗長構成のアクティブ化や性能調節など複数のテスト・プログラムを各サブシステム上で実行することができる。テスト効率を改善するために、最高の故障カバレージをもたらすテスト・プログラムをまず実行する。ローカルＢＩＳＴユニットのすべてが、それぞれのサブシステムのテストを正常に実行した後、グローバルＢＩＳＴユニットが最終的なシステム・テストを実施することになる。
【００６８】
本発明は、少なくとも１つの現在好ましい実施形態によれば、広義には、２レベル、３レベル、４レベル、または４より大きな任意の考えられるレベル数からなるＢＩＳＴ階層を企図していることを理解されたい。それぞれの場合に、あるレベルのＢＩＳＴと階層のすぐ下のレベルの１つまたは複数のＢＩＳＴの間の関係に関して同様な原理が適用できることが好ましいであろう。
【００６９】
本発明は、少なくとも１つの現在好ましい実施形態によれば、中央ＢＩＳＴコントローラと、少なくとも１つのローカルＢＩＳＴ回路と、中央ＢＩＳＴコントローラと少なくとも１つのＢＩＳＴ回路の間に提供された少なくとも１つの通信媒体とを含むことを理解されたい。中央ＢＩＳＴコントローラ、少なくとも１つのローカルＢＩＳＴ回路、および少なくとも１つの通信媒体は共に、適切なソフトウェア・プログラムを実行する少なくとも１台の汎用コンピュータ上に実装することができる。これらはまた、少なくとも１個の集積回路または少なくとも１個の集積回路の一部の上に実装することもできる。したがって、本発明はハードウェア、ソフトウェア、または両者の組合せの形で実施できることを理解されたい。
【００７０】
本発明の実施形態の例を添付の図面を参照して本明細書で説明してきたが、本発明がこれらの厳密な実施形態に限定されないこと、および本発明の範囲を逸脱することなく、他の様々な変更および修正を加えることができることが当業者には理解されよう。
【図面の簡単な説明】
【００７１】
【図１】特定のビルトイン・セルフテスト（ＢＩＳＴ）ユニットを備えるシステム・オン・チップ（ＳＯＣ）設計を示す図である。
【図２】システム・チップおよびそのサブシステム用の一般的な階層的ビルトイン・セルフテスト方式を示す図である。
【図３】グローバルＢＩＳＴユニットおよびローカルＢＩＳＴユニットによって実行することができるテスト・プログラムの流れを示す図である。
【図１】
2004534220.tif 000003
【図２】
2004534220.tif 000004
【図３】
2004534220.tif 000005
【国際公開パンフレット】
2004534220.tif 000006
2004534220.tif 000007
2004534220.tif 000008
2004534220.tif 000009
2004534220.tif 000010
2004534220.tif 000011
2004534220.tif 000012
2004534220.tif 000013
2004534220.tif 000014
2004534220.tif 000015
2004534220.tif 000016
2004534220.tif 000017
2004534220.tif 000018
2004534220.tif 000019
2004534220.tif 000020
2004534220.tif 000021
2004534220.tif 000022
2004534220.tif 000023
【国際公開パンフレット（コレクトバージョン）】
2004534220.tif 000024
2004534220.tif 000025
【国際調査報告】
2004534220.tif 000026
2004534220.tif 000027