JP2931683B2 - 自動配線処理におけるラベル付け方式 - Google Patents
自動配線処理におけるラベル付け方式Info
- Publication number
- JP2931683B2 JP2931683B2 JP3044690A JP4469091A JP2931683B2 JP 2931683 B2 JP2931683 B2 JP 2931683B2 JP 3044690 A JP3044690 A JP 3044690A JP 4469091 A JP4469091 A JP 4469091A JP 2931683 B2 JP2931683 B2 JP 2931683B2
- Authority
- JP
- Japan
- Prior art keywords
- window
- labeling
- grid
- label
- value
- 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
Landscapes
- Multi Processors (AREA)
Description
【0001】
【産業上の利用分野】本発明は、自動配線処理における
ラベル付け方式に関し、特に自動配線の対象であるプリ
ント基板やLSI等の配線平面をm×n(m,nは整
数)の格子からなる複数のウィンドウに分割し、各格子
には配線部分として用いられることについての重みを与
えて、この重みを加味したうえでの隣接格子に対するラ
ベル付けを前記ウィンドウの単位で、出発点のウィンド
ウから順次行ない、このラベル付けの結果に基づいて出
発点,目的点それぞれの端子間の配線経路を求めていく
場合のラベル付け方式に関する。
ラベル付け方式に関し、特に自動配線の対象であるプリ
ント基板やLSI等の配線平面をm×n(m,nは整
数)の格子からなる複数のウィンドウに分割し、各格子
には配線部分として用いられることについての重みを与
えて、この重みを加味したうえでの隣接格子に対するラ
ベル付けを前記ウィンドウの単位で、出発点のウィンド
ウから順次行ない、このラベル付けの結果に基づいて出
発点,目的点それぞれの端子間の配線経路を求めていく
場合のラベル付け方式に関する。
【0002】このような自動配線処理は計算機を用いて
行なわれるが、最近では、プリント基板やLSI等が高
密度化されていることもあって、配線経路決定までの要
処理時間の短縮化を図ることがより必要となっている。
本発明は、このような要処理時間の短縮化の要請に応え
るためのラベル付け方式に関する。
行なわれるが、最近では、プリント基板やLSI等が高
密度化されていることもあって、配線経路決定までの要
処理時間の短縮化を図ることがより必要となっている。
本発明は、このような要処理時間の短縮化の要請に応え
るためのラベル付け方式に関する。
【0003】従来の、ラベル付けの結果に基づいて端子
間の配線経路を求めていく手法である迷路法を、図6〜
図10を用いて説明する。図6において、A′,B′は自
動配線処理の対象となっている端子対であり、A′は出
発点,B′は目的点である。そして、この両点が格子上
に載るように、プリント基板やLSI等の自動配線対象
平面は格子状に分割されており、また網掛けした部分は
配線パタ−ンを引くことができない禁止領域である。
間の配線経路を求めていく手法である迷路法を、図6〜
図10を用いて説明する。図6において、A′,B′は自
動配線処理の対象となっている端子対であり、A′は出
発点,B′は目的点である。そして、この両点が格子上
に載るように、プリント基板やLSI等の自動配線対象
平面は格子状に分割されており、また網掛けした部分は
配線パタ−ンを引くことができない禁止領域である。
【0004】図6(a) は、自動配線対象平面の各格子が
配線部分として用いられることについての重みを示す説
明図であり、その数値が小さいほど配線パタ−ンとして
優先的に用いることができる格子であることを表してい
る。この重みは、既設の配線パタ−ンとの位置関係や、
以降の配線を行なうときの困難性などに基づき、予め決
められている。
配線部分として用いられることについての重みを示す説
明図であり、その数値が小さいほど配線パタ−ンとして
優先的に用いることができる格子であることを表してい
る。この重みは、既設の配線パタ−ンとの位置関係や、
以降の配線を行なうときの困難性などに基づき、予め決
められている。
【0005】ここで、隣接格子にラベル付けを行なう能
力を備えた能動格子は最初A′点のみであり、先ずA′
点から、この格子の東西南北に隣接する4つの格子にラ
ベル付け、すなわちA点自体のラベル値(重み)に隣接
格子それぞれの重みを加えた値をその隣接格子にふるこ
とが行なわれる。
力を備えた能動格子は最初A′点のみであり、先ずA′
点から、この格子の東西南北に隣接する4つの格子にラ
ベル付け、すなわちA点自体のラベル値(重み)に隣接
格子それぞれの重みを加えた値をその隣接格子にふるこ
とが行なわれる。
【0006】そして、次の2ステップ目では、図6(b)
のように、1ステップ目でラベル付けが行なわれた格子
(○印で囲んだ数字の部分)が能動格子となって、これ
らの能動格子から矢印の方向にラベル付けが行なわれ、
新たに5つの隣接格子にラベル値がふられることにな
る。
のように、1ステップ目でラベル付けが行なわれた格子
(○印で囲んだ数字の部分)が能動格子となって、これ
らの能動格子から矢印の方向にラベル付けが行なわれ、
新たに5つの隣接格子にラベル値がふられることにな
る。
【0007】また、このときの格子E,Fへのラベル付
けのように、隣接する複数の格子からのラベル付けが可
能なときは値の小さい方のラベル値がふられることにな
る。例えば、格子Eの場合、北側の格子からのラベル付
けによるラベル値は「7」,東側の格子からのラベル付
けによるラベル値は「8」となり、前者のラベル値がふ
られている。
けのように、隣接する複数の格子からのラベル付けが可
能なときは値の小さい方のラベル値がふられることにな
る。例えば、格子Eの場合、北側の格子からのラベル付
けによるラベル値は「7」,東側の格子からのラベル付
けによるラベル値は「8」となり、前者のラベル値がふ
られている。
【0008】以下、同じ手順でラベル付けが行なわれ、
6ステップ目のラベル付けが終了した時点でのラベル状
態は図6(c) のようになる。なお、○印で囲んだ数字の
部分は次のステップへの能動格子であり、例えば5ステ
ップ目のラベル付けで「17」のラベル値がふられている
格子Gは、次の7ステップ目における西側の能動格子H
からのラベル付けにより「16」のラベル値に更新され
る。
6ステップ目のラベル付けが終了した時点でのラベル状
態は図6(c) のようになる。なお、○印で囲んだ数字の
部分は次のステップへの能動格子であり、例えば5ステ
ップ目のラベル付けで「17」のラベル値がふられている
格子Gは、次の7ステップ目における西側の能動格子H
からのラベル付けにより「16」のラベル値に更新され
る。
【0009】図6(d) は、9ステップ目のラベル付けが
終了した状態であり、このとき目的点B′に始めてラベ
ル値「22」がふられる。ここで、能動格子(○印で囲ん
だ数字の部分)の中、右上部分の格子I,Jそれぞれの
ラベル値は目的点Bのラベル値「22」より小さく、これ
らの格子からの新たなラベル付けによって目的点B′の
ラベル値が「22」より小さい値に更新される可能性があ
るため、以降も、格子I,Jそれぞれからのラベル付け
は続行される。
終了した状態であり、このとき目的点B′に始めてラベ
ル値「22」がふられる。ここで、能動格子(○印で囲ん
だ数字の部分)の中、右上部分の格子I,Jそれぞれの
ラベル値は目的点Bのラベル値「22」より小さく、これ
らの格子からの新たなラベル付けによって目的点B′の
ラベル値が「22」より小さい値に更新される可能性があ
るため、以降も、格子I,Jそれぞれからのラベル付け
は続行される。
【0010】そして、目的点Bのラベル値が、より小さ
い値に更新される可能性がなくなった図6(e) の状態で
ラベル付けは終了し、続いて、目的点B′から出発点
A′に向かって、ラベル値の小さくなる隣接格子を順次
たどることによりA′とB′との間の配線経路を決定し
ている。
い値に更新される可能性がなくなった図6(e) の状態で
ラベル付けは終了し、続いて、目的点B′から出発点
A′に向かって、ラベル値の小さくなる隣接格子を順次
たどることによりA′とB′との間の配線経路を決定し
ている。
【0011】このような迷路法においては、全処理時間
の70〜80%をラベル付けに要しており、また図6(d) の
ように目的点B′にラベル値がふられてからも以降のラ
ベル付けを続行することが必要な場合もあるため、専用
のハードウェアを用いて自動配線処理の高速化を図るこ
とが提案されている。
の70〜80%をラベル付けに要しており、また図6(d) の
ように目的点B′にラベル値がふられてからも以降のラ
ベル付けを続行することが必要な場合もあるため、専用
のハードウェアを用いて自動配線処理の高速化を図るこ
とが提案されている。
【0012】以下、図7〜図10を参照して、この専用の
ハードウェアを用いた自動配線処理について説明する。
図7(a) はm×n(m,nは整数)の格子からなる複数
のウィンドウに分割された配線平面を、図7(b) はこの
配線平面における各格子の重みを、図8はこの配線平面
にラベル付けを実行していく自動配線処理専用のハード
ウェアの概要を、図9はこのハードウェアの一部である
複数のPE(プロッセッサエレメント)それぞれが持つ
データ内容を、また図10はこのハードウェアにより図7
(a) の配線平面をラベル付けしていく様子を示してい
る。なお、このPE(プロッセッサエレメント)の構成
については特開平2−81258号公報で開示されてい
る。
ハードウェアを用いた自動配線処理について説明する。
図7(a) はm×n(m,nは整数)の格子からなる複数
のウィンドウに分割された配線平面を、図7(b) はこの
配線平面における各格子の重みを、図8はこの配線平面
にラベル付けを実行していく自動配線処理専用のハード
ウェアの概要を、図9はこのハードウェアの一部である
複数のPE(プロッセッサエレメント)それぞれが持つ
データ内容を、また図10はこのハードウェアにより図7
(a) の配線平面をラベル付けしていく様子を示してい
る。なお、このPE(プロッセッサエレメント)の構成
については特開平2−81258号公報で開示されてい
る。
【0013】ここで、自動配線の対象である配線平面の
各格子には配線部分として用いられることについての重
みが設定されており、ラベル付けは複数のPEによって
このウィンドウを単位にして実行される。すなわち、複
数のPEは、所定のウィンドウのラベル付けが終了して
から、次の処理対象である隣接ウィンドウのラベル付け
が実行される。
各格子には配線部分として用いられることについての重
みが設定されており、ラベル付けは複数のPEによって
このウィンドウを単位にして実行される。すなわち、複
数のPEは、所定のウィンドウのラベル付けが終了して
から、次の処理対象である隣接ウィンドウのラベル付け
が実行される。
【0014】図8において、5はプロセッサアレイで、
それぞれが各ウィンドウの1つの格子を担当するプロッ
セッサエレメント(PE1〜PE9)からなっており、
例えば、ウィンドウ0のラベル付けの場合、PE5が格
子A(出発点)を、PE3が格子Jを担当する。また、
3はこれらのPEを制御するためのコントローラ,11は
このコントローラに実装されたPE制御メモリである。
それぞれが各ウィンドウの1つの格子を担当するプロッ
セッサエレメント(PE1〜PE9)からなっており、
例えば、ウィンドウ0のラベル付けの場合、PE5が格
子A(出発点)を、PE3が格子Jを担当する。また、
3はこれらのPEを制御するためのコントローラ,11は
このコントローラに実装されたPE制御メモリである。
【0015】ここで、各PEは、担当する格子に隣接す
る東西南北の格子を担当するPEのそれぞれと通信路を
介して接続されており、例えばPE1はPE2,PE4
の外にPE3とPE7にも接続されている。そして、コ
ントローラ3とプロセッサアレイ5との間にも通信路が
設けられており、PE制御用メモリ11と各PEとの間
で、ラベル付けのためのデ−タ分配やラベル値などのデ
−タ収集を行えるようになっている。また、コントロー
ラ3はこれらのデ−タ分配,デ−タ収集の制御や、全P
Eで実行する演算の制御を行なっている。
る東西南北の格子を担当するPEのそれぞれと通信路を
介して接続されており、例えばPE1はPE2,PE4
の外にPE3とPE7にも接続されている。そして、コ
ントローラ3とプロセッサアレイ5との間にも通信路が
設けられており、PE制御用メモリ11と各PEとの間
で、ラベル付けのためのデ−タ分配やラベル値などのデ
−タ収集を行えるようになっている。また、コントロー
ラ3はこれらのデ−タ分配,デ−タ収集の制御や、全P
Eで実行する演算の制御を行なっている。
【0016】このように、コントローラ3は、プロセッ
サアレイ5に、ラベル付けの出発点や目的点を設定し、
また各PEにウィンドウを指示してそのラベル付けを実
行させ、当該ウィンドウ内でのラベル値の更新がなくな
ったことを判定してから次のラベル付けを実行するウィ
ンドウを指示している。なお、ウィンドウの切り換えは
PE内メモリのベースアドレスの設定によって行われ
る。
サアレイ5に、ラベル付けの出発点や目的点を設定し、
また各PEにウィンドウを指示してそのラベル付けを実
行させ、当該ウィンドウ内でのラベル値の更新がなくな
ったことを判定してから次のラベル付けを実行するウィ
ンドウを指示している。なお、ウィンドウの切り換えは
PE内メモリのベースアドレスの設定によって行われ
る。
【0017】そして、各PEのメモリが持つ図9のデー
タの中、「windownumber」,「targe
tLabel」および「nLabel」は各ウィンドウ
に共通なワーク用のデータであり、その他のものはウィ
ンドウ毎のデータである。
タの中、「windownumber」,「targe
tLabel」および「nLabel」は各ウィンドウ
に共通なワーク用のデータであり、その他のものはウィ
ンドウ毎のデータである。
【0018】また、括弧内の数字はウィンドウ番号を示
しており、例えば「nWindow(0)」は、ウィン
ドウ0の北側に隣接するウィンドウ番号「3」であり、
PE1のメモリでの「cost(2)」は、ウィンドウ
2でPE1が担当する格子Lの重み「4」である。
しており、例えば「nWindow(0)」は、ウィン
ドウ0の北側に隣接するウィンドウ番号「3」であり、
PE1のメモリでの「cost(2)」は、ウィンドウ
2でPE1が担当する格子Lの重み「4」である。
【0019】また、「startFlag」については
ウィンドウ0の出発点Aを担当するPE5のメモリの
「startFlag(0)」のみが「1」になり、
「targetFlag」についてはウィンドウ2の目
的点Bを担当するPE6のメモリの「targetFl
ag(2)」のみが「1」になっている。
ウィンドウ0の出発点Aを担当するPE5のメモリの
「startFlag(0)」のみが「1」になり、
「targetFlag」についてはウィンドウ2の目
的点Bを担当するPE6のメモリの「targetFl
ag(2)」のみが「1」になっている。
【0020】次に、この専用ハードウェアにより図7
(a) の配線平面をラベル付けしていく様子を、図10を用
いて説明する。図において、Aは出発点を、Bは目的点
を、網掛けした部分はその時点での能動格子を、また矢
印は最小のラベル値を与えるラベルが伝わってきた方向
を示している。そして、イベント・キュー4は、次にラ
ベル付けを行なうウィンドウのウィンドウ番号を格納す
るためにPE制御用メモリ11に設けられた領域であり、
このイベント・キューには、右側を先頭にして、ウィン
ドウ番号が小さい方から順に格納されている。
(a) の配線平面をラベル付けしていく様子を、図10を用
いて説明する。図において、Aは出発点を、Bは目的点
を、網掛けした部分はその時点での能動格子を、また矢
印は最小のラベル値を与えるラベルが伝わってきた方向
を示している。そして、イベント・キュー4は、次にラ
ベル付けを行なうウィンドウのウィンドウ番号を格納す
るためにPE制御用メモリ11に設けられた領域であり、
このイベント・キューには、右側を先頭にして、ウィン
ドウ番号が小さい方から順に格納されている。
【0021】図10(b) は、ウィンドウ0のラベル付けが
終了した状態を示しており、イベント・キューには、次
のラベル付けの対象であるウィンドウ、すなわちウィン
ドウ0の能動格子に隣接したウィンドウ1とウィンドウ
3のウィンドウ番号が格納されている。
終了した状態を示しており、イベント・キューには、次
のラベル付けの対象であるウィンドウ、すなわちウィン
ドウ0の能動格子に隣接したウィンドウ1とウィンドウ
3のウィンドウ番号が格納されている。
【0022】図10(c) は、このウィンドウ1とウィンド
ウ3のラベル付けが終了した状態を示しており、イベン
ト・キューには、次のラベル付けの対象であるウィンド
ウ0,ウィンドウ2およびウィンドウ4のウィンドウ番
号が格納されている。なお、すでにラベル付けが行なわ
れたウィンドウ0が次のラベル付けの対象になっている
のは、ウィンドウ3中の右下のラベル値「15」の能動格
子が、その南側に隣接するウィンドウ0中の(この能動
格子との間で、南北方向の矢印がついていない)格子の
ラベル値を更新する可能性が存在するためである。
ウ3のラベル付けが終了した状態を示しており、イベン
ト・キューには、次のラベル付けの対象であるウィンド
ウ0,ウィンドウ2およびウィンドウ4のウィンドウ番
号が格納されている。なお、すでにラベル付けが行なわ
れたウィンドウ0が次のラベル付けの対象になっている
のは、ウィンドウ3中の右下のラベル値「15」の能動格
子が、その南側に隣接するウィンドウ0中の(この能動
格子との間で、南北方向の矢印がついていない)格子の
ラベル値を更新する可能性が存在するためである。
【0023】図10(d) は、このウィンドウ0,ウィンド
ウ2およびウィンドウ4のラベル付けが終了した状態を
示しており、イベント・キューには、次のラベル付けの
対象であるウィンドウ1,ウィンドウ3およびウィンド
ウ5のウィンドウ番号が格納されている。ここで、ウィ
ンドウ3とウィンドウ5が次のラベル付け処理の対象に
なっているのは、図10(c) の場合と同様な理由のためで
ある。
ウ2およびウィンドウ4のラベル付けが終了した状態を
示しており、イベント・キューには、次のラベル付けの
対象であるウィンドウ1,ウィンドウ3およびウィンド
ウ5のウィンドウ番号が格納されている。ここで、ウィ
ンドウ3とウィンドウ5が次のラベル付け処理の対象に
なっているのは、図10(c) の場合と同様な理由のためで
ある。
【0024】また、この段階で目的点Bにラベル値「3
0」がふられているが、ウィンドウ4の能動格子のラベ
ル値がウィンドウ5を介して伝わることにより目的点B
のラベル値がより小さい値に更新される可能性があるた
め、以降のラベル付け処理を実行している。このとき、
ウィンドウ2の右上,右下の格子M,Nは、それぞれの
ラベル値「31」が目的点Bのラベル値「30」より大きく
なっており、能動格子ではない。
0」がふられているが、ウィンドウ4の能動格子のラベ
ル値がウィンドウ5を介して伝わることにより目的点B
のラベル値がより小さい値に更新される可能性があるた
め、以降のラベル付け処理を実行している。このとき、
ウィンドウ2の右上,右下の格子M,Nは、それぞれの
ラベル値「31」が目的点Bのラベル値「30」より大きく
なっており、能動格子ではない。
【0025】図10(e) は、このウィンドウ1,ウィンド
ウ3およびウィンドウ5のラベル付けが終了した状態を
示しており、イベント・キューには、次のラベル付けの
対象であるウィンドウ2およびウィンドウ4のウィンド
ウ番号が格納されている。
ウ3およびウィンドウ5のラベル付けが終了した状態を
示しており、イベント・キューには、次のラベル付けの
対象であるウィンドウ2およびウィンドウ4のウィンド
ウ番号が格納されている。
【0026】図10(f) は、すべてのラベル付け処理が終
了した状態、すなわち能動格子がなくなり、またイベン
ト・キューは空になった状態を示している。なお、ウィ
ンドウ2の両下隅の格子P,Qは、それぞれのラベル値
を更新しても目的点Bのラベル値よりも大きな値になる
ため、図10(e) のままになっている。
了した状態、すなわち能動格子がなくなり、またイベン
ト・キューは空になった状態を示している。なお、ウィ
ンドウ2の両下隅の格子P,Qは、それぞれのラベル値
を更新しても目的点Bのラベル値よりも大きな値になる
ため、図10(e) のままになっている。
【0027】
【発明が解決しようとする課題】以上の、専用ハードウ
ェアによるウィンドウ単位のラベル付けの場合にも、6
つのウィンドウに対してウィンドウの切り換えが11回に
も及び、依然として要処理時間が長いという問題点があ
った。
ェアによるウィンドウ単位のラベル付けの場合にも、6
つのウィンドウに対してウィンドウの切り換えが11回に
も及び、依然として要処理時間が長いという問題点があ
った。
【0028】そこで、本発明では、イベント・キューに
複数個のウィンドウ番号が入っているときには、それぞ
れのウィンドウ番号のウィンドウに伝わってくるラベル
値の中で最も小さいもののウィンドウのみについてのラ
ベル付けを実行することにより、いったんラベル付けを
行なったウィンドウについて再度のラベル付けが実行さ
れ、より小さいラベル値に更新されるといったことが生
じるのをできるだけ少なくして、ラベル付けに要する時
間の短縮化を図ることを目的とする。
複数個のウィンドウ番号が入っているときには、それぞ
れのウィンドウ番号のウィンドウに伝わってくるラベル
値の中で最も小さいもののウィンドウのみについてのラ
ベル付けを実行することにより、いったんラベル付けを
行なったウィンドウについて再度のラベル付けが実行さ
れ、より小さいラベル値に更新されるといったことが生
じるのをできるだけ少なくして、ラベル付けに要する時
間の短縮化を図ることを目的とする。
【0029】
【課題を解決するための手段】本発明は、m×n(m,
nは整数)の格子からなる複数のウィンドウに分割さ
れ、前記格子のそれぞれには配線部分として用いられる
ことについての重みが設定されている配線平面に対し、
この重みを加味したうえでの隣接格子に対するラベル付
けを前記ウィンドウの単位で、出発点のウィンドウから
順次行なっていく方式において、次のラベル付けの対象
となる隣接ウィンドウが複数個あるとき、ラベル付け処
理が終了したウィンドウの能動格子から伝わっていくラ
ベル値が最も小さい隣接ウィンドウのみに次のラベル付
け処理を行ない、いったんラベル付け処理が終了したウ
ィンドウのラベル値が再度のラベル付け処理によってよ
り小さいラベル値に更新されるといったケースが発生す
ることを少なくしたものである。
nは整数)の格子からなる複数のウィンドウに分割さ
れ、前記格子のそれぞれには配線部分として用いられる
ことについての重みが設定されている配線平面に対し、
この重みを加味したうえでの隣接格子に対するラベル付
けを前記ウィンドウの単位で、出発点のウィンドウから
順次行なっていく方式において、次のラベル付けの対象
となる隣接ウィンドウが複数個あるとき、ラベル付け処
理が終了したウィンドウの能動格子から伝わっていくラ
ベル値が最も小さい隣接ウィンドウのみに次のラベル付
け処理を行ない、いったんラベル付け処理が終了したウ
ィンドウのラベル値が再度のラベル付け処理によってよ
り小さいラベル値に更新されるといったケースが発生す
ることを少なくしたものである。
【0030】図1は、本発明の原理説明図である。図に
おいて、1は、配線平面デ−タであり、m×n(m,n
は整数)の格子からなる複数のウィンドウに分割された
配線平面における各ウィンドウの隣接関係などを示すデ
−タからなっている。
おいて、1は、配線平面デ−タであり、m×n(m,n
は整数)の格子からなる複数のウィンドウに分割された
配線平面における各ウィンドウの隣接関係などを示すデ
−タからなっている。
【0031】2は、重みデ−タであり、配線平面の各格
子に設定されている、配線部分として用いられることに
ついての重みからなっている。
子に設定されている、配線部分として用いられることに
ついての重みからなっている。
【0032】3は、コントローラであり、配線平面デー
タ1,重みデータ2や、次のラベル付けに用いる能動格
子のラベル値などをプロセッサアレイ5に送り、ラベル
付けの終了した能動格子のラベル値や当該能動格子の隣
接ウィンドウのウィンドウ番号などをプロセッサアレイ
5から受け、またプロセッサアレイ5で実行する演算の
制御を行なう。
タ1,重みデータ2や、次のラベル付けに用いる能動格
子のラベル値などをプロセッサアレイ5に送り、ラベル
付けの終了した能動格子のラベル値や当該能動格子の隣
接ウィンドウのウィンドウ番号などをプロセッサアレイ
5から受け、またプロセッサアレイ5で実行する演算の
制御を行なう。
【0033】4は、イベント・キューであり、プロセッ
サアレイ5から送られてくるウィンドウ番号と、このウ
ィンドウ番号に対応する(このウィンドウにラベル値を
伝えてくる能動格子の)ラベル値の中の最小のものとが
組になって格納される。
サアレイ5から送られてくるウィンドウ番号と、このウ
ィンドウ番号に対応する(このウィンドウにラベル値を
伝えてくる能動格子の)ラベル値の中の最小のものとが
組になって格納される。
【0034】5は、プロセッサアレイであり、それぞれ
が1つの格子を担当するm×n個のプロセッサエレメン
トから構成され、隣接格子を担当するプロセッサエレメ
ント同士は通信路を介して接続されており、コントロー
ラ3から指示されるウィンドウの各格子についてのラベ
ル付けを実行する。
が1つの格子を担当するm×n個のプロセッサエレメン
トから構成され、隣接格子を担当するプロセッサエレメ
ント同士は通信路を介して接続されており、コントロー
ラ3から指示されるウィンドウの各格子についてのラベ
ル付けを実行する。
【0035】そして、本発明のラベル付け処理の基本的
な手順は次のようになっている。すなわち、コントロ
ーラ3は、プロセッサアレイ5に出発点のウィンドウの
ウィンドウ番号を送って最初にラベル付けを実行するウ
ィンドウを指示する。
な手順は次のようになっている。すなわち、コントロ
ーラ3は、プロセッサアレイ5に出発点のウィンドウの
ウィンドウ番号を送って最初にラベル付けを実行するウ
ィンドウを指示する。
【0036】プロセッサアレイ5の各プロセッサエレ
メントは、指示されたウィンドウについて、従来と同様
なラベル付けを、ラベル値が伝わっていく隣接格子のそ
れぞれに順次実行する。
メントは、指示されたウィンドウについて、従来と同様
なラベル付けを、ラベル値が伝わっていく隣接格子のそ
れぞれに順次実行する。
【0037】プロセッサアレイ5は、隣接ウィンドウ
にラベル値を伝えることができる能動格子のラベル値
と、このウィンドウ番号とをコントローラ3に順次送信
する。なお、このラベル値が、その時点での目的点のラ
ベル値以上のものであるときには、これらのデータをコ
ントローラ3へ送信しないか、送信したとしてもコント
ローラ3の方で無効データとして取り扱うようにしてい
る。これは、このラベル値を用いて以降のラベル付けを
実行しても、目的点のラベル値がより小さな値に更新さ
れる可能性がないからである。
にラベル値を伝えることができる能動格子のラベル値
と、このウィンドウ番号とをコントローラ3に順次送信
する。なお、このラベル値が、その時点での目的点のラ
ベル値以上のものであるときには、これらのデータをコ
ントローラ3へ送信しないか、送信したとしてもコント
ローラ3の方で無効データとして取り扱うようにしてい
る。これは、このラベル値を用いて以降のラベル付けを
実行しても、目的点のラベル値がより小さな値に更新さ
れる可能性がないからである。
【0038】コントローラ3は、コントローラ3から
の新たな内容の送信がなくなったことを確認して、送ら
れてきたウィンドウ番号と、これに対応するラベル値の
中の最小のものとを組にしてイベント・キューに加え
る。
の新たな内容の送信がなくなったことを確認して、送ら
れてきたウィンドウ番号と、これに対応するラベル値の
中の最小のものとを組にしてイベント・キューに加え
る。
【0039】コントローラ3は、イベント・キューに
ウィンドウ番号のデ−タが残っているかどうかを判断
し、「YES」の場合はラベル付けを終了し、「NO」の場
合は次のステップに進む。
ウィンドウ番号のデ−タが残っているかどうかを判断
し、「YES」の場合はラベル付けを終了し、「NO」の場
合は次のステップに進む。
【0040】イベント・キューに入っているラベル値
の中の最小のものと組になっているウィンドウ番号を取
り出してプロセッサアレイ5に送り、次にラベル付けを
行なうウィンドウを指示し、かつこの組のデ−タをイベ
ント・キューから削除して、ステップに戻る。といっ
た基本的手順により、次にラベル付けの対象となるウィ
ンドウが複数ある場合には、その中の特定のウィンドウ
のみのラベル付けを実行している。
の中の最小のものと組になっているウィンドウ番号を取
り出してプロセッサアレイ5に送り、次にラベル付けを
行なうウィンドウを指示し、かつこの組のデ−タをイベ
ント・キューから削除して、ステップに戻る。といっ
た基本的手順により、次にラベル付けの対象となるウィ
ンドウが複数ある場合には、その中の特定のウィンドウ
のみのラベル付けを実行している。
【0041】なお、ステップにおいて、プロセッサア
レイ5に送られなかったデ−タの中で、ラベル値が(こ
の時点での)目的点のラベル値以上となっている組のも
のについてもイベント・キューから削除するようにして
もよい。これは、これらのラベル値に基づく以降のラベ
ル付けを行なっても、目的点のラベル値がより小さい値
に更新される可能性がないからである。
レイ5に送られなかったデ−タの中で、ラベル値が(こ
の時点での)目的点のラベル値以上となっている組のも
のについてもイベント・キューから削除するようにして
もよい。これは、これらのラベル値に基づく以降のラベ
ル付けを行なっても、目的点のラベル値がより小さい値
に更新される可能性がないからである。
【0042】
【作用】このように、ラベル付けが終了したウィンドウ
の能動格子のラベル値を伝えることができる隣接ウィン
ドウが複数あるときには、従来のようにこれらすべての
ウィンドウについてのラベル付けを実行するのではな
く、所定のルールにしたがって指示される一つのウィン
ドウのみに対してラベル付けを実行するようにしてい
る。
の能動格子のラベル値を伝えることができる隣接ウィン
ドウが複数あるときには、従来のようにこれらすべての
ウィンドウについてのラベル付けを実行するのではな
く、所定のルールにしたがって指示される一つのウィン
ドウのみに対してラベル付けを実行するようにしてい
る。
【0043】そして、このルールは、隣接ウィンドウの
中、ラベル値が最も小さい能動格子に隣接するものを選
択することであるから、この選択されたウィンドウにラ
ベル付けを実行した後で他のウィンドウから伝わってく
るラベル値で再びラベル付けを実行して、この選択ウィ
ンドウのラベル値がより小さな値に更新されるといった
ケースが生じる率は低いものとなり、全体のラベル付け
が終了するまでに必要なウィンドウの切り換え回数を減
らすことができる。
中、ラベル値が最も小さい能動格子に隣接するものを選
択することであるから、この選択されたウィンドウにラ
ベル付けを実行した後で他のウィンドウから伝わってく
るラベル値で再びラベル付けを実行して、この選択ウィ
ンドウのラベル値がより小さな値に更新されるといった
ケースが生じる率は低いものとなり、全体のラベル付け
が終了するまでに必要なウィンドウの切り換え回数を減
らすことができる。
【0044】以下、このラベル付けの様子を、図2〜図
3を用いて説明する。ここで、Aは出発点、Bは目的
点、網掛け部分は能動格子であり、各格子の重みについ
ては図8と同じ内容に設定されている。また、各ウィン
ドウ番号の右側の数字は、そのウィンドウに隣接する能
動格子のラベル値の中の最小のものであり、これらは1
組のデ−タを構成している。そして、各組のデ−タは、
この右側の数字を小さい順に並べ換えて小さいほうをイ
ベント・キュー4の先頭に入れるといったルールにした
がって格納されており、次のラベル付けは、このイベン
ト・キュー4の先頭(右側)に格納されているウィンド
ウ番号のウィンドウについてのみ行なわれる。
3を用いて説明する。ここで、Aは出発点、Bは目的
点、網掛け部分は能動格子であり、各格子の重みについ
ては図8と同じ内容に設定されている。また、各ウィン
ドウ番号の右側の数字は、そのウィンドウに隣接する能
動格子のラベル値の中の最小のものであり、これらは1
組のデ−タを構成している。そして、各組のデ−タは、
この右側の数字を小さい順に並べ換えて小さいほうをイ
ベント・キュー4の先頭に入れるといったルールにした
がって格納されており、次のラベル付けは、このイベン
ト・キュー4の先頭(右側)に格納されているウィンド
ウ番号のウィンドウについてのみ行なわれる。
【0045】図2(a) は、初期状態を示しており、イベ
ント・キュー4には、最初にラベル付けを実行する出発
点Aのウィンドウ0と、この出発点Aの重み「1」とが
格納されている。
ント・キュー4には、最初にラベル付けを実行する出発
点Aのウィンドウ0と、この出発点Aの重み「1」とが
格納されている。
【0046】図2(b) は、ウィンドウ0のラベル付けが
終了した状態を示しており、先のウィンドウ0の「0−
1」のデータは削除されている。そして、イベント・キ
ューには、このウィンドウ0に隣接するウィンドウのウ
ィンドウ番号「1」,「3」とそれぞれの最小ラベル値
「13」,「2」とを組にしたデ−タが、前記ルールにし
たがってウィンドウ3の「3−2」の組を先頭にして格
納されている。
終了した状態を示しており、先のウィンドウ0の「0−
1」のデータは削除されている。そして、イベント・キ
ューには、このウィンドウ0に隣接するウィンドウのウ
ィンドウ番号「1」,「3」とそれぞれの最小ラベル値
「13」,「2」とを組にしたデ−タが、前記ルールにし
たがってウィンドウ3の「3−2」の組を先頭にして格
納されている。
【0047】ここで、ウィンドウ3が先頭になっている
のは、このウィンドウ3に隣接する能動格子のラベル値
の最小値「2」がウィンドウ1に隣接する能動格子のラ
ベル値の最小値「13」よりも小さいからである。
のは、このウィンドウ3に隣接する能動格子のラベル値
の最小値「2」がウィンドウ1に隣接する能動格子のラ
ベル値の最小値「13」よりも小さいからである。
【0048】以下、同じようにしてイベント・キューの
先頭ウィンドウに対するラベル付けが順次実行されてい
く。
先頭ウィンドウに対するラベル付けが順次実行されてい
く。
【0049】図2(c) は、ウィンドウ3のラベル付けが
終了した状態を示しており、先のウィンドウ3の「3−
2」のデータは削除されている。そして、イベント・キ
ューには、このウィンドウ3に隣接する、ウィンドウ0
とウィンドウ4についてのデ−タが新たに加えられ、3
組のデ−タがウィンドウ4の「4−5」の組を先頭にし
て格納されている。
終了した状態を示しており、先のウィンドウ3の「3−
2」のデータは削除されている。そして、イベント・キ
ューには、このウィンドウ3に隣接する、ウィンドウ0
とウィンドウ4についてのデ−タが新たに加えられ、3
組のデ−タがウィンドウ4の「4−5」の組を先頭にし
て格納されている。
【0050】ここで、ウィンドウ0についてのデ−タが
新たに加えられているのは、ウィンドウ3の右下のラベ
ル値「15」の能動格子からラベル値がウィンドウ0に伝
わってこのウィンドウのラベル付けを実行することが可
能なためである。
新たに加えられているのは、ウィンドウ3の右下のラベ
ル値「15」の能動格子からラベル値がウィンドウ0に伝
わってこのウィンドウのラベル付けを実行することが可
能なためである。
【0051】図2(d) は、ウィンドウ4のラベル付けが
終了した状態を示しており、先のウィンドウ4の「4−
5」のデータは削除されている。そして、イベント・キ
ューには、このウィンドウ4に隣接する、ウィンドウ
1,ウィンドウ3およびウィンドウ5についてのデ−タ
が新たに加えられ、5組のデ−タがウィンドウ5の「5
−8」の組を先頭にして格納されている。
終了した状態を示しており、先のウィンドウ4の「4−
5」のデータは削除されている。そして、イベント・キ
ューには、このウィンドウ4に隣接する、ウィンドウ
1,ウィンドウ3およびウィンドウ5についてのデ−タ
が新たに加えられ、5組のデ−タがウィンドウ5の「5
−8」の組を先頭にして格納されている。
【0052】ここで、ウィンドウ3に対しては、ウィン
ドウ4の左側の格子の中、まだウィンドウ3との間で矢
印の付いていない下側のラベル値「18」の格子のみがラ
ベル付けを行なう能力を持った能動状態となっており、
またウィンドウ1については、北側の隣接格子の最小ラ
ベル値「17」の組のデ−タと、西側の隣接格子の最小ラ
ベル値「13」の組のデ−タとがイベント・キューに格納
されることになる。
ドウ4の左側の格子の中、まだウィンドウ3との間で矢
印の付いていない下側のラベル値「18」の格子のみがラ
ベル付けを行なう能力を持った能動状態となっており、
またウィンドウ1については、北側の隣接格子の最小ラ
ベル値「17」の組のデ−タと、西側の隣接格子の最小ラ
ベル値「13」の組のデ−タとがイベント・キューに格納
されることになる。
【0053】図2(e) は、ウィンドウ5のラベル付けが
終了した状態を示しており、先のウィンドウ5の「5−
8」のデータは削除されている。そして、イベント・キ
ューには、このウィンドウ5に隣接する、ウィンドウ2
とウィンドウ4についてのデ−タが新たに加えられ、6
組のデ−タがウィンドウ2の「2−11」の組を先頭にし
て格納されている
終了した状態を示しており、先のウィンドウ5の「5−
8」のデータは削除されている。そして、イベント・キ
ューには、このウィンドウ5に隣接する、ウィンドウ2
とウィンドウ4についてのデ−タが新たに加えられ、6
組のデ−タがウィンドウ2の「2−11」の組を先頭にし
て格納されている
【0054】図2(f) は、ウィンドウ2のラベル付けが
終了した状態を示しており、先のウィンドウ2の「2−
11」のデータは削除されているこのとき、目的点Bにラ
ベル値「14」がふられることになり、またラベル付け後
の値がこの「14」より大きくなる下側両隅の格子R,S
には、ラベル値はふられれない。
終了した状態を示しており、先のウィンドウ2の「2−
11」のデータは削除されているこのとき、目的点Bにラ
ベル値「14」がふられることになり、またラベル付け後
の値がこの「14」より大きくなる下側両隅の格子R,S
には、ラベル値はふられれない。
【0055】そして、イベント・キューには、新たにデ
ータが加えられることはないが、5組のデ−タ(ウィン
ドウ1については、対応するウィンドウが異なる2組の
デ−タ)が残っており、続いてこれらの4つのウィンド
ウについてのラベル付けが行われる。
ータが加えられることはないが、5組のデ−タ(ウィン
ドウ1については、対応するウィンドウが異なる2組の
デ−タ)が残っており、続いてこれらの4つのウィンド
ウについてのラベル付けが行われる。
【0056】図3(a) は、すべてのラベル付け処理が終
了した状態、すなわち能動格子がなくなり、イベント・
キューのデ−タがなくなったが状態を示している。この
とき、ラベル付け後の値が目的点Bのラベル値「14」よ
り大きくなるウィンドウ1の各格子にはラベル値がふら
れていない。
了した状態、すなわち能動格子がなくなり、イベント・
キューのデ−タがなくなったが状態を示している。この
とき、ラベル付け後の値が目的点Bのラベル値「14」よ
り大きくなるウィンドウ1の各格子にはラベル値がふら
れていない。
【0057】なお、図2(f) の状態において、目的点B
のラベル値「14」以上のラベル値を以降のラベル付けに
用いても、目的点Bのラベル値がより小さい値に更新さ
れる可能性はないので、ウィンドウ0とウィンドウ3に
対するラベル付けは省略してもよい。この場合、ウィン
ドウ3の「3ー18」,ウィンドウ1の「1ー17」および
ウィンドウ0の「0ー15」の3組のデ−タはイベント・
キューから削除され、イベント・キューの状態は図3
(b) のようになる。
のラベル値「14」以上のラベル値を以降のラベル付けに
用いても、目的点Bのラベル値がより小さい値に更新さ
れる可能性はないので、ウィンドウ0とウィンドウ3に
対するラベル付けは省略してもよい。この場合、ウィン
ドウ3の「3ー18」,ウィンドウ1の「1ー17」および
ウィンドウ0の「0ー15」の3組のデ−タはイベント・
キューから削除され、イベント・キューの状態は図3
(b) のようになる。
【0058】このように、ラベル付けの対象となるウィ
ンドウの合計数は、図2(f) のイベント・キュー状態か
ら終了する場合で9個、図3(b) のイベント・キューの
状態から終了する場合で7個となり、いずれの場合も従
来の11個に比べて少なくなっている。
ンドウの合計数は、図2(f) のイベント・キュー状態か
ら終了する場合で9個、図3(b) のイベント・キューの
状態から終了する場合で7個となり、いずれの場合も従
来の11個に比べて少なくなっている。
【0059】
【実施例】以下,図4および図5を用いて本発明の実施
例を説明する。ここで、コントローラ,各プロセッサエ
レメント(PE),配線平面および各格子の重みなどに
ついては図7〜図9の場合と同じ構成になっている。
例を説明する。ここで、コントローラ,各プロセッサエ
レメント(PE),配線平面および各格子の重みなどに
ついては図7〜図9の場合と同じ構成になっている。
【0060】図4は、コントローラ3の動作手順を示す
フローである。すなわち、′イベント・キュー4に、
出発点のウィンドウ番号「1」と、この出発点の重み
「1」を加え、次のステップに進む。
フローである。すなわち、′イベント・キュー4に、
出発点のウィンドウ番号「1」と、この出発点の重み
「1」を加え、次のステップに進む。
【0061】′イベント・キュー4の先頭データを取
り出してプロセッサアレイ5に送り、次にラベル付けを
実行するウィンドウを各プロセッサエレメントに指示し
て、次のステップに進む。
り出してプロセッサアレイ5に送り、次にラベル付けを
実行するウィンドウを各プロセッサエレメントに指示し
て、次のステップに進む。
【0062】′プロセッサアレイ5から送られてく
る、各格子のラベル値が新たな値に更新されなくなくな
ったのを確認して、次のステップに進む。
る、各格子のラベル値が新たな値に更新されなくなくな
ったのを確認して、次のステップに進む。
【0063】′各PEから送られてきたラベル値を対
応するウィンドウ番号ごとのグループにし、それぞれの
グループの中で最小のラベル値とウィンドウ番号とを組
にしたデ−タを作成して、次のステップに進む。
応するウィンドウ番号ごとのグループにし、それぞれの
グループの中で最小のラベル値とウィンドウ番号とを組
にしたデ−タを作成して、次のステップに進む。
【0064】′この(最小)ラベル値とウィンドウ番
号とからなるデ−タをイベント・キュー4に加え、次の
ステップに進む。
号とからなるデ−タをイベント・キュー4に加え、次の
ステップに進む。
【0065】′イベント・キュー4に残っていたデー
タおよび新たに加えられたデータに対してラベル値をキ
ーにしたソートを行い、次のステップに進む。なお、こ
のソートにより、ラベル値とウィンドウ番号とを組にし
た各デ−タは、そのラベル値が小さい順に先頭から並べ
られる。
タおよび新たに加えられたデータに対してラベル値をキ
ーにしたソートを行い、次のステップに進む。なお、こ
のソートにより、ラベル値とウィンドウ番号とを組にし
た各デ−タは、そのラベル値が小さい順に先頭から並べ
られる。
【0066】′このソートされたラベル値と、その時
点での目的点のラベル値「targetLabel」と
を比較し、「前者≧後者」の関係にある組のデータをイ
ベント・キュー4から削除する。なお、「target
Label」の初期値は無限大に設定されている。
点での目的点のラベル値「targetLabel」と
を比較し、「前者≧後者」の関係にある組のデータをイ
ベント・キュー4から削除する。なお、「target
Label」の初期値は無限大に設定されている。
【0067】′イベント・キュー4のデータがなくな
ったかどうかを判断し、「YES」の場合はプロセッサア
レイ5に対する制御を終了し、「NO」の場合はステップ
′に戻る。といった手順により、各PEの動作を制御
している。なお、以上の手順において、ステップ′と
ステップ′は順序を逆にしてもよい。
ったかどうかを判断し、「YES」の場合はプロセッサア
レイ5に対する制御を終了し、「NO」の場合はステップ
′に戻る。といった手順により、各PEの動作を制御
している。なお、以上の手順において、ステップ′と
ステップ′は順序を逆にしてもよい。
【0068】一方、各PEでのラベル計算の手順は図5
のようになっている。なお、各PEでのラベル計算は、
コントローラにより指示される単一ウィンドウの各格子
に対し繰り返し行なわれている。
のようになっている。なお、各PEでのラベル計算は、
コントローラにより指示される単一ウィンドウの各格子
に対し繰り返し行なわれている。
【0069】すなわち、(1)コントローラにより、ラベ
ル付けを実行するウィンドウ番号,最初は出発点Aのウ
ィンドウ番号「0」が設定される。
ル付けを実行するウィンドウ番号,最初は出発点Aのウ
ィンドウ番号「0」が設定される。
【0070】(2)各PEのメモリに対するラベル付けの
ための初期値設定を行なう。すなわち、目的点Bのラベ
ル値を無限大にし、ウィンドウ0〜5のそれぞれで各P
Eが担当する格子への、隣接格子からのラベル入力はな
く、またこれらの担当格子自体のラベル値は無限大にし
ている。。
ための初期値設定を行なう。すなわち、目的点Bのラベ
ル値を無限大にし、ウィンドウ0〜5のそれぞれで各P
Eが担当する格子への、隣接格子からのラベル入力はな
く、またこれらの担当格子自体のラベル値は無限大にし
ている。。
【0071】(3)以後のラベル計算に進むかどうかを判
定している。例えば、ウィンドウ0において、PE2が
担当する、出発点Aからその北側隣接格子Tへのラベル
付けの場合には、label(0)およびtarget
Labelの値は無限大、nLabelの値は出発点A
のラベル値「1」、cost(0)の値は「1」である
から、この判定条件を満たして以後のラベル計算に進
み、PE2のlabel(0)の値は無限大から「2」
に更新されるが、PE3が担当する、格子Uからその北
側隣接格子Vへのラベル付けの場合には、label
(0)の値は「14」、nLabelの値は格子Uのラベ
ル値「13」、cost(0)の値は「12」であるから、
この判定条件の1番目の不等式を満たさなくなって以後
のラベル計算には進まず、PE3のlabel(0)の
値は更新されない〔図2(a),(b) 、図8参照〕。
定している。例えば、ウィンドウ0において、PE2が
担当する、出発点Aからその北側隣接格子Tへのラベル
付けの場合には、label(0)およびtarget
Labelの値は無限大、nLabelの値は出発点A
のラベル値「1」、cost(0)の値は「1」である
から、この判定条件を満たして以後のラベル計算に進
み、PE2のlabel(0)の値は無限大から「2」
に更新されるが、PE3が担当する、格子Uからその北
側隣接格子Vへのラベル付けの場合には、label
(0)の値は「14」、nLabelの値は格子Uのラベ
ル値「13」、cost(0)の値は「12」であるから、
この判定条件の1番目の不等式を満たさなくなって以後
のラベル計算には進まず、PE3のlabel(0)の
値は更新されない〔図2(a),(b) 、図8参照〕。
【0072】また、例えば、ウィンドウ2において、P
E7が担当する、格子Wからその西側隣接格子Rへのラ
ベル付けの場合には、targetLabelの値は
「14」、nLabelの値は格子Wのラベル値「14」、
cost(2)の値は「4」であるから、この判定条件
の2番目の不等式を満たさなくなって以後のラベル計算
には進まない〔図2(f) 、図8参照〕。
E7が担当する、格子Wからその西側隣接格子Rへのラ
ベル付けの場合には、targetLabelの値は
「14」、nLabelの値は格子Wのラベル値「14」、
cost(2)の値は「4」であるから、この判定条件
の2番目の不等式を満たさなくなって以後のラベル計算
には進まない〔図2(f) 、図8参照〕。
【0073】(4)担当格子のラベル値を、隣接格子から
伝わってきたラベル値に自らの重みを加えた値で更新す
る。例えば、先の格子Tのラベル値を無限大から「2」
に更新する。
伝わってきたラベル値に自らの重みを加えた値で更新す
る。例えば、先の格子Tのラベル値を無限大から「2」
に更新する。
【0074】(5)担当格子にどちらの方向からラベル値
が伝わってきたかを示す方位データを加える。例えば、
格子Tへのラベル付けのように南側の隣接格子Aからの
ラベル入力があった場合には、PE2のメモリのdir
S(0)の値を「1」にする。
が伝わってきたかを示す方位データを加える。例えば、
格子Tへのラベル付けのように南側の隣接格子Aからの
ラベル入力があった場合には、PE2のメモリのdir
S(0)の値を「1」にする。
【0075】(6)方位データが「0」のままになってい
る隣接格子、すなわちラベル入力元の格子を除いた隣接
格子に、担当格子のその時点でのラベル値を通信路を介
して伝える。
る隣接格子、すなわちラベル入力元の格子を除いた隣接
格子に、担当格子のその時点でのラベル値を通信路を介
して伝える。
【0076】(7)担当格子のtargetFlagが
「1」のときは、targetLabelの値を担当格
子のラベル値で更新し、またtargetFlagが
「0」のときは、targetLabelの値を更新し
ないで、次のステップに進む。
「1」のときは、targetLabelの値を担当格
子のラベル値で更新し、またtargetFlagが
「0」のときは、targetLabelの値を更新し
ないで、次のステップに進む。
【0077】(8)担当格子が他のウィンドウに隣接して
いるときは、そのウィンドウ番号と担当格子のラベル値
とをコントローラに伝え、また隣接してないときは担当
格子のラベル値をコントローラに伝えることなしに、ス
テップ(2)に戻る。といった並列処理を、各PEはウィ
ンドウ単位で繰り返し実行している。
いるときは、そのウィンドウ番号と担当格子のラベル値
とをコントローラに伝え、また隣接してないときは担当
格子のラベル値をコントローラに伝えることなしに、ス
テップ(2)に戻る。といった並列処理を、各PEはウィ
ンドウ単位で繰り返し実行している。
【0078】このように、コントローラから指示された
あるウィンドウのラベル付けにおいて、担当格子が、隣
接するウィンドウへラベル値を伝えることができる能動
状態となった各PEはこの担当格子のラベル値と、隣接
するウィンドウ番号とをコントローラに送っている。
あるウィンドウのラベル付けにおいて、担当格子が、隣
接するウィンドウへラベル値を伝えることができる能動
状態となった各PEはこの担当格子のラベル値と、隣接
するウィンドウ番号とをコントローラに送っている。
【0079】そして、これらのデータの更新が起きなく
なった時点で、コントローラはラベル値の最も小さいウ
ィンドウ番号を各PEに送って、これを受けたPE側で
はこのウィンドウのラベル付けに移っていく。また、こ
のウィンドウに伝えられる、隣接ウィンドウの能動格子
の各ラベル値もPE側に送られて次の隣接ウィンドウへ
のラベル付けに用いられる。
なった時点で、コントローラはラベル値の最も小さいウ
ィンドウ番号を各PEに送って、これを受けたPE側で
はこのウィンドウのラベル付けに移っていく。また、こ
のウィンドウに伝えられる、隣接ウィンドウの能動格子
の各ラベル値もPE側に送られて次の隣接ウィンドウへ
のラベル付けに用いられる。
【0080】以上の説明では、ウィンドウの数を6個,
各ウィンドウの格子数を9個としているが、実際の自動
配線処理においては、例えば80(10×8)個のウィンド
ウで各ウィンドウの格子数が16384(128 ×128)個の配線
平面が用いられている。
各ウィンドウの格子数を9個としているが、実際の自動
配線処理においては、例えば80(10×8)個のウィンド
ウで各ウィンドウの格子数が16384(128 ×128)個の配線
平面が用いられている。
【0081】
【発明の効果】本発明は、自動配線処理の対象である配
線平面をm×n(m,nは整数)の格子からなるウィン
ドウに分割し、出発点からの、各格子の重みを加味した
ラベル付けをこのウィンドウ単位で行なっていく場合に
おいて、ラベル付けが終了したウィンドウの能動格子の
ラベル値を伝えることができる複数の隣接ウィンドウの
中、その時点での最小のラベル値が伝わっていくウィン
ドウだけに次のラベル付けを行なうようにし、いったん
ラベル値がふられた後で再びラベル付けが実行されてよ
り小さいラベル値に更新されるといったことが生じる率
を減らしているので、ラベル付けの対象になるウィンド
ウの延べ数を少なくして自動配線全体の要処理時間の短
縮化を図ることができる。
線平面をm×n(m,nは整数)の格子からなるウィン
ドウに分割し、出発点からの、各格子の重みを加味した
ラベル付けをこのウィンドウ単位で行なっていく場合に
おいて、ラベル付けが終了したウィンドウの能動格子の
ラベル値を伝えることができる複数の隣接ウィンドウの
中、その時点での最小のラベル値が伝わっていくウィン
ドウだけに次のラベル付けを行なうようにし、いったん
ラベル値がふられた後で再びラベル付けが実行されてよ
り小さいラベル値に更新されるといったことが生じる率
を減らしているので、ラベル付けの対象になるウィンド
ウの延べ数を少なくして自動配線全体の要処理時間の短
縮化を図ることができる。
【図1】本発明の原理説明図である。
【図2】本発明のラベル付けの様子を示す説明図(その
1)である。
1)である。
【図3】本発明のラベル付けの様子を示す説明図(その
2)である。
2)である。
【図4】本発明の、コントローラの動作手順を示すフロ
ーである。
ーである。
【図5】本発明の、各プロセッサエレメント(PE)の
動作手順を示すフローである。
動作手順を示すフローである。
【図6】従来の、重みを加味した迷路法(その1)によ
るラベル付けの様子を示す説明図である。
るラベル付けの様子を示す説明図である。
【図7】m×n(m,nは整数)の格子からなる複数の
ウィンドウに分割された配線平面、および各格子の重み
を示す説明図である。
ウィンドウに分割された配線平面、および各格子の重み
を示す説明図である。
【図8】図7のウィンドウ単位でラベル付けを実行して
いく、自動配線処理専用のハードウェアの概要を示す説
明図である。
いく、自動配線処理専用のハードウェアの概要を示す説
明図である。
【図9】複数のPE(プロッセッサエレメント)それぞ
れが持つデータ内容を示す説明図である。
れが持つデータ内容を示す説明図である。
【図10】図7の配線平面における、従来の、重みを加味
した迷路法(その2)によるラベル付けの様子を示す説
明図である。
した迷路法(その2)によるラベル付けの様子を示す説
明図である。
1 配線平面デ−タ 2 重みデ−タ 3 コントローラ(PE制御装置) 4 イベント・キュー 5 プロセッサ・アレイ
フロントページの続き (56)参考文献 特開 昭60−144867(JP,A) 特開 昭62−80757(JP,A) 特開 昭63−15367(JP,A) 特開 平2−17576(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 17/50 G06F 15/16 H01L 21/82
Claims (2)
- 【請求項1】 m×n(m,nは整数)の格子からなる
複数のウィンドウに分割され、当該格子のそれぞれには
配線部分として用いられることについての重みが設定さ
れている配線平面に対し、イベント・キューを持つコン
トローラと、それぞれが前記ウィンドウの格子を1対1
の対応関係で担当するとともに、隣接格子を担当するも
の同士が通信路で接続されたm×n個のプロセッサエレ
メントを持つプロセッサアレイとを用いて、前記コント
ローラから指示されるウィンドウについての、前記重み
を加味したうえでの隣接格子に対するラベル付けを、出
発点のウィンドウから前記プロセッサアレイにより順次
行ない、このラベル付けの結果に基づいて出発点と目的
点との間の配線経路を求めていく自動配線処理における
ラベル付け方式において、各ウィンドウの隣接関係など
を示す配線平面データおよび各格子の重みデータが与え
られている前記プロセッサアレイは、指示されたウィン
ドウの各格子に対する前記ラベル付けを繰り返し実行し
ながら、隣接ウィンドウにラベル値を伝えることができ
る能動格子のそれぞれのラベル値と、この隣接ウィンド
ウのウィンドウ番号とを、前記コントローラに送り、前
記コントローラは、所定の時点で、この送られてきたウ
ィンドウ番号と、当該ウィンドウ番号に対応するラベル
値の中の最小のものとを組にしたデータを前記イベント
・キューに加え、続いてこのイベント・キューに入って
いるラベル値の中の最小のものと組になっているウィン
ドウ番号を前記プロセッサに送って、このウィンドウ番
号で特定されるウィンドウのみが次のラベル付けの対象
であることを指示するとともに、このウィンドウ番号の
組のデータを前記イベント・キューから削除するといっ
た処理を繰り返し、目的点のラベル値がより小さな値で
更新されなくなるまでラベル付けを実行するようにした
ことを特徴とする自動配線処理におけるラベル付け方
式。 - 【請求項2】 前記コントローラは、前記イベント・キ
ューに入っているラベル値とウィンドウ番号との組の中
で、そのラベル値が目的点のラベル値以上になっている
組についても前記イベント・キューから削除するように
したことを特徴とする請求項1記載の自動配線処理にお
けるラベル付け方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3044690A JP2931683B2 (ja) | 1991-03-11 | 1991-03-11 | 自動配線処理におけるラベル付け方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3044690A JP2931683B2 (ja) | 1991-03-11 | 1991-03-11 | 自動配線処理におけるラベル付け方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH04281571A JPH04281571A (ja) | 1992-10-07 |
| JP2931683B2 true JP2931683B2 (ja) | 1999-08-09 |
Family
ID=12698420
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3044690A Expired - Fee Related JP2931683B2 (ja) | 1991-03-11 | 1991-03-11 | 自動配線処理におけるラベル付け方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2931683B2 (ja) |
-
1991
- 1991-03-11 JP JP3044690A patent/JP2931683B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH04281571A (ja) | 1992-10-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4099233A (en) | Electronic data-processing system with data transfer between independently operating miniprocessors | |
| EP0632945A4 (en) | METHOD AND APPARATUS FOR ASSEMBLING DATA PACKETS. | |
| GB2139043A (en) | Conversational video system having local network control | |
| JP2931683B2 (ja) | 自動配線処理におけるラベル付け方式 | |
| US6195628B1 (en) | Waveform manipulation in time warp simulation | |
| Bay et al. | Deterministic on-line routing on area-universal networks | |
| JP2508620B2 (ja) | 論理回路シミュレ―ション装置 | |
| JP2646852B2 (ja) | パケット取り扱い方法 | |
| JPS62172840A (ja) | デ−タの転送方式 | |
| JP3302769B2 (ja) | データ転送システム | |
| JP2749725B2 (ja) | 並列計算機の通信方法 | |
| EP0426990A2 (en) | Method of and apparatus for data distribution | |
| JPS63301351A (ja) | 並列コンピュ−タ通信制御方式 | |
| JP2002288147A (ja) | 分散メモリ型並列計算機およびコンピュータ・プログラム | |
| JPS6285365A (ja) | 情報転送方式 | |
| JPS6051346A (ja) | デ−タ転送方式 | |
| JP2002341907A (ja) | 高炉設備プログラムロジックコントローラにおけるデータ送受信方法 | |
| JPH07191947A (ja) | 並列計算機 | |
| JP2002207648A (ja) | 並列計算機の識別番号変換方法 | |
| JPS60245346A (ja) | 受信制御方式 | |
| JPH02244852A (ja) | パケット処理装置 | |
| JPS62245441A (ja) | 待ち行列制御方式 | |
| JPH04291444A (ja) | プロセス強制終了方法 | |
| JPH0282342A (ja) | データ通信装置 | |
| JPH0645446A (ja) | 配置配線方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19990511 |
|
| LAPS | Cancellation because of no payment of annual fees |