JP5707921B2 - 活性化パス抽出プログラム,活性化パス抽出装置および活性化パス抽出方法 - Google Patents

活性化パス抽出プログラム,活性化パス抽出装置および活性化パス抽出方法 Download PDF

Info

Publication number
JP5707921B2
JP5707921B2 JP2010280329A JP2010280329A JP5707921B2 JP 5707921 B2 JP5707921 B2 JP 5707921B2 JP 2010280329 A JP2010280329 A JP 2010280329A JP 2010280329 A JP2010280329 A JP 2010280329A JP 5707921 B2 JP5707921 B2 JP 5707921B2
Authority
JP
Japan
Prior art keywords
pin
path
value
simulation
activation
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
JP2010280329A
Other languages
English (en)
Other versions
JP2012128712A (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 JP2010280329A priority Critical patent/JP5707921B2/ja
Publication of JP2012128712A publication Critical patent/JP2012128712A/ja
Application granted granted Critical
Publication of JP5707921B2 publication Critical patent/JP5707921B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

本件は、実チップに対する遅延試験の際に信号が伝播した活性化パスを抽出するプログラム,装置および装置に関する。
近年、チップ、例えばLSI(Large Scale Integration)等の集積回路を設計製造する際には、プロセスの微細化に伴って、実際に製造された実チップが、設計段階での基準性能値つまりスペックを満たせないケースが増加している。つまり、設計段階でシミュレーションツール等によって算出された、設計対象のチップ中のパス遅延の予測値と、実チップにおいて実際に得られるパス遅延値(真値)とに「ずれ」が生じ、実チップが設計段階でのスペックを満たせなくなる場合が多々生じている。
このため、チップの設計製造に際して、実チップに対するディレイテスト(遅延試験)が必要不可欠になっている。図12は、ディレイテストを含む一般的なチップの設計製造の手順を概略的に説明するためのフローチャートである。この図12に示すように、設計対象チップの設計(ステップS1)が行なわれると、設計されたチップの試作チップつまり実チップの作成(ステップS2)が行なわれる。そして、実チップに対するディレイテスト(ステップS3)が行なわれ、そのディレイテストの結果が所定スペックを満たしているか否かが判定される。
ディレイテストの結果が所定スペックを満たしている場合(ステップS3のYESルート)、ステップS1での設計結果に基づく実チップの生産(ステップS4)が開始される。一方、ディレイテストの結果が所定スペックを満たしていない場合(ステップS3のNOルート)、ディレイテストの結果に基づいて故障解析つまり遅延要因の解析(ステップS5)が行なわれる。そして、ステップS1に戻り、ステップS5での解析結果に従って設計対象チップの設計が再度行なわれる。
ここで、ディレイテストは、実チップがどの程度のクロック周波数またはクロック周期で動作するかを測定して確認するもので、一回のディレイテストでは、以下のような処理が行なわれる。なお、図13は、ディレイテストを説明すべく試験対象の実チップ上の回路構成の例を示す図である。この図13において、101は実チップ上の入力側フリップフロップ(またはラッチ)、102は同チップ上の出力側フリップフロップ(またはラッチ)である。以下「フリップフロップ」のことを「FF」と記載する。これらのFF101とFF102との間に、各種ゲートを含む組み合わせ回路が配置されている。この組み合わせ回路の接続関係は、設計対象回路のネットリストに基づいて特定される。
まず、2組のテストベクトルが用意され、これら2組のテストベクトルに基づく信号が実チップの入力側FF101から出力側FF102へ伝播される。つまり、1つ目のテストベクトルに基づく値が実チップ中の各ゲートの入力ピンや出力ピンにセットされた後、所定時間間隔をあけた2回のクロックが発せられる。これにより、1つ目のクロックエッジで2つ目のテストベクトルが入力側FF101からパス上へ出力(launch)されてパスが活性化され、信号が入力側FF101から出力側FF102へ伝播される。続く2つ目のクロックエッジで、出力側FF102に伝播した信号値が、出力側FF102にキャプチャされる。そして、出力側FF102における値と、上記2つのテストベクトルを入力した際に出力側FF102で得られるべき期待値(予測値)とが比較され、これらの値の一致/不一致が判定される。
出力側FF102での値と予測値とが一致した場合には、上記所定時間間隔を一定量、例えば20MHzずつ小さくして、上記2つのテストベクトルが再度入力され、出力側FF102での値と期待値との一致/不一致が判定される。以上の処理が、出力側FF102での値と期待値とが不一致と判定されるまで繰り返し実行され、不一致と判定される直前の時間間隔(周期)が、ディレイテストの結果、つまり今回のディレイテストでの遅延時間の測定値として測定される。
このようにして得られた測定値が所定スペックを満たすか否かが判断され、所定スペックを満たす、つまり試作された実チップが目標とするクロック周期で正常に動作すると判断されれば、上述のように、実チップの生産(ステップS4)が開始される。一方、上記測定値が所定スペックを満たしていないと判断されれば、上述のように、ディレイテストの結果に基づいて遅延要因の解析(ステップS5)および再設計(ステップS1)が行なわれる。
ステップS5では、例えば、スピードパス解析と呼ばれる故障解析手法が用いられ、遅延要因の解析が行なわれる。なお、以下では、ディレイテストに際し上記2つのテストベクトルの入力によって信号が伝播したパス、つまり「活性化したパス」のことを「活性化パス」という。なお、図13において、活性化パスは太線によって示されている。
スピードパス解析では、フェイルした出力側FF102に到達する各活性化パスに対し、ディレイテストで得られた遅延時間の測定値が割り当てられて解析が行なわれる。フェイルした出力側FF102とは、ステップS3で上記測定値が上記所定スペックを満たしていないと判断された出力側FF102のことである。ここで、図14〜図16を参照しながら、一般的なスピードパス解析について説明する。なお、図14は解析対象パス毎に設定される特徴ベクトルの各ベクトル成分の定義を示す図、図15は図14に示す特徴ベクトルの具体例を示す図、図16はスピードパス解析結果の例を示す図である。
まず、図14および図15を参照しながら、スピードパス解析における「特徴」について説明する。スピードパス解析では、各パスの特徴をベクトルによって表現する。ここでは、そのベクトルを特徴ベクトルVと表記する。また、特徴ベクトルVは、解析対象のパス毎に設定され、パスpxの特徴ベクトルVをV(px)と表記する。この特徴ベクトルV(px)の各ベクトル成分は、パスpxにおける特徴の値であり、例えば、図14に示すごとく定義されて与えられる。特徴ベクトルV(px)にベクトル成分として含まれる複数の特徴は、後述する(2)式で示すように、各解析対象パスpxに割り当てられる遅延時間の実測値d_silicon(px)と遅延時間の予測値d_predict(px)との差D(px)の発生要因(遅延要因)となるものである。
各特徴の定義は、例えば図14に示すように、以下の通りである。特徴g_low(px)は、パスpx上の低電力トランジスタ(low_vth)の数であり、特徴loc1(px)は、パスpxが指定領域1(loc1)を通過する場合に“1”/通過しない場合に“0”となる値である。また、特徴loc2(px)は、パスpxが指定領域2(loc2)を通過する場合に“1”/通過しない場合に“0”となる値であり、特徴len(px)は、パスpxの配線長である。なお、図15に示すパスpiに係る特徴ベクトルV(pi)では、パスpi上の低電力トランジスタの数が2であり、パスpiが指定領域2を通過する一方で指定領域1を通過せず、パスpiの配線長が6である。また、図15に示すパスpjに係る特徴ベクトルV(pj)では、パスpj上の低電力トランジスタの数が4であり、パスpjが指定領域1を通過する一方で指定領域2を通過せず、パスpjの配線長が15である。
上述のように、解析対象パスpx毎に特徴ベクトルV(px)が抽出されると、以下のようにして、スピードパス解析が実行される。
ここで、ディレイテストによって取得され各解析対象パスpxに割り当てられる遅延時間の測定値を“d_silicon(Pi)”とし、各解析対象パスpxについてツール等によって算出された遅延時間の予測値を“d_predict(Pi)”とすると、これらの測定値と予測値との差D(px)は、下記(1)式のように与えられる。
d_silicon(px)=d_predict(px)+D(px) (1)
上記(1)式において、D(px)<<d_predict(px)、つまりD(px)はd_predict(px)に対し十分に小さい。このため、差D(px)は、簡略的にしかモデル化されていなかった現象を示す複数の特徴g_low(px), loc1(px), loc2(px), …, len(px)について、線形近似することができると考えられるので、各解析対象パスpxについて、下記(2)式が成り立つことになる。下記(2)式において、解析対象パスpxは、例えばp3, p7, …, pnである。
D(p3)=W_g_low*g_low(p3)+W_loc1*loc1(p3)+W_loc2*loc2(p3)+…+W_len*len(p3)
D(p7)=W_g_low*g_low(p7)+W_loc1*loc1(p7)+W_loc2*loc2(p7)+…+W_len*len(p7)
: : (2)
D(pn)=W_g_low*g_low(pn)+W_loc1*loc1(pn)+W_loc2*loc2(pn)+…+W_len*len(pn)
ここで、W_g_low, W_loc1, W_loc2, …, W_lenは、それぞれ、パスpxの特徴ベクトルV(px)のベクトル成分g_low(px), loc1(px), loc2(px), …, len(px)に対する重み係数[ps]である。
そして、各解析対象パスpxについて導出された(2)式を、SVM(Support Vector Machine)回帰などの線形回帰解析により、重み係数W_g_low, W_loc1, W_loc2, …, W_lenについて解くことで、重み係数W_g_low, W_loc1, W_loc2, …, W_lenの値が取得される。このように取得された重み係数のうち、値が大きいものに対応する特徴が誤差D(px)を発生させる要因になっていると考えられる。より具体的に、重み係数W_g_low, W_loc1, W_loc2, …, W_lenとして、例えば図16に示すような値が取得されたものとする。なお、図16では、最大値を示す重み係数W_g_lowを100として、各値の正規化処理が施されている。この図16に示すスピードパス解析結果の例では、特徴g_lowつまり低電力トランジスタが、誤差D(px)の発生する最大要因であると解析される。
ところで、上述したように、スピードパス解析では、フェイルした出力側FF102に到達する各活性化パスに対し、ディレイテストで得られた遅延時間の測定値が割り当てられて解析が行なわれる。このため、スピードパス解析を実行する際には、前もって活性化パスを抽出して特定しておく必要がある。
通常、ディレイテストでは、入力された2つのテストベクトルと、これら2つのテストベクトルを入力した際に出力側FF102で得られるべき期待値と、遅延時間の測定値とが、テストパターンとして得られる。また、フェイルした出力側FF102を特定する情報(FF名等)をリストアップしたフェイルリストも得られる。
しかしながら、ディレイテストでは、スピードパス解析で必要になる活性化パスを特定する情報、具体的には、入力側FFと出力側FFとの間で活性化パスが通過するピンやネットを特定する情報は、取得・保存されていない。その理由としては、活性化パスに関する情報を必要とするスピードパス解析等の解析手法が注目されるようになったのは近年のことであり、活性化パスを特定する情報を取得する必要性が無かったことが挙げられる。また、他の理由としては、ディレイテストの実行中に活性化パスを特定する情報を取得すると、ディレイテストに要する時間が膨大になるとともに、取得される情報のデータ量が膨大になることが挙げられる。
特開平04−055776号公報 特開平04−038568号公報
P. Bastani, N. Callegari, Li-C. Wang, et al., "Statistical Diagnosis of Unmodeled Systematic Timing Effects", DAC’08, 22.1, pp.355-360 P. Bastani, K. Killpack, et al., "Speedpath Prediction Based on Learning from a Small Set of Examples", DAC’08, 12.3, pp.217-222
1つの側面では、本件は、実チップの遅延試験の際に信号が伝播した活性化パスを高速に抽出することを目的とする。
本件の活性化パス抽出プログラムは、実チップに対する遅延試験の際に信号が伝播した活性化パスを抽出するコンピュータに、前記遅延試験の際のテストパターンと前記実チップのネットリストとに基づき前記遅延試験のシミュレーションを行なうことにより、前記遅延試験の際に信号値が変化した信号値変化ピンと、出力側フリップフロップまたはラッチのクロック制御系ピンの値と、を特定し、前記シミュレーションによって特定された、前記信号値変化ピンと前記クロック制御系ピンの値とに基づき、前記実チップの前記遅延試験において期待値と異なる値を出力した出力側フリップフロップまたはラッチへのデータパスおよびクロック制御系パスのいずれのパスが故障に関わる可能性があるかを判定し、判定された故障に関わる可能性のあるパスに係る信号値変化ピンを起点にして、前記シミュレーションによって特定された前記信号値変化ピンと前記実チップのネットリストとに基づき前記信号値変化ピンを辿ることにより、故障に関わる可能性のある活性化パスのトレースを行なう、処理を実行させる。
また、本件の活性化パス抽出装置は、実チップに対する遅延試験の際に信号が伝播した活性化パスを抽出するもので、以下のシミュレーション部およびパストレース部を有することを要件としている。ここで、前記シミュレーション部は、前記遅延試験の際のテストパターンと前記実チップのネットリストとに基づき前記遅延試験のシミュレーションを行なうことにより、前記遅延試験の際に信号値が変化した信号値変化ピンと、出力側フリップフロップまたはラッチのクロック制御系ピンの値と、を特定する。前記パストレース部は、前記シミュレーション部によって特定された、前記信号値変化ピンと前記クロック制御系ピンの値とに基づき、前記実チップの前記遅延試験において期待値と異なる値を出力した出力側フリップフロップまたはラッチへのデータパスおよびクロック制御系パスのいずれのパスが故障に関わる可能性があるかを判定し、判定された故障に関わる可能性のあるパスに係る信号値変化ピンを起点にして、前記シミュレーション部によって特定された前記信号値変化ピンと前記実チップのネットリストとに基づき前記信号値変化ピンを辿ることにより、故障に関わる可能性のある活性化パスのトレースを行なう。
さらに、本件の活性化パス抽出方法は、実チップに対する遅延試験の際に信号が伝播した活性化パスをコンピュータにより抽出するものであって、前記遅延試験の際のテストパターンと前記実チップのネットリストとに基づき前記遅延試験のシミュレーションを行なうことにより、前記遅延試験時に信号値が変化した信号値変化ピンと、出力側フリップフロップまたはラッチのクロック制御系ピンの値と、を特定し、前記シミュレーションによって特定された、前記信号値変化ピンと前記クロック制御系ピンの値とに基づき、前記実チップの前記遅延試験において期待値と異なる値を出力した出力側フリップフロップまたはラッチへのデータパスおよびクロック制御系パスのいずれのパスが故障に関わる可能性があるかを判定し、判定された故障に関わる可能性のあるパスに係る信号値変化ピンを起点にして、前記シミュレーションによって特定された前記信号値変化ピンと前記実チップのネットリストとに基づき前記信号値変化ピンを辿ることにより、故障に関わる可能性のある活性化パスのトレースを行なう。
実チップの遅延試験の際に信号が伝播した活性化パスが、遅延試験の際のテストパターンに基づき、高速に抽出される。
本実施形態の活性化パス抽出装置の機能構成を示すブロック図である。 本実施形態の活性化パス抽出装置におけるシミュレーション部によって得られる信号値変化ピン情報の例を示す図である。 本実施形態の活性化パス抽出装置におけるシミュレーション部によって得られるクロック制御系ピン情報の例を示す図である。 クロック制御系パスおよびクロック制御系ピンを説明するための図である。 グリッチを説明するための図である。 本実施形態の活性化パス抽出装置におけるグリッチ検出手法を説明するための図である。 本実施形態の活性化パス抽出装置における不定値設定手段としての機能を説明すべくセルライブラリ(Verilogソースコード)の要部記述を示す図である。 本実施形態の活性化パス抽出装置におけるパストレース部によるトレース動作を説明するための図である。 本実施形態の活性化パス抽出装置における処理の流れを説明するためのフローチャートである。 本実施形態の活性化パス抽出装置におけるパストレース部の動作を説明するためのフローチャートである。 (A)〜(H)は本実施形態の活性化パス抽出装置におけるパストレース部による活性化パスの深さ優先探索および計数動作を説明するための図である。 ディレイテストを含む一般的なチップの設計製造の手順を概略的に説明するためのフローチャートである。 ディレイテストを説明すべく試験対象の実チップ上の回路構成の例を示す図である。 解析対象パス毎に設定される特徴ベクトルの各ベクトル成分の定義を示す図である。 図14に示す特徴ベクトルの具体例を示す図である。 スピードパス解析結果の例を示す図である。
以下、図面を参照して実施の形態を説明する。
〔1〕本実施形態の活性化パス抽出装置の構成および機能
〔1−1〕全体構成
図1は、本実施形態の活性化パス抽出装置1の機能構成を示すブロック図である。この図1に示す活性化パス抽出装置1は、実チップに対するディレイテスト(遅延試験)時に信号が伝播した活性化パスを抽出する機能を果たす。この機能を実現するため、活性化パス抽出装置1は、一般的なパーソナルコンピュータ等の計算機から構成され、処理部10および記憶部20を有するほか、設計者によって操作され各種情報を本装置1に入力するマンマシンインタフェース(図示略)を有している。なお、処理部10は、CPU(Central Processing Unit)等であり、記憶部20は、RAM(Random Access Memory),ROM(Read Only Memory),ハードディスク等の内部記憶装置であってもよいし、外部記憶装置であってもよい。
処理部10は、活性化パス抽出プログラムを実行することにより、後述するシミュレーション部11およびパストレース部12としての機能を果たす。
また、記憶部20は、後述するディレイテスト結果データベース21,ネットリスト22,トグルピン情報リスト23,クロック制御系ピン情報リスト24および活性化パストレース結果データベース25を格納するとともに、設計者によって設定される各種情報や上記活性化パス抽出プログラムなども格納する。
〔1−2〕記憶部における保存データ
ディレイテスト結果データベース21は、図12および図13を参照しながら前述した手順で得られたディレイテスト結果を格納する。一回のディレイテストで得られたディレイテスト結果には、一組のテストパターン211およびフェイルリスト212が含まれている。これら一組のテストパターン211およびフェイルリスト212は、前記一回のディレイテストを特定する識別情報(ID)に対応付けられて、データベース21に保存される。
テストパターン211には、上述したように、ディレイテストで用いられた2つのテストベクトルと、これら2つのテストベクトルを入力した際に出力側FF102で得られるべき期待値と、ディレイテストで得られた遅延時間の測定値とが含まれている。ここで、遅延時間の測定値は、実チップ上の活性化パスにおいて信号が入力側FF101から出力側FF102までに到達する時間の測定値(図1中では“t [ps]”)である。
フェイルリスト212には、ディレイテストでフェイルした出力側FF102を特定する情報(FF名等)がリストアップされている。ここで、フェイルした出力側FF102とは、上述した通り、図12のステップS3で出力側FF102における値が所定スペックを満たしていないと判断された出力側FF102のことである。換言すれば、フェイルリスト212に登録された出力側FF102は、ディレイテストの結果、所定時間内に期待値を得られなかったFF、さらに換言すれば、実チップのディレイテストにおいて期待値と異なる値を出力したFFである。このような出力側FFのことを、以下では、「フェイルFF」という。
ネットリスト22は、設計(図12のステップS1)によって得られる設計データで、設計対象のチップ上におけるセル等の回路素子に関する情報や、セルの接続関係を含む、端子間の接続情報を保持している。ネットリスト22は、設計対象の回路を、セルライブラリ,サブモジュール,モジュールおよびチップとして階層的に記述するVerilogソースコードである(例えば図7参照)。
トグルピン情報リスト23は、後述するごとくシミュレーション部11によって特定された信号値変化ピンの情報を保存する。なお、信号値変化ピンとは、ディレイテスト時に信号値が変化したピンのことであり、「トグル(toggle)したピン」または「トグルピン」とも呼ばれる。ここで、信号値の変化とは、信号値が、0から1へ、1から0へ、0からx(不定値)へ、xから0へ、1からxへ、xから1へのうちのいずれか一つの変化を示すことである。そして、トグルピン情報リスト23には、例えば図2に示すように、トグルピンを特定する情報として、そのトグルピンのピン名もしくは識別情報(ID)がリストアップされ登録される。なお、図2は、シミュレーション部11によって得られるトグルピン情報(リスト23)の例を示す図である。
クロック制御系ピン情報リスト24は、後述するごとくシミュレーション部11によって特定されたクロック制御系ピンの値1または0を、例えば図3に示すように、そのクロック制御系ピンを特定するピン名(ピンID)に対応付けて保存する。ここで、クロック制御系ピンは、例えば、図4に示すように、クロック信号CKを各出力側FF102のクロック端子に入力する否かを制御する信号値を設定されるIH(inhibit)ピンである。なお、図3は、シミュレーション部11によって得られるクロック制御系ピン情報(リスト24)の例を示す図であり、図4は、クロック制御系パスおよびクロック制御系ピンを説明するための図である。
図4に示す例では、出力側FF102のクロック端子には、クロック信号CKとIHピンの信号値との論理和を出力するORゲート103が接続されている。このため、IHピンの信号値が1に設定された場合、クロック信号CKは、ORゲート103を通過できず出力側FF102のクロック端子に入力されるのを禁止される。一方、IHピンの信号値が0に設定された場合、クロック信号CKは、ORゲート103を通過し出力側FF102のクロック端子に入力される。
IHピンは、各種ゲートを含む組み合わせ回路(図示略)を介して入力側FF101に接続されており、入力側FF101からIHピンに到達するパスは、クロック制御系パスまたはIHパスと呼ばれる。本実施形態では、上述したIHパスと、入力側FF101から出力側FF102のデータピンに到達しデータが伝播するデータパスとが、活性化パスとして特定・抽出される対象になっている。
活性化パストレース結果データベース25は、後述するごとくパストレース部12が活性化パスのトレースを行なって得た、活性化パスに関する情報を保存する。活性化パスに関する情報は、例えば、活性化パスが通過したピンのピン名(ピンID)や活性化パスが通過したネットのネット名(ネットID)であり、これらの情報は、活性化パスを特定するパス名(パスID)に対応付けられてデータベース25に保存される。また、データベース25は、後述するごとくパストレース部12の計数機能によって得られた活性化パスの数も保存される。
〔1−3〕処理部の機能
次に、処理部10によって実現されるシミュレーション部11およびパストレース部12の機能について説明する。
〔1−3−1〕シミュレーション部の基本的な機能
シミュレーション部11は、実チップに対するディレイテスト時のテストパターン211と実チップのネットリスト22とに基づき、ディレイテストのシミュレーションを行なうことにより、ディレイテスト時に信号値が変化した信号値変化ピンを特定する。このとき、シミュレーション部11は、タイミングを考慮することなく、つまり遅延時間に関する情報を保持するSDF(Standard Delay Format)ファイルを用いることなく、ディレイテストのシミュレーションを行なう。
具体的に、シミュレーション部11は、実チップに対するディレイテストで用いられた2組のテストベクトルをデータベース21(テストパターン211)から読み出す。そして、シミュレーション部11は、これら2組のテストベクトルに基づく信号を、データベース21のネットリスト22に基づいて入力側FF101から出力側FF102へ伝播させる一連のディレイテスト動作を、タイミングを考慮することなくシミュレーションによって実行する。つまり、シミュレーション部11は、シミュレーションによって、1つ目のテストベクトルに基づく値を各ゲートの入力ピンや出力ピンにセットした後、所定時間間隔をあけた2回のクロックを発する。さらに、シミュレーション部11は、シミュレーションによって、1つ目のクロックエッジで2つ目のテストベクトルを入力側FF101からパス上へ出力(launch)してパスを活性化し、信号を入力側FF101から出力側FF102へ伝播させる。シミュレーション部11は、続く2つ目のクロックエッジで、出力側FF102に伝播した信号値を出力側FF102にキャプチャし、出力側FF102における値とテストパターン211から読み出された期待値とを比較し、これらの値の一致/不一致を判定する。
このとき、シミュレーション部11は、信号を入力側FF101から出力側FF102へ伝播させるシミュレーションを行ないながら、信号値が変化したトグルピンを特定し、特定したトグルピンのピン名を、図2に示すように、トグルピン情報リスト23に保存する。ここで、シミュレーション部11が信号値が変化したか否かの判定を行なう対象ピンは、例えば、入力側FF101の出力ピン,出力側FF102の入力ピン,入力側FF101と出力側FF102との間の各種ゲートの入力ピンおよび出力ピン,上述したIHピンなどである。
また、シミュレーション部11は、上述したシミュレーションにより、IHピンの値、特に本実施形態では2回目のクロックエッジでORゲート103のIHピン(図4参照)に設定された値を特定し、特定した値を、IHピンのピン名に対応付け、図3に示すように、クロック制御系ピン情報リスト24に保存する。このようにクロック制御系ピン情報リスト24に保存された情報と、トグルピン情報リスト23に保存された情報とは、後述するごとく、トレースすべき活性化パスを絞り込むための判定処理(図10のステップS31参照)に用いられる。
なお、シミュレーション部11は、シミュレーションによって得られた各出力側FF102の出力値とテストパターン211に含まれる期待値とを比較し、これらの出力値と期待値とが全て一致した場合、シミュレーションによって特定されリスト23,24に保存された活性化パスの情報を有効にしている。これにより、シミュレーション部11は、シミュレーションによって得られた情報の信頼性のチェックを行なっている。つまり、シミュレーション部11は、出力値と期待値とが全て一致した場合、シミュレーションの信頼性が確保されていると判断し、今回のシミュレーションで得られた情報を有効にし、以下の処理で利用する。一方、シミュレーション部11は、出力値と期待値とが一致しない場合、シミュレーションの信頼性が確保されていないと判断し、今回のシミュレーションで得られた情報を無効にし、シミュレーションを再度行なったりエラー通知を設計者等に通知したりする。
上述したように、シミュレーション部11は、遅延時間を考慮することなく実チップに対するディレイテストのシミュレーションを簡易的に行なって、ディレイテスト時における、入力側FF101と出力側FF102との間における各ピンの信号値の変化を追っている。このように、タイミングを考慮しないで行なう、ディレイテストのシミュレーションは、タイミングを考慮し遅延時間を算出しながら行なう、ディレイテストのシミュレーションに比べ、極めて高速に実行される。
〔1−3−2〕グリッチの検出手法および不定値設定手段の機能
ところで、複数の信号がゲートに入力される場合、これらの信号の微妙なタイミングずれによって、そのゲートの出力信号に、グリッチ(glitch)と呼ばれるノイズ波形が出現することがある。
ここで、図5を参照しながら、ANDゲート104の出力信号に出現するグリッチについて説明する。なお、図5はグリッチを説明するための図である。この図5に示すANDゲート104は、2つの入力ピンa,bから2つの入力信号を入力され、これら2つの入力信号の論理積結果を出力信号として出力ピンcから出力する。このようなANDゲート104に対して、0から1に立ち上がる第1入力信号と、1から0に立ち下がる第2入力信号とが、同じタイミングで、それぞれ入力ピンa,bから入力された場合について考える。
このとき、実チップ上において第1入力信号の立ち上がりタイミングと第2入力信号の立ち上がりタイミングとをできるかぎり一致させたとしても、微妙なタイミングずれは必ず発生する。このため、実チップ上のANDゲート104の出力ピンcから出力される信号には、図5の右上に示すように、微小な時間間隔で0→1→0と変化するグリッチが出現する可能性がある。
一方、シミュレーション部11がタイミングを考慮することなくディレイテストのシミュレーションを行なう場合、第1入力信号の立ち上がりタイミングと第2入力信号の立ち上がりタイミングとは完全に同一であるとして取り扱われる。このため、ANDゲート104の出力ピンcから出力される信号は、図5の右下に示すように、0のまま何ら変化を示さなくなる。つまり、以降のシミュレーションでは、ANDゲート104の出力ピンcに続くパスに、論理上、何ら信号が伝播していないものとして取り扱われることになり、グリッチの存在が無視され、グリッチが伝播する活性化パスの存在も無視されてしまう。
上述したグリッチ自体は、回路を動作させるために積極的に利用されるものではない。しかし、グリッチの出現は、回路における故障の要因になる可能性があるため、故障解析を行なう際にグリッチを無視することはできない。このため、タイミングを考慮しないディレイテストのシミュレーションを行ないながらも、グリッチによって信号値が変化するトグルピンを確実に特定し、グリッチが出現する可能性のあるパスを活性化パスとして抽出できるようにする必要がある。
そこで、本実施形態では不定値設定手段がそなえられている。この不定値設定手段は、シミュレーションの実行時に入力側FF101の出力ピンの信号値が変化する場合、その出力ピンの変化前の信号値と変化後の信号値との間に不定値xを所定時間txだけ設定する。そして、シミュレーション部11は、不定値設定手段によって不定値xを設定された信号値に基づいて、タイミングを考慮することなくディレイテストのシミュレーションを行なう。これにより、後述するごとく、シミュレーション部11は、通常の信号伝播によって信号値が変化するトグルピンのみならず、グリッチによって信号値が変化するトグルピンを特定することが可能になる。
ここで、図6および図7を参照しながら、本実施形態でのグリッチ検出手法について具体的に説明する。なお、図6は、本実施形態におけるグリッチ検出手法を説明するための図、図7は、本実施形態における不定値設定手段としての機能を説明すべくセルライブラリの要部記述を示す図である。
不定値設定手段は、入力側FFの出力ピンの信号値が0から1に立ち上がる場合や1から0に立ち下がる場合、例えば図6の左側に示すように、信号値0と1との間や信号値1と0との間に不定値xを所定時間txだけ設定する。つまり、入力側FFの出力ピンの信号値が0から1に立ち上がる場合、出力ピンの信号値は0を示した後に所定時間txだけ不定値xを維持してから1に変化する(0→x→1)。また、入力側FFの出力ピンの信号値が1から0に立ち下がる場合、出力ピンの信号値は1を示した後に所定時間txだけ不定値xを維持してから0に変化する(1→x→0)。このとき、所定時間txは、ネットリスト22における各セルの内部遅延値よりも長く且つシミュレーションでのクロック周期(2発のクロックの時間間隔)よりも短く設定されるが、その理由については後述する。
不定値設定手段としての機能は、例えば図7に示すように、入力側FFを定義するVerilogソースコードの記述によって実現される。この記述は、実チップのネットリスト22に含まれている。図7に示す記述のうち、符号Aで示す領域の記述は、上記不定値設定手段としての機能を実現するための記述である。具体的に、この領域Aでは、出力mと入力dとが異なる場合つまりFFの出力ピンの値が変化する場合、不定値xを10単位時間だけ出力mに代入してから入力dを出力mに代入することが定義されている。
また、不定値設定手段を定義する記述は、シミュレーション部11がディレイテストのシミュレーションを実行すべく入力側FFの定義記述をネットリスト(セルライブラリ)22から読み出した際に、入力側FFを定義する記述に対し新たに追加されるか、入力側FFの定義記述を修正することにより追加される(図9のステップS10参照)。このように入力側FFの定義記述が読み出されたことを判定しその定義記述に不定値設定手段を定義する記述を自動的に追加する機能は、例えば、処理部10が上記活性化パス抽出プログラムを実行することにより実現される。そして、シミュレーション部11が、不定値設定手段を定義する記述を追加された入力側FFの定義記述に基づいて、入力側FFの動作をシミュレートすることにより、上述した不定値設定手段としての機能がシミュレーション部11において実現される。
図6に示すように、不定値設定手段によって不定値xを設定された第1入力信号および第2入力信号が、それぞれ、入力ピンa,bからANDゲート104に入力されると、このANDゲート104の出力ピンcからは、グリッチに対応する信号波形が出力される。このグリッチに対応する信号波形による信号値は、0を示した後に所定時間txだけ不定値xを維持してから0に戻る(0→x→0)。このように不定値xを含む信号波形は、ANDゲート104以降のパスを伝播することになり、不定値xを含む信号波形が通過したピンは、シミュレーション部11によって、トグルピンとして特定されることになる。
ここで、上述した第1入力信号や第2入力信号のごとく、不定値xを入力側FFの出力ピンの変化前信号値と変化後信号値との間に不定値xを設定する理由について説明する。
例えば、文献R. Guo, W.-T. Cheng, K.-H. Tsai, “Speed-Path Debug Using At-Speed Scan Test Patterns”, IEEE Conference 2009 Papers (URL: http://www.mentor.com/products/silicon-yield/ieee_conference_papers/)には、入力側の信号値が0から1へまたは1から0へ変化する際(0→1または1→0)、信号値の変化先を不定値xに置き換えてシミュレーションを行ない、不定値xが伝播したデータパスを、ノイズを含めた信号が伝播したパスとして探索することが記載されている。
しかし、上記文献のごとく入力側の信号値を不定値xに変化させてシミュレーションを行なって不定値xが伝播したパスを探索する場合、データパスを探索対象とすることはできるが、IHパスのごときクロック制御系パスを探索対象とすることはできない。例えば図4に示す回路構成において、不定値xが入力側からIHパスを伝播してIHピンに到達し維持されると、不定値xが出力側FF102のクロック端子に入力されることになるため、シミュレーション部11はシミュレーションを正常に実行することができなくなる。
そこで、本実施形態では、入力側FF101から各パスへ出力される信号値が変化する場合、不定値設定手段の機能により、変化前信号値と変化後信号値との間に不定値xが所定時間txだけ設定される。これにより、各パスを伝播する信号値は、不定値xに維持されたままになることがなく、不定値xを所定時間txだけ維持した後、必ず0または1に変化する。
つまり、入力側FF101から各パスへ出力される信号値は、0→x→1または1→x→0のいずれかの変化を示すので、各パスを伝播する信号値は、各種ゲートの通過に伴って、0→x→1,1→x→0,0→x→0,1→x→1のいずれかの変化を示しながら、データピンまたはIHピンに到達する。
したがって、本活性化パス抽出装置1では、データピンやIHピンに到達した信号値は不定値xに維持され続けることがないので、シミュレーションの正常な動作を阻害することなく、データパスとIHパスとの両方を、活性化パスとして特定・抽出される対象にすることができる。
次に、変化前信号値と変化後信号値との間において不定値xを維持する時間、つまり上記所定時間txについて説明する。
所定時間txがネットリスト22における各セルの内部遅延値以下であると、不定値xを含む信号波形、例えば図6に示すグリッチに対応する信号波形(0→x→0)は、セルの内部遅延によって吸収される。このため、セルの出力信号から、不定値xを含む信号波形は消えてしまう。したがって、ネットリスト22におけるVerilogソースコード中の各セルの内部遅延値がチェックされ、最大の内部遅延値よりも長くなるように上記所定時間txは決定される。これにより、各セルにおいて不定値xを含む信号波形が消えてしまうのを抑止でき、不定値xを含む信号波形は、各パスを確実に伝播する。
また、所定時間txが、シミュレーションでのクロック周期Tつまり上述した2発のクロックの時間間隔T以上であると、その時間間隔Tの間中、不定値xが維持されることになる。この場合、IHパスおよびIHピンから出力側FF102のクロック端子に不定値xが入力されてしまい、シミュレーション部11はシミュレーションを正常に実行することができなくなる。したがって、クロック周期Tよりも短くなるように上記所定時間txは決定される。これにより、出力側FF102のクロック端子に不定値xが入力されるのを抑止でき、シミュレーションの正常な動作を阻害することなく、データパスとIHパスとの両方を、活性化パスとして特定・抽出される対象にすることができる。
上述のように、本実施形態では、タイミングを考慮しないシミュレーションにおいて、グリッチが、不定値xを所定時間だけ維持する信号波形として出現するようになる。これにより、シミュレーション部11は、高速なシミュレーションを行ないながら、グリッチによる信号値変化も見逃すことなく、信号値変化ピン(トグルピン)を確実に特定し、そのピン名をトグルピン情報リスト23にリストアップすることができる。また、同様にして、2回目のクロックエッジでORゲート103のIHピンに設定された値を確実に特定し、その値をIHピンのピン名に対応付けてクロック制御系ピン情報リスト24に保存することができる。
〔1−3−3〕パストレース部の機能
パストレース部12は、トグルピン情報リスト23にリストアップされたトグルピンのピン名と、実チップのネットリスト22とに基づき、トグルピンを辿ることにより、活性化パスのトレースを行なう。
具体的に、パストレース部12は、フェイルリスト212からターゲットのフェイルFF(出力側FF)を一つ選択し、選択したフェイルFFのトグルピンをトグルピン情報リスト23から検索し、一のトグルピン(データピンまたはIHピン)を起点として選択する。パストレース部12は、図8に示すように、起点として選択されたトグルピンから入力側FFへ向かうバックワードトレースを行なう。なお、図8は、パストレース部12によるトレース動作を説明するための図である。また、トレースに際しては、例えば深さ優先探索が用いられる。この深さ優先探索については、図11を参照しながら後述する。
このとき、パストレース部12は、上記起点に物理的に接続されているピンをネットリスト22から探索し、探索されたピンのうち、トグルピンとしてトグルピン情報リスト23に登録されているピンを探索する。以下、同様に、パストレース部12は、探索されたトグルピンよりも入力側で同トグルピンに物理的に接続されているピンをネットリスト22から探索し、探索されたピンのうち、トグルピンとしてトグルピン情報リスト23に登録されているピンを探索する。パストレース部12は、同様の処理を、トレース中の活性化パスが入力側FFの入力ピンに到達するまで繰り返し実行する。
このようにして、パストレース部12は、トグルピンを辿ることにより、活性化パスのバックワードトレースを行なう。また、パストレース部12は、バックワードトレースを行ないながら、活性化パスが通過したピン/ネットのピン名/ネット名を取得する。そして、パストレース部12は、取得されたピン名/ネット名を、フェイルFFの入力ピンから入力側FFの出力ピンまでの一本の活性化パスに関する情報として、その活性化パスを特定するパス名に対応付けて活性化パストレース結果データベース25に保存する。
〔パストレース部の判定機能〕
パストレース部12は、以下に説明する判定機能をそなえ、トレースすべき活性化パスの絞り込みを行なってもよい。以下では、パストレース部12が、上記判定機能をそなえ上記絞り込みを行なう場合について説明する。
判定機能は、トグルピン情報リスト23におけるトグルピンの情報と、クロック制御系ピン情報リスト24における各IHピンでの値とに基づき、フェイルFFへのデータパスおよびIHパスのいずれのパスが故障に関わる可能性があるかを判定する機能を有している。そして、パストレース部12は、その判定機能によって故障に関わる可能性があると判定されたパスを接続された、フェイルFFのトグルピンを起点にして、その起点から当該パスのバックワードトレースを上述と同様にして行なう。
上述したパストレース部12の判定機能について、より詳細に説明する。
フェイルFFの故障要因となるパスとしては、図4に示すように、フェイルFF102のDピンに繋がるデータパスと、IHピンおよびORゲート103を介してフェイルFF102のクロック端子に繋がるIHパスとの2つが挙げられる。ディレイテストで出力側FF102がフェイルするケースとしては、以下の3つのケース1〜3が考えられる。
ケース1: データパスからDピンへの信号伝播が間に合わない場合、つまりデータパスが故障要因である場合。
ケース2: IHパスからIHピンへの信号伝播が間に合わない場合、つまりIHパスが故障要因である場合。
ケース3: ケース1かケース2かを判別できない場合、つまりデータパスもIHパスも故障要因になりうる場合。
上記判定機能は、トグルピン情報リスト23におけるトグルピンの情報と、クロック制御系ピン情報リスト24における各IHピンでの値とに基づき、フェイルFFが上述したケース1〜3のいずれに相当するかを判定する。なお、クロック制御系ピン情報リスト24における各IHピンでの値は、前述したように、2回目のクロックエッジでIHピンに設定された値(図3参照;以下「IH2」と表記)である。
ここで、例えば、図4に示す回路構成において、クロックCKの立ち下がり(1→0)時に出力側FF102がデータを格納する場合について考える。このような場合、上記判定機能による、ケース1〜3の判定は、以下のように行なわれる。なお、ここで説明する判定例は、あくまで一例であり、回路の仕様によって、判定を行なうプログラム内のIH2等の判定基準値は変わる。
IH2=0且つIHピンがトグルしている場合、つまりクロック制御系ピン情報リスト24に保存されたIHピンの値IH2が0で且つIHピンのピン名がトグルピン情報リスト23に登録されている場合、フェイルFFはケース3に相当すると判定される。このとき、上記判定機能は、データパスもIHパスも故障要因になりうるものと判定し、データパスおよびIHパストレースの両方を、トレースすべき活性化パスとする。
IH2=0且つIHピンがトグルしていない場合、つまりクロック制御系ピン情報リスト24に保存されたIHピンの値IH2が0で且つIHピンのピン名がトグルピン情報リスト23に登録されていない場合、フェイルFFはケース1に相当すると判定される。このとき、上記判定機能は、データパスが故障要因になりうるものと判定し、データパスをトレースすべき活性化パスと判定する。
IH2=1の場合、つまりクロック制御系ピン情報リスト24に保存されたIHピンの値IH2が1である場合、そのIHピンのピン名がトグルピン情報リスト23に登録されているか否かに関わらず、フェイルFFはケース2に相当すると判定される。このとき、上記判定機能は、IHパスが故障要因になりうるものと判定し、IHパスをトレースすべき活性化パスと判定する。
このようにパストレース部12の判定機能により、トレースすべき活性化パスが絞り込まれ、絞り込まれた活性化パスについてトレースが行なわれるので、スピードパス解析を行なう際に必要になる活性化パスの情報が、高速かつ確実に抽出される。
〔パストレース部の計数機能〕
パストレース部12は、トグルピン情報リスト23にリストアップされたトグルピンのピン名と、実チップのネットリスト22とに基づき、トグルピンを辿ることにより、活性化パスの数、つまり一つのフェイルFFから入力側FFに到る活性化パスの数を計数する機能を有している。この計数機能によって得られた計数値は、活性化パストレース結果データベース25に保存される。
この計数機能によるパス数の計数処理は、パストレース部12が活性化パスのバックワードトレースを行なって活性化パスの通過したピン/ネットの情報を取得するトレース処理と同時に実行されてもよい。
また、上記計数処理は、上記トレース処理と別個に実行されてもよい。例えば、上記トレース処理を実行する前に上記計数処理のみを実行して、フェイルFF毎に、トレースされるべき活性化パスの数を計数する。これにより、設計者は、各フェイルFFの活性化パスの数を参照して、どのフェイルFFをターゲットにして活性化パスのトレースを行なうかなどの各種判断を、上記トレース処理の開始前に行なうことができる。
具体的に、パストレース部12の計数機能は、上述したトレース処理と同様、フェイルFFのトグルピンを起点にして、その起点から、深さ優先探索を行ない、各ピンに対し、そのピンよりも深い側の活性化パスの本数をラベルとして付与しながらトグルピンを辿ることにより、活性化パスの数を計数する。この計数処理については、図11を参照しながら詳述する。
〔2〕本実施形態の活性化パス抽出装置の動作
次に、上述のごとく構成された本実施形態の活性化パス抽出装置1の具体的な機能や動作について、図9〜図11を参照しながら説明する。
〔2−1〕活性化パス抽出装置における処理の流れ
まず、図9に示すフローチャート(ステップS10〜S30)に従って、活性化パス抽出装置1における処理の流れについて説明する。
実チップに対するディレイテストが行なわれると、ディレイテストで用いられたテストパターン211とディレイテストによって得られたフェイルリスト212とが、記憶部20のディレイテスト結果データベース21に格納される。また、記憶部20には、実チップの設計データ(Verilogソースコード)であるネットリスト22が格納される。ネットリスト22には、各セルを定義するセルライブラリが含まれている。
このように各種データが記憶部20に格納されると、シミュレーション部11およびパストレース部12により、以下のような手順で活性化パスが抽出される。
まず、シミュレーション部11により、ディレイテストのシミュレーションを実行すべく、テストパターン211およびネットリスト(セルライブラリ)22から必要なデータが読み出される。このとき、入力側FFの定義記述がネットリスト22から読み出されると、シミュレーション部11により、上記不定値設定手段を定義する記述(例えば図7の領域A参照)が、入力側FFを定義する記述に対し追加・修正される。つまり、グリッチを検出するためのソースコード記述が追加・修正される(ステップS10)。
この後、ステップS20において、シミュレーション部11により、実チップに対するディレイテスト時のテストパターン211と実チップのネットリスト22とに基づき、ディレイテストのシミュレーションが、タイミングを考慮することなく実行される。これにより、シミュレーション部11により、ディレイテスト時に信号値が変化したトグルピンが特定され、そのトグルピンのピン名がトグルピン情報リスト23に保存される(図2参照)。
このとき、シミュレーション部11が、不定値設定手段を定義する記述を追加された入力側FFの定義記述に基づいて、入力側FFの動作をシミュレートすることにより、上記不定値設定手段としての機能がシミュレーション部11において実現される。つまり、入力側FFの出力ピンの信号値が0から1に立ち上がる場合や1から0に立ち下がる場合、不定値設定手段により、例えば図6の左側に示すように、信号値0と1との間や信号値1と0との間に不定値xが所定時間txだけ設定される。
このように不定値設定手段によって不定値xを設定された信号が、各パスに入力されると、図6を参照しながら上述したように、タイミングを考慮しないシミュレーションにおいて、グリッチが、不定値xを所定時間だけ維持する信号波形として出現する。このように不定値xを含む信号波形はグリッチの発生したセル以降のパスを伝播する。このため、不定値xを含む信号波形が通過したピンは、シミュレーション部11によって、トグルピンとして特定され、特定したトグルピンのピン名はトグルピン情報リスト23に保存される。
また、ステップS20においては、シミュレーション部11により、2回目のクロックエッジでクロック制御系ピン(例えばIHピン;図4参照)に設定された値が特定され、その値が、IHピンのピン名に対応付け、クロック制御系ピン情報リスト24に保存される(図3参照)。
シミュレーション部11により、以上のようなシミュレーションが行なわれると、シミュレーションによって得られた各出力側FFの出力値とテストパターン211に含まれる期待値とが比較される。これらの出力値と期待値とが全て一致した場合、シミュレーションの信頼性が確保されていると判断され、シミュレーションによって特定されリスト23,24に保存された活性化パスの情報が、以降のパストレース処理に用いられる。これらの出力値と期待値とが一致しない場合、シミュレーションの信頼性が確保されていないと判断され、今回のシミュレーションで得られた情報が無効にされ、シミュレーションが再度行なわれたりエラー通知が行なわれたりする。
シミュレーション部11によるディレイテストのシミュレーションによって、記憶部20におけるトグルピン情報リスト23およびクロック制御系ピンリスト24に、必要な情報が保存されると、パストレース部12によるトレース処理が、フェイルFFに対して実行される(ステップS30)。そして、このトレース処理によって取得された活性化パスの情報、例えば、活性化パスが通過したピン/ネットのピン名/ネット名や、活性化パスの数が、活性化パスを特定するパス名に対応付けられて活性化パストレース結果データベース25に保存される。
〔2−2〕パストレース処理
次に、図10に示すフローチャート(ステップS31,S32)に従って、パストレース部12の動作つまり図9のステップ30におけるパストレース処理について説明する。
上述のように、シミュレーション部11によるディレイテストのシミュレーションが行なわれ、トグルピン情報リスト23およびクロック制御系ピンリスト24に、必要な情報が保存されると、パストレース部12によるパストレース処理が開始される。
まず、ステップS31において、パストレース部12により、フェイルリスト212からターゲットのフェイルFF(出力側FF)が一つ選択される。そして、パストレース部12の判定機能により、選択されたフェイルFFが、データパスとクロック制御系パス(IHパス)とのどちらが原因でフェイルしたかが判定される。この判定は、上述したように、トグルピン情報リスト23におけるトグルピンの情報と、クロック制御系ピン情報リスト24における各IHピンでの値とに基づいて行なわれる。この判定により、活性化パスのトレース対象が、故障要因であると判定された、データパスとIHパスとの少なくとも一方に絞り込まれる。
そして、ステップS32において、判定機能によってフェイルの原因であると判定されたパスを接続された、フェイルFFのトグルピンを起点にして、その起点から当該パスのバックワードトレースが実行される。このとき、パストレース部12により、上記起点に物理的に接続されているピンがネットリスト22から探索され、探索されたピンのうち、トグルピンとしてトグルピン情報リスト23に登録されているピンが探索される。以下、同様に、パストレース部12により、探索されたトグルピンよりも入力側で同トグルピンに物理的に接続されているピンがネットリスト22から探索され、探索されたピンのうち、トグルピンとしてトグルピン情報リスト23に登録されているピンが探索される。同様の処理は、トレース中の活性化パスが入力側FFの入力ピンに到達するまで繰り返し実行される。
このようにして、パストレース部12により、トグルピンを辿ることで、活性化パスのバックワードトレースが行なわれる。このとき、パストレース部12は、バックワードトレースを行ないながら、活性化パスが通過したピン/ネットのピン名/ネット名を取得する。取得されたピン名/ネット名は、パストレース部12により、フェイルFFの入力ピンから入力側FFの出力ピンまでの一本の活性化パスに関する情報として、その活性化パスを特定するパス名に対応付けられて活性化パストレース結果データベース25に保存される。
〔2−3〕活性化パスの深さ優先探索および計数処理
次に、図11(A)〜図11(H)を参照しながら、パストレース部12によって実行される活性化パスの深さ優先探索および計数動作(計数機能)について、具体的に説明する。なお、図11(A)は、以下の説明において深さ優先探索および計数処理の対象となる活性化パスの全体構成の一例を示す図である。また、図11(B)〜図11(H)は、図11(A)に示す活性化パスに対して実行されるパストレース部12による深さ優先探索および計数動作の手順の一例を説明するための図である。ただし、本件の深さ優先探索および計数処理の対象や手順は、図11(A)〜図11(H)に示す例に限定されるものではない。
なお、図11(A)〜図11(H)において、右側の矩形ブロックは、バックワードトレースの起点となるトグルピンを有するフェイルFFを示し、左側の矩形ブロックは、バックワードトレースにより活性化パスが到達する入力側FFを示す。また、丸ブロックは、活性化パスが通過したトグルピンを示す。各ブロック内の符号は、FF名またはピン名を示す。つまり、フェイルFFのFF名はF0であり、7つの入力側FFのFF名はそれぞれF1〜F7である。また、フェイルFFのトグルピンのピン名はp0であり、フェイルFFと7つの入力側FFとの間で活性化パスが通過する5つのピンのピン名はそれぞれp1〜p5である。
さらに、図11(B),図11(D)〜図11(H)における太実線は、深さ優先探索の各手順で始めて探索されたパスを示す。また、図11(C)〜図11(H)において、ピンを示す各丸ブロックに付された吹き出しブロックは、そのピンよりも深い側の活性化パスの本数を、パストレース部12によって記入されるラベルを示す。各ラベルは、実際には、記憶部20において各ピンのピン名に対応付けられて保存される。
まず、パストレース部12は、図11(B)の矢印A1で示すように、起点となるフェイルFF(F0)のトグルピンp0から深さ方向(図中左方向;入力側)へ向かいトグルピンの探索を実行し、ピンp1,p3経由で入力側FF(F1)に到達する。これにより、経路p0→p1→p3→F1が1本目の活性化パスとしてトレースされる。そして、パストレース部12は、図11(C)の矢印A2で示すように、入力側FF(F1)に繋がるピンp3に戻り、ピンp3のラベルに計数値1を記入してから、ピンp3よりも深い側におけるF1以外の入力側FFまたはトグルピンを探索する。
図11(A)に示す例ではピンp3にはF1以外にF2が接続されているので、パストレース部12は、図11(D)の矢印A3で示すように、F2を探索する。これにより、経路p0→p1→p3→F2が2本目の活性化パスとしてトレースされる。そして、パストレース部12は、同図の矢印A4で示すようにピンp3に戻り、ピンp3での計数値1に1を加算することにより、ピンp3のラベルに、このピンp3よりも深い側の活性化パスの本数2を記入する。
ピンp3にはF1,F2以外に入力側FFやトグルピンは接続されていないので、パストレース部12は、図11(E)の矢印A5で示すように、ピンp1に戻り、ピンp1のラベルにピンp3での計数値2を記入してから、ピンp1よりも深い側におけるピンp3以外のトグルピン等を探索する。図11(A)に示す例ではピンp1にはピンp3以外にピンp4が接続されているので、パストレース部12は、ピンp4を探索し、さらに図11(E)の矢印A6〜A8で示すように、ピンp4よりも深い側におけるF3,F4を探索する。これにより、経路p0→p1→p4→F3および経路p0→p1→p4→F4が3本目および4本目の活性化パスとみなされる。この時点で、ピンp4のラベルには、このピンp4よりも深い側の活性化パスの本数2が記入される。
ピンp4にはF3,F4以外に入力側FFやトグルピンは接続されていないので、パストレース部12は、図11(F)の矢印A9で示すように、ピンp1に戻る。そして、パストレース部12は、ピンp1での計数値2にピンp4での計数値2を加算することにより、ピンp1のラベルに、このピンp1よりも深い側の活性化パスの本数4を記入する。また、ピンp1にはピンp3,p4以外のトグルピンは接続されていないので、パストレース部12は、同図の矢印A10で示すように、ピンp0に戻り、ピンp0のラベルにピンp1での計数値4を記入してから、ピンp0よりも深い側におけるピンp1以外のトグルピン等を探索する。図11(A)に示す例ではピンp0にはピンp1以外にピンp2が接続されているので、パストレース部12は、図11(F)の矢印A11で示すように、ピンp2を探索する。
パストレース部12は、ピンp2を探索すると、図11(G)の矢印A12〜A14に示すように、ピンp2よりも深い側における3つのピンp3〜p5を順に探索する。パストレース部12は、ピンp3を探索すると、ピンp3よりも深い側の活性化パスの探索を既に完了しているので、その探索を行なわず、ピンp3での計数値2をピンp2のラベルに記入する。ついで、パストレース部12は、ピンp4を探索すると、ピンp4よりも深い側の活性化パスの探索も既に完了しているので、その探索を行なわず、ピンp4での計数値2をピンp2での計数値2に加算し、ピンp2のラベルにおける計数値として4を記入する。
さらに、パストレース部12は、ピンp5を探索すると、図11(H)の矢印A15〜A18に示すように、ピンp5よりも深い側における3つの入力側FF(F5〜F7)を順に探索する。これにより、経路p0→p2→p5→F5,経路p0→p2→p5→F6および経路p0→p2→p5→F7が活性化パスとしてトレースされる。この時点で、ピンp5のラベルには、このピンp5よりも深い側の活性化パスの本数3が記入される。
ピンp5にはF5〜F7以外に入力側FFやトグルピンは接続されていないので、パストレース部12は、図11(H)の矢印A19で示すように、ピンp2に戻り、ピンp2での計数値4にピンp5での計数値3を加算することにより、ピンp2のラベルに、このピンp2よりも深い側の活性化パスの本数7を記入する。また、ピンp2にはピンp3〜p5以外のトグルピンは接続されていないので、パストレース部12は、同図の矢印A20で示すように、ピンp0に戻る。そして、パストレース部12は、ピンp0での計数値4にピンp2での計数値7を加算することにより、ピンp0のラベルに、このピンp0よりも深い側の活性化パスの本数11を記入する。そして、ピンp0にはピンp1,p2以外のトグルピンは接続されていないので、この時点で、パストレース部12は、フェイルFF(F0)についての活性化パスの深さ優先探索および計数処理を完了する。つまり、図11(A)に示すフェイルFF(F0)について、活性化パスの数として11が計数される。
このように、パストレース部12は、計数対象のフェイルFFのトグルピンから、深さ優先探索を行ない、各ピンに対し、そのピンよりも深い側の活性化パスの本数をラベルとして付与しながらトグルピンを辿り、活性化パスの数を計数する。このとき、パストレース部12は、バックワードトレースによって、計数値を記入されたラベルを付与されたピンに到達した場合、そのピン以降のトレースを行なうことなくそのピンに付与されたラベルに記入された計数値を読み出し、そのピンよりも浅い側のピンのラベルに記入された計数値に加算する。これにより、極めて高速に活性化パスの計数を行なうことができる。このようにして計数された計数値つまり活性化パスの数は、活性化パストレース結果データベース25に保存される。
〔3〕本実施形態の活性化パス抽出装置の効果
本実施形態では、シミュレーション部11は、遅延時間を考慮することなく実チップに対するディレイテストのシミュレーションを簡易的に行なって、ディレイテスト時における、入力側FF101と出力側FF102との間における各ピンの信号値の変化を追っている。これにより、実チップのディレイテスト時に信号が伝播した活性化パスが、ディレイテスト時のテストパターンに基づき、高速に抽出される。特に、フェイルFFをトレース対象とすることにより、スピードパス解析を行なう際に必要な、フェイルFFの遅延つまり故障に関わる可能性の高い活性化パスが、高速かつ確実に抽出される。これにより、故障診断に要する時間やコストを大幅に削減することができる。このとき、シミュレーション部11は、出力値と期待値とが全て一致した場合に、シミュレーションで得られた情報を有効にするので、シミュレーションの信頼性が確保される。
また、本実施形態では、タイミングを考慮しないシミュレーションにおいて、グリッチが、不定値xを所定時間だけ維持する信号波形として出現するようになる。これにより、シミュレーション部11は、高速なシミュレーションを行ないながら、グリッチによる信号値変化も見逃すことなく、トグルピンを確実に特定し、そのピン名をトグルピン情報リスト23にリストアップすることができる。したがって、グリッチを加味した故障診断を行なうことが可能であり、故障診断の信頼性も向上することになる。
さらに、本実施形態では、データピンやIHピンに到達した信号値は不定値xに維持され続けることがないので、シミュレーションの正常な動作を阻害することなく、データパスとIHパスとの両方を、活性化パスとして特定・抽出される対象にすることができる。また、パストレース部12の判定機能により、トレースすべき活性化パスが絞り込まれ、絞り込まれた活性化パスについてトレースが行なわれるので、スピードパス解析を行なう際に必要になる活性化パスの情報が、より高速かつ確実に抽出される。
また、活性化パスの計数処理をトレース処理を実行する前に実行して、フェイルFF毎に、トレースされるべき活性化パスの数を計数することにより、設計者は、各フェイルFFの活性化パスの数を参照して、どのフェイルFFをターゲットにして活性化パスのトレースを行なうかなどの各種判断を、トレース処理の開始前に行なうことができる。
計数処理に際して、パストレース部12は、深さ優先探索によるバックワードトレースで、計数値を記入されたラベルを付与されたピンに到達すると、そのピン以降のトレースを行なうことなくそのピンに付与されたラベルに記入された計数値を読み出し、そのピンよりも浅い側のピンのラベルに記入された計数値に加算する。これにより、極めて高速に活性化パスの計数を行なうことができる。
〔4〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、係る特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
なお、上述した実施形態において、パストレース部12は、出力側FF102から入力側FF101へ向かうバックワードトレースによって活性化パスのトレースを行なっているが、入力側FF101から出力側FF102へ向かうフォワードトレースによって活性化パスのトレースを行なってもよい。また、上述した実施形態において、パストレース部12は、深さ優先探索によって活性化パスのトレースを行なっているが、幅優先探索によって活性化パスのトレースを行なってもよい。
また、上述したシミュレーション部11およびパストレース部12としての機能や、不定値設定手段を定義する記述を自動的に追加する機能の全部もしくは一部は、コンピュータ(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およびパストレース部12の機能や、不定値設定手段を定義する記述を自動的に追加する機能を実現させるプログラムコードを含んでいる。また、その機能の一部は、アプリケーションプログラムではなくOSによって実現されてもよい。
〔5〕付記
以上の本実施形態を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
実チップに対する遅延試験の際に信号が伝播した活性化パスを抽出するコンピュータに、
前記遅延試験の際のテストパターンと前記実チップのネットリストとに基づき前記遅延試験のシミュレーションを行なうことにより、前記遅延試験の際に信号値が変化した信号値変化ピンを特定し、
前記シミュレーションによって特定された前記信号値変化ピンと前記実チップのネットリストとに基づき前記信号値変化ピンを辿ることにより、前記活性化パスのトレースを行なう、
処理を実行させる活性化パス抽出プログラム。
(付記2)
前記シミュレーションの実行時に入力側フリップフロップまたはラッチの出力ピンの信号値が変化する場合、前記出力ピンの変化前の信号値と変化後の信号値との間に不定値を所定時間だけ設定し、
前記不定値を設定された信号値に基づき、タイミングを考慮することなく前記シミュレーションを行なうことにより、前記信号値変化ピンを特定する、
処理を、前記コンピュータに実行させる、付記1記載の活性化パス抽出プログラム。
(付記3)
前記不定値を設定する機能は、前記実チップのネットリストに含まれる、前記入力側フリップフロップまたはラッチを定義するソースコードの記述によって実現される、付記2記載の活性化パス抽出プログラム。
(付記4)
前記所定時間は、前記ネットリストにおける各セルの内部遅延値よりも長く且つ前記シミュレーションでのクロック周期よりも短く設定される、付記2または付記3記載の活性化パス抽出プログラム。
(付記5)
前記シミュレーションによって得られた出力値と前記テストパターンに含まれる期待値とを比較し、これらの出力値と期待値とが一致した場合、前記シミュレーションによって特定された前記活性化パスの情報を有効にする処理を、前記コンピュータに実行させる、付記1〜付記4のいずれか一項に記載の活性化パス抽出プログラム。
(付記6)
前記実チップの前記遅延試験において期待値と異なる値を出力した出力側フリップフロップまたはラッチの信号値変化ピンを起点にして、前記トレースを行なう処理を、前記コンピュータに実行させる、付記1〜付記5のいずれか一項に記載の活性化パス抽出プログラム。
(付記7)
前記シミュレーションにより、出力側フリップフロップまたはラッチのクロック制御系ピンの値を特定し、
前記シミュレーションによって特定された、前記信号値変化ピンと前記クロック制御系ピンの値とに基づき、前記実チップの前記遅延試験において期待値と異なる値を出力した出力側フリップフロップまたはラッチへのデータパスおよびクロック制御系パスのいずれのパスが故障に関わる可能性があるかを判定し、故障に関わる可能性のあるパスに係る信号値変化ピンを起点にして、故障に関わる可能性のある活性化パスのトレースを行なう、
処理を、前記コンピュータに実行させる、付記1〜付記5のいずれか一項に記載の活性化パス抽出プログラム。
(付記8)
前記起点から深さ優先探索によって前記トレースを行なう処理を、前記コンピュータに実行させる、付記6または付記7に記載の活性化パス抽出プログラム。
(付記9)
前記信号値変化ピンを辿ることにより、前記活性化パスの数を計数する処理を、前記コンピュータに実行させる、付記1〜付記8のいずれか一項に記載の活性化パス抽出プログラム。
(付記10)
対象フリップフロップまたはラッチの信号値変化ピンから深さ優先探索を行ない、各ピンに対し、そのピンよりも深い側の活性化パスの本数をラベルとして付与しながら前記信号値変化ピンを辿ることにより、前記活性化パスの数を計数する処理を、前記コンピュータに実行させる、付記9記載の活性化パス抽出プログラム。
(付記11)
実チップに対する遅延試験の際に信号が伝播した活性化パスを抽出する活性化パス抽出装置であって、
前記遅延試験の際のテストパターンと前記実チップのネットリストとに基づき前記遅延試験のシミュレーションを行なうことにより、前記遅延試験の際に信号値が変化した信号値変化ピンを特定するシミュレーション部と、
前記シミュレーション部によって特定された前記信号値変化ピンと前記実チップのネットリストとに基づき前記信号値変化ピンを辿ることにより、前記活性化パスのトレースを行なうパストレース部とを有する活性化パス抽出装置。
(付記12)
前記シミュレーションの実行時に入力側フリップフロップまたはラッチの出力ピンの信号値が変化する場合、前記出力ピンの変化前の信号値と変化後の信号値との間に不定値を所定時間だけ設定する不定値設定手段をさらに有し、
前記シミュレーション部は、前記不定値設定手段によって前記不定値を設定された信号値に基づき、タイミングを考慮することなく前記シミュレーションを行なうことにより、前記信号値変化ピンを特定する、付記11記載の活性化パス抽出装置。
(付記13)
前記不定値設定手段としての機能は、前記実チップのネットリストに含まれる、前記入力側フリップフロップまたはラッチを定義するソースコードの記述によって実現される、付記12記載の活性化パス抽出装置。
(付記14)
前記所定時間は、前記ネットリストにおける各セルの内部遅延値よりも長く且つ前記シミュレーションでのクロック周期よりも短く設定される、付記12または付記13記載の活性化パス抽出装置。
(付記15)
前記シミュレーション部は、前記シミュレーションによって得られた出力値と前記テストパターンに含まれる期待値とを比較し、これらの出力値と期待値とが一致した場合、前記シミュレーションによって特定された前記活性化パスの情報を有効にする、付記11〜付記14のいずれか一項に記載の活性化パス抽出装置。
(付記16)
前記パストレース部は、前記実チップの前記遅延試験において期待値と異なる値を出力した出力側フリップフロップまたはラッチの信号値変化ピンを起点にして、前記トレースを行なう、付記11〜付記15のいずれか一項に記載の活性化パス抽出装置。
(付記17)
前記シミュレーション部は、前記シミュレーションにより、出力側フリップフロップまたはラッチのクロック制御系ピンの値を特定し、
前記パストレース部は、前記シミュレーション部によって特定された、前記信号値変化ピンと前記クロック制御系ピンの値とに基づき、前記実チップの前記遅延試験において期待値と異なる値を出力した出力側フリップフロップまたはラッチへのデータパスおよびクロック制御系パスのいずれのパスが故障に関わる可能性があるかを判定し、故障に関わる可能性のあるパスに係る信号値変化ピンを起点にして、故障に関わる可能性のある活性化パスのトレースを行なう、付記11〜付記15のいずれか一項に記載の活性化パス抽出装置。
(付記18)
前記パストレース部は、前記起点から深さ優先探索によって前記トレースを行なう、付記16または付記17に記載の活性化パス抽出装置。
(付記19)
前記パストレース部は、対象フリップフロップまたはラッチの信号値変化ピンから深さ優先探索を行ない、各ピンに対し、そのピンよりも深い側の活性化パスの本数をラベルとして付与しながら前記信号値変化ピンを辿ることにより、前記活性化パスの数を計数する、付記11〜付記18のいずれか一項に記載の活性化パス抽出装置。
(付記20)
実チップに対する遅延試験の際に信号が伝播した活性化パスをコンピュータにより抽出する活性化パス抽出方法であって、
前記遅延試験の際のテストパターンと前記実チップのネットリストとに基づき前記遅延試験のシミュレーションを行なうことにより、前記遅延試験時に信号値が変化した信号値変化ピンを特定し、
前記シミュレーションによって特定された前記信号値変化ピンと前記実チップのネットリストとに基づき前記信号値変化ピンを辿ることにより、前記活性化パスのトレースを行なう、活性化パス抽出方法。
1 活性化パス抽出装置
10 処理部(コンピュータ)
11 シミュレーション部
12 パストレース部
20 記憶部
21 ディレイテスト結果データベース
211 テストパターン
212 フェイルリスト
22 ネットリスト(Verilogソースコード;不定値設定手段)
23 トグルピン情報リスト(信号値変化ピン情報リスト)
24 クロック制御系ピン情報リスト
25 活性化パストレース結果データベース
101 入力側フリップフロップ(またはラッチ)
102 出力側フリップフロップ(またはラッチ)
103 ORゲート
104 ANDゲート

Claims (6)

  1. 実チップに対する遅延試験の際に信号が伝播した活性化パスを抽出するコンピュータに、
    前記遅延試験の際のテストパターンと前記実チップのネットリストとに基づき前記遅延試験のシミュレーションを行なうことにより、前記遅延試験の際に信号値が変化した信号値変化ピンと、出力側フリップフロップまたはラッチのクロック制御系ピンの値と、を特定し、
    前記シミュレーションによって特定された、前記信号値変化ピンと前記クロック制御系ピンの値とに基づき、前記実チップの前記遅延試験において期待値と異なる値を出力した出力側フリップフロップまたはラッチへのデータパスおよびクロック制御系パスのいずれのパスが故障に関わる可能性があるかを判定し、
    判定された故障に関わる可能性のあるパスに係る信号値変化ピンを起点にして、前記シミュレーションによって特定された前記信号値変化ピンと前記実チップのネットリストとに基づき前記信号値変化ピンを辿ることにより、故障に関わる可能性のある活性化パスのトレースを行なう、
    処理を実行させる活性化パス抽出プログラム。
  2. 前記シミュレーションの実行の際に入力側フリップフロップまたはラッチの出力ピンの信号値が変化する場合、前記出力ピンの変化前の信号値と変化後の信号値との間に不定値を所定時間だけ設定し、
    前記不定値を設定された信号値に基づき、タイミングを考慮することなく前記シミュレーションを行なうことにより、前記信号値変化ピンを特定する、
    処理を、前記コンピュータに実行させる、請求項1記載の活性化パス抽出プログラム。
  3. 前記不定値を設定する機能は、前記実チップのネットリストに含まれる、前記入力側フリップフロップを定義するソースコードの記述によって実現される、請求項2記載の活性化パス抽出プログラム。
  4. 前記所定時間は、前記ネットリストにおける各セルの内部遅延値よりも長く且つ前記シミュレーションでのクロック周期よりも短く設定される、請求項2または請求項3記載の活性化パス抽出プログラム。
  5. 実チップに対する遅延試験の際に信号が伝播した活性化パスを抽出する活性化パス抽出装置であって、
    前記遅延試験の際のテストパターンと前記実チップのネットリストとに基づき前記遅延試験のシミュレーションを行なうことにより、前記遅延試験の際に信号値が変化した信号値変化ピンと、出力側フリップフロップまたはラッチのクロック制御系ピンの値と、を特定するシミュレーション部と、
    前記シミュレーション部によって特定された、前記信号値変化ピンと前記クロック制御系ピンの値とに基づき、前記実チップの前記遅延試験において期待値と異なる値を出力した出力側フリップフロップまたはラッチへのデータパスおよびクロック制御系パスのいずれのパスが故障に関わる可能性があるかを判定し、判定された故障に関わる可能性のあるパスに係る信号値変化ピンを起点にして、前記シミュレーション部によって特定された前記信号値変化ピンと前記実チップのネットリストとに基づき前記信号値変化ピンを辿ることにより、故障に関わる可能性のある活性化パスのトレースを行なうパストレース部と、を有する活性化パス抽出装置。
  6. 実チップに対する遅延試験の際に信号が伝播した活性化パスをコンピュータにより抽出する活性化パス抽出方法であって、
    前記遅延試験の際のテストパターンと前記実チップのネットリストとに基づき前記遅延試験のシミュレーションを行なうことにより、前記遅延試験時に信号値が変化した信号値変化ピンと、出力側フリップフロップまたはラッチのクロック制御系ピンの値と、を特定し、
    前記シミュレーションによって特定された、前記信号値変化ピンと前記クロック制御系ピンの値とに基づき、前記実チップの前記遅延試験において期待値と異なる値を出力した出力側フリップフロップまたはラッチへのデータパスおよびクロック制御系パスのいずれのパスが故障に関わる可能性があるかを判定し、
    判定された故障に関わる可能性のあるパスに係る信号値変化ピンを起点にして、前記シミュレーションによって特定された前記信号値変化ピンと前記実チップのネットリストとに基づき前記信号値変化ピンを辿ることにより、故障に関わる可能性のある活性化パスのトレースを行なう、活性化パス抽出方法。
JP2010280329A 2010-12-16 2010-12-16 活性化パス抽出プログラム,活性化パス抽出装置および活性化パス抽出方法 Expired - Fee Related JP5707921B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010280329A JP5707921B2 (ja) 2010-12-16 2010-12-16 活性化パス抽出プログラム,活性化パス抽出装置および活性化パス抽出方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010280329A JP5707921B2 (ja) 2010-12-16 2010-12-16 活性化パス抽出プログラム,活性化パス抽出装置および活性化パス抽出方法

Publications (2)

Publication Number Publication Date
JP2012128712A JP2012128712A (ja) 2012-07-05
JP5707921B2 true JP5707921B2 (ja) 2015-04-30

Family

ID=46645639

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010280329A Expired - Fee Related JP5707921B2 (ja) 2010-12-16 2010-12-16 活性化パス抽出プログラム,活性化パス抽出装置および活性化パス抽出方法

Country Status (1)

Country Link
JP (1) JP5707921B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10726179B1 (en) 2019-03-13 2020-07-28 Kabushiki Kaisha Toshiba Circuit design supporting method and storage medium

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6099347B2 (ja) 2012-10-03 2017-03-22 東京エレクトロン株式会社 ウエハ取り付け方法及びウエハ検査装置
US11131706B2 (en) * 2015-12-08 2021-09-28 International Business Machines Corporation Degradation monitoring of semiconductor chips

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6483168A (en) * 1987-09-25 1989-03-28 Nec Corp Estimating device for occurrence of glitch in logic circuit
JPH0438568A (ja) * 1990-06-04 1992-02-07 Fujitsu Ltd 同期型ff間の論理シミュレーション処理方式
JPH0455776A (ja) * 1990-06-25 1992-02-24 Nippon Telegr & Teleph Corp <Ntt> 論理集積回路の故障診断装置
JPH04238576A (ja) * 1991-01-23 1992-08-26 Nec Corp 遅延シミュレーション方式
JPH08240641A (ja) * 1995-03-06 1996-09-17 Nec Eng Ltd 半導体集積回路における出力同時動作数制限の検査法
JP4020731B2 (ja) * 2002-08-27 2007-12-12 松下電器産業株式会社 半導体集積回路の故障診断方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10726179B1 (en) 2019-03-13 2020-07-28 Kabushiki Kaisha Toshiba Circuit design supporting method and storage medium

Also Published As

Publication number Publication date
JP2012128712A (ja) 2012-07-05

Similar Documents

Publication Publication Date Title
Holst et al. Adaptive debug and diagnosis without fault dictionaries
US10657207B1 (en) Inter-cell bridge defect diagnosis
Wang et al. Delay-fault diagnosis using timing information
JP5707921B2 (ja) 活性化パス抽出プログラム,活性化パス抽出装置および活性化パス抽出方法
JP5262985B2 (ja) 遅延故障検査プログラム、遅延故障検査装置、および遅延故障検査方法
US11579194B1 (en) Utilizing single cycle ATPG test patterns to detect multicycle cell-aware defects
Chen et al. Diagnosis framework for locating failed segments of path delay faults
US10599798B1 (en) Double glitch capture mode power integrity analysis
US10831956B2 (en) Efficient execution of alternating automaton representing a safety assertion for a circuit
US9489478B2 (en) Simplifying modes of an electronic circuit by reducing constraints
JP5292164B2 (ja) 故障診断方法および故障診断システム
US8943457B2 (en) Simulating scan tests with reduced resources
Zheng et al. An efficient diagnostic test pattern generation framework using boolean satisfiability
Dehbashi et al. Debug automation for logic circuits under timing variations
JP5652003B2 (ja) 遅延解析プログラム,遅延解析装置および遅延解析方法
US10234502B1 (en) Circuit defect diagnosis based on sink cell fault models
Yu et al. Improving diagnosis through failing behavior identification
US11461520B1 (en) SDD ATPG using fault rules files, SDF and node slack for testing an IC chip
US11429776B1 (en) Fault rules files for testing an IC chip
Gao et al. Post-silicon bug detection for variation induced electrical bugs
US11740284B1 (en) Diagnosing multicycle faults and/or defects with single cycle ATPG test patterns
Wang et al. Diagnosis of hold time defects
US8468409B2 (en) Speed-path debug using at-speed scan test patterns
Tsai et al. Structural reduction techniques for logic-chain bridging fault diagnosis
Bosio et al. A comprehensive framework for logic diagnosis of arbitrary defects

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130904

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140808

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140819

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140916

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150216

R150 Certificate of patent or registration of utility model

Ref document number: 5707921

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees