JPH04241072A - 配線経路探索装置及び配線経路探索方法 - Google Patents

配線経路探索装置及び配線経路探索方法

Info

Publication number
JPH04241072A
JPH04241072A JP3007547A JP754791A JPH04241072A JP H04241072 A JPH04241072 A JP H04241072A JP 3007547 A JP3007547 A JP 3007547A JP 754791 A JP754791 A JP 754791A JP H04241072 A JPH04241072 A JP H04241072A
Authority
JP
Japan
Prior art keywords
search
grid
lattice
circuit
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP3007547A
Other languages
English (en)
Other versions
JP3033203B2 (ja
Inventor
Yoshio Miki
良雄 三木
Takashi Suzuki
敬 鈴木
Yoshio Takamine
高嶺 美夫
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP3007547A priority Critical patent/JP3033203B2/ja
Priority to US07/820,995 priority patent/US5245550A/en
Publication of JPH04241072A publication Critical patent/JPH04241072A/ja
Application granted granted Critical
Publication of JP3033203B2 publication Critical patent/JP3033203B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

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

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)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は電子計算機を利用した電
子回路設計装置に係り、特にプリント基板や大規模集積
回路における配線パターンを自動設計するための配線経
路探索装置に関する。
【0002】
【従来の技術】従来より配線経路探索手法の一つとして
迷路法とその改良手法が広く用いられている。迷路法は
配線領域を複数の格子に分割し、結線すべき二点の一方
を出発点とし、その点から配線が通過可能な隣接格子点
へ印を付けていく処理を繰り返すことにより目的点まで
の最短経路を発見する手法である。さらに、経路の質を
改善する方法として、経路探索を進めていく際に探索コ
ストを考慮する方法が知られている。これは配線領域の
状況、または探索の進む方向などの情報によって探索コ
ストを定義し、探索の進み方を制御するものである。
【0003】配線経路探索の例を図3を用いて説明する
。図3(a)は探索コストを考慮しない場合の迷路法で
ある。この図においてSは探索の開始点、Tは探索の目
的点である。また図における格子は配線領域の格子点に
対応し、その中の数値は探索コストを表わしている。図
3(a)では探索コストを考慮していないので隣接した
格子点へ進む際、一律に探索コストとして1を加算して
いる。従って、探索の最前線、即ちウエーブフロントは
探索の開始点を中心とした同心円状に拡がり、探索コス
トが9になろうとする探索で目的点であるTにたどりつ
く。
【0004】一方、図3(b)は探索が進む際に探索コ
ストを考慮した例である。ここでは探索中の経路が折れ
曲がる場合には探索コストの増分を2とし、同一方向で
進む場合には先の例と同様に探索コストの増分を1とし
ている。また、同一格子に複数のコストが割当てられる
場合にはコストの小さな方を優先としている。この条件
で探索を実行した場合折れ曲がることに対してコストを
重くしているため、折れ曲がり数の少ない経路が得られ
る。
【0005】以上の処理は汎用計算機上のソフトウエア
として実現されており、配線対象領域の格子を半ばしら
みつぶし的に探索するため、一般には非常に時間のかか
る処理となる。
【0006】また、配線経路の探索装置としてはブイ・
エル・エス・アイ81、ベリー・ラージ・スケール・イ
ンテグレーション、アカデミックプレス(1981)第
257頁から第266頁(VLSI81−Very L
arge Scale Integration,Ac
ademic Press(1981)pp.257−
266)に示されているように、いわゆる格子結合した
並列計算機で経路探索する方法が知られている。これは
上述のウエーブフロントの処理が並列に実行可能である
ことに着目し、ウエーブフロントに含まれる格子点の処
理を並列に動作可能なプロセッサに割り当てるものであ
る。 つまり、探索の対象となる領域の格子点一つ一つに対応
してプロセッサを割当て、ある隣接したプロセッサから
探索情報が伝播してきたときに、残る他の隣接したプロ
セッサに探索情報を伝えることで経路を探索するもので
ある。
【0007】
【発明が解決しようとする課題】上述のように配線経路
を探索する処理は時間を要する処理であり、最高速の大
型計算機を利用したとしても次世代の配線導体技術によ
るLSIなどの配線では100時間単位の計算時間を必
要とする。これは、設計変更に伴う配線工程のやりなお
しや、多品種少量生産時の生産効率維持に重大な影響を
及すため、より高速な配線経路探索技術は企業利益の点
から重要な技術である。
【0008】上述の問題点は、配線経路探索処理が汎用
計算機上でのソフトウエアで実現されていることによる
。ソフトウエアでは代入処理,演算処理,実行制御処理
等の基本命令を組合せて逐次処理的に上述の配線機能を
実現している。一方、経路の探索処理は複数の箇所につ
いて同時に実行可能であり、いわゆる並列処理が可能で
ある。しかし、上記従来技術のように単純に格子結合さ
れた並列計算機では静的にプロセッサが多数存在しても
、動的に並列動作するプロセッサの数が限られるため、
ハードウエアの量に対する処理速度向上の割合が著しく
低い。すなわち、迷路法の動作では並列処理可能なデー
タがウエーブフロント部分の1次元状のデータのみであ
り、処理を2次元、3次元のプロセッサに分配しても大
多数のプロセッサは動作しない。また上記従来技術では
、速度の改善率が高々ウエーブフロントに属する格子点
数倍である上に、各プロセッサは単純な処理をソフトウ
ェアで実行するため、先に述べたソフトウェア処理によ
る処理の低速性は何ら改善されない。
【0009】以上、本発明は経路探索処理における並列
性を複数のハードウェア資源に割当て、データ間の処理
をソフトウエアではなく、ハードウェア回路で実現する
ことにより経路探索に要する処理時間を大幅に短縮する
ものである。
【0010】
【課題を解決するための手段】図1は本発明による配線
経路探索装置のブロック構成図である。本発明ではウエ
ーブフロントの格子点を複数個保持するウエーブフロン
トメモリ11と次の探索点を保持する探索格子レジスタ
15とを備え、この2つのレジスタ間転送と、間に挿入
された回路とによって経路探索の基本動作を実現する。
【0011】図において11はウエーブフロントメモリ
であり、探索済みの格子点のうち探索開始点から最も遠
方にある格子点群に関して、そのメッシュメモリ上での
アドレスを保持する。アドレスは複数個保持可能であり
、それにより経路探索におけるウエーブフロントに含ま
れる格子点を並列的に管理することができる。
【0012】12は起点格子列挙回路、13は隣接アド
レス計算回路、14は探索コスト計算回路であり、それ
ぞれ従来技術ではソフトウェアで実現されていたように
、ウエーブフロント中の格子点を取り出し、次の探索点
に関する座標と探索コストをハードウェア回路を用いて
計算する。
【0013】15は探索格子レジスタであり、上記隣接
格子アドレス計算回路,探索コスト計算回路によって得
られた探索先の格子点情報を一時的に蓄えるレジスタで
あり、次に探索するべき格子点は全て並列にこのレジス
タ内に格納される。
【0014】経路の探索処理は並列に実行されるため、
上記探索格子レジスタには同一座標の格子点に関する情
報、すなわち重複した経路探索情報が格納される可能性
がある。そこで、メッシュメモリ17と重複探索除去回
路18を用い重複した探索を除去する。メッシュメモリ
17は配線経路を探索する格子一つ一つに対応し、各格
子が配線経路として使用可能か否か、探索済みであるか
否か、および探索方向に関する情報を保持する。重複探
索除去回路18は上記探索格子レジスタで示される格子
点の情報をメッシュメモリから読みだし、探索格子レジ
スタ内に格納されている格子点情報と比較する。その結
果により探索格子レジスタ内に含まれる同一箇所の格子
点に関する情報を削除する。
【0015】
【作用】上記ウエーブフロントメモリ11と探索格子レ
ジスタ15は、複数の格子点に関する情報を管理するこ
とが可能であり、ウエーブフロントに相当する格子点と
そこから探索可能な格子点を一度に管理することができ
るため、見かけ上の並列処理が可能となる。また従来ソ
フトウェアで実現されていた次の探索位置計算,探索コ
ストの計算は隣接アドレス計算回路13,探索コスト計
算回路14によってウエーブフロントメモリ11から探
索格子レジスタ15にデータが転送される際に、探索が
進む全ての方向に対して並列に計算される。
【0016】上述のように、本発明では同時に処理可能
なデータに関して複数のハードウェア装置を備え、並列
処理を可能としたこと、また探索位置の計算の様にデー
タ内容の加工に関する処理は専用回路とすることによっ
て、高速な経路探索処理を可能としている。
【0017】
【実施例】以下、本発明の実施例を図を用いて説明する
。図1は本発明の構成図であり、ウエーブフロントメモ
リ11,起点格子列挙回路12,隣接アドレス計算回路
13,探索コスト計算回路14,探索格子レジスタ15
,探索格子書き出し回路16,メッシュメモリ17,重
複探索除去回路18,格子分類回路19とから構成され
る。
【0018】まず、全体の動作を図1の構成図、図2の
フローチャート、図3(b)に示す配線領域の例を用い
て説明する。図3(b)において、格子の座標すなわち
アドレスは(X,Y)で表現し、図内の数字、矢印はそ
れぞれ探索コスト、探索方向を示す。また、コストの計
算方法は探索方向が変化するときに+2、それ以外には
+1とする。
【0019】図3(b)における探索開始点S(3,2
) をウエーブフロントメモリ11にロードする。起点
格子列挙回路12はウエーブフロントメモリ11内の最
もコストの小さな格子点情報を選択する。最初は探索開
始点(3,2) が選択される。隣接アドレス計算回路
13は次の探索点の座標を計算する。格子点(3,2)
 に対しては(3,3)(2,2)(3,1)(4,2
)が計算され、探索格子レジスタ15に格納される。こ
の時、同時に探索コスト計算回路14にて探索コストが
計算される。上記の例では格子点(3,2)が探索の最
初の格子点であるため、探索コストは全て1である。こ
のコストは探索格子レジスタ15に探索点ごとに格納さ
れる。
【0020】探索格子書き出し回路16は探索格子レジ
スタ15の内容を調べ、格子点が配線として利用可能な
場合に、その格子点情報をメッシュメモリ17に書き出
す。上記の例の場合、格子点(2,2)は配線禁止領域
であるため、格子点(3,3)(3,1)(4,2)に
関する格子点情報、すなわち探索コスト,探索方向,探
索済み情報が書き出される。
【0021】重複探索除去回路18は探索格子レジスタ
15で示される格子点情報をメッシュメモリから再び読
みだし、両者を比較する。内容が異なる場合、同一の格
子座標に関する内容が探索格子レジスタ15に含まれて
いたことを意味し、その情報を無効とする。また、着目
している格子点が配線禁止の場合にも探索を停止する意
味で、該当する探索格子レジスタの内容を無効にする。 上記のデータでは同一の格子に対する書込みが行われな
いため、探索格子レジスタ内の格子点(3,3)(3,
1)(4,2)は全て有効である。次に格子分類回路1
9は探索格子レジスタ15の内容をそれぞれの格子情報
が持つ探索コストに応じてウエーブフロントメモリ11
に格納する。
【0022】以上の処理が一巡した段階でウエーブフロ
ントメモリ11には格子点(3,3)(3,1)(4,
2)に関する格子点情報が格納され、結線すべき目標点
T(7,7) が発見されるまで、起点格子点列挙回路
12からの一連の動作が繰り返される。但し、格子点(
4,3)においては、探索が格子点(4,2)からと(
3,3) の両方から到達する可能性がある。この場合
、メッシュメモリ17には後から書き込まれた情報のみ
が残る。また、この時の重複探索除去回路18は先に実
行された格子点(3,3) からの探索内容を無効デー
タとする。これと同様の重複探索除去処理が格子点(4
,1) 等においても行われる。さらに、この例では探
索方向と同じ方向へ進むときには+1、異なる方向へ進
むときには+2のコストを付加している。このため、格
子点(4,4) からの探索において到達する(4,5
)(5,4)の各点のコストはぞれぞれ図3(b)に示
すように5及び6となる。またこの時、格子分類回路1
9は異なる格子点、例えばコスト5の格子点(4,5)
 、コスト6の格子点(5,4) を分類してウエーブ
フロントメモリ11に格納する。
【0023】次に各部の動作を詳細に説明する。
【0024】図4はメッシュメモリの構成例である。メ
ッシュメモリは通常のRAM(ReadOnly Me
mory)を用いて構成可能であり、アドレスラッチに
アクセスしようとする格子の座標を入力し、データラッ
チ42には読み書きしようとする格子情報をセットする
。データ格納部43には配線しようとする領域の格子点
ごとに一つのデータ格納領域が対応し、探索済みフラグ
,探索方向,配線通過可否条件が格納される。
【0025】図5にウエーブフロントメモリの構成例を
示す。格子情報ラッチ52は一つの格子点情報に対応し
、メッシュメモリのアドレス,探索の進行方向,探索コ
ストの各情報を格納する。ウエーブフロントメモリは格
子情報ラッチ52を複数個備え、迷路法アルゴリズムの
ウエーブフロントを形成する格子点の情報をまとめて格
納する。有効データカウンタ52はウエーブフロントメ
モリの中に格納されている格子点の数をカウントする。 もし、ウエーブフロントの数が0個の場合には経路が発
見できなかったとして、発見不能信号をハイレベルにす
る。例えば、図3(b)に示した探索例ではある時点で
格子点(5,1)(4,4)(2,4)(1,3)(1
,1) がウエーブフロントを形成し、ウエーブフロン
トメモリに格納される。このとき、有効データカウンタ
52はウエーブフロントの格子点数である5をカウント
する。
【0026】図6は起点格子列挙回路の一構成例である
。ウエーブフロントメモリアドレスカウンタ61はウエ
ーブフロントメモリの読みだしアドレスを計算し、出力
する。アドレスは1から図5に示した有効データカウン
タの値までをカウントする。入力バッファ62はウエー
ブフロントメモリからのデータ転送バッファである。 コストカウンタ63は探索の起点となる格子点のコスト
を保持する。本カウンタは最大値に達した場合には再び
0に戻るものである。データセレクタ64はコストカウ
ンタ63で計算されるコスト値に一致する格子データを
選別し、出力バッファ65に転送する。上述の実行例で
は、処理対象のコスト値が4であり、上記の格子点のう
ち(1,1)(1,3)(4,4)が出力バッファ65
に転送される。
【0027】図7は隣接アドレス計算回路の一構成例で
ある。オフセット発生器71は格子情報のうち探索方向
を入力し、次に探索が進む格子のアドレスを出力する。 図3(b)の例において、格子点(0,0)のアドレス
を1、格子点(2,0)のアドレスを3、以降同様に格
子点(1,1) のアドレスを12と対応付けると、入
力格子(1,1)に対しては次の探索格子としてアドレ
ス11,2,22の格子点(0,1)(1,0)(1,
2)が算出されなければならない。したがって、格子点
(1,3)(4,4)に対しては格子点(1,4)(0
,3)(1,2)および(5,4)(4,5)(3,4
)に対応するオフセット値+10,−1,−10と+1
0,−1,−10と+1,+10,−1を求め、これを
もとの格子座標に加算することで新たに探索する座標が
計算される。この探索方向とオフセット値の組は一対一
に対応付けられるため、組合せ論理回路によって簡単に
実現可能である。また、探索方向からオフセット値を求
める組合せ回路をメモリに置き換え、探索方向をアドレ
ス、メモリのデータ内容としてオフセット値を格納して
も同一機能が実現できる。アドレス加算器72は上記オ
フセット発生器71の出力値と格子情報の一つであるメ
ッシュメモリアドレスを加算し、探索先のメッシュアド
レスを出力する。入力バッファ73、出力バッファ74
は前後の回路間でデータの受け渡しを行うためのバッフ
ァ回路である。
【0028】図8は探索コスト計算回路の一構成例であ
る。コスト発生器81は探索の起点となる格子が持つ探
索方向と新たに探索された格子が持つ探索方向とを入力
し、その探索に関するコストを発生する。図3(b)の
例では、同一探索方向については+1、異なる探索方向
については+2を発生する。コスト加算器82は探索の
起点となった格子の持つコストと、上記コスト発生器8
1で発生した探索コストを加算し、新たに探索された格
子点のコストを計算する。また、コスト発生器をRAM
(Random Access Memory)で構成
し、探索方向をアドレスとする記憶位置に加算すべきコ
スト値を書き込んでも同様な機能を実現できる。
【0029】図9に探索格子レジスタの一構成例を示す
。探索格子データ格納部91はウエーブフロントメモリ
と同様に、各格子対応のメッシュメモリアドレス,探索
方向,,探索コストを保持することが可能であり、複数
個の探索格子情報を同時に保持することが可能である。 有効データカウンタ92は探索格子レジスタ内に格納さ
れている探索格子の数をカウントする。入力アドレスラ
ッチ93、入力データラッチ94は探索格子レジスタに
格子情報を書き込む際のレジスタアドレスとその書き込
み対象となる格子点情報を保持する。前述の隣接アドレ
ス計算回路では一格子当たりの隣接格子の数は探索空間
が3次元の場合に6格子存在するため、入力アドレスラ
ッチ93、入力データラッチ94は6格子分までのデー
タを一度に保持可能である。出力アドレスラッチ95、
出力データラッチ96は探索格子レジスタを読みだす際
のレジスタアドレスと読みだすデータとを保持する。探
索格子レジスタからの読出しは1格子づつおこなわれる
ため、出力アドレスラッチ95,出力データラッチ96
は1格子分存在する。図3(b)に示した前述までの例
では格子点(0,1)(1,0)(1,2)(1,4)
(0,3)(1,2)(5,4)(4,5)(3,4)
の格子点情報が格納される。
【0030】図10は探索格子書き出し回路の一構成例
である。探索格子レジスタアドレスカウンタ101は探
索格子レジスタからの読みだしアドレスを保持する。探
索格子レジスタからの読出しは一格子ずつであり、カウ
ンタのカウントアップは1ずつ有効データの数に達する
まで行われる。格子情報入力ラッチ102には探索格子
レジスタの内容がロードされる。この格子情報のうち、
メッシュアドレス情報はメッシュメモリアドレスラッチ
103へ、探索方向、探索コストの情報は格子情報出力
ラッチ104に転送される。メッシュメモリアドレスラ
ッチ103の出力信号と格子情報出力ラッチ104の出
力信号はそれぞれメッシュメモリのアドレス信号とデー
タとなる。図3(b)に示した探索の例では(0,1)
(1,0)(1,2)(1,4)(0,3)(1,2)
(5,4)(4,5)(3,4)の格子点情報がメッシ
ュメモリに書きだされる。
【0031】図11は重複探索除去回路の一構成例であ
り、探索格子レジスタアドレスカウンタ111、格子情
報入力ラッチ112の動作は探索格子書き出し回路と全
く同様に行われ、探索格子レジスタ内に格納されている
格子情報が順次格子情報入力ラッチ112に読み込まれ
る。格子情報の内、メッシュメモリアドレス情報はメッ
シュメモリアドレスラッチ113に転送され、メッシュ
メモリの内容読出し用アドレスとして使用する。メッシ
ュメモリデータ入力ラッチ114には上記メッシュメモ
リアドレスラッチ113に出力されるアドレスのメッシ
ュメモリ内容が読みだされる。比較器115は上記格子
情報入力ラッチ112に保持される格子情報とメッシュ
メモリデータ入力ラッチ114に保持されるメッシュメ
モリのデータとを比較し、その結果を比較信号として出
力する。比較の条件は図12に示すように、不一致のと
きまたはメッシュメモリのデータが配線禁止の時にハイ
レベルとなる。データ出力ラッチ116は上記格子情報
入力ラッチ112の内容を探索格子レジスタに転送する
ための転送バッファであり、比較信号がハイレベルのと
きには転送動作を行わない。探索格子レジスタアドレス
カウンタ117は転送先である探索格子レジスタのアド
レスを生成する。比較信号がハイレベルのときアドレス
が+1されるため、図3(b)に示した探索の例では図
13に示すように重複探索除去回路動作前の探索格子レ
ジスタの内容、すなわち格子点(0,1)(1,0)(
1,2)(1,4)(0,3)(1,2)(5,4)(
4,5)(3,4)のうち格子点(0,1)(1,0)
(1,2)(0,3)(3,4)が配線禁止点として除
去され、格子点(1,4)(5,4)(4,5)のみの
情報が残る。また、探索格子レジスタの内容を実際に除
去圧縮するのではなく、特許請求範囲第2項に記載され
ているように、探索格子レジスタに格子データごとのデ
ータ無効フラグを備え、後述の格子分類回路においてウ
エーブフロントメモリへのデータ転送を抑止することに
よっても同様の機能を実現することができる。
【0032】図14は格子分類回路の一構成例であり、
入力データラッチ141は探索格子レジスタからのデー
タ転送を行うための転送バッファである。ウエーブフロ
ントアドレスカウンタ142はウエーブフロントメモリ
の格納位置をアドレス情報として出力する。ウエーブフ
ロントアドレスカウンタ142の初期値はウエーブフロ
ントメモリ内の有効データカウンタの値であり、探索格
子レジスタの中に保持される有効データの数だけカウン
トアップする。ターゲット判定回路143は格子分類回
路によって転送される格子データ中に結線しようとする
端子に対応した格子点が存在するか否かを判定する。端
子が発見された場合にはターゲット信号がハイレベルと
なり、経路探索動作を停止する。また、特許請求範囲第
3項記載のようにウエーブフロントメモリをコスト別に
分けることも可能であり、その場合格子データのうちコ
スト値をアドレスの一部として利用する。
【0033】上述の各回路に対する制御方法は以下のと
おりである。まず、メッシュメモリに配線禁止情報をロ
ードし、ウエーブフロントメモリには結線しようとする
端子のうち、探索の開始点とする方をロードする。以上
が初期状態の設定であり、以下の処理をウエーブフロン
トメモリの内容が0になり発見不能信号がハイレベルに
なるか、またはターゲット点に到達しターゲット信号が
ハイレベルになるまで繰り返す。繰返し動作の制御は図
2のフローチャートに示したように、ウエーブフロント
メモリから探索格子レジスタまで格子点情報を転送する
間に、隣接アドレス計算回路、探索コスト計算回路を起
動し、その後格子レジスタから探索格子書き出し回路を
用いてメッシュメモリに格子情報を書き出し、重複探索
除去回路によって有効データを選択する。探索格子レジ
スタからウエーブフロントメモリへのデータ転送途中で
は格子分類回路を用いてウエーブフロントメモリ中の格
子情報をコスト順になるよう制御する。
【0034】上述の動作は図1に示したハードウェア構
成を前提にしているが、格子情報を複数個まとめて格納
できるベクトルレジスタとそのベクトルレジスタ内のデ
ータを処理可能な、例えばベクトル計算機を用いても同
一機能が実現可能である。すなわち、ウエーブフロント
メモリ,探索格子レジスタをそれぞれベクトルレジスタ
に割当て、起点格子列挙回路,隣接アドレス計算回路,
探索コスト計算回路,探索格子書き出し回路,重複探索
除去回路の動作はソフトウェアによって実現する。この
とき、隣接アドレス計算回路と探索コスト計算回路の動
作は図15に示すようにベクトル計算機のリストベクト
ル機能を利用することにで高速に実現可能である。上記
の回路動作はいずれも、入力データに応じて予め用意さ
れた値を出力する動作から成っている。したがって、た
とえば隣接アドレス計算の場合には入力ベクトルレジス
タ151に探索方向に関する情報を最大6方向分(図1
5の例では4方向)格納しておき、これらのベクトルレ
ジスタをリストベクトルとして主記憶152上の隣接ア
ドレス計算用オフセット値を参照することにより、出力
ベクトルレジスタ153の内容を得る。図3(b)に示
した探索の例では格子点(4,4)(1,3)(1,1
)の探索方向をそれぞれ1,2,2とすると、格子点(
4,4)に対してはオフセット−1,+1,+10が、
格子点(1,3)(1,1)に対してはオフセット+1
0,−1,−10が得られる。
【0035】
【発明の効果】数十MIPSの性能を有する汎用計算機
上で迷路法を実行した場合、1格子あたりの探索処理を
100ステップ程度のプログラムで実行したと仮定して
も、その探索には数十マイクロ秒の時間が必要である。 本発明による経路探索装置では処理時間がメモリのアク
セスタイムによって決定する。したがって、100ナノ
秒程度のメモリを用いたとしても、汎用計算機上のソフ
トウェアに比べ100倍程度の高速が期待できる。
【図面の簡単な説明】
【図1】本発明を示す構成図。
【図2】経路探索動作を示すフローチャート。
【図3】経路探索の例。
【図4】メッシュメモリの構成例。
【図5】ウエーブフロントメモリの構成例。
【図6】起点格子列挙回路の構成例。
【図7】隣接アドレス計算回路の構成例。
【図8】探索コスト計算回路の構成例。
【図9】探索格子レジスタの構成例。
【図10】探索格子書き出し回路の構成例。
【図11】重複探索除去回路の構成例。
【図12】重複探索除去時の比較条件。
【図13】重複探索除去の動作例。
【図14】格子分類回路の構成例。
【図15】ベクトル計算機上でのアドレス計算。
【符号の説明】
11…ウエーブフロントメモリ、12…起点格子列挙回
路、13…隣接アドレス計算回路、14…探索コスト計
算回路、15…探索格子レジスタ、16…探索格子書き
出し回路、17…重複探索除去回路、18…メッシュメ
モリ、19…格子分類回路。

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】プリント基板,集積回路等の配線通過可能
    な領域のデータと配線すべき端子のデータとを入力し、
    配線経路を探索する配線経路探索装置であって、配線領
    域を格子に分割し、各格子点毎に配線通過可否条件、探
    索済みであることを示すフラグ、及び探索方向を保持す
    るメッシュメモリと、探索格子の最先端、即ちウエーブ
    フロントを構成する格子点について、各格子点に対応す
    る上記メッシュメモリのアドレス,探索の進行方向、及
    び探索のコスト等から成る格子点情報を保持するウエー
    ブフロントメモリと、上記ウエーブフロントメモリに保
    持されている格子点情報のうち、次の探索の起点となる
    べきコストを持つ格子点情報を取り出す起点格子列挙回
    路と、上記起点格子列挙回路により取り出された格子点
    情報に隣接する全ての格子点の上記メッシュメモリ上で
    のアドレスを計算する隣接アドレス計算回路と、上記ウ
    エーブフロントメモリから取り出された格子点情報、即
    ち探索元の格子点の情報と上記隣接アドレス計算回路に
    よって計算された探索先の格子点の情報から探索コスト
    を計算する探索コスト計算回路と、上記隣接アドレス計
    算回路,上記探索コスト計算回路によって計算された探
    索先の格子点情報を保持する探索格子レジスタと、上記
    探索格子レジスタによって示される上記メッシュメモリ
    の内容を読みだし、探索可能な格子点情報である場合に
    、上記探索格子レジスタの内容を上記メッシュメモリに
    書き出す探索格子書き出し回路と、上記探索格子レジス
    タによって示される上記メッシュメモリの内容を読みだ
    し、上記探索格子レジスタの内容と比較することによっ
    て、内容が異なる格子点情報を探索格子レジスタより除
    去する重複探索除去回路と、上記探索格子レジスタの内
    容を上記ウエーブフロントメモリに書き出す格子分類回
    路とを備え、結線すべき二点の一方をウエーブフロント
    の出発点とし、ウエーブフロント上の格子点情報に関し
    て、上記起点格子列挙回路,隣接アドレス計算回路,探
    索コスト計算回路,探索格子書き出し回路,重複探索除
    去回路,格子分類回路の順序で動作させることにより経
    路探索を行うことを特徴とする配線経路探索装置。
  2. 【請求項2】上記探索格子レジスタが上記メッシュメモ
    リのアドレスと探索方向と探索コストとを保持し、さら
    にデータ無効ビットを有することにより、除去すべき格
    子点情報を上記無効ビットにより示す特許請求範囲第1
    項記載の配線経路探索装置。
  3. 【請求項3】上記ウエーブフロントメモリが探索コスト
    の値別に構成される特許請求範囲第1項記載の配線経路
    探索装置。
  4. 【請求項4】上記隣接アドレス計算回路が、探索方向を
    アドレスとし、探索先の格子点に対応した上記メッシュ
    メモリのアドレスを計算する際のアドレス増分値をデー
    タ内容とするアドレスオフセットメモリと探索先のメッ
    シュメモリのアドレスを計算するための加算器とから構
    成される特許請求範囲第1項記載の配線経路探索装置。
  5. 【請求項5】上記コスト計算回路が探索元の格子点情報
    と探索先の格子点情報から算出される展開コスト値を予
    め格納した探索コストメモリを有する特許請求範囲第1
    項記載の配線経路探索装置。
  6. 【請求項6】複数のベクトルレジスタとパイプライン演
    算器と主記憶装置とを備え、上記起点格子列挙回路,隣
    接アドレス計算回路,探索コスト計算回路,探索格子書
    き出し回路,重複探索除去回路,格子分類回路の機能を
    ベクトルレジスタ間またはベクトルレジスタと主記憶装
    置間の転送処理あるいは演算処理として実現する特許請
    求範囲第1項記載の配線経路探索装置。
JP3007547A 1991-01-25 1991-01-25 配線経路探索装置及び配線経路探索方法 Expired - Lifetime JP3033203B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP3007547A JP3033203B2 (ja) 1991-01-25 1991-01-25 配線経路探索装置及び配線経路探索方法
US07/820,995 US5245550A (en) 1991-01-25 1992-01-15 Apparatus for wire routing of VLSI

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3007547A JP3033203B2 (ja) 1991-01-25 1991-01-25 配線経路探索装置及び配線経路探索方法

Publications (2)

Publication Number Publication Date
JPH04241072A true JPH04241072A (ja) 1992-08-28
JP3033203B2 JP3033203B2 (ja) 2000-04-17

Family

ID=11668820

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3007547A Expired - Lifetime JP3033203B2 (ja) 1991-01-25 1991-01-25 配線経路探索装置及び配線経路探索方法

Country Status (2)

Country Link
US (1) US5245550A (ja)
JP (1) JP3033203B2 (ja)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3219500B2 (ja) * 1991-12-27 2001-10-15 株式会社東芝 自動配線方法
CA2102855A1 (en) * 1992-12-29 1994-06-30 Albon E. Gilbert Jumper cable selection and routing system
US5455775A (en) * 1993-01-25 1995-10-03 International Business Machines Corporation Computer design system for mapping a logical hierarchy into a physical hierarchy
US5519632A (en) * 1993-04-05 1996-05-21 International Business Machines Corporation Automatic DCS routing for multilayer packages to minimize coupled noise
US5495419A (en) * 1994-04-19 1996-02-27 Lsi Logic Corporation Integrated circuit physical design automation system utilizing optimization process decomposition and parallel processing
US5963975A (en) * 1994-04-19 1999-10-05 Lsi Logic Corporation Single chip integrated circuit distributed shared memory (DSM) and communications nodes
US6493658B1 (en) 1994-04-19 2002-12-10 Lsi Logic Corporation Optimization processing for integrated circuit physical design automation system using optimally switched fitness improvement algorithms
US5815403A (en) * 1994-04-19 1998-09-29 Lsi Logic Corporation Fail-safe distributive processing method for producing a highest fitness cell placement for an integrated circuit chip
US5557533A (en) * 1994-04-19 1996-09-17 Lsi Logic Corporation Cell placement alteration apparatus for integrated circuit chip physical design automation system
US6155725A (en) * 1994-04-19 2000-12-05 Lsi Logic Corporation Cell placement representation and transposition for integrated circuit physical design automation system
US5914887A (en) * 1994-04-19 1999-06-22 Lsi Logic Corporation Congestion based cost factor computing apparatus for integrated circuit physical design automation system
US5875117A (en) * 1994-04-19 1999-02-23 Lsi Logic Corporation Simultaneous placement and routing (SPAR) method for integrated circuit physical design automation system
US5636129A (en) * 1994-04-20 1997-06-03 Her; One-Hsiow A. Electrical routing through fixed sized module and variable sized channel grids
US5587923A (en) * 1994-09-07 1996-12-24 Lsi Logic Corporation Method for estimating routability and congestion in a cell placement for integrated circuit chip
JP3608832B2 (ja) * 1995-02-28 2005-01-12 富士通株式会社 自動配線方法および自動配線装置
US6145115A (en) * 1996-06-24 2000-11-07 Rohm Co., Ltd. Device for duplicating functions and a method for duplicating functions
US5872718A (en) * 1996-06-28 1999-02-16 Lsi Logic Corporation Advanced modular cell placement system
US5831863A (en) * 1996-06-28 1998-11-03 Lsi Logic Corporation Advanced modular cell placement system with wire length driven affinity system
US5844811A (en) * 1996-06-28 1998-12-01 Lsi Logic Corporation Advanced modular cell placement system with universal affinity driven discrete placement optimization
US5867398A (en) * 1996-06-28 1999-02-02 Lsi Logic Corporation Advanced modular cell placement system with density driven capacity penalty system
US5892688A (en) * 1996-06-28 1999-04-06 Lsi Logic Corporation Advanced modular cell placement system with iterative one dimensional preplacement optimization
US5870311A (en) * 1996-06-28 1999-02-09 Lsi Logic Corporation Advanced modular cell placement system with fast procedure for finding a levelizing cut point
US6030110A (en) * 1996-06-28 2000-02-29 Lsi Logic Corporation Advanced modular cell placement system with median control and increase in resolution
US5808899A (en) * 1996-06-28 1998-09-15 Lsi Logic Corporation Advanced modular cell placement system with cell placement crystallization
US5963455A (en) * 1996-06-28 1999-10-05 Lsi Logic Corporation Advanced modular cell placement system with functional sieve optimization technique
US5914888A (en) * 1996-06-28 1999-06-22 Lsi Logic Corporation Advanced modular cell placement system with coarse overflow remover
US6085032A (en) * 1996-06-28 2000-07-04 Lsi Logic Corporation Advanced modular cell placement system with sinusoidal optimization
US6026223A (en) * 1996-06-28 2000-02-15 Scepanovic; Ranko Advanced modular cell placement system with overlap remover with minimal noise
US6067409A (en) * 1996-06-28 2000-05-23 Lsi Logic Corporation Advanced modular cell placement system
US5870312A (en) * 1996-06-28 1999-02-09 Lsi Logic Corporation Advanced modular cell placement system with dispersion-driven levelizing system
US5812740A (en) * 1996-06-28 1998-09-22 Lsi Logic Corporation Advanced modular cell placement system with neighborhood system driven optimization
US5835381A (en) * 1996-06-28 1998-11-10 Lsi Logic Corporation Advanced modular cell placement system with minimizing maximal cut driven affinity system
US5980093A (en) * 1996-12-04 1999-11-09 Lsi Logic Corporation Integrated circuit layout routing using multiprocessing
JP3662097B2 (ja) * 1997-08-12 2005-06-22 Kddi株式会社 経路選択方法
US6266802B1 (en) 1997-10-27 2001-07-24 International Business Machines Corporation Detailed grid point layout using a massively parallel logic including an emulator/simulator paradigm
US6230304B1 (en) 1997-12-24 2001-05-08 Magma Design Automation, Inc. Method of designing a constraint-driven integrated circuit layout
US6182272B1 (en) * 1998-07-16 2001-01-30 Lsi Logic Corporation Metal layer assignment
JP2001142914A (ja) * 1999-11-10 2001-05-25 Fujitsu Ltd 経路探索方法及び記憶媒体
JP3987302B2 (ja) * 2001-04-26 2007-10-10 富士通株式会社 経路探索方法、タイミング解析方法、波形解析方法、電子回路シミュレーション装置、及びプログラム
US6862727B2 (en) 2001-08-24 2005-03-01 Formfactor, Inc. Process and apparatus for adjusting traces
US6678876B2 (en) * 2001-08-24 2004-01-13 Formfactor, Inc. Process and apparatus for finding paths through a routing space
US6918098B2 (en) * 2002-07-16 2005-07-12 Hewlett-Packard Development Company, L.P. Random code generation using genetic algorithms
US20060268715A1 (en) * 2005-05-06 2006-11-30 Interdigital Technology Corporation Method and apparatus for transmitting management information in a wireless communication system
JP4592494B2 (ja) * 2005-05-25 2010-12-01 新光電気工業株式会社 自動配線決定装置
US7574686B1 (en) * 2006-08-11 2009-08-11 Cadence Design Systems, Inc. Method and system for implementing deterministic multi-processing
US20080126503A1 (en) * 2006-10-05 2008-05-29 Holt John M Contention resolution with echo cancellation
US7851298B2 (en) * 2007-10-29 2010-12-14 Hynix Semiconductor Inc. Method for fabricating transistor in a semiconductor device utilizing an etch stop layer pattern as a dummy pattern for the gate electrode formation
US8789060B1 (en) 2007-12-27 2014-07-22 Cadence Design Systems, Inc. Deterministic, parallel execution with overlapping regions
CN114004174B (zh) * 2021-10-29 2023-08-25 中船奥蓝托无锡软件技术有限公司 适用多套复杂网格耦合cfd计算的高效宿主单元搜索方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3617714A (en) * 1969-04-15 1971-11-02 Bell Telephone Labor Inc Method of minimizing the interconnection cost of linked objects
US3681782A (en) * 1970-12-02 1972-08-01 Honeywell Inf Systems Machine process for positioning interconnected components to minimize interconnecting line length
US4484292A (en) * 1981-06-12 1984-11-20 International Business Machines Corporation High speed machine for the physical design of very large scale integrated circuits
US4593351A (en) * 1981-06-12 1986-06-03 International Business Machines Corporation High speed machine for the physical design of very large scale integrated circuits
US4495559A (en) * 1981-11-02 1985-01-22 International Business Machines Corporation Optimization of an organization of many discrete elements
JPS61199166A (ja) * 1985-03-01 1986-09-03 Nec Corp 配線経路探索装置
JPS62115574A (ja) * 1985-11-14 1987-05-27 Fujitsu Ltd 並列配線方式

Also Published As

Publication number Publication date
JP3033203B2 (ja) 2000-04-17
US5245550A (en) 1993-09-14

Similar Documents

Publication Publication Date Title
JPH04241072A (ja) 配線経路探索装置及び配線経路探索方法
US5144563A (en) Method and apparatus for optimizing element placement and method and apparatus for deciding the optimal element placement
JP2006509306A (ja) 関係アプリケーションへのデータ処理システム相互参照用セルエンジン
US7318213B2 (en) Apparatus, method and program for behavioral synthesis including loop processing
KR100555997B1 (ko) 메모리 엔진과, 데이터 조사 및 정정 방법
US20080235499A1 (en) Apparatus and method for information processing enabling fast access to program
JP2012008725A (ja) データをソートする装置及び方法
US20120030430A1 (en) Cache control apparatus, and cache control method
JP5244421B2 (ja) 情報処理装置およびプログラム分割方法
US20230297422A1 (en) Building and Scheduling Tasks for Parallel Processing
JP2008234491A (ja) 情報処理装置および情報処理方法
US20080154571A1 (en) Timing analysis method and apparatus for enhancing accuracy of timing analysis and improving work efficiency thereof
JPWO2011058657A1 (ja) 並列計算装置、並列計算方法、および並列計算プログラム
US8826214B2 (en) Implementing Z directional macro port assignment
US8549456B2 (en) System and method for circuit design floorplanning
JPH05241936A (ja) ガーベッジコレクション処理方式及びその記憶装置
JP3686261B2 (ja) 計算機、プログラム変換装置及びプログラム記録媒体
JP3502440B2 (ja) 高速データ検索装置および高速データ検索方法
JPH04182828A (ja) 擬似乱数によるテーブル内エントリー選択方式
JP2835082B2 (ja) 論理回路合成装置
JPH0766391B2 (ja) 連想マトリツクスのサーチ方法
JPS59188772A (ja) 経路探索処理方式
JPH04174071A (ja) ハッシュ処理装置
JP2002530785A (ja) ディジタル・メモリ構造と装置及びそれの管理方法
JPH05197778A (ja) 論理シミュレーション方式

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080218

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090218

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20090218

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100218

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20100218

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20110218

Year of fee payment: 11

EXPY Cancellation because of completion of term