JP4481155B2 - セルの入力端子容量の算出方法、および遅延算出方法 - Google Patents

セルの入力端子容量の算出方法、および遅延算出方法 Download PDF

Info

Publication number
JP4481155B2
JP4481155B2 JP2004355600A JP2004355600A JP4481155B2 JP 4481155 B2 JP4481155 B2 JP 4481155B2 JP 2004355600 A JP2004355600 A JP 2004355600A JP 2004355600 A JP2004355600 A JP 2004355600A JP 4481155 B2 JP4481155 B2 JP 4481155B2
Authority
JP
Japan
Prior art keywords
input terminal
cell
input
capacitance
capacity
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
JP2004355600A
Other languages
English (en)
Other versions
JP2006163928A5 (ja
JP2006163928A (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2004355600A priority Critical patent/JP4481155B2/ja
Priority to US11/296,640 priority patent/US7925998B2/en
Publication of JP2006163928A publication Critical patent/JP2006163928A/ja
Publication of JP2006163928A5 publication Critical patent/JP2006163928A5/ja
Application granted granted Critical
Publication of JP4481155B2 publication Critical patent/JP4481155B2/ja
Priority to US13/078,411 priority patent/US20110185327A1/en
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

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)

Description

本発明は、半導体集積回路におけるセルの入力端子容量の算出方法、およびセルの入力端子容量を記憶したファイルを用いた遅延計算方法に関する。
LSI設計の最終段階において、タイミング検証のために遅延計算処理を行う。遅延計算処理においては、設計データ中で使用しているセルの遅延情報、配線に寄生する容量や抵抗値、セルの接続情報を入力とし、各インスタンス(論理素子、論理ゲート、回路ブロックなど)および配線において、どの程度の遅延値がついているかを計算する。この遅延計算結果および設計制約を使用してタイミング検証を行う。
遅延計算を行うためには、セルの遅延情報や、入力端子容量値を登録したライブラリが必要である。この、遅延計算用のライブラリ生成(セルの特性抽出)において、セルの入力端子容量値を抽出し、ライブラリ中に登録し、遅延計算に使用している。
入力端子容量の値は、通常は1値、または最大値と最小値といったように、幅を持った値としてライブラリ中に登録されるのが一般的である(例えば、非特許文献1参照)。
または、入力端子容量値の代表値を1値求めておき、代表の入力端子容量値に入力スルー(slew:信号パルスのなまり具合)に依存した係数を乗ずることで、遅延計算時に入力端子容量を計算する方法が提案されている(例えば、特許文献1参照)。
ライブラリ等に登録して用いる入力端子容量値の求め方については、従来は、セルの遅延時間、出力端子におけるスルー値を測定する際に、入力端子容量に流れ込む電流値の積分値を電圧値で割ったものの平均値を入力端子容量としてライブラリに登録していた(非特許文献2参照)。
WO99/22320 Library Compiler ユーザガイド、PrimeTime ユーザガイド(Synopsys社) Signal Stormマニュアル(Cadence社)
しかしながら、従来の手法では、以下の課題があった。非特許文献1に記載のライブラリにおいては、入力端子容量を代表の1値としているが、実際に入力端子容量は、セルへの入力トランジションや駆動負荷容量によって異なる値である。したがって、回路の状況(セルへの入力トランジションや駆動負荷容量の大きさ)によっては、入力端子容量値がライブラリ登録値から大きくずれ場合が発生する。
また、同じく非特許文献1に記載のライブラリで、入力端子容量に最大値と最小値の幅を持たせて記述した場合は、入力端子容量の振れ幅を考慮することは可能である。したがって、遅延計算時に最悪値を考慮することは可能になるが、入力端子容量を大きめまたは小さめに見積もることしかできないために、結果として過剰なマージンを取ることに繋がる。よってこの方法では、チップの取れ数が減ってしまう原因にもなりかねない。
特許文献1に記載の従来の方法では、入力端子容量を入力スルーに依存する値と考え、基本となる入力端子容量に対し、入力スルーをインデックスとして持つ係数テーブルから係数を算出し、算出した係数を基本となる入力端子容量に乗じて、遅延計算時に入力端子容量を求める方法を提案している。ところが実際には、入力端子容量は、入力スルーのみならず、駆動負荷容量の依存性も持つことがわかっており、この手法では、入力端子容量の駆動負荷容量依存性を考慮できない。また、基本の入力端子容量に乗ずる係数値を補間で求めるため、係数の誤差も生じる。本手法において、入力スルーのポイント数を多くすれば、入力端子容量の補間誤差を小さくすることは可能であるが、通常、この係数は、遅延値のキャラクタライズ実行時に同時に求める値である。したがって、むやみに入力スルーのポイント数を増やすことは現実的ではない。よって、特許文献1の手法によると、どうしても入力端子に乗ずる係数において誤差が発生してしまう。
また、入力端子容量の値を求める際に、従来のように、セルキャラクタライズ時に入力端子が電源電圧または電圧値0に遷移するまでに入力端子容量に流れ込む電流の積分値から入力端子容量を求めたのでは、実際の回路における入力端子容量よりも大きい値が抽出されるために、遅延計算がずれる原因となっていた。
遅延計算においては、プロセスの微細化により、セルの入力端子とセル内の結合容量が増え続けている。そこで近年、信号波形に歪が生じ、セルレベル(ゲートレベル)の遅延計算の結果がSPICE等の回路シミュレータと合わないという問題に直面している。
本発明は、このような事情に鑑みて創作したものであり、入力端子容量の計算および遅延計算を高精度に行うことができるようにすることを目的としている。
上記課題を解決するために、本発明によるメモリを有する計算機におけるセルの入力端子容量の算出方法は、
前記計算機が、
前記セルにおける入力スルー及び駆動負荷容量を入力する第1のステップと、
前記入力スルーおよび前記駆動負荷容量を用いて回路シミュレーションを行う第2のステップと、
前記回路シミュレーションの結果に基づいて、前記セルの前記入力端子容量を、前記入力スルーおよび前記駆動負荷容量を引数に含む関数を前記メモリに蓄える第3のステップと、
前記第3のステップにおいて蓄えられた関数を前記メモリから出力する第4のステップと、
を実行する。
このセルの入力端子容量の算出方法によれば、ライブラリに予め登録されている代表値の入力端子容量を用いる場合に比べて、実際の回路に近い入力端子容量を用いて遅延計算を行うことが可能な部分が回路中で増えるため、より高精度な遅延計算実行が可能となる。
なお、前記計算機が、前記第1のステップでは、前記セルにおける入力スルー及び駆動負荷容量として、当該入力スルーおよび当該駆動負荷容量との複数の組合せを入力し、
前記第2のステップでは、前記入力スルーおよび前記駆動負荷容量の前記複数の組合せを用いて回路シミュレーションを繰り返すのが好ましい。
前記計算機が、前記回路シミュレーション時には前記セルの入力端子に流れ込む電流を測定するのが好ましい。
前記計算機が、前記回路シミュレーション時には入力信号波形が特定電圧に達するまでの電流を測定するのが好ましい。
前記計算機が、前記入力信号波形が立ち上がりの場合には前記入力信号波形がゼロから前記特定電圧に達するまでの電流を測定し、前記入力信号波形が立ち下がりの場合には前記入力信号波形が電源電圧から前記特定電圧に達するまでの電流を測定するのが好ましい。
前記特定電圧は遅延時間を測定するしきい値電圧であるのが好ましい。
このセルの入力端子容量の算出方法によれば、遅延時間計算にかかわる時間の入力端子容量を算出することができるので、遅延時間を高精度に計算できる。
本発明によれば、それぞれのインスタンスにおいて最も誤差の少ない入力端子容量値の計算が可能になり、遅延計算精度を向上させることができる。
以下、本発明の実施の形態を、図面を参照しながら説明する。
(実施の形態1)
図1は、本発明の実施の形態1における半導体集積回路の遅延計算方法の処理手順を示すフローチャートである。
初期の入力データD10は、セルの接続情報D11、遅延計算処理への入力となる遅延ライブラリD12、および配線寄生容量・抵抗値D13を含んでいる。ここで、入力データD10中の遅延ライブラリにおいて、各セルの入力端子容量値としては処理中で複数回繰り返される遅延計算処理の、最初に使われる代表の1値が記述されている。
ステップS11において、データD10を入力とし、通常の遅延計算処理において行われるように、各インスタンスにおける入力スルー(入力波形傾き)の値(所定のパラメータの一例)を計算する。各インスタンスのスルー値D14は、計算機のメモリに蓄えておくか、一時的にファイル出力しておく。
次に、ステップS12において、各インスタンスにおけるスルー値D14と、予めライブラリの特性抽出(セルキャラクタライズ)時の結果から作成しておいた各セルの入力端子容量の関数D15を入力とし、各インスタンスの入力端子容量値を計算する。ステップS12の入力端子容量の計算によって求めた各インスタンスの入力端子容量値D16を、計算機メモリまたはファイルへの一時出力等の手段で記録しておく。
次に、ステップS13において、各インスタンスにおける入力端子容量値D16を用いて再度、遅延計算処理を行う。
次に、ステップS14において、計算した入力端子容量値の変化が基準値以下であるかどうかを判定する。ステップS12で行った入力端子容量の計算結果を、前回(初回の場合は、入力端子容量の基準値)の入力端子容量結果と比較する。ステップS14の判定の結果、入力端子容量値の変化の割合が基準値を超える場合には、遅延計算の処理を繰り返す。具体的には、ステップS15で前回のステップS11の遅延計算処理に用いた入力端子容量を入力端子容量値D16に置き換え、ステップS11の遅延計算処理以降の処理を繰り返す。ステップS16の判定で変化の大きさ(または割合)が基準値以下になれば、ステップS16に進み、遅延計算結果D17を出力する。
以上により、実際の回路における入力スルー値、その他のパラメータの影響を考慮して入力端子容量に反映させ、遅延計算を実行することが可能である。すなわち、実際のLSIにおいて、各インスタンスへの入力スルーを計算し、入力スルーに依存する入力端子容量値を各インスタンス毎に計算して遅延計算に用いるため、それぞれのLSIのそれぞれのインスタンスにおいて、最も誤差の少ない入力端子容量値計算が可能になる。それによって、遅延計算精度の向上が期待できる。
次に、入力端子容量の関数について説明する。
入力端子容量は、入力スルーに依存することが分かっている。入力端子容量は、入力スルーのテーブルとして、例えば図2に示すようなテーブルで表現することが可能である。
図2において、Slew1,Slew2,Slew3は入力スルーであり、セルキャラクタライズ時の入力スルーと同じである。また、Cin1,Cin2,Cin3は、入力スルーがそれぞれSlew1,Slew2,Slew3のときの入力端子容量である。入力端子容量のパラメータである入力スルーをPとして、式(1)のように表現することが可能である。
Figure 0004481155
ここで、k1 ,k2 は係数、aは定数である。図2に示した入力スルーと入力端子容量の値を用いて、最小二乗法等の手法によりパラメータフィッティングの処理を行うことにより、これらの定数は容易に求めることが可能である。
次に、別の入力端子容量の関数について説明する。
入力端子容量は、入力スルーと駆動負荷容量に依存することがわかっており、あるセルの入力端子容量は、例えば図3に示すように、入力スルー(Slew1〜Slew3)と駆動負荷容量(Load1〜Load4)をインデックスとして、テーブル表現(Cin11〜C1n34)することが可能である。
これらの入力端子容量値を、入力スルーPと駆動負荷容量Qとの関数として、式(2)で表現する。
Figure 0004481155
式(2)において、k1 ,k2 は入力スルーPに掛ける係数、k3 ,k4 は駆動負荷容量Qに掛ける係数、b は定数である。これらの係数および定数は、図3に示したテーブル中の値を用いて決定することが可能であり、これにより、インデックスから外れた場合の入力端子容量値をより正確に求めることが可能になる。
また、式(1)に比べて、入力端子容量を入力スルーPだけではなく駆動負荷容量Qにも依存した関数とすることで、より高精度に入力端子容量を求めることができる。
(実施の形態2)
図4は、本発明の実施の形態2における半導体集積回路の遅延計算方法の処理手順を示すフローチャートである。図4において、D40は遅延計算処理フローへの入力データであり、D41はセルの接続情報、D42は配線寄生容量・抵抗の抽出結果、D43はセル毎に求められた入力端子容量の関数である。
ステップS41で、データD40を入力として、各インスタンスの入力端子容量の値を求める。このステップS41の処理の際には、出力端子に近いインスタンスから順に入力端子容量値を求める。ステップS41で求めた各インスタンスの入力端子容量値D44は、ファイルまたは計算機メモリに記録しておく。
次に、ステップS42において、ステップS41で求めた各インスタンスにおける入力端子容量値D44を入力として遅延計算処理を行う。
次に、ステップS43において、遅延計算結果D45を出力する。
以下に、本実施の形態で用いる入力端子容量の関数について説明する。
セルの入力端子容量は、駆動負荷容量依存性を持つため、図5に示すように、駆動負荷容量のテーブルとして表現することが可能である。入力端子容量を式(3)で示すこととする。
Figure 0004481155
と表現することとする。ここで、入力端子容量Cinを2次以上の方程式で表すことにより、如何なる駆動負荷容量依存性も求めることが可能である。図5に示すテーブルを用いて、最小二乗法等の手段でk3,k4,bの定数を求めることが可能である。このようにして求めた入力端子容量の関数を上記の本実施の形態の遅延計算処理において使用することで、従来一般的に行われていたゲートレベルの遅延計算よりも高精度に遅延計算を行うことが可能である。
(実施の形態3)
図6は、本発明の実施の形態3における半導体集積回路の遅延計算方法の処理手順を示すフローチャートである。
まず、ステップS61において、回路接続情報D61、ライブラリD62、配線寄生容量・抵抗D63を入力として、通常の遅延計算処理を行う。ステップS61で遅延計算を行った結果のうち、全インスタンスにおける入力スルーの情報D64を、ファイルに記述または計算機のメモリに記憶する等の手段で保持しておく。
次に、全インスタンスの入力スルーD64および回路の配線寄生容量D63の値を入力として、ステップS62において統計処理を行う。ステップS62において、例えば、回路中のセルの駆動負荷容量の平均値と入力スルーの平均値をセル毎に求める統計処理を行うものとする。D65は、ステップS62の統計処理により求めたセル毎の平均の入力スルー値とセル毎の平均の駆動負荷容量である。
次に、ステップS63において、データD65を入力とし、セル毎の入力端子容量の関数D66を用いて、各セルの入力端子容量を計算する。D67は、ステップS63で求めた各セルの入力端子容量値である。
次に、ステップS64で、入力端子容量値D67を用いて最終の遅延計算処理を行い、遅延計算結果D68(遅延情報、スルー情報)等を出力する。
セルの入力端子容量は実際は駆動負荷容量と入力スルーの依存性を持つが、以上の処理を行うことにより、実際の回路で発生している状況(入力スルー、駆動負荷容量)における入力端子容量の値を用いて遅延計算を行うことが可能である。
(実施の形態4)
図7は、本発明の実施の形態4における半導体集積回路の遅延計算方法(セルキャラクタライズ方法)の処理手順を示すフローチャートである。
まず、ステップS71において、各セル毎の入力スルー値の平均値D71、各セル毎の駆動負荷容量の平均値D72、およびキャラクタライズに必要な入力となる各キャラクタライズ対象セルの寄生RC情報D73を入力する。ここで、平均値D71,D72は、セルの駆動能力に応じて平均値を求めておいた方が、後のキャラクタライズを精度良く行うことができる。平均値D71,D72は、各世代において、設計結果がある程度蓄えられてきた段階で求め、セルキャラクタライズに用いれば良い。
ステップS71のセルキャラクタライズにおいて、セルの入力端子容量を求める際に、入力スルーの平均値D71および駆動負荷容量の平均値D72を用いることで、実際の回路でよく使われるスルーと駆動負荷容量を用いて、入力端子容量を求めることが可能になる。これにより、従来よりも高精度遅延計算を実行できることが期待できる。
次に、セルキャラクタライズの具体例について説明する。
図8は、インバータセルのレイアウト図である。VDDは電源、VステップSステップSはグランド、Vinはインバータセルの入力端子、Voutはインバータセルの出力端子、N81は入力端子のノード、N82は出力端子のノード、C81は、ノードN81とノードN82の間の寄生容量値である。
図9は、実施の形態4における遅延計算方法のセルキャラクタライズの処理手順を示すフローチャートである。
最初にステップS91で、セルのネットリスト(寄生容量・抵抗の接続データ)D91を入力として、通常のセルキャラクタライズを行う。ステップS91のセルキャラクタライズ結果としてセルの遅延値と出力端子におけるスルー値の情報D92を出力する。
次に、ステップS92において、セルの入力端子とセルの内部信号線の間の結合容量(図8におけるC81参照)が規定値以上の場合には、入力端子容量値を関数表現する(D93)。セルの入力端子とセルの内部信号線の間の結合容量が相対的に大きい場合には、入力スルーと駆動負荷容量に依存して入力端子容量が大きく変動する。したがって、入力端子容量の変動の大小をステップS92で判定する。規定値よりも小さい場合には、ステップS94に進んで、入力端子容量値として代表の1値を求める(D94)。
以上により、入力端子容量の変動が大きいセルに対してのみ、入力端子容量を関数表現することで、関数表現が不要なセルに対しては、従来の代表値の1値をライブラリに登録することで、必要な個所のみ入力端子容量を精度良く求めることが可能になる。
図10は、セルキャラクタライズの別の処理手順を示すフローチャートである。図9との比較でステップS92aのみが相違する。
最初にステップS91で、セルのネットリスト(寄生容量・抵抗の接続データ)D91を入力として、通常のセルキャラクタライズを行う。ステップS91のセルキャラクタライズ結果としてセルの遅延値と出力端子におけるスルー値の情報D92を出力する。
次に、ステップS92aにおいて、セルの入力端子とセルの内部信号線の間の距離(図8におけるL81参照)が規定値以下の場合には、入力端子容量値を関数表現する(D93)。セルの入力端子とセルの内部信号線の間の距離が相対的に小さい場合には、入力スルーと駆動負荷容量に依存して入力端子容量が大きく変動する。したがって、入力端子容量の変動の大小をステップS92aで判定する。規定値よりも大きい場合には、ステップS94に進んで、入力端子容量値として代表の1値を求める(D94)。
以上により、入力端子容量の変動が大きいセルに対してのみ、入力端子容量を関数表現することで、関数表現が不要なセルに対しては、従来の代表値の1値をライブラリに登録することで、必要な個所のみ入力端子容量を精度良く求めることが可能になる。
また、図9の場合のように入力端子と内部信号線の間の結合容量値を参照することがないので、より短い処理時間で、入力端子容量の変動が大きいセルに対してのみセルの入力端子容量の関数を求めることが可能になる。
(実施の形態5)
図11は、本発明の実施の形態5における半導体集積回路の遅延計算方法の処理手順を示すフローチャートである。d11はセルの入力端子容量を記入した遅延ライブラリ、d12は配線の容量値および抵抗値を記載している寄生成分情報、d13はインスタンスの接続関係を記載したインスタンス接続情報、d14は各インスタンスの遅延時間を記載した遅延時間情報である。
図12は、入力端子容量計算工程T10の処理内容を示すフローチャートである。m11は一時的なデータをコンピュータ内に記憶させおく記憶部である。
図13は、入力端子容量計算時の信号波形と入力端子に流れ込む電流との関係を示している。e0は入力端子容量を測定するセル、w1はセルe0の入力端子に与えられる入力信号波形、w2はセルe0の出力信号波形、Iaはセルe0に流れ込む電流、Vthは特定電圧、w3はセルe0の入力端子に流れ込む電流波形、t1は入力信号波形w1が遷移を開始した時刻、t2は特定電圧Vthに達した時刻である。
図14は、インスタンスの接続情報を示している。e1〜e7はインバータの機能をもつ同種のセルであり、各自固有の名称をつけたインスタンスである。o1,o2,o3,o4はそれぞれインスタンスe1,e2,e3,e4の出力端子である。i2,i3,i4,i5,i6,i7はそれぞれインスタンスe2,e3,e4,e5,e6,e7の入力端子である。n1,n2,n3は配線のノードである。C1〜C13は入力端子および出力端子およびノードにつながる配線容量である。
以上の構成について、以下にその動作を説明する。
入力端子容量計算工程T10は、T11〜T16の組み合わせ設定工程からライブラリ登録工程までを含み、入力端子容量を算出する。
先ず、組み合わせ設定工程T11では、セルe0の入力信号波形の傾き(入力スルー)、駆動負荷容量および入力信号波形が立ち上がりか立ち下がりかの組み合わせ(入力スルー、駆動負荷容量、立ち上がり/立ち下がり)から、1種類の組み合わせを設定し、記憶部m11に記憶する。
次に、電流量算出工程T12では、記憶部m11から設定の組み合わせを読み込み、セルe0の入力端子に流れ込む電流Iaを回路シミュレーションで測定し、記憶部m11に記憶する。入力信号波形w1は立ち上がりの場合を示しているので、入力信号波形がゼロから特定電圧Vthまでの電流を測定する。もし、入力信号波形が立ち下がりの場合であれば、電源電圧から特定電圧Vthまでの電流を測定する。特定電圧Vthとしては、遅延時間を測定するしきい値電圧であることが望ましい。
次に、電荷算出工程T13では、記憶部m11から電流量Iaを測定した時間で積分して電荷qaを算出し、記憶部m11に記憶しておく。測定した時間は、時刻t1から時刻t2となる。よって、電荷qaは式(4)で表されている。
Figure 0004481155
次に、入力端子容量算出工程T14では、記憶部m11から電荷qaを読み取り、測定した時間で割って入力端子容量Caを算出し、記憶部m11に記憶する。入力端子容量Caは、式(5)で算出する。入力端子容量Caは、組み合わせでの算出した値となる。
Figure 0004481155
次に、全組み合わせ入力端子容量を算出したか判断し、算出していなければ、組み合わせ設定工程T11に戻る判断工程T15を実行する。
次に、ライブラリ登録工程T16では、入力信号波形が立ち上がる場合と立ち下がる場合のそれぞれで、記憶部m11から入力端子容量を読み取り、入力端子容量を入力信号波形の傾きと駆動負荷容量を引数とした関数を算出し、ライブラリm12に登録する。
次に、遅延計算工程T20では、遅延ライブラリd11、寄生成分情報d12、インスタンス接続情報d13から遅延時間を計算する。
インスタンスe1の遅延時間を計算するのを例として説明する。インスタンスe2,e3,e4の入力端子容量を遅延ライブラリd11から算出する。入力端子容量を算出する際の入力スルーと駆動負荷容量は、従来用いていた1値の固定値を利用して計算しておき、複数回繰り返して遅延時間を計算する。
以上のように、本実施の形態によれば、遅延時間計算にかかわる時間の入力端子容量を算出しているので、遅延時間を高精度に計算できる。
(実施の形態6)
図15は、本発明の実施の形態6における半導体集積回路の遅延計算方法の処理手順を示すフローチャートである。d21は各インスタンスの入力スルーが記載されている入力波形傾き情報、d22は各セルの入力端子容量を算出する関数が記載されている入力端子容量情報、d23はセル種毎に1値の入力端子容量が登録された遅延ライブラリ、d24は遅延ライブリd23に登録の入力端子容量と関数で算出した入力端子容量との差分を追加した寄生成分情報である。
図16は、寄生成分情報dの内容を示している。インスタンスe1〜e4につながっている配線容量C1〜C7を示している。配線容量は、ネット毎に容量インスタンス、ノード名、ゼロ電位ノード名、容量値で表現している。図16では、例としてノード間の配線容量値を全て10fF(フェムトファラド)で示している。
図17は、寄生成分情報d24の内容を示している。図16に記載のnet1に対して追加した容量値をΔC2,ΔC6,ΔC7で示している。
以上の構成について、以下にその動作を説明する。
先ず、配線容量変更工程T21では、寄生成分情報d12、入力スルーd21と入力端子容量情報d22と遅延ライブラリd23を入力して、寄生成分情報d24を出力する。インスタンスe2,e3,e4のそれぞれの入力スルーとそれぞれの出力につながる駆動負荷容量を引数として、入力端子容量情報d22に記載の関数からそれぞれの入力端子容量を算出する。算出したインスタンスe2,e3,e4の入力端子容量がそれぞれC2,C6,C7であったとする。遅延ライブラリd23に登録のインスタンスe2,e3,e4に相当するセルの入力端子容量がCaであったとすると、式(6)〜(8)によってそれぞれの容量差ΔCを算出する。
Figure 0004481155
Figure 0004481155
Figure 0004481155
そして、差分の配線容量ΔC2,ΔC6,ΔC7を付加して寄生成分情報d24を出力する。入力端子容量C2,C6,C7がそれぞれ5fF,6fF,7fFで、入力端子容量Caが8fFであったとすると、ΔC2,ΔC6,ΔC7はそれぞれ−3fF,−2fF,−1fFとなる。
遅延計算工程T22は、遅延ライブラリd23と寄生成分情報d24とインスタンス接続情報d13を入力として、遅延時間を計算し、遅延時間情報d14を出力する。
従来の遅延ライブラリに登録の入力端子容量Caが1値で登録されている場合に、インスタンス毎の入力スルーと駆動負荷容量を引数とする関数から算出する入力端子容量Ciとの差を配線容量として付加することによって、従来の遅延計算の仕組みを変えることなく遅延計算が可能となるので、高精度に計算できる。
なお、容量差を寄生成分情報d24に記載しているが、入力端子につながる配線容量値を容量差から計算して変更してもよい。
(実施の形態7)
図18は、本発明の実施の形態7における半導体集積回路の遅延計算方法の処理手順を示すフローチャートである。d31はセル内の寄生成分を記載した寄生成分情報、d32は入力端子とセル内部の信号線との結合容量を記載した結合容量情報、d33はセル内の信号線における波形傾きを記載したセル内波形傾き情報である。セル内波形傾き情報d33は、複数の入力スルーについて予め測定しておく。d34は結合容量と入力端子における波形傾きとセル内における信号線の波形傾きから算出した等価容量が記載された等価容量情報である。
図19は、結合容量から等価容量への置き換えを示している。w4はセルe0へ入力される信号波形、w5はセルe0の内部の信号波形、Cbはセルe0の入力端子とセルe0内部の信号線における結合容量、Ceは結合容量Cbの等価容量である。
以上のように構成された実施の形態7について、以下にその動作を説明する。
先ず、結合容量計算工程T31では、セル内寄生成分情報d31から入力端子とセル内の信号線との結合容量を算出する。
次に、等価容量計算工程T32では、予め計算しておいた入力端子における波形傾きPaとセル内の信号線における波形傾きPbを引数とした関数から等価容量を計算する。波形傾きPbは、波形傾きPaからセル内波形傾き情報を参照して算出する。
次に、遅延計算工程T33では、遅延ライブラリd23と寄生成分情報d24とインスタンス接続情報d13を入力して、駆動負荷容量計算時に等価容量を加算して遅延時間を計算する。
以上のように、本実施の形態によれば、従来考慮できていなかった結合容量を等価容量に置き換えて遅延計算しているので、遅延時間を高精度に計算できる。
本発明による半導体集積回路の遅延計算方法およびセルキャラクタライズ方法によれば、セルの入力端子容量をより正確に求めることが可能であり、近年問題になっている見かけの入力端子容量の変動にも対応した遅延計算をすることが可能になる。また、従来からあった遅延計算技術に工程を加えることで実現することが可能であり、遅延計算をより高精度に行うことが可能になる。また、セルキャラクタライズにおいても、工程を追加することで、入力端子容量をより高精度に求めることが可能になる。
本発明の実施の形態1における半導体集積回路の遅延計算方法の処理手順を示すフローチャート 本発明の実施の形態1における入力スルーと入力端子容量の関係を示すテーブル図 本発明の実施の形態1における入力スルーおよび駆動負荷容量と入力端子容量の関係を示すテーブル図 本発明の実施の形態2における半導体集積回路の遅延計算方法の処理手順を示すフローチャート 本発明の実施の形態2における駆動負荷容量と入力端子容量の関係を示すテーブル図 本発明の実施の形態3における半導体集積回路の遅延計算方法の処理手順を示すフローチャート 本発明の実施の形態4における半導体集積回路の遅延計算方法の処理手順を示すフローチャート 本発明の実施の形態4におけるセルレイアウト図 本発明の実施の形態4におけるセルキャラクタライズの処理手順を示すフローチャート 本発明の実施の形態4における別のセルキャラクタライズの処理手順を示すフローチャート 本発明の実施の形態5における半導体集積回路の遅延計算方法の処理手順を示すフローチャート 本発明の実施の形態5における入力端子容量計算工程の処理内容を示すフローチャート 本発明の実施の形態5における信号波形と入力端子に流れ込む電流量の関係を示す図 本発明の実施の形態5におけるインスタンスの接続情報を示す図 本発明の実施の形態6における半導体集積回路の遅延計算方法の処理手順を示すフローチャート 本発明の実施の形態6における寄生成分情報に記載された内容を示す図 本発明の実施の形態6における寄生成分情報に記載された内容を示す図 本発明の実施の形態7における半導体集積回路の遅延計算方法の処理手順を示すフローチャート 本発明の実施の形態7における結合容量から等価容量への置き換えを示す図
符号の説明
S11 入力スルー計算工程
S12 入力端子容量算出工程
S13 遅延時間計算工程
S14 入力端子容量の変化量の判定工程
S15 入力端子容量置き換え処理
S41 入力端子容量計算工程
S42 遅延時間計算工程
S62 駆動負荷容量と入力スルー値の統計処理工程
S71 セルキャラクタライズ
S91 セルキャラクタライズ
S92 セル入力端子とセル内部信号の間の結合容量大きさ判定工程
S92a セル入力端子とセル内部信号の間の距離判定工程
T10 入力端子容量計算工程
T21 配線容量値変更工程
T31 結合容量計算工程
T32 等価容量計算工程

Claims (7)

  1. メモリを有する計算機におけるセルの入力端子容量の算出方法であって、
    前記計算機が、
    前記セルにおける入力スルー及び駆動負荷容量を入力する第1のステップと、
    前記入力スルーおよび前記駆動負荷容量を用いて回路シミュレーションを行う第2のステップと、
    前記回路シミュレーションの結果に基づいて、前記セルの前記入力端子容量を、前記入力スルーおよび前記駆動負荷容量を引数に含む関数を前記メモリに蓄える第3のステップと、
    前記第3のステップにおいて蓄えられた関数を前記メモリから出力する第4のステップと、
    を実行することを特徴とするセルの入力端子容量の計算方法。
  2. 前記計算機が、
    前記第1のステップでは、前記セルにおける入力スルー及び駆動負荷容量として、当該入力スルーおよび当該駆動負荷容量との複数の組合せを入力し、
    前記第2のステップでは、前記入力スルーおよび前記駆動負荷容量の前記複数の組合せを用いて回路シミュレーションを繰り返す、
    ことをそれぞれ実行することを特徴とする請求項1記載のセルの入力端子容量の算出方法。
  3. 前記計算機が、前記回路シミュレーション時には前記セルの入力端子に流れ込む電流を測定することを実行する、
    ことを特徴とする請求項1から2に記載のセルの入力端子容量の算出方法。
  4. 前記計算機が、前記回路シミュレーション時には入力信号波形が特定電圧に達するまでの電流を測定することを実行する、
    ことを特徴とする請求項3に記載のセルの入力端子容量の算出方法。
  5. 前記計算機が、前記入力信号波形が立ち上がりの場合には前記入力信号波形がゼロから前記特定電圧に達するまでの電流を測定し、前記入力信号波形が立ち下がりの場合には前記入力信号波形が電源電圧から前記特定電圧に達するまでの電流を測定することを実行する、
    ことを特徴とする請求項4に記載のセルの入力端子容量の算出方法。
  6. 前記特定電圧は遅延時間を測定するしきい値電圧である、
    ことを特徴とする請求項4から6に記載のセルの入力端子容量の算出方法。
  7. 前記計算機が、請求項1から6に記載のセルの入力端子容量の算出方法によって算出されたセルの入力端子容量を記憶したファイルを用いて遅延計算を実行する遅延計算方法。
JP2004355600A 2004-12-08 2004-12-08 セルの入力端子容量の算出方法、および遅延算出方法 Expired - Fee Related JP4481155B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2004355600A JP4481155B2 (ja) 2004-12-08 2004-12-08 セルの入力端子容量の算出方法、および遅延算出方法
US11/296,640 US7925998B2 (en) 2004-12-08 2005-12-08 Delay calculating method in semiconductor integrated circuit
US13/078,411 US20110185327A1 (en) 2004-12-08 2011-04-01 Delay calculating method in semiconductor integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004355600A JP4481155B2 (ja) 2004-12-08 2004-12-08 セルの入力端子容量の算出方法、および遅延算出方法

Publications (3)

Publication Number Publication Date
JP2006163928A JP2006163928A (ja) 2006-06-22
JP2006163928A5 JP2006163928A5 (ja) 2009-03-19
JP4481155B2 true JP4481155B2 (ja) 2010-06-16

Family

ID=36665871

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004355600A Expired - Fee Related JP4481155B2 (ja) 2004-12-08 2004-12-08 セルの入力端子容量の算出方法、および遅延算出方法

Country Status (2)

Country Link
US (2) US7925998B2 (ja)
JP (1) JP4481155B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5117170B2 (ja) * 2007-11-20 2013-01-09 株式会社リコー 回路設計支援装置、回路設計支援方法、回路設計支援プログラム及び記録媒体
US8352901B2 (en) * 2007-12-06 2013-01-08 Wipro Limited Technique for generation of load-slew indices for circuit characterization
KR20140133123A (ko) * 2013-05-09 2014-11-19 삼성디스플레이 주식회사 지연 파라미터 추출 장치 및 방법
US9430604B2 (en) * 2013-12-18 2016-08-30 Nxp B.V. Integrated circuit package and method
US20210041488A1 (en) * 2019-08-11 2021-02-11 Nuvoton Technology Corporation Measuring Input Capacitance with Automatic Test Equipment (ATE)

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5274568A (en) * 1990-12-05 1993-12-28 Ncr Corporation Method of estimating logic cell delay time
JPH08249359A (ja) * 1995-03-09 1996-09-27 Matsushita Electric Ind Co Ltd 信号波形計算方法及び信号伝播時間計算方法
US5655109A (en) * 1995-05-23 1997-08-05 Advanced Micro Devices, Inc. Automated cell characterization system
US6615164B1 (en) * 1999-04-15 2003-09-02 Synopsys Inc. Method and apparatus for representing integrated circuit device characteristics using polynomial equations
JP2001147948A (ja) * 1999-11-19 2001-05-29 Matsushita Electric Ind Co Ltd セルの遅延時間計算方法及び半導体集積回路のレイアウト最適化方法
US6516454B1 (en) * 1999-11-19 2003-02-04 Matsushita Electric Industrial Co., Ltd. Method of estimating time delay
US6543036B1 (en) * 1999-11-30 2003-04-01 Synopsys, Inc. Non-linear, gain-based modeling of circuit delay for an electronic design automation system
US6591407B1 (en) * 2000-03-01 2003-07-08 Sequence Design, Inc. Method and apparatus for interconnect-driven optimization of integrated circuit design
US6622291B1 (en) * 2000-10-30 2003-09-16 Cadence Design Systems, Inc. Method and apparatus for physical budgeting during RTL floorplanning
US6625781B2 (en) * 2001-01-26 2003-09-23 Nec Electronics, Inc. Multi-level power macromodeling
US6862600B2 (en) * 2001-05-22 2005-03-01 Silicon Metrics Corporation Rapid parameter passing between multiple program portions for efficient procedural interaction with minimum calls and/or call backs
US7103863B2 (en) * 2001-06-08 2006-09-05 Magma Design Automation, Inc. Representing the design of a sub-module in a hierarchical integrated circuit design and analysis system
US20040002844A1 (en) * 2002-06-27 2004-01-01 Jess Jochen A.G. System and method for statistical modeling and statistical timing analysis of integrated circuits
US20040025136A1 (en) * 2002-07-30 2004-02-05 Carelli John A. Method for designing a custom ASIC library
US6954914B2 (en) * 2003-03-24 2005-10-11 Sun Microsystems, Inc. Method and apparatus for signal electromigration analysis
JP2004327864A (ja) * 2003-04-25 2004-11-18 Matsushita Electric Ind Co Ltd 半導体集積回路の低消費電力化設計方法
JP4683833B2 (ja) * 2003-10-31 2011-05-18 株式会社半導体エネルギー研究所 機能回路及びその設計方法
US7051305B1 (en) * 2004-04-27 2006-05-23 Sun Microsystems, Inc. Delay estimation using edge specific miller capacitances
US7310792B2 (en) * 2004-06-15 2007-12-18 Cadence Design Systems, Inc. Method and system for modeling variation of circuit parameters in delay calculation for timing analysis
US8020129B2 (en) * 2008-01-29 2011-09-13 International Business Machines Corporation Multiple voltage threshold timing analysis for a digital integrated circuit

Also Published As

Publication number Publication date
JP2006163928A (ja) 2006-06-22
US20110185327A1 (en) 2011-07-28
US20070300196A1 (en) 2007-12-27
US7925998B2 (en) 2011-04-12

Similar Documents

Publication Publication Date Title
US10169506B2 (en) Circuit design method and system
US8020129B2 (en) Multiple voltage threshold timing analysis for a digital integrated circuit
US8336002B2 (en) IC design flow enhancement with CMP simulation
WO2007050799A2 (en) Incorporating manufacturing variations in the analysis of integrated circuit design
US9262575B2 (en) Circuit-level abstraction of multigate devices using two-dimensional technology computer aided design
US20110185327A1 (en) Delay calculating method in semiconductor integrated circuit
US10394999B2 (en) Analysis of coupled noise for integrated circuit design
US20120215516A1 (en) IR Drop Analysis in Integrated Circuit Timing
US20070266360A1 (en) Metal Thickness Simulation for Improving RC Extraction Accuracy
TWI817646B (zh) 用於設計上下文感知電路的方法及系統
US20120143582A1 (en) Characterization of nonlinear cell macro model for timing analysis
US7036096B1 (en) Estimating capacitances using information including feature sizes extracted from a netlist
KR20160015824A (ko) 전하 펌프를 포함하는 전자 회로를 시뮬레이션하는 방법
JP5405055B2 (ja) 半導体装置の解析及び設計装置、及び半導体装置の解析及び設計方法
JP5011194B2 (ja) セル遅延ライブラリとその作成方法、及び遅延解析方法
JP2008287666A (ja) 回路動作検証装置、半導体集積回路の製造方法、回路動作検証方法、制御プログラムおよび可読記録媒体
JP5103321B2 (ja) クロストークノイズの判定方法およびプログラム
US8499274B2 (en) Computer implemented system and method for leakage calculation
JP2005339157A (ja) 蓄電素子の等価回路モデルを記録した記録媒体、導出プログラム、その記録媒体、導出装置、シミュレーションプログラム、その記録媒体、シミュレーション装置、設計方法、良否判断方法および良否判断装置。
JP2006053712A (ja) 電子回路解析装置、電子回路解析方法、電子回路解析プログラム
JP5565725B2 (ja) 集積回路電源間容量の計算装置、及び、集積回路電源間容量の計算方法
JP4673405B2 (ja) 受動素子設計プログラム、設計装置、および設計方法
JP2001067387A (ja) 非線形信号波形表現方法及びセル遅延時間計算方法
KR20160115653A (ko) 공정 변이를 고려한 집적 회로 분석 시스템 및 방법
JP6255982B2 (ja) 検証支援プログラム、および検証支援方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091020

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100120

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100317

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130326

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4481155

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130326

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140326

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees