JP5691575B2 - 故障解析プログラム,故障解析装置および故障解析方法 - Google Patents

故障解析プログラム,故障解析装置および故障解析方法 Download PDF

Info

Publication number
JP5691575B2
JP5691575B2 JP2011021784A JP2011021784A JP5691575B2 JP 5691575 B2 JP5691575 B2 JP 5691575B2 JP 2011021784 A JP2011021784 A JP 2011021784A JP 2011021784 A JP2011021784 A JP 2011021784A JP 5691575 B2 JP5691575 B2 JP 5691575B2
Authority
JP
Japan
Prior art keywords
failure
function
analysis
candidate
combination
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
JP2011021784A
Other languages
English (en)
Other versions
JP2012163357A (ja
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011021784A priority Critical patent/JP5691575B2/ja
Priority to US13/316,851 priority patent/US8726100B2/en
Publication of JP2012163357A publication Critical patent/JP2012163357A/ja
Application granted granted Critical
Publication of JP5691575B2 publication Critical patent/JP5691575B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3323Design verification, e.g. functional simulation or model checking using formal methods, e.g. equivalence checking or property checking

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

本件は、故障解析プログラム,故障解析装置および故障解析方法に関する。
チップ、例えばLSI(Large Scale Integration)等の集積回路を設計製造する際には、製造された実チップについて、エラー原因解析やスピードパス解析が行なわれる。エラー原因解析は、LSIの歩留まりが上がらない原因、つまり不良(エラー)の発生原因を調べるものである。スピードパス解析は、実チップ上で信号が入力側レジスタから出力側レジスタへ伝わる時間が設計時の予想よりも長い理由が何かを調べるものである。以下の説明では、エラー原因解析やスピードパス解析を総称して故障解析と呼ぶ場合がある。
一般的な故障解析は、例えば以下の手順[i]〜[iv]で行なわれる。
[i] 設計対象の実チップにおけるN(Nは自然数)個の要素に対して、設計時の見積もり値と実チップでの実測値とが予め取得される。ここで、各要素n(n=1,2,…,N)における設計時の見積もり値をTdesign(n)、実チップでの各要素nにおける実測値をTproduct(n)、各要素nにおける誤差(または故障率/エラー率)をε(n)とすると、各要素nに対し下式(1)の関係が成り立つ。
product(n)=Tdesign(n)+ε(n) (1)
[ii] 故障要因の候補が、M(Mは自然数)種類あるものとし、実チップのn番目の要素n(または部分回路n)に対するm番目の要因m(m=1,2,…,M)の影響度を求め、その影響度の値をa(m,n)と置く。
[iii] 故障要因mと各故障要素nの誤差ε(n)との相関関係を与える関数f(下式(2)参照)を求める。
ε(n)=f(a(1,n),a(2,n),...,a(M,n)) (2)
この関数fを求める方法としては、回帰分析や、SVM(Support Vector Machine)などを利用する機械学習などが用いられる。単純な例では、各要因mの影響度(特徴量)amを変数とする関数fを、下式(3)のように、
f(a1,a2,...am,...,aM)=a1*X1+a2*X2+...+am*Xm+...+aM*XM (3)
と置き、N個のε(n)について、最もよい近似を与える重みX1,X2,...,Xm,...XMを線形回帰分析によって求める。より具体的には、例えば下式(4-1)〜(4-N)からなる連立方程式を線形回帰分析によって解き、重みX1,X2,...,Xm,...,XMを算出する。
ε(1)=a(1,1)*X1+a(2,1)*X2+...+a(m,1)*Xm+...+a(M,1)*XM (4-1)
: :
ε(n)=a(1,n)*X1+a(2,n)*X2+...+a(m,n)*Xm+...+a(M,n)*XM (4-n)
: :
ε(N)=a(1,N)*X1+a(2,N)*X2+...+a(m,N)*Xm+...+a(M,N)*XM (4-N)
上式(4-1)〜(4-N)における係数a(m,n)は、要素nに対する要因mの影響度(特徴量)の値であり、実チップの設計情報から得られる。具体的には後述するごとく、a(m,n)は、例えば、グループ(部分回路)nにおける各配線層mの配線長、または、出力側レジスタ(フリップフロップ)nに繋がる活性化パス上におけるセルタイプmのセル使用数である。
[iv] 上記手順[iii]で得られた関数fの形から故障の要因が推定される。例えば、重みX1〜XMが算出され上式(3)の関数fが得られた場合、重みX1〜XMの中で絶対値の最も大きなものに対応する要因の影響が、最も大きいと推定する。例えば、重みXmの絶対値が最大であれば、要因m(セルタイプmあるいは配線層m)が故障の原因であると推定される。
次に、エラー原因解析およびスピードパス解析について、図13,図14および図17を参照しながら、より具体的に説明する。
エラー原因解析は、実チップにおいて不良が多発している場合、その不良の発生原因を調べる。例えば4層目の配線を作る時に問題が生じていたり4層目に長い配線を有しているネットのエラー率が高かったりする場合、エラー原因解析によって4層目(配線層4)が不良の発生原因として推定される。
このエラー原因解析に際しては、まず、図13の左側に示すように、チップにおけるネットがN個のグループ(要素)1〜Nに分けられ、各グループnの各配線層mにおける配線長の合計が、影響度(特徴量)a(m,n)として取得される。また、各グループnにおけるエラー率ε(n)が、実チップに対する実測結果に基づき取得される。このように取得された影響度a(m,n)およびエラー率ε(n)が上式(4-1)〜(4-N)に適用され、例えば図13の右側に示すように、重みX1〜XMが算出される。算出された重みX1〜XMを参照すると明かなように、4層目配線長に対応する重みX4の絶対値が最大であり基準値を超えているので、配線層4が故障つまりエラーの原因であると推定される。
また、スピードパス解析は、実チップを製造したところ所定の性能が得られない場合、その要因を調べる。例えば、特定のセルタイプのセルでの遅延実測値が設計時の遅延見積もり値よりも遅かったり、そのセルタイプのセルを多く含むパスの遅延実測値が設計時の遅延見積もり値よりも遅かったりする場合、スピードパス解析によって、その特定のセルタイプが遅延要因として推定される。
このスピードパス解析に際しては、まず、図14の左側に示すように、遅延実測値が設計時の遅延見積もり値よりも遅いN個のFF(フリップフロップ;要素)1〜Nが見つかっているとする。各FFnには、1本の活性化パスnが入力側から繋がっており、各活性化パスn上におけるセルタイプm (Type m)のセル使用数が、影響度(特徴量)a(m,n)として取得される。また、各FFn(パスn)における遅延誤差ε(n)が、実チップでの遅延実測値と設計時の遅延見積もり値との遅延誤差が取得される。このように取得された影響度a(m,n)および遅延誤差ε(n)が上式(4-1)〜(4-N)に適用され、例えば図17に示すように、重みX1〜XMが算出される。図17に示す例では、セルタイプf_63, f_72, f_153の重みX63, X72, X153の絶対値が基準値を超えているので、3種類のセルタイプf_63, f_72, f_153が、故障つまり遅延の原因であると推定される。
次に、エラー原因解析での課題およびスピードパス解析での課題について、図15〜図18を参照しながら説明する。
まず、エラー原因解析での課題について説明する。図15に示す例では、4個のバッファB1〜B4を介し5個のネット(領域)N1〜N5を接続することにより一連のネットが構成される。この一連のネットで故障が発生していることは分かるが、5個のネットN1〜N5のどこで故障が発生しているかは分からない場合について考える。このような場合、故障発生領域として特定可能な候補領域(故障候補)である5個のネットN1〜N5が存在し、5個のネットN1〜N5のうちの少なくとも一つをグループnとして選択しエラー原因解析が実行される。
このとき、例えば配線層4が故障の原因である場合、5個のネットの中から、問題の配線層4を使用しているネットがグループnとして選択されていれば、エラー原因解析の結果は、問題の配線層4の情報を反映したものとなり、配線層4が原因として特定される。しかし、5個のネットの中から、問題の配線層4を使用していないネットがグループnとして選択されると、解析結果に誤りが発生する可能性がある。上述したエラー原因解析手法によれば、一部のグループで不適切なネット(つまり故障配線層を含まないネット)を選択しても必ずしも誤った結果が出力されることはない。しかし、不適切なネットを選択したグループの数が多すぎると、解析結果に誤りが発生し、故障原因を特定できなくなる可能性が高くなる。
ついで、スピードパス解析での課題について説明する。図16に示す例では、遅延故障を生じているFFnに、2つの活性化パスP1,P2が、2入力1出力のゲートGを介して到達している。このとき、FFnで遅延故障が生じていることは、遅延実測値と設計時の遅延見積もり値とから分かるが、2つの活性化パスP1,P2のうちどちらが遅延故障の要因であるかは分からない。このような場合、2つの活性化パスP1,P2のうちの一つを活性化パスnとして選択しスピードパス解析が実行される。
このとき、例えば活性化パスP2が遅延の原因パスである場合、遅延の原因パスである活性化パスP2がFFnに係るパスnとして選択されていれば、スピードパス解析の結果は、活性化パスP2上のセル情報等を反映したものとなる。つまり、活性化パスP2上に存在するセルタイプが原因として特定される。しかし、遅延の原因パスでない活性化パスP1がFFnに係るパスnとして選択されてしまうと、解析結果に誤りが発生する可能性がある。上述したスピードパス解析手法によれば、一部のFFで不適切な活性化パスを選択しても必ずしも誤った結果が出力されることはない。しかし、不適切な活性化パスを選択したFFの数が多すぎると、解析結果に誤りが発生し、故障原因を特定できなくなる可能性が高くなる。
ここで、図17および図18を参照しながら、スピードパス解析によって得られた具体的な解析結果の例について説明する。図17は故障候補の選択が適切な場合の解析結果の例を示す図、図18は故障候補の選択が不適切な場合の解析結果の例を示す図である。図17および図18では、スピードパス解析の実験例が示されており、この実験例では、500個程度のパスに対し故障原因のセルタイプを3種類作り、3種類のセルタイプf_63, f_72, f_153を、スピードパス解析により検出できるか否かを実験している。
図17では、各FFnに到達する活性化パスとして、遅延の原因パスを適切に選択できている場合、つまり故障候補の選択が適切な場合の解析結果の例が示されている。このように故障候補の選択が適切な場合には、図17に示すように、セルタイプf_63, f_72, f_153の重みX63, X72, X153の絶対値が一定値(閾値)を超えているので、3種類のセルタイプf_63, f_72, f_153が、故障つまり遅延の原因であると推定される。
図18では、各FFnに到達する活性化パスとして、遅延の原因パスを適切に選択できていない場合、つまり故障候補の選択が不適切な場合の解析結果の例が示されている。このように故障候補の選択が不適切な場合、図18に示すように、多種類のセルタイプの重みの絶対値が一定値(閾値)を超え、遅延の原因の候補となる多種類のセルタイプが残り、遅延の原因を推定することができない。
国際公開2004−027440号パンフレット 特開平06−083803号公報 特開2000−268073号公報 特表2003−524831号公報
1つの側面では、本件は、故障要因の推定精度を高めることを目的とする。
本件の故障解析プログラムは、実チップに対する実測結果に基づき、前記実チップで故障の発生を示す複数の故障要素について、複数の故障要因の特徴量と各故障要素の誤差または故障率との相関関係を与える関数を求め、求められた前記関数に基づき故障要因を推定するコンピュータに、各故障要素において前記故障を発生させる、一以上の前記故障要因を含む故障候補が故障要素毎に複数存在する場合、各故障要素における故障候補を指定する故障候補組合せを生成し、生成された前記故障候補組合せに応じた前記関数を求め、求められた前記関数に基づき同関数のコストを算出し、生成された前記故障候補組合せのうち、前記コストを最小にする故障候補組合せを決定する、処理を実行させる。
また、本件の故障解析装置は、実チップに対する実測結果に基づき、前記実チップで故障の発生を示す複数の故障要素について、一以上の故障要因の特徴量と各故障要素の誤差または故障率との相関関係を与える関数を求め、求められた前記関数に基づき故障要因を推定するもので、以下の生成部,解析部,コスト算出部および決定部を有することを要件としている。ここで、前記生成部は、各故障要素において前記故障を発生させる、一以上の前記故障要因を含む故障候補が故障要素毎に複数存在する場合、各故障要素における故障候補を指定する故障候補組合せを生成する。前記解析部は、前記生成部で生成された前記故障候補組合せに応じた前記関数を求める。前記コスト算出部は、前記解析部で求められた前記関数に基づき同関数のコストを算出する。前記決定部は、前記生成部で生成された前記故障候補組合せのうち、前記コスト算出部で得られる前記コストを最小にする故障候補組合せを決定する。
さらに、本件の故障解析方法は、コンピュータにより、実チップに対する実測結果に基づき、前記実チップで故障の発生を示す複数の故障要素について、複数の故障要因の特徴量と各故障要素の誤差または故障率との相関関係を与える関数を求め、求められた前記関数に基づき故障要因を推定するものであって、各故障要素において前記故障を発生させる、一以上の前記故障要因を含む故障候補が故障要素毎に複数存在する場合、各故障要素における故障候補を指定する故障候補組合せを生成し、生成された前記故障候補組合せに応じた前記関数を求め、求められた前記関数に基づき同関数のコストを算出し、生成された前記故障候補組合せのうち、前記コストを最小にする故障候補組合せを決定する。
故障要因の推定精度の向上をはかることができる。
第1実施形態の故障解析装置の機能構成を示すブロック図である。 (A),(B)はそれぞれ解析結果が不適切な場合および適切な場合の説明変数の数を説明するための図である。 本実施形態による故障解析手法の原理を説明するための図である。 第1実施形態の故障解析装置による解析動作を説明するためのフローチャートである。 第1実施形態の故障解析装置のコスト算出動作を説明するためのフローチャートである。 第1実施形態の故障解析装置の故障候補組合せの生成動作を説明するためのフローチャートである。 (A),(B)はそれぞれ本実施形態による最適化処理前後での解析結果の例を示す図である。 第1実施形態の故障解析装置による解析動作を、簡易かつ具体的な例を対象にして説明する図である。 第1実施形態の故障解析装置による解析動作を、簡易かつ具体的な例を対象にして説明する図である。 第1実施形態の故障解析装置による解析動作を、簡易かつ具体的な例を対象にして説明する図である。 第2実施形態の故障解析装置の機能構成を示すブロック図である。 第2実施形態の故障解析装置による解析動作を説明するためのフローチャートである。 エラー原因解析を説明するための図である。 スピードパス解析を説明するための図である。 エラー原因解析での課題を説明するための図である。 スピードパス解析での課題を説明するための図である。 故障候補の選択が適切な場合の解析結果の例を示す図である。 故障候補の選択が不適切な場合の解析結果の例を示す図である。
以下、図面を参照して実施の形態を説明する。
〔1〕故障候補の選択が不適切な場合に現れる現象
図17および図18を参照しながら上述した通り、故障解析では、各故障要素nに故障を発生させる、故障要因(層/セルタイプ等)を含む故障候補(ネット/活性化パス等)が故障要素n毎に複数存在する場合、その故障候補を適切に選択できないと、適切な解析結果を得られない可能性が高い。例えば、エラー原因解析では、各グループnに属するネットとして、エラーの原因層を含むネットを選択できていない場合、つまり各グループnにおける故障候補のネットの選択が不適切な場合、エラーの原因層を適切に推定できない可能性がある。スピードパス解析では、各FFnに到達する活性化パスとして遅延の原因パスを選択できていない場合、つまり故障候補の活性化パスの選択が不適切な場合、遅延の原因(セルタイプ等)を適切に推定できない可能性がある。
上述のように故障候補の選択が不適切であったために適切な解析結果が得られなかった場合、その解析結果等には、以下のような現象[I],[II]が現れる。
[I] 適合度の低下
適合度とは、解析結果と実測値との一致の度合いに応じた値であり、一致の度合いが高い場合には大きくなり、一致の度合いが低いと小さくなる。故障候補の選択が不適切であったために適切な解析結果が得られなかった場合には、解析結果と実測値との一致の度合いは低くなり適合度は低くなる。
回帰分析により関数f(a1,a2,...,aM)を求めた場合の具体的な適合度としては、例えば、以下の[I-1]あるいは[I-2]が用いられる。
[I-1] 解析結果と実測値との差の二乗和の逆数。より具体的には、故障要素n毎に、解析結果である関数f(a1,a2,...,aM)を用いて算出される誤差ε’(n)と実チップに対する実測結果である誤差ε(n)とが取得される。そして、これらの誤差の差の二乗和Σ(ε’(n)−ε(n))が算出され、この二乗和Σ(ε’(n)−ε(n))の逆数に比例した値が適合度として用いられる。二乗和Σ(ε’(n)−ε(n))の値は、故障候補の選択が不適切で解析結果と実測値との一致の度合いが低くなると大きくなる一方で、故障候補の選択が適切で解析結果と実測値との一致の度合いが高くなると0に近づく。したがって、二乗和Σ(ε’(n)−ε(n))の逆数に比例した値を、適合度として用いることができる。
[I-2] 解析結果と実測値との相関係数。より具体的には、故障要素n毎に、解析結果である関数f(a1,a2,...,aM)を用いて算出される誤差ε’(n)と実チップに対する実測結果に基づく誤差ε(n)とが取得される。そして、これらの誤差ε’(n)とε(n)との相関係数が算出され、算出された相関係数が適合度として用いられる。この相関係数は、故障候補の選択が適切で解析結果と実測値との一致の度合いが高くなると1に近づく一方で、故障候補の選択が不適切で解析結果と実測値との一致の度合いが低くなり誤差ε’(n)とε(n)との相関が無くなると0に近づく。したがって、相関係数を、適合度として用いることができる。この相関係数のことを以下では「決定係数」と呼ぶ場合がある。
[I-3] 機械学習により関数f(a1,a2,...,aM)を求めた場合、学習結果を教師信号に適用すると、誤った答えを返す要素の数の逆数が、適合度として用いられる。つまり、誤った答えを返す要素の数は、故障候補の選択が不適切で解析結果と実測値との一致の度合いが低くなると多くなる一方で、故障候補の選択が適切で解析結果と実測値との一致の度合いが高くなると少なくなる。したがって、誤った答えを返す要素の数の逆数に比例した値を、適合度として用いることができる。
[II] 説明変数の増加
説明変数とは、線形回帰分析により関数f(a1,a2,...,aM)を求める場合において、その関数fにおける故障要因1〜M(層/セルタイプ等)それぞれの特徴量a1〜aMのうち、一定値(閾値)以上の重みXmをもつ特徴量amのことである。このとき、故障候補の選択が不適切であったために適切な解析結果が得られなかった場合、不適切な故障候補の存在を理由付けすべく、故障に係る本来の故障要因に無関係の多数の故障要因(特徴量)の重みが大きくなる。このため、例えば図2(A)や図18に示すように、説明変数の数が大幅に増加する。これに対し、故障候補の選択が適切であり適切な解析結果が得られた場合、関数fは故障を適切に表現しており、故障に係る本来の故障要因の重みのみが大きくなる。このため、例えば図2(B)や図17に示すように、説明変数の数は2,3個になる。
〔2〕故障解析手法の原理
上記項目[I],[II]で説明した適合度や説明変数の数は、後述するように、本実施形態での最適化処理、つまり故障候補の最適な組合せを決定する処理を実行する際に、コストとして用いられる。つまり、本実施形態では、各故障要素nにおいて故障を発生させる、一以上の故障要因mを含む故障候補(活性化パス/候補領域)が故障要素毎に複数存在する場合、上記項目[I],[II]で説明した適合度や説明変数の数をコストとして用い、各故障要素nに対し適切な一の故障候補を指定する故障候補組合せが選択される。
以下、本実施形態では、説明を分かりやすくするため、故障解析がスピードパス解析である場合について説明する。この場合、故障要素nは例えばフリップフロップn(以下、FFnと記述)、故障要因mは例えばセルタイプm、故障候補は例えばFFnに繋がる活性化パスとなる。なお、故障解析がエラー原因解析である場合にも、本実施形態はスピードパス解析の場合と同様に適用される。エラー原因解析の場合、故障要素nは例えばグループ(部分回路)n、故障要因mは例えば配線層m、故障候補が例えばグループnにおける候補領域となる。
また、以下では、N個の故障要素(FF1〜FFN)のうちP個の故障要素(FF1〜FFP;P≦N)のそれぞれに、複数の故障候補(活性化パス)が存在しているものとする。そして、各FFi(i=1,2,...,P)に繋がる活性化パスの本数をKiとする。したがって、P個の故障要素に対する故障候補の組合せの総数はK1×K2×…×KPとなる。各FFnに繋がるKi本の活性化パスのうちの一つを指定する符号としては、kiが用いられる(ki=1,2,...,Ki)が用いられる。符号kiを用いることにより、P個の故障要素のそれぞれにおける故障候補を指定する故障候補組合せは、ベクトルkv=(k1,k2,...,k)として記述される。ki=1の場合は、FFiについて1番目の活性化パスが選択されていることを示し、ki=2の場合は、FFiについて2番目の活性化パスが選択されていることを示し、ki=Kiの場合は、FFiについてKi番目の活性化パスが選択されていることを示す。
ここで、図3を参照しながら、本実施形態による故障解析手法の原理、特に本実施形態における故障候補の最適な組合せを決定する処理について説明する。図3において、○は故障候補(活性化パス)を図示化したものであり、特に、網掛けを付された○は、各故障要素FFnについての適切な故障候補を図示化したもので、各故障要素FFnに一つだけ存在している。
図3に示す例では、N=8,P=4であり、故障要素FF1には故障候補として3本の活性化パス(k1=1,2,3;K1=3)が存在し、故障要素FF2には故障候補として2本の活性化パス(k2=1,2;K2=2)が存在している。また、故障要素FF3には故障候補として2本の活性化パス(k3=1,2;K3=2)が存在し、故障要素FF4には故障公報として3本の活性化パス(k4=1,2,3;K4=3)が存在している。さらに、故障要素FF5〜FF8には故障候補として1本の活性化パスが存在しているのみなので、故障要素FF5〜FF8は故障候補組合せの対象にはならない。
したがって、図3に示す例では、4個の故障要素FF1〜FF4には、3×2×2×3=36通りの故障候補組合せ(活性化パスの組合せ)が存在する。本実施形態では、この36通りの組合せの中から最も適切な故障候補の組合せが、適合度や説明変数の数に基づくコストを用いて見いだされ決定される。図3においては、選択されるべき適切な故障候補は、網がけを付された○として図示されているが、実際には、どの故障候補が適切なものであるか(網がけを付されているか)は見えていない。
本実施形態では、上述した故障候補組合せkvの最適化問題を、以下のように定式化して解くことにより、適切な故障候補の組合せが選択され、故障要因が高い精度で推定される。つまり、P個の故障候補の組が存在し、第i組(i=1,2,...,P)にKi個の故障候補が存在する場合において、コストC(k1,k2,...,k)(kj≦K;j=1,2,...,P)を最小にする故障候補組合せkvbest=(kbest1,kbest2,...,kbestP)が求められる。コストCとしては、例えば、上述した適合度の逆数あるいは説明変数の数が用いられ、適合度の逆数あるいは説明変数の数を最小にする故障候補kvが、最適な故障候補組合せkvbestとして求められる。
一般に、組合せの最適化問題は、組合せの数が指数関数的に増大するために解けないと考えられているが、本件が対象としている故障解析の場合、故障要素(FFやグループ)に大きな影響を与える故障候補の数は、数個、例えば2,3個に限られる場合が多い。つまり、故障要素に対し意味のある故障候補の数は数個に限られるので、上述のような最適化問題を解くことが可能である。また、上記手順[i]〜[iv]で行なわれる一般的な故障解析は、一部の故障要素について不適切な故障候補を選択したとしても故障要因を推定可能であるため、本実施形態の手法により最適な故障候補の組合せに近い組合せを見い出すことができれば、適切な故障要因を推定することが可能になる。
〔3〕入力情報および出力情報
上述のごとく故障候補組合せの最適化問題を解いて故障解析を行なう場合に入力されるべき入力情報と、その故障解析によって得られ出力される出力情報とをまとめると、以下の通りである。
〔3−1〕入力情報
[1] 各故障要素i(第i組)における故障候補の数Ki(i=1,2,...,P)
[2] 故障候補組合せkvを選択した場合の故障要素nにおける、設計時見積もり値と実チップでの実測値との遅延誤差/故障率ε(n,kv)。スピードパス解析の場合、ε(n,kv)は、例えば、故障候補組合せkvを選択した場合における、FFnでの遅延誤差である。エラー原因解析の場合、ε(n,kv)は、例えば、故障候補組合せkvを選択した場合における、グループ(部分回路)nでの故障率である。ここで、各故障要素nにおける設計時の見積もり値をTdesign(n)、実チップでの各故障要素nにおいて故障候補組合せkvを選択した場合の実測値をTproduct(n,kv)とすると、各故障要素nに対し下式(5)の関係が成り立つ。
product(n)=Tdesign(n,kv)+ε(n,kv) (5)
[3] 故障候補組合せkvを選択した場合における、故障要素nに対する故障要因mの影響度/特徴量a(m,n,kv)。全ての影響度a(m,n,kv)の数が多大である場合には、全ての影響度a(m,n,kv)を算出するために必要なデータが入力される。スピードパス解析の場合、a(m,n,kv)は、例えば、故障候補組合せkvを選択した場合における、FFnに対するセルタイプmの影響度、具体的にはセルタイプmのセル使用数である。エラー原因解析の場合、a(m,n,kv)は、例えば、故障候補組合せkvを選択した場合における、グループ(部分回路)nに対する第m配線層の影響度、具体的には第m配線層の配線長である。
〔3−2〕出力情報
[1]コストCを最小にする最適な故障候補組合せkvbest=(kbest1,kbest2,...,kbestP)
[2]最適な故障候補組合せkvbestを選択した場合の、故障要因mと各故障要素nの誤差/誤差率ε(n,kvbest)との相関関係を与えるの関数f(下式(6)参照)
ε(n,kvbest)=f(a(1,n,kvbest),a(2,n,kvbest),...,a(M,n,kvbest)) (6)
〔4〕第1実施形態
〔4−1〕第1実施形態の故障解析装置の構成
図1は、第1実施形態の故障解析装置1の機能構成を示すブロック図である。
図1に示す故障解析装置1は、実チップに対する実測結果に基づき、コストCを最小にする最適な故障候補組合せkvbest=(kbest1,kbest2,...,kbestP)と、最適な故障候補組合せkvbestを選択した場合の関数f(上式(6)参照)とを求め、求められた関数fに基づき故障要因を推定する。
故障解析装置1は、一般的なパーソナルコンピュータ等の計算機から構成され、処理部10および記憶部20を有するほか、設計者によって操作され各種情報を本装置1に入力するマンマシンインタフェース(図示略)を有している。処理部10は、CPU(Central Processing Unit)等であり、記憶部20は、RAM(Random Access Memory),ROM(Read Only Memory),ハードディスク等の内部記憶装置であってもよいし、外部記憶装置であってもよい。
処理部10は、故障解析プログラムを実行することにより、後述する生成部11,解析部12,コスト算出部13および決定部14としての機能を果たす。
記憶部20は、上述した故障解析プログラムを記憶するほか、上記項目〔3−1〕で上述した入力情報[1]〜[3]を予め記憶している。つまり、各故障要素i(第i組)における故障候補の数Ki(i=1,2,...,P)と、故障候補組合せkvを選択した場合の故障要素nにおける遅延誤差/故障率ε(n,kv)と、故障候補組合せkvを選択した場合の影響度a(m,n,kv)とが記憶部20に記憶される。なお、全ての影響度a(m,n,kv)の数が多大である場合には、全ての影響度a(m,n,kv)を算出するために必要なデータが記憶部20に記憶され、処理部10において、同データに基づき必要な影響度a(m,n,kv)が算出される。
生成部11は、P個の故障要素(FF1〜FFP)のそれぞれに複数の故障候補(活性化パス)が存在する場合に、各故障要素FFiの活性化パス故障候補を指定する故障候補組合せkvを生成する。生成部11は、解析開始時には故障候補組合せkvの初期値を生成するほか、解析開始後には、後述する貪欲算法や遺伝的アルゴリズム等によって、別の故障候補組合せkvを生成する。
解析部12は、生成部11で生成された故障候補組合せkvに応じた関数fを、上述した一般的な故障解析の手順[i]〜[iii]に従って求める。
コスト算出部13は、解析部12で得られた、故障候補組合せkvに応じた関数f(kv)に基づき、同関数f(kv)のコストC(k1,k2,...,k)(=C(kv))を算出する。コストC(kv)としては、例えば、上述したような適合度の逆数もしくは説明変数の数が用いられる。なお、コストC(kv)は、「適合度の逆数」や「説明変数の数」に限られず、適合度が増加すると減少するパラメータであればよい。
適合度としては、例えば、解析部12で得られた関数f(kv)により算出される誤差ε’(n,kv)と実測結果の誤差ε(n)とに基づく二乗和Σ(ε’(n,kv)−ε(n))の逆数に比例した値を用いることができる。また、適合度としては、例えば、解析部12で得られた関数f(kv)により算出される誤差ε’(n,kv)と実測結果の誤差ε(n)との相関係数(決定係数)を用いることができる。さらに、適合度としては、例えば、解析部12で機械学習により関数f(kv)を求めた場合、上述した「誤った答えを返す要素の数」の逆数に比例した値を用いることができる。
説明変数とは、項目[II]で上述したように、解析部12で線形回帰分析により関数f(kv)を求める場合において、その関数f(kv)における故障要因1〜M(セルタイプm/層m等)それぞれの特徴量a1〜aMのうち、一定値(閾値)以上の重みXmをもつ特徴量amである。このような特徴量amの数を、コストC(kv)として用いることができる。
決定部14は、生成部11で生成された故障候補組合せkvのうち、コスト算出部13で得られるコストC(kv)を最小にする故障候補組合せkvbest=(kbest1,kbest2,...,kbestP)を決定する。決定部14で決定された故障候補組合せkvbestと、この故障候補組合せkvbestを選択した際の関数f(kvbest)とが出力され、処理部10は、上述した一般的な故障解析の手順[iv]と同様、関数f(kvbest)の形から故障の要因を推定する。
ここで、生成部11は、別の故障候補組合せkvを、以下の手法[A1]または[A2]によって生成する。
[A1]生成部11は、解析部12で得られた関数f(kv)を用い、同関数f(kv)を求めた時の故障候補組合せkvにおける各故障候補を他の故障候補に一つずつ入れ替えた際の、同関数f(fv’)の仮コストC(kv’)を算出する。kv’は、故障候補組合せkvにおける各故障候補を他の故障候補に一つだけ入れ替えた組合せを示す。そして、生成部11は、仮コストC(kv’)を最も下げる他の故障候補を含む故障候補組合せkv’を、別の故障候補組合せつまり新たな故障候補組合せkvとして生成する。このとき、生成部11は、仮コストC(kv’)として適合度の逆数を算出する。仮コストC(kv’)を算出する際の適合度としては、例えば、解析部12で得られた関数f(kv)により算出される誤差ε’(n,kv’)と実測結果の誤差ε(n)とに基づく二乗和Σ(ε’(n,kv’)−ε(n))の逆数に比例した値を用いることができる。また、仮コストC(kv’)を算出する際の適合度としては、例えば、解析部12で得られた関数f(kv)により算出される誤差ε’(n,kv’)と実測結果の誤差ε(n)との相関係数(決定係数)を用いることができる。なお、上述のように故障候補組合せkvにおける各故障候補を他の故障候補に一つずつ入れ替えを行ない、仮コストC(kv’)を最小にする入れ替えを行なった故障候補組合せkv’を新たな故障候補組合せkvとして生成する手法は、貪欲算法(グリーディアルゴリズム)と呼ばれる。この貪欲算法による生成手法の詳細や具体例については、図6および図8〜図10を参照しながら後述する。
[A2]生成部11は、故障候補組合せkv=(k1,k2,...,k)を遺伝子とみなす遺伝的アルゴリズムにより故障候補組合せkvを生成する。この場合、ユーザが指定する複数組の故障候補組合せが遺伝子として予め用意される。用意された複数組の故障個補組合せに基づき、複数組の故障候補組合せのうちの2組の交配(selection)や、突然変異(mutation)が世代毎に行なわれる。各世代で交配や突然変異により生成された故障候補組合せが、生成部11による生成結果として出力される。
〔4−2〕第1実施形態の故障解析装置の動作
次に、上述のごとく構成された本実施形態の故障解析装置1の具体的な動作について、図4〜図10を参照しながら説明する。
〔4−2−1〕解析動作
図4に示すフローチャート(ステップS1〜S8)に従って、故障解析装置1による解析動作について説明する。
まず、上記項目〔3−1〕で説明した入力情報[1]〜[3]が、記憶部20から読み出され処理部10に入力される(ステップS1)。具体的には、K1×K2×…×KP個の故障候補組合せに関する情報(故障候補の数Ki(i=1,2,...,P))と、対象パラメータ遅延誤差/故障率ε(n,kv)と、対応する特徴量a(m,n,kv)のリストとが読み出されて処理部10に入力される。
処理部10では、生成部11によって故障候補組合せkvの初期値が生成されるとともに、最小コストCbestの初期値として最大値∞が設定される(ステップS2)。故障候補組合せkvの初期値としては、例えば、kj≦Kを満たすランダムな値の組合せ(k1,k2,...,k)が生成されてもよいし、P個の故障候補について全て1番目の故障候補を指定する組合せ(1,1,...,1)が生成されてもよい。また、遺伝子アルゴリズムを採用する場合には、故障候補組合せkvの初期値は、第1世代の遺伝子として得られる組合せであってもよい。
初期値が設定されると、生成部11で生成された故障候補組合せkvのコストC(kv)が算出される(ステップS3)。ステップS3で実行されるコストC(kv)の算出手順については、図5を参照しながら後述する。
コストC(kv)が算出されると、決定部14により、コストC(kv)と現時点までの最小コスト値Cbestとが比較される(ステップS4)。比較の結果がCbest>Cであれば(ステップS4のYESルート)、最小コストCbestが、今回算出されたコストC(kv)に置き換えられ、故障候補組合せkvが、最適組合せ(最適解)kvbestとして置き換えられる(ステップS5)。
最小コストCbestや最適組合せkvbestの置き換えが行なわれると、決定部14により、ループ終了条件が成立しているか否かが判定される(ステップS6)。ループ終了条件は、ステップS7で貪欲算法を採用している場合、現在の最小コストCbestをこれ以上下げる故障候補組合せが存在しなくなることである。また、ステップS7で遺伝的アルゴリズムを採用している場合、ループ終了条件は、処理世代が予め設定された世代数に到達すること、もしくは、最適解kvbestが予め設定された期間以上に亘り置き換えられないことである。
ループ終了条件が成立しない場合(ステップS6のNOルート)、生成部11により、貪欲算法や遺伝的アルゴリズム等を用いて、別の故障候補組合せkvが生成され(ステップS7)、新たに生成された別の故障候補組合せkvについて、ステップS3〜S6の処理が実行される。ステップS7で実行される別の故障候補組合せkvの生成手順(貪欲算法)については、図6を参照しながら後述する。
一方、ステップS4での比較の結果がCbest≦Cであれば(NOルート)、ステップS5の処理がスキップされ、ステップS6の処理が実行される。
ステップS6でループ終了条件が成立すると判定された場合(YESルート)、決定部14により、現在の最適組合せkvbestと、この最適補組合せkvbestを選択した際の関数f(kvbest)とが出力される(ステップS8)。そして、処理部10では、上述した一般的な故障解析の手順[iv]と同様、関数f(kvbest)の形から故障の要因が推定される。
〔4−2−2〕コスト算出動作
図5に示すフローチャート(ステップS10〜S14)に従って、故障解析装置1のコスト算出動作(図4のステップS3の詳細処理)について説明する。
生成部11(ステップS2またはステップS7)から故障候補組合せkvが得られると(ステップS10)、n=1〜Nおよびm=1〜Mについて、故障候補組合せkvを選択した場合の誤差ε(n,kv)および特徴量a(m,n,kv)が求められる(ステップS11)。このとき、誤差ε(n,kv)および特徴量a(m,n,kv)は、記憶部20から読み出されるか、あるいは、記憶部20に記憶されているデータに基づき算出される。
誤差ε(n,kv)および特徴量a(m,n,kv)が得られると、解析部12により、故障候補組合せkvに応じた関数f(kv)が、上述した一般的な故障解析の手順[i]〜[iii]に従って求められる(ステップS12)。
関数f(kv)が求められると、その関数f(kv)に基づき、コスト算出部13により、同関数f(kv)のコストC(kv)が算出される(ステップS13)。コストC(kv)としては、上述したように、例えば適合度の逆数や説明変数の数が用いられる。コストC(kv)が算出され出力されると、そのコストC(kv)について図4のステップS4以降の処理が実行される。
〔4−2−3〕故障候補組合せの生成動作
図6に示すフローチャート(ステップS20〜S25)に従って、故障解析装置1の故障候補組合せkvの生成動作(図4のステップS7の詳細処理)について説明する。図6では、生成部11による故障候補組合せkvの生成手法として貪欲算法を採用した場合について説明する。
図4のステップS6でループ終了条件が成立しないと判定された場合、生成部11で前回生成された現在の故障候補組合せkvが、生成部11に入力され(ステップS20)、ステップS21〜S25によって次の新たな故障候補組合せkvが生成される。まず、現在の故障候補組合せkv=(k1,k2,...,k)における故障候補の一つだけを他の候補に入れ替えた組合せkv’が生成される(ステップS21)。組合せkv’においては、例えば、一つの候補kxが他の候補kx’に入れ替えられている。
組合せkv’が生成されると、その組合せkv’についての仮コストC(kv’)が、生成部11により、図5のステップS12で得られた関数f(kv)を用いて算出される(ステップS22)。算出された仮コストC(kv’)は、組合せkv’に対応付けられて記憶部20に記憶される(ステップS23)。仮コストC(kv’)としては、上述したように、例えば適合度の逆数が用いられる。
ついで、入れ替え対象となりうる全ての故障候補について、ステップS21〜S23の処理が実行されたか否かが、生成部11により判定される(ステップS24)。全ての故障候補についてステップS21〜S23の処理が実行されていない場合(ステップS24のNOルート)、未処理の故障候補について、ステップS21〜S23の処理が繰り返し実行される。
全ての故障候補についてステップS21〜S23の処理が実行されている場合(ステップS24のYESルート)、記憶部20に記憶された、全ての入れ替え組合せkv’の中から、仮コストC(kv’)を最も下げるものが、生成部11により、新たな故障候補組合せkvとして選択される(ステップS25)。新たな故障候補組合せkvが選択されると、その故障候補組合せkvについて図4のステップS3以降の処理が実行される。
ステップS25において、仮コストC(kv’)を最も下げる組合せkv’が複数存在する場合には、複数の組合せkv’の中の一つが、ランダムに、新たな故障候補組合せkvとして選択される。
また、以前にステップS25で仮コストC(kv’)を最も下げる組合せkv’として選択された組合せkv’において、入れ替えられた故障候補は、ステップS21での入れ替え対象の故障候補、つまりはステップS24での判定対象の故障候補から除外される。
なお、図4のステップS7で、生成部11による故障候補組合せkvの生成手法として遺伝的アルゴリズムを採用した場合、生成部11において、ユーザにより用意された複数組の故障個補組合せを遺伝子として用い、複数組の故障候補組合せのうちの2組の交配や突然変異が世代毎に行なわれる。そして、各世代で交配や突然変異により生成された故障候補組合せが、新たな故障候補組合せkvとして選択され、その故障候補組合せkvについて図4のステップS3以降の処理が実行される。
〔4−2−4〕作用効果
第1実施形態の故障解析装置1によれば、生成部11で生成された故障候補組合せkvのうち、コスト算出部13で得られるコストC(kv)を最小にする故障候補組合せkvbestが選択され、その故障候補組合せkvbestを選択した際の関数f(kvbest)が出力される。そして、関数f(kvbest)の形から故障の要因が推定される。従って、適切な故障候補の組合せkvbestが選択され、その故障候補組合せkvbestを選択した際の関数f(kvbest)に基づいて故障要因が高い精度で推定される。
ここで、図7(A)および図7(B)は、それぞれ本実施形態による最適化処理前後での解析結果の例を示す図である。
図7(A)には、選択した故障候補組合せが不適切な場合にスピードパス解析によって得られた解析結果の例が示されている。図7(A)では、図2(A)や図18に示す例と同様、多数の重みの絶対値が一定値(閾値)を超えているため、本来の遅延故障の要因であるセルタイプ(169)を遅延故障の要因として推定することができず、誤った解析結果が得られる可能性がある。
これに対し、図7(B)では、貪欲算法を採用するとともにコストとして適合度(解析結果と実測値との差の二乗和の逆数)の逆数を用いて最適な故障候補組合せを選択し、スピードパス解析により得た解析結果の例が示されている。図7(A)では、本来の遅延故障の要因であるセルタイプ(169)の重みの絶対値のみが一定値(閾値)を超え、そのセルタイプ(169)を遅延故障の要因として推定することができ、正しい解析結果が得られる。
〔4−2−5〕解析動作の具体例
次に、図8〜図10を参照しながら、故障解析装置1による解析動作を、簡易かつ具体的な例を対象にして説明する図である。図8〜図10では、故障要素であるFFを対象にしてスピードパス解析を実行する場合について説明する。
図8〜図10に示す回路例は、故障要因と考えられる3種類のセルタイプx,y,Aのセルを含むとともに、出力側レジスタとして103個のFF(FF1〜FF103)を有している。FF1〜FF103には、3種類のセルタイプx,y,Aのセルを含む1本または2本の活性化パスが故障候補として到達している。なお、以下では、3種類のセルタイプx,y,Aのセルのことを、単にセルx,y,Aと表記する。
ここで、セルA単体の遅延値は、設計時に40psであるが製造後の実チップ上においては100psになっているものとする。また、セルx,y単体の遅延値は、設計時も製造後の実チップ上においても50psであるとする。セル単体の設計時の遅延値は、設計時に見積もられた値で既知であるが、セル単体の製造後の遅延値は、設計者には見えていない。図8〜図10に示す回路例では、セルAの遅延値が設計時と製造後とで大きく異なるために遅延故障が生じている。つまり、セルAが故障要因である。以下では、上述した故障解析装置1が、図8〜図10に示す回路例において、セルAを故障要因として特定するまでの解析処理の流れを具体的に説明する。
図8に示すように、FF1〜FF100のそれぞれには、セルA,xを経由する活性化パスとセルy,xを経由する活性化パスとの2本が到達しているので、スピードパス解析時には、2本の活性化パスのうちの1本が、故障候補のパスn(n=1,2,...,100)として選択される。このとき、セルA,xを経由してFFに到達するパスの設計時遅延見積もり値は40+50=90psとなり、セルy,xを経由してFFに到達するパスの設計時遅延見積もり値は50+50=100psとなる。このため、解析処理の開始時には、2本の活性化パスのうち、最も遅いパスつまり最大値100psを示すパス(セルy,x経由)が、故障候補として選択される。しかし、実際には、セルAの設計時と製造後との誤差が大きいために遅延故障が生じているので、セルy,xを経由するパスの選択は不適切で、セルA,xを経由するパスの選択が適切であると考えられる。故障解析装置1は、コスト(適合度の逆数)を最小にする故障候補組合せkvを選択することにより、不適切なパスを選択している状況を、適切なパスを選択した状況に最適化する。なお、FF1〜FF100に到達する各パスの遅延実測値は150psとする。
FF101には、セルA,xを経由する2本の活性化パスが到達しており、いずれの活性化パスを選択しても、設計時遅延見積もり値は40+50=90psとなる。このため、FF101に到達する活性化パスは実質的に一種類であり、セルA,xを経由するパスが故障候補のパス101として選択され、FF101は、故障候補組合せkvの選択対象にはならない。なお、FF101に到達するパス101の遅延実測値は150psとする。
同様に、FF102には、セルy,xを経由する2本の活性化パスが到達しており、いずれの活性化パスを選択しても、設計時遅延見積もり値は50+50=100psとなる。このため、FF102に到達する活性化パスは実質的に一種類であり、セルy,xを経由するパスが故障候補のパス102として選択され、FF102は、故障候補組合せkvの選択対象にはならない。なお、FF102に到達するパス102の遅延実測値は100psとする。
また、FF103には、セルyを経由する1本の活性化パスが到達しており、このセルyを経由するパスが故障候補のパス103として選択され、FF103は、故障候補組合せkvの選択対象にはならない。なお、FF103に到達するパス103の遅延実測値は50psとする。
なお、図8〜図10に示す回路例において、故障要素の数N=103、故障候補の組数P=100、故障要因の数M=3、各組における故障候補の数K1=K2=…=K100=2、故障候補組合せkv=(k1,k2,...,k100)である。このとき、故障候補組合せkvの各要素ki(i=1,2,...,100)の値は、例えば、セルA,xを経由するパスを選択する場合に0に設定され、セルy,xを経由するパスを選択する場合に1に設定されるものとすると、図8に示す回路例に対する解析処理の開始時に、故障候補組合せkvの要素kiは全て1に設定される。つまり、図8に示す回路例に対する解析処理の開始時に、生成部11は、まず故障候補組合せkv=(1,1,...,1)を生成して出力することになる。
さて、図8に示す回路例、つまり故障候補組合せkv=(1,1,...,1)を選択した回路例について、解析部12は、線形回帰分析を行なって、3種類のセルx,y,Aと各FFn(パスn;n=1,2,...,103)の誤差ε(n)との相関関係を与える関数fを求める。その際、図9および下式(7-1)〜(7-103)に示す連立方程式が導き出され、解析部12は、連立方程式(7-1)〜(7-103)を線形回帰分析によって解くことにより、3種類のセルx,y,Aに対する重みX(x),X(y),X(A)を算出し、関数fを求める。なお、下記各式において、重みX(x),X(y),X(A)に乗算される特徴量は、各FFn(パスn)に対するセルタイプmの影響度であり、ここでは、各パスnにおけるセルx,y,Aの使用数である。
ε(1) =150-100=50ps=X(y)*1+X(x)*1+X(A)*0 → 50=X(y)+X(x) (7-1)
ε(2) =150-100=50ps=X(y)*1+X(x)*1+X(A)*0 → 50=X(y)+X(x) (7-2)
: : : : : : : : :
ε(100)=150-100=50ps=X(y)*1+X(x)*1+X(A)*0 → 50=X(y)+X(x) (7-100)
ε(101)=150- 90=60ps=X(y)*0+X(x)*1+X(A)*1 → 60=X(A)+X(x) (7-101)
ε(102)=100-100= 0ps=X(y)*1+X(x)*1+X(A)*0 → 0=X(y)+X(x) (7-102)
ε(103)=50- 50= 0ps=X(y)*1+X(x)*0+X(A)*0 → 0=X(y) (7-103)
連立方程式(7-1)〜(7-103)を線形回帰分析(最小二乗法)によって解くと、重みX(x),X(y),X(A)としてそれぞれ下記値が得られる。
X(x)=49.50495 X(y)=−2.3*10-14 X(A)=10.49505
従って、セルタイプx,y,Aのセル使用数をそれぞれNx,Ny,NAとすると、3種類のセルx,y,Aと各FFnの誤差ε(n)との相関関係を与える関数fは、下式(8)となる。
f(Nx,Ny,NA)=49.50495*Nx−2.3*10-14*Ny+10.49505*NA (8)
以上の処理は、図5のステップS10〜S12の処理および図3のステップS3の処理の一部に対応している。
ついで、コスト算出部13により、故障候補組合せkv=(1,1,...,1)を選択した場合について上式(8)のごとく得られた関数f(kv)に基づき、コストC(kv)が算出される。その際、まず、コスト算出部13は、上式(8)の関数f(kv)を用いて、各FFn(パスn)での誤差ε’(n,kv)を算出する。FF1〜FF100(パス1〜パス100)について上式(8)により得られる誤差ε’(n,kv)は、以下のように、全て同じ値49.50495となる。
ε’(n,kv)=49.50495*1−2.3*10-14*1≒49.50495<ε(n)=50 (n=1,2,...,100)
また、FF101(パス101)について上式(8)により得られる誤差ε’(101,kv)は、
ε’(101,kv)=49.50495*1+10.49505*1=60=ε(101)
となり、FF102(パス102)について上式(8)により得られる誤差ε’(102,kv)は、
ε’(102,kv)=49.50495*1−2.3*10-14*1≒49.50495>ε(102)=0
となり、FF103(パス103)について上式(8)により得られる誤差ε’(103,kv)は、
ε’(103,kv)=−2.3*10-14*1≒0=ε(103)
となる。
コスト算出部13は、上述のごとく(8)式に示す関数fにより算出される誤差ε’(n,kv)(n=1,2,...,103)と、見積もり値および実測値から得られる誤差ε(n)とに基づき、コストを算出する。ここでは、コストとして、適合度の逆数が採用されるものとし、適合度として、ε’(n,kv)とε(n)との相関係数(決定係数)0.99023956が算出される。ε’(n,kv)とε(n)とが一致する場合、決定係数は最大の1となりコストは最小の1になるが、ε’(n,kv)とε(n)との相関が弱くなると、決定係数は1よりも小さくなり、コストは1よりも大きくなる。上述の例では、決定係数が0.99023956となるため、コストは1/0.99023956≒1.009856645となる。なお、FF102(パス102)についての上式(7-102)は、上式(7-1)〜(7-100)と矛盾するため、適合度(決定係数)を下げる要因になっている。
以上の処理は、図5のステップS13,S14の処理および図3のステップS3の処理の一部に対応している。
ついで、生成部11により、図3のステップS7(図6のステップS20〜S25)に対応する処理、つまり貪欲算法による処理が実行される。つまり、各FFn(各パスn)について選択されなかった故障候補(活性化パス)が選択されたとして、仮コストが算出され、最も仮コストを下げる故障候補組合せが、次の故障候補組合せkvとして選択される。
つまり、まず、現在の故障候補組合せkv=(1,1,...,1,1)における故障候補の一つだけを他の候補に入れ替えた組合せkv’が生成される(図6のステップS21)。例えば図10に示す回路例では、FF100(パス100)について、現在、セルy,xを経由する活性化パスが選択されているが、このパスを、セルA,xを経由する活性化パスに入れ替えた組合せkv’=(1,1,...,1,0)が生成される。
組合せkv’=(1,1,...,1,0)が生成されると、その組合せkv’=(1,1,...,1,0)についての仮コストC(kv’)が、kv=(1,1,...,1,1)に応じた上式(8)の関数fを用いて算出される。図10に示す例では、FF100(パス100)だけ故障候補を1から0に入れ替えると、(8)式によって算出される誤差誤差ε’(100,kv’)の値は、
ε’(100,kv’)=X(A)*1+X(x)*1=49.50495*1+10.49505*1=60
となるとともに、実測結果から得られる誤差ε(100)=60となり、ε’(100,kv’)とε(100)とは一致する。故障候補の入れ替え前は、ε(100,kv)=49.50495,ε(100)=50であり、ε(100,kv)とε(100)とは不一致である。従って、FF100(パス100)において、現在選択されているセルyを含むパスを、セルAを含むパスに入れ替えると、適合度が改善され、仮コストC(kv’)が下がることは明かである。
図8〜図10に示す回路例では、FF1〜FF100(パス1〜パス100)のうちのいずれか一つにおいて、セルy,xを経由する活性化パスを、セルA,xを経由する活性化パスに入れ替えた組合せkv’が選択された場合、上述したFF100(パス100)の場合と同じ量だけ適合度が改善される。従って、仮コストC(kv’)も、上述したFF100(パス100)の場合と同じ量だけ下がることになる。つまり、生成部11が、組合せkv=(1,1,...,1,1)に対し、図6のステップS21〜S24の処理を100回繰り返すことにより、同じ改善量を示す100個の仮コストC(kv’)が得られる。このため、図6のステップS25の処理により、100組の組合せkv’の中の一つが、新たな故障候補組合せkvとしてランダムに選択・生成される。ここでは、FF100(パス100)の故障候補を入れ替えた組合せkv’=(1,1,...,1,0)が生成され、図4のステップS3の処理、つまり図5のステップS10〜S14の処理が、組合せkv’=(1,1,...,1,0)に対し、上述と同様に実行される。なお、上述したように、以前にステップS25で仮コストC(kv’)を最も下げる組合せkv’として選択された組合せkv’において、入れ替えられた故障候補は、ステップS21での入れ替え対象の故障候補、つまりはステップS24での判定対象の故障候補から除外される。
以下、故障解析装置1の処理が、図4のステップS7からステップS3へのループを、1回、回る都度、故障候補組合せkvの要素は、一つずつ1から0に切り替えられ、一のFFn(パスn)において、現在選択されているセルyを含むパスが、セルAを含むパスに入れ替えられる。故障解析装置1の処理が、99回、上記ループを回ると、FF1〜FF100(パス1〜パス100)の全てにおいて、セルAを含むパスが選択され、故障候補組合せkvの全ての要素が0、つまりkv=(0,0,...,0)となる。
組合せkv=(0,0,...,0)の際に図5のステップS12で算出される重みX(x),X(y),X(A)は、それぞれ
X(x)=1.1*10-14 X(y)=−1*10-14 X(A)=60
となり、3種類のセルx,y,Aと各FFnの誤差ε(n)との相関関係を与える関数fは下式(9)となる。
f(Nx,Ny,NA)=1.1*10-14*Nx−1*10-14*Ny+60*NA (9)
このときの決定係数は最大の1になり、コストは最小の1になり、図4のステップS8において、決定部14により、最適な故障候補組合せkvbest=(0,0,...,0)と、この組合せkvbest=(0,0,...,0)に応じた、上記(9)式の関数f(kvbest)とが出力される。
〔5〕第2実施形態
第1実施形態における図8〜図10に示す具体例では、故障要因(セルタイプ)の数が3種類である場合について説明したが、故障要因の数Mが多数である場合には、最適な故障候補組合せkvbestを求める最適化処理に時間がかかる可能性がある。しかし、実際の故障においては、多数の故障要因のうちの、ごく一部の故障要因が影響している場合が多い。
そこで、以下に説明する第2実施形態では、M個の故障要因からm(1≦m<M)個の故障要因が選択され、選択されたm個の故障要因について、第1実施形態の手法で最適な故障候補組合せkvbestおよび関数f(kvbest)が決定される。そして、決定された関数f(kvbest)の適合度が算出され、M個の故障要因からm個の故障要因を選択する全て(個)の組合せの中から、適合度を最大にするm個の故障要因が決定される。つまり、注目する特徴量(m個の故障要因)だけを対象にして故障解析を行ない、解析の結果得られる関数f(kvbest)についての適合度を最大にするm個の故障要因を見い出す。これにより、関数f(kvbest)の最適化が行なわれ、最も適合度の高かった関数f(kvbest)の形から故障の要因が推定される。
適合度は、関数f(kvbest)によって算出される誤差ε’(n,kvbest)と実チップに対する実測結果に基づく誤差ε(n)との一致の度合いである。第2実施形態では、故障要因の数や種類が異なる関数f(kvbest)の適合度を同一の基準で比較する必要があるため、適合度として、解析結果と実測値との差の二乗和の逆数は使用できず、故障要因の数や種類を変更しても基準の変わらないものを使用する必要がある。このため、第2実施形態では、適合度として、ε’(n,kvbest)とε(n)との一致の度合いが高くなると1に近づく、ε’(n,kvbest)とε(n)との相関係数(決定係数)が用いられる。なお、第2実施形態では、故障要因の数をm個に絞るため、適合度として「説明変数の数」を使用することはできない。
〔5−1〕第2実施形態の故障解析装置の構成
図11は、第2実施形態の故障解析装置1Aの機能構成を示すブロック図である。
図11に示す故障解析装置1Aは、上述の故障解析装置1と同様に構成されているが、故障解析装置1Aでは、処理部10が、生成部11,解析部12,コスト算出部13および決定部14としての機能のほか、選択部15および適合度算出部16としての機能を有している。追加された選択部15および適合度算出部16としての機能も、処理部が故障解析プログラムを実行することにより実現される。
ここで、選択部15は、M個の故障要因の中から、m(1≦m<M)個の故障要因を選択する。選択部15は、M個の故障要因の中からm個の故障要因をランダムに選択してもよいし、m個の故障要因の組合せを遺伝子とみなす遺伝的アルゴリズムによりm個の故障要因を選択してもよい。
選択部15は、m個の故障要因をランダムに選択する場合、個の組合せの中から一の組合せを一つずつ選択することになる。
選択部15が遺伝的アルゴリズムによる選択を行なう場合、例えば、m=3で、M個の故障要因のうちの1番目,6番目,M−1番目の故障要因の組合せについては(1,6,M-1)が遺伝子になる。この場合、ユーザが指定する複数組の組合せが遺伝子として予め用意される。用意された複数組の組合せに基づき、複数組の組合せのうちの2組の交配や、突然変異が世代毎に行なわれる。各世代で交配や突然変異により生成された組合せが、選択部15による選択結果として出力される。
選択部15で選択されたm個の故障要因について、生成部11,解析部12,コスト算出部13および決定部14は、第1実施形態で説明したように、最適な故障候補組合せkvbestおよび関数f(kvbest)を取得する。
適合度算出部16は、取得された関数f(kvbest)の適合度Sを算出する。第2実施形態において、適合度Sは、上述した通り、ε’(n,kvbest)とε(n)との相関係数である。適合度算出部16は、関数f(kvbest)を用いて適合度Sを算出してもよいし、コスト算出部13がコストを取得するために算出した適合度Sを用いてもよい。つまり、コスト算出部13を適合度算出部16として機能させることもできる。
決定部14は、選択部15で選択された故障要因の組合せのうち、適合度算出部16で得られる適合度Sを最大にする組合せについて得られた故障候補組合せkvbestを、コストを最小にする故障候補組合せとして決定する。そして、決定部14は、決定された組合せについて算出された適合度Sbestと、同組合せについての故障候補組合せkvbestと、この故障候補組合せkvbestに応じた関数f(kvbest)とを出力し、処理部10は、上述した一般的な故障解析の手順[iv]と同様、関数f(kvbest)の形から故障の要因を推定する。
〔5−2〕第2実施形態の故障解析装置の動作
次に、図12に示すフローチャート(ステップS30〜S37)に従って、上述のごとく構成された第2実施形態の故障解析装置1Aによる解析動作について説明する。
まず、上記項目〔3−1〕で説明した入力情報[1]〜[3]が、記憶部20から読み出され処理部10に入力されるとともに、M個の故障要素から選択すべき故障要素の数mが、設計者の入力指示等によって処理部10に入力される(ステップS30)。入力情報[1]〜[3]としては、第1実施形態と同様、K1×K2×…×KP個の故障候補組合せに関する情報(故障候補の数Ki(i=1,2,...,P))と、対象パラメータ遅延誤差/故障率ε(n,kv)と、対応する特徴量a(m,n,kv)のリストとが読み出されて処理部10に入力される。また、故障要素の数mとしては、例えば1〜3程度の値が指定される。
処理部10では、選択部15によりM個の故障要因の中からm個の故障要因が初期組合せとして選択されるとともに、最大適合度Sbestの初期値として最小値−∞が設定される(ステップS31)。初期組合せは、M個の故障要因の中からランダムに選択されたm個の故障要因であってもよいし、遺伝子アルゴリズムを採用する場合には、第1世代の遺伝子として得られる組合せであってもよい。
初期値が設定されると、選択されたm個の故障要因について、生成部11,解析部12,コスト算出部13および決定部14により、第1実施形態と同様、図4〜図6に示す手順に従って、最適な故障候補組合せkvbestおよび関数f(kvbest)が取得される(ステップS32)。取得された関数f(kvbest)の適合度Sが、適合度算出部16もしくはコスト算出部13の適合度算出機能により得られ、得られた適合度Sと最大適合度Sbestとが決定部14により比較される(ステップS33)。比較の結果がSbest<Sであれば(ステップS33のYESルート)、最大適合度Sbestが、今回算出された適合度Sに置き換えられ、今回選択されたm個の故障要因について得られた故障候補組合せkvが、最適組合せ(最適解)kvbestとして置き換えられる(ステップS34)。
最大適合度Sbestや最適故障候補組合せkvbestの置き換えが行なわれると、決定部14により、ループ終了条件が成立しているか否かが判定される(ステップS35)。ループ終了条件は、選択部15がm個の故障要因をランダムに選択する場合、個の組合せの全てを選択することである。また、選択部15が遺伝的アルゴリズムにより選択を行なう場合、ループ終了条件は、処理世代が予め設定された世代数に到達すること、または、最適解kvbestが予め設定された期間以上に亘り置き換えられないことである。
ループ終了条件が成立しない場合(ステップS35のNOルート)、選択部15により、貪欲算法や遺伝的アルゴリズム等を用いて、異なる組合せのm個の故障要因が選択され(ステップS36)、新たに選択されたm個の故障要因について、ステップS32〜S35の処理が実行される。
一方、ステップS33での比較の結果がSbest≧Sであれば(NOルート)、ステップS34の処理がスキップされ、ステップS35の処理が実行される。
ステップS35でループ終了条件が成立すると判定された場合(YESルート)、決定部14により、現在の最大適合度Sbestおよび最適組合せkvbestと、この最適補組合せkvbestを選択した際の関数f(kvbest)とが出力される(ステップS37)。そして、処理部10では、上述した一般的な故障解析の手順[iv]と同様、関数f(kvbest)の形から故障の要因が推定される。
上述したように、第2実施形態の故障解析装置1Aによれば、第1実施形態の故障解析装置1と同様の作用効果が得られるほか、注目する特徴量(m個の故障要因)だけを対象にして故障解析が行なわれる。そして、解析の結果得られる関数f(kvbest)についての適合度を最大にするm個の故障要因を見い出す。これにより、関数f(kvbest)の最適化が行なわれ、最も適合度の高かった関数f(kvbest)の形から故障の要因が推定される。したがって、故障要因の数Mが多数であっても、故障に関わるm個の故障要因を短時間で特定すること可能になり、故障要因が高速かつ高精度で推定される。
なお、決定部14は、ステップS37において、適合度Sを最大にする故障候補組合せを出力しているが、適合度Sの大きさ上位数個について、故障候補組合せと、各故障候補組合せに応じた関数と、適合度Sの値とを出力してもよい。この場合、設計者は、適合度Sの大きい複数の故障候補組合せと、各故障候補組合せに応じた関数とを参照し、総合的に故障要因の判断を行なうことが可能になり、故障要因をより高精度で推定することができる。
〔6〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、係る特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
なお、上述した実施形態において、スピードパス解析では、パス上のセルタイプ(使用個数)のみを故障要因(特徴量)としている。しかし、本件は、これに限定されるものではなく、故障要因が、パスの配線長,パス上の低電力トランジスタの数,パスが指定領域を通過するか否かなど種々の要因である場合にも上述と同様に適用され、上述と同様の作用効果が得られる。
また、上述した実施形態において、エラー原因解析では、配線層(各配線層における配線長)を故障要因(特徴量)としてるが、本件は、これに限定されるものではなく、故障要因が他の種々の要因である場合にも上述と同様に適用され、上述と同様の作用効果が得られる。
上述した生成部11,解析部12,コスト算出部13,決定部14,選択部15および的道度算出部16としての機能の全部もしくは一部は、コンピュータ(CPU,情報処理装置,各種端末を含む)が所定のアプリケーションプログラム(故障解析プログラム)を実行することによって実現される。
そのプログラムは、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RWなど),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD−RW,DVD+R,DVD+RWなど),ブルーレイディスク等のコンピュータ読取可能な記録媒体に記録された形態で提供される。この場合、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。
ここで、コンピュータとは、ハードウエアとOS(オペレーティングシステム)とを含む概念であり、OSの制御の下で動作するハードウエアを意味している。また、OSが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウエアは、少なくとも、CPU等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取る手段とをそなえている。上記遅延解析プログラムは、上述のようなコンピュータに、上記各部11〜16の機能を実現させるプログラムコードを含んでいる。また、その機能の一部は、アプリケーションプログラムではなくOSによって実現されてもよい。
〔7〕付記
以上の本実施形態を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
実チップに対する実測結果に基づき、前記実チップで故障の発生を示す複数の故障要素について、複数の故障要因と各故障要素の誤差または故障率との相関関係を与える関数を求め、求められた前記関数に基づき故障要因を推定するコンピュータに、
各故障要素において前記故障を発生させる、一以上の前記故障要因を含む故障候補が故障要素毎に複数存在する場合、各故障要素における故障候補を指定する故障候補組合せを生成し、
生成された前記故障候補組合せに応じた前記関数を求め、
求められた前記関数に基づき同関数のコストを算出し、
生成された前記故障候補組合せのうち、前記コストを最小にする故障候補組合せを決定する、
処理を実行させる故障解析プログラム。
(付記2)
前記複数の故障要素のそれぞれについて前記実チップで実測された値と前記関数により算出される値との適合度の逆数を、前記コストとして算出する処理を、前記コンピュータに実行させる、付記1記載の故障解析プログラム。
(付記3)
前記関数を線形回帰分析により求める場合、前記関数における前記一以上の故障要因の重みのうち、一定値以上の重みの数を、前記コストとして算出する処理を、前記コンピュータに実行させる、付記1記載の故障解析プログラム。
(付記4)
求められた前記関数を用いて、同関数を求めた時の前記故障候補組合せにおける各故障候補を他の故障候補に一つずつ入れ替えた際の、同関数の仮コストを算出し、同仮コストを最も下げる前記他の故障候補を含む新たな故障候補組合せを生成する処理を、前記コンピュータに実行させる、付記1〜付記3のいずれか一項に記載の故障解析プログラム。
(付記5)
前記故障候補組合せを遺伝子とみなす遺伝的アルゴリズムにより前記故障候補組合せを生成する処理を、前記コンピュータに実行させる、付記1〜付記3のいずれか一項に記載の故障解析プログラム。
(付記6)
前記一以上の故障要因を、より多くの故障要因の中から選択し、
選択された前記一以上の故障要因の組合せについて、決定された前記故障候補組合せに応じた前記関数の適合度を算出し、
選択された前記一以上の故障要因の組合せのうち、前記適合度を最大にする組合せについて得られた前記故障候補組合せを、前記コストを最小にする故障候補組合せとして決定する処理を、前記コンピュータに実行させる、付記1〜付記5のいずれか一項に記載の故障解析プログラム。
(付記7)
前記適合度は、前記複数の故障要素のそれぞれについて前記実チップで実測された値と前記関数により算出される値との相関係数である、付記6記載の故障解析プログラム。
(付記8)
実チップに対する実測結果に基づき、前記実チップで故障の発生を示す複数の故障要素について、一以上の故障要因と各故障要素の誤差または故障率との相関関係を与える関数を求め、求められた前記関数fに基づき故障要因を推定する故障解析装置であって、
各故障要素において前記故障を発生させる、一以上の前記故障要因を含む故障候補が故障要素毎に複数存在する場合、各故障要素における故障候補を指定する故障候補組合せを生成する生成部と、
前記生成部で生成された前記故障候補組合せに応じた前記関数を求める解析部と、
前記解析部で求められた前記関数に基づき同関数のコストを算出するコスト算出部と、
前記生成部で生成された前記故障候補組合せのうち、前記コスト算出部で得られる前記コストを最小にする故障候補組合せを決定する決定部とを有する、故障解析装置。
(付記9)
前記コスト算出部は、前記複数の故障要素のそれぞれについて前記実チップで実測された値と前記関数により算出される値との適合度の逆数を、前記コストとして算出する、付記8記載の故障解析装置。
(付記10)
前記適合度は、前記複数の故障要素のそれぞれについて前記実チップで実測された値と前記関数により算出される値との差の二乗和の逆数である、付記9記載の故障解析装置。
(付記11)
前記適合度は、前記複数の故障要素のそれぞれについて前記実チップで実測された値と前記関数により算出される値との相関係数である、付記9記載の故障解析装置。
(付記12)
前記解析部が前記関数を線形回帰分析により求める場合、前記コスト算出部は、前記関数における前記一以上の故障要因の重みのうち、一定値以上の重みの数を、前記コストとして算出する、付記8記載の故障解析装置。
(付記13)
前記生成部は、前記解析部で求められた前記関数を用いて、同関数を求めた時の前記故障候補組合せにおける各故障候補を他の故障候補に一つずつ入れ替えた際の、同関数の仮コストを算出し、同仮コストを最も下げる前記他の故障候補を含む新たな故障候補組合せを生成する、付記8〜付記12のいずれか一項に記載の故障解析装置。
(付記14)
前記生成部は、前記複数の故障要素のそれぞれについて前記実チップで実測された値と前記関数により算出される値との適合度の逆数を、前記仮コストとして算出する、付記13記載の故障解析装置。
(付記15)
前記生成部は、前記故障候補組合せを遺伝子とみなす遺伝的アルゴリズムにより前記故障候補組合せを生成する、付記8〜付記12のいずれか一項に記載の故障解析装置。
(付記16)
前記一以上の故障要因を、より多くの故障要因の中から選択する選択部と、
前記選択部で選択された前記一以上の故障要因の組合せについて、前記決定部で決定される前記故障候補組合せに応じた前記関数の適合度を算出する適合度算出部とをさらに有し、
前記決定部は、前記選択部で選択された前記一以上の故障要因の組合せのうち、前記適合度算出部で得られる前記適合度を最大にする組合せについて得られた前記故障候補組合せを、前記コストを最小にする故障候補組合せとして決定する、付記8〜付記15のいずれか一項に記載の故障解析装置。
(付記17)
前記選択部は、前記より多くの故障要因の中から、前記一以上の故障要因をランダムに選択する、付記16記載の故障解析装置。
(付記18)
前記選択部は、前記一以上の故障要因の組合せを遺伝子とみなす遺伝的アルゴリズムにより前記一以上の故障要因を選択する、付記16記載の故障解析装置。
(付記19)
前記適合度は、前記複数の故障要素のそれぞれについて前記実チップで実測された値と前記関数により算出される値との相関係数である、付記16〜付記18のいずれか一項に記載の故障解析装置。
(付記20)
コンピュータにより、実チップに対する実測結果に基づき、前記実チップで故障の発生を示す複数の故障要素について、複数の故障要因と各故障要素の誤差または故障率との相関関係を与える関数を求め、求められた前記関数に基づき故障要因を推定する故障解析方法であって、
各故障要素において前記故障を発生させる、一以上の前記故障要因を含む故障候補が故障要素毎に複数存在する場合、各故障要素における故障候補を指定する故障候補組合せを生成し、
生成された前記故障候補組合せに応じた前記関数を求め、
求められた前記関数に基づき同関数のコストを算出し、
生成された前記故障候補組合せのうち、前記コストを最小にする故障候補組合せを決定する、故障解析方法。
1,1A 故障解析装置
10 処理部
11 生成部
12 解析部
13 コスト算出部(適合度算出部)
14 決定部
15 選択部
16 適合度算出部
20 記憶部

Claims (7)

  1. 実チップに対する実測結果に基づき、前記実チップで故障の発生を示す複数の故障要素について、複数の故障要因の特徴量と各故障要素の誤差または故障率との相関関係を与える関数を求め、求められた前記関数に基づき故障要因を推定するコンピュータに、
    各故障要素において前記故障を発生させる、一以上の前記故障要因を含む故障候補が故障要素毎に複数存在する場合、各故障要素における故障候補を指定する故障候補組合せを生成し、
    生成された前記故障候補組合せに応じた前記関数を求め、
    求められた前記関数に基づき同関数のコストを算出し、
    生成された前記故障候補組合せのうち、前記コストを最小にする故障候補組合せを決定する、
    処理を実行させる故障解析プログラム。
  2. 前記複数の故障要素のそれぞれについて前記実チップで実測された値と前記関数により算出される値との適合度の逆数を、前記コストとして算出する処理を、前記コンピュータに実行させる、請求項1記載の故障解析プログラム。
  3. 前記関数を線形回帰分析により求める場合、前記関数における前記一以上の故障要因の重みのうち、一定値以上の重みの数を、前記コストとして算出する処理を、前記コンピュータに実行させる、請求項1記載の故障解析プログラム。
  4. 求められた前記関数を用いて、同関数を求めた時の前記故障候補組合せにおける各故障候補を他の故障候補に一つずつ入れ替えた際の、同関数の仮コストを算出し、同仮コストを最も下げる前記他の故障候補を含む新たな故障候補組合せを生成する処理を、前記コンピュータに実行させる、請求項1〜請求項3のいずれか一項に記載の故障解析プログラム。
  5. 前記一以上の故障要因を、より多くの故障要因の中から選択し、
    選択された前記一以上の故障要因の組合せについて、決定された前記故障候補組合せに応じた前記関数の適合度を算出し、
    選択された前記一以上の故障要因の組合せのうち、前記適合度を最大にする組合せについて得られた前記故障候補組合せを、前記コストを最小にする故障候補組合せとして決定する、請求項1〜請求項4のいずれか一項に記載の故障解析プログラム。
  6. 実チップに対する実測結果に基づき、前記実チップで故障の発生を示す複数の故障要素について、一以上の故障要因の特徴量と各故障要素の誤差または故障率との相関関係を与える関数を求め、求められた前記関数に基づき故障要因を推定する故障解析装置であって、
    各故障要素において前記故障を発生させる、一以上の前記故障要因を含む故障候補が故障要素毎に複数存在する場合、各故障要素における故障候補を指定する故障候補組合せを生成する生成部と、
    前記生成部で生成された前記故障候補組合せに応じた前記関数を求める解析部と、
    前記解析部で求められた前記関数に基づき同関数のコストを算出するコスト算出部と、
    前記生成部で生成された前記故障候補組合せのうち、前記コスト算出部で得られる前記コストを最小にする故障候補組合せを決定する決定部とを有する、故障解析装置。
  7. コンピュータにより、実チップに対する実測結果に基づき、前記実チップで故障の発生を示す複数の故障要素について、複数の故障要因の特徴量と各故障要素の誤差または故障率との相関関係を与える関数を求め、求められた前記関数に基づき故障要因を推定する故障解析方法であって、
    各故障要素において前記故障を発生させる、一以上の前記故障要因を含む故障候補が故障要素毎に複数存在する場合、各故障要素における故障候補を指定する故障候補組合せを生成し、
    生成された前記故障候補組合せに応じた前記関数を求め、
    求められた前記関数に基づき同関数のコストを算出し、
    生成された前記故障候補組合せのうち、前記コストを最小にする故障候補組合せを決定する、故障解析方法。
JP2011021784A 2011-02-03 2011-02-03 故障解析プログラム,故障解析装置および故障解析方法 Expired - Fee Related JP5691575B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011021784A JP5691575B2 (ja) 2011-02-03 2011-02-03 故障解析プログラム,故障解析装置および故障解析方法
US13/316,851 US8726100B2 (en) 2011-02-03 2011-12-12 Non-transitory computer-readable recording medium in which a failure analyzing program is recorded, failure analyzing apparatus, and method for analyzing failure

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011021784A JP5691575B2 (ja) 2011-02-03 2011-02-03 故障解析プログラム,故障解析装置および故障解析方法

Publications (2)

Publication Number Publication Date
JP2012163357A JP2012163357A (ja) 2012-08-30
JP5691575B2 true JP5691575B2 (ja) 2015-04-01

Family

ID=46601506

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011021784A Expired - Fee Related JP5691575B2 (ja) 2011-02-03 2011-02-03 故障解析プログラム,故障解析装置および故障解析方法

Country Status (2)

Country Link
US (1) US8726100B2 (ja)
JP (1) JP5691575B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5899810B2 (ja) * 2011-11-01 2016-04-06 富士通株式会社 遅延解析プログラム,遅延解析装置および遅延解析方法
US10706324B2 (en) * 2017-01-19 2020-07-07 Hrl Laboratories, Llc Multi-view embedding with soft-max based compatibility function for zero-shot learning
US11379340B2 (en) 2017-05-17 2022-07-05 Nippon Telegraph And Telephone Corporation Apparatus and method for estimating anomaly information, and program

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05341005A (ja) * 1992-06-11 1993-12-24 Hokuriku Nippon Denki Software Kk 故障検出システム
JPH0683803A (ja) 1992-08-31 1994-03-25 Mitsubishi Electric Corp 半導体デバイスシミュレータ
JP2000268073A (ja) 1999-03-18 2000-09-29 Matsushita Electric Ind Co Ltd 素子配置の最適化方法
WO2001039098A2 (en) 1999-11-22 2001-05-31 Yissum Research Development Company Of The Hebrew University Of Jerusalem System and method for searching a combinatorial space
JP3734392B2 (ja) * 1999-10-29 2006-01-11 松下電器産業株式会社 半導体集積回路の故障検査方法及びレイアウト方法
GB0110480D0 (en) * 2001-04-28 2001-06-20 Univ Manchester Metropolitan Methods and apparatus for analysing the behaviour of a subject
JP4174048B2 (ja) 2002-09-19 2008-10-29 富士通株式会社 集積回路試験装置および試験方法
GB0228751D0 (en) * 2002-12-10 2003-01-15 Bae Systems Plc Method of design using genetic programming
US7680635B2 (en) * 2003-09-19 2010-03-16 Hewlett-Packard Development Company, L.P. Configuration system and method
US7644046B1 (en) * 2005-06-23 2010-01-05 Hewlett-Packard Development Company, L.P. Method of estimating storage system cost
US7484132B2 (en) * 2005-10-28 2009-01-27 International Business Machines Corporation Clustering process for software server failure prediction
US7974723B2 (en) * 2008-03-06 2011-07-05 Applied Materials, Inc. Yield prediction feedback for controlling an equipment engineering system
JP5262985B2 (ja) * 2009-05-19 2013-08-14 富士通株式会社 遅延故障検査プログラム、遅延故障検査装置、および遅延故障検査方法
US9506963B2 (en) * 2010-04-15 2016-11-29 Yale University Consumption breakdown monitoring through power state sensing

Also Published As

Publication number Publication date
JP2012163357A (ja) 2012-08-30
US8726100B2 (en) 2014-05-13
US20120204063A1 (en) 2012-08-09

Similar Documents

Publication Publication Date Title
Kirby et al. CongestionNet: Routing congestion prediction using deep graph neural networks
JP5328093B2 (ja) 半導体製品に対するテスト歩留まりを推定する方法及び方法を実行するためのプログラム(ライブラリから作製される半導体製品に対するテスト歩留まりの推定)
US9122790B2 (en) Weighted code coverage tool
US11321722B2 (en) Assortment optimization using incremental swapping with demand transference
Ahlberg et al. Genome-wide association study identifies 18 novel loci associated with left atrial volume and function
JP2009505096A (ja) テスト手順を最適化する方法及び設計ツール
JP5691575B2 (ja) 故障解析プログラム,故障解析装置および故障解析方法
JP6036134B2 (ja) 設計支援装置、設計支援方法、および設計支援プログラム
JP5109799B2 (ja) 情報処理システム、負荷制御方法、および負荷制御プログラム
JPWO2018088277A1 (ja) 予測モデル生成システム、方法およびプログラム
JP2022150078A (ja) 情報処理プログラム、情報処理装置、及び情報処理方法
JP6056174B2 (ja) 故障診断方法、故障診断装置及びプログラム
JP7212292B2 (ja) 学習装置、学習方法および学習プログラム
JP6203169B2 (ja) プロセス評価装置およびプロセス評価プログラム
US8615692B1 (en) Method and system for analyzing test vectors to determine toggle counts
JP6070337B2 (ja) 物理故障解析プログラム、物理故障解析方法および物理故障解析装置
JP2007199951A (ja) 半導体集積回路の設計支援装置、設計支援方法および設計支援プログラム
JP4871194B2 (ja) パラメータ抽出方法及び当該パラメータ抽出方法を実行させるプログラムを具備するコンピュータ読み取り可能な記憶媒体
Chen et al. Path-based pre-routing timing prediction for modern very large-scale integration designs
Thakyal et al. Layout-aware selection of trace signals for post-silicon debug
Pomeranz Test scores for improving the accuracy of logic diagnosis for multiple defects
Pomeranz Improving the accuracy of defect diagnosis with multiple sets of candidate faults
US20160275223A1 (en) Method and system of fast nested-loop circuit verification for process and environmental variation and hierarchical circuits
US20210056241A1 (en) Design support device and computer readable medium
US7650579B2 (en) Model correspondence method and device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131007

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140521

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140603

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140711

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: 20150106

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150119

R150 Certificate of patent or registration of utility model

Ref document number: 5691575

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees