(57)【特許請求の範囲】
【請求項１】
クロックを与えられて動作するロジック回路と、
前記ロジック回路に組み込み自己テストを行うため、前記ロジック回路に入力すべきパターンを生成するパターン生成器と、前記ロジック回路が前記パターンを与えられて出力したデータを与えられて圧縮しその結果を出力するパターン圧縮器と、前記パターン生成器及び前記パターン圧縮器の動作を制御し、前記ロジック回路におけるスキャンパスが前記パターンを与えられてシフトする動作を制御するロジック組み込み自己テスト制御部とを有するロジック組み込み自己テスト回路と、
前記クロックを与えられて動作するデバイス回路と、
前記デバイス回路に組み込み自己テストを行うデバイス回路組み込み自己テスト回路と、
を備え、
前記デバイス回路組み込み自己テスト回路が前記デバイス回路に組み込み自己テストを行う間、前記ロジック組み込み自己テスト回路は低消費電力モードに設定され、前記パターン生成器は、前記ロジック組み込み自己テスト回路が低消費電力モードに入る直前におけるデータの保持状態を維持し前記パターンに替えて固定値を生成して前記ロジック回路に入力し、前記パターン圧縮器は、前記ロジック組み込み自己テスト回路が低消費電力モードに入る直前におけるデータの保持状態を維持し圧縮動作を停止することを特徴とする半導体集積回路。
【請求項２】
前記パターン生成器は、直列に配置された複数段の第１のレジスタと、
前記第１のレジスタの各々の入力側に設けられ、第１の制御信号に基づいて、対応する当該第１のレジスタの前段に配置された第１のレジスタ側からの出力と当該第１のレジスタからの出力とのいずれか一方を選択して当該第１のレジスタの入力に与える第１のマルチプレクサと、
複数段の前記第１のレジスタのうちの所定のものの出力側にそれぞれ配置され、対応する当該第１のレジスタからの出力と、最終段の前記第１のレジスタからの出力とを与えられて第１の論理演算を行って第１の演算結果を出力し、当該第１のレジスタの後段に配置された第１のレジスタの入力側に設けられた前記第１のマルチプレクサに前記第１のレジスタ側からの出力としてそれぞれ出力する第１の論理演算素子と、
前記第１のレジスタの各々に対応して設けられ、前記第１の制御信号と、対応する当該第１のレジスタからの出力とを与えられて第２の論理演算を行って第２の演算結果をそれぞれ出力する第２の論理演算素子とを含み、
前記第１の制御信号が前記低消費電力モードに対応する場合、
前記第１のマルチプレクサの各々は、対応する当該第１のレジスタからの出力を選択して当該第１のレジスタの入力にフィードバックして与え、
前記第２の論理演算素子の各々は、固定された値を出力し、
前記パターン圧縮器は、直列に配置された複数段の第２のレジスタと、
前記第２のレジスタの各々の入力側に設けられ、第２の制御信号に基づいて、対応する当該第２のレジスタの前段に配置された前記第２のレジスタ側からの出力と当該第２のレジスタからの出力とのいずれか一方を選択して当該第２のレジスタの入力側に与える第２のマルチプレクサと、
所定位置の複数段の前記第２のレジスタの出力側にそれぞれ配置され、対応する当該第２のレジスタからの出力と、最終段の前記第２のレジスタからの出力と、前記ロジック回路からパラレルに出力されたデータのうち対応するものをそれぞれ与えられて第３の論理演算を行って第３の演算結果を出力し、当該第２のレジスタの後段に配置された第２のレジスタの入力側に設けられた前記第２のマルチプレクサに前記第１のレジスタ側からの出力としてそれぞれ出力する第３の論理演算素子とを含み、
前記第２の制御信号が前記低消費電力モードに対応する場合、
前記第２のマルチプレクサの各々は、対応する当該第２のレジスタからの出力を選択して当該第２のレジスタの入力にフィードバックして与えることを特徴とする請求項１記載の半導体集積回路。
【請求項３】
前記ロジック組み込み自己テスト制御部は、
前記ロジック回路のスキャンパスにＮ（Ｎは１以上の整数）番目のパターンを与えて組み込み自己テストを行っている最中に、前記デバイス回路組み込み自己テスト回路が前記デバイス回路の組み込み自己テストを開始する時、低消費電力モードに入り、
前記低消費電力モードに入る時点で、前記ロジック回路の前記スキャンパスに対し、前記スキャンパス上に存在する前記Ｎ番目のテスト結果パターンのシフト出力及びこれに続くＮ＋１番目のパターンのシフト入力を完了させ、前記パターン生成器に対し、前記低消費電力モードに入る直前のデータ保持状態を維持させ、前記パターンに替えて固定値を生成させ、前記パターン圧縮器に対し、前記低消費電力モードに入る直前のデータ保持状態を維持させて圧縮動作を停止させ、
前記デバイス回路組み込み自己テスト回路が前記デバイス回路の組み込み自己テストを終了する時、低消費電力モードを終了し、前記パターン生成器に前記Ｎ＋１番目に続くＮ＋２番目のパターンを生成させて前記スキャンパスに入力させ、その後前記パターン圧縮器に圧縮動作を再開させてシフト出力の圧縮を続行させることを特徴とする請求項１又は２記載の半導体集積回路。
【請求項４】
前記ロジック組み込み自己テスト回路として、少なくとも第１のロジック組み込み自己テスト回路と第２のロジック組み込み自己テスト回路とを有し、
前記ロジック回路は、少なくとも前記第１のロジック組み込み自己テスト回路により組み込み自己テストが行われる第１のロジック回路部と、少なくとも前記第２のロジック組み込み自己テスト回路により組み込み自己テストが行われる第２のロジック回路部とを有し、
前記デバイス回路組み込み自己テスト回路として、少なくとも第１のメモリ組み込み自己テスト回路と第２のメモリ組み込み自己テスト回路とを有し、
前記デバイス回路は、少なくとも前記第１のメモリ組み込み自己テスト回路により組み込み自己テストが行われる第１のメモリ部と、少なくとも前記第２のメモリ組み込み自己テスト回路により組み込み自己テストが行われる第２のメモリ部とを有し、
さらに、前記第１のロジック組み込み自己テスト回路、前記第２のロジック組み込み自己テスト回路、前記第１のメモリ組み込み自己テスト回路及び前記第２のメモリ組み込み自己テスト回路のそれぞれの組み込み自己テスト動作の手順を制御するテスト順序制御回路を備え、
前記テスト順序制御回路は、
前記第１及び第２を含む全てのロジック組み込み自己テスト回路を前記低消費電力モードに設定し、
前記第１のメモリ組み込み自己テスト回路に前記第１のメモリ部に第１のデータを書き込ませて保持動作を開始させ、前記第２以降のメモリ組み込み自己テスト回路に前記第２以降それぞれのメモリ部に順次前記第１のデータを書き込ませて保持動作を開始させ、全てのメモリ組み込み自己テスト回路が保持状態に移行した後、
前記第１のロジック組み込み自己テスト回路の前記低消費電力モードを終了させ、前記第１のロジック組み込み自己テスト回路に前記第１のロジック回路部に組み込み自己テストを実行させ、その実行中に、前記第１のメモリ部の保持期間が終了した場合は、前記第１のロジック組み込み自己テスト回路は前記低消費電力モードに入り、前記第１のメモリ組み込み自己テスト回路に前記第１のメモリ部から前記第１のデータを読み出させ、前記第２以降のメモリ組み込み自己テスト回路に前記第２以降のメモリ部から前記第１のデータを順次読み出させ、第１のメモリ保持試験を終了させ、第２以降のメモリ保持試験を同様の順で行い、
メモリ保持試験の保持状態中に第１のロジック組み込み自己テストが終了した場合には前記第２のロジック組み込み自己テスト回路の前記低消費電力モードを終了させ、前記第２のロジック組み込み自己テスト回路に前記第２のロジック回路部に組み込み自己テストを実行させ、以降全てのロジック組み込み自己テストを順次実行することを特徴とする請求項１乃至３のいずれかに記載の半導体集積回路。
【請求項５】
請求項１記載の半導体集積回路を設計する装置であって、
前記半導体集積回路に含まれるデバイス回路の構成情報に基づいて、前記デバイス回路組み込み自己テスト回路の回路情報を生成するデバイス回路組み込み自己テスト回路生成装置と、
前記半導体集積回路に含まれる前記ロジック回路の情報に基づいて、前記ロジック組み込み自己テスト回路の回路情報を生成するロジック組み込み自己テスト回路生成装置と、
前記デバイス回路組み込み自己テスト回路の回路情報と、前記ロジック組み込み自己テスト回路の回路情報と、前記半導体集積回路のテスト条件およびテスト時の消費電力制約条件とに基づいて、前記消費電力制約条件を満たすように、テストの順序制御を行うテスト順序制御回路の回路情報を生成するテスト順序制御回路生成装置と、
前記半導体集積回路の回路情報を与えられ、この回路情報に、前記デバイス回路組み込み自己テスト回路の回路情報と、前記ロジック組み込み自己テスト回路の回路情報と、前記テスト順序制御回路の回路情報とを加えることで、前記半導体集積回路に、前記デバイス回路組み込み自己テスト回路と、前記ロジック組み込み自己テスト回路と、前記テスト順序制御回路とを挿入した回路情報を出力するテスト回路挿入装置と、
を備えることを特徴とする半導体集積回路の設計装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路及びその設計装置に関する。
【背景技術】
【０００２】
大規模かつ複雑な半導体集積回路のテストの困難性を解決するテスト容易化手法のひとつに、組み込み自己テスト（Built-In Self Test、以下ＢＩＳＴと称する）があり、幅広く用いられている。
【０００３】
ＢＩＳＴは、半導体集積回路における被テストブロックへ与えるテストパターンの生成と、被テストブロックからのテスト結果出力の解析とを、被テストブロックの周辺に配置された組み込み自己テスト回路を用いて自動的に行なうものである。
【０００４】
先ず、テスト対象となる被テストブロックを含む半導体集積回路をテストモードに設定する。これにより、被テストブロックの入出力端子は通常動作時とは異なるテスト用信号が入力される。
【０００５】
ＢＩＳＴ回路を制御するＢＩＳＴ制御回路を初期化した後、ＢＩＳＴクロックを所定数入力することにより、組み込み自己テストが実行される。自己テストの実行中は、被テストブロックへパターン生成器が生成したテストパターンが自動的に入力される。
【０００６】
被テストブロックから出力されたテスト結果は、テスト結果解析器において解析されて、その解析結果が出力される。
【０００７】
ＢＩＳＴによるテストでは、テストパターンを外部のテスタメモリ上に用意する必要がなくなり、テスタのコストが削減される。また、全ての動作をＢＩＳＴクロックに同期してデバイス内で行う。このため、ＢＩＳＴクロックを高速で動作させることにより、テスタによるテスト動作周波数よりも速い動作速度でのテストが可能になる。これにより、実動作での製品テストを行うことができる。
【０００８】
複数の異なる種類の機能ブロック（ＩＰ（Intellectual Property）コア）が搭載されるシステムオンチップ（System-on-Chip、以下ＳｏＣと称する）では、ロジックコア、メモリコア等のそれぞれにＢＩＳＴを組み込むことにより、各ブロックを独立にテストすることができる。またこれにより、複数ブロックのテストを同時に行い、総テスト時間を短縮することが可能になる。
【０００９】
しかしその一方で、複数ブロックのテストを同時に行うことにより、テスト時の消費電力の増加が著しくなる傾向がある。
【００１０】
特にＢＩＳＴでは、通常動作時に比べて回路の活性化率を上げることにより、故障を検出する能力を上げることが一般的に行われる。このため、システム動作時の消費電力が設計時に考慮される制約内に抑えられていても、テスト時における消費電力が電源設計の保証範囲を超えて、電圧降下による誤作動を起こすことがあった。
【００１１】
このため、各テストを実行する順序を決定するスケジューリングを適切に行う必要が生じる。スケジューリングにより、同時に実行されるテストの総消費電力を制約範囲内に抑え、テストを消費電力とテスト時間の面から最適化することが必要である。
【００１２】
しかし、この際に問題になるのは、一部のブロックのテスト回路を動作させている間に他のブロックが動作してしまい、単純なスケジューリングでは消費電力問題が解決できない場合もあるということである。
【００１３】
例えば、メモリＢＩＳＴ回路を高周波数で実行するには、メモリのクロックにはシステム動作時に入力される高速クロックをそのまま使い、メモリＢＩＳＴ回路にも同じくこのクロックを使用して、タイミング調整を行うことが必要である。
【００１４】
しかし、このシステム動作用の高速クロックは同時にロジック回路へも伝播する。このため、ロジック回路がランダムに動作し、テスト対象外の部分においても電力消費が発生する。この伝播範囲が広くなると、半導体集積回路全体の消費電力が無視できないほどに増大する場合がある。
【００１５】
このような現象を防ぐためのひとつの手法として、システムクロックのロジック回路への分岐箇所にクロック入力を抑制するクロック切替回路を設け、メモリのＢＩＳＴ実行中にはロジック回路へクロックが伝播しないようにするというものがある。
【００１６】
しかし、一般的に高速クロック経路への回路の追加は、クロックの各経路への伝搬に局所的に遅延をもたらしタイミング調整の困難度を増大させ、設計時間を増加させるという問題があった。
【００１７】
以下、従来のＢＩＳＴ回路を開示した文献名を記載する。
【特許文献１】特開２００３−２０８３３１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１８】
本発明は上記事情に鑑み、クロック経路へのクロック切替回路等の付加によるクロックのタイミング調整の困難性を招くことなく、テスト中の消費電力を低減させることが可能な半導体集積回路及びその設計装置を提供することを目的とする。
【課題を解決するための手段】
【００１９】
本発明の一態様による半導体集積回路は、
クロックを与えられて動作するロジック回路と、
前記ロジック回路に組み込み自己テストを行うため、前記ロジック回路に入力すべきパターンを生成するパターン生成器と、前記ロジック回路が前記パターンを与えられて出力したデータを与えられて圧縮しその結果を出力するパターン圧縮器と、前記パターン生成器及び前記パターン圧縮器の動作を制御し、また前記ロジック回路におけるスキャンパスが前記パターンを与えられてシフトする動作を制御するロジック組み込み自己テスト制御部とを有するロジック組み込み自己テスト回路と、
前記クロックを与えられて動作するデバイス回路と、
前記デバイス回路に組み込み自己テストを行うデバイス回路組み込み自己テスト回路とを備え、
前記デバイス回路組み込み自己テスト回路が前記デバイス回路に組み込み自己テストを行う間、前記ロジック組み込み自己テスト回路は低消費電力モードに設定され、前記パターン生成器は、前記ロジック組み込み自己テスト回路が低消費電力モードに入る直前におけるデータの保持状態を維持し前記パターンに替えて固定値を生成して前記ロジック回路に入力し、前記パターン圧縮器は、前記ロジック組み込み自己テスト回路が低消費電力モードに入る直前におけるデータの保持状態を維持し圧縮動作を停止することを特徴とする。
【００２０】
本発明の一態様による半導体集積回路の設計装置は、上記半導体集積回路を設計する装置であって、
前記半導体集積回路に含まれるデバイス回路の構成情報に基づいて、前記デバイス回路組み込み自己テスト回路の回路情報を生成するデバイス回路組み込み自己テスト回路生成装置と、
前記半導体集積回路に含まれる前記ロジック回路の情報に基づいて、前記ロジック組み込み自己テスト回路の回路情報を生成するロジック組み込み自己テスト回路生成装置と、
前記デバイス回路組み込み自己テスト回路の回路情報と、前記ロジック組み込み自己テスト回路の回路情報と、前記半導体集積回路のテスト条件およびテスト時の消費電力制約条件とに基づいて、前記消費電力制約条件を満たすように、テストの順序制御を行うテスト順序制御回路の回路情報を生成するテスト順序制御回路生成装置と、
前記半導体集積回路の回路情報を与えられ、この回路情報に、前記デバイス回路組み込み自己テスト回路の回路情報と、前記ロジック組み込み自己テスト回路の回路情報と、前記テスト順序制御回路の回路情報とを加えることで、前記半導体集積回路に、前記デバイス回路組み込み自己テスト回路と、前記ロジック組み込み自己テスト回路と、前記テスト順序制御回路とを挿入した回路情報を出力するテスト回路挿入装置と、
を備えることを特徴とする。
【発明の効果】
【００２１】
本発明の半導体集積回路及びその設計装置によれば、テスト中の消費電力を低減させることが可能である。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の実施の形態について図面を参照して説明する。
【００２３】
（１）実施の形態１
図１に、ＢＩＳＴ制御回路により被テストブロックにテストを行う際の概略構成を示す。
【００２４】
テストモード設定用の外部入力信号１２をＢＩＳＴ制御回路１１に入力することで、被テストブロック１６をテストモードに設定する。これにより、被テストブロック１６の入出力端子には、通常動作時とは異なるテスト用の信号が入出力される状態になる。
【００２５】
ＢＩＳＴ制御回路１１を初期化した後、ＢＩＳＴクロック１３を定められた数入力することにより、ＢＩＳＴが実行される。ＢＩＳＴの実行中は、パターン生成器１４により自動的に生成されたテストパターン１５が被テストブロック１６に入力される。
【００２６】
また、被テストブロック１６から出力されたテスト結果１７は、テスト結果解析器１８に入力されて、逐一期待値と比較されたり、圧縮されて所定ビット長のデータ（シグネチャ）に変換されたりする。この後、テスト結果解析器１８から最終的に被テストブロック１６のテスト解析結果１９が出力される。
【００２７】
図２に、本実施の形態１による半導体集積回路における被テストブロックであるメモリ及びロジック回路のＢＩＳＴを行う回路構成を示す。
【００２８】
この半導体集積回路は、被テストブロックとしてのメモリ２０１の他に、メモリＢＩＳＴ回路２０２、位相同期ループ（Phase Locked Loop、以下ＰＬＬと称する）回路２０４、外部クロック入力端子２０５、さらに被テストブロックに相当し複数のスキャンパス２０８を有するロジック回路２０７、ロジックＢＩＳＴ制御部２０９とパターン生成器２１０とパターン圧縮器２１１とを有するロジックＢＩＳＴ回路２２０を備える。
【００２９】
メモリＢＩＳＴ回路２０２は、メモリ２０１にＢＩＳＴを行うためのもので、メモリ２０１と同一の高速クロック２０３で動作する。メモリＢＩＳＴ回路２０２は、ＢＩＳＴイネーブル信号２０６によりＢＩＳＴ動作開始状態になる。
【００３０】
この高速クロック２０３は、外部クロック入力端子２０５から入力されたクロックが、内部信号生成回路であるＰＬＬ回路２０４に入力されて生成される。
【００３１】
図３に、メモリＢＩＳＴ回路２０２の構成を示す。
【００３２】
メモリＢＩＳＴ回路２０２内のＢＩＳＴ制御回路３０２が、データ生成器３０３、アドレス生成器３０４、制御信号生成器３０５を制御することにより、メモリ２０１に読み書き動作を行なわせるためのデータ入力信号３０８、アドレス入力信号３０９および制御信号３１０を順次自動的に発生させ、メモリ２０１に与える。
【００３３】
メモリ２０１が読み出し動作を行った結果出力されたデータは、結果解析器３０７に入力され、正しい出力であるかどうかの解析が行われて、解析結果信号３１１が出力される。
【００３４】
ここで解析手法には、読み出したデータを順次メモリＢＩＳＴ回路２０２内で生成した期待値と比較する比較方式や、データを順次圧縮して行き、最終的な圧縮結果をあらかじめ生成しておいた期待値と比較する圧縮方式等がある。
【００３５】
図２において、シリアル型のロジックＢＩＳＴ回路２２０は、ロジック回路２０７にＢＩＳＴを行うためのものである。
【００３６】
ロジックＢＩＳＴ回路２２０は、ロジックＢＩＳＴ制御部２０９、パターン生成器２１０、パターン圧縮器２１１を有する。
【００３７】
ロジックＢＩＳＴ制御部２０９はロジックＢＩＳＴ回路全体の動作を制御するもので、ＢＩＳＴイネーブル信号２０６を与えられてＢＩＳＴ動作開始状態になる。
【００３８】
パターン生成器２１０は、ロジックＢＩＳＴ制御部２０９からパターン生成器制御信号２１２を与えられてパターン生成動作を行う。パターン圧縮器２１１は、ロジックＢＩＳＴ制御部２０９からパターン圧縮器制御信号２１３を与えられてパターン圧縮動作を行う。
【００３９】
ところで、ＰＬＬ回路２０４から生成された高速クロック２０３は、ロジック回路２０７にも入力される。ここで、高速クロック２０３がロジック回路２０７に入力されるクロック経路には、クロックの入力を切り替える切替回路が挿入されておらず、従ってクロックのタイミング調整には影響を与えない。
【００４０】
ロジック回路２０７は、図２に示されたように、その内部のレジスタの全てあるいは一部は、シリアルなシフト機能を有するスキャン用レジスタに置き換えられ、シリアルなシフトパス２０８が複数形成されている。
【００４１】
これらシフトパス２０８の入力側は、ロジックＢＩＳＴ回路２２０内のパターン生成器２１０に接続され、出力側はパターン圧縮器２１１に接続されている。
【００４２】
ロジックＢＩＳＴ回路２２０における１回のテスト動作は、パターン生成器２１０から生成されたパターンをロジック回路２０７内のシフトレジスタ内にシフト入力していき値を設定するシフトモード、設定されたパターンをシフトレジスタに接続されたシフトレジスタ以外のロジック部分に伝搬させ、伝搬した結果をシフトレジスタ内に取り込むキャプチャモード、さらにシフトレジスタ内に取り込まれた伝搬結果を順次シフト出力していくシフトモードとの組み合わせから成る。ここで、１回目のテスト動作におけるシフト出力を行うシフトモードと、２回目のテスト動作におけるシフト入力を行うシフトモードとは重複して同時期に行われる。
【００４３】
ロジックＢＩＳＴ回路２２０のパターン生成器２１０には、その構造の単純さからリニアフィードバックシフトレジスタ（Linear Feedback Shift Register、以下ＬＦＳＲと称する）が多く用いられている。
【００４４】
一方、メモリＢＩＳＴ回路２０２とロジックＢＩＳＴ回路２２０の双方に適用可能なパターン圧縮器２１１には、ＬＦＳＲの変形であるマルチプル入力シグネチャレジスタ（Multiple Input Signature Register、以下ＭＩＳＲと称する）が一般的に用いられている。
【００４５】
ＭＩＳＲの基本的な構成はＬＦＳＲと同様であるが、入力データをパラレルに取り込む点に違いがある。
【００４６】
通常用いられているＬＦＳＲおよびＭＩＳＲの構成や性質に関しては、以下の文献において詳細に説明されている。
【非特許文献１】Built-In Test for VLSI: Pseudo Random Techniques, Paul H. Bardell, William H. McAnney and Jacob Savir, John Wiley & Sons, １９８７  図４に、本実施の形態１のロジックＢＩＳＴ回路２２０が有するパターン生成器２１０において用いられている８ビットのＬＦＳＲの構成を示す。
【００４７】
このＬＦＳＲは、レジスタ６１１〜６１８、排他的論理和（以下、ＥＸＯＲと称する）素子６２１〜６２３、マルチプレクサ６３１〜６３８、ＯＲゲート６４１〜６４８を有している。
【００４８】
マルチプレクサ６３１〜６３８の制御端子には、図２に示されたパターン生成器制御信号２１２が入力される。
【００４９】
メモリＢＩＳＴを実行しておらず、低消費電力モードではない通常のロジックＢＩＳＴ実行中には、ローレベルのパターン生成器制御信号２１２がマルチプレクサ６３１〜６３８に入力される。これにより、ＬＦＳＲはクロック６６に同期して通常のシフト動作を行う。即ち、レジスタ６１１〜６１８は、それぞれ前段のレジスタ６１８、６１１〜６１７から出力されたデータをマルチプレクサ６１２〜６１８を介して与えられて保持し、順次シフトしていく。
【００５０】
レジスタ６１１〜６１８間の接続のうち特定の地点（フィードバック・ポイント）において、前段のレジスタ６１１、６１５、６１６の出力と最終段のレジスタ６１８の出力とをＥＸＯＲ素子６２１、６２２，６２３において排他的論理和演算を行った値が、それぞれ次段のレジスタ６１２、６３６、６３７へ入力される。フィードバックポイントは、ＬＦＳＲのビット幅に応じて固有の位置に変化する。
【００５１】
また、第一段のレジスタ６１１への入力は最終段のレジスタ６１８の出力がフィードバックして与えられる。その他の地点では、前段のレジスタの出力がそのまま次段のレジスタへの入力となる。
【００５２】
まず、各レジスタ６１１〜６１８が、適当な（全てがローレベルではない）値に初期化される。
【００５３】
その後、クロック６６を与えるたびにレジスタ６１１〜６１８上の値がシフトされて行き、乱数パターンが生成されて行く。生成されたパターンは、最終段のレジスタ６１８からシリアルに出力されるか、あるいは各レジスタ６１１〜６１８からのパラレル出力６５１〜６５８としてＯＲ素子６４１〜６４８から出力され、スキャンパス２０８に供給される。
【００５４】
ＬＳＦＲの特長として、ビット長Ｎに対して、あるフィードバックポイントの組み合わせにおいては、全てがローレベルのパターンを除くＮビットパターンの組み合わせがある周期で一度ずつ生成されるという点にある。このとき、フィードバックポイントの組合せはプライマリであるという。これは、疑似乱数パターン生成器としては優れており、ＬＦＳＲが多く用いられる理由になっている。
【００５５】
メモリＢＩＳＴ実行中で低消費電力モードにある時には、パターン出力回路制御信号２１２がハイレベルになる。この信号２１２がマルチプレクサ６３１〜６３８に入力されて、それぞれのシフトレジスタ６１１〜６１８は自己の出力をフィードバックされて与えられることになり、現在の値を保持する。これにより、低消費電力モードに入る直前に保持していたデータをＬＦＳＲは維持することになる。
【００５６】
また同時に、パラレル出力部に挿入されたＯＲ素子６４１〜６４８にハイレベルの信号２１２が入力されることにより、ＢＩＳＴモード時出力６５１〜６５８はハイレベルに固定され、スキャンパス２０８へのシフト入力としてこの固定値が与えられる。
【００５７】
図５に、本実施の形態１のロジックＢＩＳＴ回路２２０が有するパターン圧縮器２１１において用いられている８ビットのＭＩＳＲの構成を示す。
【００５８】
このＭＩＳＲは、レジスタ７１１〜７１８、ＥＸＯＲ素子７２１〜７２８、マルチプレクサ７３１〜７３８を有している。
【００５９】
マルチプレクサ７３１〜７３８の制御端子には、図２に示されたパターン圧縮器制御信号２１３が入力される。
【００６０】
メモリＢＩＳＴを実行しておらず低消費電力モードでない通常のロジックＢＩＳＴ実行時には、ローレベルのパターン圧縮器制御信号２１３がマルチプレクサ７３１〜７３８に入力される。これにより、ＭＩＳＲはクロック７５に同期して通常の圧縮動作を行う。即ち、レジスタ７１１〜７１８は、それぞれ前段のレジスタ７１８、７１１〜７１７から出力されたデータをマルチプレクサ７３２〜７３８を介して与えられて保持し、シフトしていく。
【００６１】
そして、レジスタ７１１〜７１８間の接続において、特定の地点（フィードバック・ポイント）において、即ち、レジスタ７１１、７１５、７１６、７１８の出力では、それぞれパラレルなデータ入力７４２、７４６、７４７、７４１と前段のレジスタ７１１、７１５、７１６、７１８の出力と、さらに最終段のレジスタ７１８の出力とがＥＸＯＲ素子７２２、７２６、７２７、７２１において加算される。また、その他のレジスタ７１２、７１３、７１４、７１７の出力では、それぞれパラレルなデータ入力７４３、７４４、７４５、７４８と前段のレジスタ７１２、７１３、７１４、７１７の出力がＥＸＯＲ素子７２３、７２４、７２５、７２８において加算される。
【００６２】
この圧縮動作は、まず各レジスタ７１１〜７１８を適当な値（通常は全てローレベル「０」）に初期化し、その後クロック７５によりパラレルなデータ入力を順次取り込みながら圧縮することで行っていく。
【００６３】
最終的に、全てのデータ入力が終了した時点でレジスタ７１１〜７１８上に残ったビット列が圧縮結果となり、期待値と比較することにより被テストブロックの良否の判定を行う。このビット列はシグネチャと称され、圧縮による結果解析のプロセスをシグネチャ解析と称する。
【００６４】
ＮビットのＭＩＳＲにおいて、被テストブロックに存在する単独の故障が圧縮による情報の欠落（エイリアス）によって見逃される確率はおよそ１／２Ｎであり、Ｎが例えば１６、３２というように充分大きければこれは無視してもよいレベルとなる。このように、ＭＩＳＲはその構成の単純さとあいまって、圧縮器として好適なものである。
【００６５】
そして、本実施の形態１によるＭＩＳＲでは、各レジスタ７１１〜７１８の入力に、通常通りに前段のＥＸＯＲ素子７４１〜７４８の出力を与える経路と、自己のレジスタ７１１〜７１８からの出力をフィードバックして与える経路との切り替えを行うマルチプレクサ７３１〜７３８が設けられている。
【００６６】
マルチプレクサ７３１〜７３８の選択入力端子には、上述したようにパターン圧縮器制御信号２１３が入力される。
【００６７】
メモリＢＩＳＴの実行を開始し低消費電力モードに入る際には、パターン圧縮器制御信号２１３がハイレベルになり、各レジスタ７１１〜７１８の入力には自己のレジスタ７１１〜７１８からの出力がフィードバックされて与えられて現在の値を保持することになり、低消費電力モードに入る直前におけるＬＦＳＲのデータ保持状態が維持される。
【００６８】
このような図４、図５に示されたＬＦＳＲ、ＭＩＳＲをパターン生成器２１０及びパターン圧縮器２１１として用いることにより、ロジックＢＩＳＴの低消費電力モードを実現することができる。
【００６９】
本実施の形態１では、図２に示されたように、メモリ２０１のＢＩＳＴ実行を開始させるためのメモリＢＩＳＴイネーブル信号２０６がメモリＢＩＳＴ回路２０２に入力され、同時にこのメモリＢＩＳＴイネーブル信号２０６がロジックＢＩＳＴ回路２２０のロジックＢＩＳＴ制御部２０９にも入力される。
【００７０】
これにより本実施の形態１では、メモリＢＩＳＴの実行を開始する時、ロジックＢＩＳＴ回路２２０はメモリＢＩＳＴイネーブル信号２０６を入力されると、ロジック回路２０７は低消費電力モードに入る。
【００７１】
低消費電力モードではロジック回路２０７におけるテスト動作は停止され、ロジックＢＩＳＴ制御部２０９からスキャンパス２０８に与えられるシフトイネーブル信号２１４によってシフトモードに固定される。
【００７２】
パターン生成器２１０はパターン生成器制御信号２１２に基づき、図４を用いて上述したように、低消費電力モードでは、ランダムなテストパターンを生成する替わりにローレベル「０」あるいはハイレベル「１」の固定値をスキャンパス２０８に入力し続ける。
【００７３】
これにより、ロジック回路２０７の組み合わせ回路部分の入力は固定され、信号遷移が起こらなくなる。この結果、ロジック回路２０７内のトランジスタスイッチの開閉動作は最小限に抑えられ、消費電力が最小化される。
【００７４】
パターン圧縮器２１１はパターン圧縮器制御信号２１３に基づき、図５を用いて上述したように、低消費電力モードの間、スキャンパス２０８からのシフト出力を取り込まず、低消費電力モードに入る直前のデータ保持状態を維持する。
【００７５】
このようにして本実施の形態１によれば、高速クロック２０３がメモリＢＩＳＴ回路２０２のみならずロジック回路２０７にも与えられるが、ロジックＢＩＳＴ回路２２０におけるパターン生成器２１０からは図４を用いて述べたように、ローレベル「０」又はハイレベル「１」に固定された値がスキャンパス２０８に与えられるので、メモリＢＩＳＴ実行中におけるロジック回路２０７における低消費電力化が実現される。
【００７６】
（２）実施の形態２
本発明の実施の形態２による半導体集積回路について説明する。
【００７７】
上記実施の形態１は、上述したようにメモリ２０１のＢＩＳＴ実行時にロジックＢＩＳＴ回路２２０が低消費電力モードに入る構成を備えている。これにより、メモリ２０１のＢＩＳＴ実行時におけるロジック回路２０７の消費電力を低減することができる。
【００７８】
一方、本実施の形態２によれば、上記実施の形態１の構成に加えてさらに、ロジック回路２０７のＢＩＳＴ実行中にメモリ２０１のＢＩＳＴ実行が開始されるような場合であっても、ロジック回路２０７のテストの中断及び再開を可能とする構成を備えている。
【００７９】
図６に、本実施の形態２による構成を備えていない、参考例としての半導体集積回路におけるロジック回路のＢＩＳＴ実行中に低消費電力モードを開始しさらに終了した場合の動作手順を示す。
【００８０】
図６の（１）において、低消費電力モード開始を伝える低消費電力モード信号を与えられて、ロジック回路のＢＩＳＴが中断し、パターン生成器（ＰＧ）およびパターン圧縮器（ＰＣ）が低消費電力モードへ移行する。
【００８１】
ここで、シフトイネーブル信号ＳＨＥＮがハイレベル「Ｈ」になることでシフト状態になる。パターン生成器（ＰＧ）のイネーブル信号ＰＧＥＮがハイレベル（動作状態）「Ｈ」からローレベル（停止状態）「Ｌ」になることで動作が停止する。パターン圧縮器（ＰＣ）のイネーブル信号ＰＣＥＮがハイレベル「Ｈ」からローレベル「Ｌ」になることで動作が停止する。
【００８２】
図中、「Ｎ」はスキャンパス中においてＮ番目のテスト結果をシフト中であることを示し、これに続く「Ｎ＋１」はＮ＋１番目のテスト入力あるいはテスト結果をシフト中であることを示す。
【００８３】
これにより、図６の（２）に示されたように低消費電力モードになり、パターン生成器から固定値（ここでは「０」）が出力され始め、パターン圧縮器は圧縮動作を停止する。
【００８４】
この時点で、スキャンパス上ではＮ番目のパターンのテスト結果をシフト出力していき、続いて次のＮ＋１番目のパターンのテスト入力をシフト中であったが、このシフトの途中でテストが中断されるため、パターンが途中までしかスキャンパスに入力されないことになる。従って、Ｎ＋１番目のパターンのテストは、全てのパターンが入力し終わらない状態で固数値「０」に置き換わってしまうので、テスト中断がない場合とは異なる状態で行われることになる。
【００８５】
これにより、Ｎ＋１番目のパターンについて、最終的に観測されるテスト圧縮結果は中断のない場合と異なるため、本来の期待値との比較ができなくなる。
【００８６】
図６の（３）において、低消費電力モードが終了し、ロジック回路のＢＩＳＴが再開される。パターン生成器（ＰＧ）のイネーブル信号ＰＧＥＮがローレベル「Ｌ」からハイレベル「Ｈ」になることでパターン生成動作が開始する。パターン圧縮器（ＰＣ）のイネーブル信号ＰＣＥＮがローレベル「Ｌ」からハイレベル「Ｈ」になることでパターン圧縮動作が開始する。
【００８７】
図６の（４）において、中断された時に残っていた途中からのＮ＋１番目のパターンがスキャンパスに入力される。即ち、Ｎ＋１番目のパターンを最初から再開することができず、途中から入力することなるので、このテストは再開不能となる。
【００８８】
これに対し、本実施の形態２ではテストの中断及び再開が可能となるように、図２におけるロジックＢＩＳＴ制御部２０９ａが図７に示されるような構成を備えている。
【００８９】
このロジックＢＩＳＴ制御部２０９ａは、ロジックＢＩＳＴ制御回路９０２、シフトカウンタ９０６、シフトイネーブル制御回路９０７、パターン生成制御回路９０８、パターン圧縮制御回路９０９を有する。
【００９０】
ロジックＢＩＳＴ制御回路９０２に、外部からＢＩＳＴ開始信号９０３、ＢＩＳＴ低消費電力モード信号９０４、ＢＩＳＴ終了信号９０５が入力され、シフトカウンタ９０６、シフトイネーブル制御回路９０７、パターン生成制御回路９０８、パターン圧縮制御回路９０９の動作が制御される。
【００９１】
シフトカウンタ９０６が、ロジック回路におけるスキャンパスの現在のシフト段数をカウントする。
【００９２】
ロジックＢＩＳＴ制御回路９０２は、この現在（Ｎ番目）のシフト段数から、現在のパターンおよび次（Ｎ＋１番目）のパターンのシフト動作が終了するまでの間、シフトイネーブル制御回路９０７を介してシフトイネーブル信号２１４を出力し、シフト動作を制御する。
【００９３】
またロジックＢＩＳＴ制御回路９０２は、次（Ｎ＋１番目）のパターンのシフト入力が完了した時点で低消費電力モードに移行するよう、パターン生成制御回路９０８に通知する。
【００９４】
この通知が与えられると、パターン生成制御回路９０８は、シフトカウンタ９０６のカウント値をもとに、次（Ｎ＋１番目）のパターンのシフト入力が完了した時点でパターン生成器２１０に通知するようにパターン生成器制御信号２１２を出力する。
【００９５】
ロジックＢＩＳＴ制御回路９０２はまた、次（Ｎ＋１）のテストのシフト出力が完了した時点で低消費電力モードに移行するよう、パターン圧縮制御回路９０９に通知する。
【００９６】
通知されたパターン圧縮制御回路９０９は、次（Ｎ＋１）のシフトが完了してシステムクロックが入力され、次のテストの結果が取り込まれ、テスト結果のシフト出力が完了した時点で、パターン圧縮器２１１にパターン圧縮器制御信号２１３を出力して通知する。
【００９７】
図８に、本実施の形態２においてロジック回路２０７のＢＩＳＴ実行中にメモリＢＩＳＴを実行するため低消費電力モードへ移行し完了する動作手順を示す。
【００９８】
図８の（１）、（２）において、ロジックＢＩＳＴ制御部２０９ａが低消費電力モード信号９０４を受信した時点では、ロジックＢＩＳＴの動作を中断せず、現在のＮ番目のパターンのテスト結果のシフト出力、及び次回のＮ＋１番目のパターンのシフト入力を継続する。このように、上記参考例とは異なり、本実施の形態２では、低消費電力モード信号９０４を受信した場合であっても、現在のＮ番目のパターンのテスト結果のシフト出力を完了し、その次のシフト入力が開始されていたＮ＋１番目のパターンのシフト入力を完了するまで継続する。この間、パターン生成器２１０のイネーブル信号ＰＧＥＮはハイレベル（Ｈ）で動作状態、パターン圧縮器２１１のイネーブルＰＣＥＮはハイレベル（Ｈ）で動作状態にある。
【００９９】
図８の（３）において、このＮ番目のパターンシフト出力並びにＮ＋１のパターンシフト入力が完了する。これにより、シフトイネーブル信号ＳＨＥＮがローレベル（Ｌ）、パターン生成器２１０のイネーブル信号ＰＧＥＮがローレベルへ変化する。
【０１００】
図８の（４）において、スキャンシフトモードからキャプチャモードへ移行し、システムクロックを入力する。
【０１０１】
Ｎ＋１番目のパターンのテスト結果をスキャンレジスタに取り込む。
【０１０２】
次のパターンの入力は中断されるので、この時点でパターン生成器２１０へのパターン生成器制御信号２１２のレベルを変化させ、低消費電力モードへ移行させる。
【０１０３】
図８の（５）において、Ｎ＋１番目のパターンのテスト結果のシフト出力を開始し、パターン圧縮器２１１へ入力して圧縮していく。シフトイネーブル信号ＳＨＥＮがハイレベル（Ｈ）へ変化する。
【０１０４】
このシフト出力が進むに従い、図８の（６）において、パターン生成器２１０は低消費電力モードに設定されているので、固定値として例えば「０」をシフト入力し続ける。
【０１０５】
図８の（７）において、Ｎ＋１番目のパターンのテスト結果をシフト出力し終わると、スキャンパス上のレジスタは全て値「０」となる。
【０１０６】
この時点でパターン圧縮器２１３のパターン圧縮器制御信号２１３のレベルを変化させ、低消費電力モードへ移行させる。シフトイネーブル信号ＳＨＥＮがローレベル（Ｌ）へ変化する。
【０１０７】
以降、図８の（８）において、パターン生成器２１０はレジスタの値を保持しながら同じ固定値「０」をシフト入力し続け、パターン圧縮器２１３はシフト出力を取り込まずに低消費電力モードへ入る直前のレジスタの値を保持し続ける。
【０１０８】
図８の（９）において、ロジックＢＩＳＴ制御回路９０２が低消費電力モード終了を伝える信号９０４を受けると、まずパターン生成器２１０は低消費電力モードを終了する。パターン生成器２１０のイネーブル信号ＰＧＥＮがハイレベル（Ｈ）に変化する。パターン生成器２１０は、それまでの保持状態から、図８の（１０）において次のＮ＋２番目のテストパターンをシフトパス２０８にシフト入力し始める。ここで、Ｎ＋２番目のテストパターンの前に存在する固定値「０」はパターン圧縮器２１１により取り込まれない。
【０１０９】
このとき、パターン圧縮器２１１は、まだ低消費電力モードのままであり、イネーブル信号ＰＣＥＮはローレベル（Ｌ）のままである。
【０１１０】
図８の（１１）において、Ｎ＋２番目のパターンのシフト入力が完了すると、スキャンパスはスキャンシフトモードからキャプチャモードへ移行する。シフトイネーブル信号ＳＨＥＮがローレベル（Ｌ）に変化する。
【０１１１】
図８の（１２）において、システムクロックを入力することによりＮ＋２番目のパターンのテスト結果をスキャンレジスタに取り込む。
【０１１２】
次に、図８の（１３）において、Ｎ＋２番目のパターンのテスト結果のシフト出力を開始するが、この際パターン圧縮器２１１は低消費電力モードを終了し、それまでの保持状態からパターン圧縮を再開する。パターン圧縮器２１１のイネーブルＰＣＥＮがハイレベルに変化する。
【０１１３】
これ以降は中断前と同様に、図８の（１４）において、通常のロジックＢＩＳＴの動作として、Ｎ＋２番目のパターンのシフト出力、Ｎ＋３番目のパターンのシフト入力を行なっていく。
【０１１４】
以上のように本実施の形態２によれば、ロジックＢＩＳＴ回路２２０はロジックＢＩＳＴの実行途中でメモリＢＩＳＴ等、他の回路のテストが開始した際に低消費電力モードに移行し、固定値をシフト入力し続けることによりロジック回路２０７の電力消費を最小化する。そして、他のテストの実行が完了した際に、中断時点の状態からロジックＢＩＳＴ動作を再開し、中断がなかった場合と同じテスト結果を得ることができる。
【０１１５】
このようにテスト中断が可能になることにより、テストのスケジューリングの自由度が高くなりテスト時間全体の効率を向上させることができる。
【０１１６】
ここで、本実施の形態２による新たな回路の追加はシステム経路上には存在しないので、システム性能に影響を及ぼすことはない。
【０１１７】
（３）実施の形態３
本発明の実施の形態３による半導体集積回路について説明する。
【０１１８】
上記実施の形態２は、ロジックＢＩＳＴ回路が少なくとも１個存在し、ロジックＢＩＳＴ以外のＢＩＳＴ回路として設けられているメモリＢＩＳＴ回路の数については限定されない場合に適用される。
【０１１９】
これに対し本実施の形態３では、ロジックＢＩＳＴ回路が２個以上設けられており、ロジック以外に他のＢＩＳＴ回路の数については限定されない場合に適用される。
【０１２０】
本実施の形態３では、図９に示されたように、複数の被テストブロックにＢＩＳＴを行っていく際の手順を制御するテスト順序制御回路１２０１、並びに各々の被テストブロック（メモリ回路＃１〜＃３、ロジック回路＃１〜＃３）にＢＩＳＴを行うためのメモリＢＩＳＴ回路＃１  １２０２、メモリＢＩＳＴ回路＃２  １２０３、メモリＢＩＳＴ回路＃３  １２０３、ロジックＢＩＳＴ回路＃１  １２０５、ロジックＢＩＳＴ回路＃２  １２０６、ロジックＢＩＳＴ回路＃３  １２０７を備えている。
【０１２１】
３つのメモリＢＩＳＴ回路＃１  １２０２〜メモリＢＩＳＴ回路＃３  １２０４と、３つのロジックＢＩＳＴ回路＃１  １２０５〜ロジックＢＩＳＴ回路＃３  １２０７のそれぞれの動作を、テスト順序制御回路１２０１が制御する。
【０１２２】
メモリＢＩＳＴ回路＃１  １２０２〜メモリＢＩＳＴ回路＃３  １２０４は、それぞれバンクあるいはブロック単位で分割されて設けられたメモリをそれぞれテスト対象としてＢＩＳＴを行うものであってもよく、あるいは１つ又は２つのメモリにおける異なる領域をテスト対象とするものであってもよい。あるいはまた、一つのメモリＢＩＳＴ回路が複数のメモリをテスト対象としてＢＩＳＴを行ってもよい。
【０１２３】
同様に、ロジックＢＩＳＴ回路＃１  １２０５〜ロジックＢＩＳＴ回路＃３  １２０７は、それぞれブロック単位で分割されて設けられたロジック回路をそれぞれテスト対象としてＢＩＳＴを行うものであってもよく、あるいは１つ又は２つのロジック回路における異なる領域をテスト対象とするものであってもよい。
【０１２４】
またロジックＢＩＳＴ回路＃１  １２０５〜ロジックＢＩＳＴ回路＃３  １２０７は、上記実施の形態２において述べたＢＩＳＴを中断し再開する構成及び低消費電力を実現する構成とを備えるものとする。
【０１２５】
テスト順序制御回路１２０１には、外部からテスト開始信号１２１２が入力されてテストが開始され、終了時にはテスト終了信号１２１３が出力される。
【０１２６】
テスト順序制御回路１２０１からメモリＢＩＳＴ回路＃１  １２０２〜メモリＢＩＳＴ回路＃３  １２０４へは、ＢＩＳＴイネーブル信号およびＢＩＳＴ開始信号１２０８が入力されてＢＩＳＴが開始される。
【０１２７】
ＢＩＳＴが開始されると、メモリＢＩＳＴ回路＃１  １２０２〜メモリＢＩＳＴ回路＃３  １２０４からテスト順序制御回路１２０１へ、後述する保持開始信号、保持終了信号、ＢＩＳＴ終了信号１２０９が出力される。
【０１２８】
同様に、テスト順序制御回路１２０１からロジックＢＩＳＴ回路＃１  １２０５〜ロジックＢＩＳＴ回路＃３  １２０７へ、ＢＩＳＴイネーブル信号、ＢＩＳＴ開始信号、保持開始信号、保持終了信号、ＢＩＳＴ終了信号１２１０が入力され、またロジックＢＩＳＴ回路＃１  １２０５〜ロジックＢＩＳＴ回路＃３  １２０７からテスト順序制御回路１２０１へは、ＢＩＳＴ終了信号１２１１が出力される。尚、図９において図示されていないが、テスト順序制御回路１２０１、メモリＢＩＳＴ回路＃１  １２０２〜メモリＢＩＳＴ回路＃３  １２０４、ロジックＢＩＳＴ回路＃１  １２０５〜ロジックＢＩＳＴ回路＃３  １２０７へは、それぞれ回路を動作させるためのクロックが供給される。
【０１２９】
図１０に、本実施の形態３において実行されるメモリＢＩＳＴの動作手順及び内容を示す。
【０１３０】
本テストでは、全ビット「０」および全ビット「１」のバックグラウンドデータを用いてメモリ２０１の保持性テストを行う。
【０１３１】
まず、メモリＢＩＳＴ回路がメモリ２０１に全ビット「０」のパターンを書き込み、保持状態へ移行する。
【０１３２】
保持状態の間、ＢＩＳＴ回路はメモリ２０１へのアクセス動作は行わない。
【０１３３】
所定期間が経過すると保持状態が終了し、書き込んだデータ「０」の読み出し動作へ移行する。ここで所定期間の長さは、半導体集積回路上に実装されたカウンタ等により計測してもよいし、あるいは回路から信号を入力して決定してもよい。上記動作は、全ビット「１」のバックグラウンドデータに対しても同様に行われる。
【０１３４】
保持動作が開始されると、メモリＢＩＳＴ回路は保持開始信号をハイレベルに変化させる。保持動作が終了すると、保持終了信号をハイレベルに変化させる。
【０１３５】
読み出し動作が終了すると、読み出し終了信号をハイレベルに変化させる。
【０１３６】
これらの保持開始信号、保持終了信号、読み出し信号終了はそれぞれ、保持動作、読み出し動作、次の書き込み動作が行われるか、あるいはＢＩＳＴ動作が終了した時点でローレベルに戻る。
【０１３７】
ＢＩＳＴ動作が終了すると、ＢＩＳＴ終了信号をハイレベルに変化させる。
【０１３８】
図１１に、本実施の形態３におけるメモリＢＩＳＴ回路＃１  １２０２〜＃３  １２０４、ロジックＢＩＳＴ回路＃１  １２０５〜ロジックＢＩＳＴ回路＃３  １２０７がそれぞれテストを行う際のスケジューリングの一例を示す。
【０１３９】
ここでは、メモリＢＩＳＴ回路＃１  １２０２〜メモリＢＩＳＴ回路＃３  １２０４、およびロジックＢＩＳＴ回路＃１  １２０５〜ロジックＢＩＳＴ回路＃３  １２０７は、それぞれ同時に並行してテストを行わないことを前提とする。
【０１４０】
但し、メモリＢＩＳＴにおけるデータの保持期間中には、他のＢＩＳＴが実行されてもよいとする。
【０１４１】
ここで、メモリＢＩＳＴ回路＃１  １２０２〜メモリＢＩＳＴ回路＃３  １２０４、ロジックＢＩＳＴ回路＃１  １２０５〜ロジックＢＩＳＴ回路＃３  １２０７のそれぞれのＢＩＳＴ動作の開始及び終了の際には、テスト順序制御回路１２０１を介して上述したようにそれぞれ制御信号が送受信される。
【０１４２】
先ず、テスト全体の開始時に、テスト順序制御回路１２０１に外部からテスト開始信号１２１２が入力される。
【０１４３】
テスト順序制御回路１２０１は、全てのテスト回路、すなわちメモリＢＩＳＴ回路＃１  １２０２〜メモリＢＩＳＴ回路＃３  １２０４にＢＩＳＴイネーブル信号１２０８、およびロジックＢＩＳＴ回路＃１  １２０５〜ロジックＢＩＳＴ回路＃３  １２０７に、ＢＩＳＴイネーブル信号１２１０を入力する。
【０１４４】
これにより、メモリＢＩＳＴ回路＃１  １２０２〜メモリＢＩＳＴ回路＃３  １２０４、およびロジックＢＩＳＴ回路＃１  １２０５〜ロジックＢＩＳＴ回路＃３  １２０７は活性化され、ＢＩＳＴ開始を待つ状態となる。
【０１４５】
この間、メモリＢＩＳＴ回路＃１  １２０２〜メモリＢＩＳＴ回路＃３  １２０４はメモリ２０１にアクセスせず、またロジックＢＩＳＴ回路＃１  １２０５〜ロジックＢＩＳＴ回路＃３  １２０７は、低消費電力モードに設定される。
【０１４６】
テスト順序制御回路１２０１はまず、メモリＢＩＳＴ回路＃１  １２０２にＢＩＳＴ開始信号１２０８を入力する。これによりメモリＢＩＳＴ回路＃１  １２０２は初めの全ビット「０」の書き込み動作を開始し、終了時に保持開始信号１２０９を出力して保持状態となる。
【０１４７】
テスト順序制御回路１２０１はこの保持開始信号１２０９を与えられると、メモリＢＩＳＴ回路＃  ２  １２０３にＢＩＳＴ開始信号１２１０を出力し、メモリＢＩＳＴ回路＃２  １２０３は書き込み動作を開始し、終了時に保持開始信号１２０９を出力して保持状態となる。
【０１４８】
テスト順序制御回路１２０１はこの保持開始信号１２０９を与えられ、メモリＢＩＳＴ回路＃３  １２０４にＢＩＳＴ開始信号１２０８を出力する。メモリＢＩＳＴ回路＃３  １２０４は書き込み動作を開始し、終了時に保持開始信号１２０９を出力して保持状態となる。
【０１４９】
全てのメモリＢＩＳＴ回路＃１  １２０２〜メモリＢＩＳＴ回路＃３  １２０４が保持状態になると、テスト順序制御回路１２０１はロジックＢＩＳＴ回路＃１  １２０５にＢＩＳＴ開始信号１２１０を出力し、ロジックＢＩＳＴ回路＃１  １２０５は低消費電力モードを抜けてロジックＢＩＳＴ実行を開始する。
【０１５０】
しかし、ロジックＢＩＳＴの実行中にメモリＢＩＳＴ回路＃１  １２０２の保持動作期間が経過すると、保持終了信号１２０９がテスト順序制御回路１２０１に出力され、次の読み出し動作が開始される。そこで、ロジックＢＩＳＴ回路１２０５は保持終了信号１２１０を与えられて、ロジックＢＩＳＴ動作を一旦中断し、低消費電力モードに入る。
【０１５１】
書き込みと同様の順序で、メモリＢＩＳＴ回路＃１  １２０２〜メモリＢＩＳＴ回路＃３  １２０４の読み出し動作が順に行われて全てが終了すると、次にメモリＢＩＳＴ回路＃１  １２０２による全ビット「１」の書き込み動作が開始される。
【０１５２】
全ビット「０」の書き込み動作と同様に、メモリＢＩＳＴ回路＃１  １２０２〜メモリＢＩＳＴ回路＃３  １２０４の書き込み動作が終了すると、メモリＢＩＳＴ回路＃３  １２０４から保持開始信号１２０９がテスト順序制御回路１２０１に与えられる。これにより、テスト順序制御回路１２０１からロジックＢＩＳＴ動作回路１２０５にＢＩＳＴ開始信号１２１０が与えられることで、低消費電力モードを抜けて、ロジックＢＩＳＴの動作が再開される。
【０１５３】
メモリＢＩＳＴ回路＃１  １２０２〜メモリＢＩＳＴ回路＃３  １２０４の保持期間中にロジックＢＩＳＴ回路＃１  １２０５のＢＩＳＴ動作が終了すると、ＢＩＳＴ終了信号１２１１がテスト順序制御回路１２０１に出力される。これにより、テスト順序制御回路１２０１から次のロジックＢＩＳＴ回路＃２  １２０６にＢＩＳＴ開始信号１２１０が与えられて、ＢＩＳＴ動作が開始される。
【０１５４】
ロジックＢＩＳＴ実行中にメモリＢＩＳＴ回路＃１  １２０２の保持動作期間が経過すると、保持終了信号１２０９がテスト順序制御回路１２０１に出力されて、次の読み出し動作が開始される。
【０１５５】
ロジックＢＩＳＴ回路＃２  １２０６は、テスト順序制御回路１２０１から保持終了信号１２１０を与えられてロジックＢＩＳＴ動作を中断し、低消費電力モードに入る。
【０１５６】
書き込みと同様の順序で、メモリＢＩＳＴ回路＃１  １２０２〜メモリＢＩＳＴ回路＃３  １２０４の読み出し動作が終了すると、メモリＢＩＳＴ回路＃１  １２０２〜メモリＢＩＳＴ回路＃３  １２０４はそれぞれＢＩＳＴ終了信号１２０９を出力する。
【０１５７】
テスト順序制御回路１２０１は、メモリＢＩＳＴ回路＃３  １２０４からのＢＩＳＴ終了信号１２０９を受けて、ロジックＢＩＳＴ回路＃２  １２０６の動作を再開させる。
【０１５８】
以降、メモリＢＩＳＴ回路＃１  １２０２〜メモリＢＩＳＴ回路＃３  １２０４は動作しない。よって、ロジックＢＩＳＴ回路＃２  １２０６のＢＩＳＴ動作終了によりロジックＢＩＳＴ回路＃３  １２０７のＢＩＳＴ動作が開始される。ロジックＢＩＳＴ回路＃３  １２０７の動作終了により、全てのテストが完了する。これにより、テスト順序制御回路１２０１はテスト終了信号１２１３を外部に出力する。
【０１５９】
以上のような手順により、本実施の形態３によれば、複数のメモリＢＩＳＴとロジックＢＩＳＴとのスケジューリングを行うことで、消費電力を削減しつつテスト時間の最適化を実現することができる。
【０１６０】
なお、本実施の形態３では、各ＢＩＳＴ回路の開始および終了は、共通に設けられたテスト順序制御回路１２０１により制御される。しかし、各ＢＩＳＴ回路間で直接信号のやりとりを行うことにより実現されてもよい。
【０１６１】
（４）実施の形態４
本発明の実施の形態４による半導体集積回路について説明する。
【０１６２】
図１２に、上記実施の形態３による半導体集積回路を設計するための本実施の形態４による設計装置の構成及び入出力される情報を示す。
【０１６３】
本実施の形態４による設計装置は、メモリＢＩＳＴ回路生成装置１４０２、テスト回路挿入装置１４１３、ロジックＢＩＳＴ回路生成装置１４０５、テスト順序制御回路生成装置１４１０を備えている。
【０１６４】
メモリＢＩＳＴ回路生成装置１４０２は、メモリＢＩＳＴ設計情報１４０１を入力し、メモリＢＩＳＴ回路１４０３およびメモリＢＩＳＴ構成情報１４０７を生成する。
【０１６５】
ここで、メモリＢＩＳＴ設計情報１４０１は、メモリＢＩＳＴ回路１４０３によりテストを行うメモリの構成や、テストをどのＢＩＳＴ回路で行うかのグループ分け等に関する情報を含んでいる。
【０１６６】
メモリＢＩＳＴ構成情報１４０７は、メモリＢＩＳＴ設計情報１４０１の他に、さらにＢＩＳＴ回路のモジュール名やピン名、保持機能を含むか否か等に関する追加情報を含んでいる。
【０１６７】
ロジックＢＩＳＴ回路生成装置１４０５は、ロジックＢＩＳＴ設計情報１４０４を入力し、ロジックＢＩＳＴ回路１４０６およびロジックＢＩＳＴ構成情報１４０８を生成する。
【０１６８】
ロジックＢＩＳＴ設計情報１４０４は、ＢＩＳＴ対象となるロジック回路やクロック構成等に関する情報を含んでいる。
【０１６９】
ロジックＢＩＳＴ構成情報１４０８は、ロジックＢＩＳＴ設計情報１４０４の他に、さらにＢＩＳＴ回路のモジュール名やピン名、スキャンパスの本数や長さ等に関する追加情報を含んでいる。
【０１７０】
テスト順序制御回路生成装置１４１０は、上記メモリＢＩＳＴ構成情報１４０７、ロジックＢＩＳＴ構成情報１４０８の他に、テスト制約条件１４０９を入力して、テスト順序制御回路１４１１を生成する。
【０１７１】
ここで、テスト制約条件１４０９は、被テスト対象となる各ブロックのテストクロック周波数、テスト時のピーク及び平均消費電力の上限、メモリＢＩＳＴの保持期間等に関する情報を有する。
【０１７２】
これにより、テスト順序制御回路生成装置１４１０は、メモリＢＩＳＴ構成情報１４０７、ロジックＢＩＳＴ構成情報１４０８、テスト制約条件１４０９を与えられて、各メモリやロジック部のテスト時消費電力やテスト時間を求めた上で、一時のテスト時消費電力が制限を超えないように、またメモリＢＩＳＴの保持期間中に別のテストを行うことにより総テスト時間を最小化するように、テスト順序制御回路１４１１を生成する。
【０１７３】
テスト回路挿入装置１４１３は、生成されたメモリＢＩＳＴ回路１４０３、ロジックＢＩＳＴ回路１４０６、テスト順序制御回路１４１１、さらには外部から半導体集積回路の回路情報１４１２を入力する。
【０１７４】
ここで、半導体集積回路の回路情報１４１２は、テスト用に追加された回路を除く半導体集積回路本来の機能を有する回路に関する情報である。メモリＢＩＳＴ回路１４０３、ロジックＢＩＳＴ回路１４０６、テスト順序制御回路１４１１は、テスト用に追加すべき回路に関する情報である。これらの情報を入力し、テスト回路挿入装置１４１３は、追加すべき回路の情報を生成して、テスト回路の挿入を行った後の半導体集積回路の回路情報１４１４を出力する。これにより、上記実施の形態３による半導体集積回路を設計することができる。
【０１７５】
以上説明したように、上記実施の形態１〜３による半導体集積回路によれば、ＢＩＳＴ回路を有するメモリ、ロジック回路のＢＩＳＴを、消費電力を抑制しつつ実行することができる。またテスト用の回路の追加は、ロジックＢＩＳＴのスキャンパス入出力に対して行われるため、システム性能に影響を及ぼす事態が回避される。
【０１７６】
また、上記実施の形態４の半導体集積回路の設計装置によれば、テスト時間を最適化するテスト回路を含む半導体集積回路を、設計情報およびテスト条件を与えることにより自動的に設計することができる。
【０１７７】
上述した実施の形態はいずれも一例であって本発明を限定するものではなく、本発明の技術的範囲内において様々に変形することが可能である。例えば、上記実施の形態ではロジック回路のＢＩＳＴの他にメモリのＢＩＳＴを行っている。しかし、メモリに限らずロジック回路以外に他の回路でＢＩＳＴを行うものであれば、本発明を適用することができる。
【０１７８】
また、上記実施の形態では被テストブロックとしてのロジック回路が１個しか設けられていないが、複数設けられていてもよい。同様に、上記実施の形態では被テストブロックとしてのメモリが１個しか設けられていないが、複数ブロック設けられていてもよい。
【図面の簡単な説明】
【０１７９】
【図１】本発明の実施の形態１による半導体集積回路に組み込み自己テストを行う場合のテストシステム全体の概略構成を示すブロック図。
【図２】本発明の実施の形態１による半導体集積回路の構成を示すブロック図。
【図３】同実施の形態１による半導体集積回路が有するメモリ組み込み自己テスト回路の構成を示すブロック図。
【図４】同実施の形態１による半導体集積回路が有するメモリ組み込み自己テスト回路が有する８ビットのＬＦＳＲ回路の構成を示す回路図。
【図５】同実施の形態１による半導体集積回路が有するメモリ組み込み自己テスト回路が有する８ビットのＭＩＳＲ回路の構成を示す回路図。
【図６】同実施の形態１による半導体集積回路が有するロジック組み込み自己テスト回路の低消費電力モードにおける動作を示す説明図。
【図７】本発明の実施の形態２による半導体集積回路が有するロジック組み込み自己テスト回路の構成を示すブロック図。
【図８】同実施の形態２による半導体集積回路が有するロジック組み込み自己テスト回路の低消費電力モードにおける動作を示す説明図。
【図９】本発明の実施の形態３による半導体集積回路が有するメモリ組み込み自己テスト回路の構成を示すブロック図。
【図１０】同実施の形態３による半導体集積回路が有するメモリ組み込み自己テストの内容を示す説明図。
【図１１】同実施の形態３におけるテスト順序のスケジューリングを示す説明図。
【図１２】本発明の実施の形態４による半導体装置の設計装置の構成を示すブロック図。
【符号の説明】
【０１８０】
２０１  メモリ
２０２  メモリＢＩＳＴ回路
２０７  ロジック回路
２０８  スキャンパス
２０９  ロジックＢＩＳＴ制御部
２１０  パターン生成器
２１１  パターン圧縮器
２２０  ロジックＢＩＳＴ回路
６１１〜６１８、７１１〜７１８  レジスタ
６３１〜６３８、７３１〜７３８  マルチプレクサ
６４１〜６４８、７２１〜７２８  ＯＲ素子
１２０１  テスト順序制御回路
１２０２〜１２０４  メモリＢＩＳＴ回路＃１〜＃３
１２０５〜１２０７  ロジックＢＩＳＴ回路＃１〜＃３
１４０２  メモリＢＩＳＴ回路生成装置
１４１０  テスト順序制御回路生成装置
１４１１  テスト順序制御回路
【図１】
0004751216.tif 000002
【図２】
0004751216.tif 000003
【図３】
0004751216.tif 000004
【図４】
0004751216.tif 000005
【図５】
0004751216.tif 000006
【図６】
0004751216.tif 000007
【図７】
0004751216.tif 000008
【図８】
0004751216.tif 000009
【図９】
0004751216.tif 000010
【図１０】
0004751216.tif 000011
【図１１】
0004751216.tif 000012
【図１２】
0004751216.tif 000013