JPH03138961A - 配線パターン決定方式 - Google Patents
配線パターン決定方式Info
- Publication number
- JPH03138961A JPH03138961A JP1276379A JP27637989A JPH03138961A JP H03138961 A JPH03138961 A JP H03138961A JP 1276379 A JP1276379 A JP 1276379A JP 27637989 A JP27637989 A JP 27637989A JP H03138961 A JPH03138961 A JP H03138961A
- Authority
- JP
- Japan
- Prior art keywords
- reference point
- point
- corner
- processor
- label
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000002372 labelling Methods 0.000 claims abstract description 5
- 238000004364 calculation method Methods 0.000 description 23
- 238000012545 processing Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 238000005452 bending Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011017 operating method Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
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)
- Image Analysis (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔目 次〕
概要
産業上の利用分野
従来の技術
発明が解決しようとする課題
課題を解決するための手段
作用
実施例
発明の効果
〔概 要〕
迷路法を用いてプリント基板やLSIの配線パターンを
設計する配線パターン決定方式に関し、迷路法の後方探
索の高速化を目的とし、迷路法の前方探索を行って始点
から終点までのラベル付けを行うラベル設定手段と、迷
路法の後方探索を行う基準点として、終点または決定す
る配線パターンの曲がり角を設定する基準点設定手段と
、基準点設定手段によって設定された基準点に付された
ラベルに基づいて、この基準点の次の曲がり角を決定す
る曲がり角判定手段と、曲がり角判定手段で決定された
曲がり角と始点とが一致したときに後方探索の終了を判
定する終了判定手段と、曲がり角判定手段で決定された
曲がり角と始点とが不一致のときに、この曲がり角を基
準点設定手段で新たな基準点として設定する指示を行う
基準点更新手段とを備えるように構成する。
設計する配線パターン決定方式に関し、迷路法の後方探
索の高速化を目的とし、迷路法の前方探索を行って始点
から終点までのラベル付けを行うラベル設定手段と、迷
路法の後方探索を行う基準点として、終点または決定す
る配線パターンの曲がり角を設定する基準点設定手段と
、基準点設定手段によって設定された基準点に付された
ラベルに基づいて、この基準点の次の曲がり角を決定す
る曲がり角判定手段と、曲がり角判定手段で決定された
曲がり角と始点とが一致したときに後方探索の終了を判
定する終了判定手段と、曲がり角判定手段で決定された
曲がり角と始点とが不一致のときに、この曲がり角を基
準点設定手段で新たな基準点として設定する指示を行う
基準点更新手段とを備えるように構成する。
本発明は、迷路法を用いてプリント基板やLSIの配線
パターンを設計する配線パターン決定方式に関するもの
である。
パターンを設計する配線パターン決定方式に関するもの
である。
例えば、配線処理等のLSI−CADを含む大規模組み
合わせ問題は、非常に高速な演算能力を必要とする。こ
れを解決するためには、多数のプロセッサを用いて構成
する超並列計算機によって高速演算処理を行うことが有
望であり、多数のプロセッサを動作させて効率よく上記
問題を解決する方式が望まれている。
合わせ問題は、非常に高速な演算能力を必要とする。こ
れを解決するためには、多数のプロセッサを用いて構成
する超並列計算機によって高速演算処理を行うことが有
望であり、多数のプロセッサを動作させて効率よく上記
問題を解決する方式が望まれている。
迷路法は、与えられた2点を最短の配線で結ぶためのア
ルゴリズムであり、プリント基板やLSIの配線パター
ンを決定する手法として汎用されている。迷路法では、
対象となる平面を配線単位となる格子状のグリッドに分
割し、配線によって結ぶ一方のグリッドをソース(始点
)、他方のグリッドをターゲット(終点)として、前方
探索及び後方探索を行って配線パターン(ネット)を決
定する。ここで、前方探索とは、ソースに隣接する空の
グリッド(II害物のないグリッド)にラベル1を与え
、次にラベル1が与えられたグリッドに隣接する空のグ
リッドにラベル2を与え、以後同様にして、ラベルnの
グリッドに隣接する空のグリッドにラベルn+1を与え
る操作を、隣接グリッドがなくなるまであるいはターゲ
ットに達するまで行う処理をいう。また、後方探索とは
、ターゲットを始点としてこのラベルが付された各グリ
ッドを、ラベルを1つずつ減らすようにソースまで辿っ
て行う処理をいう。
ルゴリズムであり、プリント基板やLSIの配線パター
ンを決定する手法として汎用されている。迷路法では、
対象となる平面を配線単位となる格子状のグリッドに分
割し、配線によって結ぶ一方のグリッドをソース(始点
)、他方のグリッドをターゲット(終点)として、前方
探索及び後方探索を行って配線パターン(ネット)を決
定する。ここで、前方探索とは、ソースに隣接する空の
グリッド(II害物のないグリッド)にラベル1を与え
、次にラベル1が与えられたグリッドに隣接する空のグ
リッドにラベル2を与え、以後同様にして、ラベルnの
グリッドに隣接する空のグリッドにラベルn+1を与え
る操作を、隣接グリッドがなくなるまであるいはターゲ
ットに達するまで行う処理をいう。また、後方探索とは
、ターゲットを始点としてこのラベルが付された各グリ
ッドを、ラベルを1つずつ減らすようにソースまで辿っ
て行う処理をいう。
特に最近では、配線対象となるプリント基板やLSIの
高密度化に伴って迷路法の対象となる格子数すなわち扱
うデータ規模が増大しつつあり、配線処理の高速化が要
求されており、専用ハードウェア化、並列処理化の試み
がなされている。
高密度化に伴って迷路法の対象となる格子数すなわち扱
うデータ規模が増大しつつあり、配線処理の高速化が要
求されており、専用ハードウェア化、並列処理化の試み
がなされている。
例えば、各グリッドにI対Iにプロセッサを割りつけて
、隣接する各プロセッサ間を通信ボートで接続する。前
方探索を行う場合、ウェーブフロント(同一ラベルが付
されたグリッド)上の各プロセッサを並列動作させ、隣
接するプロセッサに対するラベルの伝播を並行して行う
。このようにウェーブフロント上のプロセッサによる並
列処理を行うことで高速化が可能になる。
、隣接する各プロセッサ間を通信ボートで接続する。前
方探索を行う場合、ウェーブフロント(同一ラベルが付
されたグリッド)上の各プロセッサを並列動作させ、隣
接するプロセッサに対するラベルの伝播を並行して行う
。このようにウェーブフロント上のプロセッサによる並
列処理を行うことで高速化が可能になる。
ところで、上述したように各グリッドに対応したプロセ
ッサを有し、隣接したプロセッサ間を通信ボートで接続
したような場合には、迷路法の後方探索における並列処
理が不可能であり、高速化が困難であるという問題点が
あった。
ッサを有し、隣接したプロセッサ間を通信ボートで接続
したような場合には、迷路法の後方探索における並列処
理が不可能であり、高速化が困難であるという問題点が
あった。
後方探索においては、ターゲットに対応したプロセッサ
から前方探索時に付されたラベルを手掛かりに、ソース
に対応したプロセッサに達するまで順に辿っていくこと
により配線経路を決定しているため、ある時点に着目す
ると2つのプロセッサ間で経路に関する情報が入出力さ
れるだけであり、その他のプロセッサは待ち状態にある
。従って、全体としてはプロセッサの並列性が生かされ
ない欠点がある。
から前方探索時に付されたラベルを手掛かりに、ソース
に対応したプロセッサに達するまで順に辿っていくこと
により配線経路を決定しているため、ある時点に着目す
ると2つのプロセッサ間で経路に関する情報が入出力さ
れるだけであり、その他のプロセッサは待ち状態にある
。従って、全体としてはプロセッサの並列性が生かされ
ない欠点がある。
本発明は、このような点にかんがみて創作されたもので
あり、迷路法の後方探索を高速化できる配線パターン決
定方式を提供することを目的としている。
あり、迷路法の後方探索を高速化できる配線パターン決
定方式を提供することを目的としている。
第1図は、本発明の配線パターン決定方式の原理ブロッ
ク図である。
ク図である。
図において、ラベル設定手段111は、迷路法の前方探
索を行って始点から終点までのラベル付けを行う。
索を行って始点から終点までのラベル付けを行う。
基準点設定手段121は、迷路法の後方探索を行う基準
点として、終点または決定する配線パターンの曲がり角
を設定する。
点として、終点または決定する配線パターンの曲がり角
を設定する。
曲がり角判定手段131は、基準点設定手段121によ
って設定された基準点に付されたラベルに基づいて、こ
の基準点の次の曲がり角を決定する。
って設定された基準点に付されたラベルに基づいて、こ
の基準点の次の曲がり角を決定する。
終了判定手段141は、曲がり角判定手段131で決定
された曲がり角と始点とが一致したときに後方探索の終
了を判定する。
された曲がり角と始点とが一致したときに後方探索の終
了を判定する。
基準点更新手段151は、曲がり角判定手段131で決
定された曲がり角と始点とが不一致のときに、この曲が
り角を基準点設定手段121で新たな基準点として設定
する指示を行う。
定された曲がり角と始点とが不一致のときに、この曲が
り角を基準点設定手段121で新たな基準点として設定
する指示を行う。
従って、全体として、後方探索による配線パターンの決
定を曲がり角を単位として行うように構成されている。
定を曲がり角を単位として行うように構成されている。
(作 用]
ラベル設定手段111によって迷路法の前方探索を行っ
て始点から終点までのラベル付けを行い、その後以下に
示す後方探索を実施する。
て始点から終点までのラベル付けを行い、その後以下に
示す後方探索を実施する。
先ず、基準点設定手段121によって終点を基準点に設
定する。曲がり角判定手段131は、この基準点に付さ
れたラベルに基づいて、配線パターン上にある基準点(
終点)の次の曲がり角を検出する。終了判定手段141
では、この検出した曲がり角が始点であるか、すなわち
、後方探索が終了したかどうかを判定する。検出した曲
がり角が始点でない場合には、基準点更新手段151に
よって基準点の更新指示を基準点設定手段121に送る
。この更新指示を受は取った基準点設定手段121では
、曲がり角判定手段131で検出した曲がり角を新たな
基準点として設定しなおす。
定する。曲がり角判定手段131は、この基準点に付さ
れたラベルに基づいて、配線パターン上にある基準点(
終点)の次の曲がり角を検出する。終了判定手段141
では、この検出した曲がり角が始点であるか、すなわち
、後方探索が終了したかどうかを判定する。検出した曲
がり角が始点でない場合には、基準点更新手段151に
よって基準点の更新指示を基準点設定手段121に送る
。この更新指示を受は取った基準点設定手段121では
、曲がり角判定手段131で検出した曲がり角を新たな
基準点として設定しなおす。
以後、新たな基準点に対して次の曲がり角の検出を行い
、検出した曲がり角が始点に達するまで同様の処理を繰
り返す。
、検出した曲がり角が始点に達するまで同様の処理を繰
り返す。
本発明にあっては、曲がり角を基準点として次の曲がり
角を検出することにより配線パターンの決定を行ってお
り、曲がり周間の直線経路が一度に決定される。
角を検出することにより配線パターンの決定を行ってお
り、曲がり周間の直線経路が一度に決定される。
〔実施例]
以下、図面に基づいて本発明の実施例について詳細に説
明する。
明する。
第2図は、本発明の配線パターン決定方式を適用した一
実施例の構成を示しており、迷路法を実施してプリント
基板やLSIの配線を決定するためのものである。
実施例の構成を示しており、迷路法を実施してプリント
基板やLSIの配線を決定するためのものである。
第2図において、211はプロセッサアレイを、213
はプロセッサ(PE)を、221は収集演算回路を、2
31はグローバルメモリを、241はコントローラをそ
れぞれ示している。
はプロセッサ(PE)を、221は収集演算回路を、2
31はグローバルメモリを、241はコントローラをそ
れぞれ示している。
プロセッサアレイ211は、複数のプロセッサ213を
格子状に接続したものである。各プロセッサ213は迷
路法においてラベル付けがなされる各グリッドに対応し
て設けられ、隣接するプロセッサ213間は通信ボート
を介して接続されている。前方探索時にはこの通信ボー
トを介して隣接するプロセッサ213にラベル付けの情
報が伝達される。また、各プロセッサ213は、配線に
必要な各種のデータを保持するメモリと、そのデータに
対して演算を実行する演算回路と、隣接するプロセッサ
213と通信を行うための4つの通信ボートとを備えて
いる。
格子状に接続したものである。各プロセッサ213は迷
路法においてラベル付けがなされる各グリッドに対応し
て設けられ、隣接するプロセッサ213間は通信ボート
を介して接続されている。前方探索時にはこの通信ボー
トを介して隣接するプロセッサ213にラベル付けの情
報が伝達される。また、各プロセッサ213は、配線に
必要な各種のデータを保持するメモリと、そのデータに
対して演算を実行する演算回路と、隣接するプロセッサ
213と通信を行うための4つの通信ボートとを備えて
いる。
収集演算回路221は、プロセッサアレイ211の全て
のプロセッサ213に接続されており、全出力データに
対して所定の演算を行う。所定の演算としては例えば論
理積、論理和、加算、最大値算出、最小値算出等がある
。収集演算回路221の詳細構成は、第3図に示すよう
に、ツリー構造の複数個の演算回路(LU)321,3
23゜・・・、329で構成されている。各演算回路は
、2人力に対して上述した所定の演算を実行するもので
あり、この演算の種類はコントローラ241から指示さ
れる。各プロセッサ213は2つずつが組になって各演
算回路321に接続されており、演算回路321では対
応する2つのプロセッサ213の出力データに対して所
定の演算を行い、その演算結果を次段の演算回路323
に人力する。
のプロセッサ213に接続されており、全出力データに
対して所定の演算を行う。所定の演算としては例えば論
理積、論理和、加算、最大値算出、最小値算出等がある
。収集演算回路221の詳細構成は、第3図に示すよう
に、ツリー構造の複数個の演算回路(LU)321,3
23゜・・・、329で構成されている。各演算回路は
、2人力に対して上述した所定の演算を実行するもので
あり、この演算の種類はコントローラ241から指示さ
れる。各プロセッサ213は2つずつが組になって各演
算回路321に接続されており、演算回路321では対
応する2つのプロセッサ213の出力データに対して所
定の演算を行い、その演算結果を次段の演算回路323
に人力する。
同様に、演算回路323も2つの演算回路321の出力
データに対して所定の演算を行い、最終的には全てのプ
ロセッサ213の出力データに対して所定の演算を行っ
た結果が最終段の演算回路329から出力される。この
出力データは、収集演算回路221の演算結果として出
力される。
データに対して所定の演算を行い、最終的には全てのプ
ロセッサ213の出力データに対して所定の演算を行っ
た結果が最終段の演算回路329から出力される。この
出力データは、収集演算回路221の演算結果として出
力される。
グローバルメモリ231は、全プロセッサ213に送り
出す共通のデータを保持したり、収集演算回路221に
よる演算結果を受は取って保持する。
出す共通のデータを保持したり、収集演算回路221に
よる演算結果を受は取って保持する。
コントローラ241は、各プロセッサ213に対するデ
ータ入出力や演算実行等の動作指示を与えると共に、収
集演算回路221に対する演算種別の指定や演算実行等
の動作指示を与え、迷路法による配線パターンの決定を
行うためのシーケンシャル制御を行っている。
ータ入出力や演算実行等の動作指示を与えると共に、収
集演算回路221に対する演算種別の指定や演算実行等
の動作指示を与え、迷路法による配線パターンの決定を
行うためのシーケンシャル制御を行っている。
以下、上述した構成を有する実施例において迷路法を実
施した場合の動作を説明する。前方探索及び後方探索に
ついて場合を分けて説明する。
施した場合の動作を説明する。前方探索及び後方探索に
ついて場合を分けて説明する。
(上升皿方互亥
第4図に実施例の前方探索の概略を、第5図にその動作
手順を示す。実施例では、第4図に示すように、9×1
3のグリッドに区切られた平面を考え、各グリッドに各
プロセッサ213が対応している。また、障害物(配線
禁止エリア)に相当するグリッド(第4図の斜線部分)
に対応したプロセッサ213は、例えば動作が停止して
おり、配線パターン決定の処理には参加しないようにな
っている。
手順を示す。実施例では、第4図に示すように、9×1
3のグリッドに区切られた平面を考え、各グリッドに各
プロセッサ213が対応している。また、障害物(配線
禁止エリア)に相当するグリッド(第4図の斜線部分)
に対応したプロセッサ213は、例えば動作が停止して
おり、配線パターン決定の処理には参加しないようにな
っている。
いま、座標(3−チ)のグリッドをソース、座標(8−
チ)のグリッドをターゲットとして前方探索を行うもの
とする。また、各プロセッサ213、収集演算回路22
1.グローバルメモリ231に対する動作指示はコント
ローラ241が行うものとする。
チ)のグリッドをターゲットとして前方探索を行うもの
とする。また、各プロセッサ213、収集演算回路22
1.グローバルメモリ231に対する動作指示はコント
ローラ241が行うものとする。
ステップA1: (初期化)
各プロセッサ213内部のメモリの変数「ラベル」をク
リアする。
リアする。
ステップA2: (ソースの設定)
ソースに対応する座標(3−チ)のプロセッサ213に
対して指示を送り、この指示を受は取ったプロセッサ2
13ではメモリ内の変数「ラベル」にソースであること
を示す印Sを設定する。
対して指示を送り、この指示を受は取ったプロセッサ2
13ではメモリ内の変数「ラベル」にソースであること
を示す印Sを設定する。
ステップA3: (ターゲットの設定)ターゲットに対
応する座標(8−チ)のプロセッサ213に対して指示
を送り、この指示を受は取ったプロセッサ213では変
数「ターゲット」を“1′′に設定する。それ以外のプ
ロセッサ213では変数「ターゲット」を“0”に設定
する。
応する座標(8−チ)のプロセッサ213に対して指示
を送り、この指示を受は取ったプロセッサ213では変
数「ターゲット」を“1′′に設定する。それ以外のプ
ロセッサ213では変数「ターゲット」を“0”に設定
する。
ステップA4: (ラベルの伝播)
配線禁止エリアでなく、しかも変数「ラベル」がクリア
状態のプロセッサ213のみが以下の処理を実行する。
状態のプロセッサ213のみが以下の処理を実行する。
隣接するプロセッサ213の変数「ラベル」がクリア状
態でなければ、その隣接するプロセッサ213向きの矢
印を自分の変数「ラベル」に設定する。
態でなければ、その隣接するプロセッサ213向きの矢
印を自分の変数「ラベル」に設定する。
なお、本実施例の前方探索においては、ラベル付けを数
字の代わりに矢印で行っており、矢の指す4方向を数ビ
ツトデータ(例えば4ビツト)で表すことができるよう
になっている。また、変数「ラベル」がクリア状態でな
い隣接プロセッサ213が2つないし3つある場合には
、所定の優先順に従って何れかの矢印方向が決定される
(実施例では左右方向の矢印を上下方向の矢印に優先さ
せるものとする)。
字の代わりに矢印で行っており、矢の指す4方向を数ビ
ツトデータ(例えば4ビツト)で表すことができるよう
になっている。また、変数「ラベル」がクリア状態でな
い隣接プロセッサ213が2つないし3つある場合には
、所定の優先順に従って何れかの矢印方向が決定される
(実施例では左右方向の矢印を上下方向の矢印に優先さ
せるものとする)。
このように各プロセッサ213によるラベルの設定は、
全プロセッサ213において並行して行われる。
全プロセッサ213において並行して行われる。
ステップA5: (ターゲットの読み出し)各プロセッ
サ213におけるラベルの設定が終了すると、ターゲッ
トに対応したプロセッサ213は変数「ラベル」の設定
値を、それ以外の全プロセッサ213は0゛を収集演算
回路221に出力する。
サ213におけるラベルの設定が終了すると、ターゲッ
トに対応したプロセッサ213は変数「ラベル」の設定
値を、それ以外の全プロセッサ213は0゛を収集演算
回路221に出力する。
収集演算回路221では、各プロセッサ213の出力に
対して論理和を演算して出力する。この出力はターゲッ
トに対応するプロセッサ213の変数「ラベル」の値そ
のものであり、グローバルメモリ231を介してコント
ローラ241に送られる。
対して論理和を演算して出力する。この出力はターゲッ
トに対応するプロセッサ213の変数「ラベル」の値そ
のものであり、グローバルメモリ231を介してコント
ローラ241に送られる。
ステップA6: (終了判定)
コントローラ241は、ターゲットに対応するプロセッ
サ213の変数「ラベル」の値がクリア状態であるか否
かを判定する。クリア状態である場合には前方探索によ
るラベル付けがターゲットに達していないことを示して
おり、肯定判断してステップA4に戻って処理を繰り返
す。
サ213の変数「ラベル」の値がクリア状態であるか否
かを判定する。クリア状態である場合には前方探索によ
るラベル付けがターゲットに達していないことを示して
おり、肯定判断してステップA4に戻って処理を繰り返
す。
また、クリア状態である場合には否定判断して前方探索
に関する処理を終了する。
に関する処理を終了する。
LiLL麦立探索
第6図に実施例の後方探索の概略を、第7図にその動作
手順を示す。各プロセッサ213は各自のメモリ213
内の自分の座標(座標(2−チ)等をコード化したもの
)を保持しているものとする。
手順を示す。各プロセッサ213は各自のメモリ213
内の自分の座標(座標(2−チ)等をコード化したもの
)を保持しているものとする。
ステップB1: (初期化)
各プロセッサ213のメモリ内の変数「マーカ」を“O
“″に設定し、ターゲットに対応するプロセンサ213
のメモリ内の変数「開始点」を“1°”に設定する。
“″に設定し、ターゲットに対応するプロセンサ213
のメモリ内の変数「開始点」を“1°”に設定する。
ステップB2: (探索開始点情報読み出し)変数「開
始点」に“°1゛′が設定されてい略プロセッサ213
(最初はターゲットに対応したプロセッサ213)は、
変数「ラベル」の値(前方探索で付した矢印の向き)と
自分の座標を収集演算回路221に出力する。また、他
の全てのプロセッサ213は“′0゛を収集演算回路2
21に出力する。
始点」に“°1゛′が設定されてい略プロセッサ213
(最初はターゲットに対応したプロセッサ213)は、
変数「ラベル」の値(前方探索で付した矢印の向き)と
自分の座標を収集演算回路221に出力する。また、他
の全てのプロセッサ213は“′0゛を収集演算回路2
21に出力する。
収集演算回路221では、各プロセッサ213の出力に
対して論理和を演算して出力し、この出力(変数「ラベ
ル」の値と座標値)はそれぞれグローバルメモリ231
内の変数「矢印方向」及び変数「座標」に格納される。
対して論理和を演算して出力し、この出力(変数「ラベ
ル」の値と座標値)はそれぞれグローバルメモリ231
内の変数「矢印方向」及び変数「座標」に格納される。
ステップB3: (候補フラグの初期化)全てのプロセ
ッサ213の変数「候補フラグ」を“0”に設定する。
ッサ213の変数「候補フラグ」を“0”に設定する。
ステップB4:(次の曲がり角の候補決定)グローバル
メモリ231内の変数「矢印方向J及び変数「座標」の
各値を全てのプロセッサ213に入力する(ブロードキ
ャストする)。これらの値が入力された各プロセッサ2
13では、以下の■及び■の条件が成立したときに、変
数「候補フラグ」に“′1゛′を設定する。
メモリ231内の変数「矢印方向J及び変数「座標」の
各値を全てのプロセッサ213に入力する(ブロードキ
ャストする)。これらの値が入力された各プロセッサ2
13では、以下の■及び■の条件が成立したときに、変
数「候補フラグ」に“′1゛′を設定する。
条件■:大入力れた変数「座標」に示されたグリッドか
ら変数「矢印方向」で示された矢印の向きに自分が位置
する。
ら変数「矢印方向」で示された矢印の向きに自分が位置
する。
条件■;変数「矢印方向」で示された矢印の向きと違う
向きが自分の変数「ラベル」に設定されている。
向きが自分の変数「ラベル」に設定されている。
ステップB5: (次の曲がり角の検出)変数「候補フ
ラグ」に“1”が設定されたプロセッサ213は、自分
の座標のうち変数「矢印方向」で示された矢印方向の要
素を収集演算回路221に出力する。例えば第4図にお
いて、変数「矢印方向」にターゲットの矢印(→)が設
定されている場合には、変数「候補フラグ」に°°1”
が設定されているプロセッサ2I3(座標(12−チ)
のプロセッサ213)は、自分の座標のうち矢印方向す
なわち水平方向の要素(12をコード化した値)を出力
する。
ラグ」に“1”が設定されたプロセッサ213は、自分
の座標のうち変数「矢印方向」で示された矢印方向の要
素を収集演算回路221に出力する。例えば第4図にお
いて、変数「矢印方向」にターゲットの矢印(→)が設
定されている場合には、変数「候補フラグ」に°°1”
が設定されているプロセッサ2I3(座標(12−チ)
のプロセッサ213)は、自分の座標のうち矢印方向す
なわち水平方向の要素(12をコード化した値)を出力
する。
変数「候補フラグ」に“0°゛が設定されているプロセ
ッサ213は、変数「矢印方向」で示された矢印方向が
正方向であるならば、表現可能な最大値(例えば座標値
が8ビツトでコード化されている場合には全ビットを“
I IIにする)を収集演算回路221に出力する。ま
た、変数「矢印方向」で示された矢印方向が負方向であ
るならば、パ0”を収集演算回路221に出力する。
ッサ213は、変数「矢印方向」で示された矢印方向が
正方向であるならば、表現可能な最大値(例えば座標値
が8ビツトでコード化されている場合には全ビットを“
I IIにする)を収集演算回路221に出力する。ま
た、変数「矢印方向」で示された矢印方向が負方向であ
るならば、パ0”を収集演算回路221に出力する。
収集演算回路221では、変数「矢印方向」で示された
矢印方向が正方向であるならば最小値算出を行い、負方
向であるならば最大値算出を行う。
矢印方向が正方向であるならば最小値算出を行い、負方
向であるならば最大値算出を行う。
このように矢印方向に応じて最小値あるいは最大値算出
を行うことにより、この矢印方向にあって向きが異なる
最初のプロセッサ213の座標(矢印方向の座標)が求
まる。
を行うことにより、この矢印方向にあって向きが異なる
最初のプロセッサ213の座標(矢印方向の座標)が求
まる。
演算結果は、グローバルメモリ231内の変数「座標」
のうち変数「矢印方向Jで示された矢印方向の要素に格
納される。
のうち変数「矢印方向Jで示された矢印方向の要素に格
納される。
なお、収集演算回路221における最小値算出か最大値
算出かの指定はコントローラ241によって行われる。
算出かの指定はコントローラ241によって行われる。
ステップB6: (終了判定)
コントローラ241は、グローバルメモリ231内の変
数「座標」の値を読み出し、この値がソースを示してい
るか否かを判定する。肯定判断の場合は後方探索がソー
スまで達したときであり、後方探索に関する処理を終了
する。否定判断の場合は以下の動作を継続する。
数「座標」の値を読み出し、この値がソースを示してい
るか否かを判定する。肯定判断の場合は後方探索がソー
スまで達したときであり、後方探索に関する処理を終了
する。否定判断の場合は以下の動作を継続する。
ステップB7: (新しい探索開始点の設定)グローバ
ルメモリ231内の変数「座標」の値を全てのプロセッ
サ213にブロードキャストする。各プロセッサ213
では入力された変数「座標」の値を自分の座標と比較し
、等しい場合はメモリ311内の変数「開始点」を゛1
パに設定する。等しくない場合はメモリ311内の変数
「開始点」を0”に設定する。
ルメモリ231内の変数「座標」の値を全てのプロセッ
サ213にブロードキャストする。各プロセッサ213
では入力された変数「座標」の値を自分の座標と比較し
、等しい場合はメモリ311内の変数「開始点」を゛1
パに設定する。等しくない場合はメモリ311内の変数
「開始点」を0”に設定する。
以後、ステップB2に戻って処理を繰り返す。
このように、決定する配線パターンの各曲がり角を基準
とし、この曲がり角に対応したラベル(グローバルメモ
リ231内の変数「矢印方向」で示された矢印方向)に
沿った次の曲がり角を求める。この操作を各曲がり角に
ついて行って、最終的にはソースに達するまでの配線パ
ターンを決定する。
とし、この曲がり角に対応したラベル(グローバルメモ
リ231内の変数「矢印方向」で示された矢印方向)に
沿った次の曲がり角を求める。この操作を各曲がり角に
ついて行って、最終的にはソースに達するまでの配線パ
ターンを決定する。
例えば、第6図に示したように、ターゲットの次の曲が
り角として座標(12−チ)が検出され、続いて座標(
12−ホ)、(7−ホ)、(7−ハ)。
り角として座標(12−チ)が検出され、続いて座標(
12−ホ)、(7−ホ)、(7−ハ)。
(3−ハ)、最後にソースである座標(3−チ)が検出
され、これらを結んだパスが配線パターンとなる。
され、これらを結んだパスが配線パターンとなる。
従って、後方探索を行う際に2つの曲がり角の間の直線
経路を一度に求めることができ、処理の高速化が可能に
なる。一般に配線パターンの全長Nに対して曲がり角の
数MはN >> Mであり、処理に要する時間はほぼM
/Nに短縮することができる。
経路を一度に求めることができ、処理の高速化が可能に
なる。一般に配線パターンの全長Nに対して曲がり角の
数MはN >> Mであり、処理に要する時間はほぼM
/Nに短縮することができる。
なお、上述した本発明の実施例においては、プロセッサ
213内のメモリに変数「開始点」、「座標j等の領域
を確保するようにしたが、これらの値を専用に格納する
開始点レジスタ、座標レジスタ等を設けて専用ハードウ
ェア化を図るようにしてもよい。
213内のメモリに変数「開始点」、「座標j等の領域
を確保するようにしたが、これらの値を専用に格納する
開始点レジスタ、座標レジスタ等を設けて専用ハードウ
ェア化を図るようにしてもよい。
また、実施例では、平面上の配線パターンを決定するよ
うにしたが、多層プリント基板等において配線パターン
を決定する場合についても本発明を適用することができ
る。
うにしたが、多層プリント基板等において配線パターン
を決定する場合についても本発明を適用することができ
る。
上述したように、本発明によれば、基準点に対応するラ
ベルに基づいてこの基準点の次の曲がり角を検出するこ
とにより配線パターンの決定を行っており、曲がり周間
の直線経路を一度に決定することにより、迷路法の後方
探索が高速化できるので、実用的には極めて有用である
。
ベルに基づいてこの基準点の次の曲がり角を検出するこ
とにより配線パターンの決定を行っており、曲がり周間
の直線経路を一度に決定することにより、迷路法の後方
探索が高速化できるので、実用的には極めて有用である
。
第1図は本発明の配線パターン決定方式の原理ブロック
図、 第2図は本発明の一実施例の構成図、 第3図は一実施例の詳細構成図、 第4図は一実施例の前方探索の概略図、第5図及び第7
図は一実施例の動作説明図、第6図は一実施例の後方探
索の概略図である。 図において、 Illはラベル設定手段、 121は基準点設定手段、 131は曲がり角判定手段、 141は終了判定手段、 151は基準点更新手段、 211はプロセッサアレイ、 213はプロセッサ、 221は収集演算回路、 23 ■はグローバルメモリ、 241はコントローラ、 321゜ 323゜ 329は演算回路(LU) であ る。 一 q又10回語・幻1旺溝へ図 第 図 第 図 0 1 2 3 一実范f何の#Jδ探索峨明2 0 1 2 3 一寅り巳fWJのt灸杏探累のt栄8nEコ第6図
図、 第2図は本発明の一実施例の構成図、 第3図は一実施例の詳細構成図、 第4図は一実施例の前方探索の概略図、第5図及び第7
図は一実施例の動作説明図、第6図は一実施例の後方探
索の概略図である。 図において、 Illはラベル設定手段、 121は基準点設定手段、 131は曲がり角判定手段、 141は終了判定手段、 151は基準点更新手段、 211はプロセッサアレイ、 213はプロセッサ、 221は収集演算回路、 23 ■はグローバルメモリ、 241はコントローラ、 321゜ 323゜ 329は演算回路(LU) であ る。 一 q又10回語・幻1旺溝へ図 第 図 第 図 0 1 2 3 一実范f何の#Jδ探索峨明2 0 1 2 3 一寅り巳fWJのt灸杏探累のt栄8nEコ第6図
Claims (1)
- (1)迷路法の前方探索を行って始点から終点までのラ
ベル付けを行うラベル設定手段(111)と、迷路法の
後方探索を行う基準点として、前記終点または決定する
配線パターンの曲がり角を設定する基準点設定手段(1
21)と、 前記基準点設定手段(121)によって設定された基準
点に付されたラベルに基づいて、この基準点の次の曲が
り角を決定する曲がり角判定手段(131)と、 前記曲がり角判定手段(131)で決定された曲がり角
と前記始点とが一致したときに後方探索の終了を判定す
る終了判定手段(141)と、前記曲がり角判定手段(
131)で決定された曲がり角と前記始点とが不一致の
ときに、この曲がり角を前記基準点設定手段(121)
で新たな基準点として設定する指示を行う基準点更新手
段(151)と、 を備えるように構成したことを特徴とする配線パターン
決定方式。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1276379A JPH03138961A (ja) | 1989-10-24 | 1989-10-24 | 配線パターン決定方式 |
DE69028676T DE69028676T2 (de) | 1989-10-24 | 1990-10-24 | System und Verfahren zur Bestimmung des Verdrahtungsmusters |
EP90120406A EP0424908B1 (en) | 1989-10-24 | 1990-10-24 | Wiring-pattern-determination system and method |
US07/602,863 US5198987A (en) | 1989-10-24 | 1990-10-24 | Wiring-pattern-determination system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1276379A JPH03138961A (ja) | 1989-10-24 | 1989-10-24 | 配線パターン決定方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH03138961A true JPH03138961A (ja) | 1991-06-13 |
Family
ID=17568606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1276379A Pending JPH03138961A (ja) | 1989-10-24 | 1989-10-24 | 配線パターン決定方式 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5198987A (ja) |
EP (1) | EP0424908B1 (ja) |
JP (1) | JPH03138961A (ja) |
DE (1) | DE69028676T2 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04130968A (ja) * | 1990-09-21 | 1992-05-01 | Toshiba Corp | ニューラルネットワークを用いた配線方式 |
US5634093A (en) * | 1991-01-30 | 1997-05-27 | Kabushiki Kaisha Toshiba | Method and CAD system for designing wiring patterns using predetermined rules |
US5297053A (en) * | 1991-06-04 | 1994-03-22 | Computervision Corporation | Method and apparatus for deferred package assignment for components of an electronic circuit for a printed circuit board |
US5636129A (en) * | 1994-04-20 | 1997-06-03 | Her; One-Hsiow A. | Electrical routing through fixed sized module and variable sized channel grids |
US6223328B1 (en) * | 1996-12-03 | 2001-04-24 | Fujitsu, Limited | Wire processing method, wire processing equipment, and recording medium for wire processing program used in designing a large scale integrated circuit |
US5980093A (en) * | 1996-12-04 | 1999-11-09 | Lsi Logic Corporation | Integrated circuit layout routing using multiprocessing |
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 |
JP4562625B2 (ja) | 2005-09-12 | 2010-10-13 | 新光電気工業株式会社 | 自動配線決定方法、およびこの自動配線決定処理をコンピュータに実行させるためのコンピュータプログラム |
EP2032856B1 (en) * | 2006-05-24 | 2018-09-12 | Multitrode Pty Ltd. | Pumping station configuration techniques |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61199166A (ja) * | 1985-03-01 | 1986-09-03 | Nec Corp | 配線経路探索装置 |
US4777606A (en) * | 1986-06-05 | 1988-10-11 | Northern Telecom Limited | Method for deriving an interconnection route between elements in an interconnection medium |
JPS63225869A (ja) * | 1986-10-09 | 1988-09-20 | Nec Corp | 配線経路探索方式 |
US5032991A (en) * | 1988-12-14 | 1991-07-16 | At&T Ball Laboratories | Method for routing conductive paths |
-
1989
- 1989-10-24 JP JP1276379A patent/JPH03138961A/ja active Pending
-
1990
- 1990-10-24 US US07/602,863 patent/US5198987A/en not_active Expired - Lifetime
- 1990-10-24 EP EP90120406A patent/EP0424908B1/en not_active Expired - Lifetime
- 1990-10-24 DE DE69028676T patent/DE69028676T2/de not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP0424908A2 (en) | 1991-05-02 |
DE69028676T2 (de) | 1997-04-30 |
US5198987A (en) | 1993-03-30 |
DE69028676D1 (de) | 1996-10-31 |
EP0424908B1 (en) | 1996-09-25 |
EP0424908A3 (en) | 1991-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5144563A (en) | Method and apparatus for optimizing element placement and method and apparatus for deciding the optimal element placement | |
Zheng et al. | Finding obstacle-avoiding shortest paths using implicit connection graphs | |
Miller et al. | Image computations on reconfigurable VLSI arrays | |
JPH03138961A (ja) | 配線パターン決定方式 | |
JPS6239818B2 (ja) | ||
US5488692A (en) | System and method for representing and manipulating three-dimensional objects on massively parallel architectures | |
JPH08329261A (ja) | パラメータ曲線発生器 | |
JP2000163384A (ja) | 半導体装置 | |
Bokka et al. | Constant-time convexity problems on reconfigurable meshes | |
JP2009104403A (ja) | 再構成ユニットによる解探索の方法およびデータ処理装置 | |
Sebastiao et al. | Integrated accelerator architecture for DNA sequences alignment with enhanced traceback phase | |
CN112347727A (zh) | 一种支持圆弧边的填充型覆铜方法、系统、设备及存储介质 | |
JP2507663B2 (ja) | 論理シミュレ―ション装置 | |
Venkateswaran et al. | Coprocessor design for multilayer surface-mounted PCB routing | |
Bokka et al. | Constant-time algorithms for constrained triangulations on reconfigurable meshes | |
JPS62243071A (ja) | 並列配置改善方式 | |
Ajay et al. | An FPGA Based Accelerator of the Bi-Directional Wavefront Algorithm for Pairwise Sequence Alignment | |
WO2004061722A1 (ja) | 論理シミュレーション装置 | |
JPH03214263A (ja) | 配線処理における高速後方探索手法 | |
KR19990049411A (ko) | 유전자 알고리즘을 이용한 코프로세서 및 그 처리 방법 | |
JP3006244B2 (ja) | 自動配線方式 | |
JP3006156B2 (ja) | 自動配線方式 | |
JPH03266084A (ja) | 配線処理の後方探索処理方法 | |
WANG | A LINEAR ALGORITHM TO FIND PATH AMONG OBSTACLES USING RECONFIGURABLE MESH | |
Bokka et al. | Time-optimal digital geometry algorithms on meshes with multiple broadcasting |