JP2003288379A - 半導体集積回路のバッファ挿入方法及び装置 - Google Patents

半導体集積回路のバッファ挿入方法及び装置

Info

Publication number
JP2003288379A
JP2003288379A JP2002092319A JP2002092319A JP2003288379A JP 2003288379 A JP2003288379 A JP 2003288379A JP 2002092319 A JP2002092319 A JP 2002092319A JP 2002092319 A JP2002092319 A JP 2002092319A JP 2003288379 A JP2003288379 A JP 2003288379A
Authority
JP
Japan
Prior art keywords
buffer
candidate
equation
semiconductor integrated
path
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.)
Granted
Application number
JP2002092319A
Other languages
English (en)
Other versions
JP3952825B2 (ja
Inventor
Tetsutaro Hashimoto
鉄太郎 橋本
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 JP2002092319A priority Critical patent/JP3952825B2/ja
Publication of JP2003288379A publication Critical patent/JP2003288379A/ja
Application granted granted Critical
Publication of JP3952825B2 publication Critical patent/JP3952825B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

(57)【要約】 【課題】半導体集積回路のタイミング最適化を図るため
のバッファ挿入方法に関し、半導体集積回路のタイミン
グ最適化を低コストかつ高精度で行うことができるよう
にする。 【解決手段】回路を1パスごとに直線近似し、直線近似
された1パスごとにバッファ挿入条件を所定の解析式を
直接解いて算出し、全パスについて求めたバッファ挿入
条件から、回路中に挿入するバッファ候補を作成し、バ
ッファ候補を解集合としてバッファ候補の中からタイミ
ング制約を満足するようにバッファ候補を選択する。所
定の解析式は、モーメントマッチング法の1次近似で計
算される遅延時間をエルモア遅延モデルと係数の形で表
される遅延計算モデルから立てる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、半導体集積回路の
タイミング最適化を図るためのバッファ挿入方法及び装
置に関する。
【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
1、m2、…がモーメントと定義されるものである。
【0014】
【数4】
【0015】次に、伝達関数H(s)をq個の極を持つ
p,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〜m
2q-1を与えれば、Hp,q(s)の分母の係数が得られ、
p,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を用いて、分岐の実効容量の大
きさとバッファ駆動能力から、分岐をオフローディング
するかどうかを決め、近似直線のパラメータ更新手段2
1を用いて近似直線のパラメータを更新する。
【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<
Tのとき、u=0、t≧tTのとき、u=1となるステ
ップ関数であり、Vr(t)は
【0059】
【数15】
【0060】である。ただし、ulはVdd/tT、τeは終
端でのエルモア遅延、τは配線32の時定数を表す。
【0061】V(T50%)=Vdd/2となる時刻T
50%が、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とおいて、
50%≦tT、すなわち、V(tT)≧Vdd/2となると
きのx=tT/τeを求める。数14から、
【0070】
【数20】
【0071】
【数21】
【0072】を得ることができる。そこで、数21のex
pを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、総配線容量をC
intとすると、それぞれ、
【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 D
riving-Point Characteristic of Resistive Interconn
ect for Accurate Delay Estimation",Proc.IEEE ICCA
D, 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 ArrivalTimeを超えないとい
う状態、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パスごとにバッファ挿入条件を所定の解析式
    を直接解いて算出する工程と、 全パスについて求めたバッファ挿入条件から、回路中に
    挿入するバッファ候補を作成し、該バッファ候補を解集
    合として該バッファ候補の中からタイミング制約を満足
    するようにバッファ候補を選択する工程を有することを
    特徴とする半導体集積回路のバッファ挿入方法。
  2. 【請求項2】前記所定の解析式は、モーメントマッチン
    グ法の1次近似で計算される遅延時間をエルモア遅延モ
    デルと係数の形で表される遅延計算モデルから立てるこ
    とを特徴とする請求項1記載の半導体集積回路のバッフ
    ァ挿入方法。
  3. 【請求項3】前記バッファ挿入位置の設定は、前記直線
    近似された各パスにおいて、ドライバセル及びバッファ
    の負荷がドライバセル及びバッファの駆動能力に応じて
    均等になるように行われることを特徴とする請求項1記
    載の半導体集積回路のバッファ挿入方法。
  4. 【請求項4】前記バッファ候補の選択は、回路データを
    ツリー状配線とし、優先順位の高いパスが左(または
    右)に来るように構成し、制約条件を設けて、前記ツリ
    ー状配線を右(または左)優先で後順に巡回し、枝ごと
    に最適なバッファ候補を選択することにより行われる
    か、または、前記バッファ候補の位置関係と前記バッフ
    ァ候補の優先順位から統合処理を行うことによって、最
    適なバッファ候補を選択することにより行われることを
    特徴とする請求項1記載の半導体集積回路のバッファ挿
    入方法。
  5. 【請求項5】回路を1パスごとに直線近似し、該直線近
    似された1パスごとにバッファ挿入条件を解析式を直接
    解いて算出する手段と、 全パスについて求めたバッファ挿入条件から、回路中に
    挿入するバッファ候補を作成し、該バッファ候補を解集
    合として該バッファ候補の中からタイミング制約を満足
    するようにバッファ候補を選択する手段を有することを
    特徴とする半導体集積回路のバッファ挿入装置。
JP2002092319A 2002-03-28 2002-03-28 半導体集積回路のバッファ挿入方法及び装置 Expired - Fee Related JP3952825B2 (ja)

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 true JP2003288379A (ja) 2003-10-10
JP3952825B2 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)

Cited By (1)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
JP3952825B2 (ja) 2007-08-01

Similar Documents

Publication Publication Date Title
US6405348B1 (en) Deep sub-micron static timing analysis in the presence of crosstalk
Tellez et al. Minimal buffer insertion in clock trees with skew and slew rate constraints
KR20080075868A (ko) 통계적 타이밍 분석에서의 임계 예상 시스템 및 방법
CN114861591B (zh) 一种可微分时序驱动的芯片布局优化方法
JP2009054172A (ja) 配線処理方法及び配線処理装置並びに配線処理プログラム用記録媒体
CN114117943B (zh) 物理设计布局阶段的时序预测方法
CN103164585A (zh) 缓冲器的插入方法及装置
US8166432B2 (en) Timing verification method and timing verification apparatus
US7139987B2 (en) Analog integrated circuit layout design
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
Sze et al. Path based buffer insertion
US6230302B1 (en) Method and system for performing timing analysis on an integrated circuit design
US6463574B1 (en) Apparatus and method for inserting repeaters into a complex integrated circuit
US7277804B2 (en) Method and system for performing effective resistance calculation for a network of resistors
US7168014B2 (en) Propagating an error through a network
US7036096B1 (en) Estimating capacitances using information including feature sizes extracted from a netlist
US20060041852A1 (en) Targeted optimization of buffer-tree logic
JPH1049561A (ja) 信号遅延計算方法
JP2003288379A (ja) 半導体集積回路のバッファ挿入方法及び装置
US6606587B1 (en) Method and apparatus for estimating elmore delays within circuit designs
JP3296320B2 (ja) ゲート遅延計算装置、及びゲート遅延計算プログラムを記録した記録媒体
Bommu et al. Retiming-based factorization for sequential logic optimization
JPH07287051A (ja) 論理シミュレータ用入力データ作成装置
KR100475014B1 (ko) 인터콘넥터의 지연 시간 계산방법

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