説明

遅延解析プログラム,遅延解析装置および遅延解析方法

【課題】故障要因を高い精度で推定する。
【解決手段】選択部12は、複数の要素のうち、複数の活性化パスが到達する要素について、複数の活性化パスのうちの一つを解析対象パスとして選択する。第1算出部13は、設計段階で得られた複数の活性化パスそれぞれの遅延分布に基づき、解析対象パスが複数の活性化パスの中で最も遅いという条件の下での、解析対象パスの遅延分布を算出する。第2算出部14は、第1算出部13によって算出された遅延分布に基づき、複数の活性化パスにおけるランダムばらつきが遅延に与える影響度合いを示す値を算出する。解析部15は、第2算出部14によって算出された影響度合いを示す値を、ランダムばらつきの影響に係る遅延要因の一つとして含む遅延解析を行なう。

【発明の詳細な説明】
【技術分野】
【0001】
本件は、遅延解析プログラム,遅延解析装置および遅延解析方法に関する。
【背景技術】
【0002】
チップ、例えばLSI(Large Scale Integration)等の集積回路を設計製造する際、製造された実チップ上で入力側FF(Flip-Flop)から出力側FFへ信号の伝わる時間が設計時の予想よりも遅い場合がある。このような場合、信号の遅延要因が解析され、解析結果がチップの製造または設計にフィードバックされ、遅延要因が解消される。上述した遅延要因の解析のことを、遅延解析,遅延エラー解析もしくはスピードパス解析という。
【0003】
例えば図7に示すように、入力側FF101と出力側FF102との間に複数の論理素子103が配置されたパスについて、入力側FF101から出力側FF102へ信号の伝わる時間の設計時予想値として400ps(ピコ秒)が算出されているものとする。このとき、実際に製造された実チップの遅延試験を行なった結果、入力側FF101から出力側FF102へ信号の伝わる時間の実測値として430psが得られたものとする。このような場合、設計者は、実測値が設計時予想値よりも遅くなった要因(遅延の発生要因)が何であるかを、遅延解析によって解明することを望む。なお、論理素子としては、例えば、ANDゲート,インバータ,バッファなど種々のものが挙げられる。
【0004】
以下、一般的なスピードパス解析について説明する。
実チップに対する遅延テストを行なった結果、各パスにおいて入力側FFから出力側FFへ信号の伝わる時間としてXpsが実測されたものとする。このとき、各パスの実測値Xpsに基づき、遅延テストで遅延エラーを起こしたパス(遅延の生じたパス)が特定され、遅延エラーを起こしたパス毎に、各パスに存在する遅延増加要因候補の特徴量が算出される。遅延増加要因候補の特徴量としては、例えば、タイプAのセル(セルA)の数や、タイプBのセル(セルB)の数や、ノイズの影響量など種々のものが挙げられる。そして、算出された特徴量と、設計時の見積もり値(予想値)よりも増加した遅延量との間の相関が調べられる。相関を調べる技術としては、後述する回帰分析や、SVM(Support Vector Machine)などが知られている。
【0005】
図8では、4つのパスp1〜p4について得られた、遅延増加量と特徴量との例が示されている。パスp1については、遅延増加量が30ps、特徴量であるセルAの数,セルBの数,ノイズの影響量がそれぞれ3, 2, 0.1である。パスp2については、遅延増加量が20ps、特徴量であるセルAの数,セルBの数,ノイズの影響量がそれぞれ2, 5, 10.0である。パスp3については、遅延増加量が40ps、特徴量であるセルAの数,セルBの数,ノイズの影響量がそれぞれ4, 10, 2.0である。パスp4については、遅延増加量が0ps、特徴量であるセルAの数,セルBの数,ノイズの影響量がそれぞれ0, 1, 0.3である。このような各パスの遅延増加量と特徴量の内容とに基づき、例えばセルAの数が多いパスで遅延増加量が大きい場合、セルAが遅延増加要因であると推定することが可能である。
【0006】
より具体的に説明すると、一般的なスピードパス解析は、例えば以下の手順[i]〜[iv]で行なわれる。
[i] 設計対象の実チップにおけるN(Nは自然数)個の要素に対して、設計時の見積もり値と実チップでの実測値とが予め取得される。ここで、各要素n(n=1,2,…,N)における設計時の見積もり値をTdesign(n)、実チップでの各要素nにおける実測値をTproduct(n)、各要素nにおける遅延誤差(遅延増加量)をε(n)とすると、各要素nに対し下式(1)の関係が成り立つ。なお、各要素nは、例えば前述した出力側FFである。
product(n)=Tdesign(n)+ε(n) (1)
【0007】
[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)
【0008】
この関数fを求める方法としては、回帰分析や、SVMなどを利用する機械学習などが用いられる。単純な例では、各要因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)
【0009】
上式(4-1)〜(4-N)における係数a(m,n)は、要素nに対する要因mの特徴量(影響度)の値であり、実チップの設計情報から得られる。具体的には後述するごとく、a(m,n)としては、例えば、グループ(部分回路)nにおける各配線層mの配線長や、出力側FF(レジスタ)nに繋がる活性化パス上におけるセルタイプmのセル使用数や、ノイズの影響量などが考えられる。
【0010】
[iv] 上記手順[iii]で得られた関数fの形から遅延増加の要因が推定される。例えば、重みX1〜XMが算出され上式(3)の関数fが得られた場合、重みX1〜XMの中で絶対値の最も大きなものに対応する要因の影響が、最も大きいと推定する。例えば、重みXmの絶対値が最大であれば、要因mが遅延増加の要因であると推定される。
【0011】
このとき、図9に示すように、遅延の生じた出力側FF102に1本の活性化パスp1が到達している場合、その活性化パスp1に基づきスピードパス解析が実行される。一方、図10に示すように、遅延の生じた出力側FF102に2以上の活性化パスp1,p2が到達している場合、2以上の活性化パスp1,p2の中から一つが活性化パスとして選択され、スピードパス解析が実行される。ここで、活性化パスとは、遅延テストに際し信号が伝播したパスのことをいう。
【0012】
ところで、図10に示すように、遅延の生じた出力側FF102に複数の活性化パスp1,p2が合流する場合、FF102に到達する信号の速度を決めているのは複数の活性化パスp1,p2のうちの最も遅い1本である。このとき、各活性化パスp1,p2の遅延量には、以下に説明するように、ランダムばらつきの影響が現れてくる。
【0013】
チップ上において各論理素子は極めて微小なトランジスタによって作られるため、狙った遅延量で動作する素子を常に作製することは難しい。例えば、あるタイプの論理素子の遅延量を5psに設定したとしても、同じタイプの論理素子を複数作製した場合、論理素子毎に遅延量は異なり、各論理素子の遅延量には、5psを中心にした範囲内(例えば3.5〜6.5ps)でランダムばらつきが生じる。
【0014】
図9に示すように、遅延の生じた出力側FF102に1本の活性化パスp1のみが到達している場合、活性化パスp1を成す複数素子の遅延量のランダムばらつきの合計値δpsが、出力側FF102の遅延量を増加させる可能性がある。ただし、ランダムばらつきの合計値δpsは、正値になる可能性も負値になる可能性もある。この場合、複数の実チップにおける同じパスp1の出力側FF102での遅延量を実測して遅延量の平均値を得ることにより、1本の活性化パスp1におけるランダムばらつきの影響を排除することが可能である。
【0015】
これに対し、図10に示すように、遅延の生じた出力側FF102に複数の活性化パスp1,p2が合流する場合、各パスを一本だけ活性化して各活性化パスの出力側FF102での遅延量を算出することができないため、遅延量の平均値を得ることができない。したがって、各活性化パスp1,p2を成す複数素子の遅延量のランダムばらつきの合計値δ,δpsの影響、つまりランダムばらつきの影響を排除することができない。
【0016】
このため、遅延の生じた出力側FF102に複数の活性化パスp1,p2が合流する場合、複数の活性化パスp1,p2の中で最も遅延量の大きいパスにおいて、当該パスを成す複数素子の遅延量のランダムばらつきの合計値は、正値になっている確率が高い。
したがって、ランダムばらつきを考慮しないと、上記関数fにおいて偽の相関が現れてしまう。つまり、ランダムばらつきによって遅延量が増加していたとしても、現状ではランダムばらつきを考慮していないため、たまたま遅延量の増加パターンがランダムばらつきによる遅延量の増加パターンに似ている、他の遅延要因の候補が遅延要因に見えてしまう。これにより、遅延要因の推定を正しく行なえなくなる。
【先行技術文献】
【特許文献】
【0017】
【特許文献1】特開2003−316849号公報
【発明の概要】
【発明が解決しようとする課題】
【0018】
1つの側面では、本件は、遅延要因の推定精度を高めることを目的とする。
【課題を解決するための手段】
【0019】
本件の遅延解析プログラムは、実チップに対する遅延試験の結果に基づき、前記実チップで遅延が発生した複数の要素について、一以上の遅延要因と各要素の遅延誤差との相関関係を与える関数を求め、求められた前記関数に基づき遅延要因を推定する遅延解析を行なうコンピュータに、前記複数の要素のうち、複数の活性化パスが到達する要素について、前記複数の活性化パスのうちの一つを解析対象パスとして選択し、設計段階で得られた前記複数の活性化パスそれぞれの遅延分布に基づき、前記解析対象パスが前記複数の活性化パスの中で最も遅いという条件の下での、前記解析対象パスの遅延分布を算出し、算出された前記遅延分布に基づき、前記複数の活性化パスにおけるランダムばらつきが遅延に与える影響度合いを示す値を算出し、前記関数において、算出された前記影響度合いを示す値を、前記ランダムばらつきの影響に係る前記遅延要因の一つとして含む前記遅延解析を行なう、処理を実行させる。
【0020】
また、本件の遅延解析装置は、実チップに対する遅延試験の結果に基づき、前記実チップで遅延が発生した複数の要素について、一以上の遅延要因と各要素の誤差との相関関係を与える関数を求め、求められた前記関数に基づき遅延要因を推定する遅延解析を行なうものであって、以下の選択部,第1算出部,第2算出部および解析部を有することを用件としている。ここで、選択部は、前記複数の要素のうち、複数の活性化パスが到達する要素について、前記複数の活性化パスのうちの一つを解析対象パスとして選択する。第1算出部は、設計段階で得られた前記複数の活性化パスそれぞれの遅延分布に基づき、前記解析対象パスが前記複数の活性化パスの中で最も遅いという条件の下での、前記解析対象パスの遅延分布を算出する。第2算出部は、前記第1算出部によって算出された前記遅延分布に基づき、前記複数の活性化パスにおけるランダムばらつきが遅延に与える影響度合いを示す値を算出する。解析部は、前記関数において、前記第2算出部によって算出された前記影響度合いを示す値を、前記ランダムばらつきの影響に係る前記遅延要因の一つとして含む前記遅延解析を行なう。
【0021】
さらに、本件の遅延解析方法は、コンピュータにより、実チップに対する遅延試験の結果に基づき、前記実チップで遅延が発生した複数の要素について、一以上の遅延要因と各要素の遅延誤差との相関関係を与える関数を求め、求められた前記関数に基づき遅延要因を推定する遅延解析を行なうものであって、前記複数の要素のうち、複数の活性化パスが到達する要素について、前記複数の活性化パスのうちの一つを解析対象パスとして選択し、設計段階で得られた前記複数の活性化パスそれぞれの遅延分布に基づき、前記解析対象パスが前記複数の活性化パスの中で最も遅いという条件の下での、前記解析対象パスの遅延分布を算出し、算出された前記遅延分布に基づき、前記複数の活性化パスにおけるランダムばらつきが遅延に与える影響度合いを示す値を算出し、前記関数において、算出された前記影響度合いを示す値を、前記ランダムばらつきの影響に係る前記遅延要因の一つとして含む前記遅延解析を行なう。
【発明の効果】
【0022】
遅延要因の推定精度の向上をはかることができる。
【図面の簡単な説明】
【0023】
【図1】第1実施形態の遅延解析装置の機能構成を示すブロック図である。
【図2】第1実施形態の遅延解析装置による解析動作を説明するフローチャートである。
【図3】第1実施形態の遅延解析装置による解析対象パスの遅延分布(確率分布)および期待値の具体的な算出手法を説明する図である。
【図4】第1実施形態の遅延解析装置による解析対象パスの遅延分布(確率分布)および期待値の具体的な算出手法を説明する図である。
【図5】第2実施形態の遅延解析装置の機能構成を示すブロック図である。
【図6】第2実施形態の遅延解析装置による解析動作を説明するフローチャートである。
【図7】遅延の発生したパスを説明する図である。
【図8】遅延増加量と特徴量との相関を説明する図である。
【図9】遅延の生じた出力側FFに1つの活性化パスのみが到達している例を示す図である。
【図10】遅延の生じた出力側FFに2以上の活性化パスが到達している例を示す図である。
【発明を実施するための形態】
【0024】
以下、図面を参照して実施の形態を説明する。
〔1〕第1実施形態
〔1−1〕第1実施形態の遅延解析装置の構成
図1は、第1実施形態の遅延解析装置1の機能構成を示すブロック図である。
図1に示す遅延解析装置1は、実チップに対する遅延試験の結果に基づき、遅延要因を推定する遅延解析を行なうものである。遅延解析では、実チップに対する遅延試験の結果に基づき、実チップで遅延が発生した複数の要素(FF)について、一以上の遅延要因と各要素の遅延誤差(遅延増加量)との相関関係を与える関数fが、例えば上式(3)のごとく求められる。そして、求められた関数fに基づき遅延要因が推定される。つまり、上述したように、例えば、重みX1〜XMが算出され上式(3)の関数fが得られた場合、重みX1〜XMの中で絶対値の最も大きなものに対応する遅延要因の影響が、最も大きいと推定する。
【0025】
遅延解析装置1は、一般的なパーソナルコンピュータ等の計算機から構成され、処理部10および記憶部20を有するほか、設計者によって操作され各種情報を本装置1に入力するマンマシンインタフェース(図示略)を有している。処理部10は、CPU(Central Processing Unit)等であり、記憶部20は、RAM(Random Access Memory),ROM(Read Only Memory),HDD(Hard Disk Drive),SSD(Solid State Drive)等の内部記憶装置であってもよいし、外部記憶装置であってもよい。
【0026】
処理部10は、遅延解析プログラムを実行することにより、後述する遅延分布算出部11,選択部12,解析対象パス遅延分布算出部13,特徴量算出部14および解析部15としての機能を果たす。
記憶部20は、上述した遅延解析プログラムを記憶し、処理部10での遅延解析処理に必要になる各種情報を予め記憶するほか、遅延解析処理によって得られた各種情報(遅延分布等)を記憶する。
【0027】
遅延分布算出部11は、設計段階において、解析対象となり得る全てのパスそれぞれについて、各パスの遅延分布を、公知の統計的遅延解析によって算出する。各パスの遅延分布は、例えば、各パスの遅延量の確率分布に相当するものである。
選択部12は、図10に示すごとく遅延の生じた出力側FF(要素)102に複数の活性化パスが到達する場合、当該出力側FF102について、複数の活性化パスのうちの一つを解析対象パスpiとして選択する。例えば、第1実施形態において、選択部12は、設計時の遅延見積もり量が最も大きかったパスを選択する。
【0028】
解析対象パス遅延分布算出部(第1算出部)13は、遅延分布算出部11により設計段階で得られた複数の活性化パスそれぞれの遅延分布に基づき、解析対象パスpiが複数の活性化パスの中で最も遅いという条件の下での、解析対象パスpiの遅延分布を算出する。ここで、算出される解析対象パスpiの遅延分布は、解析対象パスpiを成す複数素子の遅延量のランダムばらつきの合計値の確率分布に相当する。解析対象パス遅延分布算出部13は、図3を参照しながら後述するように、ベイズの定理を用いて、解析対象パスpiが複数の活性化パスの中で最も遅いという条件の下での、解析対象パスpiの遅延分布を算出する。
【0029】
特徴量算出部14は、既存手法の遅延解析で用いられる、解析対象パスpiの各種特徴量a(1,n)〜a(M-1,n)を算出する機能を果たす。また、特徴量算出部14は、解析対象パス遅延分布算出部13によって算出された解析対象パスpiの遅延分布に基づき、複数の活性化パスにおけるランダムばらつきが遅延に与える影響度合いを示す値を算出する第2算出部としての機能も果たす。特に、第1実施形態において、特徴量算出部14は、解析対象パス遅延分布算出部13によって算出された解析対象パスpiの遅延分布に基づき、解析対象パスpiの遅延がランダムばらつきの影響で増加する量の期待値αを、影響度合いを示す値として算出する。
【0030】
解析部15は、関数fにおいて、特徴量算出部14によって算出された影響度合いを示す値である期待値αを、ランダムばらつきの影響に係る特徴量a(M,n)として用い、ランダムばらつきの影響を遅延要因の一つとして含む遅延解析を行なう。つまり、解析部15は、上式(4-1)〜(4-N)と同様、遅延の発生した各出力側FF(要素)n(n=1,2,…,N)について、ランダムばらつきの影響に係る特徴量a(M,n)を含む下式(5)を導出する。そして、解析部15は、下式(5)からなる連立方程式を線形回帰分析によって解き、重みX1,X2,...,XM-1,XMを算出し、重みX1〜XMの中で絶対値の最も大きなものに対応する要因の影響が最も大きいと推定する。
【0031】
ε(n)=a(1,n)*X1+a(2,n)*X2+...+a(M-1,n)*XM-1+a(M,n)*XM (5)
なお、上式(5)において、ε(n)(n=1,2,…,N)は、上述した通り、実チップに対する遅延試験によって得られた、各要素(出力側FF)nにおける遅延誤差(遅延増加量)である。
【0032】
〔1−2〕第1実施形態の遅延解析装置の動作
次に、上述のごとく構成された本実施形態の遅延解析装置1の具体的な動作について、図2および図3を参照しながら説明する。
〔1−2−1〕解析動作
図2に示すフローチャート(ステップS1〜S6)に従って、遅延解析装置1による解析動作について説明する。
【0033】
まず、設計段階において、遅延分布算出部11が、解析対象となり得る全てのパスそれぞれについて、各パスの遅延分布を公知の統計的遅延解析によって算出する(ステップS1)。
また、図10に示すごとく遅延の生じた出力側FF(要素)102に複数の活性化パスが到達する場合、選択部12が、当該出力側FF102について、複数の活性化パスのうちの一つを解析対象パスpiとして選択する(ステップS2)。
【0034】
そして、特徴量算出部14が、既存手法の遅延解析で用いられる、解析対象パスpiの各種特徴量a(1,n)〜a(M-1,n)を算出する(ステップS3)。
この後、解析対象パス遅延分布算出部13が、設計時の見積もりで使用した各論理素子のランダムばらつきの大きさを用い、遅延分布算出部11により設計段階で得られた各活性化パスの遅延分布に基づき、ベイズの定理に従って、解析対象パスpiが複数の活性化パスの中で最も遅いという条件の下での、解析対象パスpiの遅延分布を算出する(ステップS4)。
【0035】
さらに、特徴量算出部14が、解析対象パス遅延分布算出部13によって算出された解析対象パスpiの遅延分布に基づき、解析対象パスpiの遅延がランダムばらつきの影響で増加する量の期待値αを、ランダムばらつきが遅延に与える影響度合いを示す値として算出する(ステップS5)。
【0036】
そして、解析部15が、関数fにおいて、特徴量算出部14によって算出された影響度合いを示す値を、ランダムばらつきの影響に係る特徴量a(M,n)として用い、ランダムばらつきの影響を遅延要因の一つとして含む遅延解析を行なう(ステップS6)。つまり、遅延の発生した各出力側FFn(n=1,2,…,N)について、ランダムばらつきの影響に係る特徴量a(M,n)を含む上式(5)が導出される。上式(5)からなる連立方程式が線形回帰分析によって解かれ、重みX1,X2,...,XM-1,XMが算出され、遅延要因が推定される。
【0037】
〔1−2−2〕解析対象パスの遅延分布(確率分布)および期待値の具体的な算出手法
図3および図4を参照しながら、第1実施形態の遅延解析装置1による解析対象パスの遅延分布(確率分布)の具体的な算出手法(図2のステップS4およびS5の詳細処理)について説明する。
【0038】
第1実施形態では、あるパスpiにおいて信号が遅延量T〜T+ΔTの間に到達する確率の密度関数Pi(T)の値(パスpiの遅延分布/確率分布)が予め算出され図3に示すような配列として記憶部20に保存される。このとき、パスpiにおいて信号が(xj,xj+ΔT)の間に到達する確率は、Pi(xj)・ΔTとして算出される。なお、xj=j・ΔTここで、各パスについての分布は独立しているものと仮定し、各パスを成す複数素子の遅延量のランダムばらつきの合計値は、正規分布N(μ,σ)で表され、この正規分布N(μ,σ)によって与えられる値を、前記配列としてセットする。図3に示す配列においては、関数Pi(xj)の値が、関数Pi(xj)の配列の〔xj/ΔT〕番目の値としてセットされる。このように各パスpiの確率密度関数Pi(T)の値を算出し配列として記憶部20に保存する処理は、図2のステップS1において遅延分布算出部11により公知の統計的遅延解析を用いて実行される。なお、最大の遅延量maxTとしては、信号が到達する確率が十分に小さくなる量が選択される。
【0039】
図4に示すように、n本のパスp1,p2,...,pnが出力側FFで合流している場合、各パスpiの信号が出力側FFに遅延量Ti+ΔTで到達する確率は、下式(6)によって算出される。なお、各パスpiについての分布は独立しているものと仮定している。
P1(T1)・P2(T2)・P3(T3)・・・Pn(Tn)・ΔTn (6)
このとき、パスp1の遅延量がn本のパスp1,p2,...,pnの中で最大である確率Paの値は、上記配列を用い、下式(7)のごとく、全ての時間の組合せについてループし、条件[下記If文参照]を満たす場合に確率の合計値を算出することで算出される。
【0040】
Pa=0(初期値)
for T1=0 to maxT ΔT間隔毎
for T2=0 to maxT ΔT間隔毎
for T3=0 to maxT ΔT間隔毎

If (T1がT1〜Tnの中で最大)
Pa=Pa+P1(T1)・P2(T2)・P3(T3)・・・Pn(Tn)・ΔTn (7)
【0041】
また、パスp1以外のパスp2,p3,p4,...,pnの遅延量がT以となる確率Pbの値は、上式(7)と同様、上記配列を用い、下式(8)のごとく各遅延量T2,T3,T4,...,Tnを遅延量0〜Tの範囲でループし、確率を合計することで算出される。
Pb=0(初期値)
for T2=0 to T ΔT間隔毎
for T3=0 to maxT ΔT間隔毎

Pb=Pb+P2(T2)・P3(T3)・・・Pn(Tn)・ΔTn-1 (8)
【0042】
さらに、パスp1の遅延量がTである確率は、P1(T)・ΔTとして算出される。
そして、n本のパスp1,p2,...,pnが出力側FFで合流しているとき「パスp1がn本のパスp1,p2,...,pnの中で最も遅いという条件の下でパスp1の遅延量がTである確率」は、ベイズの定理を用いると、下式(9)のごとく表される。
【0043】
【数1】

【0044】
上式(9)に上式(7),(8)等による算出結果を適用すると、「パスp1がn本のパスp1,p2,...,pnの中で最も遅いという条件の下で、パスp1の遅延量がTである確率」は下式(10)のように与えられる。
P1(T)・ΔT・Pb/Pa (10)
上式(10)により、パスp1の遅延分布(確率分布)が算出される。つまり、解析対象パス遅延分布算出部13は、図2のステップS4において、解析対象パスpiが複数の活性化パスの中で最も遅いという条件の下での、解析対象パスpiの遅延分布を、上式(10)に基づき算出することになる。
【0045】
また、特徴量算出部14が、ステップS5において、解析対象パスpiの遅延分布に基づき、上記期待値αを算出する際、下式(11)のように[遅延量T]・[遅延量がTである確率]を全てのTについて合計(積分)することによって上記期待値α(=Ex)が算出される。
Ex=0(初期値)
for T1=0 to maxT ΔT間隔毎
Ex=Ex+T・[パスp1がn本のパスp1,p2,...,pnの中で最も遅いという条件の下でパスp1の遅延量がTである確率(上式(9),(10)参照)] (11)
【0046】
〔1−2−3〕作用効果
第1実施形態の遅延解析装置1によれば、複数の活性化パスにおけるランダムばらつきが遅延に与える影響度合いを示す値として、解析対象パスpiの遅延がランダムばらつきの影響で増加する量の期待値αが算出される。そして、算出された期待値αがランダムばらつきの影響に係る特徴量a(M,n)として用いられ、ランダムばらつきの影響を遅延要因として含む遅延解析が実行される。
【0047】
このようにランダムばらつきによる遅延の増加量に係る期待値αが特徴量として考慮されているため、ランダムばらつきが原因で遅延が増えている部分については、重みXMの大きさに基づき遅延要因が「ランダムばらつき」であると判断することができる。したがって、上記関数fにおいてランダムなばらつきによる偽の相関が現れるのを防ぎ、遅延要因が高精度で推定される。
【0048】
〔2〕第2実施形態
上述した第1実施形態では、複数の活性化パスにおけるランダムばらつきが遅延に与える影響度合いを示す値として、解析対象パスpiの遅延がランダムばらつきの影響で増加する量の期待値αが算出され、期待値αがランダムばらつきの影響に係る特徴量a(M,n)として用いられている。しかしながら、解析対象パスpiの遅延がランダムばらつきの影響で増加する量の期待値αでは、複数の活性化パスにおけるランダムばらつきの大きさが正確に特徴量に反映されているとは言い難い。このため、期待値αよりも、ランダムばらつきの大きさ変動と相関する値を、ランダムばらつきの影響に係る特徴量a(M,n)として用いることが望ましい。
【0049】
そこで、第2実施形態では、複数の活性化パスにおけるランダムばらつきが遅延に与える影響度合いを示す値として、第1実施形態の期待値αに代え、ランダムばらつきの大きさが微小変動した時の、解析対象パスpiの遅延変動量の微分値が算出される。そして、微分値aがランダムばらつきの影響に係る特徴量a(M,n)として用いられる。
【0050】
〔2−1〕第2実施形態の遅延解析装置の構成
図5は、第2実施形態の遅延解析装置1Aの機能構成を示すブロック図である。なお、図中、既述の符号と同一の符号は、同一もしくはほぼ同一の部分を示しているので、その詳細な説明は省略する。
【0051】
図5に示す遅延解析装置1Aは、上述の遅延解析装置1と同様に構成されているが、遅延解析装置1Aでは、処理部10が、第1実施形態と同様の遅延分布算出部11,選択部12および解析対象パス遅延分布算出部13としての機能のほか、第1実施形態の特徴量算出部14および解析部15の機能に代わる特徴量算出部14Aおよび解析部15Aとしての機能を有している。特徴量算出部14Aおよび解析部15Aとしての機能も、処理部10が遅延解析プログラムを実行することにより実現される。
【0052】
特徴量算出部(第2算出部)14Aは、第1実施形態の特徴量算出部14と同様、既存手法の遅延解析で用いられる、解析対象パスpiの各種特徴量a(1,n)〜a(M-1,n)を算出する機能を果たす。
また、第2実施形態の特徴量算出部14Aは、解析対象パス遅延分布算出部13によって算出された解析対象パスpiの遅延分布に基づき、第1実施形態の特徴量算出部14Aと同様、解析対象パスpiの遅延がランダムばらつきの影響で増加する量の期待値αを算出する。
【0053】
さらに、第2実施形態の特徴量算出部14Aは、算出された期待値αと解析対象パス遅延分布算出部13によって算出された遅延分布とに基づき、ランダムばらつきの大きさがδだけ微小変動した時の期待値の変動量Aδを得てから、微分値Aδ/δ=Aを、前記影響度合いを示す値として算出する。このとき、ランダムばらつきの大きさを、前記期待値αを求めた際に用いられた大きさ(図2,図6のステップS4参照)からδだけ微小変動させた時の期待値α1(=α+Aδ)が算出され、これらの期待値α1,αの差分である変動量α1−α=Aδが算出される。
【0054】
解析部15Aは、下式(6)の通り、解析対象パスpiに係る遅延誤差εから期待値αを減算した上で、特徴量算出部14Aによって算出された影響度合いを示す値である微分値Aを、ランダムばらつきの影響に係る特徴量a(M,n)として用い、ランダムばらつきの影響を遅延要因の一つとして含む遅延解析を行なう。つまり、解析部15Aは、上式(4-1)〜(4-N)と同様、遅延の発生した各出力側FF(要素)n(n=1,2,…,N)について、ランダムばらつきの影響に係る特徴量a(M,n)を含む下式(12)を導出する。そして、解析部15Aは、下式(12)からなる連立方程式を線形回帰分析によって解き、重みX1,X2,...,XM-1,XMを算出し、重みX1〜XMの中で絶対値の最も大きなものに対応する要因の影響が最も大きいと推定する。
【0055】
ε(n)−α(n)=a(1,n)*X1+a(2,n)*X2+...+a(M-1,n)*XM-1+a(M,n)*XM (12)
なお、上式(12)において、ε(n)(n=1,2,…,N)は、上述した通り、実チップに対する遅延試験によって得られた、各要素(出力側FF)nにおける遅延誤差(遅延増加量)である。また、α(n)(n=1,2,…,N)は、各要素(出力側FF)nについて特徴量算出部14Aによって算出された期待値αである。
【0056】
〔2−2〕第2実施形態の遅延解析装置の動作
次に、図6に示すフローチャート(ステップS1〜S4,S7〜S9)に従って、上述のごとく構成された第2実施形態の遅延解析装置1Aによる解析動作について説明する。
まず、設計段階において、遅延分布算出部11が、解析対象となり得る全てのパスそれぞれについて、各パスの遅延分布を公知の統計的遅延解析によって算出する(ステップS1)。
【0057】
また、図10に示すごとく遅延の生じた出力側FF(要素)102に複数の活性化パスが到達する場合、選択部12が、当該出力側FF102について、複数の活性化パスのうちの一つを解析対象パスpiとして選択する(ステップS2)。
そして、特徴量算出部14Aが、既存手法の遅延解析で用いられる、解析対象パスpiの各種特徴量a(1,n)〜a(M-1,n)を算出する(ステップS3)。
【0058】
この後、解析対象パス遅延分布算出部13が、設計時の見積もりで使用した各論理素子のランダムばらつきの大きさを用い、遅延分布算出部11により設計段階で得られた各活性化パスの遅延分布に基づき、ベイズの定理に従って、解析対象パスpiが複数の活性化パスの中で最も遅いという条件の下での、解析対象パスpiの遅延分布を算出する(ステップS4)。
【0059】
また、特徴量算出部14Aが、解析対象パス遅延分布算出部13によって算出された解析対象パスpiの遅延分布に基づき、解析対象パスpiの遅延がランダムばらつきの影響で増加する量の期待値αを、ランダムばらつきが遅延に与える影響度合いを示す値として算出する(ステップS7)。
【0060】
さらに、特徴量算出部14Aによって、算出された期待値αと解析対象パス遅延分布算出部13によって算出された遅延分布とに基づき、ランダムばらつきの大きさがδだけ微小変動した時の期待値の変動量Aδが得られる。そして、微分値Aδ/δ=Aが、前記影響度合いを示す値として算出され、上式(12)において、ランダムばらつきの影響に係る特徴量a(M,n)として用いられる(ステップS8)。なお、微分値Aは、ランダムばらつきが大きくなると遅延増加量がどれだけ増加するかという、見積もり量に相当するものである。
【0061】
そして、解析部15Aが、上式(12)の通り、解析対象パスpiに係る遅延誤差εから期待値αを減算した上で、特徴量算出部14Aによって算出された微分値Aを、ランダムばらつきの影響に係る特徴量a(M,n)として用い、ランダムばらつきの影響を遅延要因の一つとして含む遅延解析を行なう。つまり、遅延の発生した各出力側FFn(n=1,2,…,N)について、ランダムばらつきの影響に係る特徴量a(M,n)を含む上式(12)が導出される。上式(12)からなる連立方程式が線形回帰分析によって解かれ、重みX1,X2,...,XM-1,XMが算出され、遅延要因が推定される(ステップS9)。
【0062】
上述したように、第2実施形態の遅延解析装置1Aによれば、複数の活性化パスにおけるランダムばらつきが遅延に与える影響度合いを示す値として、ランダムばらつきの大きさが微小変動した時の、解析対象パスpiの遅延変動量の微分値Aが算出される。そして、遅延誤差ε(n)から期待値α(n)を減算した上で、算出された微分値Aがランダムばらつきの影響に係る特徴量a(M,n)として用いられ、ランダムばらつきの影響を遅延要因として含む遅延解析が実行される。
【0063】
上述した微分値Aが特徴量として考慮されているため、第2実施形態においても、第1実施形態と同様、ランダムばらつきが原因で遅延が増えている部分については、重みXMの大きさに基づき遅延要因が「ランダムばらつき」であると判断することができる。さらに、第2実施形態では、期待値αよりも、ランダムばらつきの大きさ変動と相関する微分値Aが、ランダムばらつきの影響に係る特徴量a(M,n)として用いられる。このため、複数の活性化パスにおけるランダムばらつきの大きさが正確に特徴量a(M,n)に反映されてることになり、上記関数fにおいてランダムなばらつきによる偽の相関が現れるのをより確実に防ぎ、遅延要因がより高精度で推定される。
【0064】
〔3〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、係る特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
【0065】
上述した遅延分布算出部11,選択部12,第1算出部13,第2算出部14,14Aおよび解析部15,15Aとしての機能の全部もしくは一部は、コンピュータ(CPU,情報処理装置,各種端末を含む)が所定のアプリケーションプログラム(遅延解析プログラム)を実行することによって実現される。
【0066】
そのプログラムは、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RWなど),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD−RW,DVD+R,DVD+RWなど),ブルーレイディスク等のコンピュータ読取可能な記録媒体に記録された形態で提供される。この場合、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。
【0067】
ここで、コンピュータとは、ハードウエアとOS(オペレーティングシステム)とを含む概念であり、OSの制御の下で動作するハードウエアを意味している。また、OSが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウエアは、少なくとも、CPU等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取る手段とをそなえている。上記遅延解析プログラムは、上述のようなコンピュータに、上述した各部11〜15,14A,15Aの機能を実現させるプログラムコードを含んでいる。また、その機能の一部は、アプリケーションプログラムではなくOSによって実現されてもよい。
【0068】
〔4〕付記
以上の本実施形態を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
実チップに対する遅延試験の結果に基づき、前記実チップで遅延が発生した複数の要素について、一以上の遅延要因と各要素の遅延誤差との相関関係を与える関数を求め、求められた前記関数に基づき遅延要因を推定する遅延解析を行なうコンピュータに、
前記複数の要素のうち、複数の活性化パスが到達する要素について、前記複数の活性化パスのうちの一つを解析対象パスとして選択し、
設計段階で得られた前記複数の活性化パスそれぞれの遅延分布に基づき、前記解析対象パスが前記複数の活性化パスの中で最も遅いという条件の下での、前記解析対象パスの遅延分布を算出し、
算出された前記遅延分布に基づき、前記複数の活性化パスにおけるランダムばらつきが遅延に与える影響度合いを示す値を算出し、
前記関数において、算出された前記影響度合いを示す値を、前記ランダムばらつきの影響に係る前記遅延要因の一つとして含む前記遅延解析を行なう、
処理を実行させる、遅延解析プログラム。
【0069】
(付記2)
算出された前記遅延分布に基づき、前記解析対象パスの遅延が前記ランダムばらつきの影響で増加する量の期待値を、前記影響度合いを示す値として算出する処理を、前記コンピュータに実行させる、付記1記載の遅延解析プログラム。
【0070】
(付記3)
算出された前記遅延分布に基づき、前記解析対象パスの遅延が前記ランダムばらつきの影響で増加する量の期待値を算出するとともに、前記期待値と算出された前記遅延分布とに基づき、前記ランダムばらつきの大きさが変動した時の前記期待値の変動量に係る値を、前記影響度合いを示す値として算出する処理を、前記コンピュータに実行させる、付記1記載の遅延解析プログラム。
【0071】
(付記4)
前記解析対象パスに係る遅延誤差から前記期待値を減算し、前記変動量を前記ランダムばらつきの影響に係る特徴量として用い、前記遅延解析を行なう処理を、前記コンピュータに実行させる、付記3記載の遅延解析プログラム。
【0072】
(付記5)
ベイズの定理を用いて、前記解析対象パスが前記複数の活性化パスの中で最も遅いという条件の下での、前記解析対象パスの遅延分布を算出する処理を、前記コンピュータに実行させる、付記1〜付記4のいずれか一項に記載の遅延解析プログラム。
【0073】
(付記6)
実チップに対する遅延試験の結果に基づき、前記実チップで遅延が発生した複数の要素について、一以上の遅延要因と各要素の誤差との相関関係を与える関数を求め、求められた前記関数に基づき遅延要因を推定する遅延解析を行なう遅延解析装置であって、
前記複数の要素のうち、複数の活性化パスが到達する要素について、前記複数の活性化パスのうちの一つを解析対象パスとして選択する選択部と、
設計段階で得られた前記複数の活性化パスそれぞれの遅延分布に基づき、前記解析対象パスが前記複数の活性化パスの中で最も遅いという条件の下での、前記解析対象パスの遅延分布を算出する第1算出部と、
前記第1算出部によって算出された前記遅延分布に基づき、前記複数の活性化パスにおけるランダムばらつきが遅延に与える影響度合いを示す値を算出する第2算出部と、
前記関数において、前記第2算出部によって算出された前記影響度合いを示す値を、前記ランダムばらつきの影響に係る前記遅延要因の一つとして含む前記遅延解析を行なう解析部とを有する、遅延解析装置。
【0074】
(付記7)
前記第2算出部は、前記第1算出部によって算出された前記遅延分布に基づき、前記解析対象パスの遅延が前記ランダムばらつきの影響で増加する量の期待値を、前記影響度合いを示す値として算出する、付記6記載の遅延解析装置。
【0075】
(付記8)
前記第2算出部は、前記第1算出部によって算出された前記遅延分布に基づき、前記解析対象パスの遅延が前記ランダムばらつきの影響で増加する量の期待値を算出するとともに、前記期待値と前記第1算出部によって算出された前記遅延分布とに基づき、前記ランダムばらつきの大きさが変動した時の前記期待値の変動量に係る値を、前記影響度合いを示す値として算出する、付記6記載の遅延解析装置。
【0076】
(付記9)
前記解析部は、前記解析対象パスに係る遅延誤差から前記期待値を減算し、前記変動量を前記ランダムばらつきの影響に係る特徴量として用い、前記遅延解析を行なう、付記8記載の遅延解析装置。
【0077】
(付記10)
前記第1算出部は、ベイズの定理を用いて、前記解析対象パスが前記複数の活性化パスの中で最も遅いという条件の下での、前記解析対象パスの遅延分布を算出する、付記6〜付記9のいずれか一項に記載の遅延解析装置。
【0078】
(付記11)
コンピュータにより、実チップに対する遅延試験の結果に基づき、前記実チップで遅延が発生した複数の要素について、一以上の遅延要因と各要素の遅延誤差との相関関係を与える関数を求め、求められた前記関数に基づき遅延要因を推定する遅延解析を行なう遅延解析方法であって、
前記複数の要素のうち、複数の活性化パスが到達する要素について、前記複数の活性化パスのうちの一つを解析対象パスとして選択し、
設計段階で得られた前記複数の活性化パスそれぞれの遅延分布に基づき、前記解析対象パスが前記複数の活性化パスの中で最も遅いという条件の下での、前記解析対象パスの遅延分布を算出し、
算出された前記遅延分布に基づき、前記複数の活性化パスにおけるランダムばらつきが遅延に与える影響度合いを示す値を算出し、
前記関数において、算出された前記影響度合いを示す値を、前記ランダムばらつきの影響に係る前記遅延要因の一つとして含む前記遅延解析を行なう、遅延解析方法。
【0079】
(付記12)
算出された前記遅延分布に基づき、前記解析対象パスの遅延が前記ランダムばらつきの影響で増加する量の期待値を、前記影響度合いを示す値として算出する、付記11記載の遅延解析方法。
【0080】
(付記13)
算出された前記遅延分布に基づき、前記解析対象パスの遅延が前記ランダムばらつきの影響で増加する量の期待値を算出するとともに、前記期待値と算出された前記遅延分布とに基づき、前記ランダムばらつきの大きさが変動した時の前記期待値の変動量に係る値を、前記影響度合いを示す値として算出する、付記11記載の遅延解析方法。
【0081】
(付記14)
前記解析対象パスに係る遅延誤差から前記期待値を減算し、前記変動量を前記ランダムばらつきの影響に係る特徴量として用い、前記遅延解析を行なう、付記13記載の遅延解析方法。
【0082】
(付記15)
ベイズの定理を用いて、前記解析対象パスが前記複数の活性化パスの中で最も遅いという条件の下での、前記解析対象パスの遅延分布を算出する、付記11〜付記14のいずれか一項に記載の遅延解析方法。
【符号の説明】
【0083】
1,1A 遅延解析装置
10 処理部
11 遅延分布算出部
12 選択部
13 解析対象パス遅延分布算出部(第1算出部)
14,14A 特徴量算出部(第2算出部)
15,15A 解析部
20 記憶部
101 入力側FF(Flip-Flop)
102 出力側FF(Flip-Flop;要素)
103 論理素子

【特許請求の範囲】
【請求項1】
実チップに対する遅延試験の結果に基づき、前記実チップで遅延が発生した複数の要素について、一以上の遅延要因と各要素の遅延誤差との相関関係を与える関数を求め、求められた前記関数に基づき遅延要因を推定する遅延解析を行なうコンピュータに、
前記複数の要素のうち、複数の活性化パスが到達する要素について、前記複数の活性化パスのうちの一つを解析対象パスとして選択し、
設計段階で得られた前記複数の活性化パスそれぞれの遅延分布に基づき、前記解析対象パスが前記複数の活性化パスの中で最も遅いという条件の下での、前記解析対象パスの遅延分布を算出し、
算出された前記遅延分布に基づき、前記複数の活性化パスにおけるランダムばらつきが遅延に与える影響度合いを示す値を算出し、
前記関数において、算出された前記影響度合いを示す値を、前記遅延要因の一つとして含む前記遅延解析を行なう、
処理を実行させる、遅延解析プログラム。
【請求項2】
算出された前記遅延分布に基づき、前記解析対象パスの遅延が前記ランダムばらつきの影響で増加する量の期待値を、前記影響度合いを示す値として算出する処理を、前記コンピュータに実行させる、請求項1記載の遅延解析プログラム。
【請求項3】
算出された前記遅延分布に基づき、前記解析対象パスの遅延が前記ランダムばらつきの影響で増加する量の期待値を算出するとともに、前記期待値と算出された前記遅延分布とに基づき、前記ランダムばらつきの大きさが変動した時の前記期待値の変動量に係る値を、前記影響度合いを示す値として算出する処理を、前記コンピュータに実行させる、請求項1記載の遅延解析プログラム。
【請求項4】
前記解析対象パスに係る遅延誤差から前記期待値を減算し、前記変動量を前記ランダムばらつきの影響に係る特徴量として用い、前記遅延解析を行なう処理を、前記コンピュータに実行させる、請求項3記載の遅延解析プログラム。
【請求項5】
ベイズの定理を用いて、前記解析対象パスが前記複数の活性化パスの中で最も遅いという条件の下での、前記解析対象パスの遅延分布を算出する処理を、前記コンピュータに実行させる、請求項1〜請求項4のいずれか一項に記載の遅延解析プログラム。
【請求項6】
実チップに対する遅延試験の結果に基づき、前記実チップで遅延が発生した複数の要素について、一以上の遅延要因と各要素の誤差との相関関係を与える関数を求め、求められた前記関数に基づき遅延要因を推定する遅延解析を行なう遅延解析装置であって、
前記複数の要素のうち、複数の活性化パスが到達する要素について、前記複数の活性化パスのうちの一つを解析対象パスとして選択する選択部と、
設計段階で得られた前記複数の活性化パスそれぞれの遅延分布に基づき、前記解析対象パスが前記複数の活性化パスの中で最も遅いという条件の下での、前記解析対象パスの遅延分布を算出する第1算出部と、
前記第1算出部によって算出された前記遅延分布に基づき、前記複数の活性化パスにおけるランダムばらつきが遅延に与える影響度合いを示す値を算出する第2算出部と、
前記関数において、前記第2算出部によって算出された前記影響度合いを示す値を、前記ランダムばらつきの影響に係る前記遅延要因の一つとして含む前記遅延解析を行なう解析部とを有する、遅延解析装置。
【請求項7】
コンピュータにより、実チップに対する遅延試験の結果に基づき、前記実チップで遅延が発生した複数の要素について、一以上の遅延要因と各要素の遅延誤差との相関関係を与える関数を求め、求められた前記関数に基づき遅延要因を推定する遅延解析を行なう遅延解析方法であって、
前記複数の要素のうち、複数の活性化パスが到達する要素について、前記複数の活性化パスのうちの一つを解析対象パスとして選択し、
設計段階で得られた前記複数の活性化パスそれぞれの遅延分布に基づき、前記解析対象パスが前記複数の活性化パスの中で最も遅いという条件の下での、前記解析対象パスの遅延分布を算出し、
算出された前記遅延分布に基づき、前記複数の活性化パスにおけるランダムばらつきが遅延に与える影響度合いを示す値を算出し、
前記関数において、算出された前記影響度合いを示す値を、前記ランダムばらつきの影響に係る前記遅延要因の一つとして含む前記遅延解析を行なう、遅延解析方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2013−97589(P2013−97589A)
【公開日】平成25年5月20日(2013.5.20)
【国際特許分類】
【出願番号】特願2011−240090(P2011−240090)
【出願日】平成23年11月1日(2011.11.1)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】