(57)【要約】【課題】  テスト応答解析器において見逃されるエラーを求めるにあたり、膨大な計算量を要するシミュレーションを必要とせず、一定の手順により数学的にエラーを探索する方法を提供する。【解決手段】  テスト応答パターン１０４において、ビット位置ｉの論理値が０であれば論理変数ｄｉで置換し、ビット位置ｊの論理値が１であれば論理変数／ｄｊで置換する。ここで／は論理反転を意味する。テスト応答解析器における圧縮データパターン１０７をこれらの論理変数ｄを用いて表すと、論理変数ｄが満足すべき条件式が得られる。これを解いて「すべてのｄｉが０」以外の解を求めると、それぞれの解がテスト応答パターン１０４中のエラー発生パターンに対応している。【選択図】  図１
2006220483.tif 000002
【特許請求の範囲】
【請求項１】
テストパターンを発生するテストパターン発生器と、
前記テストパターンを入力とし、内部回路動作を経てテスト応答パターンを出力する被テスト回路と、
前記テスト応答パターンを入力とし、前記テスト応答パターンの情報をより少ないビット数によって表現し、圧縮データパターンとして出力する情報圧縮手段と、前記圧縮データパターンと予め用意された期待値データパターンを比較した結果を前記被テスト回路の良否判定結果として出力するパターン比較手段からなるテスト応答解析器とを含む自己テスト機能を備えた半導体集積回路において、
前記テスト応答パターン中にエラーが存在するときに、前記情報圧縮手段における情報圧縮の過程で前記エラーの影響が消失し、前記圧縮データパターンが前記期待値パターンと同一になることにより、前記テスト応答解析器において見逃される前記エラーの候補を探索する方法であって、
前記テスト応答パターンの各ビットデータの論理値に対して、
全ての論理値０を、前記テスト応答パターン中のビット位置の属性を持つ論理変数により置換し、
全ての論理値１を、前記テスト応答パターン中のビット位置の属性を持つ前記論理変数を用いて、論理値０の場合に対する論理反転の属性を付加して置換する第１の手順と、
前記情報圧縮手段の回路動作に応じて前記圧縮データパターンを前記論理変数を用いて表し、
前記圧縮データパターンと前記期待値データパターンが一致することに基づき、前記論理変数が満足すべき条件式を得る第２の手順と、
前記条件式を解いて前記論理変数が全て０である場合以外の解を求めることにより、前記テスト応答パターン中に含まれる前記エラーを求める第３の手順とを含む自己テスト回路のテスト応答エラー探索方法。
【請求項２】
請求項１記載の自己テスト回路のテスト応答エラー探索方法により求められた前記テスト応答解析器が見逃す前記エラーの数と、
前記テスト応答パターンの取り得る全状態数を用いて、
前記テスト応答解析器が見逃す前記エラーの割合を算出し、前記テスト応答解析器の評価指標とすることを特徴とする自己テスト回路のテスト応答エラー検出能力評価方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の組込み型自己テスト（ＢＩＳＴ；Ｂｕｉｌｔ  Ｉｎ  Ｓｅｌｆ  Ｔｅｓｔ）回路のテスト応答エラー探索方法およびテスト応答エラー検出能力評価方法に関するものである。
【背景技術】
【０００２】
近年、半導体プロセスの微細化の進歩により、半導体集積回路の大規模化、多機能・複合機能化などの技術変化が急激に起こっており、品質向上のためテスト技術がますます重要になっている。テストパターン作成工数の削減やテスト時間短縮のため、スキャンテストなどのテスト容易化設計が広く使用されるようになり、さらなる工数削減を目指して論理回路の組込み型自己テストが研究されている。
【０００３】
一般に、論理回路の組込み型自己テスト回路では、被テスト回路が出力する長大なビット数のテスト応答パターンを全ビットで期待値との比較を行うことが困難なため、線形フィードバックシフトレジスタ（ＬＦＳＲ；Ｌｉｎｅａｒ  Ｆｅｅｄｂａｃｋ  Ｓｈｉｆｔ  Ｒｅｇｉｓｔｅｒ）や多入力シグネチャレジスタ（ＭＩＳＲ；Ｍｕｌｔｉ−Ｉｎｐｕｔ  Ｓｉｇｎａｔｕｒｅ  Ｒｅｇｉｓｔｅｒ）などの情報圧縮手段により圧縮し、より少ないビット数にて期待値との比較を行う。
【０００４】
一方で、上記の圧縮操作により、テスト応答パターンの複数のビットパターンが１つの圧縮結果に対応するようになる。これは、被テスト回路の故障の影響でテスト応答パターンにエラーが存在するにもかかわらず、圧縮結果が期待値と同一のパターンになり、エラーが見逃される場合があるということを意味する。結果として、被テスト回路に故障を含む不良品を誤って良品と判定するため、製品の品質低下につながる。
【０００５】
そこで、自己テスト回路の設計段階において、上記のようにテスト応答パターン中のエラーがどの程度の確率で見逃されるかを定量的に評価し、製品に要求される品質レベルを満足させる必要がある。
【０００６】
テスト応答パターン中のエラーが圧縮操作の過程で見逃されるかどうかを確認する方法としては、エラーを設定したテスト応答パターンを作成してシミュレーションを実行し、圧縮結果が期待値と一致するかどうかを確認するというものがある。
【０００７】
上記の方法は、通常、故障シミュレータを使用して、被テスト回路に故障を設定した故障シミュレーションとして実行され、故障検出率が算出される。故障シミュレーションは被テスト回路の規模の増大に伴い計算量が膨大となるため、被テスト回路を機能ブロックごと等の小ブロックに分割してシミュレーションを実行するなどの工夫が取られている（例えば、特許文献１参照）。
【特許文献１】特許第３１５１７８７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、前記の従来技術では、被テスト回路の規模の増大とともに計算量も膨大となるため、分割による規模の縮小にも限度がある。また、被テスト回路の故障がテスト応答パターン中にエラーとして現れるかどうかという点と、圧縮操作の過程でテスト応答パターン中のエラーが見逃されるかどうかという点が明確に切り分けられていないため、故障検出率が低い場合に対する原因究明が困難である。
【０００９】
これに対して、情報圧縮手段の部分のみを取り出し、テスト応答パターン中のエラーが圧縮操作の過程で見逃されるかどうかをシミュレーションにより確認する方法が考えられる。しかし、テスト応答パターンが長大なビット数からなる場合、実行すべきシミュレーションの回数が膨大なものとなり、多大な工数を必要とする。
【００１０】
したがって、この発明の目的は、以上のような問題点を解消するためになされたものであり、被テスト回路内の故障の影響によりテスト応答パターンにエラーが存在するにもかかわらず、圧縮操作の結果が期待値と同一のパターンになり、見逃されてしまうエラーを数学的に探索することができ、さらに、上記の探索方法を用いて、圧縮操作の過程で見逃されてしまうエラーの定量的な評価を行うことにより、テスト応答解析器のエラー検出能力の評価を行う自己テスト回路のテスト応答エラー探索方法およびテスト応答エラー検出能力評価方法を提供することである。
【課題を解決するための手段】
【００１１】
上記課題を解決するために本発明の請求項１記載の自己テスト回路のテスト応答エラー探索方法は、テストパターンを発生するテストパターン発生器と、前記テストパターンを入力とし、内部回路動作を経てテスト応答パターンを出力する被テスト回路と、前記テスト応答パターンを入力とし、前記テスト応答パターンの情報をより少ないビット数によって表現し、圧縮データパターンとして出力する情報圧縮手段と、前記圧縮データパターンと予め用意された期待値データパターンを比較した結果を前記被テスト回路の良否判定結果として出力するパターン比較手段からなるテスト応答解析器とを含む自己テスト機能を備えた半導体集積回路において、前記テスト応答パターン中にエラーが存在するときに、前記情報圧縮手段における情報圧縮の過程で前記エラーの影響が消失し、前記圧縮データパターンが前記期待値パターンと同一になることにより、前記テスト応答解析器において見逃される前記エラーの候補を探索する方法であって、前記テスト応答パターンの各ビットデータの論理値に対して、全ての論理値０を、前記テスト応答パターン中のビット位置の属性を持つ論理変数により置換し、全ての論理値１を、前記テスト応答パターン中のビット位置の属性を持つ前記論理変数を用いて、論理値０の場合に対する論理反転の属性を付加して置換する第１の手順と、前記情報圧縮手段の回路動作に応じて前記圧縮データパターンを前記論理変数を用いて表し、前記圧縮データパターンと前記期待値データパターンが一致することに基づき、前記論理変数が満足すべき条件式を得る第２の手順と、前記条件式を解いて前記論理変数が全て０である場合以外の解を求めることにより、前記テスト応答パターン中に含まれる前記エラーを求める第３の手順とを含む。
【００１２】
本発明の請求項２記載のテスト応答エラー検出能力評価方法は、請求項１記載の自己テスト回路のテスト応答エラー探索方法により求められた前記テスト応答解析器が見逃す前記エラーの数と、前記テスト応答パターンの取り得る全状態数を用いて、前記テスト応答解析器が見逃す前記エラーの割合を算出し、前記テスト応答解析器の評価指標とする。
【発明の効果】
【００１３】
本発明の請求項１記載の自己テスト回路のテスト応答エラー探索方法によれば、テスト応答パターンの各ビットデータの論理値に対して、全ての論理値０を、テスト応答パターン中のビット位置の属性を持つ論理変数により置換し、全ての論理値１を、テスト応答パターン中のビット位置の属性を持つ論理変数を用いて、論理値０の場合に対する論理反転の属性を付加して置換する第１の手順と、情報圧縮手段の回路動作に応じて圧縮データパターンを論理変数を用いて表し、圧縮データパターンと期待値データパターンが一致することに基づき、論理変数が満足すべき条件式を得る第２の手順と、条件式を解いて論理変数が全て０である場合以外の解を求めることにより、テスト応答パターン中に含まれるエラーを求める第３の手順とを含むので、圧縮操作の過程で見逃されるテスト応答パターン中のエラーを数学的に求めることができる。従って、シミュレーションの実行により確認する方法と比較して、情報圧縮手段における情報圧縮の過程で見逃されるテスト応答パターン中のエラーを容易に探索できる。
【００１４】
本発明の請求項２記載のテスト応答エラー検出能力評価方法によれば、請求項１記載の自己テスト回路のテスト応答エラー探索方法により求められたテスト応答解析器が見逃すエラーの数と、テスト応答パターンの取り得る全状態数を用いて、テスト応答解析器が見逃すエラーの割合を算出し、テスト応答解析器の評価指標とするので、容易にテスト応答解析器のエラー検出能力の定量的評価を行うことができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態を図面を参照しながら説明する。
【００１６】
本発明の第１の実施の形態を図１に基づいて説明する。
【００１７】
図１は、本発明の第１の実施の形態の自己テスト回路のテスト応答におけるエラーの探索方法について示したものである。
【００１８】
テストパターン発生器１０１はテストパターン１０２を出力し、被テスト回路１０３はテストパターン１０２を入力として内部回路動作を行い、その結果としてテスト応答パターン１０４を出力する。テスト応答解析器１０５はテスト応答パターン１０４を入力として受け取り、これを解析した結果として良否判定結果１１０を出力する。
【００１９】
テスト応答解析器１０５内部の動作は次のように行われる。情報圧縮手段１０６は、内部回路動作により入力されたテスト応答パターン１０４の情報圧縮を行い、その結果として圧縮データパターン１０７を出力する。パターン比較手段１０９は、圧縮データパターン１０７と予め用意された期待値データパターン１０８を比較し、両者が一致していれば良否判定結果１１０として「良品」を出力し、一致していなければ「不良品」を出力する。
【００２０】
ここで問題となるのが、被テスト回路１０３内の故障の影響によりテスト応答パターン１０４中にエラーが含まれているにもかかわらず、情報圧縮手段１０６による情報圧縮の過程でエラーがキャンセルされてしまう場合である。このような場合、圧縮データパターン１０７の内容は期待値データパターン１０８の内容と同一になるため、比較器１０９は良否判定結果１１０として「良品」を出力する。被テスト回路１０３に故障を含んだ製品を良品と判定したので、これは誤判定である。
【００２１】
以上のような誤判定を可能な限り少なくするため、情報圧縮手段１０６においてキャンセルされるようなテスト応答パターン１０４中のエラー候補の探索を行う。
【００２２】
第１の手順として、論理値０であるべきものが故障の影響等により論理値１となる可能性のあるデータを論理変数ｄ、論理値１であるべきものが論理値０となる可能性のあるデータを論理変数／ｄと定義する。ここで、“／”は論理反転を表し、／（／ｄ）＝ｄである。
【００２３】
さらに、被テスト回路１０３に故障がない場合のテスト応答パターン１０４の内容においてビット位置を表す変数ｉ、ｊを導入し、各ビットの論理値０、１に対してビット位置の属性を持つ論理変数ｄｉ、／ｄｊで置換する。すなわち、ビット位置ｉの論理値が０の場合はｄｉで置換し、ビット位置ｊの論理値が１の場合は／ｄｊで置換する。
【００２４】
第２の手順として、まず、第１の手順で生成した論理変数ｄｉ、／ｄｊで表されたテスト応答パターン１０４を情報圧縮手段１０６に入力した場合に得られる圧縮データパターン１０７を算出する。情報圧縮手段１０６での内部回路動作を反映させ、論理変数ｄｉと論理反転等の論理演算を用いた形式で表す。
【００２５】
そして、論理変数ｄｉと論理反転等の論理演算を用いた形式で表された圧縮データパターン１０７と、期待値データパターン１０８が一致することから、論理変数ｄｉが満足すべき条件式が得られる。
【００２６】
第３の手順として、第２の手順で得られた論理変数ｄｉが満足すべき条件式を解き、自明な解「全ての論理変数ｄｉが論理値０である場合」以外の解を求める。ここで、上記の自明な解は、「テスト応答パターン１０４中にエラーが全く無い場合」に対応しており、上記の自明な解以外のものが、「テスト応答パターン１０４中にエラーがあるにもかかわらず、情報圧縮手段１０６においてエラーがキャンセルされる場合」に対応する。これは次の理由による。
【００２７】
テスト応答パターン１０４のビット位置ｉにおいて「０→ｄｉ」と置換した場合、ｄｉ＝０はビット位置ｉにおいてエラーがなく論理値が本来の値である０であることを表し、ｄｉ＝１はビット位置ｉにおいてエラーがあり論理値が本来の値でない１になったことを表す。また、テスト応答パターン１０４のビット位置ｉにおいて「１→／ｄｉ」と置換した場合、ｄｉ＝０であれば／ｄｉ＝１であるので、ビット位置ｉにおいてエラーがなく論理値が本来の値である１であることを表し、ｄｉ＝１であれば／ｄｉ＝０であるので、ビット位置ｉにおいてエラーがあり論理値が本来の値でない０になったことを表す。
【００２８】
本発明の第２の実施の形態を図２および図３に基づいて説明する。
【００２９】
図２は、本発明の第２の実施の形態の自己テスト回路のテスト応答におけるエラーの探索方法について示したものである。
【００３０】
テストパターン発生器２０１はテストパターン２０２を出力し、被テスト回路２０３はテストパターン２０２を入力として内部回路動作を行い、その結果としてテスト応答パターン２０４を出力する。テスト応答解析器２０５はテスト応答パターン２０４を入力として受け取り、これを解析した結果として良否判定結果２１０を出力する。
【００３１】
テスト応答解析器２０５内部の動作は次のように行われる。情報圧縮手段２０６は、内部回路動作により入力されたテスト応答パターン２０４の情報圧縮を行い、その結果として圧縮データパターン２０７を出力する。パターン比較手段２０９は、圧縮データパターン２０７と予め用意された期待値データパターン２０８を比較し、両者が一致していれば良否判定結果２１０として「良品」を出力し、一致していなければ「不良品」を出力する。
【００３２】
ここで、情報圧縮手段２０６として、４個のフリップフロップＦＦ０〜３および２個の排他的論理和ＸＯＲ０、ＸＯＲ１からなる線形フィードバックシフトレジスタ（ＬＦＳＲ；Ｌｉｎｅａｒ  Ｆｅｅｄｂａｃｋ  Ｓｈｉｆｔ  Ｒｅｇｉｓｔｅｒ）を考える。
【００３３】
ＬＦＳＲでは、入力ビット系列および各フリップフロップの保持データを多項式により表示することができる。入力ビット系列は図２のテスト応答パターン２０４であり、例として次のデータパターンを考える。
【００３４】
１１０１１１０１００１０００１０１０００１０００１０１１１０１１    …（１）
ここで、（１）は、左のビットから順にＬＦＳＲに入力される。
【００３５】
フリップフロップＦＦ０〜３の初期状態として全て０とし、（１）をＬＦＳＲに入力すると、最終状態は次のようになる。
【００３６】
ＦＦ３：０、  ＦＦ２：１、  ＦＦ１：１、  ＦＦ０：１                …（２）
（１）、（２）はそれぞれ、多項式を用いて（３）、（４）のように表記することができ、次の関係式が成立する。
【００３７】
Ｄ（ｘ）＝ｘ31＋ｘ30＋ｘ28＋ｘ27＋ｘ26＋ｘ24＋ｘ21＋ｘ17＋ｘ15
＋ｘ11＋ｘ7＋ｘ5＋ｘ4＋ｘ3＋ｘ＋１              …（３）
Ｒ（ｘ）＝ｘ2＋ｘ＋１                                  …（４）
Ｄ（ｘ）＝Ｐ（ｘ）Ｑ（ｘ）＋Ｒ（ｘ）                    …（５）
ここで、Ｄ（ｘ）は入力多項式、Ｒ（ｘ）は最終状態を表す多項式であり、Ｑ（ｘ）はＬＦＳＲの出力ビット系列を表す多項式である。また、Ｐ（ｘ）はＬＦＳＲの構成によって決まる多項式で特性多項式と呼ばれる。図２のＬＦＳＲでは、次のようになる。
【００３８】
Ｐ（ｘ）＝ｘ4＋ｘ＋１                                  …（６）
以上の多項式表示では、乗算、加減算の記号に対して、排他的論理和演算を適用する。図３に、（３）、（５）、（６）から（４）を求める方法についての説明を示す。
【００３９】
以下では、情報圧縮手段２０６として図２に示すＬＦＳＲを使用したテスト応答解析器２０５において、被テスト回路２０３に故障がない場合のテスト応答パターン２０４として（１）が与えられるという条件で、情報圧縮手段２０６においてキャンセルされるようなテスト応答パターン２０４中のエラー候補の探索を行う。
【００４０】
第１の手順として、論理値０であるべきものが故障の影響等により論理値１となる可能性のあるデータを論理変数ｄ、論理値１であるべきものが論理値０となる可能性のあるデータを論理変数／ｄと定義する。ここで、“／”は論理反転を表し、／（／ｄ）＝ｄである。
【００４１】
さらに、被テスト回路２０３に故障がない場合のテスト応答パターン２０４の内容においてビット位置の変数ｉ、ｊを導入し、各ビット位置の論理値０、１に対してビット位置の属性を持つ論理変数ｄｉ、／ｄｊで置換する。データパターン（１）の多項式表示（３）に対して、上記の置換を行うと次のようになる。
【００４２】
Ｄ（ｘ）＝/ｄ31ｘ31＋/ｄ30ｘ30＋ｄ29ｘ29＋/ｄ28ｘ28
＋/ｄ27ｘ27＋/ｄ26ｘ26＋ｄ25ｘ25＋/ｄ24ｘ24
＋ｄ23ｘ23＋ｄ22ｘ22＋/ｄ21ｘ21＋ｄ20ｘ20
＋ｄ19ｘ19＋ｄ18ｘ18＋/ｄ17ｘ17＋ｄ16ｘ16
＋/ｄ15ｘ15＋ｄ14ｘ14＋ｄ13ｘ13＋ｄ12ｘ12
＋/ｄ11ｘ11＋ｄ10ｘ10＋ｄ9ｘ9＋ｄ8ｘ8
＋/ｄ7ｘ7＋ｄ6ｘ6＋/ｄ5ｘ5＋/ｄ4ｘ4
＋/ｄ3ｘ3＋ｄ2ｘ2＋/ｄ1ｘ＋/ｄ0                  …（７）
第２の手順として、（７）で表されるテスト応答パターン２０４を情報圧縮手段２０６に入力した場合に得られる圧縮データパターン２０７を多項式表示にて算出する。図３に示した方法と同様の進め方により、次の式が得られる。
【００４３】
Ｒ（ｘ）＝ｄ3,6,7,9,11,12,13,14,18,21,22,24,26,27,28,29ｘ3
＋/ｄ2,5,6,8,10,11,12,13,17,20,21,23,25,26,27,28,30ｘ2
＋/ｄ1,4,5,7,9,10,11,12,16,19,20,22,24,25,26,27,30,31ｘ
＋/ｄ0,4,7,8,10,12,13,14,15,19,22,23,25,27,28,29,30  …（８）
ここで、論理変数ｄの添え字は、「，」で区切られる各ビット位置の属性を持つ論理変数ｄについて排他的論理和演算を行ったことを示す。すなわち、
ｄi,j＝ｄi＾ｄj＝ｄj＾ｄi＝ｄj,i              …（９）
（８）で表される圧縮データパターン２０７と、（２）あるいは（４）で表される期待値データパターン２０８が一致することから、論理変数ｄが満足すべき条件式が次のように得られる。
【００４４】
ｄ3,6,7,9,11,12,13,14,18,21,22,24,26,27,28,29＝０
ｄ2,5,6,8,10,11,12,13,17,20,21,23,25,26,27,28,30＝０
ｄ1,4,5,7,9,10,11,12,16,19,20,22,24,25,26,27,30,31＝０
ｄ0,4,7,8,10,12,13,14,15,19,22,23,25,27,28,29,30＝０  …（１０）
第３の手順として、第２の手順で得られた条件式（１０）を解き、全ての論理変数ｄが論理値０である場合以外の解を求める。以下では、２ビットエラーを想定し、その候補を求めるアルゴリズムについて説明する。２ビットエラーは、ｄ0〜ｄ31のうちの２個が１であり、残りが全て０であることと等価であるので、（１０）を満足するような２個のｄiを選び出す。
【００４５】
（１０）の左辺の排他的論理和演算を行う個々の論理変数ｄを要素とする集合Ｒ3、Ｒ2、Ｒ1、Ｒ0を以下のように定義する。
【００４６】
Ｒ3＝｛ｄ3,ｄ6,ｄ7,ｄ9,ｄ11,ｄ12,ｄ13,ｄ14,ｄ18,ｄ21,
ｄ22,ｄ24,ｄ26,ｄ27,ｄ28,ｄ29｝
Ｒ2＝｛ｄ2,ｄ5,ｄ6,ｄ8,ｄ10,ｄ11,ｄ12,ｄ13,ｄ17,ｄ20,
ｄ21,ｄ23,ｄ25,ｄ26,ｄ27,ｄ28,ｄ30｝
Ｒ1＝｛ｄ1,ｄ4,ｄ5,ｄ7,ｄ9,ｄ10,ｄ11,ｄ12,ｄ16,ｄ19,
ｄ20,ｄ22,ｄ24,ｄ25,ｄ26,ｄ27,ｄ30,ｄ31｝
Ｒ0＝｛ｄ0,ｄ4,ｄ7,ｄ8,ｄ10,ｄ12,ｄ13,ｄ14,ｄ15,ｄ19,
ｄ22,ｄ23,ｄ25,ｄ27,ｄ28,ｄ29,ｄ30｝        …（１１）
集合Ｒi（i＝０,１,２,３）の１つだけに２ビットエラーが含まれる場合と、２以上の集合群Ｒiに共通の２ビットエラーが含まれる場合が考えられる。
［１］１つの集合Ｒiだけに２ビットエラーが含まれるとすると、２ビットエラーは１つの集合Ｒi以外の集合に含まれてはならない。そこで、集合Ｒi以外の集合の和集合を求め、その要素を集合Ｒiから差し引く。残った要素のうちの任意の２個が２ビットエラー候補となる。
［２］２以上の集合Ｒiに共通の２ビットエラーが含まれるとしたとき、１つの集合Ｒiと集合群Ｒj（j＞i）の中に共通の２ビットエラーが含まれる場合を考える。
【００４７】
まず、集合Ｒiの要素から、［１］で探索された要素を差し引いた集合を求める。この集合の各要素が２ビットエラー候補の一方となりうるため、これをＮとする。
【００４８】
次に、集合Ｒjの中から要素Ｎを含むものを全て選び出して集合群Ｒj-Nとし、Ｒj-NとＲiの全ての集合についての積集合を求める。この積集合にＮ以外の要素があれば、２ビットエラー候補のもう一方となりうるため、そのうちの１つを選びＭとする。
【００４９】
Ｎ、Ｍが２ビットエラー候補であることは次の操作で確認できる。すなわち、Ｎ、Ｍの一方のみが、集合群Ｒjの中の集合群Ｒj-N以外の集合に含まれていれば２ビットエラー候補ではあり得ない。Ｎはこれらの集合に含まれることはないため（Ｎを含む集合として集合群Ｒj-Nを選び出したので、集合群Ｒj-N以外の集合にＮが含まれることはない）、Ｍが集合群Ｒjの中の集合群Ｒj-N以外の集合に含まれるかどうかを確認すればよい。
【００５０】
以上の操作を、集合Ｒ0と集合群Ｒ1、…に対して実行した後、集合Ｒ1と集合群Ｒ2、…に対して適用するにあたり、集合Ｒ1の代わりに、集合Ｒ1から集合Ｒ0の要素を差し引いて得られる集合Ｒ1’を使用する。これは、既に検討された要素を除去するためである。さらに、集合Ｒ2と集合群Ｒ3…に対して適用するにあたり、集合Ｒ2の代わりに、集合Ｒ2から集合Ｒ0およびＲ1の要素を差し引いて得られる集合Ｒ2’を使用する。同様の操作を続けて、全ての２ビットエラー候補が求められる。
【００５１】
具体的には、以下のようにして２ビットエラーの候補が全て求められる。
Ａ）Ｒ0だけに２ビットエラーが含まれる場合
Ｒ0以外、すなわち、Ｒ1、Ｒ2、Ｒ3の和集合Ｒ1∪Ｒ2∪Ｒ3は次のようになる。
【００５２】
Ｒ1∪Ｒ2∪Ｒ3＝｛ｄ1,ｄ2,ｄ3,ｄ4,ｄ5,ｄ6,ｄ7,ｄ8,ｄ9,
ｄ10,ｄ11,ｄ12,ｄ13,ｄ14,ｄ16,ｄ17,ｄ18,ｄ19,
ｄ20,ｄ21,ｄ22,ｄ23,ｄ24,ｄ25,ｄ26,ｄ27,ｄ28,ｄ29,
ｄ30,ｄ31｝                                    …（１２）
Ｒ0以外にエラーは含まれないので、（１２）の要素はエラー候補とはなり得ない。そこで、Ｒ0からＲ1∪Ｒ2∪Ｒ3を差し引くと次のようになる。
【００５３】
Ｒ0−（Ｒ1∪Ｒ2∪Ｒ3）＝｛ｄ0,ｄ15｝                    …（１３）
（１３）より、２ビットエラーは、（ｄ0,ｄ15）の１組となる。
Ｂ）Ｒ1だけに２ビットエラーが含まれる場合
Ｒ1以外、すなわち、Ｒ0、Ｒ2、Ｒ3の和集合Ｒ0∪Ｒ2∪Ｒ3は次のようになる。
【００５４】
Ｒ0∪Ｒ2∪Ｒ3＝｛ｄ0,ｄ2,ｄ3,ｄ4,ｄ5,ｄ6,ｄ7,ｄ8,ｄ9,
ｄ10,ｄ11,ｄ12,ｄ13,ｄ14,ｄ15,ｄ17,ｄ18,ｄ19,
ｄ20,ｄ21,ｄ22,ｄ23,ｄ24,ｄ25,ｄ26,ｄ27,ｄ28,ｄ29,
ｄ30｝                                        …（１４）
Ｒ1以外にエラーは含まれないので、（１４）の要素はエラー候補とはなり得ない。そこで、Ｒ1からＲ0∪Ｒ2∪Ｒ3を差し引くと次のようになる。
【００５５】
Ｒ1−（Ｒ0∪Ｒ2∪Ｒ3）＝｛ｄ1,ｄ16,ｄ31｝                …（１５）
（１５）より、２ビットエラーは、（ｄ1,ｄ16）、（ｄ1,ｄ31）、（ｄ16,ｄ31）の３組となる。
Ｃ）Ｒ2だけに２ビットエラーが含まれる場合
Ｒ2以外、すなわち、Ｒ0、Ｒ1、Ｒ3の和集合Ｒ0∪Ｒ1∪Ｒ3は次のようになる。
【００５６】
Ｒ0∪Ｒ1∪Ｒ3＝｛ｄ0,ｄ1,ｄ3,ｄ4,ｄ5,ｄ6,ｄ7,ｄ8,ｄ9,
ｄ10,ｄ11,ｄ12,ｄ13,ｄ14,ｄ15,ｄ16,ｄ18,ｄ19,
ｄ20,ｄ21,ｄ22,ｄ23,ｄ24,ｄ25,ｄ26,ｄ27,ｄ28,ｄ29,
ｄ30,ｄ31｝                                    …（１６）
Ｒ2以外にエラーは含まれないので、（１６）の要素はエラー候補とはなり得ない。そこで、Ｒ2からＲ0∪Ｒ1∪Ｒ3を差し引くと次のようになる。
【００５７】
Ｒ2−（Ｒ0∪Ｒ1∪Ｒ3）＝｛ｄ2,ｄ17｝                    …（１７）
（１７）より、２ビットエラーは（ｄ2,ｄ17）の１組となる。
Ｄ）Ｒ3だけに２ビットエラーが含まれる場合
Ｒ3以外、すなわち、Ｒ0、Ｒ1、Ｒ2の和集合Ｒ0∪Ｒ1∪Ｒ2は次のようになる。
【００５８】
Ｒ0∪Ｒ1∪Ｒ2＝｛ｄ0,ｄ1,ｄ2,ｄ4,ｄ5,ｄ6,ｄ7,ｄ8,ｄ9,
ｄ10,ｄ11,ｄ12,ｄ13,ｄ14,ｄ15,ｄ16,ｄ17,ｄ19,
ｄ20,ｄ21,ｄ22,ｄ23,ｄ24,ｄ25,ｄ26,ｄ27,ｄ28,ｄ29,
ｄ30,ｄ31｝                                    …（１８）
Ｒ3以外にエラーは含まれないので、（１８）の要素はエラー候補とはなり得ない。そこで、Ｒ3からＲ0∪Ｒ1∪Ｒ2を差し引くと次のようになる。
【００５９】
Ｒ3−（Ｒ0∪Ｒ1∪Ｒ2）＝｛ｄ3,ｄ18｝                      …（１９）
（１９）より、２ビットエラーは（ｄ3,ｄ18）の１組となる。
Ｅ）集合Ｒ0と集合群Ｒ1、Ｒ2、Ｒ3の中に２ビットエラーが含まれる場合
集合Ｒ0だけにエラーがあるとして求めた（１３）を集合Ｒ0から差し引くと、次のようになる。
【００６０】
Ｒ0−（Ｒ0−Ｒ1∪Ｒ2∪Ｒ3）
＝｛ｄ4,ｄ7,ｄ8,ｄ10,ｄ12,ｄ13,ｄ14,ｄ19,
ｄ22,ｄ23,ｄ25,ｄ27,ｄ28,ｄ29,ｄ30｝          …（２０）
以下、（２０）の各要素を２ビットエラー候補の一方Ｎとし、もう一方のエラー候補Ｍを求め、その妥当性を検証する。
ｅ１）Ｎ＝ｄ4の場合
集合群Ｒ1、Ｒ2、Ｒ3においてＮ＝ｄ4を含むのは集合Ｒ1である。そこで、集合Ｒ0とＲ1の積集合を求めると次のようになる。
【００６１】
Ｒ0∩Ｒ1＝｛ｄ4,ｄ7,ｄ10,ｄ12,ｄ19,ｄ22,ｄ25,ｄ27,ｄ30｝  …（２１）
２ビットエラー候補のもう一方Ｍとして、（２１）のＮ＝ｄ4以外の各要素を考えた場合、集合群Ｒ2、Ｒ3に含まれないのはＭ＝ｄ19である。従って、（ｄ4,ｄ19）が２ビットエラー候補となる。
ｅ２）Ｎ＝ｄ7の場合
集合群Ｒ1、Ｒ2、Ｒ3においてＮ＝ｄ7を含むのは集合Ｒ1、Ｒ3である。そこで、集合Ｒ0とＲ1、Ｒ3の積集合を求めると次のようになる。
【００６２】
Ｒ0∩Ｒ1∩Ｒ3＝｛ｄ7,ｄ12,ｄ22,ｄ27｝                    …（２２）
２ビットエラー候補のもう一方Ｍとして、（２２）のＮ＝ｄ7以外の各要素を考えた場合、集合Ｒ2に含まれないのはＭ＝ｄ22である。従って、（ｄ7,ｄ22）が２ビットエラー候補となる。
ｅ３）Ｎ＝ｄ8の場合
集合群Ｒ1、Ｒ2、Ｒ3においてＮ＝ｄ8を含むのは集合Ｒ2である。そこで、集合Ｒ0とＲ2の積集合を求めると次のようになる。
【００６３】
Ｒ0∩Ｒ2＝｛ｄ8,ｄ10,ｄ12,ｄ13,ｄ23,ｄ25,ｄ27,ｄ28,ｄ30｝  …（２３）
２ビットエラー候補のもう一方Ｍとして、（２３）のＮ＝ｄ8以外の各要素を考えた場合、集合Ｒ1、Ｒ3に含まれないのはＭ＝ｄ23である。従って、（ｄ8,ｄ23）が２ビットエラー候補となる。
ｅ４）Ｎ＝ｄ10の場合
集合群Ｒ1、Ｒ2、Ｒ3においてＮ＝ｄ10を含むのは集合Ｒ1、Ｒ2である。そこで、集合Ｒ0とＲ1、Ｒ2の積集合を求めると次のようになる。
【００６４】
Ｒ0∩Ｒ1∩Ｒ2＝｛ｄ10,ｄ12,ｄ25,ｄ27,ｄ30｝                …（２４）
２ビットエラー候補のもう一方Ｍとして、（２４）のＮ＝ｄ10以外の各要素を考えた場合、集合Ｒ3に含まれないのはＭ＝ｄ25,ｄ30である。従って、（ｄ10,ｄ25）、（ｄ10,ｄ30）が２ビットエラー候補となる。さらに、（ｄ25,ｄ30）も２ビットエラー候補となる。
ｅ５）Ｎ＝ｄ12の場合
集合群Ｒ1、Ｒ2、Ｒ3においてＮ＝ｄ12を含むのは集合Ｒ1、Ｒ2、Ｒ3である。そこで、集合Ｒ0とＲ1、Ｒ2、Ｒ3の積集合を求めると次のようになる。
【００６５】
Ｒ0∩Ｒ1∩Ｒ2∩Ｒ3＝｛ｄ12,ｄ27｝                          （２５）
２ビットエラー候補のもう一方Ｍとして、（２５）のＮ＝ｄ12以外の各要素を考えた場合、妥当性を検証する対象の集合が存在しない。従って、（ｄ12,ｄ27）は２ビットエラー候補となる。
ｅ６）Ｎ＝ｄ13の場合
集合群Ｒ1、Ｒ2、Ｒ3においてＮ＝ｄ13を含むのは集合Ｒ2、Ｒ3である。そこで、集合Ｒ0とＲ2、Ｒ3の積集合を求めると次のようになる。
【００６６】
Ｒ0∩Ｒ2∩Ｒ3＝｛ｄ12,ｄ13,ｄ27,ｄ28｝                    …（２６）
２ビットエラー候補のもう一方Ｍとして、（２６）のＮ＝ｄ13以外の各要素を考えた場合、集合Ｒ1に含まれないのはＭ＝ｄ28である。従って、（ｄ13,ｄ28）が２ビットエラー候補となる。
ｅ７）Ｎ＝ｄ14の場合
集合群Ｒ1、Ｒ2、Ｒ3においてＮ＝ｄ14を含むのは集合Ｒ3である。そこで、集合Ｒ0とＲ3の積集合を求めると次のようになる。
【００６７】
Ｒ0∩Ｒ3＝｛ｄ7,ｄ12,ｄ13,ｄ14,ｄ22,ｄ27,ｄ28,ｄ29｝      …（２７）
２ビットエラー候補のもう一方Ｍとして、（２７）のＮ＝ｄ14以外の各要素を考えた場合、集合Ｒ1、Ｒ2に含まれないのはＭ＝ｄ29である。従って、（ｄ14,ｄ29）が２ビットエラー候補となる。
ｅ８）Ｎ＝ｄ19,ｄ22,ｄ23,ｄ25,ｄ27,ｄ28,ｄ29,ｄ30の場合
ｅ１）〜ｅ７）において、既に２ビットエラー候補が求められている。
Ｆ）集合Ｒ1と集合群Ｒ2、Ｒ3の中に２ビットエラーが含まれる場合
始めに、集合Ｒ0との間で既に検討されたエラー候補を除去するため、集合Ｒ1から集合Ｒ0の要素を差し引いて集合Ｒ1’とすると、次のようになる。
【００６８】
Ｒ1’＝｛ｄ1,ｄ5,ｄ9,ｄ11,ｄ16,ｄ20,ｄ24,ｄ26,ｄ30｝      …（２８）
集合Ｒ1だけにエラーがあるとして求めた（１５）を集合Ｒ1’から差し引くと、次のようになる。
【００６９】
Ｒ1’−（Ｒ1−Ｒ0∪Ｒ2∪Ｒ3）
＝｛ｄ5,ｄ9,ｄ11,ｄ20,ｄ24,ｄ26｝            …（２９）
以下、（２９）の各要素を２ビットエラー候補の一方Ｎとし、もう一方のエラー候補Ｍを求め、その妥当性を検証する。
ｆ１）Ｎ＝ｄ5の場合
集合群Ｒ2、Ｒ3においてＮ＝ｄ5を含むのは集合Ｒ2である。そこで、集合Ｒ1’とＲ2の積集合を求めると次のようになる。
【００７０】
Ｒ1’∩Ｒ2＝｛ｄ5,ｄ11,ｄ20,ｄ26｝                        …（３０）
２ビットエラー候補のもう一方Ｍとして、（３０）のＮ＝ｄ5以外の各要素を考えた場合、集合Ｒ3に含まれないのはＭ＝ｄ20である。従って、（ｄ5,ｄ20）が２ビットエラー候補となる。
ｆ２）Ｎ＝ｄ9の場合
集合群Ｒ2、Ｒ3においてＮ＝ｄ9を含むのは集合Ｒ3である。そこで、集合Ｒ1’とＲ3の積集合を求めると次のようになる。
【００７１】
Ｒ1’∩Ｒ3＝｛ｄ9,ｄ11,ｄ24,ｄ26｝                        …（３１）
２ビットエラー候補のもう一方Ｍとして、（３１）のＮ＝ｄ9以外の各要素を考えた場合、集合Ｒ2に含まれないのはＭ＝ｄ24である。従って、（ｄ9,ｄ24）が２ビットエラー候補となる。
ｆ３）Ｎ＝ｄ11の場合
集合群Ｒ2、Ｒ3においてＮ＝ｄ11を含むのは集合Ｒ2、Ｒ3である。そこで、集合Ｒ1’とＲ2、Ｒ3の積集合を求めると次のようになる。
【００７２】
Ｒ1’∩Ｒ2∩Ｒ3＝｛ｄ11,ｄ26｝                            …（３２）
２ビットエラー候補のもう一方Ｍとして、（３２）のＮ＝ｄ11以外の各要素を考えた場合、妥当性を検証する対象の集合が存在しない。従って、（ｄ11,ｄ26）は２ビットエラー候補となる。
ｆ４）Ｎ＝ｄ20,ｄ24,ｄ26の場合
ｆ１）〜ｆ３）において、既に２ビットエラー候補が求められている。
Ｇ）集合Ｒ2と集合Ｒ3の中に２ビットエラーが含まれる場合
始めに、集合Ｒ0、Ｒ1との間で既に検討されたエラー候補を除去するため、集合Ｒ2から集合Ｒ0、Ｒ1の要素を差し引いて集合Ｒ2’とすると、次のようになる。
【００７３】
Ｒ2’＝｛ｄ2,ｄ6,ｄ17,ｄ21｝                              …（３３）
集合Ｒ2だけにエラーがあるとして求めた（１７）を集合Ｒ2’から差し引くと、次のようになる。
【００７４】
Ｒ2’−（Ｒ2−Ｒ0∪Ｒ1∪Ｒ3）＝｛ｄ6,ｄ21｝                …（３４）
以下、（３４）の各要素を２ビットエラー候補の一方Ｎとし、もう一方のエラー候補Ｍを求め、その妥当性を検証する。
ｇ１）Ｎ＝ｄ6の場合
集合Ｒ3はＮ＝ｄ6を含む。そこで、集合Ｒ2’とＲ3の積集合を求めると次のようになる。
【００７５】
Ｒ2’∩Ｒ3＝｛ｄ6,ｄ21｝                                  …（３５）
２ビットエラー候補のもう一方Ｍとして、（３５）のＮ＝ｄ6以外の各要素を考えた場合、妥当性を検証する対象の集合が存在しない。従って、（ｄ6,ｄ21）は２ビットエラー候補となる。
ｇ２）Ｎ＝ｄ21の場合
ｇ１）において、既に２ビットエラー候補が求められている。
【００７６】
以上をまとめると、２ビットエラー候補は次の１９通りである。
【００７７】
Ｒ0のみ：（ｄ0,ｄ15）
Ｒ1のみ：（ｄ1,ｄ16）、（ｄ1,ｄ31）、（ｄ16,ｄ31）
Ｒ2のみ：（ｄ2,ｄ17）
Ｒ3のみ：（ｄ3,ｄ18）
Ｒ0、および、Ｒ1、Ｒ2、Ｒ3から選択：
（ｄ4,ｄ19）、（ｄ7,ｄ22）、（ｄ8,ｄ23）、(ｄ10,ｄ25)、
（ｄ10,ｄ30）、（ｄ25,ｄ30）、（ｄ12,ｄ27）、（ｄ13,ｄ28）、
（ｄ14,ｄ29）
Ｒ1、および、Ｒ2、Ｒ3から選択：
（ｄ5,ｄ20）、（ｄ9,ｄ24）、（ｄ11,ｄ26）
Ｒ2、および、Ｒ3から選択：
（ｄ6,ｄ21）
本発明の第３の実施の形態を図４に基づいて説明する。
【００７８】
図４は、本発明の第３の実施の形態の自己テスト回路のテスト応答におけるエラーの探索方法について示したものである。
【００７９】
テストパターン発生器３０１はテストパターン３０２を出力し、被テスト回路３０３はテストパターン３０２を入力として内部回路動作を行い、その結果としてテスト応答パターン３０４ａ〜３０４ｄを出力する。テスト応答解析器３０５はテスト応答パターン３０４ａ〜３０４ｄを入力として受け取り、これを解析した結果として良否判定結果３１０を出力する。
【００８０】
テスト応答解析器３０５内部の動作は次のように行われる。情報圧縮手段３０６は、内部回路動作により入力されたテスト応答パターン３０４ａ〜３０４ｄの情報圧縮を行い、その結果として圧縮データパターン３０７を出力する。パターン比較手段３０９は、圧縮データパターン３０７と予め用意された期待値データパターン３０８を比較し、両者が一致していれば良否判定結果３１０として「良品」を出力し、一致していなければ「不良品」を出力する。
【００８１】
ここで、情報圧縮手段３０５として、図４に示す４個のフリップフロップＦＦ０〜３および４個の排他的論理和ＸＯＲ０〜ＸＯＲ３からなる他入力シグネチャレジスタ（ＭＩＳＲ；Ｍｕｌｔｉ−Ｉｎｐｕｔ  Ｓｉｇｎａｔｕｒｅ  Ｒｅｇｉｓｔｅｒ）を考える。
【００８２】
入力ビット系列は図４のテスト応答パターン３０４ａ〜３０４ｄであり、例として次のデータパターンを考える。
【００８３】
３０４ａ：１１０１１１０１
３０４ｂ：００１０００１０
３０４ｃ：１０００１０００
３０４ｄ：１０１１１０１１                            …（３６）
ここで、（３６）は、左のビットから順にＭＩＳＲに入力される。
【００８４】
フリップフロップＦＦ０〜３の初期状態として全て０とし、（３６）をＭＩＳＲに入力すると、最終状態は次のようになる。
【００８５】
ＦＦ０：０、  ＦＦ１：０、  ＦＦ２：０、  ＦＦ３：０      …（３７）
以下では、情報圧縮手段３０６として図４に示すＭＩＳＲを使用したテスト応答解析器３０５において、被テスト回路３０３に故障がない場合のテスト応答パターン３０４ａ〜３０４ｄとして（３６）が与えられるという条件で、情報圧縮手段３０６においてキャンセルされるようなテスト応答パターン３０４ａ〜３０４ｄ中のエラー候補の探索を行う。
【００８６】
第１の手順として、論理値０であるべきものが故障の影響等により論理値１となる可能性のあるデータを論理変数ｄ、論理値１であるべきものが論理値０となる可能性のあるデータを論理変数／ｄと定義する。ここで、“／”は論理反転を表し、／（／ｄ）＝ｄである。
【００８７】
さらに、被テスト回路３０３に故障がない場合のテスト応答パターン３０４ａ〜３０４ｄの内容においてビット位置の変数ｉ、ｊを導入し、各ビット位置の論理値０、１に対してビット位置の属性を持つ論理変数ｄｉ、／ｄｊで置換する。データパターン（３６）に対して、上記の置換を行うと次のようになる。
【００８８】
３０４ａ：/ｄ07,/ｄ06,ｄ05,/ｄ04,/ｄ03,/ｄ02,ｄ01,/ｄ00
３０４ｂ：ｄ17,ｄ16,/ｄ15,ｄ14,ｄ13,ｄ12,/ｄ11,ｄ10
３０４ｃ：/ｄ27,ｄ26,ｄ25,ｄ24,/ｄ23,ｄ22,ｄ21,ｄ20
３０４ｄ：/ｄ37,ｄ36,/ｄ35,/ｄ34,/ｄ33,ｄ32,/ｄ31,/ｄ30  …（３８）
第２の手順として、（３８）で表されるテスト応答パターン３０４ａ〜３０４ｄを情報圧縮手段３０６に入力した場合に得られる圧縮データパターン３０７を算出する次のようになる。
【００８９】
ＦＦ０：ｄ00,04,13,17,22,26,31,35
ＦＦ１：ｄ01,05,10,14,23,27,32,36
ＦＦ２：ｄ02,06,11,15,20,24,33,37
ＦＦ３：ｄ03,07,12,16,21,25,30,34                        …（３９）
（３９）で表される圧縮データパターン３０７と、（３７）で表される期待値データパターン３０８が一致することから、論理変数ｄが満足すべき条件式が次のように得られる。
【００９０】
ｄ00,04,13,17,22,26,31,35＝０
ｄ01,05,10,14,23,27,32,36＝０
ｄ02,06,11,15,20,24,33,37＝０
ｄ03,07,12,16,21,25,30,34＝０                          …（４０）
第３の手順として、第２の手順で得られた条件式（４０）を解き、全ての論理変数ｄが論理値０である場合以外の解を求める。以下では、２ビットエラーを想定し、その候補を求めるアルゴリズムについて説明する。２ビットエラーは、ｄ00〜ｄ07、ｄ10〜ｄ17、ｄ20〜ｄ27、ｄ30〜ｄ37のうちの２つが１であり、残りが全て０であることと等価であるので、（４０）を満足するような２つのｄiを選び出す。
【００９１】
（４０）を解くにあたり、第２の実施の形態と同様の手法を用いることもできるが、図４のＭＩＳＲの場合はより簡単に解くことができる。すなわち、（４０）の４つの式において、論理変数ｄの同じ添え字が２つ以上の式に現れないことに着目すると、１つの式の中で２つのｄiを選び出せば２ビットエラーの候補となる。
【００９２】
例えば、ＦＦ０に関する式において、（ｄ00,ｄ04）は２ビットエラーの候補である。また、ＦＦ３に関する式において、（ｄ30,ｄ34）も同様である。従って、２ビットエラーの候補は、8Ｃ2×４＝１１２通りになることが分かる。
【００９３】
本発明の第４の実施の形態について説明する。
【００９４】
本発明の第４の実施の形態の自己テスト回路のテスト応答解析器のエラー検出能力評価方法として、第２の実施の形態において使用した自己テスト回路、および、テストパターンを用いて説明する。
【００９５】
第２の実施の形態で説明した通り、テスト応答解析器２０５が見逃す２ビットエラーは１９通り存在する。一方、３２ビット長のテスト応答パターン（１）において、２ビットエラーは32Ｃ2＝４９６通り存在する。
【００９６】
従って、テスト応答解析器２０５が見逃す２ビットエラーの割合は次のようになる。
【００９７】
１９／４９６＝３．８３％
ＬＦＳＲのフィードバックループの位置を変えるなど、回路を変更した場合に上記の数値を用いて、テスト応答解析器のエラー検出能力を評価することができる。
【００９８】
本発明の第５の実施の形態について説明する。
【００９９】
本発明の第５の実施の形態の自己テスト回路のテスト応答解析器のエラー検出能力評価方法として、第３の実施の形態において使用した自己テスト回路、および、テストパターンを用いて説明する。
【０１００】
第３の実施の形態で説明したとおり、テスト応答解析器３０５が見逃す２ビットエラーは１１２通り存在する。一方、８ビット長×４系統のテスト応答パターン（３６）において、２ビットエラーは32Ｃ2＝４９６通り存在する。
【０１０１】
従って、テスト応答解析器３０５が見逃す２ビットエラーの割合は次のようになる。
【０１０２】
１１２／４９６＝２２．５８％
ＭＩＳＲのフィードバックループの追加、変更等に応じて、上記の数値を用いてテスト応答解析器のエラー検出能力を評価することができる。
【産業上の利用可能性】
【０１０３】
本発明にかかる自己テスト回路のテスト応答エラー探索方法によれば、自己テスト回路において被テスト回路内の故障の影響によりテスト応答パターン中にエラーが存在するにもかかわらず、圧縮操作の結果が期待値と同一のパターンとなり、見逃されてしまうエラーについて、容易にその候補を探索することができる。
【０１０４】
さらに、本発明にかかる自己テスト回路のテスト応答エラー検出能力評価方法によれば、自己テスト回路のテスト応答エラー探索方法を適用した結果を用いて、テスト応答解析器のエラー検出能力の定量的な評価を容易に実行することができる。
【０１０５】
そのため、本発明を自己テスト回路の設計段階に適用することにより、テスト応答解析器のエラー検出能力の向上に有用であり、自己テスト回路を含む半導体集積回路等、製品の品質向上が期待される。
【図面の簡単な説明】
【０１０６】
【図１】本発明の第１の実施の形態における自己テスト回路のテスト応答エラー探索方法に関する説明図である。
【図２】本発明の第２の実施の形態における自己テスト回路のテスト応答エラー探索方法に関する説明図である。
【図３】ＬＦＳＲの多項式表示によるレジスタ最終状態の計算方法を示す図である。
【図４】本発明の第３の実施の形態における自己テスト回路のテスト応答エラー探索方法に関する説明図である。
【符号の説明】
【０１０７】
１０１，２０１，３０１  パターン発生器
１０２，２０２，３０２  テストパターン
１０３，２０３，３０３  被テスト回路
１０４，２０４，３０４  テスト応答パターン
１０５，２０５，３０５  テスト応答解析器
１０６，２０６，３０６  情報圧縮手段
１０７，２０７，３０７  圧縮データパターン
１０８，２０８，３０８  期待値データパターン
１０９，２０９，３０９  パターン比較手段
１１０，２１０，３１０  良否判定結果
１１１，２１１，３１１  第１の手順
１１２，２１２，３１２  第２の手順
１１３，２１３，３１３  第３の手順
【図１】
2006220483.tif 000003
【図２】
2006220483.tif 000004
【図３】
2006220483.tif 000005
【図４】
2006220483.tif 000006