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

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

Info

Publication number
JP5652003B2
JP5652003B2 JP2010126491A JP2010126491A JP5652003B2 JP 5652003 B2 JP5652003 B2 JP 5652003B2 JP 2010126491 A JP2010126491 A JP 2010126491A JP 2010126491 A JP2010126491 A JP 2010126491A JP 5652003 B2 JP5652003 B2 JP 5652003B2
Authority
JP
Japan
Prior art keywords
delay
input
simultaneous switching
value
input cell
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
JP2010126491A
Other languages
English (en)
Other versions
JP2011253920A (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 JP2010126491A priority Critical patent/JP5652003B2/ja
Priority to US13/046,889 priority patent/US8656340B2/en
Publication of JP2011253920A publication Critical patent/JP2011253920A/ja
Application granted granted Critical
Publication of JP5652003B2 publication Critical patent/JP5652003B2/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/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/12Timing analysis or timing optimisation

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)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Tests Of Electronic Circuits (AREA)

Description

本件は、遅延解析プログラム,遅延解析装置および遅延解析方法に関する。
近年、チップ、例えばLSI(Large Scale Integration)等の集積回路を設計製造する際には、プロセスの微細化に伴って、実際に製造された実チップが、設計段階での基準性能値つまりスペックを満たせないケースが増加している。つまり、設計段階でシミュレーションツール等によって算出された、設計対象のチップ中のパス遅延の予測値と、実チップにおいて実際に得られるパス遅延値(真値)とに「ずれ」が生じ、実チップが設計段階でのスペックを満たせなくなる場合が多々生じている。
このため、チップの設計製造に際して、実チップに対するディレイテスト(遅延試験)が必要不可欠になっている。図16は、ディレイテストを含む一般的なチップの設計製造の手順を概略的に説明するためのフローチャートである。この図16に示すように、設計対象チップの設計(ステップS1)が行なわれると、設計されたチップの試作チップつまり実チップの作成(ステップS2)が行なわれる。そして、実チップに対するディレイテスト(ステップS3)が行なわれ、そのディレイテストの結果が所定スペックを満たしているか否かが判定される。
ディレイテストの結果が所定スペックを満たしている場合(ステップS3のYESルート)、ステップS1での設計結果に基づく実チップの生産(ステップS4)が開始される。一方、ディレイテストの結果が所定スペックを満たしていない場合(ステップS3のNOルート)、ディレイテストの結果に基づいて故障解析つまり遅延要因の解析(ステップS5)が行なわれる。そして、ステップS1に戻り、ステップS5での解析結果に従って設計対象チップの設計が再度行なわれる。
ここで、ディレイテストは、実チップがどの程度のクロック周波数またはクロック周期で動作するかを測定して確認するもので、一回のディレイテストでは、以下のような処理が行なわれる。なお、図17は、一般的なディレイテストを説明すべく試験対象の実チップ上の回路構成の例を示す図である。この図17において、101は実チップ上の入力側レジスタであるフリップフロップ(FF)、102は同チップ上の出力側レジスタであるフリップフロップ(FF)であり、これらのFF101とFF102との間に、各種ゲートを含む組み合わせ回路が配置されている。この組み合わせ回路の接続関係は、設計対象回路のネットリストに基づいて特定される。
まず、2つのテストベクトルが用意され、この2つのテストベクトルの入力に基づく信号が、実チップの入力側FF101から出力側FF102へ伝播される。1つ目のテストベクトルが入力された後、所定時間間隔をあけた2回のクロックを発することにより、2つ目のテストベクトルが実チップの入力側FF101に入力され、出力側FF102でキャプチャされる。そして、出力側FF102における値と、上記2つのテストベクトルを入力した際の出力側FF102で得られるべき期待値(予測値)とが比較され、これらの値の一致/不一致が判定される。
一致した場合には、上記所定時間間隔を一定量例えば20MHzずつ小さくして、上記2つのテストベクトルが再度入力され、出力側FF102での値と期待値との一致/不一致が判定される。以上の処理が、出力側FF102での値と期待値とが不一致と判定されるまで繰り返し実行され、不一致と判定される直前の時間間隔(周期)が、ディレイテストの結果、つまり今回のディレイテストでの遅延時間の測定値として測定される。
このようにして得られた測定値が所定スペックを満たすか否かが判断され、所定スペックを満たす、つまり試作された実チップが目標とするクロック周期で正常に動作すると判断されれば、上述のように、実チップの生産(ステップS4)が開始される。一方、上記測定値が所定スペックを満たしていないと判断されれば、上述のように、ディレイテストの結果に基づいて遅延要因の解析(ステップS5)および再設計(ステップS1)が行なわれる。
ステップS5では、ディレイテストで得られた遅延時間の測定値と、そのディレイテストに際し上記2つのテストベクトルの入力によって信号が伝播したパス、つまり活性化したパスとが参照される。そして、これらの測定値および活性化したパスに基づいて遅延要因の解析が行なわれる。以下では、「活性化したパス」のことを「活性化パス」という。この活性化パスは、設計対象回路のネットリストと、ディレイテストで入力される2つのテストベクトルの値とに基づいて算出され特定される。なお、図17において、活性化パスは太線によって示されている。
また、ステップS5での故障解析手法としては、例えば、スピードパス解析と呼ばれる手法が用いられる。このスピードパス解析では、ディレイテスト時の活性化パスの数が1本である場合、ディレイテストで得られた遅延時間の測定値が、その1本の活性化パスに割り当てられて解析が行なわれる。また、ディレイテスト時の活性化パスの数が2以上である場合、つまり、ある一の出力側FFに、2以上の活性化パスが多入力セルを介して繋がっている場合、2以上の活性化パスが1本に絞り込まれる。この絞込みは、例えば、2以上の活性化パスのうち、入力側FFから多入力セルまでの遅延時間の最も遅いものを選択することによって行なわれる。そして、ディレイテストで得られた遅延時間の測定値が、絞り込まれた1本の活性化パスに割り当てられて解析が行なわれる。
ところで、上述したパス遅延の予測値と実チップで得られるパス遅延値(真値)との間に生じる「ずれ」は、今まで簡略的にしかモデル化されていなかった現象が、プロセスの微細化に伴って顕著に現れるようになったために生じたのではないかと考えられている。その「ずれ」の要因の一つとして、多入力セルにおける同時スイッチング〔MIS(Multiple Input Switching)〕と呼ばれる現象が注目されている。
この同時スイッチングは、例えばNANDやNORといった多入力セルに対し複数の信号が同時またはほぼ同時に入力した際に、その入力に応じた多入力セルからの出力の遅延時間が、想定値よりも遅くなったり早くなったりする現象である。この同時スイッチングについて、2入力NANDゲートを例に、図18(A)〜図18(D)を参照しながら説明する。
図18(A)に示すNANDゲートでは、0から1へ遷移する二つの入力信号がそれぞれタイミングAA,ABで入力され、これらの入力信号に応じ、1から0へ遷移する出力信号がタイミングAOUTで出力されている。図18(B)は、図18(A)に示す信号遷移が生じる際の、二つの入力信号の入力時間差SAB(=AA−AB)とNANDゲートからの出力の遅延時間“delay”との関係を示すグラフである。この図18(B)に示すごとく、NANDゲートにおいて、二つの入力信号がほぼ同時に入力されて出力信号が1から0に立ち下がる場合、出力遅延時間“delay”が、想定値DAまたはDBよりも最大で例えば16%程度増加して、遅くなることが知られている。
図18(C)に示すNANDゲートでは、1から0へ遷移する二つの入力信号がそれぞれタイミングAA,ABで入力され、これらの入力信号に応じ、0から1へ遷移する出力信号がタイミングAOUTで出力されている。図18(D)は、NANDゲートにおいて図18(C)に示す信号遷移が生じる際の、入力時間差SABと出力遅延時間“delay”との関係を示すグラフである。この図18(D)に示すごとく、NANDゲートにおいて、二つの入力信号がほぼ同時に入力されて出力信号が0から1に立ち上がる場合、出力遅延時間“delay”が、想定値DAまたはDBよりも例えば34%程度減少して、早くなることが知られている。
ここで、想定値DAは、一方のパス(A側)の入力タイミングAAが他方のパス(B側)の入力タイミングABよりも十分に遅い領域、つまり一方の入力パスの遅延が支配的な領域(A dominant)における出力遅延時間“delay”の値である。また、想定値DBは、他方のパスの入力タイミングABが一方のパスの入力タイミングAAよりも十分に遅い領域、つまり他方の入力パスの遅延が支配的な領域(B dominant)における出力遅延時間“delay”の値である。各パスの入力タイミングAA,ABは、各パスの入力側FFから本NANDゲートまでの遅延時間に相当している。
上述のような同時スイッチングの存在を考慮すると、一の多入力セルに入力する2以上のパスが活性化している場合、下記(1),(2)のケースが考えられる。なお、ここでは、活性化パスの、入力側FFから多入力セルまでの遅延時間のことを「パス遅延値」という。
(1) 1本の活性化パスが支配的なケース。つまり、2以上の活性化パスのうちの1本のパス遅延値が他の活性化パスのパス遅延値よりも明らかに大きく、この1本の活性化パスが、ディレイテストで得られる測定値を決定するケース。
(2) 同時スイッチングが発生しているケース。つまり、2以上の活性化パスの信号が、多入力セルに対し、同じまたはほぼ同じタイミングで入力する、即ち2以上の活性化パスのパス遅延値が同一またはほぼ同一であり、これら2以上の活性化パスの全てが、ディレイテストで得られる測定値を決定するケース。
現状の故障解析手法では、上記(1),(2)のいずれの場合であっても、2以上の活性化パスが1本に絞り込まれ、絞り込まれた1本の活性化パスに測定値が割り当てられて故障解析が行なわれる。このとき、上記(1)の場合であれば、元々、1本の活性化パスが支配的であるため、絞込みを行なっても問題ない。しかしながら、上記(2)の場合、つまり同時スイッチングが発生している場合、2以上の活性化パスの全てが測定値に影響を及ぼしていると考えられるにもかかわらず、パス遅延値の大きな1本の活性化パスに絞り込まれて故障解析が行なわれることになる。このため、同時スイッチングに関する情報が捨てられてしまい、同時スイッチングの有無を判断することも、解析時に同時スイッチングの影響を考慮することもできなくなり、故障解析の精度が悪化する可能性がある。
上述のような故障解析手法とは別に、ディレイテストで得られた測定値に基づき、同時スイッチングを起こすセルを調べる手法も知られている。この手法では、モンテカルロ法を用いた、線形式へのフィッティング演算を行なうことにより、組み合わせ回路中における各セルの感度が求められ、その感度に基づき、どのセルが同時スイッチングを起こしているかを見い出すことができる。しかしながら、この手法では、その演算処理に多大な時間がかかる。
特開平2−90267号公報 特開2000−305966号公報
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 T. Fukuoka, A. Tsuchiya, et al., "Statistical Gate Delay Model for Multiple Input Switching", ASP DAC’08, 4A-1, pp.286-291 K. Killpack, C. Kashyap, et al., "Silicon Speedpath Measurement and Feedback into EDA flows", DAC2007, 22.2, pp.390-395
1つの側面では、本件は、多入力セルにおいて同時スイッチングが発生している可能性の有無を高速に判定することを目的とする。
また、他の側面では、同時スイッチングを考慮した遅延要因の解析を高精度又は高速に行なえるようにすることである。
本件の遅延解析プログラムは、実チップに対する遅延試験の結果に基づき遅延要因を解析するコンピュータに、前記遅延試験時に信号が伝播した活性化パスが複数存在する場合、2以上の活性化パスが入力されている多入力セルを抽出し、抽出された前記多入力セルについて、前記2以上の活性化パスにおける各信号の前記多入力セルへの入力タイミングに基づき、同時スイッチングが発生している可能性の有無を判定し、判定した結果および前記遅延試験の結果に基づき、同時スイッチングの発生状況を前記遅延要因の一つとして解析し同時スイッチングが前記遅延要因であるか否かを特定する、処理を実行させる。
また、本件の遅延解析装置は、実チップに対する遅延試験の結果に基づき遅延要因を解析するもので、以下の抽出部,判定部および解析部を有することを要件としている。ここで、前記抽出部は、前記遅延試験時に信号が伝播した活性化パスが複数存在する場合、2以上の活性化パスが入力されている多入力セルを抽出する。前記判定部は、前記抽出部によって抽出された前記多入力セルについて、前記2以上の活性化パスにおける各信号の前記多入力セルへの入力タイミングに基づき、同時スイッチングが発生している可能性の有無を判定する。前記解析部は、前記判定部による判定結果および前記遅延試験の結果に基づき同時スイッチングの発生状況を前記遅延要因の一つとして解析し同時スイッチングが前記遅延要因であるか否かを特定する。
さらに、本件の遅延解析方法は、実チップに対する遅延試験の結果に基づき遅延要因をコンピュータにより解析するもので、以下の抽出ステップ,判定ステップおよび解析ステップを含むことを要件としている。ここで、前記抽出ステップでは、前記遅延試験時に信号が伝播した活性化パスが複数存在する場合、2以上の活性化パスが入力されている多入力セルを抽出する。前記判定ステップでは、前記抽出ステップにおいて抽出された前記多入力セルについて、前記2以上の活性化パスにおける各信号の前記多入力セルへの入力タイミングに基づき、同時スイッチングが発生している可能性の有無を判定する。前記解析ステップでは、前記判定ステップにおける判定結果および前記遅延試験の結果に基づき同時スイッチングの発生状況を前記遅延要因の一つとして解析し同時スイッチングが前記遅延要因であるか否かを特定する。
多入力セルにおいて同時スイッチングが発生している可能性の有無が高速に判定される。
同時スイッチングを考慮した遅延要因の解析が高精度または高速に行なわれる。
本実施形態の遅延解析装置の機能構成を示すブロック図である。 本実施形態の遅延解析装置における全体的な処理の流れを説明するためのフローチャートである。 本実施形態の遅延解析装置の判定部による判定動作の第1態様を説明するためのフローチャートである。 本実施形態の遅延解析装置の判定部による判定動作の第1態様を説明するための図である。 本実施形態の遅延解析装置の判定部による判定動作の第2態様を説明するためのフローチャートである。 本実施形態の遅延解析装置の判定部による判定動作の第2態様を説明するための図である。 本実施形態の遅延解析装置の判定部による判定動作の第3および第4態様を説明するための図である。 本実施形態の遅延解析装置の判定部による判定動作の第3態様を説明するためのフローチャートである。 本実施形態の遅延解析装置の判定部による判定動作の第3態様を説明するための図である。 本実施形態の遅延解析装置の判定部による判定動作の第4態様を説明するためのフローチャートである。 本実施形態の遅延解析装置の判定部による判定動作の第4態様を説明するための図である。 本実施形態の遅延解析装置の解析部による解析動作を説明すべく、解析対象パス毎に設定される特徴ベクトルの各ベクトル成分の定義を示すもので、(A)はその第1態様を示す図、(B)はその第2態様を示す図である。 本実施形態の遅延解析装置の解析部による解析動作を説明するためのもので、(A)は図12(A)に示す第1態様の具体例を示す図、(B)は図12(B)に示す第2態様の具体例を示す図である。 本実施形態の遅延解析装置の解析部による解析動作を説明するためのもので、(A)は図13(A)に示す第1態様の具体例に対応する回路構成例を示す図、(B)は図13(B)に示す第2態様の具体例に対応する回路構成例を示す図である。 本実施形態の遅延解析装置の解析部による解析結果の例を示す図である。 ディレイテストを含む一般的なチップの設計製造の手順を概略的に説明するためのフローチャートである。 一般的なディレイテストを説明すべく試験対象の実チップ上の回路構成の例を示す図である。 (A)〜(D)は同時スイッチングについて説明するための図である。
以下、図面を参照して実施の形態を説明する。
〔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,解析部13および算出部14としての機能を果たす。また、処理部10は、遅延解析プログラムを実行することにより、必要に応じて、後述する修正部15としての機能も果たす。
また、記憶部20は、後述するディレイテスト結果データベース21,ネットリスト22,SDF(Standard Delay Format)ファイル23および多入力セル特性情報データベース24を格納するとともに、設計者によって設定される各種情報、例えば後述する閾値Xや係数kなども格納する。
本遅延解析装置1は、実チップに対するディレイテスト(遅延試験)の結果に基づき遅延要因を解析するものである。このディレイテストの結果は、図16および図17を参照しながら前述した手順で得られたもので、記憶部20のディレイテスト結果データベース21に保存されている。ここでは、統計的な解析を行なうべく、同一のネットリスト22に基づいて作成されたm枚の実チップのそれぞれに対しn種類のディレイテストが行なわれ、m×n個のディレイテスト結果が得られている。なお、m,nはいずれも自然数である。
データベース21に保存される各ディレイテスト結果は、少なくとも、図1に示す3つのデータ(a1)〜(a3)を有している。
(a1)各ディレイテストを特定する識別情報。例えば、図1中の“T1”参照。
(a2)各ディレイテストで活性化したパスを特定する識別情報。例えば、図1中の“p2, p4, p5,…”参照。
(a3)各ディレイテストで得られた遅延時間の測定値。つまり、実チップ上の活性化パスにおいて信号が入力側FF101から出力側FF102までに到達する時間の測定値。例えば、図1中の“823[ps]”参照。
なお、ネットリスト22は、設計(図16のステップS1)によって得られるもので、現在の設計対象のチップ上におけるセル等の回路素子に関する情報や、セルの接続関係を含む、端子間の接続情報を保持している。
SDFファイル(遅延情報ファイル)23は、実チップ上の多入力セルを含む回路素子の遅延情報、つまり信号がセルに入力してから当該セルから出力されるまでの時間の予測値や予測範囲を、セルの種類(セルタイプ)毎に遅延情報として保持している。この予測値や予測範囲は、各セルの設計情報に基づきシミュレーションツール等によって予め算出される。ここで、予測値は、通常、ティピカル値と呼ばれる平均値である。また、予測範囲は、予測値の上限値(max)および下限値(min)によって規定される。このとき、図18(A)〜図18(D)を参照しながら説明した同時スイッチングノイズが発生する可能性のある多入力セルについては、図18(B)や図18(D)に示した想定値DAまたはDBに相当する値が、予測値または予測範囲として算出され、SDFファイル23に保持される。
多入力セル特性情報データベース24は、同時スイッチングノイズが発生する可能性のある多入力セルの特性に関する情報(以下「特性情報」という)を保持している。この特性情報は、本実施形態では、同時スイッチングノイズの発生時における、出力信号の遷移方向と遅延時間の増減との関係を示す情報である。つまり、特性情報は、同時スイッチングノイズの発生時に出力信号が“0”から“1”に遷移する場合に遅延時間が増加するか減少するか、および、逆に出力信号が“1”から“0”に遷移する場合に遅延時間が増加するか減少するかに関する情報である。より具体的に、図18(A)〜図18(D)に示すNANDゲートでは、同時スイッチングノイズの発生時に出力信号が“0”から“1”に遷移する場合に遅延時間が減少する一方、出力信号が“1”から“0”に遷移する場合に遅延時間が増加している。従って、このNANDゲートの特性情報としては、「出力信号の立ち上がり時に遅延時間減少」および「出力信号の立ち下がり時に遅延時間増加」といった情報が保持される。このような特性情報は、各種多入力セルについて実際に観測することによって事前に取得され、データベース24として保持されている。
また、記憶部20には、設計者によって予め設定され後述する判定処理や修正処理で用いられる閾値Xおよび係数kも保持されている。ここで、閾値Xは、図3〜図11を参照しながら後述するごとく判定部12での判定処理で用いられる。係数kは、図7〜図11を参照しながら後述するごとく判定部12での予測値の修正処理で用いられる。この係数kは、同時スイッチング発生時における遅延時間の増加割合や減少割合〔図18(B)や図18(D)参照〕に応じて設計者により予め決定され設定される。従って、係数kは、多入力セルの特性情報としてデータベース24に保存してもよい。
さて、抽出部11は、ディレイテスト時に信号が伝播した活性化パスが複数存在する場合、2以上の活性化パスが入力されている多入力セル、つまり2以上の入力パスが活性化している多入力セルを抽出する。この抽出部11の具体的な機能や動作については、図2および図4を参照しながら後述する。
判定部12は、抽出部11によって抽出された多入力セルについて、2以上の活性化パスにおける各信号の多入力セルへの入力タイミングと、閾値Xとに基づき、同時スイッチングが発生している可能性の有無を判定する。この判定部12は、多入力セルにおいて同時スイッチングが発生している可能性が有ると判定した場合、多入力セルに入力する2以上の活性化パスを2以上の対象パスとして特定する。そして、判定部12は、特定された2以上の対象パスに、ディレイテストで取得された遅延時間の測定値(例えば図1の823[ps]等)を割り当てる。さらに、判定部12は、2以上の対象パスに関する情報つまり各パスを特定する識別情報(例えば図1のp2, p4, p5,…等)と、そのパスに割り当てられた測定値と、多入力セルでの同時スイッチングの発生可能性に関する情報とを、判定結果として解析部13に対し通知する。これらの各種情報は、図1に示すごとく判定部12から解析部13へ直接通知されてもよいし、図2に示すごとく記憶部20を介して解析部13に間接的に通知されてもよい。
ここで、同時スイッチングの発生可能性に関する情報は、少なくとも、発生可能性の有無を示す1または0の二値情報を含むほか、発生可能性の高さに応じた値(後述)を算出する際に用いられる前記入力タイミングを含んでいてもよい。この判定部12の具体的な機能や動作については、図2〜図11を参照しながら後述する。なお、本実施形態において、判定部12で用いられる前記入力タイミングは、後述する算出部14によって算出され、必要に応じ、後述する修正部15によって修正された、遅延時間の予測値または予測範囲である。
解析部13は、判定部12による判定結果およびディレイテストの結果を含む下記(b1)〜(b4)の情報に基づき、実チップにおける同時スイッチングの発生状況を遅延要因の一つとして解析する。この解析部13の具体的な機能や動作については、図12〜図15を参照しながら後述する。
(b1)2以上の対象パスを含む複数の解析対象パス。具体的には、解析対象パスを特定する識別情報。
(b2)これらの解析対象パス上における多入力セルでの同時スイッチングの発生可能性に関する情報。この情報は、多入力セルを特定する識別情報に対応付けられている。また、この情報は、判定部12による判定結果であり、上述した通り、発生可能性の有無を示す二値情報を含む。発生可能性の高さに応じた値(後述)を算出する場合、本情報には、前記入力タイミングも含まれている。
(b3)上述したディレイテストで取得され各解析対象パスに割り当てられた測定値。以下では、パスpの実チップ上での遅延時間の測定値をd_silicon(p)と表記する場合がある。
(b4)各解析対象パスについて、シミュレーションツール等によって予め算出されて取得された遅延時間の予測値。以下では、パスpの予測値をd_predict(p)と表記する場合がある。
算出部14は、ネットリスト22およびSDFファイル23に保持される情報に基づいて、判定部12による判定動作時に用いられる前記入力タイミングを算出する。この入力タイミングとして、各信号の入力側FFから多入力セルまでの遅延時間の予測値または予測範囲が算出される。この算出部14は、各信号の入力側FFから多入力セルまでのパス上に存在する回路素子をネットリスト22から取得し、取得された回路素子の遅延情報をSDFファイル23から取得する。そして、算出部14は、取得された遅延情報と回路素子間の配線長に応じた遅延値とを加算することにより予測値または予測範囲を算出する。
なお、入力タイミングとして予測値を算出する場合、算出部14は、SDFファイル23から、各回路素子の遅延時間のティピカル値(平均値)を遅延情報として取得する。
また、入力タイミングとして予測範囲を算出する場合、算出部14は、SDFファイル23から、各回路素子の遅延時間の予測範囲を規定する上限値(max)および下限値(min)を遅延情報として取得する。この場合、算出部14は、各回路素子の上限値どうしを加算することにより、多入力セルまでの遅延時間の予測範囲の上限値を算出する一方、各回路素子の下限値どうしを加算することにより、多入力セルまでの遅延時間の予測範囲の下限値を算出する。
修正部15は、信号入力側から多入力セルまでの活性化パス上に、同時スイッチングが発生している可能性があると判定された他の多入力セル(第2多入力セル)が存在するか否かを判定する。第2多入力セルが存在する場合、修正部15は、データベース24から第2多入力セルの特性と、SDFファイル23から取得される第2多入力セルの遅延時間の予測値と、係数kとに基づき、算出部14により算出された予測値または予測範囲を修正する。この修正部15の具体的な機能や動作については、図7〜図11を参照しながら後述する。
〔2〕本実施形態の遅延解析装置の機能および動作
次に、上述のごとく構成された本実施形態の遅延解析装置1の具体的な機能や動作について、図2〜図15を参照しながら説明する。
〔2−1〕全体的な処理の流れ
まず、図2に示すフローチャート(ステップS10〜S100)に従って、遅延解析装置1における全体的な処理の流れについて説明する。
遅延解析装置1においては、処理部10により、記憶部20のディレイテスト結果データベース21から、ディレイテスト結果が一つ抽出され(ステップS10)、そのディレイテスト結果に対し、以下のステップS20〜S70の処理が実行される。
抽出された一のディレイテスト結果において、活性化パスの数が1本であるか複数本つまり2以上であるかが、処理部10により判定される(ステップS20)。1本である場合、処理部10は、その1本の活性化パスに、本ディレイテストで取得された測定値を割り当て、その旨を記憶部20に登録する(ステップS30)。
この後、処理部10は、ディレイテスト結果データベース21から全てのディレイテスト結果を抽出し、全てのディレイテスト結果に対しステップS20〜S70の処理を実行したか否かを判定する。未処理のディレイテスト結果が残っている場合(ステップS80のNOルート)、処理部10は、ステップS10の処理に戻る。一方、全てのディレイテストに対し処理を行なった場合(ステップS80のYESルート)、処理部10は、ステップS90の処理に移行する。
抽出された一のディレイテスト結果において、活性化パスの数が2以上である場合、抽出部11により、2以上の活性化パスが入力されている多入力セル、つまり2以上の入力パスが活性化している多入力セルが抽出される(ステップS40;抽出ステップ)。このとき、抽出部11は、ディレイテスト結果に含まれる識別情報を参照して各活性化パスを特定し、特定された各活性化パスを、ネットリスト22に基づいて出力側FFからバックワードトレースを行なう。これにより、2以上の入力パスが活性化している多入力セルが抽出される。
そして、判定部12により、ステップS40で抽出された多入力セルについて同時スイッチングが発生している可能性の有無が判定される(ステップS50;判定ステップ)。このステップS50で実行される判定動作としては、後述する第1〜第4態様のうちのいずれか一つが適用される。
判定部12により、多入力セルにおいて同時スイッチングが発生している可能性が有ると判定された場合(ステップS50のYESルート)、この多入力セルに入力する2以上の活性化パスが2以上の対象パスとして特定される。そして、判定部12により、特定された2以上の対象パスに、ディレイテストで取得された遅延時間の測定値が割り当てられ、その旨が記憶部20に登録される(ステップS60)。この後、処理部10は、ステップS80の処理に移行する。
一方、多入力セルにおいて同時スイッチングが発生している可能性が無いと判定された場合(ステップS50のNOルート)、処理部10は、多入力セルに入力されている2以上の活性化パスを1本に絞り込む(ステップS70)。この絞り込みは、2以上の活性化パスの中から、最大の遅延時間を有するものを選択することにより行なわれる。このとき、各活性化パスについて、入力側FFから多入力セルまでの遅延時間の予測値または予測範囲は、後述するごとく図3,図5,図8,図10のステップS51,S51aで算出部14によって算出される。この算出部14によって算出された遅延時間の予測値または予測範囲に基づいて、上記絞り込みが行われる。そして、処理部10は、絞り込まれた1本の活性化パスに、本ディレイテストで取得された測定値を割り当て、その旨を記憶部20に登録してから(ステップS30)、ステップS80の処理に移行する。
全てのディレイテスト結果に対しステップS20〜S70の処理を行なうと(ステップS80のYESルート)、解析部13において、同時スイッチングを考慮したスピードパス解析が実行される(ステップS90;解析ステップ)。その際、上記(b1)〜(b4)の情報に基づき、実チップにおける同時スイッチングの発生状況が遅延要因の一つとして解析される。そして、その解析結果に基づき、実チップにおいて、同時スイッチングを起こしているセル単体またはセルタイプが特定される(ステップS100)。この解析部13の具体的な解析動作については、項目〔2−3〕において図12〜図15を参照しながら説明する。
〔2−2〕判定部,算出部および修正部の機能および動作
次に、図3〜図11を参照しながら、図2のステップS50における処理、つまりは判定部12,算出部14および修正部15の機能および動作について説明する。なお、後述する判定動作の第1態様および第2態様では、予測値や予測範囲の修正処理が行なわれないので、修正部15の機能は不要である。また、後述する判定動作の第3態様および第4態様では、予測値や予測範囲の修正処理が行なわれるので、修正部15の機能が必要とされる。
〔2−2−1〕判定動作の第1態様
図3に示すフローチャート(ステップS51〜S53)に従って、本実施形態の判定部12による判定動作の第1態様について説明する。なお、図4は本実施形態の判定部12による判定動作の第1態様を説明するための図である。
まず、ステップS51において、算出部14により、図2のステップS40で抽出された多入力セルgに入力する各活性化パスの遅延時間の予測値が、パス遅延値として算出される。このとき、算出部14は、SDFファイル23から、抽出された多入力セルまでの活性化パス上における回路素子の遅延時間のティピカル値(平均値)を遅延情報として取得する。そして、回路素子のティピカル値と回路素子間の配線長に応じた遅延値とを加算することにより、各活性化パスの遅延時間の予測値が算出される。
図4には、ステップS40で抽出された多入力セルgの一例として、4入力のNANDゲートが図示されている。この図4に示すNANDゲートgでは、4つの入力パスpa〜pdのうち、3つの入力パスpa, pb, pdが活性化し、入力パスpcのみが非活性となっている。なお、図4中、活性化パスは太線によって示されている。そして、算出部14により、入力パスpa, pb, pdのそれぞれについて、多入力セルgまでの遅延時間の予測値d_g(pa), d_g(pb), d_g(pd)が算出されている。図4においては、d_g(pa)=800[ps], d_g(pb)=550[ps], d_g(pd)=780[ps]となっている。
そして、ステップS52において、判定部12は、算出部14により算出された2以上の予測値のうちの最大の予測値d_g(Pmax)と、この最大の予測値以外の各予測値d_g(Pi)とを比較し、最大の予測値との差が所定値X以内の予測値が存在するか否かを判定する。つまり、判定部12は、ゲートgまでのパス遅延の予測値が最大のパスPmaxに対し、下記(1)式を満たすパスPiが存在するか否かを判定する。所定値Xは、前述したように設計者等によって記憶部20に予め設定されている閾値である。
d_g(Pmax)−d_g(Pi)≦X (1)
図4に示す例においては、予測値が最大のパスPmaxは入力パスpaであり、d_g(Pmax)=d_g(pa)=800[ps]である。このとき、閾値Xを例えば30[ps]とすると、上記(1)式を満たす入力パスPiとして、予測値d_g(Pi)=d_g(pd)=780[ps]の入力パスpdが存在している。
このように上記(1)式を満たす入力パスPiが存在する場合(ステップS52のYESルート)、パスPmaxおよびPi(図4に示す例ではパスpaおよびpd)が、同時スイッチングの発生要因となる活性化パス(対象パス)として特定され抽出される。また、ゲートgにおいて同時スイッチングが発生している可能性が有ると判定される(ステップS53)。
このとき、ゲートgでの同時スイッチングの発生可能性に関する情報として、同時スイッチングの発生可能性を示す値“1”が出力される。また、必要に応じ、対象パスPmaxおよびPiのセルgまでの遅延予測値d_g(Pmax), d_g(Pi)、もしくは、その差分値d_g(Pmax)−d_g(Pi)も出力される。これらの遅延予測値は、解析部13で、多入力セルでの同時スイッチングの発生可能性についての特徴値を算出設定する際に用いられる。
処理部10は、ステップS53の処理を行なった後、図2のステップS60の処理へ移行し、判定部12により、2以上の対象パスPmaxおよびPiに、ディレイテストで取得された一の遅延時間の測定値が割り当てられ、その旨が記憶部20に登録される。また、上記(1)式を満たすパスPiが存在しない場合、ゲートgにおいて同時スイッチングが発生している可能性は無いと判定され(ステップS52のNOルート)、処理部10は、図2のステップS70の処理へ移行し、ゲートgに入力されている2以上の対象パスPmaxおよびPiを1本に絞り込む。
以上のように、判定動作の第1態様では、判定部12において、上記(1)式に基づき、ゲートgでの同時スイッチングの発生可能性の有無が判定される。上記(1)式を満たすパスが存在する場合、ゲートgでの信号の入力タイミングに相当する遅延予測値が同じもしくはほぼ同じ2以上の活性化パスが存在することになる。このとき、図18(B)や図18(D)を参照しながら前述したように、ゲートgにおいては、2以上の入力信号が同時またはほぼ同時に入力される際に出力遅延時間が増減する現象、即ち同時スイッチングが発生している可能性が高い。従って、判定部12は、上記(1)式に基づく判定を行なうことにより、ゲートgにおける同時スイッチングの発生可能性の有無が確実に判定される。
〔2−2−2〕判定動作の第2態様
図5に示すフローチャート(ステップS51a〜S53a)に従って、本実施形態の判定部12による判定動作の第2態様について説明する。なお、図6は本実施形態の判定部12による判定動作の第2態様を説明するための図である。
まず、ステップS51aにおいて、算出部14により、図2のステップS40で抽出された多入力セルgに入力する各活性化パスの遅延時間の予測範囲が、パス遅延値の範囲として算出される。このとき、算出部14は、SDFファイル23から、抽出された多入力セルまでの活性化パス上における回路素子の遅延時間の上限値(max)および下限値(min)を遅延情報として取得する。そして、回路素子の上限値と回路素子間の配線長に応じた遅延値とを加算することにより、各活性化パスの遅延時間の予測範囲の上限値が算出される。同様に、回路素子の下限値と回路素子間の配線長に応じた遅延値とを加算することにより、各活性化パスの遅延時間の予測範囲の下限値が算出される。これにより、各活性化パスの遅延時間の予測範囲(上限値および下限値)が算出される。
図6には、図4と同様の4入力のNANDゲートgを対象として算出された予測範囲が図示されている。ここでも、4つの入力パスpa〜pdのうち、3つの入力パスpa, pb, pdが活性化し、入力パスpcのみが非活性となっている。そして、算出部14により、入力パスpa, pb, pdのそれぞれについて、多入力セルgまでの遅延時間の予測範囲が図6に示すように算出されている。なお、ここでは、ゲートgへの入力パスpiの予測範囲の上限値および下限値を、それぞれd_g(pi)_maxおよびd_g(pi)_minと表記する。また、入力パスpa, pb, pdの遅延時間のティピカル値は、図4と同様、それぞれ800[ps], 550[ps], 780[ps]とする。
そして、ステップS52aにおいて、判定部12は、算出部14により算出された2以上の予測範囲のうちの最大の予測範囲の下限値と、この最大の予測範囲以外の各予測範囲の上限値とを比較する。そして、判定部12は、最大の予測範囲の下限値との差が所定値X以内の上限値をもつ予測範囲が存在するか否かを判定する。つまり、判定部12は、SDFファイル23における上限値(max)および下限値(min)を考慮し、下記(2)式を満たすパスPiが存在するか否かを判定する。所定値Xは、第1態様と同様、設計者等によって記憶部20に予め設定されている閾値である。
d_g(Pmax)_min−d_g(Pi)_max≦X (2)
なお、最大の予測範囲としては、ここで、例えばティピカル値の最大のものが選択される。従って、図6に示す例では、入力パスpaについての予測範囲が最大の予測範囲となる。つまり、図4に示す例と同様、予測範囲が最大のパスPmaxは入力パスpaであり、最大の予測範囲の下限値d_g(Pmax)_minは、d_g(pa)_minとなる。このとき、閾値Xを例えば30[ps]とすると、上記(2)式を満たす入力パスPiとして、上限値d_g(pd)_maxの予測範囲をもつ入力パスpdが存在している。
このように上記(2)式を満たす入力パスPiが存在する場合(ステップS52aのYESルート)、パスPmaxおよびPi(図6に示す例ではパスpaおよびpd)が、同時スイッチングの発生要因となる活性化パス(対象パス)として特定され抽出される。また、ゲートgにおいて同時スイッチングが発生している可能性が有ると判定される(ステップS53a)。このとき、第1態様と同様、ゲートgでの同時スイッチングの発生可能性に関する情報として、同時スイッチングの発生可能性を示す値“1”が出力される。また、必要に応じ、対象パスPmaxおよびPiのセルgまでの遅延予測値のティピカル値d_g(Pmax), d_g(Pi)、もしくは、その差分値d_g(Pmax)−d_g(Pi)も出力される。
処理部10は、ステップS53aの処理を行なった後、図2のステップS60の処理へ移行し、判定部12により、2以上の対象パスPmaxおよびPiに、ディレイテストで取得された一の遅延時間の測定値が割り当てられ、その旨が記憶部20に登録される。また、上記(2)式を満たすパスPiが存在しない場合、ゲートgにおいて同時スイッチングが発生している可能性は無いと判定され(ステップS52aのNOルート)、処理部10は、図2のステップS70の処理へ移行し、ゲートgに入力されている2以上の対象パスPmaxおよびPiを1本に絞り込む。
以上のように、判定動作の第2態様では、判定部12において、上記(2)式に基づき、ゲートgでの同時スイッチングの発生可能性の有無が判定される。このとき、最大の予測範囲の下限値とこの最大の予測範囲以外の各予測範囲の上限値とが比較されるので、前述した第1態様よりも厳しい条件で、同時スイッチングの発生可能性の有無が判定される。従って、同時スイッチングが発生している可能性の高い多入力セルや、同時スイッチングの発生要因となる活性化パスがより多く見出され、このようにして見い出された複数の活性化パスに、ディレイテストで得られた測定値が割り当てられる。これにより、解析部13においては、後述するごとく、より多くの同時スイッチングに係る情報を用い、実チップでの遅延要因の一つとして多入力セルでの同時スイッチングを考慮した解析を行なうことができる。
〔2−2−3〕判定動作の第3態様
以下に説明する判定動作の第3態様および第4態様では、それぞれ、上述の第1態様および第2態様において、ステップS51,S51aで算出された予測値や予測範囲に対し修正部15による修正が施されてから、判定部12による判定が行なわれる。
ここで、まず、図7を参照しながら、第3態様および第4態様において修正部15によって予測値や予測範囲の修正を行なう理由について簡単に説明する。なお、図7は本実施形態の遅延解析装置1の判定部12による判定動作の第3および第4態様を説明するための図である。
図7に示す例では、入力側FFと第1多入力セルであるNANDゲートgbとの間の活性化パス上に、第2多入力セルであるNANDゲートgaが存在し、ゲートgaへの2つの入力パスは活性化しており、これらのパスの遅延予測値はそれぞれ500[ps], 510[ps]である。また、ゲートgbへの2つの入力パスpa, pbも活性化しており、これらのパスpa, pbの遅延予測値はそれぞれ780[ps], 820[ps]である。
このような状況で、閾値X=30[ps]として判定動作の第1態様を採用すると、ゲートgaでは同時スイッチングの発生可能性有りと判定される一方で、このゲートgaよりも下流側のゲートgbでは同時スイッチングの発生可能性無しと判定される。
このとき、各パスの遅延予測値500[ps], 510[ps], 780[ps], 820[ps]はいずれもSDFファイル23における回路素子の遅延情報を単純に加算することにより算出されており、その予測値の算出に、同時スイッチングによって生じる、遅延時間の増減〔図18(B)や図18(D)参照〕は全く考慮されていない。
図7に示す例において、ゲートgaで同時スイッチングの発生可能性が有り且つゲートgaでの出力信号が立ち下がる場合、このゲートgaの出力遅延時間は、図18(B)に示すように増加する可能性がある。このような出力遅延時間の増加を考慮すると、実際には、ゲートgbの入力パスpaの遅延時間(遅延予測値)が増加し、ゲートgbでも同時スイッチングの発生可能性が高くなる。
そこで、判定動作の第3態様および第4態様では、上述のような状況を考慮すべく、修正部15がそなえられ、後述するごとく、修正部15により、各入力パスの遅延予測値または予測範囲が修正される。
なお、修正部15による予測値または予測範囲の修正に際しては、多入力セルの入力側に存在する他の多入力セルでの同時スイッチングの発生可能性判定結果が必要になる。このため、以下の判定動作の第3態様および第4態様では、図2のステップS70において判定対象の多入力ゲートを抽出すべく出力側FFから活性化パスのバックワードトレースを行なった後、入力側FFから活性化パスのフォワードトレースを行なう。そして、入力側の多入力パスから順に判定部12による同時スイッチングの発生可能性判定を行なうことになる。
以下、図8に示すフローチャート(ステップS51,S54〜S57)に従って、本実施形態の判定部12による判定動作の第3態様について説明する。なお、図9は本実施形態の遅延解析装置1の判定部12による判定動作の第3態様を説明するための図である。
ここでは、ゲートgaに対する判定処理(ステップS51,S55〜S57)は既に終了し、ゲートgaから活性化パスをフォワードトレースして得られたゲートgbが判定対象になっているものとする。つまり、ステップS51においては、算出部14により、ゲートgbに入力する各活性化パスの遅延時間の予測値(ティピカル値)がパス遅延値として算出される。この算出処理は、図3に示す第1態様と同様であるので、その説明は省略する。なお、ここでは、図7や図9に示すように、パスpa, pbの遅延予測値d_g(pa)およびd_g(pb)として、それぞれ780[ps], 820[ps]が算出されている。
そして、ステップS54において、修正部15は、記憶部20に登録されている情報に基づき、信号入力側から判定対象のゲートgbまでの活性化パス上に、同時スイッチングの発生可能性有りと判定された他の多入力セルg′が存在するか否かを判定する。なお、図7のゲートgbは図8の多入力セルgに対応し、図7のゲートgaは図8の他の多入力セル(第2多入力セル)g′に対応している。
上述のような他の多入力セルg′が存在しない場合(ステップS54のNOルート)、ステップS55による修正処理は省略され、予測値の修正を行なうことなく、ステップS56およびS57による処理が実行される。このときのステップS56およびS57による処理は、それぞれ図3のステップS52およびS53による処理と同様であるので、その説明は省略する。
一方、上述のような他の多入力セルg′、例えば図7や図9に示すゲートgaが存在する場合(ステップS54のYESルート)、ステップS55において、修正部15は、ゲートgaを接続された入力パスpaについて算出された遅延予測値d_g(pa)を修正する。
このとき、修正部15は、記憶部20から、上述のごとく予め設定された係数kを読み出すとともに、特定情報データベース24から、ゲートgaの出力信号の遷移に応じた特性、ここでは例えば「出力信号の立ち下がり時に遅延時間増加」を読み出す。また、修正部15は、SFDファイル23から、ゲートgaの遅延時間の予測値(ここではティピカル値)d_gaを読み出す。
そして、修正部15は、図18(B)に示す増加分に相当する値としてd_ga*kを算出し、この値d_ga*kを、上記特性に従って、図9に示すように入力パスpaの遅延予測値d_g(pa)に加算することにより、入力パスpaの遅延予測値d_g(pa)を修正する。
なお、ゲートgaの出力信号の遷移に応じた特性が、例えば「出力信号の立ち上がり時に遅延時間減少」であった場合、修正部15は、図18(D)に示す減少分に相当する値としてd_ga*kを算出し、この値d_ga*kを、入力パスpaの遅延予測値d_g(pa)から減算することにより、入力パスpaの遅延予測値d_g(pa)を修正する。
また、係数kは、上述したように、同時スイッチング発生時における遅延時間の増加割合や減少割合〔図18(B)や図18(D)参照〕に応じて予め設定されている。この係数kは、セルタイプ毎に設定されていてもよいし、特定情報データベース24に保持される特性毎に設定されていてもよい。
上述のように遅延時間の予測値が修正された場合には、修正後の予測値を用いてステップS56およびS57による処理が実行される。このときのステップS56およびS57による処理も、予測値が修正されている点を除けば、それぞれ図3のステップS52およびS53による処理と同様であるので、その説明は省略する。
ここで、例えば、ゲートgaの遅延時間の予測値d_gaが50[ps]であり、係数kが0.2であるとすると、d_ga*k=10[ps]となり、図9に示す入力パスpaの遅延予測値d_g(pa)=780[ps]は、790[ps]に修正される。そして、閾値Xを30[ps]とすると、修正前の遅延予測値d_g(pa)=780[ps]では、上記(1)式の値はd_g(Pmax)−d_g(Pi)=820−780=40[ps]>30[ps]となり、ゲートgbでの同時スイッチングの発生可能性は無いと判定される。これに対し、修正後の遅延予測値d_g(pa)=790[ps]を用いると、上記(1)式の値はd_g(Pmax)−d_g(Pi)=820−790=30[ps]≦30[ps]となり、ゲートgbでの同時スイッチングの発生可能性が有ると判定されることになる。
以上のように、判定動作の第3態様では、判定対象のゲートgbが、同時スイッチングの発生可能性の有るゲートgaに接続され、このゲートgaの同時スイッチングの影響を受ける可能性がある場合(図7参照)、その同時スイッチングを考慮した修正が遅延予測値に対し行なわれる。これにより、判定部12において、同時スイッチングの発生可能性有りと判定された他の多入力セルの同時スイッチングを考慮しながら、ゲートgにおける同時スイッチングの発生可能性の有無が確実に判定される。
〔2−2−4〕判定動作の第4態様
図10に示すフローチャート(ステップS51a,S54a〜S57a)に従って、本実施形態の判定部12による判定動作の第4態様について説明する。なお、図11は本実施形態の判定部12による判定動作の第4態様を説明するための図である。
ここでは、第3態様と同様、ゲートgaに対する判定処理(ステップS51a,S55a〜S57a)は既に終了し、ゲートgaから活性化パスをフォワードトレースして得られたゲートgbが判定対象になっているものとする。つまり、ステップS51においては、算出部14により、ゲートgbに入力する各活性化パスの遅延時間の予測範囲がパス遅延範囲として算出される。この算出処理は、図5に示す第2態様と同様であるので、その説明は省略する。ここでは、図11に示すように、パスpaの遅延予測範囲として当該範囲の上限値d_g(pa)_max=785[ps]および下限値d_g(pa)_min=775[ps]が算出され、パスpbの遅延予測範囲として当該範囲の上限値d_g(pb)_max=825[ps]および下限値d_g(pa)_min=815[ps]が算出されるものとする。なお、図7や図11に示すように、パスpa, pbの遅延時間のティピカル値は、それぞれ780[ps], 820[ps]とする。
そして、ステップS54aにおいて、第3態様のステップS54と同様、修正部15は、記憶部20に登録されている情報に基づき、信号入力側から判定対象のゲートgbまでの活性化パス上に、同時スイッチングの発生可能性有りと判定された他の多入力セルg′が存在するか否かを判定する。なお、図7のゲートgbは図10の多入力セルgに対応し、図7のゲートgaは図10の他の多入力セル(第2多入力セル)g′に対応している。
上述のような他の多入力セルg′が存在しない場合(ステップS54aのNOルート)、ステップS55aによる修正処理は省略され、予測範囲の修正を行なうことなく、ステップS56aおよびS57aによる処理が実行される。このときのステップS56aおよびS57aによる処理は、それぞれ図5のステップS52aおよびS53aによる処理と同様であるので、その説明は省略する。
一方、上述のような他の多入力セルg′、例えば図7に示すゲートgaが存在する場合(ステップS54aのYESルート)、ステップS55aにおいて、修正部15は、ゲートgaを接続された入力パスpaについて算出された遅延予測範囲を修正する。
このとき、修正部15は、記憶部20から、上述した係数kを読み出すとともに、特定情報データベース24から、ゲートgaの出力信号の遷移に応じた特性、ここでは例えば「出力信号の立ち下がり時に遅延時間増加」を読み出す。また、修正部15は、SDFファイル23から、ゲートgaの遅延時間の予測値(ここではティピカル値)d_gaを読み出す。
そして、修正部15は、図18(B)に示す増加分に相当する値としてd_ga*kを算出し、この値d_ga*kを、上記特性に従って、図11に示すように入力パスpaの遅延予測範囲の上限値d_g(pa)_maxに加算することにより、入力パスpaの遅延予測範囲を修正する。
なお、ゲートgaの出力信号の遷移に応じた特性が、例えば「出力信号の立ち上がり時に遅延時間減少」であった場合、修正部15は、図18(D)に示す減少分に相当する値としてd_ga*kを算出し、この値d_ga*kを、入力パスpaの遅延予測範囲の下限値d_g(pa)_minから減算することにより、入力パスpaの遅延予測範囲を修正する。
上述のように遅延時間の予測範囲が修正された場合には、修正後の予測範囲を用いてステップS56aおよびS57aによる処理が実行される。このときのステップS56aおよびS57aによる処理も、予測範囲が修正されている点を除けば、それぞれ図5のステップS52aおよびS53aによる処理と同様であるので、その説明は省略する。
ここで、例えば、ゲートgaの遅延時間の予測値d_gaが50[ps]であり、係数kが0.2であるとすると、d_ga*k=10[ps]となり、図11に示す入力パスpaの遅延予測範囲の上限値d_g(pa)_max=785[ps]は、795[ps]に修正される。そして、閾値Xを20[ps]とすると、修正前の遅延予測範囲の上限値d_g(pa)_max=785[ps]では、上記(2)式の値はd_g(Pmax)_min−d_g(Pi)_max=815-785=30[ps]>20[ps]となり、ゲートgbでの同時スイッチングの発生可能性は無いと判定される。これに対し、修正後の遅延予測範囲の上限値d_g(pa)_max=795[ps]を用いると、上記(2)式の値はd_g(Pmax)−d_g(Pi)=815−795=20[ps]≦20[ps]となり、ゲートgbでの同時スイッチングの発生可能性が有ると判定されることになる。
以上のように、判定動作の第4態様では、判定対象のゲートgbが、同時スイッチングの発生可能性の有るゲートgaに接続され、このゲートgaの同時スイッチングの影響を受ける可能性がある場合(図7参照)、その同時スイッチングを考慮した修正が遅延予測範囲に対し行なわれる。その際、図11に示すように、遅延予測範囲を拡張する修正が行なわれることになるので、前述した第1〜第3態様よりも厳しい条件で、同時スイッチングの発生可能性の有無が判定される。従って、同時スイッチングが発生している可能性の高い多入力セルや、同時スイッチングの発生要因となりうる活性化パスが、第1〜第3態様よりも多く見出され、このようにして見い出された複数の活性化パスに、ディレイテストで得られた測定値が割り当てられる。これにより、解析部13においては、後述するごとく、より多くの同時スイッチングに係る情報を用い、実チップでの遅延要因の一つとして多入力セルでの同時スイッチングを考慮した解析を行なうことができる。
〔2−3〕解析部の機能および動作
次に、図12〜図15を参照しながら、図2のステップS90における処理、つまりは解析部13の機能および動作について説明する。本実施形態の解析部13は、以下に説明するようなスピードパス解析を実行することにより、実チップでの遅延要因の一つとして多入力セルでの同時スイッチングを考慮した解析を行なう。
なお、図12(A)および図12(B)は、解析対象パス毎に設定される特徴ベクトルの各ベクトル成分の定義を示すもので、図12(A)はその第1態様を示す図、図12(B)はその第2態様を示す図である。図13(A)および図13(B)は、図13(A)は図12(A)に示す第1態様の具体例を示す図、図13(B)は図12(B)に示す第2態様の具体例を示す図である。図14(A)は図13(A)に示す第1態様の具体例に対応する回路構成例を示す図、図14(B)は図13(B)に示す第2態様の具体例に対応する回路構成例を示す図である。図15は本実施形態の解析部13による解析結果の例を示す図である。
まず、図12〜図14を参照しながら、本実施形態の解析部13のスピードパス解析における「特徴」について説明する。スピードパス解析では、各パスの特徴をベクトルによって表現する。ここでは、そのベクトルを特徴ベクトルFと表記する。また、特徴ベクトルFは、解析対象のパス毎に設定され、パスPiの特徴ベクトルFをF(Pi)と表記する。この特徴ベクトルF(Pi)の各ベクトル成分は、パスPiにおける特徴の値であり、例えば、図12(A)に示す第1態様または図12(B)に示す第2態様のごとく定義されて与えられる。特徴ベクトルF(Pi)にベクトル成分として含まれる複数の特徴は、後述する(4)式で示すように、各解析対象パスPiに割り当てられる遅延時間の測定値d_silicon(Pi)と遅延時間の予測値d_predict(Pi)との差Δdの発生要因(遅延要因)となるものである。
本実施形態では、解析部13によるスピードパス解析に際し、同時スイッチングを遅延要因の一つとして考慮すべく、各パスPiの特徴ベクトルF(Pi)に、同時スイッチングの発生可能性に関する情報が、新たな特徴(ベクトル成分)として導入されている。この新たな「特徴」のことを「同時スイッチング疑い」と呼ぶ。ここで、第1態様と第2態様とでは、新たな特徴「同時スイッチング疑い」の定義が異なっている。
特徴「同時スイッチング疑い」の定義について説明する前に、図12(A)および図12(B)を参照しながら「同時スイッチング疑い」以外の特徴について説明する。「同時スイッチング疑い」以外の特徴は、図12(A)および図12(B)に示すように、第1態様および第2態様に共通である。図12(A)および図12(B)に示すベクトル成分f1_Pi〜f5_Piは、共通の特徴であり、例えば、f1_PiはパスPi上の低電力トランジスタの数、f2_Piは、パスPiが指定領域1を通過する場合に“1”/通過しない場合に“0”となる値である。また、f3_Piは、パスPiが指定領域2を通過する場合に“1”/通過しない場合に“0”となる値、f4_PiはパスPiの通過領域の温度条件に係る値(例えば、高温になるほど大きい値)、f5_PiはパスPiのクロストークノイズの影響度合いを示す値である。
図12(A),図13(A)および図14(A)に示す第1態様において、特徴「同時スイッチング疑い」は、ネットリスト22中の個々の多入力セルにおける、同時スイッチングの発生可能性を示す値で、多入力セルの数に応じた数の特徴として抽出される。つまり、図12(A)に示すように、第1態様では、同じタイプの多入力セルであっても多入力セルを一つ一つ区別し、多入力セルgj(j=1〜x)毎に異なる「同時スイッチング疑い」についての特徴fgj_Pi(j=1〜x)が用意される。
この特徴fgj_Piは、下記(c1), (c2)のように与えられる。
(c1) 多入力セルgj (j=1〜x)が解析対象パスPi上に存在し且つ同時スイッチングの発生可能性が有る場合に“1”(またはその可能性の高さに応じた正の値)
(c2) 多入力セルgjが解析対象パスPi上に存在するが同時スイッチングの発生可能性が無い場合または多入力セルgjが解析対象パスPi上に存在しない場合に“0”
上記(c1)における「可能性の高さに応じた正の値」は、判定部12による判定処理時に得られるパス遅延値の差分値d_g(Pmax)−d_g(Pi)に基づき、解析部13によって算出される。同時スイッチングは、上記差分値d_g(Pmax)−d_g(Pi)が“0”に近いほど、発生する可能性が高いと考えられる。
そこで、「可能性の高さに応じた正の値」として、例えば、X-|d_g(Pmax)-d_g(Pi)|≧0の時には“(X-|d_g(Pmax)-d_g(Pi)|)/X”を算出し、X-|d_g(Pmax)-d_g(Pi)|<0の時には“0”を算出することが考えられる。ここで、Xは前述した判定用閾値である。この例では一次式によって「可能性の高さに応じた正の値」を算出しているが、n次式によって「可能性の高さに応じた正の値」を算出してもよい。例えば、二次式を用いる場合、X-|d_g(Pmax)-d_g(Pi)|≧0の時には“[(X-|d_g(Pmax)-d_g(Pi)|)/X]”を「可能性の高さに応じた正の値」として算出する。上述のような一次式もしくは二次式を用いた場合、「可能性の高さに応じた正の値」は、上記差分値d_g(Pmax)−d_g(Pi)が判定用閾値Xに等しい時に“0”となる一方、上記差分値d_g(Pmax)−d_g(Pi)が“0”の時に“1”となり、上記差分値d_g(Pmax)−d_g(Pi)が0〜1の時には、その差分値の大きさに応じた値となる。
なお、上記差分値d_g(Pmax)−d_g(Pi)は、判定部12による判定結果として記憶部20に保持されており、解析部13は、記憶部20から上記差分値d_g(Pmax)−d_g(Pi)を取得することができる。
ここで、図12(A)〜図14(A)を参照しながら、第1態様の特徴「同時スイッチング疑い」の具体例について説明する。図14(A)に示す回路構成例において、解析対象パスPi, Pj上のNANDゲートg1, g2が、判定部12によって、同時スイッチングの発生可能性有りと判定されているものとする。このとき、図12(A)および図13(A)に示すように、パスPi, Pjの特徴ベクトルF(Pi), F(Pj)のそれぞれに、NANDゲートg1, g2の特徴「同時スイッチング疑い」が、ベクトル成分fg1_Pi, fg2_Piまたはfg1_Pj, fg2_Pjとして設定されている。
より具体的に、図13(A)に示すように、同時スイッチングの発生可能性の有るゲートg1はパスPi上に存在しているので、特徴ベクトルF(Pi)におけるゲートg1についての特徴値fg1_Piは“1”(または可能性の高さに応じた正の値)に設定され、特徴ベクトルF(Pj)におけるゲートg1についての特徴値fg1_Pjは“0”に設定される。同様に、同時スイッチングの発生可能性の有るゲートg2はパスPj上に存在しているので、特徴ベクトルF(Pi)におけるゲートg2についての特徴値fg2_Piは“0”に設定され、特徴ベクトルF(Pj)におけるゲートg2についての特徴値fg2_Pjは“1”(または可能性の高さに応じた正の値)に設定される。
ここで示す第1態様の特徴「同時スイッチング疑い」の例では、一の多入力セルgjに対し一の特徴「同時スイッチング疑い」を与えている。しかし、多入力セルの出力信号の遷移方向(1→0または0→1)によって遅延時間の増加/減少が変わることから、実際には、一の多入力セルに対し2つの特徴「同時スイッチング疑い」を与え、2つの遷移方向を区別して解析を行なうことが好ましい。
上述した第1態様による特徴「同時スイッチング疑い」によれば、同時スイッチングを起こす可能性のある多入力セルの数(遷移方向を区別した場合にはセル数の2倍)だけ特徴が定義されることになる。このように定義された特徴を用いて後述するスピードパス解析を行なった場合、特徴「同時スイッチング疑い」が個々の多入力セルについて定義されているので、どの多入力セルが同時スイッチングを起こしたかを特定することが可能になる。
図12(B),図13(B)および図14(B)に示す第2態様において、特徴「同時スイッチング疑い」は、解析対象パス上における多入力セルのタイプ毎の同時スイッチングの発生可能性を示す値で、多入力セルのタイプ数に応じた数の特徴として抽出される。つまり、図12(B)に示すように、第2態様では、多入力セルのタイプを区別し、多入力セルのタイプ毎に異なる「同時スイッチング疑い」についての特徴が用意される。ここでは、セルのタイプをNANDとNORとの2種類とし、それぞれに対し特徴fnand_Piおよびfnor_Piが用意される。
特徴fnand_Piは、下記(d1), (d2)のように与えられる。
(d1) NANDゲートがパスPi上に存在し且つ同時スイッチングの発生可能性が有る場合に“1”(またはそのNANDゲートの数またはそのゲート数に比例した正の値)
(d2) NANDゲートがPi上に存在するが同時スイッチングの発生可能性が無い場合またはNANDゲートがPi上に存在しない場合に“0”
同様に、特徴fnor_Piは、下記(e1), (e2)のように与えられる。
(e1) NORゲートがパスPi上に存在し且つ同時スイッチングの発生可能性が有る場合に“1”(またはそのNORゲートの数またはそのゲート数に比例した正の値)
(e2) NORゲートがPi上に存在するが同時スイッチングの発生可能性が無い場合またはNORゲートがPi上に存在しない場合に“0”
ここで、図12(B)〜図14(B)を参照しながら、第2態様の特徴「同時スイッチング疑い」の具体例について説明する。図14(B)に示す回路構成例において、解析対象パスPi上のNANDゲートg1, g3と解析対象パスPj上のNANDゲートg2とが、判定部12によって、同時スイッチングの発生可能性有りと判定されているものとする。このとき、図12(B)および図13(B)に示すように、パスPi, Pjの特徴ベクトルF(Pi), F(Pj)のそれぞれに、NANDゲートおよびNORゲートの特徴「同時スイッチング疑い」が、ベクトル成分fnand_Pi, fnor_Piまたはfnand_Pj, fnor_Pjとして設定されている。
より具体的に、図13(B)に示すように、同時スイッチングの発生可能性の有る2つのNANDゲートg1, g3がパスPi上に存在しているので、特徴ベクトルF(Pi)におけるNANDゲートについての特徴値fnandは“2”に設定される。また、同時スイッチングの発生可能性の有る一つのNANDゲートg2がパスPj上に存在しているので、特徴ベクトルF(Pj)におけるNANDゲートについての特徴値fnand_Pjは“0”に設定される。一方、パスPi, Pj上には、同時スイッチングの発生可能性が有るNORゲートが存在していないので、特徴ベクトルF(Pi)におけるNANDゲートについての特徴値fnor_Piも、特徴ベクトルF(Pj)におけるNANDゲートについての特徴値fnor_Pjも“0”に設定される。
ここで示す第2態様の特徴「同時スイッチング疑い」の例では、一の多入力セルのタイプに対し一の特徴「同時スイッチング疑い」を与えている。しかし、多入力セルの出力信号の遷移方向(1→0または0→1)によって遅延時間の増加/減少が変わることから、実際には、一の多入力セルのタイプに対し2つの特徴「同時スイッチング疑い」を与え、2つの遷移方向を区別して解析を行なうことが好ましい。
上述した第2態様による特徴「同時スイッチング疑い」によれば、同時スイッチングを起こす可能性のある多入力セルのタイプ数(遷移方向を区別した場合にはタイプ数の2倍)だけ特徴が定義されることになる。従って、第1態様に比べると、特徴の数が少なくなり、解析部13での解析処理が高速になる。
さて、解析部13は、上述のように、解析対象パスPi毎に上述のような特徴ベクトルF(Pi)を抽出すると、以下の考えに基づいて、同時スイッチングを考慮したスピードパス解析を実行する。
ここで、ディレイテストによって取得され各解析対象パスPiに割り当てられる遅延時間の測定値を“d_silicon(Pi)”とし、各解析対象パスPiについてツール等によって算出された遅延時間の予測値を“d_predict(Pi)”とすると、これらの測定値と予測値との差Δd(Pi)は、下記(3)式のように与えられる。
d_silicon(Pi)=d_predict(Pi)+Δd(Pi) (3)
上記(3)式において、Δd(Pi)<<d_predict(Pi)、つまりΔd(Pi)はd_predict(Pi)に対し十分に小さい。このため、差Δd(Pi)は、簡略的にしかモデル化されていなかった現象を示す複数の特徴f1_Pi, f2_Pi, …, fN_Pi (Nは2以上の自然数)について、線形近似することができると考えられるので、各解析対象パスPiについて、下記(4)式が成り立つことになる。この(4)式は、解析対象パスPiの数と同じ数だけ導出される。
Δd(Pi)=w1*f1_Pi+w2*f2_Pi+…+wi*fi_Pi+…+wN*fN_Pi (4)
ここで、f1_Pi, f2_Pi, …, fN_PiはパスPiの特徴ベクトルF(Pi)のベクトル成分で、これらの特徴f1_Pi〜fN_Piの中には、図12〜図14により前述した特徴「同時スイッチング疑い」が含まれている。この特徴「同時スイッチング疑い」としては、第1態様のfgj_Pi(j=1〜x)または第2態様のfnand_Pi, fnor_Piのいずれか一方が用いられる。また、w1, w2, …, wNは、それぞれ、パスPiの特徴ベクトルF(Pi)のベクトル成分f1_Pi〜fN_Piに対する重み係数[ps]である。重み係数w1〜wNの中には、第1態様の特徴fgj_Pi(j=1〜x)に対する重み係数wgj、または、第2態様の特徴fnand_Pi, fnor_Piに対する重み係数wNAND, wNORが含まれている。
解析部13は、解析対象パスPi毎に導出された上記(4)式を、SVM(Support Vector Machine)回帰などの線形回帰解析により、重み係数w1, w2, …, wNについて解くことで、重み係数w1,w2,…,wNの値を取得する。このように取得された重み係数wxの値が大きい場合、その重み係数wxに対応する特徴fxが、測定値“d_silicon(Pi)”と予測値“d_predict(Pi)”との誤差Δdを発生させる要因になっていると考えられる。
つまり、同時スイッチングが起きている場合には、「同時スイッチング疑い」の特徴fg1_Pi〜fgx_Piまたはfnand_Pi, fnor_Piに起因して誤差Δdが発生することになるため、特徴「同時スイッチング疑い」に係る重み係数wgjまたはwNAND, wNORの値が大きくなる。例えば、図12(A)〜図14(A)に示す第1態様を採用した場合には、重み係数wg1〜wgxの値のいずれかが大きくなり、同時スイッチングを起こしている一以上の多入力セルを特定することができる。また、図12(B)〜図14(B)に示す第2態様を採用した場合には、重み係数wNAND, wNORの値のいずれかが大きくなり、同時スイッチングを起こしている多入力セルのタイプを特定することができる。
これに対して、同時スイッチングが起きていない場合には、特徴「同時スイッチング疑い」に係る重み係数wgjまたはwNAND, wNORの値は大きくならず、他の特徴に係る重み係数が大きくなり、他の特徴に起因して誤差Δdが発生していると解析される。
このように、解析部13は、多入力セルでの同時スイッチングの発生可能性に関する情報、つまり「同時スイッチング疑い」の特徴fgj_Piまたはfnand_Pi, fnor_Piに対する重み係数wgjまたはwNAND, wNORの値に基づいて、同時スイッチングの発生状況を特定する(図2のステップS100)。
より具体的に、解析部13により、重み係数w1, w2, w3, …, wg1 (またはwNAND), wg2 (またはwNOR)として図15に示すような値が取得され、所定値(例えば60)以上の重みw1およびwg1 (またはwNAND)に対応する特徴が、誤差Δdの発生要因であると解析される。つまり、図12(A)〜図14(A)に示す第1態様を採用した場合、図15に示す解析結果に基づき、低電力トランジスタと図14(A)に示すゲートg1で発生する同時スイッチングとが誤差Δdの発生要因であると解析される。一方、図12(B)〜図14(B)に示す第2態様を採用した場合、図15に示す解析結果に基づき、低電力トランジスタと図14(B)に示すNANDゲートで発生する同時スイッチングとが誤差Δdの発生要因であると解析される。
〔3〕本実施形態の遅延解析装置の効果
本実施形態によれば、一つのディレイテスト結果から、ネットリスト22やSDFファイル23などを用いて、同時スイッチングの発生可能性の有る多入力セルが抽出される。このような多入力セルが存在する場合、その多入力セルに係る2以上の活性化パスに、ディレイテスト結果で得られた遅延時間の測定値が割り当てられる。つまり、同時スイッチングの発生可能性が有る場合には、一つのディレイテスト結果について活性化パスを一本に絞り込まず、2以上の活性化パス、および、同時スイッチングを起こしうる多入力セルが故障解析の対象として取り扱われる。そして、各パスの特徴として「同時スイッチング疑い」が導入され、同時スイッチングを考慮した遅延要因の解析が行なわれる。これにより、多入力セルにおいて同時スイッチングが発生している可能性の有無が高速に判定されるとともに、同時スイッチングを考慮した遅延要因の解析が高精度かつ高速に行なわれる。つまり、同時スイッチングを起こしている多入力セル、あるいは、多入力セルタイプを正確かつ高速に特定することができる。
また、判定動作の第1態様によれば、判定部12において、上記(1)式に基づく判定を行なうことにより、ゲートgにおける同時スイッチングの発生可能性の有無が確実に判定される。
判定動作の第2態様によれば、判定部12において、上記(2)式に基づきゲートgでの同時スイッチングの発生可能性の有無が判定されるので、前述した第1態様よりも厳しい条件で、同時スイッチングの発生可能性の有無が判定される。従って、同時スイッチングが発生している可能性の高い多入力セルや、同時スイッチングの発生要因となる活性化パスがより多く見出され、その活性化パスに、ディレイテストで得られた測定値が割り当てられる。これにより、より多くの同時スイッチングに係る情報を用い、実チップでの遅延要因の一つとして多入力セルでの同時スイッチングを考慮した解析を行なうことができる。
判定動作の第3態様によれば、図7に示すように、判定対象のゲートgbが、同時スイッチングの発生可能性の有るゲートgaに接続され、このゲートgaの同時スイッチングの影響を受ける可能性がある場合、その同時スイッチングを考慮した修正が遅延予測値に対し行なわれる。これにより、判定部12において、同時スイッチングの発生可能性有りと判定された他の多入力セルの同時スイッチングを考慮しながら、ゲートgにおける同時スイッチングの発生可能性の有無が確実に判定される。
判定動作の第4態様によれば、図7に示すように、判定対象のゲートgbが、同時スイッチングの発生可能性の有るゲートgaに接続され、このゲートgaの同時スイッチングの影響を受ける可能性がある場合、その同時スイッチングを考慮した修正が遅延予測範囲に対し行なわれる。その際、図11に示すように、遅延予測範囲を拡張する修正が行なわれることになるので、前述した第1〜第3態様よりも厳しい条件で、同時スイッチングの発生可能性の有無が判定される。従って、同時スイッチングの発生可能性の高い多入力セルや、同時スイッチングの発生要因となりうる活性化パスが、第1〜第3態様よりも多く見出され、故障解析の対象として取り扱われる。これにより、解析部13においては、より多くの同時スイッチングに係る情報を用い、実チップでの遅延要因の一つとして多入力セルでの同時スイッチングを考慮した解析を行なうことができる。
図12(A),図13(A)および図14(A)に示す第1態様の特徴「同時スイッチング疑い」を用いて後述するスピードパス解析を行なった場合、特徴「同時スイッチング疑い」が個々の多入力セルについて定義されているので、どの多入力セルが同時スイッチングを起こしたかを確実に特定することができる。
また、図12(B),図13(B)および図14(B)に示す第2態様の特徴「同時スイッチング疑い」によれば、第1態様の特徴ベクトルに比べベクトル成分(特徴)の数が少なくなり解析部13での解析処理を高速化できるほか、どのタイプの多入力セルが同時スイッチングを起こしたかを確実に特定することができる。
〔4〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、係る特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
なお、上述した実施形態では、多入力セルが、NANDゲートやNORゲートである場合について説明したが、これらのタイプのゲートに限定されるものではない。
また、上述した抽出部11,判定部12,解析部13,算出部14および修正部15としての機能の全部もしくは一部は、コンピュータ(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〜15の機能を実現させるプログラムコードを含んでいる。また、その機能の一部は、アプリケーションプログラムではなくOSによって実現されてもよい。
〔5〕付記
以上の本実施形態を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
実チップに対する遅延試験の結果に基づき遅延要因を解析する遅延解析装置であって、
前記遅延試験時に信号が伝播した活性化パスが複数存在する場合、2以上の活性化パスが入力されている多入力セルを抽出する抽出部と、
前記抽出部によって抽出された前記多入力セルについて、前記2以上の活性化パスにおける各信号の前記多入力セルへの入力タイミングに基づき、同時スイッチングが発生している可能性の有無を判定する判定部と、
前記判定部による判定結果および前記遅延試験の結果に基づき、同時スイッチングの発生状況を前記遅延要因の一つとして解析する解析部とを有する、遅延解析装置。
(付記2)
前記判定部は、前記多入力セルにおいて同時スイッチングが発生している可能性が有ると判定した場合、前記多入力セルに入力する前記2以上の活性化パスを2以上の対象パスとして特定し、前記2以上の対象パスに、前記遅延試験で取得された遅延時間の測定値を割り当て、前記2以上の対象パスに関する情報と前記遅延時間の測定値とを、前記多入力セルでの同時スイッチングの発生可能性に関する情報とともに、前記判定結果として前記解析部に対し通知する、付記1記載の遅延解析装置。
(付記3)
前記実チップのネットリストと、前記実チップの多入力セルを含む回路素子の遅延時間の予測値を遅延情報として予め格納する遅延情報ファイルとに基づき、各信号の前記多入力セルまでの遅延時間の予測値を、前記入力タイミングとして算出する算出部をさらに有し、
前記判定部は、前記算出部により前記2以上の活性化パスについてそれぞれ算出された2以上の予測値のうちの最大の予測値と前記最大の予測値以外の各予測値とを比較して、前記最大の予測値との差が所定値以内の予測値が存在するか否かを判定し、前記所定値以内の予測値が存在する場合、前記多入力セルにおいて同時スイッチングが発生している可能性があると判定するとともに、前記最大の予測値の活性化パスと、前記所定値以内の予測値の活性化パスとを前記対象パスとして特定する、付記2記載の遅延解析装置。
(付記4)
信号入力側から前記多入力セルまでの活性化パス上に、同時スイッチングが発生している可能性があると判定された第2多入力セルが存在するか否かを判定し、前記第2多入力セルが存在する場合、予め保存された前記第2多入力セルの特性に基づき、前記活性化パスについて前記算出部により算出された前記予測値を修正する修正部をさらに有する、付記3記載の遅延解析装置。
(付記5)
前記実チップのネットリストと、前記実チップの多入力セルを含む回路素子の遅延時間の予測値を遅延情報として予め格納する遅延情報ファイルとに基づき、各信号の前記多入力セルまでの遅延時間の予測範囲を、前記入力タイミングとして算出する算出部をさらに有し、
前記判定部は、前記算出部により前記2以上の活性化パスについてそれぞれ算出された2以上の予測範囲のうちの最大の予測範囲の下限値と前記最大の予測範囲以外の各予測範囲の上限値とを比較して、前記最大の予測範囲の下限値との差が所定値以内の上限値をもつ予測範囲が存在するか否かを判定し、前記所定値以内の上限値をもつ予測範囲が存在する場合、前記多入力セルにおいて同時スイッチングが発生している可能性があると判定するとともに、前記最大の予測範囲の活性化パスと、前記所定値以内の上限値をもつ予測範囲の活性化パスとを前記対象パスとして特定する、付記2記載の遅延解析装置。
(付記6)
信号入力側から前記多入力セルまでの活性化パス上に、同時スイッチングが発生している可能性があると判定された第2多入力セルが存在するか否かを判定し、前記第2多入力セルが存在する場合、予め保存された前記第2多入力セルの特性に基づき、前記活性化パスについて前記算出部により算出された前記予測範囲を修正する修正部をさらに有する、付記5記載の遅延解析装置。
(付記7)
前記解析部は、前記2以上の対象パスを含む複数の解析対象パスと、前記複数の解析対象パス上における多入力セルでの同時スイッチングの発生可能性に関する情報と、各解析対象パスに割り当てられた前記遅延時間の測定値と、各解析対象パスについて予め得られた遅延時間の予測値とに基づいて、同時スイッチングの発生状況を前記遅延要因の一つとして解析する、付記2〜付記6のいずれか一項に記載の遅延解析装置。
(付記8)
前記解析部は、
各解析対象パスについて、前記遅延時間の測定値と前記遅延時間の予測値との差Δdの発生要因となる複数の特徴を、前記多入力セルでの同時スイッチングの発生可能性に関する情報を前記特徴として含めて抽出し、
前記複数の特徴をf1,f2,…,fN (Nは2以上の自然数)とし、前記複数の特徴f1,f2,…,fNに対する重み係数をそれぞれw1,w2,…,wNとした場合、
Δd=w1*f1+w2*f2+…+wi*fi+…+wN*fN
となる式を前記解析対象パス毎に導出し、
前記複数の解析対象パスについて導出された複数の式を前記重み係数w1,w2,…,wNについて解くことにより、前記重み係数w1,w2,…,wNの値を取得し、
前記複数の特徴のうち、前記多入力セルでの同時スイッチングの発生可能性に関する情報に対する重み係数の値に基づいて、同時スイッチングの発生状況を特定する、付記7記載の遅延解析装置。
(付記9)
前記多入力セルでの同時スイッチングの発生可能性に関する情報は、各解析対象パス上の複数の多入力セルそれぞれにおける、同時スイッチングの発生可能性を示す値で、前記複数の多入力セルの数に応じた数の特徴として抽出される、付記8記載の遅延解析装置。
(付記10)
前記発生可能性を示す値は、前記判定部で可能性無しと判定された場合に0であり、可能性有りと判定された場合に正の値である、付記9記載の遅延解析装置。
(付記11)
前記発生可能性を示す値は、前記判定部で可能性無しと判定された場合に0となり、可能性有りと判定された場合に、その可能性の高さに応じた正の値である、付記9記載の遅延解析装置。
(付記12)
前記多入力セルでの同時スイッチングの発生可能性に関する情報は、各解析対象パス上における多入力セルのタイプ毎の同時スイッチングの発生可能性を示す値で、各解析対象パス上における多入力セルのタイプ数に応じた数の特徴として抽出される、付記8記載の遅延解析装置。
(付記13)
前記発生可能性を示す値は、前記判定部で可能性無しと判定された場合に0であり、可能性有りと判定された場合に正の値である、付記12記載の遅延解析装置。
(付記14)
前記発生可能性を示す値は、同一タイプの多入力セルの全てについて前記判定部で可能性無しと判定された場合に0であり、同一タイプの多入力セルについて、可能性有りと判定されたものの数に比例した正の値である、付記12記載の遅延解析装置。
(付記15)
実チップに対する遅延試験の結果に基づき遅延要因を解析する遅延解析装置として、コンピュータを機能させる遅延解析プログラムであって、
前記遅延試験時に信号が伝播した活性化パスが複数存在する場合、2以上の活性化パスが入力されている多入力セルを抽出する抽出部、
前記抽出部によって抽出された前記多入力セルについて、前記2以上の活性化パスにおける各信号の前記多入力セルへの入力タイミングに基づき、同時スイッチングが発生している可能性の有無を判定する判定部、および、
前記判定部による判定結果および前記遅延試験の結果に基づき、同時スイッチングの発生状況を前記遅延要因の一つとして解析する解析部として、前記コンピュータを機能させる、遅延解析プログラム。
(付記16)
前記多入力セルにおいて同時スイッチングが発生している可能性が有ると判定した場合、前記多入力セルに入力する前記2以上の活性化パスを対象パスとして特定し、前記2以上の対象パスに、前記遅延試験で取得された遅延時間の測定値を割り当て、前記2以上の対象パスに関する情報と前記遅延時間の測定値とを、前記多入力セルでの同時スイッチングの発生可能性に関する情報とともに、前記判定結果として通知する処理を、前記コンピュータに実行させる、付記15記載の遅延解析プログラム。
(付記17)
前記実チップのネットリストと、前記実チップの多入力セルを含む回路素子の遅延時間の予測値を遅延情報として予め格納する遅延情報ファイルとに基づき、各信号の前記多入力セルまでの遅延時間の予測範囲を、前記入力タイミングとして算出する処理を、前記コンピュータに実行させ、
前記2以上の活性化パスについてそれぞれ算出された2以上の予測範囲のうちの最大の予測範囲の下限値と前記最大の予測範囲以外の各予測範囲の上限値とを比較して、前記最大の予測範囲の下限値との差が所定値以内の上限値をもつ予測範囲が存在するか否かを判定し、前記所定値以内の上限値をもつ予測範囲が存在する場合、前記多入力セルにおいて同時スイッチングが発生している可能性があると判定するとともに、前記最大の予測範囲の活性化パスと、前記所定値以内の上限値をもつ予測範囲の活性化パスとを前記対象パスとして特定する処理を、前記コンピュータに実行させる、付記16記載の遅延解析プログラム。
(付記18)
信号入力側から前記多入力セルまでの活性化パス上に、同時スイッチングが発生している可能性があると判定された第2多入力セルが存在するか否かを判定し、前記第2多入力セルが存在する場合、予め保存された前記第2多入力セルの特性に基づき、前記活性化パスについて算出された前記予測範囲を修正する処理を、前記コンピュータに実行させる、付記17記載の遅延解析プログラム。
(付記19)
前記2以上の対象パスを含む複数の解析対象パスと、前記複数の解析対象パス上における多入力セルでの同時スイッチングの発生可能性に関する情報と、各解析対象パスに割り当てられた前記遅延時間の測定値と、各解析対象パスについて予め得られた遅延時間の予測値とに基づいて、同時スイッチングの発生状況を前記遅延要因の一つとして解析する処理を、前記コンピュータに実行させる、付記17または付記18に記載の遅延解析プログラム。
(付記20)
実チップに対する遅延試験の結果に基づき遅延要因をコンピュータにより解析する遅延解析方法であって、
前記遅延試験時に信号が伝播した活性化パスが複数存在する場合、2以上の活性化パスが入力されている多入力セルを抽出する抽出ステップと、
前記抽出ステップにおいて抽出された前記多入力セルについて、前記2以上の活性化パスにおける各信号の前記多入力セルへの入力タイミングに基づき、同時スイッチングが発生している可能性の有無を判定する判定ステップと、
前記判定ステップにおける判定結果および前記遅延試験の結果に基づき、同時スイッチングの発生状況を前記遅延要因の一つとして解析する解析ステップとを含む、遅延解析方法。(7;図2)
1 遅延解析装置
10 CPU(処理部)
11 抽出部
12 判定部
13 解析部
14 算出部
15 修正部
20 記憶部
21 ディレイテスト結果データベース
22 ネットリスト
23 SDFファイル(遅延情報ファイル)
24 多入力セル特性情報データベース
101 入力側レジスタ(フリップフロップ)
102 出力側レジスタ(フリップフロップ)

Claims (7)

  1. 実チップに対する遅延試験の結果に基づき遅延要因を解析するコンピュータに、
    前記遅延試験時に信号が伝播した活性化パスが複数存在する場合、2以上の活性化パスが入力されている多入力セルを抽出し、
    抽出された前記多入力セルについて、前記2以上の活性化パスにおける各信号の前記多入力セルへの入力タイミングに基づき、同時スイッチングが発生している可能性の有無を判定し、
    判定した結果および前記遅延試験の結果に基づき、同時スイッチングの発生状況を前記遅延要因の一つとして解析し同時スイッチングが前記遅延要因であるか否かを特定する、
    処理を実行させる遅延解析プログラム。
  2. 前記多入力セルにおいて同時スイッチングが発生している可能性が有ると判定した場合、前記多入力セルに入力する前記2以上の活性化パスを対象パスとして特定し、前記2以上の対象パスに、前記遅延試験で取得された遅延時間の測定値を割り当て、前記2以上の対象パスに関する情報と前記遅延時間の測定値とを、前記多入力セルでの同時スイッチングの発生可能性に関する情報とともに、前記判定結果として通知する処理を、前記コンピュータに実行させる、請求項1記載の遅延解析プログラム。
  3. 前記実チップのネットリストと、前記実チップの多入力セルを含む回路素子の遅延時間の予測値を遅延情報として予め格納する遅延情報ファイルとに基づき、各信号の前記多入力セルまでの遅延時間の予測範囲を、前記入力タイミングとして算出する処理を、前記コンピュータに実行させ、
    前記2以上の活性化パスについてそれぞれ算出された2以上の予測範囲のうちの最大の予測範囲の下限値と前記最大の予測範囲以外の各予測範囲の上限値とを比較して、前記最大の予測範囲の下限値との差が所定値以内の上限値をもつ予測範囲が存在するか否かを判定し、前記所定値以内の上限値をもつ予測範囲が存在する場合、前記多入力セルにおいて同時スイッチングが発生している可能性があると判定するとともに、前記最大の予測範囲の活性化パスと、前記所定値以内の上限値をもつ予測範囲の活性化パスとを前記対象パスとして特定する処理を、前記コンピュータに実行させる、請求項2記載の遅延解析プログラム。
  4. 信号入力側から前記多入力セルまでの活性化パス上に、同時スイッチングが発生している可能性があると判定された第2多入力セルが存在するか否かを判定し、前記第2多入力セルが存在する場合、予め保存された前記第2多入力セルの特性に基づき、前記活性化パスについて算出された前記予測範囲を修正する処理を、前記コンピュータに実行させる、請求項3記載の遅延解析プログラム。
  5. 前記2以上の対象パスを含む複数の解析対象パスと、前記複数の解析対象パス上における多入力セルでの同時スイッチングの発生可能性に関する情報と、各解析対象パスに割り当てられた前記遅延時間の測定値と、各解析対象パスについて予め得られた遅延時間の予測値とに基づいて、同時スイッチングの発生状況を前記遅延要因の一つとして解析する処理を、前記コンピュータに実行させる、請求項3または請求項4に記載の遅延解析プログラム。
  6. 実チップに対する遅延試験の結果に基づき遅延要因を解析する遅延解析装置であって、
    前記遅延試験時に信号が伝播した活性化パスが複数存在する場合、2以上の活性化パスが入力されている多入力セルを抽出する抽出部と、
    前記抽出部によって抽出された前記多入力セルについて、前記2以上の活性化パスにおける各信号の前記多入力セルへの入力タイミングに基づき、同時スイッチングが発生している可能性の有無を判定する判定部と、
    前記判定部による判定結果および前記遅延試験の結果に基づき、同時スイッチングの発生状況を前記遅延要因の一つとして解析し同時スイッチングが前記遅延要因であるか否かを特定する解析部とを有する、遅延解析装置。
  7. 実チップに対する遅延試験の結果に基づき遅延要因をコンピュータにより解析する遅延解析方法であって、
    前記遅延試験時に信号が伝播した活性化パスが複数存在する場合、2以上の活性化パスが入力されている多入力セルを抽出する抽出ステップと、
    前記抽出ステップにおいて抽出された前記多入力セルについて、前記2以上の活性化パスにおける各信号の前記多入力セルへの入力タイミングに基づき、同時スイッチングが発生している可能性の有無を判定する判定ステップと、
    前記判定ステップにおける判定結果および前記遅延試験の結果に基づき、同時スイッチングの発生状況を前記遅延要因の一つとして解析し同時スイッチングが前記遅延要因であるか否かを特定する解析ステップとを含む、遅延解析方法。
JP2010126491A 2010-06-02 2010-06-02 遅延解析プログラム,遅延解析装置および遅延解析方法 Expired - Fee Related JP5652003B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010126491A JP5652003B2 (ja) 2010-06-02 2010-06-02 遅延解析プログラム,遅延解析装置および遅延解析方法
US13/046,889 US8656340B2 (en) 2010-06-02 2011-03-14 Delay analysis apparatus, computer-readable recording medium having delay analysis program stored thereon, and delay analysis method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010126491A JP5652003B2 (ja) 2010-06-02 2010-06-02 遅延解析プログラム,遅延解析装置および遅延解析方法

Publications (2)

Publication Number Publication Date
JP2011253920A JP2011253920A (ja) 2011-12-15
JP5652003B2 true JP5652003B2 (ja) 2015-01-14

Family

ID=45065146

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010126491A Expired - Fee Related JP5652003B2 (ja) 2010-06-02 2010-06-02 遅延解析プログラム,遅延解析装置および遅延解析方法

Country Status (2)

Country Link
US (1) US8656340B2 (ja)
JP (1) JP5652003B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8904329B2 (en) 2013-01-07 2014-12-02 International Business Machines Corporation Systems and methods for single cell product path delay analysis
KR102648088B1 (ko) * 2019-01-25 2024-03-18 삼성전자주식회사 멀티 입력 스위칭을 반영한 반도체 소자의 동작 타이밍 분석 장치 및 방법
US20220133933A1 (en) * 2020-10-29 2022-05-05 Hernan Mazursky Continuous Element Decontamination and Sterilization System

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2706101B2 (ja) 1988-09-27 1998-01-28 富士通株式会社 シミュレーション装置の入出力遅延処理装置
US6253359B1 (en) * 1998-01-29 2001-06-26 Texas Instruments Incorporated Method for analyzing circuit delays caused by capacitive coupling in digital circuits
EP0937991A3 (en) * 1998-02-19 2004-01-28 International Business Machines Corporation System and method for determining the delay makeup of a circuit
JP2000305966A (ja) 1999-04-21 2000-11-02 Nec Corp 遅延情報生成システム、遅延情報生成方法及び記録媒体
US6353917B1 (en) * 1999-07-16 2002-03-05 Silicon Graphics, Inc. Determining a worst case switching factor for integrated circuit design
US7784003B2 (en) * 2007-02-26 2010-08-24 International Business Machines Corporation Estimation of process variation impact of slack in multi-corner path-based static timing analysis
JP5076832B2 (ja) * 2007-11-22 2012-11-21 富士通株式会社 遅延解析支援プログラム、該プログラムを記録した記録媒体、遅延解析支援装置、および遅延解析支援方法
JP2010020372A (ja) * 2008-07-08 2010-01-28 Panasonic Corp 遅延ライブラリ、遅延ライブラリの作成方法、および遅延計算方法

Also Published As

Publication number Publication date
US20110301896A1 (en) 2011-12-08
US8656340B2 (en) 2014-02-18
JP2011253920A (ja) 2011-12-15

Similar Documents

Publication Publication Date Title
Yilmaz et al. Test-pattern grading and pattern selection for small-delay defects
KR101091396B1 (ko) 경로 기반 하이브리드 다중 코너 정적 타이밍 분석에서 통계적 감응도 신용을 평가하기 위한 방법 및 시스템
US9542524B2 (en) Static timing analysis (STA) using derived boundary timing constraints for out-of-context (OOC) hierarchical entity analysis and abstraction
JP2005092885A (ja) デジタル回路の統計的タイミング解析のためのシステムおよび方法
US7424693B2 (en) Methods for measurement and prediction of hold-time and exceeding hold time limits due to cells with tied input pins
US20030145296A1 (en) Formal automated methodology for optimal signal integrity characterization of cell libraries
US11574101B2 (en) Techniques for providing optimizations based on categories of slack in timing paths
US9646122B2 (en) Variable accuracy parameter modeling in statistical timing
JP5652003B2 (ja) 遅延解析プログラム,遅延解析装置および遅延解析方法
Das et al. On generating vectors for accurate post-silicon delay characterization
US8413102B2 (en) Vectorless IVD analysis prior to tapeout to prevent scan test failure due to voltage drop
JP2005257654A (ja) 回路の品質判定方法および品質判定装置、並びに、回路の品質判定プログラムおよび該プログラムを記録した媒体
JP5625297B2 (ja) ディレイテスト装置、ディレイテスト方法及びディレイテストプログラム
JP5707921B2 (ja) 活性化パス抽出プログラム,活性化パス抽出装置および活性化パス抽出方法
WO2010134264A1 (ja) 半導体集積回路の設計装置、そのデータ処理方法、およびその制御プログラム
JP6056174B2 (ja) 故障診断方法、故障診断装置及びプログラム
TW202018508A (zh) 測試系統與測試方法
JP2008083815A (ja) 半導体設計支援装置
US10690722B1 (en) Methods and systems for efficient identification of glitch failures in integrated circuits
JP5899810B2 (ja) 遅延解析プログラム,遅延解析装置および遅延解析方法
Lin et al. Speed binning with high-quality structural patterns from functional timing analysis (FTA)
KR20120095210A (ko) 반도체 칩의 타이밍 해석 시스템 및 그 방법
Zhang et al. Yield modelling and analysis of bundled data and ring‐oscillator based designs
Xie et al. False path aware timing yield estimation under variability
Jain et al. Artificial Neural Network Based Post-CTS QoR Report Prediction

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130403

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140320

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140408

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140519

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141103

R150 Certificate of patent or registration of utility model

Ref document number: 5652003

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees