JP3908192B2 - Logic circuit failure diagnosis apparatus, failure diagnosis method and program thereof - Google Patents

Logic circuit failure diagnosis apparatus, failure diagnosis method and program thereof Download PDF

Info

Publication number
JP3908192B2
JP3908192B2 JP2003101815A JP2003101815A JP3908192B2 JP 3908192 B2 JP3908192 B2 JP 3908192B2 JP 2003101815 A JP2003101815 A JP 2003101815A JP 2003101815 A JP2003101815 A JP 2003101815A JP 3908192 B2 JP3908192 B2 JP 3908192B2
Authority
JP
Japan
Prior art keywords
node
output
state
value
logic circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003101815A
Other languages
Japanese (ja)
Other versions
JP2004309261A (en
Inventor
正人 二階堂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Electronics Corp
Original Assignee
NEC Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Electronics Corp filed Critical NEC Electronics Corp
Priority to JP2003101815A priority Critical patent/JP3908192B2/en
Publication of JP2004309261A publication Critical patent/JP2004309261A/en
Application granted granted Critical
Publication of JP3908192B2 publication Critical patent/JP3908192B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、論理回路の故障診断装置、故障診断方法およびそのプログラムに係わり、特に論理回路のテスト結果から取得されたフェイル情報に基づき、論理回路の故障個所を推定する論理回路の故障診断装置、故障診断方法およびそのプログラムに関する。
【0002】
【従来の技術】
近年、半導体素子の微細化技術の進展に伴い、その半導体素子で構成する半導体装置も大規模化しているので、設計時の論理検証や製造された半導体装置のテスト効率化とともに故障解析のさらなる効率化も要求されている。
【0003】
従来から、半導体装置における論理回路設計時には、その論理動作およびタイミング検証のツールとして論理シミュレーション装置が用いられているが、一方、製造された半導体装置の故障解析時に適用されるツールとしては例えば故障診断装置がある。
【0004】
この種の論理回路の故障診断は、論理回路の故障個所を推定するための手法として、一般的な構成のコンピュータに論理回路の故障診断プログラムをインストールして各コマンド入力に応じて実行させることにより行う。
【0005】
その一例が特願2001−383335の従来例に記載されている。この従来の論理回路の故障診断における概略処理のフローチャートを示した図14を参照すると、まずステップS31において、故障シミュレータを用いて、論理回路内部に故障を仮定して機能もしくは論理シミュレーションを行い、そのシミュレーション結果と期待値とを照合し、仮定した故障個所と、その故障を検出したテストベクタとを対応付けた故障辞書を作成し、ステップS32において、論理回路の実際のテスト結果からフェイル情報を取得する(特許文献1参照)。
【0006】
次にステップS33において、フェイル情報のフェイルピンおよびフェイルベクタに対応して、故障辞書をそれぞれ検索し、仮定の故障個所を求め、ステップS34において、複数得られた仮定の故障候補の中から、優先順位付けを行って故障個所の推定を行う。
【0007】
また、他の従来の論理回路の故障個所特定方法として、例えば、電子ビームテスタを用いて、論理回路の上位階層から故障個所を推定し、階層境界の内部信号を観察し、故障個所を論理回路の下位階層へ順に絞り込んでいく方法もある。
【0008】
さらに、別の従来の論理回路の故障診断方法として、特開平8−146093号公報に記載されているように、論理回路をラッチと組み合わせ回路とに分割しゲートレベルで故障個所を推定する方法もある(特許文献2参照)。
【0009】
この方法では、故障出力に故障を伝搬する可能性のある組み合わせ回路をダイナミックに抽出して、組み合わせ回路毎に論理状態および故障の伝搬する経路を推定し、入力方法に遡ることにより故障個所を推定している。
【0010】
ここで組み合わせ回路の論理状態とは、ひとつの信号線の論理値だけでなく、回路内部の全ノード、すなわち信号線、ゲート、ゲート端子、入出力端子が0/1/X(Don‘t Care)/Z(ハイインピーダンス)/U(不定)などの論理値を持っている状態のことである。
【0011】
一方、前述した特願2001−383335の「論理回路の故障箇所推定方法、および、論理回路の故障箇所推定プログラム」における手法は、論理回路を決定グラフに変換し、テストパターンに対応した各ノードの期待値と推定値を比較追跡しながら、機能レベルで故障箇所を推定している。
【0012】
【特許文献1】
特願2001−383335(段落「0003」、図1、図5。)。
【0013】
【特許文献2】
特開平8−146093号公報(段落「0013」、「0016」、「0017」、図1、図2。)。
【0014】
【発明が解決しようとする課題】
上述したように従来の故障シミュレータによる論理回路の故障診断方法では、故障辞書を予め作成しておく必要があるが、故障辞書の作成は多大な故障シミュレーション時間を要するため、論理回路が大規模化すればするほど計算時間も膨大となり、故障辞書のファイルも非常に大きくなるという問題があった。
【0015】
また、故障シミュレーションで用いる故障モデルは単一縮退故障が一般的であるため、ブリッジ故障などの多重故障では実際と一致しないこともあり、また、故障シミュレーションモデルを多重故障に拡張すると、故障シミュレーションの処理時間の点で実用的でないという問題が挙げられる。
【0016】
さらに、従来の、電子ビームテスタを用いた論理回路の故障個所推定方法では、論理回路の上位階層から下位階層へ故障個所を逐次観測しながら絞り込んでいくため有効な手段であるが、論理回路が大規模化し、多層配線構造になると、下層配線の電位が観測不可能になるという問題がある。
【0017】
さらにまた、従来のゲートレベルでの故障診断方法の場合は、組み合わせ回路毎に故障個所を推定できるため有効な手段であるが、ゲート単位での推定処理のため、大規模な論理回路に対する精度と処理時間が問題となる。
【0018】
本発明の目的は、上述した問題点に鑑みてなされたものであって、大規模化、多層配線化する論理回路に対して、機能レベルで、短時間に、期待値を算出し、また故障個所を推定することにある。
【0019】
【課題を解決するための手段】
そのため、本発明は、論理回路の構造あるいは動作を設計言語で回路ブロック単位に機能記述した記述情報から、フェイル抽出装置により抽出したフェイル推定出力ポートを有するフェイル推定回路ブロックごとに作成した状態遷移表に基づき、入力ノード、演算子で構成される操作ノード、複数の入力値の組から1つの出力値を選択する選択ノードおよび出力ノードとこれらの各ノードの結線を行い、表示手段にデータフロー表示して前記各ノードに対する動作を決定する決定グラフを作成し、データ系故障と制御系故障とを別々に想定しながら、前記決定グラフを用いたフェイル伝搬経路推定を行うことで、機能レベルでデータ系と制御系の故障個所を推定する機能を有することを特徴とする。
【0020】
本発明の他の特徴は、論理回路のテスト結果から取得されたフェイル情報に基づき前記論理回路の故障個所を推定する論理回路の故障診断装置において、入力装置と、前記論理回路を設計言語で回路ブロック単位に機能記述した記述情報、前記フェイル情報およびフェイル伝搬推定情報により、フェイル出力ポートおよびフェイル推定出力ポートを有するフェイル推定回路ブロックを抽出するフェイル抽出装置と、前記記述情報を基に前記フェイル推定回路ブロックの処理順序に従って複数の状態を持つ状態遷移表を作成し、前記状態遷移表を基に、入力ノード、演算子で構成される操作ノード、複数の入力値の組から1つの出力値を選択する選択ノードおよび出力ノードと前記各ノードの結線とを行うとともにデータフロー表示して全条件に対する動作を決定するための決定グラフを作成する変換装置と、前記論理回路の期待値を算出する期待値算出装置と、前記論理回路の故障個所を推定する故障個所推定装置と、前記装置それぞれの情報を記憶する記憶装置と、前記故障個所推定装置の出力データを表示する出力装置とを備えることにある。
【0021】
また、設計言語は、論理回路の構造あるいは動作を記述した言語である。
【0022】
さらに、前記変換装置は、前記論理回路の処理を複数の遷移状態に分割し、現状態、状態遷移条件、次状態および動作の各項目で構成される状態遷移表を作成する手段と、前記状態遷移表に記述された入力ポート、状態変数または数値を読み出す処理を入力ノードとして設定し、演算子の処理を操作ノードとして設定し、出力ポート、前記状態変数または前記数値を書き込む処理を出力ノードとして設定し、前記入力ノードおよび前記操作ノードをデータフローとして接続することで状態を計算する制御パートを作成し、作成した前記状態の結果をTRUE/FALSEの2値で与え、かつ、前記入力ノードおよび前記操作ノードを前記データフローとして接続することで出力値を計算するデータパートを作成し、前記状態の結果に応じて、与えられた組の中から前記TRUEの状態に対応した一つの前記出力値を出力ノードに選択出力するための選択ノードを設定する手段とを有する。
【0023】
さらにまた、前記期待値算出装置は、前記決定グラフに基づき、状態が遷移するごとに、前記入力ノード、前記操作ノード、前記選択ノードおよび前記出力ノードの出力値を算出して、ノード名および算出値の組で構成されるノードテーブルを作成するノード期待値取得手段と、前記ノードテーブルから前記論理回路の出力値を抽出する出力値抽出手段とを有する。
【0024】
また、前記期待値算出装置におけるノード期待値取得手段は、テストパターンもしくは一つ前の状態の出力パターンを読み込み、前記入力ノードを設定する入力パターン読み込み手段と、全入力値が設定され、かつ出力値が未設定の操作ノードを抽出する操作ノード抽出手段と、抽出された前記操作ノードに対して、入力値をもとに出力値を算出する操作ノード設定手段と、全操作ノードの設定が完了したか否かを判定し、完了していなければ操作ノード抽出手段へ戻り、完了していれば次の手段へ進む操作ノード判定手段と、選択ノードの出力値を算出する選択ノード設定手段と、前記出力ノードの出力値を算出する出力ノード設定手段と、次状態が有り、かつ次状態が最初の遷移状態でなければ次状態の前記入力パターン読み込み手段へ行き、次状態が無いか、もしくは次状態が最初の遷移状態であれば、処理を終了する状態判定手段とを有する。
【0025】
さらに、前記期待値算出装置における出力値抽出手段は、前記ノード期待値取得手段で作成したノードテーブルから、テストパターンごとの最終状態における出力ポートの出力値を抽出する手段により、前記論理回路の出力値を抽出する機能を有する。
【0026】
本発明の論理回路の故障診断方法の特徴は、論理回路のテスト結果から取得されたフェイル情報に基づき前記論理回路の故障個所を推定する論理回路の故障診断方法において、前記論理回路を設計言語で回路ブロック単位に機能記述した記述情報、前記フェイル情報およびフェイル伝搬推定情報により、フェイル出力ポートおよびフェイル推定出力ポートを有するフェイル推定回路ブロックを抽出するフェイル抽出工程と、前記記述情報により、前記フェイル推定回路ブロックの処理順序に従って複数の状態を持つ状態遷移表を作成し、前記状態遷移表を基に入力ノード、演算子で構成される操作ノード、複数の入力値の組から1つの出力値を選択する選択ノードおよび出力ノードと前記各ノードの結線とを行うとともに、データフロー表示して全条件に対する動作を決定する決定グラフを作成する変換工程と、前記論理回路の期待値を算出する期待値算出工程と、故障個所を推定する故障個所推定工程とを有することにある。
【0027】
また、前記設計言語は、論理回路の構造あるいは動作を記述した言語である。
【0028】
さらに、前記変換工程は、前記論理回路の処理を複数の遷移状態に分割し、現状態、状態遷移条件、次状態および動作の各項目で構成される状態遷移表を作成する工程と、前記状態遷移表に記述された入力ポート、状態変数または数値を読み出す処理を入力ノードとして設定し、演算子の処理を操作ノードとして設定し、出力ポート、前記状態変数または前記数値を書き込む処理を出力ノードとして設定し、前記入力ノードと前記操作ノードとをデータフローとして接続することで状態を計算する制御パートを作成し、作成した前記状態の結果をTRUE/FALSEの2値で与え、かつ、前記入力ノードおよび前記操作ノードをデータフローとして接続することで出力値を計算するデータパートを作成し、前記状態の結果において、与えられた組の中から前記TRUE状態に対応した一つの前記出力値を出力ノードに選択出力するための選択ノードを設定する工程とを有する。
【0029】
さらにまた、前記期待値算出工程は、前記決定グラフを用いて、状態が遷移するごとに、前記入力ノード、前記操作ノード、前記選択ノードおよび前記出力ノードの出力値を算出して、ノード名および算出値の組で構成されるノードテーブルを作成するノード期待値取得工程と、前記ノードテーブルから前記論理回路の出力値を抽出する出力値抽出工程とを有する。
【0030】
また、前記期待値算出工程におけるノード期待値取得工程は、テストパターンもしくは一つ前の状態の出力パターンを読み込み、前記入力ノードを設定する入力パターン読み込み工程と、全入力値が設定され、かつ出力値が未設定の操作ノードを抽出する操作ノード抽出工程と、抽出された前記操作ノードに対して、入力値をもとに出力値を算出する操作ノード設定工程と、全操作ノードの設定が完了したか否かを判定し、完了していなければ操作ノード抽出工程へ戻り、完了していれば次の工程へ行く操作ノード判定工程と、選択ノードの出力値を算出する選択ノード設定工程と、前記出力ノードの出力値を算出する出力ノード設定工程と、次状態が有り、かつ次状態が最初の遷移状態でなければ次状態の前記入力パターン読み込み工程へ行き、次状態が無いか、もしくは次状態が最初の遷移状態であれば、処理を終了する状態判定工程とを有する。
【0031】
また、前記期待値算出処理工程における出力値抽出工程は、前記ノード期待値取得工程で作成したノードテーブルから、テストパターンごとの最終状態における出力ポートの出力値を抽出する工程により、前記論理回路の出力値を抽出する。
【0032】
さらに、前記故障個所推定工程は、制御系故障とデータ系故障とを別々に想定しながら故障個所を推定する故障モード選択工程と、前記フェイル出力ポートおよび前記フェイル推定出力ポートに対応したノードを起点として、フェイルベクタに基づき各ノードの出力推定および期待値比較により各ノードのフェイル推定を入力方向に行い、フェイル伝搬経路を推定するノード推定工程と、このフェイル伝搬経路のノードの情報を故障個所推定情報として登録する推定情報登録工程と、出力ポートにフェイルを伝搬する可能性のある全ての組み合わせを算出するまで、これらの処理を繰り返す終了判定工程と、前記故障個所推定情報をリスト出力する故障候補出力工程とを有する。
【0033】
さらにまた、前記故障個所推定工程におけるノード推定工程は、各ノードの出力推定をする際に、前記ノードの値が多ビットの場合は、推定可能なビットの値のみを推定する。
【0034】
本発明の論理回路の故障診断方法のプログラムは、論理回路のテスト結果から取得されたフェイル情報に基づき前記論理回路の故障個所を推定する論理回路の故障診断方法において、前記論理回路を設計言語で回路ブロック単位に機能記述した記述情報、前記フェイル情報およびフェイル伝搬推定情報により、フェイル出力ポートおよびフェイル推定出力ポートを有するフェイル推定回路ブロックを抽出するフェイル抽出工程と、前記記述情報により、前記フェイル推定回路ブロックの処理順序に従って複数の状態を持つ状態遷移表を作成し、前記状態遷移表を基に入力ノード、演算子で構成される操作ノード、複数の入力値の組から1つの出力値を選択する選択ノードおよび出力ノードと前記各ノードの結線とを行うとともに、データフロー表示して全条件に対する動作を決定する決定グラフを作成する変換工程と、前記論理回路の期待値を算出する期待値算出工程と、故障個所を推定する故障個所推定工程とをコンピュータに実行させることにある。
【0035】
また、前記設計言語は、論理回路の構造あるいは動作を記述した言語である。
【0036】
さらに、前記変換工程は、前記論理回路の処理を複数の遷移状態に分割し、現状態、状態遷移条件、次状態および動作の各項目で構成される状態遷移表を作成する工程と、前記状態遷移表に記述された入力ポート、状態変数または数値を読み出す処理を入力ノードとして設定し、演算子の処理を操作ノードとして設定し、出力ポート、前記状態変数または前記数値を書き込む処理を出力ノードとして設定し、前記入力ノードと前記操作ノードとをデータフローとして接続することで状態を計算する制御パートを作成し、作成した前記状態の結果をTRUE/FALSEの2値で与え、かつ、前記入力ノードおよび前記操作ノードをデータフローとして接続することで出力値を計算するデータパートを作成し、前記状態の結果において、与えられた組の中から前記TRUE状態に対応した一つの前記出力値を出力ノードに選択出力するための選択ノードを設定する工程とをコンピュータに実行させるためのプログラムである。
【0037】
さらにまた、前記期待値算出工程は、前記決定グラフを用いて、状態が遷移するごとに、前記入力ノード、前記操作ノード、前記選択ノードおよび前記出力ノードの出力値を算出して、ノード名および算出値の組で構成されるノードテーブルを作成するノード期待値取得工程と、前記ノードテーブルから前記論理回路の出力値を抽出する出力値抽出工程とをコンピュータに実行させるためのプログラムである。
【0038】
また、前記期待値算出工程におけるノード期待値取得工程は、テストパターンもしくは一つ前の状態の出力パターンを読み込み、前記入力ノードを設定する入力パターン読み込み工程と、全入力値が設定され、かつ出力値が未設定の操作ノードを抽出する操作ノード抽出工程と、抽出された前記操作ノードに対して、入力値をもとに出力値を算出する操作ノード設定工程と、全操作ノードの設定が完了したか否かを判定し、完了していなければ操作ノード抽出工程へ戻り、完了していれば次の工程へ行く操作ノード判定工程と、選択ノードの出力値を算出する選択ノード設定工程と、前記出力ノードの出力値を算出する出力ノード設定工程と、次状態が有り、かつ次状態が最初の遷移状態でなければ次状態の前記入力パターン読み込み工程へ行き、次状態が無いか、もしくは次状態が最初の遷移状態であれば、処理を終了する状態判定工程とをコンピュータに実行させるためのプログラムである。
【0039】
さらに、前記期待値算出処理工程における出力値抽出工程は、前記ノード期待値取得工程で作成したノードテーブルから、テストパターンごとの最終状態における出力ポートの出力値を抽出する工程により、前記論理回路の出力値を抽出する工程をコンピュータに実行させるためのプログラムである。
【0040】
さらにまた、前記故障個所推定工程は、制御系故障とデータ系故障とを別々に想定しながら故障個所を推定する故障モード選択工程と、前記フェイル出力ポートおよび前記フェイル推定出力ポートに対応したノードを起点として、フェイルベクタに基づき各ノードの出力推定および期待値比較により各ノードのフェイル推定を入力方向に行い、フェイル伝搬経路を推定するノード推定工程と、このフェイル伝搬経路のノードの情報を故障個所推定情報として登録する推定情報登録工程と、出力ポートにフェイルを伝搬する可能性のある全ての組み合わせを算出するまで、これらの処理を繰り返す終了判定工程と、前記故障個所推定情報をリスト出力する故障候補出力工程とをコンピュータに実行させるためのプログラムである。
【0041】
また、前記故障個所推定工程におけるノード推定工程は、各ノードの出力推定をする際に、前記ノードの値が多ビットの場合は、推定可能なビットの値のみを推定する工程をコンピュータに実行させるためのプログラムである。
【0042】
【発明の実施の形態】
本発明の実施の形態を、図面を参照しながら詳細に説明する。
【0043】
図1は、本発明の一実施の形態として、論理回路のテスト結果から取得されたフェイル情報に基づき論理回路の故障個所を推定する論理回路の故障診断装置におけるシステム構成を示すブロック図である。図1を参照すると、キーボード等入力装置1と、フェイル推定回路ブロックを抽出するフェイル抽出装置2、論理回路を決定グラフに変換する変換装置3と、論理回路の期待値を算出する期待値算出装置4と、論理回路の故障個所を推定する故障個所推定装置5と、ハードディスクやメモリ等からなり、情報を記憶する記憶装置6と、ディスプレイ装置や印刷装置等の出力装置7とを備えた構成である。
【0044】
フェイル抽出装置2は、論理回路を設計言語で回路ブロック単位に機能記述した記述情報、フェイル情報およびフェイル伝搬推定情報により、フェイル出力ポートおよびフェイル推定出力ポートを有するフェイル推定回路ブロックを抽出する。
【0045】
変換装置3は、記述情報により、フェイル推定回路ブロックの処理順序に従って複数の状態を持つ状態遷移表を作成し、作成した状態遷移表をもとに入力ノード、演算子で構成される操作ノード、複数の入力値の組から1つの出力値を選択する選択ノードおよび出力ノードとこれらの各ノードの結線とにより、データフロー表示して全条件に対する動作を決定する決定グラフを作成する。
【0046】
期待値算出装置4は、決定グラフを用いて、状態が遷移するごとに、入力ノード、操作ノード、選択ノードおよび出力ノードの出力値を算出して、ノード名と算出値の組で構成されるノードテーブルを作成するノード期待値取得手段41と、ノードテーブルから論理回路の出力値を抽出する出力値抽出手段42とにより、論理回路の期待値を算出する。
【0047】
故障個所推定装置5は、制御系故障とデータ系故障とを別々に想定しながら故障個所を推定する故障モード選択手段51と、フェイル出力ポートおよびフェイル推定出力ポートに対応したノードを起点として、フェイルベクタに基づき各ノードの出力推定および期待値比較により各ノードのフェイル推定を入力方向に行い、フェイル伝搬経路を推定するノード推定手段52と、このフェイル伝搬経路のノードの情報を故障個所推定情報として登録する推定情報登録手段53と、出力ポートにフェイルを伝搬する可能性のある全ての組み合わせを算出するまで、これらの処理を繰り返す終了判定手段54と、故障個所推定情報をリスト出力する故障候補出力手段55とにより、故障個所を推定する。これにより、データ系と制御系の故障箇所を推定することができる。
【0048】
設計言語は、論理回路の構造あるいは動作を記述した言語である。Verilog−HDLやVHDLなどのハードウェア記述言語やC言語などで記述された論理回路に対して、故障個所を推定できる。
【0049】
また、図示しないが、変換装置3は、論理回路の処理を複数の遷移状態に分割し、現状態、状態遷移条件、次状態および動作で構成される状態遷移表を作成する手段と、状態遷移表に記述された入力ポート、状態の変数または値を読み出す処理を入力ノードとして設定し、演算子の処理を操作ノードとして設定し、出力ポート、状態変数または値を書き込む処理を出力ノードとして設定し、入力ノードと操作ノードとをデータフローとして接続することで状態を計算する制御パートを作成し、状態の結果をTRUE/FALSEの2値で与え、また、入力ノードと操作ノードとをデータフローとして接続することで出力値を計算するデータパートを作成し、前述した状態の結果において、与えられた組の中からTRUE状態に対応した一つの出力値を選択し、その値を出力ノードに選択出力するための選択ノードを設定する手段とを備えて決定グラフを作成する。これにより、故障箇所推定に必要な、決定グラフを作成することができる。
【0050】
期待値算出装置4におけるノード期待値取得手段41は、テストパターンもしくは一つ前の状態の出力パターンを読み込み、入力ノードを設定する入力パターン読み込み手段(不図示)と、全入力値が設定され、かつ出力値が未設定の操作ノードを抽出する操作ノード抽出手段(不図示)と、抽出された操作ノードに対して、入力値をもとに出力値を算出する操作ノード設定手段(不図示)と、全操作ノードの設定が完了したか否かを判定し、完了していなければ操作ノード抽出手段へ戻り、完了していれば次の手段へ行く操作ノード判定手段(不図示)と、選択ノードの出力値を算出する選択ノード設定手段(不図示)と、出力ノードの出力値を算出する出力ノード設定手段(不図示)と、次状態が有り、かつ次状態が最初の遷移状態でなければ次状態の入力パターン読み込み手段へ行き、次状態が無い、もしくは次状態が最初の遷移状態であれば、処理を終了する状態判定手段(不図示)とにより、各ノードの出力値を算出して、ノード名と算出値の組で構成されるノードテーブルを作成できる。
【0051】
また、期待値算出装置4における出力値抽出手段42は、ノード期待値取得手段41で作成したノードテーブルから、テストパターンごとの最終状態における出力ポートの出力値を抽出する手段(不図示)により、論理回路の出力値を抽出する。これにより、故障診断に必要な期待値を算出できる。
【0052】
故障個所推定装置5におけるノード推定手段52は、各ノードの出力推定をする際に、ノードの値が多ビットの場合は、推定可能なビットの値のみを推定する。これにより、全てのビットの値を推定しなくても、フェイル推定ができる。
【0053】
故障個所推定装置5の終了判定手段54において制御系故障とデータ系故障との故障個所推定が終了したと判定され、フェイル伝搬入力ポートが抽出された場合には、フェイル抽出装置2において、上述したフェイル伝搬入力ポートが出力ポートとなる回路ブロックを抽出し、その回路ブロックに対して、故障個所を推定する。
【0054】
フェイル伝搬入力ポートがない場合は、故障個所出力手段55によって、故障個所推定情報を出力装置7に出力する。
【0055】
次に、本実施の形態における変換装置3について、図2、図3および図4を参照しながら説明する。
【0056】
図2は、カウンター回路のVerilog−HDL記述であり、図3は、図2で示したカウンター回路の状態遷移表である。図4は、カウンター回路の決定グラフである。
【0057】
本実施の形態のカウンター回路は、クロック信号clkが変化を検出したらカウントアップし、信号outにカウントを出力する回路である。
【0058】
まず、Verilog−HDL記述の処理順序に従って状態遷移表を作成する。
【0059】
最初の遷移状態として、alwaysブロックのイベント発生の判断処理を状態ST0に割り当てる。ここで、信号clkの変化を@clkと表現するものとする。次に、alwaysブロック内に記述された処理を状態ST1に割り当てる。
【0060】
また、状態ST1では、ノンブロッキング代入式(out<=4’b0000、out<=out+1’b1)における右辺の式の評価を一時的なレジスタ:_regに代入する処理を割り当てる。
【0061】
次に、一時的なレジスタ:_regに保持した値をノンブロッキング代入式の左辺の信号:outへ代入する処理を状態ST2に割り当てる。
【0062】
状態ST0では、処理が終了したら次の状態として状態ST1へ行く。状態ST1では、処理が終了したら次の状態として状態ST2へ行く。状態ST2では、処理が終了したら次の状態として状態ST0へ行く。
【0063】
次に、状態遷移表を参照した決定グラフの作成について説明する。
【0064】
入力ポートであるclkを入力ノードとして設定する。状態変数STATE、状態番号ST0、ST1、ST2を入力ノードとして設定する。また、条件式における変数、定数であるclk、out、“1111”を入力ノードとして設定する。
【0065】
代入式の右辺において式の評価で使用されている変数と定数である“0000”、out、“1”、_regを入力ノードとして設定する。信号の変化を判断するイベントノード“_event”を入力ノードとして設定する。
【0066】
出力ポートであるoutおよび状態変数STATEを出力ノードとして設定する。代入式の左辺において代入される変数である_reg、outを出力ノードとして設定する。
【0067】
状態遷移表で使用されている演算子として等号(=)、加算(+)、否定(!)および論理演算子and(&)を操作ノードとして設定する。
【0068】
出力ノードout、stateおよび_regのそれぞれに対応したstate_a、_reg_a、out_aを選択ノードとして設定する。
【0069】
次に、各ノードのリンクについて説明する。
【0070】
状態変数である入力ノードSTATEと、状態番号である入力ノードST0、ST1およびST2とをそれぞれ操作ノード“=”でリンクする。
【0071】
出力ノードSTATEは選択ノードSTATE_aの出力先としてリンクする。選択ノードstate_aは、出力値として、状態番号である入力ノードST0、ST1およびST2とリンクする。
【0072】
状態ST0では、条件tempがtrueの場合の次状態が状態ST1であるため、選択ノードSTATE_aの出力値ST1に対応した状態結果として、「入力ノードST0とリンクした等号“=”」と「clkおよび_eventとリンクした等号“=”」とを、操作ノード“&”にリンクし、操作ノード“&”の出力先として選択ノードSTATE_aがリンクされる。
【0073】
状態ST1の次状態は状態ST2であるため、選択ノードSTATE_aの出力値ST2に対応した状態結果として、入力ノードST1とリンクした等号“=”が選択ノードSTATE_aとリンクされる。
【0074】
状態ST2の次状態は状態ST0であるため、選択ノードSTATE_aの出力値ST0に対応した状態結果として、入力ノードST2とリンクした等号“=”を選択ノードSTATE_aとリンクする。
【0075】
選択ノード_reg_aは出力先として、出力ノード_regとリンクする。ここで、出力値の一つである“0000”に対応した状態結果として、「入力ノードST1とリンクした操作ノード“=”」と、「入力ノードoutと“1111”をリンクした操作ノード“=”」とを操作ノード“&”でリンクし、操作ノード“&”が選択ノード_reg_aとリンクされる。
【0076】
また、入力ノードoutと“1”を操作ノード“+”でリンクし、操作ノード“+”をもう一方の出力値として、_reg_aにリンクする。
【0077】
出力out+“1”に対応した状態結果として、「入力ノードoutと“1111”をリンクした操作ノード“=”」を操作ノード“!”(否定)とリンクし、操作ノード“!”と「入力ノードST1とリンクした操作ノード“=”」とを操作ノード“&”でリンクし、操作ノード“&”を選択ノード_reg_aとリンクする。
【0078】
入力ノード_regは、出力値として選択ノードout_aとリンクする。選択ノードout_aは出力先として、出力ノードoutとリンクする。ここで、出力値である_regに対応した状態結果として、入力ノードST2とリンクした等号“=”が選択ノードout_aとリンクされる。
【0079】
以上により、図4に示した決定グラフが作成される。
【0080】
次に、本実施の形態におけるノード期待値取得手段41について、図4、図5および図6を参照しながら説明する。
【0081】
図5はノード期待値取得手段41における処理順序を示すフローチャートであり、図6は、図4で示した決定グラフのノードテーブルである。
【0082】
テストパターンによって、outに“0110”が設定され、また、clkに“p”(立ち上がり)が入力されたとする。
【0083】
まず入力パターン読み込み手段では、テストパターンから入力ノードI3を“0110”に設定し、入力ノードI1に“p”を設定する。また、本回路は状態ST0から処理が始まるため、入力ノードI2に“ST0”を設定する(処理ステップS11)。
【0084】
操作ノード抽出手段において、全入力値が設定され、かつ出力値が未設定の操作ノードとして、X1、X2、X3、X4、X5およびX7を抽出する(処理ステップS12)。
【0085】
操作ノード設定手段において、操作ノード抽出手段で抽出された各操作ノードの出力値を算出する(処理ステップS13)。X1の入力ノードは、clkと_eventであるから、clkの出力値が変化していればX1を“1”に、変化していなければ“0”に設定する。
【0086】
ここでは、clkの出力値は“p”(立ち上がり)であり、値が変化しているから、X1を“1”に設定する。STATE==”ST0”であるから、X2を“1”に、X3を“0”に、X4を“0”にそれぞれ設定する。out==“0110”であるから、X5を“0”に、X7を“0111”に設定する。
【0087】
操作ノード判定手段において、全操作ノードの設定が完了したか否かを判定する。操作ノードX6、X8、X9およびX10の設定が完了していないため、操作ノード抽出手段へ戻る(処理ステップS14)。
【0088】
操作ノード抽出手段において、全入力値が設定され、かつ出力値が未設定の操作ノードとして、X6、X8、X9を抽出する(処理ステップS12)。
【0089】
操作ノード設定手段において、X5==“0”であるからX6を“1”に設定する。X1==“1”、X2==“1”であるからX8を“1”に設定する。X3==“0”、X5==“0”であるからX9を“0”に設定する(処理ステップS13)。
【0090】
操作ノード判定手段において、全操作ノードの設定が完了したか否かを判定する。操作ノードX10の設定が完了していないため、操作ノード抽出手段へ戻る(処理ステップS14)。
【0091】
操作ノード抽出手段において、全入力値が設定され、かつ出力値が未設定の操作ノードとして、X10を抽出する(処理ステップS12)。
【0092】
操作ノード設定手段において、X6==“1”、X3==“0”であるからX10を“0”に設定する(処理ステップS13)。
【0093】
操作ノード判定手段において、全操作ノードの設定が完了したか否かを判定する。全操作ノードの設定が完了しているため次の処理手段へ行く(処理ステップS14)。
【0094】
選択ノード設定手段では、選択ノードA1、A2およびA3を設定する(処理ステップS15)。選択ノードA1では、0番目の条件X4==“0”、1番目の条件X8==“1”、2番目の条件X3==“0”であるため、値が“1”である1番目の条件X8に対応して、A1を“1”に設定する。
【0095】
選択ノードA2では、0番目の条件X10==“0”、1番目の条件X9==“0”であり、値が“1”である条件が無いため、O2に値を出力しないという意味で、A2を“−1”に設定する。
【0096】
選択ノードA3では、0番目の条件X4==“0”であり、値が“1”である条件が無いため、A3を“−1”に設定する。
【0097】
出力ノード設定手段では、出力ノードO1、O2およびO3を設定する(処理ステップS16)。出力ノードO1では、選択ノードA1==“1”であるため、選択ノードA1の1番目の入力値である“ST1”を設定する。出力ノードO2では、選択ノードA2=“−1”で値が出力されないため、値が設定されない。出力ノードO3では、選択ノードA3==“−1”で値が出力されないため、値が設定されない。
【0098】
以上の処理により、最初の状態no1のノードテーブルが作成される。
【0099】
次に状態判定手段では、次状態が有り、かつ次状態が最初の遷移状態ST0ではないため、入力パターン読み込み手段へ行く(処理ステップS17)。
【0100】
次に、次状態の入力パターン読み込み手段では、状態no1における出力ノードO1==“ST1”であるから、状態no2において、出力ノードO1に対応する入力ノードI2を“ST1”に設定する(処理ステップS11)。
【0101】
状態no1における出力ノードO2は設定されていないため、状態no2において、対応する入力ノードI4は設定しない。状態no1における出力ノードO3は設定されていないため、状態no2において、対応する入力ノードI3は新規に値を設定せず、状態no1における入力ノードI3の値“0110”を設定する。
【0102】
すなわち、状態no2において、入力ノードI3に“0110”を設定する。状態no2において、入力ノードI1は、対応する出力ノードが無いため、状態no1における値“p”を設定する。
【0103】
全操作ノードの設定が完了するまで、操作ノード抽出手段(処理ステップS12)、操作ノード設定手段(処理ステップS13)および操作ノード判定手段(処理ステップS14)を繰り返すことで、
X1==“1”
X2==“0”
X3==“1”
X4==“0”
x5==“0”
X6==“1”
X7==“0111”
X8==“0”
X9==“0”
X10==“1”
が設定される。
【0104】
選択ノード設定手段では、選択ノードA1、A2およびA3を設定する(処理ステップS15)。選択ノードA1では、
0番目の条件X4==“0”
1番目の条件X8==“0”
2番目の条件X3==“1”
であるため、値が“1”である2番目の条件X3に対応して、A1を“2”に設定する。
【0105】
選択ノードA2では、
0番目の条件X10==“1”
1番目の条件X9==“0”
であり、値が“1”である0番目の条件X10に対応して、A2を“0”に設定する。
【0106】
選択ノードA3では、
0番目の条件X4==“0”
であり、値が“1”である条件が無いため、A3を“−1”に設定する。
【0107】
出力ノード設定手段では、出力ノードO1、O2およびO3を設定する(処理ステップS16)。
【0108】
出力ノードO1では、選択ノードA1==“2”であるため、選択ノードA1の2番目の入力値である“ST2”を設定する。
【0109】
出力ノードO2では、選択ノードA2==“0”であるため、選択ノードA2の0番目の入力値であるX7の値“0111”を設定する。
【0110】
出力ノードO3では、選択ノードA3==“−1”で値が出力されないため、値が設定されない。
【0111】
以上の処理により、状態no2のノードテーブルが作成される。
【0112】
次に状態判定手段では、次状態が有り、かつ次状態が最初の遷移状態ST0ではないため、入力パターン読み込み手段へ行く(処理ステップS17)。
【0113】
次に、次状態の入力パターン読み込み手段では、状態no2における出力ノードO1==“ST2”であるから、状態no3において、出力ノードO1に対応する入力ノードI2を“ST2”に設定する。
【0114】
状態no2における出力ノードO2==“0111”であるから、状態no3において、対応する入力ノードI4を“0111”に設定する。状態no2における出力ノードO3は設定されていないため、状態no3において、対応する入力ノードI3は新規に値を設定せず、状態no2における入力ノードI3の値“0110”を設定する。
【0115】
すなわち、状態no3において、入力ノードI3に“0110”を設定する。状態no3において、入力ノードI1は、対応する出力ノードが無いため、一つ前の状態no2における値“p”を設定する。
【0116】
全操作ノードの設定が完了するまで、操作ノード抽出手段(処理ステップS12)、操作ノード設定手段(処理ステップS13)および操作ノード判定手段(処理ステップS14)を繰り返すことで、
X1==“1”
X2==“0”
X3==“0”
X4==“1”
x5==“0”
X6==“1”
X7==“0111”
X8==“0”
X9==“0”
X10==“0”
が設定される。
【0117】
選択ノード設定手段では、選択ノードA1、A2およびA3を設定する(処理ステップS15)。
【0118】
選択ノードA1では、
0番目の条件X4==“1”
1番目の条件X8==“0”
2番目の条件X3==“0”
であるため、値が“1”である0番目の条件X4に対応して、A1を“0”に設定する。
【0119】
選択ノードA2では、
0番目の条件X10==“0”
1番目の条件X9==“0”
であり、値が“1”である条件が無いため、A2を“−1”に設定する。
【0120】
選択ノードA3では、0番目の条件X4==“1”であり、値が“1”である0番目の条件X4に対応して、A2を“0”に設定する。
【0121】
出力ノード設定手段では、出力ノードO1、O2およびO3を設定する(処理ステップS16)。
【0122】
出力ノードO1では、選択ノードA1==“0”であるため、選択ノードA1の0番目の入力値である“ST0”を設定する。
【0123】
出力ノードO2では、選択ノードA2=“−1”で値が出力されないため、一つ前の状態no2における値“0111”を設定する。
【0124】
出力ノードO3では、選択ノードA3==“0”であるため、選択ノードA3の0番目の入力値であるI4の値“0111”を設定する。
【0125】
以上の処理により、状態no3のノードテーブルが作成される。
【0126】
次に、状態判定手段では、次状態が最初の遷移状態ST0であるため、処理を終了する(処理ステップS17)。
【0127】
以上の処理により、一つのテストパターンに対応したノードテーブルが作成される。ここで、複数のテストパターンを使用する場合には、上記の処理を繰り返すことで、テストパターンごとにノードテーブルを作成する。
【0128】
次に、本実施の形態における出力値抽出手段42について、図2、図4および図6を参照しながら説明する。
【0129】
カウンター回路の出力ポートoutに対応した決定グラフのノードは出力ノードO3であるから、本実施の形態での一例として記載したテストパターンにおいて、最終状態no3における出力ノードO3の値“0111”を、出力ポートoutの出力値として抽出する。
【0130】
ここで、複数のテストパターンを使用する場合は、テストパターンごとの最終状態における出力ポートの出力値を抽出することにより、論理回路の出力値を抽出することができる。
【0131】
次に、本実施の形態における故障診断装置について、図4と図7〜12とを参照しながら説明する。
【0132】
図7は、カウンター回路のテスト結果の一例であり、図8は、期待値算出装置で得た決定グラフのノードテーブルである。図9および図10は、データ系の故障に対して、ノード推定手段で得られるノード推定結果であり、図11および図12は、制御系の故障に対して、ノード推定手段で得られるノード推定結果である。
【0133】
図7に示すように、テストパターンV1では、outの出力値は“1000”であり、期待値が“1000”であるためテストをパスした。テストパターンV1と連続するテストパターンV2では、outの出力値は“0000”であり、期待値が“1001”であるためテストでフェイルした。
【0134】
テストパターンV1およびV2に対して期待値算出装置のノード期待値取得手段によって、図8に示すテストパターンV2におけるノードテーブルが作成される。
【0135】
まず、故障モード選択手段によって、データ系の故障探索を選択する。
【0136】
テストパターンからclkは“p”であり、読み出しノードにclkは存在しないので、各遷移状態では、ノードI1は“p”と設定する。
【0137】
ここでI2、“ST0”、“ST1”、“ST2”、X2、X3、X4、X6、X8、X9、X10、A1、A2、A3、O1の各ノードは、設計言語を決定グラフに変換する際に発生したノードであるため、故障候補として抽出しない。
【0138】
ノード推定手段52では、まず制御系には故障は存在しないと仮定して、制御系を推定する。正常出力ノードO1、O2から各ノードの出力値を決定する。
【0139】
テストパターンV2が終了する時に遷移状態は“0”であるから、O1を“ST0”に設定する。
【0140】
O1の出力値からA1の出力値が“0”となり、X4が“1”、I2が“ST2”、X3が“0”、X8が“0”が決まる。X8の値からX1もしくはX2が“0”と推定される。
【0141】
X1を“0”と仮定する。I1は“p”であり、信号が変化しているから、X1は“1”であるが矛盾が起こる。そのためX1==“1”、X2==“0”と仮定する。この場合は矛盾は起こらない。
【0142】
A2は、“−1”、“0”、“1”のいずれかの値を取る。A2==“1”と仮定すると、X9==“1”と推定されるが、X3==“0”であり矛盾する。
【0143】
A2==“0”と仮定すると、X10==“1”と推定されるが、X3==“0”であり矛盾する。
【0144】
A2==“−1”と仮定すると、X9==“0”、X10==“0”、X5==“x”(0でも1でもよい)、X6==“x”、I3==“xxxx”、X7==“xxxx”、O2==“xxxx”と推定され、矛盾は起こらない。
【0145】
次にフェイル出力ポートを起点に各ノードを推定する。テスト結果からフェイル出力ポートO3==“0000”である。X4==“1”であるから、A3==“0”と推定され、I4==“0000”が推定される。故障個所推定情報として、O3、I4を登録する。
【0146】
以上で、状態no1におけるノードテーブルが作成される。
【0147】
状態no1のI2==“ST2”であるから、O1を“ST2”に設定し、状態no2の推定を行う。O1==“ST2”であるから、A1==“2”、X3==“1”、I2==“ST1”、X4==“0”、X8==“0”が決まる。
【0148】
状態no1の時と同様にして、X1==“1”、X2==“0”が決まる。A3==“−1”、O3==“xxxx”、I4==“xxxx”が決まる。
【0149】
次にフェイル出力ポートを起点に各ノードを推定する。状態no1のI4の値から、フェイル推定出力ポートO2==“0000”である。A2は“−1”、“0”、“1”のいつれかの値を取る。
【0150】
A2==“−1”と仮定すると、X9==“0”であるからX5==“0”となる。X10==“0”であるから、X6==“0”、X5==“1”となる。X5が矛盾するのでA2は“−1”ではない。
【0151】
A2==“0”と仮定すると、X9==“0”、X5==“0”、X10==“1”、X6==“1”となる。従って、O2==“0000”、A2==“0”とから、X7==“0000”、I3==“1111”となる。I3==“1111”からX5==“0”が矛盾する。
【0152】
出力パターンを満たす入力パターンが存在しないため、故障個所推定情報として、O2、X7、I3を登録する。図9に示すノードテーブルを得る。
【0153】
一方、A2==“1”と仮定すると、X9==“1”、X5==“1”、I3==“1111”、X10==“0”、X6==“0”となる。故障個所推定情報として、O2を登録する。
【0154】
以上で状態no2におけるノードテーブルが作成される。
【0155】
状態no2のI2==“ST1”であるから、O1を“ST1”に設定し、状態no3の推定を行う。O1==“ST1”であるから、X8==“1”、X1==“1”、X2==“1”、X3==“0”、X4==“0”、I2==“ST0”が決まる。
【0156】
A3==“−1”、O3==“xxxx”、I4==“xxxx”が決まる。X9==“0”、X10==“0”、A2==“−1”、O2==“xxxx”が決まる。X5=“x”、X6==“x”が決まる。I3は、状態no2とno3で値が更新されないので、故障個所推定情報としてI3を登録する。
【0157】
以上で状態no3におけるノードテーブルが作成される。図10に示すノードテーブルを得る。
【0158】
終了判定手段でデータ系の故障個所推定が終了したので、故障候補出力手段にて、遷移状態ST2におけるO3、I4、遷移状態ST1におけるO2、X7、I3、遷移状態ST0におけるI3をリスト出力する。
【0159】
次に、故障モード選択手段で制御系の故障推定を選択し、ノード推定手段52で制御系の故障推定を行う。
【0160】
テストパターンからclkは“p”であり、読み出しノードにclkは存在しないので、各遷移状態では、ノードI1は“p”と設定する。
【0161】
ここでI2、“ST0”、“ST1”、“ST2”、X2、X3、X4、X6、X8、X9、X10、A1、A2、A3、O1の各ノードは、設計言語を決定グラフに変換する際に発生したノードであるため、故障候補として抽出しない。
【0162】
まず、データ系には故障は存在しないと仮定して、データ系を推定する。正常出力ノードO1、O2から各ノードの出力値を決定する。テストパターンV2が終了する時に遷移状態は“0”であるから、O1を“ST0”に設定する。
【0163】
O1の出力値からA1の出力値が“0”となり、X4が“1”、I2が“ST2”、X3が“0”、X8が“0”が決まる。X8の値からX1もしくはX2が“0”と推定される。X1を“0”と仮定する。
【0164】
I1は“p”であり、信号が変化しているから、X1は“1”であるが矛盾が起こる。そのためX1==“1”、X2==“0”と仮定する。この場合は矛盾は起こらない。
【0165】
A2は、“−1”、“0”、“1”のいずれかの値を取る。A2==“1”と仮定すると、X9==“1”と推定されるが、X3==“0”であり矛盾する。
【0166】
A2==“0”と仮定すると、X10==“1”と推定されるが、X3==“0”であり矛盾する。
【0167】
A2==“−1”と仮定すると、X9==“0”、X10==“0”、X5==“x”、X6==“x”、I3==“xxxx”、X7==“xxxx”、O2==“xxxx”と推定され、矛盾は起こらない。
【0168】
次にフェイル出力ポートを起点に各ノードを推定する。テスト結果からフェイル出力ポートO3==“0000”である。X4==“1”であり、X4およびA3は故障候補とではないため、A3==“0”であり、I4==“0000”が推定される。故障個所推定情報として、O3、I4を登録する。
【0169】
以上で、状態no1におけるノードテーブルが作成される。
【0170】
状態no1のI2==“ST2”であるから、O1を“ST2”に設定し、状態no2の推定を行う。O1==“ST2”であるから、A1==“2”、X3==“1”、I2==“ST1”、X4==“0”、X8==“0”が決まる。
【0171】
状態no1の時と同様にして、X1==“1”、X2==“0”が決まる。A3==“−1”、O3==“xxxx”、I4==“xxxx”が決まる。
【0172】
次にフェイル出力ポートを起点に各ノードを推定する。状態no1のI4の値から、フェイル推定出力ポートO2==“0000”である。A2は“−1”、“0”、“1”のいつれかの値を取る。
【0173】
A2==“−1”と仮定すると、制御系のノードは、X9==“0”、X10==“0”となる。X9==“0”から経路を遡ると、X5==“0”となる。
【0174】
X5から別の経路の出力方向に推定すると、X6==“1”、X10==“1”となり、X9==“0”、X10==“0”が同時に成立しない。
【0175】
一方、X10==“0”から経路を遡ると、X6==“0”、X5==“1”となる。X5から別の経路の出力方向に推定すると、X9==“1”となり、X9==“0”、X10==“0”が同時に成立しない。すなわち、A2==“−1”ではない。
【0176】
A2==“0”と仮定すると、データ系のノードはX7==“0000”、I3==“1111”となる。
【0177】
制御系のノードは、X9==“0”、X10==“1”、X6==“1”、X5==“0”となる。I3==“1111”からX5==“0”が矛盾し、出力パターンを満たす入力パターンが存在しないため、故障個所推定情報として、O2、X5を登録する。図11に示すノードテーブルを得る。
【0178】
一方、A2==“1”と仮定すると、O2の入力はノード“0000”であり、データ系のノードは矛盾なく成立する。
【0179】
制御系のノードは、X9==“1”、X10==“0”、X6==“0”、X5==“1”、I3==“1111”となる。故障個所推定情報として、O2、I3を登録する。
【0180】
以上で状態no2におけるノードテーブルが作成される。
【0181】
状態no2のI2==“ST1”であるから、O1を“ST1”に設定し、状態no3の推定を行う。
【0182】
O1==“ST1”であるから、X8==“1”、X1==“1”、X2==“1”、X3==“0”、X4==“0”、I2==“ST0”が決まる。A3==“−1”、O3==“xxxx”、I4==“xxxx”が決まる。
【0183】
X9==“0”、X10==“0”、A2==“−1”、O2==“xxxx”が決まる。X5=“x”、X6==“x”が決まる。
【0184】
I3は、状態no2とno3で値が更新されないので、故障個所推定情報としてI3を登録する。
【0185】
以上で状態no3におけるノードテーブルが作成される。図12に示すノードテーブルを得る。
【0186】
終了判定手段で制御系の故障個所推定が終了したので、故障候補出力手段にて、遷移状態ST2におけるO3、I4、遷移状態ST1における、O2、I3、X5、遷移状態ST0におけるI3をリスト出力する。
【0187】
上記処理をテストパターン毎に施し、テストパターン毎に故障個所推定を行い、カウンター回路の故障個所推定を終了する。
【0188】
次にフェイル抽出装置2で、カウンター回路のフェイル伝搬推定情報により、フェイル推定出力ポート“out”を有するフェイル推定回路ブロックを抽出し、故障個所を推定する。フェイル推定出力ポート“out”を有する推定回路ブロックがなければ、全ての処理を終了する。
【0189】
また、故障個所推定装置5におけるノード推定手段は、各ノードの出力推定をする際に、前記ノードの値が多ビットの場合は、推定可能なビットの値のみを推定しても良い。
【0190】
図13は、本発明の論理回路の故障診断方法の処理手順を示すフローチャートである。
【0191】
図13を参照すると、論理回路の故障診断方法は、処理ステップ1として、論理回路を設計言語で回路ブロック単位に機能記述した記述情報、フェイル情報およびフェイル伝搬推定情報により、フェイル出力ポートおよびフェイル推定出力ポートを有するフェイル推定回路ブロックを抽出するフェイル抽出工程S21を有する。
【0192】
また、処理ステップ2として、記述情報により、フェイル推定回路ブロックの処理順序に従って複数の状態を持つ状態遷移表を作成し、状態遷移表をもとに入力ノード、演算子で構成される操作ノード、複数の入力値の組から1つの出力値を選択する選択ノードおよび出力ノードと各ノードの結線とにより、データフロー表示して全条件に対する動作を決定する決定グラフを作成する変換工程S22を有する。
【0193】
さらに、処理ステップ3として、決定グラフを用いて、期待値を算出する期待値算出工程S23を有する。
【0194】
期待値算出工程S23は、図示しないが以下の2工程を含む。すなわち、状態が遷移するごとに、入力ノード、操作ノード、選択ノードおよび出力ノードの出力値を算出して、ノード名と算出値の組で構成されるノードテーブルを作成するノード期待値取得工程と、ノードテーブルから論理回路の出力値を抽出する出力値抽出工程とを有する。
【0195】
さらにまた、処理ステップ4として、故障箇所を推定する故障箇所推定工程S24を有する。故障箇所推定工程S24は、データ系故障と制御系故障とを別々に想定しながら故障個所を推定する故障モード選択工程(不図示)と、フェイル出力ポートおよび前記フェイル推定出力ポートに対応したノードを起点として、フェイルベクタに基づき各ノードの出力推定および期待値比較により各ノードのフェイル推定を入力方向に行い、フェイル伝搬経路を推定するノード推定工程(不図示)と、このフェイル伝搬経路のノードの情報を故障個所推定情報として登録する推定情報登録工程(不図示)とからなる工程S25と、出力ポートにフェイルを伝搬する可能性のある全ての組み合わせを算出するまで、これらの処理を繰り返す終了判定工程S26と、前述した故障個所推定情報をリスト出力する故障候補出力工程S27とを有する。
【0196】
変換工程S22は、図示しないが以下の諸工程を含む。すなわち、処理ステップ1として、論理回路の処理を複数の遷移状態に分割し、現状態、状態遷移条件、次状態および動作で構成される状態遷移表を作成する工程を有する。
【0197】
処理ステップ2として、状態遷移表に記述された入力ポート、状態の変数または値を読み出す処理を入力ノードとして設定し、演算子の処理を操作ノードとして設定し、出力ポート、状態変数または値を書き込む処理を出力ノードとして設定し、入力ノードと操作ノードとをデータフローとして接続することで状態を計算する制御パートを作成し、状態の結果をTRUE/FALSEの2値で与え、また、入力ノードと操作ノードとをデータフローとして接続することで出力値を計算するデータパートを作成し、前記状態の結果において、与えられた組の中からTRUE状態に対応した一つの前記出力値を選択し、その値を出力ノードに選択出力するための選択ノードを設定する工程を有する。
【0198】
変換工程S22は、これらの処理ステップ1および2により、決定グラフを作成する。
【0199】
また、期待値算出工程S23におけるノード期待値取得工程は、図示しないが以下の諸工程を含む。すなわち、処理ステップ1として、テストパターンもしくは一つ前の状態の出力パターンを読み込み、入力ノードを設定する入力パターン読み込み工程を有する。
【0200】
処理ステップ2として、全入力値が設定され、かつ出力値が未設定の操作ノードを抽出する操作ノード抽出工程を有する。
【0201】
処理ステップ3として、抽出された操作ノードに対して、入力値をもとに出力値を算出する操作ノード設定工程を有する。
【0202】
処理ステップ4として、全操作ノードの設定が完了したか否かを判定し、完了していなければ操作ノード抽出工程へ戻り、完了していれば次の工程へ行く操作ノード判定工程を有する。
【0203】
処理ステップ5として、選択ノードの出力値を算出する選択ノード設定工程と、処理ステップ6として、出力ノードの出力値を算出する出力ノード設定工程を有する。
【0204】
処理ステップ7として、次状態が有り、かつ次状態が最初の遷移状態でなければ次状態の入力パターン読み込み工程へ行き、次状態が無い、もしくは次状態が最初の遷移状態であれば、処理を終了する状態判定工程を有する。
【0205】
ノード期待値取得工程は上述した処理ステップ1〜7により、各ノードの出力値を算出して、ノード名と算出値の組で構成されるノードテーブルを作成する。
【0206】
また、期待値算出工程S23における出力値抽出工程は、ノード期待値取得工程で作成したノードテーブルから、テストパターンごとの最終状態における出力ポートの出力値を抽出する工程により、論理回路の出力値を抽出する。
【0207】
また、故障個所推定工程S24におけるノード推定工程は、各ノードの出力推定をする際に、ノードの値が多ビットの場合は、推定可能なビットの値のみを推定する。
【0208】
本発明において、処理手順S21〜S24の各処理は、論理回路の故障診断装置を構成するコンピュータでプログラムを実行することで、その処理が実現される。このプログラムを記録したコンピュータで機械読み取り可能な記録媒体(例えば、磁気ディスク、光ディスク、半導体メモリ、その他の任意の記録媒体)から、該プログラムを論理回路の故障診断装置に読み取り、主記憶にロードして実行することで、本発明を実施することができる。あるいはプログラムを記録した記録媒体を備えたサーバ等から通信回線を介してプログラムを論理回路の故障診断装置のコンピュータにダウンロードするようにしてもよい。このように記録媒体を用いることで、プログラムの管理が容易となる。
【0209】
本発明において、設計言語として、本実施例記載のVerilog−HDLのみならず、VHDL等のハードウェア記述言語、C言語などの、論理回路の構造あるいは動作を記述した言語を用いても良い。
【0210】
【発明の効果】
以上説明したように、本発明による論理回路の故障診断装置、故障診断方法およびそのプログラムは、論理回路の構造あるいは動作を記述した設計言語から、フェイル推定回路ブロックを抽出し、抽出したフェイル推定回路ブロックごとに、決定グラフを作成し、データ系故障と制御系故障とを別々に想定しながら、決定グラフを用いたフェイル伝搬経路推定を行うことで、機能レベルでデータ系と制御系の故障個所を推定することができるので、大規模化、多層配線化する論理回路に対して、期待値の算出および故障個所の推定の効率向上に寄与するという効果がある。
【図面の簡単な説明】
【図1】本発明の論理回路の故障診断装置のシステム構成を示すブロック図である。
【図2】論理回路のVerilog−HDL記述例である。
【図3】本発明の一実施の形態における状態遷移表である。
【図4】本発明の一実施の形態における決定グラフである。
【図5】本発明のノード期待値取得手段における処理順序を示すフローチャートである。
【図6】本発明の一実施の形態におけるノードテーブルである。
【図7】本発明の一実施の形態におけるテスト結果である。
【図8】本発明の一実施の形態における他の例のノードテーブルである。
【図9】本発明の一実施の形態におけるデータ系故障を想定した場合のノード推定結果である。
【図10】本発明の一実施の形態における他の例のデータ系故障を想定した場合のノード推定結果である。
【図11】本発明の一実施の形態における制御系故障を想定した場合のノード推定結果である。
【図12】本発明の一実施の形態における他の例の制御系故障を想定した場合のノード推定結果である。
【図13】本発明の論理回路の故障診断方法の処理手順を示すフローチャートである。
【図14】従来の論理回路の故障箇所推定方法の概要処理を示すフローチャートである。
【符号の説明】
1 入力装置
2 フェイル抽出装置
3 変換装置
4 期待値算出装置
5 故障個所推定装置
6 記憶装置
7 出力装置
41 ノード期待値取得手段
42 出力値抽出手段
51 故障モード選択手段
52 ノード推定手段
53 推定情報登録手段
54 終了判定手段
55 故障候補出力手段
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a failure diagnosis device for a logic circuit, a failure diagnosis method, and a program thereof, and more particularly, a failure diagnosis device for a logic circuit that estimates a failure location of a logic circuit based on fail information obtained from a test result of the logic circuit, The present invention relates to a failure diagnosis method and a program thereof.
[0002]
[Prior art]
In recent years, with the advancement of semiconductor element miniaturization technology, the size of semiconductor devices composed of such semiconductor elements has also increased. Therefore, the efficiency of failure analysis as well as logic verification at the time of design and test efficiency improvement of manufactured semiconductor devices has been increased. There is also a need to make it easier.
[0003]
Conventionally, when designing a logic circuit in a semiconductor device, a logic simulation device has been used as a tool for verifying the logic operation and timing. On the other hand, as a tool applied at the time of failure analysis of a manufactured semiconductor device, for example, fault diagnosis There is a device.
[0004]
This type of logic circuit fault diagnosis is performed by installing a logic circuit fault diagnosis program in a computer having a general configuration and executing it according to each command input as a method for estimating the fault location of the logic circuit. Do.
[0005]
One example is described in the conventional example of Japanese Patent Application No. 2001-383335. Referring to FIG. 14, which shows a flowchart of schematic processing in this conventional logic circuit failure diagnosis, first, in step S31, using a failure simulator, a function or logic simulation is performed assuming a failure in the logic circuit. The simulation result is compared with the expected value, and a failure dictionary is created in which the assumed failure location is associated with the test vector that detected the failure. In step S32, fail information is obtained from the actual test result of the logic circuit. (See Patent Document 1).
[0006]
Next, in step S33, the failure dictionary is searched corresponding to the fail pin and the fail vector of the fail information to obtain the assumed failure location. In step S34, priority is given to the plurality of assumed failure candidates obtained. Estimate the failure location by ranking.
[0007]
In addition, as another method for identifying a failure location of a conventional logic circuit, for example, using an electron beam tester, the failure location is estimated from an upper layer of the logic circuit, an internal signal at the layer boundary is observed, and the failure location is identified as a logic circuit. There is also a method of narrowing down to the lower hierarchy in order.
[0008]
Further, as another conventional logic circuit failure diagnosis method, there is a method of estimating a failure location at the gate level by dividing the logic circuit into a latch and a combinational circuit as described in Japanese Patent Application Laid-Open No. 8-146093. Yes (see Patent Document 2).
[0009]
In this method, combinational circuits that can propagate faults to fault output are dynamically extracted, the logic state and path of fault propagation are estimated for each combinational circuit, and the fault location is estimated by going back to the input method. is doing.
[0010]
Here, the logic state of the combinational circuit is not only the logic value of one signal line, but all nodes in the circuit, that is, signal lines, gates, gate terminals, and input / output terminals are 0/1 / X (Don't Care). ) / Z (high impedance) / U (undefined).
[0011]
On the other hand, the method in the above-mentioned Japanese Patent Application No. 2001-383335 “Logic Circuit Fault Location Estimation Method and Logic Circuit Fault Location Estimation Program” converts the logic circuit into a decision graph and converts each node corresponding to the test pattern. While comparing the expected value with the estimated value, the failure location is estimated at the functional level.
[0012]
[Patent Document 1]
Japanese Patent Application No. 2001-383335 (paragraph “0003”, FIGS. 1 and 5).
[0013]
[Patent Document 2]
JP-A-8-146093 (paragraphs “0013”, “0016”, “0017”, FIGS. 1 and 2).
[0014]
[Problems to be solved by the invention]
As described above, in the logic circuit fault diagnosis method using the conventional fault simulator, it is necessary to create a fault dictionary in advance, but since the creation of the fault dictionary requires a lot of fault simulation time, the logic circuit becomes large-scale. There is a problem that the more it takes, the calculation time becomes enormous, and the file of the failure dictionary becomes very large.
[0015]
In addition, failure models used in failure simulation are generally single stuck-at faults, so multiple failures such as bridge failures may not match the actual ones.If the failure simulation model is expanded to multiple failures, failure simulation There is a problem that it is not practical in terms of processing time.
[0016]
Furthermore, the conventional failure location estimation method of the logic circuit using the electron beam tester is an effective means for narrowing down the failure location while sequentially observing the failure location from the upper hierarchy to the lower hierarchy of the logic circuit. When the scale is increased and a multilayer wiring structure is formed, there is a problem that the potential of the lower layer wiring cannot be observed.
[0017]
Furthermore, in the case of the conventional fault diagnosis method at the gate level, it is an effective means because the fault location can be estimated for each combinational circuit. Processing time becomes a problem.
[0018]
An object of the present invention is made in view of the above-mentioned problems, and calculates an expected value in a short time at a functional level for a large-scale, multi-layered logic circuit. It is to estimate the location.
[0019]
[Means for Solving the Problems]
Therefore, the present invention provides a state transition table created for each fail estimation circuit block having a fail estimation output port extracted by a fail extraction device from description information in which the structure or operation of a logic circuit is described in the design language in units of circuit blocks. Based on the above, an input node, an operation node composed of operators, a selection node that selects one output value from a set of a plurality of input values, and an output node are connected to each of these nodes, and the data flow display on the display means Then, a decision graph for determining the operation for each node is created, and the failure propagation path estimation using the decision graph is performed while assuming the data system failure and the control system failure separately. It has the function of estimating the fault location of the system and the control system.
[0020]
Another feature of the present invention is a logic circuit fault diagnosis device that estimates a fault location of the logic circuit based on fail information acquired from a test result of the logic circuit. The input device and the logic circuit are configured in a design language. A fail extraction device that extracts a fail estimation circuit block having a fail output port and a fail estimation output port based on description information functionally described in units of blocks, the fail information, and fail propagation estimation information, and the fail estimation based on the description information A state transition table having a plurality of states is created in accordance with the processing order of the circuit block. Based on the state transition table, one output value is obtained from a set of input nodes, operation nodes composed of operators, and a plurality of input values. The selected node and output node to be selected are connected to each node, and the data flow is displayed to display all conditions. A conversion device for creating a decision graph for determining an operation for the operation, an expected value calculation device for calculating an expected value of the logic circuit, a failure location estimation device for estimating a failure location of the logic circuit, and each of the devices It is provided with the memory | storage device which memorize | stores information, and the output device which displays the output data of the said failure location estimation apparatus.
[0021]
The design language is a language describing the structure or operation of the logic circuit.
[0022]
Further, the conversion device divides the processing of the logic circuit into a plurality of transition states, and creates a state transition table including items of a current state, a state transition condition, a next state, and an operation, and the state Set the process to read the input port, state variable or numeric value described in the transition table as an input node, set the operator process as an operation node, and write the output port, the state variable or the numeric value as an output node Setting, creating a control part that calculates a state by connecting the input node and the operation node as a data flow, giving the result of the created state as a binary value of TRUE / FALSE, and the input node and Create a data part that calculates an output value by connecting the operation node as the data flow, and depending on the result of the state, And means for setting the selected nodes for from among the obtained set to select output to the output node of the output value of the one corresponding to the state of the TRUE.
[0023]
Furthermore, the expected value calculation device calculates an output value of the input node, the operation node, the selection node, and the output node each time a state changes based on the decision graph, and calculates a node name and a calculation. Expected node value acquisition means for creating a node table composed of a set of values, and output value extraction means for extracting the output value of the logic circuit from the node table.
[0024]
Further, the expected node value acquisition means in the expected value calculation device reads the test pattern or the previous output pattern, sets the input node, and sets all input values and outputs the input pattern. Operation node extraction means for extracting operation nodes whose values are not set, operation node setting means for calculating output values based on input values for the extracted operation nodes, and setting of all operation nodes are completed If not completed, return to the operation node extraction means, if completed, proceed to the next means operation node determination means, selection node setting means for calculating the output value of the selected node, Output node setting means for calculating an output value of the output node, and input pattern reading means for the next state if there is a next state and the next state is not the first transition state Come, whether there is the next state, or if the first transition state next state, and a state determining means to end the process.
[0025]
Further, the output value extracting means in the expected value calculating device outputs the output value of the logic circuit by means for extracting the output value of the output port in the final state for each test pattern from the node table created by the node expected value acquiring means. Has a function to extract a value.
[0026]
The logic circuit failure diagnosis method of the present invention is characterized in that in the logic circuit failure diagnosis method for estimating the failure location of the logic circuit based on fail information obtained from the test result of the logic circuit, the logic circuit is expressed in a design language. A fail extraction step of extracting a fail estimation circuit block having a fail output port and a fail estimation output port from the description information described in units of circuit blocks, the fail information and the fail propagation estimation information, and the fail estimation by the description information. Creates a state transition table with multiple states according to the processing order of the circuit block, and selects one output value from a set of input nodes, operator nodes composed of operators, and multiple input values based on the state transition table The selected node and output node to be connected to each node and the data flow display A conversion step of creating a decision diagram for determining the operation to all conditions Te, the expected value calculation step of calculating an expected value of the logic circuit is to have a failure location estimating step of estimating the fault location.
[0027]
The design language is a language describing the structure or operation of a logic circuit.
[0028]
Further, the conversion step divides the processing of the logic circuit into a plurality of transition states, creates a state transition table composed of items of a current state, a state transition condition, a next state, and an operation, and the state Set the process to read the input port, state variable or numeric value described in the transition table as an input node, set the operator process as an operation node, and write the output port, the state variable or the numeric value as an output node Setting, creating a control part for calculating the state by connecting the input node and the operation node as a data flow, giving the result of the state as a binary value of TRUE / FALSE, and the input node And a data part for calculating an output value by connecting the operation node as a data flow, and in the result of the state, given From within the set, and a step of setting a selected node for selectively outputting to an output node of the output value of the one corresponding to the TRUE state.
[0029]
Furthermore, the expected value calculation step calculates output values of the input node, the operation node, the selection node, and the output node each time the state transitions using the decision graph, and the node name and A node expected value acquisition step of creating a node table composed of sets of calculated values; and an output value extraction step of extracting an output value of the logic circuit from the node table.
[0030]
The expected node value acquisition step in the expected value calculation step reads the test pattern or the previous output pattern, sets the input node, sets the input node, sets all input values, and outputs Operation node extraction process for extracting operation nodes whose values are not set, operation node setting process for calculating output values based on input values for the extracted operation nodes, and setting of all operation nodes are completed If it is not completed, return to the operation node extraction step, if it is completed, the operation node determination step to go to the next step, the selection node setting step to calculate the output value of the selection node, To the output node setting step for calculating the output value of the output node, and to the input pattern reading step of the next state if there is a next state and the next state is not the first transition state Come, whether there is the next state, or if the first transition state next state, and a state determining step of the process ends.
[0031]
The output value extraction step in the expected value calculation processing step includes a step of extracting the output value of the output port in the final state for each test pattern from the node table created in the node expected value acquisition step. Extract the output value.
[0032]
Further, the failure location estimation step includes a failure mode selection step of estimating a failure location while separately assuming a control system failure and a data system failure, and a fail output port and a node corresponding to the fail estimation output port. Based on the fail vector, the node estimation process for estimating the fail propagation path by estimating the failure of each node in the input direction by estimating the output of each node and comparing the expected value, and the failure location estimation of the node information of this fail propagation path An estimation information registration step for registering as information, an end determination step for repeating these processes until all combinations that may propagate a failure to the output port are calculated, and a failure candidate for outputting the failure location estimation information as a list An output step.
[0033]
Furthermore, in the node estimation step in the failure location estimation step, when the output of each node is estimated, if the value of the node is multi-bit, only the value of the estimable bit is estimated.
[0034]
The logic circuit failure diagnosis method program of the present invention is a logic circuit failure diagnosis method for estimating a failure location of the logic circuit based on fail information obtained from a test result of the logic circuit. A fail extraction step of extracting a fail estimation circuit block having a fail output port and a fail estimation output port from the description information described in units of circuit blocks, the fail information and the fail propagation estimation information, and the fail estimation by the description information. Creates a state transition table with multiple states according to the processing order of the circuit block, and selects one output value from a set of input nodes, operator nodes composed of operators, and multiple input values based on the state transition table The selected nodes and output nodes to be connected are connected to the respective nodes, and the data flow Causing a computer to execute a conversion step for generating a decision graph for displaying and determining an operation for all conditions, an expected value calculation step for calculating an expected value of the logic circuit, and a failure location estimation step for estimating a failure location It is in.
[0035]
The design language is a language describing the structure or operation of a logic circuit.
[0036]
Further, the conversion step divides the processing of the logic circuit into a plurality of transition states, creates a state transition table composed of items of a current state, a state transition condition, a next state, and an operation, and the state Set the process to read the input port, state variable or numeric value described in the transition table as an input node, set the operator process as an operation node, and write the output port, the state variable or the numeric value as an output node Setting, creating a control part for calculating the state by connecting the input node and the operation node as a data flow, giving the result of the state as a binary value of TRUE / FALSE, and the input node And a data part for calculating an output value by connecting the operation node as a data flow, and in the result of the state, given And a program for the in the set to execute a step of setting a selected node for selectively outputting to an output node of the output value of the one corresponding to the TRUE state to the computer.
[0037]
Furthermore, the expected value calculation step calculates output values of the input node, the operation node, the selection node, and the output node each time the state transitions using the decision graph, and the node name and A program for causing a computer to execute an expected node value acquisition step for creating a node table composed of a set of calculated values and an output value extraction step for extracting an output value of the logic circuit from the node table.
[0038]
The expected node value acquisition step in the expected value calculation step reads the test pattern or the previous output pattern, sets the input node, sets the input node, sets all input values, and outputs Operation node extraction process for extracting operation nodes whose values are not set, operation node setting process for calculating output values based on input values for the extracted operation nodes, and setting of all operation nodes are completed If it is not completed, return to the operation node extraction step, if it is completed, the operation node determination step to go to the next step, the selection node setting step to calculate the output value of the selection node, To the output node setting step for calculating the output value of the output node, and to the input pattern reading step of the next state if there is a next state and the next state is not the first transition state Come, whether there is the next state, or if the first transition state next state, a program for executing a state determination process to terminate the process on the computer.
[0039]
Further, the output value extraction step in the expected value calculation processing step is a step of extracting the output value of the output port in the final state for each test pattern from the node table created in the node expected value acquisition step. A program for causing a computer to execute a process of extracting an output value.
[0040]
Furthermore, the failure location estimation step includes a failure mode selection step for estimating a failure location while separately assuming a control system failure and a data system failure, and a node corresponding to the fail output port and the failure estimation output port. As a starting point, the node estimation process for estimating the fail propagation path by estimating the fail propagation path of each node in the input direction by estimating the output of each node and comparing the expected value based on the fail vector, and the information on the node of this fail propagation path An estimation information registration step registered as estimation information, an end determination step that repeats these processes until all combinations that may propagate a failure to the output port are calculated, and a failure that outputs a list of the failure location estimation information A program for causing a computer to execute a candidate output step.
[0041]
In the node estimation step in the failure location estimation step, when estimating the output of each node, if the value of the node is multi-bit, the computer executes a step of estimating only the value of the estimable bit. It is a program for.
[0042]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described in detail with reference to the drawings.
[0043]
FIG. 1 is a block diagram showing a system configuration of a logic circuit fault diagnosis apparatus that estimates a fault location of a logic circuit based on fail information acquired from a test result of the logic circuit as an embodiment of the present invention. Referring to FIG. 1, an input device 1 such as a keyboard, a fail extraction device 2 that extracts a fail estimation circuit block, a conversion device 3 that converts a logic circuit into a decision graph, and an expected value calculation device that calculates an expected value of the logic circuit 4, a failure location estimation device 5 that estimates a failure location of a logic circuit, a storage device 6 that includes a hard disk, a memory, and the like and stores information, and an output device 7 such as a display device and a printing device. is there.
[0044]
The fail extraction device 2 extracts a fail estimation circuit block having a fail output port and a fail estimation output port based on description information, fail information, and fail propagation estimation information in which a logic circuit is functionally described in a circuit block unit in a design language.
[0045]
The conversion device 3 creates a state transition table having a plurality of states according to the processing order of the fail estimation circuit block based on the description information, and based on the created state transition table, an operation node composed of input nodes and operators, Based on the selection node and output node for selecting one output value from a set of a plurality of input values, and the connection of these nodes, a decision graph is created to display data flow and determine the operation for all conditions.
[0046]
The expected value calculation device 4 uses the decision graph to calculate the output values of the input node, the operation node, the selection node, and the output node each time the state transitions, and is configured with a set of a node name and a calculated value The expected value of the logic circuit is calculated by the expected node value acquisition means 41 that creates the node table and the output value extraction means 42 that extracts the output value of the logic circuit from the node table.
[0047]
The failure location estimation device 5 uses a failure mode selection means 51 for estimating a failure location while separately assuming a control system failure and a data system failure, and a failure output port and a node corresponding to the failure estimation output port as a starting point. Based on the vector, the node estimation means 52 for estimating the fail propagation path by performing the fail estimation of each node by the output estimation and the expected value comparison of each node in the input direction, and the node information of the fail propagation path as the fault location estimation information The estimated information registration means 53 to be registered, the end determination means 54 that repeats these processes until all combinations that may propagate a failure to the output port are calculated, and the failure candidate output that outputs the failure location estimation information as a list The fault location is estimated by means 55. Thereby, it is possible to estimate the failure location of the data system and the control system.
[0048]
A design language is a language that describes the structure or operation of a logic circuit. A fault location can be estimated for a logic circuit described in a hardware description language such as Verilog-HDL or VHDL, C language, or the like.
[0049]
Although not shown, the conversion device 3 divides the processing of the logic circuit into a plurality of transition states, creates a state transition table composed of the current state, state transition condition, next state and operation, and state transition Set the process to read the input port, state variable or value described in the table as the input node, set the operator process as the operation node, and set the output port, state variable or value write process as the output node. The control part for calculating the state is created by connecting the input node and the operation node as a data flow, the result of the state is given as a binary value of TRUE / FALSE, and the input node and the operation node are used as the data flow. Create a data part that calculates the output value by connecting, and in the result of the state described above, one corresponding to the TRUE state from the given set Select the force values, to create a decision graph and means for setting the selected node for selectively outputting the value to the output node. Thereby, a decision graph required for failure location estimation can be created.
[0050]
The expected node value acquisition means 41 in the expected value calculation device 4 reads the test pattern or the output pattern of the previous state, and sets the input node, and all input values are set. An operation node extracting unit (not shown) for extracting an operation node whose output value is not set, and an operation node setting unit (not shown) for calculating an output value based on the input value for the extracted operation node It is determined whether or not the setting of all operation nodes has been completed, and if not completed, the process returns to the operation node extraction unit, and if completed, the operation node determination unit (not shown) that goes to the next unit is selected. Selection node setting means (not shown) for calculating the output value of the node, output node setting means (not shown) for calculating the output value of the output node, and there is a next state and the next state is not the first transition state. If there is no next state or if the next state is the first transition state, the output value of each node is calculated by the state determination means (not shown) that terminates the process. Thus, it is possible to create a node table composed of pairs of node names and calculated values.
[0051]
The output value extraction means 42 in the expected value calculation device 4 is a means (not shown) for extracting the output value of the output port in the final state for each test pattern from the node table created by the node expected value acquisition means 41. The output value of the logic circuit is extracted. Thereby, an expected value required for failure diagnosis can be calculated.
[0052]
When estimating the output of each node, the node estimation means 52 in the failure location estimation apparatus 5 estimates only the value of an estimable bit if the value of the node is multi-bit. Thus, fail estimation can be performed without estimating all bit values.
[0053]
When the failure location estimation unit 54 of the failure location estimation device 5 determines that the failure location estimation between the control system failure and the data system failure has been completed and the fail propagation input port is extracted, the failure extraction device 2 described above A circuit block whose fail propagation input port is an output port is extracted, and a fault location is estimated for the circuit block.
[0054]
If there is no fail propagation input port, the failure location output means 55 outputs failure location estimation information to the output device 7.
[0055]
Next, the conversion apparatus 3 in this Embodiment is demonstrated, referring FIG.2, FIG.3 and FIG.4.
[0056]
FIG. 2 is a Verilog-HDL description of the counter circuit, and FIG. 3 is a state transition table of the counter circuit shown in FIG. FIG. 4 is a determination graph of the counter circuit.
[0057]
The counter circuit of the present embodiment is a circuit that counts up when a change in the clock signal clk is detected and outputs a count to the signal out.
[0058]
First, a state transition table is created according to the processing order of Verilog-HDL description.
[0059]
As the first transition state, the event block determination process for the always block is assigned to the state ST0. Here, the change of the signal clk is expressed as @clk. Next, the process described in the always block is assigned to the state ST1.
[0060]
Further, in the state ST1, a process of assigning the evaluation of the expression on the right side in the non-blocking assignment expression (out <= 4′b0000, out <= out + 1′b1) to the temporary register: _reg is assigned.
[0061]
Next, a process of assigning the value held in the temporary register: _reg to the signal: out on the left side of the non-blocking assignment expression is assigned to the state ST2.
[0062]
In the state ST0, when the process is completed, the process proceeds to the state ST1 as the next state. In the state ST1, when the process is completed, the process proceeds to the state ST2 as the next state. In the state ST2, when the process is completed, the process proceeds to the state ST0 as the next state.
[0063]
Next, creation of a decision graph with reference to the state transition table will be described.
[0064]
The input port clk is set as an input node. The state variable STATE and state numbers ST0, ST1, and ST2 are set as input nodes. Also, variables and constants clk, out, and “1111” in the conditional expression are set as input nodes.
[0065]
On the right side of the assignment expression, variables and constants “0000”, out, “1”, and _reg used in the evaluation of the expression are set as input nodes. An event node “_event” for judging a change in signal is set as an input node.
[0066]
The output port out and the state variable STATE are set as output nodes. _Reg and out, which are variables assigned on the left side of the assignment expression, are set as output nodes.
[0067]
As operators used in the state transition table, an equal sign (=), addition (+), negation (!) And a logical operator and (&) are set as operation nodes.
[0068]
State_a, _reg_a, and out_a corresponding to the output nodes out, state, and _reg are set as selection nodes.
[0069]
Next, the link of each node will be described.
[0070]
The input node STATE that is the state variable and the input nodes ST0, ST1, and ST2 that are the state numbers are linked by the operation node “=”.
[0071]
The output node STATE is linked as the output destination of the selected node STATE_a. The selection node state_a is linked to the input nodes ST0, ST1, and ST2 that are state numbers as output values.
[0072]
In the state ST0, since the next state when the condition temp is true is the state ST1, as the state result corresponding to the output value ST1 of the selected node STATE_a, “equals linked to the input node ST0“ = ”” and “clk” And the equal sign “=” linked to _event is linked to the operation node “&”, and the selected node STATE_a is linked as the output destination of the operation node “&”.
[0073]
Since the next state after the state ST1 is the state ST2, the equal sign “=” linked to the input node ST1 is linked to the selected node STATE_a as a result of the state corresponding to the output value ST2 of the selected node STATE_a.
[0074]
Since the next state after the state ST2 is the state ST0, the equal sign “=” linked to the input node ST2 is linked to the selected node STATE_a as a state result corresponding to the output value ST0 of the selected node STATE_a.
[0075]
The selection node_reg_a is linked to the output node_reg as an output destination. Here, as a state result corresponding to one of the output values “0000”, “operation node“ = ”linked to input node ST1” and “operation node linked to input node out and“ 1111 ”“ = "" Is linked with the operation node "&", and the operation node "&" is linked with the selection node_reg_a.
[0076]
Further, the input node out and “1” are linked by the operation node “+”, and the operation node “+” is linked to _reg_a as the other output value.
[0077]
As a state result corresponding to the output out + “1”, “the operation node“ = ”” that links the input node “out” and “1111” is linked to the operation node “!” (Negative), and the operation nodes “!” And “input” The operation node “=” linked to the node ST1 is linked by the operation node “&”, and the operation node “&” is linked to the selected node_reg_a.
[0078]
The input node_reg is linked with the selection node out_a as an output value. The selection node out_a is linked to the output node out as an output destination. Here, as a result of the state corresponding to the output value _reg, the equal sign “=” linked to the input node ST2 is linked to the selected node out_a.
[0079]
Thus, the decision graph shown in FIG. 4 is created.
[0080]
Next, the expected node value acquisition unit 41 in the present embodiment will be described with reference to FIGS. 4, 5, and 6.
[0081]
FIG. 5 is a flowchart showing a processing order in the node expected value acquisition means 41, and FIG. 6 is a node table of the decision graph shown in FIG.
[0082]
It is assumed that “0110” is set to out and “p” (rising) is input to clk by the test pattern.
[0083]
First, in the input pattern reading means, the input node I3 is set to “0110” from the test pattern, and “p” is set to the input node I1. Further, since this circuit starts processing from the state ST0, “ST0” is set to the input node I2 (processing step S11).
[0084]
In the operation node extracting means, X1, X2, X3, X4, X5 and X7 are extracted as operation nodes for which all input values are set and output values are not set (processing step S12).
[0085]
The operation node setting means calculates the output value of each operation node extracted by the operation node extraction means (processing step S13). Since the input nodes of X1 are clk and _event, X1 is set to “1” if the output value of clk has changed, and “0” if it has not changed.
[0086]
Here, since the output value of clk is “p” (rising) and the value is changing, X1 is set to “1”. Since STATE == “ST0”, X2 is set to “1”, X3 is set to “0”, and X4 is set to “0”. Since out == “0110”, X5 is set to “0” and X7 is set to “0111”.
[0087]
In the operation node determination means, it is determined whether or not all the operation nodes have been set. Since the settings of the operation nodes X6, X8, X9, and X10 are not completed, the process returns to the operation node extraction unit (processing step S14).
[0088]
In the operation node extracting means, X6, X8, and X9 are extracted as operation nodes for which all input values are set and output values are not set (processing step S12).
[0089]
In the operation node setting means, since X5 == “0”, X6 is set to “1”. Since X1 == “1” and X2 == “1”, X8 is set to “1”. Since X3 == “0” and X5 == “0”, X9 is set to “0” (processing step S13).
[0090]
In the operation node determination means, it is determined whether or not all the operation nodes have been set. Since the setting of the operation node X10 has not been completed, the process returns to the operation node extraction unit (processing step S14).
[0091]
In the operation node extracting means, X10 is extracted as an operation node in which all input values are set and the output value is not set (processing step S12).
[0092]
In the operation node setting means, since X6 == “1” and X3 == “0”, X10 is set to “0” (processing step S13).
[0093]
In the operation node determination means, it is determined whether or not all the operation nodes have been set. Since all the operation nodes have been set, the process proceeds to the next processing means (processing step S14).
[0094]
The selection node setting means sets selection nodes A1, A2 and A3 (processing step S15). In the selection node A1, since the 0th condition X4 == “0”, the first condition X8 == “1”, and the second condition X3 == “0”, the first condition whose value is “1” A1 is set to “1” corresponding to the condition X8.
[0095]
In the selected node A2, since the 0th condition X10 == “0”, the first condition X9 == “0”, and there is no condition whose value is “1”, this means that no value is output to O2. , A2 is set to “−1”.
[0096]
In the selection node A3, since the 0th condition X4 == “0” and there is no condition whose value is “1”, A3 is set to “−1”.
[0097]
The output node setting means sets the output nodes O1, O2, and O3 (processing step S16). In the output node O1, since the selection node A1 == “1”, “ST1” which is the first input value of the selection node A1 is set. In the output node O2, no value is set because the value is not output when the selection node A2 = “− 1”. In the output node O3, no value is set because the value is not output when the selection node A3 == “− 1”.
[0098]
With the above processing, the node table of the first state no1 is created.
[0099]
Next, the state determination means goes to the input pattern reading means because there is a next state and the next state is not the first transition state ST0 (processing step S17).
[0100]
Next, in the input pattern reading means in the next state, since the output node O1 == “ST1” in the state no1, the input node I2 corresponding to the output node O1 is set to “ST1” in the state no2 (processing step) S11).
[0101]
Since the output node O2 in the state no1 is not set, the corresponding input node I4 is not set in the state no2. Since the output node O3 in the state no1 is not set, in the state no2, the corresponding input node I3 does not set a new value, and sets the value “0110” of the input node I3 in the state no1.
[0102]
That is, in state no2, “0110” is set to the input node I3. In the state no2, the input node I1 sets the value “p” in the state no1 because there is no corresponding output node.
[0103]
By repeating the operation node extraction means (processing step S12), the operation node setting means (processing step S13), and the operation node determination means (processing step S14) until the setting of all the operation nodes is completed,
X1 == “1”
X2 == “0”
X3 == “1”
X4 == “0”
x5 == “0”
X6 == “1”
X7 == “0111”
X8 == “0”
X9 == “0”
X10 == “1”
Is set.
[0104]
The selection node setting means sets selection nodes A1, A2 and A3 (processing step S15). In the selection node A1,
0th condition X4 == “0”
First condition X8 == “0”
Second condition X3 == “1”
Therefore, A1 is set to “2” corresponding to the second condition X3 whose value is “1”.
[0105]
In the selection node A2,
0th condition X10 == “1”
First condition X9 == “0”
And A2 is set to “0” corresponding to the 0th condition X10 whose value is “1”.
[0106]
In selection node A3,
0th condition X4 == “0”
Since there is no condition that the value is “1”, A3 is set to “−1”.
[0107]
The output node setting means sets the output nodes O1, O2, and O3 (processing step S16).
[0108]
In the output node O1, since the selection node A1 == “2”, the second input value “ST2” of the selection node A1 is set.
[0109]
In the output node O2, since the selection node A2 == “0”, the X7 value “0111” which is the 0th input value of the selection node A2 is set.
[0110]
In the output node O3, no value is set because the value is not output when the selection node A3 == “− 1”.
[0111]
With the above processing, a node table in the state no2 is created.
[0112]
Next, the state determination means goes to the input pattern reading means because there is a next state and the next state is not the first transition state ST0 (processing step S17).
[0113]
Next, in the input pattern reading means in the next state, since the output node O1 = “ST2” in the state no2, the input node I2 corresponding to the output node O1 is set to “ST2” in the state no3.
[0114]
Since the output node O2 == “0111” in the state no2, the corresponding input node I4 is set to “0111” in the state no3. Since the output node O3 in the state no2 is not set, the corresponding input node I3 does not set a new value in the state no3, and sets the value “0110” of the input node I3 in the state no2.
[0115]
That is, in the state no3, “0110” is set to the input node I3. In the state no3, the input node I1 sets the value “p” in the previous state no2 because there is no corresponding output node.
[0116]
By repeating the operation node extraction means (processing step S12), the operation node setting means (processing step S13), and the operation node determination means (processing step S14) until the setting of all the operation nodes is completed,
X1 == “1”
X2 == “0”
X3 == “0”
X4 == “1”
x5 == “0”
X6 == “1”
X7 == “0111”
X8 == “0”
X9 == “0”
X10 == “0”
Is set.
[0117]
The selection node setting means sets selection nodes A1, A2 and A3 (processing step S15).
[0118]
In the selection node A1,
0th condition X4 == “1”
First condition X8 == “0”
Second condition X3 == “0”
Therefore, A1 is set to “0” corresponding to the 0th condition X4 whose value is “1”.
[0119]
In the selection node A2,
0th condition X10 == “0”
First condition X9 == “0”
Since there is no condition that the value is “1”, A2 is set to “−1”.
[0120]
In the selection node A3, A2 is set to “0” corresponding to the 0th condition X4 where the 0th condition X4 == “1” and the value is “1”.
[0121]
The output node setting means sets the output nodes O1, O2, and O3 (processing step S16).
[0122]
In the output node O1, since the selection node A1 == “0”, the “0” input value “ST0” of the selection node A1 is set.
[0123]
In the output node O2, since the value is not output when the selection node A2 = "-1", the value "0111" in the previous state no2 is set.
[0124]
In the output node O3, since the selection node A3 == “0”, the value “0111” of I4 which is the 0th input value of the selection node A3 is set.
[0125]
With the above processing, a node table in the state no3 is created.
[0126]
Next, since the next state is the first transition state ST0, the state determination means ends the processing (processing step S17).
[0127]
Through the above processing, a node table corresponding to one test pattern is created. Here, when a plurality of test patterns are used, a node table is created for each test pattern by repeating the above processing.
[0128]
Next, the output value extraction means 42 in the present embodiment will be described with reference to FIGS.
[0129]
Since the node of the decision graph corresponding to the output port out of the counter circuit is the output node O3, in the test pattern described as an example in the present embodiment, the value “0111” of the output node O3 in the final state no3 is output. Extracted as output value of port out.
[0130]
Here, when using a plurality of test patterns, the output value of the logic circuit can be extracted by extracting the output value of the output port in the final state for each test pattern.
[0131]
Next, the failure diagnosis apparatus in the present embodiment will be described with reference to FIG. 4 and FIGS.
[0132]
FIG. 7 is an example of a test result of the counter circuit, and FIG. 8 is a node table of a decision graph obtained by the expected value calculation device. 9 and 10 show node estimation results obtained by the node estimation means for a data system failure, and FIGS. 11 and 12 show node estimations obtained by the node estimation means for a control system failure. It is a result.
[0133]
As shown in FIG. 7, in the test pattern V1, since the output value of out is “1000” and the expected value is “1000”, the test is passed. In the test pattern V2 that is continuous with the test pattern V1, the output value of out is “0000” and the expected value is “1001”.
[0134]
The node table in the test pattern V2 shown in FIG. 8 is created by the node expected value acquisition unit of the expected value calculation apparatus for the test patterns V1 and V2.
[0135]
First, the failure search of the data system is selected by the failure mode selection means.
[0136]
From the test pattern, clk is “p”, and clk does not exist in the read node. Therefore, in each transition state, the node I1 is set to “p”.
[0137]
Here, each node of I2, “ST0”, “ST1”, “ST2”, X2, X3, X4, X6, X8, X9, X10, A1, A2, A3, O1 converts the design language into a decision graph. Therefore, it is not extracted as a failure candidate.
[0138]
The node estimation means 52 first estimates the control system on the assumption that no fault exists in the control system. The output value of each node is determined from the normal output nodes O1 and O2.
[0139]
Since the transition state is “0” when the test pattern V2 ends, O1 is set to “ST0”.
[0140]
From the output value of O1, the output value of A1 becomes “0”, X4 is “1”, I2 is “ST2”, X3 is “0”, and X8 is “0”. X1 or X2 is estimated to be “0” from the value of X8.
[0141]
Assume that X1 is “0”. Since I1 is “p” and the signal is changing, X1 is “1”, but a contradiction occurs. Therefore, it is assumed that X1 == “1” and X2 == “0”. In this case, no contradiction occurs.
[0142]
A2 takes one of the values “−1”, “0”, and “1”. Assuming that A2 == “1”, X9 == “1” is estimated, but X3 == “0”, which is contradictory.
[0143]
Assuming that A2 == “0”, X10 == “1” is estimated, but X3 == “0”, which is contradictory.
[0144]
Assuming A2 == “− 1”, X9 == “0”, X10 == “0”, X5 == “x” (may be 0 or 1), X6 == “x”, I3 == “ xxxx ”, X7 ==“ xxxx ”, O2 ==“ xxxx ”, and no contradiction occurs.
[0145]
Next, each node is estimated from the fail output port. From the test result, fail output port O3 == “0000”. Since X4 == “1”, A3 == “0” is estimated, and I4 == “0000” is estimated. O3 and I4 are registered as failure location estimation information.
[0146]
Thus, the node table in the state no1 is created.
[0147]
Since I2 == “ST2” in the state no1, O1 is set to “ST2”, and the state no2 is estimated. Since O1 == “ST2”, A1 == “2”, X3 == “1”, I2 == “ST1”, X4 == “0”, and X8 == “0” are determined.
[0148]
In the same manner as in the state no1, X1 == “1” and X2 == “0” are determined. A3 == “− 1”, O3 == “xxxx”, and I4 == “xxxx” are determined.
[0149]
Next, each node is estimated from the fail output port. From the value of I4 in the state no1, fail estimation output port O2 == “0000”. A2 takes one of the values “−1”, “0”, and “1”.
[0150]
Assuming that A2 == “− 1”, since X9 == “0”, X5 == “0”. Since X10 == “0”, X6 == “0” and X5 == “1”. A2 is not "-1" because X5 contradicts.
[0151]
Assuming that A2 == “0”, X9 == “0”, X5 == “0”, X10 == “1”, and X6 == “1”. Accordingly, from O2 == “0000” and A2 == “0”, X7 == “0000” and I3 == “1111”. I3 == “1111” to X5 == “0” are contradictory.
[0152]
Since there is no input pattern that satisfies the output pattern, O2, X7, and I3 are registered as failure location estimation information. The node table shown in FIG. 9 is obtained.
[0153]
On the other hand, assuming that A2 == “1”, X9 == “1”, X5 == “1”, I3 == “1111”, X10 == “0”, and X6 == “0”. O2 is registered as failure location estimation information.
[0154]
Thus, the node table in the state no2 is created.
[0155]
Since I2 == “ST1” in the state no2, O1 is set to “ST1”, and the state no3 is estimated. Since O1 == “ST1”, X8 == “1”, X1 == “1”, X2 == “1”, X3 == “0”, X4 == “0”, I2 == “ST0” "Is decided.
[0156]
A3 == “− 1”, O3 == “xxxx”, and I4 == “xxxx” are determined. X9 == “0”, X10 == “0”, A2 == “− 1”, and O2 == “xxxx” are determined. X5 = "x" and X6 == "x" are determined. Since the value of I3 is not updated in states no2 and no3, I3 is registered as failure location estimation information.
[0157]
Thus, the node table in the state no3 is created. The node table shown in FIG. 10 is obtained.
[0158]
Since the failure location estimation of the data system is completed by the termination determination means, the failure candidate output means outputs a list of O3 and I4 in the transition state ST2, O2, X7 and I3 in the transition state ST1, and I3 in the transition state ST0.
[0159]
Next, failure estimation of the control system is selected by the failure mode selection means, and failure estimation of the control system is performed by the node estimation means 52.
[0160]
From the test pattern, clk is “p”, and clk does not exist in the read node. Therefore, in each transition state, the node I1 is set to “p”.
[0161]
Here, each node of I2, “ST0”, “ST1”, “ST2”, X2, X3, X4, X6, X8, X9, X10, A1, A2, A3, O1 converts the design language into a decision graph. Therefore, it is not extracted as a failure candidate.
[0162]
First, the data system is estimated on the assumption that no failure exists in the data system. The output value of each node is determined from the normal output nodes O1 and O2. Since the transition state is “0” when the test pattern V2 ends, O1 is set to “ST0”.
[0163]
From the output value of O1, the output value of A1 becomes “0”, X4 is “1”, I2 is “ST2”, X3 is “0”, and X8 is “0”. X1 or X2 is estimated to be “0” from the value of X8. Assume that X1 is “0”.
[0164]
Since I1 is “p” and the signal is changing, X1 is “1”, but a contradiction occurs. Therefore, it is assumed that X1 == “1” and X2 == “0”. In this case, no contradiction occurs.
[0165]
A2 takes one of the values “−1”, “0”, and “1”. Assuming that A2 == “1”, X9 == “1” is estimated, but X3 == “0”, which is contradictory.
[0166]
Assuming that A2 == “0”, X10 == “1” is estimated, but X3 == “0”, which is contradictory.
[0167]
Assuming A2 == “− 1”, X9 == “0”, X10 == “0”, X5 == “x”, X6 == “x”, I3 == “xxxx”, X7 == “ xxxx ″, O2 == “xxxx”, and no contradiction occurs.
[0168]
Next, each node is estimated from the fail output port. From the test result, fail output port O3 == “0000”. Since X4 == “1” and X4 and A3 are not fault candidates, A3 == “0”, and I4 == “0000” is estimated. O3 and I4 are registered as failure location estimation information.
[0169]
Thus, the node table in the state no1 is created.
[0170]
Since I2 == “ST2” in the state no1, O1 is set to “ST2”, and the state no2 is estimated. Since O1 == “ST2”, A1 == “2”, X3 == “1”, I2 == “ST1”, X4 == “0”, and X8 == “0” are determined.
[0171]
In the same manner as in the state no1, X1 == “1” and X2 == “0” are determined. A3 == “− 1”, O3 == “xxxx”, and I4 == “xxxx” are determined.
[0172]
Next, each node is estimated from the fail output port. From the value of I4 in the state no1, fail estimation output port O2 == “0000”. A2 takes one of the values “−1”, “0”, and “1”.
[0173]
Assuming that A2 == “− 1”, the nodes of the control system are X9 == “0” and X10 == “0”. When the route is traced back from X9 == “0”, X5 == “0”.
[0174]
When estimated in the output direction of another route from X5, X6 == “1”, X10 == “1”, and X9 == “0” and X10 == “0” are not satisfied at the same time.
[0175]
On the other hand, when the route is traced back from X10 == “0”, X6 == “0” and X5 == “1”. When estimated in the output direction of another route from X5, X9 == “1”, and X9 == “0” and X10 == “0” are not satisfied at the same time. That is, A2 == “− 1” is not satisfied.
[0176]
Assuming that A2 == “0”, the nodes of the data system are X7 == “0000” and I3 == “1111”.
[0177]
The nodes of the control system are X9 == “0”, X10 == “1”, X6 == “1”, and X5 == “0”. Since I3 == “1111” and X5 == “0” contradict each other and there is no input pattern that satisfies the output pattern, O2 and X5 are registered as failure location estimation information. The node table shown in FIG. 11 is obtained.
[0178]
On the other hand, assuming that A2 == “1”, the input of O2 is the node “0000”, and the data system nodes are established without contradiction.
[0179]
The nodes of the control system are X9 == “1”, X10 == “0”, X6 == “0”, X5 == “1”, and I3 == “1111”. O2 and I3 are registered as failure location estimation information.
[0180]
Thus, the node table in the state no2 is created.
[0181]
Since I2 == “ST1” in the state no2, O1 is set to “ST1”, and the state no3 is estimated.
[0182]
Since O1 == “ST1”, X8 == “1”, X1 == “1”, X2 == “1”, X3 == “0”, X4 == “0”, I2 == “ST0” "Is decided. A3 == “− 1”, O3 == “xxxx”, and I4 == “xxxx” are determined.
[0183]
X9 == “0”, X10 == “0”, A2 == “− 1”, and O2 == “xxxx” are determined. X5 = "x" and X6 == "x" are determined.
[0184]
Since the value of I3 is not updated in states no2 and no3, I3 is registered as failure location estimation information.
[0185]
Thus, the node table in the state no3 is created. The node table shown in FIG. 12 is obtained.
[0186]
Since the failure location estimation of the control system is completed by the termination determination means, the failure candidate output means outputs O3 and I4 in the transition state ST2, O2, I3 and X5 in the transition state ST1, and I3 in the transition state ST0 as a list. .
[0187]
The above processing is performed for each test pattern, the failure location is estimated for each test pattern, and the failure location estimation for the counter circuit is completed.
[0188]
Next, the fail extraction device 2 extracts the fail estimation circuit block having the fail estimation output port “out” based on the fail propagation estimation information of the counter circuit, and estimates the failure location. If there is no estimation circuit block having the fail estimation output port “out”, all the processes are terminated.
[0189]
In addition, when estimating the output of each node, the node estimation means in the failure location estimation apparatus 5 may estimate only the value of an estimable bit if the value of the node is multi-bit.
[0190]
FIG. 13 is a flowchart showing the processing procedure of the logic circuit failure diagnosis method of the present invention.
[0191]
Referring to FIG. 13, in the failure diagnosis method for a logic circuit, as processing step 1, fail output port and fail estimation are performed based on description information, fail information and fail propagation estimation information in which the logic circuit is described in units of circuit blocks in a design language. A fail extraction step S21 for extracting a fail estimation circuit block having an output port;
[0192]
Also, as processing step 2, a state transition table having a plurality of states is created from the description information according to the processing order of the fail estimation circuit block, and an operation node composed of input nodes and operators based on the state transition table, There is a conversion step S22 for creating a decision graph for displaying data flow and determining the operation for all conditions by selecting nodes for selecting one output value from a set of a plurality of input values and the connection between each output node and each node.
[0193]
Further, as processing step 3, an expected value calculation step S23 for calculating an expected value using a decision graph is provided.
[0194]
The expected value calculation step S23 includes the following two steps (not shown). That is, a node expected value acquisition step of calculating an output value of an input node, an operation node, a selection node, and an output node each time a state transitions and creating a node table composed of a set of a node name and a calculated value; And an output value extracting step of extracting an output value of the logic circuit from the node table.
[0195]
Furthermore, as processing step 4, there is a failure location estimation step S24 for estimating a failure location. The failure location estimation step S24 includes a failure mode selection step (not shown) for estimating a failure location while separately assuming a data system failure and a control system failure, a fail output port, and a node corresponding to the fail estimation output port. As a starting point, a node estimation step (not shown) for estimating a fail propagation path by performing fail estimation of each node in the input direction by output estimation and expected value comparison of each node based on the fail vector, and a node of this fail propagation path End determination that repeats these processes until calculation of all combinations that may cause a failure to propagate to the output port, and step S25 including an estimation information registration step (not shown) for registering information as failure location estimation information Step S26 and a failure candidate output step S27 for outputting the above-described failure location estimation information as a list.
[0196]
Although not shown, the conversion step S22 includes the following steps. That is, as the processing step 1, the process of the logic circuit is divided into a plurality of transition states, and a step of creating a state transition table composed of the current state, the state transition condition, the next state and the operation is included.
[0197]
As processing step 2, a process for reading an input port, state variable or value described in the state transition table is set as an input node, an operator process is set as an operation node, and an output port, state variable or value is written. A processing part is set as an output node, a control part for calculating a state is created by connecting an input node and an operation node as a data flow, a result of the state is given as a binary value of TRUE / FALSE, and an input node A data part for calculating an output value is created by connecting the operation node as a data flow, and in the result of the state, one output value corresponding to a TRUE state is selected from a given set, A step of setting a selection node for selectively outputting the value to the output node.
[0198]
In the conversion step S22, a decision graph is created by these processing steps 1 and 2.
[0199]
In addition, the node expected value acquisition step in the expected value calculation step S23 includes the following steps although not shown. That is, as processing step 1, there is an input pattern reading step for reading a test pattern or an output pattern in the previous state and setting an input node.
[0200]
The processing step 2 includes an operation node extraction step for extracting operation nodes in which all input values are set and output values are not set.
[0201]
The processing step 3 includes an operation node setting step for calculating an output value based on the input value for the extracted operation node.
[0202]
As processing step 4, it is determined whether or not the setting of all operation nodes has been completed, and if not completed, the process returns to the operation node extraction process, and if completed, the operation node determination process goes to the next process.
[0203]
The processing step 5 includes a selection node setting step for calculating the output value of the selected node, and the processing step 6 includes an output node setting step for calculating the output value of the output node.
[0204]
As processing step 7, if there is a next state and the next state is not the first transition state, the process proceeds to the input pattern reading process of the next state, and if there is no next state or the next state is the first transition state, the processing is performed. It has the state determination process to complete | finish.
[0205]
In the node expected value acquisition step, the output values of each node are calculated by the above-described processing steps 1 to 7, and a node table composed of pairs of node names and calculated values is created.
[0206]
The output value extracting step in the expected value calculating step S23 is a step of extracting the output value of the logic circuit in the final state for each test pattern from the node table created in the node expected value acquiring step. Extract.
[0207]
Further, the node estimation step in the failure location estimation step S24 estimates only the value of an estimable bit when the output of each node is estimated and the node value is multi-bit.
[0208]
In the present invention, each processing of the processing procedures S21 to S24 is realized by executing a program by a computer that constitutes a failure diagnosis device for a logic circuit. The computer reads the program from a computer-readable recording medium (for example, a magnetic disk, an optical disk, a semiconductor memory, or any other recording medium) that records the program, and loads the program into a main circuit memory fault diagnosis device. The present invention can be implemented by executing the above. Alternatively, the program may be downloaded from a server or the like provided with a recording medium recording the program to the computer of the logic circuit failure diagnosis apparatus via a communication line. By using a recording medium in this way, program management becomes easy.
[0209]
In the present invention, as a design language, not only Verilog-HDL described in the present embodiment, but also a hardware description language such as VHDL, a language describing the structure or operation of a logic circuit, such as C language, may be used.
[0210]
【The invention's effect】
As described above, the logic circuit failure diagnosis apparatus, the failure diagnosis method, and the program thereof according to the present invention extract the fail estimation circuit block from the design language describing the structure or operation of the logic circuit, and extract the fail estimation circuit. By creating a decision graph for each block and estimating the failure propagation path using the decision graph while separately assuming the data system failure and the control system failure, the failure location of the data system and the control system at the functional level Therefore, for a logic circuit with a large scale and multi-layered wiring, there is an effect that it contributes to the improvement of the efficiency of calculation of expected values and estimation of failure locations.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a system configuration of a failure diagnosis apparatus for a logic circuit according to the present invention.
FIG. 2 is a Verilog-HDL description example of a logic circuit.
FIG. 3 is a state transition table in one embodiment of the present invention.
FIG. 4 is a decision graph according to an embodiment of the present invention.
FIG. 5 is a flowchart showing a processing order in an expected node value acquisition unit of the present invention.
FIG. 6 is a node table according to an embodiment of the present invention.
FIG. 7 is a test result in one embodiment of the present invention.
FIG. 8 is another example node table according to the embodiment of the present invention;
FIG. 9 shows a node estimation result when a data system failure is assumed in the embodiment of the present invention.
FIG. 10 is a node estimation result in the case of assuming another example of a data system failure in the embodiment of the present invention.
FIG. 11 is a node estimation result when a control system failure is assumed in the embodiment of the present invention.
FIG. 12 is a node estimation result when another example control system failure is assumed in the embodiment of the present invention;
FIG. 13 is a flowchart showing a processing procedure of a logic circuit failure diagnosis method of the present invention.
FIG. 14 is a flowchart showing an outline process of a conventional failure location estimation method for a logic circuit.
[Explanation of symbols]
1 Input device
2 Fail extraction device
3 Conversion device
4 Expected value calculation device
5 Failure location estimation device
6 Storage device
7 Output device
41 Node expected value acquisition means
42 Output value extraction means
51 Failure mode selection means
52 Node estimation means
53 Estimated information registration means
54 End determination means
55 Failure candidate output means

Claims (25)

論理回路の構造あるいは動作を設計言語で回路ブロック単位に機能記述した記述情報から、フェイル抽出装置により抽出したフェイル推定出力ポートを有するフェイル推定回路ブロックごとに作成した状態遷移表に基づき、入力ノード、演算子で構成される操作ノード、複数の入力値の組から1つの出力値を選択する選択ノードおよび出力ノードとこれらの各ノードの結線を行い、表示手段にデータフロー表示して前記各ノードに対する動作を決定する決定グラフを作成し、データ系故障と制御系故障とを別々に想定しながら、前記決定グラフを用いたフェイル伝搬経路推定を行うことで、機能レベルでデータ系と制御系の故障個所を推定する機能を有することを特徴とする論理回路の故障診断装置。Based on the state transition table created for each fail estimation circuit block having a fail estimation output port extracted from the description information in which the structure or operation of the logic circuit is described in units of circuit blocks in the design language, the input node, An operation node composed of operators, a selection node that selects one output value from a set of a plurality of input values, and an output node are connected to each of these nodes. Create a decision graph that determines the operation and perform failure propagation path estimation using the decision graph while separately assuming a data system failure and a control system failure. A logic circuit fault diagnosis device having a function of estimating a location. 論理回路のテスト結果から取得されたフェイル情報に基づき前記論理回路の故障個所を推定する論理回路の故障診断装置において、入力装置と、前記論理回路を設計言語で回路ブロック単位に機能記述した記述情報、前記フェイル情報およびフェイル伝搬推定情報により、フェイル出力ポートおよびフェイル推定出力ポートを有するフェイル推定回路ブロックを抽出するフェイル抽出装置と、前記記述情報を基に前記フェイル推定回路ブロックの処理順序に従って複数の状態を持つ状態遷移表を作成し、前記状態遷移表を基に、入力ノード、演算子で構成される操作ノード、複数の入力値の組から1つの出力値を選択する選択ノードおよび出力ノードと前記各ノードの結線とを行うとともにデータフロー表示して全条件に対する動作を決定するための決定グラフを作成する変換装置と、前記論理回路の期待値を算出する期待値算出装置と、前記論理回路の故障個所を推定する故障個所推定装置と、前記装置それぞれの情報を記憶する記憶装置と、前記故障個所推定装置の出力データを表示する出力装置とを備えることを特徴とする論理回路の故障診断装置。In a failure diagnosis device for a logic circuit that estimates a failure location of the logic circuit based on fail information obtained from a test result of the logic circuit, description information in which the input device and the logic circuit are described in units of circuit blocks in a design language A fail extraction device that extracts a fail estimation circuit block having a fail output port and a fail estimation output port based on the fail information and the fail propagation estimation information, and a plurality of processing steps of the fail estimation circuit block based on the description information. A state transition table having a state is created, and based on the state transition table, an input node, an operation node composed of operators, a selection node that selects one output value from a set of a plurality of input values, and an output node; Connect the nodes and display the data flow to determine the operation for all conditions A conversion device for creating a decision graph, an expected value calculation device for calculating an expected value of the logic circuit, a failure location estimation device for estimating a failure location of the logic circuit, and a memory for storing information on each of the devices A logic circuit fault diagnosis device comprising: a device; and an output device that displays output data of the fault location estimation device. 前記設計言語は、論理回路の構造あるいは動作を記述した言語である請求項2記載の論理回路の故障診断装置。3. The logic circuit fault diagnosis apparatus according to claim 2, wherein the design language is a language describing a structure or an operation of the logic circuit. 前記変換装置は、前記論理回路の処理を複数の遷移状態に分割し、現状態、状態遷移条件、次状態および動作の各項目で構成される状態遷移表を作成する手段と、前記状態遷移表に記述された入力ポート、状態変数または数値を読み出す処理を入力ノードとして設定し、演算子の処理を操作ノードとして設定し、出力ポート、前記状態変数または前記数値を書き込む処理を出力ノードとして設定し、前記入力ノードおよび前記操作ノードをデータフローとして接続することで状態を計算する制御パートを作成し、作成した前記状態の結果をTRUE/FALSEの2値で与え、かつ、前記入力ノードおよび前記操作ノードを前記データフローとして接続することで出力値を計算するデータパートを作成し、前記状態の結果に応じて、与えられた組の中から前記TRUEの状態に対応した一つの前記出力値を出力ノードに選択出力するための選択ノードを設定する手段とを有する請求項2記載の論理回路の故障診断装置。The conversion device divides the processing of the logic circuit into a plurality of transition states and creates a state transition table including items of a current state, a state transition condition, a next state, and an operation, and the state transition table The process for reading the input port, state variable, or numeric value described in is set as an input node, the operator process is set as the operation node, and the process for writing the output port, the state variable, or the numeric value is set as the output node. A control part for calculating a state by connecting the input node and the operation node as a data flow, giving a result of the state as a binary value of TRUE / FALSE, and the input node and the operation Create a data part that calculates the output value by connecting nodes as the data flow, given the result of the state, given Trouble diagnosis device for the logic circuit according to claim 2, further comprising a means for setting the selected nodes to select the output from the set to the output node of the output value of the one corresponding to the state of the TRUE. 前記期待値算出装置は、前記決定グラフに基づき、状態が遷移するごとに、前記入力ノード、前記操作ノード、前記選択ノードおよび前記出力ノードの出力値を算出して、ノード名および算出値の組で構成されるノードテーブルを作成するノード期待値取得手段と、前記ノードテーブルから前記論理回路の出力値を抽出する出力値抽出手段とを有する請求項2記載の論理回路の故障診断装置。The expected value calculation device calculates an output value of the input node, the operation node, the selection node, and the output node each time a state transitions based on the decision graph, and sets a combination of a node name and a calculated value. 3. The logic circuit fault diagnosis device according to claim 2, further comprising: an expected node value acquisition unit that creates a node table configured by: and an output value extraction unit that extracts an output value of the logic circuit from the node table. 前記期待値算出装置におけるノード期待値取得手段は、テストパターンもしくは一つ前の状態の出力パターンを読み込み、前記入力ノードを設定する入力パターン読み込み手段と、全入力値が設定され、かつ出力値が未設定の操作ノードを抽出する操作ノード抽出手段と、抽出された前記操作ノードに対して、入力値をもとに出力値を算出する操作ノード設定手段と、全操作ノードの設定が完了したか否かを判定し、完了していなければ操作ノード抽出手段へ戻り、完了していれば次の手段へ進む操作ノード判定手段と、選択ノードの出力値を算出する選択ノード設定手段と、前記出力ノードの出力値を算出する出力ノード設定手段と、次状態が有り、かつ次状態が最初の遷移状態でなければ次状態の前記入力パターン読み込み手段へ行き、次状態が無いか、もしくは次状態が最初の遷移状態であれば、処理を終了する状態判定手段とを有する請求項5記載の論理回路の故障診断装置。The expected node value acquisition means in the expected value calculation device reads the test pattern or the previous output pattern, sets the input node, input pattern reading means for setting the input node, all input values are set, and the output value is Operation node extraction means for extracting unset operation nodes, operation node setting means for calculating output values based on input values for the extracted operation nodes, and whether all operation nodes have been set If not completed, the process returns to the operation node extraction means, and if completed, the operation node determination means proceeds to the next means, the selection node setting means for calculating the output value of the selected node, and the output Output node setting means for calculating the output value of the node, and if there is a next state and the next state is not the first transition state, go to the input pattern reading means of the next state, Or the absence, or if the first transition state next state, the trouble diagnosis device for the logic circuit of claim 5, further comprising a state determining means to end the process. 前記期待値算出装置における出力値抽出手段は、前記ノード期待値取得手段で作成したノードテーブルから、テストパターンごとの最終状態における出力ポートの出力値を抽出する手段により、前記論理回路の出力値を抽出する機能を有する請求項5記載の論理回路の故障診断装置。The output value extraction means in the expected value calculation device is configured to extract the output value of the logic circuit from the node table created by the node expected value acquisition means by means of extracting the output value of the output port in the final state for each test pattern. 6. The logic circuit fault diagnosis apparatus according to claim 5, which has a function of extracting. 前記故障個所推定装置は、制御系故障とデータ系故障とを別々に想定しながら故障個所を推定する故障モード選択手段と、前記フェイル出力ポートおよび前記フェイル推定出力ポートに対応したノードを起点として、フェイルベクタに基づき各ノードの出力推定および期待値比較により各ノードのフェイル推定を入力方向に行い、フェイル伝搬経路を推定するノード推定手段と、このフェイル伝搬経路のノードの情報を故障個所推定情報として登録する推定情報登録手段と、出力ポートにフェイルを伝搬する可能性のある全ての組み合わせを算出するまで、これらの処理を繰り返す終了判定手段と、前記故障個所推定情報をリスト出力する故障候補出力手段とを有する請求項2記載の論理回路の故障診断装置。The failure location estimating device is based on failure mode selection means for estimating a failure location while separately assuming a control system failure and a data system failure, and a node corresponding to the fail output port and the fail estimation output port. Node estimation means for estimating fail propagation path by performing fail estimation of each node in the input direction by output estimation and expected value comparison of each node based on the fail vector, and information on the node of this fail propagation path as failure location estimation information The estimated information registering means to be registered, the end judging means for repeating these processes until all combinations that may propagate a failure to the output port are calculated, and the failure candidate output means for outputting the failure location estimated information as a list The logic circuit fault diagnosis device according to claim 2, comprising: 前記故障個所推装置における前記ノード推定手段は、各ノードの出力推定をする際に、前記ノードの値が多ビットの場合は、推定可能なビットの値のみを推定する機能を有する請求項2記載の論理回路の故障診断装置。3. The node estimation means in the fault location estimation device has a function of estimating only the value of an estimable bit when the value of the node is multi-bit when estimating the output of each node. Logic circuit fault diagnosis device. 論理回路のテスト結果から取得されたフェイル情報に基づき前記論理回路の故障個所を推定する論理回路の故障診断方法において、前記論理回路を設計言語で回路ブロック単位に機能記述した記述情報、前記フェイル情報およびフェイル伝搬推定情報により、フェイル出力ポートおよびフェイル推定出力ポートを有するフェイル推定回路ブロックを抽出するフェイル抽出工程と、前記記述情報により、前記フェイル推定回路ブロックの処理順序に従って複数の状態を持つ状態遷移表を作成し、前記状態遷移表を基に入力ノード、演算子で構成される操作ノード、複数の入力値の組から1つの出力値を選択する選択ノードおよび出力ノードと前記各ノードの結線とを行うとともに、データフロー表示して全条件に対する動作を決定する決定グラフを作成する変換工程と、前記論理回路の期待値を算出する期待値算出工程と、故障個所を推定する故障個所推定工程とを有することを特徴とする論理回路の故障診断方法。In a logic circuit failure diagnosis method for estimating a failure location of the logic circuit based on fail information acquired from a test result of the logic circuit, description information in which the logic circuit is functionally described in a circuit block unit in a design language, the fail information And a fail extraction step for extracting a fail estimation circuit block having a fail output port and a fail estimation output port based on the fail propagation estimation information, and a state transition having a plurality of states according to the processing order of the fail estimation circuit block based on the description information Create a table, based on the state transition table, an input node, an operation node composed of operators, a selection node that selects one output value from a set of a plurality of input values, and an output node and the connection of each node And a decision graph that determines the behavior for all conditions by displaying the data flow. A conversion step of creating, the expected value calculation step of calculating an expected value of the logic circuit, a fault diagnosis method of a logic circuit and having a failure location estimating step of estimating the fault location. 前記設計言語は、論理回路の構造あるいは動作を記述した言語である請求項10記載の論理回路の故障診断方法。11. The logic circuit failure diagnosis method according to claim 10, wherein the design language is a language describing a structure or an operation of the logic circuit. 前記変換工程は、前記論理回路の処理を複数の遷移状態に分割し、現状態、状態遷移条件、次状態および動作の各項目で構成される状態遷移表を作成する工程と、
前記状態遷移表に記述された入力ポート、状態変数または数値を読み出す処理を入力ノードとして設定し、演算子の処理を操作ノードとして設定し、出力ポート、前記状態変数または前記数値を書き込む処理を出力ノードとして設定し、前記入力ノードと前記操作ノードとをデータフローとして接続することで状態を計算する制御パートを作成し、作成した前記状態の結果をTRUE/FALSEの2値で与え、かつ、前記入力ノードおよび前記操作ノードをデータフローとして接続することで出力値を計算するデータパートを作成し、前記状態の結果において、与えられた組の中から前記TRUE状態に対応した一つの前記出力値を出力ノードに選択出力するための選択ノードを設定する工程とを有する請求項10記載の論理回路の故障診断方法。
The converting step divides the processing of the logic circuit into a plurality of transition states, and creates a state transition table including items of a current state, a state transition condition, a next state, and an operation;
Set the process to read the input port, state variable or numeric value described in the state transition table as an input node, set the operator process as an operation node, and output the process to write the output port, the state variable or the numeric value A control part that calculates a state by setting the node as a node and connecting the input node and the operation node as a data flow, giving the result of the state as a binary value of TRUE / FALSE, and A data part for calculating an output value is created by connecting an input node and the operation node as a data flow, and in the result of the state, one output value corresponding to the TRUE state is obtained from a given set. 11. A logic circuit fault diagnosis according to claim 10, further comprising the step of setting a selection node for selective output to the output node. Method.
前記期待値算出工程は、前記決定グラフを用いて、状態が遷移するごとに、前記入力ノード、前記操作ノード、前記選択ノードおよび前記出力ノードの出力値を算出して、ノード名および算出値の組で構成されるノードテーブルを作成するノード期待値取得工程と、前記ノードテーブルから前記論理回路の出力値を抽出する出力値抽出工程とを有する請求項10記載の論理回路の故障診断方法。The expected value calculation step calculates the output value of the input node, the operation node, the selection node, and the output node each time the state transitions using the decision graph, and calculates the node name and the calculated value. The logic circuit fault diagnosis method according to claim 10, further comprising: an expected node value acquisition step of creating a node table composed of sets; and an output value extraction step of extracting an output value of the logic circuit from the node table. 前記期待値算出工程におけるノード期待値取得工程は、テストパターンもしくは一つ前の状態の出力パターンを読み込み、前記入力ノードを設定する入力パターン読み込み工程と、全入力値が設定され、かつ出力値が未設定の操作ノードを抽出する操作ノード抽出工程と、
抽出された前記操作ノードに対して、入力値をもとに出力値を算出する操作ノード設定工程と、
全操作ノードの設定が完了したか否かを判定し、完了していなければ操作ノード抽出工程へ戻り、完了していれば次の工程へ行く操作ノード判定工程と、
選択ノードの出力値を算出する選択ノード設定工程と、前記出力ノードの出力値を算出する出力ノード設定工程と、
次状態が有り、かつ次状態が最初の遷移状態でなければ次状態の前記入力パターン読み込み工程へ行き、次状態が無いか、もしくは次状態が最初の遷移状態であれば、処理を終了する状態判定工程とを有する請求項13記載の論理回路の故障診断方法。
The expected node value acquisition step in the expected value calculation step reads the test pattern or the previous output pattern, sets the input node, sets the input node, sets all input values, and outputs the output value. An operation node extraction process for extracting an unset operation node;
An operation node setting step for calculating an output value based on an input value for the extracted operation node;
It is determined whether or not all the operation nodes have been set, and if not completed, the process returns to the operation node extraction process, and if completed, the operation node determination process goes to the next process;
A selection node setting step for calculating an output value of the selection node; an output node setting step for calculating an output value of the output node;
A state in which the next state exists and if the next state is not the first transition state, the process proceeds to the input pattern reading process of the next state, and if there is no next state or the next state is the first transition state, the process is terminated. 14. The logic circuit failure diagnosis method according to claim 13, further comprising a determination step.
前記期待値算出処理工程における出力値抽出工程は、前記ノード期待値取得工程で作成したノードテーブルから、テストパターンごとの最終状態における出力ポートの出力値を抽出する工程により、前記論理回路の出力値を抽出する請求項13記載の論理回路の故障診断方法。The output value extraction step in the expected value calculation processing step is a step of extracting the output value of the output port in the final state for each test pattern from the node table created in the node expected value acquisition step. 14. The logic circuit failure diagnosis method according to claim 13, wherein the logic circuit failure is extracted. 前記故障個所推定工程は、制御系故障とデータ系故障とを別々に想定しながら故障個所を推定する故障モード選択工程と、
前記フェイル出力ポートおよび前記フェイル推定出力ポートに対応したノードを起点として、フェイルベクタに基づき各ノードの出力推定および期待値比較により各ノードのフェイル推定を入力方向に行い、フェイル伝搬経路を推定するノード推定工程と、
このフェイル伝搬経路のノードの情報を故障個所推定情報として登録する推定情報登録工程と、
出力ポートにフェイルを伝搬する可能性のある全ての組み合わせを算出するまで、これらの処理を繰り返す終了判定工程と、前記故障個所推定情報をリスト出力する故障候補出力工程とを有する請求項10記載の論理回路の故障診断方法。
The failure location estimation step includes a failure mode selection step of estimating a failure location while separately assuming a control system failure and a data system failure, and
A node that estimates a fail propagation path by performing fail estimation of each node in an input direction by output estimation and expected value comparison of each node based on a fail vector, starting from a node corresponding to the fail output port and the fail estimation output port An estimation process;
An estimation information registration step of registering information on the nodes of the fail propagation path as failure location estimation information,
11. The method according to claim 10, further comprising: an end determination step that repeats these processes until all combinations that may propagate a failure to an output port are calculated, and a failure candidate output step that outputs a list of the failure location estimation information. Logic circuit failure diagnosis method.
前記故障個所推定工程におけるノード推定工程は、各ノードの出力推定をする際に、前記ノードの値が多ビットの場合は、推定可能なビットの値のみを推定する請求項16記載の論理回路の故障診断方法。17. The logic circuit according to claim 16, wherein the node estimation step in the fault location estimation step estimates only a value of an estimable bit when the output of each node is estimated and the value of the node is multi-bit. Fault diagnosis method. 論理回路のテスト結果から取得されたフェイル情報に基づき前記論理回路の故障個所を推定する論理回路の故障診断方法において、前記論理回路を設計言語で回路ブロック単位に機能記述した記述情報、前記フェイル情報およびフェイル伝搬推定情報により、フェイル出力ポートおよびフェイル推定出力ポートを有するフェイル推定回路ブロックを抽出するフェイル抽出工程と、前記記述情報により、前記フェイル推定回路ブロックの処理順序に従って複数の状態を持つ状態遷移表を作成し、前記状態遷移表を基に入力ノード、演算子で構成される操作ノード、複数の入力値の組から1つの出力値を選択する選択ノードおよび出力ノードと前記各ノードの結線とを行うとともに、データフロー表示して全条件に対する動作を決定する決定グラフを作成する変換工程と、
前記論理回路の期待値を算出する期待値算出工程と、故障個所を推定する故障個所推定工程とをコンピュータに実行させるためのプログラム。
In a logic circuit failure diagnosis method for estimating a failure location of the logic circuit based on fail information acquired from a test result of the logic circuit, description information in which the logic circuit is functionally described in a circuit block unit in a design language, the fail information And a fail extraction step for extracting a fail estimation circuit block having a fail output port and a fail estimation output port based on the fail propagation estimation information, and a state transition having a plurality of states according to the processing order of the fail estimation circuit block based on the description information Create a table, based on the state transition table, an input node, an operation node composed of operators, a selection node that selects one output value from a set of multiple input values, and an output node and the connection of each node And a decision graph that determines the behavior for all conditions by displaying the data flow. And the conversion process to create,
A program for causing a computer to execute an expected value calculation step for calculating an expected value of the logic circuit and a failure location estimation step for estimating a failure location.
前記設計言語は、論理回路の構造あるいは動作を記述した言語である請求項18記載のプログラム。The program according to claim 18, wherein the design language is a language describing a structure or an operation of a logic circuit. 前記変換工程は、前記論理回路の処理を複数の遷移状態に分割し、現状態、状態遷移条件、次状態および動作の各項目で構成される状態遷移表を作成する工程と、
前記状態遷移表に記述された入力ポート、状態変数または数値を読み出す処理を入力ノードとして設定し、演算子の処理を操作ノードとして設定し、出力ポート、前記状態変数または前記数値を書き込む処理を出力ノードとして設定し、前記入力ノードと前記操作ノードとをデータフローとして接続することで状態を計算する制御パートを作成し、作成した前記状態の結果をTRUE/FALSEの2値で与え、かつ、前記入力ノードおよび前記操作ノードをデータフローとして接続することで出力値を計算するデータパートを作成し、前記状態の結果において、与えられた組の中から前記TRUE状態に対応した一つの前記出力値を出力ノードに選択出力するための選択ノードを設定する工程とを有する請求項18記載のプログラム。
The converting step divides the processing of the logic circuit into a plurality of transition states, and creates a state transition table including items of a current state, a state transition condition, a next state, and an operation;
Set the process to read the input port, state variable or numeric value described in the state transition table as an input node, set the operator process as an operation node, and output the process to write the output port, the state variable or the numeric value A control part that calculates a state by setting the node as a node and connecting the input node and the operation node as a data flow, giving the result of the state as a binary value of TRUE / FALSE, and A data part for calculating an output value is created by connecting an input node and the operation node as a data flow, and in the result of the state, one output value corresponding to the TRUE state is obtained from a given set. 19. The program according to claim 18, further comprising the step of setting a selection node for selective output to the output node.
前記期待値算出工程は、前記決定グラフを用いて、状態が遷移するごとに、前記入力ノード、前記操作ノード、前記選択ノードおよび前記出力ノードの出力値を算出して、ノード名および算出値の組で構成されるノードテーブルを作成するノード期待値取得工程と、前記ノードテーブルから前記論理回路の出力値を抽出する出力値抽出工程とを有する請求項18記載のプログラム。The expected value calculation step calculates the output value of the input node, the operation node, the selection node, and the output node each time the state transitions using the decision graph, and calculates the node name and the calculated value. The program according to claim 18, further comprising: a node expected value acquisition step of creating a node table composed of sets; and an output value extraction step of extracting an output value of the logic circuit from the node table. 前記期待値算出工程におけるノード期待値取得工程は、テストパターンもしくは一つ前の状態の出力パターンを読み込み、前記入力ノードを設定する入力パターン読み込み工程と、全入力値が設定され、かつ出力値が未設定の操作ノードを抽出する操作ノード抽出工程と、抽出された前記操作ノードに対して、入力値をもとに出力値を算出する操作ノード設定工程と、全操作ノードの設定が完了したか否かを判定し、完了していなければ操作ノード抽出工程へ戻り、完了していれば次の工程へ行く操作ノード判定工程と、選択ノードの出力値を算出する選択ノード設定工程と、前記出力ノードの出力値を算出する出力ノード設定工程と、次状態が有り、かつ次状態が最初の遷移状態でなければ次状態の前記入力パターン読み込み工程へ行き、次状態が無いか、もしくは次状態が最初の遷移状態であれば、処理を終了する状態判定工程とを有する請求項21記載のプログラム。The expected node value acquisition step in the expected value calculation step reads the test pattern or the previous output pattern, sets the input node, sets the input node, sets all input values, and outputs the output value. Operation node extraction step for extracting unset operation nodes, operation node setting step for calculating output values based on input values for the extracted operation nodes, and whether all operation nodes have been set If it is not completed, the process returns to the operation node extraction process, and if it is completed, the operation node determination process that goes to the next process, the selection node setting process that calculates the output value of the selected node, and the output An output node setting step for calculating an output value of the node, and if there is a next state and the next state is not the first transition state, the process proceeds to the input pattern reading step of the next state, Or the absence, or if the first transition state next state, according to claim 21 of a program and a state determining step of the process ends. 前記期待値算出処理工程における出力値抽出工程は、前記ノード期待値取得工程で作成したノードテーブルから、テストパターンごとの最終状態における出力ポートの出力値を抽出する工程により、前記論理回路の出力値を抽出する請求項21記載のプログラム。The output value extraction step in the expected value calculation processing step is a step of extracting the output value of the output port in the final state for each test pattern from the node table created in the node expected value acquisition step. The program according to claim 21, wherein the program is extracted. 前記故障個所推定工程は、制御系故障とデータ系故障とを別々に想定しながら故障個所を推定する故障モード選択工程と、前記フェイル出力ポートおよび前記フェイル推定出力ポートに対応したノードを起点として、フェイルベクタに基づき各ノードの出力推定および期待値比較により各ノードのフェイル推定を入力方向に行い、フェイル伝搬経路を推定するノード推定工程と、このフェイル伝搬経路のノードの情報を故障個所推定情報として登録する推定情報登録工程と、出力ポートにフェイルを伝搬する可能性のある全ての組み合わせを算出するまで、これらの処理を繰り返す終了判定工程と、前記故障個所推定情報をリスト出力する故障候補出力工程とを有する請求項18記載のプログラム。The failure location estimation step starts from a failure mode selection step that estimates a failure location while separately assuming a control system failure and a data system failure, and a node corresponding to the fail output port and the fail estimation output port. Based on the fail vector, the node estimation process for estimating the fail propagation path by performing the fail estimation of each node in the input direction by estimating the output of each node and comparing the expected value, and the node information of this fail propagation path as the fault location estimation information An estimation information registration step to register, an end determination step that repeats these processes until all combinations that may propagate a failure to the output port are calculated, and a failure candidate output step that outputs a list of the failure location estimation information The program according to claim 18, comprising: 前記故障個所推定工程におけるノード推定工程は、各ノードの出力推定をする際に、前記ノードの値が多ビットの場合は、推定可能なビットの値のみを推定する請求項24記載のプログラム。25. The program according to claim 24, wherein in the node estimation step in the failure location estimation step, when the output of each node is estimated, if the value of the node is multi-bit, only the value of the estimable bit is estimated.
JP2003101815A 2003-04-04 2003-04-04 Logic circuit failure diagnosis apparatus, failure diagnosis method and program thereof Expired - Fee Related JP3908192B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003101815A JP3908192B2 (en) 2003-04-04 2003-04-04 Logic circuit failure diagnosis apparatus, failure diagnosis method and program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003101815A JP3908192B2 (en) 2003-04-04 2003-04-04 Logic circuit failure diagnosis apparatus, failure diagnosis method and program thereof

Publications (2)

Publication Number Publication Date
JP2004309261A JP2004309261A (en) 2004-11-04
JP3908192B2 true JP3908192B2 (en) 2007-04-25

Family

ID=33465478

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003101815A Expired - Fee Related JP3908192B2 (en) 2003-04-04 2003-04-04 Logic circuit failure diagnosis apparatus, failure diagnosis method and program thereof

Country Status (1)

Country Link
JP (1) JP3908192B2 (en)

Also Published As

Publication number Publication date
JP2004309261A (en) 2004-11-04

Similar Documents

Publication Publication Date Title
JP5471432B2 (en) Verification support program and verification support device
JP3018996B2 (en) Failure location identification method
JP3137056B2 (en) Fault propagation path extraction system and method, and recording medium on which control program is recorded
JP2002368091A (en) Power source net analyzing method, computer program for power source net analyzing method, recording medium and power source net analyzer
JP3515727B2 (en) Logic circuit failure location estimation system and method, and machine-readable recording medium recording program
KR100966010B1 (en) An n-squared algorithm for optimizing correlated events
JPH10283394A (en) Fault simulation method
US20050114805A1 (en) Device, system and method for VLSI design analysis
JP4861734B2 (en) Failure analysis program, recording medium recording the program, failure analysis method, and failure analysis apparatus
US8943457B2 (en) Simulating scan tests with reduced resources
CN104133931B (en) The method and system of respective paths in being designed for detection combination equivalent circuit
JP4083544B2 (en) Multi-cycle path analysis method
JP3908192B2 (en) Logic circuit failure diagnosis apparatus, failure diagnosis method and program thereof
JP2001021618A (en) Method and device for failure propagation path estimation, and record medium
JP3863423B2 (en) Logic circuit failure location estimation method and logic circuit failure location estimation program
US7120829B2 (en) Failure propagation path estimate system
JP3957507B2 (en) Device for converting logic circuit into decision graph, conversion method, and recording medium recording conversion program
JP4217204B2 (en) Timing exception path detection device, timing exception path detection method, and timing exception path detection program
JP3614811B2 (en) Fault propagation path estimation system, method and program in combinational logic circuit
JP5293461B2 (en) Scan chain generation method, scan chain generation program, and integrated circuit
JP2007024513A (en) Logic estimation method for logic circuit
JPH0894714A (en) Method for estimating failed part of lsi
JP3312605B2 (en) Reverse logic development system, reverse logic development method, and machine-readable recording medium recording program
JP4747036B2 (en) LSI analysis program, recording medium storing the program, LSI analysis apparatus, and LSI analysis method
JP5645754B2 (en) Multi-cycle path detection device and multi-cycle path detection program

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20061226

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070117

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110126

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110126

Year of fee payment: 4

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110126

Year of fee payment: 4

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110126

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120126

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130126

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130126

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140126

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees