JP4227304B2 - 概略配線方法及び装置並びに概略配線プログラムを格納した記録媒体 - Google Patents

概略配線方法及び装置並びに概略配線プログラムを格納した記録媒体 Download PDF

Info

Publication number
JP4227304B2
JP4227304B2 JP2000590207A JP2000590207A JP4227304B2 JP 4227304 B2 JP4227304 B2 JP 4227304B2 JP 2000590207 A JP2000590207 A JP 2000590207A JP 2000590207 A JP2000590207 A JP 2000590207A JP 4227304 B2 JP4227304 B2 JP 4227304B2
Authority
JP
Japan
Prior art keywords
path
wiring
block
point
end point
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
JP2000590207A
Other languages
English (en)
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
Application granted granted Critical
Publication of JP4227304B2 publication Critical patent/JP4227304B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/394Routing

Description

本発明は、LSIやVLSIのコンピュータ支援の自動設計のレイアウト設計で詳細配線に先立って行われる概略配線方法及び装置並びに概略配線プログラムを格納したコンピュータ読取り可能な記録媒体に関し、特に、スタイナー木を利用した最小コストのネット端子間の配線を探索するための概略配線方法及び装置並びに概略配線プログラムを格納したコンピュータ読取り可能な記録媒体に関する。
VLSI、LSIなどの大規模半導体集積回路をコンピュータの支援により自動設計するCADシステムにあっては、まずAND、OR等のセルと、セル間を接続するネットを決定する論理設計を行い、次に論理設計で得られたネットリストに基づき、チップ上にセルを配置するセルレイアウト自動設計を行い、最後にチップ上に配置したセル間のネットを接続する配線を決める配線処理(ルーチング:Routing)を行っている。配線処理は、タイミング、遅延等を考慮せずにネット配線を決める概略配線(グローバル・ルーチング:Global Routing)と、タイミング、遅延等を考慮してチップ上の実際の配線を決める詳細配線(ディテール・ルーチング:Detailed Routing)に分かれる。
近年の回路技術の進歩に伴い、VLSIの集積度の向上と回路規模の増大は著しい。このためレイアウト自動設計は、大規模の回路を高速に処理することが要求されている。
ここで本発明が対象としている概略配線問題の定義を簡単に説明する。まず図1のように、グリッドグラフと呼ばれる格子上の領域を考える。グリッドグラフは、チップ領域を水平垂直のラインによりセルブロックに分け、各矩形セルを頂点に変換して格子で結んだものであり、配置セルの端子は格子の黒点で表わされる。
このグリッドグラフにおける縦、横の格子の交点をグリッドと呼ぶ。グリッドサイズはグリッドの総数であり、縦方向の格子数がv本、横方向の格子数がh本の場合、グリッドサイズは(h×v)となる。図1の場合は、h=6,v=6でグリッドサイズは36である。
概略配線問題は、あるネットNの端子t1,t2,t3を結ぶように格子上に線分を生成する問題である。配線層が複数ある場合は、各線分を最もコストの低いところへ割り当てる。コスト関数は一般的には線分の長さの総和で与えられる配線長であり、コストを最小にする。概略配線の制約としては、斜線に示した領域100,102を通らないようにすることであり、領域100,102は配線禁止領域や配線混雑度の高い領域である。
次に概略配線の方法としてよく知られているものを簡単に説明する。
まず、2端子のネットに関する手法として代表的な迷路法と線分探索法がある。迷路法は、図2のように、一方の端子t1をソースとし、残りの端子t2をターゲットとし、ソースt1から波が伝搬するような形で探索を行なう。まずソースt1に「0」をラベルする。ラベルの値はソースt1からの距離である。次にソースt1に隣接する頂点には「1」をラベルし、ラベル「1」の頂点に隣接する頂点は「2」をラベルするという手順で波が広がるように伝えていく。この処理を波がターゲットt2に到達するか、あるいは波がこれ以上広がらなくなるまで繰り返す。
この迷路法の長所は、配線できない領域も考慮した最短経路が得られることにある。また計算時間はグリッドサイズに依存し、高さh、幅wとしたときO(h×w)となる。ここでO( )は、Order( )である。このため回路が大規模化し、サイズが大きくなると迷路法は計算コストが増大する。またラベルを記憶しておくためのメモリサイズもチップのグリッドサイズに依存する。
線分探索法は、図3のように、ソースt1とターゲットt2から線分を生成し、それぞれsリスト(slist)及びtリスト(tlist)と呼ばれるリストに加えていく。線分は障害物がないかぎり伸ばす。探索は、sリストの線分とtリストの線分がぶつかったところで終了する。図3では、sリストに線分s1,s2,s3を、またtリストに線分s4,s5,a6を加えるように線分を延ばしたところで、線分s2とs4がぶつかり、経路が見つかっている。
線分探索法は、グリッドを使う代わりに線分を使うことによって、使用メモリを軽減する。また計算コストは生成された線分数Lに依存し、O(L)である。
このような迷路法や線分探索法は、配線禁止や配線混雑度の高い領域100,102を障害物として考慮することができるし、多層の配線もできる。
3端子以上の多端子のネットに関しては迷路法や線分探索法を拡張した方法が用いられるが、局所解に陥るという欠点があり、図4のスタイナー木を利用する方法が解の質が高いという点で優れている。
スタイナー木を利用する方法は、RST(rectilinear steiner tree)と呼ばれるスタイナー木104を生成する。最小コストのスタイナー木104を見つける問題は、有為な時間内にて解けずに爆発的に解が増加するNP困難(No−Polynomial;否定された多項式時間)であるが、いくつかヒューリスティック(heuristic:発見的)な手法が提案されている。これらの手法はネットの端子数をNとすると、O(N3logN)程度までの計算時間及び使用メモリ量のものが知られている。一般的なスタイナー木を利用した方法は、障害物を考慮せず制約なしでスタイナー木を生成し、スタイナー木の各枝の経路を求める際に迷路法などを使って障害物を避けるなどの処理をしている。
しかしながら、迷路法のようなチップのグリッドサイズに依存する方法では、大規模な回路で、計算時間と使用メモリ量が増大することが問題となる。
一方、スタイナー木を利用する方法は、計算時間はネットの端子数に依存する。実用的な回路ではネットの端子数は高々数百である。これに対して配線領域のグリッドサイズは少なくとも数百万以上となる。このためスタイナー木を利用する方法は、迷路法と比較して計算時間と使用メモリ量において有利である。
しかし、一般的なスタイナー木の生成アルゴリズムでは、層、禁止、配線容量といった制約を考慮していないため、これらの制約は詳細配線に任せることになる。この場合、詳細配線に与えられる問題が難しくなり、配線全体の計算時間が逆に増える可能性がある。
本発明は、詳細配線に対する負担を軽減し質の高いスタイナー木を利用した概略配線の解が得られる概略配線方法及び装置並びに概略配線処理プログラムを格納したコンピュータ読取り可能な記録媒体を提供することを目的とする。
本発明は、チップ上に配置されるセルのネット端子間の概略配線を求める概略配線方法であり、制約条件なしに生成したスタイナー木を初期解として生成するスタイナー木生成過程と、スタイナー木の初期解をもとに、制約条件を考慮して線長がなるべく増えないようにスタイナー木の部分修正を繰り返して概略配線を得る修正過程とを備えたことを特徴とする。
ここで、スタイナー木生成過程は、層、禁止、配線容量といった制約なしスタイナー木を初期解として生成し、修正過程は、禁止領域、配線容量、層を考慮して線長がなるべく増えないようにスタイナー木の部分修正を繰り返す。
このように本発明は、スタイナー木を初期解として、配線の制約を考慮するようにスタイナー木の部分修正を行うことにより、障害物を考慮した迷路法の概略配線と同等の質の結果を得ることができる。また本発明におけるスタイナー木の部分修正に必要な計算は、基本的には座標計算であり、その計算時間と使用メモリ量はネットの端子数Nに依存する。したがって、大規模な回路では、本手法は配線領域を走査する迷路法と比較して計算時間と使用メモリ量において大きく有利である。
ここで修正過程は、スタイナー木を、少なくとも3本以上の枝の交点であるスタイナーポイントを値にもつ複数のパスに分割したパス集合を生成するパス集合生成過程と、スタイナー木のパス集合につき、制約条件を考慮したパスの修正によってスタイナー木を部分修正するパス修正過程とを備える。
このパス集合は、端子数Nのとき、スタイナーポイントの数は(N)オーダ、スタイナー木の枝数をenとすると、パスへの分割の計算時間は、各枝の端点がスタイナーポイントであるかどうかを決定する操作で抑えられ、O(en 2)オーダである。またスタイナー木の枝数enはO(N)オーダであり、パスへの分割の計算時間はO(N2)となる。また、生成されるパスの個数はO(N)で抑えられる。
パス修正過程は、スタイナー木のパス集合に対し、禁止領域を通るパスを、禁止領域を通らないパスに変更する禁止領域迂回過程を備える。この禁止領域迂回過程は、詳細には、次の手順をもつ。
(1)パスの始点、終点、及び経路が前記禁止を通るか否か判定する。
(2)禁止領域を通らない場合は処理を終了する。
(3)パスの始点あるいは終点いずれかが禁止にある場合は、始点あるいは終点を前記禁止領域外に移動した後にパスの集合を更新し、禁止領域外のパスの始点あるいは終点が見つからない場合はパスを変更せずに処理を終了する。
(4)パスが禁止領域を通っている場合は禁止を通らないような経路に変更する。
禁止領域迂回過程は、第1修正過程と第2修正過程を備える。
第1修正過程は、禁止領域にある始点を外部に移動する場合、移動先の新たな始点として元の始点から辿れるスタイナー木の枝上の点を候補点とし、また移動先の新たな終点として元の終点から辿れるスタイナー木の全ての枝上の点を候補点とし、各候補点のうち、禁止領域外にあり且つ線長が最短になる候補点を新たな始点又は終点に選んでパスを変更する。この場合の1本のパスついての修正のための計算時間はO(en)=O(N)である。
第2修正過程は、禁止領域を経路が通過する場合、始点および終点を変更することなく線長がなるべく増えないように禁止領域の外を通る経路を選んでパスを変更する。
この第2修正過程で、パスの線長が元のスタイナー木に比べて増えないようにするには、パスの始点と終点を囲む矩形の中を通る経路を選択すれば良い。禁止領域の制約で、この矩形の中を通ることができない場合は、線長は増えることになる。また矩形の中の経路のパターンをいくつか決めておくことにより、計算時間をO(1)に抑えることができる。
パス修正過程は、スタイナー木のパス集合に対し、配線容量を越える配線数の配線混雑領域を通るパスを、配線容量以下の配線数となるように配線混雑領域を通らないパスに変更する配線混雑領域迂回過程を備える。この配線混雑領域迂回過程は、詳細は次の手順となる。
(1)配線領域を所定の大きさに分割したブロックの各々について、ブロックを通過できる線分数の最大値を示す配線容量と、ブロックを現在通過している線分数を示す配線混雑度をそれぞれ定義する。
(2)ブロックの配線混雑度が配線容量以下の場合は、処理を終了する。
(3)ブロックの配線混雑度が配線容量を越えている場合は、ブロックを通過するパスについて、始点及び終点がブロックの外にある場合は、始点及び終点を変更せずに、ブロックを通らない経路を見つけてパスを変更し、見つからなければ元のパスを維持する。
(4)パスの始点と終点のいずれか一方がブロック内で他方がブロック外にある場合は、ブロック内の端点をブロック外に見つけ、ブロックを通らない経路を見つけパスを変更し、見つからなければ元のパスを維持する。
(5)パスの始点及び終点の両方がブロック内にある場合は元のパスを維持する。
(6)パスが修正されたらブロックの配線混雑度を再計算して配線容量以下になるまで処理を繰り返す。
この配線混雑領域迂回過程についても、第1修正過程と第2修正過程が設けられる。第1修正過程は、配線混雑のブロック内にパスの始点又は終点がある場合、移動先の新たな始点又は終点として元の始点球は終点から辿れるスタイナー木の枝上の点を候補点とし、その候補点のうち、ブロック外にあり且つ線長が最短になる候補点を新たな始点又は終点に選んでブロックを通らない経路を見つけてパスを変更する。
第2修正過程は、ブロックを経路が通過する場合、始点および終点を変更することなく線長がなるべく増えないようにブロックの外を通る経路を選んでパスを変更する。
パス修正過程は、スタイナー木のパス集合に対し、制約条件に基づくスタイナー木の部分修正の終了後に、各パスの線長を改善するようにパスに変更する線長改善過程を備える。この線長改善過程の詳細は次の多順をもつ。
(1)処理対象とするパスに属する枝をスタイナー木から外して始点から辿れる枝の集合である第1部分木T1と、終点から辿れる枝の集合である第2部分木T2とに分ける。
(2)第1部分木T1の始点はそのままで、第2部分木T2の枝の中から始点からのマンハッタン距離が最短になる枝上の終点を見つけて第1候補パスを生成する。
(3)第2部分木T2の終点はそのままで、第1部分木T1の枝の中から前記終点からの距離が最短になる枝上の始点を見つけて第2候補パスを生成する。
(4)第1候補パスの距離d1が第2候補パスの距離d2以下で且つ対象パスの距離d以下の場合、即ち、
d1<d2、且つd1<d
の場合、終点を変更した第1候補パスを新パスとして集合パスを更新する。
(5)第1候補パスの距離d2が第1候補パスの距離d1以下で且つ対象パスの距離d以下の場合、即ち、
d2<d1、且つd2<d
の場合、終点を変更した第1候補パスを新パスとして記集合パスを更新する。
(6)第1および第2候補パスの距離d1,d2が対象パスの距離d以上の場合、即ち、
d1≧d、且つd2≧d
の場合、始点及び終点を変えずパスをそのまま維持する。
また本発明は、チップ上に配置されたセルのネット端子間の概略配線を取得する概略配線装置を提供する。この概略配線装置は、層、禁止、配線容量といった制約条件なしに生成したスタイナー木を初期解として生成するスタイナー木生成部と、スタイナー木を、少なくとも3本以上の枝の交点であるスタイナーポイントを値にもつ複数のパスに分割するパス集合を生成するパス集合生成部と、スタイナー木のパス集合につき、前記制約条件を考慮したパスの修正により、線長がなるべく増えないようにスタイナー木の部分修正を繰り返して概略配線を得るパス修正とで構成される。
概略配線装置のパス修正部は、スタイナー木のパス集合に対し、禁止領域を通るパスを、禁止領域を通らないパスに変更する禁止領域迂回処理部と、スタイナー木のパス集合に対し、配線容量を越える配線数の配線混雑領域を通るパスを、配線容量以下の配線数となるように、配線混雑領域を通らないパスに変更する配線混雑領域迂回処理部と、スタイナー木のパス集合に対し、制約条件に基づくスタイナー木の部分修正の終了後に、各パスの線長を改善するようにパスに変更する線長改善処理部とを備える。
また本発明は、チップ上に配置されたセルのネット端子間の概略配線を取得する概略配線処理プログラムを格納したコンピュータ読取り可能な記録媒体を提供する。
この記録媒体は、層、禁止、配線容量といった制約条件なしに生成したスタイナー木を初期解として生成するスタイナー木生成モジュールと、スタイナー木を、少なくとも3本以上の枝の交点であるスタイナーポイントを値にもつ複数のパスに分割するパス集合を生成するパス集合生成モジュールと、スタイナー木のパス集合につき、制約条件を考慮したパスの修正により、線長がなるべく増えないようにスタイナー木の部分修正を繰り返して概略配線を得るパス修正モジュールとを備える。
また記録媒体のパス修正モジュールは、スタイナー木のパス集合に対し、禁止領域を通るパスを、前記禁止領域を通らないパスに変更する禁止領域迂回処理モジュールと、スタイナー木のパス集合に対し、配線容量を越える配線数の配線混雑領域を通るパスを、配線容量以下の配線数となるように配線混雑領域を通らないパスに変更する混雑領域迂回処理モジュールと、前記スタイナー木のパス集合に対し、前記制約条件に基づくスタイナー木の部分修正の終了後に、各パスの線長を改善するようにパスに変更する線長改善処理モジュールと備える。
このような本発明の概略配線方法におけるスタイナー木の修正のための計算時間は、端子数Nのネットに対してO{N2(logN)2}程度で済む。また初期解としてのスタイナー木の生成と修正を合わせた計算時間は、スタイナー木生成アルゴリズムにもよるが、O(N3logN)程度である。端子数は高々102であり、その場合、計算時間は108となるが、一般の回路では、数百端子もあるようなネットは、全ネット数の数%である。また、パスの構造を作るのに必要なメモリ容量はO(N)である。
一方、グリッドサイズは106から108程度である。これに対し迷路法はグリッドサイズを(h×w)とすると計算時間はO(h×w)であり、この計算をネットの数だけ行なうことになる。また、グリッドサイズ分のラベル値を保存するメモリが必要となる。その結果、本発明によって計算時間と使用メモリ量の小さい概略配線が実現される。
図5は本発明の概略配線が使用されるコンピュータ支援のLSIまたはVLSIの自動設計システムのブロック図である。この自動設計システムは、論理設計システム10とレイアウト設計システム14で構成される。論理設計システム10は設計対象となる大規模集積回路の動作内容を表わす情報を入力とし、ライブラリに登録されているセルとセル間の接続情報で表現した論理的な接続情報であるネットリストデータ12を生成する。
レイアウト設計システム14は、論理設計システム10で生成されたネットリストデータ12に基づき、チップ上でのセルの配置と、配置したセル間の配線処理を行って、レイアウト設計データ24を生成する。このためレイアウト設計システム14には、セル配置システム16と配線システム18が設けられる。配線システム18はグローバルルーチングとして知られた概略配線装置20と、ディテールルーチングとして知られた詳細配線装置22を備え、本発明の概略配線は概略配線装置20に適用される。
図6は、図5の概略配線装置20の機能ブロック図である。図6において、概略配線装置20に対しては入力部26が設けられ、図5の論理設計システム10で作成されたネットリストデータ12に基づくネットN1〜Nnの端子位置32、配線禁止領域34及び層情報36のデータが入力される。概略配線装置20はスタイナー木作成部38、パス集合生成部40、パス修正部42、更にパスリスト格納部52を備える。パス修正部42は禁止領域迂回処理部44、配線混雑領域迂回処理部46、線長改善処理部48、層配置処理部50、第1修正部52及び第2修正部56で構成される。
この概略配線装置20は、ネットN1〜Nnの端子位置に基づき、制約なしで生成したスタイナー木を初期解とし、配線禁止領域、配線混雑領域、層配置等の制約を考慮するようにスタイナー木の部分修正を行って、図1のような迷路法の障害物を考慮した概略配線と同等の質を持つ概略配線の結果を取得する。この本発明の概略配線装置20におけるスタイナー木の部分修正に必要な計算は、基本的には座標計算であり、計算時間と使用メモリ量はネットの端子数Nに依存する。したがって、大規模な回路では配線領域を操作する迷路法と比較し、本発明の概略配線は計算時間と使用メモリ量において大きく有利になる。
概略配線装置20におけるスタイナー木の初期解の制約を考慮した部分修正の結果得られた概略配線は、出力部30にネットN1〜Nnの配線木T1〜Tn58として出力される。
図7は、図6の概略配線装置20における本発明の概略配線処理のフローチャートである。まずステップS1で、ネットリスト、セルレイアウト情報及び設計ルールを読み込む。次にステップS2で処理カウンタiをi=1に初期化した後、ステップS3で処理カウンタi1で指定されるネットNi=N1について、層配線禁止領域、配線容量の制約なしで、ネットN1のスタイナー木T1を図2のスタイナー木生成部38により生成し、この制約なしで生成したスタイナー木T1を概略配線問題の初期解とする。
図8は、図7のステップS3における制約なしで生成したネットNiのスタイナー木Tiであり、グリットグラフ上に4つの端子t1,t2,t3,t4をもつスタイナー木Tiが生成されている。このスタイナー木Tiの生成アルゴリズムは、例えばJ.Cong et al.:“Topology optimization for total wirelength minimizationt”,INTEGRATION,the VLSI Journal 21(1996)1−94,Section 3.1,pp.17−21,ELSEVIER,1996,に記載される。
次に図7のステップS4で、ステップS3で生成したスタイナー木T1の初期解を対象に、スタイナー木T1上の3本以上の枝の交点をスタイナーポイントとするサブツリーの集合でなるパス集合Si=(Pi)を生成する。
図9は、図7のステップS4におけるサブツリー集合としてのパス集合の生成処理の説明図であり、図8のスタイナー木60を対象としている。このスタイナー木60について、まず3本以上の枝の交点となるスタイナーポイントを求める。この場合、2つのスタイナーポイントs1,s2が求まる。本発明にあっては、スタイナーポイントs1,s2を根に持つようなサブツリーをパスと呼ぶ。このため、パスは次の要素で構成される。
(1)パスの始点:スタイナーポイントか元のスタイナー木の葉(端子)
(2)パスの終点:スタイナーポイントか元のスタイナー木の葉(端子)
(3)始点から終点への経路:枝のリスト
このような要素で構成されるパスとして、図9のサブツリーの集合にあっては、5つのパスp1〜p5に分割することができる。例えばパスp1は端子t1をパスの始点とし、またスタイナーポイントs1をパスの終点とし、始点t1と終点s1の経路として枝e1を持つ。このようにスタイナーポイントs1,s2の設定で生成されたパスの集合は、図10のようにパスリスト52として格納され、このパスリスト52が生成されたスタイナー木を表現している。
スタイナー木からパス集合を生成する処理は、端子数Nのときスタイナーポイントの数はO(N)であり、スタイナー木の枝数をenとすると、パスへの分割の計算時間は各枝の端点がスタイナーポイントであるかどうかを決定する操作で抑制され、計算時間はO(en 2)となる。またスタイナー木の枝数enはO(N)であり、パスへの分割の計算時間はO(en 2)となる。更に、生成されるパスの個数はO(N)で抑えられる。
再びステップS3を参照するに、ステップS4でスタイナー木を表わすパス集合が生成できたならば、ステップS5で配線禁止領域を迂回したスタイナー木Tiの修正を実行し、ステップS6で配線混雑領域を考慮したスタイナー木Tiの修正を実行し、更にステップS7で、修正の済んだスタイナー木Tiの線長改善を行い、最終的にステップS8で各層への枝の割当てを行った後、ステップS9でネットNiのスタイナー木Tiを配線源として出力する。そしてステップS10で処理カウンタiを1つインクリメントした後、ステップS11で処理カウンタiが最後のネット数nに達するまで、ステップS3からの処理を繰り返す。
ここで、ステップS5及びS6のパス集合で表現されたスタイナー木Tiの修正処理は、次の2つの修正ルールを使用して修正される。
(修正ルール1)
修正ルール1はパスの線長が元のスタイナー木に比べて増えないように、パスの始点,終点を変更する。これに伴い、途中の経路も変わる。新しい始点の候補は、パスの元の始点から辿れる全てのスタイナー木の枝上の点(グリッドグラフ上の頂点)となる。同様に新しい終点の候補は、パスの元の終点から辿ることのできる全てのスタイナー木の枝上の点となる。パスの線長が元のスタイナー木に比べて増えないようにするためには、新しい始点または終点の候補のうち、制約を満たし且つ線長が最短になるような候補点を選ぶ。このような候補点がない場合は、制約を満たす候補点を選ぶ。この場合には線長が増えることになる。パスの修正後は、スタイナー木の構造が変わってスタイナーポイントが変わるため、スタイナー木を構成する全てのパスを再計算する必要がある。この修正ルール1における1本のパスについての修正に要する計算時間はO(en)=O(N)である。
(修正ルール2)
修正ルール2はパスの線長が元のスタイナー木に比べて増えないように、パスの始点と終点は変えずに途中の経路だけを変更する。途中の経路の変更でパスの線長が元のスタイナー木に比べて増えないようにするためには、パスの始点と終点を囲む矩形の中を通る経路を選択すればよい。配線禁止等の制約で始点と終点を囲む矩形の中を通ることができない場合は、線長は増えることになる。この修正ルール2の計算時間は、パスの始点と終点を囲む矩形の中の経路パターンをいくつか決めておくことにより、計算時間をO(1)で抑えることができる。
図11は、図7のステップS5の配線禁止領域を迂回したスタイナー木の修正処理のフローチャートである。この配線禁止領域迂回処理は、図6のパス修正部42に設けている禁止領域迂回処理部44、修正ルール1の修正処理を行う第1修正部54、及び修正ルール2の修正処理を行う第2修正部56の機能で実現される。
まずステップS1で、例えば図10のようなパスリスト52のパス集合で表現されたスタイナー木の各パスにつき、その始点,終点及び経路と、配線禁止領域の関係を判定する。即ち、パスの始点,終点及び経路が配線禁止領域を通るか否か調べる。ステップS2でパスの始点または終点が禁止領域にあることを判別すると、ステップS3に進み、パス修正ルール1により禁止領域の始点または終点を禁止領域外に移動する。この始点または終点を移動すると、スタイナー木が変化するため、ステップS4でパス集合を再度生成する更新を行う。一方、ステップS2でパスの始点または終点が禁止領域になければ、ステップS5に進み、パスの経路が禁止領域を通過するか否かチェックし、禁止領域を通過していればステップS6に進み、パス修正ルール2により、禁止領域を通らない経路に変更する。更に、ステップS2でパスの始点,終点が禁止領域になく、且つステップS5でパスの経路も禁止領域を通過していない場合には、パスの修正は行わない。このステップS1〜S6の処理を、ステップS7でスタイナー木の全てのパスの処理が済むまで繰り返す。
図12は、図11の配線禁止領域迂回処理の具体的な処理の説明図である。図12(A)は図10のパスリスト52のパス集合で表現されたスタイナー木であり、パスp3が配線禁止領域62上を通っていたとする。この配線禁止領域62を通るパスp3を、線長をなるべく増やさないようにしながら配線禁止領域62を迂回するパスに変更するためには、パスの始点s1の変更を必要とする。
パスの始点s1の変更を伴う修正は修正ルール1により行う。修正ルール1は新しい始点の候補として、元のパスの始点s1から辿ることのできる全てのスタイナー木の枝上の点、即ち図12(B)のグリッドグラフ頂点s11,s12,s13、更に端子t1,t4を含む点となる。この4つの新しい始点の候補点t1,s11,s12,s13,t4のうち、配線禁止領域62を通らないという制約を満たし且つ線長が最短となる点は、候補点s11である。そこで、候補点s11を新たなパスp3の始点とする図12(C)のパスp3を生成する。この修正後のパスp3は、始点s11、終点s2、枝e41,e42で構成され、スタイナーポイントが修正前のs1から新たな始点としてのスタイナーポイントs11に変化してスタイナー木の構造が変わったことから、スタイナー木を構成する全てのパスについて再計算を行って、図10のパスリストの内容を更新する。
ここで図11の配線禁止迂回処理にあっては、ステップS2でパスの始点または終点が禁止領域にあることを条件に、ステップS3でパス修正ルール1による修正を行っているが、図12(A)のパスp3の始点s1は配線禁止領域62にはなく、配線禁止領域62の外にあり、パスp3の枝e4が配線禁止領域62を通っている。しかしながら、始点s1を変更せずに枝e4の経路を配線禁止領域62の外に変更するためには、始点s1の次の候補点となるグリッドグラフ上の頂点が配線禁止領域62の外になければならない。しかし、図12(A)の場合には、始点s1の次のグリッドグラフ上の頂点66が配線禁止領域62の中にあり、このため枝e4による経路変更による配線禁止領域62の迂回はできない。したがって、この場合には修正ルール1に従って始点s1を変更する。即ち配線
禁止迂回処理にあっては、パスの始点または終点に隣接する枝上のグリッドグラフ頂点が配線禁止領域にある場合には、始点または終点が配線禁止領域にあるものと見做して修正ルール1を適用する。
図12(A)のパスp3の終点s2については、枝e4上の隣接するグリッドグラフ頂点68は配線禁止領域62の外にあり、したがって、この場合には終点s2を変更する必要はない。
図13及び図14は、図7のステップS6の配線混雑領域を配慮したスタイナー木の修正処理即ち配線混雑領域迂回処理のフローチャートである。この配線混雑領域迂回処理は、図6のパス修正部42に設けている配線混雑領域迂回処理部46、第1修正部54及び第2修正部56の機能により実現される。
図13において、まずステップS1で配線容量を考慮せずに生成した図8のようなスタイナー木の初期解を対象に、配線領域を適当な大きさのブロックに分割し、各ブロックごとに配線容量と配線混雑度を定義する。ここで配線容量及び配線混雑度は回路の性質等によって様々な定義が考えられるが、例えば配線容量はブロックを通過できる線分の最大値とし、また配線混雑度はブロックを現在通過している線分数とする。続いてステップS2において、特定のブロックを取り出し、その配線混雑度と配線容量を比較し、配線混雑度が配線容量を超えている場合には、ステップS3に進み、そのブロックを通過するパスを特定する。続いてステップS4で、配線混雑度が配線容量を超えているブロックを通過する特定のパスにつきパスの始点または終点はブロック内か否か判定する。ブロック内であればステップS5に進み、パス修正ルール1によりブロック内の始点または終点を外部に移動し、ブロックを通らない経路に変更する。このときブロックを通らない経路が得られたか否かステップS6でチェックし、もしブロックを通らない経路が見つからなければ、そのパスは元のままとする。
一方、ステップS4で始点または終点がブロック外であった場合には、図14のステップS7に進み、パスの経路がブロックを通過するか否か判定する。パスの経路がブロックを通過する場合にはステップS8に進み、パス修正ルール2により、ブロックを通らない経路に変更する。この場合にも、ステップS9でブロックを通らない経路の有無をチェックし、もしブロックを通らない経路が見つからなければパスは元のままとする。更にステップS10で、パスの始点と終点の両方がブロック内であった場合にはブロック外部へのパスの変更はできないことから、修正処理は行わない。
次のステップS11にあっては、ステップS5のパス修正ルール1もしくはステップS8のパス修正ルール2により修正された変更後のパスを対象に、現在処理中のブロックの配線混雑度を再計算し、ステップS12で、再計算した配線混雑度が配線容量以上か否かチェックし、配線容量を下回っていれば、そのブロックの配線混雑領域迂回処理は終了したとして、ステップS13で全ブロックの処理済みを判別し、処理が済んでいれば再びステップS2からの処理を繰り返す。
一方、ステップS12で、再計算した配線混雑度が配線容量以上であった場合には、そのブロックについて混雑が解消されていないことから、再びステップS3に戻り、ブロックを通過する次のパスを特定して、ステップS4からの修正処理を繰り返す。
図15は、図13及び図14の配線混雑領域迂回処理の具体的な処理の説明図である。
図15(A)は、図12(C)の配線禁止領域の迂回処理の修正が済んだスタイナー木60であり、パスp2が配線混雑領域70を通過していたとする。この配線混雑領域70を通過するパスp2は、始点s11、終点t4、枝e31,e32,e33で構成されており、始点s11及び終点t4は配線混雑領域70にないことから、修正ルール2によって線長をなるべく増やさないように経路を配線混雑領域70の外とするようにパスを変更する。このパスp2の経路を線長を増やさないように配線混雑領域70の外に変更するためには、図15(B)のように、パスp2の始点s11と終点t4を含む矩形領域66を設定し、配線混雑領域70を通過しないとする制約により矩形領域66の中を通る枝e34,e35の経路を選択すればよい。これによって図15(C)のような配線混雑領域70を通らないパスp2に変更することができ、配線混雑領域70の混雑度が低下し、規定の配線容量を満たすことができる。
図16は、図7のステップS7のスタイナー木の線長改善処理のフローチャートである。この線長改善処理は、図6のパス修正部42に設けた線長改善処理部48の機能により実現される。まずステップS1で、処理対象としている修正済みのスタイナー木の中の任意のパスpを選択し、その経路長dを導出する。次にステップS2で、選択したパスpに属する枝をスタイナー木から外し、始点から辿ることのできる部分木T1と終点から辿ることのできる部分木T2に分割する。次にステップS3で、パスpの始点はそのままで部分木T2の枝の中から始点に対するマンハッタン距離が最短となる枝上の点を終点として検索し、このようにして得られたパスをp1、経路長をd1とする。ここでマンハッタン距離とは2つの点を直線で結んだ距離のことである。
次のステップS4にあっては、逆にパスp2の終点はそのままで始点側の部分木T1の枝の中からマンハッタン距離が最短となる枝上の点を始点として検索し、そのパスをp2、経路長をd2とする。次にステップS5で、部分木T1,T2に分けて、ステップS3,S4でそれぞれ求めたパスp1,p2に対し、パスp1の経路長d1がパスp2の経路長d2以下で且つ元のパスpの経路長d2以下のとき、ステップS6で終点を変更したパスp1を新しい線長を改善したパスpとする。
またステップS5の条件が成立しなかった場合には、ステップS7で、ステップS4で求めたパスp2の経路長d2について、ステップS3で求めたパスp1の経路長d1より小さく且つ元のパスpの経路長dより小さい条件が成立したならば、ステップS8で、始点を変更したパスp2を新しい線長改善されたパスpとする。もちろん、ステップS5,S7のいずれの条件も成立しなければ、ステップS9でパスは変更しない。ステップS10では、ステップS1〜S9の処理をスタイナー木の全パスについて終了したか否かチェックし、全パスの処理が終了するまで、ステップS1〜S9の処理を繰り返す。この修正済みのスタイナー木の各パスに対する線長改善処理によって、全体的な線長改善が図られる。
図17は、図16の線長改善処理の具体的な処理の説明図である。図17(A)は図15(C)の配線混雑領域迂回処理が済んだスタイナー木60であり、始点s11、終点t4、枝e34,e35の経路を持つパスp2の線長改善を例にとると、まず図17(B)のように、パスp2の経路を構成する枝e34、e35を破線のように外す。この枝e34、e35を外すことによって、スタイナー木60を始点s11側の部分木T1と終点t4側の部分木T2に分割する。
次にパスp2の始点s11はそのままで終点t側の部分木T2の枝の中からマンハッタン距離が最短となる枝上の点を終点として検索し、これをパスp11とし、経路長をd1とする。しかしながら、この場合のパスp11は図17(A)の最初のパスp2と同じものになる。次にパスp2の終点t4はそのままで始点s11側の部分木T1の枝の中からマンハッタン距離が最短となる枝上の点を始点として検索する。この場合には、始点s11側の部分木T1には端子t1,t2,d3、スタイナーポイントs11,s2、更にグリッドグラフ頂点となる黒丸の点が候補点として存在することから、この中から新たなマンハッタン距離を最短とする始点を検索すると、端子t3が検索され、この場合のパスをp22、経路長をd2とする。この場合には、パスp22の経路長d2がパスp11の経路長d1より小さく且つ元のパスp2の経路長dよりも小さいことから、始点を変更したパスp22が新しいパスp2として選択され、図17(C)のようにパスp2を変更することによって線長改善が図られる。
図18は、図7のステップS8でスタイナー木の部分修正および線長改善が終了した後に行われる各層への枝の割当て処理の具体例であり、図6のパス修正部42に設けた層配置処理部50の機能により実現される。
図18(A)は、図17(C)の線長改善が行われたスタイナー木60であり、予め入力された層情報に基づき、スタイナー木60を図18(B)のように第1層目と図18(C)のように第2層目に割り当て、これに基づいて図6の出力部30に示したように、ネットN1〜Nnの配線木T1〜Tnの概略配線の解として、次の詳細配線処理のために出力する。
尚、上記の実施形態は、制約なしで生成したスタイナー木の初期解の部分修正を、配線禁止領域、配線容量を考慮して修正した後に線長改善を行い、最終的に層配置するようにしているが、スタイナー木の修正として配線禁止領域の迂回または配線容量の考慮といった特定の制約についてのみ修正を行うようにしても、次の詳細処理での負担が軽減できる。
また本発明は、上記の実施形態に示した概略配線処理の手順を備えた概略配線プログラムを格納したコンピュータ読取可能な記録媒体を提供する。この記録媒体に格納された概略配線処理プログラムには、図6の概略配線装置20の各部の処理機能が処理モジュールとして組み込まれている。
更に本発明は、その目的と利点を損なわない範囲で適宜の変形を含む。また本発明は、実施例に示した数値による限定は受けない。
以上説明してきたように本発明によれば、スタイナー木を初期解として制約を考慮するようにスタイナー木の部分修正を行うことで、既存の迷路法の障害物を考慮した概略配線と同質の結果をスタイナー木を利用した概略配線の解として得ることができる。これによって、次の詳細配線において層、禁止、配線容量等の制約を考慮した処理が必要なくなり、詳細配線での処理負担が軽減され、配線処理全体としての計算時間を低減し、より高速な自動設計が提供できる。
また本発明のスタイナー木の部分修正に必要な計算は基本的に座標計算であり、計算時間と使用メモリ量はネットの対比数に依存しており、グリッドサイズに計算時間と使用メモリ量が依存した迷路法に比べると、計算時間と使用メモリ量において大きく有利であり、この結果、計算時間と使用メモリ量の少ない概略配線が実現できる。
図1はグリッドグラフを用いた概略配線問題の説明図
図2は迷路法の説明図
図3は線分探索法の説明図
図4はスタイナー木を利用した方法の説明図
図5は本発明が適用されるVLSI自動設計システムのブロック図
図6は本発明の概略配線装置の機能ブロック図
図7は本発明の概略配線処理のフローチャート
図8は本発明で初期解として生成するスタイナー木の説明図
図9は図8のスタイナー木をスタイナーポイントのパスに分割したサブスタイナ一木の説明図
図10は図9のパス集合を示すパスリストの説明図
図11は本発明の禁止領域迂回処理のフローチャート
図12は本発明の禁止領域迂回処理の説明図
図13は本発明の配線混雑領域迂回処理のフローチャート
図14は図13に続く本発明の配線混雑領域迂回処理のフローチャート
図15は本発明の配線混雑領域迂回処理の説明図
図16は本発明の配線長改善処理のフローチャート
図17は本発明の配線長改善処理の説明図
図18は本発明の層配置処理の説明図

Claims (9)

  1. チップ上に配置されたセルのネット端子間の概略配線を求める概略配線方法に於いて、
    層、禁止領域、配線容量といった制約条件なしに生成したスタイナー木を初期解として生成するスタイナー木生成過程と、
    前記スタイナー木を、少なくとも3本以上の枝の交点であるスタイナーポイントを値にもつ複数のパスに分割するパス集合を生成するパス集合生成過程と、
    前記スタイナー木のパス集合につき、前記制約条件を考慮したパスの修正により、線長がなるべく増えないようにスタイナー木の部分修正を繰り返して概略配線を得るパス修正過程と、
    を備え、
    前記パス修正過程は、
    前記スタイナー木のパス集合に対し、前記禁止領域を通るパスを、前記禁止領域を通らないパスに変更する禁止領域迂回過程と、
    前記スタイナー木のパス集合に対し、前記配線容量を越える配線数の配線混雑領域を通るパスを、前記配線容量以下の配線数となるように前記配線混雑領域を通らないパスに変更する配線混雑領域迂回過程と、
    前記スタイナー木のパス集合に対し、前記制約条件に基づくスタイナー木の部分修正の終了後に、各パスの線長を改善するようにパスに変更する線長改善過程と、
    を備え、
    前記禁止領域迂回過程は、
    パスの始点、終点、及び経路が前記禁止領域を通るか否か判定し、
    禁止領域を通らない場合は処理を終了し、
    パスの始点あるいは終点いずれかが禁止領域にある場合は、始点あるいは終点を前記禁止領域外に移動した後に前記パスの集合を更新し、禁止領域外のパスの始点あるいは終点が見つからない場合はパスを変更せずに処理を終了し、
    パスが前記禁止領域を通っている合は、禁止領域を通らないような経路に変更し、
    前記配線混雑領域迂回過程は、
    配線領域を所定の大きさに分割したブロックの各々について、前記ブロックを通過できる線分数の最大値を示す配線容量と、前記ブロックを現在通過している線分数を示す配線混雑度をそれぞれ定義し、
    前記ブロックの配線混雑度が配線容量以下の場合は、処理を終了し、
    前記ブロックの配線混雑度が配線容量を越えている場合は、前記ブロックを通過するパスについて、始点及び終点がブロックの外にある場合は、始点及び終点を変更せずに、ブロックを通らない経路を見つけてパスを変更し、見つからなければ元のパスを維持し、
    パスの始点と終点のいずれか一方がブロック内で他方がブロック外にある場合は、ブロック内の端点をブロック外に見つけ、ブロックを通らない経路を見つけパスを変更し、見つからなければ元のパスを維持し、
    パスの始点及び終点の両方がブロック内にある場合は元のパスを維持し、
    パスが修正されたらブロックの配線混雑度を再計算して前記配線容量以下になるまで前記処理を繰り返し、
    前記線長改善過程は、
    処理対象とするパスに属する枝をスタイナー木から外して始点から辿れる枝の集合である第1部分木T1と、終点から辿れる枝の集合である第2部分木T2とに分け、
    前記第1部分木T1の始点はそのままで、前記第2部分木T2の枝の中から前記始点からのマンハッタン距離が最短になる枝上の終点を見つけて第1候補パスを生成し、
    前記第2部分木T2の終点はそのままで、前記第1部分木T1の枝の中から前記終点からの距離が最短になる枝上の始点を見つけて第2候補パスを生成し、
    前記第1候補パスの距離d1が前記第2候補パスの距離d2以下で且つ前記処理対象とするパスの距離d以下の場合は、終点を変更した前記第1候補パスを新パスとして前記 スの合を更新し、
    前記第2候補パスの距離d2が前記第2候補パスの距離d1以下で且つ前記処理対象とするパスの距離d以下の場合は、始点を変更した前記第2候補パスを新パスとして前記パスの合を更新し、
    前記第1および第2候補パスの距離d1、d2が各々前記処理対象とするパスの距離d以上の場合は、始点及び終点を変えずパスをそのまま維持することを特徴とする概略配線方法。
  2. 請求項1の概略配線方法に於いて、前記禁止領域迂回過程は、
    前記禁止領域にある始点を外部に移動する場合、移動先の新たな始点として元の始点から辿れる前記スタイナー木の枝上の点を候補点とし、また移動先の新たな終点として元の終点から辿れる前記スタイナー木の全ての枝上の点を候補点とし、前記候補点のうち、前記禁止領域外にあり且つ線長が最短になる候補点を新たな始点又は終点に選んでパスを変更する第1修正過程と、
    前記禁止領域を経路が通過する場合、始点および終点を変更することなく線長がなるべく増えないように前記禁止領域の外を通る経路を選んでパスを変更する第2修正過程と、
    を備えたことを特徴とする概略配線方法。
  3. 請求項1の概略配線方法に於いて、前記配線混雑領域迂回過程は、
    前記ブロック内に始点又は終点がある場合、移動先の新たな始点又は終点として元の始点又は終点から辿れる前記スタイナー木の枝上の点を候補点とし、前記候補点のうち、前記ブロック外にあり且つ線長が最短になる候補点を新たな始点又は終点に選んで前記ブロックを通らない経路を見つけてパスを変更する第1修正過程と、
    前記ブロックを経路が通過する場合、始点および終点を変更することなく線長がなるべく増えないように前記ブロックの外を通る経路を選んでパスを変更する第2修正過程と、
    を備えたことを特徴とする概略配線方法。
  4. チップ上に配置されたセルのネット端子間の概略配線を求める概略配線装置に於いて、
    層、禁止領域、配線容量といった制約条件なしに生成したスタイナー木を初期解として生成するスタイナー木生成部と、
    前記スタイナー木を、少なくとも3本以上の枝の交点であるスタイナーポイントを値にもつ複数のパスに分割するパス集合を生成するパス集合生成部と、
    前記スタイナー木のパス集合につき、前記制約条件を考慮したパスの修正により、線長がなるべく増えないようにスタイナー木の部分修正を繰り返して概略配線を得るパス修正部と、
    を備え、前記パス修正部は、
    前記スタイナー木のパス集合に対し、前記禁止領域を通るパスを、前記禁止領域を通らないパスに変更する禁止領域迂回処理部と、
    前記スタイナー木のパス集合に対し、前記配線容量を越える配線数の配線混雑領域を通るパスを、前記配線容量以下の配線数となるように前記配線混雑領域を通らないパスに変更する配線混雑領域迂回処理部と、
    前記スタイナー木のパス集合に対し、前記制約条件に基づくスタイナー木の部分修正の終了後に、各パスの線長を改善するようにパスに変更する線長改善処理部と、
    を備え、
    前記禁止領域迂回処理部は、
    パスの始点、終点、及び経路が前記禁止領域を通るか否か判定し、
    禁止領域を通らない場合は処理を終了し、
    パスの始点あるいは終点いずれかが禁止領域にある場合は、始点あるいは終点を前記禁止領域外に移動した後に前記パスの集合を更新し、禁止領域外のパスの始点あるいは終点が見つからない場合はパスを変更せずに処理を終了し、
    パスが前記禁止領域を通っている合は、禁止領域を通らないような経路に変更し、
    前記配線混雑領域迂回処理部は、
    配線領域を所定の大きさに分割したブロックの各々について、前記ブロックを通過できる線分数の最大値を示す配線容量と、前記ブロックを現在通過している線分数を示す配線混雑度をそれぞれ定義し、
    前記ブロックの配線混雑度が配線容量以下の場合は、処理を終了し、
    前記ブロックの配線混雑度が配線容量を越えている場合は、前記ブロックを通過するパスについて、始点及び終点がブロックの外にある場合は、始点及び終点を変更せずに、ブロックを通らない経路を見つけてパスを変更し、見つからなければ元のパスを維持し、
    パスの始点と終点のいずれか一方がブロック内で他方がブロック外にある場合は、ブロック内の端点をブロック外に見つけ、ブロックを通らない経路を見つけパスを変更し、見つからなければ元のパスを維持し、
    パスの始点及び終点の両方がブロック内にある場合は元のパスを維持し、
    パスが修正されたらブロックの配線混雑度を再計算して前記配線容量以下になるまで前記処理を繰り返し、
    前記線長改善処理部は、
    処理対象とするパスに属する枝をスタイナー木から外して始点から辿れる枝の集合である第1部分木T1と、終点から辿れる枝の集合である第2部分木T2とに分け、
    前記第1部分木T1の始点はそのままで、前記第2部分木T2の枝の中から前記始点からのマンハッタン距離が最短になる枝上の終点を見つけて第1候補パスを生成し、
    前記第2部分木T2の終点はそのままで、前記第1部分木T1の枝の中から前記終点からの距離が最短になる枝上の始点を見つけて第2候補パスを生成し、
    前記第1候補パスの距離d1が前記第2候補パスの距離d2以下で且つ前記処理対象とするパスの距離d以下の場合は、終点を変更した前記第1候補パスを新パスとして前記パスの合を更新し、
    前記第2候補パスの距離d2が前記第2候補パスの距離d1以下で且つ前記処理対象とするパスの距離d以下の場合は、始点を変更した前記第2候補パスを新パスとして前記パスの合を更新し、
    前記第1および第2候補パスの距離d1、d2が各々前記処理対象とするパスの距離d以上の場合は、始点及び終点を変えずパスをそのまま維持することを特徴とする概略配線装置。
  5. 請求項4の概略配線装置に於いて、前記禁止領域迂回処理部は、
    前記禁止領域にある始点を外部に移動する場合、移動先の新たな始点として元の始点から辿れる前記スタイナー木の枝上の点を候補点とし、また移動先の新たな終点として元の終点から辿れる前記スタイナー木の全ての枝上の点を候補点とし、前記候補点のうち、前記禁止領域外にあり且つ線長が最短になる候補点を新たな始点又は終点に選んでパスを変更する第1修正部と、
    前記禁止領域を経路が通過する場合、始点および終点を変更することなく線長がなるべく増えないように前記禁止領域の外を通る経路を選んでパスを変更する第2修正部程と、
    を備えたことを特徴とする概略配線装置。
  6. 請求項4の概略配線装置に於いて、前記配線混雑領域迂処理回部は、
    前記ブロック内に始点又は終点がある場合、移動先の新たな始点又は終点として元の始点又は終点から辿れる前記スタイナー木の枝上の点を候補点とし、前記候補点のうち、前記ブロック外にあり且つ線長が最短になる候補点を新たな始点又は終点に選んで前記ブロックを通らない経路を見つけてパスを変更する第1修正部と、
    前記ブロックを経路が通過する場合、始点および終点を変更することなく線長がなるべく増えないように前記ブロックの外を通る経路を選んでパスを変更する第2修正部と、
    を備えたことを特徴とする概略配線装置。
  7. チップ上に配置されたセルのネット端子間の概略配線を求める概略配線処理プログラムを格納したコンピュータ読取り可能な記録媒体に於いて、
    層、禁止領域、配線容量といった制約条件なしに生成したスタイナー木を初期解として生成するスタイナー木生成モジュールと、
    前記スタイナー木を、少なくとも3本以上の枝の交点であるスタイナーポイントを値にもつ複数のパスに分割するパス集合を生成するパス集合生成モジュールと、
    前記スタイナー木のパス集合につき、前記制約条件を考慮したパスの修正により、線長がなるべく増えないようにスタイナー木の部分修正を繰り返して概略配線を得るパス修正モジュールと、
    を備え、前記パス修正モジュールは、
    前記スタイナー木のパス集合に対し、前記禁止領域を通るパスを、前記禁止領域を通らないパスに変更する禁止領域迂回処理モジュールと、
    前記スタイナー木のパス集合に対し、前記配線容量を越える配線数の配線混雑領域を通るパスを、前記配線容量以下の配線数となるように前記配線混雑領域を通らないパスに変更する混雑領域迂回処理モジュールと、
    前記スタイナー木のパス集合に対し、前記制約条件に基づくスタイナー木の部分修正の終了後に、各パスの線長を改善するようにパスに変更する線長改善処理モジュールと、
    を備え、
    前記禁止領域迂回処理モジュールは、
    パスの始点、終点、及び経路が前記禁止領域を通るか否か判定し、
    禁止領域を通らない場合は処理を終了し、
    パスの始点あるいは終点いずれかが禁止領域にある場合は、始点あるいは終点を前記禁止領域外に移動した後に前記パスの集合を更新し、禁止領域外のパスの始点あるいは終点が見つからない場合はパスを変更せずに処理を終了し、
    パスが前記禁止領域を通っている合は、禁止領域を通らないような経路に変更し、
    前記配線混雑領域迂回処理モジュールは、
    配線領域を所定の大きさに分割したブロックの各々について、前記ブロックを通過できる線分数の最大値を示す配線容量と、前記ブロックを現在通過している線分数を示す配線混雑度をそれぞれ定義し、
    前記ブロックの配線混雑度が配線容量以下の場合は、処理を終了し、
    前記ブロックの配線混雑度が配線容量を越えている場合は、前記ブロックを通過するパスについて、始点及び終点がブロックの外にある場合は、始点及び終点を変更せずに、ブロックを通らない経路を見つけてパスを変更し、見つからなければ元のパスを維持し、
    パスの始点と終点のいずれか一方がブロック内で他方がブロック外にある場合は、ブロック内の端点をブロック外に見つけ、ブロックを通らない経路を見つけパスを変更し、見つからなければ元のパスを維持し、
    パスの始点及び終点の両方がブロック内にある場合は元のパスを維持し、
    パスが修正されたらブロックの配線混雑度を再計算して前記配線容量以下になるまで前記処理を繰り返し、
    前記線長改善処理モジュールは、
    処理対象とするパスに属する枝をスタイナー木から外して始点から辿れる枝の集合である第1部分木T1と、終点から辿れる枝の集合である第2部分木T2とに分け、
    前記第1部分木T1の始点はそのままで、前記第2部分木T2の枝の中から前記始点からのマンハッタン距離が最短になる枝上の終点を見つけて第1候補パスを生成し、
    前記第2部分木T2の終点はそのままで、前記第1部分木T1の枝の中から前記終点からの距離が最短になる枝上の始点を見つけて第2候補パスを生成し、
    前記第1候補パスの距離d1が前記第2候補パスの距離d2以下で且つ前記処理対象とするパスの距離d以下の場合は、終点を変更した前記第1候補パスを新パスとして前記パスの合を更新し、
    前記第2候補パスの距離d2が前記第2候補パスの距離d1以下で且つ前記処理対象とするパスの距離d以下の場合は、始点を変更した前記第2候補パスを新パスとして前記パスの合を更新し、
    前記第1および第2候補パスの距離d1、d2が各々前記処理対象とするパスの距離d以上の場合は、始点及び終点を変えずパスをそのまま維持する概略配線処理プログラムを格納したことを特徴とする記録媒体。
  8. 請求項7の記録媒体に於いて、前記禁止領域迂回処理モジュールは、
    前記禁止領域にある始点を外部に移動する場合、移動先の新たな始点として元の始点から辿れる前記スタイナー木の枝上の点を候補点とし、また移動先の新たな終点として元の終点から辿れる前記スタイナー木の全ての枝上の点を候補点とし、前記候補点のうち、前記禁止領域外にあり且つ線長が最短になる候補点を新たな始点又は終点に選んでパスを変更する第1修正モジュールと、
    前記禁止領域を経路が通過する場合、始点および終点を変更することなく線長がなるべく増えないように前記禁止領域の外を通る経路を選んでパスを変更する第2修正部モジュールと、
    を備えたことを特徴とする記録媒体。
  9. 請求項7の記録媒体に於いて、前記配線混雑領域迂回処理モジュールは、
    前記ブロック内に始点又は終点がある場合、移動先の新たな始点又は終点として元の始点又は終点から辿れる前記スタイナー木の枝上の点を候補点とし、前記候補点のうち、前記ブロック外にあり且つ線長が最短になる候補点を新たな始点又は終点に選んで前記ブロックを通らない経路を見つけてパスを変更する第1修正モジュールと、
    前記ブロックを経路が通過する場合、始点および終点を変更することなく線長がなるべく増えないように前記ブロックの外を通る経路を選んでパスを変更する第2修正モジュールと、
    を備えたことを特徴とする記録媒体。
JP2000590207A 1998-12-22 1998-12-22 概略配線方法及び装置並びに概略配線プログラムを格納した記録媒体 Expired - Fee Related JP4227304B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP1998/005815 WO2000038228A1 (fr) 1998-12-22 1998-12-22 Appareil et procede de cablage brute et support d'enregistrement conservant un programme de cablage brute

Publications (1)

Publication Number Publication Date
JP4227304B2 true JP4227304B2 (ja) 2009-02-18

Family

ID=14209684

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000590207A Expired - Fee Related JP4227304B2 (ja) 1998-12-22 1998-12-22 概略配線方法及び装置並びに概略配線プログラムを格納した記録媒体

Country Status (3)

Country Link
US (1) US6415427B2 (ja)
JP (1) JP4227304B2 (ja)
WO (1) WO2000038228A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111582431A (zh) * 2020-05-14 2020-08-25 福州大学 一种两步式X结构Steiner最小树构建方法

Families Citing this family (104)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3986717B2 (ja) * 1999-12-01 2007-10-03 富士通株式会社 パス決定方法及び記憶媒体
US6898773B1 (en) 2002-01-22 2005-05-24 Cadence Design Systems, Inc. Method and apparatus for producing multi-layer topological routes
US7139992B2 (en) * 2000-12-01 2006-11-21 Sun Microsystems, Inc. Short path search using tiles and piecewise linear cost propagation
US20020104061A1 (en) * 2000-12-01 2002-08-01 Sun Microsystems, Inc. Systems and methods for linear minimal convolution
US6957410B2 (en) * 2000-12-07 2005-10-18 Cadence Design Systems, Inc. Method and apparatus for adaptively selecting the wiring model for a design region
US6516455B1 (en) * 2000-12-06 2003-02-04 Cadence Design Systems, Inc. Partitioning placement method using diagonal cutlines
CN1529864B (zh) * 2000-12-06 2010-05-05 凯登斯设计系统有限公司 在布局中考虑到斜布线的方法和装置
US7080336B2 (en) * 2000-12-06 2006-07-18 Cadence Design Systems, Inc. Method and apparatus for computing placement costs
US7055120B2 (en) * 2000-12-06 2006-05-30 Cadence Design Systems, Inc. Method and apparatus for placing circuit modules
US6826737B2 (en) 2000-12-06 2004-11-30 Cadence Design Systems, Inc. Recursive partitioning placement method and apparatus
US7003754B2 (en) * 2000-12-07 2006-02-21 Cadence Design Systems, Inc. Routing method and apparatus that use of diagonal routes
US7024650B2 (en) * 2000-12-06 2006-04-04 Cadence Design Systems, Inc. Method and apparatus for considering diagonal wiring in placement
US6858935B1 (en) 2000-12-07 2005-02-22 Cadence Design Systems, Inc. Simulating euclidean wiring directions using manhattan and diagonal directional wires
US6858928B1 (en) 2000-12-07 2005-02-22 Cadence Design Systems, Inc. Multi-directional wiring on a single metal layer
US7073150B2 (en) * 2000-12-07 2006-07-04 Cadence Design Systems, Inc. Hierarchical routing method and apparatus that use diagonal routes
US6915501B2 (en) 2001-01-19 2005-07-05 Cadence Design Systems, Inc. LP method and apparatus for identifying routes
US6738960B2 (en) * 2001-01-19 2004-05-18 Cadence Design Systems, Inc. Method and apparatus for producing sub-optimal routes for a net by generating fake configurations
US7036101B2 (en) * 2001-02-26 2006-04-25 Cadence Design Systems, Inc. Method and apparatus for scalable interconnect solution
US6591411B2 (en) * 2001-03-15 2003-07-08 International Business Machines Corporation Apparatus and method for determining buffered steiner trees for complex circuits
US6996512B2 (en) * 2001-04-19 2006-02-07 International Business Machines Corporation Practical methodology for early buffer and wire resource allocation
US7107564B1 (en) * 2001-06-03 2006-09-12 Cadence Design Systems, Inc. Method and apparatus for routing a set of nets
US6957411B1 (en) 2001-06-03 2005-10-18 Cadence Design Systems, Inc. Gridless IC layout and method and apparatus for generating such a layout
US7069530B1 (en) 2001-06-03 2006-06-27 Cadence Design Systems, Inc. Method and apparatus for routing groups of paths
US6895567B1 (en) 2001-06-03 2005-05-17 Cadence Design Systems, Inc. Method and arrangement for layout of gridless nonManhattan semiconductor integrated circuit designs
US6957408B1 (en) 2002-01-22 2005-10-18 Cadence Design Systems, Inc. Method and apparatus for routing nets in an integrated circuit layout
US7143382B2 (en) 2001-08-23 2006-11-28 Cadence Design Systems, Inc. Method and apparatus for storing routes
US6795958B2 (en) 2001-08-23 2004-09-21 Cadence Design Systems, Inc. Method and apparatus for generating routes for groups of related node configurations
US6931616B2 (en) * 2001-08-23 2005-08-16 Cadence Design Systems, Inc. Routing method and apparatus
US6877149B2 (en) 2001-08-23 2005-04-05 Cadence Design Systems, Inc. Method and apparatus for pre-computing routes
US7398498B2 (en) 2001-08-23 2008-07-08 Cadence Design Systems, Inc. Method and apparatus for storing routes for groups of related net configurations
JP4490006B2 (ja) * 2001-08-24 2010-06-23 富士通株式会社 自動配線方法,自動配線処理装置および自動配線処理プログラム
US7058913B1 (en) 2001-09-06 2006-06-06 Cadence Design Systems, Inc. Analytical placement method and apparatus
JP2003132106A (ja) * 2001-10-24 2003-05-09 Bogenpfeil:Kk 適切ネットワーク形状である準最小の木の形成・探索・生成方法及びそのプログラムを記録した情報記録媒体
JP2003167935A (ja) * 2001-12-03 2003-06-13 Fujitsu Ltd 配線経路決定装置、グループ決定装置、配線経路決定プログラム、およびグループ決定プログラム
US7117468B1 (en) 2002-01-22 2006-10-03 Cadence Design Systems, Inc. Layouts with routes with different spacings in different directions on the same layer, and method and apparatus for generating such layouts
US7089524B1 (en) 2002-01-22 2006-08-08 Cadence Design Systems, Inc. Topological vias route wherein the topological via does not have a coordinate within the region
US6944841B1 (en) 2002-01-22 2005-09-13 Cadence Design Systems, Inc. Method and apparatus for proportionate costing of vias
US6938234B1 (en) 2002-01-22 2005-08-30 Cadence Design Systems, Inc. Method and apparatus for defining vias
US7013451B1 (en) 2002-01-22 2006-03-14 Cadence Design Systems, Inc. Method and apparatus for performing routability checking
US7036105B1 (en) * 2002-01-22 2006-04-25 Cadence Design Systems, Inc. Integrated circuits with at least one layer that has more than one preferred interconnect direction, and method for manufacturing such IC's
US7096449B1 (en) 2002-01-22 2006-08-22 Cadence Design Systems, Inc. Layouts with routes with different widths in different directions on the same layer, and method and apparatus for generating such layouts
US7080329B1 (en) 2002-01-22 2006-07-18 Cadence Design Systems, Inc. Method and apparatus for identifying optimized via locations
US6792587B2 (en) * 2002-01-28 2004-09-14 Sun Microsystems, Inc. 2.5-D graph for multi-layer routing
US6615401B1 (en) * 2002-03-06 2003-09-02 Lsi Logic Corporation Blocked net buffer insertion
US6904584B2 (en) * 2002-05-06 2005-06-07 International Business Machines Corporation Method and system for placing logic nodes based on an estimated wiring congestion
US7058917B1 (en) 2002-06-04 2006-06-06 Cadence Design Systems, Inc. Method and apparatus for specifying a cost function that represents the estimated distance between an external state and a set of states in a space
US7069531B1 (en) 2002-07-15 2006-06-27 Cadence Design Systems, Inc. Method and apparatus for identifying a path between source and target states in a space with more than two dimensions
US7047512B1 (en) 2002-06-04 2006-05-16 Cadence Design Systems, Inc. Method and apparatus for specifying a cost function that represents the estimated distance between an external state and a set of states in a space
US7051298B1 (en) 2002-06-04 2006-05-23 Cadence Design Systems, Inc. Method and apparatus for specifying a distance between an external state and a set of states in space
US7010771B2 (en) * 2002-11-18 2006-03-07 Cadence Design Systems, Inc. Method and apparatus for searching for a global path
US7624367B2 (en) 2002-11-18 2009-11-24 Cadence Design Systems, Inc. Method and system for routing
US6996789B2 (en) * 2002-11-18 2006-02-07 Cadence Design Systems, Inc. Method and apparatus for performing an exponential path search
US6988257B2 (en) * 2002-11-18 2006-01-17 Cadence Design Systems, Inc. Method and apparatus for routing
US7093221B2 (en) 2002-11-18 2006-08-15 Cadence Design Systems, Inc. Method and apparatus for identifying a group of routes for a set of nets
US7216308B2 (en) 2002-11-18 2007-05-08 Cadence Design Systems, Inc. Method and apparatus for solving an optimization problem in an integrated circuit layout
US6892369B2 (en) * 2002-11-18 2005-05-10 Cadence Design Systems, Inc. Method and apparatus for costing routes of nets
US7171635B2 (en) * 2002-11-18 2007-01-30 Cadence Design Systems, Inc. Method and apparatus for routing
US7480885B2 (en) * 2002-11-18 2009-01-20 Cadence Design Systems, Inc. Method and apparatus for routing with independent goals on different layers
US7003752B2 (en) * 2002-11-18 2006-02-21 Cadence Design Systems, Inc. Method and apparatus for routing
US7047513B2 (en) * 2002-11-18 2006-05-16 Cadence Design Systems, Inc. Method and apparatus for searching for a three-dimensional global path
US7080342B2 (en) * 2002-11-18 2006-07-18 Cadence Design Systems, Inc Method and apparatus for computing capacity of a region for non-Manhattan routing
US7013445B1 (en) 2002-12-31 2006-03-14 Cadence Design Systems, Inc. Post processor for optimizing manhattan integrated circuits placements into non manhattan placements
US7707307B2 (en) * 2003-01-09 2010-04-27 Cisco Technology, Inc. Method and apparatus for constructing a backup route in a data communications network
US6990648B2 (en) * 2003-04-04 2006-01-24 International Business Machines Corporation Method for identification of sub-optimally placed circuits
US20040267977A1 (en) * 2003-06-30 2004-12-30 Mysore Sriram Topology based replacement routing of signal paths
JP2005100239A (ja) * 2003-09-26 2005-04-14 Renesas Technology Corp 自動レイアウト装置、レイアウトモデル生成装置、レイアウトモデル検証装置及びレイアウトモデル
US7152217B1 (en) * 2004-04-20 2006-12-19 Xilinx, Inc. Alleviating timing based congestion within circuit designs
US7784010B1 (en) 2004-06-01 2010-08-24 Pulsic Limited Automatic routing system with variable width interconnect
US7131096B1 (en) 2004-06-01 2006-10-31 Pulsic Limited Method of automatically routing nets according to current density rules
US7848240B2 (en) * 2004-06-01 2010-12-07 Cisco Technology, Inc. Method and apparatus for forwarding data in a data communications network
US7373628B1 (en) 2004-06-01 2008-05-13 Pulsic Limited Method of automatically routing nets using a Steiner tree
US8095903B2 (en) 2004-06-01 2012-01-10 Pulsic Limited Automatically routing nets with variable spacing
US7257797B1 (en) 2004-06-07 2007-08-14 Pulsic Limited Method of automatic shape-based routing of interconnects in spines for integrated circuit design
US20060281221A1 (en) * 2005-06-09 2006-12-14 Sharad Mehrotra Enhanced routing grid system and method
WO2007074402A2 (en) * 2005-06-21 2007-07-05 Pulsic Limited High-speed shape-based router
US7603644B2 (en) 2005-06-24 2009-10-13 Pulsic Limited Integrated circuit routing and compaction
US7363607B2 (en) 2005-11-08 2008-04-22 Pulsic Limited Method of automatically routing nets according to parasitic constraint rules
US8201128B2 (en) 2006-06-16 2012-06-12 Cadence Design Systems, Inc. Method and apparatus for approximating diagonal lines in placement
US8250514B1 (en) 2006-07-13 2012-08-21 Cadence Design Systems, Inc. Localized routing direction
US7861205B2 (en) * 2008-07-07 2010-12-28 Cadence Design Systems, Inc. Spine selection mode for layout editing
JP5309878B2 (ja) * 2008-10-17 2013-10-09 富士通株式会社 配線方法、自動配線装置、及びプログラム
US8458636B1 (en) 2009-03-18 2013-06-04 Pulsic Limited Filling vacant areas of an integrated circuit design
JP2010287001A (ja) * 2009-06-10 2010-12-24 Fujitsu Ltd 設計支援プログラム、設計支援装置、および設計支援方法
US8365129B2 (en) * 2009-12-04 2013-01-29 Microsoft Corporation Edge routing using connection regions
JP2011186625A (ja) * 2010-03-05 2011-09-22 Renesas Electronics Corp 半導体集積回路のレイアウト装置及びレイアウト方法
US8417709B2 (en) * 2010-05-27 2013-04-09 International Business Machines Corporation Automatic refinement of information extraction rules
US8370786B1 (en) * 2010-05-28 2013-02-05 Golden Gate Technology, Inc. Methods and software for placement improvement based on global routing
US9747406B2 (en) * 2010-11-29 2017-08-29 Synopsys, Inc. Spine routing with multiple main spines
US8365120B2 (en) * 2010-12-02 2013-01-29 International Business Machines Corporation Resolving global coupling timing and slew violations for buffer-dominated designs
US8418113B1 (en) 2011-10-03 2013-04-09 International Business Machines Corporation Consideration of local routing and pin access during VLSI global routing
US8635577B2 (en) * 2012-06-01 2014-01-21 International Business Machines Corporation Timing refinement re-routing
US8621412B1 (en) * 2012-09-11 2013-12-31 Apple Inc. Micro-regions for auto place and route optimization
US9541401B1 (en) * 2013-02-13 2017-01-10 The United States Of America, As Represented By The Secretary Of The Navy Method and system for determining shortest oceanic routes
US10192019B2 (en) * 2013-09-25 2019-01-29 Synopsys, Inc. Separation and minimum wire length constrained maze routing method and system
US9396302B2 (en) * 2013-10-02 2016-07-19 Utah State University Global router using graphics processing unit
US10719653B2 (en) 2013-10-09 2020-07-21 Synopsys, Inc. Spine routing and pin grouping with multiple main spines
US9298874B2 (en) 2014-02-07 2016-03-29 Qualcomm Incorporated Time-variant temperature-based 2-D and 3-D wire routing
US10794721B2 (en) * 2016-07-13 2020-10-06 Taymour Semnani Real-time mapping using geohashing
GB2571333B (en) * 2018-02-26 2021-12-01 Advanced Risc Mach Ltd Integrated circuit design
CN110096823B (zh) * 2019-05-08 2022-10-04 深圳职业技术学院 基于二进制编码的数字集成电路布线方法及终端设备
US11829909B2 (en) * 2020-11-06 2023-11-28 Sap Se Route finder for integrated planning
CN112883682B (zh) * 2021-03-15 2022-04-29 北京华大九天科技股份有限公司 集成电路的总体布线方法及设备和存储介质
CN113255284B (zh) * 2021-05-30 2023-07-18 上海立芯软件科技有限公司 全局布线中快速局部拆线重布方法
AU2022316165A1 (en) * 2021-07-23 2024-01-18 David Michael WARME Computer-implemented methods and systems for strengthening violated inequalities

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6239024A (ja) * 1985-08-14 1987-02-20 Fujitsu Ltd 理論線長によるデイレ−解析処理装置
JPH02244280A (ja) * 1989-03-17 1990-09-28 Hitachi Ltd 配線方式
JPH10313058A (ja) * 1997-05-13 1998-11-24 Toshiba Corp 半導体集積回路設計装置、半導体集積回路設計方法、半導体集積回路設計プログラムを記録したコンピュータ読み取り可能な記録媒体、及び、半導体集積回路製造方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111582431A (zh) * 2020-05-14 2020-08-25 福州大学 一种两步式X结构Steiner最小树构建方法
CN111582431B (zh) * 2020-05-14 2022-07-08 福州大学 一种两步式X结构Steiner最小树构建方法

Also Published As

Publication number Publication date
US20010009031A1 (en) 2001-07-19
WO2000038228A1 (fr) 2000-06-29
US6415427B2 (en) 2002-07-02

Similar Documents

Publication Publication Date Title
JP4227304B2 (ja) 概略配線方法及び装置並びに概略配線プログラムを格納した記録媒体
Pan et al. FastRoute 2.0: A high-quality and efficient global router
US6507941B1 (en) Subgrid detailed routing
Pan et al. FastRoute: A step to integrate global routing into placement
US6442745B1 (en) Method and apparatus for layout-constrained global routing
Li et al. Routability-driven placement and white space allocation
US7065730B2 (en) Porosity aware buffered steiner tree construction
US6480991B1 (en) Timing-driven global placement based on geometry-aware timing budgets
US7676780B2 (en) Techniques for super fast buffer insertion
Koh et al. Manhattan or Non-Manhattan? A study of alternative VLSI routing architectures
JP2003016131A (ja) 相互接続の方法と装置
US6587990B1 (en) Method and apparatus for formula area and delay minimization
US6543032B1 (en) Method and apparatus for local resynthesis of logic trees with multiple cost functions
US6898774B2 (en) Buffer insertion with adaptive blockage avoidance
US6766502B1 (en) Method and apparatus for routing using deferred merging
Hsu et al. Multi-layer global routing considering via and wire capacities
Chen et al. Global and detailed routing
US6681373B1 (en) Method and apparatus for dynamic buffer and inverter tree optimization
Kao et al. Cross point assignment with global rerouting for general-architecture designs
US6637011B1 (en) Method and apparatus for quick search for identities applicable to specified formula
JP2000003381A (ja) 概略配線決定方法及び記憶媒体
CN115114884A (zh) 基于多策略优化的时序松弛约束下绕障x结构布线方法
Lin et al. Critical-trunk based obstacle-avoiding rectilinear steiner tree routings for delay and slack optimization
JPH0512384A (ja) 自動配線方法
Kahng et al. Global Routing

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040910

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080617

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080731

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080902

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081009

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

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

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

Free format text: PAYMENT UNTIL: 20111205

Year of fee payment: 3

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121205

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121205

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131205

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees