JP3952825B2 - 半導体集積回路のバッファ挿入方法及び装置 - Google Patents
半導体集積回路のバッファ挿入方法及び装置 Download PDFInfo
- Publication number
- JP3952825B2 JP3952825B2 JP2002092319A JP2002092319A JP3952825B2 JP 3952825 B2 JP3952825 B2 JP 3952825B2 JP 2002092319 A JP2002092319 A JP 2002092319A JP 2002092319 A JP2002092319 A JP 2002092319A JP 3952825 B2 JP3952825 B2 JP 3952825B2
- Authority
- JP
- Japan
- Prior art keywords
- buffer
- candidate
- path
- semiconductor integrated
- wiring
- 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
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Description
【発明の属する技術分野】
本発明は、半導体集積回路のタイミング最適化を図るためのバッファ挿入方法及び装置に関する。
【0002】
【従来の技術】
半導体集積回路の設計工程時には、タイミングの最適化、即ち、ドライバセルからの伝送信号の終端への到達時間の最適化を図ることが行われる。半導体集積回路のタイミング最適化を図る方法として、例えば、配線経路にバッファを挿入するバッファ挿入法が使用されている。
【0003】
バッファ挿入法では、配線経路にバッファ挿入位置候補を定め、バッファ挿入位置候補及びバッファ駆動能力の集合を解集合として、制約条件やコスト関数を設定し、タイミング制約に対して最適解を得ることによりバッファの挿入を行うという最適解探索方法や、バッファの挿入間隔などを予めルールで定めておき、このルールに基づいてバッファの挿入を行うというルールベース方式などが採られている。
【0004】
最適解探索方法によるバッファ挿入方法においては、制約条件の評価に遅延計算が必要となるが、遅延計算には、簡単な数式で表されるエルモア遅延モデルを使用する方法や、AWE(漸近波形評価法)などモーメントマッチング法を用いて信号の近似波形を表す式を導く方法や、線形シミュレータを使用する方法などがある。
【0005】
モーメントマッチング法には、手順や式の変形に、いくつかのバリエーションがあるが、代表的なものを例として挙げる。
【0006】
配線経路の伝達関数H(s)は
【0007】
【数1】
【0008】
と表すことができる。ここで、数1の分母の次数がnなら、
【0009】
【数2】
【0010】
となり、時間領域に写像すると、
【0011】
【数3】
【0012】
となり、伝達関数H(s)の分母がn次なら、n個のp(極)、k(留数)の組を求めなければならない。しかし、実際のところ、n個の組合せを全て使用しなくとも、数3とほぼ同等の式を得ることができる。いくつかの支配的な極・留数を求めようとするのが、モーメントマッチング法のコンセプトである。
【0013】
ここで、伝達関数H(s)をs=0でテイラー展開すると、数4に示すようになる。係数m0、m1、m2、…がモーメントと定義されるものである。
【0014】
【数4】
【0015】
次に、伝達関数H(s)をq個の極を持つHp,q(s)に近似(Pade近似)すると、数5を得ることができる。
【0016】
【数5】
【0017】
ただし、
【0018】
【数6】
【0019】
であり、p<qである。また、数4、数5より、数7を得ることができる。
【0020】
【数7】
【0021】
ここで、(数6の右辺)=(数7の右辺)として、数8を得ることができる。
【0022】
【数8】
【0023】
数8の両辺の係数を比較すると、
【0024】
【数9】
【0025】
となる。数9中で、『0=』となっている部分から、q〜(2q−1)までを抜き出すと、
【0026】
【数10】
【0027】
となり、Hp,q(s)の分母の係数が求められる。即ち、数10において、モーメントm0〜m2q-1を与えれば、Hp,q(s)の分母の係数が得られ、Hp,q(s)の極が求められ、数11となる。
【0028】
【数11】
【0029】
数11をs=0でテイラー展開すると、数11は、数12のようになる。
【0030】
【数12】
【0031】
ここで、(数7の右辺)=(数12の右辺)とすると、数13を得ることができ、この数13を解くことで、留数kが求められる。
【0032】
【数13】
【0033】
以上の手順を踏めば、伝達関数H(s)を表現することに十分な極と留数(近似極・近似留数と言われる)の組合せq個を、(2q−1)個のモーメントを与えることにより求めることができる。
【0034】
【発明が解決しようとする課題】
バッファ挿入方法において、最適解探索方法を採用する場合には、良質な最適解を得られることが多い。しかし、最適解探索方法では、膨大な組合せの解集合について、制約条件、コスト関数を評価しながら最適解を探索することになり、計算コストが非常に大きくなるという問題点がある。即ち、良質な最適解を得るためには、遅延計算モデルが高精度でなければならないが、高精度な遅延計算モデルほど計算コストは大きくなってしまう。
【0035】
これに対して、ルールベース方式は、計算コストが殆どかからないという長所を有しているが、ルールはシミュレーション結果を元に作成されるものであり、その妥当性がどれだけのものであるかは不明であり、設計者の経験に依存するなど、問題が多い。
【0036】
また、遅延計算を行うにあたり、エルモア遅延モデルは、簡単な数式で表されるので、遅延計算にかかるコストが少なく、これを用いて解析式を立てることも可能である。しかし、シールディング効果を考慮することができないため、抵抗成分の大きな配線の配線遅延の計算では、誤差が非常に大きくなってしまう。
【0037】
これに対して、モーメントマッチング法は、次数を上げることで精度を非常に大きくすることができ、遅延計算にかかるコストは比較的小さいし、また、次数が高ければシールディング効果を考慮することができる。しかし、式は複雑であり、特に、5以上の高次モーメントの計算は非常に複雑となり、解析的に解くことが困難となる。
【0038】
また、線形シミュレータを使用する遅延計算方法は、非常に高精度であるが、計算コストが大きいという問題点がある。また、シミュレータなので、解析式に用いることは不可能である。
【0039】
本発明は、かかる点に鑑み、半導体集積回路のタイミング最適化を低コストかつ高精度で行うことができるようにした半導体集積回路のバッファ挿入方法及び装置を提供することを目的とする。
【0040】
【課題を解決するための手段】
本発明の半導体集積回路のバッファ挿入方法及び装置は、回路を1パスごとに直線近似し、該直線近似された1パスごとにバッファ挿入条件を所定の解析式を直接解いて算出し、全パスについて求めたバッファ挿入条件から、回路中に挿入するバッファ候補を作成し、該バッファ候補を解集合として該バッファ候補の中からタイミング制約を満足するようにバッファ候補を選択する、というものである。
【0041】
本発明によれば、直線近似された1パスごとにバッファ挿入条件を所定の解析式を直接解くことにより算出するとしているので、計算コストの大きい遅延計算を繰り返す必要が無く、また、バッファ挿入条件自体が十分な妥当性を持つことになる。
【0042】
【発明の実施の形態】
以下、図1〜図13を参照して、本発明の半導体集積回路のバッファ挿入方法及び装置の一実施形態について説明する。
【0043】
(A.全体の手順、構成)
図1は本発明の半導体集積回路のバッファ挿入方法及び装置の一実施形態を示す図である。本発明の半導体集積回路のバッファ挿入方法の一実施形態においては、半導体集積回路のタイミング最適化を図るために、以下の手順に従って、半導体集積回路上の配線経路にバッファの挿入が行われる。
【0044】
[ステップS1−1]
回路情報を読み込み、回路情報格納手段10に格納する。また、各終端でのタイミング制約を読み込み、タイミング制約格納手段11に格納する。
【0045】
[ステップS1−2]
配線経路の直線近似手段12を用いて分岐を実効容量化して回路を1パスごとに直線近似し、全パスについて近似直線を作成する。
【0046】
[ステップS1−3]
バッファ挿入条件計算手段13を用いて、各パスについて、分岐をオフローディングするか否かの決定及び配線分割数の計算、バッファ駆動能力の計算、バッファ挿入位置の計算を行う。
【0047】
[ステップS1−4]
バッファ挿入候補生成手段14を用いて、バッファ挿入後の各パスのスラック(Slack)を計算し、スラックが小さい順に各パスに優先順位を与え、ステップS1−3で計算したバッファ挿入位置をバッファ挿入候補位置とする。
【0048】
[ステップS1−5]
バッファ挿入候補選択手段15を用いて、タイミング特性が最適となるようにバッファ挿入候補の選択を行い、更に、トップダウン処理により余分なバッファを取り除く。
【0049】
なお、本発明のバッファ挿入装置の一実施形態を構成する配線経路の直線近似手段12、バッファ挿入条件計算手段13、バッファ挿入候補生成手段14及びバッファ挿入候補選択手段15は、コンピュータをハードウエア資源として、ソフトウエア(プログラム)で実現することができる。
【0050】
(B.ステップS1−3の具体的内容)
図2はステップS1−3の具体的内容を示す流れ図である。即ち、ステップS1−3では、以下の手順に従って、分岐をオフローディングするか否かの決定及び配線分割数の計算、バッファ駆動能力の計算、バッファ挿入位置の計算が行われる。
【0051】
[ステップS2−1]
オフローディングバッファ挿入判定手段20を用いて、分岐の実効容量の大きさとバッファ駆動能力から、分岐をオフローディングするかどうかを決め、近似直線のパラメータ更新手段21を用いて近似直線のパラメータを更新する。
【0052】
[ステップS2−2]
配線分割数計算手段22を用いて配線分割数を計算し、バッファ駆動能力計算手段23を用いてバッファ駆動能力を計算する。
【0053】
[ステップS2−3]
バッファの初期駆動能力とステップS2−2で計算した駆動能力が異なる場合、ステップS2−1、S2−2を再度実行する。
【0054】
[ステップS2−4]
バッファ挿入位置計算手段24を用いて、配線分割数及びバッファ駆動能力からバッファ挿入位置を計算する。
【0055】
(C.ステップS2−2の具体的内容)
バッファ挿入条件を精度良く求めるには、遅延計算モデルの精度が良くなければならない上に、解析式を直接解くことができるくらい簡潔である必要がある。そこで、本発明者は、計算精度が良いモーメントマッチング法を用いて、エルモア遅延計算モデルを表すことを考えた。これは、直線近似した1パスについて、モーメントマッチング法の1次近似で計算される遅延時間をエルモア遅延モデルと係数の形で表すというものである。1次近似でも比較的精度は良い。以下、遅延計算モデルの作成方法、配線分割数の計算方法、バッファ駆動能力の計算方法について説明する。
【0056】
(C−1.遅延計算モデルの作成方法)
図3は配線モデルを示す回路図である。図3中、30は電圧源、31は電圧源30から出力される電圧波形、Rdは電圧源30内の駆動抵抗、32は配線である。図3において、電圧源30から出力される電圧波形31の立ち上がり時間をtTとして、終端での応答波形V(t)を求めると、
【0057】
【数14】
【0058】
となる。ただし、u(t−tT)は、t<tTのとき、u=0、t≧tTのとき、u=1となるステップ関数であり、Vr(t)は
【0059】
【数15】
【0060】
である。ただし、ulはVdd/tT、τeは終端でのエルモア遅延、τは配線32の時定数を表す。
【0061】
V(T50%)=Vdd/2となる時刻T50%が、T50%≦tTとなるとき、遅延時間Tdは
【0062】
【数16】
【0063】
と表すことができる。また、T50%>tTとなるときは、遅延時間Tdは
【0064】
【数17】
【0065】
となる。ここで、配線32の時定数τをエルモア遅延τeで表し、式を簡単化する。配線32を分岐の無い均一な分布定数線路と仮定すると、時定数τとエルモア遅延τeの間には、τ=(5/6)τeの関係が得られるので、数16は
【0066】
【数18】
【0067】
となり、数17は
【0068】
【数19】
【0069】
となる。ここで、x=tT/τeとおいて、T50%≦tT、すなわち、V(tT)≧Vdd/2となるときのx=tT/τeを求める。数14から、
【0070】
【数20】
【0071】
【数21】
【0072】
を得ることができる。そこで、数21のexpをx=2についてテイラー展開すると、
【0073】
【数22】
【0074】
となる。故に、x≧1.38≒1.40となる。また、T50%>tTとなるときは、x<1.40となる。よって、数18は、
【0075】
【数23】
【0076】
となり、数19は
【0077】
【数24】
【0078】
と表すことができる。数23、数24は境界条件(x=1.4で数23と数24は連続とならなければならない)を満たさなければならない。そこで、数24を
【0079】
【数25】
【0080】
と変形する。ただし、lnYは
【0081】
【数26】
【0082】
である。数26にxb=1.4を代入すると、Y=2.11000904を得る。ここで、終端のゲートの入力端子への信号遷移時間(立ち上がり時間)τinに対して、終端のゲートの寄生遅延時間がDb(τin)と表されるとすると、伝播遅延時間Tpdは、上述の遅延計算モデルTdを用いて、
【0083】
【数27】
【0084】
と表すことができる。
【0085】
(C−2.配線分割数の計算方法)
図4は直線近似された1パスを示している。配線分割数の計算は、図4に示したような直線近似された1パスについて、Required Arrival Timeを制約として配線分割数(バッファ挿入個数+1)を求める計算であるが、この配線分割数の計算は、遅延計算モデルTpdを用いて行うことができる。
【0086】
まず、配線の単位長当たりの抵抗をr、容量をc、分岐の実効容量(集中定数容量)をCi、分割した配線の長さをli、負荷容量をCL、分岐の実効容量の総和をClump、総配線抵抗をRint、総配線容量をCintとすると、それぞれ、
【0087】
【数28】
【0088】
の関係を持つ。これらの変数を用いて、始端から終端までのエルモア遅延を表すと、
【0089】
【数29】
【0090】
となる。ここで、図4に示す配線モデルを図5に示す配線モデルに置き変え、図4に示す配線モデルの場合のエルモア遅延と図5に示す配線モデルの場合のエルモア遅延が等しくなるように、Ceqを定める。
【0091】
【数30】
【0092】
【数31】
【0093】
図5のエルモア遅延は、Ceqを用いて、
【0094】
【数32】
【0095】
と表すことができる。バッファを挿入して、n分割したとすると、数32は
【0096】
【数33】
【0097】
となる。
【0098】
ここで、「実効抵抗」という概念を導入する。図6は実効抵抗を説明するための回路図であり、図6Aに示す配線モデルの駆動端以下の負荷部分60を文献『P.R.O'Brien and T.L.Savarino,"Modeling the Driving-Point Characteristic of Resistive Interconnect for Accurate Delay Estimation",Proc.IEEE ICCAD, 1989, pp.512-5.』に示す手順に従って図6Bに示すCRCπ型負荷(コンデンサ2個と抵抗1個で表した負荷の等価モデル)61に縮退した場合のRwを実効抵抗と定義する。
【0099】
Rd≦Rwとなる条件では、遅延時間Tpdは
【0100】
【数34】
【0101】
として、
【0102】
【数35】
【0103】
を得る。ここで、Rbはバッファの駆動抵抗、Cinはバッファの入力容量、Tbはバッファの寄生遅延、Tdはドライバセル(配線の始点が接続されたセル)の寄生遅延である。Required Arrival TimeをTreqとしたとき、
【0104】
【数36】
【0105】
となれば、タイミング制約を満たすことになる。数36を満たすnを求めると、
【0106】
【数37】
【0107】
となる。ここで、
【0108】
【数38】
【0109】
である。ただし、
【0110】
【数39】
【0111】
である。
【0112】
また、Tpdを最小にするnは
【0113】
【数40】
【0114】
として求めることができる。このときのnは、数41に示すようになる。
【0115】
【数41】
【0116】
(C−3.バッファ駆動能力の計算方法)
バッファ駆動能力の計算は、配線分割数の計算と同様に、直線近似された1パスについて、Required Arrival Timeを制約として、バッファ駆動能力を計算することを意味する。このバッファ駆動能力の計算は、遅延計算モデルTpd及び配線分割数を用いて行うことができる。
【0117】
まず、バッファ駆動能力をhとし、数35を数42のように表す。
【0118】
【数42】
【0119】
Required Arrival TimeをTreqとしたとき、
【0120】
【数43】
【0121】
となれば、タイミング制約を満たすことになる。nは配線分割数の計算で得られた値を用いる。数43を満たす最小のhを求めると、
【0122】
【数44】
【0123】
となる。ただし、
【0124】
【数45】
【0125】
また、Tpdを最小にするhは
【0126】
【数46】
【0127】
として求めることができる。このときのhは、数47に示すようになる。
【0128】
【数47】
【0129】
なお、Rd>Rwとなる条件では、数35、数38、数41、数44で、α=1として、配線分割数nとバッファ駆動能力hを求めれば良い。
【0130】
(D.ステップS2−4の具体的内容)
ステップS2−4で行うバッファ挿入位置の計算は、直線近似された1パスについて、配線分割数及びバッファ駆動能力から、ドライバセル及びバッファが駆動する負荷がドライバセル及びバッファの駆動能力に応じて均等になるようにバッファの挿入位置を決めることである。以下、手順を示すが、バッファ挿入位置は、始端側から終端側に向けて決めていく。
【0131】
[ステップS3−1]
パスの配線分割数に関する変数kと、パスの容量に関する変数Crを導入し、kの初期値を配線分割数n、Crの初期値をパスの総容量Ctotalとする。
【0132】
[ステップS3−2]
ゲートが駆動すべき容量Cxを計算する。k=nの場合には、図7に示すように、配線長がl、集中定数容量の総計がCLの配線を駆動抵抗がRdのドライバセル1個と、駆動抵抗がRbのバッファn個で駆動するとき、最も適切な分割割合xを求める。
【0133】
即ち、ドライバセルと個々のバッファのエルモア遅延が等しくなるように分割割合xを定める。単位長当たりの抵抗をr、単位長当たりの容量をc、バッファの入力容量をCbとすると、
【0134】
【数48】
【0135】
【数49】
【0136】
となる。τd=τbとなるときのxを計算すると、
【0137】
【数50】
【0138】
となる。ただし、
【0139】
【数51】
【0140】
である。そこで、
【0141】
【数52】
【0142】
として、Cxを得る。
【0143】
これに対して、k<nなら
【0144】
【数53】
【0145】
として、Cxを得る。
【0146】
[ステップS3−3]
現在着目しているゲートが駆動する容量が配線負荷と集中定数容量とを併せてCxとなる位置にバッファを挿入する。もし、集中定数容量を加えることで、ゲートが駆動する容量がCxを超える場合は、以下のように処理を場合分けする。
【0147】
(a)着目ゲートと挿入するバッファの駆動能力を比較して、バッファの駆動能力が大きいなら、集中定数容量(分岐)の直前をバッファ挿入位置とする。
(b)(a)の場合でも、集中定数容量に相当する分岐がオフローディングされているなら、分岐直後をバッファ挿入位置とする。
(c)着目ゲートと挿入するバッファの駆動能力を比較して、着目ゲートの駆動能力が同じか大きいなら、集中定数容量(分岐)の直後をバッファ挿入位置とする。
【0148】
[ステップS3−4]
バッファを挿入した結果、着目ゲートが駆動することになった容量をCxとする。ただし、挿入されたバッファの入力容量は含まない。
【0149】
[ステップS3−5]
k:=k−1、Cr:=Cr−Cx
[ステップS3−6]
ここで、k>1であれば、ステップS3−2へ移行する。k>1でなければ、終了する。
【0150】
(E.ステップS1−4中、バッファ候補の選択処理)
バッファ候補の選択には、バッファの位置関係によりルールベースでバッファ候補を選ぶ方法と、制約条件を設けてバッファ候補を選ぶ方法がある。
【0151】
(E−1.ルールベース法によるバッファ候補の選択)
ルールベース法によるバッファ候補の選択を行う場合には、パスでのバッファ挿入位置の決定後、スラックの計算を行い、スラックが小さい順にパスに優先順位を与える。次いで、優先順位の高いパスから順にバッファ挿入候補を選んでいく。バッファ候補の選択において、優先順位が高いパスによって配置されたバッファと位置的に競合する場合には、バッファの位置関係によって定められた統合処理を行うものとする。
【0152】
図8はバッファの統合処理を示す流れ図であり、ステップS4−1は、優先順位の低いパスのバッファ候補が、優先順位の高いパスのバッファ候補間に入る場合、この優先順位の低いパスのバッファ候補は選択しないことを意味している。
【0153】
図9はステップS4−1の実行例を示す回路図である。図9の例では、バッファ候補90は優先順位2のパスに挿入したバッファ候補であるが、バッファ候補90は優先順位1のパスに挿入されているので、バッファ候補90は選択しないことになる。
【0154】
図10、図11はステップS4−2の実行例を示す回路図である。図10の例では、分岐直前にバッファ候補100があり、かつ、次の両枝の分岐直後にバッファ候補101、102があるので、バッファ候補100は挿入しないことになる。図11の例では、分岐の手前及び直後にバッファ候補110、111がある場合、バッファ候補110を分岐直後に移動することになる。
【0155】
(E−2.制約条件によるバッファ候補の選択)
制約条件によるバッファ候補の選択を行う場合には、回路データは、ツリー状配線とする(図12A参照)。そして、制約条件によるバッファ候補の選択は以下の手順で行う。
【0156】
[ステップS5−1]
パスでのバッファ挿入位置の決定後、スラックの計算を行い、スラックが小さい順にパスに優先順位を与え、優先順位が高いパスほど、ツリーの左側(または右側)に来るように構成しなおす(図12B参照)。
【0157】
[ステップS5−2]
バッファに優先順位を与える。この場合、(1)バッファにパスと同じ優先順位を与える。(2)オフローディングのために挿入されるバッファの優先順位は、タイミング最適化のために挿入されるバッファとは区別する。(3)バッファ候補が分岐の手前近傍にあるときは、分岐の直後にもバッファ候補を登録する。このバッファは、オフローディングのためのバッファとして扱う。
【0158】
[ステップS5−3]
バッファ候補を全て回路中に仮配置する。次に、ツリー状配線を右優先(優先順位が高いパスほど、ツリーの右側に来るようにした場合は、左優先)にボトムアップで巡回し(図13参照)、以下の(1)、(2)を順次行う。
【0159】
(1)着目バッファ候補の前段ゲート(または前段バッファ候補)から着目バッファの次段ゲート(または次段バッファ候補)までの遅延時間を計算。次段ゲートが複数あれば全て計算。着目バッファ候補の前段ゲート(または前段バッファ候補)が着目バッファ候補を通らない経路を持つなら、その経路上での次段ゲート(または次段バッファ候補)までの遅延時間も計算。遅延時間の計算は、バッファ候補が在る場合と無い場合のそれぞれについて行う。
【0160】
(2)バッファがある場合と無い場合の遅延時間を比較して、バッファが無い方が遅延時間が小さいのなら、バッファ候補は削除。バッファが在る方が遅延時間が小さいのなら、バッファ候補を選択する。
【0161】
なお、ステップS5−3の処理で処理工数を省くために、ステップS5−3の処理前に、ツリー状配線を巡回し、枝ごとに、枝の中で最も優先順位の高いバッファ候補とオフローディングのためのバッファを候補に残し、その他の候補は削除するというように候補の数を減らしておくことも可能である。
【0162】
(F.ステップS1−4中、余分なバッファを取り除く処理)
余分なバッファを取り除く処理では、対象バッファの前段バッファ以下の全終端において、対象バッファが在る場合と除いた場合を比較し、(A1or A2)and A3を満たす場合に、バッファを削除する。ただし、A1はバッファを削除しても遅延時間が大きくならないという状態、A2はバッファが在る場合にRequired Arrival Timeを満たすパスが、バッファを削除しても、Required Arrival Timeを超えないという状態、A3はバッファを削除しても、制約条件に違反する箇所が発生しないという状態を意味する。
【0163】
(G.本発明の一実施形態の効果)
本発明の一実施形態では、直線近似された1パスごとにバッファ挿入条件を、解析式を直接解くことにより算出するとしているが、直線近似された1パスごとに解析式を直接解いて算出したバッファ挿入条件をバッファ候補として作成した解集合は、無作為に作成される解集合に比べて組合せが非常に少ないので、計算コストが殆どかからない上に、バッファ挿入条件自体が十分な妥当性を持つことになる。また、解集合が少ないことから、ルールベースのバッファ選択も容易になる。
【0164】
また、本発明の一実施形態では、遅延計算モデルとして、モーメントマッチング法の1次近似で計算される遅延時間をエルモア遅延モデルと係数の形で表される遅延計算モデルを使用するとしているが、この遅延計算モデルは、エルモア遅延モデルの簡潔さを損なうことなく、精度の良い遅延計算モデルとなる。また、2次のモーメントまで考慮されているので、シーディング効果の影響を考慮することができる。
【0165】
したがって、本発明の一実施形態によれば、半導体集積回路のタイミング最適化を低コストかつ高精度に行うことができる。
【0166】
【発明の効果】
以上のように、本発明によれば、直線近似された1パスごとにバッファ挿入条件を所定の解析式を直接解いて算出するとしたことにより、計算コストの大きい遅延計算を繰り返す必要が無く、また、バッファ挿入条件自体が十分な妥当性を持つことになるので、半導体集積回路のタイミング最適化を低コストかつ高精度で行うことができる。
【図面の簡単な説明】
【図1】本発明の半導体集積回路のバッファ挿入方法及び装置の一実施形態を示す図である。
【図2】本発明の半導体集積回路のバッファ挿入方法の一実施形態で行われるステップS1−3の具体的内容を示す流れ図である。
【図3】配線モデルを示す回路図である。
【図4】直線近似された1パスを示す回路図である。
【図5】図4に示す配線モデルをエルモア遅延が等しくなるように置き換えた配線モデルを示す回路図である。
【図6】実効抵抗を説明するための回路図である。
【図7】配線モデルを示す回路図である。
【図8】バッファの統合処理を示す流れ図である。
【図9】図8のステップS4−1の実行例を示す回路図である。
【図10】図8のステップS4−2の実行例を示す回路図である。
【図11】図8のステップS4−2の実行例を示す回路図である。
【図12】制約条件によるバッファ候補の選択の説明に使用する図である。
【図13】制約条件によるバッファ候補の選択の説明に使用する図である。
【符号の説明】
10…回路情報格納手段
11…タイミング制約格納手段
12…配線経路の直線近似手段
13…バッファ挿入条件計算手段
14…バッファ挿入候補生成手段
15…バッファ挿入候補選択手段
20…オフローディングバッファ挿入判定手段
21…近似直線のパラメータ更新手段
22…配線分割数計算手段
23…バッファ駆動能力計算手段
24…バッファ挿入位置計算手段
Claims (5)
- 回路を1パスごとに直線近似し、該直線近似された1パスごとにバッファ挿入条件を所定の解析式を直接解いて算出する工程と、
全パスについて求めたバッファ挿入条件から、回路中に挿入するバッファ候補を作成し、該バッファ候補を解集合として該バッファ候補の中からタイミング制約を満足するようにバッファ候補を選択する工程を有することを特徴とする半導体集積回路のバッファ挿入方法。 - 前記所定の解析式は、モーメントマッチング法の1次近似で計算される遅延時間をエルモア遅延モデルと係数の形で表される遅延計算モデルから立てることを特徴とする請求項1記載の半導体集積回路のバッファ挿入方法。
- 前記バッファ挿入位置の設定は、前記直線近似された各パスにおいて、ドライバセル及びバッファの負荷がドライバセル及びバッファの駆動能力に応じて均等になるように行われることを特徴とする請求項1記載の半導体集積回路のバッファ挿入方法。
- 前記バッファ候補の選択は、回路データをツリー状配線とし、優先順位の高いパスが左(または右)に来るように構成し、制約条件を設けて、前記ツリー状配線を右(または左)優先で後順に巡回し、枝ごとに最適なバッファ候補を選択することにより行われるか、または、前記バッファ候補の位置関係と前記バッファ候補の優先順位から統合処理を行うことによって、最適なバッファ候補を選択することにより行われることを特徴とする請求項1記載の半導体集積回路のバッファ挿入方法。
- 回路を1パスごとに直線近似し、該直線近似された1パスごとにバッファ挿入条件を解析式を直接解いて算出する手段と、
全パスについて求めたバッファ挿入条件から、回路中に挿入するバッファ候補を作成し、該バッファ候補を解集合として該バッファ候補の中からタイミング制約を満足するようにバッファ候補を選択する手段を有することを特徴とする半導体集積回路のバッファ挿入装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002092319A JP3952825B2 (ja) | 2002-03-28 | 2002-03-28 | 半導体集積回路のバッファ挿入方法及び装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002092319A JP3952825B2 (ja) | 2002-03-28 | 2002-03-28 | 半導体集積回路のバッファ挿入方法及び装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003288379A JP2003288379A (ja) | 2003-10-10 |
JP3952825B2 true JP3952825B2 (ja) | 2007-08-01 |
Family
ID=29237182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002092319A Expired - Fee Related JP3952825B2 (ja) | 2002-03-28 | 2002-03-28 | 半導体集積回路のバッファ挿入方法及び装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3952825B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8104005B2 (en) | 2008-10-02 | 2012-01-24 | International Business Machines Corporation | Method and apparatus for efficient incremental statistical timing analysis and optimization |
-
2002
- 2002-03-28 JP JP2002092319A patent/JP3952825B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003288379A (ja) | 2003-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7454731B2 (en) | Generation of engineering change order (ECO) constraints for use in selecting ECO repair techniques | |
US7117466B2 (en) | System and method for correlated process pessimism removal for static timing analysis | |
US7971171B2 (en) | Method and system for electromigration analysis on signal wiring | |
US8656327B2 (en) | Statistical formal activity analysis with consideration of temporal and spatial correlations | |
US20060190881A1 (en) | Method for estimating propagation noise based on effective capacitance in an integrated circuit chip | |
CN114117943B (zh) | 物理设计布局阶段的时序预测方法 | |
US20090132981A1 (en) | Method for Incremental, Timing-Driven, Physical-Synthesis Using Discrete Optimization | |
CN114861591A (zh) | 一种可微分时序驱动的芯片布局优化方法 | |
WO2000073926A2 (en) | Updating placement during technology mapping | |
US6510542B1 (en) | Method of placing a repeater cell in an electricalcircuit | |
US6567960B2 (en) | System for improving circuit simulations by utilizing a simplified circuit model based on effective capacitance and inductance values | |
US6463574B1 (en) | Apparatus and method for inserting repeaters into a complex integrated circuit | |
US6230302B1 (en) | Method and system for performing timing analysis on an integrated circuit design | |
US7747972B2 (en) | Methods and apparatuses for timing analysis of electronic circuits | |
US8863066B1 (en) | Wiring-optimal method to route high performance clock nets satisfying electrical and reliability constraints | |
US20060041852A1 (en) | Targeted optimization of buffer-tree logic | |
US7036096B1 (en) | Estimating capacitances using information including feature sizes extracted from a netlist | |
JP3952825B2 (ja) | 半導体集積回路のバッファ挿入方法及び装置 | |
US6766499B1 (en) | Buffer cell insertion and electronic design automation | |
US7283942B1 (en) | High speed techniques for simulating circuits | |
JP2013524302A (ja) | 精度を調節可能なマクロモデル電力解析のための方法及び装置 | |
KR100475014B1 (ko) | 인터콘넥터의 지연 시간 계산방법 | |
JP2000259686A (ja) | ゲート遅延計算方法、ゲート遅延計算装置、及びゲート遅延計算プログラムを記録した記録媒体 | |
US20130047131A1 (en) | Delay time calculating apparatus and method | |
Franzon et al. | Macromodels for generating signal integrity and timing management advice for package design |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041006 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070406 |
|
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: 20070410 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070423 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100511 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110511 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120511 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130511 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140511 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |