半導体集積回路及びその設計装置
【課題】クロック経路へクロック切替回路を付加することなく、テスト中の消費電力を低減させる。
【解決手段】ロジック回路のBISTを行うためパターンを生成するパターン生成器、ロジック回路が出力したデータを圧縮し出力するパターン圧縮器、パターン生成器、パターン圧縮器を制御しロジック回路のスキャンパスがパターンをシフトする動作を制御するロジックBIST制御部を有するロジックBIST、メモリ、メモリにBISTを行うメモリBIST回路とを備え、メモリBIST回路がメモリにBISTを行う間、ロジックBIST回路は低消費電力モードに設定され、パターン生成器はロジックBIST回路が低消費電力モードに入る直前におけるデータの保持状態を維持しパターンに替えて固定値を生成してロジック回路に入力し、パターン圧縮器はロジックBIST回路が低消費電力モードに入る直前におけるデータの保持状態を維持し圧縮動作を停止する。
【解決手段】ロジック回路のBISTを行うためパターンを生成するパターン生成器、ロジック回路が出力したデータを圧縮し出力するパターン圧縮器、パターン生成器、パターン圧縮器を制御しロジック回路のスキャンパスがパターンをシフトする動作を制御するロジックBIST制御部を有するロジックBIST、メモリ、メモリにBISTを行うメモリBIST回路とを備え、メモリBIST回路がメモリにBISTを行う間、ロジックBIST回路は低消費電力モードに設定され、パターン生成器はロジックBIST回路が低消費電力モードに入る直前におけるデータの保持状態を維持しパターンに替えて固定値を生成してロジック回路に入力し、パターン圧縮器はロジックBIST回路が低消費電力モードに入る直前におけるデータの保持状態を維持し圧縮動作を停止する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体集積回路及びその設計装置に関する。
【背景技術】
【0002】
大規模かつ複雑な半導体集積回路のテストの困難性を解決するテスト容易化手法のひとつに、組み込み自己テスト(Built-In Self Test、以下BISTと称する)があり、幅広く用いられている。
【0003】
BISTは、半導体集積回路における被テストブロックへ与えるテストパターンの生成と、被テストブロックからのテスト結果出力の解析とを、被テストブロックの周辺に配置された組み込み自己テスト回路を用いて自動的に行なうものである。
【0004】
先ず、テスト対象となる被テストブロックを含む半導体集積回路をテストモードに設定する。これにより、被テストブロックの入出力端子は通常動作時とは異なるテスト用信号が入力される。
【0005】
BIST回路を制御するBIST制御回路を初期化した後、BISTクロックを所定数入力することにより、組み込み自己テストが実行される。自己テストの実行中は、被テストブロックへパターン生成器が生成したテストパターンが自動的に入力される。
【0006】
被テストブロックから出力されたテスト結果は、テスト結果解析器において解析されて、その解析結果が出力される。
【0007】
BISTによるテストでは、テストパターンを外部のテスタメモリ上に用意する必要がなくなり、テスタのコストが削減される。また、全ての動作をBISTクロックに同期してデバイス内で行う。このため、BISTクロックを高速で動作させることにより、テスタによるテスト動作周波数よりも速い動作速度でのテストが可能になる。これにより、実動作での製品テストを行うことができる。
【0008】
複数の異なる種類の機能ブロック(IP(Intellectual Property)コア)が搭載されるシステムオンチップ(System-on-Chip、以下SoCと称する)では、ロジックコア、メモリコア等のそれぞれにBISTを組み込むことにより、各ブロックを独立にテストすることができる。またこれにより、複数ブロックのテストを同時に行い、総テスト時間を短縮することが可能になる。
【0009】
しかしその一方で、複数ブロックのテストを同時に行うことにより、テスト時の消費電力の増加が著しくなる傾向がある。
【0010】
特にBISTでは、通常動作時に比べて回路の活性化率を上げることにより、故障を検出する能力を上げることが一般的に行われる。このため、システム動作時の消費電力が設計時に考慮される制約内に抑えられていても、テスト時における消費電力が電源設計の保証範囲を超えて、電圧降下による誤作動を起こすことがあった。
【0011】
このため、各テストを実行する順序を決定するスケジューリングを適切に行う必要が生じる。スケジューリングにより、同時に実行されるテストの総消費電力を制約範囲内に抑え、テストを消費電力とテスト時間の面から最適化することが必要である。
【0012】
しかし、この際に問題になるのは、一部のブロックのテスト回路を動作させている間に他のブロックが動作してしまい、単純なスケジューリングでは消費電力問題が解決できない場合もあるということである。
【0013】
例えば、メモリBIST回路を高周波数で実行するには、メモリのクロックにはシステム動作時に入力される高速クロックをそのまま使い、メモリBIST回路にも同じくこのクロックを使用して、タイミング調整を行うことが必要である。
【0014】
しかし、このシステム動作用の高速クロックは同時にロジック回路へも伝播する。このため、ロジック回路がランダムに動作し、テスト対象外の部分においても電力消費が発生する。この伝播範囲が広くなると、半導体集積回路全体の消費電力が無視できないほどに増大する場合がある。
【0015】
このような現象を防ぐためのひとつの手法として、システムクロックのロジック回路への分岐箇所にクロック入力を抑制するクロック切替回路を設け、メモリのBIST実行中にはロジック回路へクロックが伝播しないようにするというものがある。
【0016】
しかし、一般的に高速クロック経路への回路の追加は、クロックの各経路への伝搬に局所的に遅延をもたらしタイミング調整の困難度を増大させ、設計時間を増加させるという問題があった。
【0017】
以下、従来のBIST回路を開示した文献名を記載する。
【特許文献1】特開2003−208331号公報
【発明の開示】
【発明が解決しようとする課題】
【0018】
本発明は上記事情に鑑み、クロック経路へのクロック切替回路等の付加によるクロックのタイミング調整の困難性を招くことなく、テスト中の消費電力を低減させることが可能な半導体集積回路及びその設計装置を提供することを目的とする。
【課題を解決するための手段】
【0019】
本発明の一態様による半導体集積回路は、
クロックを与えられて動作するロジック回路と、
前記ロジック回路に組み込み自己テストを行うため、前記ロジック回路に入力すべきパターンを生成するパターン生成器と、前記ロジック回路が前記パターンを与えられて出力したデータを与えられて圧縮しその結果を出力するパターン圧縮器と、前記パターン生成器及び前記パターン圧縮器の動作を制御し、また前記ロジック回路におけるスキャンパスが前記パターンを与えられてシフトする動作を制御するロジック組み込み自己テスト制御部とを有するロジック組み込み自己テスト回路と、
前記クロックを与えられて動作するデバイス回路と、
前記デバイス回路に組み込み自己テストを行うデバイス回路組み込み自己テスト回路とを備え、
前記デバイス回路組み込み自己テスト回路が前記デバイス回路に組み込み自己テストを行う間、前記ロジック組み込み自己テスト回路は低消費電力モードに設定され、前記パターン生成器は、前記ロジック組み込み自己テスト回路が低消費電力モードに入る直前におけるデータの保持状態を維持し前記パターンに替えて固定値を生成して前記ロジック回路に入力し、前記パターン圧縮器は、前記ロジック組み込み自己テスト回路が低消費電力モードに入る直前におけるデータの保持状態を維持し圧縮動作を停止することを特徴とする。
【0020】
本発明の一態様による半導体集積回路の設計装置は、
半導体集積回路に含まれるメモリの構成情報に基づいて、前記メモリの組み込み自己テスト回路の回路情報を生成するメモリ組み込み自己テスト回路生成装置と、
前記半導体集積回路に含まれるロジック回路の情報に基づいて、前記ロジック回路の組み込み自己テスト回路の回路情報を生成するロジック組み込み自己テスト回路生成装置と、
前記メモリの組み込み自己テスト回路の回路情報と、前記ロジック回路の組み込み自己テスト回路の回路情報と、前記半導体集積回路のテスト条件およびテスト時の消費電力制約条件とに基づいて、前記消費電力制約条件を満たすように、テストの順序制御を行うテスト順序制御回路の回路情報を生成するテスト順序制御回路生成装置と、
前記半導体集積回路の回路情報を与えられ、この回路情報に、前記メモリの組み込み自己テスト回路の回路情報と、前記ロジック回路の組み込み自己テスト回路の回路情報と、前記テスト順序制御回路の回路情報とを加えることで、前記半導体集積回路に、前記メモリの組み込み自己テスト回路と、前記ロジック回路の組み込み自己テスト回路と、前記テスト順序制御回路とを挿入した回路情報を出力するテスト回路挿入装置と、
を備えることを特徴とする。
【発明の効果】
【0021】
本発明の半導体集積回路及びその設計装置によれば、テスト中の消費電力を低減させることが可能である。
【発明を実施するための最良の形態】
【0022】
以下、本発明の実施の形態について図面を参照して説明する。
【0023】
(1)実施の形態1
図1に、BIST制御回路により被テストブロックにテストを行う際の概略構成を示す。
【0024】
テストモード設定用の外部入力信号12をBIST制御回路11に入力することで、被テストブロック16をテストモードに設定する。これにより、被テストブロック16の入出力端子には、通常動作時とは異なるテスト用の信号が入出力される状態になる。
【0025】
BIST制御回路11を初期化した後、BISTクロック13を定められた数入力することにより、BISTが実行される。BISTの実行中は、パターン生成器14により自動的に生成されたテストパターン15が被テストブロック16に入力される。
【0026】
また、被テストブロック16から出力されたテスト結果17は、テスト結果解析器18に入力されて、逐一期待値と比較されたり、圧縮されて所定ビット長のデータ(シグネチャ)に変換されたりする。この後、テスト結果解析器18から最終的に被テストブロック16のテスト解析結果19が出力される。
【0027】
図2に、本実施の形態1による半導体集積回路における被テストブロックであるメモリ及びロジック回路のBISTを行う回路構成を示す。
【0028】
この半導体集積回路は、被テストブロックとしてのメモリ201の他に、メモリBIST回路202、位相同期ループ(Phase Locked Loop、以下PLLと称する)回路204、外部クロック入力端子205、さらに被テストブロックに相当し複数のスキャンパス208を有するロジック回路207、ロジックBIST制御部209とパターン生成器210とパターン圧縮器211とを有するロジックBIST回路220を備える。
【0029】
メモリBIST回路202は、メモリ201にBISTを行うためのもので、メモリ201と同一の高速クロック203で動作する。メモリBIST回路202は、BISTイネーブル信号206によりBIST動作開始状態になる。
【0030】
この高速クロック203は、外部クロック入力端子205から入力されたクロックが、内部信号生成回路であるPLL回路204に入力されて生成される。
【0031】
図3に、メモリBIST回路202の構成を示す。
【0032】
メモリBIST回路202内のBIST制御回路302が、データ生成器303、アドレス生成器304、制御信号生成器305を制御することにより、メモリ201に読み書き動作を行なわせるためのデータ入力信号308、アドレス入力信号309および制御信号310を順次自動的に発生させ、メモリ201に与える。
【0033】
メモリ201が読み出し動作を行った結果出力されたデータは、結果解析器307に入力され、正しい出力であるかどうかの解析が行われて、解析結果信号311が出力される。
【0034】
ここで解析手法には、読み出したデータを順次メモリBIST回路202内で生成した期待値と比較する比較方式や、データを順次圧縮して行き、最終的な圧縮結果をあらかじめ生成しておいた期待値と比較する圧縮方式等がある。
【0035】
図2において、シリアル型のロジックBIST回路220は、ロジック回路207にBISTを行うためのものである。
【0036】
ロジックBIST回路220は、ロジックBIST制御部209、パターン生成器210、パターン圧縮器211を有する。
【0037】
ロジックBIST制御部209はロジックBIST回路全体の動作を制御するもので、BISTイネーブル信号206を与えられてBIST動作開始状態になる。
【0038】
パターン生成器210は、ロジックBIST制御部209からパターン生成器制御信号212を与えられてパターン生成動作を行う。パターン圧縮器211は、ロジックBIST制御部209からパターン圧縮器制御信号213を与えられてパターン圧縮動作を行う。
【0039】
ところで、PLL回路204から生成された高速クロック203は、ロジック回路207にも入力される。ここで、高速クロック203がロジック回路207に入力されるクロック経路には、クロックの入力を切り替える切替回路が挿入されておらず、従ってクロックのタイミング調整には影響を与えない。
【0040】
ロジック回路207は、図2に示されたように、その内部のレジスタの全てあるいは一部は、シリアルなシフト機能を有するスキャン用レジスタに置き換えられ、シリアルなシフトパス208が複数形成されている。
【0041】
これらシフトパス208の入力側は、ロジックBIST回路220内のパターン生成器210に接続され、出力側はパターン圧縮器211に接続されている。
【0042】
ロジックBIST回路220における1回のテスト動作は、パターン生成器210から生成されたパターンをロジック回路207内のシフトレジスタ内にシフト入力していき値を設定するシフトモード、設定されたパターンをシフトレジスタに接続されたシフトレジスタ以外のロジック部分に伝搬させ、伝搬した結果をシフトレジスタ内に取り込むキャプチャモード、さらにシフトレジスタ内に取り込まれた伝搬結果を順次シフト出力していくシフトモードとの組み合わせから成る。ここで、1回目のテスト動作におけるシフト出力を行うシフトモードと、2回目のテスト動作におけるシフト入力を行うシフトモードとは重複して同時期に行われる。
【0043】
ロジックBIST回路220のパターン生成器210には、その構造の単純さからリニアフィードバックシフトレジスタ(Linear Feedback Shift Register、以下LFSRと称する)が多く用いられている。
【0044】
一方、メモリBIST回路202とロジックBIST回路220の双方に適用可能なパターン圧縮器211には、LFSRの変形であるマルチプル入力シグネチャレジスタ(Multiple Input Signature Register、以下MISRと称する)が一般的に用いられている。
【0045】
MISRの基本的な構成はLFSRと同様であるが、入力データをパラレルに取り込む点に違いがある。
【0046】
通常用いられているLFSRおよびMISRの構成や性質に関しては、以下の文献において詳細に説明されている。
【非特許文献1】Built-In Test for VLSI: Pseudo Random Techniques, Paul H. Bardell, William H. McAnney and Jacob Savir, John Wiley & Sons, 1987 図4に、本実施の形態1のロジックBIST回路220が有するパターン生成器210において用いられている8ビットのLFSRの構成を示す。
【0047】
このLFSRは、レジスタ611〜618、排他的論理和(以下、EXORと称する)素子621〜623、マルチプレクサ631〜638、ORゲート641〜648を有している。
【0048】
マルチプレクサ631〜638の制御端子には、図2に示されたパターン生成器制御信号212が入力される。
【0049】
メモリBISTを実行しておらず、低消費電力モードではない通常のロジックBIST実行中には、ローレベルのパターン生成器制御信号212がマルチプレクサ631〜638に入力される。これにより、LFSRはクロック66に同期して通常のシフト動作を行う。即ち、レジスタ611〜618は、それぞれ前段のレジスタ618、611〜617から出力されたデータをマルチプレクサ612〜618を介して与えられて保持し、順次シフトしていく。
【0050】
レジスタ611〜618間の接続のうち特定の地点(フィードバック・ポイント)において、前段のレジスタ611、615、616の出力と最終段のレジスタ618の出力とをEXOR素子621、622,623において排他的論理和演算を行った値が、それぞれ次段のレジスタ612、636、637へ入力される。フィードバックポイントは、LFSRのビット幅に応じて固有の位置に変化する。
【0051】
また、第一段のレジスタ611への入力は最終段のレジスタ618の出力がフィードバックして与えられる。その他の地点では、前段のレジスタの出力がそのまま次段のレジスタへの入力となる。
【0052】
まず、各レジスタ611〜618が、適当な(全てがローレベルではない)値に初期化される。
【0053】
その後、クロック66を与えるたびにレジスタ611〜618上の値がシフトされて行き、乱数パターンが生成されて行く。生成されたパターンは、最終段のレジスタ618からシリアルに出力されるか、あるいは各レジスタ611〜618からのパラレル出力651〜658としてOR素子641〜648から出力され、スキャンパス208に供給される。
【0054】
LSFRの特長として、ビット長Nに対して、あるフィードバックポイントの組み合わせにおいては、全てがローレベルのパターンを除くNビットパターンの組み合わせがある周期で一度ずつ生成されるという点にある。このとき、フィードバックポイントの組合せはプライマリであるという。これは、疑似乱数パターン生成器としては優れており、LFSRが多く用いられる理由になっている。
【0055】
メモリBIST実行中で低消費電力モードにある時には、パターン出力回路制御信号212がハイレベルになる。この信号212がマルチプレクサ631〜638に入力されて、それぞれのシフトレジスタ611〜618は自己の出力をフィードバックされて与えられることになり、現在の値を保持する。これにより、低消費電力モードに入る直前に保持していたデータをLFSRは維持することになる。
【0056】
また同時に、パラレル出力部に挿入されたOR素子641〜648にハイレベルの信号212が入力されることにより、BISTモード時出力651〜658はハイレベルに固定され、スキャンパス208へのシフト入力としてこの固定値が与えられる。
【0057】
図5に、本実施の形態1のロジックBIST回路220が有するパターン圧縮器211において用いられている8ビットのMISRの構成を示す。
【0058】
このMISRは、レジスタ711〜718、EXOR素子721〜728、マルチプレクサ731〜738を有している。
【0059】
マルチプレクサ731〜738の制御端子には、図2に示されたパターン圧縮器制御信号213が入力される。
【0060】
メモリBISTを実行しておらず低消費電力モードでない通常のロジックBIST実行時には、ローレベルのパターン圧縮器制御信号213がマルチプレクサ731〜738に入力される。これにより、MISRはクロック75に同期して通常の圧縮動作を行う。即ち、レジスタ711〜718は、それぞれ前段のレジスタ718、711〜717から出力されたデータをマルチプレクサ732〜738を介して与えられて保持し、シフトしていく。
【0061】
そして、レジスタ711〜718間の接続において、特定の地点(フィードバック・ポイント)において、即ち、レジスタ711、715、716、718の出力では、それぞれパラレルなデータ入力742、746、747、741と前段のレジスタ711、715、716、718の出力と、さらに最終段のレジスタ718の出力とがEXOR素子722、726、727、721において加算される。また、その他のレジスタ712、713、714、717の出力では、それぞれパラレルなデータ入力743、744、745、748と前段のレジスタ712、713、714、717の出力がEXOR素子723、724、725、728において加算される。
【0062】
この圧縮動作は、まず各レジスタ711〜718を適当な値(通常は全てローレベル「0」)に初期化し、その後クロック75によりパラレルなデータ入力を順次取り込みながら圧縮することで行っていく。
【0063】
最終的に、全てのデータ入力が終了した時点でレジスタ711〜718上に残ったビット列が圧縮結果となり、期待値と比較することにより被テストブロックの良否の判定を行う。このビット列はシグネチャと称され、圧縮による結果解析のプロセスをシグネチャ解析と称する。
【0064】
NビットのMISRにおいて、被テストブロックに存在する単独の故障が圧縮による情報の欠落(エイリアス)によって見逃される確率はおよそ1/2Nであり、Nが例えば16、32というように充分大きければこれは無視してもよいレベルとなる。このように、MISRはその構成の単純さとあいまって、圧縮器として好適なものである。
【0065】
そして、本実施の形態1によるMISRでは、各レジスタ711〜718の入力に、通常通りに前段のEXOR素子741〜748の出力を与える経路と、自己のレジスタ711〜718からの出力をフィードバックして与える経路との切り替えを行うマルチプレクサ731〜738が設けられている。
【0066】
マルチプレクサ731〜738の選択入力端子には、上述したようにパターン圧縮器制御信号213が入力される。
【0067】
メモリBISTの実行を開始し低消費電力モードに入る際には、パターン圧縮器制御信号213がハイレベルになり、各レジスタ711〜718の入力には自己のレジスタ711〜718からの出力がフィードバックされて与えられて現在の値を保持することになり、低消費電力モードに入る直前におけるLFSRのデータ保持状態が維持される。
【0068】
このような図4、図5に示されたLFSR、MISRをパターン生成器210及びパターン圧縮器211として用いることにより、ロジックBISTの低消費電力モードを実現することができる。
【0069】
本実施の形態1では、図2に示されたように、メモリ201のBIST実行を開始させるためのメモリBISTイネーブル信号206がメモリBIST回路202に入力され、同時にこのメモリBISTイネーブル信号206がロジックBIST回路220のロジックBIST制御部209にも入力される。
【0070】
これにより本実施の形態1では、メモリBISTの実行を開始する時、ロジックBIST回路220はメモリBISTイネーブル信号206を入力されると、ロジック回路207は低消費電力モードに入る。
【0071】
低消費電力モードではロジック回路207におけるテスト動作は停止され、ロジックBIST制御部209からスキャンパス208に与えられるシフトイネーブル信号214によってシフトモードに固定される。
【0072】
パターン生成器210はパターン生成器制御信号212に基づき、図4を用いて上述したように、低消費電力モードでは、ランダムなテストパターンを生成する替わりにローレベル「0」あるいはハイレベル「1」の固定値をスキャンパス208に入力し続ける。
【0073】
これにより、ロジック回路207の組み合わせ回路部分の入力は固定され、信号遷移が起こらなくなる。この結果、ロジック回路207内のトランジスタスイッチの開閉動作は最小限に抑えられ、消費電力が最小化される。
【0074】
パターン圧縮器211はパターン圧縮器制御信号213に基づき、図5を用いて上述したように、低消費電力モードの間、スキャンパス208からのシフト出力を取り込まず、低消費電力モードに入る直前のデータ保持状態を維持する。
【0075】
このようにして本実施の形態1によれば、高速クロック203がメモリBIST回路202のみならずロジック回路207にも与えられるが、ロジックBIST回路220におけるパターン生成器210からは図4を用いて述べたように、ローレベル「0」又はハイレベル「1」に固定された値がスキャンパス208に与えられるので、メモリBIST実行中におけるロジック回路207における低消費電力化が実現される。
【0076】
(2)実施の形態2
本発明の実施の形態2による半導体集積回路について説明する。
【0077】
上記実施の形態1は、上述したようにメモリ201のBIST実行時にロジックBIST回路220が低消費電力モードに入る構成を備えている。これにより、メモリ201のBIST実行時におけるロジック回路207の消費電力を低減することができる。
【0078】
一方、本実施の形態2によれば、上記実施の形態1の構成に加えてさらに、ロジック回路207のBIST実行中にメモリ201のBIST実行が開始されるような場合であっても、ロジック回路207のテストの中断及び再開を可能とする構成を備えている。
【0079】
図6に、本実施の形態2による構成を備えていない、参考例としての半導体集積回路におけるロジック回路のBIST実行中に低消費電力モードを開始しさらに終了した場合の動作手順を示す。
【0080】
図6の(1)において、低消費電力モード開始を伝える低消費電力モード信号を与えられて、ロジック回路のBISTが中断し、パターン生成器(PG)およびパターン圧縮器(PC)が低消費電力モードへ移行する。
【0081】
ここで、シフトイネーブル信号SHENがハイレベル「H」になることでシフト状態になる。パターン生成器(PG)のイネーブル信号PGENがハイレベル(動作状態)「H」からローレベル(停止状態)「L」になることで動作が停止する。パターン圧縮器(PC)のイネーブル信号PCENがハイレベル「H」からローレベル「L」になることで動作が停止する。
【0082】
図中、「N」はスキャンパス中においてN番目のテスト結果をシフト中であることを示し、これに続く「N+1」はN+1番目のテスト入力あるいはテスト結果をシフト中であることを示す。
【0083】
これにより、図6の(2)に示されたように低消費電力モードになり、パターン生成器から固定値(ここでは「0」)が出力され始め、パターン圧縮器は圧縮動作を停止する。
【0084】
この時点で、スキャンパス上ではN番目のパターンのテスト結果をシフト出力していき、続いて次のN+1番目のパターンのテスト入力をシフト中であったが、このシフトの途中でテストが中断されるため、パターンが途中までしかスキャンパスに入力されないことになる。従って、N+1番目のパターンのテストは、全てのパターンが入力し終わらない状態で固数値「0」に置き換わってしまうので、テスト中断がない場合とは異なる状態で行われることになる。
【0085】
これにより、N+1番目のパターンについて、最終的に観測されるテスト圧縮結果は中断のない場合と異なるため、本来の期待値との比較ができなくなる。
【0086】
図6の(3)において、低消費電力モードが終了し、ロジック回路のBISTが再開される。パターン生成器(PG)のイネーブル信号PGENがローレベル「L」からハイレベル「H」になることでパターン生成動作が開始する。パターン圧縮器(PC)のイネーブル信号PCENがローレベル「L」からハイレベル「H」になることでパターン圧縮動作が開始する。
【0087】
図6の(4)において、中断された時に残っていた途中からのN+1番目のパターンがスキャンパスに入力される。即ち、N+1番目のパターンを最初から再開することができず、途中から入力することなるので、このテストは再開不能となる。
【0088】
これに対し、本実施の形態2ではテストの中断及び再開が可能となるように、図2におけるロジックBIST制御部209aが図7に示されるような構成を備えている。
【0089】
このロジックBIST制御部209aは、ロジックBIST制御回路902、シフトカウンタ906、シフトイネーブル制御回路907、パターン生成制御回路908、パターン圧縮制御回路909を有する。
【0090】
ロジックBIST制御回路902に、外部からBIST開始信号903、BIST低消費電力モード信号904、BIST終了信号905が入力され、シフトカウンタ906、シフトイネーブル制御回路907、パターン生成制御回路908、パターン圧縮制御回路909の動作が制御される。
【0091】
シフトカウンタ906が、ロジック回路におけるスキャンパスの現在のシフト段数をカウントする。
【0092】
ロジックBIST制御回路902は、この現在(N番目)のシフト段数から、現在のパターンおよび次(N+1番目)のパターンのシフト動作が終了するまでの間、シフトイネーブル制御回路907を介してシフトイネーブル信号214を出力し、シフト動作を制御する。
【0093】
またロジックBIST制御回路902は、次(N+1番目)のパターンのシフト入力が完了した時点で低消費電力モードに移行するよう、パターン生成制御回路908に通知する。
【0094】
この通知が与えられると、パターン生成制御回路908は、シフトカウンタ906のカウント値をもとに、次(N+1番目)のパターンのシフト入力が完了した時点でパターン生成器210に通知するようにパターン生成器制御信号212を出力する。
【0095】
ロジックBIST制御回路902はまた、次(N+1)のテストのシフト出力が完了した時点で低消費電力モードに移行するよう、パターン圧縮制御回路909に通知する。
【0096】
通知されたパターン圧縮制御回路909は、次(N+1)のシフトが完了してシステムクロックが入力され、次のテストの結果が取り込まれ、テスト結果のシフト出力が完了した時点で、パターン圧縮器211にパターン圧縮器制御信号213を出力して通知する。
【0097】
図8に、本実施の形態2においてロジック回路207のBIST実行中にメモリBISTを実行するため低消費電力モードへ移行し完了する動作手順を示す。
【0098】
図8の(1)、(2)において、ロジックBIST制御部209aが低消費電力モード信号904を受信した時点では、ロジックBISTの動作を中断せず、現在のN番目のパターンのテスト結果のシフト出力、及び次回のN+1番目のパターンのシフト入力を継続する。このように、上記参考例とは異なり、本実施の形態2では、低消費電力モード信号904を受信した場合であっても、現在のN番目のパターンのテスト結果のシフト出力を完了し、その次のシフト入力が開始されていたN+1番目のパターンのシフト入力を完了するまで継続する。この間、パターン生成器210のイネーブル信号PGENはハイレベル(H)で動作状態、パターン圧縮器211のイネーブルPCENはハイレベル(H)で動作状態にある。
【0099】
図8の(3)において、このN番目のパターンシフト出力並びにN+1のパターンシフト入力が完了する。これにより、シフトイネーブル信号SHENがローレベル(L)、パターン生成器210のイネーブル信号PGENがローレベルへ変化する。
【0100】
図8の(4)において、スキャンシフトモードからキャプチャモードへ移行し、システムクロックを入力する。
【0101】
N+1番目のパターンのテスト結果をスキャンレジスタに取り込む。
【0102】
次のパターンの入力は中断されるので、この時点でパターン生成器210へのパターン生成器制御信号212のレベルを変化させ、低消費電力モードへ移行させる。
【0103】
図8の(5)において、N+1番目のパターンのテスト結果のシフト出力を開始し、パターン圧縮器211へ入力して圧縮していく。シフトイネーブル信号SHENがハイレベル(H)へ変化する。
【0104】
このシフト出力が進むに従い、図8の(6)において、パターン生成器210は低消費電力モードに設定されているので、固定値として例えば「0」をシフト入力し続ける。
【0105】
図8の(7)において、N+1番目のパターンのテスト結果をシフト出力し終わると、スキャンパス上のレジスタは全て値「0」となる。
【0106】
この時点でパターン圧縮器213のパターン圧縮器制御信号213のレベルを変化させ、低消費電力モードへ移行させる。シフトイネーブル信号SHENがローレベル(L)へ変化する。
【0107】
以降、図8の(8)において、パターン生成器210はレジスタの値を保持しながら同じ固定値「0」をシフト入力し続け、パターン圧縮器213はシフト出力を取り込まずに低消費電力モードへ入る直前のレジスタの値を保持し続ける。
【0108】
図8の(9)において、ロジックBIST制御回路902が低消費電力モード終了を伝える信号904を受けると、まずパターン生成器210は低消費電力モードを終了する。パターン生成器210のイネーブル信号PGENがハイレベル(H)に変化する。パターン生成器210は、それまでの保持状態から、図8の(10)において次のN+2番目のテストパターンをシフトパス208にシフト入力し始める。ここで、N+2番目のテストパターンの前に存在する固定値「0」はパターン圧縮器211により取り込まれない。
【0109】
このとき、パターン圧縮器211は、まだ低消費電力モードのままであり、イネーブル信号PCENはローレベル(L)のままである。
【0110】
図8の(11)において、N+2番目のパターンのシフト入力が完了すると、スキャンパスはスキャンシフトモードからキャプチャモードへ移行する。シフトイネーブル信号SHENがローレベル(L)に変化する。
【0111】
図8の(12)において、システムクロックを入力することによりN+2番目のパターンのテスト結果をスキャンレジスタに取り込む。
【0112】
次に、図8の(13)において、N+2番目のパターンのテスト結果のシフト出力を開始するが、この際パターン圧縮器211は低消費電力モードを終了し、それまでの保持状態からパターン圧縮を再開する。パターン圧縮器211のイネーブルPCENがハイレベルに変化する。
【0113】
これ以降は中断前と同様に、図8の(14)において、通常のロジックBISTの動作として、N+2番目のパターンのシフト出力、N+3番目のパターンのシフト入力を行なっていく。
【0114】
以上のように本実施の形態2によれば、ロジックBIST回路220はロジックBISTの実行途中でメモリBIST等、他の回路のテストが開始した際に低消費電力モードに移行し、固定値をシフト入力し続けることによりロジック回路207の電力消費を最小化する。そして、他のテストの実行が完了した際に、中断時点の状態からロジックBIST動作を再開し、中断がなかった場合と同じテスト結果を得ることができる。
【0115】
このようにテスト中断が可能になることにより、テストのスケジューリングの自由度が高くなりテスト時間全体の効率を向上させることができる。
【0116】
ここで、本実施の形態2による新たな回路の追加はシステム経路上には存在しないので、システム性能に影響を及ぼすことはない。
【0117】
(3)実施の形態3
本発明の実施の形態3による半導体集積回路について説明する。
【0118】
上記実施の形態2は、ロジックBIST回路が少なくとも1個存在し、ロジックBIST以外のBIST回路として設けられているメモリBIST回路の数については限定されない場合に適用される。
【0119】
これに対し本実施の形態3では、ロジックBIST回路が2個以上設けられており、ロジック以外に他のBIST回路の数については限定されない場合に適用される。
【0120】
本実施の形態3では、図9に示されたように、複数の被テストブロックにBISTを行っていく際の手順を制御するテスト順序制御回路1201、並びに各々の被テストブロック(メモリ回路#1〜#3、ロジック回路#1〜#3)にBISTを行うためのメモリBIST回路#1 1202、メモリBIST回路#2 1203、メモリBIST回路#3 1203、ロジックBIST回路#1 1205、ロジックBIST回路#2 1206、ロジックBIST回路#3 1207を備えている。
【0121】
3つのメモリBIST回路#1 1202〜メモリBIST回路#3 1204と、3つのロジックBIST回路#1 1205〜ロジックBIST回路#3 1207のそれぞれの動作を、テスト順序制御回路1201が制御する。
【0122】
メモリBIST回路#1 1202〜メモリBIST回路#3 1204は、それぞれバンクあるいはブロック単位で分割されて設けられたメモリをそれぞれテスト対象としてBISTを行うものであってもよく、あるいは1つ又は2つのメモリにおける異なる領域をテスト対象とするものであってもよい。あるいはまた、一つのメモリBIST回路が複数のメモリをテスト対象としてBISTを行ってもよい。
【0123】
同様に、ロジックBIST回路#1 1205〜ロジックBIST回路#3 1207は、それぞれブロック単位で分割されて設けられたロジック回路をそれぞれテスト対象としてBISTを行うものであってもよく、あるいは1つ又は2つのロジック回路における異なる領域をテスト対象とするものであってもよい。
【0124】
またロジックBIST回路#1 1205〜ロジックBIST回路#3 1207は、上記実施の形態2において述べたBISTを中断し再開する構成及び低消費電力を実現する構成とを備えるものとする。
【0125】
テスト順序制御回路1201には、外部からテスト開始信号1212が入力されてテストが開始され、終了時にはテスト終了信号1213が出力される。
【0126】
テスト順序制御回路1201からメモリBIST回路#1 1202〜メモリBIST回路#3 1204へは、BISTイネーブル信号およびBIST開始信号1208が入力されてBISTが開始される。
【0127】
BISTが開始されると、メモリBIST回路#1 1202〜メモリBIST回路#3 1204からテスト順序制御回路1201へ、後述する保持開始信号、保持終了信号、BIST終了信号1209が出力される。
【0128】
同様に、テスト順序制御回路1201からロジックBIST回路#1 1205〜ロジックBIST回路#3 1207へ、BISTイネーブル信号、BIST開始信号、保持開始信号、保持終了信号、BIST終了信号1210が入力され、またロジックBIST回路#1 1205〜ロジックBIST回路#3 1207からテスト順序制御回路1201へは、BIST終了信号1211が出力される。尚、図9において図示されていないが、テスト順序制御回路1201、メモリBIST回路#1 1202〜メモリBIST回路#3 1204、ロジックBIST回路#1 1205〜ロジックBIST回路#3 1207へは、それぞれ回路を動作させるためのクロックが供給される。
【0129】
図10に、本実施の形態3において実行されるメモリBISTの動作手順及び内容を示す。
【0130】
本テストでは、全ビット「0」および全ビット「1」のバックグラウンドデータを用いてメモリ201の保持性テストを行う。
【0131】
まず、メモリBIST回路がメモリ201に全ビット「0」のパターンを書き込み、保持状態へ移行する。
【0132】
保持状態の間、BIST回路はメモリ201へのアクセス動作は行わない。
【0133】
所定期間が経過すると保持状態が終了し、書き込んだデータ「0」の読み出し動作へ移行する。ここで所定期間の長さは、半導体集積回路上に実装されたカウンタ等により計測してもよいし、あるいは回路から信号を入力して決定してもよい。上記動作は、全ビット「1」のバックグラウンドデータに対しても同様に行われる。
【0134】
保持動作が開始されると、メモリBIST回路は保持開始信号をハイレベルに変化させる。保持動作が終了すると、保持終了信号をハイレベルに変化させる。
【0135】
読み出し動作が終了すると、読み出し終了信号をハイレベルに変化させる。
【0136】
これらの保持開始信号、保持終了信号、読み出し信号終了はそれぞれ、保持動作、読み出し動作、次の書き込み動作が行われるか、あるいはBIST動作が終了した時点でローレベルに戻る。
【0137】
BIST動作が終了すると、BIST終了信号をハイレベルに変化させる。
【0138】
図11に、本実施の形態3におけるメモリBIST回路#1 1202〜#3 1204、ロジックBIST回路#1 1205〜ロジックBIST回路#3 1207がそれぞれテストを行う際のスケジューリングの一例を示す。
【0139】
ここでは、メモリBIST回路#1 1202〜メモリBIST回路#3 1204、およびロジックBIST回路#1 1205〜ロジックBIST回路#3 1207は、それぞれ同時に並行してテストを行わないことを前提とする。
【0140】
但し、メモリBISTにおけるデータの保持期間中には、他のBISTが実行されてもよいとする。
【0141】
ここで、メモリBIST回路#1 1202〜メモリBIST回路#3 1204、ロジックBIST回路#1 1205〜ロジックBIST回路#3 1207のそれぞれのBIST動作の開始及び終了の際には、テスト順序制御回路1201を介して上述したようにそれぞれ制御信号が送受信される。
【0142】
先ず、テスト全体の開始時に、テスト順序制御回路1201に外部からテスト開始信号1212が入力される。
【0143】
テスト順序制御回路1201は、全てのテスト回路、すなわちメモリBIST回路#1 1202〜メモリBIST回路#3 1204にBISTイネーブル信号1208、およびロジックBIST回路#1 1205〜ロジックBIST回路#3 1207に、BISTイネーブル信号1210を入力する。
【0144】
これにより、メモリBIST回路#1 1202〜メモリBIST回路#3 1204、およびロジックBIST回路#1 1205〜ロジックBIST回路#3 1207は活性化され、BIST開始を待つ状態となる。
【0145】
この間、メモリBIST回路#1 1202〜メモリBIST回路#3 1204はメモリ201にアクセスせず、またロジックBIST回路#1 1205〜ロジックBIST回路#3 1207は、低消費電力モードに設定される。
【0146】
テスト順序制御回路1201はまず、メモリBIST回路#1 1202にBIST開始信号1208を入力する。これによりメモリBIST回路#1 1202は初めの全ビット「0」の書き込み動作を開始し、終了時に保持開始信号1209を出力して保持状態となる。
【0147】
テスト順序制御回路1201はこの保持開始信号1209を与えられると、メモリBIST回路# 2 1203にBIST開始信号1210を出力し、メモリBIST回路#2 1203は書き込み動作を開始し、終了時に保持開始信号1209を出力して保持状態となる。
【0148】
テスト順序制御回路1201はこの保持開始信号1209を与えられ、メモリBIST回路#3 1204にBIST開始信号1208を出力する。メモリBIST回路#3 1204は書き込み動作を開始し、終了時に保持開始信号1209を出力して保持状態となる。
【0149】
全てのメモリBIST回路#1 1202〜メモリBIST回路#3 1204が保持状態になると、テスト順序制御回路1201はロジックBIST回路#1 1205にBIST開始信号1210を出力し、ロジックBIST回路#1 1205は低消費電力モードを抜けてロジックBIST実行を開始する。
【0150】
しかし、ロジックBISTの実行中にメモリBIST回路#1 1202の保持動作期間が経過すると、保持終了信号1209がテスト順序制御回路1201に出力され、次の読み出し動作が開始される。そこで、ロジックBIST回路1205は保持終了信号1210を与えられて、ロジックBIST動作を一旦中断し、低消費電力モードに入る。
【0151】
書き込みと同様の順序で、メモリBIST回路#1 1202〜メモリBIST回路#3 1204の読み出し動作が順に行われて全てが終了すると、次にメモリBIST回路#1 1202による全ビット「1」の書き込み動作が開始される。
【0152】
全ビット「0」の書き込み動作と同様に、メモリBIST回路#1 1202〜メモリBIST回路#3 1204の書き込み動作が終了すると、メモリBIST回路#3 1204から保持開始信号1209がテスト順序制御回路1201に与えられる。これにより、テスト順序制御回路1201からロジックBIST動作回路1205にBIST開始信号1210が与えられることで、低消費電力モードを抜けて、ロジックBISTの動作が再開される。
【0153】
メモリBIST回路#1 1202〜メモリBIST回路#3 1204の保持期間中にロジックBIST回路#1 1205のBIST動作が終了すると、BIST終了信号1211がテスト順序制御回路1201に出力される。これにより、テスト順序制御回路1201から次のロジックBIST回路#2 1206にBIST開始信号1210が与えられて、BIST動作が開始される。
【0154】
ロジックBIST実行中にメモリBIST回路#1 1202の保持動作期間が経過すると、保持終了信号1209がテスト順序制御回路1201に出力されて、次の読み出し動作が開始される。
【0155】
ロジックBIST回路#2 1206は、テスト順序制御回路1201から保持終了信号1210を与えられてロジックBIST動作を中断し、低消費電力モードに入る。
【0156】
書き込みと同様の順序で、メモリBIST回路#1 1202〜メモリBIST回路#3 1204の読み出し動作が終了すると、メモリBIST回路#1 1202〜メモリBIST回路#3 1204はそれぞれBIST終了信号1209を出力する。
【0157】
テスト順序制御回路1201は、メモリBIST回路#3 1204からのBIST終了信号1209を受けて、ロジックBIST回路#2 1206の動作を再開させる。
【0158】
以降、メモリBIST回路#1 1202〜メモリBIST回路#3 1204は動作しない。よって、ロジックBIST回路#2 1206のBIST動作終了によりロジックBIST回路#3 1207のBIST動作が開始される。ロジックBIST回路#3 1207の動作終了により、全てのテストが完了する。これにより、テスト順序制御回路1201はテスト終了信号1213を外部に出力する。
【0159】
以上のような手順により、本実施の形態3によれば、複数のメモリBISTとロジックBISTとのスケジューリングを行うことで、消費電力を削減しつつテスト時間の最適化を実現することができる。
【0160】
なお、本実施の形態3では、各BIST回路の開始および終了は、共通に設けられたテスト順序制御回路1201により制御される。しかし、各BIST回路間で直接信号のやりとりを行うことにより実現されてもよい。
【0161】
(4)実施の形態4
本発明の実施の形態4による半導体集積回路について説明する。
【0162】
図12に、上記実施の形態3による半導体集積回路を設計するための本実施の形態4による設計装置の構成及び入出力される情報を示す。
【0163】
本実施の形態4による設計装置は、メモリBIST回路生成装置1402、テスト回路挿入装置1413、ロジックBIST回路生成装置1405、テスト順序制御回路生成装置1410を備えている。
【0164】
メモリBIST回路生成装置1402は、メモリBIST設計情報1401を入力し、メモリBIST回路1403およびメモリBIST構成情報1407を生成する。
【0165】
ここで、メモリBIST設計情報1401は、メモリBIST回路1403によりテストを行うメモリの構成や、テストをどのBIST回路で行うかのグループ分け等に関する情報を含んでいる。
【0166】
メモリBIST構成情報1407は、メモリBIST設計情報1401の他に、さらにBIST回路のモジュール名やピン名、保持機能を含むか否か等に関する追加情報を含んでいる。
【0167】
ロジックBIST回路生成装置1405は、ロジックBIST設計情報1404を入力し、ロジックBIST回路1406およびロジックBIST構成情報1408を生成する。
【0168】
ロジックBIST設計情報1404は、BIST対象となるロジック回路やクロック構成等に関する情報を含んでいる。
【0169】
ロジックBIST構成情報1408は、ロジックBIST設計情報1404の他に、さらにBIST回路のモジュール名やピン名、スキャンパスの本数や長さ等に関する追加情報を含んでいる。
【0170】
テスト順序制御回路生成装置1410は、上記メモリBIST構成情報1407、ロジックBIST構成情報1408の他に、テスト制約条件1409を入力して、テスト順序制御回路1411を生成する。
【0171】
ここで、テスト制約条件1409は、被テスト対象となる各ブロックのテストクロック周波数、テスト時のピーク及び平均消費電力の上限、メモリBISTの保持期間等に関する情報を有する。
【0172】
これにより、テスト順序制御回路生成装置1410は、メモリBIST構成情報1407、ロジックBIST構成情報1408、テスト制約条件1409を与えられて、各メモリやロジック部のテスト時消費電力やテスト時間を求めた上で、一時のテスト時消費電力が制限を超えないように、またメモリBISTの保持期間中に別のテストを行うことにより総テスト時間を最小化するように、テスト順序制御回路1411を生成する。
【0173】
テスト回路挿入装置1413は、生成されたメモリBIST回路1403、ロジックBIST回路1406、テスト順序制御回路1411、さらには外部から半導体集積回路の回路情報1412を入力する。
【0174】
ここで、半導体集積回路の回路情報1412は、テスト用に追加された回路を除く半導体集積回路本来の機能を有する回路に関する情報である。メモリBIST回路1403、ロジックBIST回路1406、テスト順序制御回路1411は、テスト用に追加すべき回路に関する情報である。これらの情報を入力し、テスト回路挿入装置1413は、追加すべき回路の情報を生成して、テスト回路の挿入を行った後の半導体集積回路の回路情報1414を出力する。これにより、上記実施の形態3による半導体集積回路を設計することができる。
【0175】
以上説明したように、上記実施の形態1〜3による半導体集積回路によれば、BIST回路を有するメモリ、ロジック回路のBISTを、消費電力を抑制しつつ実行することができる。またテスト用の回路の追加は、ロジックBISTのスキャンパス入出力に対して行われるため、システム性能に影響を及ぼす事態が回避される。
【0176】
また、上記実施の形態4の半導体集積回路の設計装置によれば、テスト時間を最適化するテスト回路を含む半導体集積回路を、設計情報およびテスト条件を与えることにより自動的に設計することができる。
【0177】
上述した実施の形態はいずれも一例であって本発明を限定するものではなく、本発明の技術的範囲内において様々に変形することが可能である。例えば、上記実施の形態ではロジック回路のBISTの他にメモリのBISTを行っている。しかし、メモリに限らずロジック回路以外に他の回路でBISTを行うものであれば、本発明を適用することができる。
【0178】
また、上記実施の形態では被テストブロックとしてのロジック回路が1個しか設けられていないが、複数設けられていてもよい。同様に、上記実施の形態では被テストブロックとしてのメモリが1個しか設けられていないが、複数ブロック設けられていてもよい。
【図面の簡単な説明】
【0179】
【図1】本発明の実施の形態1による半導体集積回路に組み込み自己テストを行う場合のテストシステム全体の概略構成を示すブロック図。
【図2】本発明の実施の形態1による半導体集積回路の構成を示すブロック図。
【図3】同実施の形態1による半導体集積回路が有するメモリ組み込み自己テスト回路の構成を示すブロック図。
【図4】同実施の形態1による半導体集積回路が有するメモリ組み込み自己テスト回路が有する8ビットのLFSR回路の構成を示す回路図。
【図5】同実施の形態1による半導体集積回路が有するメモリ組み込み自己テスト回路が有する8ビットのMISR回路の構成を示す回路図。
【図6】同実施の形態1による半導体集積回路が有するロジック組み込み自己テスト回路の低消費電力モードにおける動作を示す説明図。
【図7】本発明の実施の形態2による半導体集積回路が有するロジック組み込み自己テスト回路の構成を示すブロック図。
【図8】同実施の形態2による半導体集積回路が有するロジック組み込み自己テスト回路の低消費電力モードにおける動作を示す説明図。
【図9】本発明の実施の形態3による半導体集積回路が有するメモリ組み込み自己テスト回路の構成を示すブロック図。
【図10】同実施の形態3による半導体集積回路が有するメモリ組み込み自己テストの内容を示す説明図。
【図11】同実施の形態3におけるテスト順序のスケジューリングを示す説明図。
【図12】本発明の実施の形態4による半導体装置の設計装置の構成を示すブロック図。
【符号の説明】
【0180】
201 メモリ
202 メモリBIST回路
207 ロジック回路
208 スキャンパス
209 ロジックBIST制御部
210 パターン生成器
211 パターン圧縮器
220 ロジックBIST回路
611〜618、711〜718 レジスタ
631〜638、731〜738 マルチプレクサ
641〜648、721〜728 OR素子
1201 テスト順序制御回路
1202〜1204 メモリBIST回路#1〜#3
1205〜1207 ロジックBIST回路#1〜#3
1402 メモリBIST回路生成装置
1410 テスト順序制御回路生成装置
1411 テスト順序制御回路
【技術分野】
【0001】
本発明は、半導体集積回路及びその設計装置に関する。
【背景技術】
【0002】
大規模かつ複雑な半導体集積回路のテストの困難性を解決するテスト容易化手法のひとつに、組み込み自己テスト(Built-In Self Test、以下BISTと称する)があり、幅広く用いられている。
【0003】
BISTは、半導体集積回路における被テストブロックへ与えるテストパターンの生成と、被テストブロックからのテスト結果出力の解析とを、被テストブロックの周辺に配置された組み込み自己テスト回路を用いて自動的に行なうものである。
【0004】
先ず、テスト対象となる被テストブロックを含む半導体集積回路をテストモードに設定する。これにより、被テストブロックの入出力端子は通常動作時とは異なるテスト用信号が入力される。
【0005】
BIST回路を制御するBIST制御回路を初期化した後、BISTクロックを所定数入力することにより、組み込み自己テストが実行される。自己テストの実行中は、被テストブロックへパターン生成器が生成したテストパターンが自動的に入力される。
【0006】
被テストブロックから出力されたテスト結果は、テスト結果解析器において解析されて、その解析結果が出力される。
【0007】
BISTによるテストでは、テストパターンを外部のテスタメモリ上に用意する必要がなくなり、テスタのコストが削減される。また、全ての動作をBISTクロックに同期してデバイス内で行う。このため、BISTクロックを高速で動作させることにより、テスタによるテスト動作周波数よりも速い動作速度でのテストが可能になる。これにより、実動作での製品テストを行うことができる。
【0008】
複数の異なる種類の機能ブロック(IP(Intellectual Property)コア)が搭載されるシステムオンチップ(System-on-Chip、以下SoCと称する)では、ロジックコア、メモリコア等のそれぞれにBISTを組み込むことにより、各ブロックを独立にテストすることができる。またこれにより、複数ブロックのテストを同時に行い、総テスト時間を短縮することが可能になる。
【0009】
しかしその一方で、複数ブロックのテストを同時に行うことにより、テスト時の消費電力の増加が著しくなる傾向がある。
【0010】
特にBISTでは、通常動作時に比べて回路の活性化率を上げることにより、故障を検出する能力を上げることが一般的に行われる。このため、システム動作時の消費電力が設計時に考慮される制約内に抑えられていても、テスト時における消費電力が電源設計の保証範囲を超えて、電圧降下による誤作動を起こすことがあった。
【0011】
このため、各テストを実行する順序を決定するスケジューリングを適切に行う必要が生じる。スケジューリングにより、同時に実行されるテストの総消費電力を制約範囲内に抑え、テストを消費電力とテスト時間の面から最適化することが必要である。
【0012】
しかし、この際に問題になるのは、一部のブロックのテスト回路を動作させている間に他のブロックが動作してしまい、単純なスケジューリングでは消費電力問題が解決できない場合もあるということである。
【0013】
例えば、メモリBIST回路を高周波数で実行するには、メモリのクロックにはシステム動作時に入力される高速クロックをそのまま使い、メモリBIST回路にも同じくこのクロックを使用して、タイミング調整を行うことが必要である。
【0014】
しかし、このシステム動作用の高速クロックは同時にロジック回路へも伝播する。このため、ロジック回路がランダムに動作し、テスト対象外の部分においても電力消費が発生する。この伝播範囲が広くなると、半導体集積回路全体の消費電力が無視できないほどに増大する場合がある。
【0015】
このような現象を防ぐためのひとつの手法として、システムクロックのロジック回路への分岐箇所にクロック入力を抑制するクロック切替回路を設け、メモリのBIST実行中にはロジック回路へクロックが伝播しないようにするというものがある。
【0016】
しかし、一般的に高速クロック経路への回路の追加は、クロックの各経路への伝搬に局所的に遅延をもたらしタイミング調整の困難度を増大させ、設計時間を増加させるという問題があった。
【0017】
以下、従来のBIST回路を開示した文献名を記載する。
【特許文献1】特開2003−208331号公報
【発明の開示】
【発明が解決しようとする課題】
【0018】
本発明は上記事情に鑑み、クロック経路へのクロック切替回路等の付加によるクロックのタイミング調整の困難性を招くことなく、テスト中の消費電力を低減させることが可能な半導体集積回路及びその設計装置を提供することを目的とする。
【課題を解決するための手段】
【0019】
本発明の一態様による半導体集積回路は、
クロックを与えられて動作するロジック回路と、
前記ロジック回路に組み込み自己テストを行うため、前記ロジック回路に入力すべきパターンを生成するパターン生成器と、前記ロジック回路が前記パターンを与えられて出力したデータを与えられて圧縮しその結果を出力するパターン圧縮器と、前記パターン生成器及び前記パターン圧縮器の動作を制御し、また前記ロジック回路におけるスキャンパスが前記パターンを与えられてシフトする動作を制御するロジック組み込み自己テスト制御部とを有するロジック組み込み自己テスト回路と、
前記クロックを与えられて動作するデバイス回路と、
前記デバイス回路に組み込み自己テストを行うデバイス回路組み込み自己テスト回路とを備え、
前記デバイス回路組み込み自己テスト回路が前記デバイス回路に組み込み自己テストを行う間、前記ロジック組み込み自己テスト回路は低消費電力モードに設定され、前記パターン生成器は、前記ロジック組み込み自己テスト回路が低消費電力モードに入る直前におけるデータの保持状態を維持し前記パターンに替えて固定値を生成して前記ロジック回路に入力し、前記パターン圧縮器は、前記ロジック組み込み自己テスト回路が低消費電力モードに入る直前におけるデータの保持状態を維持し圧縮動作を停止することを特徴とする。
【0020】
本発明の一態様による半導体集積回路の設計装置は、
半導体集積回路に含まれるメモリの構成情報に基づいて、前記メモリの組み込み自己テスト回路の回路情報を生成するメモリ組み込み自己テスト回路生成装置と、
前記半導体集積回路に含まれるロジック回路の情報に基づいて、前記ロジック回路の組み込み自己テスト回路の回路情報を生成するロジック組み込み自己テスト回路生成装置と、
前記メモリの組み込み自己テスト回路の回路情報と、前記ロジック回路の組み込み自己テスト回路の回路情報と、前記半導体集積回路のテスト条件およびテスト時の消費電力制約条件とに基づいて、前記消費電力制約条件を満たすように、テストの順序制御を行うテスト順序制御回路の回路情報を生成するテスト順序制御回路生成装置と、
前記半導体集積回路の回路情報を与えられ、この回路情報に、前記メモリの組み込み自己テスト回路の回路情報と、前記ロジック回路の組み込み自己テスト回路の回路情報と、前記テスト順序制御回路の回路情報とを加えることで、前記半導体集積回路に、前記メモリの組み込み自己テスト回路と、前記ロジック回路の組み込み自己テスト回路と、前記テスト順序制御回路とを挿入した回路情報を出力するテスト回路挿入装置と、
を備えることを特徴とする。
【発明の効果】
【0021】
本発明の半導体集積回路及びその設計装置によれば、テスト中の消費電力を低減させることが可能である。
【発明を実施するための最良の形態】
【0022】
以下、本発明の実施の形態について図面を参照して説明する。
【0023】
(1)実施の形態1
図1に、BIST制御回路により被テストブロックにテストを行う際の概略構成を示す。
【0024】
テストモード設定用の外部入力信号12をBIST制御回路11に入力することで、被テストブロック16をテストモードに設定する。これにより、被テストブロック16の入出力端子には、通常動作時とは異なるテスト用の信号が入出力される状態になる。
【0025】
BIST制御回路11を初期化した後、BISTクロック13を定められた数入力することにより、BISTが実行される。BISTの実行中は、パターン生成器14により自動的に生成されたテストパターン15が被テストブロック16に入力される。
【0026】
また、被テストブロック16から出力されたテスト結果17は、テスト結果解析器18に入力されて、逐一期待値と比較されたり、圧縮されて所定ビット長のデータ(シグネチャ)に変換されたりする。この後、テスト結果解析器18から最終的に被テストブロック16のテスト解析結果19が出力される。
【0027】
図2に、本実施の形態1による半導体集積回路における被テストブロックであるメモリ及びロジック回路のBISTを行う回路構成を示す。
【0028】
この半導体集積回路は、被テストブロックとしてのメモリ201の他に、メモリBIST回路202、位相同期ループ(Phase Locked Loop、以下PLLと称する)回路204、外部クロック入力端子205、さらに被テストブロックに相当し複数のスキャンパス208を有するロジック回路207、ロジックBIST制御部209とパターン生成器210とパターン圧縮器211とを有するロジックBIST回路220を備える。
【0029】
メモリBIST回路202は、メモリ201にBISTを行うためのもので、メモリ201と同一の高速クロック203で動作する。メモリBIST回路202は、BISTイネーブル信号206によりBIST動作開始状態になる。
【0030】
この高速クロック203は、外部クロック入力端子205から入力されたクロックが、内部信号生成回路であるPLL回路204に入力されて生成される。
【0031】
図3に、メモリBIST回路202の構成を示す。
【0032】
メモリBIST回路202内のBIST制御回路302が、データ生成器303、アドレス生成器304、制御信号生成器305を制御することにより、メモリ201に読み書き動作を行なわせるためのデータ入力信号308、アドレス入力信号309および制御信号310を順次自動的に発生させ、メモリ201に与える。
【0033】
メモリ201が読み出し動作を行った結果出力されたデータは、結果解析器307に入力され、正しい出力であるかどうかの解析が行われて、解析結果信号311が出力される。
【0034】
ここで解析手法には、読み出したデータを順次メモリBIST回路202内で生成した期待値と比較する比較方式や、データを順次圧縮して行き、最終的な圧縮結果をあらかじめ生成しておいた期待値と比較する圧縮方式等がある。
【0035】
図2において、シリアル型のロジックBIST回路220は、ロジック回路207にBISTを行うためのものである。
【0036】
ロジックBIST回路220は、ロジックBIST制御部209、パターン生成器210、パターン圧縮器211を有する。
【0037】
ロジックBIST制御部209はロジックBIST回路全体の動作を制御するもので、BISTイネーブル信号206を与えられてBIST動作開始状態になる。
【0038】
パターン生成器210は、ロジックBIST制御部209からパターン生成器制御信号212を与えられてパターン生成動作を行う。パターン圧縮器211は、ロジックBIST制御部209からパターン圧縮器制御信号213を与えられてパターン圧縮動作を行う。
【0039】
ところで、PLL回路204から生成された高速クロック203は、ロジック回路207にも入力される。ここで、高速クロック203がロジック回路207に入力されるクロック経路には、クロックの入力を切り替える切替回路が挿入されておらず、従ってクロックのタイミング調整には影響を与えない。
【0040】
ロジック回路207は、図2に示されたように、その内部のレジスタの全てあるいは一部は、シリアルなシフト機能を有するスキャン用レジスタに置き換えられ、シリアルなシフトパス208が複数形成されている。
【0041】
これらシフトパス208の入力側は、ロジックBIST回路220内のパターン生成器210に接続され、出力側はパターン圧縮器211に接続されている。
【0042】
ロジックBIST回路220における1回のテスト動作は、パターン生成器210から生成されたパターンをロジック回路207内のシフトレジスタ内にシフト入力していき値を設定するシフトモード、設定されたパターンをシフトレジスタに接続されたシフトレジスタ以外のロジック部分に伝搬させ、伝搬した結果をシフトレジスタ内に取り込むキャプチャモード、さらにシフトレジスタ内に取り込まれた伝搬結果を順次シフト出力していくシフトモードとの組み合わせから成る。ここで、1回目のテスト動作におけるシフト出力を行うシフトモードと、2回目のテスト動作におけるシフト入力を行うシフトモードとは重複して同時期に行われる。
【0043】
ロジックBIST回路220のパターン生成器210には、その構造の単純さからリニアフィードバックシフトレジスタ(Linear Feedback Shift Register、以下LFSRと称する)が多く用いられている。
【0044】
一方、メモリBIST回路202とロジックBIST回路220の双方に適用可能なパターン圧縮器211には、LFSRの変形であるマルチプル入力シグネチャレジスタ(Multiple Input Signature Register、以下MISRと称する)が一般的に用いられている。
【0045】
MISRの基本的な構成はLFSRと同様であるが、入力データをパラレルに取り込む点に違いがある。
【0046】
通常用いられているLFSRおよびMISRの構成や性質に関しては、以下の文献において詳細に説明されている。
【非特許文献1】Built-In Test for VLSI: Pseudo Random Techniques, Paul H. Bardell, William H. McAnney and Jacob Savir, John Wiley & Sons, 1987 図4に、本実施の形態1のロジックBIST回路220が有するパターン生成器210において用いられている8ビットのLFSRの構成を示す。
【0047】
このLFSRは、レジスタ611〜618、排他的論理和(以下、EXORと称する)素子621〜623、マルチプレクサ631〜638、ORゲート641〜648を有している。
【0048】
マルチプレクサ631〜638の制御端子には、図2に示されたパターン生成器制御信号212が入力される。
【0049】
メモリBISTを実行しておらず、低消費電力モードではない通常のロジックBIST実行中には、ローレベルのパターン生成器制御信号212がマルチプレクサ631〜638に入力される。これにより、LFSRはクロック66に同期して通常のシフト動作を行う。即ち、レジスタ611〜618は、それぞれ前段のレジスタ618、611〜617から出力されたデータをマルチプレクサ612〜618を介して与えられて保持し、順次シフトしていく。
【0050】
レジスタ611〜618間の接続のうち特定の地点(フィードバック・ポイント)において、前段のレジスタ611、615、616の出力と最終段のレジスタ618の出力とをEXOR素子621、622,623において排他的論理和演算を行った値が、それぞれ次段のレジスタ612、636、637へ入力される。フィードバックポイントは、LFSRのビット幅に応じて固有の位置に変化する。
【0051】
また、第一段のレジスタ611への入力は最終段のレジスタ618の出力がフィードバックして与えられる。その他の地点では、前段のレジスタの出力がそのまま次段のレジスタへの入力となる。
【0052】
まず、各レジスタ611〜618が、適当な(全てがローレベルではない)値に初期化される。
【0053】
その後、クロック66を与えるたびにレジスタ611〜618上の値がシフトされて行き、乱数パターンが生成されて行く。生成されたパターンは、最終段のレジスタ618からシリアルに出力されるか、あるいは各レジスタ611〜618からのパラレル出力651〜658としてOR素子641〜648から出力され、スキャンパス208に供給される。
【0054】
LSFRの特長として、ビット長Nに対して、あるフィードバックポイントの組み合わせにおいては、全てがローレベルのパターンを除くNビットパターンの組み合わせがある周期で一度ずつ生成されるという点にある。このとき、フィードバックポイントの組合せはプライマリであるという。これは、疑似乱数パターン生成器としては優れており、LFSRが多く用いられる理由になっている。
【0055】
メモリBIST実行中で低消費電力モードにある時には、パターン出力回路制御信号212がハイレベルになる。この信号212がマルチプレクサ631〜638に入力されて、それぞれのシフトレジスタ611〜618は自己の出力をフィードバックされて与えられることになり、現在の値を保持する。これにより、低消費電力モードに入る直前に保持していたデータをLFSRは維持することになる。
【0056】
また同時に、パラレル出力部に挿入されたOR素子641〜648にハイレベルの信号212が入力されることにより、BISTモード時出力651〜658はハイレベルに固定され、スキャンパス208へのシフト入力としてこの固定値が与えられる。
【0057】
図5に、本実施の形態1のロジックBIST回路220が有するパターン圧縮器211において用いられている8ビットのMISRの構成を示す。
【0058】
このMISRは、レジスタ711〜718、EXOR素子721〜728、マルチプレクサ731〜738を有している。
【0059】
マルチプレクサ731〜738の制御端子には、図2に示されたパターン圧縮器制御信号213が入力される。
【0060】
メモリBISTを実行しておらず低消費電力モードでない通常のロジックBIST実行時には、ローレベルのパターン圧縮器制御信号213がマルチプレクサ731〜738に入力される。これにより、MISRはクロック75に同期して通常の圧縮動作を行う。即ち、レジスタ711〜718は、それぞれ前段のレジスタ718、711〜717から出力されたデータをマルチプレクサ732〜738を介して与えられて保持し、シフトしていく。
【0061】
そして、レジスタ711〜718間の接続において、特定の地点(フィードバック・ポイント)において、即ち、レジスタ711、715、716、718の出力では、それぞれパラレルなデータ入力742、746、747、741と前段のレジスタ711、715、716、718の出力と、さらに最終段のレジスタ718の出力とがEXOR素子722、726、727、721において加算される。また、その他のレジスタ712、713、714、717の出力では、それぞれパラレルなデータ入力743、744、745、748と前段のレジスタ712、713、714、717の出力がEXOR素子723、724、725、728において加算される。
【0062】
この圧縮動作は、まず各レジスタ711〜718を適当な値(通常は全てローレベル「0」)に初期化し、その後クロック75によりパラレルなデータ入力を順次取り込みながら圧縮することで行っていく。
【0063】
最終的に、全てのデータ入力が終了した時点でレジスタ711〜718上に残ったビット列が圧縮結果となり、期待値と比較することにより被テストブロックの良否の判定を行う。このビット列はシグネチャと称され、圧縮による結果解析のプロセスをシグネチャ解析と称する。
【0064】
NビットのMISRにおいて、被テストブロックに存在する単独の故障が圧縮による情報の欠落(エイリアス)によって見逃される確率はおよそ1/2Nであり、Nが例えば16、32というように充分大きければこれは無視してもよいレベルとなる。このように、MISRはその構成の単純さとあいまって、圧縮器として好適なものである。
【0065】
そして、本実施の形態1によるMISRでは、各レジスタ711〜718の入力に、通常通りに前段のEXOR素子741〜748の出力を与える経路と、自己のレジスタ711〜718からの出力をフィードバックして与える経路との切り替えを行うマルチプレクサ731〜738が設けられている。
【0066】
マルチプレクサ731〜738の選択入力端子には、上述したようにパターン圧縮器制御信号213が入力される。
【0067】
メモリBISTの実行を開始し低消費電力モードに入る際には、パターン圧縮器制御信号213がハイレベルになり、各レジスタ711〜718の入力には自己のレジスタ711〜718からの出力がフィードバックされて与えられて現在の値を保持することになり、低消費電力モードに入る直前におけるLFSRのデータ保持状態が維持される。
【0068】
このような図4、図5に示されたLFSR、MISRをパターン生成器210及びパターン圧縮器211として用いることにより、ロジックBISTの低消費電力モードを実現することができる。
【0069】
本実施の形態1では、図2に示されたように、メモリ201のBIST実行を開始させるためのメモリBISTイネーブル信号206がメモリBIST回路202に入力され、同時にこのメモリBISTイネーブル信号206がロジックBIST回路220のロジックBIST制御部209にも入力される。
【0070】
これにより本実施の形態1では、メモリBISTの実行を開始する時、ロジックBIST回路220はメモリBISTイネーブル信号206を入力されると、ロジック回路207は低消費電力モードに入る。
【0071】
低消費電力モードではロジック回路207におけるテスト動作は停止され、ロジックBIST制御部209からスキャンパス208に与えられるシフトイネーブル信号214によってシフトモードに固定される。
【0072】
パターン生成器210はパターン生成器制御信号212に基づき、図4を用いて上述したように、低消費電力モードでは、ランダムなテストパターンを生成する替わりにローレベル「0」あるいはハイレベル「1」の固定値をスキャンパス208に入力し続ける。
【0073】
これにより、ロジック回路207の組み合わせ回路部分の入力は固定され、信号遷移が起こらなくなる。この結果、ロジック回路207内のトランジスタスイッチの開閉動作は最小限に抑えられ、消費電力が最小化される。
【0074】
パターン圧縮器211はパターン圧縮器制御信号213に基づき、図5を用いて上述したように、低消費電力モードの間、スキャンパス208からのシフト出力を取り込まず、低消費電力モードに入る直前のデータ保持状態を維持する。
【0075】
このようにして本実施の形態1によれば、高速クロック203がメモリBIST回路202のみならずロジック回路207にも与えられるが、ロジックBIST回路220におけるパターン生成器210からは図4を用いて述べたように、ローレベル「0」又はハイレベル「1」に固定された値がスキャンパス208に与えられるので、メモリBIST実行中におけるロジック回路207における低消費電力化が実現される。
【0076】
(2)実施の形態2
本発明の実施の形態2による半導体集積回路について説明する。
【0077】
上記実施の形態1は、上述したようにメモリ201のBIST実行時にロジックBIST回路220が低消費電力モードに入る構成を備えている。これにより、メモリ201のBIST実行時におけるロジック回路207の消費電力を低減することができる。
【0078】
一方、本実施の形態2によれば、上記実施の形態1の構成に加えてさらに、ロジック回路207のBIST実行中にメモリ201のBIST実行が開始されるような場合であっても、ロジック回路207のテストの中断及び再開を可能とする構成を備えている。
【0079】
図6に、本実施の形態2による構成を備えていない、参考例としての半導体集積回路におけるロジック回路のBIST実行中に低消費電力モードを開始しさらに終了した場合の動作手順を示す。
【0080】
図6の(1)において、低消費電力モード開始を伝える低消費電力モード信号を与えられて、ロジック回路のBISTが中断し、パターン生成器(PG)およびパターン圧縮器(PC)が低消費電力モードへ移行する。
【0081】
ここで、シフトイネーブル信号SHENがハイレベル「H」になることでシフト状態になる。パターン生成器(PG)のイネーブル信号PGENがハイレベル(動作状態)「H」からローレベル(停止状態)「L」になることで動作が停止する。パターン圧縮器(PC)のイネーブル信号PCENがハイレベル「H」からローレベル「L」になることで動作が停止する。
【0082】
図中、「N」はスキャンパス中においてN番目のテスト結果をシフト中であることを示し、これに続く「N+1」はN+1番目のテスト入力あるいはテスト結果をシフト中であることを示す。
【0083】
これにより、図6の(2)に示されたように低消費電力モードになり、パターン生成器から固定値(ここでは「0」)が出力され始め、パターン圧縮器は圧縮動作を停止する。
【0084】
この時点で、スキャンパス上ではN番目のパターンのテスト結果をシフト出力していき、続いて次のN+1番目のパターンのテスト入力をシフト中であったが、このシフトの途中でテストが中断されるため、パターンが途中までしかスキャンパスに入力されないことになる。従って、N+1番目のパターンのテストは、全てのパターンが入力し終わらない状態で固数値「0」に置き換わってしまうので、テスト中断がない場合とは異なる状態で行われることになる。
【0085】
これにより、N+1番目のパターンについて、最終的に観測されるテスト圧縮結果は中断のない場合と異なるため、本来の期待値との比較ができなくなる。
【0086】
図6の(3)において、低消費電力モードが終了し、ロジック回路のBISTが再開される。パターン生成器(PG)のイネーブル信号PGENがローレベル「L」からハイレベル「H」になることでパターン生成動作が開始する。パターン圧縮器(PC)のイネーブル信号PCENがローレベル「L」からハイレベル「H」になることでパターン圧縮動作が開始する。
【0087】
図6の(4)において、中断された時に残っていた途中からのN+1番目のパターンがスキャンパスに入力される。即ち、N+1番目のパターンを最初から再開することができず、途中から入力することなるので、このテストは再開不能となる。
【0088】
これに対し、本実施の形態2ではテストの中断及び再開が可能となるように、図2におけるロジックBIST制御部209aが図7に示されるような構成を備えている。
【0089】
このロジックBIST制御部209aは、ロジックBIST制御回路902、シフトカウンタ906、シフトイネーブル制御回路907、パターン生成制御回路908、パターン圧縮制御回路909を有する。
【0090】
ロジックBIST制御回路902に、外部からBIST開始信号903、BIST低消費電力モード信号904、BIST終了信号905が入力され、シフトカウンタ906、シフトイネーブル制御回路907、パターン生成制御回路908、パターン圧縮制御回路909の動作が制御される。
【0091】
シフトカウンタ906が、ロジック回路におけるスキャンパスの現在のシフト段数をカウントする。
【0092】
ロジックBIST制御回路902は、この現在(N番目)のシフト段数から、現在のパターンおよび次(N+1番目)のパターンのシフト動作が終了するまでの間、シフトイネーブル制御回路907を介してシフトイネーブル信号214を出力し、シフト動作を制御する。
【0093】
またロジックBIST制御回路902は、次(N+1番目)のパターンのシフト入力が完了した時点で低消費電力モードに移行するよう、パターン生成制御回路908に通知する。
【0094】
この通知が与えられると、パターン生成制御回路908は、シフトカウンタ906のカウント値をもとに、次(N+1番目)のパターンのシフト入力が完了した時点でパターン生成器210に通知するようにパターン生成器制御信号212を出力する。
【0095】
ロジックBIST制御回路902はまた、次(N+1)のテストのシフト出力が完了した時点で低消費電力モードに移行するよう、パターン圧縮制御回路909に通知する。
【0096】
通知されたパターン圧縮制御回路909は、次(N+1)のシフトが完了してシステムクロックが入力され、次のテストの結果が取り込まれ、テスト結果のシフト出力が完了した時点で、パターン圧縮器211にパターン圧縮器制御信号213を出力して通知する。
【0097】
図8に、本実施の形態2においてロジック回路207のBIST実行中にメモリBISTを実行するため低消費電力モードへ移行し完了する動作手順を示す。
【0098】
図8の(1)、(2)において、ロジックBIST制御部209aが低消費電力モード信号904を受信した時点では、ロジックBISTの動作を中断せず、現在のN番目のパターンのテスト結果のシフト出力、及び次回のN+1番目のパターンのシフト入力を継続する。このように、上記参考例とは異なり、本実施の形態2では、低消費電力モード信号904を受信した場合であっても、現在のN番目のパターンのテスト結果のシフト出力を完了し、その次のシフト入力が開始されていたN+1番目のパターンのシフト入力を完了するまで継続する。この間、パターン生成器210のイネーブル信号PGENはハイレベル(H)で動作状態、パターン圧縮器211のイネーブルPCENはハイレベル(H)で動作状態にある。
【0099】
図8の(3)において、このN番目のパターンシフト出力並びにN+1のパターンシフト入力が完了する。これにより、シフトイネーブル信号SHENがローレベル(L)、パターン生成器210のイネーブル信号PGENがローレベルへ変化する。
【0100】
図8の(4)において、スキャンシフトモードからキャプチャモードへ移行し、システムクロックを入力する。
【0101】
N+1番目のパターンのテスト結果をスキャンレジスタに取り込む。
【0102】
次のパターンの入力は中断されるので、この時点でパターン生成器210へのパターン生成器制御信号212のレベルを変化させ、低消費電力モードへ移行させる。
【0103】
図8の(5)において、N+1番目のパターンのテスト結果のシフト出力を開始し、パターン圧縮器211へ入力して圧縮していく。シフトイネーブル信号SHENがハイレベル(H)へ変化する。
【0104】
このシフト出力が進むに従い、図8の(6)において、パターン生成器210は低消費電力モードに設定されているので、固定値として例えば「0」をシフト入力し続ける。
【0105】
図8の(7)において、N+1番目のパターンのテスト結果をシフト出力し終わると、スキャンパス上のレジスタは全て値「0」となる。
【0106】
この時点でパターン圧縮器213のパターン圧縮器制御信号213のレベルを変化させ、低消費電力モードへ移行させる。シフトイネーブル信号SHENがローレベル(L)へ変化する。
【0107】
以降、図8の(8)において、パターン生成器210はレジスタの値を保持しながら同じ固定値「0」をシフト入力し続け、パターン圧縮器213はシフト出力を取り込まずに低消費電力モードへ入る直前のレジスタの値を保持し続ける。
【0108】
図8の(9)において、ロジックBIST制御回路902が低消費電力モード終了を伝える信号904を受けると、まずパターン生成器210は低消費電力モードを終了する。パターン生成器210のイネーブル信号PGENがハイレベル(H)に変化する。パターン生成器210は、それまでの保持状態から、図8の(10)において次のN+2番目のテストパターンをシフトパス208にシフト入力し始める。ここで、N+2番目のテストパターンの前に存在する固定値「0」はパターン圧縮器211により取り込まれない。
【0109】
このとき、パターン圧縮器211は、まだ低消費電力モードのままであり、イネーブル信号PCENはローレベル(L)のままである。
【0110】
図8の(11)において、N+2番目のパターンのシフト入力が完了すると、スキャンパスはスキャンシフトモードからキャプチャモードへ移行する。シフトイネーブル信号SHENがローレベル(L)に変化する。
【0111】
図8の(12)において、システムクロックを入力することによりN+2番目のパターンのテスト結果をスキャンレジスタに取り込む。
【0112】
次に、図8の(13)において、N+2番目のパターンのテスト結果のシフト出力を開始するが、この際パターン圧縮器211は低消費電力モードを終了し、それまでの保持状態からパターン圧縮を再開する。パターン圧縮器211のイネーブルPCENがハイレベルに変化する。
【0113】
これ以降は中断前と同様に、図8の(14)において、通常のロジックBISTの動作として、N+2番目のパターンのシフト出力、N+3番目のパターンのシフト入力を行なっていく。
【0114】
以上のように本実施の形態2によれば、ロジックBIST回路220はロジックBISTの実行途中でメモリBIST等、他の回路のテストが開始した際に低消費電力モードに移行し、固定値をシフト入力し続けることによりロジック回路207の電力消費を最小化する。そして、他のテストの実行が完了した際に、中断時点の状態からロジックBIST動作を再開し、中断がなかった場合と同じテスト結果を得ることができる。
【0115】
このようにテスト中断が可能になることにより、テストのスケジューリングの自由度が高くなりテスト時間全体の効率を向上させることができる。
【0116】
ここで、本実施の形態2による新たな回路の追加はシステム経路上には存在しないので、システム性能に影響を及ぼすことはない。
【0117】
(3)実施の形態3
本発明の実施の形態3による半導体集積回路について説明する。
【0118】
上記実施の形態2は、ロジックBIST回路が少なくとも1個存在し、ロジックBIST以外のBIST回路として設けられているメモリBIST回路の数については限定されない場合に適用される。
【0119】
これに対し本実施の形態3では、ロジックBIST回路が2個以上設けられており、ロジック以外に他のBIST回路の数については限定されない場合に適用される。
【0120】
本実施の形態3では、図9に示されたように、複数の被テストブロックにBISTを行っていく際の手順を制御するテスト順序制御回路1201、並びに各々の被テストブロック(メモリ回路#1〜#3、ロジック回路#1〜#3)にBISTを行うためのメモリBIST回路#1 1202、メモリBIST回路#2 1203、メモリBIST回路#3 1203、ロジックBIST回路#1 1205、ロジックBIST回路#2 1206、ロジックBIST回路#3 1207を備えている。
【0121】
3つのメモリBIST回路#1 1202〜メモリBIST回路#3 1204と、3つのロジックBIST回路#1 1205〜ロジックBIST回路#3 1207のそれぞれの動作を、テスト順序制御回路1201が制御する。
【0122】
メモリBIST回路#1 1202〜メモリBIST回路#3 1204は、それぞれバンクあるいはブロック単位で分割されて設けられたメモリをそれぞれテスト対象としてBISTを行うものであってもよく、あるいは1つ又は2つのメモリにおける異なる領域をテスト対象とするものであってもよい。あるいはまた、一つのメモリBIST回路が複数のメモリをテスト対象としてBISTを行ってもよい。
【0123】
同様に、ロジックBIST回路#1 1205〜ロジックBIST回路#3 1207は、それぞれブロック単位で分割されて設けられたロジック回路をそれぞれテスト対象としてBISTを行うものであってもよく、あるいは1つ又は2つのロジック回路における異なる領域をテスト対象とするものであってもよい。
【0124】
またロジックBIST回路#1 1205〜ロジックBIST回路#3 1207は、上記実施の形態2において述べたBISTを中断し再開する構成及び低消費電力を実現する構成とを備えるものとする。
【0125】
テスト順序制御回路1201には、外部からテスト開始信号1212が入力されてテストが開始され、終了時にはテスト終了信号1213が出力される。
【0126】
テスト順序制御回路1201からメモリBIST回路#1 1202〜メモリBIST回路#3 1204へは、BISTイネーブル信号およびBIST開始信号1208が入力されてBISTが開始される。
【0127】
BISTが開始されると、メモリBIST回路#1 1202〜メモリBIST回路#3 1204からテスト順序制御回路1201へ、後述する保持開始信号、保持終了信号、BIST終了信号1209が出力される。
【0128】
同様に、テスト順序制御回路1201からロジックBIST回路#1 1205〜ロジックBIST回路#3 1207へ、BISTイネーブル信号、BIST開始信号、保持開始信号、保持終了信号、BIST終了信号1210が入力され、またロジックBIST回路#1 1205〜ロジックBIST回路#3 1207からテスト順序制御回路1201へは、BIST終了信号1211が出力される。尚、図9において図示されていないが、テスト順序制御回路1201、メモリBIST回路#1 1202〜メモリBIST回路#3 1204、ロジックBIST回路#1 1205〜ロジックBIST回路#3 1207へは、それぞれ回路を動作させるためのクロックが供給される。
【0129】
図10に、本実施の形態3において実行されるメモリBISTの動作手順及び内容を示す。
【0130】
本テストでは、全ビット「0」および全ビット「1」のバックグラウンドデータを用いてメモリ201の保持性テストを行う。
【0131】
まず、メモリBIST回路がメモリ201に全ビット「0」のパターンを書き込み、保持状態へ移行する。
【0132】
保持状態の間、BIST回路はメモリ201へのアクセス動作は行わない。
【0133】
所定期間が経過すると保持状態が終了し、書き込んだデータ「0」の読み出し動作へ移行する。ここで所定期間の長さは、半導体集積回路上に実装されたカウンタ等により計測してもよいし、あるいは回路から信号を入力して決定してもよい。上記動作は、全ビット「1」のバックグラウンドデータに対しても同様に行われる。
【0134】
保持動作が開始されると、メモリBIST回路は保持開始信号をハイレベルに変化させる。保持動作が終了すると、保持終了信号をハイレベルに変化させる。
【0135】
読み出し動作が終了すると、読み出し終了信号をハイレベルに変化させる。
【0136】
これらの保持開始信号、保持終了信号、読み出し信号終了はそれぞれ、保持動作、読み出し動作、次の書き込み動作が行われるか、あるいはBIST動作が終了した時点でローレベルに戻る。
【0137】
BIST動作が終了すると、BIST終了信号をハイレベルに変化させる。
【0138】
図11に、本実施の形態3におけるメモリBIST回路#1 1202〜#3 1204、ロジックBIST回路#1 1205〜ロジックBIST回路#3 1207がそれぞれテストを行う際のスケジューリングの一例を示す。
【0139】
ここでは、メモリBIST回路#1 1202〜メモリBIST回路#3 1204、およびロジックBIST回路#1 1205〜ロジックBIST回路#3 1207は、それぞれ同時に並行してテストを行わないことを前提とする。
【0140】
但し、メモリBISTにおけるデータの保持期間中には、他のBISTが実行されてもよいとする。
【0141】
ここで、メモリBIST回路#1 1202〜メモリBIST回路#3 1204、ロジックBIST回路#1 1205〜ロジックBIST回路#3 1207のそれぞれのBIST動作の開始及び終了の際には、テスト順序制御回路1201を介して上述したようにそれぞれ制御信号が送受信される。
【0142】
先ず、テスト全体の開始時に、テスト順序制御回路1201に外部からテスト開始信号1212が入力される。
【0143】
テスト順序制御回路1201は、全てのテスト回路、すなわちメモリBIST回路#1 1202〜メモリBIST回路#3 1204にBISTイネーブル信号1208、およびロジックBIST回路#1 1205〜ロジックBIST回路#3 1207に、BISTイネーブル信号1210を入力する。
【0144】
これにより、メモリBIST回路#1 1202〜メモリBIST回路#3 1204、およびロジックBIST回路#1 1205〜ロジックBIST回路#3 1207は活性化され、BIST開始を待つ状態となる。
【0145】
この間、メモリBIST回路#1 1202〜メモリBIST回路#3 1204はメモリ201にアクセスせず、またロジックBIST回路#1 1205〜ロジックBIST回路#3 1207は、低消費電力モードに設定される。
【0146】
テスト順序制御回路1201はまず、メモリBIST回路#1 1202にBIST開始信号1208を入力する。これによりメモリBIST回路#1 1202は初めの全ビット「0」の書き込み動作を開始し、終了時に保持開始信号1209を出力して保持状態となる。
【0147】
テスト順序制御回路1201はこの保持開始信号1209を与えられると、メモリBIST回路# 2 1203にBIST開始信号1210を出力し、メモリBIST回路#2 1203は書き込み動作を開始し、終了時に保持開始信号1209を出力して保持状態となる。
【0148】
テスト順序制御回路1201はこの保持開始信号1209を与えられ、メモリBIST回路#3 1204にBIST開始信号1208を出力する。メモリBIST回路#3 1204は書き込み動作を開始し、終了時に保持開始信号1209を出力して保持状態となる。
【0149】
全てのメモリBIST回路#1 1202〜メモリBIST回路#3 1204が保持状態になると、テスト順序制御回路1201はロジックBIST回路#1 1205にBIST開始信号1210を出力し、ロジックBIST回路#1 1205は低消費電力モードを抜けてロジックBIST実行を開始する。
【0150】
しかし、ロジックBISTの実行中にメモリBIST回路#1 1202の保持動作期間が経過すると、保持終了信号1209がテスト順序制御回路1201に出力され、次の読み出し動作が開始される。そこで、ロジックBIST回路1205は保持終了信号1210を与えられて、ロジックBIST動作を一旦中断し、低消費電力モードに入る。
【0151】
書き込みと同様の順序で、メモリBIST回路#1 1202〜メモリBIST回路#3 1204の読み出し動作が順に行われて全てが終了すると、次にメモリBIST回路#1 1202による全ビット「1」の書き込み動作が開始される。
【0152】
全ビット「0」の書き込み動作と同様に、メモリBIST回路#1 1202〜メモリBIST回路#3 1204の書き込み動作が終了すると、メモリBIST回路#3 1204から保持開始信号1209がテスト順序制御回路1201に与えられる。これにより、テスト順序制御回路1201からロジックBIST動作回路1205にBIST開始信号1210が与えられることで、低消費電力モードを抜けて、ロジックBISTの動作が再開される。
【0153】
メモリBIST回路#1 1202〜メモリBIST回路#3 1204の保持期間中にロジックBIST回路#1 1205のBIST動作が終了すると、BIST終了信号1211がテスト順序制御回路1201に出力される。これにより、テスト順序制御回路1201から次のロジックBIST回路#2 1206にBIST開始信号1210が与えられて、BIST動作が開始される。
【0154】
ロジックBIST実行中にメモリBIST回路#1 1202の保持動作期間が経過すると、保持終了信号1209がテスト順序制御回路1201に出力されて、次の読み出し動作が開始される。
【0155】
ロジックBIST回路#2 1206は、テスト順序制御回路1201から保持終了信号1210を与えられてロジックBIST動作を中断し、低消費電力モードに入る。
【0156】
書き込みと同様の順序で、メモリBIST回路#1 1202〜メモリBIST回路#3 1204の読み出し動作が終了すると、メモリBIST回路#1 1202〜メモリBIST回路#3 1204はそれぞれBIST終了信号1209を出力する。
【0157】
テスト順序制御回路1201は、メモリBIST回路#3 1204からのBIST終了信号1209を受けて、ロジックBIST回路#2 1206の動作を再開させる。
【0158】
以降、メモリBIST回路#1 1202〜メモリBIST回路#3 1204は動作しない。よって、ロジックBIST回路#2 1206のBIST動作終了によりロジックBIST回路#3 1207のBIST動作が開始される。ロジックBIST回路#3 1207の動作終了により、全てのテストが完了する。これにより、テスト順序制御回路1201はテスト終了信号1213を外部に出力する。
【0159】
以上のような手順により、本実施の形態3によれば、複数のメモリBISTとロジックBISTとのスケジューリングを行うことで、消費電力を削減しつつテスト時間の最適化を実現することができる。
【0160】
なお、本実施の形態3では、各BIST回路の開始および終了は、共通に設けられたテスト順序制御回路1201により制御される。しかし、各BIST回路間で直接信号のやりとりを行うことにより実現されてもよい。
【0161】
(4)実施の形態4
本発明の実施の形態4による半導体集積回路について説明する。
【0162】
図12に、上記実施の形態3による半導体集積回路を設計するための本実施の形態4による設計装置の構成及び入出力される情報を示す。
【0163】
本実施の形態4による設計装置は、メモリBIST回路生成装置1402、テスト回路挿入装置1413、ロジックBIST回路生成装置1405、テスト順序制御回路生成装置1410を備えている。
【0164】
メモリBIST回路生成装置1402は、メモリBIST設計情報1401を入力し、メモリBIST回路1403およびメモリBIST構成情報1407を生成する。
【0165】
ここで、メモリBIST設計情報1401は、メモリBIST回路1403によりテストを行うメモリの構成や、テストをどのBIST回路で行うかのグループ分け等に関する情報を含んでいる。
【0166】
メモリBIST構成情報1407は、メモリBIST設計情報1401の他に、さらにBIST回路のモジュール名やピン名、保持機能を含むか否か等に関する追加情報を含んでいる。
【0167】
ロジックBIST回路生成装置1405は、ロジックBIST設計情報1404を入力し、ロジックBIST回路1406およびロジックBIST構成情報1408を生成する。
【0168】
ロジックBIST設計情報1404は、BIST対象となるロジック回路やクロック構成等に関する情報を含んでいる。
【0169】
ロジックBIST構成情報1408は、ロジックBIST設計情報1404の他に、さらにBIST回路のモジュール名やピン名、スキャンパスの本数や長さ等に関する追加情報を含んでいる。
【0170】
テスト順序制御回路生成装置1410は、上記メモリBIST構成情報1407、ロジックBIST構成情報1408の他に、テスト制約条件1409を入力して、テスト順序制御回路1411を生成する。
【0171】
ここで、テスト制約条件1409は、被テスト対象となる各ブロックのテストクロック周波数、テスト時のピーク及び平均消費電力の上限、メモリBISTの保持期間等に関する情報を有する。
【0172】
これにより、テスト順序制御回路生成装置1410は、メモリBIST構成情報1407、ロジックBIST構成情報1408、テスト制約条件1409を与えられて、各メモリやロジック部のテスト時消費電力やテスト時間を求めた上で、一時のテスト時消費電力が制限を超えないように、またメモリBISTの保持期間中に別のテストを行うことにより総テスト時間を最小化するように、テスト順序制御回路1411を生成する。
【0173】
テスト回路挿入装置1413は、生成されたメモリBIST回路1403、ロジックBIST回路1406、テスト順序制御回路1411、さらには外部から半導体集積回路の回路情報1412を入力する。
【0174】
ここで、半導体集積回路の回路情報1412は、テスト用に追加された回路を除く半導体集積回路本来の機能を有する回路に関する情報である。メモリBIST回路1403、ロジックBIST回路1406、テスト順序制御回路1411は、テスト用に追加すべき回路に関する情報である。これらの情報を入力し、テスト回路挿入装置1413は、追加すべき回路の情報を生成して、テスト回路の挿入を行った後の半導体集積回路の回路情報1414を出力する。これにより、上記実施の形態3による半導体集積回路を設計することができる。
【0175】
以上説明したように、上記実施の形態1〜3による半導体集積回路によれば、BIST回路を有するメモリ、ロジック回路のBISTを、消費電力を抑制しつつ実行することができる。またテスト用の回路の追加は、ロジックBISTのスキャンパス入出力に対して行われるため、システム性能に影響を及ぼす事態が回避される。
【0176】
また、上記実施の形態4の半導体集積回路の設計装置によれば、テスト時間を最適化するテスト回路を含む半導体集積回路を、設計情報およびテスト条件を与えることにより自動的に設計することができる。
【0177】
上述した実施の形態はいずれも一例であって本発明を限定するものではなく、本発明の技術的範囲内において様々に変形することが可能である。例えば、上記実施の形態ではロジック回路のBISTの他にメモリのBISTを行っている。しかし、メモリに限らずロジック回路以外に他の回路でBISTを行うものであれば、本発明を適用することができる。
【0178】
また、上記実施の形態では被テストブロックとしてのロジック回路が1個しか設けられていないが、複数設けられていてもよい。同様に、上記実施の形態では被テストブロックとしてのメモリが1個しか設けられていないが、複数ブロック設けられていてもよい。
【図面の簡単な説明】
【0179】
【図1】本発明の実施の形態1による半導体集積回路に組み込み自己テストを行う場合のテストシステム全体の概略構成を示すブロック図。
【図2】本発明の実施の形態1による半導体集積回路の構成を示すブロック図。
【図3】同実施の形態1による半導体集積回路が有するメモリ組み込み自己テスト回路の構成を示すブロック図。
【図4】同実施の形態1による半導体集積回路が有するメモリ組み込み自己テスト回路が有する8ビットのLFSR回路の構成を示す回路図。
【図5】同実施の形態1による半導体集積回路が有するメモリ組み込み自己テスト回路が有する8ビットのMISR回路の構成を示す回路図。
【図6】同実施の形態1による半導体集積回路が有するロジック組み込み自己テスト回路の低消費電力モードにおける動作を示す説明図。
【図7】本発明の実施の形態2による半導体集積回路が有するロジック組み込み自己テスト回路の構成を示すブロック図。
【図8】同実施の形態2による半導体集積回路が有するロジック組み込み自己テスト回路の低消費電力モードにおける動作を示す説明図。
【図9】本発明の実施の形態3による半導体集積回路が有するメモリ組み込み自己テスト回路の構成を示すブロック図。
【図10】同実施の形態3による半導体集積回路が有するメモリ組み込み自己テストの内容を示す説明図。
【図11】同実施の形態3におけるテスト順序のスケジューリングを示す説明図。
【図12】本発明の実施の形態4による半導体装置の設計装置の構成を示すブロック図。
【符号の説明】
【0180】
201 メモリ
202 メモリBIST回路
207 ロジック回路
208 スキャンパス
209 ロジックBIST制御部
210 パターン生成器
211 パターン圧縮器
220 ロジックBIST回路
611〜618、711〜718 レジスタ
631〜638、731〜738 マルチプレクサ
641〜648、721〜728 OR素子
1201 テスト順序制御回路
1202〜1204 メモリBIST回路#1〜#3
1205〜1207 ロジックBIST回路#1〜#3
1402 メモリBIST回路生成装置
1410 テスト順序制御回路生成装置
1411 テスト順序制御回路
【特許請求の範囲】
【請求項1】
クロックを与えられて動作するロジック回路と、
前記ロジック回路に組み込み自己テストを行うため、前記ロジック回路に入力すべきパターンを生成するパターン生成器と、前記ロジック回路が前記パターンを与えられて出力したデータを与えられて圧縮しその結果を出力するパターン圧縮器と、前記パターン生成器及び前記パターン圧縮器の動作を制御し、前記ロジック回路におけるスキャンパスが前記パターンを与えられてシフトする動作を制御するロジック組み込み自己テスト制御部とを有するロジック組み込み自己テスト回路と、
前記クロックを与えられて動作するデバイス回路と、
前記デバイス回路に組み込み自己テストを行うデバイス回路組み込み自己テスト回路と、
を備え、
前記デバイス回路組み込み自己テスト回路が前記デバイス回路に組み込み自己テストを行う間、前記ロジック組み込み自己テスト回路は低消費電力モードに設定され、前記パターン生成器は、前記ロジック組み込み自己テスト回路が低消費電力モードに入る直前におけるデータの保持状態を維持し前記パターンに替えて固定値を生成して前記ロジック回路に入力し、前記パターン圧縮器は、前記ロジック組み込み自己テスト回路が低消費電力モードに入る直前におけるデータの保持状態を維持し圧縮動作を停止することを特徴とする半導体集積回路。
【請求項2】
前記パターン生成器は、直列に配置された複数段の第1のレジスタと、
前記第1のレジスタの各々の入力側に設けられ、第1の制御信号に基づいて、対応する当該第1のレジスタの前段に配置された第1のレジスタ側からの出力と当該第1のレジスタからの出力とのいずれか一方を選択して当該第1のレジスタの入力に与える第1のマルチプレクサと、
複数段の前記第1のレジスタのうちの所定のものの出力側にそれぞれ配置され、対応する当該第1のレジスタからの出力と、最終段の前記第1のレジスタからの出力とを与えられて第1の論理演算を行って第1の演算結果を出力し、当該第1のレジスタの後段に配置された第1のレジスタの入力側に設けられた前記第1のマルチプレクサに前記第1のレジスタ側からの出力としてそれぞれ出力する第1の論理演算素子と、
前記第1のレジスタの各々に対応して設けられ、前記第1の制御信号と、対応する当該第1のレジスタからの出力とを与えられて第2の論理演算を行って第2の演算結果をそれぞれ出力する第2の論理演算素子とを含み、
前記第1の制御信号が前記低消費電力モードに対応する場合、
前記第1のマルチプレクサの各々は、対応する当該第1のレジスタからの出力を選択して当該第1のレジスタの入力にフィードバックして与え、
前記第2の論理演算素子の各々は、固定された値を出力し、
前記パターン圧縮器は、直列に配置された複数段の第2のレジスタと、
前記第2のレジスタの各々の入力側に設けられ、第2の制御信号に基づいて、対応する当該第2のレジスタの前段に配置された前記第2のレジスタ側からの出力と当該第2のレジスタからの出力とのいずれか一方を選択して当該第2のレジスタの入力側に与える第2のマルチプレクサと、
所定位置の複数段の前記第2のレジスタの出力側にそれぞれ配置され、対応する当該第2のレジスタからの出力と、最終段の前記第2のレジスタからの出力と、前記ロジック回路からパラレルに出力されたデータのうち対応するものをそれぞれ与えられて第3の論理演算を行って第3の演算結果を出力し、当該第2のレジスタの後段に配置された第2のレジスタの入力側に設けられた前記第2のマルチプレクサに前記第1のレジスタ側からの出力としてそれぞれ出力する第3の論理演算素子とを含み、
前記第2の制御信号が前記低消費電力モードに対応する場合、
前記第2のマルチプレクサの各々は、対応する当該第2のレジスタからの出力を選択して当該第2のレジスタの入力にフィードバックして与えることを特徴とする請求項1記載の半導体集積回路。
【請求項3】
前記ロジック組み込み自己テスト制御部は、
前記ロジック回路のスキャンパスにN(Nは1以上の整数)番目のパターンを与えて組み込み自己テストを行っている最中に、前記デバイス回路組み込み自己テスト回路が前記デバイス回路の組み込み自己テストを開始する時、低消費電力モードに入り、
前記低消費電力モードに入る時点で、前記ロジック回路の前記スキャンパスに対し、前記スキャンパス上に存在する前記N番目のテスト結果パターンのシフト出力及びこれに続くN+1番目のパターンのシフト入力を完了させ、前記パターン生成器に対し、前記低消費電力モードに入る直前のデータ保持状態を維持させ、前記パターンに替えて固定値を生成させ、前記パターン圧縮器に対し、前記低消費電力モードに入る直前のデータ保持状態を維持させて圧縮動作を停止させ、
前記デバイス回路組み込み自己テスト回路が前記デバイス回路の組み込み自己テストを終了する時、低消費電力モードを終了し、前記パターン生成器に前記N+1番目に続くN+2番目のパターンを生成させて前記スキャンパスに入力させ、その後前記パターン圧縮器に圧縮動作を再開させてシフト出力の圧縮を続行させることを特徴とする請求項1又は2記載の半導体集積回路。
【請求項4】
前記ロジック組み込み自己テスト回路として、少なくとも第1のロジック組み込み自己テスト回路と第2のロジック組み込み自己テスト回路とを有し、
前記ロジック回路は、少なくとも前記第1のロジック組み込み自己テスト回路により組み込み自己テストが行われる第1のロジック回路部と、少なくとも前記第2のロジック組み込み自己テスト回路により組み込み自己テストが行われる第2のロジック回路部とを有し、
前記デバイス回路の組み込み自己テスト回路として、少なくとも第1のメモリ組み込み自己テスト回路と第2のメモリ組み込み自己テスト回路とを有し、
前記デバイス回路は、少なくとも前記第1のメモリ組み込み自己テスト回路により組み込み自己テストが行われる第1のメモリ部と、少なくとも前記第2のメモリ組み込み自己テスト回路により組み込み自己テストが行われる第2のメモリ部とを有し、
さらに、前記第1のロジック組み込み自己テスト回路、前記第2のロジック組み込み自己テスト回路、前記第1のメモリ組み込み自己テスト回路及び前記第2のメモリ組み込み自己テスト回路のそれぞれの組み込み自己テスト動作の手順を制御するテスト順序制御回路を備え、
前記テスト順序制御回路は、
前記第1及び第2を含む全てのロジック組み込み自己テスト回路を前記低消費電力モードに設定し、
前記第1のメモリ組み込み自己テスト回路に前記第1のメモリ部に第1のデータを書き込ませて保持動作を開始させ、前記第2以降のメモリ組み込み自己テスト回路に前記第2以降それぞれのメモリ部に順次前記第1のデータを書き込ませて保持動作を開始させ、全てのメモリ組み込み自己テスト回路が保持状態に移行した後、
前記第1のロジック組み込み自己テスト回路の前記低消費電力モードを終了させ、前記第1のロジック組み込み自己テスト回路に前記第1のロジック回路部に組み込み自己テストを実行させ、その実行中に、前記第1のメモリ部の保持期間が終了した場合は、前記第1のロジック組み込み自己テスト回路は前記低消費電力モードに入り、前記第1のメモリ組み込み自己テスト回路に前記第1のメモリ部から前記第1のデータを読み出させ、前記第2以降のメモリ組み込み自己テスト回路に前記第2以降のメモリ部から前記第1のデータを順次読み出させ、第1のメモリ保持試験を終了させ、第2以降のメモリ保持試験を同様の順で行い、
メモリ保持試験の保持状態中に第1のロジック組み込み自己テストが終了した場合には前記第2のロジック組み込み自己テスト回路の前記低消費電力モードを終了させ、前記第2のロジック組み込み自己テスト回路に前記第2のロジック回路部に組み込み自己テストを実行させ、以降全てのロジック組み込み自己テストを順次実行することを特徴とする請求項1乃至3のいずれかに記載の半導体集積回路。
【請求項5】
半導体集積回路に含まれるメモリの構成情報に基づいて、前記メモリの組み込み自己テスト回路の回路情報を生成するメモリ組み込み自己テスト回路生成装置と、
前記半導体集積回路に含まれるロジック回路の情報に基づいて、前記ロジック回路の組み込み自己テスト回路の回路情報を生成するロジック組み込み自己テスト回路生成装置と、
前記メモリの組み込み自己テスト回路の回路情報と、前記ロジック回路の組み込み自己テスト回路の回路情報と、前記半導体集積回路のテスト条件およびテスト時の消費電力制約条件とに基づいて、前記消費電力制約条件を満たすように、テストの順序制御を行うテスト順序制御回路の回路情報を生成するテスト順序制御回路生成装置と、
前記半導体集積回路の回路情報を与えられ、この回路情報に、前記メモリの組み込み自己テスト回路の回路情報と、前記ロジック回路の組み込み自己テスト回路の回路情報と、前記テスト順序制御回路の回路情報とを加えることで、前記半導体集積回路に、前記メモリの組み込み自己テスト回路と、前記ロジック回路の組み込み自己テスト回路と、前記テスト順序制御回路とを挿入した回路情報を出力するテスト回路挿入装置と、
を備えることを特徴とする半導体集積回路の設計装置。
【請求項1】
クロックを与えられて動作するロジック回路と、
前記ロジック回路に組み込み自己テストを行うため、前記ロジック回路に入力すべきパターンを生成するパターン生成器と、前記ロジック回路が前記パターンを与えられて出力したデータを与えられて圧縮しその結果を出力するパターン圧縮器と、前記パターン生成器及び前記パターン圧縮器の動作を制御し、前記ロジック回路におけるスキャンパスが前記パターンを与えられてシフトする動作を制御するロジック組み込み自己テスト制御部とを有するロジック組み込み自己テスト回路と、
前記クロックを与えられて動作するデバイス回路と、
前記デバイス回路に組み込み自己テストを行うデバイス回路組み込み自己テスト回路と、
を備え、
前記デバイス回路組み込み自己テスト回路が前記デバイス回路に組み込み自己テストを行う間、前記ロジック組み込み自己テスト回路は低消費電力モードに設定され、前記パターン生成器は、前記ロジック組み込み自己テスト回路が低消費電力モードに入る直前におけるデータの保持状態を維持し前記パターンに替えて固定値を生成して前記ロジック回路に入力し、前記パターン圧縮器は、前記ロジック組み込み自己テスト回路が低消費電力モードに入る直前におけるデータの保持状態を維持し圧縮動作を停止することを特徴とする半導体集積回路。
【請求項2】
前記パターン生成器は、直列に配置された複数段の第1のレジスタと、
前記第1のレジスタの各々の入力側に設けられ、第1の制御信号に基づいて、対応する当該第1のレジスタの前段に配置された第1のレジスタ側からの出力と当該第1のレジスタからの出力とのいずれか一方を選択して当該第1のレジスタの入力に与える第1のマルチプレクサと、
複数段の前記第1のレジスタのうちの所定のものの出力側にそれぞれ配置され、対応する当該第1のレジスタからの出力と、最終段の前記第1のレジスタからの出力とを与えられて第1の論理演算を行って第1の演算結果を出力し、当該第1のレジスタの後段に配置された第1のレジスタの入力側に設けられた前記第1のマルチプレクサに前記第1のレジスタ側からの出力としてそれぞれ出力する第1の論理演算素子と、
前記第1のレジスタの各々に対応して設けられ、前記第1の制御信号と、対応する当該第1のレジスタからの出力とを与えられて第2の論理演算を行って第2の演算結果をそれぞれ出力する第2の論理演算素子とを含み、
前記第1の制御信号が前記低消費電力モードに対応する場合、
前記第1のマルチプレクサの各々は、対応する当該第1のレジスタからの出力を選択して当該第1のレジスタの入力にフィードバックして与え、
前記第2の論理演算素子の各々は、固定された値を出力し、
前記パターン圧縮器は、直列に配置された複数段の第2のレジスタと、
前記第2のレジスタの各々の入力側に設けられ、第2の制御信号に基づいて、対応する当該第2のレジスタの前段に配置された前記第2のレジスタ側からの出力と当該第2のレジスタからの出力とのいずれか一方を選択して当該第2のレジスタの入力側に与える第2のマルチプレクサと、
所定位置の複数段の前記第2のレジスタの出力側にそれぞれ配置され、対応する当該第2のレジスタからの出力と、最終段の前記第2のレジスタからの出力と、前記ロジック回路からパラレルに出力されたデータのうち対応するものをそれぞれ与えられて第3の論理演算を行って第3の演算結果を出力し、当該第2のレジスタの後段に配置された第2のレジスタの入力側に設けられた前記第2のマルチプレクサに前記第1のレジスタ側からの出力としてそれぞれ出力する第3の論理演算素子とを含み、
前記第2の制御信号が前記低消費電力モードに対応する場合、
前記第2のマルチプレクサの各々は、対応する当該第2のレジスタからの出力を選択して当該第2のレジスタの入力にフィードバックして与えることを特徴とする請求項1記載の半導体集積回路。
【請求項3】
前記ロジック組み込み自己テスト制御部は、
前記ロジック回路のスキャンパスにN(Nは1以上の整数)番目のパターンを与えて組み込み自己テストを行っている最中に、前記デバイス回路組み込み自己テスト回路が前記デバイス回路の組み込み自己テストを開始する時、低消費電力モードに入り、
前記低消費電力モードに入る時点で、前記ロジック回路の前記スキャンパスに対し、前記スキャンパス上に存在する前記N番目のテスト結果パターンのシフト出力及びこれに続くN+1番目のパターンのシフト入力を完了させ、前記パターン生成器に対し、前記低消費電力モードに入る直前のデータ保持状態を維持させ、前記パターンに替えて固定値を生成させ、前記パターン圧縮器に対し、前記低消費電力モードに入る直前のデータ保持状態を維持させて圧縮動作を停止させ、
前記デバイス回路組み込み自己テスト回路が前記デバイス回路の組み込み自己テストを終了する時、低消費電力モードを終了し、前記パターン生成器に前記N+1番目に続くN+2番目のパターンを生成させて前記スキャンパスに入力させ、その後前記パターン圧縮器に圧縮動作を再開させてシフト出力の圧縮を続行させることを特徴とする請求項1又は2記載の半導体集積回路。
【請求項4】
前記ロジック組み込み自己テスト回路として、少なくとも第1のロジック組み込み自己テスト回路と第2のロジック組み込み自己テスト回路とを有し、
前記ロジック回路は、少なくとも前記第1のロジック組み込み自己テスト回路により組み込み自己テストが行われる第1のロジック回路部と、少なくとも前記第2のロジック組み込み自己テスト回路により組み込み自己テストが行われる第2のロジック回路部とを有し、
前記デバイス回路の組み込み自己テスト回路として、少なくとも第1のメモリ組み込み自己テスト回路と第2のメモリ組み込み自己テスト回路とを有し、
前記デバイス回路は、少なくとも前記第1のメモリ組み込み自己テスト回路により組み込み自己テストが行われる第1のメモリ部と、少なくとも前記第2のメモリ組み込み自己テスト回路により組み込み自己テストが行われる第2のメモリ部とを有し、
さらに、前記第1のロジック組み込み自己テスト回路、前記第2のロジック組み込み自己テスト回路、前記第1のメモリ組み込み自己テスト回路及び前記第2のメモリ組み込み自己テスト回路のそれぞれの組み込み自己テスト動作の手順を制御するテスト順序制御回路を備え、
前記テスト順序制御回路は、
前記第1及び第2を含む全てのロジック組み込み自己テスト回路を前記低消費電力モードに設定し、
前記第1のメモリ組み込み自己テスト回路に前記第1のメモリ部に第1のデータを書き込ませて保持動作を開始させ、前記第2以降のメモリ組み込み自己テスト回路に前記第2以降それぞれのメモリ部に順次前記第1のデータを書き込ませて保持動作を開始させ、全てのメモリ組み込み自己テスト回路が保持状態に移行した後、
前記第1のロジック組み込み自己テスト回路の前記低消費電力モードを終了させ、前記第1のロジック組み込み自己テスト回路に前記第1のロジック回路部に組み込み自己テストを実行させ、その実行中に、前記第1のメモリ部の保持期間が終了した場合は、前記第1のロジック組み込み自己テスト回路は前記低消費電力モードに入り、前記第1のメモリ組み込み自己テスト回路に前記第1のメモリ部から前記第1のデータを読み出させ、前記第2以降のメモリ組み込み自己テスト回路に前記第2以降のメモリ部から前記第1のデータを順次読み出させ、第1のメモリ保持試験を終了させ、第2以降のメモリ保持試験を同様の順で行い、
メモリ保持試験の保持状態中に第1のロジック組み込み自己テストが終了した場合には前記第2のロジック組み込み自己テスト回路の前記低消費電力モードを終了させ、前記第2のロジック組み込み自己テスト回路に前記第2のロジック回路部に組み込み自己テストを実行させ、以降全てのロジック組み込み自己テストを順次実行することを特徴とする請求項1乃至3のいずれかに記載の半導体集積回路。
【請求項5】
半導体集積回路に含まれるメモリの構成情報に基づいて、前記メモリの組み込み自己テスト回路の回路情報を生成するメモリ組み込み自己テスト回路生成装置と、
前記半導体集積回路に含まれるロジック回路の情報に基づいて、前記ロジック回路の組み込み自己テスト回路の回路情報を生成するロジック組み込み自己テスト回路生成装置と、
前記メモリの組み込み自己テスト回路の回路情報と、前記ロジック回路の組み込み自己テスト回路の回路情報と、前記半導体集積回路のテスト条件およびテスト時の消費電力制約条件とに基づいて、前記消費電力制約条件を満たすように、テストの順序制御を行うテスト順序制御回路の回路情報を生成するテスト順序制御回路生成装置と、
前記半導体集積回路の回路情報を与えられ、この回路情報に、前記メモリの組み込み自己テスト回路の回路情報と、前記ロジック回路の組み込み自己テスト回路の回路情報と、前記テスト順序制御回路の回路情報とを加えることで、前記半導体集積回路に、前記メモリの組み込み自己テスト回路と、前記ロジック回路の組み込み自己テスト回路と、前記テスト順序制御回路とを挿入した回路情報を出力するテスト回路挿入装置と、
を備えることを特徴とする半導体集積回路の設計装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2007−240414(P2007−240414A)
【公開日】平成19年9月20日(2007.9.20)
【国際特許分類】
【出願番号】特願2006−65503(P2006−65503)
【出願日】平成18年3月10日(2006.3.10)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
【公開日】平成19年9月20日(2007.9.20)
【国際特許分類】
【出願日】平成18年3月10日(2006.3.10)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
[ Back to top ]