(57)【要約】【課題】スキャンチェーンにおける故障診断の精度を向上させること。【解決手段】故障箇所推定装置は、動作検証テストの結果により、故障スキャンチェーンとその故障種別を特定する故障スキャンチェーン特定部と、故障スキャンチェーンのテスト結果とシミュレーションの結果を比較して、両結果が異なるスキャンＦＦの箇所から故障スキャンＦＦの範囲を求める故障スキャンＦＦ絞込み部と、論理回路の構成情報、信号線の期待値、フェイル観測スキャンＦＦ及び不良品のテスト結果を参照して、正常スキャンチェーンで観測されたフェイル観測スキャンＦＦから、入力側に含意操作を行いながらフェイルが伝播した経路を遡った場合に到達しうる故障スキャンチェーン上のスキャンＦＦを抽出することにより、故障スキャンＦＦ絞込み部によって求められた故障スキャンＦＦの範囲をさらに絞り込む経路追跡絞込み部と、を有している。【選択図】図１
2010286383.tif 000002
【特許請求の範囲】
【請求項１】
スキャンチェーンの動作検証テストの結果により、故障スキャンチェーンとその故障種別を特定する故障スキャンチェーン特定部と、
不良品の故障スキャンチェーンのテスト結果（観測値）とシミュレーションの結果を比較して、両結果が異なるスキャンフリップフロップ（以下、スキャンＦＦという。）の箇所から故障スキャンＦＦの範囲を求める故障スキャンＦＦ絞込み部と、
論理回路の構成情報、信号線の期待値、フェイル観測スキャンＦＦ、及び、不良品のテスト結果を参照して、正常スキャンチェーンで観測されたフェイル観測スキャンＦＦから、入力側に含意操作を行いながらフェイルが伝播した経路を遡った場合に到達しうる故障スキャンチェーン上のスキャンＦＦを抽出し、抽出したスキャンＦＦのスキャンチェーン上の位置に基づいて故障スキャンＦＦの範囲を求めることにより、前記故障スキャンＦＦ絞込み部によって求められた故障スキャンＦＦの範囲をさらに絞り込む経路追跡絞込み部と、を備えている故障箇所推定装置。
【請求項２】
論理回路の構成情報、信号線の期待値、故障スキャンチェーン情報、及び、故障スキャンＦＦの範囲を参照して、スキャンＦＦ間の信号線が分岐していた場合には、分岐前後を故障候補として区別して、それぞれ故障を仮定し、スキャンチェーン故障シミュレーションを実行し、故障シミュレーションの結果と不良品のテスト結果を比較し、最も一致率の高いスキャンＦＦ、信号線及び故障種別を故障候補として出力する分岐考慮故障シミュレーション照合部をさらに備えている、請求項１に記載の故障箇所推定装置。
【請求項３】
前記故障スキャンチェーン特定部は、スキャン回路内の単一のスキャンチェーン上において故障が存在するものと仮定して、故障スキャンチェーンとその故障種別を特定する、請求項１又は２に記載の故障箇所推定装置。
【請求項４】
前記故障スキャンＦＦ絞込み部は、不良品のテスト時に、故障スキャンチェーンに印加する論理値をすべて不定値とするパタンでテストを行う、請求項１乃至３のいずれか１項に記載の故障箇所推定装置。
【請求項５】
前記経路追跡絞込み部は、求めた故障スキャンＦＦの範囲と故障スキャンＦＦ絞込み部によって求められた故障スキャンＦＦの範囲との共通部分を、新たに故障スキャンＦＦの範囲とする、請求項１乃至４のいずれか１項に記載の故障箇所推定装置。
【請求項６】
論理回路のテスト結果から取得されるフェイル観測スキャンＦＦ情報に基づいて、故障スキャンチェーン上の故障の可能性が高い範囲を絞り込む故障箇所推定装置であって、
論理回路テスト結果情報記憶部に記録された論理回路の構成情報と信号線の期待値とスキャンチェーン動作検証テストのテスト結果とを参照して、故障スキャンチェーンの本数とその故障種別とを特定し、単一スキャンチェーンの故障と判定されたテスト結果に対して、論理回路内の故障スキャンチェーンと前記故障種別とを故障スキャンチェーン記憶部に記録する故障スキャンチェーン特定部と、
前記故障スキャンチェーン記憶部に記録された、故障スキャンチェーンと故障種別とを用いて、良品と不良品とのテスト結果を参照して、良品と不良品とのテスト結果の故障スキャンチェーンにおける出力値の差分を元に、故障スキャンＦＦの範囲を求めて、故障スキャンＦＦ記憶部に記録する故障スキャンＦＦ絞込み部と、
前記故障スキャンチェーン記憶部に記録された故障スキャンチェーンを参照して、スキャンロード動作後に、セット／リセット動作とシフト動作とキャプチャ動作とを組み合わせたテストパタンを入力することで得られるフェイル観測スキャンＦＦ情報と、前記論理回路テスト結果情報記憶部に記憶された前記論理回路の構成情報及び前記信号線の期待値とを参照して、フェイル観測スキャンＦＦから含意的に推定しながら経路追跡したときに到達した故障スキャンチェーン上のスキャンＦＦを抽出し、抽出されたスキャンＦＦの位置関係から故障スキャンＦＦの範囲をさらに絞り込み、絞り込んだ故障スキャンＦＦの範囲を故障スキャンＦＦ記憶部に再記録する経路追跡絞込み部と、
前記故障スキャンチェーンと前記故障スキャンＦＦと前記故障種別とを出力する出力部と、を備えている故障箇所推定装置。
【請求項７】
前記経路追跡絞込み部は、前記故障スキャンチェーン記憶部に記録された故障スキャンチェーンを参照して、スキャンロード動作時に故障スキャンチェーンに不定値を入力した後にシフト動作とキャプチャ動作を組み合わせたテストパタンを繰り返し入力して内部論理を決定したときに最初に検出されるフェイル観測スキャンＦＦ情報と、前記論理回路テスト結果情報記憶部に記録された前記論理回路の構成情報及び前記信号線の期待値とを参照して、フェイル観測スキャンＦＦから含意的に推定しながら経路追跡したときに到達した故障スキャンチェーン上のスキャンＦＦを抽出し、抽出されたスキャンＦＦの位置関係から故障スキャンＦＦの範囲をさらに絞り込み、絞り込んだ故障スキャンＦＦの範囲を故障スキャンＦＦ記憶部に再記録する、請求項６に記載の故障箇所推定装置。
【請求項８】
前記論理回路テスト結果情報記憶部と、前記故障スキャンチェーン記憶部、前記故障スキャンＦＦ記憶部とを参照して、論理回路の構成と、信号線の期待値と、故障スキャンチェーン、故障スキャンＦＦの範囲、該故障スキャンチェーンの故障種別とを参照して、該故障スキャンＦＦの範囲内にあるＦＦ間の信号線に対して、信号線の分岐状態を考慮して、スキャンチェーン故障シミュレーションを行い、シミュレーション結果とテスト結果との照合を行うことで、テスト結果と一致する割合が高い信号線を出力する分岐考慮故障シミュレーション照合部をさらに備え、
前記出力部は、故障信号線と故障信号線の故障分岐位置とをさらに出力する、請求項６又は７に記載の故障箇所推定装置。
【請求項９】
前記出力部によって出力された、故障スキャンチェーンと故障スキャンＦＦと故障種別と故障信号線と故障信号線の分岐位置とを参照するとともに、前記論理回路テスト結果情報記憶部に記憶された、論理回路の構成と信号線の期待値と論理回路のレイアウト情報とを参照して、故障信号線の座標情報を検索し、座標情報からレイアウトを表示し、故障信号線の故障分岐位置から故障箇所の階層を算出し、レイアウト情報から近接する信号線を算出し、期待値情報と照合してアグレッサー信号線を算出し、故障箇所のレイアウト情報を出力する故障候補レイアウト検索照合部をさらに備え、
前記出力部は、前記故障箇所のレイアウトと前記故障箇所の座標情報と故障の可能性が高い階層名と前記アグレッサー信号線名とをさらに出力する、請求項８に記載の故障箇所推定装置。
【請求項１０】
スキャンチェーンの動作検証テストの結果により、故障スキャンチェーンとその故障種別を特定する工程と、
不良品の故障スキャンチェーンのテスト結果（観測値）とシミュレーションの結果を比較して、両結果が異なるスキャンフリップフロップ（以下、スキャンＦＦという。）の箇所から故障スキャンＦＦの範囲を求める故障スキャンＦＦ絞込み工程と、
論理回路の構成情報、信号線の期待値、フェイル観測スキャンＦＦ、及び、不良品のテスト結果を参照して、正常スキャンチェーンで観測されたフェイル観測スキャンＦＦから、入力側に含意操作を行いながらフェイルが伝播した経路を遡った場合に到達しうる故障スキャンチェーン上のスキャンＦＦを抽出し、抽出したスキャンＦＦのスキャンチェーン上の位置に基づいて故障スキャンＦＦの範囲を求めることにより、前記故障スキャンＦＦ絞込み部によって求められた故障スキャンＦＦの範囲をさらに絞り込む経路追跡絞込み工程と、を含む故障箇所推定方法。
【請求項１１】
論理回路の構成情報、信号線の期待値、故障スキャンチェーン情報、及び、故障スキャンＦＦの範囲を参照して、スキャンＦＦ間の信号線が分岐していた場合には、分岐前後を故障候補として区別して、それぞれ故障を仮定し、スキャンチェーン故障シミュレーションを実行し、故障シミュレーションの結果と不良品のテスト結果を比較し、最も一致率の高いスキャンＦＦ、信号線及び故障種別を故障候補として出力する工程をさらに含む、請求項１０に記載の故障箇所推定方法。
【請求項１２】
前記故障スキャンＦＦ絞込み工程において、不良品のテスト時に、故障スキャンチェーンに印加する論理値をすべて不定値とするパタンでテストを行う、請求項１０又は１１に記載の故障箇所推定方法。
【請求項１３】
前記経路追跡絞込み工程において、求めた故障スキャンＦＦの範囲と故障スキャンＦＦ絞込み部によって求められた故障スキャンＦＦの範囲との共通部分を、新たに故障スキャンＦＦの範囲とする、請求項１０乃至１２のいずれか１項に記載の故障箇所推定方法。
【請求項１４】
スキャンチェーンの動作検証テストの結果により、故障スキャンチェーンとその故障種別を特定する処理と、
不良品の故障スキャンチェーンのテスト結果（観測値）とシミュレーションの結果を比較して、両結果が異なるスキャンフリップフロップ（以下、スキャンＦＦという。）の箇所から故障スキャンＦＦの範囲を求める故障スキャンＦＦ絞込み処理と、
論理回路の構成情報、信号線の期待値、フェイル観測スキャンＦＦ、及び、不良品のテスト結果を参照して、正常スキャンチェーンで観測されたフェイル観測スキャンＦＦから、入力側に含意操作を行いながらフェイルが伝播した経路を遡った場合に到達しうる故障スキャンチェーン上のスキャンＦＦを抽出し、抽出したスキャンＦＦのスキャンチェーン上の位置に基づいて故障スキャンＦＦの範囲を求めることにより、前記故障スキャンＦＦ絞込み部によって求められた故障スキャンＦＦの範囲をさらに絞り込む経路追跡絞込み処理と、をコンピュータに実行させるプログラム。
【請求項１５】
論理回路の構成情報、信号線の期待値、故障スキャンチェーン情報、及び、故障スキャンＦＦの範囲を参照して、スキャンＦＦ間の信号線が分岐していた場合には、分岐前後を故障候補として区別して、それぞれ故障を仮定し、スキャンチェーン故障シミュレーションを実行し、故障シミュレーションの結果と不良品のテスト結果を比較し、最も一致率の高いスキャンＦＦ、信号線及び故障種別を故障候補として出力する処理をさらにコンピュータに実行させる、請求項１４に記載のプログラム。
【請求項１６】
前記故障スキャンＦＦ絞込み処理において、不良品のテスト時に、故障スキャンチェーンに印加する論理値をすべて不定値とするパタンでテストを行う、請求項１４又は１５に記載のプログラム。
【請求項１７】
前記経路追跡絞込み処理において、求めた故障スキャンＦＦの範囲と故障スキャンＦＦ絞込み部によって求められた故障スキャンＦＦの範囲との共通部分を、新たに故障スキャンＦＦの範囲とする、請求項１４乃至１６のいずれか１項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、論理回路における故障箇所を推定する故障箇所推定装置、故障箇所推定方法及びプログラムに関し、特に、論理回路のスキャンチェーン（Ｓｃａｎ  Ｃｈａｉｎ）上に存在する故障箇所を推定する故障箇所推定装置、故障箇所推定方法及びプログラムに関する。
【背景技術】
【０００２】
スキャン（Ｓｃａｎ）回路のスキャンチェーン（ないしスキャンパス）上における故障箇所を推定する従来の故障箇所推定方式として、一例として、非特許文献１の故障箇所推定装置が挙げられる。この故障箇所推定装置は、スキャンチェーン動作検証テストにおいて、フェイル（Ｆａｉｌ）した論理回路の内、単一スキャンチェーン故障と確認されたものを対象として、特定のテストパタンで不良品をテストし、得られたテスト結果から、故障スキャンフリップフロップ（Ｓｃａｎ  Ｆｌｉｐ−Ｆｌｏｐ、スキャンＦＦ）の故障範囲を絞り込み、故障シミュレーションで故障箇所を特定する。
【０００３】
まず、スキャン回路に関する用語とスキャン（Ｓｃａｎ）動作について、図１４を参照して説明する。
【０００４】
図１４は、１０個のスキャンＦＦからなるスキャンチェーンを表している。スキャンＦＦは、スキャンアウト（Ｓｃａｎ  ｏｕｔ、Ｓｏｕｔ）端子側から順番（ｉｎｄｅｘ）に番号が付けられる。この例では、Ｉｎｄｅｘ番号０〜９が付けられている。スキャン動作において、データはスキャンイン（Ｓｃａｎ−ｉｎ、Ｓｉｎ）端子からスキャンアウト（Ｓｏｕｔ）端子に向かって流れる。
【０００５】
図１４において、あるスキャンＦＦに注目する時、そのＳｉｎ側を上流（Ｕｐｓｔｒｅａｍ）、Ｓｏｕｔ側を下流（Ｄｏｗｎｓｔｒｅａｍ）と呼ぶ。例えば、図１４において、スキャンＦＦ５の上流にはスキャンＦＦ６〜９があり、下流にはスキャンＦＦ０〜４がある。注目しているスキャンＦＦ自身を下流に含めることもある。Ｓｉｎ端子から各スキャンＦＦにシフトしながら値を入力することをロード（Ｌｏａｄ）といい、スキャンＦＦの値をＳｏｕｔ端子から出力することをアンロード（Ｕｎｌｏａｄ）という。
【０００６】
なお、ロードは、スキャンイン（Ｓｃａｎ−ｉｎ）、シフトイン（Ｓｈｉｆｔ−ｉｎ）とも呼ばれる。一方、アンロードは、スキャンアウト（Ｓｃａｎ−ｏｕｔ）、シフトアウト（Ｓｈｉｆｔ−ｏｕｔ）とも呼ばれる。
【０００７】
ロードデータ及びアンロードデータの表記方法として、Ｓｉｎ端子に近いスキャンＦＦから論理値が列挙される。例えば、｛００１１００１１｝という表記において、左端はＳｉｎ端子側のデータを表し、右端はＳｏｕｔ端子側のデータを表している
【０００８】
図１５は、１本のスキャンチェーンを含むスキャン回路を示している。外側の実線はスキャン回路全体、その中の点線はスキャンチェーン、点線上の小さい四角はスキャンＦＦ、点線で囲まれた矩形部分はスキャンチェーンで区切られた組み合わせ回路を表す。スキャン動作においは、Ｓｉｎ側のスキャンＦＦからデータを供給して各スキャンＦＦの状態値を定め（ロード動作という。）、その後、システムクロック（Ｓｙｓｔｅｍ  Ｃｌｏｃｋ）（ないしキャプチャクロック（Ｃａｐｔｕｒｅ  Ｃｌｏｃｋ））を印加して組み合わせ回路内にデータを供給し（キャプチャ（Ｃａｐｔｕｒｅ）動作という。）、最後に、Ｓｏｕｔ側のスキャンＦＦ端子からデータを出力する。これにより、組み合わせ回路の内部情報が得られる。なお、スキャン動作はスキャンテスト（Ｓｃａｎ  Ｔｅｓｔ）とも呼ばれる。
【０００９】
上記のスキャン動作で得られるデータを元に、スキャン回路の故障診断が行われる。したがって、スキャン回路の故障診断を行うには、組み合わせ回路にデータを提供して結果を出力するスキャンチェーンが正常に動作することが必要とされる。本発明は、スキャンチェーン自身が故障している場合における、スキャンチェーン上の故障箇所の絞込み手法に関する。
【００１０】
スキャンチェーンが正常に動作していることを確認する方法として、例えば、スキャンチェーン動作検証テスト（Ｆｌｕｓｈ  Ｔｅｓｔ、Ｓｃａｎ  Ｃｈｅｃｋ）がある。スキャンチェーン動作検証テストにおいては、例えば、｛００００００｝（ａｌｌ−０）、｛１１１１１１｝（ａｌｌ−１）、｛００１１００１１｝のような特別なパタンを用いてスキャンチェーンの動作チェックが行われる。
【００１１】
次に、従来の故障箇所推定装置について図面を参照して詳細に説明する。図１６は、従来の故障箇所推定装置の構成を示すブロック図である。
【００１２】
図１６を参照すると、従来の故障箇所推定装置は、キーボード及び外部とのインターフェース部を有する入力装置１と、プログラム制御により動作するデータ処理装置２と、ハードディスク、メモリのように情報を記憶する記憶装置３と、外部とのインターフェース部であるディスプレイ装置、印刷装置のような出力装置４とを有している。
【００１３】
図１６を参照すると、記憶装置３は、論理回路テスト結果情報記憶部４１と、故障スキャンチェーン記憶部４２と、故障スキャンＦＦ記憶部４３とを備えている。
【００１４】
論理回路テスト結果情報記憶部４１は、各信号線の論理状態、回路が正常であるときの各信号線の論理状態（期待値）、テストでフェイル信号が検出されたスキャンＦＦ（「フェイル観測スキャンＦＦ」という。）を記憶するとともに、論理回路の構成（例えば、ゲートの種類、ゲート同士の接続関係、ゲートと信号線の接続関係、信号線同士の接続関係）を記憶している。ここで、ノードとは、回路を構成する部品（例えば、ゲート、ゲートの端子、ネット、回路の端子）をいい、フェイル観測ノードとは、その論理状態を観測し得るノード（例えば、回路の外部出力端子、スキャンＦＦ）をいう。
【００１５】
故障スキャンチェーン記憶部４２は、スキャンチェーン動作検証テスト結果を解析した結果として、故障スキャンチェーンとその故障種別を記憶している。
【００１６】
故障スキャンＦＦ記憶部４３は、故障スキャンチェーン上の故障スキャンＦＦの範囲を記憶している。
【００１７】
図１６を参照すると、データ処理装置２は、初期設定部２１、故障スキャンチェーン特定部２２、故障スキャンＦＦ絞込み部２３及び故障シミュレーション比較部２４を有している。
【００１８】
初期設定部２１は、論理回路テスト結果情報記憶部４１を参照して、論理回路の種類、入出力端子の論理状態を設定し、信号線の論理状態を初期化する。
【００１９】
故障スキャンチェーン特定部２２は、論理回路テスト結果情報記憶部４１を参照して、スキャンチェーン動作検証テスト結果を解析して、フェイルしたスキャンチェーン（すなわち故障スキャンチェーン）とその故障種別を、故障スキャンチェーン記憶部４２に記録する。
【００２０】
故障スキャンＦＦ絞込み部２３は、論理回路テスト結果情報記憶部４１と故障スキャンチェーン記憶部４２を参照して、テスト結果から故障スキャンチェーンの各スキャンＦＦの観測値（出力値）と、シミュレーション（Ｓｉｍｕｌａｔｉｏｎ）値（期待値）とを比較して、故障の可能性があるスキャンＦＦの範囲を算出し、故障スキャンＦＦ記憶部４３に記録する。
【００２１】
故障シミュレーション比較部２４は、論理回路テスト結果情報記憶部４１、故障スキャンチェーン記憶部４２及び故障スキャンＦＦ記憶部４３を参照して、各故障スキャンＦＦに故障種別を設定して故障シミュレーションを行い、シミュレーション結果とテスト結果とが最も一致するスキャンＦＦと故障種別を出力装置４に出力する。
【００２２】
図１７は、スキャンチェーン故障の故障箇所を推定する従来の故障箇所推定装置の動作を示す流れ図である。図１７を参照して、従来の故障箇所推定装置の動作について詳細に説明する。
【００２３】
図１７を参照すると、初期設定部２１は、論理回路テスト結果情報記憶部４１を参照して、論理回路の種類、入出力端子の論理状態を設定し、信号線の論理状態を初期化する（ステップＤ１）。
【００２４】
次に、故障スキャンチェーン特定部２２は、論理回路テスト結果情報記憶部４１に記憶されたデータを参照して、スキャンチェーンの動作検証テストを行い、フェイル観測スキャンＦＦが存在するスキャンチェーンを特定し、各スキャンチェーンのフェイル観測スキャンＦＦの状態値を集計して、故障スキャンチェーンの故障種別を固定故障と不定故障に判別し（ステップＤ２）、故障スキャンチェーン記憶部４２に記録する。故障スキャンチェーンの本数が２本以上である場合、及び、故障スキャンチェーンの故障種別が不定である場合には、診断処理を終了する。
【００２５】
故障スキャンＦＦ絞込み部２３は、論理回路テスト結果情報記憶部４１に記録されたデータを参照して、故障スキャンチェーン記憶部４２に記憶された故障スキャンチェーン情報を元に、故障スキャンチェーンに印加する論理値をすべて不定値‘Ｘ’としたパタンによって不良品のテストを行い、テスト結果の故障スキャンチェーンの観測値とシミュレーション値を比較し、両者の値が異なるスキャンＦＦの箇所から故障スキャンＦＦの範囲を算出し、故障スキャンＦＦ記憶部４３に記録する（ステップＤ３）。
【００２６】
図１８は、従来の故障箇所推定装置による故障スキャンＦＦ絞込み手法について説明するための図である。図１８を参照して、固定故障の絞込みの一例として、Ｓｔｕｃｋ−ａｔ−１故障の故障範囲の絞込み方法について説明する。Ｓｔｕｃｋ−ａｔ−１故障とは、状態値を‘１’にする故障であるため、正常値が‘０’のときに観測値が‘１’となることによって故障が生じる。故障が生じる可能性のあるＳｅｎｓｉｔｉｖｅ  Ｂｉｔは、スキャンＦＦ３及び６であり、スキャンＦＦ５は正常値が‘１’であるため、Ｓｔｕｃｋ−ａｔ−１故障は活性化しない。そこで、スキャンＦＦ３及び６において、シミュレーション値と観測値を比較すると、スキャンＦＦ３は正常値、スキャンＦＦ６は故障値となっている。Ｓｔｕｃｋ−ａｔ−１故障は、スキャンＦＦ３の上流、スキャンＦＦ６の下流に存在することがわかる。このとき、スキャンＦＦ６をＵｐｓｔｒｅａｍ  Ｂｏｕｎｄ（ＵＢ）、スキャンＦＦ３をＤｏｗｎｓｔｒｅａｍ  Ｂｏｕｎｄ（ＬＢ）と呼ぶ。
【００２７】
Ｔｒａｎｓｉｔｉｏｎ故障及びＨｏｌｄ  Ｔｉｍｅ故障においては、隣り合う２つのスキャンＦＦの状態値を考慮する。例えば、Ｓｌｏｗ−ｔｏ−Ｆａｌｌ故障が生じている場合、図１８において、Ｓｌｏｗ−ｔｏ−Ｆａｌｌ故障が発生する可能性があるのは、１→０の変化が生じているスキャンＦＦ２と３の間とスキャンＦＦ５と６の間である。スキャンＦＦ２と３の間では観測値とシミュレーション値は一致しているものの、スキャンＦＦ５と６の間ではスキャンＦＦ６が‘１’となりフェイルを観測していることから、Ｓｌｏｗ−ｔｏ−Ｆａｌｌ故障が生じている。したがって、Ｓｌｏｗ−ｔｏ−Ｆａｌｌ故障のＵｐｓｔｒｅａｍ  ＢｏｕｎｄはスキャンＦＦ５、Ｄｏｗｎｓｔｒｅａｍ  ＢｏｕｎｄはスキャンＦＦ２となる。
【００２８】
最後に、故障シミュレーション比較部２４は、論理回路テスト結果情報記憶部４１を参照して信号線の論理値などを設定するとともに、故障スキャンチェーン記憶部４２と故障スキャンＦＦ記憶部４３を参照して故障スキャンＦＦ範囲の各スキャンＦＦに対して故障種別を設定して故障シミュレーションを行い、シミュレーション結果とテスト結果が最も一致する（すなわち、スコアが高い）スキャンＦＦを故障候補として出力装置４に出力する（ステップＤ４）。
【００２９】
ここで、図１９を参照して、スコア（Ｓｃｏｒｅ）の算出方法について説明する。スコアの算出は、図１９に示した
ＴＦＳＦ：テスタでフェイル、故障シミュレーションでフェイルするスキャンＦＦの数
ＴＦＳＰ：テスタでフェイル、故障シミュレーションでパスするスキャンＦＦの数
ＴＰＳＦ：テスタでパス、故障シミュレーションでフェイルするスキャンＦＦの数
ＴＰＳＰ：テスタでパス、故障シミュレーションでパスするスキャンＦＦの数
という４つの要素を用いる。図１９の計算式は、スコア算出用の一般的な計算式である。故障シミュレーションの結果と、テスタによる観測値とが完全に一致した場合には、ＴＦＳＰ＝ＴＰＳＦ＝０となり、図１９の計算式のスコアは最大値１００となる。
【００３０】
従来の故障箇所推定装置によると、アンロード時の故障の影響を受けた観測値と、シミュレーション値とを比較し、故障範囲を算出する。しかし、不定故障においては、‘０’でも‘１’でも、ランダムに故障が生じている可能性が高い。したがって、観測された最も下流のフェイルが最初のフェイルと断定することができず、故障スキャンＦＦの範囲を特定することができない。
【００３１】
また、故障スキャンＦＦを中心に下流側へ故障値と同じ論理が連続して観測された場合には絞り込み範囲が広くなり、広い故障スキャンＦＦの範囲に対して故障シミュレーションを行うと、実用的な時間で診断が終了しないという問題がある。
【００３２】
図２０は、従来の故障箇所推定装置における故障スキャンＦＦ絞込み部２３の動作の具体例を示す。図２０を参照すると、破線の矢印で示された故障スキャンＦＦよりも上流側のスキャンチェーンにおいては、観測値がいずれも故障値‘１’と同一である。したがって、従来の故障箇所推定装置によると、等価な故障スキャンＦＦ候補となり、故障スキャンＦＦの範囲を限定することができない。破線の矢印で示された故障スキャンＦＦよりも下流側のスキャンチェーンにおいて、スキャンＦＦの観測値が故障値と同一の論理が連続している場合には、その範囲に含まれるスキャンＦＦは故障の可能性があるため、故障スキャンＦＦの範囲はさらに広がる。
【００３３】
また、従来技術においては、故障シミュレーション時にスキャンＦＦに対して故障を仮定し、ＦＦ間の信号線の分岐を考慮しないため、故障シミュレーションの精度が低下し、診断精度も低下する。
【００３４】
図２１は、従来の故障箇所推定装置によって得られるスキャンチェーン故障診断結果の出力例を示す。従来の故障箇所推定装置は、スキャンＦＦに故障を仮定して、故障シミュレーションを行うため、図２１（ｂ）に示したように、出力内容として、スキャンチェーン名、スキャンＦＦ番号、故障種別、一致率（レート）が得られる。しかし、この出力結果の各故障候補は、図２１（ｂ）の点線の矢印で示すように、故障候補スキャンＦＦを挟む２つの信号線に跨り、同一信号線においても分岐によるフェイルの伝播経路の変化を考慮していない。したがって、従来の故障箇所推定装置によると、故障箇所の可能性が高い箇所を人手で検証する作業が必要となる。
【先行技術文献】
【非特許文献】
【００３５】
【非特許文献１】Ｒ．Ｇｕｏ  ｅｔ  ａｌ．，“Ａ  Ｔｅｃｈｎｉｑｕｅ  ｆｏｒ  Ｆａｕｌｔ  Ｄｉａｇｎｏｓｉｓ  ｏｆ  Ｄｅｆｅｃｔｓ  ｉｎ  Ｓｃａｎ  Ｃｈａｉｎｓ”，ＩＴＣ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｔｅｓｔ  Ｃｏｎｆｅｒｅｎｃｅ），２００１，ｐ．２６８−２７７
【非特許文献２】Ｋ．Ｓｔａｎｌｅｙ，“Ｈｉｇｈ−Ａｃｃｕｒａｃｙ  Ｆｌｕｓｈ−ａｎｄ−Ｓｃａｎ  Ｓｏｆｔｗａｒｅ  Ｄｉａｇｎｏｓｔｉｃ”，ＩＥＥＥ  Ｄｅｓｉｇｎ  ＆  Ｔｅｓｔ  ｏｆ  Ｃｏｍｐｕｔｅｒｓ，２００１，Ｖｏｌ．１８，Ｎｏ．６，ｐ．５６−６２
【非特許文献３】Ｙｕ  Ｈｕａｎｇ  ｅｔ  ａｌ．，“Ｕｓｉｎｇ  Ｆａｕｌｔ  Ｍｏｄｅｌ  Ｒｅｌａｘａｔｉｏｎ  ｔｏ  Ｄｉａｇｎｏｓｅ  Ｒｅａｌ  Ｓｃａｎ  Ｃｈａｉｎ  Ｄｅｆｅｃｔｓ”，ＡＳＰ−ＤＡＣ，２００５，ｐ．１１７６−１１７９
【発明の概要】
【発明が解決しようとする課題】
【００３６】
従来の故障箇所推定装置は、次の問題がある。
【００３７】
第１の問題点として、従来の故障箇所推定装置は、不定故障のような不安定な故障には適用することができない。
【００３８】
従来の故障箇所推定装置は、アンロード時に生じる最も下流のフェイルしたスキャンＦＦ及び周辺のスキャンＦＦの観測値と、シミュレーション値とを比較することにより故障スキャンＦＦの範囲を限定し、故障シミュレーションにより故障スキャンＦＦをさらに絞り込む。しかし、不定故障は故障がランダムに活性化し、アンロード時のフェイル観測を信用することができないため、故障スキャンＦＦの範囲を絞り込むことができない。したがって、故障シミュレーションの対象となるスキャンＦＦの範囲が広がり、実用的な時間で診断が終了しないからである。
【００３９】
第２の問題点として、従来の故障箇所推定装置は、固定故障に対しても適用できない場合が生じうる。
【００４０】
従来の故障箇所推定装置は、アンロード時に生じる最も下流のフェイルしたスキャンＦＦ及び周辺のスキャンＦＦの観測値と、シミュレーション値とを比較することにより故障スキャンＦＦの範囲を限定し、故障シミュレーションにより故障スキャンＦＦをさらに絞り込む。しかし、故障スキャンＦＦの周辺のシミュレーション値において故障値と同じ値が連続していた場合には、最も下流のフェイルしたスキャンＦＦが分からないため、故障スキャンＦＦの範囲を絞り込むことができない。したがって、故障シミュレーションの対象となるスキャンＦＦの範囲が広がり、実用的な時間で診断が終了しないからである。
【００４１】
第３の問題点として、従来の故障箇所推定装置によると、１つの故障候補が指し示す故障範囲の中に複数の信号線が含まれ、実解析を行うためには故障箇所のさらなる絞込みが必要とされる。
【００４２】
従来の故障箇所推定装置は、故障シミュレーション時においてスキャンＦＦにおける故障を仮定するからである。すなわち、スキャンＦＦ間に複数の信号線が存在する場合であっても、この信号線群は同一の故障候補と見なされ、同一の故障スキャンＦＦに接続された信号線は分岐の前後であっても同一の故障候補となるからであるしたがって、利用者が故障候補の範囲を再確認する作業が必要とされる。
【００４３】
そこで、スキャンチェーンにおける故障診断の精度を向上させることが課題となる。本発明の目的は、かかる課題を解決する故障箇所推定装置、故障箇所推定方法及びプログラムを提供することにある。
【課題を解決するための手段】
【００４４】
本発明の第１の視点に係る故障箇所推定装置は、
スキャンチェーンの動作検証テストの結果により、故障スキャンチェーンとその故障種別を特定する故障スキャンチェーン特定部と、
不良品の故障スキャンチェーンのテスト結果（観測値）とシミュレーションの結果を比較して、両値が異なるスキャンＦＦの箇所から故障スキャンＦＦの範囲を求める故障スキャンＦＦ絞込み部と、
論理回路の構成情報、信号線の期待値、フェイル観測スキャンＦＦ、及び、不良品のテスト結果を参照して、正常スキャンチェーンで観測されたフェイル観測スキャンＦＦから、入力側に含意操作を行いながらフェイルが伝播した経路を遡った場合に到達しうる故障スキャンチェーン上のスキャンＦＦを抽出し、抽出したスキャンＦＦのスキャンチェーン上の位置に基づいて故障スキャンＦＦの範囲を求めることにより、前記故障スキャンＦＦ絞込み部によって求められた故障スキャンＦＦの範囲をさらに絞り込む経路追跡絞込み部と、を備えている。
【００４５】
本発明の第２の視点に係る故障箇所推定装置は、
論理回路のテスト結果から取得されるフェイル観測スキャンＦＦ情報に基づいて、故障スキャンチェーン上の故障の可能性が高い範囲を絞り込む故障箇所推定装置であって、
論理回路テスト結果情報記憶部に記録された論理回路の構成情報と信号線の期待値とスキャンチェーン動作検証テストのテスト結果とを参照して、故障スキャンチェーンの本数とその故障種別とを特定し、単一スキャンチェーンの故障と判定されたテスト結果に対して、論理回路内の故障スキャンチェーンと前記故障種別とを故障スキャンチェーン記憶部に記録する故障スキャンチェーン特定部と、
前記故障スキャンチェーン記憶部に記録された、故障スキャンチェーンと故障種別とを用いて、良品と不良品とのテスト結果を参照して、良品と不良品とのテスト結果の故障スキャンチェーンにおける出力値の差分を元に、故障スキャンＦＦの範囲を求めて、故障スキャンＦＦ記憶部に記録する故障スキャンＦＦ絞込み部と、
前記故障スキャンチェーン記憶部に記録された故障スキャンチェーンを参照して、スキャンロード動作後に、セット／リセット動作とシフト動作とキャプチャ動作とを組み合わせたテストパタンを入力することで得られるフェイル観測スキャンＦＦ情報と、前記論理回路テスト結果情報記憶部に記憶された前記論理回路の構成情報及び前記信号線の期待値とを参照して、フェイル観測スキャンＦＦから含意的に推定しながら経路追跡したときに到達した故障スキャンチェーン上のスキャンＦＦを抽出し、抽出されたスキャンＦＦの位置関係から故障スキャンＦＦの範囲をさらに絞り込み、絞り込んだ故障スキャンＦＦの範囲を故障スキャンＦＦ記憶部に再記録する経路追跡絞込み部と、
前記故障スキャンチェーンと前記故障スキャンＦＦと前記故障種別とを出力する出力部と、を備えている。
【００４６】
本発明の第３の視点に係る故障箇所推定方法は、
スキャンチェーンの動作検証テストの結果により、故障スキャンチェーンとその故障種別を特定する工程と、
不良品の故障スキャンチェーンのテスト結果（観測値）とシミュレーションの結果を比較して、両値が異なるスキャンＦＦの箇所から故障スキャンＦＦの範囲を求める故障スキャンＦＦ絞込み工程と、
論理回路の構成情報、信号線の期待値、フェイル観測スキャンＦＦ、及び、不良品のテスト結果を参照して、正常スキャンチェーンで観測されたフェイル観測スキャンＦＦから、入力側に含意操作を行いながらフェイルが伝播した経路を遡った場合に到達しうる故障スキャンチェーン上のスキャンＦＦを抽出し、抽出したスキャンＦＦのスキャンチェーン上の位置に基づいて故障スキャンＦＦの範囲を求めることにより、前記故障スキャンＦＦ絞込み部によって求められた故障スキャンＦＦの範囲をさらに絞り込む経路追跡絞込み工程と、を含む。
【００４７】
本発明の第４の視点に係るプログラムは、
スキャンチェーンの動作検証テストの結果により、故障スキャンチェーンとその故障種別を特定する処理と、
不良品の故障スキャンチェーンのテスト結果（観測値）とシミュレーションの結果を比較して、両結果が異なるスキャンＦＦの箇所から故障スキャンＦＦの範囲を求める故障スキャンＦＦ絞込み処理と、
論理回路の構成情報、信号線の期待値、フェイル観測スキャンＦＦ、及び、不良品のテスト結果を参照して、正常スキャンチェーンで観測されたフェイル観測スキャンＦＦから、入力側に含意操作を行いながらフェイルが伝播した経路を遡った場合に到達しうる故障スキャンチェーン上のスキャンＦＦを抽出し、抽出したスキャンＦＦのスキャンチェーン上の位置に基づいて故障スキャンＦＦの範囲を求めることにより、前記故障スキャンＦＦ絞込み部によって求められた故障スキャンＦＦの範囲をさらに絞り込む経路追跡絞込み処理と、をコンピュータに実行させる。
【発明の効果】
【００４８】
本発明に係る故障箇所推定装置、故障箇所推定方法及びプログラムによると、スキャンチェーンにおける故障診断の精度を向上させることができる。
【図面の簡単な説明】
【００４９】
【図１】本発明の第１の実施形態に係る故障箇所推定装置の構成を示すブロック図である。
【図２】本発明の第１の実施形態に係る故障箇所推定装置の動作を示す流れ図である。
【図３】本発明の第１の実施形態に係る故障箇所推定装置における経路追跡絞込み部の構成を示すブロック図である。
【図４】本発明の第１の実施形態に係る故障箇所推定装置における経路追跡絞込み部の動作を示す流れ図である。
【図５】本発明の第１の実施形態に係る故障箇所推定装置における分岐考慮故障シミュレーション照合部の構成を示すブロック図である。
【図６】本発明の第１の実施形態に係る故障箇所推定装置における分岐考慮故障シミュレーション照合部の動作を示す流れ図である。
【図７】本発明の第１の実施形態に係る故障箇所推定装置の動作の具体例（フェイル検出テストパタンでテストを実行したときのフェイルの伝播状態）を示す図である。
【図８】本発明の第１の実施形態に係る故障箇所推定装置の経路追跡手法に基づいて、故障スキャンＦＦの範囲を限定する方法について説明するための図である。
【図９】本発明の第１の実施形態に係る故障箇所推定装置における分岐考慮スキャンチェーン故障シミュレーション照合部の動作の具体例を示す図である。
【図１０】本発明の第１の実施形態に係る故障箇所推定装置によって得られるスキャンチェーン故障診断結果の出力例を示す図である。
【図１１】本発明の第２の実施形態に係る故障箇所推定装置の構成を示すブロック図である。
【図１２】本発明の第２の実施形態に係る故障箇所推定装置の動作を示す流れ図である。
【図１３】本発明の第２の実施形態に係る故障箇所推定装置による診断結果と故障範囲を一例として示す図である。
【図１４】スキャンチェーンの動作及び用語について説明するための図である。
【図１５】スキャン回路について説明するための図である。
【図１６】従来の故障箇所推定装置の構成を示すブロック図である。
【図１７】従来の故障箇所推定装置の動作を示す流れ図である。
【図１８】従来の故障箇所推定装置による故障スキャンＦＦ絞込み手法について説明するための図である。
【図１９】従来の故障箇所推定装置によりスコアを算出するための計算式を示す図である。
【図２０】従来の故障箇所推定装置における故障スキャンＦＦ絞込み部の動作の具体例を示す図である。
【図２１】従来の故障箇所推定装置によって得られるスキャンチェーン故障診断結果の出力例を示す図である。
【発明を実施するための形態】
【００５０】
第１の展開形態の故障箇所推定装置は、上記第１の視点に係る故障箇所推定装置であることが好ましい。
【００５１】
第２の展開形態の故障箇所推定装置は、論理回路の構成情報、信号線の期待値、故障スキャンチェーン情報、及び、故障スキャンＦＦの範囲を参照して、スキャンＦＦ間の信号線が分岐していた場合には、分岐前後を故障候補として区別して、それぞれ故障を仮定し、スキャンチェーン故障シミュレーションを実行し、故障シミュレーションの結果と不良品のテスト結果を比較し、最も一致率の高いスキャンＦＦ、信号線及び故障種別を故障候補として出力する分岐考慮故障シミュレーション照合部をさらに備えていることが好ましい。
【００５２】
第３の展開形態の故障箇所推定装置は、故障スキャンチェーン特定部が、スキャン回路内の単一のスキャンチェーン上において故障が存在するものと仮定して、故障スキャンチェーンとその故障種別を特定することが好ましい。
【００５３】
第４の展開形態の故障箇所推定装置は、故障スキャンＦＦ絞込み部が、不良品のテスト時に、故障スキャンチェーンに印加する論理値をすべて不定値とするパタンでテストを行うことが好ましい。
【００５４】
第５の展開形態の故障箇所推定装置は、経路追跡絞込み部が、求めた故障スキャンＦＦの範囲と故障スキャンＦＦ絞込み部によって求められた故障スキャンＦＦの範囲との共通部分を、新たに故障スキャンＦＦの範囲とすることが好ましい。
【００５５】
第６の展開形態の故障箇所推定装置は、上記第２の視点に係る故障箇所推定装置であることが好ましい。
【００５６】
第７の展開形態の故障箇所推定装置は、経路追跡絞込み部が、前記故障スキャンチェーン記憶部に記録された故障スキャンチェーンを参照して、スキャンロード動作時に故障スキャンチェーンに不定値を入力した後にシフト動作とキャプチャ動作を組み合わせたテストパタンを繰り返し入力して内部論理を決定したときに最初に検出されるフェイル観測スキャンＦＦ情報と、前記論理回路テスト結果情報記憶部に記録された前記論理回路の構成情報及び前記信号線の期待値とを参照して、フェイル観測スキャンＦＦから含意的に推定しながら経路追跡したときに到達した故障スキャンチェーン上のスキャンＦＦを抽出し、抽出されたスキャンＦＦの位置関係から故障スキャンＦＦの範囲をさらに絞り込み、絞り込んだ故障スキャンＦＦの範囲を故障スキャンＦＦ記憶部に再記録することが好ましい。
【００５７】
第８の展開形態の故障箇所推定装置は、
前記論理回路テスト結果情報記憶部と、前記故障スキャンチェーン記憶部、前記故障スキャンＦＦ記憶部とを参照して、論理回路の構成と、信号線の期待値と、故障スキャンチェーン、故障スキャンＦＦの範囲、該故障スキャンチェーンの故障種別とを参照して、該故障スキャンＦＦの範囲内にあるＦＦ間の信号線に対して、信号線の分岐状態を考慮して、スキャンチェーン故障シミュレーションを行い、シミュレーション結果とテスト結果との照合を行うことで、テスト結果と一致する割合が高い信号線を出力する分岐考慮故障シミュレーション照合部をさらに備え、
前記出力部は、故障信号線と故障信号線の故障分岐位置とをさらに出力することが好ましい。
【００５８】
第９の展開形態の故障箇所推定装置は、
前記出力部によって出力された、故障スキャンチェーンと故障スキャンＦＦと故障種別と故障信号線と故障信号線の分岐位置とを参照するとともに、前記論理回路テスト結果情報記憶部に記憶された、論理回路の構成と信号線の期待値と論理回路のレイアウト情報とを参照して、故障信号線の座標情報を検索し、座標情報からレイアウトを表示し、故障信号線の故障分岐位置から故障箇所の階層を算出し、レイアウト情報から近接する信号線を算出し、期待値情報と照合してアグレッサー信号線を算出し、故障箇所のレイアウト情報を出力する故障候補レイアウト検索照合部をさらに備え、
前記出力部が、前記故障箇所のレイアウトと前記故障箇所の座標情報と故障の可能性が高い階層名と前記アグレッサー信号線名とをさらに出力することが好ましい。
【００５９】
第１０の展開形態の故障箇所推定方法は、上記第３の視点に係る故障箇所推定方法であることが好ましい。
【００６０】
第１１の展開形態の故障箇所推定方法は、論理回路の構成情報、信号線の期待値、故障スキャンチェーン情報、及び、故障スキャンＦＦの範囲を参照して、スキャンＦＦ間の信号線が分岐していた場合には、分岐前後を故障候補として区別して、それぞれ故障を仮定し、スキャンチェーン故障シミュレーションを実行し、故障シミュレーションの結果と不良品のテスト結果を比較し、最も一致率の高いスキャンＦＦ、信号線及び故障種別を故障候補として出力する工程をさらに含むことが好ましい。
【００６１】
第１２の展開形態の故障箇所推定方法は、故障スキャンＦＦ絞込み工程において、不良品のテスト時に、故障スキャンチェーンに印加する論理値をすべて不定値とするパタンでテストを行うことが好ましい。
【００６２】
第１３の展開形態の故障箇所推定方法は、経路追跡絞込み工程において、求めた故障スキャンＦＦの範囲と故障スキャンＦＦ絞込み部によって求められた故障スキャンＦＦの範囲との共通部分を、新たに故障スキャンＦＦの範囲とすることが好ましい。
【００６３】
第１４の展開形態のプログラムは、上記第４の視点に係るプログラムであることが好ましい。
【００６４】
第１５の展開形態のプログラムは、論理回路の構成情報、信号線の期待値、故障スキャンチェーン情報、及び、故障スキャンＦＦの範囲を参照して、スキャンＦＦ間の信号線が分岐していた場合には、分岐前後を故障候補として区別して、それぞれ故障を仮定し、スキャンチェーン故障シミュレーションを実行し、故障シミュレーションの結果と不良品のテスト結果を比較し、最も一致率の高いスキャンＦＦ、信号線及び故障種別を故障候補として出力する処理をさらにコンピュータに実行させることが好ましい。
【００６５】
第１６の展開形態のプログラムは、故障スキャンＦＦ絞込み処理において、不良品のテスト時に、故障スキャンチェーンに印加する論理値をすべて不定値とするパタンでテストを行うことが好ましい。
【００６６】
第１７の展開形態のプログラムは、経路追跡絞込み処理において、求めた故障スキャンＦＦの範囲と故障スキャンＦＦ絞込み部によって求められた故障スキャンＦＦの範囲との共通部分を、新たに故障スキャンＦＦの範囲とすることが好ましい。
【００６７】
（実施形態１）
本発明の第１の実施形態に係る故障箇所推定装置は、スキャンチェーン動作検証テストの結果を用いて故障スキャンチェーンと故障種別を特定し、不良品の故障スキャンチェーンのテスト結果とシミュレーションの結果の比較から故障スキャンＦＦの範囲を算出し、不良品の正常スキャンチェーンで観測されたフェイルから、入力側に含意操作を行いながらフェイルが伝播した経路を遡り、フェイルを伝播させた故障スキャンＦＦを算出することにより、さらに故障スキャンＦＦの範囲を限定し、各スキャンＦＦに対してスキャンＦＦ間の信号線とその分岐を考慮してスキャンチェーン故障シミュレーションを行い、テスト結果と照合した結果を出力する。
【００６８】
図１は、本実施形態に係る故障箇所推定装置の構成を示すブロック図である。図１を参照すると、故障箇所推定装置は、入力装置１、データ処理装置２、記憶装置３、出力装置４及びテスタ５を有している。データ処理装置２は、さらに、故障スキャンチェーン特定部２２、故障スキャンＦＦ絞込み部２３、経路追跡絞込み部２５及び分岐考慮故障シミュレーション照合部２６を有している。
【００６９】
故障スキャンチェーン特定部２２は、スキャン回路内の単一のスキャンチェーン上において故障が存在するものと仮定して、スキャンチェーンの動作検証テストの結果により、故障スキャンチェーンとその故障種別を特定し、故障スキャンチェーン情報として記録する。
【００７０】
故障スキャンＦＦ絞込み部２３は、不良品のテスト時に、故障スキャンチェーンに印加する論理値をすべて不定値‘Ｘ’とするパタンでテストを行い、不良品の故障スキャンチェーンのテスト結果（観測値）とシミュレーションの結果を比較して、両結果が異なるスキャンＦＦの箇所から故障スキャンＦＦの範囲を求め、故障スキャンＦＦ範囲として記録する。
【００７１】
経路追跡絞込み部２５は、論理回路の構成情報、信号線の期待値、フェイル観測スキャンＦＦ、及び、不良品のテスト結果を参照して、正常スキャンチェーンで観測されたフェイル観測スキャンＦＦから、入力側に含意操作を行いながらフェイルが伝播した経路を遡った場合に到達しうる故障スキャンチェーン上のスキャンＦＦを抽出し、抽出したスキャンＦＦのスキャンチェーン上の位置に基づいて故障スキャンＦＦの範囲を求める。経路追跡絞込み部２５は、求めた故障スキャンＦＦの範囲と、故障スキャンＦＦ絞込み部２３によって求められた故障スキャンＦＦの範囲との共通部分を、新たな故障スキャンＦＦの範囲として、故障スキャンＦＦ記憶部４３に記録する。
【００７２】
分岐考慮故障シミュレーション照合部２６は、論理回路の構成情報、信号線の期待値、故障スキャンチェーン情報、及び、故障スキャンＦＦの範囲を参照して、スキャンＦＦ間の信号線が分岐していた場合には、分岐前後を故障候補として区別して、それぞれ故障を仮定し、スキャンチェーン故障シミュレーションを実行し、故障シミュレーションの結果と不良品のテスト結果を比較し、最も一致率の高いスキャンＦＦ、信号線及び故障種別を故障候補として出力する。
【００７３】
以上の構成により、故障箇所推定装置は、スキャンチェーン動作検証テストから故障スキャンチェーンと故障種別を特定し、不良品のテスト結果の観測値とシミュレーション（Ｓｉｍｕｌａｔｉｏｎ）値の比較、及び、不良品の正常スキャンチェーンに到達したフェイル観測スキャンＦＦからの経路追跡結果に基づいて、故障スキャンＦＦの範囲を絞り込み、スキャンＦＦ間の信号線及び分岐を考慮してスキャンチェーン故障シミュレーションを行った結果とテスト結果を照合し、照合結果を出力する。
【００７４】
故障箇所推定装置は、かかる構成に基づいて、スキャンチェーン上において故障が活性化している箇所を推定することにより、本発明の目的を達成することができる。
【００７５】
本実施形態の故障箇所推定装置によると、スキャンチェーン上の固定故障及び不定故障の両方の故障種別に対し、故障箇所の推定が可能となる。
【００７６】
その理由は、図７を参照して説明すると、次の通りである。本実施形態の故障箇所推定装置によると、ロード（Ｌｏａｄ）動作後、シフト（Ｓｈｉｆｔ）動作とキャプチャ（Ｃａｐｔｕｒｅ）動作を任意に繰り返す複数のパタンを適用することとにより不定故障が活性化し、回路内部ノードの状態値が決定した状態で、正常スキャンチェーンに最初にフェイルが伝播するスキャンＦＦの情報が得られる。したがって、必ず故障が活性化した状態のテスト結果を用いて診断が行われるため、不定故障であっても診断可能となる。
【００７７】
本実施形態の故障箇所推定装置によると、スキャンチェーン上の固定故障に対する故障診断が従来よりも高速になる。
【００７８】
本実施形態の故障箇所診断装置によると、故障スキャンＦＦの範囲の絞り込みにおいて、論理回路内の状態値を含意的に推定しながら経路追跡手法を利用することで、従来の故障スキャンＦＦの範囲のうち、正常スキャンチェーンに故障を伝播させないスキャンＦＦは予め取り除くことができるからである。したがって、本実施形態の故障箇所推定装置によると、故障シミュレーション回数が減り、診断時間が短縮される。
【００７９】
本実施形態の故障箇所推定装置によると、スキャンチェーン上の故障箇所の指摘精度が従来よりも向上する。
【００８０】
本実施形態の故障箇所推定装置によると、スキャンＦＦ間の各信号線の分岐前後を、それぞれ別の故障候補としてスコアを算出して区別するため、従来では故障候補間で重複していた故障領域に対する診断精度が向上するからである。
【００８１】
本実施形態の故障箇所推定装置によると、診断結果が示す故障の範囲を従来よりも限定でき、実解析を効率的にサポートできる。
【００８２】
本実施形態の故障箇所推定装置は、スキャンＦＦ間の各信号線の分岐前後を、それぞれ別の故障候補としてスコアを算出し、区別することができるため、従来では故障候補間で重複していた故障領域に対する調査が不要となるからである。
【００８３】
本実施形態に係る故障箇所推定装置について、図面を参照してさらに詳細に説明する。
【００８４】
図１を参照すると、入力装置１は、キーボード、及び、外部とのインターフェース部を有する。データ処理装置２は、プログラム制御により動作する。記憶装置３は、ハードディスク、メモリなど情報を記憶する装置である。出力装置４は、外部とのインターフェース部であるディスプレイ装置、印刷装置その他の装置である。テスタ５は、不良品をテストするためのテスタである。
【００８５】
図１を参照すると、記憶装置３は、論理回路テスト結果情報記憶部４１、故障スキャンチェーン記憶部４２及び故障スキャンＦＦ記憶部４３を有している。
【００８６】
論理回路テスト結果情報記憶部４１は、処理中の各信号線の論理状態、回路が正常であるときの各信号線の論理状態（期待値）、テスト結果でフェイルしたフェイル観測スキャンＦＦを記憶するとともに、経路上の論理回路の構成（例えば、ゲートの種類、ゲート同士の接続関係、ゲートと信号線の接続関係、信号線同士の接続関係）を記憶している。ここで、ノードとは、回路を構成する部品（例えば、ゲート、ゲートの端子、ネット、回路の端子）をいい、フェイル観測ノードとは、論理状態が観測され得るノード（例えば、回路の外部出力端子、スキャンＦＦ）をいう。
【００８７】
故障スキャンチェーン記憶部４２は、スキャンチェーン動作検証テスト結果を解析した結果である、故障スキャンチェーンとその故障種別を記憶している。
【００８８】
故障スキャンＦＦ記憶部４３は、故障スキャンチェーン上の故障スキャンＦＦの範囲を記憶している。
【００８９】
図１を参照すると、データ処理装置２は、初期設定部２１、故障スキャンチェーン特定部２２、故障スキャンＦＦ絞込み部２３、経路追跡絞込み部２５及び分岐考慮故障シミュレーション照合部２６を有している。
【００９０】
初期設定部２１は、論理回路テスト結果情報記憶部４１を参照して、論理回路の種類、入出力端子の論理状態を設定し、信号線の論理状態を初期化する。
【００９１】
故障スキャンチェーン特定部２２は、論理回路テスト結果情報記憶部４１を参照して、スキャンチェーン動作検証テスト結果を解析して、フェイルしたスキャンチェーン（すなわち故障スキャンチェーン）とその故障種別を、故障スキャンチェーン記憶部４２に記憶する。
【００９２】
故障スキャンＦＦ絞込み部２３は、論理回路テスト結果情報記憶部４１と故障スキャンチェーン記憶部４２を参照して、テスト結果から得られた故障スキャンチェーンの各スキャンＦＦの観測値（出力値）と、シミュレーション値（期待値）を比較して、故障の可能性があるスキャンＦＦの範囲を算出し、故障スキャンＦＦ記憶部４３に記録する。
【００９３】
経路追跡絞込み部２５は、論理回路テスト結果情報記憶部４１に記録された論理回路の構成情報、信号線の期待値情報、及び、フェイル観測スキャンＦＦを参照して、テスタ５でテストした結果を元に、正常スキャンチェーンで観測されたフェイル観測スキャンＦＦから、入力側に含意操作を行いながらフェイルが伝播した経路を遡った場合に到達しうる故障スキャンチェーン上のスキャンＦＦを抽出し、抽出したスキャンＦＦのスキャンチェーン上の位置関係から故障スキャンＦＦの範囲を求める。経路追跡絞込み部２５は、求めた故障スキャンＦＦの範囲と、故障スキャンＦＦ絞込み部２３によって求められた故障スキャンＦＦの範囲との共通部分を、新たな故障スキャンＦＦの範囲として、故障スキャンＦＦ記憶部４３に記録する。
【００９４】
分岐考慮故障シミュレーション照合部２６は、論理回路テスト結果情報記憶部４１、故障スキャンチェーン記憶部４２及び故障スキャンＦＦ記憶部４３を参照して、故障スキャンＦＦの範囲に対して、スキャンＦＦ間をつなぐ信号線の分岐前後を区別して、それぞれ故障シミュレーションを行い、シミュレーションの結果とテスト結果の比較を行うことで、最も一致率が高い故障候補を出力装置４に出力する。
【００９５】
図３は、図１の経路追跡絞込み部２５の詳細な構成を示すブロック図である。図３を参照して経路追跡絞込み部２５について説明する。
【００９６】
図３を参照すると、経路追跡絞込み部２５は、フェイル検出パタン生成部２５１、フェイル観測スキャンＦＦ選択部２５２、フェイル伝播経路追跡部２５３及び追跡経路到達スキャンＦＦ確認部２５４を有している。
【００９７】
フェイル検出パタン生成部２５１は、論理回路テスト結果情報記憶部４１及び故障スキャンチェーン記憶部４２を参照して、故障スキャンチェーンに対して、ロード動作で故障が活性化せず、かつ、キャプチャ動作で故障スキャンＦＦから正常スキャンチェーンにフェイルが伝播するテストパタンを生成し、テスタ５で随時テストを実行して、論理回路テスト結果情報記憶部４１に記録する。
【００９８】
フェイル観測スキャンＦＦ選択部２５２は、論理回路テスト結果情報記憶部４１及び故障スキャンチェーン記憶部４２を参照して、任意のフェイル観測ベクタを選択し、選択したベクタのフェイル観測スキャンＦＦ群を抽出する。
【００９９】
フェイル伝播経路追跡部２５３は、論理回路テスト結果情報記憶部４１及び故障スキャンチェーン記憶部４２を参照して、各フェイル観測スキャンＦＦから、入力側に含意操作を行いながらフェイルが伝播した経路を遡り、経路情報を取得し、経路情報記憶部４４に記録する。
【０１００】
追跡経路到達スキャンＦＦ確認部２５４は、論理回路テスト結果情報記憶部４１、故障スキャンチェーン記憶部４２、故障スキャンＦＦ記憶部４３及び経路情報記憶部４４を参照して、故障スキャンチェーン情報と経路情報からフェイルを伝播させた可能性があるスキャンＦＦを算出し、既存の故障スキャンＦＦの範囲と比較することで、故障スキャンＦＦの範囲をさらに絞り込み、故障スキャンＦＦ記憶部に記録する。
【０１０１】
次に、追跡経路到達スキャンＦＦ確認部２５４は、論理回路テスト結果情報記憶部４１を参照して、未選択のフェイル観測スキャンＦＦがあれば、フェイル観測スキャンＦＦ選択部２５２の処理に戻る。
【０１０２】
図５は、図１の分岐考慮故障シミュレーション照合部２６の詳細な構成を示すブロック図である。図５を参照して、分岐考慮故障シミュレーション照合部２６について説明する。
【０１０３】
図５を参照すると、分岐考慮故障シミュレーション照合部２６は、故障スキャンＦＦ選択部２６１、信号線分岐区別部２６２、スキャンチェーン故障シミュレーション部２６３及びシミュレーション結果照合部２６４を有している。
【０１０４】
故障スキャンＦＦ選択部２６１は、故障スキャンチェーン記憶部４２の故障スキャンチェーンと、故障スキャンＦＦ記憶部４３の故障スキャンＦＦ範囲を参照して、スキャンチェーン故障シミュレーションを行うための故障仮定スキャンＦＦを選択する。
【０１０５】
信号線分岐区別部２６２は、論理回路テスト結果情報記憶部４１を参照して、故障仮定スキャンＦＦのスキャン出力から下流のスキャンＦＦまでの間の信号線群を、分岐ごとに区別する。
【０１０６】
スキャンチェーン故障シミュレーション部２６３は、論理回路テスト結果情報記憶部４１と、故障スキャンチェーン記憶部４２に記録された故障種別を参照して、分岐を考慮した信号線に対して、故障を仮定し、スキャンチェーン故障シミュレーションを行う。
【０１０７】
シミュレーション結果照合部２６４は、スキャンチェーン故障シミュレーション結果と、論理回路テスト結果情報記憶部４１に記録されたテスト結果を照合し、両者が一致している割合を算出する。シミュレーション結果照合部２６４は、両者が最も一致している割合が高い信号線を、故障候補と判定する。なお、所定の閾値を設けて、一致又は不一致の判定結果を出力してもよいし、一致する割合を故障可能性の度合いとして出力してもよい。
【０１０８】
次に、故障スキャンＦＦ記憶部４３を参照して、未選択のスキャンＦＦがある場合には、故障スキャンＦＦ選択部２６１の処理に戻る。
【０１０９】
図２、図４、図６は、本実施形態の故障箇所推定装置の動作を示す流れ図である。図１〜図６を参照して、本実施形態の故障箇所推定装置の動作について詳細に説明する。
【０１１０】
図１及び図２を参照すると、初期設定部２１は、論理回路テスト結果情報記憶部４１を参照して、論理回路の種類、入出力端子の論理状態を設定し、信号線の論理状態を初期化する（ステップＡ１）。
【０１１１】
故障スキャンチェーン特定部２２は、論理回路テスト結果情報記憶部４１を参照し、スキャンチェーン動作検証テスト結果を解析し、フェイルしたスキャンチェーン（すなわち故障スキャンチェーン）とその故障種別を、故障スキャンチェーン記憶部４２に記録する。（ステップＡ２）。
【０１１２】
次に、故障スキャンＦＦ絞込み部２３は、論理回路テスト結果情報記憶部４１に記憶されたデータを参照して、故障スキャンチェーン記憶部４２に記録された故障スキャンチェーン情報を元に、故障スキャンチェーンに印加する論理値をすべて不定値‘Ｘ’とするパタンによって不良品のテストを行い、テスト結果の故障スキャンチェーンの観測値と、シミュレーション値を比較し、両値が異なるスキャンＦＦの箇所から故障スキャンＦＦの範囲を算出し、故障スキャンＦＦ記憶部４３に記録する（ステップＡ３）。
【０１１３】
経路追跡絞込み部２５は、論理回路テスト結果情報記憶部４１に記録された論理回路の構成情報、信号線の期待値情報、及び、フェイル観測スキャンＦＦを参照して、テスタ５にてテストした結果を元に、正常スキャンチェーンで観測されたフェイル観測スキャンＦＦから、入力側に含意操作を行いながらフェイルが伝播した経路を遡り、到達した故障スキャンＦＦを抽出し、スキャンチェーン上の位置関係から故障スキャンＦＦの範囲を算出し、故障スキャンＦＦ記憶部４３に再記録する（ステップＡ６）。
【０１１４】
分岐考慮故障シミュレーション照合部２６は、論理回路テスト結果情報記憶部４１、故障スキャンチェーン記憶部４２及び故障スキャンＦＦ記憶部４３を参照して、故障スキャンＦＦの範囲に対して、スキャンＦＦ間をつなぐ信号線の分岐前後を区別して、それぞれ故障シミュレーションを行い、シミュレーションの結果とテスト結果の比較を行うことで、最も一致率が高い故障候補を出力装置４に出力する（ステップＡ７）。
【０１１５】
図４は、図２に示した流れ図の経路追跡絞込み動作（ステップＡ６）の詳細な流れ図である。図３の経路追跡絞込み部２５の構成図と図４の流れ図を参照して、経路追跡絞込み動作について詳細に説明する。
【０１１６】
フェイル検出パタン生成部２５１は、論理回路テスト結果情報記憶部４１の設計情報と、故障スキャンチェーン記憶部４２の故障スキャンチェーン情報を参照して、故障スキャンチェーンに対して、ロード動作で故障が活性化せず、かつ、キャプチャ動作で故障スキャンＦＦから正常スキャンチェーンにフェイルが伝播するテストパタンを生成し、テスタ５で随時テストを実行して、論理回路テスト結果情報記憶部４１に記録する（ステップＢ１）。
【０１１７】
フェイル観測スキャンＦＦ選択部２５２は、論理回路テスト結果情報記憶部４１のテストパタン及びテスト結果と、故障スキャンチェーン記憶部４２の故障スキャンチェーン及び故障種別を参照して、フェイル観測ベクタを１つずつ選択し、選択したベクタのフェイル観測スキャンＦＦ群を抽出し、フェイル伝播経路追跡部２５３に渡す（ステップＢ２）。
【０１１８】
フェイル伝播経路追跡部２５３は、論理回路テスト結果情報記憶部４１の構成情報と信号線の期待値、及び、故障スキャンチェーン記憶部４２の故障スキャンチェーン情報を参照して、各フェイル観測スキャンＦＦから、入力側に含意操作を行いながらフェイルが伝播した経路を遡り、経路情報を取得し、経路情報記憶部４４に記録する（ステップＢ３）。
【０１１９】
追跡経路到達スキャンＦＦ確認部２５４は、論理回路テスト結果情報記憶部４１、故障スキャンチェーン記憶部４２、故障スキャンＦＦ記憶部４３及び経路情報記憶部４４を参照して、故障スキャンチェーン情報と経路情報からフェイルを伝播させた可能性があるスキャンＦＦを算出し、既存の故障スキャンＦＦの範囲と比較することで、故障スキャンＦＦの範囲をさらに絞り込み、故障スキャンＦＦ記憶部に記録する（ステップＢ４）。
【０１２０】
追跡経路到達スキャンＦＦ確認部２５４は、論理回路テスト結果情報記憶部４１のテスト結果を参照して、未選択のフェイル観測スキャンＦＦが存在する場合には（ステップＢ５のＮｏ）、ステップＢ２に戻り、すべてのフェイル観測スキャンＦＦが処理される（ステップＢ５のＹｅｓ）まで、ステップＢ２〜Ｂ４を繰り返す。
【０１２１】
図６は、図２に示した流れ図の分岐考慮故障シミュレーション照合動作（ステップＡ７）の詳細な流れ図である。図５の分岐考慮故障シミュレーション照合部２６の構成図と、図６の流れ図を参照して、経路追跡絞込み動作について詳細に説明する。
【０１２２】
まず、故障スキャンＦＦ選択部２６１は、故障スキャンチェーン記憶部４２の故障スキャンチェーンと、故障スキャンＦＦ記憶部４３の故障スキャンＦＦ範囲を参照して、スキャンチェーン故障シミュレーションを行うための故障仮定スキャンＦＦを選択し、信号線分岐区別部２６２に渡す（ステップＣ１）。
【０１２３】
信号線分岐区別部２６２は、論理回路テスト結果情報記憶部４１を参照して、故障仮定スキャンＦＦのスキャン出力から下流のスキャンＦＦまでの間の信号線群を分岐ごとに区別し、各分岐信号線の情報をスキャンチェーン故障シミュレーション部２６３に渡す（ステップＣ２）。
【０１２４】
スキャンチェーン故障シミュレーション部２６３は、論理回路テスト結果情報記憶部４１の設計情報と、故障スキャンチェーン記憶部４２に記憶された故障種別を参照して、分岐を考慮した信号線に対して、故障を仮定し、スキャンチェーン故障シミュレーションを行い、シミュレーション結果をシミュレーション結果照合部２６４に渡す（ステップＣ３）。
【０１２５】
シミュレーション結果照合部２６４は、スキャンチェーン故障シミュレーション結果と、論理回路テスト結果情報記憶部４１に記憶されたテスト結果を照合し、両者が一致している割合を算出して出力装置４に出力する（ステップＣ４）。
【０１２６】
シミュレーション結果照合部２６４は、両者が最も一致している割合が高い信号線を故障候補と判定する。なお、所定のしきい値を設けて、一致又は不一致の判定結果を出力してもよいし、一致する割合を故障可能性の度合いとして出力してもよい。
【０１２７】
シミュレーション結果照合部２６４は、故障スキャンＦＦ記憶部４３を参照して、未選択の故障スキャンＦＦの候補が存在する場合には（ステップＣ５のＮｏ）、ステップＣ１に戻り、すべての故障スキャンＦＦの候補が処理される（ステップＣ５のＹｅｓ）まで、ステップＣ１〜Ｃ４を繰り返す。
【０１２８】
次に、具体的なデータに基づいて、本実施形態に係る故障箇所推定装置の動作について説明する。
【０１２９】
図１の初期設定部２１は、入力装置１及び論理回路テスト結果情報記憶部４１から与えられた論理回路の種類と、入出力端子の論理状態を設定し、信号線の論理状態を初期化する（ステップＡ１）。
【０１３０】
図１の故障スキャンチェーン特定部２２は、論理回路テスト結果情報記憶部４１を参照し、スキャンチェーンの正常動作を確認するスキャンチェーン動作検証テストを行い、スキャンチェーン動作検証テスト結果を解析して、フェイルしたスキャンチェーン（すなわち故障スキャンチェーン）とその故障種別を故障スキャンチェーン記憶部４２に記録する（ステップＡ２）。
【０１３１】
スキャンチェーン動作検証テストにおいては、ロード動作及びアンロード動作を行い、キャプチャ動作は行わない。ここで、入力されるテストパタンの期待値は、”００００”、”１１１１”、”００１１”、“０００１”、”１１１０”等の繰り返しを含む。
【０１３２】
例えば、テスト結果が、ある特定のスキャンＦＦよりも上流側で、常に０期待１故障であれば故障種別をＳｔｕｃｋ−ａｔ１（固定）とし、常に１期待０出力であれば故障種別をＳｔｕｃｋ−ａｒ０（固定）とし、”０００１”繰り返しテストパタンで常に１期待０出力であれば故障種別をＦａｉｌ−ｔｏ−ｄｏｗｎ（固定）とし、”１１１０”繰り返しテストパタンで常に０期待１出力であれば故障種別をＦａｉｌ−ｔｏ−ｒｉｓｅ（固定）とし、フェイル観測値が上記以外の傾向ならばＯｐｅｎ（不定）とする。
【０１３３】
次に、図１の故障スキャンＦＦ絞込み部２３は、論理回路テスト結果情報記憶部４１を参照して、良品と不良品をテストし、故障スキャンチェーン記憶部４２に記録された故障スキャンチェーンと故障種別を参照して、良品と不良品との故障スキャンチェーンに対するテスト結果を比較して、スキャンチェーンの下流側から数えて、両者の間で最初に差異が生じたスキャンＦＦから上流側を故障スキャンＦＦの範囲として算出し、故障スキャンＦＦ記憶部４３に記録する（ステップＡ３）。
【０１３４】
次に、図１の経路追跡絞込み部２５は、論理回路テスト結果情報記憶部４１に記録された論理回路の構成情報、信号線の期待値情報、及び、フェイル観測スキャンＦＦを参照して、テスタ５にてテストした結果を元に、正常スキャンチェーンで観測されたフェイル観測スキャンＦＦから入力側に、含意的にフェイル伝播経路を追跡し、到達した故障スキャンＦＦを抽出し、スキャンチェーン上の位置関係から故障スキャンＦＦの範囲を算出し、故障スキャンＦＦ記憶部４３に再記憶する（ステップＡ６）。
【０１３５】
次に、図１の分岐考慮故障シミュレーション照合部２６は、論理回路テスト結果情報記憶部４１、故障スキャンチェーン記憶部４２及び故障スキャンＦＦ記憶部４３を参照して、故障スキャンＦＦの範囲に対して、スキャンＦＦ間の分岐前後を区別して、それぞれスキャンチェーン故障シミュレーションを行い、シミュレーションの結果とテスト結果の比較を行うことで、最も一致率が高い故障スキャンチェーン、故障スキャンＦＦ、信号線、信号線の分岐、及び、故障種別を出力装置４に出力する（ステップＡ７）。
【０１３６】
図１の経路追跡絞込み部２５は、図２のステップＡ６を実行する。図３は、経路追跡絞込み部２５の詳細な構成図であり、図４は、その詳細な動作の流れ図である。
【０１３７】
図３を参照すると、フェイル検出パタン生成部２５１は、論理回路テスト結果情報記憶部４１の設計情報と、故障スキャンチェーン記憶部４２の故障スキャンチェーン情報を参照して、故障スキャンチェーンに対して、セット／リセット（ｓｅｔ／ｒｅｓｅｔ）動作を実行してスキャンＦＦの状態値を初期化することで故障の影響を無効化し、かつ、シフト動作とキャプチャ動作を繰り返すことで故障スキャンＦＦから正常スキャンチェーンにフェイルが伝播するテストパタンを生成し、テスタ５で随時テストを実行して、論理回路テスト結果情報記憶部４１に記憶する（ステップＢ１）。
【０１３８】
なお、故障スキャンチェーンに対して、全スキャンＦＦに対して入力値を‘Ｘ’として故障の影響を無効化し、複数回のシフト動作とキャプチャ動作の組み合わせで状態値を決定し、かつ、シフト動作とキャプチャ動作を繰り返すことで故障スキャンＦＦから正常スキャンチェーンにフェイルが伝播するテストパタンを生成し、テストを実行してもよい。
【０１３９】
図７は、故障スキャンチェーンの全観測スキャンＦＦに対して入力値を‘Ｘ’として故障の影響を無効化し、複数回のシフト動作とキャプチャ動作の組み合わせで状態値を決定する場合のフェイルの伝播状態を示す図である。ここでは、一例として、論理回路の内部に故障スキャンチェーン（上）と正常スキャンチェーン（下）が存在し、故障スキャンチェーン上に１つの不定故障があるものとする。図７を参照して、フェイル検出パタン生成部２５１による診断可能なフェイル観測情報の取得方法について説明する。
【０１４０】
図７（ａ）は、論理回路のロード動作を示す。故障スキャンチェーンに対しては入力値を‘Ｘ’として、スキャンロード（ｓｃａｎ  ｌｏａｄ）時の故障の影響をキャンセルする。次に、図７（ｂ）及び（ｃ）において、リセット（ｒｅｓｅｔ）動作とキャプチャ動作の組み合わせを繰り返すことで、内部のスキャンＦＦの状態値を決定する。
【０１４１】
図７（ｄ）は、ある動作後に故障スキャンＦＦ（下線付文字のスキャンＦＦ）の状態値が決定し、１つの故障スキャンＦＦのみにおいて故障状態が活性化されたことを示している。図７（ｅ）は、故障スキャンＦＦが活性化された後にキャプチャ動作によって故障状態の伝播（点線で示した矢印）が最初に正常スキャンチェーンに到達した状態を示す。
【０１４２】
図７（ｆ）は、スキャンアンロード（ｓｃａｎ  ｕｎｌｏａｄ）動作によって故障スキャンチェーンの故障スキャンＦＦよりもＳｉｎ側にあるスキャンＦＦが故障の影響を受けるため故障箇所の絞込みに利用できず、一方、正常スキャンチェーンで観測された故障状態のスキャンＦＦは真の故障からのみ影響を受けているため故障箇所の絞込みに利用できることを示す。
【０１４３】
図７（ｄ）及び図７（ｅ）は、スキャンチェーン上において故障が発生した論理回路に対して、ロジック部が故障した状態と同じ条件を診断パタンで作り出すことによって、ロジック部の故障診断手法で用いられる経路追跡手法、及び、市販の故障診断ツールを適用できる環境が作り出されることを示す。
【０１４４】
図３のフェイル観測スキャンＦＦ選択部２５２は、論理回路テスト結果情報記憶部４１に記録されたテストパタン及びテスト結果と、故障スキャンチェーン記憶部４２に記録された故障スキャンチェーン及び故障種別を参照して、任意のフェイル観測ベクタを選択し、選択したベクタにおけるフェイル観測スキャンＦＦ群を抽出し、フェイル伝播経路追跡部２５３に渡す（ステップＢ２）。
【０１４５】
次に、図３のフェイル伝播経路追跡部２５３は、論理回路テスト結果情報記憶部４１に記録された構成情報と信号線の期待値、及び、故障スキャンチェーン記憶部４２に記憶された故障スキャンチェーン情報を参照して、各フェイル観測スキャンＦＦから、入力側に含意操作を行いながらフェイルが伝播した経路を遡り、経路情報を取得し、経路情報記憶部４４に記録する（ステップＢ３）。
【０１４６】
図８は、フェイル観測スキャンＦＦからフェイル伝播経路を追跡した図である。図８において、細線のスキャンＦＦは正常値を観測し、太線のスキャンＦＦはフェイル値を観測したものとする。図８（ａ）は、正常スキャンチェーンにおいてフェイルを観測したスキャンＦＦ２から入力側に含意操作をしながら遡り（太線）、フェイル伝播の起源を故障スキャンチェーンにおけるスキャンＦＦ２及び３の２箇所に絞り込んだ例を示す。
【０１４７】
図８（ｂ）は、正常スキャンチェーンにおいてフェイルを観測したスキャンＦＦ４から入力側に含意操作をしながら遡り（太線）、フェイル伝播の起源を故障スキャンチェーンにおけるスキャンＦＦ２、３及び５の３箇所に絞り込んだ例を示す。これらの２つの例を重ね合わせることによって、図８では故障箇所を故障スキャンチェーンにおけるスキャンＦＦ２及び３に絞り込むことができる。
【０１４８】
次に、図３の追跡経路到達スキャンＦＦ確認部２５４は、論理回路テスト結果情報記憶部４１、故障スキャンチェーン記憶部４２、故障スキャンＦＦ記憶部４３及び経路情報記憶部４４を参照して、故障スキャンチェーン情報と経路情報からフェイルを伝播させた可能性があるスキャンＦＦを算出し、既存の故障スキャンＦＦの範囲と比較することで、故障スキャンＦＦの範囲をさらに絞り込み、故障スキャンＦＦ記憶部に記録する（ステップＢ４）。
【０１４９】
選択されていないフェイル観測スキャンＦＦが存在する場合には（ステップＢ５のＮｏ）、ステップＢ２に戻り、すべてのフェイル観測スキャンＦＦの経路追跡が処理される（ステップＢ５のＹｅｓ）まで、ステップＢ２からステップＢ４の処理を繰り返す。
【０１５０】
図８に示した例においては、フェイル観測スキャンＦＦのＦＦ２以外にもフェイル観測スキャンＦＦが存在するので、再選択して、上述の処理を繰り返す。
【０１５１】
以上のように、正常スキャンチェーンで観測されたフェイル観測スキャンＦＦから経路追跡することで、従来技術では不可能であった、不定故障の故障スキャンＦＦの範囲を限定することが可能となる。したがって、本実施形態の故障箇所推定装置によると、後続の故障シミュレーション回数を従来よりも削減することができ、より高速かつ実用的なスキャンチェーン故障診断が可能となる。
【０１５２】
図１の分岐考慮故障シミュレーション照合部２６は、図２のステップＡ７を実行する。図５は分岐考慮故障シミュレーション照合部２６の詳細な構成図であり、図６はその詳細な動作の流れ図である。
【０１５３】
図５を参照すると、先ず、故障スキャンＦＦ選択部２６１は、故障スキャンチェーン記憶部４２に記録された故障スキャンチェーンと、故障スキャンＦＦ記憶部４３に記録された故障スキャンＦＦ範囲を参照して、スキャンチェーン故障シミュレーションを行うための故障仮定スキャンＦＦを選択し、信号線分岐区別部２６２に渡す（ステップＣ１）。
【０１５４】
次に、図５の信号線分岐区別部２６２は、論理回路テスト結果情報記憶部４１を参照して、故障仮定スキャンＦＦのスキャン出力から下流のスキャンＦＦまでの間の信号線群を分岐ごとに区別し、各分岐信号線の情報をスキャンチェーン故障シミュレーション部２６３に渡す（ステップＣ２）。
【０１５５】
図９は、スキャンＦＦ間の信号線の具体例を示す図である。図９を参照すると、チェーン名Ｎ１のスキャンチェーンにおいて、スキャンＦＦ１とスキャンＦＦ２の間にＢｕｆｆｅｒ  Ｂ１が存在する。スキャンＦＦ１とＢｕｆｆｅｒ  Ｂ１との間の信号線１は、２箇所の分岐を有し、スキャンＦＦ１側から順に、信号線１分岐１、信号線１分岐２、信号線１分岐３に分けることができる。一方、スキャンＦＦ２とＢｕｆｆｅｒ  Ｂ１との間の信号線２は、２箇所の分岐を有し、Ｂｕｆｆｅｒ  Ｂ１側から順に、信号線１分岐１、信号線１分岐２に分けることができる。
【０１５６】
分岐を考慮したスキャンチェーン故障シミュレーションは、各分岐に対する故障を仮定して実行される。このとき、分岐の違いによる故障状態の伝播の違いを正確に再現すことができ、従来よりも精度よく故障箇所を限定することができる。
【０１５７】
図５のスキャンチェーン故障シミュレーション部２６３は、論理回路テスト結果情報記憶部４１に記憶された設計情報と、故障スキャンチェーン記憶部４２に記憶された故障種別を参照し、上記の分岐信号線に対して故障状態を仮定し、スキャンチェーン故障シミュレーションを行い、シミュレーション結果をシミュレーション結果照合部２６４に渡す（ステップＣ３）。
【０１５８】
次に、図５のシミュレーション結果照合部２６４は、スキャンチェーン故障シミュレーション結果と、論理回路テスト結果情報記憶部４１に記憶されたテスト結果とを照合し、両者が一致している割合を算出し、出力装置４に出力する（ステップＣ４）。
【０１５９】
シミュレーション結果照合部２６４は、両者が最も一致している割合が高い信号線を故障候補と判定する。なお、所定の閾値を設けて、一致又は不一致の判定結果を出力してもよいし、一致する割合を故障可能性の度合いとして出力してもよい。
【０１６０】
シミュレーション結果照合部２６４は、選択されていない故障スキャンＦＦの候補が存在する場合には（ステップＣ５のＮｏ）、ステップＣ１に戻り、すべての故障スキャンＦＦの候補が処理される（ステップＣ５のＹｅｓ）まで、ステップＣ１〜Ｃ４を繰り返す。
【０１６１】
図９に示した例においては、故障スキャンＦＦ候補ＦＦ１に繋がる信号線１以外にも故障スキャンＦＦ候補ＦＦ２が存在するため、再選択して、上述の処理を繰り返す。
【０１６２】
以上のように、分岐考慮故障シミュレーションを実行し、テスト結果と照合することにより、従来技術ではあいまいであった、故障候補が示す故障箇所の区間を正確に指摘することができる。したがって、本実施形態の故障箇所推定装置によると、従来技術よりもさらに精度の高いスキャンチェーン故障診断が可能となる。
【０１６３】
従来の故障箇所推定装置は、故障スキャンＦＦ自体が故障するものと仮定する。したがって、従来の故障箇所推定装置によると、故障スキャンチェーン名と故障スキャンＦＦ番号が出力されるにすぎず、故障箇所の範囲はあいまいなままである。例えば、図２１を参照すると、図８の丸印によって示されるような実際の故障箇所は、スキャンチェーン名：Ｎ１０、スキャンＦＦ名：ＦＦ１１と、スキャンチェーン名：Ｎ１０、スキャンＦＦ名：ＦＦ１２との両方で指摘されているため、実解析で故障箇所を判断するには熟練が必要となる。
【０１６４】
図１０において、本実施形態の故障箇所推定装置による診断結果を一例として示す。図１０（ａ）は、本実施形態の故障箇所推定装置を用いて診断した結果の具体例を示す。図１０（ｂ）は、図１０（ａ）の診断結果が表す故障箇所の範囲を示す。
【０１６５】
図１０（ａ）を参照すると、出力には、スキャンチェーン名、スキャンＦＦ番号、故障種別、信号線名、信号線の分岐情報、及び、一致率（レート）が含まれる。診断結果として、信号線の分岐を考慮した故障位置に対して一致率による重み付けを行い、重みの高い故障箇所から順に出力することが好ましい。これにより、実際の故障の範囲を限定し易くなり、実解析における解析箇所の選択が容易となる。
【０１６６】
（実施形態２）
本発明の第２の実施形態に係る故障箇所推定装置について、図面を参照して説明する。図１１は、本実施形態に係る故障箇所推定装置の構成を示すブロック図である。図１２は、本実施形態に係る故障箇所推定装置の動作を示す流れ図である。
【０１６７】
図１１の故障候補レイアウト検索照合部２７は、レイアウト情報を入力情報として追加することで、診断結果で得られた故障箇所から、レイアウト情報を検索し、レイアウト情報の階層情報や近接Ｎｅｔ情報や信号線の状態値情報と照合する（図１２のステップＡ８）。
【０１６８】
図１３は、本実施形態に係る故障箇所推定装置による診断結果と故障範囲を一例として示す。図１３（ａ）を参照すると、本実施例の故障箇所推定装置は、故障箇所のレイアウト、故障箇所の座標情報、故障の可能性が高い階層名、アグレッサー信号線名を出力する。これにより、診断精度及び解析の容易性がさらに向上する。
【産業上の利用可能性】
【０１６９】
本発明は、論理回路情報とテスト結果から、スキャンチェーン故障箇所を推定する故障箇所推定装置に適用することができ、故障箇所推定装置をコンピュータによって実現するプログラムにも適用することができる。
【符号の説明】
【０１７０】
１  入力装置
２  データ処理装置
３  記憶装置
４  出力装置
５  テスタ
２１  初期設定部
２２  故障スキャンチェーン特定部
２３  故障スキャンＦＦ絞込み部
２４  故障シミュレーション比較部
２５  経路追跡絞込み部
２６  分岐考慮故障シミュレーション照合部
２７  故障候補レイアウト検索照合部
４１  論理回路テスト結果情報記憶部
４２  故障スキャンチェーン記憶部
４３  故障スキャンＦＦ記憶部
４４  経路情報記憶部
２５１  フェイル検出パタン生成部
２５２  フェイル観測スキャンＦＦ選択部
２５３  フェイル伝播経路追跡部
２５４  追跡経路到達スキャンＦＦ確認部
２６１  故障スキャンＦＦ選択部
２６２  信号線分岐区別部
２６３  スキャンチェーン故障シミュレーション部
２６４  シミュレーション結果照合部
【図１】
2010286383.tif 000003
【図２】
2010286383.tif 000004
【図３】
2010286383.tif 000005
【図４】
2010286383.tif 000006
【図５】
2010286383.tif 000007
【図６】
2010286383.tif 000008
【図７】
2010286383.tif 000009
【図８】
2010286383.tif 000010
【図９】
2010286383.tif 000011
【図１０】
2010286383.tif 000012
【図１１】
2010286383.tif 000013
【図１２】
2010286383.tif 000014
【図１３】
2010286383.tif 000015
【図１４】
2010286383.tif 000016
【図１５】
2010286383.tif 000017
【図１６】
2010286383.tif 000018
【図１７】
2010286383.tif 000019
【図１８】
2010286383.tif 000020
【図１９】
2010286383.tif 000021
【図２０】
2010286383.tif 000022
【図２１】
2010286383.tif 000023