(57)【要約】  論理回路に入力するテストパターン数を削減しつつ、故障検出率を向上させる故障検出システム等を提供することを目的とする。  テスト入力パターンが入力された論理回路から出力された複数の出力論理値に基づいて論理回路の故障を検出する故障検出システムであって、複数の出力論理値は、前記論理回路に対して新たなテスト入力パターンとして入力されるものであり、複数の出力論理値の一部又は全部を取り出す第１取出手段と、第１取出手段が取り出した出力論理値と、論理回路に故障がない場合に予測される出力論理値又は特定の故障がある場合に予測される出力論理値とを比較する比較手段と、比較手段による比較結果に基づいて論理回路の故障の有無を判定する故障判定手段とを備える、故障検出システム。
2012046602.tif 000002
【特許請求の範囲】
【請求項１】
テスト入力パターンが入力された論理回路から出力された複数の出力論理値に基づいて当該論理回路の故障を検出する故障検出システムであって、
前記複数の出力論理値は、前記論理回路に対して新たなテスト入力パターンとして入力されるものであり、
前記複数の出力論理値の一部又は全部を取り出す第１取出手段と、
前記第１取出手段が取り出した出力論理値と、前記論理回路に故障がない場合に予測される出力論理値又は特定の故障がある場合に予測される出力論理値とを比較する比較手段と、
前記比較手段による比較結果に基づいて前記論理回路の故障の有無を判定する故障判定手段とを備える、故障検出システム。
【請求項２】
前記複数の出力論理値は、複数の個別保持手段に論理値を１つずつ保持させる保持手段に保持され、
前記第１取出手段は、
前記保持手段に保持された前記複数の出力論理値の一部又は全部を取り出すものであり、
前記複数の個別保持手段が保持する出力論理値の一部又は全部を、他の個別保持手段を経由することなく直接取り出す、請求項１記載の故障検出システム。
【請求項３】
前記第１取出手段は、前記保持手段が前記複数の出力論理値を保持してから、前記新たなテスト入力パターンが入力された前記論理回路から出力された新たな複数の出力論理値が前記保持手段に保持されるまでの間に、前記保持手段に保持された前記複数の出力論理値の一部又は全部を取り出す、請求項２記載の故障検出システム。
【請求項４】
前記保持手段が前記出力論理値を保持してから前記新たなテスト入力パターンが入力された前記論理回路から出力された新たな複数の出力論理値が前記保持手段に保持されるまでの時間を制御する制御手段をさらに備える、請求項３記載の故障検出システム。
【請求項５】
各前記個別保持手段に保持された前記出力論理値の故障検出への寄与を算出する算出手段と、
前記寄与の大きさに基づいて各前記個別保持手段に順位を付ける順位付け手段とをさらに備え、
前記第１取出手段は、前記複数の個別保持手段が保持する前記出力論理値のうち、前記順位に基づいて所定の個数のみを取り出す、請求項２から４のいずれかに記載の故障検出システム。
【請求項６】
前記複数の個別保持手段が保持する出力論理値の一部又は全部を、他の個別保持手段を経由させて取り出す第２取出手段をさらに備え、
前記比較手段は、前記第２取出手段が取り出した出力論理値と、前記論理回路に故障がない場合に予測される出力論理値又は特定の故障がある場合に予測される出力論理値との比較も行うものであり、
前記第１取出手段が前記出力論理値を取り出す回数は、前記第２取出手段が前記出力論理値を取り出す回数以上である、請求項２から５のいずれかに記載の故障検出システム。
【請求項７】
前記出力論理値のデータサイズを圧縮する第１圧縮手段と、
前記出力論理値を記憶する第１記憶手段とをさらに備え、
前記第１取出手段の取出処理と同期して、
前記第１圧縮手段は、前記第１取出手段が取り出した前記出力論理値を圧縮し、
前記第１記憶手段は、前記第１圧縮手段が圧縮した前記出力論理値を記憶する、請求項１から６のいずれかに記載の故障検出システム。
【請求項８】
テスト入力パターンが入力された論理回路から出力された複数の出力論理値の一部又は全部を取り出す取出装置であって、
前記複数の出力論理値は、論理値を保持する保持手段により保持されると共に、前記論理回路に対して新たなテスト入力パターンとして入力されるものであり、
前記保持手段は、論理値を１つずつ保持する複数の個別保持手段を有し、
前記複数の個別保持手段が保持する出力論理値の一部又は全部を、他の個別保持手段を経由することなく直接取り出す、取出装置。
【請求項９】
テスト入力パターンが入力された論理回路から出力された複数の出力論理値の一部又は全部を取り出す取出装置であって、
前記複数の出力論理値は、論理値を保持する保持手段により保持されると共に、前記論理回路に対して新たなテスト入力パターンとして入力されるものであり、
前記保持手段が前記出力論理値を保持してから前記新たなテスト入力パターンが入力された前記論理回路から出力された新たな複数の出力論理値が前記保持手段に保持されるまでの時間を制御する制御手段を備え、
前記保持手段に保持された前記複数の出力論理値の一部又は全部を取り出す、取出装置。
【請求項１０】
テスト入力パターンが入力された論理回路から出力された複数の出力論理値に基づいて当該論理回路の故障を検出する故障検出方法であって、
前記論理回路に初期テスト入力パターンの入力が行われる第１入力ステップと、
複数の個別保持手段に論理値を１つずつ保持させる保持手段が、前記複数の出力論理値を保持する保持ステップと、
前記保持手段が保持する前記複数の出力論理値が、新たなテスト入力パターンとして前記論理回路に対して入力される第２入力ステップと、
前記保持手段が前記複数の出力論理値を保持してから、前記新たなテスト入力パターンが入力された前記論理回路から出力された新たな複数の出力論理値が前記保持手段に保持されるまでの間に、前記複数の個別保持手段が保持する前記複数の出力論理値の一部又は全部が他の個別保持手段を経由することなく直接取り出される第１取出ステップと、
前記複数の個別保持手段が保持する前記複数の出力論理値の一部又は全部が他の個別保持手段を経由して取り出される第２取出ステップと、
前記第１取出ステップ及び前記第２取出ステップにおいて取り出された出力論理値と、前記論理回路に故障がない場合に予測される出力論理値又は特定の故障がある場合に予測される出力論理値とを比較する比較ステップと、
前記比較ステップにおける比較結果に基づいて前記論理回路の故障の有無を判定する故障判定ステップとを含む、故障検出方法。
【請求項１１】
前記第１取出ステップと前記第２取出ステップとの間に、
前記第１取出ステップと同期して、前記第１取出ステップにおいて取り出された前記出力論理値が圧縮される第１圧縮ステップと、
前記圧縮ステップにおいて圧縮された前記出力論理値が記憶される第１記憶ステップとを備え、
前記保持ステップから前記第１記憶ステップまでが所定の回数だけ繰り返される、請求項１０記載の故障検出方法。
【請求項１２】
前記第１記憶ステップと前記保持ステップの間に、制御手段が、前記保持手段が前記出力論理値を保持してから前記新たなテスト入力パターンが入力された前記論理回路から出力された新たな複数の出力論理値が前記保持手段に保持されるまでの時間を制御する制御ステップを含む、請求項１１記載の故障検出方法。
【請求項１３】
前記制御ステップにおいて、制御手段が、前記保持手段が前記出力論理値を保持してから前記新たなテスト入力パターンが入力された前記論理回路から出力された新たな複数の出力論理値が前記保持手段に保持されるまでの時間を短縮する、請求項１２記載の故障検出方法。
【請求項１４】
テスト入力パターンが入力された論理回路から出力された複数の出力論理値に基づいて当該論理回路の故障を検出する故障検出方法であって、
前記論理回路に初期テスト入力パターンの入力が行われる第１入力ステップと、
前記複数の出力論理値を保持手段が保持する保持ステップと、
前記保持手段が保持する前記複数の出力論理値が、新たなテスト入力パターンとして前記論理回路に対して入力される第２入力ステップと、
前記複数の出力論理値の一部又は全部が取り出される取出ステップと、
前記取出ステップにおいて取り出された出力論理値と、前記論理回路に故障がない場合に予測される出力論理値又は特定の故障がある場合に予測される出力論理値とを比較する比較ステップと、
前記比較ステップにおける比較結果に基づいて前記論理回路の故障の有無を判定する故障判定ステップとを含み、
前記保持ステップと前記第２入力ステップが所定の回数だけ繰り返され、
前記第２入力ステップと前記保持ステップとの間に、制御手段が、前記保持手段が前記出力論理値を保持してから前記新たなテスト入力パターンが入力された前記論理回路から出力された新たな複数の出力論理値が前記保持手段に保持されるまでの時間を制御する制御ステップを含む、故障検出方法。
【請求項１５】
前記保持手段と接続されたコンピュータに、請求項１０から１４のいずれかに記載の故障検出方法を実行させることが可能なプログラム。
【請求項１６】
前記保持手段と接続されたコンピュータが実行することが可能なコンピュータに読み取り可能な記録媒体であって、請求項１５記載のプログラムを記録する記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、故障検出システム、取出装置、故障検出方法、プログラム及び記録媒体に関し、特に、テスト入力パターンが入力された論理回路から出力された複数の出力論理値に基づいて当該論理回路の故障を検出する故障検出システム等に関する。
【背景技術】
【０００２】
近年の半導体論理回路の大規模化に伴い、半導体集積回路のテストに要するテスト入力パターン数が膨大なものとなっている。一方、半導体集積回路をシステムに組み込んだ後に行うシステムテストや、出荷後に行うフィールドテスト等ではテスト入力パターンを記憶する記憶容量が限られている。そこで、記憶すべきテストデータ量を削減しつつ高い故障検出率を達成することが重要となる。【０００３】
ここで、テスト対象となる半導体集積回路について述べる。一般に、半導体論理回路は主に順序回路である。順序回路は、アンド（ＡＮＤ）ゲート、ナンド（ＮＡＮＤ）ゲート、オア（ＯＲ）ゲート、ノア（ＮＯＲ）ゲート等の論理素子からなる組合せ回路部と、回路の内部状態を記憶するフリップフロップ（ＦＦ）とを含む。この場合、組合せ回路部は、外部入力線（ＰＩ）、フリップフロップの出力線である擬似外部入力線（ＰＰＩ）、外部出力線（ＰＯ）、フリップフロップの入力線である擬似外部出力線（ＰＰＯ）を有する。組合せ回路部への入力は、外部入力線より直接与えられるものと、擬似外部入力線を介して与えられるものがある。また、組合せ回路部からの出力は、外部出力線に直接現れるものと、擬似外部出力線に現れるものがある。【０００４】
順序回路の組合せ回路部をテストするためには、組合せ回路部の外部入力線と擬似外部入力線から所要のテスト入力パターンを入力し、組合せ回路部の外部出力線と擬似外部出力線からテスト応答を取り出す必要がある。【０００５】
しかし、順序回路のフリップフロップの出力線（擬似外部入力線）と入力線（擬似外部出力線）は、一般に、外部より直接アクセスすることができない。したがって、組合せ回路部のテストでは、擬似外部入力線の可制御性及び擬似外部出力線の可観測性が問題になる。【０００６】
上述の組合せ回路部のテストにおける可制御性及び可観測性の問題を解決する主な手法として、フルスキャン設計に基づくスキャンテスト方式がある。フルスキャン設計は、フリップフロップをスキャンフリップフロップに置き換えた上で、それらを用いて１本または複数本のスキャンチェーンを形成するものである。スキャンフリップフロップの動作はスキャンイネーブル（ＳＥ）信号線で制御される。例えば、ＳＥ＝０のとき、従来のフリップフロップと同じ動作をし、クロックパルスが与えられると、組合せ回路部からの値でスキャンフリップフロップの出力値が更新される。また、ＳＥ＝１のとき、同じスキャンチェーンにある他のスキャンフリップフロップと１つのシフトレジスタを形成し、クロックパルスが与えられると、外部から新しい値がスキャンフリップフロップにスキャンインされると同時に、スキャンフリップフロップに保持されていた値が外部へスキャンアウトされる。一般に、同じスキャンチェーンにあるスキャンフリップフロップは同じスキャンイネーブル信号線を共有するが、異なるスキャンチェーンのスキャンイネーブル信号線は同一の場合もあれば異なる場合もある。【０００７】
図１４を参照して、従来のスキャンテストについてさらに述べる。図１４は、スキャンテストのテストサイクルを示す図である。【０００８】
フルスキャン順序回路の組合せ回路部のテストは、スキャンシフトとスキャンキャプチャを繰り返すことによって行われる。スキャンシフトは、ＳＥ＝１のシフトモードで行われる。シフトモードにおいては、１つ又は複数のクロックパルスが与えられ、外部から１つ又は複数の新しい値がスキャンチェーン内のスキャンフリップフロップにスキャンインされる。また、それと同時に、そのスキャンチェーン内のスキャンフリップフロップに現存の１つ又は複数の値が外部へスキャンアウトされる。スキャンキャプチャは、ＳＥ＝０のキャプチャモードで行われる。キャプチャモードにおいては、１つのスキャンチェーンにあるすべてのスキャンフリップフロップに同時に１つのクロックパルスが与えられ、組合せ回路部の擬似外部出力線の値がすべてのスキャンフリップフロップに取り出されて保持される。【０００９】
スキャンシフトは、擬似外部入力線を介して組合せ回路部へテスト入力パターンを入力するためと、擬似外部出力線を介して組合せ回路部からテスト応答を取り出すために用いられる。また、スキャンキャプチャは、組合せ回路部のテスト応答をスキャンフリップフロップに取り出して保持するために用いられる。すべてのテスト入力パターンに対して、スキャンシフトとスキャンキャプチャを繰り返すことによって、組合せ回路部をテストすることができる。【００１０】
続いて、図１５を参照して、従来のスキャンテストによる故障検出について述べる。図１５は、本願発明の背景技術となる故障検出システム１０１を示すブロック図である。【００１１】
故障検出システム１０１は、取出装置１０７と、判定装置１１１と、パターン制御装置１１３とを備える。取出装置１０７は、取出部１１７と、記憶部１２１とを備える。判定装置１１１は、比較部１２９と、故障判定部１３１とを備える。パターン制御装置１１３は、テスト入力パターン保持部１３３と、展開回路１３５と、圧縮回路１３７とを備える。【００１２】
スキャンテスト方式では、組合せ回路部３へのテスト入力パターンの入力は、外部入力から直接行われる部分と、スキャンシフトによって行われる部分とがある。スキャンシフトによって、任意の論理値を任意のスキャンフリップフロップに設定することができるので、擬似外部入力線の可制御性の問題が解決される。組合せ回路部３からのテスト応答の取り出しは、外部出力から直接行われる部分と、スキャンシフトによって行われる部分とがある。スキャンシフトによって、取出部１１７が、任意のスキャンフリップフロップの出力値を取り出すことができるため、擬似外部出力線の可観測性の問題が解決される。なお、スキャンフリップフロップの個数は、通常、疑似外部出力線の個数と等しい。比較部１２９が、取り出された値を組合せ回路部３が正常である場合に予測される値と比較する。比較結果に基づき、故障判定部１３１が組合せ回路部３の故障の有無を判定する。【００１３】
通常、半導体集積回路に対してシステムテストやフィールドテストを行う場合、組み込み自己テスト（ＢＩＳＴ：Ｂｕｉｌｔ−Ｉｎ  Ｓｅｌｆ−Ｔｅｓｔ）が用いられている。ＢＩＳＴでは、特にテスト入力パターンを記憶するための記憶容量が限られている。したがって、テストデータ量を削減するための手法が開発されてきた。【００１４】
その一例がテスト入力パターンを圧縮して種パターン（シード）として扱う方法である。シードは、スキャンインされる前に展開される。また、スキャンアウトされる前に圧縮される。したがって、テストデータ量を削減することが可能となる。しかし、半導体集積回路の大規模化に伴って、さらなるテストデータ量の削減が必要とされている。【００１５】
ここで、図１６及び図１７を参照して、非特許文献１に記載されたマルチキャプチャ方式について述べる。マルチキャプチャ方式は、パーシャルスキャン設計の場合に故障検出率を維持するために用いられている。図１６は、マルチキャプチャ方式のテストサイクルを示す図である。図１７は、従来のマルチキャプチャ方式を用いた場合の手順を示すフロー図である。【００１６】
パーシャルスキャン設計では、スキャン設計されたフリップフロップの数を減らすことで回路サイズを削減している。しかし、スキャン設計されていないフリップフロップに対応する入力論理値が確定しない。すると、出力された論理値を取り出しても故障について得られる情報は少ないため、故障検出率が低下する。【００１７】
そこで、マルチキャプチャ方式では、図１６に示すように、各テスト入力パターンに対してキャプチャモードにおいて複数回のキャプチャが行われる。つまり、図１５のフリップフロップ５が取得した論理値が新たに入力テストパターンとして組合せ回路部３に入力される。すると、組合せ回路部３を通るたびにフリップフロップ５がキャプチャする値が徐々に確定していく。最終的には、全てのフリップフロップ５の論理値が確定する。よって、確定したテスト入力パターンに対して確定したテスト出力パターンが得られる。結果として、パーシャルスキャン設計の半導体集積回路においても故障検出率を維持することが可能となる。【００１８】
図１７を参照して、故障検出システム１０１を用いた場合の故障検出の手順を具体的に述べる。シードの入力が開始され（ステップＳＴ５０１）、シードが展開回路１３５により展開される（ステップＳＴ５０２）。シフトモードが開始され（ステップＳＴ５０３）、テスト入力パターンがフリップフロップ５にスキャンインされる（ステップＳＴ５０４）。続いて、キャプチャモードが開始され（ステップＳＴ５０５）、キャプチャが所定の回数だけ繰り返される（ステップＳＴ５０６）。ここでキャプチャが繰り返される度に、テスト入力パターンの値が徐々に確定していく。再びシフトモードが開始され（ステップＳＴ５０７）、フリップフロップ５の論理値がスキャンアウトされる（ステップＳＴ５０８）。続いて、未入力のシードがあればステップＳＴ５０１に戻り、なければ次へと進む（ステップＳＴ５０９）。取出部１１７がスキャンアウトされた圧縮データ（シグネチャ）を取り出す（ステップＳＴ５１０）。比較部１２９が、得られたシグネチャと組合せ回路部３が正常である場合に予測されるシグネチャを比較する（ステップＳＴ５１１）。比較結果に基づき、故障判定部１３１が、組合せ回路部３の故障の有無を判定する（ステップＳＴ５１２）。
【先行技術文献】
【非特許文献】
【００１９】
【非特許文献１】C. Lin,  Y.  Zorian  and  S.  Bhawmik,  “PSBIST:A  partial-scan  based  built-in  self-test  scheme,”  Proc.  IEEE  International  Test  Conf.,  1993,  pp.507-516.
【発明の概要】
【発明が解決しようとする課題】
【００２０】
非特許文献１の技術において、式（１）に示すように、テストパターン保持部１３３が記憶すべきテストデータ量は、テスト入力パターン数に比例する。また、式（２）に示すように、テスト出力パターン数は、テスト入力パターン数に等しい。さらに、故障検出率は、テスト出力パターン数と正の相関関係にある。したがって、テスト入力パターン数を減らすと、故障検出率が低下する。そのため、故障検出率を維持するためには、テスト入力パターン数を削減できなかった。結果として、テストデータ量を削減することができなかった。【００２１】
【数１】
2012046602.tif 000003
【００２２】
ゆえに、本発明は、記憶されるべきテスト入力パターンのテストデータ量を削減しつつ、故障検出率を向上させる故障検出システム等を提供することを目的とする。
【課題を解決するための手段】
【００２３】
本願発明の第１の観点は、テスト入力パターンが入力された論理回路から出力された複数の出力論理値に基づいて当該論理回路の故障を検出する故障検出システムであって、前記複数の出力論理値は、前記論理回路に対して新たなテスト入力パターンとして入力されるものであり、前記複数の出力論理値の一部又は全部を取り出す第１取出手段と、前記第１取出手段が取り出した出力論理値と、前記論理回路に故障がない場合に予測される出力論理値又は特定の故障がある場合に予測される出力論理値とを比較する比較手段と、前記比較手段による比較結果に基づいて前記論理回路の故障の有無を判定する故障判定手段とを備える故障検出システムである。【００２４】
本願発明の第２の観点は、第１の観点の故障検出システムであって、前記複数の出力論理値は、複数の個別保持手段に論理値を１つずつ保持させる保持手段に保持され、前記第１取出手段は、前記保持手段に保持された前記複数の出力論理値の一部又は全部を取り出すものであり、前記複数の個別保持手段が保持する出力論理値の一部又は全部を、他の個別保持手段を経由することなく直接取り出す。【００２５】
本願発明の第３の観点は、第２の観点の故障検出システムであって、前記第１取出手段は、前記保持手段が前記複数の出力論理値を保持してから、前記新たなテスト入力パターンが入力された前記論理回路から出力された新たな複数の出力論理値が前記保持手段に保持されるまでの間に、前記保持手段に保持された前記複数の出力論理値の一部又は全部を取り出す。【００２６】
本願発明の第４の観点は、第３の観点の故障検出システムであって、前記保持手段が前記出力論理値を保持してから前記新たなテスト入力パターンが入力された前記論理回路から出力された新たな複数の出力論理値が前記保持手段に保持されるまでの時間を制御する制御手段をさらに備える。【００２７】
本願発明の第５の観点は、第２から第４のいずれかの観点の故障検出システムであって、各前記個別保持手段に保持された前記出力論理値の故障検出への寄与を算出する算出手段と、前記寄与の大きさに基づいて各前記個別保持手段に順位を付ける順位付け手段とをさらに備え、前記第１取出手段は、前記複数の個別保持手段が保持する前記出力論理値のうち、前記順位に基づいて所定の個数のみを取り出す。【００２８】
本願発明の第６の観点は、第２から第５のいずれかの観点の故障検出システムであって、前記複数の個別保持手段が保持する出力論理値の一部又は全部を、他の個別保持手段を経由させて取り出す第２取出手段をさらに備え、前記比較手段は、前記第２取出手段が取り出した出力論理値と、前記論理回路に故障がない場合に予測される出力論理値又は特定の故障がある場合に予測される出力論理値との比較も行うものであり、前記第１取出手段が前記出力論理値を取り出す回数は、前記第２取出手段が前記出力論理値を取り出す回数以上である。【００２９】
本願発明の第７の観点は、第１から第６のいずれかの観点の故障検出システムであって、前記出力論理値のデータサイズを圧縮する第１圧縮手段と、前記出力論理値を記憶する第１記憶手段とをさらに備え、前記第１取出手段の取出処理と同期して、前記第１圧縮手段は、前記第１取出手段が取り出した前記出力論理値を圧縮し、前記第１記憶手段は、前記第１圧縮手段が圧縮した前記出力論理値を記憶する。【００３０】
本願発明の第８の観点は、テスト入力パターンが入力された論理回路から出力された複数の出力論理値の一部又は全部を取り出す取出装置であって、前記複数の出力論理値は、論理値を保持する保持手段により保持されると共に、前記論理回路に対して新たなテスト入力パターンとして入力されるものであり、前記保持手段は、論理値を１つずつ保持する複数の個別保持手段を有し、前記複数の個別保持手段が保持する出力論理値の一部又は全部を、他の個別保持手段を経由することなく直接取り出す。【００３１】
本願発明の第９の観点は、テスト入力パターンが入力された論理回路から出力された複数の出力論理値の一部又は全部を取り出す取出装置であって、前記複数の出力論理値は、論理値を保持する保持手段により保持されると共に、前記論理回路に対して新たなテスト入力パターンとして入力されるものであり、前記保持手段が前記出力論理値を保持してから前記新たなテスト入力パターンが入力された前記論理回路から出力された新たな複数の出力論理値が前記保持手段に保持されるまでの時間を制御する制御手段を備え、前記保持手段に保持された前記複数の出力論理値の一部又は全部を取り出す。【００３２】
本願発明の第１０の観点は、テスト入力パターンが入力された論理回路から出力された複数の出力論理値に基づいて当該論理回路の故障を検出する故障検出方法であって、前記論理回路に初期テスト入力パターンの入力が行われる第１入力ステップと、複数の個別保持手段に論理値を１つずつ保持させる保持手段が、前記複数の出力論理値を保持する保持ステップと、前記保持手段が保持する前記複数の出力論理値が、新たなテスト入力パターンとして前記論理回路に対して入力される第２入力ステップと、前記保持手段が前記複数の出力論理値を保持してから、前記新たなテスト入力パターンが入力された前記論理回路から出力された新たな複数の出力論理値が前記保持手段に保持されるまでの間に、前記複数の個別保持手段が保持する前記複数の出力論理値の一部又は全部が他の個別保持手段を経由することなく直接取り出される第１取出ステップと、前記複数の個別保持手段が保持する前記複数の出力論理値の一部又は全部が他の個別保持手段を経由して取り出される第２取出ステップと、前記第１取出ステップ及び前記第２取出ステップにおいて取り出された出力論理値と、前記論理回路に故障がない場合に予測される出力論理値又は特定の故障がある場合に予測される出力論理値とを比較する比較ステップと、前記比較ステップにおける比較結果に基づいて前記論理回路の故障の有無を判定する故障判定ステップとを含む。【００３３】
本願発明の第１１の観点は、第１０の観点の故障検出方法であって、前記第１取出ステップと前記第２取出ステップとの間に、前記第１取出ステップと同期して、前記第１取出ステップにおいて取り出された前記出力論理値が圧縮される第１圧縮ステップと、前記圧縮ステップにおいて圧縮された前記出力論理値が記憶される第１記憶ステップとを備え、前記保持ステップから前記第１記憶ステップまでが所定の回数だけ繰り返される。【００３４】
本願発明の第１２の観点は、第１１の観点の故障検出方法であって、前記第１記憶ステップと前記保持ステップの間に、制御手段が、前記保持手段が前記出力論理値を保持してから前記新たなテスト入力パターンが入力された前記論理回路から出力された新たな複数の出力論理値が前記保持手段に保持されるまでの時間を制御する制御ステップを含む。【００３５】
本願発明の第１３の観点は、第１２の観点の故障検出方法であって、前記制御ステップにおいて、制御手段が、前記保持手段が前記出力論理値を保持してから前記新たなテスト入力パターンが入力された前記論理回路から出力された新たな複数の出力論理値が前記保持手段に保持されるまでの時間を短縮する。【００３６】
本願発明の第１４の観点は、テスト入力パターンが入力された論理回路から出力された複数の出力論理値に基づいて当該論理回路の故障を検出する故障検出方法であって、前記論理回路に初期テスト入力パターンの入力が行われる第１入力ステップと、前記複数の出力論理値を保持手段が保持する保持ステップと、前記保持手段が保持する前記複数の出力論理値が、新たなテスト入力パターンとして前記論理回路に対して入力される第２入力ステップと、前記複数の出力論理値の一部又は全部が取り出される取出ステップと、前記取出ステップにおいて取り出された出力論理値と、前記論理回路に故障がない場合に予測される出力論理値又は特定の故障がある場合に予測される出力論理値とを比較する比較ステップと、前記比較ステップにおける比較結果に基づいて前記論理回路の故障の有無を判定する故障判定ステップとを含み、前記保持ステップと前記第２入力ステップが所定の回数だけ繰り返され、前記第２入力ステップと前記保持ステップとの間に、制御手段が、前記保持手段が前記出力論理値を保持してから前記新たなテスト入力パターンが入力された前記論理回路から出力された新たな複数の出力論理値が前記保持手段に保持されるまでの時間を制御する制御ステップを含む。【００３７】
本願発明の第１５の観点は、前記保持手段と接続されたコンピュータに、第１０から１４のいずれかの観点の故障検出方法を実行させることが可能なプログラムである。【００３８】
本願発明の第１６の観点は、前記保持手段と接続されたコンピュータが実行することが可能なコンピュータに読み取り可能な記録媒体であって、第１５の観点のプログラムを記録する記録媒体である。【００３９】
なお、本願各請求項の発明に係る故障検出システムは、初期テスト入力パターンを記憶する初期パターン記憶手段をさらに備えるものであってもよい。初期パターン記憶手段が記憶するパターンは、初期テスト入力パターンが圧縮された種パターン（シード）であってもよい。このとき、故障検出システムは、種パターンを展開する展開手段を備えるものであってもよい。また、故障検出システムは、第２取出手段が取り出した出力論理値を圧縮する、第２圧縮手段を備えるものであってもよい。さらに、１つの圧縮手段が、第１圧縮手段と第２圧縮手段を兼ねるものであってもよい。【００４０】
また、本願各請求項の発明に係る故障検出システムは、第２取出手段が取り出した出力論理値を記憶する、第２記憶手段を備えるものであってもよい。さらに、１つの記憶手段が、第１記憶手段と第２記憶手段を兼ねるものであってもよい。
【発明の効果】
【００４１】
本願発明の各観点によれば、取出手段又は取出装置により、１つの初期テスト入力パターンから複数のテスト出力パターンを得ることが可能となる。キャプチャの度に得られるテスト出力パターンが、初期テスト入力パターンとは別の新たなテスト入力パターンとして論理回路に入力されるからである。このとき、テストデータ量は、従来と同様に、式（３）で表される。しかし、テスト出力パターン数は、式（４）で表される。【００４２】
【数２】
2012046602.tif 000004
【００４３】
テストデータ量は、キャプチャ数によらず初期テスト入力パターン数に正比例する。そのため、キャプチャ数を増やすことで、初期テスト入力パターン数を減らして記憶されるべきテスト入力パターンのテストデータ量を削減しつつ、故障検出率を向上させることが可能となる。【００４４】
図１８を参照して、従来のマルチキャプチャ方式で検出されなかった故障を本願各請求項に係る発明で検出できることを具体的に説明する。図１８は、従来のマルチキャプチャ方式を用いた場合の一例を示す時間展開図である。【００４５】
簡単のため、マルチキャプチャの回数は２回であるとする。図１８には、シフトモードにおいて初期テスト入力パターンがスキャンインした直後から２回目にキャプチャした後までの論理値の流れが示されている。【００４６】
ここで、Ａで示されているＮＯＲゲートに注目する。このＮＯＲゲートが正常であれば、フリップフロップ５３は、論理値０を保持すべきである。しかし、ＮＯＲゲートの故障（例えば遅延故障）のために、１回目のキャプチャ後のフリップフロップ５３は、論理値１を保持しているとする。従来のマルチキャプチャ方式では、最後にキャプチャされた出力論理値のみが取り出されていた。つまり、フリップフロップ５３の論理値は、所定の回数（ここでは２回）だけキャプチャされてシフトモードにならない限り、取り出されていなかった。一方、２回目のキャプチャ後には、フリップフロップ５３は、正常な場合と同じ０を保持している。したがって、従来の方式では、このＮＯＲゲートの故障は検出されなかった。【００４７】
しかし、本願発明の各観点によれば、１回目キャプチャ後の保持手段が保持する値を取出手段又は取出装置が取り出す。これにより、従来の方法では他のテスト入力パターンでしか検出できなかった故障も、同じ初期テスト入力パターンで検出することが可能となる。したがって、記憶容量の必要量を削減することが可能となる。【００４８】
また、本願発明の第２の観点によれば、第１取出手段が、各個別保持手段から直接的に出力論理値を取り出す。そのため、多数の外部出力線及び個別保持手段が存在する場合であっても、速やかに取り出したい出力論理値を取り出すことが可能となる。しかも、出力論理値を取り出す際に、他の個別保持手段が保持する論理値を上書きせずに取り出すことが可能となる。【００４９】
さらに、本願発明の第３の観点によれば、第１取出手段が、保持手段による出力論理値の保持と同期して（保持手段が出力論理値を保持してから、新たなテスト入力パターンが入力された論理回路から出力された新たな複数の出力論理値が保持手段に保持されるまでの間に）、保持手段に保持された出力論理値を取り出す。このため、第１取出手段が、キャプチャの度に保持手段が取り出して保持する値を、次にキャプチャされる出力論理値に上書きされることなく、確実に取り出すことができる。【００５０】
さらに、本願発明の第４、９、１２又は１４の観点によれば、クロック周期を長くすることで縮退故障のみを検出し、クロック周期を短くすることで遅延故障を含めて検出することが可能となる。これにより、故障原因の解析やデバッグに資する情報を得ることが可能となる。【００５１】
さらに、本願発明の第１３の観点によれば、長いクロック周期でＩＲドロップを抑えながら複数回テスト対象の論理回路にテスト入力パターンを入力した後に、クロック周期を短縮して遅延故障を検出することが可能となる。ここで、キャプチャサイクルにおいてテスト対象回路から出力されたパターンを再度テスト入力パターンとして回路に入力することを２−３回繰り返すことにより、少ない遷移数のみを生じさせるテスト入力パターンを得られることが知られている。そのため、キャプチャ時の消費電力やノイズを低減して遅延故障を精度よく検出することが可能となる。【００５２】
また、本願発明の第５の観点によれば、第１取出手段が、例えば故障検出率の向上という所定の目的のために特に有効な保持手段が保持する値を重点的に取り出すことが可能となる。よって、さらに効率よく故障検出率を向上させることが可能となる。すなわち、さらにテストデータ量を削減することが可能となる。加えて、保持手段の保持処理に同期して全ての保持手段が保持する値を取り出す場合と比べて、出力されるデータ量を削減することが可能となる。さらに、回路サイズを縮小することも可能となる。【００５３】
さらに、１つのテスト入力パターンに対して、スキャンシフト時に与えられるクロックパルスの数は一般に多い。例えば、あるスキャンチェーン内のすべてのスキャンフリップフロップに新しい値を設定するために、数百から数千に上るスキャンフリップフロップ個数分のクロックパルスを与える必要がある。このため、式（５）に示すように、テストに要する時間の大半は、シフトモードに費やされる。マルチキャプチャ方式において、キャプチャモード時にクロックが数個から数十個与えられたとしても、テスト時間の大半はシフトモードに費やされる。【００５４】
【数３】
2012046602.tif 000005
【００５５】
従来は、スキャンインされるテスト入力パターン数を削減できないことから、テスト時間を削減できなかった。しかし、本願各請求項に係る発明によれば、シフトモードの時間を短縮することができる。特に、スキャンインされる初期テスト入力パターン数の削減により、スキャンインの時間が短縮される。したがって、テスト時間を短縮することが可能となる。【００５６】
従来、故障検出率を向上させるために多数のテスト入力パターンを費やす結果、テスト時間が増大していたこととは対照的といえる。出荷後のフィールドテストにおいては、テスト時間は半導体集積回路の非動作時に限られているため、テスト時間の短縮は特に重要である。【００５７】
しかも、本願発明の第６の観点によれば、キャプチャモードのまま保持手段の保持に同期して取り出す第１取出手段が、シフトモードで取り出す第２取出手段よりも頻繁にテスト出力を取り出す。すなわち、スキャンアウトの時間も短縮することができる。そのため、テスト時間をさらに短縮することが容易となる。【００５８】
さらに、本願発明の第７又は第１１の観点によれば、保持処理及びテスト処理と同期して、取出処理、圧縮処理及び記憶処理が行われる。したがって、シフトモードで記憶する場合と比べて、マルチキャプチャによって取り出される大量のデータをキャプチャモードのまま迅速に記憶させることが可能となる。よって、スキャンアウトされるパターン数を削減することが可能となり、テスト時間の短縮がさらに容易となる。また、出力されるデータ量も削減することがさらに容易となる。
【図面の簡単な説明】
【００５９】
【図１】本願発明の実施の形態に係る故障検出システムの一例を示すブロック図である。
【図２】図１の故障検出システムを用いた場合の手順の一例を示すフロー図である。
【図３】図１の故障検出システムを用いた場合の一例を示す時間展開図である。
【図４】選択装置９がフリップフロップ５を選択する手順の一例を示すフロー図である。
【図５】図１の故障検出システムを用いた場合の実験結果の一例を示すグラフである。
【図６】テストベクトル数と故障検出率との関係を示すグラフである。
【図７】論理値を取り出すフリップフロップの割合と回路のオーバーヘッドとの関係を示す図である。
【図８】クロック周期を変更することができる故障検出システムの一例を示すブロック図である。
【図９】キャプチャモードにおいてクロック周期を変更しつつ、（ａ）全てのクロックで故障を検出する場合、（ｂ）遅延故障のみを検出する場合のテストサイクルを示す図である。
【図１０】ＳＣＯＡＰ解析を用いる故障検出システムの一例を示すブロック図である。
【図１１】３つの選択方法によりフリップフロップを順位付けして中間取出を行ったときの故障検出率のリストを示す図である。
【図１２】フリップフロップの順位付けに要する時間を比較して示す図である。
【図１３】圧縮回路の一例を示す図である。
【図１４】スキャンテストのテストサイクルを示す図である。
【図１５】本願発明の背景技術となる故障検出システムを示すブロック図である。
【図１６】マルチキャプチャ方式のテストサイクルを示す図である。
【図１７】従来のマルチキャプチャ方式を用いた場合の手順を示すフロー図である。
【図１８】従来のマルチキャプチャ方式を用いた場合の一例を示す時間展開図である。
【発明を実施するための形態】
【００６０】
以下、図面を参照して、本願発明の実施例について述べる。なお、本願発明は、実施例に限定されるものではない。
【実施例１】
【００６１】
まず、図１を参照して本願発明の実施の形態に係る故障検出システムの構成について述べる。図１は、本願発明の実施の形態に係る故障検出システムの一例を示すブロック図である。【００６２】
故障検出システム１は、組合せ回路部３（本願請求項の「論理回路」の一例）から出力された複数の出力論理値に基づいて組み合わせ回路部３の故障を検出する故障検出システムである。組合せ回路部３は、複数の出力論理値を保持する複数のフリップフロップ５１〜５７（本願請求項の「個別保持手段」の一例）に接続されている。フリップフロップ５は、それぞれ論理値を１つずつ保持する。なお、以後、特に必要が無い限り、添え字を省略して「フリップフロップ５」と記す。また、複数のフリップフロップ５を総称して保持部４（本願請求項の「保持手段」の一例）とする。さらに、組合せ回路部３からの出力は全て疑似外部出力線であると仮定し、疑似外部出力線の個数（出力論理値の個数）とフリップフロップ５の個数とが等しいと仮定している。しかし、疑似外部出力線の個数とフリップフロップ５の個数は、異なってもよい。【００６３】
故障検出システム１は、図１５に示した従来の故障検出システム１０１と同様に、マルチキャプチャ方式を用いる。【００６４】
故障検出システム１は、取出装置７（本願請求項の「取出手段」の一例）と、選択装置９と、判定装置１１と、パターン制御装置１３とを備える。取出装置７は、フリップフロップ５が保持する出力論理値の一部又は全部を取り出す。選択装置９は、取出手段７が重点的に値を取り出すべきフリップフロップを選択する。判定装置１１は、取り出された出力論理値と予測された値とを比較し、組合せ回路部３の故障の有無を判定する。パターン制御装置１３は、組合せ回路部３へのテスト入力パターン及び組合せ回路部３からのテスト出力パターンのサイズ等を制御する。【００６５】
故障検出システム１の最大の特徴は、取出装置７にある。取出装置７は、キャプチャモード取出部１５（本願請求項の「第１取出手段」の一例）と、シフトモード取出部１７（本願請求項の「第２取出手段」の一例）と、キャプチャモード記憶部１９（本願請求項の「第１記憶手段」の一例）と、シフトモード記憶部２１（本願請求項の「第２記憶手段」の一例）とを備える。【００６６】
キャプチャモード取出部１５は、キャプチャモードにおいてフリップフロップ５が複数の出力論理値をキャプチャするキャプチャ処理（本願請求項の「保持処理」の一例）及び新たなテスト入力パターンに基づく組合せ回路部３のテスト処理（本願請求項の「テスト処理」の一例）と同期して、出力論理値の一部又は全部を取り出す。ここで、同期して取り出すとは、フリップフロップ５が出力論理値をキャプチャしてから次の出力論理値をキャプチャするまでの間に取り出すことをいう。また、キャプチャモード取出部１５は、フリップフロップ５ｉ（１≦ｉ≦７）が保持する出力論理値の一部又は全部を、他のフリップフロップ５ｋ（１≦ｋ≦７，ｋ≠ｉ）を経由することなく直接取り出す。さらに、キャプチャモード取出部１５は、取り出した出力論理値をキャプチャモード記憶部１９に記憶させる。【００６７】
シフトモード取出部１７は、シフトモードにおいてフリップフロップ５がスキャンアウトした値を取り出す。また、取り出した出力論理値をシフトモード記憶部２１に記憶させる。ここで、シフトモード取出部１７の取り出しは、例えばテスト処理がすべて終了して取り出しており、キャプチャ処理及びテスト処理と同期するものではない。また、シフトモード取出部１７は、フリップフロップ５ｉ（１≦ｉ≦７）が保持する出力論理値の一部又は全部を、他のフリップフロップ５ｋ（１≦ｋ≦７，ｋ≠ｉ）を経由させて取り出す。【００６８】
選択装置９は、シミュレーション部２３と、算出部２５（本願請求項の「算出手段」の一例）と、順位付け部２７（本願請求項の「順位付け手段」の一例）とを備える。シミュレーション部２３は、組合せ回路部３の故障シミュレーションを行う。算出部２５は、故障シミュレーションの結果に基づいて、各フリップフロップ５の故障検出への寄与を算出する。順位付け部２７は、寄与の大きさに基づいて各フリップフロップ５に順位を付ける。判定装置１１は、比較部２９と故障判定部３１とを備える。比較部２９は、取り出された値と予測された値とを比較する。ここで、予測された値とは、組合せ回路部３に故障がない場合の出力論理値であると予測された値でもよいし、組合せ回路部３に特定の故障がある場合の出力論理値であると予測された値でもよい。故障判定部３１は、比較結果に基づいて組合せ回路部３の故障の有無を判定する。パターン制御装置１３は、初期テスト入力パターン保持部３３と、展開回路３５と、圧縮回路３７とを備える。初期テスト入力パターン保持部３３は、組合せ回路部３に入力されるテストパターンを備える。この初期テスト入力パターンは、圧縮された種パターン（シード）であってもよい。以後、本実施例では、初期テスト入力パターン保持部３３が有するパターンは、シードであることを前提とする。【００６９】
続いて、図２を参照して、故障検出システム１を用いた故障検出の手順について述べる。図２は、故障検出システム１を用いた場合の手順の一例を示すフロー図である。【００７０】
ステップＳＴ００１において、初期テスト入力パターン保持部３３が有するシードのうちの１つが選択され、組合せ回路部３への入力が開始される。ステップＳＴ００２において、選択されたシードが展開回路３５により展開される。ステップＳＴ００３において、スキャンイネーブル信号が１とされ、シフトモードとなる。ステップＳＴ００４において、展開された初期テスト入力パターンがクロック信号に合わせてフリップフロップ５へとスキャンインされる。【００７１】
ステップＳＴ００５において、スキャンイネーブル信号が０とされ、キャプチャモードとなる。ステップＳＴ００６において、フリップフロップ５が、クロック信号に合わせて、組合せ回路部３からの出力論理値をキャプチャする。ステップＳＴ００７において、キャプチャモード取出部１５が、フリップフロップ５のキャプチャ処理と同期してフリップフロップ５が保持する値を取り出す。また、フリップフロップ５は、保持する値を新たなテスト入力パターンとして組合せ回路部３に与える。さらに、組合せ回路部３は、与えられた新たなテスト入力パターンに基づいてテスト処理を行う。【００７２】
ここで、キャプチャモード取出部１５は、キャプチャモードの途中で出力論理値を取り出す「中間取出」を行っている。従来は、キャプチャモードに続くシフトモードにおいてのみ出力論理値の取り出しが行われており、キャプチャモード内での取り出しは行われていなかった。この中間取出を行うことにより、初期テストパターン数を削減してテストデータ量を削減しつつ、故障検出率を向上させることが可能となる。【００７３】
また、キャプチャモード取出部１５によって値が取り出されるフリップフロップ５は、選択装置９が選択したフリップフロップ（本実施例では、５３、５５、５７）に限られる。そのため、テスト時間当たりの故障検出率を向上させることが可能となる。フリップフロップを選択する手順は、後に述べる。【００７４】
ステップＳＴ００８において、キャプチャモード取出部１５が取り出した値は、圧縮回路３７が圧縮してデータサイズを縮小し、キャプチャモード記憶部１９が記憶する。ステップＳＴ００６からステップＳＴ００８までが決められた回数（Ｎ回）だけ繰り返された後、次のステップへと進む。【００７５】
ステップＳＴ００９において、スキャンイネーブル信号が１とされ、シフトモードとなる。ステップＳＴ０１０において、フリップフロップ５に保持されていた値がクロック信号に合わせてシフトモード取出部１７へとスキャンアウトされる。また、スキャンアウトされた値は、圧縮回路３７により圧縮されてシフトモード記憶部２１に記憶される。【００７６】
ここで、シフトモード取出部１７による取り出しは、シフトモードにおける取り出しであるため、キャプチャ処理及びテスト処理と同期したものではない。シフトモードでの取り出しには多くの時間を要する。そこで、キャプチャモード取出部１５による取り出しの回数を少なくともシフトモード取出部１７による取り出しの回数以上とすることにより、テスト時間全体を短縮することが可能である。【００７７】
ステップＳＴ０１１において、判定装置１１は、初期テスト入力パターン保持部３３に未入力のシードがあるか否かを判定する。未入力のシードがあれば、ステップＳＴ００１に戻る。未入力のシードがなければ、次のステップへと進む。【００７８】
ステップＳＴ０１２において、判定装置１１がキャプチャモード記憶部１９に記憶された圧縮データ（シグネチャ）を読み出す。同時に、ステップＳＴ０１３において、判定装置１１は、シフトモード記憶部２１に記憶されたシグネチャも読み出す。ステップＳＴ０１４において、比較部２９は、読み出された値と、組合せ回路部３が正常である場合に予測される値又は特定の故障がある場合に予測される値とを比較する。ステップＳＴ０１５において、故障判定部３１は、比較部２９による比較結果に基づいて、組合せ回路部３の故障の有無を判定する。【００７９】
続いて、図３を参照して、故障検出システム１を用いた場合の故障検出の具体例について述べる。図３は、故障検出システム１を用いた場合の一例を示す時間展開図である。【００８０】
故障検出システム１を用いることにより、図３中にＡで示した故障しているＮＯＲ素子Ａの故障を検出することができる。１回目キャプチャ後のフリップフロップ５３の出力論理値をキャプチャモード取出部１５が取り出すからである。ＮＯＲ素子が正常であれば、１回目キャプチャ後のフリップフロップ５３の出力論理値として０が取り出される。一方、ＮＯＲ素子が故障していれば、１が取り出される。【００８１】
また、シフトモードにおいてシフトモード取出部１７が全てのフリップフロップ５の値を取り出すため、従来の故障検出システムよりも取り出される出力論理値が少なくなることはない。結果として、キャプチャモード取出部１５が取り出したテスト出力パターンの分だけ故障検出率が向上する。【００８２】
続いて、図４を参照して、故障検出率を向上させる上で特に効率のよいフリップフロップ５を選択する手順について述べる。図４は、選択装置９がフリップフロップ５を選択する手順の一例を示すフロー図である。【００８３】
ステップＳＴ１０１において、全てのフリップフロップ５の値を取り出し可能とする。ステップＳＴ１０２において、シミュレーション部２３が、全てのテスト入力パターンを用いて故障シミュレーションを行う。【００８４】
ステップＳＴ１０３において、算出部２５が、それぞれのフリップフロップ５の値を取り出すことによる故障検出率の増加分（本願請求項の「寄与」の一例）を算出する。ステップＳＴ１０４において、順位付け部２７が、故障検出率の増加分が大きいフリップフロップ５から順に順位を付ける。ステップＳＴ１０５において、選択装置９が、フリップフロップ５に付けられた順位に基づいて、故障検出率の向上に特に貢献するフリップフロップ５を選択する。ここで、テスト時間の短縮等の目的のために、キャプチャモード取出部１５が、所定の順位までのフリップフロップ５の値のみを取り出すこととしてもよい。【００８５】
続いて、キャプチャモード取出部１５と、選択されたフリップフロップ５とを接続する。ここでいう「接続」は、電気的に接続されればどのような手段でもよい。例えば、オフになっていたスイッチをオンとすることも含まれるし、物理的に結線することも含まれる。【００８６】
こうして、キャプチャモード取出部１５は、特に効率のよいフリップフロップ５の値のみを取り出すことが可能となる。故障検出の効率が上がることで、テストデータ量をさらに削減することも可能となる。【００８７】
続いて、図５を参照して、故障検出システム１を用いた実験結果について述べる。図５は、故障検出システム１を用いた場合の実験結果の一例を示すグラフである。横軸は、キャプチャモード取出部１５によって値が取り出されるフリップフロップ５の比率を示す。縦軸は、故障検出率を示す。【００８８】
図５において、「０％」は、キャプチャモード取出部１５をどのフリップフロップ５とも接続しない場合を意味する。「１００％」は、キャプチャモード取出部１５を全てのフリップフロップ５と接続する場合を意味する。ここで、今回の実験では、ゲート数を３８，４１７個、マルチキャプチャのキャプチャ回数を５回とした。【００８９】
図５の実験結果から、キャプチャモード取出部１５を接続するフリップフロップ１５の比率を大きくするほど故障検出率が向上することが分かる。また、少数のフリップフロップのみを選択したときの故障検出率の増加率（グラフの傾き）が最も大きく、一定の比率以上では、故障検出率の伸びが飽和している。このことから、故障検出率向上のために効率よいフリップフロップを選択できていることも分かる。１００％近くのフリップフロップ５をキャプチャモード取出部１５と接続することにより、故障検出率が約６％増加した。この増加分は、式（３）に示したように、キャプチャ回数を増やすことで増加させることが可能である。【００９０】
続いて、図６を用いて中間取出を行うことで、テストベクトル数を減少させることができる点について説明する。図６は、テストベクトル数と故障検出率との関係を示すグラフである。横軸はテストベクトル数を表し、縦軸は故障検出率を表す。図６には、中間取出を行わない場合と、２０％、５０％及び１００％のフリップフロップ５について５回キャプチャを行って中間取出を行う場合について示す。【００９１】
図６を参照して、同じテストベクトル数で比較した場合、中間取出を行う方が故障検出率が向上したことが分かる。また、より多くのフリップフロップの値の中間取出を行う方が故障検出率が向上することが示されている。加えて、２０％のフリップフロップ５について中間取出を行うだけでも効果があることが分かる。【００９２】
従来の故障検出方法を用いた場合、故障検出率を例えば９５％から９８％にするのに、従来は約２倍のテスト入力パターンを要していた。本願発明の実施の形態に係る故障検出方法は、従来の方法に加えて用いることができるものである。したがって、テスト入力パターンのテストデータ量を削減しつつ、従来の方法で得られた故障検出率をさらに向上させることが可能となる。【００９３】
さらに、図７を用いて、部分的にフリップフロップの値を取り出すことでオーバーヘッド率を抑えられる点について述べる。図７は、論理値を取り出すフリップフロップの割合と回路のオーバーヘッドとの関係を示す図である。横軸は、中間取出を行うフリップフロップ５の割合を表す。縦軸は、回路のオーバーヘッドの割合を表す。【００９４】
図７を参照して、中間取出を行うフリップフロップ５の割合にほぼ正比例して回路のオーバーヘッドが増大していることが分かる。例えば、１００％のフリップフロップについて中間取出を行う場合、オーバーヘッドの増加は９．３％である。一方、２０％のフリップフロップの場合、オーバーヘッドの増加は２．０％にとどまる。したがって、必要に応じてフリップフロップを選択して中間取出を行うことにより、オーバーヘッドの増加を抑えつつ故障検出率を向上させることが可能である。
【実施例２】
【００９５】
続いて、キャプチャモードにおいてクロック周期を変更する処理について説明する。クロック周期を変更することにより、異なる種類の故障検出が可能となる。また、テスト時の消費電力やノイズを低減させることが可能となる。なお、クロック周期は、フリップフロップ５が組合せ回路部３からの複数の出力論理値を保持してから、新たなテスト入力パターンが入力された組合せ回路部３から出力された新たな複数の出力論理値がフリップフロップ５に保持されるまでの間に対応する。【００９６】
図８は、クロック周期を変更することができる故障検出システムの一例を示すブロック図である。図９は、キャプチャモードにおいてクロック周期を変更する場合におけるテストサイクルを示す図である。図９（ａ）全てのクロックで故障を検出する場合、図９（ｂ）は、遅延故障のみを検出する場合について説明する。【００９７】
図８において、故障検出システム２０１は、クロック制御部２１８（本願請求項の「制御手段」の一例）を備える点以外は、図１の故障検出システム１と同様の構成である。クロック制御部２１８は、フリップフロップ５が組合せ回路部３からの出力論理値をキャプチャする周期、及び、フリップフロップ５が保持する値を新たなテスト入力パターンとして組合せ回路部３に与える周期を制御する。【００９８】
マルチキャプチャを行うと、テスト対象回路である組合せ回路部３に複数回テスト入力パターンが与えられる。このとき、３回目程度以降はテスト入力パターンの入力によって組合せ回路部３内の素子の論理値が遷移する割合（トグル率）が大きく減少することが知られている。一般に、トグル率は、ランダムなテスト入力パターンよりもスキャンテストで小さく、ユーザーの通常使用ではさらに小さい。典型的には、ランダムなテスト入力パターンでは５０％程度、スキャンテストでは２０−３０％程度、ユーザーの通常使用では５％程度と言われている。複数回テスト入力パターンを組合せ回路部３に入力することにより、ユーザーの通常使用に近づくことがトグル率の低下の一因として考えられる。論理値の遷移は、消費電力ひいてはノイズの増大につながるため、トグル率を抑えられれば精度よく故障検出を行うことが可能となる。【００９９】
そこで、図９（ａ）に示すように、例えば最初の４クロックでは周期を長めにとり、縮退故障の検出のみを行う。初めの２−３クロックでは、トグル率が高いと考えられるため、クロックの周期を短くすると多数の遷移と電圧の急激な変化（ＩＲドロップ）を招く。すると、回路が誤動作し、誤った出力論理値をフリップフロップ５がキャプチャする可能性がある。初めの方のクロック周期を長くとることにより、このようなテスト誘発性の歩留り損失リスクを避けられる。クロック周期が長いため、クロックタイミングに依存して検出される遅延故障は検出できないものの、クロックタイミングに依存しない縮退故障を検出可能である。【０１００】
後に続く３クロックでは、クロック制御部２１８が短縮したクロックの周期で、遅延故障を含めて検出が行われる。すでに組合せ回路部３にテスト入力パターンを４回通している。そのため、トグル率の低いテスト入力パターンとなっており、クロック周期を短縮しても電圧の過度の変化が起こりにくくなっている。したがって、遅延故障検出に伴う消費電力及びノイズを低減することが可能である。【０１０１】
また、図９（ｂ）に示すように、後の３クロックで検出される遅延故障のみを検出対象としてもよい。このためには、例えば、キャプチャモード取出部２１５をキャプチャイネーブル信号線（ＣＥ）で制御することとすればよい。具体例として、フリップフロップ５が短い周期でキャプチャするとき、ＣＥ＝０としてキャプチャモード取出部２１５にフリップフロップ１０５の論理値を取り出させる。一方、それ以外のときは、ＣＥ＝１としてキャプチャモード取出部２１５にフリップフロップ５の論理値を取り出させないこととしてもよい。
【実施例３】
【０１０２】
さらに、フリップフロップの順位付けを行うに際し、シミュレーションを行う代わりにＳＣＯＡＰ（Sandia  Controlability  Observability  Analysis  Program）解析として知られる手法を用いてもよい。これにより、順位付けに要する計算量を減少させることが可能である。【０１０３】
図１０は、ＳＣＯＡＰ解析を用いる故障検出システムの一例を示すブロック図である。図１０において、故障検出システム３０１は、図１のシミュレーション部２３及び算出部２５の代わりに可制御性算出部３２４及び可観測性算出部３２６（可制御性算出部３２４及び可観測性算出部３２６は、本願請求項の「算出手段」の一例）を備える点以外は、図１の故障検出システム１と同様の構成である。可制御性算出部３２４は、組合せ回路部３内の素子の可制御性を算出する。可観測性算出部３２６は、組合せ回路部３内の素子及びフリップフロップ５の可観測性を算出する。順位付け部３２７は、算出された可観測性が大きいフリップフロップ５から順に順位を付ける。比較及び故障判定については、図１の故障検出システム１と同様に行われる。【０１０４】
図１１を参照して、ＳＣＯＡＰ解析による順位付けの効果について述べる。図１１は、３つの選択方法によりＦＦを順位付けして中間取出を行ったときの故障検出率のリストを示す図である。【０１０５】
図１１に示すように、複数の回路のそれぞれについて２０％のフリップフロップ５について中間取出を行った。その結果、いずれの回路においても、ＳＣＯＡＰ解析をふまえてフリップフロップ５を選択した場合、シミュレーションを用いた場合ほどではないが、ランダムに２０％のフリップフロップを選択した場合よりも故障検出率の向上が見られた。【０１０６】
図１２は、フリップフロップの順位付けに要する時間を比較して示す図である。図１２に示すように、ＳＣＯＡＰ解析を用いてフリップフロップ５を選択する場合、シミュレーションを用いる場合と比べ、要するＣＰＵ時間が大幅に短縮された。【０１０７】
なお、ステップＳＴ００４において、スキャンインとスキャンアウトは同時に行われるものであってもよい。すなわち、ステップＳＴ００４において、展開された初期テスト入力パターンがクロック信号に合わせてフリップフロップ５へとスキャンインされると同時に、フリップフロップ５に保持されていた値がシフトモード取出部１７へとスキャンアウトされるものであってもよい。スキャンインとスキャンアウトを同時に行うことにより、シフトモードの時間を短縮することが可能である。ステップＳＴ０１０においても同様である。【０１０８】
また、図２のフローにおけるステップＳＴ００８において、キャプチャモード記憶部１９による記憶処理と圧縮回路３７による圧縮処理とは、どちらが先に行われてもよい。また、圧縮回路３７が圧縮した出力をキャプチャモード取出部１５が取り出すものであってもよい。同様のことがシフトモード取出部１７、シフトモード記憶部２１及び圧縮回路３７の処理の順序についてもいえる。【０１０９】
さらに、ステップＳＴ０１２の読み出し処理は、ステップＳＴ０１１に続く繰り返し処理におけるステップＳＴ００４と共に実行されることとしてもよい。さらに、テスト時間が長くなるおそれはあるものの、ステップＳＴ００６からステップＳＴ００８までの処理の繰り返し処理の中にステップＳＴ０１２の処理を含めてもよい。ステップＳＴ０１３からステップＳＴ０１５の処理についてもステップＳＴ０１２と同様である。【０１１０】
さらに、初期テスト入力パターン保持部３３は、例えば線形帰還シフトレジスタ（ＬＦＳＲ；Ｌｉｎｅａｒ  Ｆｅｅｄｂａｃｋ  Ｓｈｉｆｔ  Ｒｅｇｉｓｔｅｒ）のようなテストパターン発生器を有するものであってもよい。この場合、初期テスト入力パターンは、初期テスト入力パターン保持部３３が有するシードを基にＬＦＳＲが次々と新しいシードを生成したものを展開したものであってもよい。また、圧縮回路３７は、例えばＮ本のスキャンチェーンからの出力論理値をＮビットのシグネチャに圧縮する多入力シグネチャレジスタ（ＭＩＳＲ；Ｍｕｌｔｉ  Ｉｎｐｕｔ  Ｓｉｇｎａｔｕｒｅ  Ｒｅｇｉｓｔｅｒ）であってもよい。図１３に例示するＭＩＳＲを用いることにより、図７に示すように、値を取り出すフリップフロップが増えても回路のオーバーヘッドをわずか０．２％ほど増加させるにとどまる。なお、圧縮回路は、取出装置が備えるものであってもよい。【０１１１】
上記の実施例の構成を採用することで、従来のスキャン回路の構成を前提として故障検出を行うことが可能である。しかし、テスト対象の論理回路からのテスト出力パターンを二股に分岐するとしてもよい。このとき、一方の出力を新たなテスト入力パターンとしてテスト対象の論理回路に入力することと同期して、取出装置にテスト出力パターンを出力することが可能となる。したがって、保持手段が不要となる。【０１１２】
さらに、故障検出システム１の一部又は全部は、組合せ回路部３とフリップフロップ５とを有する半導体論理回路に組み込まれていてもよいし、テスタとして実現されてもよいし、一部が半導体論理回路に組み込まれて別の一部がテスタとして実現されてもよい。
【符号の説明】
【０１１３】
１・・・故障検出システム、３・・・組合せ回路部、５・・・フリップフロップ、７・・・取出装置、９・・・選択装置、１５・・・キャプチャモード取出部、１９・・・キャプチャモード記憶部、２３・・・シミュレーション部、２５・・・算出部、２７・・・順位付け部、２１８・・・クロック制御部、３２４・・・可制御性算出部、３２６・・・可観測性算出部
【図１】
2012046602.tif 000006
【図２】
2012046602.tif 000007
【図４】
2012046602.tif 000008
【図８】
2012046602.tif 000009
【図１０】
2012046602.tif 000010
【図１１】
2012046602.tif 000011
【図１２】
2012046602.tif 000012
【図１５】
2012046602.tif 000013
【図１６】
2012046602.tif 000014
【図１７】
2012046602.tif 000015
【図３】
2012046602.tif 000016
【図５】
2012046602.tif 000017
【図６】
2012046602.tif 000018
【図７】
2012046602.tif 000019
【図９】
2012046602.tif 000020
【図１３】
2012046602.tif 000021
【図１４】
2012046602.tif 000022
【図１８】
2012046602.tif 000023
【手続補正書】
【提出日】平成24年7月9日(2012.7.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
テスト入力パターンが入力された論理回路から出力された複数の出力論理値に基づいて当該論理回路の故障を検出する故障検出システムであって、
前記複数の出力論理値は、前記論理回路に対して新たなテスト入力パターンとして入力されるものであり、
前記複数の出力論理値の一部又は全部を取り出す第１取出手段と、
前記第１取出手段が取り出した出力論理値と、前記論理回路に故障がない場合に予測される出力論理値又は特定の故障がある場合に予測される出力論理値とを比較する比較手段と、
前記比較手段による比較結果に基づいて前記論理回路の故障の有無を判定する故障判定手段とを備え、
前記複数の出力論理値は、複数の個別保持手段に論理値を１つずつ保持させる保持手段に保持され、
前記第１取出手段は、
前記保持手段に保持された前記複数の出力論理値の一部又は全部を取り出すものであり、
前記複数の個別保持手段が保持する出力論理値の一部又は全部を、他の個別保持手段を経由することなく直接取り出す、故障検出システム。
【請求項２】
前記第１取出手段は、前記保持手段が前記複数の出力論理値を保持してから、前記新たなテスト入力パターンが入力された前記論理回路から出力された新たな複数の出力論理値が前記保持手段に保持されるまでの間に、前記保持手段に保持された前記複数の出力論理値の一部又は全部を取り出す、請求項１記載の故障検出システム。
【請求項３】
前記保持手段が前記出力論理値を保持してから前記新たなテスト入力パターンが入力された前記論理回路から出力された新たな複数の出力論理値が前記保持手段に保持されるまでの時間を制御する制御手段をさらに備える、請求項１又は２記載の故障検出システム。
【請求項４】
各前記個別保持手段に保持された前記出力論理値の故障検出への寄与を算出する算出手段と、
前記寄与の大きさに基づいて各前記個別保持手段に順位を付ける順位付け手段とをさらに備え、
前記第１取出手段は、前記複数の個別保持手段が保持する前記出力論理値のうち、前記順位に基づいて所定の個数のみを取り出す、請求項１から３のいずれかに記載の故障検出システム。
【請求項５】
前記複数の個別保持手段が保持する出力論理値の一部又は全部を、他の個別保持手段を経由させて取り出す第２取出手段をさらに備え、
前記比較手段は、前記第２取出手段が取り出した出力論理値と、前記論理回路に故障がない場合に予測される出力論理値又は特定の故障がある場合に予測される出力論理値との比較も行うものであり、
前記第１取出手段が前記出力論理値を取り出す回数は、前記第２取出手段が前記出力論理値を取り出す回数以上である、請求項１から４のいずれかに記載の故障検出システム。
【請求項６】
前記出力論理値のデータサイズを圧縮する第１圧縮手段と、
前記出力論理値を記憶する第１記憶手段とをさらに備え、
前記第１取出手段の取出処理と同期して、
前記第１圧縮手段は、前記第１取出手段が取り出した前記出力論理値を圧縮し、
前記第１記憶手段は、前記第１圧縮手段が圧縮した前記出力論理値を記憶する、請求項１から５のいずれかに記載の故障検出システム。
【請求項７】
テスト入力パターンが入力された論理回路から出力された複数の出力論理値の一部又は全部を取り出す取出装置であって、
前記複数の出力論理値は、論理値を保持する保持手段により保持されると共に、前記論理回路に対して新たなテスト入力パターンとして入力されるものであり、
前記保持手段は、論理値を１つずつ保持する複数の個別保持手段を有し、
前記複数の個別保持手段が保持する出力論理値の一部又は全部を、他の個別保持手段を経由することなく直接取り出す、取出装置。
【請求項８】
テスト入力パターンが入力された論理回路から出力された複数の出力論理値に基づいて当該論理回路の故障を検出する故障検出方法であって、
前記論理回路に初期テスト入力パターンの入力が行われる第１入力ステップと、
複数の個別保持手段に論理値を１つずつ保持させる保持手段が、前記複数の出力論理値を保持する保持ステップと、
前記保持手段が保持する前記複数の出力論理値が、新たなテスト入力パターンとして前記論理回路に対して入力される第２入力ステップと、
前記保持手段が前記複数の出力論理値を保持してから、前記新たなテスト入力パターンが入力された前記論理回路から出力された新たな複数の出力論理値が前記保持手段に保持されるまでの間に、前記複数の個別保持手段が保持する前記複数の出力論理値の一部又は全部が他の個別保持手段を経由することなく直接取り出される第１取出ステップと、
前記複数の個別保持手段が保持する前記複数の出力論理値の一部又は全部が他の個別保持手段を経由して取り出される第２取出ステップと、
前記第１取出ステップ及び前記第２取出ステップにおいて取り出された出力論理値と、前記論理回路に故障がない場合に予測される出力論理値又は特定の故障がある場合に予測される出力論理値とを比較する比較ステップと、
前記比較ステップにおける比較結果に基づいて前記論理回路の故障の有無を判定する故障判定ステップとを含む、故障検出方法。
【請求項９】
前記第１取出ステップと前記第２取出ステップとの間に、
前記第１取出ステップと同期して、前記第１取出ステップにおいて取り出された前記出力論理値が圧縮される第１圧縮ステップと、
前記圧縮ステップにおいて圧縮された前記出力論理値が記憶される第１記憶ステップとを備え、
前記保持ステップから前記第１記憶ステップまでが所定の回数だけ繰り返される、請求項８記載の故障検出方法。
【請求項１０】
前記第１記憶ステップと前記保持ステップの間に、制御手段が、前記保持手段が前記出力論理値を保持してから前記新たなテスト入力パターンが入力された前記論理回路から出力された新たな複数の出力論理値が前記保持手段に保持されるまでの時間を制御する制御ステップを含む、請求項９記載の故障検出方法。
【請求項１１】
前記制御ステップにおいて、制御手段が、前記保持手段が前記出力論理値を保持してから前記新たなテスト入力パターンが入力された前記論理回路から出力された新たな複数の出力論理値が前記保持手段に保持されるまでの時間を短縮する、請求項１０記載の故障検出方法。
【請求項１２】
前記保持手段と接続されたコンピュータに、請求項８から１１のいずれかに記載の故障検出方法を実行させることが可能なプログラム。
【請求項１３】
前記保持手段と接続されたコンピュータが実行することが可能なコンピュータに読み取り可能な記録媒体であって、請求項１２記載のプログラムを記録する記録媒体。
【国際調査報告】
2012046602.tif 000024
2012046602.tif 000025