Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP2931683B2 - Labeling method in automatic wiring processing - Google Patents
[go: Go Back, main page]

JP2931683B2 - Labeling method in automatic wiring processing - Google Patents

Labeling method in automatic wiring processing

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
Application number
JP3044690A
Other languages
Japanese (ja)
Other versions
JPH04281571A (en
Inventor
秀樹 三渡
薫 河村
由江 大木
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP3044690A priority Critical patent/JP2931683B2/en
Publication of JPH04281571A publication Critical patent/JPH04281571A/en
Application granted granted Critical
Publication of JP2931683B2 publication Critical patent/JP2931683B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は、自動配線処理における
ラベル付け方式に関し、特に自動配線の対象であるプリ
ント基板やLSI等の配線平面をm×n(m,nは整
数)の格子からなる複数のウィンドウに分割し、各格子
には配線部分として用いられることについての重みを与
えて、この重みを加味したうえでの隣接格子に対するラ
ベル付けを前記ウィンドウの単位で、出発点のウィンド
ウから順次行ない、このラベル付けの結果に基づいて出
発点,目的点それぞれの端子間の配線経路を求めていく
場合のラベル付け方式に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a labeling method in automatic wiring processing, and more particularly, to a wiring plane of a printed circuit board, LSI, or the like, which is an object of automatic wiring, is formed of an m.times.n (m, n is an integer) grid. The window is divided into a plurality of windows, and each grid is given a weight for being used as a wiring portion, and the labeling for the adjacent grids taking into account the weight is performed in the unit of the window in order from the window at the starting point. The present invention relates to a labeling method for determining the wiring route between the terminals at the start point and the destination point based on the result of the labeling.

【0002】このような自動配線処理は計算機を用いて
行なわれるが、最近では、プリント基板やLSI等が高
密度化されていることもあって、配線経路決定までの要
処理時間の短縮化を図ることがより必要となっている。
本発明は、このような要処理時間の短縮化の要請に応え
るためのラベル付け方式に関する。
[0002] Such automatic wiring processing is performed using a computer, but recently, due to the high density of printed circuit boards, LSIs, and the like, the processing time required to determine the wiring path has been reduced. It is more necessary to plan.
The present invention relates to a labeling method for responding to such a demand for shortening the required processing time.

【従来の技術】[Prior art]

【0003】従来の、ラベル付けの結果に基づいて端子
間の配線経路を求めていく手法である迷路法を、図6〜
図10を用いて説明する。図6において、A′,B′は自
動配線処理の対象となっている端子対であり、A′は出
発点,B′は目的点である。そして、この両点が格子上
に載るように、プリント基板やLSI等の自動配線対象
平面は格子状に分割されており、また網掛けした部分は
配線パタ−ンを引くことができない禁止領域である。
A conventional maze method, which is a method of obtaining a wiring route between terminals based on a result of labeling, is shown in FIGS.
This will be described with reference to FIG. In FIG. 6, A 'and B' are terminal pairs subject to automatic wiring processing, A 'is a starting point, and B' is a destination point. The plane to be automatically wired such as a printed circuit board or an LSI is divided into a lattice so that these two points are placed on the lattice, and the hatched portion is a prohibited area where the wiring pattern cannot be drawn. is there.

【0004】図6(a) は、自動配線対象平面の各格子が
配線部分として用いられることについての重みを示す説
明図であり、その数値が小さいほど配線パタ−ンとして
優先的に用いることができる格子であることを表してい
る。この重みは、既設の配線パタ−ンとの位置関係や、
以降の配線を行なうときの困難性などに基づき、予め決
められている。
FIG. 6 (a) is an explanatory diagram showing the weight of using each grid of the plane to be automatically routed as a wiring portion. The smaller the numerical value is, the more preferentially the wiring pattern is used. This indicates that the grid is made. This weight depends on the positional relationship with the existing wiring pattern,
It is determined in advance based on the difficulty in performing the subsequent wiring.

【0005】ここで、隣接格子にラベル付けを行なう能
力を備えた能動格子は最初A′点のみであり、先ずA′
点から、この格子の東西南北に隣接する4つの格子にラ
ベル付け、すなわちA点自体のラベル値(重み)に隣接
格子それぞれの重みを加えた値をその隣接格子にふるこ
とが行なわれる。
[0005] Here, the active grid having the ability to label adjacent grids is only the point A 'at first, and A'
From the point, four grids adjacent to the east, west, north and south of this grid are labeled, that is, the value obtained by adding the weight of each of the grids to the label value (weight) of point A itself is assigned to the grid.

【0006】そして、次の2ステップ目では、図6(b)
のように、1ステップ目でラベル付けが行なわれた格子
(○印で囲んだ数字の部分)が能動格子となって、これ
らの能動格子から矢印の方向にラベル付けが行なわれ、
新たに5つの隣接格子にラベル値がふられることにな
る。
Then, in the next second step, FIG.
, The grids labeled in the first step (the numbers in circles) become active grids, and labeling is performed in the direction of the arrows from these active grids.
Label values are newly assigned to five adjacent grids.

【0007】また、このときの格子E,Fへのラベル付
けのように、隣接する複数の格子からのラベル付けが可
能なときは値の小さい方のラベル値がふられることにな
る。例えば、格子Eの場合、北側の格子からのラベル付
けによるラベル値は「7」,東側の格子からのラベル付
けによるラベル値は「8」となり、前者のラベル値がふ
られている。
When labeling from a plurality of adjacent grids is possible, such as labeling on grids E and F at this time, the smaller label value is assigned. For example, in the case of the grid E, the label value from the grid on the north side is "7" and the label value from the grid on the east side is "8", and the former label value is added.

【0008】以下、同じ手順でラベル付けが行なわれ、
6ステップ目のラベル付けが終了した時点でのラベル状
態は図6(c) のようになる。なお、○印で囲んだ数字の
部分は次のステップへの能動格子であり、例えば5ステ
ップ目のラベル付けで「17」のラベル値がふられている
格子Gは、次の7ステップ目における西側の能動格子H
からのラベル付けにより「16」のラベル値に更新され
る。
Hereinafter, labeling is performed in the same procedure.
The label state at the time when the labeling at the sixth step is completed is as shown in FIG. Note that the part of the number surrounded by a circle is the active grid for the next step. For example, the grid G with the label value of “17” in the labeling of the fifth step is the grid G in the next seventh step. West active grid H
Is updated to the label value of "16" by the labeling from.

【0009】図6(d) は、9ステップ目のラベル付けが
終了した状態であり、このとき目的点B′に始めてラベ
ル値「22」がふられる。ここで、能動格子(○印で囲ん
だ数字の部分)の中、右上部分の格子I,Jそれぞれの
ラベル値は目的点Bのラベル値「22」より小さく、これ
らの格子からの新たなラベル付けによって目的点B′の
ラベル値が「22」より小さい値に更新される可能性があ
るため、以降も、格子I,Jそれぞれからのラベル付け
は続行される。
FIG. 6D shows a state in which the labeling at the ninth step has been completed. At this time, the label value "22" is added to the destination point B 'for the first time. Here, in the active grid (the part of the number surrounded by a circle), the label value of each of the grids I and J in the upper right part is smaller than the label value “22” of the destination point B, and a new label from these grids Since the label value of the target point B 'may be updated to a value smaller than "22" by the labeling, labeling from the grids I and J is continued thereafter.

【0010】そして、目的点Bのラベル値が、より小さ
い値に更新される可能性がなくなった図6(e) の状態で
ラベル付けは終了し、続いて、目的点B′から出発点
A′に向かって、ラベル値の小さくなる隣接格子を順次
たどることによりA′とB′との間の配線経路を決定し
ている。
The labeling is completed in the state shown in FIG. 6E where the label value of the destination point B is no longer updated to a smaller value. , The wiring route between A 'and B' is determined by sequentially following the adjacent grid with the smaller label value.

【0011】このような迷路法においては、全処理時間
の70〜80%をラベル付けに要しており、また図6(d) の
ように目的点B′にラベル値がふられてからも以降のラ
ベル付けを続行することが必要な場合もあるため、専用
のハードウェアを用いて自動配線処理の高速化を図るこ
とが提案されている。
In such a maze method, 70 to 80% of the total processing time is required for labeling, and even after the label value is assigned to the target point B 'as shown in FIG. Since it may be necessary to continue the subsequent labeling, it has been proposed to use dedicated hardware to speed up the automatic wiring process.

【0012】以下、図7〜図10を参照して、この専用の
ハードウェアを用いた自動配線処理について説明する。
図7(a) はm×n(m,nは整数)の格子からなる複数
のウィンドウに分割された配線平面を、図7(b) はこの
配線平面における各格子の重みを、図8はこの配線平面
にラベル付けを実行していく自動配線処理専用のハード
ウェアの概要を、図9はこのハードウェアの一部である
複数のPE(プロッセッサエレメント)それぞれが持つ
データ内容を、また図10はこのハードウェアにより図7
(a) の配線平面をラベル付けしていく様子を示してい
る。なお、このPE(プロッセッサエレメント)の構成
については特開平2−81258号公報で開示されてい
る。
Hereinafter, an automatic wiring process using the dedicated hardware will be described with reference to FIGS.
FIG. 7A shows a wiring plane divided into a plurality of windows each having a grid of m × n (m and n are integers), FIG. 7B shows the weight of each grid in this wiring plane, and FIG. FIG. 9 shows an outline of hardware dedicated to automatic wiring processing for performing labeling on the wiring plane, and FIG. 9 shows data contents of a plurality of PEs (processor elements) which are a part of the hardware. Figure 10 shows this hardware
(a) shows how to label the wiring plane. The configuration of the PE (processor element) is disclosed in Japanese Patent Application Laid-Open No. 2-81258.

【0013】ここで、自動配線の対象である配線平面の
各格子には配線部分として用いられることについての重
みが設定されており、ラベル付けは複数のPEによって
このウィンドウを単位にして実行される。すなわち、複
数のPEは、所定のウィンドウのラベル付けが終了して
から、次の処理対象である隣接ウィンドウのラベル付け
が実行される。
Here, each grid of the wiring plane to be automatically routed is set with a weight for use as a wiring portion, and labeling is performed by a plurality of PEs in units of this window. . In other words, the plurality of PEs perform labeling of an adjacent window to be processed next after labeling of a predetermined window ends.

【0014】図8において、5はプロセッサアレイで、
それぞれが各ウィンドウの1つの格子を担当するプロッ
セッサエレメント(PE1〜PE9)からなっており、
例えば、ウィンドウ0のラベル付けの場合、PE5が格
子A(出発点)を、PE3が格子Jを担当する。また、
3はこれらのPEを制御するためのコントローラ,11は
このコントローラに実装されたPE制御メモリである。
In FIG. 8, 5 is a processor array,
Each consists of processor elements (PE1 to PE9) that are responsible for one grid of each window,
For example, in the case of labeling window 0, PE5 is in charge of grid A (starting point) and PE3 is in charge of grid J. Also,
Reference numeral 3 denotes a controller for controlling these PEs, and reference numeral 11 denotes a PE control memory mounted on the controller.

【0015】ここで、各PEは、担当する格子に隣接す
る東西南北の格子を担当するPEのそれぞれと通信路を
介して接続されており、例えばPE1はPE2,PE4
の外にPE3とPE7にも接続されている。そして、コ
ントローラ3とプロセッサアレイ5との間にも通信路が
設けられており、PE制御用メモリ11と各PEとの間
で、ラベル付けのためのデ−タ分配やラベル値などのデ
−タ収集を行えるようになっている。また、コントロー
ラ3はこれらのデ−タ分配,デ−タ収集の制御や、全P
Eで実行する演算の制御を行なっている。
Here, each PE is connected via a communication path to each of the PEs in charge of the north, south, east and west grids adjacent to the grid in charge, for example, PE1 is PE2, PE4
Are also connected to PE3 and PE7. A communication path is also provided between the controller 3 and the processor array 5, and data such as data distribution for labeling and label values are provided between the PE control memory 11 and each PE. Data collection. The controller 3 controls the data distribution and data collection,
E controls the operation to be executed.

【0016】このように、コントローラ3は、プロセッ
サアレイ5に、ラベル付けの出発点や目的点を設定し、
また各PEにウィンドウを指示してそのラベル付けを実
行させ、当該ウィンドウ内でのラベル値の更新がなくな
ったことを判定してから次のラベル付けを実行するウィ
ンドウを指示している。なお、ウィンドウの切り換えは
PE内メモリのベースアドレスの設定によって行われ
る。
As described above, the controller 3 sets the starting point and the destination point of the labeling in the processor array 5,
In addition, each PE is instructed to specify a window, and the labeling is executed. After it is determined that the label value is no longer updated in the window, a window for executing the next labeling is indicated. The window is switched by setting the base address of the memory in the PE.

【0017】そして、各PEのメモリが持つ図9のデー
タの中、「windownumber」,「targe
tLabel」および「nLabel」は各ウィンドウ
に共通なワーク用のデータであり、その他のものはウィ
ンドウ毎のデータである。
In the data of the memory of each PE shown in FIG. 9, "windownumber", "target"
"tLabel" and "nLabel" are work data common to each window, and the others are data for each window.

【0018】また、括弧内の数字はウィンドウ番号を示
しており、例えば「nWindow(0)」は、ウィン
ドウ0の北側に隣接するウィンドウ番号「3」であり、
PE1のメモリでの「cost(2)」は、ウィンドウ
2でPE1が担当する格子Lの重み「4」である。
The number in parentheses indicates a window number. For example, “nWindow (0)” is a window number “3” adjacent to the north side of window 0,
“Cost (2)” in the memory of PE1 is the weight “4” of the lattice L handled by PE1 in window 2.

【0019】また、「startFlag」については
ウィンドウ0の出発点Aを担当するPE5のメモリの
「startFlag(0)」のみが「1」になり、
「targetFlag」についてはウィンドウ2の目
的点Bを担当するPE6のメモリの「targetFl
ag(2)」のみが「1」になっている。
As for "startFlag", only "startFlag (0)" in the memory of PE5 which is in charge of the starting point A of window 0 becomes "1".
As for “targetFlag”, “targetFl” in the memory of the PE 6 in charge of the target point B of the window 2
“ag (2)” is “1”.

【0020】次に、この専用ハードウェアにより図7
(a) の配線平面をラベル付けしていく様子を、図10を用
いて説明する。図において、Aは出発点を、Bは目的点
を、網掛けした部分はその時点での能動格子を、また矢
印は最小のラベル値を与えるラベルが伝わってきた方向
を示している。そして、イベント・キュー4は、次にラ
ベル付けを行なうウィンドウのウィンドウ番号を格納す
るためにPE制御用メモリ11に設けられた領域であり、
このイベント・キューには、右側を先頭にして、ウィン
ドウ番号が小さい方から順に格納されている。
Next, the dedicated hardware shown in FIG.
The state of labeling the wiring plane in (a) will be described with reference to FIG. In the figure, A indicates the starting point, B indicates the destination point, the shaded portion indicates the active grid at that time, and the arrow indicates the direction in which the label giving the minimum label value has been transmitted. The event queue 4 is an area provided in the PE control memory 11 for storing the window number of the next window to be labeled.
In this event queue, the window numbers are stored in ascending order of the window numbers, starting from the right side.

【0021】図10(b) は、ウィンドウ0のラベル付けが
終了した状態を示しており、イベント・キューには、次
のラベル付けの対象であるウィンドウ、すなわちウィン
ドウ0の能動格子に隣接したウィンドウ1とウィンドウ
3のウィンドウ番号が格納されている。
FIG. 10B shows a state in which the labeling of window 0 has been completed, and the next queue to be labeled, that is, the window adjacent to the active grid of window 0, is stored in the event queue. 1 and the window number of window 3 are stored.

【0022】図10(c) は、このウィンドウ1とウィンド
ウ3のラベル付けが終了した状態を示しており、イベン
ト・キューには、次のラベル付けの対象であるウィンド
ウ0,ウィンドウ2およびウィンドウ4のウィンドウ番
号が格納されている。なお、すでにラベル付けが行なわ
れたウィンドウ0が次のラベル付けの対象になっている
のは、ウィンドウ3中の右下のラベル値「15」の能動格
子が、その南側に隣接するウィンドウ0中の(この能動
格子との間で、南北方向の矢印がついていない)格子の
ラベル値を更新する可能性が存在するためである。
FIG. 10 (c) shows a state in which labeling of the windows 1 and 3 has been completed, and the event queue has windows 0, 2 and 4 to be labeled next. Window number is stored. Note that the already labeled window 0 is the target of the next labeling because the active grid with the label value “15” at the lower right in window 3 is located in the window 0 adjacent to its south side. This is because there is a possibility of updating the label value of the grid (there is no north-south arrow between this active grid).

【0023】図10(d) は、このウィンドウ0,ウィンド
ウ2およびウィンドウ4のラベル付けが終了した状態を
示しており、イベント・キューには、次のラベル付けの
対象であるウィンドウ1,ウィンドウ3およびウィンド
ウ5のウィンドウ番号が格納されている。ここで、ウィ
ンドウ3とウィンドウ5が次のラベル付け処理の対象に
なっているのは、図10(c) の場合と同様な理由のためで
ある。
FIG. 10 (d) shows a state in which labeling of window 0, window 2 and window 4 has been completed. In the event queue, window 1 and window 3 to be labeled next are displayed. And the window number of the window 5 are stored. Here, the window 3 and the window 5 are subjected to the next labeling process for the same reason as in the case of FIG. 10C.

【0024】また、この段階で目的点Bにラベル値「3
0」がふられているが、ウィンドウ4の能動格子のラベ
ル値がウィンドウ5を介して伝わることにより目的点B
のラベル値がより小さい値に更新される可能性があるた
め、以降のラベル付け処理を実行している。このとき、
ウィンドウ2の右上,右下の格子M,Nは、それぞれの
ラベル値「31」が目的点Bのラベル値「30」より大きく
なっており、能動格子ではない。
At this stage, the label value "3
Although “0” is added, the label value of the active grid of the window 4 is transmitted through the window 5 so that the destination point B
Since the label value of may be updated to a smaller value, the subsequent labeling process is executed. At this time,
In the grids M and N at the upper right and lower right of the window 2, the respective label values “31” are larger than the label value “30” of the destination point B, and are not active grids.

【0025】図10(e) は、このウィンドウ1,ウィンド
ウ3およびウィンドウ5のラベル付けが終了した状態を
示しており、イベント・キューには、次のラベル付けの
対象であるウィンドウ2およびウィンドウ4のウィンド
ウ番号が格納されている。
FIG. 10 (e) shows a state in which labeling of windows 1, 3 and 5 has been completed, and the event queue has windows 2 and 4 to be labeled next. Window number is stored.

【0026】図10(f) は、すべてのラベル付け処理が終
了した状態、すなわち能動格子がなくなり、またイベン
ト・キューは空になった状態を示している。なお、ウィ
ンドウ2の両下隅の格子P,Qは、それぞれのラベル値
を更新しても目的点Bのラベル値よりも大きな値になる
ため、図10(e) のままになっている。
FIG. 10 (f) shows a state in which all labeling processes have been completed, that is, a state in which the active grid has disappeared and the event queue has become empty. Note that the grids P and Q at both lower corners of the window 2 remain larger than the label value of the target point B even if the respective label values are updated.

【0027】[0027]

【発明が解決しようとする課題】以上の、専用ハードウ
ェアによるウィンドウ単位のラベル付けの場合にも、6
つのウィンドウに対してウィンドウの切り換えが11回に
も及び、依然として要処理時間が長いという問題点があ
った。
The above-described labeling in units of windows by dedicated hardware also requires 6 labels.
There is a problem that the window switching is performed 11 times for one window, and the processing time is still long.

【0028】そこで、本発明では、イベント・キューに
複数個のウィンドウ番号が入っているときには、それぞ
れのウィンドウ番号のウィンドウに伝わってくるラベル
値の中で最も小さいもののウィンドウのみについてのラ
ベル付けを実行することにより、いったんラベル付けを
行なったウィンドウについて再度のラベル付けが実行さ
れ、より小さいラベル値に更新されるといったことが生
じるのをできるだけ少なくして、ラベル付けに要する時
間の短縮化を図ることを目的とする。
Therefore, according to the present invention, when a plurality of window numbers are contained in the event queue, labeling is performed only for the window having the smallest label value transmitted to the window of each window number. By doing so, it is possible to reduce the time required for labeling by minimizing the occurrence of relabeling the window once labeled and updating to a smaller label value as much as possible. With the goal.

【0029】[0029]

【課題を解決するための手段】本発明は、m×n(m,
nは整数)の格子からなる複数のウィンドウに分割さ
れ、前記格子のそれぞれには配線部分として用いられる
ことについての重みが設定されている配線平面に対し、
この重みを加味したうえでの隣接格子に対するラベル付
けを前記ウィンドウの単位で、出発点のウィンドウから
順次行なっていく方式において、次のラベル付けの対象
となる隣接ウィンドウが複数個あるとき、ラベル付け処
理が終了したウィンドウの能動格子から伝わっていくラ
ベル値が最も小さい隣接ウィンドウのみに次のラベル付
け処理を行ない、いったんラベル付け処理が終了したウ
ィンドウのラベル値が再度のラベル付け処理によってよ
り小さいラベル値に更新されるといったケースが発生す
ることを少なくしたものである。
SUMMARY OF THE INVENTION The present invention relates to m × n (m,
n is an integer) into a plurality of windows consisting of a grid, and each of the grids has a weight set for being used as a wiring portion.
In the method of sequentially performing labeling on adjacent grids taking into account the weight in units of the window from the window at the starting point, when there are a plurality of adjacent windows to be labeled next, labeling is performed. The next labeling process is performed only on the adjacent window that has the smallest label value transmitted from the active grid of the processed window, and the label value of the window whose labeling process has been completed is smaller by the labeling process again. This reduces the occurrence of cases such as updating to a value.

【0030】図1は、本発明の原理説明図である。図に
おいて、1は、配線平面デ−タであり、m×n(m,n
は整数)の格子からなる複数のウィンドウに分割された
配線平面における各ウィンドウの隣接関係などを示すデ
−タからなっている。
FIG. 1 is a diagram illustrating the principle of the present invention. In the figure, reference numeral 1 denotes wiring plane data, which is mxn (m, n
) Is data indicating the adjacent relationship of each window in a wiring plane divided into a plurality of windows formed of a lattice of (integer).

【0031】2は、重みデ−タであり、配線平面の各格
子に設定されている、配線部分として用いられることに
ついての重みからなっている。
Numeral 2 denotes weight data, which is set in each grid of the wiring plane and includes weights for use as wiring portions.

【0032】3は、コントローラであり、配線平面デー
タ1,重みデータ2や、次のラベル付けに用いる能動格
子のラベル値などをプロセッサアレイ5に送り、ラベル
付けの終了した能動格子のラベル値や当該能動格子の隣
接ウィンドウのウィンドウ番号などをプロセッサアレイ
5から受け、またプロセッサアレイ5で実行する演算の
制御を行なう。
Reference numeral 3 denotes a controller, which sends wiring plane data 1, weight data 2, and the label value of the active grid used for the next labeling to the processor array 5, and outputs the label value of the labeled active grid to the processor array 5. It receives the window number of the window adjacent to the active lattice from the processor array 5 and controls the operations executed by the processor array 5.

【0033】4は、イベント・キューであり、プロセッ
サアレイ5から送られてくるウィンドウ番号と、このウ
ィンドウ番号に対応する(このウィンドウにラベル値を
伝えてくる能動格子の)ラベル値の中の最小のものとが
組になって格納される。
Reference numeral 4 denotes an event queue, which is a window number sent from the processor array 5 and a minimum value among the label values corresponding to the window number (of the active grid transmitting the label value to this window). Are stored as a set.

【0034】5は、プロセッサアレイであり、それぞれ
が1つの格子を担当するm×n個のプロセッサエレメン
トから構成され、隣接格子を担当するプロセッサエレメ
ント同士は通信路を介して接続されており、コントロー
ラ3から指示されるウィンドウの各格子についてのラベ
ル付けを実行する。
Reference numeral 5 denotes a processor array, which is composed of m × n processor elements each of which is in charge of one grid, and the processor elements which are in charge of adjacent grids are connected via a communication path. Perform labeling for each grid of the window indicated by 3.

【0035】そして、本発明のラベル付け処理の基本的
な手順は次のようになっている。すなわち、コントロ
ーラ3は、プロセッサアレイ5に出発点のウィンドウの
ウィンドウ番号を送って最初にラベル付けを実行するウ
ィンドウを指示する。
The basic procedure of the labeling process according to the present invention is as follows. That is, the controller 3 sends the window number of the window of the starting point to the processor array 5 to indicate the window to be first labeled.

【0036】プロセッサアレイ5の各プロセッサエレ
メントは、指示されたウィンドウについて、従来と同様
なラベル付けを、ラベル値が伝わっていく隣接格子のそ
れぞれに順次実行する。
Each processor element of the processor array 5 sequentially performs labeling on the designated window in the same manner as in the related art on each of adjacent grids through which label values are transmitted.

【0037】プロセッサアレイ5は、隣接ウィンドウ
にラベル値を伝えることができる能動格子のラベル値
と、このウィンドウ番号とをコントローラ3に順次送信
する。なお、このラベル値が、その時点での目的点のラ
ベル値以上のものであるときには、これらのデータをコ
ントローラ3へ送信しないか、送信したとしてもコント
ローラ3の方で無効データとして取り扱うようにしてい
る。これは、このラベル値を用いて以降のラベル付けを
実行しても、目的点のラベル値がより小さな値に更新さ
れる可能性がないからである。
The processor array 5 sequentially transmits the label value of the active grid capable of transmitting the label value to the adjacent window and the window number to the controller 3. If the label value is equal to or greater than the label value of the target point at that time, the data is not transmitted to the controller 3 or even if it is transmitted, the controller 3 treats the data as invalid data. I have. This is because even if subsequent labeling is performed using this label value, there is no possibility that the label value of the destination point is updated to a smaller value.

【0038】コントローラ3は、コントローラ3から
の新たな内容の送信がなくなったことを確認して、送ら
れてきたウィンドウ番号と、これに対応するラベル値の
中の最小のものとを組にしてイベント・キューに加え
る。
The controller 3 confirms that the transmission of new contents from the controller 3 has ceased, and pairs the transmitted window number with the smallest label value corresponding to the window number. Add to event queue.

【0039】コントローラ3は、イベント・キューに
ウィンドウ番号のデ−タが残っているかどうかを判断
し、「YES」の場合はラベル付けを終了し、「NO」の場
合は次のステップに進む。
The controller 3 determines whether or not data of the window number remains in the event queue. If "YES", the labeling is ended, and if "NO", the process proceeds to the next step.

【0040】イベント・キューに入っているラベル値
の中の最小のものと組になっているウィンドウ番号を取
り出してプロセッサアレイ5に送り、次にラベル付けを
行なうウィンドウを指示し、かつこの組のデ−タをイベ
ント・キューから削除して、ステップに戻る。といっ
た基本的手順により、次にラベル付けの対象となるウィ
ンドウが複数ある場合には、その中の特定のウィンドウ
のみのラベル付けを実行している。
The window number paired with the smallest of the label values in the event queue is retrieved and sent to the processor array 5, indicating the next window to be labeled, and Delete the data from the event queue and return to the step. According to the basic procedure described above, when there are a plurality of windows to be labeled next, labeling is performed only for a specific one of the windows.

【0041】なお、ステップにおいて、プロセッサア
レイ5に送られなかったデ−タの中で、ラベル値が(こ
の時点での)目的点のラベル値以上となっている組のも
のについてもイベント・キューから削除するようにして
もよい。これは、これらのラベル値に基づく以降のラベ
ル付けを行なっても、目的点のラベル値がより小さい値
に更新される可能性がないからである。
It should be noted that, among the data not sent to the processor array 5 in the step, the event queue of the set whose label value is equal to or larger than the label value of the target point (at this time) is also set. May be deleted. This is because even if subsequent labeling is performed based on these label values, there is no possibility that the label value of the destination point is updated to a smaller value.

【0042】[0042]

【作用】このように、ラベル付けが終了したウィンドウ
の能動格子のラベル値を伝えることができる隣接ウィン
ドウが複数あるときには、従来のようにこれらすべての
ウィンドウについてのラベル付けを実行するのではな
く、所定のルールにしたがって指示される一つのウィン
ドウのみに対してラベル付けを実行するようにしてい
る。
As described above, when there are a plurality of adjacent windows capable of transmitting the label value of the active grid of the window for which labeling has been completed, the labeling is not performed for all the windows as in the related art. Labeling is performed only for one window specified according to a predetermined rule.

【0043】そして、このルールは、隣接ウィンドウの
中、ラベル値が最も小さい能動格子に隣接するものを選
択することであるから、この選択されたウィンドウにラ
ベル付けを実行した後で他のウィンドウから伝わってく
るラベル値で再びラベル付けを実行して、この選択ウィ
ンドウのラベル値がより小さな値に更新されるといった
ケースが生じる率は低いものとなり、全体のラベル付け
が終了するまでに必要なウィンドウの切り換え回数を減
らすことができる。
Then, since this rule is to select the window adjacent to the active grid having the smallest label value from the adjacent windows, after performing the labeling on the selected window, the window from other windows is selected. It is unlikely that relabeling with the incoming label value will update the selected window's label value to a smaller value, and the window required to complete the entire labeling process will be low. Can be reduced.

【0044】以下、このラベル付けの様子を、図2〜図
3を用いて説明する。ここで、Aは出発点、Bは目的
点、網掛け部分は能動格子であり、各格子の重みについ
ては図8と同じ内容に設定されている。また、各ウィン
ドウ番号の右側の数字は、そのウィンドウに隣接する能
動格子のラベル値の中の最小のものであり、これらは1
組のデ−タを構成している。そして、各組のデ−タは、
この右側の数字を小さい順に並べ換えて小さいほうをイ
ベント・キュー4の先頭に入れるといったルールにした
がって格納されており、次のラベル付けは、このイベン
ト・キュー4の先頭(右側)に格納されているウィンド
ウ番号のウィンドウについてのみ行なわれる。
Hereinafter, this labeling will be described with reference to FIGS. Here, A is the starting point, B is the destination point, the shaded portion is the active grid, and the weight of each grid is set to the same content as in FIG. The number to the right of each window number is the smallest of the label values of the active grid adjacent to the window, and these are 1
It constitutes a set of data. And the data of each set is
The numbers on the right side are stored in accordance with the rule of rearranging the numbers in ascending order and the smaller number is placed at the head of the event queue 4, and the next labeling is stored at the head (right side) of the event queue 4. Performed only for the window with the window number.

【0045】図2(a) は、初期状態を示しており、イベ
ント・キュー4には、最初にラベル付けを実行する出発
点Aのウィンドウ0と、この出発点Aの重み「1」とが
格納されている。
FIG. 2A shows an initial state. In the event queue 4, a window 0 of a starting point A for performing labeling first and a weight "1" of the starting point A are stored. Is stored.

【0046】図2(b) は、ウィンドウ0のラベル付けが
終了した状態を示しており、先のウィンドウ0の「0−
1」のデータは削除されている。そして、イベント・キ
ューには、このウィンドウ0に隣接するウィンドウのウ
ィンドウ番号「1」,「3」とそれぞれの最小ラベル値
「13」,「2」とを組にしたデ−タが、前記ルールにし
たがってウィンドウ3の「3−2」の組を先頭にして格
納されている。
FIG. 2B shows a state in which labeling of window 0 has been completed.
The data of "1" has been deleted. In the event queue, data in which the window numbers “1” and “3” of the window adjacent to the window 0 and the minimum label values “13” and “2” are set as the rule Are stored with the set of “3-2” of the window 3 at the top.

【0047】ここで、ウィンドウ3が先頭になっている
のは、このウィンドウ3に隣接する能動格子のラベル値
の最小値「2」がウィンドウ1に隣接する能動格子のラ
ベル値の最小値「13」よりも小さいからである。
Here, the window 3 is at the top because the minimum value “2” of the label value of the active grid adjacent to the window 3 is the minimum value “13” of the label value of the active grid adjacent to the window 1. Because it is smaller than ".

【0048】以下、同じようにしてイベント・キューの
先頭ウィンドウに対するラベル付けが順次実行されてい
く。
Hereinafter, labeling of the first window of the event queue is sequentially performed in the same manner.

【0049】図2(c) は、ウィンドウ3のラベル付けが
終了した状態を示しており、先のウィンドウ3の「3−
2」のデータは削除されている。そして、イベント・キ
ューには、このウィンドウ3に隣接する、ウィンドウ0
とウィンドウ4についてのデ−タが新たに加えられ、3
組のデ−タがウィンドウ4の「4−5」の組を先頭にし
て格納されている。
FIG. 2C shows a state in which the labeling of the window 3 has been completed.
The data of "2" has been deleted. Then, in the event queue, window 0 adjacent to window 3
And data on window 4 are newly added.
A set of data is stored starting from the set of “4-5” in the window 4.

【0050】ここで、ウィンドウ0についてのデ−タが
新たに加えられているのは、ウィンドウ3の右下のラベ
ル値「15」の能動格子からラベル値がウィンドウ0に伝
わってこのウィンドウのラベル付けを実行することが可
能なためである。
The reason why the data for window 0 is newly added is that the label value is transmitted to the window 0 from the active grid of the label value "15" at the lower right of the window 3, and the label of this window is This is because it is possible to perform the attachment.

【0051】図2(d) は、ウィンドウ4のラベル付けが
終了した状態を示しており、先のウィンドウ4の「4−
5」のデータは削除されている。そして、イベント・キ
ューには、このウィンドウ4に隣接する、ウィンドウ
1,ウィンドウ3およびウィンドウ5についてのデ−タ
が新たに加えられ、5組のデ−タがウィンドウ5の「5
−8」の組を先頭にして格納されている。
FIG. 2D shows a state where the labeling of the window 4 has been completed.
The data of "5" has been deleted. Then, data for window 1, window 3 and window 5 adjacent to the window 4 is newly added to the event queue.
-8 "at the beginning.

【0052】ここで、ウィンドウ3に対しては、ウィン
ドウ4の左側の格子の中、まだウィンドウ3との間で矢
印の付いていない下側のラベル値「18」の格子のみがラ
ベル付けを行なう能力を持った能動状態となっており、
またウィンドウ1については、北側の隣接格子の最小ラ
ベル値「17」の組のデ−タと、西側の隣接格子の最小ラ
ベル値「13」の組のデ−タとがイベント・キューに格納
されることになる。
Here, with respect to the window 3, only the grid with the lower label value "18", which is not yet marked with an arrow, between the grid on the left side of the window 4 and the window 3 performs labeling. It is in an active state with the ability,
For window 1, the data of the set of the minimum label value "17" of the adjacent grid on the north side and the data of the set of the minimum label value "13" of the adjacent grid on the west side are stored in the event queue. Will be.

【0053】図2(e) は、ウィンドウ5のラベル付けが
終了した状態を示しており、先のウィンドウ5の「5−
8」のデータは削除されている。そして、イベント・キ
ューには、このウィンドウ5に隣接する、ウィンドウ2
とウィンドウ4についてのデ−タが新たに加えられ、6
組のデ−タがウィンドウ2の「2−11」の組を先頭にし
て格納されている
FIG. 2E shows a state in which labeling of the window 5 has been completed.
8 ”has been deleted. And, in the event queue, window 2 adjacent to window 5
And data on window 4 are newly added.
A set of data is stored starting from the set of "2-11" in window 2.

【0054】図2(f) は、ウィンドウ2のラベル付けが
終了した状態を示しており、先のウィンドウ2の「2−
11」のデータは削除されているこのとき、目的点Bにラ
ベル値「14」がふられることになり、またラベル付け後
の値がこの「14」より大きくなる下側両隅の格子R,S
には、ラベル値はふられれない。
FIG. 2 (f) shows a state where labeling of window 2 has been completed.
At this time, the label value "14" is added to the target point B, and the grids R, R at the lower corners where the value after labeling is larger than this "14" are deleted. S
Is not given a label value.

【0055】そして、イベント・キューには、新たにデ
ータが加えられることはないが、5組のデ−タ(ウィン
ドウ1については、対応するウィンドウが異なる2組の
デ−タ)が残っており、続いてこれらの4つのウィンド
ウについてのラベル付けが行われる。
Although no new data is added to the event queue, five sets of data (two sets of data corresponding to different windows for window 1) remain. , Followed by labeling of these four windows.

【0056】図3(a) は、すべてのラベル付け処理が終
了した状態、すなわち能動格子がなくなり、イベント・
キューのデ−タがなくなったが状態を示している。この
とき、ラベル付け後の値が目的点Bのラベル値「14」よ
り大きくなるウィンドウ1の各格子にはラベル値がふら
れていない。
FIG. 3A shows a state in which all labeling processes have been completed, that is, the active grid has disappeared, and
This indicates a state where the queue data has been lost. At this time, no label value is assigned to each grid of the window 1 in which the value after labeling is larger than the label value “14” of the destination point B.

【0057】なお、図2(f) の状態において、目的点B
のラベル値「14」以上のラベル値を以降のラベル付けに
用いても、目的点Bのラベル値がより小さい値に更新さ
れる可能性はないので、ウィンドウ0とウィンドウ3に
対するラベル付けは省略してもよい。この場合、ウィン
ドウ3の「3ー18」,ウィンドウ1の「1ー17」および
ウィンドウ0の「0ー15」の3組のデ−タはイベント・
キューから削除され、イベント・キューの状態は図3
(b) のようになる。
Incidentally, in the state of FIG.
If the label value “14” or more is used for subsequent labeling, there is no possibility that the label value of the destination point B is updated to a smaller value, so the labeling for window 0 and window 3 is omitted. May be. In this case, three sets of data, "3-18" of window 3, "1-17" of window 1, and "0-15" of window 0 are event data.
It is removed from the queue and the state of the event queue is
(b).

【0058】このように、ラベル付けの対象となるウィ
ンドウの合計数は、図2(f) のイベント・キュー状態か
ら終了する場合で9個、図3(b) のイベント・キューの
状態から終了する場合で7個となり、いずれの場合も従
来の11個に比べて少なくなっている。
As described above, the total number of windows to be labeled is nine when ending from the event queue state in FIG. 2 (f), and ends in the event queue state in FIG. 3 (b). In this case, the number is seven, and in each case, the number is smaller than that of the conventional eleven.

【0059】[0059]

【実施例】以下,図4および図5を用いて本発明の実施
例を説明する。ここで、コントローラ,各プロセッサエ
レメント(PE),配線平面および各格子の重みなどに
ついては図7〜図9の場合と同じ構成になっている。
An embodiment of the present invention will be described below with reference to FIGS. Here, the controller, each processor element (PE), the wiring plane, the weight of each grid, and the like have the same configuration as those in FIGS.

【0060】図4は、コントローラ3の動作手順を示す
フローである。すなわち、′イベント・キュー4に、
出発点のウィンドウ番号「1」と、この出発点の重み
「1」を加え、次のステップに進む。
FIG. 4 is a flowchart showing the operation procedure of the controller 3. That is, in the event queue 4,
The window number “1” of the starting point and the weight “1” of the starting point are added, and the process proceeds to the next step.

【0061】′イベント・キュー4の先頭データを取
り出してプロセッサアレイ5に送り、次にラベル付けを
実行するウィンドウを各プロセッサエレメントに指示し
て、次のステップに進む。
'Take out the head data of the event queue 4 and send it to the processor array 5, instruct each processor element a window for performing labeling, and proceed to the next step.

【0062】′プロセッサアレイ5から送られてく
る、各格子のラベル値が新たな値に更新されなくなくな
ったのを確認して、次のステップに進む。
'Confirm that the label value of each grid sent from the processor array 5 has not been updated to a new value, and proceed to the next step.

【0063】′各PEから送られてきたラベル値を対
応するウィンドウ番号ごとのグループにし、それぞれの
グループの中で最小のラベル値とウィンドウ番号とを組
にしたデ−タを作成して、次のステップに進む。
'The label values sent from each PE are grouped for each corresponding window number, and data in which the minimum label value and the window number in each group are paired are created. Proceed to step.

【0064】′この(最小)ラベル値とウィンドウ番
号とからなるデ−タをイベント・キュー4に加え、次の
ステップに進む。
'Data including the (minimum) label value and the window number is added to the event queue 4, and the process proceeds to the next step.

【0065】′イベント・キュー4に残っていたデー
タおよび新たに加えられたデータに対してラベル値をキ
ーにしたソートを行い、次のステップに進む。なお、こ
のソートにより、ラベル値とウィンドウ番号とを組にし
た各デ−タは、そのラベル値が小さい順に先頭から並べ
られる。
'The data remaining in the event queue 4 and the newly added data are sorted using the label value as a key, and the process proceeds to the next step. By this sorting, each data in which the label value and the window number are grouped is arranged from the head in ascending order of the label value.

【0066】′このソートされたラベル値と、その時
点での目的点のラベル値「targetLabel」と
を比較し、「前者≧後者」の関係にある組のデータをイ
ベント・キュー4から削除する。なお、「target
Label」の初期値は無限大に設定されている。
'The sorted label values are compared with the label value "targetLabel" of the target point at that time, and a set of data having a relationship of "the former ≧ the latter" is deleted from the event queue 4. In addition, "target
The initial value of “Label” is set to infinity.

【0067】′イベント・キュー4のデータがなくな
ったかどうかを判断し、「YES」の場合はプロセッサア
レイ5に対する制御を終了し、「NO」の場合はステップ
′に戻る。といった手順により、各PEの動作を制御
している。なお、以上の手順において、ステップ′と
ステップ′は順序を逆にしてもよい。
It is determined whether or not the data in the event queue 4 has been exhausted. If "YES", the control for the processor array 5 is ended, and if "NO", the process returns to step "." By such a procedure, the operation of each PE is controlled. In the above procedure, the order of step 'and step' may be reversed.

【0068】一方、各PEでのラベル計算の手順は図5
のようになっている。なお、各PEでのラベル計算は、
コントローラにより指示される単一ウィンドウの各格子
に対し繰り返し行なわれている。
On the other hand, the procedure of label calculation in each PE is shown in FIG.
It is like. The label calculation in each PE is as follows:
The process is repeated for each grid in a single window as indicated by the controller.

【0069】すなわち、(1)コントローラにより、ラベ
ル付けを実行するウィンドウ番号,最初は出発点Aのウ
ィンドウ番号「0」が設定される。
That is, (1) The controller sets a window number for performing labeling, and initially sets a window number “0” of the starting point A.

【0070】(2)各PEのメモリに対するラベル付けの
ための初期値設定を行なう。すなわち、目的点Bのラベ
ル値を無限大にし、ウィンドウ0〜5のそれぞれで各P
Eが担当する格子への、隣接格子からのラベル入力はな
く、またこれらの担当格子自体のラベル値は無限大にし
ている。。
(2) Initial value setting for labeling the memory of each PE is performed. That is, the label value of the destination point B is set to infinity, and each P
There is no label input from the adjacent grid to the grid that E is in charge of, and the label values of these grids themselves are infinite. .

【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参照〕。
(3) It is determined whether or not to proceed to the subsequent label calculation. For example, in window 0, in the case of labeling from the starting point A to its north adjacent lattice T, which is handled by PE2, label (0) and target
Label value is infinity, nLabel value is starting point A
Since the label value of “1” and the value of cost (0) are “1”, this determination condition is satisfied and the process proceeds to the subsequent label calculation, and the value of label (0) of PE2 changes from infinity to “2”.
However, in the case of labeling from grid U to its north adjacent grid V, which is handled by PE3, label
Since the value of (0) is “14”, the value of nLabel is the label value of the grid U “13”, and the value of cost (0) is “12”,
Since the first inequality of the determination condition is no longer satisfied, the label calculation does not proceed, and the value of label (0) of PE3 is not updated (see FIGS. 2A and 2B and FIG. 8).

【0072】また、例えば、ウィンドウ2において、P
E7が担当する、格子Wからその西側隣接格子Rへのラ
ベル付けの場合には、targetLabelの値は
「14」、nLabelの値は格子Wのラベル値「14」、
cost(2)の値は「4」であるから、この判定条件
の2番目の不等式を満たさなくなって以後のラベル計算
には進まない〔図2(f) 、図8参照〕。
Also, for example, in window 2, P
In the case of labeling from grid W to its west adjacent grid R, which is handled by E7, the value of targetLabel is "14", the value of nLabel is the label value of grid W "14",
Since the value of cost (2) is "4", the second inequality of the determination condition is not satisfied, and the process does not proceed to the subsequent label calculation (see FIG. 2 (f) and FIG. 8).

【0073】(4)担当格子のラベル値を、隣接格子から
伝わってきたラベル値に自らの重みを加えた値で更新す
る。例えば、先の格子Tのラベル値を無限大から「2」
に更新する。
(4) Update the label value of the assigned grid with a value obtained by adding its own weight to the label value transmitted from the adjacent grid. For example, the label value of the previous grid T is changed from infinity to “2”.
Update to

【0074】(5)担当格子にどちらの方向からラベル値
が伝わってきたかを示す方位データを加える。例えば、
格子Tへのラベル付けのように南側の隣接格子Aからの
ラベル入力があった場合には、PE2のメモリのdir
S(0)の値を「1」にする。
(5) Add azimuth data indicating from which direction the label value is transmitted to the assigned grid. For example,
When a label is input from the adjacent grid A on the south side as in the case of labeling the grid T, the dir of the memory of PE2 is input.
The value of S (0) is set to “1”.

【0075】(6)方位データが「0」のままになってい
る隣接格子、すなわちラベル入力元の格子を除いた隣接
格子に、担当格子のその時点でのラベル値を通信路を介
して伝える。
(6) The current label value of the assigned grid is transmitted to the adjacent grid in which the azimuth data remains "0", that is, the adjacent grid excluding the grid of the label input source, via the communication channel. .

【0076】(7)担当格子のtargetFlagが
「1」のときは、targetLabelの値を担当格
子のラベル値で更新し、またtargetFlagが
「0」のときは、targetLabelの値を更新し
ないで、次のステップに進む。
(7) When the targetFlag of the assigned grid is “1”, the value of the targetLabel is updated with the label value of the assigned grid. When the targetFlag is “0”, the value of the targetLabel is not updated and the next Proceed to step.

【0077】(8)担当格子が他のウィンドウに隣接して
いるときは、そのウィンドウ番号と担当格子のラベル値
とをコントローラに伝え、また隣接してないときは担当
格子のラベル値をコントローラに伝えることなしに、ス
テップ(2)に戻る。といった並列処理を、各PEはウィ
ンドウ単位で繰り返し実行している。
(8) When the assigned grid is adjacent to another window, the window number and the label value of the assigned grid are transmitted to the controller. Otherwise, the label value of the assigned grid is transmitted to the controller. Return to step (2) without telling. Each PE repeatedly executes such parallel processing in units of windows.

【0078】このように、コントローラから指示された
あるウィンドウのラベル付けにおいて、担当格子が、隣
接するウィンドウへラベル値を伝えることができる能動
状態となった各PEはこの担当格子のラベル値と、隣接
するウィンドウ番号とをコントローラに送っている。
As described above, in the labeling of a certain window instructed by the controller, each PE in the active state where the assigned grid can transmit the label value to the adjacent window has the label value of the assigned grid, The adjacent window number is sent to the controller.

【0079】そして、これらのデータの更新が起きなく
なった時点で、コントローラはラベル値の最も小さいウ
ィンドウ番号を各PEに送って、これを受けたPE側で
はこのウィンドウのラベル付けに移っていく。また、こ
のウィンドウに伝えられる、隣接ウィンドウの能動格子
の各ラベル値もPE側に送られて次の隣接ウィンドウへ
のラベル付けに用いられる。
Then, at the point when the update of these data does not occur, the controller sends the window number having the smallest label value to each PE, and the PE side receiving this transfers the labeling of this window. Further, each label value of the active grid of the adjacent window transmitted to this window is also sent to the PE side and used for labeling the next adjacent window.

【0080】以上の説明では、ウィンドウの数を6個,
各ウィンドウの格子数を9個としているが、実際の自動
配線処理においては、例えば80(10×8)個のウィンド
ウで各ウィンドウの格子数が16384(128 ×128)個の配線
平面が用いられている。
In the above description, the number of windows is six,
Although the number of grids in each window is set to nine, in the actual automatic wiring processing, for example, a wiring plane in which each window has 16384 (128 × 128) grids in 80 (10 × 8) windows is used. ing.

【0081】[0081]

【発明の効果】本発明は、自動配線処理の対象である配
線平面をm×n(m,nは整数)の格子からなるウィン
ドウに分割し、出発点からの、各格子の重みを加味した
ラベル付けをこのウィンドウ単位で行なっていく場合に
おいて、ラベル付けが終了したウィンドウの能動格子の
ラベル値を伝えることができる複数の隣接ウィンドウの
中、その時点での最小のラベル値が伝わっていくウィン
ドウだけに次のラベル付けを行なうようにし、いったん
ラベル値がふられた後で再びラベル付けが実行されてよ
り小さいラベル値に更新されるといったことが生じる率
を減らしているので、ラベル付けの対象になるウィンド
ウの延べ数を少なくして自動配線全体の要処理時間の短
縮化を図ることができる。
According to the present invention, the wiring plane to be subjected to the automatic wiring processing is divided into m × n windows (m and n are integers), and the weight of each grid from the starting point is taken into account. When labeling is performed in this window unit, the window in which the minimum label value at that time is transmitted among multiple adjacent windows that can transmit the label value of the active grid of the window for which labeling has been completed Only perform the next labeling, and reduce the rate at which label values are assigned and then relabeled and updated to smaller label values. , The total number of windows can be reduced, and the required processing time of the entire automatic wiring can be shortened.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の原理説明図である。FIG. 1 is a diagram illustrating the principle of the present invention.

【図2】本発明のラベル付けの様子を示す説明図(その
1)である。
FIG. 2 is an explanatory diagram (No. 1) showing a state of labeling according to the present invention.

【図3】本発明のラベル付けの様子を示す説明図(その
2)である。
FIG. 3 is an explanatory view (No. 2) showing a state of labeling according to the present invention;

【図4】本発明の、コントローラの動作手順を示すフロ
ーである。
FIG. 4 is a flowchart illustrating an operation procedure of a controller according to the present invention.

【図5】本発明の、各プロセッサエレメント(PE)の
動作手順を示すフローである。
FIG. 5 is a flowchart showing an operation procedure of each processor element (PE) of the present invention.

【図6】従来の、重みを加味した迷路法(その1)によ
るラベル付けの様子を示す説明図である。
FIG. 6 is an explanatory diagram showing a state of labeling by a conventional maze method (part 1) in which weight is added.

【図7】m×n(m,nは整数)の格子からなる複数の
ウィンドウに分割された配線平面、および各格子の重み
を示す説明図である。
FIG. 7 is an explanatory diagram showing a wiring plane divided into a plurality of windows composed of m × n (m and n are integers) grids and weights of the grids;

【図8】図7のウィンドウ単位でラベル付けを実行して
いく、自動配線処理専用のハードウェアの概要を示す説
明図である。
FIG. 8 is an explanatory diagram showing an outline of hardware dedicated to automatic wiring processing for performing labeling in window units in FIG. 7;

【図9】複数のPE(プロッセッサエレメント)それぞ
れが持つデータ内容を示す説明図である。
FIG. 9 is an explanatory diagram showing data contents of each of a plurality of PEs (processor elements).

【図10】図7の配線平面における、従来の、重みを加味
した迷路法(その2)によるラベル付けの様子を示す説
明図である。
10 is an explanatory diagram showing a state of labeling by the conventional maze method (part 2) in which weights are added in the wiring plane of FIG. 7;

【符号の説明】[Explanation of symbols]

1 配線平面デ−タ 2 重みデ−タ 3 コントローラ(PE制御装置) 4 イベント・キュー 5 プロセッサ・アレイ 1 Wiring plane data 2 Weight data 3 Controller (PE controller) 4 Event queue 5 Processor array

フロントページの続き (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 Continuation of the front page (56) References JP-A-60-144867 (JP, A) JP-A-62-80757 (JP, A) JP-A-63-15367 (JP, A) JP-A-2-17576 (JP) , A) (58) Field surveyed (Int.Cl. 6 , DB name) G06F 17/50 G06F 15/16 H01L 21/82

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 m×n(m,nは整数)の格子からなる
複数のウィンドウに分割され、当該格子のそれぞれには
配線部分として用いられることについての重みが設定さ
れている配線平面に対し、イベント・キューを持つコン
トローラと、それぞれが前記ウィンドウの格子を1対1
の対応関係で担当するとともに、隣接格子を担当するも
の同士が通信路で接続されたm×n個のプロセッサエレ
メントを持つプロセッサアレイとを用いて、前記コント
ローラから指示されるウィンドウについての、前記重み
を加味したうえでの隣接格子に対するラベル付けを、出
発点のウィンドウから前記プロセッサアレイにより順次
行ない、このラベル付けの結果に基づいて出発点と目的
点との間の配線経路を求めていく自動配線処理における
ラベル付け方式において、各ウィンドウの隣接関係など
を示す配線平面データおよび各格子の重みデータが与え
られている前記プロセッサアレイは、指示されたウィン
ドウの各格子に対する前記ラベル付けを繰り返し実行し
ながら、隣接ウィンドウにラベル値を伝えることができ
る能動格子のそれぞれのラベル値と、この隣接ウィンド
ウのウィンドウ番号とを、前記コントローラに送り、前
記コントローラは、所定の時点で、この送られてきたウ
ィンドウ番号と、当該ウィンドウ番号に対応するラベル
値の中の最小のものとを組にしたデータを前記イベント
・キューに加え、続いてこのイベント・キューに入って
いるラベル値の中の最小のものと組になっているウィン
ドウ番号を前記プロセッサに送って、このウィンドウ番
号で特定されるウィンドウのみが次のラベル付けの対象
であることを指示するとともに、このウィンドウ番号の
組のデータを前記イベント・キューから削除するといっ
た処理を繰り返し、目的点のラベル値がより小さな値で
更新されなくなるまでラベル付けを実行するようにした
ことを特徴とする自動配線処理におけるラベル付け方
式。
1. A wiring plane which is divided into a plurality of windows each having a grid of m × n (m and n are integers), each of which has a weight set for use as a wiring portion. , A controller with an event queue, and each has a one-to-one grid of the window
And a processor array having m × n processor elements connected to each other by a communication path, and the weight assigned to the window specified by the controller. Is automatically added from the window of the starting point by the processor array, and the wiring route between the starting point and the destination point is determined based on the result of the labeling. In the labeling method in the processing, the processor array to which the wiring plane data indicating the adjacency relation of each window and the weight data of each grid are given, while repeatedly executing the labeling for each grid of the designated window. , That of an active grid that can convey label values to adjacent windows The controller sends the label value and the window number of the adjacent window to the controller, and at a predetermined time, the controller determines the transmitted window number and the minimum value of the label values corresponding to the window number. Adding the paired data to the event queue, and then sending to the processor the window number paired with the lowest of the label values in the event queue. While indicating that only the window specified by the window number is the target of the next labeling, the process of deleting the data of this window number pair from the event queue is repeated, and the label value of the destination point is further increased. Labeling is performed until it is no longer updated with a small value. Labeling method.
【請求項2】 前記コントローラは、前記イベント・キ
ューに入っているラベル値とウィンドウ番号との組の中
で、そのラベル値が目的点のラベル値以上になっている
組についても前記イベント・キューから削除するように
したことを特徴とする請求項1記載の自動配線処理にお
けるラベル付け方式。
2. The controller according to claim 1, wherein the controller sets the event queue for a pair of the label value and the window number in the event queue, the label value being equal to or larger than the label value of the destination point. 2. A labeling method in an automatic wiring process according to claim 1, wherein the labeling method is performed by deleting the labeling method.
JP3044690A 1991-03-11 1991-03-11 Labeling method in automatic wiring processing Expired - Fee Related JP2931683B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3044690A JP2931683B2 (en) 1991-03-11 1991-03-11 Labeling method in automatic wiring processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3044690A JP2931683B2 (en) 1991-03-11 1991-03-11 Labeling method in automatic wiring processing

Publications (2)

Publication Number Publication Date
JPH04281571A JPH04281571A (en) 1992-10-07
JP2931683B2 true JP2931683B2 (en) 1999-08-09

Family

ID=12698420

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3044690A Expired - Fee Related JP2931683B2 (en) 1991-03-11 1991-03-11 Labeling method in automatic wiring processing

Country Status (1)

Country Link
JP (1) JP2931683B2 (en)

Also Published As

Publication number Publication date
JPH04281571A (en) 1992-10-07

Similar Documents

Publication Publication Date Title
US4099233A (en) Electronic data-processing system with data transfer between independently operating miniprocessors
EP0632945A4 (en) Packet reassembly method and apparatus.
GB2139043A (en) Conversational video system having local network control
JP2931683B2 (en) Labeling method in automatic wiring processing
US6195628B1 (en) Waveform manipulation in time warp simulation
Bay et al. Deterministic on-line routing on area-universal networks
JP2508620B2 (en) Logic circuit simulation device
JP2646852B2 (en) Packet handling method
JPS62172840A (en) Transferring system for data
JP3302769B2 (en) Data transfer system
JP2749725B2 (en) Communication method of parallel computer
EP0426990A2 (en) Method of and apparatus for data distribution
JPS63301351A (en) Control system for parallel computer communication
JP2002288147A (en) Distributed memory type parallel computer and computer program
JPS6285365A (en) Information transferring system
JPS6051346A (en) Data transfer system
JP2002341907A (en) Data transmission and reception method in blast furnace equipment program logic controller
JPH07191947A (en) Parallel computer
JP2002207648A (en) Identification number conversion method for parallel computers
JPS60245346A (en) Reception controlling system
JPH02244852A (en) Packet processing device
JPS62245441A (en) Queue control system
JPH04291444A (en) Forcible process end system
JPH0282342A (en) Data communication equipment
JPH0645446A (en) Method of wiring layout

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