JP6620658B2 - 遅延見積方法、遅延見積プログラム、及び遅延見積装置 - Google Patents

遅延見積方法、遅延見積プログラム、及び遅延見積装置 Download PDF

Info

Publication number
JP6620658B2
JP6620658B2 JP2016086277A JP2016086277A JP6620658B2 JP 6620658 B2 JP6620658 B2 JP 6620658B2 JP 2016086277 A JP2016086277 A JP 2016086277A JP 2016086277 A JP2016086277 A JP 2016086277A JP 6620658 B2 JP6620658 B2 JP 6620658B2
Authority
JP
Japan
Prior art keywords
delay
cell
receiver
output signal
model
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.)
Active
Application number
JP2016086277A
Other languages
English (en)
Other versions
JP2017194919A (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 JP2016086277A priority Critical patent/JP6620658B2/ja
Publication of JP2017194919A publication Critical patent/JP2017194919A/ja
Application granted granted Critical
Publication of JP6620658B2 publication Critical patent/JP6620658B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Description

本発明は、遅延見積方法、遅延見積プログラム、及び遅延見積装置に関する。
集積回路の設計では、集積回路の性能や価格は周波数に左右されるため、動作周波数の最適設計や機能検証等に、遅延見積が行われている。
集積回路の設計において、遅延見積を精度良く行うために、遅延ライブラリ中に波形なまりの関数として入力端子容量を持つことにより、入力信号の波形なまりによる入力端子容量の変化を考慮して、遅延時間計算を行う技術等が提案されている。
また、セルキャラクタライズにおいては、入力端子の電圧値が基準電圧に到達するまでの時間に入力端子の電圧値が基準電圧に到達するまでの時間に入力端子に流れ込んだ電流の総和を求めることで、実際の見かけの入力端子容量に近い値を求める技術等が知られている。
国際公開第99/22319号パンフレット 特開2006−163928号公報 特表2009−520254号公報 米国特許第8、205、177号明細書
I.Keller et al.,A robust cell-level crosstalk delay change analysis,ICCAD 2004 A.Goel,S.Vrudhula,Current source based standard cell model for accurate signal integrity and timing analysis,DATE 2008
集積回路の信号伝搬遅延は、ドライバーセルによる遅延、伝搬パスによる遅延、及びレシーバーセルによる遅延が要因となっている。集積回路の設計時には、ゲート遅延モデルを用いてドライバーセルの遅延を検証し、パス遅延モデルを用いて伝搬パスによる遅延を検証している。
しかしながら、レシーバーセルによる遅延については、既存の技術では、ミラー効果を考慮できないため、精度良く遅延値を得ることができないと言った問題がある。
したがって、1つの側面では、本発明は、集積回路の遅延見積の精度を改善することを目的とする。
一態様によれば、ドライバーセルの第1出力信号を入力するレシーバーセルに電流源モデルを用い、該電流源モデルのパラメーター値と、前記第1出力信号から算出した該レシーバーセルの第2出力信号とを用いて、レシーバー遅延モデルの容量値を算出し、前記レシーバー遅延モデルを用いて、前記レシーバーセルの遅延を算出する処理をコンピュータが行う遅延見積方法が提供される。
また、上記課題を解決するための手段として、遅延見積プログラム、及び遅延見積装置とすることもできる。
集積回路の遅延見積の精度を改善することができる。
信号伝搬遅延を説明するための図である。 ドライバーとして利用される電流源モデルの例を示す図である。 レシーバー遅延モデルの例を示す図である。 手順2を説明するための図である。 初期予測を説明するための図である。 遅延見積装置のハードウェア構成を示す図である。 遅延見積装置の機能構成例を示す図である。 遅延見積装置による処理の概要を説明するためのフローチャート図である。 遅延ライブラリのデータ構成例を示す図である。 レシーバー用パラメータのデータ構成例を示す図である。 遅延見積処理を説明するためのフローチャート図である。
以下、本発明の実施の形態を図面に基づいて説明する。先ず、信号伝搬遅延について説明する。
図1は、信号伝搬遅延を説明するための図である。図1(A)にて、スタンダードセルのドライバーセル1drとレシーバーセル1rcがパス3で接続ている場合、信号伝搬遅延では、レシーバーセル1rcへ入力される電圧2rcが、ドライバーセル1drへ入力される電圧2drに対してどれだけ遅延したかが見積られる。図1(A)では、スタンダードセルとしてインバーターの例を示している。
図1(B)では、検証される信号伝搬遅延を例示している。図1(B)において、閾値THLと閾値THUとは、スルー値を得るための下限電圧と上限電圧とを示す。電圧2rcが閾値THLから閾値THUに到達するまでをスルー(応答速度)とすることが定められる。
閾値THGは、電圧2drに対する電圧2rcの遅延を求めるための電圧値を示す。電圧2rcが上昇して閾値THGに達するまでの時間と、電圧2drが降下して閾値THGに達するまでの時間との差が遅延となる。
各閾値は、Vddに対する割合で示されても良い。一例として
閾値THU:80%Vdd
閾値THG:50%Vdd
閾値THL:20%Vdd
のように定められる。
ドライバーセル1dr、パス3、及びレシーバーセル1rcの各々をモデルを用いて信号伝搬遅延の見積りが行われる。
図2に示すような電流源モデル6が、ドライバーセル1drのゲート遅延モデルとしてよく利用されている。図2は、ドライバーとして利用される電流源モデルの例を示す図である。図2に示す電流源モデル6は、非特許文献1及び非特許文献2の記載に基づく。
電流源モデル6は、容量Cin、容量Cm、電流Idc、及び容量Coを素子として含む。容量Cin及び容量CmはVin側の容量を示す。容量Cmは、ミラー容量を表わす。電流Idcは直流電流を示し、そして容量CoはVout側の容量を示す。電流源モデル6のパラメータとなる。電流源モデル6を用いて、ドライバーセル1drの出力電圧を予測する。
パス3に対しては、既存のモデルを適用すれば良いため、その説明を省略する。レシーバーセル1rcの遅延モデルについて、先ず、既存技術についてその概略を図3で説明する。以下の説明において、ドライバーセル1drの遅延を「ドライバー遅延」と言い、レシーバーセル1rcの遅延を「レシーバー遅延」と言いう場合がある。
図3は、レシーバー遅延モデルの例を示す図である。図3(A)に示すレシーバー遅延モデル4aは、レシーバーセル1rcを1つのコンデンサーの容量Crcvで表した例を示している。モデリングが容易であり、計算も速いが、近年の微細化された製造プロセスでは、十分な精度を得られない場合がある。
レシーバーセル1rcの容量は、動作条件、入力電圧の立上り及び立下りなどに応じて2以上の容量で表すことで、精度を改善することが考えられる。図3(B)に示すレシーバー遅延モデル4bは、特許文献4に基づいて、レシーバーセル1rcを2個のコンデンサーの容量c1及び容量c2でモデリングした例を示している。
レシーバー遅延モデル4bの2個の容量c1及び容量c2は、閾値THG(50%Vdd)での遅延4d及びスルー4s(図1(B))に合わせるようにフィッティングし、種々の容量c1及び容量c2のライブラリを作成する。例えば、容量c1は、遅延4dにフィッティングされ、容量c2は、スルー4sにフィッティングされる。
レシーバー遅延モデル4bによる遅延見積りでは、レシーバーセル1rcの電圧によって、容量値を切り替える。
レシーバーセル1rcへの入力スルーによって、異なる容量の組み合せを示すライブラリが作成され、遅延見積り時に、スルー値が設計者によって設定されることで、遅延見積り処理で参照するライブラリを特定すればよい。
しかしながら、特許文献4を参照しても、容量c1及び容量c2のフィッティング方法について明示的な記載がない。また、遅延見積りする際に2個以上のコンデンサーの容量をライブラリから呼び出す方法等の容量c1及び容量c2を利用する方法についても、明示的な記載がない。
動作条件、入力電圧の立上り及び立下りなどに応じて容量の個数を多くすることで、レシーバーセル1rcの遅延見積りの精度を、図3(A)のレシーバー遅延モデル4aより、改善できると考えられる。
しかしながら、一方で、ライブラリの種類が多くなり、設計者の負担増となる。即ち、設計者が、切り替える電圧、スルー値、負荷容量などで細分化した科目毎のライブラリを用意することになる。
容量をフィッティングするため、その工数が膨大になる。特に、設計者等の利用者が容量ライブラリを作成するため、利用者に余計な負担を掛ける。また、ライブラリが膨大になるため、遅延予測する際に、検索するコストも増える。
また、レシーバーセル1rcの入力スルーは、常にゲート種類(駆動能力)、ドライバーのファンアウト数、パス長さなどの要因で変動する。従って、ランタイムで入力slewの変化に対応しないと、遅延見積り精度が悪くなる。
更に、図3(B)のレシーバー遅延モデル4bを利用したとしても、ミラー容量が考慮されないため、必ずしも十分な精度を得られるとは限らない。
ドライバーセル1drとレシーバーセル1rcのセルは、同様のスタンダードセルである。発明者は、ドライバーセル1drのゲート遅延モデルとして利用する電流源モデル6をレシーバーセル1rcにも利用することで、レシーバー遅延モデルの容量値を得られることに着目した。
本実施例では、ドライバーセル1drでは電流源モデル6を用いて出力電圧を予測するが、更に、電流源モデル6をレシーバーセル1rcにも用いて、ミラー容量を含めたレシーバーセル1rcの容量を求めるために利用する。
本実施例におけるレシーバー遅延モデルの生成方法を説明する。まず、手順1〜手順3で、ドライバーセル1drの入力からレシーバーセル1rcの出力電圧まで初期予測を行う。
手順1:レシーバーセル1rcを1個のコンデンサーの容量Ctでモデリングする。即ち、単位ゲートの入力容量値Ucを決め、N入力ゲートであれば、入力容量値N×Ucとする。
手順2:異なる複数の入力スルーの各々に対して、負荷毎に、各セルの出力波形の遅延4dとスルー4sとを対応付けた遅延ライブラリ51(図4)を作成する。セルの駆動能力、入力容量値、パス長等を用いて、遅延4dとスルー4sとが求められる。
図4は、手順2を説明するための図である。図4において、セルライブラリ50にあるセル種別の異なる複数のセル1に対して遅延プロファイル5を作成する。セル種別毎の遅延プロファイル5が作成される。遅延見積の対象となるドライバーセル1dr、レシーバーセル1rcに対して設計されたセル種別を優先して選択し、ドライバーセル1drの遅延プロファイル5dr、レシーバーセル1rcの遅延プロファイル5rcを作成するようにしても良い。
異なる複数の入力スルー7の各々に対する負荷毎のSPICE(Simulation Program with Integrated Circuit Emphasis)シミュレーション値又は実測値からセル1の出力電圧の遅延4d及びスルー4sを取得する。遅延4d及びスルー4sの取得には、負荷CLを負荷1、負荷2、・・・負荷n等に変化させ、負荷CLに対してファンアウト数等に基づいて出力させた出力電圧を用いる。
ドライバーセル1drの遅延プロファイル5dr、及び及びレシーバーセル1rcの遅延プロファイル5rcが作成される。そして、遅延プロファイル5dr及び5rcを含む遅延セルライブラリ51が記憶部130に作成される。
新たな遅延プロファイル5が作成される毎に、遅延セルライブラリ51に蓄積すればよい。遅延セルライブラリ51に既に、遅延プロファイル5dr又は5rcが存在する場合には、それらの作成を省略する。
遅延セルライブラリ51では、セル1の遅延プロファイル5には、異なる入力slew_1、入力slew_2、・・・入力slew_mの各々に対して、負荷1、負荷2、・・・負荷nの夫々について、遅延4d及びスルー4sの値が設定されている。他のセルの遅延プロファイル5についても同様である。遅延セルライブラリ51は、遅延プロファイル5dr及び遅延プロファイル5rcを含む。
一例として、入力slew_1に関して、負荷1の場合、“delay_11”及び“slew_11”が設定され、負荷2の場合、“delay_12”及び“slew_12”が設定され、・・・負荷nの場合、“delay_1n”及び“slew_1n”が設定されている。入力slew_2、・・・入力slew_mについても同様である。
手順3:ドライバーセル1drの入力からレシーバーセル1rcの出力電圧まで初期予測を行う。電流源モデル6をドライバーセル1drのゲート遅延モデルとして利用し、初期予測を行う。以下の説明において、入力電圧及び出力電圧は夫々入力信号及び出力信号と言う場合がある。
図5は、初期予測を説明するための図である。図5では、ドライバーセル1drの入力信号Vdin、レシーバーセル1rcの入力信号及び出力信号がVrin及びVroutで示されている。本実施例では、初期的に電圧遷移を直線で表す。
先ず、(tdelay、THG)を通り、傾きk
k = (THU−THL)/slew
を用いて、信号の立上り及び立下りを直線で表す。tdelay及びslewは、その時刻に、遅延プロファイルから得られた遅延4d及びスルー4sの値を示す。THGは、図1に示すように遅延を求める基準となる電圧閾値を示す。また、図1より、THU及びTHLは、スルー4sを算出する際に基準とする上限及び下限の電圧閾値である。
レシーバーセル1rcの入力信号Vrin及び出力信号Vroutは、一例として、
Vrin = f1(Vdin)
Vrout = f2(Vrin)
により、時間毎に求められる。
次に、手順4及び手順5にて、レシーバーセル1rcに電流源モデル6を用いて、レシーバ遅延モデルの容量Ctを求める。容量Ctは、ある時間tにおける容量を示す。
手順4:レシーバーセル1rcの電流源モデル6のパラメーターCm、及びCinを読み込む。
手順5:レシーバー遅延モデルの容量Ctを、手順3で求めた入力電圧Vrin及び出力電圧Vroutで計算する。
Ct = Cin(Vin、Vout)
+ (Av+1)×Cm(Vrin、Vrout)
容量Cmにより、ミラー効果による入力容量への影響を予測し、従来の容量Cinに加味して、容量Ctをライタイムで計算できる。入力電圧Vrin及び出力電圧Vroutは、レシーバーセル1rcのランタイムの入力電圧Vrin及び出力電圧Vroutw示す。容量Cin及び容量Cmはレシーバーセル1rcの電流源モデル6のパラメーターである。Avは、出力電圧と入力電圧のゲインの比(Vrout’/Vrin’)である。
上述した手順1〜手順5を行う遅延見積装置100のハードウェア構成について図6で説明する。図6は、遅延見積装置のハードウェア構成を示す図である。図6において、遅延見積装置100は、コンピュータによって制御される情報処理装置であって、CPU(Central Processing Unit)11と、主記憶装置12と、補助記憶装置13と、入力装置14と、表示装置15と、通信I/F(インターフェース)17と、ドライブ装置18とを有し、バスBに接続される。
CPU11は、主記憶装置12に格納されたプログラムに従って遅延見積装置100を制御するプロセッサに相当する。主記憶装置12には、RAM(Random Access Memory)、ROM(Read Only Memory)等が用いられ、CPU11にて実行されるプログラム、CPU11での処理に必要なデータ、CPU11での処理にて得られたデータ等を記憶又は一時保存する。
補助記憶装置13には、HDD(Hard Disk Drive)等が用いられ、各種処理を実行するためのプログラム等のデータを格納する。補助記憶装置13に格納されているプログラムの一部が主記憶装置12にロードされ、CPU11に実行されることによって、各種処理が実現される。記憶部130は、主記憶装置12及び/又は補助記憶装置13に相当する。
入力装置14は、マウス、キーボード等を有し、設計者等の利用者が遅延見積装置100による処理に必要な各種情報を入力するために用いられる。表示装置15は、CPU11の制御のもとに必要な各種情報を表示する。入力装置14と表示装置15とは、一体化したタッチパネル等によるユーザインタフェースであってもよい。通信I/F17は、有線又は無線などのネットワークを通じて通信を行う。通信I/F17による通信は無線又は有線に限定されるものではない。
遅延見積装置100によって行われる処理を実現するプログラムは、例えば、CD−ROM(Compact Disc Read-Only Memory)等の記憶媒体19によって遅延見積装置100に提供される。
ドライブ装置18は、ドライブ装置18にセットされた記憶媒体19(例えば、CD−ROM等)と遅延見積装置100とのインターフェースを行う。
また、記憶媒体19に、後述される本実施の形態に係る種々の処理を実現するプログラムを格納し、この記憶媒体19に格納されたプログラムは、ドライブ装置18を介して遅延見積装置100にインストールされる。インストールされたプログラムは、遅延見積装置100により実行可能となる。
尚、プログラムを格納する記憶媒体19はCD−ROMに限定されず、コンピュータが読み取り可能な、構造(structure)を有する1つ以上の非一時的(non-transitory)な、有形(tangible)な媒体であればよい。コンピュータ読取可能な記憶媒体として、CD−ROMの他に、DVDディスク、USBメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。
図7は、遅延見積装置の機能構成例を示す図である。図7において、遅延見積装置100は、ライブラリ作成部41と、遅延見積部43とを有する。記憶部130には、セルライブラリ50、遅延ライブラリ51、入力信号52、レシーバー用パラメータ53、レシーバー遅延モデル54、レシーバー遅延55、遅延見積結果56等が記憶される。
ライブラリ作成部41は、セルライブラリ50を参照して、遅延見積対象となるドライバーセル1drの遅延プロファイル5drと、レシーバーセル1rcの遅延プロファイル5rcとを夫々作成する。
遅延プロファイル5drと遅延プロファイル5rcとを含む遅延ライブラリ51が記憶部130に記憶される。遅延プロファイル5dr及び5crの各々は、異なる複数の入力スルー7の各々に対して、負荷毎に、出力波形の遅延4dとスルー4sとが対応付けられている。
遅延見積部43は、LSIの遅延を見積もる遅延見積ツールに相当し、入力信号52と、遅延ライブラリ51とを用いて、サンプリングしたドライバーセル1drの入力信号Vdinからレシーバーセル1rcの出力信号Vroutまでの遅延を見積もる。遅延見積部43は、ドライバー出力信号算出部45と、レシーバー出力信号算出部46と、レシーバー遅延モデル作成部47と、レシーバー遅延計算部48と、セル間遅延計算部49とを有する。
ドライバー出力信号算出部45と、レシーバー出力信号算出部46と、レシーバー遅延モデル作成部47と、レシーバー遅延計算部48とが、レシーバーセル1rcの遅延を見積もるレシーバー遅延見積部44に相当する。
ドライバー出力信号算出部45は、入力信号Vdinと、ドライバーセル1drの遅延プロファイル5drとを用いて、ドライバーセル1drの出力信号Vdoutを算出する。
ドライバー出力信号算出部45は、ドライバーセル1drの出力信号Vdoutを取得する取得部に相当する。遅延プロファイル5drを入力信号52のスルーで参照することで、ドライバーセル1drの負荷に対応する遅延4d及びスルー4sを取得できる。
取得した遅延4dと閾値THGとで定まる点を通り、取得したスルー4sと閾値THUと閾値THLとの差とから得た傾きを有する直線を求め、求めた直線を用いることで、ドライバーセル1drの出力信号Vdoutを表わすことができる。上述した関数f1の処理に相当する。
レシーバー出力信号算出部46は、ドライバー出力信号算出部45が求めた出力信号Vdoutを入力信号Vrinとし、レシーバーセル1rcの遅延プロファイル5rcとを用いて、レシーバーセル1rcの出力信号Vroutを算出する。
レシーバー出力信号算出部46は、レシーバーセル1rcの出力信号Vroutを取得する取得部に相当する。遅延プロファイル5rcを入力信号Vrinのスルーで参照することで、レシーバーセル1rcの負荷に対応する遅延4d及びスルー4sを取得できる。
取得した遅延4dと閾値THGとで定まる点を通り、取得したスルー4sと閾値THUと閾値THLとの差とから得た傾きを有する直線を求め、求めた直線を用いることで、レシーバーセル1rcの出力信号Vroutを表わすことができる。上述した関数f2の処理に相当する。
レシーバー遅延モデル作成部47は、電流源モデル6のレシーバー用パラメータ53と、ドライバー出力信号算出部45が取得した出力信号Vdout(即ち、Vrin)と、レシーバー出力信号算出部46が取得した出力信号Vroutとを用いて、手順5の式によりレシーバー用パラメータ53の容量Ctを求めることで、レシーバー遅延モデル54を作成する。
レシーバー遅延計算部48は、レシーバー遅延モデル54を用いて、レシーバーセル1rcの遅延を計算する。得られた遅延を示すレシーバー遅延55が記憶部130に出力される。
セル間遅延計算部49は、ドライバー遅延及びパス3の遅延(パス遅延)を計算した結果と、レシーバー遅延55とを用いて、ドライバーセル1dr及びレシーバーセル1rcを含めた遅延を見積もる。見積られた遅延は、遅延見積結果56で示され、記憶部130に記憶される。
ドライバーセル1drの出力信号Vdoutは、レシーバーセル1rcの入力信号Vrinに相当する。入力信号Vdinと出力信号Vdoutとに基づいて得られた遅延は、即ち、入力信号Vdinから出力信号Vroutまでの遅延を表わす。
セルライブラリ50は、セル毎に、論理機能、電気的特性などを記憶したデータベースである。
遅延ライブラリ51は、入力電圧のスルーと負荷毎に、遅延4d及びスルー4sを対応付けたテーブルである。遅延ライブラリ51は、ドライバーセル1drの遅延プロファイル5dr及びレシーバーセル1rcの遅延プロファイル5rcを含む。
入力信号52は、予め用意したドライバーセル1drへの入力信号、又は、前段から伝搬される信号を表わすデータである。
レシーバー用パラメータ53は、レシーバー遅延モデル作成部47がレシーバーセル1rcを電流源モデル6でモデル化する際の電流源モデル6に与えるパラメータの値を示す。レシーバー遅延モデル54は、レシーバー遅延モデル作成部47が算出したレシーバーセル1rcの容量Ctを示す。
容量Ctは、ランタイムにおいて、時刻tにおけるレシーバーセル1rcの容量値を示す。従って、動作条件、レシーバーセル1rcの入力信号Vrinの立上り及び立下りの夫々に対応して変動する容量Ctが示される。
レシーバー遅延55は、レシーバー遅延計算部48によって得られた、入力信号Vdinに対するレシーバーセル1rcの遅延値を示す。
図8は、遅延見積装置による処理の概要を説明するためのフローチャート図である。図8において、ライブラリ作成部41は、セルライブラリ50から、遅延を見積もるドライバーセル1drとレシーバーセル1rcとをセルライブラリ50から取得し、夫々の遅延プロファイル5dr及び5rcを作成して遅延ライブラリ51を作成する(ステップS110)。ステップS110における、ライブラリ作成部41によるライブラリ作成処理は、図4に説明した通りである。
遅延見積部43は、ドライバーセル1drの入力信号52から遅延を見積もる(ステップS130)。遅延見積部43は、レシーバーセル1rcの遅延を見積もり、ドライバーセル1rc及びパス3の遅延を算出し、算出した遅延にレシーバーセル1rcの遅延を加算して、セル間の遅延を見積もる。
セル間の遅延は、遅延見積結果56で示され記憶部130に記憶される。遅延見積結果56は、表示装置15に表示されてもよい。ステップS130における、遅延見積部43による遅延見積処理は、図5の説明に加えて、図11で更に詳述される。
図9は、遅延ライブラリのデータ構成例を示す図である。図9において、遅延ライブラリ51は、遅延プロファイル5dr及び5rc等を有する。遅延プロファイル5dr及び5rcの各々は、異なる入力スルー7に対して、負荷1、2、・・・n毎の遅延4d及びスルー4sが対応付けられたテーブルである。
遅延プロファイル5drは、ドライバーセル1drの入力信号Vdinの異なるスルー(入力スルー7)に対して、負荷CLとなり得る負荷1、2、・・・nの各々の場合の出力信号Vdoutの遅延3d及びスルー4sが示されたテーブルである。
この例では、入力スルー7の値が入力d_slew_1の場合、負荷1では、出力信号Vdoutの、遅延4dは「d_delay_11」であり、スルー4sは「d_slew_11」であることを示す。負荷2では、遅延4dは「d_delay_21」であり、スルー4sは「d_slew_21」であることを示す。入力d_slew_1に対する他の負荷についても同様に示される。また、異なる他の入力スルー7と、負荷1、2、・・・nについて同様に示される。
遅延プロファイル5rcは、レシーバーセル1rcの入力信号Vrinの異なるスルー(入力スルー7)に対して、負荷CLとなり得る負荷1、2、・・・nの各々の場合の出力信号Vroutの遅延3d及びスルー4sが示されたテーブルである。
この例では、入力スルー7の値が入力r_slew_1の場合、負荷1では、出力信号Vdoutの、遅延4dは「d_delay_11」であり、スルー4sは「d_slew_11」であることを示す。負荷2では、遅延4dは「d_delay_21」であり、スルー4sは「d_slew_21」であることを示す。入力r_slew_1に対する他の負荷についても同様に示される。また、異なる他の入力スルー7の値と、負荷1、2、・・・nについて同様に示される。
図10は、レシーバー用パラメータのデータ構成例を示す図である。図10において、レシーバー用パラメータ53は、異なる入力信号に対する出力信号毎に、レシーバーセル1rcの電流源モデル6のパラメータ値を示したテーブルである。
レシーバー用パラメータ53では、レシーバーセル1rcの異なる入力信号Vrinの値「Vrin_1」に対して、出力信号Vroutの値が「Vrout_1」の場合、容量Cmの値は「Cm_11」であり、容量Cinの値は「Cin_11」であることが示されている。
また、レシーバーセル1rcの異なる入力信号Vrinの値「Vrin_2」に対して、出力信号Vroutの値が「Vrout_2」の場合、容量Cmの値は「Cm_21」であり、容量Cinの値は「Cin_21」であることが示されている。入力信号Vrinに対する他の出力信号についても同様に示される。また、異なる他の入力信号Vrinの値と、出力信号Vroutの値「Vrout_1」、値「Vrout_2」、・・・値「Vrout_n」の各々についても同様である。
図11は、遅延見積処理を説明するためのフローチャート図である。図11において、遅延見積部43のトライバー出力信号算出部45は、記憶部130の遅延ライブラリ51からドライバーセル1drの遅延プロファイル5drを読み込む(ステップS151)。
そして、トライバー出力信号算出部45は、入力信号52から時系列に入力信号Vdinを読み込んで、遅延プロファイル5drを参照して、入力信号Vdinに対するドライバーセル1drの出力信号Vdout_pを計算する(ステップS152)。
出力信号Vdout_pは、図5の入力信号Vrinに相当する。トライバー出力信号算出部45は、遅延プロファイル5drから遅延4d及びスルー4sの値を取得し、関数f1により、レシーバーセル1rcへの入力信号Vrin(即ち、ドライバーセル1drの出力信号Vdout)を算出する。
次に、レシーバー出力信号算出部46は、記憶部130の遅延ライブラリ51からレシーバーセル1rcの遅延プロファイル5rcを読み込む(ステップS153)。
そして、レシーバー出力信号算出部46は、遅延プロファイル5rcを参照して、トライバー出力信号算出部45が算出した、ドライバーセル1drの出力信号Vdout_pからレシーバーセル1rcの出力信号Vroutを計算する(ステップS154)。
レシーバー出力信号算出部46は、遅延プロファイル5rcから遅延4d及びスルー4sの値を取得し、関数f2により、レシーバーセル1rcの出力信号Vroutを算出する。
次に、レシーバー遅延モデル作成部47は、記憶部130からレシーバー用パラメータ53を読み込んで、レシーバーセル1rcの電流源モデル6を作成する(ステップS155)。レシーバー遅延モデル作成部47は、レシーバー用パラメータ53から、容量Cm及び容量Cinの値を取得して、レシーバーセル1rcの電流源モデル6を作成する。即ち、レシーバーセル1rcの電流源モデル6は、読み込んだ入力信号Vdin毎に作成される。
そして、レシーバー遅延モデル作成部47は、作成した電流源モデル6を用いて、容量値を計算し、レシーバー遅延モデル54を構築する(ステップS156)。読み込んだ入力信号Vdin毎にレシーバー遅延モデル54が構築される。
次に、レシーバー遅延計算部48は、ドライバーセル1drのパラメータ値が与えられた電流源モデル6を用いて、入力信号Vdinからドライバーセル1drの出力信号Vdoutを算出する(ステップS157)。
そして、ステップS152においてドライバーセル1drの遅延プロファイル5drを参照して求めた出力信号Vout_pと、ステップS157で算出された出力信号Vdoutとの差が、閾値範囲以内に収束したか否かを判断する(ステップS157a)。
閾値範囲以内に収束していない場合(ステップS157aのNo)、レシーバー遅延計算部48は、Vdout_pにVdoutの値を設定する(ステップS157b)。その後、遅延見積処理は、ステップS153から上述した同様の処理を繰り返す。
一方、閾値範囲以内に収束した場合(ステップS157bのYes)、レシーバー遅延計算部48は、構築されたレシーバー遅延モデル54を用いて、出力信号Vdoutからの遅延を計算する(ステップS158)。レシーバーセル1rcの遅延が算出され、レシーバー遅延55が記憶部130に記憶される。
そして、セル間遅延計算部49は、セル間遅延を求める(ステップS159)。セル間遅延計算部49は、既存技術によりドライバーセル遅延及びパス遅延を計算し、それらの計算結果と、レシーバー遅延55との合計値を、入力信号Vdinに対するセル間遅延として、遅延見積結果56を記憶部130に出力する。遅延見積結果56では、時間系列にセル間の遅延が示される。
その後、遅延見積処理は、全ての入力信号Vdinを終了したか否かを判断する(ステップS160)。入力信号52に未処理の入力信号Vdinが残っている場合(ステップS160のNo)、遅延見積処理は、ステップS152から上述した同様の処理を繰り返す。一方、全ての入力信号Vdinを終了した場合(ステップS160のYes)、遅延見積処理は、終了する。
図11において、上述したステップS157a及びS157bは、省略可能である。発明者が本実施例における遅延見積の精度を検証した際には、収束判定による繰り返しは不要であったからである。
発明者による、SPICEシミュレーションと、本実施例とを比較した検証結果を以下に示す。遅延見積誤差は、
SPICEシミュレーションでは、
平均1.6%、最大6.6%
であったのに対して、本実施例では、
平均0.9%、最大2.6%
であった。このように、遅延見積誤差を顕著に改善できた。また、レシーバ遅延モデル54の作成時間は、100μs以下(<100μs)であった。
上述したように、本実施例では、集積回路の遅延見積の精度を改善することができる。特に、レシーバーセルの遅延を、ランタイムで、動作条件、入力電圧の立上り及び立下りなどに応じて精度良く見積ることができる。
また、ランタイムで、遅延ライブラリ51が作成されるため、利用者の遅延見積に係る作業負担を削減できる。
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、主々の変形や変更が可能である。
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
ドライバーセルの第1出力信号を入力するレシーバーセルに電流源モデルを用い、該電流源モデルのパラメーター値と、前記第1出力信号から予測した該レシーバーセルの第2出力信号とを用いて、レシーバー遅延モデルの容量値を算出し、
前記レシーバー遅延モデルを用いて、前記レシーバーセルの遅延を算出する
処理をコンピュータが行う遅延見積方法。
(付記2)
前記コンピュータが、
前記ドライバーセルに入力される第1入力信号に対して、該ドライバーセルの第1遅延情報を用いて、該ドライバーセルの前記第1出力信号を算出し、
算出された前記第1出力信号を第2入力信号とした、前記レシーバーセルの第2遅延情報を用いて、該レシーバーセルから出力される前記第2出力信号を算出する
処理を行う付記1記載の遅延見積方法。
(付記3)
前記コンピュータが、
前記ドライバーセル及び前記レシーバーセルを含むセルのセル種別毎に、該セルの入力信号の入力スルーに対して、異なる負荷毎に該セルから出力された出力信号の遅延及びスルーを対応付けた、前記第1遅延情報及び前記第2遅延情報とを含む遅延ライブラリを作成する
処理を行う付記2記載の遅延見積方法。
(付記4)
前記コンピュータが、
前記第1遅延情報を参照して、前記第1入力信号の入力スルー及び前記ドライバーセルの負荷に対応する前記遅延及び前記スルーを取得し、
前記遅延と該遅延を求める電圧閾値とで定まる点を通り、前記スルーの値と該スルーを算出する上限電圧閾値と下限電圧閾値との差とから得た傾きを有する直線を求め、
求めた直線を用いて前記ドライバーセルの前記第1出力信号を算出することを特徴とする付記3記載の遅延見積方法。
(付記5)
前記コンピュータが、
前記第2遅延情報を参照して、前記第2入力信号の入力スルー及び前記レシーバーセルの負荷に対応する前記遅延及び前記スルーを取得し、
前記遅延と該遅延を求める電圧閾値とで定まる点を通り、前記スルーの値と該スルーを算出する上限電圧閾値と下限電圧閾値との差とから得た傾きを有する直線を求め、
求めた直線を用いて前記レシーバーセルの前記第2出力信号を算出することを特徴とする付記3又は4記載の遅延見積方法。
(付記6)
前記電流源モデルのパラメーター値は、ミラー容量値を含むことを特徴とする付記1乃至5のいずれか一項記載の遅延見積方法。
(付記7)
ドライバーセルの第1出力信号を入力するレシーバーセルに電流源モデルを用い、該電流源モデルのパラメーター値と、前記第1出力信号から予測した該レシーバーセルの第2出力信号とを用いて、レシーバー遅延モデルの容量値を算出し、
前記レシーバー遅延モデルを用いて、前記レシーバーセルの遅延を算出する
処理をコンピュータに実行させる遅延見積プログラム。
(付記8)
ドライバーセルの第1出力信号を入力するレシーバーセルに電流源モデルを用い、該電流源モデルのパラメーター値と、前記第1出力信号から予測した該レシーバーセルの第2出力信号とを用いて、レシーバー遅延モデルの容量値を算出する遅延モデル作成部と、
前記レシーバー遅延モデルを用いて、前記レシーバーセルの遅延を算出する遅延計算部と
を有する遅延見積装置。
1dr ドライバーセル
1rc レシーバーセル
2dr、2rc 電圧
3 パス
4a レシーバー遅延モデル
4b レシーバー遅延モデル
4d 遅延
4s スルー
5dr 遅延プロファイル(ドライバーセル用)
5rc 遅延プロファイル(レシーバーセル用)
6 電流源モデル
11 CPU
12 主記憶装置
13 補助記憶装置
14 入力装置
15 表示装置
17 通信I/F
18 ドライブ装置
41 ライブラリ作成部
43 遅延見積部
44 レシーバー遅延見積部
45 ドライバー出力信号算出部
46 レシーバー出力信号算出部
47 レシーバー遅延モデル作成部
48 レシーバー遅延計算部
49 セル間遅延計算部
50 セルライブラリ
51 遅延ライブラリ
52 入力信号
53 レシーバー用パラメータ
54 レシーバー遅延モデル
55 レシーバー遅延
56 遅延見積結果
100 遅延見積装置
130 記憶部

Claims (5)

  1. ドライバーセルの第1出力信号を入力するレシーバーセルに電流源モデルを用い、該電流源モデルのパラメーター値と、前記第1出力信号から算出した該レシーバーセルの第2出力信号とを用いて、レシーバー遅延モデルの容量値を算出し、
    前記レシーバー遅延モデルを用いて、前記レシーバーセルの遅延を算出する
    処理をコンピュータが行う遅延見積方法。
  2. 前記コンピュータが、
    前記ドライバーセルに入力される第1入力信号に対して、該ドライバーセルの第1遅延情報を用いて、該ドライバーセルの前記第1出力信号を算出し、
    算出された前記第1出力信号を第2入力信号とした、前記レシーバーセルの第2遅延情報を用いて、該レシーバーセルから出力される前記第2出力信号を算出する
    処理を行う請求項1記載の遅延見積方法。
  3. 前記コンピュータが、
    前記ドライバーセル及び前記レシーバーセルを含むセルのセル種別毎に、該セルの入力信号の入力スルーに対して、異なる負荷毎に該セルから出力された出力信号の遅延及びスルーを対応付けた、前記第1遅延情報及び前記第2遅延情報とを含む遅延ライブラリを作成する
    処理を行う請求項2記載の遅延見積方法。
  4. ドライバーセルの第1出力信号を入力するレシーバーセルに電流源モデルを用い、該電流源モデルのパラメーター値と、前記第1出力信号から算出した該レシーバーセルの第2出力信号とを用いて、レシーバー遅延モデルの容量値を算出し、
    前記レシーバー遅延モデルを用いて、前記レシーバーセルの遅延を算出する
    処理をコンピュータに実行させる遅延見積プログラム。
  5. ドライバーセルの第1出力信号を入力するレシーバーセルに電流源モデルを用い、該電流源モデルのパラメーター値と、前記第1出力信号から算出した該レシーバーセルの第2出力信号とを用いて、レシーバー遅延モデルの容量値を算出する遅延モデル作成部と、
    前記レシーバー遅延モデルを用いて、前記レシーバーセルの遅延を算出する遅延計算部と
    を有する遅延見積装置。
JP2016086277A 2016-04-22 2016-04-22 遅延見積方法、遅延見積プログラム、及び遅延見積装置 Active JP6620658B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016086277A JP6620658B2 (ja) 2016-04-22 2016-04-22 遅延見積方法、遅延見積プログラム、及び遅延見積装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016086277A JP6620658B2 (ja) 2016-04-22 2016-04-22 遅延見積方法、遅延見積プログラム、及び遅延見積装置

Publications (2)

Publication Number Publication Date
JP2017194919A JP2017194919A (ja) 2017-10-26
JP6620658B2 true JP6620658B2 (ja) 2019-12-18

Family

ID=60154897

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016086277A Active JP6620658B2 (ja) 2016-04-22 2016-04-22 遅延見積方法、遅延見積プログラム、及び遅延見積装置

Country Status (1)

Country Link
JP (1) JP6620658B2 (ja)

Also Published As

Publication number Publication date
JP2017194919A (ja) 2017-10-26

Similar Documents

Publication Publication Date Title
US8302046B1 (en) Compact modeling of circuit stages for static timing analysis of integrated circuit designs
CN102314522A (zh) 一种模拟集成电路设计优化方法
US8712752B2 (en) IR(voltage) drop analysis in integrated circuit timing
US9734269B2 (en) Liberty file generation
US20110185332A1 (en) Model based simulation and optimization methodology for design checking
WO2015191215A1 (en) Physical cell electromigration data generation
US9684747B2 (en) Parameter modeling for semiconductor arrangements
US10394999B2 (en) Analysis of coupled noise for integrated circuit design
JP2017015594A (ja) バッテリー、電源管理装置、及び電源管理方法
US10324122B2 (en) Predicting noise propagation in circuits
US9582626B1 (en) Using waveform propagation for accurate delay calculation
US20210064918A1 (en) Parameter selection method, computer-readable recording medium recording parameter selection program, and information processing device
US20120143582A1 (en) Characterization of nonlinear cell macro model for timing analysis
JP6620658B2 (ja) 遅延見積方法、遅延見積プログラム、及び遅延見積装置
US20140244223A1 (en) Method For Simulating Circuitry By Dynamically Modifying Device Models That Are Problematic For Out-of-Range Voltages
US20070220465A1 (en) Automatic estimation method, apparatus, and recording medium
US20140282333A1 (en) Design support apparatus and design support method
US6654712B1 (en) Method to reduce skew in clock signal distribution using balanced wire widths
JP6604069B2 (ja) 半導体集積回路の遅延見積方法、プログラム、及び回路設計装置
JP2008287666A (ja) 回路動作検証装置、半導体集積回路の製造方法、回路動作検証方法、制御プログラムおよび可読記録媒体
JP6561472B2 (ja) 半導体集積回路の遅延見積プログラム、方法及び装置
JP5509952B2 (ja) シミュレーション方法、シミュレーション装置、プログラム、及び記憶媒体
JP5994515B2 (ja) 最適値計算装置、最適値計算システム、最適値計算方法及びプログラム
WO2009012046A2 (en) System and method for modeling semiconductor devices using pre-processing
JP6318897B2 (ja) ポストレイアウト回路の歩留まり検証方法、歩留まり検証プログラム及び歩留まり検証装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191015

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191105

R150 Certificate of patent or registration of utility model

Ref document number: 6620658

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150