(57)【要約】【課題】ＬＳＩのフルスキャン設計において、テスト端子を増加させずに、内部スキャンチェーンの構成を随時変更し、１回のスキャンシフト動作期間の大幅な短縮を行うことで、スキャンテストパターン量の大幅な削減とフルスキャンテスト時間の短縮を可能とする半導体テスト回路及びそのテスト方法を提供する。【解決手段】スキャンチェーンの本数を多く分割してＬＳＩのフルスキャンテストを行う回路であって、外部スキャンイン端子９、外部スキャンアウト端子１０、シフト動作切り替え端子１１及びクロック端子１２を有し、シフト動作切り替え時の特定サイクルを判別する判別回路５、６と、特定サイクルにおける外部スキャンイン端子９から入力される信号のコマンド用データに基づき外部スキャンイン端子９及び外部スキャンアウト端子１０と接続する内部スキャンイン及び内部スキャンアウトを選択する選択回路７、８とを備える。【選択図】        図１
2004226291.tif 000002
【特許請求の範囲】
【請求項１】
スキャンチェーンの本数を外部スキャンイン端子及び外部スキャンアウト端子に制約されることなく多く分割してＬＳＩのフルスキャンテストを行う回路であって、
スキャンテストで使用する外部スキャンイン端子、外部スキャンアウト端子、シフト動作切り替え端子及びクロック端子を有するとともに、シフト動作切り替え時の特定サイクルを判別する判別回路と、シフト動作切り替え時の特定サイクルにおける外部スキャンイン端子から入力される信号のコマンド用データに基づき外部スキャンイン端子及び外部スキャンアウト端子とそれぞれ接続する内部スキャンイン及び内部スキャンアウトを選択する選択回路とを備えることを特徴とする半導体テスト回路。
【請求項２】
複数のフリップフロップからなる機能ブロック部と、シフト動作切り替え端子に入力したシフト動作切り替え信号及びクロック端子に入力した外部クロック信号を元に受け付け信号イベントを出力するコマンド受付サイクル判定部と、テスト信号、外部クロック信号及び受け付け信号イベントを元に選択信号を出力するコマンド解析部と、該選択信号により機能ブロック部と外部スキャンイン端子又は外部スキャンアウト端子との接続を変更するスキャン入力選択部及びスキャン出力選択部とを備える請求項１記載の半導体テスト回路。
【請求項３】
内部スキャンイン及び内部スキャンアウトそれぞれを外部スキャンイン端子及び外部スキャンアウト端子と接続する際に、各スキャンチェーンのスキャンイン信号とスキャンアウト信号をそれぞれ個別に外部スキャンイン端子又は外部スキャンアウト端子と接続する請求項１記載の半導体テスト回路。
【請求項４】
シフト動作切り替え時に判別した特定サイクルにおいては、スキャンイン端子から入力される信号をコマンド用データと認識し、該コマンド用データに基づいて外部スキャンイン端子及び外部スキャンアウト端子に接続されない内部スキャンインを適時必要な回路に接続させる請求項１記載の半導体テスト回路。
【請求項５】
スキャンチェーンの本数を外部端子に制約されることなく多く分割してＬＳＩのフルスキャンテストを行う方法であって、
シフト動作切り替え時の特定サイクルを判別し、シフト動作切り替え時の特定サイクルにおける外部スキャンイン端子から入力される信号のコマンド用データに基づき外部スキャンイン端子及び外部スキャンアウト端子とそれぞれ接続する内部スキャンイン及び内部スキャンアウトを選択することを特徴とする半導体テスト方法。
【請求項６】
テストパターン生成の最初の部分は、すべてのスキャンフリップフロップを接続する回路構成とし、ある程度の故障検出率まで獲得し、その後は故障検出率を向上させるのに必要な一部のスキャンフリップフロップだけを使用し、短いテストパターンで故障検出率を得る請求項５記載の半導体テスト方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体テスト回路及びそのテスト方法であり、特にＬＳＩのフルスキャンテスト回路及びそのテスト方法に関する。
【０００２】
【従来の技術】
近年、半導体プロセスの微細化に伴い、ロジックＬＳＩは回路が大規模化しており、数百万ゲートのロジックＬＳＩが設計されるようになっている。このような、ロジックＬＳＩを出荷時にテストしようとすると、テストパターンの開発期間が長期化、また実際の量産テストで使用するテストパターン量やテスト時間が膨大となり、テストコストが増大する。そこで、ロジックＬＳＩのテストコストを縮小するために、テスト容易化設計が一般的に採用される。
【０００３】
テスト容易化設計の手法として代表的なものに、フルスキャン設計がある。フルスキャン設計では、回路内部のフリップフロップをスキャン機能付きのスキャンフリップフロップに置き換えて、外部ピンから内部のフリップフロップを直接制御・観測できる経路であるスキャンチェーンを、各スキャン機能付きフリップフロップをシリアルに接続したシフトレジスタで構成する。またテスト時に順序回路をすべて組み合わせ回路として取り扱えるように構成する。このように構成することで、ロジックＬＳＩのテストが非常に容易となる。
【０００４】
フルスキャンテスト回路の例を示す。フルスキャン回路は、通常のフリップフロップを図１１に示すようなスキャン用フリップフロップ１００に変更する。図１１のスキャンフリップ１００は、ＭＵＸタイプと呼ばれるもので、フリップフロップ１０１のＤ入力部分にマルチプレクサ１０２を挿入し、シフトデータ端子ＳＩＮとマルチプレクサ切り替え端子ＳＭＣを追加した構造となっている。
【０００５】
図１２は、回路１０３中の通常のフリップフロップをスキャンフリップフロップに置き換え、フルスキャン設計を実施した回路の概念図である。スキャンフリップフロップ１０４ａ，１０４ｂ，１０４ｃは、図１１に示すものと同じ回路構成となっている。スキャン接続は、外部スキャンイン端子１０６ａから、スキャンフリップフロップ１０４ａのＳＩＮ端子に接続され、Ｑ出力から、次のスキャンフリップ１０４ｂに接続される。同様に、スキャンフリップフロップ１０４ｃに接続し、最後に外部スキャンアウト端子１０７ａへ接続されスキャンチェーンが構成される。また、外部スキャンイン端子１０６ｂから、スキャンアウト端子１０７ｂ、外部スキャンイン端子１０６ｃから、スキャンアウト端子１０７ｃについても、同様の接続がされる。本概念図では、計３本のスキャンチェーンが作られている。さらに、スキャンテストで行われるシフト動作とキャプチャー動作をコントロールするため、シフト動作切り替え端子１０８が追加され、すべてのスキャンフリップフロップのＳＭＣ端子へ供給される。クロック端子１０９は、スキャン前の回路にもありそのまま利用する。図１２の場合、スキャンチェーンの長さは３であるが、実際は回路中のすべてのフリップフロップ数を使用できるスキャン入出力端子数で割ったものとなる。たとえば、フリップフロップ数が９００ヶ、使用できるスキャン入力端子３本、スキャン出力端子３本であったとすると、１本のチェーンの長さは３００となる。本回路構成にて、ＬＳＩ回路１０３のスキャンフリップフロップ１０４と組み合わせ回路１０５のテストが実施される。
【０００６】
【特許文献１】
特開平９−５４０３号公報
【特許文献２】
特開２０００−２５８５００号公報
【０００７】
【発明が解決しようとする課題】
フルスキャンのテストでは、シフト動作を行ってスキャンフリップフロップへの状態設定と動作後の値の読み出しを行うため、テストパターン長が非常に長くなってしまうという問題がある。テストパターンの長さは、回路規模の増大に比例して増えていくため、ロジックＬＳＩの回路規模が大きいと、ロジックＬＳＩテスタのテストパターンメモリを大量に消費し、またフルスキャンテスト時間も長くなるためテストコストを増加させる主原因となってしまう。テストパターンを短くする工夫として、一般的にスキャンチェーンの本数を増やすことで、シフト動作に必要なテストパターンサイクル数を減らすことが、実施されている。しかしながら、外部端子数は通常制限があるためスキャンチェーン数は、２０〜３０本程度が限界の場合が多い。さらなるスキャンシフトサイクル数を削減する方法として、特許文献１の「半導体集積回路」で提案されているものとして、スキャンチェーンの途中にバイパス信号線を追加し、モードを切り替えることでスキャンシフト動作サイクルを短縮するものがある。本手法では、スキャンイン端子とスキャンアウト端子が固定され、スキャンフリップフロップをバイパスするテストモードを追加して方式のため、テストパターン生成時の自由度が小さい事、テストモード切り替え端子が増加してしまう問題がある。また、特許文献２の「半導体集積回路及び記録媒体」で提案されている方法は、複数のスキャンチェーンを並列に接続し、同一のスキャン入力信号が回路に与えられ、スキャン出力は、ＸＯＲによる圧縮方式をとっており、本方式においても、シフト動作数を削減することを目的としている。本回路の問題は、並列化されるスキャンチェーンが固定されてしまうことで、テストパターン短縮効果が十分に得られないことがある。また、スキャン出力はＸＯＲ方式による圧縮を実施しているため、回路中に不定信号が発生すると、最終出力も不定となってしまい高故障検出率が得られないケースもある。さらに、本発明においても、テストモードを切り替える端子は、別途必要となると考えられる。
【０００８】
本発明は、ＬＳＩのフルスキャン設計において、テスト端子を増加させずに、内部スキャンチェーンの構成を随時変更し、１回のスキャンシフト動作期間の大幅な短縮を行うことで、スキャンテストパターン量の大幅な削減とフルスキャンテスト時間の短縮を可能とする半導体テスト回路及びそのテスト方法を提供することを目的とする。
【０００９】
【問題を解決するための手段】
本発明は、スキャンチェーンの本数を外部スキャンイン端子及び外部スキャンアウト端子に制約されるされることなく多く分割してＬＳＩのフルスキャンテストを行う回路であって、スキャンテストで使用する外部スキャンイン端子、外部スキャンアウト端子、シフト動作切り替え端子及びクロック端子を有するとともに、シフト動作切り替え時の特定サイクルを判別する判別回路と、シフト動作切り替え時の特定サイクルにおける外部スキャンイン端子から入力される信号のコマンド用データに基づき外部スキャンイン端子及び外部スキャンアウト端子とそれぞれ接続する内部スキャンイン及び内部スキャンアウトを選択する選択回路とを備える半導体テスト回路である。
【００１０】
また、本発明は、複数のフリップフロップからなる機能ブロック部と、シフト動作切り替え端子に入力したシフト動作切り替え信号及びクロック端子に入力した外部クロック信号を元に受け付け信号イベントを出力するコマンド受付サイクル判定部と、テスト信号、外部クロック信号及び受け付け信号イベントを元に選択信号を出力するコマンド解析部と、該選択信号により機能ブロック部と外部スキャンイン端子又は外部スキャンアウト端子との接続を変更するスキャン入力選択部及びスキャン出力選択部とを備える半導体テスト回路である。
【００１１】
そして、本発明は、内部スキャンイン及び内部スキャンアウトそれぞれを外部スキャンイン端子及び外部スキャンアウト端子と接続する際に、各スキャンチェーンのスキャンイン信号とスキャンアウト信号をそれぞれ個別に外部スキャンイン端子又は外部スキャンアウト端子と接続する半導体テスト回路である。
【００１２】
更に、本発明は、シフト動作切り替え時に判別した特定サイクルにおいては、スキャンイン端子から入力される信号をコマンド用データと認識し、該コマンド用データに基づいて外部スキャンイン端子及び外部スキャンアウト端子に接続されない内部スキャンインを適時必要な回路に接続させる半導体テスト回路である。
【００１３】
また、本発明は、スキャンチェーンの本数を外部端子に制約されることなく多く分割してＬＳＩのフルスキャンテストを行う方法であって、シフト動作切り替え時の特定サイクルを判別し、シフト動作切り替え時の特定サイクルにおける外部スキャンイン端子から入力される信号のコマンド用データに基づき外部スキャンイン端子及び外部スキャンアウト端子とそれぞれ接続する内部スキャンイン及び内部スキャンアウトを選択する半導体テスト方法である。
【００１４】
そして、本発明は、テストパターン生成の最初の部分は、すべてのスキャンフリップフロップを接続する回路構成とし、ある程度の故障検出率まで獲得し、その後は故障検出率を向上させるのに必要な一部のスキャンフリップフロップだけを使用し、短いテストパターンで故障検出率を得る半導体テスト方法である。
【００１５】
【発明の実施の形態】
本発明の実施の形態を説明する。
図１に、本発明の実施の一形態によるフルスキャンテスト回路の構成を示す。図１は、ＬＳＩ回路１の中に、本来のＬＳＩの機能を実現した機能回路ブロック２と、スキャン入力選択回路７とスキャン出力選択回路８と、コマンド受付サイクル判定部６とコマンド解析部５から構成される。機能回路ブロック２では、機能ブロック設計後フリップフロップをスキャンフリップフロップ３に置き換え、それぞれのスキャンフリップフロップをシリアル接続したスキャンチェーン４の構成に変換した後の回路となっている。このときのスキャンチェーンの本数は、従来よりも数倍多くし、チェーン１本の長さは従来よりも短くしている。スキャン入力選択部７は、機能回路ブロック２の各スキャンチェーンの入力部分をコマンド解析部５から出される選択信号に従って、内部スイッチにより接続処理されるものである。この時、スキャンチェーンの一部分はＬＳＩ回路の外部端子であるスキャン入力端子９ａ，９ｂ，９ｃに接続される。また、それ以外のスキャンチェーンの入力部分は、スキャン入力選択部内にある回路と接続される。スキャン出力選択部８は、機能回路ブロック２の各スキャンチェーンの出力部分をコマンド解析部５から出される選択信号に従って、内部スイッチにより接続処理されるものである。この時、スキャンチェーンの一部分はＬＳＩ回路の外部端子であるスキャン出力端子１０ａ，１０ｂ，１０ｃに接続される。コマンド解析部５は、コマンド受け付けサイクル判定部６からの受付信号イベントが来た時、スキャン入力端子９ａ，９ｂ，９ｃから入力される信号をコマンドとして取り込み、あらかじめ設計者によって接続内容を決定されたコマンドと照らし合わせを行い、スキャン入力選択部７とスキャン出力選択部８に選択信号を送る。コマンド受付サイクル判定部６は、シフト動作切り替え端子１１の信号と外部ＣＬＫ１２の信号を元に、コマンドが来るタイミングを判定し、コマンド解析部へ受け付け信号イベントを発行する。たとえば、シフト動作切り替え信号１１が、キャプチャー状態からシフト状態に切り替わった瞬間の１サイクルは、コマンド受付サイクルと定義した場合について、図２のタイミングチャートを用いて説明する。図２のシフト動作切り替え信号は、”１“でスキャンフリップフロップがシフトモード、”０“でスキャンフリップフロップがキャプチャーモードとなるとすると、第１番目のサイクル（１）はキャプチャー動作となる。第２番目のサイクル（２）では、シフト動作切り替え端子が”１“へ変化し、コマンド受付サイクル判定部６で、コマンド入力と判定され、コマンド解析部５へ受付信号イベントが発行され、スキャン入力端子のデータをコマンドとして認識する。コマンドは、コマンド解析部５で処理され、スキャン入力選択部７とスキャン出力判定部８の接続をコマンドに従って変更する。次のサイクル（３）では、スキャン入力端子より、スキャンフリップフロップでセットされる一番目のデータが入力される。同様に、サイクル（４）では、スキャンフリップフロップにセットされる２番目のデータが入力され、サイクル（ｎ）まで同様にスキャンフリップフロップへセットされるデータが順次入力される。最後まで、スキャンデータが入力されると、サイクル（ｎ＋１）でシフト動作切り替え端子より”０“が入力され、スキャン回路でキャプチャー動作が行われる。サイクル（ｎ＋２）以降は、同様にコマンド入力サイクル、シフトデータ入力が繰り返される。本例では、スキャン入力端子が３本であるので、コマンドの種類は２の３乗の８通りを実現できる。一般的には、スキャン入力端子は１０本以上あるため、２の１０乗以上のコマンドを使用できる。また、本例ではコマンド入力サイクルは１サイクルとしているが、複数サイクルとすれば、さらに、コマンド数を増加させることができる。
【００１６】
実際のコマンド実施例について説明する。一例として、図３のコマンド表のケースでは、３ｂｉｔでコマンドを表しており、８種類のコマンドを作成できるが、例としては、３種類を規定している。コマンド０００は、内部スキャンチェーン９本中、スキャン入力の▲１▼▲５▼▲８▼の３本を外部スキャン入力端子と接続し、その他の内部スキャン入力端子▲２▼▲４▼▲６▼▲７▼を“０”入力、▲３▼▲９▼を“１”入力とするものである。また、内部スキャン出力の▲２▼▲６▼▲８▼の３本を外部スキャン出力端子と接続するものである。実際の回路構造は、図４に示すように接続される。図４のスキャン入力選択部、スキャン出力選択部では、直接回路が接続されているが、実際にはトランジスタで構成されるスイッチにより、接続されている。同様に、図３のコマンド００１は、スキャン入力の▲１▼▲２▼▲９▼の３本を外部スキャン入力端子と接続し、その他の内部スキャン入力端子▲３▼▲４▼▲５▼▲６▼▲７▼▲８▼には、スキャン入力選択部にあらかじめ組み込んでおいた擬似乱数発生回路であるＬＦＳＲ（Ｌｉｎｅａｒ  Ｆｅｅｄｂａｃｋ  Ｓｈｉｆｔ  Ｒｅｇｉｓｔｅｒ）と接続する。スキャン出力の▲１▼▲３▼▲９▼の３本を外部スキャン出力端子と接続するものである。ＬＦＳＲを使用することで、フルスキャンテスト時にはランダムな信号値を入力することが可能となる。本構成の回路は、図５に示すように接続される。
【００１７】
さらに、図３のコマンド０１０について説明する。本コマンドはスキャンチェーン▲１▼の内部スキャンアウトとスキャンチェーン▲２▼の内部スキャンインを接続し、また、スキャンチェーン▲２▼の内部スキャンアウトとスキャンチェーン▲３▼の内部スキャンインを接続し、３本のスキャンチェーンを１本のスキャンチェーン構造とする。そして、内部スキャンチェーン▲１▼のスキャン入力端子を外部スキャン入力端子と接続し、内部スキャンチェーン▲３▼のスキャンアウト端子を外部スキャンアウト端子と接続する。同様に、スキャンチェーン▲４▼▲５▼▲６▼、スキャンチェーン▲７▼▲８▼▲９▼についても３本のスキャンチェーンを１本化し、おのおのの内部スキャンイン端子、スキャンアウト端子を外部スキャンイン端子とスキャンアウト端子と接続する。本構成の回路は、図６のように接続される。本構成の回路を実現することで、従来の方法であるすべてスキャンフリップフロップをシリアル接続し、外部端子と接続する方法と全く同一の機能を有する回路も一つのコマンドを割り当てることで可能となる。図３に示すコマンド例では３種類のみしか定義していないが、実際にはより多くの組み合わせを定義する。
【００１８】
次に本スキャンテスト回路を使用した、スキャンテスト方法の一例について説明する。まず、一般的なフルスキャン手法における故障検出率とテストパターンの関係を図７に示す。フルスキャンテストでは、テストパターンの前半部分では、故障検出率が急激に上がり、効率的にテストが実施されるが、反面テストパターンの後半部分になると故障検出率のカーブは非常に緩やかになり、効率的に故障検出率を上げられていないことが判っている。また、このとき使用される回路内部のスキャンフリップフロップ数とテストパターンの関係を図８に示す。故障検出率が急激に上がる前半部分では、回路内のスキャンフリップフロップの使用数は大きいが、パターン後半では使用されるスキャンフリップの数は少なくなる。
【００１９】
本特徴を利用し、本発明のスキャンテスト回路を用いた、スキャンテストの実施方法の一例について説明する。本手法では、テストパターンの前半部分は従来と同様、すべてのスキャンフリップを使用してテストパターンを生成し、ある一定基準に故障検出率が達した後は、一部のスキャンチェーンだけでテストパターン生成を行うことで、トータルのテストパターンを短縮するものである。
【００２０】
さらに、具体的な方法について、図９のフローチャートを用いて説明する。まず、Ｓ１においては複数のスキャンチェーンを１本化し、すべてのスキャンフリップフロップを使用する図６になるテストコマンドを設定する。Ｓ２において、スキャンテストパターンの生成を行い、故障検出率を算出する。Ｓ３において、故障検出率が９５％に達したかどうかを判定し、未達成の場合は、Ｓ１に戻りテストパターンを追加生成する。故障検出率９５％以上となった時、Ｓ４へ移る。Ｓ４では、図４や図５にあるようなスキャンチェーンの一部を外部に引き出すテストコマンドを設定する。Ｓ５においても、スキャンテストパターンの生成を行い、故障検出率を算出する。Ｓ６において、故障検出率が９９％以上かを判定し、未達成の場合は、Ｓ４に戻りテストパターンを追加生成する。故障検出率が９９％を超えた時点で、処理を完了する。
【００２１】
本手法で生成されたテストパターンの長さについて、図１０を用いて従来手法との差を説明する。本例においては、すべてのスキャンフリップフロップを使用した時のスキャンチェーン１本の長さが９００ステップ、スキャンチェーンの一部を使用した時のスキャンチェーンの長さが３００ステップであったとする。従来のフルスキャンテスト手法では、すべてのスキャンテストにおいて、９００ステップが必要になり、４回のテストで３６００ステップとなる。一方、本発明例でテストパターンを作成した場合、各テストサイクルの先頭にコマンド受付サイクルとして１サイクル必要となり、複数のスキャンチェーンを接続したときのテストパターンサイクルは９０１ステップ、一部のスキャンチェーンを使用するときは、３０１ステップとなる。図１０において、複数のスキャンチェーンを接続したテストを２回実施し、その後、一部のスキャンチェーンを使用したテストを６回しても、トータルのテストステップ数は、３６０８ステップなる。よって、本手法では従来より多くのテストパターンを短いテストステップで実行することが可能となる。
【００２２】
【発明の効果】
本発明によれば、ＬＳＩのフルスキャン設計において、テスト端子を増加させずに、内部スキャンチェーンの構成を随時変更し、１回のスキャンシフト動作期間の大幅な短縮を行うことで、スキャンテストパターン量の大幅な削減とフルスキャンテスト時間の短縮を可能とする半導体テスト回路及びそのテスト方法を得ることができる。
【図面の簡単な説明】
【図１】本発明実施形態に係るスキャンテスト回路の概略構成を示した図。
【図２】本発明スキャンテスト回路を動作させたときのタイミングチャート例の説明図。
【図３】本発明におけるテストコマンドの一例の説明図。
【図４】スキャン回路構造の一例を示す第１番目の図。
【図５】スキャン回路構造の一例を示す第２番目の図。
【図６】スキャン回路構造の一例を示す第３番目の図。
【図７】一般的なフルスキャン方式のテストパターン数と故障検出率の関係を表したグラフの図。
【図８】一般的なフルスキャン方式のテストパターン数と必要となる回路内スキャンフリップフロップ数の関係を表したグラフの図。
【図９】本発明におけるスキャンテスト手法の一例を示すフローチャートの図。
【図１０】テストパターンの内容を示す図。
【図１１】スキャンフリップフロップの構造を示す図。
【図１２】一般的なフルスキャン設計された回路概念図。
【符号の説明】
１  ＬＳＩ回路
２  機能ブロック
３  スキャンフリップフロップ
４  スキャンチェーン
５  コマンド解析部
６  コマンド受付サイクル判定部
７  スキャン入力選択部
８  スキャン出力選択部
９ａ，ｂ，ｃ  スキャンイン端子
１０ａ，ｂ，ｃ  スキャンアウト端子
１１  シフト動作切り替え端子
１２  クロック端子
１００  スキャンフリップフロップ
１０１  フリップフロップ
１０２  マルチプレクサ
１０３  ＬＳＩ回路
１０４  スキャンフリップフロップ
１０５  組み合わせ回路
１０６  スキャン入力端子
１０７  スキャン出力端子
１０８  シフト動作切り替え端子
１０９  クロック端子
【図１】
2004226291.tif 000003
【図２】
2004226291.tif 000004
【図３】
2004226291.tif 000005
【図４】
2004226291.tif 000006
【図５】
2004226291.tif 000007
【図６】
2004226291.tif 000008
【図７】
2004226291.tif 000009
【図８】
2004226291.tif 000010
【図９】
2004226291.tif 000011
【図１０】
2004226291.tif 000012
【図１１】
2004226291.tif 000013
【図１２】
2004226291.tif 000014