JPH05151316A - 配線経路決定方法 - Google Patents

配線経路決定方法

Info

Publication number
JPH05151316A
JPH05151316A JP3310364A JP31036491A JPH05151316A JP H05151316 A JPH05151316 A JP H05151316A JP 3310364 A JP3310364 A JP 3310364A JP 31036491 A JP31036491 A JP 31036491A JP H05151316 A JPH05151316 A JP H05151316A
Authority
JP
Japan
Prior art keywords
grid
shortest
grids
wiring
source
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.)
Withdrawn
Application number
JP3310364A
Other languages
English (en)
Inventor
Toshiyuki Shibuya
利行 澁谷
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 JP3310364A priority Critical patent/JPH05151316A/ja
Publication of JPH05151316A publication Critical patent/JPH05151316A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

(57)【要約】 【目的】 VLSIやプリント板等において、複数の回
路素子の端子と、1つの端子との接続経路を決定するた
めの配線経路決定方法に関し、2端子間に障害物が存在
しても、等距離又は等遅延の経路を決定することを目的
とする。 【構成】 複数の回路素子2a〜2dの各々の入力端子
と、1つの端子3とを配線するための経路を決定するた
め、該一対の入力端子の最短等距離点を接続点として求
める配線経路決定方法において、配線領域をグリッドに
分割し、該一対の入力端子の位置するソースグリッドか
ら、各々順次障害物として設定されていない隣接するグ
リッドに、該ソースを識別しうるようにラベルを広げて
いき、該一対の入力端子の位置するグリッドからのラベ
ルが、最初に同時に付られたグリッドを、該一対の入力
端子の最短等距離点として求める。

Description

【発明の詳細な説明】
【0001】(目次) 産業上の利用分野 従来の技術(図13) 発明が解決しようとする課題 課題を解決するための手段(図1) 作用 実施例 (a) 第1の実施例の説明(図2乃至図4) (b) 第2の実施例の説明(図5乃至図6) (c) 第1の実施例の説明(図7乃至図8) (d) 第1の実施例の説明(図9乃至図10) (e) 第1の実施例の説明(図11乃至図12) (f) 他の実施例の説明 発明の効果
【0002】
【産業上の利用分野】本発明は、VLSIやプリント板
等において、複数の回路素子の端子と、1つの端子との
接続経路を決定するための配線経路決定方法に関する。
【0003】最近の回路技術の進歩に伴い、プリント
板、VLSIのシステムクロックは、急速に向上してい
る。このシステムクロックを決める要因は、システムク
ロックのサイクルをT、sをクロックスキュー、dma
xをデータの遅延の最大値、T0をデータのセットアッ
プ等の時間とすると、下記式で示される。
【0004】T=s+dmax+T0 このことから、クロックスキューsを最小とすること
と、最大データ遅延dmaxを小さくすることが、シス
テムクロックを高くするために必要である。
【0005】このクロックスキューsを最小とするに
は、クロック入力端子から各回路素子のクロック端子へ
の配線長を同一とすれば良く、最大データ遅延量dma
xを小さくするには、配線長を最短とすれば良く、これ
を自動レイアウト処理する技術が求められる。
【0006】
【従来の技術】図13は従来技術の説明図である。図1
3(A)に示すように、LSI(又はプリント板)1
に、クロックで動作する複数のフリップフロップ2a〜
2dが設けられ、クロック入力端子3から各フリップフ
ロップ2a〜2dのクロック端子CLに、クロックを供
給するための配線経路は、クロック入力端子3と、各フ
リップフロップ2a〜2dのクロック端子CLとを接続
する経路を形成すれば良い。
【0007】しかし、単に接続すると、クロック入力端
子3から各フリップフロップ2a〜2dのクロック端子
CLまでの距離が異なり、クロックスキューが大きくな
る。このため、図13(B)に示すように、フリップフ
ロップ2a、2bのクロック端子CLとの等距離中間点
S1(1)、フリップフロップ2c、2dのクロック端
子CLとの等距離中間点S1(2)を求め、等距離中間
点S1(1)、S1(2)の等距離中間点S2(1)を
求め、クロック入力端子3と、各フリップフロップ2a
〜2dのクロック端子CLとを、この等距離中間点S1
(1)、S1(2)、S2(1)を介しツリー状に接続
すれば、クロック入力端子3から各フリップフロップ2
a〜2dのクロック端子CLまでの距離が同一となり、
クロックスキューが小さくできる。
【0008】この方法として、2端子間の中間点を、マ
ンハッタン距離で求める方法がとられていた。即ち、結
線すべき任意の2つのクロック端子からの等距離点は、
マンハッタン距離が等しい点を選び、結線すべき2端子
の選択方法は、マンハッタン距離の近いものからペアを
選び、任意の点の2端子から等距離の点を、更に等距離
になるように、ツリー状に繋いでゆき、クロック入力端
子3から全てのクロック端子CLが等距離になるように
配線を行う。
【0009】
【発明が解決しようとする課題】しかしながら、従来技
術では、次の問題があった。 マンハッタン距離による方法では、単に2端子間の距
離を求めるため、クロック端子CLと中間点との間に、
障害物(他の回路素子等)が何もなければ問題はない
が、障害物が存在すると、配線経路はその障害物を迂回
しなければならず、配線長が長くなり、マンハッタン距
離による見積りとの誤差が生じて、実配線長が短いかど
うかは、実際に配線してみないと判らない。
【0010】正確にクロックスキューを見積もるとな
ると、配線長のみでは不十分であり、配線の太さや、ド
ライブされるクロック端子の容量によって、同じ長さの
配線長でも、遅延時間が異なり、このような遅延時間を
考慮して、経路を決定できない。
【0011】従って、本発明は、2端子間に障害物が存
在しても、等距離の経路を決定することができる配線経
路決定方法を提供することを目的とする。又、本発明
は、遅延時間を考慮した、等遅延の経路を決定すること
ができる配線経路決定方法を提供することを目的とす
る。
【0012】
【課題を解決するための手段】図1は本発明の原理図で
ある。本発明の請求項1は、複数の回路素子2a〜2d
の各々の入力端子と、1つの端子3とを配線するための
経路を決定するため、該一対の入力端子の最短等距離点
を接続点として求める配線経路決定方法において、配線
領域をグリッドに分割し、該一対の入力端子の位置する
ソースグリッドから、各々順次障害物として設定されて
いない隣接するグリッドに、該ソースを識別しうるよう
にラベルを広げていき、該一対の入力端子の位置するグ
リッドからのラベルが、最初に同時に付られたグリッド
を、該一対の入力端子の最短等距離点として求めること
を特徴とする。
【0013】本発明の請求項2は、複数の回路素子2a
〜2dの各々の入力端子と、1つの端子3とを配線する
ための経路を決定するため、該一対の入力端子の最短等
距離点を接続点として求める配線経路決定方法におい
て、配線領域をグリッドに分割し、該複数の入力端子の
位置するソースグリッドから、各々順次障害物として設
定されていない隣接するグリッドに、該ソースを識別し
うるようにラベルを広げていき、2つのソースグリッド
からのラベルが、最初に同時に付られたグリッドを求
め、該グリッドを最短等距離点とし、該グリッドに付さ
れたラベルの2つのソースグリッドをペアとすることを
特徴とする。
【0014】本発明の請求項3は、請求項1又は2にお
いて、前記最短等距離点をソースグリッドとし、該ソー
スグリッドから、各々順次障害物として設定されていな
い隣接するグリッドに、該ソースを識別しうるようにラ
ベルを広げていき、2つのソースグリッドからのラベル
が、最初に同時に付られたグリッドを、該2つのソース
グリッドからの最短等距離点として求めることを特徴と
する。
【0015】本発明の請求項4は、請求項3において、
前記入力端子から前記最短等距離点まで、又は前の最短
等距離点から現最短等距離点までの距離に応じて、前記
ソースグリッドからラベリングを開始するタイミングを
ずらしたことを特徴とする。
【0016】本発明の請求項5は、複数の回路素子2a
〜2dの各々の入力端子と、1つの端子3とを配線する
ための経路を決定するため、該一対の入力端子の最短同
遅延点を接続点として求める配線経路決定方法におい
て、配線領域をグリッドに分割し、該複数の入力端子の
位置するソースグリッドから、各々順次障害物として設
定されていない隣接するグリッドに、該回路素子2a〜
2dの遅延時間をラベル値として、ラベルを広げてい
き、各グリッドの2つのソースグリッドからのラベル値
の差を求め、該差が零又は最小のグリッドの最短同遅延
点として求めることを特徴とする。
【0017】本発明の請求項6は、複数の回路素子2a
〜2dの各々の入力端子と、1つの端子3とを配線する
ための経路を決定するため、該一対の入力端子の最短同
遅延点を接続点として求める配線経路決定方法におい
て、配線領域をグリッドに分割し、該複数の入力端子の
位置するソースグリッドから、各々順次障害物として設
定されていない隣接するグリッドに、該回路素子2a〜
2dの遅延時間をラベル値として、ラベルを広げてい
き、各グリッドのソースグリッドからのラベル値間の差
を求め、該差が零又は最小のグリッドを最短同遅延点と
し、該グリッドの差が零又は最小の2つのソースグリッ
ドをペアとすることを特徴とする。
【0018】本発明の請求項7は、請求項5又は6にお
いて、前記最短同遅延点をソースグリッドとし、該ソー
スグリッドから、各々順次障害物として設定されていな
い隣接するグリッドに、該回路素子2a〜2dの遅延時
間をラベル値として、ラベルを広げていき、各グリッド
のソースグリッドからのラベル値間の差を求め、該差が
零又は最小のグリッドを最短同遅延点とし、該グリッド
の差が零又は最小の2つのソースグリッドをペアとする
ことを特徴とする。
【0019】本発明の請求項8は、請求項7において、
前記入力端子から前記最短同遅延点まで、又は前の最短
同遅延点から現最短同遅延点までの遅延時間に応じて、
前記ソースグリッドからラベリングを開始するタイミン
グをずらしたことを特徴とする。
【0020】本発明の請求項9は、請求項1又は2又は
3又は4又は5又は6又は7又は8において、前記グリ
ッドを、並列計算機のプロセッサにマッピングして、前
記グリッドの動作を前記プロセッサが実行することを特
徴とする。
【0021】本発明の請求項10は、請求項1又は2又
は3又は4又は5又は6又は7又は8又は9において、
前記回路素子2a〜2dの入力端子が、クロック端子で
あり、前記端子が、クロック入力端子であり、前記配線
回路がクロックの配線経路であることを特徴とする。
【0022】
【作用】本発明の請求項1では、配線領域をグリッドに
分割し、該一対の入力端子の位置するソースグリッドか
ら、各々順次障害物として設定されていない隣接するグ
リッドに、該ソースを識別しうるようにラベルを広げて
いくことより、ソースから各方向に仮想的に配線をして
いく。
【0023】そして、該一対の入力端子の位置するグリ
ッドからのラベルが、最初に同時に付られたグリッド
が、最短等距離点であり、これを一対の入力端子の最短
等距離点として、障害物が存在しても、最短等距離点を
求めることができ、クロックスキューと、最大データ遅
延量を最小にした経路を決定できる。
【0024】本発明の請求項2では、配線領域をグリッ
ドに分割し、該複数の入力端子の位置するソースグリッ
ドから、各々順次障害物として設定されていない隣接す
るグリッドに、該ソースを識別しうるようにラベルを広
げていくことより、複数のペアの決定していないソース
から各方向に仮想的に配線をしていく。
【0025】そして、2つのソースグリッドからのラベ
ルが、最初に同時に付られたグリッドがあるペアの最短
等距離点であり、該グリッドに付られたラベルの2つの
ソースグリッドをペアと判り、グリッドのペアと、その
等距離点が同時に決定でき、クロックスキューと、最大
データ遅延量を最小にした経路を決定できる。
【0026】本発明の請求項3では、前記最短等距離点
をソースグリッドとし、該ソースグリッドから、各々順
次障害物として設定されていない隣接するグリッドに、
該ソースを識別しうるようにラベルを広げていき、2つ
のソースグリッドからのラベルが、最初に同時に付られ
たグリッドを、該2つのソースグリッドからの最短等距
離点として求めることを繰り返して、端子3までの最短
等距離経路を連続的に決定できる。
【0027】本発明の請求項4では、1対の最短等距離
点の次の最短等距離点を求めるのに、1対の最短等距離
点がソースからの距離が異なると、1対の最短等距離点
の最短等距離点を求めても、ソースから見ると、最短等
距離点とはならない。
【0028】そこで、前記入力端子から前記最短等距離
点まで、又は前の最短等距離点から現最短等距離点まで
の距離に応じて、前記ソースグリッドからラベリングを
開始するタイミングをずらすことにより、同一の手法で
ソースからの最短等距離点を求めることができる。
【0029】本発明の請求項5では、配線領域をグリッ
ドに分割し、該複数の入力端子の位置するソースグリッ
ドから、各々順次障害物として設定されていない隣接す
るグリッドに、該回路素子2a〜2dの遅延時間をラベ
ル値として、ラベルを広げていくことより、ソースから
各方向に仮想的に遅延時間を含む配線をしていく。
【0030】そして、各グリッドの2つのソースグリッ
ドからのラベル値の差を求め、該差が零又は最小のグリ
ッドを最短同遅延点として求めることができ、遅延があ
っても、クロックスキューと、最大データ遅延量を最小
にした経路を決定できる。
【0031】本発明の請求項6では、配線領域をグリッ
ドに分割し、該複数の入力端子の位置するソースグリッ
ドから、各々順次障害物として設定されていない隣接す
るグリッドに、該回路素子2a〜2dの遅延時間をラベ
ル値として、ラベルを広げていくことより、ペアの決定
してない全てのソースから各方向に仮想的に遅延時間を
含む配線をしていく。
【0032】そして、各グリッドのソースグリッドから
のラベル値間の差を求め、該差が零又は最小のグリッド
を最短同遅延点とし、該グリッドの差が零又は最小の2
つのソースグリッドをペアとすることにより、遅延があ
っても、クロックスキューと、最大データ遅延量を最小
にした経路を決定できる。
【0033】本発明の請求項7では、前記最短同遅延点
をソースグリッドとし、該ソースグリッドから、各々順
次障害物として設定されていない隣接するグリッドに、
該回路素子2a〜2dの遅延時間をラベル値として、ラ
ベルを広げていき、各グリッドのソースグリッドからの
ラベル値間の差を求め、該差が零又は最小のグリッドを
最短同遅延点とし、該グリッドの差が零又は最小の2つ
のソースグリッドをペアとすることにより、端子3まで
の最短同遅延経路を連続的に決定できる。
【0034】本発明の請求項8では、一対の最短同遅延
点の次の最短同遅延点を求めるのに、一対の最短同遅延
点がソースからの遅延時間が異なると、一対の最短同遅
延時間の最短同遅延点を求めても、ソースから見ると、
最短同遅延点とはならない。
【0035】そこで、前記入力端子から前記最短同遅延
点まで、又は前の最短同遅延点から現最短同遅延点まで
の遅延時間に応じて、前記ソースグリッドからラベリン
グを開始するタイミングをずらした。
【0036】本発明の請求項9では、前記グリッドを、
並列計算機のプロセッサにマッピングして、前記グリッ
ドの動作を前記プロセッサが実行するようにして、ラベ
リング処理を並列に実行し、かかる処理を高速に容易に
実行できるようにした。
【0037】本発明の請求項10では、前記回路素子2
a〜2dの入力端子が、クロック端子であり、前記端子
が、クロック入力端子であり、前記配線経路がクロック
の配線経路であるため、クロックスキューと、最大デー
タ遅延量を最小にした配線経路を決定できる。
【0038】
【実施例】
(a) 第1の実施例の説明 図2は本発明の第1実施例構成図である。
【0039】図2(A)に示すように、LSI(又はプ
リント板)1の配線領域を、m×nの格子状のグリッド
に分割する。このグリッドを、図2(B)に示すよう
に、m×nの格子状に接続されたプロセッサ511〜5
mnの各プロセッサにマッピング(受け持つ)させる。
【0040】各プロセッサ511〜5mnは、コントロ
ーラ(ホスト計算機)4に接続され、互いに隣接間通信
でき、配置をするのに十分なラベリングプレーンの情報
を記憶できるだけのローカルメモリを持っている。
【0041】コントローラ4は、全プロセッサからの値
を、収集演算でき、各プロセッサに放送することもでき
る。このような並列計算機のもとで、グリッドの1つ1
つを、格子状に接続した並列計算機のプロセッサにマッ
ピングする。
【0042】各プロセッサは、自分が受け持っているグ
リッドから隣接するプロセッサが受け持っているグリッ
ドまでの配線長又は遅延を計算して、隣接間通信を用い
て隣接するプロセッサに知らせる。
【0043】このことを繰り返して、ソースからターゲ
ットまでの距離、又は配線による遅延を高速に計算する
ことができる。各プロセッサは、グリッドのデータとし
て、図2(C)に示すように、障害物であることを示す
禁止フラグinhibitと、フラグAと、フラグBと
を持っている。
【0044】図3は本発明の第1の実施例処理フロー
図、図4は本発明の第1の実施例動作説明図である。 コントローラ4は、全てのグリッド(プロセッサ)の
フラグA、Bを「0」に初期化し、クロック端子Aの位
置のグリッドのフラグAを「1」にセットし、クロック
端子Bの位置のグリッドのフラグBを「1」にセット
し、障害物の位置のグリッドの禁止フラグを「1」にセ
ットする。
【0045】この初期状態の各グリッド(プロセッサ)
のフラグA、Bの状態は、図4(A)に示す通りであ
り、障害物はないものとしてある。 ラベリングを開始し、フラグAの値が「1」のグリッ
ド(プロセッサ)は、隣接する禁止フラグが「0」のグ
リッド(プロセッサ)のフラグAを「1」にし、フラグ
Bの値が「1」のグリッド(プロセッサ)は、隣接する
禁止フラグが「0」のグリッド(プロセッサ)のフラグ
Bを「1」にする。
【0046】これにより、各グリッド(プロセッサ)の
フラグA、Bの状態は、図4(B)に変化する。 このフラグA、Bの両方が、最初に「1」となったグ
リッドが、最短の等距離点であり、各グリッド(プロセ
ッサ)は、フラグA、Bの両方が、「1」となると、コ
ントローラ4に通知する。
【0047】従って、コントローラ4は、プロセッサか
ら通知があるかを判定し、通知がないと、フラグA、B
の両方が「1」のグリッドが無いとして、ステップに
戻り、通知があると、フラグA、Bの両方が「1」のグ
リッドがあると判定する。
【0048】この時の、各グリッド(プロセッサ)のフ
ラグA、Bの状態は、図4(C)の如くなる。 コントローラ4は、通知を受け、フラグA、Bの両方
が「1」のグリッドが複数あると、図4(D)に示すよ
うに、その中の任意のものを選び、中間点とする。
【0049】即ち、コントローラ4は、通知をしたプロ
セッサを認識し、そのグリッド位置を、中間点座標と
し、ソースを、クロック端子A、Bとして格納する。こ
れを全クロック端子に実行し、各中間点S1を求め、中
間点S1をソースとし、次の中間点S2を求め、繰り返
せば、クロック入力端子3までの配線経路が得られる。
【0050】このようにして、クロック端子等のソース
からラベルを広げることにより、実際の配線を仮想的
に、グリッド上で実行するので、障害物があっても、そ
れを迂回した最短の等距離点が得られ、クロックスキュ
ーと、最大データ遅延時間を小さい配線経路を決定で
き、システムクロックを高速にできる。
【0051】(b) 第2の実施例の説明 図5は本発明の第2の実施例説明図、図6は本発明の第
2の実施例動作説明図であり、図2(A)、(B)の構
成を前提とする。
【0052】この例では、配線プレーンに、障害物が存
在する場合には、物理的に近いもの同士が必ずしも、配
線長が近いとは限らず、最短の配線長で結線できるクロ
ック端子のペアを選ぶには、実際に配線してみないと分
からない。
【0053】そこで、配線すべき候補となっているクロ
ック端子の全てから一斉にラベルを広げて、配線長が最
短のペアを選択するようにしている。図5(A)に示す
ように、各グリッドのデータは、禁止フラグinhib
itと、フラグ0〜Nとを有する。
【0054】次に、図5(B)により、ラベリング処理
について説明する。 コントローラ4は、全てのグリッド(プロセッサ)の
フラグ0〜Nを「0」に初期化し、クロック端子iの位
置のグリッドのフラグiを「1」にセットし、障害物の
位置のグリッドの禁止フラグを「1」にセットする。
【0055】この初期状態の各グリッド(プロセッサ)
のフラグの状態は、図6(A)に示す通りであり、障害
物はないものとしてある。 ラベリングを開始し、フラグ0〜Nのいずれかの値が
「1」のグリッド(プロセッサ)は、隣接する禁止フラ
グが「0」のグリッド(プロセッサ)の同一のインデッ
クスのフラグを「1」にする。
【0056】これにより、各グリッド(プロセッサ)の
フラグの状態は、図6(B)に変化する。 各グリッド(プロセッサ)は、フラグ1〜Nの2つ以
上が、「1」となると、コントローラ4に通知する。
【0057】従って、コントローラ4は、プロセッサか
ら通知があるかを判定し、通知がないと、フラグ1〜N
の2つ以上が「1」のグリッドが無いとして、ステップ
に戻り、通知があると、フラグ1〜Nの2つの以上が
「1」のグリッドがあると判定する。
【0058】この時の、各グリッド(プロセッサ)のフ
ラグの状態は、図6(C)の如くなる。 コントローラ4は、通知を受けると、1〜Nの2つ以
上が「1」のグリッドが複数あると、図6(D)に示す
ように、その中の任意のものを選び、中間点とする。
【0059】即ち、コントローラ4は、通知をしたプロ
セッサを認識し、そのグリッド位置を、中間点座標とす
る。そして、そのグリッドで、フラグ1〜Nの値が、3
つ以上「1」となっていると、3つ以上のソースからの
等距離点のため、その中から任意の2つのソース(端
子)を選び、ペアとする。
【0060】これを全クロック端子に実行し、各中間
点S1を求めれば、ペアの決定してない候補端子のペア
と、中間点が得られる。更に、中間点S1をソースと
し、次の中間点S2を求め、繰り返せば、クロック入力
端子3までの配線経路が得られる。
【0061】このようにして、クロック端子等のソース
からラベルを広げることにより、実際の配線を仮想的
に、グリッド上で実行するので、障害物があっても、そ
れを迂回した最短の等距離点と、そのソース対が得ら
れ、クロックスキューと、最大データ遅延時間を小さい
配線経路を決定でき、システムクロックを高速にでき
る。
【0062】(c) 第3の実施例の説明 図7は本発明の第3の実施例説明図、図8は本発明の第
3の実施例動作説明図であり、図2(A)、(B)の構
成を前提とする。
【0063】この例では、図5のクロック端子の中間点
を求める方法を用いて、連続的に次の段階の中間点を求
め、クロック入力端子3までのツリー状の経路を決定す
るものである。
【0064】このため、コントローラ4に、図7(A)
に示すような中間点の管理データを設定し、この管理デ
ータは、グリッド上の位置データ(X、Y)と、ソース
の情報1、2とを有する。
【0065】図7(B)により動作を説明する。 コントローラ4は、メモリ内の集合Tに、図8(B)
に示すように、結線すべき全てのクロック端子(図8
(A)では、クロック端子〜)を要素に加えて、集
合S0を「T」、集合S1を「0」とし、iを「0」と
する。
【0066】集合Siに対し、図5のラベリングによ
る中間点探索処理を行い、求まった中間点を、集合Si
+1に加え、新中間点のソースを、図8(B)に示すよ
うに、集合Uに移し、管理データとして、新中間点の座
標(X、Y)と、その2つのソースを格納する。
【0067】コントローラ4は、集合Siが「0」に
なったかを判定し、「0」でなければ、全ての集合Si
の中間点が探索されていないので、ステップに戻る。 一方、集合Siが「0」であれば、集合Siの全ての
中間点が探索されたので、次の中間点の集合Si+1の
要素数が「1」かを判定する。
【0068】次の中間点の集合Si+1の要素数が
「1」でなければ、2つ以上の中間点があるため、次の
中間点の探索のため、iをi+1に更新して、ステップ
に戻り、次の中間点の集合Si+1の要素数が「1」
であれば、最終の中間点のため、終了する。
【0069】このようにして、図8(A)に示すよう
に、クロック端子〜を集合T(S0)とし、クロッ
ク端子、の中間点S1(1)を探索し、集合Uに登
録し、クロック端子、の中間点S1(2)を探索
し、集合Uに登録し、集合S0の処理を終了し、集合S
1の処理に移り、中間点S1(1)と、S1(2)の中
間点S2を探索し、集合S2が1つのため、最終の中間
点として、終了する。
【0070】これにより、図8(B)に示すように、ク
ロック端子と、各段階の中間点のデータが得られる。 (d) 第4の実施例の説明 図9は本発明の第4の実施例説明図、図10は本発明の
第4の実施例動作説明図であり、図2(A)、(B)の
構成を前提とする。
【0071】この実施例は、第3の実施例において、中
間点S1(1)と中間点S1(2)との中間点S2を求
めるのに、クロック端子、から中間点S1(1)ま
での距離と、クロック端子、から中間点S1(2)
までの距離とが異なると、中間点S1(1)と中間点S
1(2)との中間の点S2を求めても、クロック端子
、、、から中間点S2までの距離が等しくなら
ない。
【0072】このため、クロック端子、から中間点
S1(1)までの距離と、クロック端子、から中間
点S1(2)までの距離との違いを考慮して、ラベリン
グを行って、中間点S2を求める。
【0073】即ち、図9(A)に示すように、中間点の
管理データを、図7(A)のものに加え、クロック端子
からの距離を含ませる。次に、図9(B)により、ラベ
リング処理について説明する。
【0074】コントローラ4は、中間点S1が求まる
と、全てのグリッド(プロセッサ)のフラグ0〜Nを
「0」に初期化し、startNOを「0」とし、中間
点の集合Siの要素の中でクロックからの距離の最大値
を求め、maxClockとし、中間点kの位置のグリ
ッドのフラグkを「1」にセットし、障害物の位置のグ
リッドの禁止フラグを「1」にセットする。
【0075】ラベリングを開始し、クロック端子から
の距離が、startNOよりも小さいかを判定し、小
さいグリッドに対し、フラグ0〜Nのいずれかの値が
「1」のグリッド(プロセッサ)は、隣接する禁止フラ
グが「0」のグリッド(プロセッサ)の同一のインデッ
クスのフラグを「1」にする。
【0076】各グリッド(プロセッサ)は、フラグ1
〜Nの2つ以上が、「1」となると、コントローラ4に
通知する。従って、コントローラ4は、プロセッサから
通知があるかを判定し、通知がないと、フラグ1〜Nの
2つ以上が「1」のグリッドが無いとして、start
NOを、startNO+1として、ステップに戻
り、通知があると、フラグ1〜Nの2つ以上が「1」の
グリッドがあると判定する。
【0077】コントローラ4は、通知を受けると、1
〜Nの2つ以上が「1」のグリッドが複数あると、その
中の任意のものを選び、中間点とする。即ち、コントロ
ーラ4は、通知をしたプロセッサを認識し、そのグリッ
ド位置を、中間点座標とする。
【0078】そして、そのグリッドで、フラグ1〜Nの
値が、3つ以上「1」となっていると、3つ以上のソー
スからの等距離点のため、その中から任意の2つのソー
ス(端子)を選び、ペアとする。
【0079】これを全中間点に実行し、各中間点S2を
求めれば、ペアの決定してない候補端子のペアと、クロ
ック端子から等距離の中間点S2が得られる。更に、中
間点S2をソースとし、次の中間点S3を求め、繰り返
せば、クロック入力端子3までの配線経路が得られる。
【0080】これを、図10(A)、(B)で説明する
と、中間点S1(1)のクロック端子、からの距離
は「3」であり、中間点S1(2)のクロック端子、
からの距離は「4」であるから、startNOが
「4」となると、中間点S1(1)からラベルが付ら
れ、startNOが「5」となると、中間点S1
(1)とS1(2)の両方からラベルが付られて、中間
点S2が求まる。
【0081】従って、クロック端子からの距離が短い中
間点から、差だけラベルが付られ後、全中間点から一斉
にラベルが付られる。即ち、距離の差だけずらして、ラ
ベリングを行うことにより、距離の差を吸収し、クロッ
ク端子から見て、等距離の中間点が得られる。
【0082】(e) 第5の実施例の説明 図11は本発明の第5の実施例説明図、図12は本発明
の第5の実施例動作説明図であり、図2(A)、(B)
の構成を前提とする。
【0083】この実施例では、第1の実施例では、回路
素子の容量によるクロックの遅延が同一のものとして説
明したが、回路素子の容量等により、回路素子毎に遅延
量が異なることがある。
【0084】このような場合には、遅延量を考慮したラ
ベリングを行わないと、クロックの到達時間が同一とな
らない。そこで、遅延時間を考慮したラベリングを行う
ため、各プロセッサは、グリッドのデータとして、図1
1(A)に示すように、障害物であることを示す禁止フ
ラグinhibitと、フラグAと、フラグBと、クロ
ック端子Aからの遅延時間delayAと、クロック端
子Bからの遅延時間delayBとを持っている。
【0085】図11(B)により、ラベリング処理を説
明する。 コントローラ4は、全てのグリッド(プロセッサ)の
フラグA、Bを「0」に、遅延時間delayA、Bを
「0」に初期化し、クロック端子Aの位置のグリッドの
フラグAを「1」にセットし、クロック端子Bの位置の
グリッドのフラグBを「1」にセットし、障害物の位置
のグリッドの禁止フラグを「1」にセットする。
【0086】この初期状態の各グリッド(プロセッサ)
のフラグA、Bの状態は、図12(A)に示す通りであ
り、障害物はないものとしてある。 両方の端子A、Bに対して、グリッド当たりの遅延時
間を計算し、グリッドA、Bの遅延時間delayA、
Bにセットする。
【0087】ラベリングを開始し、フラグAの値が
「1」のグリッド(プロセッサ)は、隣接する禁止フラ
グが「0」のグリッド(プロセッサ)のフラグAを
「1」にし、delayAの値が「0」より大きいと、
隣接するグリッドの遅延時間を計算し、隣接するグリッ
ドのdelayAにセットする。
【0088】フラグBの値が「1」のグリッド(プロ
セッサ)は、隣接する禁止フラグが「0」のグリッド
(プロセッサ)のフラグBを「1」にし、delayB
の値が「0」より大きいと、隣接するグリッドの遅延時
間を計算し、隣接するグリッドのdelayBにセット
する。
【0089】これにより、各グリッド(プロセッサ)の
フラグA、Bの状態は、図12(B)に変化する。 コントローラ4は、全てのグリッドにラベルが広がっ
たかを判定し、広がっていなければ、ステップに戻
り、広がっていると、ラベリングを終了し、各グリッド
が計算したdelayAと、delayBとの差を受
け、その中から差が零又は所定値αより小さいグリッド
を探す。
【0090】差が零又は所定値αより小さいグリッドが
あると、その中から遅延時間の最も小さいものを選び、
中間点とする。図12で説明すると、delayAを
「10」、delayBを「20」とすると、図12
(B)に示すように、グリッドAからは、隣接グリッド
のdelayAに「10」が書き込まれ、グリッドBか
らは、隣接グリッドのdelayBに「20」が書き込
まれ、以降隣接グリッドのdelayA、Bに、「1
0」、「20」加算して書き込まれる。
【0091】従って、全グリッドにラベリングされる
と、図12(C)の如くなり、図12(D)のように、
delayAが「70」、delayBが「60」のグ
リッドが、遅延時間最小のグリッドとして選ばれ、この
内の1つが最短同遅延点とされる。
【0092】このようにして、回路素子の遅延時間が異
なっても、同遅延時間点を求めることができ、クロック
スキューが最小で、最大データ遅延時間が最小の同遅延
時間点が得られる。
【0093】(f) 他の実施例の説明 上述の実施例の他に、本発明は、次のような変形が可能
である。 上述の第5の実施例では、A、Bの2点を対象として
いるが、第2の実施例のように、候補クロック端子点か
ら一斉に同様の遅延量のラベルを広げて、同遅延時間点
と、そのペアを求めることもできる。
【0094】同様に、第5の実施例に、第3の実施例
の手法を用いて、連続的に、各段階の同遅延時間点を求
めることもでき、第4の実施例の手法を用いて、同遅延
点の遅延時間を異ならせて、次の同遅延点を求めること
もできる。
【0095】並列計算機で実施して、ラベリング処理
の高速化を達成しているが、汎用計算機で実行するた
め、グリッドをメモリに割りつけ、1つまたはこれ以上
のプロセッサでメモリのリード/ライト処理により実行
すれば、より簡易に実現でき、汎用性を持たせることが
できる。
【0096】クロック信号の並列配線について説明し
たが、複数の回路素子に同時入力すべきデータ等の他の
信号に適用しても良く、LSIの他に、プリント板等の
配線レイアウト設計にも適用できる。
【0097】以上、本発明を実施例により説明したが、
本発明の主旨の範囲内で種々の変形が可能であり、これ
らを本発明の範囲から排除するものではない。
【0098】
【発明の効果】以上説明したように、本発明によれば、
次の効果を奏する。 複数の回路素子と、1つの端子とを配線する経路を決
定するに当たり、配線領域をグリッドに分割し、接続す
べき位置のグリッドからラベルを広げて、仮想的な配線
を行い、グリッドのラベル状態から等伝播時間の中間点
を得るので、障害物があっても、最短の等伝播時間の中
間点を得ることができる。
【0099】従って、信号のスキューが最小にでき、
システムの性能を向上できる。
【図面の簡単な説明】
【図1】本発明の原理図である。
【図2】本発明の第1の実施例構成図である。
【図3】本発明の第1の実施例処理フロー図である。
【図4】本発明の第1の実施例動作説明図である。
【図5】本発明の第2の実施例説明図である。
【図6】本発明の第2の実施例動作説明図である。
【図7】本発明の第3の実施例説明図である。
【図8】本発明の第3の実施例動作説明図である。
【図9】本発明の第4実施例説明図である。
【図10】本発明の第4の実施例動作説明図である。
【図11】本発明の第5の実施例説明図である。
【図12】本発明の第5の実施例動作説明図である。
【図13】従来技術の説明図である。
【符号の説明】
1 LSI(プリント板) 2a〜2d 回路素子(フリップフロップ) 3 クロック入力端子 CL クロック端子

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 複数の回路素子(2a〜2d)の各々の
    入力端子と、1つの端子(3)とを配線するための経路
    を決定するため、該一対の入力端子の最短等距離点を接
    続点として求める配線経路決定方法において、 配線領域をグリッドに分割し、該一対の入力端子の位置
    するソースグリッドから、各々順次障害物として設定さ
    れていない隣接するグリッドに、該ソースを識別しうる
    ようにラベルを広げていき、 該一対の入力端子の位置するグリッドからのラベルが、
    最初に同時に付られたグリッドを、該一対の入力端子の
    最短等距離点として求めることを特徴とする配線経路決
    定方法。
  2. 【請求項2】 複数の回路素子(2a〜2d)の各々の
    入力端子と、1つの端子(3)とを配線するための経路
    を決定するため、該一対の入力端子の最短等距離点を接
    続点として求める配線経路決定方法において、 配線領域をグリッドに分割し、該複数の入力端子の位置
    するソースグリッドから、各々順次障害物として設定さ
    れていない隣接するグリッドに、該ソースを識別しうる
    ようにラベルを広げていき、 2つのソースグリッドからのラベルが、最初に同時に付
    られたグリッドを求め、該グリッドを最短等距離点と
    し、該グリッドに付されたラベルの2つのソースグリッ
    ドをペアとすることを特徴とする配線経路決定方法。
  3. 【請求項3】 前記最短等距離点をソースグリッドと
    し、該ソースグリッドから、各々順次障害物として設定
    されていない隣接するグリッドに、該ソースを識別しう
    るようにラベルを広げていき、2つのソースグリッドか
    らのラベルが、最初に同時に付られたグリッドを、該2
    つのソースグリッドからの最短等距離点として求めるこ
    とを特徴とする請求項1又は2の配線経路決定方法。
  4. 【請求項4】 前記入力端子から前記最短等距離点ま
    で、又は前の最短等距離点から現最短等距離点までの距
    離に応じて、前記ソースグリッドからラベリングを開始
    するタイミングをずらしたことを特徴とする請求項3の
    配線経路決定方法。
  5. 【請求項5】 複数の回路素子(2a〜2d)の各々の
    入力端子と、1つの端子(3)とを配線するための経路
    を決定するため、該一対の入力端子の最短同遅延点を接
    続点として求める配線経路決定方法において、 配線領域をグリッドに分割し、該複数の入力端子の位置
    するソースグリッドから、各々順次障害物として設定さ
    れていない隣接するグリッドに、該回路素子(2a〜2
    d)の遅延時間をラベル値として、ラベルを広げてい
    き、 各グリッドの2つのソースグリッドからのラベル値の差
    を求め、該差が零又は最小のグリッドの最短同遅延点と
    して求めることを特徴とする配線経路決定方法。
  6. 【請求項6】 複数の回路素子(2a〜2d)の各々の
    入力端子と、1つの端子(3)とを配線するための経路
    を決定するため、該一対の入力端子の最短同遅延点を接
    続点として求める配線経路決定方法において、 配線領域をグリッドに分割し、該複数の入力端子の位置
    するソースグリッドから、各々順次障害物として設定さ
    れていない隣接するグリッドに、該回路素子(2a〜2
    d)の遅延時間をラベル値として、ラベルを広げてい
    き、 各グリッドのソースグリッドからのラベル値間の差を求
    め、該差が零又は最小のグリッドを最短同遅延点とし、
    該グリッドの差が零又は最小の2つのソースグリッドを
    ペアとすることを特徴とする配線経路決定方法。
  7. 【請求項7】 前記最短同遅延点をソースグリッドと
    し、該ソースグリッドから、各々順次障害物として設定
    されていない隣接するグリッドに、該回路素子(2a〜
    2d)の遅延時間をラベル値として、ラベルを広げてい
    き、 各グリッドのソースグリッドからのラベル値間の差を求
    め、該差が零又は最小のグリッドを最短同遅延点とし、
    該グリッドの差が零又は最小の2つのソースグリッドを
    ペアとすることを特徴とする請求項5又は6の配線経路
    決定方法。
  8. 【請求項8】 前記入力端子から前記最短同遅延点ま
    で、又は前の最短同遅延点から現最短同遅延点までの遅
    延時間に応じて、前記ソースグリッドからラベリングを
    開始するタイミングをずらしたことを特徴とする請求項
    7の配線経路決定方法。
  9. 【請求項9】 前記グリッドを、並列計算機のプロセッ
    サにマッピングして、前記グリッドの動作を前記プロセ
    ッサが実行することを特徴とする請求項1又は2又は3
    又は4又は5又は6又は7又は8の配線経路決定方法。
  10. 【請求項10】 前記回路素子(2a〜2d)の入力端
    子が、クロック端子であり、前記端子が、クロック入力
    端子であり、前記配線回路がクロックの配線経路である
    ことを特徴とする請求項1又は2又は3又は4又は5又
    は6又は7又は8又は9の配線経路決定方法。
JP3310364A 1991-11-26 1991-11-26 配線経路決定方法 Withdrawn JPH05151316A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3310364A JPH05151316A (ja) 1991-11-26 1991-11-26 配線経路決定方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3310364A JPH05151316A (ja) 1991-11-26 1991-11-26 配線経路決定方法

Publications (1)

Publication Number Publication Date
JPH05151316A true JPH05151316A (ja) 1993-06-18

Family

ID=18004356

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3310364A Withdrawn JPH05151316A (ja) 1991-11-26 1991-11-26 配線経路決定方法

Country Status (1)

Country Link
JP (1) JPH05151316A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112137529A (zh) * 2020-09-28 2020-12-29 珠海市一微半导体有限公司 一种基于密集障碍物的清扫控制方法
CN116167321A (zh) * 2023-01-19 2023-05-26 深圳华大九天科技有限公司 保护环的生成方法、装置及相关产品
CN117272912A (zh) * 2023-09-22 2023-12-22 北京华大九天科技股份有限公司 一种将Pin快速布局到Boundary周围的方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112137529A (zh) * 2020-09-28 2020-12-29 珠海市一微半导体有限公司 一种基于密集障碍物的清扫控制方法
CN112137529B (zh) * 2020-09-28 2021-08-24 珠海市一微半导体有限公司 一种基于密集障碍物的清扫控制方法
CN116167321A (zh) * 2023-01-19 2023-05-26 深圳华大九天科技有限公司 保护环的生成方法、装置及相关产品
CN117272912A (zh) * 2023-09-22 2023-12-22 北京华大九天科技股份有限公司 一种将Pin快速布局到Boundary周围的方法

Similar Documents

Publication Publication Date Title
JPH04241072A (ja) 配線経路探索装置及び配線経路探索方法
JPH05151316A (ja) 配線経路決定方法
CN109508349A (zh) 一种度量空间离群检测方法及装置
CN118228644A (zh) 数字芯片设计的方法、装置、设备、存储介质和程序产品
EP0424908B1 (en) Wiring-pattern-determination system and method
JP3229235B2 (ja) 配線整形方法及び装置、禁止領域半径決定方法及び装置
CN118709637A (zh) 电路板布线方法及系统
CN118778349A (zh) 版图拆分方法、计算机设备、介质及程序产品
JPWO1998012655A1 (ja) 半導体集積回路の配置支援方法
Lin et al. The mesh with hybrid buses: an efficient parallel architecture for digital geometry
JP3413432B2 (ja) 文字展開処理装置
JP2751199B2 (ja) 配線経路探索方式及び装置
JP2523702B2 (ja) 半導体集積回路の自動配線方法
CN119067061B (zh) 系统级芯片的路线设置方法及相关装置
JP7656217B2 (ja) 半導体集積回路の配線設計装置、半導体集積回路の配線設計方法及び半導体集積回路の配線設計用プログラム
US12321193B1 (en) Hierarchically-aware buffering for clock structures
JP2790724B2 (ja) 曖昧さを持つ検索方法
JPS62209890A (ja) 自動配線方法
JP2536189B2 (ja) 自動配線方法
JP3134838B2 (ja) ブロック間配線装置
CN116011395A (zh) 基于模块交换的电路示意图模块列排序方法、设备和介质
JP3132655B2 (ja) 半導体集積回路におけるクロックネットのレイアウト方法およびレイアウト装置
JP2752530B2 (ja) 自動配線方法およびそのための装置
JP3382909B2 (ja) バスの配置方法
JPH05216963A (ja) 配線方法

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19990204