JP3755669B2 - 多数のネットのルーティングを自動的に実行する自動レイアウト・システムを用いて電子デバイスの設計を行う方法 - Google Patents
多数のネットのルーティングを自動的に実行する自動レイアウト・システムを用いて電子デバイスの設計を行う方法 Download PDFInfo
- Publication number
- JP3755669B2 JP3755669B2 JP53187598A JP53187598A JP3755669B2 JP 3755669 B2 JP3755669 B2 JP 3755669B2 JP 53187598 A JP53187598 A JP 53187598A JP 53187598 A JP53187598 A JP 53187598A JP 3755669 B2 JP3755669 B2 JP 3755669B2
- Authority
- JP
- Japan
- Prior art keywords
- graph
- node
- vertical constraint
- subnodes
- terminal
- 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
本発明は、一般に、プリント回路板および半導体デバイスなどの電子デバイスの設計の分野に関し、さらに詳しくは、電子装置のチャネルのトラックにおいて多数のネットのルーティング(routing)の改善に関する。
発明の背景
多くの自動レイアウト・システム、特にVLSI回路は、基本的な相互接続機能としてチャネル・ルーティング(channel routing)を適用する。しかし、多くのルータ(router)は、標準的なセルおよびゲート・アレイ設計の幾何学的規則性(geometric regularity)にしか対応できない。その結果、これらの従来の自動レイアウト・システムは幾何学的一般性(geometric generality)を持つチャネル、すなわち、異なる幅および不規則な間隔を有しうる端子、をルーティングできず、しかも同時に全てのルートの完成を保証できない。
Bryan Pearsによる″Channel Routing With Non-Terminal Design″, Proc. The European Design Automation Conference, Glasgow, Scotland, 1990, pp 451-458によれば、一般化チャネル・モデルを利用して循環的な垂直制約(cyclic vertical constrains)を解決する方法が知られている。この方法を制約方式のチャネル・ルータと組み合わせると、多くのクラスのチャネル形状(channel geometries)に対してルーティング完成が保証できる。この方法は、制約方式の交互エッジ・ドグレッグ(alternating-edge doglegs)チャネル・ルータで実施される。本方法は、全ての制約サイクルを断つために十分な配線部分に対して非端子ドグレッグを追加することにより、循環的な制約を解決する。交互の配線部分およびそれによって生じる非循環的な制約グラフは、ほとんどの制約方式のチャネル・ルータに入力として利用できる。
全ての従来のチャネル・ルータの共通の欠点は、垂直制約を解決できないので、重複する端子を有する多層チャネルに対応できないことである。また、チャネルの2つ以上の側面に端子がある場合、従来のルータは機能しない。
従って、本発明の基本的な課題は、チャネルの多数のネットおよびトラックをルーティングする改善された方法,電子デバイスを製造する方法および改善されたルーティングを有する電子デバイスを提供することである。
発明の概要
本発明の課題は、独立請求項に記載される特徴を適用することによって基本的に解決される。さらに、好適な実施例については従属項に記載される。
本発明は、個別の端子が対応する垂直制約グラフにおいて入エッジ(incoming edge)および出エッジ(outgoing edge)を同時に作成できるところのチャネル形状に対処できるという点で有利である。これにより、異なる層上で重複する端子を有する多層チャネルや、各側に端子を有するチャネルのルーティングのために本発明を利用できる。また、本発明は、その汎用性のため、他の種類のチャネルにも適用可能である。
本発明の好適な実施例によれば、ルーティングすべきチャネルの垂直制約グラフのクリティカル・ノードは、垂直制約を解決するために、2つまたはそれ以上の新たなノードに分割される。新たなノードの最適数を見つけるため、グラフ・カラーリング(graph coloring)方法が採用される。これは、分割動作によって最小限の新ノードしか生成されず、ひいては同一ネットをルーティングするために最小限の数の行部分(row segments)しか生成されないことを保証する。
本発明の方法の別の利点は、入力データとして、チャネル形状と、ルーティングすべきネットとを表すデータを必要とするコンピュータ・プログラムによって、自動的に実行されるように適応されることである。これにより、設計サイクル時間を最小限に抑えることができる。
本発明の原理に従ってルーティング・製造された電子デバイスは、改善されたルーティングにより改善された小型設計を有する。また、改善されたルーティングにより、全体的な配線長さが最小限に抑えられ、また半導体デバイスの場合の貴重なシリコン面積の条件が最小限に押さえられる。
これらの利点は、信号伝播遅延および電力散逸に対して有益な効果がある。その結果、このような電子デバイスの全体的な動作速度が改善される。クロック方式の電子デバイスの場合には、従来のデバイスに比べて、クロック周波数を増加できる。
【図面の簡単な説明】
第1図は、循環的なコンフリクトを有するチャネルの概略図を示す。
第2図は、第1図に示すチャネルの垂直制約グラフを示す。
第3図は、拡張クリティカル・ノードを有する拡張垂直制約グラフである。
第4図は、第3図に示す拡張クリティカル・ノードの端子グラフである。
第5図は、グラフ・カラーリング方法を適用した後の第4図の端子グラフである。
第6図は、ノード分割した後の変換済み垂直制約グラフである。
第7図は、チャネル・ルーティングによって得られた電子デバイスを示す。
第8図は、本発明の一実施例のフロー図を示す。
好適な実施例の詳細な説明
第1図は、本発明の原理に従ってルーティング・製造される電子デバイスのチャネル100の形状を示す。4つの異なるネットA,B,C,Dがチャネル100においてルーティングされる。実際には、ルーティングされるさらに多くのネットがありうる。
端子A1,A2,A3,A4は、ネットAに属し、端子B1,B2はネットBに属し、端子C1,C2はネットCに属し、端子D1,D2,D3はネットDに属する。同一ネットに属する端子は、チャネル・エリア102においてルーティングすることにより相互接続しなければならない。ネットA,B,C,Dの端子間の矢印103〜111は、異なるネットの端子対間の垂直制約の存在を示す。垂直制約(vertical constraint)とは、2つの異なるネットのそれぞれがチャネル100の列(column)に端子を有する場合に存在する制約のことである。
例えば、端子A1,B1は、矢印103によって示される垂直制約を生じる、チャネル100の同じ最左列にある。同じことは、端子対B1,D1と、端子対A1,D1についても同様にあてはまり、それぞれ矢印105,104によって示される垂直制約が生じる。
チャネル・エリア102の左から右側に移動して、垂直制約が生じる次の端子対は、端子A2,D3である。これは、矢印106によって示される。さらに右に移動して、端子B2,C1,A3は、同じチャネル100の列内、あるいは少なくともチャネル100の重複する列内にある。これにより、B2,A3間およびC1,A3間に垂直制約が生じ、これらはそれぞれ矢印107,108によって示される。
チャネル100の最右列では、端子D2,A2,C2は、チャネル・エリア102の縦の境界線上にある。これにより、D2とA4との間、さらにA4とC2の間およびD2とC2の間に垂直制約が生じる。これらの垂直制約は、それぞれ矢印109,110,111によって表される。
第2図は、ノードがネットを表し、またエッジが垂直制約を表すグラフとして、垂直制約グラフを示す。ここで検討する例では、4つのネットA,B,C,Dがあり、それぞれのネットは、第2図の垂直制約グラフ200における対応するノードによって表される。
一般的な場合、ノードiおよびノードjは、対応するネットiおよびjの端子の少なくとも一対の間に垂直制約がある場合、ノードiからノードjへの方向エッジによって相互接続される。
例えば、第1図の矢印103によって表される垂直制約により、垂直制約グラフ200のノードAとノードBとの間にエッジ201が生じる。同様に、グラフ200におけるノードBからノードAへのエッジ202は、第1図の矢印107によって表される垂直制約から生じる。同じ原理は、グラフ200の他の全てのエッジ203〜208に当てはまり、ノードBからノードDへのエッジ203は、第1図の矢印105によって示される垂直制約を表し、グラフ200におけるノードDからノードCへのエッジ204は、第1図の矢印111によって示される垂直制約を表し、グラフ200におけるノードCからノードAへのエッジ205は、第1図の矢印108によって示される垂直制約を表し、グラフ200におけるノードAからノードCへのエッジ206は、第1図の矢印110によって示される垂直制約を表し、グラフ200におけるノードDからノードAへのエッジ207は、第1図の矢印109によって示される垂直制約を表し、ノードAからノードDへのエッジ208は、第1図の矢印104,106によって示される垂直制約を表す。
本好適な実施例において検討されない多層チャネルについて、同じ原理は、チャネル領域におけるネット配線の垂直制約をモデリングする垂直制約グラフの生成に適用される。
グラフ200において表される垂直制約を基本にして、ルーティングについて生じる問題点は、いわゆるサイクルの除去である。望ましくない短絡(short circuits)を生じさせずに、少なくとも2つの端子を単純な垂直部分で接続できない場合、2つの異なるネットの間でサイクルが存在する。これは、垂直制約グラフ200における2つのノードが、反対方向(opposite sense of direction)を有する2つの異なるエッジによって相互接続される場合に常にいえることである。すなわち、サイクルとは、垂直制約グラフにおける、あるノードからそれ自身への経路である。
例えば、ノードA,Bは、グラフ200においてエッジ201,202によって相互接続され、それによりエッジ201,202は反対方向を有する。その結果、ネットAとBとの間にサイクルが生じる。同じことは、エッジ207,208よって相互接続されたネットA,Dや、エッジ205,206によって相互接続されたネットA,Cについても同様に当てはまる。この例で検討されるそれぞれのノードは、サイクル(A−C−A),(A−B−A),(A−D−A),(A−D−C−A),(A−B−D−A),(A−B−D−C−A)を有する。Aは6つのサイクルを有し、Bは3つのサイクルを有し、Cは3つのサイクルを有し、Dは4つのサイクルを有する。
第1図のチャネル100をルーティングするためには、グラフ200からサイクルを除去する必要がある。
本発明の教示に従って、これは、元の垂直制約グラフ200においてクリティカル・ノード(critical node)を識別した後に、拡張垂直制約グラフ(enhanced vertical constraint graph)を生成することによって達成される。垂直制約グラフにおけるクリティカル・ノードは、最大サイクル数を有するノードとして一般に定義される。
ノードAはグラフ200の全6サイクルの一部を形成し、他のノードB,C,Dはそれぞれ3サイクル,3サイクル,4サイクルに属する。そのため、ノードAがグラフ200のクリティカル・ノードである。
さらに複雑なグラフでは、同じ最大サイクル数を有する2つ以上のノードが存在する場合も生じうる。この場合、同じ最大サイクル数を有するノードのうち任意のノードがクリティカル・ノードとして選ばれる。
第2図について検討した例では、クリティカル・ノードAは、ルーティングされるネットAを表す。端子A1,A2,A3,A4は、ネットAに属する。拡張垂直制約グラフを生成するため、ネットAの端子は対応する拡張グラフのノードA内で表される。
これは第3図に示される。第3図は、クリティカル・ノードAが拡張された、拡張垂直制約グラフを示す。ここでも、グラフ300におけるノードA,B,C,Dは、その対応するネットA,B,C,Dを表す。
拡張クリティカル・ノードAは、サブノード(subnode)1,2,3,4を含む。サブノード1,2,3,4は、それぞれ端子A1,A2,A3,A4を表す。
すなわち、クリティカル・ノードAによって表されるネットAの各端子について、選択されたクリティカル・ノードAを拡張するために、サブノードが追加される。クリティカル・ノードAのサブノードと、他のノードB,C,Dとの間のエッジは、個別の垂直制約を表し、サブノード1からノードBへのエッジ301は、第1図における端子A1と端子B1との間の矢印103によって示される垂直制約を表す。
同様に、サブノード1とノードDとの間のエッジ302は、第1図における矢印104を表し、サブノード2とノードDとの間のエッジ303は、第1図における矢印106によって示される垂直制約を表し、ノードBからサブノード3へのエッジ304は、矢印107の垂直制約を表し、ノード10とサブノード3との間のエッジ305は、矢印108の垂直制約を表し、サブノード4とノードCとの間のエッジ306は、矢印110の垂直制約を表し、ノードDとサブノード4との間のエッジ307は、矢印109の垂直制約を表す。
グラフ300においてクリティカル・ノードAに接続しないエッジは、第2図の元のグラフについて同じままである。従って、ノードB,Dは、エッジ204によって接続されるエッジD,Cと同様に、エッジ203によって接続されたままである。
拡張垂直制約グラフ300に基づいて、端子グラフ(terminal graph)が生成される。ここで検討される例について、第4図は端子グラフ400を示す。端子グラフ400は、選択されたクリティカル・ノードAと、このクリティカル・ノードAのサブノード1,2,3,4によって構成される。
クリティカル・ノードAおよびそのサブノードが接続されている限り、グラフ300とグラフ400との間に相違はない。グラフ400においてサブノードを相互接続するエッジは、グラフ300に含まれる情報から抽出される。
グラフ400における2つの異なるサブノードは、グラフ300においてこれら2つのサブノード間に経路がある場合に、エッジによって相互接続される。このような経路は、一つまたはそれ以上のエッジによって相互接続される一つまたはそれ以上のノードによって構成できる。経路に沿って、エッジの方向は常に同じでなければならない。
例えば、グラフ400におけるサブノード1,3は、エッジ401によって相互接続される。これは、グラフ300においてサブノード1と3との間に対応する経路が存在するためである。サブノード1を始点とすると、経路の要素はエッジ301,ノードBおよびエッジ304である。
同様に、第4図のグラフ400におけるエッジ402は、サブノード1からサブノード4への経路を表す。この経路は、エッジ302,ノードDおよびエッジ307からなる。同様に、グラフ400におけるサブノード3と4との間のエッジ403は、エッジ306,ノードCおよびエッジ305からなる、グラフ300のサブノード3と4との間の経路を表す。
グラフ400におけるエッジ404は、グラフ300におけるサブノード2と3との間の経路を表す。この経路は、エッジ303,ノードD,エッジ204,ノードCおよびエッジ305からなる。さらに、グラフ400におけるエッジ405は、グラフ300におけるサブノード2と4との間の経路を表す。この経路は、エッジ303,ノードDおよびエッジ307からなる。
グラフ400において、サブノード1と2との間にはエッジは存在しない。これは、グラフ300においてサブノード1と2を相互接続する経路がないためである。元の垂直制約グラフ200におけるサイクルを断つため、端子グラフ400におけるエッジは断たなければならない。これは、選択されたクリティカル・ノードを新たなノードに分割することにより、サブノードをグループに分割することによって行われる。
これを第5図に示す。クリティカル・ノードAを3つの異なる新ノードA',A''、A'''に分割することにより、端子グラフ400の全てのエッジ401〜404は、第5図の対応するグラフ500に示すように断たれる。一般に、端子グラフ400においてエッジによって相互接続されていないサブノードは、その間でエッジを断つ必要がないので、同じグループに置くことができる。その結果、クリティカル・ノードAを4つの新たなサブノードに分割する必要がないが、グラフ400の4つのサブノード間の全てのエッジを分割するために、3つの新たなサブノードで十分である。
さらに複雑なグラフでは、必要なサブノードのグループを定めるのはさらに困難である。以下で検討される本発明の好適な実施例に従って、この一般タスクは、グラフ・カラーリング方法を適用することによって解決される。このようなグラフ・カラーリング方法によれば、端子グラフにおける全てのエッジを分割するために必要なサブノードのグループの最小数は、端子グラフの色彩数(chromatic number)に等しい。色彩数は次のように定められる。
正の整数pが与えられると、グラフGのノードが、グラフGにおけるエッジによって接続された2つのノードが同じ色ではないように、p個の個別の色で塗ることができる場合に、グラフGはp色彩(p-chromatic)であるという。グラフGがp色彩となる最小数pは、グラフGの色彩数という。
色彩数を見つけるためにグラフをカラーリングする方法は従来技術から周知であり、例えば、Claude Bergeによる″Theorie Des Graphes Et Ses Application″, Dunod, Paris, 1958や、J.A. Bondy, U.S.R. Murtyによる″Graph Theory with Applicatioons″, Elsevier North Holland, New York, 1980, Chapter 8 (Vertex Colourings), page 133およびN. Christofidesによる″An Algorithm for the chromatic number of a graph″, The Computer Joural, Vol.14, page 38-39からわかる。
色彩数pを見つけるため、このようなグラフ・カラーリング方法をグラフ500に適用すると、3つの異なる色C1,C2,C3が得られる。サブノード1,2は同じ色C1を有し、一方サブノード3,4はそれぞれ異なる色C2,C3を有する。この結果は、サブノード1,2のみがエッジによって相互接続されておらず、同じ色を有することができるので、この結果は正しい。
グラフ・カラーリング方法の結果、色彩数pは見つけられ、この場合には3に等しい。同じ色を有するノードは、一つの個別のグループを構成する。クリティカル・ノードを3つの新たなノードに分割する動作は、全てのエッジ401〜405に交差するライン501,502,503によって表される。それにより、端子グラフにおける全てのエッジは除去される。こうして得られる変換済み垂直制約グラフ(transformed vertical constraint graph)を第6図に示す。
第2図の元の垂直制約グラフ200と比較して、第6図の変換済み垂直制約グラフ600は、選択されたクリティカル・ノードAに代わる新たなノードA',A'',A'''を有する。第6図におけるノードA’は、サブノード1,2である色C1を有するサブノードのグループを表し、新たなノードA''は、色C2を有するグラフ500におけるサブノード3を表し、新たなノードA'''は、色C3を有するサブノード4を表す。
第6図に示すグラフ600は、第3図の拡張垂直制約グラフ300において実行されるクリティカル・ノードAの分割動作の結果である。クリティカル・ノードAがそれぞれサブノード1,2,3,4を表す新たなノードA',A'',A'''に分割されると、このことはサブノード3に接続するエッジ304,305を新たなノードA''に接続しなければならず、また第3図のサブノード4に接続するエッジ306,307を第6図における新たなノードA'''に接続しなければならないことを意味する。また、エッジ301は、変換済みグラフ600における新たなノードA’に接続するため、サブノード1に接続される。
グラフ300について、エッジ302,303の両方は、ノードDと同じグループに属するサブノード1,2を接続する。これら2つのエッジは、変換済みグラフ600において一つのエッジ601によって表される。新たなグラフ600におけるエッジ203,204は、グラフ300と同じままである。
グラフ200からグラフ600に変換した後、垂直制約グラフにはサイクルは存在しない。
本発明の他の応用例では、さらにサイクルがありうる。このような場合、サイクルが解決されるまで、次の変換のために変換済み垂直制約グラフを始点として、同じ変換が実行される。
すなわち、グラフ600において、サイクルが存在する場合、新たなクリティカル・ノードを選択しなければならず、またグラフ200で実行したのと同じ変換がグラフ600の変換に適用される。この手順は、全てのサイクルが解決されるで繰り返される。
全てのサイクルが解決されると、それによって得られる垂直制約グラフは、ネットをルーティングすべくチャネル内のトラックを割り当てるために利用できる。変換済み垂直制約グラフにおける各ノードは、このノードが表すところの端子を相互接続する水平配線部分に相当する。垂直制約グラフにおける各エッジは、エッジの先行(antecedent)の水平部分は、チャネルにおけるその派生(descendent)の部分より上におかなければならないことを意味する。そのため、垂直制約グラフは、チャネルのトラックに割り当てられる水平部分の順序を定める。
ここで検討される例について、第6図のグラフ600に基づくルーティングの結果を第7図に示す。端子B1,B2を相互接続するチャネル・エリア102内の部分700は、第6図のノードBに相当する。端子D1,D2,D3を相互接続する部分701は、第6図のノードDに相当し、また端子C1,C2を相互接続する部分702は、第6図のノードCに相当する。同様に、端子A1,A2を相互接続する部分703と、端子A3のみを相互接続する部分704と、端子A4のみを相互接続する部分705は、第6図におけるノードA',A'',A'''にそれぞれ相当する。またチャネル102における水平部分の水平位置は、第6図のグラフ600におけるエッジによって決定される。例えば、ノードBに属する部分700を、ノードA’に属する部分703に対して劣勢位置に置くエッジ301のために、部分700は部分703より下に置かなければならない。
第6図のグラフ600に含まれる情報に従ってチャネル・エリア102内に水平部分700〜705を配置した後、それぞれの相互接続は、水平部分を配線707によって相互接続する垂直配線部分706を追加することによって完成される。ルーティングが完了すると、対応する電子デバイス710が作成される。ルーティングは、フォトリソグラフィ工程および/またはエッチング工程などの任意の周知の手法によって実施できる。
第8図は、本発明の方法の実施例のフロー・チャートを示す。手順の第1ステップ800において、ルーティングすべきチャネルについて、垂直制約グラフ(VCG:vertical constraint graph)が生成される。このようなグラフの生成については、この特定の例について第1図および第2図で説明した。一般的な場合には、同じ原理が適用される。
ステップ801において、ステップ800で得た垂直制約グラフにサイクルがあるかどうか判定される。サイクルが存在しない場合、サイクル除去の必要はなく、この垂直制約グラフは、第6図および第7図で説明したように、ステップ802におけるトラック割り当てのための基準として採用できる。
ステップ800で生成された垂直制約グラフにサイクルが存在する場合、制御はステップ803に進み、ここで垂直制約グラフにおけるクリティカル・ノードが選択される。これについては、第2図および第3図に示した例でさらに詳しく説明した。それにより、第3図で説明した原理に従って、ステップ804において拡張垂直制約グラフが生成される。
ステップ805において、第4図のグラフ400と同様な端子グラフが生成され、また適切なグラフ・カラーリング方法に従って、ステップ806においてこの端子グラフはカラーリングが施される。ステップ807において、選択されたクリティカル・ノードは分割され、制御はステップ801に戻る。ここで、サイクルがまだ存在するかどうか再度判定される。サイクルが存在しない場合、変換済み垂直制約グラフは、ステップ802においてチャネル内のトラックを割り当てるために用いられる。まだサイクルが存在する場合、ステップ803〜807の同じシーケンスは、全てのサイクルが除去されるまで再度実行される。
本発明のルーティング方法の特定の利点は、コンピュータ・プログラムによって容易に実行でき、かつ人間を介在せずに自動的に実行できることである。コンピュータ・プログラムに必要な唯一の入力パラメータは、チャネル形状と、配線すべきネットである。このようなコンピュータ・プログラムは、ハードディスク,テープまたはCD−ROMなど、任意のプログラム格納デバイス上に格納できる。
Claims (2)
- プログラム格納デバイス上に格納されたコンピュータ・プログラムによって、ネットの端子(A1〜A4;B1〜B2;C1〜C2:D1〜D3)の相互接続のために、電子デバイスのチャネル(100)のトラックにおいて多数のネット(A,B,C,D)のルーティングを自動的に実行する自動レイアウト・システムを用いて電子デバイスの設計を行う方法であって:
前記自動レイアウト・システムが、
a)前記チャネルの垂直制約グラフ(200)を生成する段階;
b)最大サイクル数を有するノードである、前記垂直制約グラフのクリティカル・ノード(A)を選択する段階;
c)前記クリティカル・ノード(A)が表す前記ネット(A)に属する各前記端子(A1〜A4)についてサブノード(1〜4)を含むように前記クリティカル・ノードを拡張することによって、拡張垂直制約グラフ(300)を生成する段階;
d)前記サブノードからなる端子グラフ(400)を生成する段階であって、前記サブノードのうち第1サブノードおよび第2サブノードは、前記拡張垂直制約グラフにおいて前記第1サブノードと前記第2サブノードとの間に経路がある場合に、前記端子グラフにおいてエッジ(401〜405)によって接続される段階;
e)前記端子グラフにおける全ての前記エッジ(401〜405)を断つために、前記クリティカル・ノードを新たなノード(A,′A″,A″′)に分割し、それにより分割されたクリティカル・ノードにはもうサイクルがないところの変換済み垂直制約グラフ(600)を生成する段階;
f)前記変換済み垂直制約グラフにおける全てのサイクルが除去されるまで、段階b)ないしe)を繰り返す段階;ならびに
g)前記変換済み垂直制約グラフに従って前記トラックを割り当てる段階;
によって構成されることを特徴とする方法。 - 前記クリティカル・ノードを分割する前記段階e)は:
e1)グラフ・カラーリング方法に従って前記端子グラフを処理する段階;および
e2)同じ色を有する前記サブノードの全てを、前記新たなノードの同じ色にまとめる段階;
によって構成されることを特徴とする請求項1記載の方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/RU1997/000007 WO1998033132A1 (en) | 1997-01-23 | 1997-01-23 | Routing method removing cycles in vertical constraint graph |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000508103A JP2000508103A (ja) | 2000-06-27 |
JP3755669B2 true JP3755669B2 (ja) | 2006-03-15 |
Family
ID=20130074
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP53187598A Expired - Fee Related JP3755669B2 (ja) | 1997-01-23 | 1997-01-23 | 多数のネットのルーティングを自動的に実行する自動レイアウト・システムを用いて電子デバイスの設計を行う方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US6412103B1 (ja) |
EP (1) | EP1010107B1 (ja) |
JP (1) | JP3755669B2 (ja) |
DE (1) | DE69720073T2 (ja) |
WO (1) | WO1998033132A1 (ja) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5295082A (en) * | 1989-02-22 | 1994-03-15 | The Boeing Company | Efficient method for multichip module interconnect |
JP2663680B2 (ja) * | 1990-05-24 | 1997-10-15 | 松下電器産業株式会社 | チャネル配線方法 |
US5841664A (en) * | 1996-03-12 | 1998-11-24 | Avant| Corporation | Method for optimizing track assignment in a grid-based channel router |
US6086631A (en) * | 1998-04-08 | 2000-07-11 | Xilinx, Inc. | Post-placement residual overlap removal method for core-based PLD programming process |
US6099583A (en) * | 1998-04-08 | 2000-08-08 | Xilinx, Inc. | Core-based placement and annealing methods for programmable logic devices |
-
1997
- 1997-01-23 WO PCT/RU1997/000007 patent/WO1998033132A1/en active IP Right Grant
- 1997-01-23 JP JP53187598A patent/JP3755669B2/ja not_active Expired - Fee Related
- 1997-01-23 US US09/355,143 patent/US6412103B1/en not_active Expired - Fee Related
- 1997-01-23 DE DE69720073T patent/DE69720073T2/de not_active Expired - Fee Related
- 1997-01-23 EP EP97919792A patent/EP1010107B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP1010107B1 (en) | 2003-03-19 |
JP2000508103A (ja) | 2000-06-27 |
DE69720073T2 (de) | 2003-08-21 |
WO1998033132A1 (en) | 1998-07-30 |
US6412103B1 (en) | 2002-06-25 |
DE69720073D1 (de) | 2003-04-24 |
EP1010107A1 (en) | 2000-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4613941A (en) | Routing method in computer aided customization of a two level automated universal array | |
Chiang et al. | Global routing based on Steiner min-max trees | |
Rivest et al. | A greedy channel router | |
US6507941B1 (en) | Subgrid detailed routing | |
Gao et al. | Minimum crosstalk switchbox routing | |
US20070256044A1 (en) | System and method to power route hierarchical designs that employ macro reuse | |
WO1991006061A1 (en) | Improved routing system and method for integrated circuits | |
JPH03188650A (ja) | 配線経路処理方法、配線経路処理システム、及び半導体集積回路 | |
JP2753263B2 (ja) | 半導体集積回路の自動配線方法 | |
JPH0766718A (ja) | プログラム可能論理用ウェファ・スケール構造 | |
US6480996B1 (en) | System and method for transposing wires in a circuit design | |
JPH0644596B2 (ja) | Cmosセル・レイアウトの形成方法 | |
Cho et al. | Crosstalk-minimum layer assignment | |
JP3755669B2 (ja) | 多数のネットのルーティングを自動的に実行する自動レイアウト・システムを用いて電子デバイスの設計を行う方法 | |
KR100576987B1 (ko) | 전자 소자 및 전자 장치의 설계 및 제조 방법 | |
Joy et al. | Layer assignment for printed circuit boards and integrated circuits | |
Tollis | A new algorithm for wiring layouts | |
Guruswamy et al. | A general multi-layer area router | |
US6477692B1 (en) | Method and apparatus for channel-routing of an electronic device | |
JP3548398B2 (ja) | 概略経路決定方法および概略経路決定方式 | |
Tien et al. | GALA-an automatic layout system for high density CMOS gate arrays | |
Dutt et al. | A search-based bump-and-refit approach to incremental routing for ECO applications in FPGAs | |
JP3084255B2 (ja) | Lsiレイアウト設計方法 | |
Das et al. | Manhattan-diagonal routing in channels and switchboxes | |
JP3062149B2 (ja) | 自動配線方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20040927 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051215 |
|
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: 20100106 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110106 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120106 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130106 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130106 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |