(57)【特許請求の範囲】
【請求項１】
コンピュータに、
チップのテストの結果と、前記チップの設計情報とに基づいて、前記テストにおけるフェイルの各条件について前記テストのパターンごとにフェイルの候補とする前記チップ内の要素を抽出し、
前記フェイルの各条件について抽出された要素ごとの、フェイルの候補としての尤度をもとに、前記抽出された要素の中からフェイルの候補とする要素を絞り込み、
前記絞り込まれた要素をもとに、フェイルの候補とする回路素子を抽出する
処理を実行させることを特徴とする故障解析プログラム。
【請求項２】
前記絞り込む処理は、前記フェイルの各条件について前記テストのパターンごとに抽出された要素の出現率が高い要素を、前記尤度の高い要素として絞り込む
ことを特徴とする請求項１に記載の故障解析プログラム。
【請求項３】
前記絞り込む処理は、前記抽出された要素の中から前記尤度の順位が上位の所定順位内の要素に絞り込む
ことを特徴とする請求項１又は２に記載の故障解析プログラム。
【請求項４】
コンピュータが、
チップのテストの結果と、前記チップの設計情報とに基づいて、前記テストにおけるフェイルの各条件について前記テストのパターンごとにフェイルの候補とする前記チップ内の要素を抽出し、
前記フェイルの各条件について抽出された要素ごとの、フェイルの候補としての尤度をもとに、前記抽出された要素の中からフェイルの候補とする要素を絞り込み、
前記絞り込まれた要素をもとに、フェイルの候補とする回路素子を抽出する
処理を実行することを特徴とする故障解析方法。
【請求項５】
チップのテストの結果と、前記チップの設計情報とに基づいて、前記テストにおけるフェイルの各条件について前記テストのパターンごとにフェイルの候補とする前記チップ内の要素を抽出するテーブル作成部と、
前記フェイルの各条件について抽出された要素ごとの、フェイルの候補としての尤度をもとに、前記抽出された要素の中からフェイルの候補とする要素を絞り込む絞込部と、
前記絞り込まれた要素をもとに、フェイルの候補とする回路素子を抽出する抽出部と、
を有することを特徴とする故障解析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、故障解析プログラム、故障解析方法および故障解析装置に関する。
【背景技術】
【０００２】
従来、半導体集積回路（たとえば、ＬＳＩ（Large-Scale  Integration）など）の故障解析においては、ＢＩＳＴ（Built-In  Self  Test）を用いて故障を解析する技術がある。ＢＩＳＴを用いた故障解析では、チップ上に組み込まれたテスト回路によるテスト結果を得て、故障解析を行う。具体的には、期待値と違う値のテスト結果からフェイルしたフリップフロップ（ＦＦ）を特定し、このＦＦをフェイルさせたパス（Ｐａｔｈ）を特定する。次いで、特定されたパスをフェイルさせた回路素子（ＡＮＤ回路など）の特定を行い、この回路素子によるフェイルの原因特定、設計へフィードバックを行う。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２２１４５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の従来技術では、フェイルしたＦＦ候補の特定が不十分であり、フェイルさせた回路素子の特定精度を高めることが困難である。
【０００５】
図１１は、ＢＩＳＴ回路２００の一例を説明する説明図である。図１１に示すように、ＢＩＳＴ回路２００において、入力Ｐｉｎ側の展開回路２０１から出力Ｐｉｎ側の圧縮回路２０２の間には、複数のＦＦが接続されたＳｃａｎ  ｃｈａｉｎがｎ本（点線部分が１本）接続されているものとする。なお、Ｓｃａｎ  ｃｈａｉｎの本数（ｎ）は、例えばｎ＝６４、１２８、２５６…などであってよい。
【０００６】
このとき、ＢＩＳＴ回路２００では、フェイルを観測した出力Ｐｉｎと、そのＰｉｎにおけるＳｃａｎ−ｏｕｔの何サイクル目かの情報（テスト結果）があれば、フェイルしたＦＦの候補（図中の実線部分のＦＦｎ）としてｎ個まで絞り込める。ただし、ｎ本のＳｃａｎ  ｃｈａｉｎの中でフェイルしたＦＦが１つであっても、各Ｓｃａｎ  ｃｈａｉｎが圧縮回路２０２に接続されていることから、フェイルしたＦＦ候補の絞り込みはｎ個までとなる。
【０００７】
このように、フェイルしたＦＦ候補の特定が不十分である場合は、本当は故障を引き起こしていないが、故障候補となってしまった回路素子（ノイズ）がフェイルさせた回路素子の候補に含まれることとなる。
【０００８】
１つの側面では、フェイルさせた回路素子の特定精度を高めることを可能とする故障解析プログラム、故障解析方法および故障解析装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
第１の案では、故障解析プログラムは、コンピュータに、チップのテストの結果と、チップの設計情報とに基づいて、テストにおけるフェイルの各条件についてテストのパターンごとにフェイルの候補とするチップ内の要素を抽出する処理を実行させる。また、故障解析プログラムは、コンピュータに、フェイルの各条件について抽出された要素ごとの、フェイルの候補としての尤度をもとに、抽出された要素の中からフェイルの候補とする要素を絞り込む処理を実行させる。また、故障解析プログラムは、コンピュータに、絞り込まれた要素をもとに、フェイルの候補とする回路素子を抽出する処理を実行させる。
【発明の効果】
【００１０】
本発明の１実施態様によれば、フェイルさせた回路素子の特定精度を高めることができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施形態にかかる故障解析装置の構成を例示するブロック図である。
【図２】図２は、処理部の構成を例示するブロック図である。
【図３】図３は、ＦＦ候補の抽出処理を例示するフローチャートである。
【図４】図４は、フェイル候補テーブルの一例を説明する説明図である。
【図５】図５は、ＦＦ候補の絞り込み処理を例示するフローチャートである。
【図６】図６は、ＦＦ候補の絞り込みを説明する説明図である。
【図７】図７は、故障候補の回路素子の抽出処理を例示するフローチャートである。
【図８】図８は、結果テーブルの一例を説明する説明図である。
【図９】図９は、ＦＦ候補の絞り込みの有無における結果を説明する説明図である。
【図１０】図１０は、実施形態にかかる故障解析装置のハードウエア構成の一例を示すブロック図である。
【図１１】図１１は、ＢＩＳＴ回路の一例を説明する説明図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照して、実施形態にかかる故障解析プログラム、故障解析方法および故障解析装置を説明する。実施形態において同一の機能を有する構成には同一の符号を付し、重複する説明は省略する。なお、以下の実施形態で説明する故障解析プログラム、故障解析方法および故障解析装置は、一例を示すに過ぎず、実施形態を限定するものではない。また、以下の各実施形態は、矛盾しない範囲内で適宜組みあわせてもよい。
【００１３】
図１は、実施形態にかかる故障解析装置１の構成を例示するブロック図である。図１に示す故障解析装置１は、例えばＰＣ（パーソナルコンピュータ）等の情報処理装置である。故障解析装置１は、半導体集積回路（チップとも呼ぶ）におけるＢＩＳＴの結果を用いてフェイルさせた回路素子を推定する故障解析を行う。具体的には、故障解析装置１は、ＢＩＳＴの結果と、チップの設計情報（回路データ、信号遷移情報等）とに基づいて、フェイルしたフリップフロップ（ＦＦ）やパス（Ｐａｔｈ）などのチップ内の要素を特定する。次いで、故障解析装置１は、設計情報をもとに、フェイルした要素にかかる回路素子（ＡＮＤ回路など）をフェイルさせた回路素子として特定する。
【００１４】
図１に示すように、故障解析装置１は、入力部１０、出力部２０、処理部３０および記憶部４０を有する。
【００１５】
入力部１０は、各種情報を処理部３０に入力する。例えば、入力部１０は、ユーザの指示を受け付けて、受け付けた指示に従って、通信により外部装置から各種情報を取得し、取得した各種情報を処理部３０に入力する。例えば、入力部１０は、マウスやキーボードなどの操作受付デバイスであってもよい。具体例を挙げて説明すると、入力部１０は、故障解析を行うチップの設計情報およびチップのＢＩＳＴの結果を処理部３０に入力する。
【００１６】
出力部２０は、各種の情報を出力する。例えば、出力部２０は、処理部３０による故障解析の結果を表示装置に表示する。なお、出力部２０は、タイミング故障解析の結果を音声で出力してもよい。出力部２０のデバイスの一例としては、ＬＣＤ（Liquid  Crystal  Display）やＣＲＴ（Cathode  Ray  Tube）などの表示デバイスや、音声を出力する音声出力デバイスが挙げられる。
【００１７】
処理部３０は、ＣＰＵ（Central  Processing  Unit）等であり、故障解析プログラムを実行することにより、チップの故障解析にかかる処理を実行する。
【００１８】
記憶部４０は、各種情報を記憶する。例えば、記憶部４０は、処理部３０で実行される故障解析プログラムを記憶する。また、記憶部４０は、入力部１０より入力された故障解析を行うチップの設計情報、チップのＢＩＳＴの結果および故障解析の結果を記憶する。
【００１９】
図２は、処理部３０の構成を例示するブロック図である。図２に示すように、処理部３０は、故障解析の処理にかかる第１抽出部３１、第２抽出部３２および故障特定部３３を有する。処理部３０は、テスト結果５１、回路データ５２および信号遷移情報５３をもとに、故障解析の処理を実行することで、フェイルを引き起こした回路素子を示す結果データ６１を出力する。例えば、テスト結果５１、回路データ５２および信号遷移情報５３は、入力部１０より入力されて記憶部４０に記憶され、処理部３０が故障解析の処理を実行する際に記憶部４０より読み出される。
【００２０】
テスト結果５１は、ＢＩＳＴにおいて予め定義された各種テストパターンでテストを行って得られた結果である。具体的には、テスト結果５１は、各種テストパターンでのテストにより観測されたフェイルの条件と、フェイルが観測されたテストパターンとを示すフェイルデータを含む。
【００２１】
例えば、ＢＩＳＴでは、テストを識別する名称、回路動作の基準となるテストクロックの周期やタイミング、端子に入力される信号のパターン、パターンを入力するタイミング等のテストパターンごとの定義をもとに、各種テストパターンでのテストを実施する。そして、各種テストパターンでのテストにおいて、フェイルを観測した出力Ｐｉｎや、出力ＰｉｎにおけるＳｃａｎ−ｏｕｔの何サイクル目か等の観測されたフェイルの条件と、フェイルが観測されたテストパターンの名称とを示すフェイルデータをテスト結果５１として得る。
【００２２】
回路データ５２は、故障解析の対象となるチップの設計情報であり、チップ上における各要素に関する情報や、各要素の接続関係を含む、端子間の接続情報を保持している。また、回路データ５２は、チップ上において各要素を接続する配線や回路素子の配置情報を保持している。
【００２３】
信号遷移情報５３は、各テストパターンでの任意の回路素子の信号遷移の有無を有する情報である。また、信号遷移情報５３は、ＳＤＦ（Standard  Delay  Format）のファイル等であり、信号がチップの要素に入力してから当該要素から出力されるまでの時間の予測値や予測範囲を、要素の種類（セルタイプ）ごとに遅延情報として保持してもよい。この信号遷移情報５３における信号遷移の有無や遅延情報は、各要素の設計情報に基づいて予め算出される。
【００２４】
第１抽出部３１は、テスト結果５１、回路データ５２および信号遷移情報５３に基づいて、ＢＩＳＴにおけるフェイルの各条件についてテストパターンごとにフェイルの候補とするチップ内の要素（ＦＦ）を抽出する。具体的には、第１抽出部３１は、テーブル作成部３１ａと、テーブル絞込部３１ｂとを有する。
【００２５】
テーブル作成部３１ａは、テスト結果５１、回路データ５２および信号遷移情報５３に基づいて、フェイルの候補とするＦＦ（ＦＦ候補とも呼ぶ）を記述するフェイル候補テーブル３１ｃを作成する。テーブル絞込部３１ｂは、フェイル候補テーブル３１ｃに記述された各ＦＦ候補について、フェイルの候補としての尤もらしさを示す尤度を求め、各ＦＦ候補について求めた尤度をもとに候補の絞り込みを行う。第１抽出部３１は、テーブル絞込部３１ｂにより絞り込みが行われたフェイル候補テーブル３１ｃｂを第２抽出部３２に出力する。なお、以後の説明では、フェイル候補テーブル３１ｃについて、テーブル絞込部３１ｂによる絞り込みの前後で区別する場合、絞り込み前をフェイル候補テーブル３１ｃａ、絞り込み後をフェイル候補テーブル３１ｃｂと呼ぶものとする。
【００２６】
図３は、ＦＦ候補の抽出処理を例示するフローチャートである。図３に示すように、処理が開始されると、テーブル作成部３１ａは、各テストパターン（ｔ＿ｉ）を示す値（ｉ）およびフェイルの各条件におけるフェイルデータ（ｆ＿ｊ）を示す値（ｊ）を、例えばｉ＝ｊ＝１として初期化する（Ｓ１）。
【００２７】
次いで、テーブル作成部３１ａは、テスト結果５１よりテストパターン（ｔ＿ｉ）のフェイルデータ（ｆ＿ｊ）を取得する。次いで、テーブル作成部３１ａは、テストパターン（ｔ＿ｉ）のフェイルデータ（ｆ＿ｊ）に対し、回路データ５２よりＢＩＳＴの回路構造を参照して、対応するフリップフロップ（複数あるのでＦＦｓと称する）を取得する（Ｓ２）。
【００２８】
例えば、ｉ＝ｊ＝１であり、テストパターン（ｔ＿１）のフェイルデータ（ｆ＿１）が、フェイルを観測した出力ピンがｐ＿ａ、Ｓｃａｎ−ｏｕｔのサイクル数が３３０番目であるものとする。この場合、回路データ５２より出力ピン（ｐ＿ａ）およびＳｃａｎ−ｏｕｔサイクル数３３０番目に対応する複数のＦＦｓ（例えば図１１の実線部分にあるＦＦｎ）を取得する。
【００２９】
次いで、テーブル作成部３１ａは、信号遷移情報５３を参照し、Ｓ２で取得したフリップフロップ（ＦＦｓ）の中で、データピン、クロックピンとも活性化しているフリップフロップ（ＦＦｓ）を抽出する（Ｓ３）。これにより、テーブル作成部３１ａは、フェイルデータ（ｆ＿ｊ）の条件において、データピン、クロックピンとも活性化し、フェイルしているものと考えられるフリップフロップを抽出する。
【００３０】
次いで、テーブル作成部３１ａは、Ｓ３で抽出されたＦＦｓをフェイル候補テーブル３１ｃに登録する（Ｓ４）。次いで、テーブル作成部３１ａは、全フェイルデータに対して処理を終了したか否かを判定する（Ｓ５）。ｊの値がフェイルデータの最後を示す値でなく、全フェイルデータに対する処理を終了していない場合（Ｓ５：ＮＯ）、テーブル作成部３１ａは、ｊをインクリメント（ｊ＋＋）し（Ｓ６）、Ｓ２へ処理を戻す。
【００３１】
全フェイルデータに対する処理を終了している場合（Ｓ５：ＹＥＳ）、テーブル作成部３１ａは、全テストパターンに対して処理を終了しているか否かを判定する（Ｓ７）。ｉの値がテストパターンの最後を示す値でなく、全テストパターンに対する処理を終了していない場合（Ｓ７：ＮＯ）、テーブル作成部３１ａは、ｉをインクリメント（ｉ＋＋）し（Ｓ８）、Ｓ２へ処理を戻す。
【００３２】
全テストパターンに対して処理を終了している場合（Ｓ７：ＹＥＳ）、テーブル作成部３１ａは、フェイルの各条件についてテストパターンごとのＦＦ候補を抽出してフェイル候補テーブル３１ｃに登録できたことから、処理を終了する。
【００３３】
図４は、フェイル候補テーブル３１ｃの一例を説明する説明図である。図４に示すように、フェイル候補テーブル３１ｃには、フェイルデータ（ｆ＿１）、（ｆ＿２）…について、テストパターン（ｔ＿１）、（ｔ＿２）ごとのＦＦ候補が登録される。例えば、フェイルデータ（ｆ＿１）については、テストパターン（ｔ＿１）におけるＦＦ候補として「ａ、ｂ」が登録されている。また、フェイルデータ（ｆ＿１）のテストパターン（ｔ＿２）では、フェイルしていないことからＦＦ候補なしを示す「−」が登録されている。
【００３４】
図５は、ＦＦ候補の絞り込み処理を例示するフローチャートである。図５に示すように、処理が開始されると、テーブル絞込部３１ｂは、フェイル候補テーブル３１ｃを参照し、フェイルデータ（ｆ＿ｉ）に対する各ＦＦ候補のフェイル率を算出する（Ｓ１０）。
【００３５】
具体的には、Ｓ１０では、フェイルデータ（ｆ＿ｉ）のテストパターン（ｔ＿１）、（ｔ＿２）…（ｔ＿ｊ）における各ＦＦ候補の出現率を求める。一例として、各ＦＦ候補において、（ＦＦ候補として出現した回数）／（テストパターン（ｔ＿１）、（ｔ＿２）…（ｔ＿ｊ）の数（＝ｊ））を算出する。各ＦＦ候補において算出された出現率は、フェイルの候補としての尤もらしさ（尤度）を示している。
【００３６】
次いで、テーブル絞込部３１ｂは、フェイルデータ（ｆ＿ｉ）に対する各ＦＦ候補について、フェイル率が上位ｋ位以内のＦＦ候補を尤度の高いＦＦ候補とする（Ｓ１１）。次いで、テーブル絞込部３１ｂは、フェイル候補テーブル３１ｃから尤度の高いＦＦ候補以外を除去し、尤度の高いＦＦ候補への絞り込みを行う（Ｓ１２）。
【００３７】
この絞り込みを行うためのｋの値（絞り込み値）は、図２に示すように、システム設計者などのユーザＨが入力部１０より事前に設定した値である。例えば、ある回路素子（セル、ネットなど）の故障が複数のフリップフロップに伝播しても、それらのフリップフロップに十分なタイミングマージンがあればフェイルしない。また、仮に複数のフリップフロップがフェイルしても、それらが圧縮回路２０２で同時に圧縮されるｎ個のフリップフロップ（ｎ＝６４、１２８等）に含まれる確率は非常に低い。よって、ｋの値は、ユーザＨの経験に基づいて１〜３程度の値が設定される。また、絞り込み値は、尤度の高いＦＦ候補を絞り込むための値であれば何れであってもよく、フェイル率の順位が閾値（ｋ位）以上のものを絞り込むための値以外に、フェイル率の閾値を設定してもよい。例えば、フェイル率（すべてのテストパターンにＦＦ候補が出現した場合は１．０とする）の閾値を０．７とした場合には、フェイル率が０．７以上のＦＦ候補が尤度の高いＦＦ候補として絞り込まれる。
【００３８】
図６は、ＦＦ候補の絞り込みを説明する説明図である。図６の例では、フェイル候補テーブル３１ｃａのフェイルデータ（ｆ＿２）に対する各ＦＦ候補（ｐ、ｑ、ｒ）のフェイル率を求めている。具体的には、フェイルデータ（ｆ＿２）のテストパターン（ｔ＿１）、（ｔ＿２）…（ｔ＿ｊ）における各ＦＦ候補（ｐ、ｑ、ｒ）の出現率（フェイル率）を求める。一例として、ＦＦ候補（ｐ）については、（ＦＦ候補（ｑ）が出現した回数）／（テストパターン（ｔ＿１）、（ｔ＿２）…（ｔ＿ｊ）の数（＝ｊ））を算出する。ＦＦ候補（ｑ、ｒ）についても同様にして出現率を求める。そして、フェイル率が高く、フェイルの候補として尤もらしい上位２個（ｐ、ｑ）へＦＦ候補が絞り込まれ、絞り込み後のフェイル候補テーブル３１ｃｂが得られる。なお、フェイル率の閾値（０．７）を絞り込み値とした場合には、フェイル率が０．７以上であり、フェイルの候補として尤もらしい上位２個（ｐ、ｑ）へＦＦ候補が絞り込まれる。
【００３９】
図２に戻り、第２抽出部３２は、テーブル絞込部３１ｂにより絞り込みが行われたフェイル候補テーブル３１ｃｂを参照し、フェイル候補のＦＦに対応するパス（故障パス）を求め、故障パスに含まれる回路素子を抽出する。第２抽出部３２は、抽出した回路素子を故障候補の回路素子として故障特定部３３に出力する。
【００４０】
図７は、故障候補の回路素子の抽出処理を例示するフローチャートである。図７に示すように、処理が開始されると、第２抽出部３２は、テストパターンをカウントするためのカウンタ（ｉ）の値を初期化（ｉ＝１）する（Ｓ２０）。
【００４１】
次いで、第２抽出部３２は、フェイル候補テーブル３１ｃｂを参照し、カウンタ値（ｉ）のテストパターンについてのＦＦ候補を得る。次いで、第２抽出部３２は、回路データ５２をもとに、得られたＦＦ候補に対応する故障パス候補（データパスとクロックパス）を特開２０１２−１２８７１２号公報等の公知の方法により求める（Ｓ２１）。次いで、第２抽出部３２は、回路データ５２を参照し、故障パス候補に含まれる回路素子（セル、ネット等）を結果テーブル（ｃ＿ｘ）に登録する（Ｓ２２）。なお、結果テーブル（ｃ＿ｘ）におけるｘは１≦ｘ≦（全フェイルしたチップ数）を示す添字である。
【００４２】
次いで、第２抽出部３２は、全テストパターンに対して処理を終了しているか否かを判定する（Ｓ２３）。カウンタ値（ｉ）がテストパターンの最後を示す値でなく、全テストパターンに対する処理を終了していない場合（Ｓ２３：ＮＯ）、第２抽出部３２は、ｉをインクリメント（ｉ＋＋）し（Ｓ２４）、Ｓ２１へ処理を戻す。
【００４３】
全テストパターンに対する処理を終了している場合（Ｓ２３：ＹＥＳ）、第２抽出部３２は、フェイル候補テーブル３１ｃの全テストパターンにおけるＦＦ候補より、故障候補の回路素子を抽出したことから、処理を終了する。
【００４４】
図８は、結果テーブルの一例を説明する説明図である。図８に示すように、チップ（ｃ＿ａ）における結果テーブル（ｃ＿ａ）には、テストパターン（ｔ＿１）、（ｔ＿２）…ごとの故障候補の回路素子（セルｘ、セルｙ…）が登録されている。第２抽出部３２は、上記の処理により得られた結果テーブルを故障特定部３３に出力する。
【００４５】
図２に戻り、故障特定部３３は、第２抽出部３２により抽出された故障候補の回路素子をもとに、フェイルを引き起こした回路素子を特定する。具体的には、故障特定部３３は、故障候補の回路素子の出現頻度を算出する出現頻度算出部３３ａを有する。
【００４６】
出現頻度算出部３３ａは、第２抽出部３２より出力される結果テーブルを参照し、故障候補の回路素子について、セルインスタンス／セルタイプ毎に故障候補となった回数（出現頻度）を算出する。故障特定部３３は、出現頻度算出部３３ａの算出結果をもとに、出現頻度の高い回路素子をフェイルを引き起こした回路素子と特定する。故障特定部３３は、フェイルを引き起こした回路素子として特定した回路素子を示す情報（例えばセルやネットを識別する情報）を結果データ６１として出力部２０に出力する。
【００４７】
図９は、ＦＦ候補の絞り込みの有無における結果を説明する説明図である。なお、図９の例では、セル（ｃ３）が真にフェイルが生じた回路素子であるものとする。
【００４８】
図９に示すように、テーブル絞込部３１ｂによる絞り込みなしの場合には、フェイルの候補としての尤もらしさの低いＦＦ候補（ｂ、ｑ、ｒ等）がフェイル候補テーブル３１ｃａに含まれる。このため、セル（ｃ３）よりも真にフェイルが生じていないセル（ｃ５）の方が出現頻度が高くなり、セル（ｃ５）がフェイルを引き起こした回路素子として特定されやすくなる。
【００４９】
テーブル絞込部３１ｂによる絞り込みありの場合には、フェイルの候補としての尤もらしさの高いＦＦ候補（ａ、ｃ、ｐ等）にＦＦ候補が絞り込まれたフェイル候補テーブル３１ｃｂとなる。このため、真にフェイルが生じているセル（ｃ３）の出現頻度が他のセルよりも高くなり、セル（ｃ３）がフェイルを引き起こした回路素子として特定されやすくなる。
【００５０】
以上のように、故障解析装置１は、テスト結果５１、回路データ５２および信号遷移情報５３に基づいて、ＢＩＳＴにおけるフェイルの各条件についてテストパターンごとにフェイルのＦＦ候補を抽出する。次いで、故障解析装置１は、抽出されたＦＦ候補ごとの、フェイルの候補としての尤度をもとに、抽出されたＦＦ候補の中からフェイルの候補とするＦＦ候補を絞り込む。次いで、故障解析装置１は、絞り込まれたＦＦ候補をもとに、フェイルの候補とする回路素子を抽出する。したがって、故障解析装置１は、フェイルさせた回路素子の特定精度を高めることが可能となる。
【００５１】
故障解析装置１で行われる各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ（Micro  Controller  Unit）等のマイクロ・コンピュータ）上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ等のマイクロ・コンピュータ）で解析実行されるプログラム上、またはワイヤードロジックによるハードウエア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。
【００５２】
ところで、上記の実施形態で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータ（ハードウエア）の一例を説明する。図１０は、実施形態にかかる故障解析装置１のハードウエア構成の一例を示すブロック図である。
【００５３】
図１０が示すように、故障解析装置１は、各種演算処理を実行するＣＰＵ１０１と、データ入力を受け付ける入力装置１０２と、モニタ１０３と、スピーカ１０４とを有する。また、故障解析装置１は、記憶媒体からプログラム等を読み取る媒体読取装置１０５と、各種装置と接続するためのインタフェース装置１０６と、有線または無線により外部機器と通信接続するための通信装置１０７とを有する。また、故障解析装置１は、各種情報を一時記憶するＲＡＭ１０８と、ハードディスク装置１０９とを有する。また、故障解析装置１内の各部（１０１〜１０９）は、バス１１０に接続される。
【００５４】
ハードディスク装置１０９には、上記の実施形態で説明した各種の処理を実行するためのプログラム１１１が記憶される。また、ハードディスク装置１０９には、プログラム１１１が参照する各種データ１１２（テスト結果５１、回路データ５２、信号遷移情報５３または結果データ６１など）が記憶される。入力装置１０２は、例えば、故障解析装置１の操作者から操作情報の入力を受け付ける。モニタ１０３は、例えば、操作者が操作する各種画面を表示する。インタフェース装置１０６は、例えば印刷装置等が接続される。通信装置１０７は、ＬＡＮ（Local  Area  Network）等の通信ネットワークと接続され、通信ネットワークを介した外部機器との間で各種情報をやりとりする。
【００５５】
ＣＰＵ１０１は、ハードディスク装置１０９に記憶されたプログラム１１１を読み出して、ＲＡＭ１０８に展開して実行することで、各種の処理を行う。なお、プログラム１１１は、ハードディスク装置１０９に記憶されていなくてもよい。例えば、故障解析装置１が読み取り可能な記憶媒体に記憶されたプログラム１１１を、故障解析装置１が読み出して実行するようにしてもよい。故障解析装置１が読み取り可能な記憶媒体は、例えば、ＣＤ−ＲＯＭやＤＶＤディスク、ＵＳＢ（Universal  Serial  Bus）メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、ＬＡＮ等に接続された装置にこのプログラムを記憶させておき、故障解析装置１がこれらからプログラムを読み出して実行するようにしてもよい。
【符号の説明】
【００５６】
１…故障解析装置
１０…入力部
２０…出力部
２１…出力画面
３０…処理部
３１…第１抽出部
３１ａ…テーブル作成部
３１ｂ…テーブル絞込部
３１ｃ…フェイル候補テーブル
３２…第２抽出部
３３…故障特定部
３３ａ…出現頻度算出部
４０…記憶部
５１…テスト結果
５２…回路データ
５３…信号遷移情報
６１…結果データ
１０１…ＣＰＵ
１１１…プログラム
１１２…各種データ
２００…ＢＩＳＴ回路
２０１…展開回路
２０２…圧縮回路
Ｈ…ユーザ
【図１】
0006520585.tif 000002
【図２】
0006520585.tif 000003
【図３】
0006520585.tif 000004
【図４】
0006520585.tif 000005
【図５】
0006520585.tif 000006
【図６】
0006520585.tif 000007
【図７】
0006520585.tif 000008
【図８】
0006520585.tif 000009
【図９】
0006520585.tif 000010
【図１０】
0006520585.tif 000011
【図１１】
0006520585.tif 000012