JP3512757B2 - レイアウト設計における最適化方法 - Google Patents

レイアウト設計における最適化方法

Info

Publication number
JP3512757B2
JP3512757B2 JP2001157211A JP2001157211A JP3512757B2 JP 3512757 B2 JP3512757 B2 JP 3512757B2 JP 2001157211 A JP2001157211 A JP 2001157211A JP 2001157211 A JP2001157211 A JP 2001157211A JP 3512757 B2 JP3512757 B2 JP 3512757B2
Authority
JP
Japan
Prior art keywords
block
connection destination
critical path
buffer
input
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
JP2001157211A
Other languages
English (en)
Other versions
JP2002353316A (ja
Inventor
真一郎 北
Original Assignee
Necマイクロシステム株式会社
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 Necマイクロシステム株式会社 filed Critical Necマイクロシステム株式会社
Priority to JP2001157211A priority Critical patent/JP3512757B2/ja
Publication of JP2002353316A publication Critical patent/JP2002353316A/ja
Application granted granted Critical
Publication of JP3512757B2 publication Critical patent/JP3512757B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はレイアウト設計にお
ける最適化方法に関し、特に集積回路などの設計にあた
り、回路全体のタイミング調整を行うレイアウト設計に
おける最適化方法に関する。
【0002】
【従来の技術】従来、集積回路などの限定されたスペー
スに最適な素子や配線を配置し、各接続経路におけるタ
イミング調整を行うことは、レイアウト設計において重
要な問題である。
【0003】図8はかかる従来の一例を説明するための
メイン処理フロー図である。図8に示すように、従来の
タイミング調整のためのバッファリング処理は、まずエ
ラーネットの出力ブロックに対して、バッファを挿入す
る間隔(リピータ間隔)Lを入力する(ステップS2
1)。このリピータ間隔Lの入力が完了すると、各素子
あるいは回路の出力から接続先までの概略の配線経路を
想定する(ステップS22)。
【0004】ついで、概略配線が決まると、エラーネッ
トを入力(ステップS23)し、さらにその配線経路に
沿って等間隔にバッファを挿入処理を行う(ステップS
24)。従来のタイミング調整は、最後にバッファ処理
を行っている。
【0005】図9は図8におけるバッファ挿入処理フロ
ー図である。図9に示すように、かかるバッファ挿入処
理は、まず出力点から距離Lの点又は分岐点又は接続先
までをトレースする(ステップS25)。すなわち、距
離Lの点か否か(ステップS26)を判定し、ついで分
岐点か否かを判定する(ステップS25)。ここで、距
離Lの点である場合には、バッファを挿入(ステップS
28)し、挿入したバッファの出力を新たな出力点と
し、ステップS25に戻る。また、距離Lの点でもな
く、分岐点でもないときは、バッファ挿入処理を直ちに
終了させる。
【0006】一方、距離Lの点ではないが、分岐点であ
ったときには、所定の距離L0を引いた値を距離Lとし
(ステップS29)、ついで枝の1つを選択する(ステ
ップS30)。しかる後、リピータ挿入処理を行い(ス
テップS31)、ついで、すべての枝を選択したか否か
の判定を行って(ステップS32)、すべての枝を選択
していたときは、バッファ挿入処理を完了させるが、1
つでも枝が残っているときは、ステップS30に戻って
リピータ挿入処理を繰返し行う。
【0007】このバッファ挿入において、基本的には、
出力点から概略配線経路上に等間隔にバッファを配置し
ていくが、分岐点がある場合は、分岐点までの配線長を
L0、分岐数をNとすると、バッファを置いた時点で配
線長が常にLに成るように、分岐点から(L−L0)/
Nの位置にバッファを挿入する。これをすべての枝に対
して再帰的に行っている。
【0008】
【発明が解決しようとする課題】上述した従来のバッフ
ァ挿入処理においては、分岐する部分では他方向への配
線容量が付加されてしまい、全体的に遅延量が大になる
という欠点がある。特に、概略配線は、配線が最も短く
なるように経路を決める為、一筆書きの傾向に成り、最
も遠いブロックの経路は比較的多くのバッファを挿入す
ることになる。この結果、遅延量が大となる欠点があ
る。
【0009】さらには、クリティカルパスを考慮しない
為、クリティカルパスを効率的に高速化することができ
ないという問題も有る。
【0010】本発明の主な目的は、クリティカルパスの
遅延時間を低減するものであり、パスの配線容量を削減
し、クリティカルパスに関しては、クラスタリングする
ことで他方向への配線容量を極力削減すること、つまり
遅延低減を図ることのできるバッファリングを実現する
レイアウト設計における最適化方法を提供することにあ
る。
【0011】
【課題を解決するための手段】本発明のレイアウト設計
における最適化方法は、回路素子について負荷容量制限
値と入力容量を記述したライブラリを入力する第1のデ
ータ入力ステップと、出力ブロックを含んだ前記回路素
子の配置情報及び接続情報を入力する第2のデータ入力
ステップと、前記回路素子がクリティカルパスとなるか
否かの情報を入力するクリティカルパス入力ステップ
と、一度配置配線を行った結果、配線遅延又は出力負荷
容量が大きく且つ1個以上のバッファブロックの挿入が
必要な改善を要するルートをエラーネットとして入力す
るエラーネット入力ステップと、前記エラーネットに対
し前記バッファブロックの挿入を行って前記配線遅延又
は前記出力負荷容量の影響を無くすためのバッファリン
グ処理を施すバッファリング処理ステップと、前記エラ
ーネット入力をすべて行ったか否かを判定し、完了して
いるときには処理を終了させ、完了していないときには
前記エラーネット入力ステップに戻って次のエラーネッ
ト入力を行うエラーネット入力判定ステップとを含んで
構成される。
【0012】また、本発明における前記バッファリング
処理ステップは、前記エラーネットの接続先ブロックに
対して、クリティカルパスであるか否かの検索を行い分
類するステップと、検索分類の結果、非クリティカルパ
ス群に1つのバッファを挿入するバッファ挿入配置ステ
ップと、前記クリティカルパスの前記接続先ブロックに
対しては、総距離を予測配線長として負荷容量を計算す
る容量計算ステップと、引き続くバッファリング処理の
必要性を判定し、前記容量計算ステップで計算した負荷
容量が負荷容量制限値を満たす場合は、前記エラーネッ
トに関してのバッファリング処理を終了させる引き続く
バッファリング処理の必要性判定ステップと、前記引き
続くバッファリング処理の必要性判定ステップで必要性
があると判定されたときに、前記接続先ブロックのうち
前記クリティカルパスとなるものを群分けするクラスタ
リング処理ステップと、前記クラスタリング処理を行っ
た前記接続先ブロックに対し挿入した新たなバッファブ
ロックを配置する挿入ブロックの配置ステップとを備
え、前記挿入ブロックの配置が完了したとき、前記容量
計算ステップに戻って前記クリティカルパスの負荷容量
計算から繰返し行うように形成される。
【0013】また、本発明における前記クラスタリング
処理ステップは、前記接続先ブロックのうち前記クリテ
ィカルパスと判定されたブロックに対し一筆書きソート
検索を行う検索ステップと、前記一筆書きの距離の計算
を行い、所定の長さより長い線を削除する距離計算ステ
ップと、前記距離計算ステップにおける距離計算の結
果、前記クリティカルパスと判定された1つ以上の前記
接続先ブロックをクラスタとして群分けするクラスタ決
定ステップとを備えて形成される。
【0014】また、本発明における前記挿入ブロックの
配置ステップは、前記クラスタリング処理を行った後、
クラスタ側の基点として、接続先を結び且つその総距離
が最短になる点を求め、さらに前記出力ブロックと各ク
ラスタの基点を直線上の位置に求め、負荷容量制限値を
満たす位置に前記挿入ブロックを配置して形成される。
【0015】また、本発明における前記挿入ブロックの
配置ステップは、クラスタ内に複数の接続先ブロックが
ある場合、1つのブロックのみを選択し、その端子位置
を基点にするとともに、前記出力ブロックと各クラスタ
の基点を結ぶ直線上でクラスタの基点から一定の長さの
位置に前記挿入ブロックを配置するように形成される。
【0016】さらに、本発明のレイアウト設計における
最適化方法は、配置領域にエラーネットの出力ブロック
と複数の接続先ブロックを入力し、クリティカルパスと
なる前記接続先ブロックのうち、前記出力ブロックに一
番近い接続先ブロックに対し、非クリティカルパスとな
る接続先ブロックの影響を改善するための第1のバッフ
ァブロックを挿入配置する第1のステップと、前記クリ
ティカルパスとなる前記接続先ブロックを一筆書きした
後、前記接続先ブロック間の距離が所定長よりも長い配
線を削除し1つもしくは複数のクラスタに分ける第2の
ステップと、前記1つもしくは複数のクラスタの基点と
前記出力ブロックを結ぶ直線上に、前記出力ブロックに
一番近い前記接続先ブロックに対し、前記1つもしくは
複数のクラスタの影響を改善するための第2のバッファ
ブロックを挿入配置し且つ前記1つもしくは複数のクラ
スタから前記第2のバッファブロックをクリティカルパ
スとみなす第2のステップと、前記第2のバッファブロ
ックの挿入配置により再度のクラスタ化を行うととも
に、必要に応じて第3のバッファブロックを挿入配置
し、前記出力ブロック,前記出力ブロックに一番近い接
続先ブロックおよび前記第1乃至第3のバッファブロッ
クを配線して最終配線領域を形成することを特徴とする
レイアウト設計における最適化方法。
【0017】
【発明の実施の形態】本発明の実施の形態は、配置領域
に対して入力された情報を基にバッファリング処理を施
すものであり、特に配線遅延又は出力負荷容量の大きか
ったブロックの接続先に対するクリティカルパスの選定
と、配置位置を元にした各端子の接続とを行った後に、
ある長さでグループを分けるという手法を用いてクラス
タリング処理を行うものである。
【0018】次に、本発明の実施の形態について図面を
参照して説明する。図1は本発明の一実施の形態を説明
するためのレイアウト設計における最適化メイン処理フ
ロー図である。図1に示すように、本実施形態のメイン
処理は、まず回路素子について負荷容量制限値と入力容
量が記述されたライブラリ(データ)を入力する(ステ
ップS1)。ついで、回路素子の配置情報及び接続情報
(データ)を入力(ステップS2)し、さらにクリティ
カルパス情報を入力する(ステップS3)。
【0019】一度、配置配線を行った結果、配線遅延又
は出力負荷容量が大きくなり、少なくとも1つ以上のバ
ッファの挿入が必要になったネット又はインスタンス名
及びピン名、すなわち改善を要するルート(以下、エラ
ーネットと称す)を入力(ステップS4)し、そのネッ
トに対する配線遅延又は出力負荷容量の影響を無くすた
めのバッファリング処理を行う(ステップS5)。
【0020】ついで、エラーネット入力終了か否かの判
定を行い、終了ならばメイン処理を終了とするが、エラ
ーネットが1つでも残っていれば、ステップS4に戻っ
てバッファリング処理を行う(ステップS6)。通常、
エラーネットには1つの出力ブロックと1つ又は複数の
接続先のブロックが存在しており、もし出力ブロックが
複数ある場合は、1つの出力ブロックをユーザが指定す
るものとする。
【0021】上述したバッファリング処理と、そのバッ
ファリング処理におけるクラスタリング処理とについ
て、以下に図2および図3を参照して具体的に説明す
る。
【0022】図2は図1におけるバッファリング処理フ
ロー図である。図2に示すように、かかるバッファリン
グ処理は、まずエラーネットの接続先ブロックに対し
て、クリティカルパスであるかどうかの検索を行い、ク
リティカルパスのブロックとクリティカルパスでないブ
ロックとに分ける(ステップS7)。ついで、クリティ
カルパスでないブロック(非クリティカルパス)群に
は、まとめて1つのバッファを挿入する(ステップS
8)。この時、挿入するバッファは、出力ブロックの駆
動能力と同じ又はそれ以上の駆動能力を持つバッファと
する。また、挿入するバッファの配置位置は、出力バッ
ファに隣接して配置する。これにより、クリティカルパ
スへの影響が無くなることになる。
【0023】次に、クリティカルパスのブロックへの総
距離を予測配線長として、負荷容量を計算する(ステッ
プS9)。しかる後、引き続くバッファリング処理が必
要か否かの判定を行い(ステップS10)、その必要が
なければ、つまり負荷容量制限値を満たす場合は、この
エラーネットに関してのバッファリング処理は終了とな
る。
【0024】すなわち、ステップS10においては、つ
ぎのクラスタリング処理(ステップS11)への判定を
おこなうものであり、負荷容量が出力ブロックの負荷容
量制限値を超える場合は、さらなるバッファリング処理
が必要になる。要するに、ステップS10においてバッ
ファリング処理がさらに必要であったときには、クラス
タリング処理を行い(ステップS11)、挿入したブロ
ックの配置を行って(ステップS12)、クリティカル
パスの負荷容量計算(ステップS9)から繰返し行う。
上述したクラスタリング処理(ステップS11)は、ク
リティカルパスである接続先ブロック及び出力ブロック
を、配置位置的に近いもの同志のグループ(クラスタ)
分けを行うものである。
【0025】なお、負荷容量の計算は、以下の式で表わ
せる。
【0026】負荷容量(C)=予測配線長(L)×C0
+Σ入力容量(Cin) (C0:単位長さ当たりの配線容量) 図3は図2におけるクラスタリング処理フロー図であ
る。図3に示すように、まず出力ブロックから始まり、
接続先ブロックに対して近い順に一筆書きの要領で線を
結んでいく一筆書きソート検索を行う(ステップS1
3)。次に、一筆書きの距離の計算を行い、ある一定の
長さより長い線を削除する(ステップS14)。これに
より、接続されているもの同志を同じグループとみなす
ことでクラスタ決定を行い、クラスタリングが完成する
(ステップS14)。この時の一定の長さは、プロセス
に応じて通常固定で良いが、最適な長さが場合によって
異なる場合、ユーザ側から与えることが出来るものとす
る。
【0027】基本的には、各クラスタに1つづつバッフ
ァを挿入するが、出力ブロックが含まれるクラスタには
バッファを挿入しない。また、挿入するバッファの種類
は、ユーザ側で選択できるものとする。
【0028】以上の図2および図3の説明からも明らか
なように、バッファリング処理およびクラスタリング処
理を行って、クラスタが決定すると、上述したように、
挿入したブロックの配置を行う(ステップS12)。こ
のブロックの配置位置は、出力ブロックと各クラスタの
基点位置を直線で結び、その直線上で且つ予測配線長か
ら挿入したブロックが負荷容量制限値を満たす位置に配
置する。なお、ここでの基点位置とは、クラスタの中に
接続先ブロックが1つだけの場合には、そのブロックの
端子位置とし、またクラスタ中に接続先ブロックが複数
ある場合には、ある点から接続先ブロックの端子をすべ
て線で結び、その総距離が最短になる点を基点位置とす
る。
【0029】かかる挿入したブロックの配置が終了する
と、その挿入したブロックを接続先ブロックとして接続
情報を変更する。そして、再度クラスタリング処理への
判定を行うためのクリティカルパスの負荷容量計算(ス
テップS9)に戻り、これまでの処理を繰返し行う。
【0030】以下、図4〜図7を用いて、配置・接続情
報の入力から最終配線までの手順に基くレイアウト結果
を説明する。
【0031】図4(a),(b)はそれぞれ図1におけ
るクリティカルパスおよびバッファをそれぞれ配置領域
に記載した配置図である。まず図4(a)に示すよう
に、配置領域1は、前述した図1のエラーネットの入力
(ステップS4)にあたり、入力するエラーネットの出
力ブロックをA、接続先ブロックをM1〜M7として表
わしている。しかも、図1のクリティカルパス入力(ス
テップS3)の際のクリティカルパス情報から、接続先
ブロックM2,M3,M4,M7をクリティカルパスで
あったとする。
【0032】ついで、図4(b)に示すように、前述し
た図2のステップS7でクリティカルパスの検索を行っ
た結果、クリティカルパスでないブロック群は、接続先
ブロックM1,M5,M6であることを判断するので、
ステップS8で非クリティカルパスのバッファ挿入にあ
たり、配置領域1では、これらをまとめて1つのバッフ
ァC1を挿入する。このバッファC1は、出力ブロック
Aに隣接して配置される。
【0033】図5(a),(b)はそれぞれ図4(a)
において一筆書きした場合およびクラスタを記入した場
合の配置図である。図5(a)に示すように、前述した
ステップS9のクリティカルパス負荷容量計算におい
て、出力ブロックAからクリティカルパスとなる接続先
ブロックM2,M3,M4,M7への予測配線長から負
荷容量を見積もり、続いてステップS10のバッファリ
ングの必要性の判定、すなわち出力ブロックAの負荷容
量制限値を満たしているか否かの判定を行う。
【0034】この場合、負荷容量制限値を満たしていな
かったとすると、前述したように、ステップS11のク
ラスタリング処理に移るが、このクラタリング処理は出
力ブロックAからクリティカルパスの接続先ブロックへ
近い順に一筆書きソート検索および距離の計算を行う
(ステップS13,S14)。例えば、出力ブロックA
→接続先ブロックM7→接続先ブロックM4→接続先ブ
ロックM3→接続先ブロックM2の順で近いとすると、
一筆書きした場合の配線長は、L1,L2,L3のよう
になる。
【0035】次に、図5(b)に示すように、ステップ
S14の距離の計算において、一定の長さより長い線を
削除する。ここで、接続先ブロックM7→M4間(距離
L1)、接続先ブロックM4→M3間(距離L2)が所
定の長さより長いとすると、接続先ブロックM3→M2
間(距離L3)のみが残る。このため、接続先ブロック
M2,M3が同一でクラスタ1、接続先ブロックM4が
クラスタ2、接続先ブロックM7と出力ブロックAが同
一でクラスタ3となり、前述のステップS15で説明し
たクラスタが決定され、クラスタリング処理が完了す
る。
【0036】図6(a),(b)はそれぞれ図5におい
てさらにバッファを挿入した場合およびクラスタ処理し
た場合の配置図である。まず図6(a)に示すように、
ここでは各クラスタ〔図5(b)のクラスタ1〜クラス
タ2〕にバッファC2,C3を挿入するが、接続先ブロ
ックM7は出力ブロックAと同一クラスタ(クラスタ
3)である為、バッファを挿入しない。つまり、クラス
タ1、クラスタ2にのみ追加バッファC2,C3を挿入
する。これら追加挿入したバッファC2,C3の配置位
置は、出力ブロックAから各クラスタ1,2の基点を直
線で結び、その直線上に予測配線長から挿入したバッフ
ァC2,C3が負荷容量制限値を満たす場所に配置す
る。
【0037】次に、図6(b)に示すように、バッファ
リング処理におけるクラスタリング処理が終了すると、
つまりバッファリング処理の必要性がなくなると、前述
した図1の接続情報が変更になり(ステップS2)、接
続先ブロックM1〜M7およびバッファC1〜C3でク
ラスタリング処理の対象となるブロックは、バッファC
2,C3および接続先ブロックM7だけになる。
【0038】しかる後、再度前述した図2のクリティカ
ルパスの負荷容量計算ステップS9に戻り、追加バッフ
ァC2,C3および接続先ブロックM7への予測配線長
から負荷容量計算を行う。しかし、図2のステップS1
0で負荷容量制限値を満たしておらず、バッファリング
処理が必要と判定されると、図2のステップS11で再
度クラスタリング処理を行う。
【0039】図7(a),(b)はそれぞれ図6におい
てさらにバッファを挿入した場合および最終配線を施し
た配置図である。図7(a)に示すように、クラスタリ
ング処理を行った結果、追加したバッファC2が新たな
クラスタ1、バッファC3が新たなクラスタ2、接続先
ブロックM7と出力ブロックAが新たなクラスタ3にな
ったとすると、その新たなクラスタ1に新たなバッファ
C4、新たなクラスタ2に新たなバッファC5を挿入す
る。それにより、配置領域1は、これら新たなバッファ
C4とC5の配置を行った結果が得られる。
【0040】ついで、図7(b)に示すように、もう一
度前述した図2のステップS9に戻り、出力ブロックA
の負荷容量制限値が満たされたときには、1つのエラー
ネットに対する動作は終了となり、最終配線領域2が得
られる。かかるレイアウト動作によって配線を行った後
のイメージ図は、図示のとおりである。
【0041】以上、本発明の一実施の形態について説明
したが、以下に他の実施の形態を説明する。
【0042】その基本的構成は、前述した一実施の形態
と同様であるが、挿入ブロックの配置(図2のステップ
S12)を変更しても本発明を実現することができる。
【0043】例えば、前述した一実施の形態では、図2
のステップS12において、配置位置の決定方法に高精
度なものを用いたが、設計時間等を短縮する為に、簡易
的に配置して良い場合は、2つの点において簡略的な配
置方法を用いることができる。
【0044】その1つは、クラスタ側の基点として、接
続先を結び且つその総距離が最短になる点を求める代り
に、クラスタ内に複数の接続先ブロックがある場合、1
つのブロックのみを選択し、その端子位置を基点にする
ことが考えられる。
【0045】もう1つは、出力ブロックと各クラスタの
基点を直線上の位置に求め、負荷容量制限値を満たす位
置にブロックを配置する代りに、直線上でクラスタの基
点から一定の長さの位置に配置するようにすることでも
良い。
【0046】これらの2点を導入することにより、計算
量を削減することが可能になり、設計時間等の短縮を目
的とする場合には、より有効な手法となる。
【0047】
【発明の効果】以上説明したように、本発明のレイアウ
ト設計における最適化方法は、タイミング調整のための
バッファリングにあたり、クリティカルパスと非クリテ
ィカクパスに分け、クリティカルパスへ非クリティカル
パスの配線容量を付加させないことにより、クリティカ
ルパスの遅延低減を図ることが出来るという効果があ
る。
【0048】また、本発明は、データパスをクラスタリ
ングすることにより、極力他方向への配線容量を付加さ
せないで済むので、遠距離にあるブロックへの遅延低減
を実現できるという効果がある。
【図面の簡単な説明】
【図1】本発明の一実施の形態を説明するためのレイア
ウト設計における最適化メイン処理フロー図である。
【図2】図1におけるバッファリング処理フロー図であ
る。
【図3】図2におけるクラスタリング処理フロー図であ
る。
【図4】図1におけるクリティカルパスおよびバッファ
をそれぞれ配置領域に記載した配置図である。
【図5】図4において一筆書きした場合およびクラスタ
を記入した場合の配置図である。
【図6】図5においてさらにバッファを挿入した場合お
よびクラスタ処理した場合の配置図である。
【図7】図6においてさらにバッファを挿入した場合お
よび最終配線を施した配置図である。
【図8】従来の一例を説明するためのメイン処理フロー
図である。
【図9】図8におけるバッファ挿入処理フロー図であ
る。
【符号の説明】
S1 ライブラリ入力 S2 配置情報,接続情報入力 S3 クリティカルパス入力 S4 エラーネット入力 S5 バッファリング処理 S6 エラーネット入力終了判定 1 配置領域 2 最終配線領域
フロントページの続き (58)調査した分野(Int.Cl.7,DB名) H01L 21/82 H01L 21/822 H01L 27/04 G06F 17/50

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 回路素子について負荷容量制限値と入力
    容量を記述したライブラリを入力する第1のデータ入力
    ステップと、出力ブロックを含んだ前記回路素子の配置
    情報及び接続情報を入力する第2のデータ入力ステップ
    と、前記回路素子がクリティカルパスとなるか否かの情
    報を入力するクリティカルパス入力ステップと、一度配
    置配線を行った結果、 配線遅延又は出力負荷容量が大きく且つ1個以上のバッ
    ファブロックの挿入が必要な改善を要するルートをエラ
    ーネットとして入力するエラーネット入力ステップと、
    前記エラーネットに対し前記バッファブロックの挿入を
    行って前記配線遅延又は前記出力負荷容量の影響を無く
    すためのバッファリング処理を施すバッファリング処理
    ステップと、前記エラーネット入力をすべて行ったか否
    かを判定し、完了しているときには処理を終了させ、完
    了していないときには前記エラーネット入力ステップに
    戻って次のエラーネット入力を行うエラーネット入力判
    定ステップとを含み、 前記バッファリング処理ステップは、前記エラーネット
    の接続先ブロックに対して、クリティカルパスであるか
    否かの検索を行い分類するステップと、検索分類の結
    果、非クリティカルパス群に1つのバッファを挿入する
    バッファ挿入配置ステップと、前記クリティカルパスの
    前記接続先ブロックに対しては、総距離を予測配線長と
    して負荷容量を計算する容量計算ステップと、引き続く
    バッファリング処理の必要性を判定し、前記容量計算ス
    テップで計算した負荷容量が負荷容量制限値を満たす場
    合は、前記エラーネットに関してのバッファリング処理
    を終了させる引き続くバッファリング処理の必要性判定
    ステップと、前記引き続くバッファリング処理の必要性
    判定ステップで必要性があると判定されたときに、前記
    接続先ブロックのうち前記クリティカルパスとなるもの
    を群分けするクラスタリング処理ステップと、前記クラ
    スタリング処理を行った前記接続先ブロックに対し挿入
    した新たなバッファブロックを配置する挿入ブロックの
    配置ステップとを備え、前記挿入ブロックの配置が完了
    したとき、前記容量計算ステップに戻って前記クリティ
    カルパスの負荷容量計算から繰返し行うようにしたレイ
    アウト設計において、 前記クラスタリング処理ステップは、前記接続先ブロッ
    クのうち前記クリティカルパスと判定されたブロックに
    対し一筆書きソート検索を行う検索ステップと、前記一
    筆書きの距離の計算を行い、所定の長さより長い線を削
    除する距離計算ステップと、前記距離計算ステップにお
    ける距離計算の結果、前記クリティカルパスと判定され
    た1つ以上の前記接続先ブロックをクラスタとして群分
    けするクラスタ決定ステップとを備えたことを特徴とす
    るレイアウト設計における最適化方法。
  2. 【請求項2】 回路素子について負荷容量制限値と入力
    容量を記述したライブラリを入力する第1のデータ入力
    ステップと、出力ブロックを含んだ前記回路素子の配置
    情報及び接続情報を入力する第2のデータ入力ステップ
    と、前記回路素子がクリティカルパスとなるか否かの情
    報を入力するクリティカルパス入力ステップと、一度配
    置配線を行った結果、 配線遅延又は出力負荷容量が大きく且つ1個以上のバッ
    ファブロックの挿入が必要な改善を要するルートをエラ
    ーネットとして入力するエラーネット入力ステップと、
    前記エラーネットに対し前記バッファブロックの挿入を
    行って前記配線遅延又は前記出力負荷容量の影響を無く
    すためのバッファリング処理を施すバッファリング処理
    ステップと、前記エラーネット入力をすべて行ったか否
    かを判定し、完了しているときには処理を終了させ、完
    了していないときには前記エラーネット入力ステップに
    戻って次のエラーネット入力を行うエラーネット入力判
    定ステップとを含み、 前記バッファリング処理ステップは、前記エラーネット
    の接続先ブロックに対して、クリティカルパスであるか
    否かの検索を行い分類するステップと、検索分類の結
    果、非クリティカルパス群に1つのバッファを挿入する
    バッファ挿入配置ステップと、前記クリティカルパスの
    前記接続先ブロックに対しては、総距離を予測配線長と
    して負荷容量を計算する容量計算ステップと、引き続く
    バッファリング処理の必要性を判定し、前記容量計算ス
    テップで計算した負荷容量が負荷容量制限値を満たす場
    合は、前記エラーネットに関してのバッファリング処理
    を終了させる引き続くバッファリング処理の必要性判定
    ステップと、 前記引き続くバッファリング処理の必要性判定ステップ
    で必要性があると判定されたときに、前記接続先ブロッ
    クのうち前記クリティカルパスとなるものを群分けする
    クラスタリング処理ステップと、前記クラスタリング処
    理を行った前記接続先ブロックに対し挿入した新たなバ
    ッファブロックを配置する挿入ブロックの配置ステップ
    とを備え、前記挿入ブロックの配置が完了したとき、前
    記容量計算ステップに戻って前記クリティカルパスの負
    荷容量計算から繰返し行うようにしたレイアウト設計に
    おいて、 前記挿入ブロックの配置ステップは、前記クラスタリン
    グ処理を行った後、クラスタ側の基点として、接続先を
    結び且つその総距離が最短になる点を求め、さらに前記
    出力ブロックと各クラスタの基点を直線上の位置に求
    め、負荷容量制限値を満たす位置に前記挿入ブロックを
    配置することを特徴とするレイアウト設計における最適
    化方法。
  3. 【請求項3】 前記挿入ブロックの配置ステップは、ク
    ラスタ内に複数の接続先ブロックがある場合、1つのブ
    ロックのみを選択し、その端子位置を基点にするととも
    に、前記出力ブロックと各クラスタの基点を結ぶ直線上
    でクラスタの基点から一定の長さの位置に前記挿入ブロ
    ックを配置する請求項2記載のレイアウト設計における
    最適化方法。
  4. 【請求項4】 配置領域にエラーネットの出力ブロック
    と複数の接続先ブロックを入力し、クリティカルパスと
    なる前記接続先ブロックのうち、前記出力ブロックに一
    番近い接続先ブロックに対し、非クリティカルパスとな
    る接続先ブロックの影響を改善するための第1のバッフ
    ァブロックを挿入配置する第1のステップと、前記クリ
    ティカルパスとなる前記接続先ブロックを一筆書きした
    後、前記接続先ブロック間の距離が所定長よりも長い配
    線を削除し1つもしくは複数のクラスタに分ける第2の
    ステップと、前記1つもしくは複数のクラスタの基点と
    前記出力ブロックを結ぶ直線上に、前記出力ブロックに
    一番近い前記接続先ブロックに対し、前記1つもしくは
    複数のクラスタの影響を改善するための第2のバッファ
    ブロックを挿入配置し且つ前記1つもしくは複数のクラ
    スタから前記第2のバッファブロックをクリティカルパ
    スとみなす第2のステップと、前記第2のバッファブロ
    ックの挿入配置により再度のクラスタ化を行うととも
    に、必要に応じて第3のバッファブロックを挿入配置
    し、前記出力ブロック,前記出力ブロックに一番近い接
    続先ブロックおよび前記第1乃至第3のバッファブロッ
    クを配線して最終配線領域を形成することを特徴とする
    レイアウト設計における最適化方法。
JP2001157211A 2001-05-25 2001-05-25 レイアウト設計における最適化方法 Expired - Fee Related JP3512757B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001157211A JP3512757B2 (ja) 2001-05-25 2001-05-25 レイアウト設計における最適化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001157211A JP3512757B2 (ja) 2001-05-25 2001-05-25 レイアウト設計における最適化方法

Publications (2)

Publication Number Publication Date
JP2002353316A JP2002353316A (ja) 2002-12-06
JP3512757B2 true JP3512757B2 (ja) 2004-03-31

Family

ID=19001105

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001157211A Expired - Fee Related JP3512757B2 (ja) 2001-05-25 2001-05-25 レイアウト設計における最適化方法

Country Status (1)

Country Link
JP (1) JP3512757B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103560097B (zh) * 2013-11-20 2016-04-27 中国科学院深圳先进技术研究院 一种三维芯片中的布线路径优化方法

Also Published As

Publication number Publication date
JP2002353316A (ja) 2002-12-06

Similar Documents

Publication Publication Date Title
US5838583A (en) Optimized placement and routing of datapaths
US5930499A (en) Method for mixed placement of structured and non-structured circuit elements
US6543043B1 (en) Inter-region constraint-based router for use in electronic design automation
US7051310B2 (en) Two-stage clock tree synthesis with buffer distribution balancing
US7676780B2 (en) Techniques for super fast buffer insertion
US8782591B1 (en) Physically aware logic synthesis of integrated circuit designs
JPH0997842A (ja) 論理回路のレイアウト方法
US6480996B1 (en) System and method for transposing wires in a circuit design
US6651237B2 (en) System and method for H-Tree clocking layout
US5995735A (en) Directional repeater physical assignment and connection for high-performance microprocessors
US7730431B2 (en) Design method, design apparatus, and computer program for semiconductor integrated circuit
US6405354B1 (en) Method and apparatus to optimize power wiring layout and generate wiring layout data for a semiconductor integrated circuit
US20040049753A1 (en) System for estimating performance of integrated circuit in register transfer level
US20030217338A1 (en) Congestion mitigation with logic order preservation
US20030106036A1 (en) Wiring route determining apparatus, group determining apparatus, wiring route determining program storing medium and group determining program storing medium
JP3512757B2 (ja) レイアウト設計における最適化方法
US6532580B1 (en) In-place method for inserting repeater buffers in an integrated circuit
US6615401B1 (en) Blocked net buffer insertion
US6477690B1 (en) In-place repeater insertion methodology for over-the-block routed integrated circuits
KR20010024944A (ko) 전자 소자 및 장치의 설계 및 제조 방법
US6560761B1 (en) Method of datapath cell placement for bitwise and non-bitwise integrated circuit designs
JP3530025B2 (ja) 概略配線決定方法及び記憶媒体
US6477692B1 (en) Method and apparatus for channel-routing of an electronic device
JP3548398B2 (ja) 概略経路決定方法および概略経路決定方式
US6588003B1 (en) Method of control cell placement for datapath macros in integrated circuit designs

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20031209

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040107

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20080116

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090116

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100116

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees