JP4376670B2 - スタイナー木処理装置、スタイナー木処理方法及びスタイナー木処理プログラム - Google Patents
スタイナー木処理装置、スタイナー木処理方法及びスタイナー木処理プログラム Download PDFInfo
- Publication number
- JP4376670B2 JP4376670B2 JP2004087754A JP2004087754A JP4376670B2 JP 4376670 B2 JP4376670 B2 JP 4376670B2 JP 2004087754 A JP2004087754 A JP 2004087754A JP 2004087754 A JP2004087754 A JP 2004087754A JP 4376670 B2 JP4376670 B2 JP 4376670B2
- Authority
- JP
- Japan
- Prior art keywords
- steiner tree
- edge
- steiner
- slide
- edges
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/394—Routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Description
経験的手法としては、バウンディングボックスをベースにした手法が知られる(非特許文献4,5参照)。またRent'sの法則を利用した手法も知られる(非特許文献6参照)。
確率的手法としては、Houの手法とLouの手法が知られる(非特許文献7,8参照)。
グローバル配線手法としては、Parakh等およびWang等の手法がある(非特許文献9,10参照)。
J. Hu, S. Sapatnekar. "A Timing-constrained Algorithm for Simultaneous Global Routing of Mutiple Nets", Proc. ICCAD, 2000 E. Bozorgzadeh, Ryan Kastner, Majid Sarrafzadeh, "Creating and Exploiting Flexibility in Steiner Trees", Proc. DAC, 2001 C. J. Alpert, G. Gandham, et al, "Steiner Tree Optimization for Buffers, Blockages, and Bays", IEEE TCAD vol.20, No.4, 2001 M. Wang and M. Sarrafzadeh, "Behavior of Congestion Minimization During Placement", Proc. ISPD, 1999 C. E. Cheng, "RISA: Accurate and Efficient Placement Routability Modeling", Proc. ICCAD, 1994 X. Yang, R. Kastner, and M. Sarrafzadeh, "Congestion Estimation During Top-down Placement", IEEE Transactions on Computer-Aided Design, Vol.21, No.1, 2002 W. Hou, H. Yu and W. H. Kao, "A New Congestion-Driven Placement Algorithm Based on Cell Inflation", Proc. ASPDAC, 2001 J. Lou, S. Thakur, et al, "Estimating Routing Congestion Using Probabilistic Analysis", IEEE Transactions on Computer-Aided Design, Vol.21, No.1, 2002 P. N. Parakh, R. B. Brown and K. A. Sakallah, "Congestion Driven Quadratic Placement", Proc. DAC, 1998 M. Wang and M. Sarrafzadeh, "Modeling and Minimization of Routing Congestion", Proc. ASPDAC, 2000
非特許文献4によるバウンディングボックスの手法は、バウンディングボックス周囲長さの半分を配線経路と仮定する方法が一番単純なモデルであるが、実用的ではない。
また、本発明のスタイナー木ハンドリング装置において、前記スタイナー木変形部は、前記スタイナー木の一つのエッジを削除することにより生じる二つのエッジの連続体を、前記削除したエッジとは異なるエッジを用いて再接続することによりスタイナー木を変形することを特徴とする。
<装置全体構成>
図1は、本発明の実施の形態におけるスタイナー木のハンドリング装置を示すブロック図である。この装置は、ネットの情報を入力するネット情報入力部1、グリッドグラフ(Grid graph)を作成するグリッドグラフ作成部2、アンダーライインググリッドグラフ(Underlying grid graph)を作成するアンダーライインググリッドグラフ作成部3、スタイナー木を作成するスタイナー木作成部4、作成された一つのスタイナー木の情報を入力するスタイナー木情報入力部5、入力されたスタイナー木のエッジを選択するスタイナー木エッジ選択部6、エッジを前方向(FORWARD)にスライド可能か否かを判断するエッジ前方向スライドチェック部7、エッジを後方向(BACKWARD)にスライド可能か否かを判断するエッジ後方向スライドチェック部8を備えている。
図2は、グリッドグラフ作成部2、アンダーライインググリッドグラフ作成部3及びスタイナー木作成部4によるスタイナー木の作成動作について説明するフローチャート、図3はグリッドグラフを示す図、図4はアンダーライインググリッドグラフを示す図、図5はスタイナー木の作成部4の動作の一例を示す概念図である。
まず、ネット情報入力部1より一つのネットについての複数のピンを入力する(ステップS1)。これらピンについて、グリッドグラフ作成部2はグリッドグラフを作成する(ステップS2)。
一つのネットN∈Nallを構成するピンの集合P∈Pallについて、直線からなる(rectilinear)スタイナー木(以下RSTという)とは、ネット内のすべてのピンを接続する木の中で総線長が最小で、エッジが垂直または水平であるものを言う。 このRST はバーテックスとエッジからなり、S(Vs,Es)と定義する。
(RSTの変形意義)
マルチピンネットN∈Nall に含まれるすべてのピンPを接続する一つのRST S(Vs,Es)が与えられたとき、そのRSTのサイズ|S(Vs,Es)|を変えず、しかもネットNのRSTであるという条件を保ちながら、RSTを変形する。この変形は、G(Vg,Eg)上で、既存のエッジのスライドおよびフリップのみで行う。RSTの変形により作成されるすべてのRSTの集合をT(S(Vs,Es))とする。G(Vg,Eg)において、ロケーション(x,y)にあるバーテックスをv(x,y)とし、このバーテックスに対応する配線領域の4辺をそれぞれEast, West, North, Southとする。
Qx,y,dir=ΣPi,x,y,dir (2)
一つの安定したRST S(Vs,Es)が与えられたとき、このRSTに対するアンダーライインググリッドグラフU(Vu,Eu)を利用して、|T(S(Vs,Es))|および|Ti,x,y,dir(S(Vs,Es))|を求める機能的(greedy)なアルゴリズムを提案する。
アルゴリズムは、まずRSTのU(Vu,Eu)での各エッジの可動範囲とエッジ可動の依存関係を求め、この依存関係からRSTのバリエーション数を求める。また、このバリエーション数の中で、U(Vu,Eu)上の各ビンにエッジを持つバリエーション数を各ビン毎に求める。
RSTの変形はまず、図7(a)(b)に示される2つのオペレーション、パラレルスライド(parallel slide)及びフリップスライド(flip slide)の任意の組み合わせによるオペレーションで実行する。このオペレーションは、RSTの接続を切断することなく変形が可能であるので、連続変形と呼ぶ。これらのオペレーションはすべてU(Vu,Eu)上で行う。
U(Vu,Eu)上のビンにおける向かい合う平行エッジ上にまたがってRSTのエッジが存在し得て、向かい合うエッジのそれぞれの両端に他のエッジの端またはノードが存在する場合、その平行エッジをまたがるエッジはパラレルスライド可能である。
U(Vu,Eu)上のビンを囲む4辺の隣り合う2辺上にRSTのエッジが存在し得て、その2つのエッジの交点にピンまたはスタイナーノード(ノード)がない場合、フリップスライドが可能である。
与えられるRSTは安定であるので、パラレルスライドによりRSTの別のエッジと重なることはなく、またフリップスライドにより別のエッジと重なることもない。スライドに関しては重要な4つの特性(property)があり、スライド範囲の検索の際に、検索空間を小さくするために利用される。
パラレルスライドおよびフリップスライドの組み合わせによる変形によりできるRSTでは、横列(U(Vu,Eu)における各行(raw))にある垂直エッジ(vertical edge)の数は一定であり、縦列(U(Vu,Eu)における各列(column))にある水平エッジ(horizontal edge)の数は一定である。
あるエッジをスライド可能にする同一ビン内の両エッジ上に、パラレルスライドおよびフリップスライドの組み合わせではRSTの他のエッジが来ることがあり得ないとき、そのエッジはスライド可能(slidable)ではない。
一つの行にある垂直エッジの数が1の場合、RSTのすべての水平エッジはパラレルスライドによりその行(横列)を横切ることはできない。列(縦列)についても同様である。
RSTのスタイナー点ではないバーテックスに接続するエッジが1つのみの場合、そのエッジはパラレルスライドはできない。
ネットNに対して与えられたRST S(Vs,Es)の各エッジEj∈Esに対して、まず図8に示すように、U(Vu,Eu)上で連続変形だけで最大のスライド可能(slidable)範囲を探索する。このとき、一つのエッジがスライド可能であること(slidability)は、他のエッジがスライド可能であるか否かに依存する。つまり、パラレルスライドは、定義1により、パラレルスライドを可能とする2つのエッジが存在できることが必要である。この依存関係を作りながら、すべてのエッジについてその最大スライド可能範囲を探索する。この結果、各エッジのスライドが可能である範囲と他のエッジがスライド可能であることとの依存関係が図9に示す依存グラフとして作成される。
各エッジのスライド可能範囲を示す図8に示されるように、一つのエッジが複数のビン上をスライド可能である場合には、それぞれのビン毎のスライド範囲を定義する。エッジがスライド可能である場合(エッジのslidability)は、図8に示すAからGまでの7つがある。図9に示す依存グラフは、これら7つがスライド可能となるための依存関係を示している。たとえば、ビン(1,2)のWestエッジは、一つのエッジがスライド可能とされる(slidability)AとCに関連しているので、AとCはそれぞれお互いに依存関係を持つ。
図10において、「Check#flip#slide」は、フリップスライド(flip slide)可能なところを検索して依存グラフに登録する。「Check#para#slide」は、与えられたRSTにおいて指定されたエッジが指定された方向にパラレルスライド(parallel slide)可能であるか否かをチェックする。
まず、エッジが前方向にアンダーライインググリッドグラフ上で1グリッドだけスライドする場合の目的地を決定する(ステップS131)。これは、例えば図15に示す対象エッジが(1)のとき、目的地は(2)の位置として決定することを意味する。次にエッジが前方向に目的地までスライド可能となるための両サイドを求める(ステップS132)。図15においては、(3)(4)が両サイドとなる。
まず、両サイドのうちの一方(例えば図17で(4)の場所)にエッジが移動することができるか否かを判断するため、上記目的地(図17の(4)の場所)と平行なエッジが2以上あるか否かを判断する(ステップS1331)。2以上あると判断された場合は、両サイドのうちの一方(図17で(4)の場所)にエッジ(図17で(5)のエッジ)をスライドさせる(ステップS1332)。
上述したRSTの変形処理に対し、削除と再接続による変形を行うことによるRSTの異なるバリエーションを付加することもできる。
図18及び図19はこの削除と再接続によるRSTの変形を説明する図である。削除と再接続の処理では、ステップS16−1〜ステップS16−3が図12で示したステップS16の後に挿入される。
この変形によっても、新たなRSTの変形バリエーションの一つを得ることができ、それに対して更にステップS11〜ステップS16の連続変形処理を施す(ステップS16−3,y)。
変形アルゴリズムのあとに出力されるエッジのスライド可能(edge slidability)の依存関係グラフから、Qx,y,dirを求める方法を説明する。RSTの変形による異なるトポロジーを持つRSTの総数は、スライドの独立性を判定することにより求めることができる。RSTのエッジによる一つのビン上でのスライドをslide(kind,dir,x,y)と定義する。kindはスライド(slide)の種類を表し、パラレル(parallel)またはフリップ(flip)である。また、dirはEast, West, South, Northのいずれかである。
(0+|CN|)×1×1×|FN|×|GN| (8)
(0+|CN|)×1×(|DW|+0×1×1 (9)
(|AN|+0)×1×(|DW|+0)×1×1 (10)
1×1×(0+|EW|)×1×1 (11)
(1024+128)/1190/4+(16+16+6)/1190/1≒0.2739 (13)
少なくとも一つの形状を有するスタイナー木を取得するスタイナー木取得部と、
取得されたスタイナー木のサイズを変更することなく、異なる形状のスタイナー木に変形するスタイナー木変形部と
を備えてなるスタイナー木ハンドリング装置。
(付記2) 付記1に記載のスタイナー木ハンドリング装置において、
前記スタイナー木変形部は、前記スタイナー木の連続性を維持したままで変形することを特徴とするスタイナー木ハンドリング装置。
(付記3) 付記1に記載のスタイナー木ハンドリング装置において、
前記スタイナー木変形部は、前記スタイナー木の一つのエッジを削除することにより生じる二つのエッジの連続体を、前記削除したエッジとは異なるエッジを用いて再接続することによりスタイナー木を変形することを特徴とするスタイナー木ハンドリング装置。
(付記4) 付記2に記載のスタイナー木ハンドリング装置において、
一つのエッジがスライド可能であるか否かを所定の判断基準に基づいて判断するスライド判断部を備え、
前記スタイナー木変形部は前記一つのエッジをスライドさせてスタイナー木を変形することを特徴とするスタイナー木ハンドリング装置。
(付記5) 付記4に記載のスタイナー木ハンドリング装置において、
前記スライド判断部は、スタイナー木より形成される一つのビンにおける向かい合う辺上にスタイナー木のエッジが存在し、且つ前記向かい合う辺のそれぞれの両端に他のエッジの端又はノードが存在する場合に、前記辺上のスタイナー木のエッジはパラレルスライドが可能であると判断することを特徴とするスタイナー木ハンドリング装置。
(付記6) 付記4に記載のスタイナー木ハンドリング装置において、
前記スライド判断部は、スタイナー木より形成される一つのビンを囲む長方形の4辺のうちの隣り合う2辺上にスタイナー木のエッジが存在し、且つ前記隣り合う2辺の交点にスタイナー木のノードが存在しない場合に、フリップスライドが可能であると判断することを特徴とするスタイナー木ハンドリング装置。
(付記7) 付記4に記載のスタイナー木ハンドリング装置において、
前記スライド判断部は、パラレルスライドまたはフリップスライドまたはこれらの組み合わせによる変形においては、該変形によって生じるスタイナー木により形成される複数のビンのそれぞれにより定まる横列上にあるスタイナー木の垂直エッジの数は一定であり、且つ、前記複数のビンのそれぞれにより定まる縦列上にあるスタイナー木の水平エッジの数は一定であるというルールをスタイナー木の変形特性として用いることを特徴とするスタイナー木ハンドリング装置。
(付記8) 付記4に記載のスタイナー木ハンドリング装置において、
前記スライド判断部は、あるエッジをスライド可能にする同一ビン内の両エッジ上に、パラレルスライドまたはフリップスライドまたはこれらの組み合わせによる変形により、スタイナー木の他のエッジが位置付けられることがあり得ない場合、そのエッジはスライド可能ではないというルールをスタイナー木の変形特性として用いることを特徴とするスタイナー木ハンドリング装置。
(付記9) 付記4に記載のスタイナー木ハンドリング装置において、
前記スライド判断部は、一つのビンにより定まる横列上にある垂直エッジの数が一つの場合、スタイナー木の全ての水平エッジはパラレルスライドによりその横列を横切ることはできず、また一つのビンにより定まる縦列上にある水平エッジの数が一つの場合、スタイナー木の全ての垂直エッジはパラレルスライドによりその縦列を横切ることはできないというルールをスタイナー木の変形特性として用いることを特徴とするスタイナー木ハンドリング装置。
(付記10) 付記4に記載のスタイナー木ハンドリング装置において、
前記スライド判断部は、スタイナー木のノードではない位置に接続するエッジが一つのみの場合、そのエッジはパラレルスライドできないというルールをスタイナー木の変形特性として用いることを特徴とするスタイナー木ハンドリング装置。
(付記11) 付記2に記載のスタイナー木ハンドリング装置において、
前記スタイナー木変形部による変形に際して、各エッジのスライドが他のエッジのスライドに依存するか否かの依存関係を判断して依存グラフを作成する依存グラフ作成部を備えているスタイナー木ハンドリング装置。
(付記12) 付記11に記載のスタイナー木ハンドリング装置において、
前記依存グラフ作成部により作成されたグラフに基づいて、エッジを独立にスライドすることができるグループを判断する独立スライドグループ判断部を備えているスタイナー木ハンドリング装置。
(付記13) 付記12に記載のスタイナー木ハンドリング装置において、
前記独立スライドグループ判断部による判断結果に基づいて、スタイナー木の変形バリエーションの総数を求めるバリエーション総数計算部を備えているスタイナー木ハンドリング装置。
(付記14) 付記12または付記13に記載のスタイナー木ハンドリング装置において、
前記独立スライドグループ判断部による判断結果に基づいて、スタイナー木のエッジが所定の範囲を移動する場合において、該移動するエッジを有するスタイナー木の変形バリエーション数を計算する部分バリエーション計算部を備えているスタイナー木ハンドリング装置。
(付記15) 付記14に記載のスタイナー木ハンドリング装置において、
前記部分バリエーション計算部は、一つの形状のスタイナー木の一つのエッジを一つの配線として、所定領域ごとの配線量を縦方向と横方向のそれぞれについて計算することを特徴とするスタイナー木ハンドリング装置。
(付記16) 付記14に記載のスタイナー木ハンドリング装置において、
前記バリエーション総数計算部により計算されたスタイナー木のバリエーションの総数と、前記部分バリエーション計算部により計算されたスタイナー木のバリエーション数とに基づいて、所定領域のエッジの混雑度を計算する混雑度計算部を備えているスタイナー木ハンドリング装置。
(付記17) 付記15に記載のスタイナー木ハンドリング装置において、
スタイナー木の変形に伴って、複数の所定領域のうちのいずれかの所定領域を通過するエッジの数が所定数を越えた場合には、当該所定領域においてはエッジのスライドができないものとして、再度スタイナー木の変形を行って前記バリエーション総数計算部によるバリエーションの総数と前記部分バリエーション計算部によるバリエーション数を計算することを特徴とするスタイナー木ハンドリング装置。
(付記18) 付記17に記載のスタイナー木ハンドリング装置において、
前記再度の変形と計算は、前記スタイナー木取得部で取得される複数のスタイナー木であって、それぞれ異なる複数のノードの組に対応して取得されたスタイナー木に対して行われることを特徴とするスタイナー木ハンドリング装置。
(付記19) 複数のノードを接続する水平または垂直な複数のエッジから構成されるスタイナー木を扱うスタイナー木ハンドリング方法であって、
一つのスタイナー木を取得する取得ステップと、
前記取得ステップで得られたスタイナー木のサイズを変更することなく、異なる形状のスタイナー木に変形するスタイナー木変形ステップと
を備えてなるスタイナー木ハンドリング方法。
(付記20) 付記19に記載のスタイナー木ハンドリング方法において、
前記スタイナー木変形ステップにおいては、各エッジのスライドが他のエッジのスライドに依存するか否かの依存関係を判断して依存グラフを作成する依存グラフ作成ステップを備えているスタイナー木ハンドリング方法。
(付記21) 付記20に記載のスタイナー木ハンドリング方法において、
前記依存グラフ作成ステップにおいて作成されたグラフに基づいて、エッジを独立にスライドすることができるグループを判断する独立スライドグループ判断ステップを備えているスタイナー木ハンドリング方法。
(付記22) 付記21に記載のスタイナー木ハンドリング方法において、
前記独立スライドグループ判断ステップによる判断結果に基づいて、スタイナー木の変形バリエーションの総数を求めるバリエーション総数計算ステップを備えているスタイナー木ハンドリング方法。
(付記23) 付記21に記載のスタイナー木ハンドリング方法において、
前記独立スライドグループ判断ステップによる判断結果に基づいて、スタイナー木のエッジが所定の範囲を移動する場合において、該移動するエッジを有するスタイナー木の変形バリエーションの数を計算する部分バリエーション計算ステップを備えているスタイナー木ハンドリング方法。
(付記24) 付記23に記載のスタイナー木ハンドリング方法において、
前記バリエーション総数計算ステップにより計算されたスタイナー木のバリエーション総数と、前記部分バリエーション計算ステップにより計算されたスタイナー木のバリエーション数とに基づいて、所定領域のエッジの混雑度を計算する混雑度計算ステップを備えているスタイナー木ハンドリング方法。
(付記25) 付記23に記載のスタイナー木ハンドリング方法において、
スタイナー木の変形に伴って、複数の所定領域のうちのいずれかの所定領域を通過するエッジの数が所定数を越えた場合には、当該所定領域においてはエッジのスライドができないものとして再度スタイナー木変形ステップとバリエーション総数計算ステップと部分バリエーション計算ステップとを繰り返すことを特徴とするスタイナー木ハンドリング方法。
(付記26) 複数のノードを接続する水平または垂直な複数のエッジから構成されるスタイナー木を扱う処理をコンピュータに実行させるスタイナー木ハンドリングプログラムであって、
一つのスタイナー木を取得する取得ステップと、
前記取得ステップで得られたスタイナー木のサイズを変更することなく、異なる形状のスタイナー木に変形するスタイナー木変形ステップと
をコンピュータに実行させるスタイナー木ハンドリングプログラム。
(付記27) 付記26に記載のスタイナー木ハンドリングプログラムにおいて、
前記スタイナー木変形ステップにおいては、各エッジのスライドが他のエッジのスライドに依存するか否かの依存関係を判断して依存グラフを作成する依存グラフ作成ステップを備えてコンピュータに実行させるスタイナー木ハンドリングプログラム。
(付記28) 付記27に記載のスタイナー木ハンドリングプログラムにおいて、
前記依存グラフ作成ステップにおいて作成されたグラフに基づいて、エッジを独立にスライドすることができるグループを判断する独立スライドグループ判断ステップを備えてコンピュータに実行させるスタイナー木ハンドリングプログラム。
(付記29) 付記28に記載のスタイナー木ハンドリングプログラムにおいて、
前記独立スライドグループ判断ステップによる判断結果に基づいて、スタイナー木の変形バリエーションの総数を求めるバリエーション総数計算ステップを備えてコンピュータに実行させるスタイナー木ハンドリングプログラム。
(付記30) 付記28に記載のスタイナー木ハンドリングプログラムにおいて、
前記独立スライドグループ判断ステップによる判断結果に基づいて、スタイナー木のエッジが所定の範囲を移動する場合において、該移動するエッジを有するスタイナー木の変形バリエーションの数を計算する部分バリエーション計算ステップを備えてコンピュータに実行させるスタイナー木ハンドリングプログラム。
(付記31) 付記30に記載のスタイナー木ハンドリングプログラムにおいて、
前記バリエーション総数計算ステップにより計算されたスタイナー木のバリエーション総数と、前記部分バリエーション計算ステップにより計算されたスタイナー木のバリエーション数とに基づいて、所定領域のエッジの混雑度を計算する混雑度計算ステップを備えてコンピュータに実行させるスタイナー木ハンドリングプログラム。
(付記32) 付記30に記載のスタイナー木ハンドリングプログラムにおいて、
スタイナー木の変形に伴って、複数の所定領域のうちのいずれかの所定領域を通過するエッジの数が所定数を越えた場合には、当該所定領域においてはエッジのスライドができないものとして再度スタイナー木変形ステップとバリエーション総数計算ステップと部分バリエーション計算ステップとを繰り返してコンピュータに実行させるスタイナー木ハンドリングプログラム。
Claims (15)
- 複数のノードを接続する水平方向または垂直方向の複数のエッジを有するスタイナー木を処理するスタイナー木処理装置において、
一の形状を有し、変形の対象とするスタイナー木を取得するスタイナー木取得部と、
前記取得されたスタイナー木が有するエッジの長さの総和であるサイズを変更せずに、前記一の形状とは異なる形状のスタイナー木に変形するスタイナー木変形部と、
前記スタイナー木変形部による変形に際し、前記変形の対象とするスタイナー木が有する各エッジについての平行移動であるスライドが前記スライドを行うエッジ以外の他のエッジのスライドに依存するか否かの依存関係を表す依存情報を生成する依存情報生成部と、
前記依存情報生成部が生成する依存情報に基づいて、前記変形の対象とするスタイナー木が有する各エッジのスライドが前記スライドを行うエッジ以外の他のエッジのスライドと独立であるか否かの独立関係を表す独立情報を生成する独立情報生成部と、
前記独立情報生成部が生成する独立情報に基づき、前記変形の対象とするスタイナー木が有する所定のエッジが所定の領域に存在する場合において、前記変形の対象とするスタイナー木の変形バリエーション数を計算する部分バリエーション計算部と、
を有することを特徴とするスタイナー木処理装置。 - 前記スタイナー木処理装置において、
前記スタイナー木変形部は、前記スタイナー木の連続性を維持したままで、前記変形対象のスタイナー木を変形することを特徴とする請求項1記載のスタイナー木処理装置。 - 前記スタイナー木処理装置において、
前記スタイナー木変形部は、前記変形対象とするスタイナー木が有するエッジのうち、一のエッジを削除することにより生じる二つのエッジの連続体を、前記削除したエッジとは異なるエッジを用いて接続することによりスタイナー木を変形することを特徴とする請求項1記載のスタイナー木処理装置。 - 前記スタイナー木処理装置はさらに、
前記独立情報生成部が生成する独立情報に基づいて、スタイナー木の変形バリエーションの総数を求めるバリエーション総数計算部を有することを特徴とする請求項1記載のスタイナー木処理装置。 - 前記スタイナー木処理装置はさらに、
前記バリエーション総数計算部により計算されたスタイナー木のバリエーションの総数と、前記部分バリエーション計算部により計算されたスタイナー木のバリエーション数とに基づいて、所定領域のエッジの混雑度を計算する混雑度計算部を有することを特徴とする請求項1記載のスタイナー木処理装置。 - 複数のノードを接続する水平方向または垂直方向の複数のエッジを有するスタイナー木を処理するスタイナー木処理方法において、
コンピュータに、
スタイナー木取得部が、一の形状を有し、変形の対象とするスタイナー木を取得するステップと、
スタイナー木変形部が、前記取得されたスタイナー木が有するエッジの長さの総和であるサイズを変更せずに、前記一の形状とは異なる形状のスタイナー木に変形するステップと、
依存情報生成部が、前記スタイナー木変形部による変形に際し、前記変形の対象とするスタイナー木が有する各エッジについての平行移動であるスライドが前記スライドを行うエッジ以外の他のエッジのスライドに依存するか否かの依存関係を表す依存情報を生成するステップと、
独立情報生成部が、前記依存情報生成部が生成する依存情報に基づいて、前記変形の対象とするスタイナー木が有する各エッジのスライドが前記スライドを行うエッジ以外の他のエッジのスライドと独立であるか否かの独立関係を表す独立情報を生成するステップと、
部分バリエーション計算部が、前記独立情報生成部が生成する独立情報に基づき、前記変形の対象とするスタイナー木が有する所定のエッジが所定の領域に存在する場合において、前記変形の対象とするスタイナー木の変形バリエーション数を計算するステップと、
を実行させることを特徴とするスタイナー木処理方法。 - 前記スタイナー木処理方法において、
前記スタイナー木変形部は、前記スタイナー木の連続性を維持したままで、前記変形対象のスタイナー木を変形することを特徴とする請求項6記載のスタイナー木処理方法。 - 前記スタイナー木処理方法において、
前記スタイナー木変形部は、前記変形対象とするスタイナー木が有するエッジのうち、一のエッジを削除することにより生じる二つのエッジの連続体を、前記削除したエッジとは異なるエッジを用いて接続することによりスタイナー木を変形することを特徴とする請求項6記載のスタイナー木処理方法。 - 前記スタイナー木処理方法はさらに、
前記コンピュータに、
バリエーション総数計算部が、前記独立情報生成部が生成する独立情報に基づいて、スタイナー木の変形バリエーションの総数を求めるステップを実行させることを特徴とする請求項6記載のスタイナー木処理方法。 - 前記スタイナー木処理方法はさらに、
前記コンピュータに、
混雑度計算部が、前記バリエーション総数計算部により計算されたスタイナー木のバリエーションの総数と、前記部分バリエーション計算部により計算されたスタイナー木のバリエーション数とに基づいて、所定領域のエッジの混雑度を計算するステップを実行させることを特徴とする請求項6記載のスタイナー木処理方法。 - 複数のノードを接続する水平方向または垂直方向の複数のエッジを有するスタイナー木を処理するスタイナー木処理プログラムにおいて、
コンピュータに、
スタイナー木取得部が、一の形状を有し、変形の対象とするスタイナー木を取得するステップと、
スタイナー木変形部が、前記取得されたスタイナー木が有するエッジの長さの総和であるサイズを変更せずに、前記一の形状とは異なる形状のスタイナー木に変形するステップと、
依存情報生成部が、前記スタイナー木変形部による変形に際し、前記変形の対象とするスタイナー木が有する各エッジについての平行移動であるスライドが前記スライドを行うエッジ以外の他のエッジのスライドに依存するか否かの依存関係を表す依存情報を生成するステップと、
独立情報生成部が、前記依存情報生成部が生成する依存情報に基づいて、前記変形の対象とするスタイナー木が有する各エッジのスライドが前記スライドを行うエッジ以外の他のエッジのスライドと独立であるか否かの独立関係を表す独立情報を生成するステップと、
部分バリエーション計算部が、前記独立情報生成部が生成する独立情報に基づき、前記変形の対象とするスタイナー木が有する所定のエッジが所定の領域に存在する場合において、前記変形の対象とするスタイナー木の変形バリエーション数を計算するステップと、
を実行させることを特徴とするスタイナー木処理プログラム。 - 前記スタイナー木処理プログラムにおいて、
前記スタイナー木変形部は、前記スタイナー木の連続性を維持したままで、前記変形対象のスタイナー木を変形することを特徴とする請求項11記載のスタイナー木処理プログラム。 - 前記スタイナー木処理プログラムにおいて、
前記スタイナー木変形部は、前記変形対象とするスタイナー木が有するエッジのうち、一のエッジを削除することにより生じる二つのエッジの連続体を、前記削除したエッジとは異なるエッジを用いて接続することによりスタイナー木を変形することを特徴とする請求項11記載のスタイナー木処理プログラム。 - 前記スタイナー木処理プログラムはさらに、
前記コンピュータに、
バリエーション総数計算部が、前記独立情報生成部が生成する独立情報に基づいて、スタイナー木の変形バリエーションの総数を求めるステップを実行させることを特徴とする請求項11記載のスタイナー木処理プログラム。 - 前記スタイナー木処理プログラムはさらに、
前記コンピュータに、
混雑度計算部が、前記バリエーション総数計算部により計算されたスタイナー木のバリエーションの総数と、前記部分バリエーション計算部により計算されたスタイナー木のバリエーション数とに基づいて、所定領域のエッジの混雑度を計算するステップを実行させることを特徴とする請求項11記載のスタイナー木処理プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004087754A JP4376670B2 (ja) | 2004-03-24 | 2004-03-24 | スタイナー木処理装置、スタイナー木処理方法及びスタイナー木処理プログラム |
US10/893,935 US7266799B2 (en) | 2004-03-24 | 2004-07-20 | Steiner tree handling device, Steiner tree handling method, and Steiner tree handling program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004087754A JP4376670B2 (ja) | 2004-03-24 | 2004-03-24 | スタイナー木処理装置、スタイナー木処理方法及びスタイナー木処理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005275780A JP2005275780A (ja) | 2005-10-06 |
JP4376670B2 true JP4376670B2 (ja) | 2009-12-02 |
Family
ID=35061989
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004087754A Expired - Fee Related JP4376670B2 (ja) | 2004-03-24 | 2004-03-24 | スタイナー木処理装置、スタイナー木処理方法及びスタイナー木処理プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US7266799B2 (ja) |
JP (1) | JP4376670B2 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7376926B1 (en) * | 2005-04-29 | 2008-05-20 | Xilinx, Inc. | Run-time efficient methods for routing large multi-fanout nets |
US7401313B2 (en) * | 2005-10-26 | 2008-07-15 | Lsi Corporation | Method and apparatus for controlling congestion during integrated circuit design resynthesis |
US8108819B2 (en) * | 2009-04-08 | 2012-01-31 | International Business Machines Corporation | Object placement in integrated circuit design |
US9747406B2 (en) * | 2010-11-29 | 2017-08-29 | Synopsys, Inc. | Spine routing with multiple main spines |
JP5590725B2 (ja) | 2010-12-28 | 2014-09-17 | 株式会社日本マイクロニクス | 配線経路作成プログラム及び配線経路作成方法 |
JP5776413B2 (ja) * | 2011-07-28 | 2015-09-09 | 富士通株式会社 | 回路設計支援装置、回路設計支援方法および回路設計支援プログラム |
US8464196B1 (en) * | 2012-03-28 | 2013-06-11 | Cadence Design Systems, Inc. | Method and system for routing optimally between terminals through intermediate vias in a circuit design |
US10719653B2 (en) | 2013-10-09 | 2020-07-21 | Synopsys, Inc. | Spine routing and pin grouping with multiple main spines |
GB2571333B (en) | 2018-02-26 | 2021-12-01 | Advanced Risc Mach Ltd | Integrated circuit design |
CN110096823B (zh) * | 2019-05-08 | 2022-10-04 | 深圳职业技术学院 | 基于二进制编码的数字集成电路布线方法及终端设备 |
CN113947057B (zh) * | 2021-12-20 | 2022-04-01 | 南京集成电路设计服务产业创新中心有限公司 | 一种基于查找表的完备最优斯坦纳树构建方法 |
-
2004
- 2004-03-24 JP JP2004087754A patent/JP4376670B2/ja not_active Expired - Fee Related
- 2004-07-20 US US10/893,935 patent/US7266799B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20050229137A1 (en) | 2005-10-13 |
US7266799B2 (en) | 2007-09-04 |
JP2005275780A (ja) | 2005-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sun et al. | Efficient and effective placement for very large circuits | |
US7062743B2 (en) | Floorplan evaluation, global routing, and buffer insertion for integrated circuits | |
US7653884B2 (en) | Methods and systems for placement | |
US6449761B1 (en) | Method and apparatus for providing multiple electronic design solutions | |
US6446239B1 (en) | Method and apparatus for optimizing electronic design | |
CN115315703A (zh) | 使用神经网络生成集成电路布局 | |
JP4376670B2 (ja) | スタイナー木処理装置、スタイナー木処理方法及びスタイナー木処理プログラム | |
US7089521B2 (en) | Method for legalizing the placement of cells in an integrated circuit layout | |
US20030005398A1 (en) | Timing-driven global placement based on geometry-aware timing budgets | |
Xing et al. | Shortest path search using tiles and piecewise linear cost propagation | |
JPH07334565A (ja) | 物体の配置方法 | |
US8028263B2 (en) | Method, system, and computer program product for implementing incremental placement in electronics design | |
Chen et al. | Routability-driven blockage-aware macro placement | |
Hutton et al. | Automatic generation of synthetic sequential benchmark circuits | |
US6601226B1 (en) | Tightloop method of timing driven placement | |
US6766500B1 (en) | Multiple pass optimization for automatic electronic circuit placement | |
CN113761783A (zh) | 信息处理设备、信息处理方法以及计算机可读存储介质 | |
Chan et al. | mPL6: Enhanced multilevel mixed-size placement with congestion control | |
US6928401B1 (en) | Interactive repeater insertion simulator (IRIS) system and method | |
US20080244490A1 (en) | Sequence-pair creating apparatus and sequence-pair creating method | |
US6609238B1 (en) | Method of control cell placement to minimize connection length and cell delay | |
Chu | Placement | |
Chu | ABOUT THIS CHAPTER | |
Kahng et al. | Digital Layout: Placement | |
Pfeiffer et al. | Synthesis of multiplexed biofluidic microchips |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070305 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090520 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090526 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090723 |
|
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: 20090908 |
|
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: 20090909 |
|
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: 20120918 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120918 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130918 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |