(57)【要約】電子回路内の故障可観測性を定めるための方法及び構成が提示される。本方法では、各素子について、発生した故障が解析出力信号における異常を引き起こしうる期間が定められる。【選択図】図３
2013521483.tif 000002
【特許請求の範囲】
【請求項１】
電子回路（５０３）における故障可観測性を定める方法であって、各素子（４００、４０２、５００、５０２）について、発生した故障が解析出力信号（４０６、４０８、４１２）の異常を引き起こしうる期間が定められる、方法。
【請求項２】
第１のステップで、シミュレーション段階において、シミュレーションモデル及び回路シミュレータによって、前記電子回路（５０３）の挙動がシミュレートされ、第２のステップで、解析段階において、各素子（４００、４０２、５００、５０２）について、発生した故障が解析出力信号（４０６、４０８、４１２）の異常を引き起こしうる期間が定められる、請求項１に記載の方法。
【請求項３】
前記シミュレーション段階において、前記解析段階で考慮される遅延が利用される、請求項２に記載の方法。
【請求項４】
前記シミュレーション段階において遅延が利用されず、前記解析段階において、前記遅延の演算的カプセル化が行われる、請求項２に記載の方法。
【請求項５】
回路シミュレーションは順方向に行われる、請求項１〜４のいずれか１項に記載の方法。
【請求項６】
回路シミュレーションは逆方向に行われる、請求項１〜４のいずれか１項に記載の方法。
【請求項７】
全ての素子（４００、４０２、５００、５０２）に対して、前記シミュレーション時間の終了について関連性の初期状態が設定される、請求項１〜６のいずれか１項に記載の方法。
【請求項８】
前記電子回路（５０３）内の素子（４００、４０２、５００、５０２）について故障マスキング係数を定めるために利用される、請求項１〜７のいずれか１項に記載の方法。
【請求項９】
テストパターンの故障検出率を定めるために利用される、請求項１〜８のいずれか１項に記載の方法。
【請求項１０】
請求項１〜９のいずれか１項に記載の特徴を備えた方法を特に実行するための、電子回路（５０３）内の故障可観測性を定める構成。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子回路における故障可観測性を定める方法、及び、本方法を実行する構成に関する。
【背景技術】
【０００２】
電子回路、特に、例えば半導体部品が有するデジタル回路は、その動作を意図せず変更しうる外部からの影響に晒されている。作動電圧、温度、機械的負荷等のような、駆動パラメータが全て特定の限界値内にある場合には、ユーザは、正確で誤りがない回路の挙動が期待できる。１つ又は複数のパラメータがこの限界値の範囲外にある場合には、系統的な誤動作が観察される可能性がある。
【０００３】
しかしながら、誤動作は、例えば、宇宙線、放射性崩壊生成物等のような、例えば電磁線又は例えば高エネルギー粒子のような外部からの作用によっても引き起こされる可能性がある。このような放射線の影響は、回路を使用する場所（地表上の場所、海抜の高さ、特別な放射線源までの近さ）と、回路自体の感度（Ｅｍｐｆｉｎｄｌｉｃｈｋｅｉｔ）と、に特に依存する。その際、回路部品の寸法が小さくなるにつれて、回路の感度が非常に増大することに注意されたい。
【０００４】
発生する故障は、２つのグループ、即ち、回路の絶え間ない変更及び欠陥を引き起こす永久故障と、回路の状態又は挙動の一時的な変更を引き起こす一時故障と、に区分される。
【０００５】
一時故障は更に２つのグループに分けられる。即ち、
シングル・イベント・トランジエント（ＳＥＴ：Ｓｉｎｇｌｅ−Ｅｖｅｎｔ−Ｔｒａｎｓｉｅｎｔ）：導線の電圧レベルにおける短時間の雑音パルス、
シングル・イベント・アプセット（ＳＥＵ：Ｓｉｎｇｌｅ−Ｅｖｅｎｔ−Ｕｐｓｅｔ）：記憶セル内の状態又は情報の反転又は変更）。
【０００６】
特にマイクロプロセッサにおけるＳＥＵの故障マスキングを扱った学術刊行物が多く存在する。ここでは、ＡＣＥ（「Ａｒｃｈｉｔｅｃｔｕｒａｌ  Ｃｏｒｒｅｃｔ  Ｅｘｅｃｕｔｉｏｎ」）ビットの概念が定義されている。ＡＣＥビットは、故障の際にシステム出力に作用する全ての記憶セルである。
【０００７】
この他、プロセッサ内の命令経路に影響しえないビットは全て、「ｍｉｃｒｏａｒｃｈｉｔｅｃｔｕｒａｌ  Ｕｎ−ＡＣＥ」ビットと呼ばれる。このビットは、停止状態又はアイドル状態において、推論的計算の際及び予測構造（予測子、Ｐｒｅｄｉｃｔｏｒ）において発生しうる。ここで計算された値は利用されないことが多く、従って影響も及ぼさない（Ｕｎ−ＡＣＥ）。
【０００８】
第３のグループとして、個々の命令の結果に対して作用するがシステム入力に対しては作用しない「ａｒｃｈｉｔｅｃｔｕｒａｌ  Ｕｎ−ＡＣＥ」ビットが定義される。このビットは、ノーオペレーション（ＮＯＰ：Ｎｏ  Ｏｐｅｒａｔｉｏｎ）命令の場合、例えば先取り、述語レジスタ（Ｐｒａｅｄｉｋａｔ−Ｒｅｇｉｓｔｅｒ）、オペランドの論理マスキング係数のような、処理能力（Ｐｅｒｆｏｒｍａｎｃｅ）が上げられる命令の場合、及び、所謂「ｄｙｎａｍｉｃａｌｌｙ  ｄｅａｄ  ｉｎｓｔｒｕｃｔｉｏｎｓ」の場合に発生しうる。更に、例えば、同じアドレスへの２つの書き込みアクセスであって、その間に第１の値が読み出されない上記書き込みアクセスのような、「ＦＤＤ：ｆｉｒｓｔ−ｌｅｖｅｌ  ｄｙｎａｍｉｃａｌｌｙ  ｄｅａｄ  ｉｎｓｔｒｕｃｔｉｏｎｓ」と「ＴＤＤ：ｔｒａｎｓｉｔｉｖｅｌｙ  ｄｙｎａｍｉｃａｌｌｙ  ｄｅａｄ  ｉｎｓｔｒｕｃｔｉｏｎｓ」とに分けられ、この「ＴＤＤ」は、ＦＤＤ又はＴＤＤのみにより利用される結果を生成する。
【０００９】
先の記載については、Ｓｈｕｂｈｅｎｄｕ  Ｓ．Ｍｕｋｈｅｒｊｅｅ、Ｃｈｒｉｓｔｏｐｈｅｒ  Ｗｅａｖｅｒ、Ｊｏｅｌ  Ｅｍｅｒ、Ｓｔｅｖｅｎ  Ｋ．Ｒｅｉｎｈａｒｄｔ、Ｔｏｄｄ  Ａｕｓｔｉｎ著の刊行物「Ａ  Ｓｙｓｔｅｍａｔｉｃ  Ｍｅｔｈｏｄｏｌｏｇｙ  ｔｏ  Ｃｏｍｐｕｔｅ  ｔｈｅ  Ａｒｃｈｉｔｅｃｔｕｒａｌ  Ｖｕｌｎｅｒａｂｉｌｉｔｙ  Ｆａｃｔｏｒｓ  ｆｏｒ  ａ  Ｈｉｇｈ−Ｐｅｒｆｏｒｍａｎｃｅ  Ｍｉｃｒｏｐｒｏｃｅｓｓｏｒ」、ＩＥＥＥ、２００３年を参照されたい。
【００１０】
組合せデジタル回路は、その決定論的な挙動により卓越している。これにより、結果として、所与のデジタル論理関数及び所与の入力値によって、出力値が確実に決定されうる。出力が１つの（１ビット）の論理関数の１つ又は複数の入力信号に一時誤りが発生した場合には、入力信号及び論理関数に従って、誤りがある出力信号となる可能性がある。特定の誤りが、出力口の１つでの、予期される回路動作からの逸脱の原因となるかどうか、即ち、故障が見えるかどうかは、可観測性又は故障可観測性（Ｆｅｈｌｅｒ−Ｂｅｏｂａｃｈｂａｒｋｅｉｔ）と呼ばれる。ここで、全ての故障が、誤りのある出力として見えないことに注意されたい。これは、マスキング又は故障マスキング（Ｆｅｈｌｅｒ−Ｍａｓｋｉｅｒｕｎｇ）と呼ばれる。
【００１１】
特別な誤りについての、特別に組み合わされた入力信号の感度は、ブール差分を用いて決定されうる。関数入力についてのブール差分＝１である場合に、この入力信号の変更は、出力信号での変更を引き起こす。この入力信号の変化が出力信号の変化を引き起こす場合は一般に、入力口から出力口への故障伝播経路（ｅｍｐｆｉｎｄｌｉｃｈｅｒ  Ｐｆａｄ）について述べている。
【００１２】
ブール関数
【００１３】
【数１】
2013521483.tif 000003
【００１４】
ブール差分
【００１５】
【数２】
2013521483.tif 000004
【００１６】
各入力信号についてのブール差分の結果と、特別な入力組合せの発生の時間的な割合と、個々の信号の誤りの確率と、の全てにより、故障確率又は故障マスキンク確率の計算が可能となる。多段ロジックの場合は、個々の段の結果を、相関を用いて計算する必要がある。
【００１７】
これに関しては、Ｍｉｎｇ  Ｚｈａｎｇ、Ｎａｒｅｓｈ  Ｒ．Ｓｈａｎｂｈａｇ著の「Ａ  Ｓｏｆｔ  Ｅｒｒｏｒ  Ｒａｔｅ  Ａｎａｌｙｓｉｓ（ＳＥＲＡ）  Ｍｅｔｈｏｄｏｌｏｇｙ」、ＩＥＥＥ、２００４年、及び、米国特許出願公開第２００７／０２２６５７２号明細書を参照されたい。
【００１８】
順序回路（同期式回路技術）については、時間挙動も同様に重要な働きをする。従って、比較的大きな各回路には、どの時点にも回路の機能のために重要とは限らない複数のノードが存在する。従って、誤りマスキング効果も時間の経過と共に観察することが出来る。回路の特性により、発生した故障の一部が出力口で見えるようになることが阻まれる。その際に、実際に発生した故障に対する見える故障の割合は、変動係数（Ａｂｗｅｉｃｈｕｎｇｓ−Ｆａｋｔｏｒ）(Ｄｅｒａｔｉｎｇ  Ｆａｃｔｏｒ、ディレーティング係数)と呼ばれる。
【００１９】
この一連のテーマにおいて、以下の概念が利用される。
タイミング・ディレーティング（ＴＤ：Ｔｉｍｉｎｇ  Ｄｅｒａｔｉｎｇ）
タイミング・ディレーティングは、或るレジスタ又はラッチから次のレジスタ又はラッチへの信号の移動時間によって、即ち、一段を通過する際に同期式回路設計において生じる効果である。
【００２０】
論理ゲートと、２つの記憶素子（レジスタ又はラッチ）間の導線（論理経路）と、を通る信号の移動時間のために、この論理経路の始まり、即ちレジスタ又はラッチで発生する故障は、必ずしも常にサンプリング時点に適時に、当該経路の終わりまで達しえない。この場合、この故障は回路の次の段へと伝播されずに、マスクされる。
【００２１】
同期式回路段内での信号の広まり又は伝播についての超過時間（クロック周期ｔＣｌｋ−論理経路を通る信号の移動時間ｔＤｅｌａｙ）は、スラック（Ｓｌａｃｋ）と呼ばれる。論理経路の始まりの記憶素子上の全てのＳＥＵであって、当該記憶素子のサンプリング時点の前に、ｔＤｅｌａｙよりも短く、論理経路の終わりで発生する上記ＳＥＵは、サンプリングされる信号の値に対して影響を及ぼさない。従って、スラックは、クロック周期に対するタイミング・ディレーティング係数として見なされる。
【００２２】
ロジック・ディレーティング（ＬＤ：Ｌｏｇｉｃ  Ｄｅｒａｔｉｎｇ）
所謂ロジック・ディレーティングは、回路の全論理関数に基づく実際の誤りの数に対する、見える誤りの削減に相当する。ロジック・ディレーティングは、回路の適用のみならず、回路自体の構造にも依存する。レジスタの内容に誤りがあるがその状態がもはや引き続いて処理されない場合には常に、ロジック・ディレーティングのことを述べており、その際、プロセッサのクロックゲーティング（Ｃｌｏｃｋ  Ｇａｔｉｎｇ）又は分岐予測（Ｂｒａｎｃｈ−Ｐｒｅｄｉｃｔｉｏｎ）からの情報を利用することが可能である。ここでは、代替的に、「ソフトエラー感度係数」（Ｓｏｆｔ  Ｅｒｒｏｒ  Ｓｅｎｓｉｔｉｖｉｔｙ  Ｆａｃｔｏｒ）又は「脆弱性係数」（Ｖｕｌｎｅｒａｂｉｌｉｔｙ  Ｆａｃｔｏｒ）という名称も利用される。
【００２３】
これに関しては、Ｈａｎｇ  Ｔ．Ｎｇｕｙｅｎ、Ｙｏａｄ  Ｙａｇｉｌ、Ｎｏｂｅｒｔ  Ｓｅｉｆｅｒｔ、Ｍｉｋｅ  Ｒｅｉｔｓｍａ著の刊行物「Ｃｈｉｐ−Ｌｅｖｅｌ  Ｓｏｆｔ  Ｅｒｒｏｒ  Ｅｓｔｉｍａｔｉｏｎ  Ｍｅｔｈｏｄ」、ＩＥＥＥ、２００５年を参照されたい。
【００２４】
検討する全てのマスキング係数を１つの係数にまとめる場合には、構造的脆弱性係数（ＡＶＦ：Ａｒｃｈｉｔｅｃｔｕｒａｌ  Ｖｕｌｎｅｒａｂｉｌｉｔｙ  Ｆａｃｔｏｒ）について述べている。その際、特定の部品の故障が回路出力に影響を及ぼす確率は、技術に依存した基本故障比率に基づき、ＡＶＦを乗算して計算される。
【００２５】
ここでは、Ｓｈｕｂｈｅｎｄｕ  Ｓ．Ｍｕｋｈｅｒｊｅｅ、Ｃｈｒｉｓｔｏｐｈｅｒ  Ｗｅａｖｅｒ、Ｊｏｅｌ  Ｅｍｅｒ、Ｓｔｅｖｅｎ  Ｋ．Ｒｅｉｎｈａｒｄｔ、Ｔｏｄｄ  Ａｕｓｔｉｎ著の刊行物「Ａ  Ｓｙｓｔｅｍａｔｉｃ  Ｍｅｔｈｏｄｏｌｏｇｙ  ｔｏ  Ｃｏｍｐｕｔｅ  ｔｈｅ  Ａｒｃｈｉｔｅｃｔｕｒａｌ  Ｖｕｌｎｅｒａｂｉｌｉｔｙ  Ｆａｃｔｏｒｓ  ｆｏｒ  ａ  Ｈｉｇｈ−Ｐｅｒｆｏｒｍａｎｃｅ  Ｍｉｃｒｏｐｒｏｃｅｓｓｏｒ」、ＩＥＥＥ、２００３年を参照されたい。
【００２６】
解析方法の他に、回路シミュレーションを通じて、回路に故障を供給することにより、全マスキング係数を決定するという可能性がある。その際に、回路の全出力信号の推移が、信号刺激の固定集合のために格納される。これは、誤りが無い回路駆動のための基準として機能する。
【００２７】
故障注入の際には、回路全体に、全シミュレーション期間に渡って確率論的に分布する誤った値が、回路内にもたらされる。故障箇所で信号の推移に１つの故障が供給された後に、シミュレーションが定期的に続行され、出力ベクトル、即ち、全出力信号の全体が、所定の期間観察される。当該期間内に、出力ベクトルは、目標値としての、誤りがない基準値と比較され、可能な差分が確認される。少なくとも１つ故障が見える場合には、このシミュレーション実行は、誤りがあるとして評価される。故障箇所と出力口での影響との連関関係が格納される。
【００２８】
故障注入は、一連の作戦（Ｋａｍｐａｇｎｅ）全体において、即ち、様々な故障による複数のシミュレーション実行において実行する必要がある。このように得られた結果は、故障箇所ごとにまとめられる。故障箇所ごとに、供給された故障の数に対する、誤りがあるシミュレーション実行の数が検討される。この比率は、信号ごとの故障マスキング係数である。
【００２９】
故障注入によるマスキング係数の決定は、非常に高い演算コストを必要とする。というのは、或るシミュレーションの際には、常に、或る特別な故障についての言明のみ為しうるからである。故障注入による結果の精度は、シミュレーション実行の数、即ち、注入された故障の数に依存する。故障の数が大きくなってようやく、高い統計的精度が実現される。
【００３０】
米国特許出願公開第２００５／０２８３９５０号明細書は、所謂「ｄｙｎａｍｉｃａｌｌｙ  ｄｅａｄ  ｉｎｓｔｒｕｃｔｉｏｎｓ」の追跡による、マイクロプロセッサ内のエラーの誤った検出を低減する方法を記載している。この方法では、所与の命令が、ｄｙｎａｍｉｃａｌｌｙ  ｄｅａｄ  ｉｎｓｔｒｕｃｔｉｏｎｓであるかどうかが検査される。この方法で、偽陽性（ｆａｌｓｅ  ｐｏｓｉｔｉｖｅ）も低減することが出来る。
【発明の概要】
【００３１】
しかしながら、回路の駆動中に発生する故障の他に、回路の製造誤差も検出される必要がある。回路の不良の検出は通常、製造工場での検査によって、場合によっては回路駆動中又は回路駆動開始時に、定められたテストパターンの適用により行われる。しかしながら、このテストパターン生成時には未だ、どの故障がテストパターンセットにより検出されるのか分からないことが多い。組合せ関数を有する集積回路内の臨界経路追跡（ＣＰＴ：Ｃｒｉｔｉｃａｌ  Ｐａｔｈ  Ｔｒａｃｉｎｇ）は、テストパターンセットのテスト網羅度を決定しうるために、既に数年来実行されている。ＣＰＴでは、ブール差分を用いて、一次出力に始まり一次入力へと向かう故障伝播経路が計算される。多くの学術刊行物が、本方法において、特に再収束する経路の影響にも考慮している。この経路は一般に、再収束グラフ（Ｒｅｋｏｎｖｅｒｇｅｎｚ−Ｇｒａｐｈ）の作成により提示され解析される。グラフの特別な構造及び特徴に考慮することにより、自己マスキンク及び多重経路シミュレーションの効果に考慮することが出来る。ＣＰＴは、結果として、ある回路状態についての、回路の全故障伝播経路を提供する。故障伝播経路とは、当該故障伝播経路内の全ての回路ノードが観察可能であること、即ち、異常な出力信号という形態により故障が見えるようになるであろうことを意味する。これにより結果的に、現在注目する回路状態の入力信号は、全故障伝播経路内の全回路ノードの、目下のデジタル信号レベルが逆になった（反転された）縮退故障のテストベクトルとなる（例えば、テストｓ−ａ―０について信号レベルが論理的１、テストｓ−ａ‐１について信号レベルが論理的０）。ＣＰＴはまた、組合せ回路のテスト網羅度の迅速で並行的な決定（フォルトグレーディング、Ｆａｕｌｔ  Ｇｒａｔｉｎｇ）のために利用されうる。拡張により、ＣＰＴを順次回路のために利用することも可能であり、その際には、場合により検出可能な故障についての故障リストが順序素子に格納され、先へと伝播される。この故障リストが一次出力口に達して初めて、当該リストに含まれる故障が検出されうる。非故障伝播経路上で多くの故障リストが消去されないため、不必要な高い演算コストが発生する。
【００３２】
この関連では、Ｌｅｉ  Ｗｕ、Ｄ．Ｍ．Ｈ．Ｗａｌｋｅｒ著の刊行物「Ａ  Ｆａｓｔ  Ａｌｇｏｒｉｔｈｍ  ｆｏｒ  Ｃｒｉｔｉｃａｌ  Ｐａｔｈ  Ｔｒａｃｉｎｇ  ｉｎ  ＶＬＳＩ  Ｄｉｇｉｔａｌ  Ｃｉｒｃｕｉｔｓ」、ＩＥＥＥ、２００５年、及び、Ｐ．Ｍｅｎｏｎ、Ｙ．Ｌｅｖｅｎｄｅｌ、Ｍ．Ａｂｒａｍｏｖｉｃｉ著の刊行物「ＳＣＲＩＰＴ：Ａ  Ｃｒｉｔｉｃａｌ  Ｐａｔｈ  Ｔｒａｃｉｎｇ  Ａｌｇｏｒｉｔｈｍ  ｆｏｒ  Ｓｙｎｃｈｒｏｎｏｕｓ  Ｓｅｑｕｅｎｔｉａｌ  Ｃｉｒｃｕｉｔｓ」、ＩＥＥＥ、１９９１年を参照されたい。
【課題を解決するための手段】
【００３３】
先の記載を背景に、請求項１に記載の特徴を備えた方法と、請求項１０に記載の特徴を備えた構成が提示される。実施形態が、従属請求項及び以下の記載から明らかとなろう。
【００３４】
従って、電子回路における故障可観測性を定める方法が記載される。本方法では、各素子、特に各記憶素子について、発生した故障が、任意に選択された回路信号の集合における異常（Ａｂｗｅｉｃｈｕｎｇ）を引き起こしうる期間が定められる。この任意に選択された回路信号の集合は、定めるべき故障可観測性係数についての基準集合であり、以下では解析出力信号の集合と呼ばれる。この集合は、任意の一次出力信号から構成されるが、完全に観察可能であると仮定される任意の内部信号からも構成されうる。
【００３５】
提示される方法によって特に、例えば、電子回路、特にデジタル半導体回路内の記憶素子についての故障マスキング係数を厳密に定めることが可能である。注目する故障は例えば、シングル・イベント・アプセット（ＳＥＵ）により発生する。半導体回路におけるマスキング効果を可能な限り厳密に把握するために、従来公知の全ての効果を同時に考慮する必要がある。各効果は、公知の方法により個別に把握することが可能である。しかしながら、これら結果の全てを１つにまとめた際に故障が発生する。というのは、この結果は完全には互いに独立していないからである。さらに、ＦＤＤ又はＴＤＤのような複雑なマスキング効果を考慮することが出来ず、又は、当該マスキング効果を考慮することが非常に難しい可能性がある。これに対して、従来公知の方法は、適用においても純粋にＣＰＵレジスタに限定され、従って、同期式半導体回路については一般に何も言明することが出来ない。
【００３６】
さらに、本方法は、所与のテストパターンセットについて、検査可能な故障の集合（縮退故障モデル）を定めるために利用することが出来る。
【００３７】
代替的又は補足的に、テストパターンの故障検出率を定めることが可能である。
【００３８】
提示される方法は、簡単なやり方で、可能な限り多くの公知のマスキング効果を考慮し、本方法の実施の際には特別な処理無しで済ませる。ＦＤＤ効果及びＴＤＤ効果を考慮するという可能性が提供される。モンテカルロシミュレーション（Ｍｏｎｔｅ−Ｃａｒｌｏ−Ｓｉｍｕｌａｔｉｏｎ）又は故障注入によるマスキング係数の決定に比べて、演算コストが大幅に削減される。さらに、本方法は決定論的に機能し、１つ又は複数の記憶素子（例えば、ＣＰＵパイプライン段）を超えたマスキング係数の決定のために相関が利用されない。解析の結果は、単一故障モデルの適用の際にのみ有効であることに注意されたい。即ち、回路内では常に故障が一度に１つしか発生せず、又は、発生する故障は機能的に互いに独立していると仮定される。
【００３９】
本方法の実施は基本的に２つのステップに分けられ、その際、第１のステップは、第２のステップを準備する役目を果たす。回路の挙動が既に分かっている場合、即ち、任意のソースからの値の推移が既に存在する場合には、本方法の第１のステップを飛ばすことが出来る。
【００４０】
第１のステップでは、シミュレーションモデル及び回路シミュレータによって、電子回路の挙動がシミュレートされる。シミュレーションモデルは、本物のハードウェアに比較して、記憶素子及びその論理結合に関して可能な限り類似した構造を有するべきである。シミュレーションステップでは、個々のゲートの時間的な遅延動作をシミュレーションする必要はなく、ゲート遅延の影響は、精度を落とすことなく、解析段階において再び考慮することが可能である。通常では、挙動モデルを利用することは出来ない。さもなければ、本方法の結果が、信頼に値する説得力を有さないからである。回路のデジタル動作を正確に複写すると共に回路の物理的実装に非常に近いため、特にレジスタ転送レベルのモデルが適している。
【００４１】
回路の一次入力は、例えば、テストパターンセット（テストベンチ、Ｔｅｓｔｂｅｎｃｈ）によって活性化される。シミュレーションの実行は、従来の回路シミュレーションと異ならない。シミュレーションの間、典型的に、値の推移（時点及び値）と、全ての内部信号の波形と、が記録されるため、その推移を再び呼び出すことが出来る。シミュレーションステップにおける遅延時間の省略により、通常では波形データがより小さくなり、後続ステップの実行時間が削減される。
【００４２】
本方法の第２の部分において、各記憶素子について、ＳＥＵが解析出力の異常を引き起こしうる期間、即ち、回路の解析出力口で故障が見える期間が決定される。
【００４３】
回路の表現、例えば有向グラフ又はシミュレーションモデルが、回路の構造及び機能を描写するために利用される。この表現での回路状態は、即ちノード（信号）及び記憶素子のことであるが、上記回路状態は、格納された波形を用いて、時間的に逆の順序に作成される。波形の記録の終わりから始まり当該記録の始まりへと、値が表現の中に入力される。
【００４４】
回路の表現の状態の変更が起こる各時点について、当該変更により起動されるプロセスを決定する必要がある。記憶素子にとってこのことは、格納された値及び／又は出力信号の更新又は変更を記憶素子の機能に従って引き起こしうる入力信号が、印加されているかを検査する必要があることを意味する。しかしながらここでは、例えばレジスタのようなエッジ制御される構成モジュールでは、シミュレーションが逆方向に行われる場合に、センシティブなエッジ方向の反転が起こることに言及する必要がある。
【００４５】
記憶素子でこのような更新又は変更が起こる場合には常に、書き込みイベント（Ｗｒｉｔｅ−Ｅｖｅｎｔ）について述べている。書き込みイベントの際には、以下でシンクと呼ばれる記憶素子の全入力信号が読み出される。書き込みイベントが起こる時点、即ち、書き込みイベント時点は、更なる評価のために重要である。
【００４６】
シミュレーションステップで遅延時間が考慮されなかった場合にはここで、書き込みイベントの時点が、追加的に起動信号の遅延時間を用いて、本発明での意味において正確な解析結果を獲得するために修正される。回路の表現に含まれる構造を利用して、書き込みイベントを有する記憶素子の全入力信号を、そのソースまで遡ることが可能である。ソースとして、全ての記憶素子及び回路の一次信号が見なされるが、純粋に組合せにより機能する機能（論理ゲート）は、ソースとして見なされない。
【００４７】
論理ゲートによって、ブール代数の規則を用いて、現在の状態を利用して、ソースからシンクへの故障伝播経路を決定することが出来る。しかしながらこの評価は、正に書き込みイベントが発生した記憶素子から開始して行われる。各記憶素子又はその格納された情報は、故障伝播経路の始まりに存在する場合には、センシティブ（ｅｍｐｆｉｎｄｌｉｃｈ）であるとして見なされる。故障伝播経路の始まりに存在しない記憶素子及び格納された情報は、入力信号の値又はシンクに影響を及ぼさないため、センシティブであるとして見なされない。
【００４８】
各記憶素子は、変数、又は、以下で関連性マーク表示（Ｒｅｌｅｖａｎｚ−Ｍａｒｋｉｅｒｕｎｇ）と呼ばれるマーク表示を有する。このマーク表示は、目下格納されている情報が、故障の場合に、解析出力口又は解析出力信号内の見える誤りを引き起こす可能性があるか（正（ｐｏｓｉｔｉｖ）マーク表示）、又は、誤りが観察されないのか（負の（ｎｅｇａｔｉｖ）マーク表示）について表わす。
【００４９】
或る記憶素子で書き込みイベントが起こり、この記憶素子が正の関連性マーク表示を有する場合には、故障伝播回路の始まりにある全記憶素子で、読み込みイベントが生成される。このことは、上記記憶素子に格納された値が後続の回路部分で利用されたということを意味する。或る記憶素子において読み出しイベントが生成される場合には、この記憶素子は、正の関連性マーク表示を有する。さらに、この記憶素子に、読み出しイベントの時点が格納される。この記憶素子に既に正のマーク表示が存在する場合には、このマーク表示はそのまま存在する。関連性マーク表示は書き込みイベントの際に消去され、即ち、負の関連性マーク表示が設定される。
【００５０】
或る記憶素子で書き込みイベントが発生し、この記憶素子が正の関連性マーク表示を有する場合には、これにより、少なくとも１つの読み出しイベントも対応する時点に発生しているのだが、読み出しイベント時点及び書き込みイベント時点が、センシティブな期間を決定し、このセンシティブな期間内に、記憶素子は、故障の場合に、解析出力信号に対して見える影響を及ぼす可能性がある情報を含む。センシティブな全期間を合算することにより、この記憶素子について、センシティブな全時間を決定することが出来る。入力口でシミュレートされる全期間に対するこの総和は、ディレーティング係数として解釈することが出来る。
【００５１】
本方法は、以前に記載したように、非常に小さな拡張によって、フォルトグレーディングを実行するためにも利用することが出来る。臨界経路の追跡の際には、検査可能な故障が簡単に決定されうる。一次出力、又は、正の関連性マーク表示を有するレジスタから始まる臨界経路上の全信号が、解析出力信号によっても観察可能である。従って、各解析出力信号が、臨界経路上で、現在の論理レベルが反転した縮退故障（ｓ−ａ−）を検査する。フォルトグレーティングのための既に公知の方法との違いは、逆方向シミュレーションの適用にある。これにより、或る経路が観察可能ではないとして判明した場合に、時間的に順方向に故障リストを伝播させ又は場合により破棄する必要がない。逆方向シミュレーションの場合には、検査可能な故障が直接的に読み出され、これにより、必要な演算コストが削減される。
【００５２】
追加的にタイミング・ディレーティングが考慮される場合には、読み出しイベント発生時に格納される時点が修正される必要がある。格納された時点は、本方法の実現に従って、該当する故障伝播経路上の信号の遅延時間の分だけ、値が増分又は減分される。
【００５３】
回路の全記憶素子に対して、シミュレーション時間の終了（解析の開始）について関連性（Ｒｅｌｅｖａｎｚ）の初期状態が設定される。２つの可能なバリエーションは以下のとおりである。
【００５４】
バリエーション１では、全記憶素子が関連し（ｒｅｌｅｖａｎｔ）、これにより、より遅い時点での回路の後の駆動についての不確実性が考慮される（悲観的なアプローチ）。バリエーション２では、回路の解析出力のみ関連する。解析出力に続いて回路がもはや利用されない場合、又は、独立したタスクが処理されている場合には、このことは当然のことである（楽観的なアプローチ）。２つのケースの任意の組合せも同様に構想されうる。
【００５５】
回路シミュレーションは基本的に、順方向及び／又は逆方向に実行することが可能である。他のソースからの信号の推移も利用することが出来る。
【００５６】
順方向の回路シミュレーションとは、通常の時間的順序の入力刺激を用いた、回路挙動が修正されない従来のシミュレーションと理解される。このシミュレーションでは、論理関数が公知である場合には、２つの任意の記憶素子間で、格納された個々の情報又は回路入力の、マスキング又は感度が決定されうる。記憶素子を超えたマスキング又は感度を決定することは困難である。ここでは、順次動作が重要な役目を果たすからである。特に、或る段の、先行する段へのマスキング効果は、データ依存性のために決定が困難である。回路状態は、決定論的に時間的に順方向に伝えられる。
【００５７】
逆方向の回路シミュレーションの場合、回路は、従来のやり方では駆動されない。その際に回路状態は、逆の時間的順序で遷移する。しかしながら、回路の所定の関数に基づき、入力刺激のみによって回路関数を逆方向に進行させたり、又は、或る回路状態から出発して、先行する可能な回路状態を決定したりすることは一般に可能ではない。というのは、可能な回路状態の数が、時間ステップごとに爆発的に増大するからである。従って、逆方向シミュレーションの際には、全内部ノード（記憶素子及びゲート出力）の値は、回路自身（シミュレーション）により決定されるのではなく外部から供給される。
【００５８】
関連性マーク表示は、回路内ではデータフローと逆の方向に伝えられる。関連性マーク表示は、逆方向シミュレーションの開始時に、固定の規則に従って生成される。当該規則によれば、解析出力口及び解析出力信号が、唯一のソースである。
【００５９】
２つの方法を組み合わせることにより、各個別の方法の弱点が補われる。順方向シミュレーションにおいては、推移的なマスキング効果を考慮することが困難であり又は当該効果を考慮することが全く可能ではない。この推移的マスキング効果について、回路状態が簡単に決定されうる。逆方向シミュレーションの場合は、マスキング効果を容易に定めることが出来るが、回路状態の決定は困難である。時間ステップごとに全ての内部回路状態が格納され、第２のシミュレーション実行時に逆の順序で外部から回路に供給される場合に、所与のテストパターンセットについて、マスキング効果が簡単に完全に決定される。
【００６０】
本方法は、デジタル回路内のあらゆる形態のメモリに適用することが可能であり、フリップフロップ（ＦｌｉｐＦｌｏｐ）、ラッチ（Ｌａｔｃｈ）、ＳＲＡＭブロック、ＤＲＡＭが検討されうる。違いは、入力信号を監視し書き込みイベントを生成する機能においてのみ生じる。本方法では、簡単なやり方で、異なる数のマスキング効果を考慮することが可能である。解析の際に全ての効果を考慮することは必ずしも必要ではない。これにより、他の方法により決定された１つ又は複数のマスキング効果についての結果を後から結果全体に取り込むことが可能であろうが、その際、１つの効果について何度も考慮されることはない。これに伴い、得られる結果の精度が失われるが、部品固有の値（遅延時間、セットアップ時間、保持時間、Ｃｌｏｃｋ−Ｔｏ−Ｑ時間）を省略することが出来る。すなわち、本方法は、必ずしも全てのマスキング効果を考慮する必要はない。
【００６１】
本方法自体は複数の形態で実現されうる。回路シミュレータとしては、原則的にデジタル回路のための各シミュレータが利用されうる。解析関数は、独立した解として、従来のプログラム言語により実装されうる。代替的に、ハードウェア記述言語へのプログラムインタフェース（ＶＨＤＬ→インタフェースＶＨＰＩ、ヴェリログ（Ｖｅｒｉｌｏｇ）→インタフェースＰＬＩ）、又は、普通のシミュレータへのインタフェース（ＭｏｄｅｌＳｉｍ  ＳＥ→インタフェース  ＦＬＩ）が提供される。
【００６２】
本発明の更なる別の利点及び構成は、明細書の記載、及び、添付の図面から明らかとなろう。
【００６３】
以前に挙げた特徴及び以下で解説される特徴は、各示される組合せにおいてのみならず、他の組合せにおいて、又は、単独でも、本発明の範囲を逸脱することなく利用することが出来る。
【図面の簡単な説明】
【００６４】
【図１】故障伝播経路を示す。
【図２】スラックを明確にするための信号推移を示す。
【図３】同期式回路における本方法の利用を示す。
【図４】順方向及び逆方向のシミュレーションを示す。
【図５】時間的に重み付けされた和を示す。
【発明を実施するための形態】
【００６５】
本発明が、図面の実施形態を用いて概略的に示され、図を参照しながら詳細に記載される。
【００６６】
図１には、入力から出力への故障伝播経路が示されており、この故障伝播経路内では、入力信号の変更により、出力信号の変更が引き起こされる。
【００６７】
図には、故障伝播経路がどのように、記憶素子の一例としてのレジスタから始まっているのかが概略的に示される。レジスタ１０１〜１０６の出力信号の割り当ては、以下で仮定される故障伝播経路（実線の矢印）を生じさせるために適切であると仮定する。論理ブロック２０１〜２０７の機能は詳細には記載しない。
【００６８】
レジスタ１０７から始まって、論理ゲート２０７、２０６、２０３を介してレジスタ１０４へと達する故障伝播経路と、論理ゲート２０７、２０６、２０４を介してレジスタ１０５及び１０６へと達する故障伝播経路と、が生じる。レジスタ１０１には、どの故障伝播経路も通じていない。レジスタ１０２及び１０３は特別な構造をしている。両レジスタは、再収束する（ｒｅｋｏｎｖｅｒｇｅｎｔ）経路の始まりである。２つの想定される状況が示されている。２０５から２０１又は２０２を介して１０２へと達する２つの経路（点線）は、多重経路活性化（Ｍｅｈｒｆａｃｈ−Ｐｆａｄ−Ｓｔｉｍｕｌａｔｉｏｎ）の可能性を示している。１０２で故障が発生した場合、この故障は、再収束構造のために、２０５での多重故障に繋がる可能性がある。２０５の各個々の入力がセンシティブであるとして評価されないにも関わらず、多重故障の際には、当該故障が場合によっては２０７へと更に伝播する可能性がある。
【００６９】
２０７からゲート２０２、２０３、２０５、２０６を介する２つの経路（破線）は、故障自己マスキング（Ｆｅｈｌｅｒ−Ｓｅｌｂｓｔ−Ｍａｓｋｉｅｒｕｎｇ）の可能性を示している。１０３で故障が発生した場合には、この故障は、示される２つの経路を介して２０７へと伝播する可能性がある。２０７のセンシティブな入力口に故障が存在するにも拘わらず、この故障は、誤りがある第２の入力信号との関連で、出力信号の変更を引き起こさない。故障自体がマスクされる。
【００７０】
検査可能な故障の集合を決定しうるために、ここで、或るレジスタから始めて故障伝播経路を追跡する際に、正の関連性マーク表示（Ｒｅｌｅｖａｎｚ−Ｍａｒｋｉｅｒｕｎｇ）を用いて、解析時の追加的機能を実行する必要がある。この故障伝播経路の構成要素である各信号のレベルが読み出される必要がある。この注目する信号は故障伝播経路の構成要素であり組合せ経路の末端のレジスタが正の関連性マーク表示を有するため、当該信号の現在の論理レベルは、一次（ｐｒｉｍａｒｙ）出力口で観察可能である。従って、故障伝播経路上の信号ごとに、現在の信号レベルの反転に相当する誤った信号レベルを取る縮退故障を検査することが可能である。
【００７１】
検査可能な故障が未だ検出されない場合は、大局的な故障リストのエントリが追加される。
【００７２】
図２には、信号の推移が示されている。クロック周期との関係において、スラックをタイミング・ディレーティング係数（Ｔｉｍｉｎｇ  Ｄｅｒａｔｉｎｇ  Ｆａｋｔｏｒ）として見なしうることが、この信号の推移により明らかになる。
【００７３】
必ずしも同じ信号により起動されない２つの記憶素子又はレジスタ４００及び４０２が示されている。このケースでは、共通のクロック信号ＣＬＫ４０４が利用される。第１のレジスタ４００の出力口の解析出力信号の推移Ｓ１  ４０６と、遅延素子４１０の後の解析出力信号の推移Ｓ２  ４０８と、第２のレジスタ４０２の出力口の解析出力信号の推移Ｓ３  ４１２と、が示される。
【００７４】
一般に、２つの素子の、互いに関連するトリガ時点間の時間的差分（ｔＤｉｆｆ）が利用される。２つの素子間の信号の移動時間が、ｔＤｉｆｆと共に、残りの時間を決定し、この残りの時間内に、先行する素子で故障が、回路の更なる別の部品へと伝播しうるように発生すべきである。この残りの時間はスラックと呼ばれる。スラックとｔＤｉｆｆとの比率が、タイミング・ディレーティング係数として解釈されうる。
【００７５】
マスクウィンドウ４１４が斜線で示されている。マスクウィンドウの外で発生する故障が出力口で検出される。
【００７６】
図３には、同期式回路での本方法の適用が例示される。ここでは、ブロック２００〜２０４の機能は詳細に定義されない。しかしながら、各機能ブロックの入力値の割り当てが行われ、この割り当ての結果、例示的に仮定される故障伝播回路（太い実線）が存在するものと仮定する。
【００７７】
この時点で関連する（ｒｅｌｅｖａｎｔ）と見なされるレジスタ１０８及び１０９の回路出力口から出発して、先行する段のレジスタの関連性（Ｒｅｌｅｖａｎｚ）が推測されうる。レジスタ１０８からは、論理素子２０３を通って（接続３１０及び３１５を介して）レジスタ１０４へと達する経路と、論理素子２０３を通って（接続３１１及び３１５を介して）レジスタ１０５へと達する経路と、が存在する。レジスタ１０９からは、論理素子２０４を通って（接続３１２及び３１６を介して）レジスタ１０６へと達する経路と、論理素子２０４を通って（接続３１４及び３１６を介して）レジスタ１０７へと達する経路と、が存在する。
【００７８】
時点ｔＣｌｋ＊（ｎ−１）に、レジスタ１０４、１０５、１０６、１０７が、出力レジスタ１０８及び１０９への故障伝播経路を生じさせうる値を格納したと仮定する。論理素子２０４の論理関数と、回路状態と、に基づき、レジスタ１０６からレジスタ１０９への故障伝播経路は生じない。また、レジスタ１０６の値は回路の出力に影響を及ぼさない。レジスタ１０５からは２つの故障伝播経路が出ている。従って、他のレジスタよりも感度が高くない。レジスタを関連するとしてマーク付けするためには、故障伝播経路が始まっていることで十分である。
【００７９】
レジスタ１００〜１０３から出発して、論理素子２００〜２０２を通りレジスタ１０４〜１０７へと達する経路３００〜３０９が存在する。むしろ、時点ｔｔＣｌｋ＊（ｎ−２）に、レジスタ１００〜１０３が、レジスタ１０４、１０５、１０７への故障伝播経路を生じさせる値を格納したと仮定する。レジスタ１０２から３０５を介して、論理素子２０２を通って３０９を介して、レジスタ１０７へと達する故障伝播経路が発生せず、かつ、レジスタ１０２から３０４を介して、論理素子２０１を通って３０８を介して、レジスタ１０６へと達する経路がセンシティブ（ｓｅｎｓｉｔｉｖ）であるが、レジスタ１０６が関連するとしてマーク付けされなかった後には、レジスタ１０２も関連性マーク表示を獲得しない。（関連しないとしてマーク付けされた）レジスタ１０６へと故障伝播経路が通ることは可能であるが、この経路を介しては、関連性は先に伝播しない。
【００８０】
順方向のみの故障マスキングが検討される場合に、本例では、レジスタ１０２は、より遅い時点での情報が欠けているため、誤って、関連するとして見なされるであろう。
【００８１】
分析される回路のために、解析の開始に際してグラフ構造が作成される。このデジタル半導体回路は、有向グラフＧによって表される。
Ｇ＝（Ｎ、Ｖ、Ｎ×Ｖ）
【００８２】
ノードＮの集合は、４個の部分集合の和集合で構成される。
−レジスタの集合Ｒ（レジスタ）
−組合せ挙動による回路関数の集合Ｌ（回路）
−入力信号無しで生成される信号（例えば、定数、特別なＨＷ（ハードウェア）信号）の集合Ｉ（独立、Ｉｎｄｅｐｅｎｄｅｎｔ）
−回路の入力及び出力の集合Ｅ（環境）
Ｎ＝Ｒ∪Ｌ∪Ｉ∪Ｅ
【００８３】
集合Ｍからの各ノードは、他のノード／オブジェクトとの結合についての情報を含むオブジェクトに相当する。このオブジェクトは、この結合情報の他に、変数と、（論理ブロック又はレジスタとして機能する）当該オブジェクトへのアクセスについての情報を有するリストと、を含む。
【００８４】
回路の挙動の解析は、逆方向シミュレーションの間に行われる。レジスタ入力口での特定の信号組合せを検出する独自のプロセスが生成される。適当な状態が検出された場合には、その結果として、該当するオブジェクトについての解析関数が呼び出される。解析は２つの部分、即ち、情報源についての部分と、情報受信側についての部分と、で構成される。
【００８５】
第１部として、解析を開始するレジスタのために、或る関数が実行される。目下のシミュレーション時間は、このレジスタへの書き込みアクセスのための時点として利用される。シミュレーション日時の生成の際に遅延時間が利用されなかった場合には、遅延の影響は、ここで、書き込みアクセスの時点の修正により考慮することが出来る。逆方向シミュレーションの場合には、レジスタに対する書き込みアクセス及び読み出しアクセスの原則的な順序も交換され、即ち、レジスタの内容はまず、書き込まれ又は作成される前に、読み出され又は使用される。このレジスタ内容への読み出しアクセスは複数回行うことが可能であり、書き込みアクセスは一回のみ行われ、逆方向シミュレーションの際にレジスタ内容の寿命が終わる。書き込みアクセスが行われる場合には、このレジスタの関連する時間が、最も遡った読み出しアクセスの時点と、この書き込みアクセスの時点と、の差分の分だけ増分される。既に過去にあった全ての読み出しアクセスは、後続の書き込みアクセスの際には、もはや考慮されない。書き込みアクセスに対する読み出しアクセスが存在しない場合には、関連する（ｒｅｌｅｖａｎｔ）時間も増分されない。書き込みアクセスに対する少なくとも１つの読み出しアクセスが存在する場合には、レジスタ内容は、関連するとして見なされる。
【００８６】
解析段階では、回路の遅延はまた、純粋に演算に関して解析結果に盛り込まれる。従って、以下の２つのバリエーションが存在する。
−遅延を含むシミュレーション、遅延を用いた解析
−遅延の無いシミュレーション、解析時に遅延を演算的にカプセル化（ｒｅｃｈｎｅｒｉｓｃｈｅ  Ｅｉｎｂｉｎｄｕｎｇ）
【００８７】
２つのバリエーションは厳密に同じ結果をもたらすが、第２のバリエーションには、実行速度、及び、シミュレーション日時のデータファイルサイズにおいて利点がある。
【００８８】
図４には、順方向のシミュレーション（図４ｂ）、逆方向のシミュレーション（図４ｃ）が示されている。
【００８９】
図４は、電子回路５０３の２つの記憶素子又はレジスタ５００及び５０２の、書き込みアクセス及び読み出しアクセスの間の連関関係を概略的に示している。さらに、遅延素子５０６が設けられている。
【００９０】
必ずしも共通ではないクロック信号ＣＬＫ  ５０４と、先行するレジスタ５００（中央の線、書き込みイベントについては下向きの矢印５０８、書き込みイベントについては上向きの矢印５１０）及び後続のレジスタ５０２（下の線、書き込みイベントについては下向きの矢印５１２、読み出しイベントについては上向きの矢印５１４）のための、上記クロック信号から得られるトリガ時点と、が示されており、このトリガ時点も同様に、必ずしも同時である必要はない。
【００９１】
クロックエッジの時点に対して、先行するレジスタ５００の書き込みイベント時点をずらすによって、設計に基づくレジスタ値（セットアップ時間、保持時間、Ｃｌｏｃｋ−Ｔｏ−Ｑ時間）が、シミュレーション段階での遅延時間の影響が無いものとしても考慮される。このことは、ずれ５２２に集約されている。クロックエッジの時点に対して、読み出しイベントの時点をずらすことによって、同様に、設計に基づくレジスタ値と、レジスタ間に存在する他のゲート及び線の遅延時間と、が考慮される。ずれの値は、方向／符号に拘束されず、正の方向にも負の方向にも起こりうる。図４ｂは、順方向シミュレーションの際の状態を示し、図４ｃは、逆方向シミュレーションの際の状態を示している。特に遅延素子５０６による読み出しイベントのずれは、両方向の矢印５２０で示される。
【００９２】
第２部において、故障伝播経路と、ソースレジスタと、が決定される。解析を開始したレジスタから出発して、結合情報を用いて、先行する論理ブロック及びレジスタが検査される。しかしながら、このことは、レジスタ内容が関連するとして見なされた場合にのみ行われる（推移的効果、ｔｒａｎｓｉｔｉｖｅｒ  Ｅｆｆｅｋｔ）。レジスタ内容が関連しない場合は、作動レジスタが完全にマスクされることになる。レジスタ内容が関連する場合は、書き込みイベント時間が読み出しイベント時間として利用され、パラメータとして、検査すべきオブジェクトへと渡される。２つのケースが反復スキーマで処理される。
【００９３】
先行するオブジェクトがレジスタの場合は、この経路はその源まで完全に追跡されている。ここで、この経路のために反復（Ｒｅｋｕｒｓｉｏｎ）が終了する。レジスタには、この読み出しアクセスの時点が更なる処理のために格納される。
【００９４】
先行するオブジェクトが組合せブロックの場合は、この経路は、未だ完全には検査されていない。このブロックの入力信号及び論理関数に従って、故障伝播経路の更なる進路が回路によって決定されうる。このために、論理関数により故障マスキングの参照が指示される。故障伝播経路上の直ぐ前の先行するオブジェクトは、次の解析段階において、同様に検査される必要がある。故障伝播回路が引き続き追跡され、読み出しイベント時間が、導線の遅延と、正に注目しているブロックの論理関数の実行時間と、の分だけ増分され、修正されたパラメータとして渡される。
【００９５】
この手続きは、故障伝播経路のソースレジスタが全て検出されるまで繰り返される。
【００９６】
回路の時間挙動は解析結果に大きな影響を及ぼす。タイミング・ディレーティングを考慮するために、オブジェクトごとの遅延値が必要である。この遅延値は通常、ライブラリから抽出され、又は、静的なタイミング解析により生成される。回路の解析のためにグラフ構造を作成する際には、このタイミングパラメータが読み出され、他のオブジェクトとの各結合に対して割り当てられる。
【００９７】
シミュレーションの間に、先行するオブジェクトが検査される場合には、タイミング・ディレーティングと同等に、読み出しアクセスの時点を対応して修正するために、この特定の経路の遅延を考慮する必要がある。
【００９８】
順方向シミュレーション又は他のソースからの回路の既存の信号推移は、時間的に逆の順序で、回路の表現に盛り込まれる。しかしながら、個々の信号値変更の時間間隔は変更されない。内部ノードの信号値には、以前に記録された信号値が割り当てられる。
【００９９】
しかしながら、解析機能の既存プロセスは、従来の形態で引き続き機能する。即ち、対応する条件が満たされる場合には（入力信号の組合せ）、解析のためのプロセスが開始される。
【０１００】
解析方法によりアクティブに（ａｋｔｉｖ）実行される必要がある唯一の手続きは、記録された値を用いて連続的に回路に刺激を与えることである。解析プロセスの作動は、刺激を受けた信号の変更により間接的にもたらされ、その際、エッジ制御されるプロセスは、各反対のエッジに対して応答する必要がある。これについては図４を参照されたい。図４では、例えば、レジスタは正のクロックエッジに応じて起動される→逆方向シミュレーションの場合、解析プロセスは、負のクロックエッジにより開始される。記録された値の先頭に達するまで、刺激が与えられる。
【０１０１】
レジスタ出力の関連時間の割合を決定するために、シミュレーションの間に、全ての書き込みアクセスが評価される必要がある。対応し合う書き込みアクセスと読み出しアクセスとの差分の総和が、関連時間全体を形成する。
【０１０２】
回路シミュレーションの際には、異なるレジスタに対する複数の書き込みアクセスが、厳密に同じ時点に生じるということが起こりうる。解析ソフトウェアのシーケンシャル構造に基づき、解析関数は必ずしも定められた順序では実行されない。しかしながら、この順序は解析結果に影響を及ぼさない。（後続のレジスタにより）読み出しイベントが生成される時点は、いかなる場合も、当該後続のレジスタによる書き込みイベントの生成よりも早い（通常、クロック信号を用いる回路では約１クロック周期）。書き込みイベントの際には、過去にあった読み出しイベントのみ考慮される。順序が定められていないために、レジスタには、（読み出しイベントｔＲｅａｄ−Ｅｖｅｎｔ＝ｔＮｏｗ＋ｔＤｅｌａｙ＞ｔＮｏｗのために）既に将来に存在し次の書き込みイベントの評価の際にも利用される読み出しイベントも登録されうる。
【０１０３】
正しい解析結果を実現するためには、静的なタイミング解析の意味において正しく機能する回路が前提となる。
【０１０４】
本方法の実施によって、回路のレジスタごとに個別に感度の評価が提供される。本方法の特徴によって、任意の数のレジスタ段についての推移的マスキング効果が考慮されうる。
【０１０５】
最も容易で最も分かりやすい評価は、全シミュレーション時間に対する関連時間の比率により行われる。この比率は、時間的に均一に分散して発生する故障のどのくらいの割合が、回路の全関数に鑑みて、解析出力口で見えるようになるのかを反映する。
【０１０６】
さらに、このレジスタの、センシティブな期間（ｅｍｐｆｉｎｄｌｉｃｈｅｒ  Ｚｅｉｔｒａｕｍ）の頻度及び長さについて統計を作成することが出来る。これにより、場合によっては、誤り比率の下げるための適切な処置が選択されうる。
【０１０７】
解析は原則的に、各可能な同期式デジタル回路を解析することが可能である。このために、代表的なテストパターンセットが必要である。通常ではこれは、回路の典型的な適用ケースである。解析は、単一故障モデルの仮定に基づいており、即ち、時間的及び空間的に隣接する複数の故障の影響は検討されない。
【０１０８】
単一故障の仮定は、再収束する回路構造と衝突する。再収束する回路部分の出力点の前に、又は、当該出力点で発生する全ての故障は、誤りのある複数の信号として収束点に表れる。しかしながら、マスクされた経路の決定の際には、単一故障又は独立した信号のみが仮定される。
【０１０９】
細かく細分化された関連性マーク表示、即ち、「関連する」、「関連しない」、「自己マスキングの疑い」、及び、「多重経路活性化の疑い」というレベルが、再収束する回路部分における収束点のラベルと共に存在するのだが、当該関連性マーク表示の利用及び生成によって、再収束する構造の影響を考慮することが可能である。
【０１１０】
しかしながら、更なる前提は、再収束する経路の信号の時間的な衝突である。同期式回路の場合、例えば、再収束する回路部分の異なる経路上の様々な数のレジスタ段が、再収束点における従属情報の衝突を防止する。解析の誤りは、従属情報が同じ時間に再収束点において処理される場合にのみ発生する。
【０１１１】
逆方向シミュレーション及び解析の際には、回路の解析出力口から回路の入力口への故障マスキングが追跡される。再収束する経路の収束点である論理ブロックでは、マスクされた経路が計算される。この論理ブロックの、再収束する経路に由来する入力信号は、関連するとも、関連しないとも見なすことが出来る。関連しないと見なされた信号経路上では、再収束する経路の出力点の方向に関連性マーク表示も伝播されない。この出力点では、全ての到着した関連性マーク表示が収集され（論理和）、マーク表示が到着しない場合には、再収束の出力点の前の回路部分も、関連しないとして見なされる。回路のこの出力点から、解析結果は、解析という意味では必ずしも正しくない。
【０１１２】
図５には、時間的に重み付けされた和が示されている。
【０１１３】
故障マスキング係数は、どのくらい割合の故障が、システム出力の見える変更を引き起こすのかという統計的な平均値である。しかしながら、故障マスキング自体は、離散的な性質をしており、即ち、故障は抑制され又は抑制されない。従って、離散値（１又は０、故障マスキング：アクティブ又はノンアクティブ）を有する一連の時間範囲の、連続値への転換は、当然のことながら、時間的に重み付けされた和（時間で割った故障マスキングの積分）によって行われる。このことは、時間的に均一に分散して発生する誤りの仮定と符合する。得られた故障マスキング係数は、注目する全時間に対する、センシティブな全時間範囲の長さの総和から計算される。図５には、様々な信号の、センシティブな時間範囲（網掛けされたブロック）の４つの推移６００、６０２、６０４、６０６が例示されている。これについて、得られた故障マスキング係数が、図示されたセンシティブな時間範囲の推移の横の右側に示される。
【０１１４】
提示される方法は、電子回路の機能信頼性を検査するソフトウェアツール内で利用することができる。このツールによって原則的に、全てのデジタル電子回路を検査することが出来る。得られた結果は、安全性に関わるシステムにおいては信頼性を証明するために利用される。複雑なシステムの場合このように自動化された方法は有益であり、詳細に注意を払った考察が可能となることに注意されたい。
【０１１５】
提示される方法の結果は、検査された回路の改善のためにも利用されうる。未だ開発段階にあるシステムは、故障が起こりやすい弱い箇所を検査することが出来る。場合によっては、この弱い箇所は、設計変更によって防止することが出来る。
【０１１６】
本方法がテスト網羅度を決定するために利用される場合、大局的な故障リストは、本方法終了後に、注目するテストパターンセットについての検査可能な全ての故障を含む。検査可能な全ての故障はこのリストから直接抽出することが可能であり、検査可能ではない故障の集合は、注目する回路の、可能な故障の集合全体に対する補集合である。
【図１】
2013521483.tif 000005
【図２】
2013521483.tif 000006
【図３】
2013521483.tif 000007
【図４ａ】
2013521483.tif 000008
【図４ｂ】
2013521483.tif 000009
【図４ｃ】
2013521483.tif 000010
【図５】
2013521483.tif 000011
【手続補正書】
【提出日】平成24年9月3日(2012.9.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
電子回路（５０３）における故障可観測性を定める方法であって、各素子（４００、４０２、５００、５０２）について、発生した故障が解析出力信号（４０６、４０８、４１２）の異常を引き起こしうる期間が定められる、方法。
【請求項２】
第１のステップで、シミュレーション段階において、シミュレーションモデル及び回路シミュレータによって、前記電子回路（５０３）の挙動がシミュレートされ、第２のステップで、解析段階において、各素子（４００、４０２、５００、５０２）について、発生した故障が解析出力信号（４０６、４０８、４１２）の異常を引き起こしうる期間が定められる、請求項１に記載の方法。
【請求項３】
前記シミュレーション段階において、前記解析段階で考慮される遅延が利用される、請求項２に記載の方法。
【請求項４】
前記シミュレーション段階において遅延が利用されず、前記解析段階において、前記遅延の演算的カプセル化が行われる、請求項２に記載の方法。
【請求項５】
回路シミュレーションは順方向に行われる、請求項１〜４のいずれか１項に記載の方法。
【請求項６】
回路シミュレーションは逆方向に行われる、請求項１〜４のいずれか１項に記載の方法。
【請求項７】
全ての素子（４００、４０２、５００、５０２）に対して、前記シミュレーション時間の終了について関連性の初期状態が設定される、請求項１〜６のいずれか１項に記載の方法。
【請求項８】
前記電子回路（５０３）内の素子（４００、４０２、５００、５０２）について故障マスキング係数を定めるために利用される、請求項１〜７のいずれか１項に記載の方法。
【請求項９】
テストパターンの故障検出率を定めるために利用される、請求項１〜８のいずれか１項に記載の方法。
【請求項１０】
請求項１〜９のいずれか１項に記載の特徴を備えた方法を実行するための、電子回路（５０３）内の故障可観測性を定める構成。
【国際調査報告】
2013521483.tif 000012
2013521483.tif 000013
2013521483.tif 000014
2013521483.tif 000015