TOP > 国内特許検索 > 故障検出システム、取出装置、故障検出方法、プログラム及び記録媒体 > 明細書

明細書 :故障検出システム、取出装置、故障検出方法、プログラム及び記録媒体

発行国 日本国特許庁(JP)
公報種別 特許公報(B2)
特許番号 特許第5845187号 (P5845187)
登録日 平成27年11月27日(2015.11.27)
発行日 平成28年1月20日(2016.1.20)
発明の名称または考案の名称 故障検出システム、取出装置、故障検出方法、プログラム及び記録媒体
国際特許分類 G01R  31/3183      (2006.01)
H01L  21/822       (2006.01)
H01L  27/04        (2006.01)
FI G01R 31/28 Q
H01L 27/04 T
請求項の数または発明の数 16
全頁数 26
出願番号 特願2012-537651 (P2012-537651)
出願日 平成23年9月28日(2011.9.28)
国際出願番号 PCT/JP2011/072211
国際公開番号 WO2012/046602
国際公開日 平成24年4月12日(2012.4.12)
優先権出願番号 2010225318
優先日 平成22年10月5日(2010.10.5)
優先権主張国 日本国(JP)
審査請求日 平成26年8月27日(2014.8.27)
特許権者または実用新案権者 【識別番号】503360115
【氏名又は名称】国立研究開発法人科学技術振興機構
発明者または考案者 【氏名】佐藤 康夫
【氏名】梶原 誠司
個別代理人の代理人 【識別番号】100116573、【弁理士】、【氏名又は名称】羽立 幸司
審査官 【審査官】公文代 康祐
参考文献・文献 特開2005-134180(JP,A)
特開2006-058152(JP,A)
特開2006-012234(JP,A)
特開2004-301653(JP,A)
調査した分野 G01R 31/3181
H01L 21/822
H01L 27/04
特許請求の範囲 【請求項1】
テスト入力パターンが入力された論理回路から出力された複数の出力論理値に基づいて当該論理回路の故障を検出する故障検出システムであって、
前記複数の出力論理値は、前記論理回路に対して新たなテスト入力パターンとして入力されるものであり、
前記複数の出力論理値の一部又は全部を取り出す第1取出手段と、
前記第1取出手段が取り出した出力論理値と、前記論理回路に故障がない場合に予測される出力論理値又は特定の故障がある場合に予測される出力論理値とを比較する比較手段と、
前記比較手段による比較結果に基づいて前記論理回路の故障の有無を判定する故障判定手段とを備え、
前記複数の出力論理値は、複数の個別保持手段に論理値を1つずつ保持させる保持手段に保持され、
前記第1取出手段は、
前記保持手段に保持された前記複数の出力論理値の一部又は全部を取り出すものであり、
前記複数の個別保持手段が保持する出力論理値の一部又は全部を、他の個別保持手段を経由することなく直接取り出す、故障検出システム。
【請求項2】
前記第1取出手段は、前記保持手段が前記複数の出力論理値を保持してから、前記新たなテスト入力パターンが入力された前記論理回路から出力された新たな複数の出力論理値が前記保持手段に保持されるまでの間に、前記保持手段に保持された前記複数の出力論理値の一部又は全部を取り出す、請求項1記載の故障検出システム。
【請求項3】
前記保持手段が前記出力論理値を保持してから前記新たなテスト入力パターンが入力された前記論理回路から出力された新たな複数の出力論理値が前記保持手段に保持されるまでの時間を制御する制御手段をさらに備える、請求項1又は2記載の故障検出システム。
【請求項4】
各前記個別保持手段に保持された前記出力論理値の故障検出への寄与を算出する算出手段と、
前記寄与の大きさに基づいて各前記個別保持手段に順位を付ける順位付け手段とをさらに備え、
前記第1取出手段は、前記複数の個別保持手段が保持する前記出力論理値のうち、前記順位に基づいて所定の個数のみを取り出す、請求項1から3のいずれかに記載の故障検出システム。
【請求項5】
前記第1取出手段が、各前記個別保持手段に保持された前記出力論理値の故障検出への寄与の大きさに基づいて、前記複数の個別保持手段が保持する前記出力論理値のうち、所定の個数のみを取り出す、請求項1から3のいずれかに記載の故障検出システム。
【請求項6】
前記複数の個別保持手段が保持する出力論理値の一部又は全部を、他の個別保持手段を経由させて取り出す第2取出手段をさらに備え、
前記比較手段は、前記第2取出手段が取り出した出力論理値と、前記論理回路に故障がない場合に予測される出力論理値又は特定の故障がある場合に予測される出力論理値との比較も行うものであり、
前記第1取出手段が前記出力論理値を取り出す回数は、前記第2取出手段が前記出力論理値を取り出す回数以上である、請求項1からのいずれかに記載の故障検出システム。
【請求項7】
前記出力論理値のデータサイズを圧縮する第1圧縮手段と、
前記出力論理値を記憶する第1記憶手段とをさらに備え、
前記第1取出手段の取出処理と同期して、
前記第1圧縮手段は、前記第1取出手段が取り出した前記出力論理値を圧縮し、
前記第1記憶手段は、前記第1圧縮手段が圧縮した前記出力論理値を記憶する、請求項1からのいずれかに記載の故障検出システム。
【請求項8】
テスト入力パターンが入力された論理回路から出力された複数の出力論理値の一部又は全部を取り出す取出装置であって、
前記複数の出力論理値は、論理値を保持する保持手段により保持されると共に、前記論理回路に対して新たなテスト入力パターンとして入力されるものであり、
前記保持手段は、論理値を1つずつ保持する複数の個別保持手段を有し、
前記複数の個別保持手段が保持する出力論理値の一部又は全部を、他の個別保持手段を経由することなく直接取り出す、取出装置。
【請求項9】
各前記個別保持手段に保持された前記出力論理値の故障検出への寄与を算出する算出手段と、
前記寄与の大きさに基づいて各前記個別保持手段に順位を付ける順位付け手段とをさらに備え、
前記複数の個別保持手段が保持する前記出力論理値のうち、前記順位に基づいて所定の個数のみを取り出す、請求項8記載の取出装置。
【請求項10】
各前記個別保持手段に保持された前記出力論理値の故障検出への寄与の大きさに基づいて、前記複数の個別保持手段が保持する前記出力論理値のうち、所定の個数のみを取り出す、請求項8記載の取出装置。
【請求項11】
テスト入力パターンが入力された論理回路から出力された複数の出力論理値に基づいて当該論理回路の故障を検出する故障検出方法であって、
前記論理回路に初期テスト入力パターンの入力が行われる第1入力ステップと、
複数の個別保持手段に論理値を1つずつ保持させる保持手段が、前記複数の出力論理値を保持する保持ステップと、
前記保持手段が保持する前記複数の出力論理値が、新たなテスト入力パターンとして前記論理回路に対して入力される第2入力ステップと、
前記保持手段が前記複数の出力論理値を保持してから、前記新たなテスト入力パターンが入力された前記論理回路から出力された新たな複数の出力論理値が前記保持手段に保持されるまでの間に、前記複数の個別保持手段が保持する前記複数の出力論理値の一部又は全部が他の個別保持手段を経由することなく直接取り出される第1取出ステップと、
前記複数の個別保持手段が保持する前記複数の出力論理値の一部又は全部が他の個別保持手段を経由して取り出される第2取出ステップと、
前記第1取出ステップ及び前記第2取出ステップにおいて取り出された出力論理値と、前記論理回路に故障がない場合に予測される出力論理値又は特定の故障がある場合に予測される出力論理値とを比較する比較ステップと、
前記比較ステップにおける比較結果に基づいて前記論理回路の故障の有無を判定する故障判定ステップとを含む、故障検出方法。
【請求項12】
前記第1取出ステップと前記第2取出ステップとの間に、
前記第1取出ステップと同期して、前記第1取出ステップにおいて取り出された前記出力論理値が圧縮される第1圧縮ステップと、
前記第1圧縮ステップにおいて圧縮された前記出力論理値が記憶される第1記憶ステップとを備え、
前記保持ステップから前記第1記憶ステップまでが所定の回数だけ繰り返される、請求項11記載の故障検出方法。
【請求項13】
前記第1記憶ステップと前記保持ステップの間に、制御手段が、前記保持手段が前記出力論理値を保持してから前記新たなテスト入力パターンが入力された前記論理回路から出力された新たな複数の出力論理値が前記保持手段に保持されるまでの時間を制御する制御ステップを含む、請求項12記載の故障検出方法。
【請求項14】
前記制御ステップにおいて、制御手段が、前記保持手段が前記出力論理値を保持してから前記新たなテスト入力パターンが入力された前記論理回路から出力された新たな複数の出力論理値が前記保持手段に保持されるまでの時間を短縮する、請求項13記載の故障検出方法。
【請求項15】
前記保持手段と接続されたコンピュータに、請求項11から14のいずれかに記載の故障検出方法を実行させることが可能なプログラム。
【請求項16】
前記保持手段と接続されたコンピュータが実行することが可能なコンピュータに読み取り可能な記録媒体であって、請求項15記載のプログラムを記録する記録媒体。
発明の詳細な説明 【技術分野】
【0001】
本発明は、故障検出システム、取出装置、故障検出方法、プログラム及び記録媒体に関し、特に、テスト入力パターンが入力された論理回路から出力された複数の出力論理値に基づいて当該論理回路の故障を検出する故障検出システム等に関する。
【背景技術】
【0002】
近年の半導体論理回路の大規模化に伴い、半導体集積回路のテストに要するテスト入力パターン数が膨大なものとなっている。一方、半導体集積回路をシステムに組み込んだ後に行うシステムテストや、出荷後に行うフィールドテスト等ではテスト入力パターンを記憶する記憶容量が限られている。そこで、記憶すべきテストデータ量を削減しつつ高い故障検出率を達成することが重要となる。
【0003】
ここで、テスト対象となる半導体集積回路について述べる。一般に、半導体論理回路は主に順序回路である。順序回路は、アンド(AND)ゲート、ナンド(NAND)ゲート、オア(OR)ゲート、ノア(NOR)ゲート等の論理素子からなる組合せ回路部と、回路の内部状態を記憶するフリップフロップ(FF)とを含む。この場合、組合せ回路部は、外部入力線(PI)、フリップフロップの出力線である擬似外部入力線(PPI)、外部出力線(PO)、フリップフロップの入力線である擬似外部出力線(PPO)を有する。組合せ回路部への入力は、外部入力線より直接与えられるものと、擬似外部入力線を介して与えられるものがある。また、組合せ回路部からの出力は、外部出力線に直接現れるものと、擬似外部出力線に現れるものがある。
【0004】
順序回路の組合せ回路部をテストするためには、組合せ回路部の外部入力線と擬似外部入力線から所要のテスト入力パターンを入力し、組合せ回路部の外部出力線と擬似外部出力線からテスト応答を取り出す必要がある。
【0005】
しかし、順序回路のフリップフロップの出力線(擬似外部入力線)と入力線(擬似外部出力線)は、一般に、外部より直接アクセスすることができない。したがって、組合せ回路部のテストでは、擬似外部入力線の可制御性及び擬似外部出力線の可観測性が問題になる。
【0006】
上述の組合せ回路部のテストにおける可制御性及び可観測性の問題を解決する主な手法として、フルスキャン設計に基づくスキャンテスト方式がある。フルスキャン設計は、フリップフロップをスキャンフリップフロップに置き換えた上で、それらを用いて1本または複数本のスキャンチェーンを形成するものである。スキャンフリップフロップの動作はスキャンイネーブル(SE)信号線で制御される。例えば、SE=0のとき、従来のフリップフロップと同じ動作をし、クロックパルスが与えられると、組合せ回路部からの値でスキャンフリップフロップの出力値が更新される。また、SE=1のとき、同じスキャンチェーンにある他のスキャンフリップフロップと1つのシフトレジスタを形成し、クロックパルスが与えられると、外部から新しい値がスキャンフリップフロップにスキャンインされると同時に、スキャンフリップフロップに保持されていた値が外部へスキャンアウトされる。一般に、同じスキャンチェーンにあるスキャンフリップフロップは同じスキャンイネーブル信号線を共有するが、異なるスキャンチェーンのスキャンイネーブル信号線は同一の場合もあれば異なる場合もある。
【0007】
図14を参照して、従来のスキャンテストについてさらに述べる。図14は、スキャンテストのテストサイクルを示す図である。
【0008】
フルスキャン順序回路の組合せ回路部のテストは、スキャンシフトとスキャンキャプチャを繰り返すことによって行われる。スキャンシフトは、SE=1のシフトモードで行われる。シフトモードにおいては、1つ又は複数のクロックパルスが与えられ、外部から1つ又は複数の新しい値がスキャンチェーン内のスキャンフリップフロップにスキャンインされる。また、それと同時に、そのスキャンチェーン内のスキャンフリップフロップに現存の1つ又は複数の値が外部へスキャンアウトされる。スキャンキャプチャは、SE=0のキャプチャモードで行われる。キャプチャモードにおいては、1つのスキャンチェーンにあるすべてのスキャンフリップフロップに同時に1つのクロックパルスが与えられ、組合せ回路部の擬似外部出力線の値がすべてのスキャンフリップフロップに取り出されて保持される。
【0009】
スキャンシフトは、擬似外部入力線を介して組合せ回路部へテスト入力パターンを入力するためと、擬似外部出力線を介して組合せ回路部からテスト応答を取り出すために用いられる。また、スキャンキャプチャは、組合せ回路部のテスト応答をスキャンフリップフロップに取り出して保持するために用いられる。すべてのテスト入力パターンに対して、スキャンシフトとスキャンキャプチャを繰り返すことによって、組合せ回路部をテストすることができる。
【0010】
続いて、図15を参照して、従来のスキャンテストによる故障検出について述べる。図15は、本願発明の背景技術となる故障検出システム101を示すブロック図である。
【0011】
故障検出システム101は、取出装置107と、判定装置111と、パターン制御装置113とを備える。取出装置107は、取出部117と、記憶部121とを備える。判定装置111は、比較部129と、故障判定部131とを備える。パターン制御装置113は、テスト入力パターン保持部133と、展開回路135と、圧縮回路137とを備える。
【0012】
スキャンテスト方式では、組合せ回路部3へのテスト入力パターンの入力は、外部入力から直接行われる部分と、スキャンシフトによって行われる部分とがある。スキャンシフトによって、任意の論理値を任意のスキャンフリップフロップに設定することができるので、擬似外部入力線の可制御性の問題が解決される。組合せ回路部3からのテスト応答の取り出しは、外部出力から直接行われる部分と、スキャンシフトによって行われる部分とがある。スキャンシフトによって、取出部117が、任意のスキャンフリップフロップの出力値を取り出すことができるため、擬似外部出力線の可観測性の問題が解決される。なお、スキャンフリップフロップの個数は、通常、疑似外部出力線の個数と等しい。比較部129が、取り出された値を組合せ回路部3が正常である場合に予測される値と比較する。比較結果に基づき、故障判定部131が組合せ回路部3の故障の有無を判定する。
【0013】
通常、半導体集積回路に対してシステムテストやフィールドテストを行う場合、組み込み自己テスト(BIST:Built-In Self-Test)が用いられている。BISTでは、特にテスト入力パターンを記憶するための記憶容量が限られている。したがって、テストデータ量を削減するための手法が開発されてきた。
【0014】
その一例がテスト入力パターンを圧縮して種パターン(シード)として扱う方法である。シードは、スキャンインされる前に展開される。また、スキャンアウトされる前に圧縮される。したがって、テストデータ量を削減することが可能となる。しかし、半導体集積回路の大規模化に伴って、さらなるテストデータ量の削減が必要とされている。
【0015】
ここで、図16及び図17を参照して、非特許文献1に記載されたマルチキャプチャ方式について述べる。マルチキャプチャ方式は、パーシャルスキャン設計の場合に故障検出率を維持するために用いられている。図16は、マルチキャプチャ方式のテストサイクルを示す図である。図17は、従来のマルチキャプチャ方式を用いた場合の手順を示すフロー図である。
【0016】
パーシャルスキャン設計では、スキャン設計されたフリップフロップの数を減らすことで回路サイズを削減している。しかし、スキャン設計されていないフリップフロップに対応する入力論理値が確定しない。すると、出力された論理値を取り出しても故障について得られる情報は少ないため、故障検出率が低下する。
【0017】
そこで、マルチキャプチャ方式では、図16に示すように、各テスト入力パターンに対してキャプチャモードにおいて複数回のキャプチャが行われる。つまり、図15のフリップフロップ5が取得した論理値が新たに入力テストパターンとして組合せ回路部3に入力される。すると、組合せ回路部3を通るたびにフリップフロップ5がキャプチャする値が徐々に確定していく。最終的には、全てのフリップフロップ5の論理値が確定する。よって、確定したテスト入力パターンに対して確定したテスト出力パターンが得られる。結果として、パーシャルスキャン設計の半導体集積回路においても故障検出率を維持することが可能となる。
【0018】
図17を参照して、故障検出システム101を用いた場合の故障検出の手順を具体的に述べる。シードの入力が開始され(ステップST501)、シードが展開回路135により展開される(ステップST502)。シフトモードが開始され(ステップST503)、テスト入力パターンがフリップフロップ5にスキャンインされる(ステップST504)。続いて、キャプチャモードが開始され(ステップST505)、キャプチャが所定の回数だけ繰り返される(ステップST506)。ここでキャプチャが繰り返される度に、テスト入力パターンの値が徐々に確定していく。再びシフトモードが開始され(ステップST507)、フリップフロップ5の論理値がスキャンアウトされる(ステップST508)。続いて、未入力のシードがあればステップST501に戻り、なければ次へと進む(ステップST509)。取出部117がスキャンアウトされた圧縮データ(シグネチャ)を取り出す(ステップST510)。比較部129が、得られたシグネチャと組合せ回路部3が正常である場合に予測されるシグネチャを比較する(ステップST511)。比較結果に基づき、故障判定部131が、組合せ回路部3の故障の有無を判定する(ステップST512)。
【先行技術文献】
【0019】

【非特許文献1】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.
【発明の概要】
【発明が解決しようとする課題】
【0020】
非特許文献1の技術において、式(1)に示すように、テストパターン保持部133が記憶すべきテストデータ量は、テスト入力パターン数に比例する。また、式(2)に示すように、テスト出力パターン数は、テスト入力パターン数に等しい。さらに、故障検出率は、テスト出力パターン数と正の相関関係にある。したがって、テスト入力パターン数を減らすと、故障検出率が低下する。そのため、故障検出率を維持するためには、テスト入力パターン数を削減できなかった。結果として、テストデータ量を削減することができなかった。
【0021】
【数1】
JP0005845187B2_000002t.gif

【0022】
ゆえに、本発明は、記憶されるべきテスト入力パターンのテストデータ量を削減しつつ、故障検出率を向上させる故障検出システム等を提供することを目的とする。
【課題を解決するための手段】
【0023】
本願発明の第1の観点は、テスト入力パターンが入力された論理回路から出力された複数の出力論理値に基づいて当該論理回路の故障を検出する故障検出システムであって、前記複数の出力論理値は、前記論理回路に対して新たなテスト入力パターンとして入力されるものであり、前記複数の出力論理値の一部又は全部を取り出す第1取出手段と、前記第1取出手段が取り出した出力論理値と、前記論理回路に故障がない場合に予測される出力論理値又は特定の故障がある場合に予測される出力論理値とを比較する比較手段と、前記比較手段による比較結果に基づいて前記論理回路の故障の有無を判定する故障判定手段とを備える故障検出システムである。
【0024】
本願発明の第2の観点は、第1の観点の故障検出システムであって、前記複数の出力論理値は、複数の個別保持手段に論理値を1つずつ保持させる保持手段に保持され、前記第1取出手段は、前記保持手段に保持された前記複数の出力論理値の一部又は全部を取り出すものであり、前記複数の個別保持手段が保持する出力論理値の一部又は全部を、他の個別保持手段を経由することなく直接取り出す。
【0025】
本願発明の第3の観点は、第2の観点の故障検出システムであって、前記第1取出手段は、前記保持手段が前記複数の出力論理値を保持してから、前記新たなテスト入力パターンが入力された前記論理回路から出力された新たな複数の出力論理値が前記保持手段に保持されるまでの間に、前記保持手段に保持された前記複数の出力論理値の一部又は全部を取り出す。
【0026】
本願発明の第4の観点は、第3の観点の故障検出システムであって、前記保持手段が前記出力論理値を保持してから前記新たなテスト入力パターンが入力された前記論理回路から出力された新たな複数の出力論理値が前記保持手段に保持されるまでの時間を制御する制御手段をさらに備える。
【0027】
本願発明の第5の観点は、第2から第4のいずれかの観点の故障検出システムであって、各前記個別保持手段に保持された前記出力論理値の故障検出への寄与を算出する算出手段と、前記寄与の大きさに基づいて各前記個別保持手段に順位を付ける順位付け手段とをさらに備え、前記第1取出手段は、前記複数の個別保持手段が保持する前記出力論理値のうち、前記順位に基づいて所定の個数のみを取り出す。
【0028】
本願発明の第6の観点は、第2から第5のいずれかの観点の故障検出システムであって、前記複数の個別保持手段が保持する出力論理値の一部又は全部を、他の個別保持手段を経由させて取り出す第2取出手段をさらに備え、前記比較手段は、前記第2取出手段が取り出した出力論理値と、前記論理回路に故障がない場合に予測される出力論理値又は特定の故障がある場合に予測される出力論理値との比較も行うものであり、前記第1取出手段が前記出力論理値を取り出す回数は、前記第2取出手段が前記出力論理値を取り出す回数以上である。
【0029】
本願発明の第7の観点は、第1から第6のいずれかの観点の故障検出システムであって、前記出力論理値のデータサイズを圧縮する第1圧縮手段と、前記出力論理値を記憶する第1記憶手段とをさらに備え、前記第1取出手段の取出処理と同期して、前記第1圧縮手段は、前記第1取出手段が取り出した前記出力論理値を圧縮し、前記第1記憶手段は、前記第1圧縮手段が圧縮した前記出力論理値を記憶する。
【0030】
本願発明の第8の観点は、テスト入力パターンが入力された論理回路から出力された複数の出力論理値の一部又は全部を取り出す取出装置であって、前記複数の出力論理値は、論理値を保持する保持手段により保持されると共に、前記論理回路に対して新たなテスト入力パターンとして入力されるものであり、前記保持手段は、論理値を1つずつ保持する複数の個別保持手段を有し、前記複数の個別保持手段が保持する出力論理値の一部又は全部を、他の個別保持手段を経由することなく直接取り出す。
【0031】
本願発明の第9の観点は、テスト入力パターンが入力された論理回路から出力された複数の出力論理値の一部又は全部を取り出す取出装置であって、前記複数の出力論理値は、論理値を保持する保持手段により保持されると共に、前記論理回路に対して新たなテスト入力パターンとして入力されるものであり、前記保持手段が前記出力論理値を保持してから前記新たなテスト入力パターンが入力された前記論理回路から出力された新たな複数の出力論理値が前記保持手段に保持されるまでの時間を制御する制御手段を備え、前記保持手段に保持された前記複数の出力論理値の一部又は全部を取り出す。
【0032】
本願発明の第10の観点は、テスト入力パターンが入力された論理回路から出力された複数の出力論理値に基づいて当該論理回路の故障を検出する故障検出方法であって、前記論理回路に初期テスト入力パターンの入力が行われる第1入力ステップと、複数の個別保持手段に論理値を1つずつ保持させる保持手段が、前記複数の出力論理値を保持する保持ステップと、前記保持手段が保持する前記複数の出力論理値が、新たなテスト入力パターンとして前記論理回路に対して入力される第2入力ステップと、前記保持手段が前記複数の出力論理値を保持してから、前記新たなテスト入力パターンが入力された前記論理回路から出力された新たな複数の出力論理値が前記保持手段に保持されるまでの間に、前記複数の個別保持手段が保持する前記複数の出力論理値の一部又は全部が他の個別保持手段を経由することなく直接取り出される第1取出ステップと、前記複数の個別保持手段が保持する前記複数の出力論理値の一部又は全部が他の個別保持手段を経由して取り出される第2取出ステップと、前記第1取出ステップ及び前記第2取出ステップにおいて取り出された出力論理値と、前記論理回路に故障がない場合に予測される出力論理値又は特定の故障がある場合に予測される出力論理値とを比較する比較ステップと、前記比較ステップにおける比較結果に基づいて前記論理回路の故障の有無を判定する故障判定ステップとを含む。
【0033】
本願発明の第11の観点は、第10の観点の故障検出方法であって、前記第1取出ステップと前記第2取出ステップとの間に、前記第1取出ステップと同期して、前記第1取出ステップにおいて取り出された前記出力論理値が圧縮される第1圧縮ステップと、前記圧縮ステップにおいて圧縮された前記出力論理値が記憶される第1記憶ステップとを備え、前記保持ステップから前記第1記憶ステップまでが所定の回数だけ繰り返される。
【0034】
本願発明の第12の観点は、第11の観点の故障検出方法であって、前記第1記憶ステップと前記保持ステップの間に、制御手段が、前記保持手段が前記出力論理値を保持してから前記新たなテスト入力パターンが入力された前記論理回路から出力された新たな複数の出力論理値が前記保持手段に保持されるまでの時間を制御する制御ステップを含む。
【0035】
本願発明の第13の観点は、第12の観点の故障検出方法であって、前記制御ステップにおいて、制御手段が、前記保持手段が前記出力論理値を保持してから前記新たなテスト入力パターンが入力された前記論理回路から出力された新たな複数の出力論理値が前記保持手段に保持されるまでの時間を短縮する。
【0036】
本願発明の第14の観点は、テスト入力パターンが入力された論理回路から出力された複数の出力論理値に基づいて当該論理回路の故障を検出する故障検出方法であって、前記論理回路に初期テスト入力パターンの入力が行われる第1入力ステップと、前記複数の出力論理値を保持手段が保持する保持ステップと、前記保持手段が保持する前記複数の出力論理値が、新たなテスト入力パターンとして前記論理回路に対して入力される第2入力ステップと、前記複数の出力論理値の一部又は全部が取り出される取出ステップと、前記取出ステップにおいて取り出された出力論理値と、前記論理回路に故障がない場合に予測される出力論理値又は特定の故障がある場合に予測される出力論理値とを比較する比較ステップと、前記比較ステップにおける比較結果に基づいて前記論理回路の故障の有無を判定する故障判定ステップとを含み、前記保持ステップと前記第2入力ステップが所定の回数だけ繰り返され、前記第2入力ステップと前記保持ステップとの間に、制御手段が、前記保持手段が前記出力論理値を保持してから前記新たなテスト入力パターンが入力された前記論理回路から出力された新たな複数の出力論理値が前記保持手段に保持されるまでの時間を制御する制御ステップを含む。
【0037】
本願発明の第15の観点は、前記保持手段と接続されたコンピュータに、第10から14のいずれかの観点の故障検出方法を実行させることが可能なプログラムである。
【0038】
本願発明の第16の観点は、前記保持手段と接続されたコンピュータが実行することが可能なコンピュータに読み取り可能な記録媒体であって、第15の観点のプログラムを記録する記録媒体である。
【0039】
なお、本願各請求項の発明に係る故障検出システムは、初期テスト入力パターンを記憶する初期パターン記憶手段をさらに備えるものであってもよい。初期パターン記憶手段が記憶するパターンは、初期テスト入力パターンが圧縮された種パターン(シード)であってもよい。このとき、故障検出システムは、種パターンを展開する展開手段を備えるものであってもよい。また、故障検出システムは、第2取出手段が取り出した出力論理値を圧縮する、第2圧縮手段を備えるものであってもよい。さらに、1つの圧縮手段が、第1圧縮手段と第2圧縮手段を兼ねるものであってもよい。
【0040】
また、本願各請求項の発明に係る故障検出システムは、第2取出手段が取り出した出力論理値を記憶する、第2記憶手段を備えるものであってもよい。さらに、1つの記憶手段が、第1記憶手段と第2記憶手段を兼ねるものであってもよい。
【発明の効果】
【0041】
本願発明の各観点によれば、取出手段又は取出装置により、1つの初期テスト入力パターンから複数のテスト出力パターンを得ることが可能となる。キャプチャの度に得られるテスト出力パターンが、初期テスト入力パターンとは別の新たなテスト入力パターンとして論理回路に入力されるからである。このとき、テストデータ量は、従来と同様に、式(3)で表される。しかし、テスト出力パターン数は、式(4)で表される。
【0042】
【数2】
JP0005845187B2_000003t.gif

【0043】
テストデータ量は、キャプチャ数によらず初期テスト入力パターン数に正比例する。そのため、キャプチャ数を増やすことで、初期テスト入力パターン数を減らして記憶されるべきテスト入力パターンのテストデータ量を削減しつつ、故障検出率を向上させることが可能となる。
【0044】
図18を参照して、従来のマルチキャプチャ方式で検出されなかった故障を本願各請求項に係る発明で検出できることを具体的に説明する。図18は、従来のマルチキャプチャ方式を用いた場合の一例を示す時間展開図である。
【0045】
簡単のため、マルチキャプチャの回数は2回であるとする。図18には、シフトモードにおいて初期テスト入力パターンがスキャンインした直後から2回目にキャプチャした後までの論理値の流れが示されている。
【0046】
ここで、Aで示されているNORゲートに注目する。このNORゲートが正常であれば、フリップフロップ5は、論理値0を保持すべきである。しかし、NORゲートの故障(例えば遅延故障)のために、1回目のキャプチャ後のフリップフロップ5は、論理値1を保持しているとする。従来のマルチキャプチャ方式では、最後にキャプチャされた出力論理値のみが取り出されていた。つまり、フリップフロップ5の論理値は、所定の回数(ここでは2回)だけキャプチャされてシフトモードにならない限り、取り出されていなかった。一方、2回目のキャプチャ後には、フリップフロップ5は、正常な場合と同じ0を保持している。したがって、従来の方式では、このNORゲートの故障は検出されなかった。
【0047】
しかし、本願発明の各観点によれば、1回目キャプチャ後の保持手段が保持する値を取出手段又は取出装置が取り出す。これにより、従来の方法では他のテスト入力パターンでしか検出できなかった故障も、同じ初期テスト入力パターンで検出することが可能となる。したがって、記憶容量の必要量を削減することが可能となる。
【0048】
また、本願発明の第2の観点によれば、第1取出手段が、各個別保持手段から直接的に出力論理値を取り出す。そのため、多数の外部出力線及び個別保持手段が存在する場合であっても、速やかに取り出したい出力論理値を取り出すことが可能となる。しかも、出力論理値を取り出す際に、他の個別保持手段が保持する論理値を上書きせずに取り出すことが可能となる。
【0049】
さらに、本願発明の第3の観点によれば、第1取出手段が、保持手段による出力論理値の保持と同期して(保持手段が出力論理値を保持してから、新たなテスト入力パターンが入力された論理回路から出力された新たな複数の出力論理値が保持手段に保持されるまでの間に)、保持手段に保持された出力論理値を取り出す。このため、第1取出手段が、キャプチャの度に保持手段が取り出して保持する値を、次にキャプチャされる出力論理値に上書きされることなく、確実に取り出すことができる。
【0050】
さらに、本願発明の第4、9、12又は14の観点によれば、クロック周期を長くすることで縮退故障のみを検出し、クロック周期を短くすることで遅延故障を含めて検出することが可能となる。これにより、故障原因の解析やデバッグに資する情報を得ることが可能となる。
【0051】
さらに、本願発明の第13の観点によれば、長いクロック周期でIRドロップを抑えながら複数回テスト対象の論理回路にテスト入力パターンを入力した後に、クロック周期を短縮して遅延故障を検出することが可能となる。ここで、キャプチャサイクルにおいてテスト対象回路から出力されたパターンを再度テスト入力パターンとして回路に入力することを2-3回繰り返すことにより、少ない遷移数のみを生じさせるテスト入力パターンを得られることが知られている。そのため、キャプチャ時の消費電力やノイズを低減して遅延故障を精度よく検出することが可能となる。
【0052】
また、本願発明の第5の観点によれば、第1取出手段が、例えば故障検出率の向上という所定の目的のために特に有効な保持手段が保持する値を重点的に取り出すことが可能となる。よって、さらに効率よく故障検出率を向上させることが可能となる。すなわち、さらにテストデータ量を削減することが可能となる。加えて、保持手段の保持処理に同期して全ての保持手段が保持する値を取り出す場合と比べて、出力されるデータ量を削減することが可能となる。さらに、回路サイズを縮小することも可能となる。
【0053】
さらに、1つのテスト入力パターンに対して、スキャンシフト時に与えられるクロックパルスの数は一般に多い。例えば、あるスキャンチェーン内のすべてのスキャンフリップフロップに新しい値を設定するために、数百から数千に上るスキャンフリップフロップ個数分のクロックパルスを与える必要がある。このため、式(5)に示すように、テストに要する時間の大半は、シフトモードに費やされる。マルチキャプチャ方式において、キャプチャモード時にクロックが数個から数十個与えられたとしても、テスト時間の大半はシフトモードに費やされる。
【0054】
【数3】
JP0005845187B2_000004t.gif

【0055】
従来は、スキャンインされるテスト入力パターン数を削減できないことから、テスト時間を削減できなかった。しかし、本願各請求項に係る発明によれば、シフトモードの時間を短縮することができる。特に、スキャンインされる初期テスト入力パターン数の削減により、スキャンインの時間が短縮される。したがって、テスト時間を短縮することが可能となる。
【0056】
従来、故障検出率を向上させるために多数のテスト入力パターンを費やす結果、テスト時間が増大していたこととは対照的といえる。出荷後のフィールドテストにおいては、テスト時間は半導体集積回路の非動作時に限られているため、テスト時間の短縮は特に重要である。
【0057】
しかも、本願発明の第6の観点によれば、キャプチャモードのまま保持手段の保持に同期して取り出す第1取出手段が、シフトモードで取り出す第2取出手段よりも頻繁にテスト出力を取り出す。すなわち、スキャンアウトの時間も短縮することができる。そのため、テスト時間をさらに短縮することが容易となる。
【0058】
さらに、本願発明の第7又は第11の観点によれば、保持処理及びテスト処理と同期して、取出処理、圧縮処理及び記憶処理が行われる。したがって、シフトモードで記憶する場合と比べて、マルチキャプチャによって取り出される大量のデータをキャプチャモードのまま迅速に記憶させることが可能となる。よって、スキャンアウトされるパターン数を削減することが可能となり、テスト時間の短縮がさらに容易となる。また、出力されるデータ量も削減することがさらに容易となる。
【図面の簡単な説明】
【0059】
【図1】本願発明の実施の形態に係る故障検出システムの一例を示すブロック図である。
【図2】図1の故障検出システムを用いた場合の手順の一例を示すフロー図である。
【図3】図1の故障検出システムを用いた場合の一例を示す時間展開図である。
【図4】選択装置9がフリップフロップ5を選択する手順の一例を示すフロー図である。
【図5】図1の故障検出システムを用いた場合の実験結果の一例を示すグラフである。
【図6】テストベクトル数と故障検出率との関係を示すグラフである。
【図7】論理値を取り出すフリップフロップの割合と回路のオーバーヘッドとの関係を示す図である。
【図8】クロック周期を変更することができる故障検出システムの一例を示すブロック図である。
【図9】キャプチャモードにおいてクロック周期を変更しつつ、(a)全てのクロックで故障を検出する場合、(b)遅延故障のみを検出する場合のテストサイクルを示す図である。
【図10】SCOAP解析を用いる故障検出システムの一例を示すブロック図である。
【図11】3つの選択方法によりフリップフロップを順位付けして中間取出を行ったときの故障検出率のリストを示す図である。
【図12】フリップフロップの順位付けに要する時間を比較して示す図である。
【図13】圧縮回路の一例を示す図である。
【図14】スキャンテストのテストサイクルを示す図である。
【図15】本願発明の背景技術となる故障検出システムを示すブロック図である。
【図16】マルチキャプチャ方式のテストサイクルを示す図である。
【図17】従来のマルチキャプチャ方式を用いた場合の手順を示すフロー図である。
【図18】従来のマルチキャプチャ方式を用いた場合の一例を示す時間展開図である。
【発明を実施するための形態】
【0060】
以下、図面を参照して、本願発明の実施例について述べる。なお、本願発明は、実施例に限定されるものではない。
【実施例1】
【0061】
まず、図1を参照して本願発明の実施の形態に係る故障検出システムの構成について述べる。図1は、本願発明の実施の形態に係る故障検出システムの一例を示すブロック図である。
【実施例1】
【0062】
故障検出システム1は、組合せ回路部3(本願請求項の「論理回路」の一例)から出力された複数の出力論理値に基づいて組み合わせ回路部3の故障を検出する故障検出システムである。組合せ回路部3は、複数の出力論理値を保持する複数のフリップフロップ5~5(本願請求項の「個別保持手段」の一例)に接続されている。フリップフロップ5は、それぞれ論理値を1つずつ保持する。なお、以後、特に必要が無い限り、添え字を省略して「フリップフロップ5」と記す。また、複数のフリップフロップ5を総称して保持部4(本願請求項の「保持手段」の一例)とする。さらに、組合せ回路部3からの出力は全て疑似外部出力線であると仮定し、疑似外部出力線の個数(出力論理値の個数)とフリップフロップ5の個数とが等しいと仮定している。しかし、疑似外部出力線の個数とフリップフロップ5の個数は、異なってもよい。
【実施例1】
【0063】
故障検出システム1は、図15に示した従来の故障検出システム101と同様に、マルチキャプチャ方式を用いる。
【実施例1】
【0064】
故障検出システム1は、取出装置7(本願請求項の「取出手段」の一例)と、選択装置9と、判定装置11と、パターン制御装置13とを備える。取出装置7は、フリップフロップ5が保持する出力論理値の一部又は全部を取り出す。選択装置9は、取出手段7が重点的に値を取り出すべきフリップフロップを選択する。判定装置11は、取り出された出力論理値と予測された値とを比較し、組合せ回路部3の故障の有無を判定する。パターン制御装置13は、組合せ回路部3へのテスト入力パターン及び組合せ回路部3からのテスト出力パターンのサイズ等を制御する。
【実施例1】
【0065】
故障検出システム1の最大の特徴は、取出装置7にある。取出装置7は、キャプチャモード取出部15(本願請求項の「第1取出手段」の一例)と、シフトモード取出部17(本願請求項の「第2取出手段」の一例)と、キャプチャモード記憶部19(本願請求項の「第1記憶手段」の一例)と、シフトモード記憶部21(本願請求項の「第2記憶手段」の一例)とを備える。
【実施例1】
【0066】
キャプチャモード取出部15は、キャプチャモードにおいてフリップフロップ5が複数の出力論理値をキャプチャするキャプチャ処理(本願請求項の「保持処理」の一例)及び新たなテスト入力パターンに基づく組合せ回路部3のテスト処理(本願請求項の「テスト処理」の一例)と同期して、出力論理値の一部又は全部を取り出す。ここで、同期して取り出すとは、フリップフロップ5が出力論理値をキャプチャしてから次の出力論理値をキャプチャするまでの間に取り出すことをいう。また、キャプチャモード取出部15は、フリップフロップ5(1≦i≦7)が保持する出力論理値の一部又は全部を、他のフリップフロップ5(1≦k≦7,k≠i)を経由することなく直接取り出す。さらに、キャプチャモード取出部15は、取り出した出力論理値をキャプチャモード記憶部19に記憶させる。
【実施例1】
【0067】
シフトモード取出部17は、シフトモードにおいてフリップフロップ5がスキャンアウトした値を取り出す。また、取り出した出力論理値をシフトモード記憶部21に記憶させる。ここで、シフトモード取出部17の取り出しは、例えばテスト処理がすべて終了して取り出しており、キャプチャ処理及びテスト処理と同期するものではない。また、シフトモード取出部17は、フリップフロップ5(1≦i≦7)が保持する出力論理値の一部又は全部を、他のフリップフロップ5(1≦k≦7,k≠i)を経由させて取り出す。
【実施例1】
【0068】
選択装置9は、シミュレーション部23と、算出部25(本願請求項の「算出手段」の一例)と、順位付け部27(本願請求項の「順位付け手段」の一例)とを備える。シミュレーション部23は、組合せ回路部3の故障シミュレーションを行う。算出部25は、故障シミュレーションの結果に基づいて、各フリップフロップ5の故障検出への寄与を算出する。順位付け部27は、寄与の大きさに基づいて各フリップフロップ5に順位を付ける。判定装置11は、比較部29と故障判定部31とを備える。比較部29は、取り出された値と予測された値とを比較する。ここで、予測された値とは、組合せ回路部3に故障がない場合の出力論理値であると予測された値でもよいし、組合せ回路部3に特定の故障がある場合の出力論理値であると予測された値でもよい。故障判定部31は、比較結果に基づいて組合せ回路部3の故障の有無を判定する。パターン制御装置13は、初期テスト入力パターン保持部33と、展開回路35と、圧縮回路37とを備える。初期テスト入力パターン保持部33は、組合せ回路部3に入力されるテストパターンを備える。この初期テスト入力パターンは、圧縮された種パターン(シード)であってもよい。以後、本実施例では、初期テスト入力パターン保持部33が有するパターンは、シードであることを前提とする。
【実施例1】
【0069】
続いて、図2を参照して、故障検出システム1を用いた故障検出の手順について述べる。図2は、故障検出システム1を用いた場合の手順の一例を示すフロー図である。
【実施例1】
【0070】
ステップST001において、初期テスト入力パターン保持部33が有するシードのうちの1つが選択され、組合せ回路部3への入力が開始される。ステップST002において、選択されたシードが展開回路35により展開される。ステップST003において、スキャンイネーブル信号が1とされ、シフトモードとなる。ステップST004において、展開された初期テスト入力パターンがクロック信号に合わせてフリップフロップ5へとスキャンインされる。
【実施例1】
【0071】
ステップST005において、スキャンイネーブル信号が0とされ、キャプチャモードとなる。ステップST006において、フリップフロップ5が、クロック信号に合わせて、組合せ回路部3からの出力論理値をキャプチャする。ステップST007において、キャプチャモード取出部15が、フリップフロップ5のキャプチャ処理と同期してフリップフロップ5が保持する値を取り出す。また、フリップフロップ5は、保持する値を新たなテスト入力パターンとして組合せ回路部3に与える。さらに、組合せ回路部3は、与えられた新たなテスト入力パターンに基づいてテスト処理を行う。
【実施例1】
【0072】
ここで、キャプチャモード取出部15は、キャプチャモードの途中で出力論理値を取り出す「中間取出」を行っている。従来は、キャプチャモードに続くシフトモードにおいてのみ出力論理値の取り出しが行われており、キャプチャモード内での取り出しは行われていなかった。この中間取出を行うことにより、初期テストパターン数を削減してテストデータ量を削減しつつ、故障検出率を向上させることが可能となる。
【実施例1】
【0073】
また、キャプチャモード取出部15によって値が取り出されるフリップフロップ5は、選択装置9が選択したフリップフロップ(本実施例では、5、5、5)に限られる。そのため、テスト時間当たりの故障検出率を向上させることが可能となる。フリップフロップを選択する手順は、後に述べる。
【実施例1】
【0074】
ステップST008において、キャプチャモード取出部15が取り出した値は、圧縮回路37が圧縮してデータサイズを縮小し、キャプチャモード記憶部19が記憶する。ステップST006からステップST008までが決められた回数(N回)だけ繰り返された後、次のステップへと進む。
【実施例1】
【0075】
ステップST009において、スキャンイネーブル信号が1とされ、シフトモードとなる。ステップST010において、フリップフロップ5に保持されていた値がクロック信号に合わせてシフトモード取出部17へとスキャンアウトされる。また、スキャンアウトされた値は、圧縮回路37により圧縮されてシフトモード記憶部21に記憶される。
【実施例1】
【0076】
ここで、シフトモード取出部17による取り出しは、シフトモードにおける取り出しであるため、キャプチャ処理及びテスト処理と同期したものではない。シフトモードでの取り出しには多くの時間を要する。そこで、キャプチャモード取出部15による取り出しの回数を少なくともシフトモード取出部17による取り出しの回数以上とすることにより、テスト時間全体を短縮することが可能である。
【実施例1】
【0077】
ステップST011において、判定装置11は、初期テスト入力パターン保持部33に未入力のシードがあるか否かを判定する。未入力のシードがあれば、ステップST001に戻る。未入力のシードがなければ、次のステップへと進む。
【実施例1】
【0078】
ステップST012において、判定装置11がキャプチャモード記憶部19に記憶された圧縮データ(シグネチャ)を読み出す。同時に、ステップST013において、判定装置11は、シフトモード記憶部21に記憶されたシグネチャも読み出す。ステップST014において、比較部29は、読み出された値と、組合せ回路部3が正常である場合に予測される値又は特定の故障がある場合に予測される値とを比較する。ステップST015において、故障判定部31は、比較部29による比較結果に基づいて、組合せ回路部3の故障の有無を判定する。
【実施例1】
【0079】
続いて、図3を参照して、故障検出システム1を用いた場合の故障検出の具体例について述べる。図3は、故障検出システム1を用いた場合の一例を示す時間展開図である。
【実施例1】
【0080】
故障検出システム1を用いることにより、図3中にAで示した故障しているNOR素子Aの故障を検出することができる。1回目キャプチャ後のフリップフロップ5の出力論理値をキャプチャモード取出部15が取り出すからである。NOR素子が正常であれば、1回目キャプチャ後のフリップフロップ5の出力論理値として0が取り出される。一方、NOR素子が故障していれば、1が取り出される。
【実施例1】
【0081】
また、シフトモードにおいてシフトモード取出部17が全てのフリップフロップ5の値を取り出すため、従来の故障検出システムよりも取り出される出力論理値が少なくなることはない。結果として、キャプチャモード取出部15が取り出したテスト出力パターンの分だけ故障検出率が向上する。
【実施例1】
【0082】
続いて、図4を参照して、故障検出率を向上させる上で特に効率のよいフリップフロップ5を選択する手順について述べる。図4は、選択装置9がフリップフロップ5を選択する手順の一例を示すフロー図である。
【実施例1】
【0083】
ステップST101において、全てのフリップフロップ5の値を取り出し可能とする。ステップST102において、シミュレーション部23が、全てのテスト入力パターンを用いて故障シミュレーションを行う。
【実施例1】
【0084】
ステップST103において、算出部25が、それぞれのフリップフロップ5の値を取り出すことによる故障検出率の増加分(本願請求項の「寄与」の一例)を算出する。ステップST104において、順位付け部27が、故障検出率の増加分が大きいフリップフロップ5から順に順位を付ける。ステップST105において、選択装置9が、フリップフロップ5に付けられた順位に基づいて、故障検出率の向上に特に貢献するフリップフロップ5を選択する。ここで、テスト時間の短縮等の目的のために、キャプチャモード取出部15が、所定の順位までのフリップフロップ5の値のみを取り出すこととしてもよい。
【実施例1】
【0085】
続いて、キャプチャモード取出部15と、選択されたフリップフロップ5とを接続する。ここでいう「接続」は、電気的に接続されればどのような手段でもよい。例えば、オフになっていたスイッチをオンとすることも含まれるし、物理的に結線することも含まれる。
【実施例1】
【0086】
こうして、キャプチャモード取出部15は、特に効率のよいフリップフロップ5の値のみを取り出すことが可能となる。故障検出の効率が上がることで、テストデータ量をさらに削減することも可能となる。
【実施例1】
【0087】
続いて、図5を参照して、故障検出システム1を用いた実験結果について述べる。図5は、故障検出システム1を用いた場合の実験結果の一例を示すグラフである。横軸は、キャプチャモード取出部15によって値が取り出されるフリップフロップ5の比率を示す。縦軸は、故障検出率を示す。
【実施例1】
【0088】
図5において、「0%」は、キャプチャモード取出部15をどのフリップフロップ5とも接続しない場合を意味する。「100%」は、キャプチャモード取出部15を全てのフリップフロップ5と接続する場合を意味する。ここで、今回の実験では、ゲート数を38,417個、マルチキャプチャのキャプチャ回数を5回とした。
【実施例1】
【0089】
図5の実験結果から、キャプチャモード取出部15を接続するフリップフロップ15の比率を大きくするほど故障検出率が向上することが分かる。また、少数のフリップフロップのみを選択したときの故障検出率の増加率(グラフの傾き)が最も大きく、一定の比率以上では、故障検出率の伸びが飽和している。このことから、故障検出率向上のために効率よいフリップフロップを選択できていることも分かる。100%近くのフリップフロップ5をキャプチャモード取出部15と接続することにより、故障検出率が約6%増加した。この増加分は、式(3)に示したように、キャプチャ回数を増やすことで増加させることが可能である。
【実施例1】
【0090】
続いて、図6を用いて中間取出を行うことで、テストベクトル数を減少させることができる点について説明する。図6は、テストベクトル数と故障検出率との関係を示すグラフである。横軸はテストベクトル数を表し、縦軸は故障検出率を表す。図6には、中間取出を行わない場合と、20%、50%及び100%のフリップフロップ5について5回キャプチャを行って中間取出を行う場合について示す。
【実施例1】
【0091】
図6を参照して、同じテストベクトル数で比較した場合、中間取出を行う方が故障検出率が向上したことが分かる。また、より多くのフリップフロップの値の中間取出を行う方が故障検出率が向上することが示されている。加えて、20%のフリップフロップ5について中間取出を行うだけでも効果があることが分かる。
【実施例1】
【0092】
従来の故障検出方法を用いた場合、故障検出率を例えば95%から98%にするのに、従来は約2倍のテスト入力パターンを要していた。本願発明の実施の形態に係る故障検出方法は、従来の方法に加えて用いることができるものである。したがって、テスト入力パターンのテストデータ量を削減しつつ、従来の方法で得られた故障検出率をさらに向上させることが可能となる。
【実施例1】
【0093】
さらに、図7を用いて、部分的にフリップフロップの値を取り出すことでオーバーヘッド率を抑えられる点について述べる。図7は、論理値を取り出すフリップフロップの割合と回路のオーバーヘッドとの関係を示す図である。横軸は、中間取出を行うフリップフロップ5の割合を表す。縦軸は、回路のオーバーヘッドの割合を表す。
【実施例1】
【0094】
図7を参照して、中間取出を行うフリップフロップ5の割合にほぼ正比例して回路のオーバーヘッドが増大していることが分かる。例えば、100%のフリップフロップについて中間取出を行う場合、オーバーヘッドの増加は9.3%である。一方、20%のフリップフロップの場合、オーバーヘッドの増加は2.0%にとどまる。したがって、必要に応じてフリップフロップを選択して中間取出を行うことにより、オーバーヘッドの増加を抑えつつ故障検出率を向上させることが可能である。
【実施例2】
【0095】
続いて、キャプチャモードにおいてクロック周期を変更する処理について説明する。クロック周期を変更することにより、異なる種類の故障検出が可能となる。また、テスト時の消費電力やノイズを低減させることが可能となる。なお、クロック周期は、フリップフロップ5が組合せ回路部3からの複数の出力論理値を保持してから、新たなテスト入力パターンが入力された組合せ回路部3から出力された新たな複数の出力論理値がフリップフロップ5に保持されるまでの間に対応する。
【実施例2】
【0096】
図8は、クロック周期を変更することができる故障検出システムの一例を示すブロック図である。図9は、キャプチャモードにおいてクロック周期を変更する場合におけるテストサイクルを示す図である。図9(a)全てのクロックで故障を検出する場合、図9(b)は、遅延故障のみを検出する場合について説明する。
【実施例2】
【0097】
図8において、故障検出システム201は、クロック制御部218(本願請求項の「制御手段」の一例)を備える点以外は、図1の故障検出システム1と同様の構成である。クロック制御部218は、フリップフロップ5が組合せ回路部3からの出力論理値をキャプチャする周期、及び、フリップフロップ5が保持する値を新たなテスト入力パターンとして組合せ回路部3に与える周期を制御する。
【実施例2】
【0098】
マルチキャプチャを行うと、テスト対象回路である組合せ回路部3に複数回テスト入力パターンが与えられる。このとき、3回目程度以降はテスト入力パターンの入力によって組合せ回路部3内の素子の論理値が遷移する割合(トグル率)が大きく減少することが知られている。一般に、トグル率は、ランダムなテスト入力パターンよりもスキャンテストで小さく、ユーザーの通常使用ではさらに小さい。典型的には、ランダムなテスト入力パターンでは50%程度、スキャンテストでは20-30%程度、ユーザーの通常使用では5%程度と言われている。複数回テスト入力パターンを組合せ回路部3に入力することにより、ユーザーの通常使用に近づくことがトグル率の低下の一因として考えられる。論理値の遷移は、消費電力ひいてはノイズの増大につながるため、トグル率を抑えられれば精度よく故障検出を行うことが可能となる。
【実施例2】
【0099】
そこで、図9(a)に示すように、例えば最初の4クロックでは周期を長めにとり、縮退故障の検出のみを行う。初めの2-3クロックでは、トグル率が高いと考えられるため、クロックの周期を短くすると多数の遷移と電圧の急激な変化(IRドロップ)を招く。すると、回路が誤動作し、誤った出力論理値をフリップフロップ5がキャプチャする可能性がある。初めの方のクロック周期を長くとることにより、このようなテスト誘発性の歩留り損失リスクを避けられる。クロック周期が長いため、クロックタイミングに依存して検出される遅延故障は検出できないものの、クロックタイミングに依存しない縮退故障を検出可能である。
【実施例2】
【0100】
後に続く3クロックでは、クロック制御部218が短縮したクロックの周期で、遅延故障を含めて検出が行われる。すでに組合せ回路部3にテスト入力パターンを4回通している。そのため、トグル率の低いテスト入力パターンとなっており、クロック周期を短縮しても電圧の過度の変化が起こりにくくなっている。したがって、遅延故障検出に伴う消費電力及びノイズを低減することが可能である。
【実施例2】
【0101】
また、図9(b)に示すように、後の3クロックで検出される遅延故障のみを検出対象としてもよい。このためには、例えば、キャプチャモード取出部215をキャプチャイネーブル信号線(CE)で制御することとすればよい。具体例として、フリップフロップ5が短い周期でキャプチャするとき、CE=0としてキャプチャモード取出部215にフリップフロップ105の論理値を取り出させる。一方、それ以外のときは、CE=1としてキャプチャモード取出部215にフリップフロップ5の論理値を取り出させないこととしてもよい。
【実施例3】
【0102】
さらに、フリップフロップの順位付けを行うに際し、シミュレーションを行う代わりにSCOAP(Sandia Controlability Observability Analysis Program)解析として知られる手法を用いてもよい。これにより、順位付けに要する計算量を減少させることが可能である。
【実施例3】
【0103】
図10は、SCOAP解析を用いる故障検出システムの一例を示すブロック図である。図10において、故障検出システム301は、図1のシミュレーション部23及び算出部25の代わりに可制御性算出部324及び可観測性算出部326(可制御性算出部324及び可観測性算出部326は、本願請求項の「算出手段」の一例)を備える点以外は、図1の故障検出システム1と同様の構成である。可制御性算出部324は、組合せ回路部3内の素子の可制御性を算出する。可観測性算出部326は、組合せ回路部3内の素子及びフリップフロップ5の可観測性を算出する。順位付け部327は、算出された可観測性が大きいフリップフロップ5から順に順位を付ける。比較及び故障判定については、図1の故障検出システム1と同様に行われる。
【実施例3】
【0104】
図11を参照して、SCOAP解析による順位付けの効果について述べる。図11は、3つの選択方法によりFFを順位付けして中間取出を行ったときの故障検出率のリストを示す図である。
【実施例3】
【0105】
図11に示すように、複数の回路のそれぞれについて20%のフリップフロップ5について中間取出を行った。その結果、いずれの回路においても、SCOAP解析をふまえてフリップフロップ5を選択した場合、シミュレーションを用いた場合ほどではないが、ランダムに20%のフリップフロップを選択した場合よりも故障検出率の向上が見られた。
【実施例3】
【0106】
図12は、フリップフロップの順位付けに要する時間を比較して示す図である。図12に示すように、SCOAP解析を用いてフリップフロップ5を選択する場合、シミュレーションを用いる場合と比べ、要するCPU時間が大幅に短縮された。
【実施例3】
【0107】
なお、ステップST004において、スキャンインとスキャンアウトは同時に行われるものであってもよい。すなわち、ステップST004において、展開された初期テスト入力パターンがクロック信号に合わせてフリップフロップ5へとスキャンインされると同時に、フリップフロップ5に保持されていた値がシフトモード取出部17へとスキャンアウトされるものであってもよい。スキャンインとスキャンアウトを同時に行うことにより、シフトモードの時間を短縮することが可能である。ステップST010においても同様である。
【実施例3】
【0108】
また、図2のフローにおけるステップST008において、キャプチャモード記憶部19による記憶処理と圧縮回路37による圧縮処理とは、どちらが先に行われてもよい。また、圧縮回路37が圧縮した出力をキャプチャモード取出部15が取り出すものであってもよい。同様のことがシフトモード取出部17、シフトモード記憶部21及び圧縮回路37の処理の順序についてもいえる。
【実施例3】
【0109】
さらに、ステップST012の読み出し処理は、ステップST011に続く繰り返し処理におけるステップST004と共に実行されることとしてもよい。さらに、テスト時間が長くなるおそれはあるものの、ステップST006からステップST008までの処理の繰り返し処理の中にステップST012の処理を含めてもよい。ステップST013からステップST015の処理についてもステップST012と同様である。
【実施例3】
【0110】
さらに、初期テスト入力パターン保持部33は、例えば線形帰還シフトレジスタ(LFSR;Linear Feedback Shift Register)のようなテストパターン発生器を有するものであってもよい。この場合、初期テスト入力パターンは、初期テスト入力パターン保持部33が有するシードを基にLFSRが次々と新しいシードを生成したものを展開したものであってもよい。また、圧縮回路37は、例えばN本のスキャンチェーンからの出力論理値をNビットのシグネチャに圧縮する多入力シグネチャレジスタ(MISR;Multi Input Signature Register)であってもよい。図13に例示するMISRを用いることにより、図7に示すように、値を取り出すフリップフロップが増えても回路のオーバーヘッドをわずか0.2%ほど増加させるにとどまる。なお、圧縮回路は、取出装置が備えるものであってもよい。
【実施例3】
【0111】
上記の実施例の構成を採用することで、従来のスキャン回路の構成を前提として故障検出を行うことが可能である。しかし、テスト対象の論理回路からのテスト出力パターンを二股に分岐するとしてもよい。このとき、一方の出力を新たなテスト入力パターンとしてテスト対象の論理回路に入力することと同期して、取出装置にテスト出力パターンを出力することが可能となる。したがって、保持手段が不要となる。
【実施例3】
【0112】
さらに、故障検出システム1の一部又は全部は、組合せ回路部3とフリップフロップ5とを有する半導体論理回路に組み込まれていてもよいし、テスタとして実現されてもよいし、一部が半導体論理回路に組み込まれて別の一部がテスタとして実現されてもよい。
【符号の説明】
【0113】
1・・・故障検出システム、3・・・組合せ回路部、5・・・フリップフロップ、7・・・取出装置、9・・・選択装置、15・・・キャプチャモード取出部、19・・・キャプチャモード記憶部、23・・・シミュレーション部、25・・・算出部、27・・・順位付け部、218・・・クロック制御部、324・・・可制御性算出部、326・・・可観測性算出部
図面
【図1】
0
【図2】
1
【図4】
2
【図8】
3
【図10】
4
【図11】
5
【図12】
6
【図15】
7
【図16】
8
【図17】
9
【図3】
10
【図5】
11
【図6】
12
【図7】
13
【図9】
14
【図13】
15
【図14】
16
【図18】
17