JPH03124046A - 集積回路における回路ブロック配置の設計装置 - Google Patents
集積回路における回路ブロック配置の設計装置Info
- Publication number
- JPH03124046A JPH03124046A JP1261731A JP26173189A JPH03124046A JP H03124046 A JPH03124046 A JP H03124046A JP 1261731 A JP1261731 A JP 1261731A JP 26173189 A JP26173189 A JP 26173189A JP H03124046 A JPH03124046 A JP H03124046A
- Authority
- JP
- Japan
- Prior art keywords
- circuit blocks
- circuit
- circuit block
- blocks
- arrangement
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000006243 chemical reaction Methods 0.000 claims abstract description 35
- 238000012545 processing Methods 0.000 claims description 17
- 238000013461 design Methods 0.000 abstract description 30
- 238000000034 method Methods 0.000 abstract description 29
- 230000008707 rearrangement Effects 0.000 abstract description 6
- 239000002245 particle Substances 0.000 abstract 2
- 238000005056 compaction Methods 0.000 description 25
- 238000010586 diagram Methods 0.000 description 16
- 230000006835 compression Effects 0.000 description 6
- 238000007906 compression Methods 0.000 description 6
- 238000000899 pressurised-fluid extraction Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000002922 simulated annealing Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 230000005484 gravity Effects 0.000 description 3
- 238000011960 computer-aided design Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000004904 shortening Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 210000000009 suboesophageal ganglion Anatomy 0.000 description 1
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
この発明は、集積回路における回路ブロック配置の設計
装置に係り、特に、PLDにおける回路ブロックの配置
設計をCAD装置で行うのに好適であり、そして、短時
間で総配線長が最小の回路ブロック配置の設計が可能な
装置に関する。
装置に係り、特に、PLDにおける回路ブロックの配置
設計をCAD装置で行うのに好適であり、そして、短時
間で総配線長が最小の回路ブロック配置の設計が可能な
装置に関する。
ユーザが内部の配線を自由にプログラムして所望の論理
動作を実現可能なICとして、例えば、プログラマブル
ロジックデバイス(PLD)が知られている。
動作を実現可能なICとして、例えば、プログラマブル
ロジックデバイス(PLD)が知られている。
このPLDは、第2図に示すように、種々の論理素子の
複数個が備えられ、入出力ビンlを有する回路ブロック
であるプログラマブルロジックエレメント(PLE)2
とスイッチング素子(例えばM OS F E T )
を備えるスイッチングステーション(SS)とが規則的
な格子状に予め配置された構造となっており、回路の書
き込み、書き換えが可能な高集積回路である。
複数個が備えられ、入出力ビンlを有する回路ブロック
であるプログラマブルロジックエレメント(PLE)2
とスイッチング素子(例えばM OS F E T )
を備えるスイッチングステーション(SS)とが規則的
な格子状に予め配置された構造となっており、回路の書
き込み、書き換えが可能な高集積回路である。
ユーザがこのようなPLDを用いて、所望の論理を実現
するためには、所定のSS内の所定のスイッチング素子
をオンすることによりSS内の配線方向を適宜決定し所
望の論理を実現する上で必要なPLE間の入出力ビン間
に配線パスを形成することが行われる。
するためには、所定のSS内の所定のスイッチング素子
をオンすることによりSS内の配線方向を適宜決定し所
望の論理を実現する上で必要なPLE間の入出力ビン間
に配線パスを形成することが行われる。
そこで、このPLEをPLD上でどのように配置して、
このPLE間にSSを介する配線バスを形成するか、と
いう回路ブロックの配置(レイアウト)設計が必要とな
る。
このPLE間にSSを介する配線バスを形成するか、と
いう回路ブロックの配置(レイアウト)設計が必要とな
る。
ところで、信号伝達の遅延時間を小さくするためには、
PLD内部の総配線長を最小にする必要がある。このた
めには、PLEの配置を総配線長が最小となるように予
め設計する必要がある。
PLD内部の総配線長を最小にする必要がある。このた
めには、PLEの配置を総配線長が最小となるように予
め設計する必要がある。
そこで、PLEの配置を自動的に設計可能な従来例が存
在する。
在する。
このような従来例として、例えば、日経エレクトロニク
ス 1986.7 、 28 (NO400)の第28
9頁から記載のシュミレーテド・アニーリング法が存在
する。
ス 1986.7 、 28 (NO400)の第28
9頁から記載のシュミレーテド・アニーリング法が存在
する。
このシュミレーテド・アニーリング法は、回路ブロック
のベア交換をするか否かを次の判定式により判定しなが
ら、回路ブロックのベア交換を継続して総配線長がより
短くなるように回路ブロックのレイアウト設計を行うも
のである。
のベア交換をするか否かを次の判定式により判定しなが
ら、回路ブロックのベア交換を継続して総配線長がより
短くなるように回路ブロックのレイアウト設計を行うも
のである。
e x p (−(Ez−E+)/T〕≧R貼は交換前
、E2は交換したときの評価関数である。Tはパラメー
タで、0〜ωの値をとる。Rは一様乱数でO〜1の値を
とる。式(1)が成立する場合は回路ブロックのベア交
換をする。成立しない場合はそのような交換をしない。
、E2は交換したときの評価関数である。Tはパラメー
タで、0〜ωの値をとる。Rは一様乱数でO〜1の値を
とる。式(1)が成立する場合は回路ブロックのベア交
換をする。成立しない場合はそのような交換をしない。
しかしながら、、前記シュミレーテド・アニーリング法
では、回路ブロックのベア交換をするか否かを前記式に
基づいて個々の回路ブロックについて判定していたため
、最終的な回路ブロックのレイアウトが決定される迄の
設計時間が長時間となる、という課題が生じていた。例
えば、回路ブロックが36個のPLDの場合のレイアウ
ト決定に際しては、4.6時間もの時間を費やしていた
。
では、回路ブロックのベア交換をするか否かを前記式に
基づいて個々の回路ブロックについて判定していたため
、最終的な回路ブロックのレイアウトが決定される迄の
設計時間が長時間となる、という課題が生じていた。例
えば、回路ブロックが36個のPLDの場合のレイアウ
ト決定に際しては、4.6時間もの時間を費やしていた
。
また、PLE間で結合度の強いものは、PLE間をSS
を介さない専用線で直結して、大きさの異なる各種サイ
ズのマクロ回路ブロックを構成するのが配線長の縮小、
遅延時間防止の上からいって好ましい。しかしながら、
前記シュミレーテド・アニーリング法では、同−或いは
ほぼ同じサイズ、例えば縦横どちらか一方だけ長さが異
なる矩形の回路ブロックのベア交換でブロック配置の最
適化を行っているので、異なるサイズの、例えば縦横の
長さが異なる矩形のブロック配置の最適化を自動的に行
うのは、困難である。又、コンピュータ支援設計(CA
D)装置の対話グラフィクス画面で配線長縮小となるよ
うに、種々のサイズのマクロ回路ブロックの配置を手作
業で試行錯誤的に行うと設計に要する時間が長くなり、
しかもこの設計を試行錯誤的手作業で行うと、配線長最
小の要件が崩れるおそれもある。
を介さない専用線で直結して、大きさの異なる各種サイ
ズのマクロ回路ブロックを構成するのが配線長の縮小、
遅延時間防止の上からいって好ましい。しかしながら、
前記シュミレーテド・アニーリング法では、同−或いは
ほぼ同じサイズ、例えば縦横どちらか一方だけ長さが異
なる矩形の回路ブロックのベア交換でブロック配置の最
適化を行っているので、異なるサイズの、例えば縦横の
長さが異なる矩形のブロック配置の最適化を自動的に行
うのは、困難である。又、コンピュータ支援設計(CA
D)装置の対話グラフィクス画面で配線長縮小となるよ
うに、種々のサイズのマクロ回路ブロックの配置を手作
業で試行錯誤的に行うと設計に要する時間が長くなり、
しかもこの設計を試行錯誤的手作業で行うと、配線長最
小の要件が崩れるおそれもある。
そこで、この出願に係る発明は、このような未解決の課
題を解決するために、集積回路の最終的な総配線長をよ
り短くする回路ブロックのレイアウトを、短時間で設計
することのできる。集積回路における回路ブロック配置
の設計装置を提供することを第1の目的とし、また、回
路ブロックの複数からなる大きさの異なる各種サイズの
マクロ回路ブロッ、りを形成する場合でも総配線長をよ
り短く、且つレイアウト設計を短時間で行える設計装置
を提供すること第2の目的とする。
題を解決するために、集積回路の最終的な総配線長をよ
り短くする回路ブロックのレイアウトを、短時間で設計
することのできる。集積回路における回路ブロック配置
の設計装置を提供することを第1の目的とし、また、回
路ブロックの複数からなる大きさの異なる各種サイズの
マクロ回路ブロッ、りを形成する場合でも総配線長をよ
り短く、且つレイアウト設計を短時間で行える設計装置
を提供すること第2の目的とする。
〔課題を解決するための手段]
このような目的を達成するために、この出願に係る発明
は、第1図(1)の基本構成図に示すように、集積回路
における回路ブロックの配置を設計できる装置において
、回路ブロック間の配線数に応じた引力を有する質点系
のばねモデルを用いて前記回路ブロックを初期配置する
手段と、回路ブロックの重なり量に応じた反力を有する
ばねモデルを用いて、前記初期配置された回路ブロック
の重なりが無くなるように、該回路ブロックを再配置す
る手段と、再配置後の回路ブロックの配置が規則的にな
るように調整配置する手段と、を有してなることを特徴
とする集積回路における回路ブロック配置の設計装置で
ある。
は、第1図(1)の基本構成図に示すように、集積回路
における回路ブロックの配置を設計できる装置において
、回路ブロック間の配線数に応じた引力を有する質点系
のばねモデルを用いて前記回路ブロックを初期配置する
手段と、回路ブロックの重なり量に応じた反力を有する
ばねモデルを用いて、前記初期配置された回路ブロック
の重なりが無くなるように、該回路ブロックを再配置す
る手段と、再配置後の回路ブロックの配置が規則的にな
るように調整配置する手段と、を有してなることを特徴
とする集積回路における回路ブロック配置の設計装置で
ある。
また、前記第2の目的を達成するために、請求項(2)
記載の発明は第1図(2)の基本構成図に示すように、
集積回路に存在する回路ブロックのうち全部又は一部を
、複数の回路ブロックが集合化したマクロ回路ブロック
とするマクロ回路ブロック形成手段と、該マクロ回路ブ
ロック内の回路ブロックを一体化して前記配置処理を実
行する一体化配置処理実行手段と、を有してなることを
特徴とする請求項(1)記載の集積回路における回路ブ
ロック配置の設計装置である。
記載の発明は第1図(2)の基本構成図に示すように、
集積回路に存在する回路ブロックのうち全部又は一部を
、複数の回路ブロックが集合化したマクロ回路ブロック
とするマクロ回路ブロック形成手段と、該マクロ回路ブ
ロック内の回路ブロックを一体化して前記配置処理を実
行する一体化配置処理実行手段と、を有してなることを
特徴とする請求項(1)記載の集積回路における回路ブ
ロック配置の設計装置である。
本発明は、例えば第3図に示すような質点系のばねモデ
ルを使用して、回路ブロックのレイアウトを力学的に設
計しようとするものである。
ルを使用して、回路ブロックのレイアウトを力学的に設
計しようとするものである。
先ず、回路ブロック間の配線数に応じた引力を発生させ
るとした。前記質点系のばねモデルの引力バランスを利
用して回路ブロックの初期配置を決定する。この初期配
置により回路ブロックの相対的位置が定まる。
るとした。前記質点系のばねモデルの引力バランスを利
用して回路ブロックの初期配置を決定する。この初期配
置により回路ブロックの相対的位置が定まる。
しかし、この初期配置の状態では、回路ブロック間に引
力による重なり(オーバーラツプ)が生ずるため、この
重なり面積に応じた反力を発生させるとした。前記質点
系のばねモデルの反力バランスを利用して回路ブロック
の重なりを除去する。
力による重なり(オーバーラツプ)が生ずるため、この
重なり面積に応じた反力を発生させるとした。前記質点
系のばねモデルの反力バランスを利用して回路ブロック
の重なりを除去する。
次いで、再配置後の回路ブロックが当初の規則的な格子
状になるように、その配置を調整する。
状になるように、その配置を調整する。
このようなばねモデルを用いると多数の配線が形成され
ている回路ブロック同士はどより近接して配置されるた
め全体的な配線長を最小にすることが可能となる。
ている回路ブロック同士はどより近接して配置されるた
め全体的な配線長を最小にすることが可能となる。
そして、前記シュミレーテド・アニーリング法のように
回路ブロック間のベア交換を個々に評価して実行するの
ではなく、全回路ブロックの配置を力学的に決定するた
め、回路ブーロックのレイアウト設計に要する時間を大
幅に短縮することができる。
回路ブロック間のベア交換を個々に評価して実行するの
ではなく、全回路ブロックの配置を力学的に決定するた
め、回路ブーロックのレイアウト設計に要する時間を大
幅に短縮することができる。
請求項(2)記載の発明はこれに加えて、回路ブロック
間の結合度が高い、即ち、例えば、最終的には回路ブロ
ック間に多くの配線が形成される故近接して配置される
べきことが配置設計前から分かっている複数の回路ブロ
ックを配置設計前に集合化してマクロ回路ブロックを形
成し、このマクロ回路ブロックを一体化して請求項(1
)記載の配置処理配置、調整配置を実行している。その
結果、配置処理の過程において、マクロ回路ブロックを
構成する複数の回路ブロックが互いに離間することがな
いため、マクロ回路ブロックの離散を防止しつつ、総配
線長の短縮の効果をより高めることが可能となる。
間の結合度が高い、即ち、例えば、最終的には回路ブロ
ック間に多くの配線が形成される故近接して配置される
べきことが配置設計前から分かっている複数の回路ブロ
ックを配置設計前に集合化してマクロ回路ブロックを形
成し、このマクロ回路ブロックを一体化して請求項(1
)記載の配置処理配置、調整配置を実行している。その
結果、配置処理の過程において、マクロ回路ブロックを
構成する複数の回路ブロックが互いに離間することがな
いため、マクロ回路ブロックの離散を防止しつつ、総配
線長の短縮の効果をより高めることが可能となる。
次に本発明をPLDに適用した実施例を添付図面に従っ
て詳説する。
て詳説する。
第4図は、PLDにおける回路ブロック配置の設計装置
を実現するための概略システム構成図を示す。
を実現するための概略システム構成図を示す。
第4図において、20はデータバス、制御バスからなる
システムバスであり、このシステムバスには、PLD上
の全ての回路ブロックの位置データを保持するデータベ
ース21と、CPUの動作を制御するプログラムが書き
込まれたROM22と、ネットリストデータ(回路ブロ
ック間の配線データ)から最短の配線を形成する上で回
路ブロックの最適配置を決定するための演算を行う中央
処理装置(CPU)23と、キーボード、マウス等から
なる操作装置24と、CPUの演算結果を記憶可能なR
AM25と、配置設計された回路ブロックを配置処理の
途中においても画面表示可能なCRT等の表示装置26
と、が接続されている。
システムバスであり、このシステムバスには、PLD上
の全ての回路ブロックの位置データを保持するデータベ
ース21と、CPUの動作を制御するプログラムが書き
込まれたROM22と、ネットリストデータ(回路ブロ
ック間の配線データ)から最短の配線を形成する上で回
路ブロックの最適配置を決定するための演算を行う中央
処理装置(CPU)23と、キーボード、マウス等から
なる操作装置24と、CPUの演算結果を記憶可能なR
AM25と、配置設計された回路ブロックを配置処理の
途中においても画面表示可能なCRT等の表示装置26
と、が接続されている。
本実施例では、回路ブロックの配置を設計するために、
回路ブロック間をばねで連結し引力1反力が働くと仮定
したばねモデルを用いているが、このばねモデルとして
は、例えば、第3図に記載のものを用いることができる
。
回路ブロック間をばねで連結し引力1反力が働くと仮定
したばねモデルを用いているが、このばねモデルとして
は、例えば、第3図に記載のものを用いることができる
。
第3図中の実線Aは、回路ブロックalとa2の中心間
の距離に応じて引力が働く引力バランスであり、ブロッ
クa1と32の中心間距離がaijの時に、引力及び反
力共にOとなる。この引力バランスモデルは、次の釣り
合い方程式で表現される。
の距離に応じて引力が働く引力バランスであり、ブロッ
クa1と32の中心間距離がaijの時に、引力及び反
力共にOとなる。この引力バランスモデルは、次の釣り
合い方程式で表現される。
f−−Ci、(L −a H; ) −−
−−(1)(1)式及び後述の(2)以降の弐において
、fはブロック間に働く引力または反ツノ、Cijは両
ブロック間の配線本数、a市は回路ブロックal+
a2が接した時の中心間距離、即ち、回路ブロックの直
径に相当しく後述のように回路ブロックは円で表現され
る)、Lは両ブロックの中心間距離を示す。
−−(1)(1)式及び後述の(2)以降の弐において
、fはブロック間に働く引力または反ツノ、Cijは両
ブロック間の配線本数、a市は回路ブロックal+
a2が接した時の中心間距離、即ち、回路ブロックの直
径に相当しく後述のように回路ブロックは円で表現され
る)、Lは両ブロックの中心間距離を示す。
尚、前記aijの値はRAMに設定される。
この実線Aで示される引力ばねモデルによれば、両ブロ
ック間の配線本数が多い程大きな引力が形成されること
になる。尚、配線本数は、2、ットリストのデータから
得られる。
ック間の配線本数が多い程大きな引力が形成されること
になる。尚、配線本数は、2、ットリストのデータから
得られる。
次に第3図中の実線Bは、ブロックa1とa2の中心間
距離に応じて両ブロック間に反力のみが働く反力バラン
スモデルである。
距離に応じて両ブロック間に反力のみが働く反力バラン
スモデルである。
この反力バランスモデルは、次の釣り合い方程式で表現
される。
される。
f=に、、−a + ;” / L ” −
=−42)(2)式において、K i jは経験上得ら
れた定数であることを示す。このに、、もRAMに予め
設定される。
=−42)(2)式において、K i jは経験上得ら
れた定数であることを示す。このに、、もRAMに予め
設定される。
この反力バランスモデルによれば、両ブロック間には反
力が働いており、特に、中心間距離が前Raaijより
小さくなって両ブロック間にオーバーラツプが生ずると
、そのオーバーラツプ量に応じて大きな反力が形成され
ることを示している。
力が働いており、特に、中心間距離が前Raaijより
小さくなって両ブロック間にオーバーラツプが生ずると
、そのオーバーラツプ量に応じて大きな反力が形成され
ることを示している。
さらに、図中実線Cは、次の(3)式で示される前記実
線AとBとをプラスした引力/反力バランスモデルであ
る。
線AとBとをプラスした引力/反力バランスモデルであ
る。
r =C市(L a HJ) + K HJ−a ;
; ” / L 2(3) 次に請求項(1)記載の発明の実施例の動作を第5図に
示すフローチャートに従って説明する。
; ” / L 2(3) 次に請求項(1)記載の発明の実施例の動作を第5図に
示すフローチャートに従って説明する。
ステ・ノブ■において、前記CPUはRAMに一時記憶
されているネットリストデータを読み込む。
されているネットリストデータを読み込む。
次いで、回路ブロックの大きさを無視し、大きさの無い
回路ブロック間を前記第3図の実線Aで表された引力バ
ランスモデルを使用して、例えば第6図のような回路ブ
ロックの初期配置を次のように行う。
回路ブロック間を前記第3図の実線Aで表された引力バ
ランスモデルを使用して、例えば第6図のような回路ブ
ロックの初期配置を次のように行う。
先ず、ネットリストデータから各回路ブロックの配線数
を読み込む(ステップ■)。ステップ■では、この読み
込まれた配線数(=前記式において、C□、に相当する
)を(1)式に代入し、この(1)式から引力(f)を
演算する。
を読み込む(ステップ■)。ステップ■では、この読み
込まれた配線数(=前記式において、C□、に相当する
)を(1)式に代入し、この(1)式から引力(f)を
演算する。
そして、ステップ■ではステップ■で得られた引力を用
いてバランスさせ回路ブロックの初期配置を完了する。
いてバランスさせ回路ブロックの初期配置を完了する。
第6図の初期配置は表示装置に画面表示される。
そして、この初期配置の境界条件は自由境界とする。尚
、図中の数字は、回路ブロックの番号を示す。
、図中の数字は、回路ブロックの番号を示す。
この初期配置によると、回路ブロック間の配線本数に応
じた引力が回路ブロック間に働くため、配線本数が多い
回路ブロック程近接配置される。
じた引力が回路ブロック間に働くため、配線本数が多い
回路ブロック程近接配置される。
この結果、最終の配線距離がより短くなるように各回路
ブロックを相対的に配置することができる。
ブロックを相対的に配置することができる。
尚、この初期配置を回路ブロックの大きさ無視すること
なく、回路ブロックに大きさを与えて初期配置を行うこ
とも可能である。しかし、引力バランスを用いて回路ブ
ロックの初期配置を行っているため、回路ブロック間に
多くのオーバーラツプが発生する結果、回路ブロックの
大きさが無いものとして初期配置を実行することが表示
画面を見易くする上で好適である。
なく、回路ブロックに大きさを与えて初期配置を行うこ
とも可能である。しかし、引力バランスを用いて回路ブ
ロックの初期配置を行っているため、回路ブロック間に
多くのオーバーラツプが発生する結果、回路ブロックの
大きさが無いものとして初期配置を実行することが表示
画面を見易くする上で好適である。
次は、初期配置後回路ブロックの大きさを考慮した際に
生ずる回路ブロック間のオーバーランプを除去するため
に、初期配置された回路ブロックの再配置処理である自
由境界によるバランスをとる。この自由境界バランスは
、オーバーラツプ量(重なり量)に応じて反力が働く前
記第3図の実線Cで示された引力/反力を共に与えた釣
り合い方程式を用いる。この結果、第7図に示すような
回路ブロックの再配置が得られこの配置は画面表示され
る。尚、第7図において、回路ブロックの中心間の実線
は、回路ブロック間に形成された配線を示すものである
。
生ずる回路ブロック間のオーバーランプを除去するため
に、初期配置された回路ブロックの再配置処理である自
由境界によるバランスをとる。この自由境界バランスは
、オーバーラツプ量(重なり量)に応じて反力が働く前
記第3図の実線Cで示された引力/反力を共に与えた釣
り合い方程式を用いる。この結果、第7図に示すような
回路ブロックの再配置が得られこの配置は画面表示され
る。尚、第7図において、回路ブロックの中心間の実線
は、回路ブロック間に形成された配線を示すものである
。
この自由境界バランスに際して、回路ブロックの大きさ
を円で与えている(実際の回路ブロックの形状は第2図
に示すように矩形である)。このように回路ブロックの
大きさを円で与える理由は、矩形のままよりも表示画面
上の回路ブロックの移動が容易であると共に、矩形だと
その角部において回路ブロック同士〇オーバーラツプが
発生し易いのに対して、円だと角部がなくこのようなオ
ーバーラツプの発生を防ぐことができるためである。
を円で与えている(実際の回路ブロックの形状は第2図
に示すように矩形である)。このように回路ブロックの
大きさを円で与える理由は、矩形のままよりも表示画面
上の回路ブロックの移動が容易であると共に、矩形だと
その角部において回路ブロック同士〇オーバーラツプが
発生し易いのに対して、円だと角部がなくこのようなオ
ーバーラツプの発生を防ぐことができるためである。
もっとも、回路ブロックの実際の形状に会わせて矩形の
まま自由境界バランスの処理及びこれ以降の処理を行う
ことを妨げるものではない。
まま自由境界バランスの処理及びこれ以降の処理を行う
ことを妨げるものではない。
この自由境界バランスの手順は次のように実行される。
ステップ■において、初期配置後の各回路ブロック同士
の中心間距離を次の(4)式により演算する。
の中心間距離を次の(4)式により演算する。
(IXI−X2 l”+ly+−yz lz )
”” −44)(4)式において、(X+、 Y+
) 、 (Xz、Y2)は各回路ブロックの中心座標
である。
”” −44)(4)式において、(X+、 Y+
) 、 (Xz、Y2)は各回路ブロックの中心座標
である。
そしてこの中心間距離と、前記a、jで示される回路ブ
ロックの直径と、前記C4jで示される回路ブロック間
の配線本数と、前記k ijで示される経験上得られる
特性値と、を読み出しくステップ■)、これらの値を前
記(3)式に代入して引力又は反力fを演算し、これを
用いて自由境界バランスを取る(ステップ■)。
ロックの直径と、前記C4jで示される回路ブロック間
の配線本数と、前記k ijで示される経験上得られる
特性値と、を読み出しくステップ■)、これらの値を前
記(3)式に代入して引力又は反力fを演算し、これを
用いて自由境界バランスを取る(ステップ■)。
このような自由境界バランスによれば、配線数が多い回
路ブロック程近接して配置されるため総配線長短縮め要
件を崩すことがなく、かつ回路ブロックのオーバーラツ
プ量に応じた反力を与えるため、回路ブロック間のオー
バーラツプを少なくすることができる。
路ブロック程近接して配置されるため総配線長短縮め要
件を崩すことがなく、かつ回路ブロックのオーバーラツ
プ量に応じた反力を与えるため、回路ブロック間のオー
バーラツプを少なくすることができる。
ところで、ステップ■の自由境界バランスによる回路ブ
ロックの再配置形状(第7図)では、100で示される
ように回路ブロックの存在しないデッドスペースが大き
く存在し、そして、同時に引力ばねにより回路ブロック
間にオーバーラツプが残存する。そこで、このデッドス
ペース及び残存したオーバラップを解消するために、回
路ブロック配置のコンパクト化(コンパクション)を実
行する。
ロックの再配置形状(第7図)では、100で示される
ように回路ブロックの存在しないデッドスペースが大き
く存在し、そして、同時に引力ばねにより回路ブロック
間にオーバーラツプが残存する。そこで、このデッドス
ペース及び残存したオーバラップを解消するために、回
路ブロック配置のコンパクト化(コンパクション)を実
行する。
先ず、ステップ■では、CPUは、画面に、第7図の8
0で示される変形率αを与えることにより圧縮又は拡大
可能な矩形の外接枠を自由境界バランス後の再配置回路
ブロック周囲に画面表示する。この外接枠の圧縮又は拡
大の移動に応じて回路ブロックも画面上を移動する。
0で示される変形率αを与えることにより圧縮又は拡大
可能な矩形の外接枠を自由境界バランス後の再配置回路
ブロック周囲に画面表示する。この外接枠の圧縮又は拡
大の移動に応じて回路ブロックも画面上を移動する。
そして、ステップ■ではこの外接枠の変形率αを圧縮側
向に変更する。尚、この変形率αはX方向、Y方向で異
なる値をも選択できるものとする。
向に変更する。尚、この変形率αはX方向、Y方向で異
なる値をも選択できるものとする。
ステップ[相]では、デッドスペースの面積を演算し、
ステップ■において、デッドスペース面積Mが所定値(
Ml)と比較される。尚、このデッドスペース面積は、
画面上における回路ブロックを現す円外の領域面積をC
PUが演算することにより算出可能である。
ステップ■において、デッドスペース面積Mが所定値(
Ml)と比較される。尚、このデッドスペース面積は、
画面上における回路ブロックを現す円外の領域面積をC
PUが演算することにより算出可能である。
ステップ■でデッドスペース面積がM、以下であると判
定された場合は、デッドスペースはコンパクション処理
により解消されたものとして次の手順へ移行する。この
コンパクト化の際、回路ブロック間は前記第3図に示さ
れた実線Cの引力/反力バランスの釣り合い方程式を用
いてバランスさせる。この際、総配線長最小の要件は維
持される。この結果、例えば、第8図に示されるような
回路ブロックの配置が得られ、これが画面表示される。
定された場合は、デッドスペースはコンパクション処理
により解消されたものとして次の手順へ移行する。この
コンパクト化の際、回路ブロック間は前記第3図に示さ
れた実線Cの引力/反力バランスの釣り合い方程式を用
いてバランスさせる。この際、総配線長最小の要件は維
持される。この結果、例えば、第8図に示されるような
回路ブロックの配置が得られ、これが画面表示される。
一方、ステップ0において、デッドスペース面積がMl
を越える場合は、前記αをさらに圧縮側に変更してデッ
ドスペース面積がM1以下になるまでコンパクト化を実
行する。
を越える場合は、前記αをさらに圧縮側に変更してデッ
ドスペース面積がM1以下になるまでコンパクト化を実
行する。
ところで、このコンパクト後の配置ではデッドスペース
の解消が可能になる反面、引力ばねのためのオーバーラ
ンプが残るため、引力ばねのため発生したオーバーラツ
プを、直後に引力ばねをカットして前記第3図の実線B
で示される反力バランスにより解消する。そこで、ステ
ップ@において、前記外接枠80のαを拡大側に変更し
、ステップ■において全ての回路ブロック間のオーバー
ラップ量を演算する。このオーバーラツプ量ΔI]は、
回路ブロックを現す円の半径を!とした際、ΔH=2f
−b、、(b、、は回路ブロックの中心間距離)で求め
ることができる。次いで、ステップ0では、このオーバ
ーラツプ量ΔI(が所定値H(例えば、零)以下である
か否かが判定され、ΔHが所定値H,以下になるまで外
接枠を拡大しつつ反力ばねを用いたバランスを継続する
。この所定値H3は、必要に応じて適宜な値が選択され
、例えば、零が通常選ばれる。
の解消が可能になる反面、引力ばねのためのオーバーラ
ンプが残るため、引力ばねのため発生したオーバーラツ
プを、直後に引力ばねをカットして前記第3図の実線B
で示される反力バランスにより解消する。そこで、ステ
ップ@において、前記外接枠80のαを拡大側に変更し
、ステップ■において全ての回路ブロック間のオーバー
ラップ量を演算する。このオーバーラツプ量ΔI]は、
回路ブロックを現す円の半径を!とした際、ΔH=2f
−b、、(b、、は回路ブロックの中心間距離)で求め
ることができる。次いで、ステップ0では、このオーバ
ーラツプ量ΔI(が所定値H(例えば、零)以下である
か否かが判定され、ΔHが所定値H,以下になるまで外
接枠を拡大しつつ反力ばねを用いたバランスを継続する
。この所定値H3は、必要に応じて適宜な値が選択され
、例えば、零が通常選ばれる。
そして、ステップ■では、オーバーランプが無くなった
時点(ΔH=0)で回路ブロックの配置を固定し、外接
枠の取外しを実行すると、例えば、第9図に示すような
回路ブロックの配置が得られ、これを表示画面に現すこ
とができる。コンパクション終了後の回路ブロックの位
置データはRAMに記憶される。
時点(ΔH=0)で回路ブロックの配置を固定し、外接
枠の取外しを実行すると、例えば、第9図に示すような
回路ブロックの配置が得られ、これを表示画面に現すこ
とができる。コンパクション終了後の回路ブロックの位
置データはRAMに記憶される。
以上のようなコンパクト処理によって、第9図に示すよ
うに、回路ブロックの総配線長の最小の要件を維持しつ
つ、デッドスペース及びオーバーラツプの解消を達成す
ることが可能となる。
うに、回路ブロックの総配線長の最小の要件を維持しつ
つ、デッドスペース及びオーバーラツプの解消を達成す
ることが可能となる。
尚、この自由境界パ゛ランスとコンパクト化に際して、
第3図の実線Cで示された引力/反力を共に与えた釣り
合い方程式を用いる代わりに、回路ブロックa1とa2
の距離りがそれらの接触位置aij以上である場合には
、実線Aによる引力ばねモデルを用い、距離L=a;4
であるときには、破線I]上であり、また、距離りがa
ij未満である場合は、実線Cで示すような二次式に従
う反力ばねモデルを用いることができる。
第3図の実線Cで示された引力/反力を共に与えた釣り
合い方程式を用いる代わりに、回路ブロックa1とa2
の距離りがそれらの接触位置aij以上である場合には
、実線Aによる引力ばねモデルを用い、距離L=a;4
であるときには、破線I]上であり、また、距離りがa
ij未満である場合は、実線Cで示すような二次式に従
う反力ばねモデルを用いることができる。
また、コンパクション処理の他の態様として、自由境界
バランス後の回路ブロックの配置に前記外接枠を形成し
た後、変形率αを外接枠を圧縮する方向に設定し、かつ
この時の回路ブロックの配置を前記第3図の実線Bの釣
り合い方程式で示される反力バランスのみで実行して、
オーバーラツプ及びデッドスペースの解消を図ることも
できる。
バランス後の回路ブロックの配置に前記外接枠を形成し
た後、変形率αを外接枠を圧縮する方向に設定し、かつ
この時の回路ブロックの配置を前記第3図の実線Bの釣
り合い方程式で示される反力バランスのみで実行して、
オーバーラツプ及びデッドスペースの解消を図ることも
できる。
この場合、前記実施例に示すコンパクト化と比較して引
力の計算がないので計算時間を短縮することができる反
面、総配線長最小の要件が崩れることがある。
力の計算がないので計算時間を短縮することができる反
面、総配線長最小の要件が崩れることがある。
さらに、前記実施例では、外接枠を圧縮しながら、引力
/反力バランスをとっていたが、これに代えて、外接枠
の圧縮時に、引力/反力バランスと反力バランスを交互
に用いて、引力ばねのために発生した重なりを、その直
後に引力ばねをカットして反力バランスのみにより解消
させることもできる。この場合、直後に引力ばねをカッ
トしているため、回路ブロックが移動し易くなりしかも
、引力/反力バランスを用いているので、総配線長最小
の要件を崩すことなく、デッドスペース及びオーバーラ
ツプを解消することが可能となる。但し、引力ばねのカ
ットを頻繁に実行し、反力によるバランスをその都度と
っているため、計算時間がその分増える。
/反力バランスをとっていたが、これに代えて、外接枠
の圧縮時に、引力/反力バランスと反力バランスを交互
に用いて、引力ばねのために発生した重なりを、その直
後に引力ばねをカットして反力バランスのみにより解消
させることもできる。この場合、直後に引力ばねをカッ
トしているため、回路ブロックが移動し易くなりしかも
、引力/反力バランスを用いているので、総配線長最小
の要件を崩すことなく、デッドスペース及びオーバーラ
ツプを解消することが可能となる。但し、引力ばねのカ
ットを頻繁に実行し、反力によるバランスをその都度と
っているため、計算時間がその分増える。
コンパクション後は、回路ブロックを規則的な格子状に
なるように回路ブロック配置を調整する。
なるように回路ブロック配置を調整する。
前記データベース21は、第10図に示されるような規
則的な格子状に配置された回路ブロック110の画面上
の絶対位置データを保有している。
則的な格子状に配置された回路ブロック110の画面上
の絶対位置データを保有している。
この格子状の配置は、PLD上のPLEの設置位置と対
応している。
応している。
そこで、ステップ■では、CPUは前記データベースか
ら、第10図の回路ブロックの位置データを読み出す。
ら、第10図の回路ブロックの位置データを読み出す。
位置データとしては、例えば、回路ブロックを現す円の
中心座標を挙げることができる。
中心座標を挙げることができる。
次いで、ステップ@において、CPUは、第9図に示す
コンパクション後の回路ブロック(円で表示)の画面上
における中心座標を、全ての回路ブロックについて読み
出す。
コンパクション後の回路ブロック(円で表示)の画面上
における中心座標を、全ての回路ブロックについて読み
出す。
ステップ■では、第9図の配置の回路ブロックの一つ一
つについて、第10図の規則的な格子状に配置された回
路ブロックの全てとの中心座標間距離の演算を前記(4
)式に基づいて行う。そして、この演算はコンパクショ
ン後の回路ブロックの全てについて実行する。そして、
ステップ■において、第10図に示すコンパクション後
の回路ブロックの一つ一つについて、中心間距離が最小
の回路ブロックを第10図に示す回路ブロックから選沢
する。例えば、第9図のコンパクション後の回路ブロッ
ク9.1に着目すると、9についての中心間距離が最小
な回路ブロックは第10図の81に相当し、■について
の同様なブロックはB2に相当する。
つについて、第10図の規則的な格子状に配置された回
路ブロックの全てとの中心座標間距離の演算を前記(4
)式に基づいて行う。そして、この演算はコンパクショ
ン後の回路ブロックの全てについて実行する。そして、
ステップ■において、第10図に示すコンパクション後
の回路ブロックの一つ一つについて、中心間距離が最小
の回路ブロックを第10図に示す回路ブロックから選沢
する。例えば、第9図のコンパクション後の回路ブロッ
ク9.1に着目すると、9についての中心間距離が最小
な回路ブロックは第10図の81に相当し、■について
の同様なブロックはB2に相当する。
次いで、ステップ[相]では、第9図の回路ブロック1
を第10図の回路ブロックB1の表示位置まで移動し、
同様に回路ブロック9を82の表示位置まで画面上移動
させる。この処理をコンパクション後の全ての回路ブロ
ックについて実行すれば、コンパクション後の回路ブロ
ックを格子状の配置になるように調整することができる
。
を第10図の回路ブロックB1の表示位置まで移動し、
同様に回路ブロック9を82の表示位置まで画面上移動
させる。この処理をコンパクション後の全ての回路ブロ
ックについて実行すれば、コンパクション後の回路ブロ
ックを格子状の配置になるように調整することができる
。
ステップ■では、ステップ[相]の回路ブロックの移動
に際し、回路ブロック形状を円から矩形に変更する。こ
の結果、第11図に示すように矩形の回路ブロックの格
子状配置が得られ、この配置が画面表示される。尚、第
11図の回路ブロックの配置は、スイッチングステーシ
ョン(SS)の表示を省略し、回路ブロックのみを強調
した画面となっている。
に際し、回路ブロック形状を円から矩形に変更する。こ
の結果、第11図に示すように矩形の回路ブロックの格
子状配置が得られ、この配置が画面表示される。尚、第
11図の回路ブロックの配置は、スイッチングステーシ
ョン(SS)の表示を省略し、回路ブロックのみを強調
した画面となっている。
尚、回路ブロックを円のまま調整配置し、最後に矩形に
直しても良いことは勿論である。
直しても良いことは勿論である。
以上により回路ブロックの配置設計のだめの処理を全て
終了する。
終了する。
この後の工程では、最終的に得られた第11図に示され
るように回路ブロックを配置し、次いでこの配置の後、
回路ブロックと共にPLD上に存在するSS内の配線方
向を決定しつつ配置された回路ブロック間に配線が形成
される処理が実行されるものである。
るように回路ブロックを配置し、次いでこの配置の後、
回路ブロックと共にPLD上に存在するSS内の配線方
向を決定しつつ配置された回路ブロック間に配線が形成
される処理が実行されるものである。
次に、請求項(2)記載の発明の実施例について説明す
る。
る。
この実施例では、PLDに存在する回路ブロックの複数
が集合化したマクロ回路ブロックを形成し、このマクロ
回路ブロックを一体化して、即ちマクロ回路ブロックを
構成する回路ブロックが互いに離間することなく初期配
置等を行う。
が集合化したマクロ回路ブロックを形成し、このマクロ
回路ブロックを一体化して、即ちマクロ回路ブロックを
構成する回路ブロックが互いに離間することなく初期配
置等を行う。
このようなマクロ回路ブロックの形成は、回路ブロック
を多点拘束条件でX軸及び/又はY軸方向に結合するこ
とにより行われる。
を多点拘束条件でX軸及び/又はY軸方向に結合するこ
とにより行われる。
本実施例では、回路ブロックを3行×1列で拘束してい
る。
る。
操作装置を介してCPUに拘束される回路ブロックの指
定及び拘束方向の指定を行うことができる。マクロ回路
ブロックは、このマクロ回路ブロックを構成する各回路
ブロックを離間しないように拘束した状態で、他のマク
ロ回路ブロック及び/又は拘束されない回路ブロックと
の間でレイアウト設計が実行される。
定及び拘束方向の指定を行うことができる。マクロ回路
ブロックは、このマクロ回路ブロックを構成する各回路
ブロックを離間しないように拘束した状態で、他のマク
ロ回路ブロック及び/又は拘束されない回路ブロックと
の間でレイアウト設計が実行される。
第12図は、回路ブロック5,6.8の三つの回路ブロ
ックが3行×1列に拘束されてマクロ回路ブロックが形
成された場合における自由境界バランス後の配置画面で
あり、第13.14図はコンパクション処理後の配置画
面である。この初期配置、自由境界バランス、コンパク
ションの処理は前記実施例と同様である。
ックが3行×1列に拘束されてマクロ回路ブロックが形
成された場合における自由境界バランス後の配置画面で
あり、第13.14図はコンパクション処理後の配置画
面である。この初期配置、自由境界バランス、コンパク
ションの処理は前記実施例と同様である。
この自由境界バランス、コンパクションにおいては、引
力/反力によるバランスをとっているものであるが、拘
束条件下ではマクロ回路ブロックは前記第3図に示した
引力ばね1反力ばねによる引力2反力が作用しても拘束
された方向から互いに離間することなく、マクロ回路ブ
ロックと他の回路ブロックとの間でバランスをとってい
る。
力/反力によるバランスをとっているものであるが、拘
束条件下ではマクロ回路ブロックは前記第3図に示した
引力ばね1反力ばねによる引力2反力が作用しても拘束
された方向から互いに離間することなく、マクロ回路ブ
ロックと他の回路ブロックとの間でバランスをとってい
る。
このような回路ブロックの拘束は、第15図に示すよう
に所定時間度に繰り返される割込み処理によって実行さ
れる。
に所定時間度に繰り返される割込み処理によって実行さ
れる。
先ず、ステップ■aにおいて拘束の要求があるか否かが
判定される。ステップ■bでは、CPUは回路ブロック
5,6.8の中心のX座標を順次読み込み、ステップ■
Cにおいて、回路ブロック6の中心のX座礁と回路ブロ
ック5,8の中心のX座標との偏差を演算し、この偏差
が零であるか否かが判定される(ステップ■d)。この
偏差が零になる場合は処理を終了して次のコンパクショ
ンの処理を続行する。一方、この偏差が零でない場合は
、ステップ@eに移行し、回路ブロック5゜8のX座標
が回路ブロック6のX座標に合致するように回路ブロッ
ク5,8を移動する。尚、Y座標についても上記X軸と
同様に処理する。
判定される。ステップ■bでは、CPUは回路ブロック
5,6.8の中心のX座標を順次読み込み、ステップ■
Cにおいて、回路ブロック6の中心のX座礁と回路ブロ
ック5,8の中心のX座標との偏差を演算し、この偏差
が零であるか否かが判定される(ステップ■d)。この
偏差が零になる場合は処理を終了して次のコンパクショ
ンの処理を続行する。一方、この偏差が零でない場合は
、ステップ@eに移行し、回路ブロック5゜8のX座標
が回路ブロック6のX座標に合致するように回路ブロッ
ク5,8を移動する。尚、Y座標についても上記X軸と
同様に処理する。
この結果、第12〜14図に示されるように回路ブロッ
ク5,8.9が拘束された一体として移動した配置が得
られる。
ク5,8.9が拘束された一体として移動した配置が得
られる。
次に、本実施例においてもコンパクション終了後の調整
配置を行う。この処理においても、前記ステップ[相]
〜■の処理が実行されて、コンパクション終了後の回路
ブロック配置の調整を実行する。
配置を行う。この処理においても、前記ステップ[相]
〜■の処理が実行されて、コンパクション終了後の回路
ブロック配置の調整を実行する。
この調整配置後の配置は、第16図に示すようになる。
ところで、この配置においては、回路ブロックが配置さ
れない空白部170,171が存在する。この空白部は
存在しない方が総配線長を短くする上で好ましい。この
空白部は回路ブロック5,6.8を拘束してレイアウト
設計をしたことにより発生するものである。そこで、こ
の実施例では、係る空白部を無くすために、調整配置後
の回路ブロックを再調整する。このための手順を第17
図に示す。
れない空白部170,171が存在する。この空白部は
存在しない方が総配線長を短くする上で好ましい。この
空白部は回路ブロック5,6.8を拘束してレイアウト
設計をしたことにより発生するものである。そこで、こ
の実施例では、係る空白部を無くすために、調整配置後
の回路ブロックを再調整する。このための手順を第17
図に示す。
前記ステップ■処理終了後、CPUは、第16図に示さ
れる調整配置後の回路ブロックの位置データを読み込む
(ステップO)。次いで、ステップOにおいて、空白部
が存在するか否かの判定が実行される。この判定は、例
えば次のようにすることができる。
れる調整配置後の回路ブロックの位置データを読み込む
(ステップO)。次いで、ステップOにおいて、空白部
が存在するか否かの判定が実行される。この判定は、例
えば次のようにすることができる。
調整配置後の回路ブロックの位置データは、各単位格子
の中心座標と回路ブロックのナンバーを1対lに対応さ
せたデータとし、この内容をRAMに記憶する。そして
、後述の外接枠173空白部の内側に存在し、且つ回路
ブロックの番号の対応がない単位格子を空白部とする。
の中心座標と回路ブロックのナンバーを1対lに対応さ
せたデータとし、この内容をRAMに記憶する。そして
、後述の外接枠173空白部の内側に存在し、且つ回路
ブロックの番号の対応がない単位格子を空白部とする。
ステップ[相]では前記第16図に示すように、調整配
置後の画面に外接枠を表示する。この外接枠はX軸方向
及び/又はY軸方向に圧縮可能になっている。
置後の画面に外接枠を表示する。この外接枠はX軸方向
及び/又はY軸方向に圧縮可能になっている。
ステップ@では、拘束要求のあった回路ブロック5,6
.7の位置を固定して、ステップ[相]外接枠の圧縮を
行う。この時、外接枠のY軸方向への圧縮によっては、
いずれの回路ブロックとも移動しない。一方、外接枠の
X軸方向への圧縮により、回路ブロック4,7が移動し
て空白部170を埋め、回路ブロック12が移動して空
白部171を埋める。
.7の位置を固定して、ステップ[相]外接枠の圧縮を
行う。この時、外接枠のY軸方向への圧縮によっては、
いずれの回路ブロックとも移動しない。一方、外接枠の
X軸方向への圧縮により、回路ブロック4,7が移動し
て空白部170を埋め、回路ブロック12が移動して空
白部171を埋める。
そして、ステップOで空白部が存在するしないかが判定
され、空白部が存在しなくなるまで再調整の処理が続行
される。
され、空白部が存在しなくなるまで再調整の処理が続行
される。
空白部が存在しないと判定されたら、ステップ[相]に
おいて、この時の回路ブロックの配置を固定し、回路ブ
ロックの位置データをRAMに更新記憶する。この結果
、第18図に示されるように、空白部が存在しない再調
整後の回路ブロック配置が得られる。この配置によれば
、回路ブロックの複数を拘束してマクロ回路ブロックを
形成した場合でも、総配線長最小のレイアウト設計が可
能となる。
おいて、この時の回路ブロックの配置を固定し、回路ブ
ロックの位置データをRAMに更新記憶する。この結果
、第18図に示されるように、空白部が存在しない再調
整後の回路ブロック配置が得られる。この配置によれば
、回路ブロックの複数を拘束してマクロ回路ブロックを
形成した場合でも、総配線長最小のレイアウト設計が可
能となる。
次に請求項(2)記載の発明の第2の実施例について説
明する。
明する。
この実施例では、回路ブロック6.7,8.10を2行
×2列で拘束する。但し、前の実施例と異なり、回路ブ
ロック6.7,8.10を大円で表示する。このように
したのは、回路ブロック同士の接点近傍は、前記第3図
で示される反力が弱く、自由境界バランス、コンパクシ
ョンの際この部分に他の回路ブロックが侵入して回路ブ
ロックの拘束が破壊されることもある。よって、第19
図(1)で示される回路ブロック6.7,8.10の夫
々に(2)のように大円の形状を与える。この結果、回
路ブロック間にはオーバーラツプが生じて、他の回路ブ
ロックが侵入する隙間を無くすため、回路ブロックの拘
束が破壊されることなく、レイアウト設計を実行するこ
とができる。
×2列で拘束する。但し、前の実施例と異なり、回路ブ
ロック6.7,8.10を大円で表示する。このように
したのは、回路ブロック同士の接点近傍は、前記第3図
で示される反力が弱く、自由境界バランス、コンパクシ
ョンの際この部分に他の回路ブロックが侵入して回路ブ
ロックの拘束が破壊されることもある。よって、第19
図(1)で示される回路ブロック6.7,8.10の夫
々に(2)のように大円の形状を与える。この結果、回
路ブロック間にはオーバーラツプが生じて、他の回路ブ
ロックが侵入する隙間を無くすため、回路ブロックの拘
束が破壊されることなく、レイアウト設計を実行するこ
とができる。
そして、これらの回路ブロックについて前記各実施例と
同様に初期配置、自由境界バランス、コンパクション、
調整配置を実行する。第20図は自由境界バランス後の
配置図であり、第21図及び第22図はコンパクション
終了後の配置図である。本実施例における初期配置、自
由境界バランス、コンパクション処理は前記実施例と同
様に実行される。そして、調整配置は前記第15図で示
した処理と同様の方法により行われる。調整配置後の回
路ブロックを第23図に示す。
同様に初期配置、自由境界バランス、コンパクション、
調整配置を実行する。第20図は自由境界バランス後の
配置図であり、第21図及び第22図はコンパクション
終了後の配置図である。本実施例における初期配置、自
由境界バランス、コンパクション処理は前記実施例と同
様に実行される。そして、調整配置は前記第15図で示
した処理と同様の方法により行われる。調整配置後の回
路ブロックを第23図に示す。
ところで、回路ブロック6.7,8.10が拘束された
状態でレイアウト設計がなされることから、調整配置後
では、回路ブロック4,12が一つの単位格子に対応し
、回路ブロックIO32も同様となる。即ち、回路ブロ
ックの重複が生ずる。
状態でレイアウト設計がなされることから、調整配置後
では、回路ブロック4,12が一つの単位格子に対応し
、回路ブロックIO32も同様となる。即ち、回路ブロ
ックの重複が生ずる。
そこで、前記ステップ■の処理が終了後、回路ブロック
の重複が存在するか否かが判定される。
の重複が存在するか否かが判定される。
この判定は、第1Q図に示す一つの回路ブロックに第2
2図における回路ブロックが対応するか否かで実行され
る。
2図における回路ブロックが対応するか否かで実行され
る。
回路ブロックの重複が存在すると判定される場合は、回
路ブロックの重複を除去するため、重複する回路ブロッ
ク位置に隣接する空白部に回路ブロックを移動する。本
実施例では、回路ブロック12を回路ブロック4から分
離して移動させ、回路ブロック2を回路ブロック10か
ら分離して移動させる。この時、移動される回路ブロッ
クと移動されない回路ブロックと区別することが必要で
あるが、これはコンパクション終了の際回路ブロック4
は回路ブロックIIに隣接していることから、回路ブロ
ック4に優先度を与えることにより区別が可能である。
路ブロックの重複を除去するため、重複する回路ブロッ
ク位置に隣接する空白部に回路ブロックを移動する。本
実施例では、回路ブロック12を回路ブロック4から分
離して移動させ、回路ブロック2を回路ブロック10か
ら分離して移動させる。この時、移動される回路ブロッ
クと移動されない回路ブロックと区別することが必要で
あるが、これはコンパクション終了の際回路ブロック4
は回路ブロックIIに隣接していることから、回路ブロ
ック4に優先度を与えることにより区別が可能である。
また、回路ブロック10は回路ブロック6.7.8と拘
束されていたことから、回路ブロック10に優先度を与
え回路ブロック2を回路ブロック10と区別して移動さ
せることができる。
束されていたことから、回路ブロック10に優先度を与
え回路ブロック2を回路ブロック10と区別して移動さ
せることができる。
この回路ブロックの移動は、配線長の最小化のため調整
配置後の回路ブロックの重心位置方向の空白単位格子に
移動させる。この結果、第24図に示すように、重複し
た回路ブロックが移動した配置を得ることができる。
配置後の回路ブロックの重心位置方向の空白単位格子に
移動させる。この結果、第24図に示すように、重複し
た回路ブロックが移動した配置を得ることができる。
この後、空白部を無くすため、前記第17図の処理と同
様に空白単位格子を埋めるための処理を行う。この結果
、最終的に重複回路ブロック及び空白単位格子が存在し
ないため、配線長が最小となる再調整配置のレイアウト
を第25図のように得ることができる。
様に空白単位格子を埋めるための処理を行う。この結果
、最終的に重複回路ブロック及び空白単位格子が存在し
ないため、配線長が最小となる再調整配置のレイアウト
を第25図のように得ることができる。
本実施例では、ばねモデルとして第3図に記載のものを
用いたがこれに限定されることなく、他の釣り合い方程
式による力のバランスをきることもできる。たとえば、
反力バランスとして第 図てはLの二次式の逆数の関係
(f =K ;j ’ a iJ2/L2)を用いたが
、三次、四次式の逆数の関係を用いることもでき、且つ
、定数K i jを適宜変更することができる。
用いたがこれに限定されることなく、他の釣り合い方程
式による力のバランスをきることもできる。たとえば、
反力バランスとして第 図てはLの二次式の逆数の関係
(f =K ;j ’ a iJ2/L2)を用いたが
、三次、四次式の逆数の関係を用いることもでき、且つ
、定数K i jを適宜変更することができる。
また、引力のバランスとしては、線形の式(f−Cij
(L”;i) )を用いたが、非線形の式を用いるこ
ともでき、且つ、Cijを回路ブロック間の配線本数の
代わりに配線本数に応じて増加する変数と定義すること
もできる。
(L”;i) )を用いたが、非線形の式を用いるこ
ともでき、且つ、Cijを回路ブロック間の配線本数の
代わりに配線本数に応じて増加する変数と定義すること
もできる。
また、本実施例は回路ブロックの初期配置以降の処理に
おいて、回路ブロックの大きさを円で表現したが、これ
に限定されることなく回路ブロックの実際の形状である
矩形にして配置設計を初期配置から実行することも可能
である。
おいて、回路ブロックの大きさを円で表現したが、これ
に限定されることなく回路ブロックの実際の形状である
矩形にして配置設計を初期配置から実行することも可能
である。
また、コンパクション終了後の調整配置後に円形で現さ
れた回路ブロックを矩形に直しているが、コンパクショ
ン終了後調整配置前に矩形に直してこの後調整配置を実
行することも可能である。
れた回路ブロックを矩形に直しているが、コンパクショ
ン終了後調整配置前に矩形に直してこの後調整配置を実
行することも可能である。
さらに、各回路ブロックとIOパッドとの間に配線数を
設定して前記初期配置等の配置処理を実行することも可
能である。
設定して前記初期配置等の配置処理を実行することも可
能である。
尚、前記請求項(2)の実施例では初期配置、自由境界
バランス、コンパクション、調整配置における回路ブロ
ックを拘束したが、少な(とも自由境界バランスの以降
にマクロ回路ブロック内の回路ブロックを拘束すれば良
い。
バランス、コンパクション、調整配置における回路ブロ
ックを拘束したが、少な(とも自由境界バランスの以降
にマクロ回路ブロック内の回路ブロックを拘束すれば良
い。
また、本実施例では、PLDに存在する一部の複数の回
路ブロックをマクロ回路ブロックとしたが、全部の回路
プコックを何組かのマクロ回路ブロックとし、このマク
ロ回路ブロックを拘束した状態で他のマクロ回路ブロッ
クとの間でレイアウト設計を実行することも可能である
。
路ブロックをマクロ回路ブロックとしたが、全部の回路
プコックを何組かのマクロ回路ブロックとし、このマク
ロ回路ブロックを拘束した状態で他のマクロ回路ブロッ
クとの間でレイアウト設計を実行することも可能である
。
前記多点拘束の実施例では回路ブロックを円で表示して
説明したが、回路ブロックを矩形で表現し、この矩形の
状態の回路ブロックを拘束する場合でも本発明を適用で
きることは勿論である。この場合、拘束された矩形のマ
クロ回路ブロックの大きさを拘束されない回路ブロック
の整数倍に必ずしもする必要がなく、拘束された矩形の
マクロ回路ブロックの大きさを適宜選択することも可能
である。
説明したが、回路ブロックを矩形で表現し、この矩形の
状態の回路ブロックを拘束する場合でも本発明を適用で
きることは勿論である。この場合、拘束された矩形のマ
クロ回路ブロックの大きさを拘束されない回路ブロック
の整数倍に必ずしもする必要がなく、拘束された矩形の
マクロ回路ブロックの大きさを適宜選択することも可能
である。
また、以上の実施例では本発明がPLDに適用できる場
合について説明したが、これに限定されず、ゲートアレ
イ、SOG、スタンダードセル等の基本セル(単位セル
の複数からなる)の配置設計の問題にも本発明を適用で
きるのは勿論である。
合について説明したが、これに限定されず、ゲートアレ
イ、SOG、スタンダードセル等の基本セル(単位セル
の複数からなる)の配置設計の問題にも本発明を適用で
きるのは勿論である。
[発明の効果]
以上説明したように、請求項(1)記載の発明によれば
、総配線長をより短くする回路ブロックのレイアウトを
、短時間で設計することのできる回路ブロック配置の設
計装置を提供することができる。
、総配線長をより短くする回路ブロックのレイアウトを
、短時間で設計することのできる回路ブロック配置の設
計装置を提供することができる。
そして請求項(2)記載の発明によれば、回路ブロック
の複数からなる大きさの異なる各種サイズのマクロ回路
ブロックを形成する場合でも総配線長をより短く、且つ
レイアウト設計を短時間で行える回路ブロック配置の設
計装置を提供することができる。
の複数からなる大きさの異なる各種サイズのマクロ回路
ブロックを形成する場合でも総配線長をより短く、且つ
レイアウト設計を短時間で行える回路ブロック配置の設
計装置を提供することができる。
第1図は本発明の基本構成図、第2図はPLDの概略構
成図、第3図は質点径のばねモデル図、第4図は本発明
を実現する概略システム構成図、第5図は請求項(1)
記載の発明の詳細な説明するフローチャート、第6図な
いし第9図、第11図は請求項(1)記載の発明により
配置処理された回路ブロックの配置図、第10図は規則
的な格子状に配置された回路ブロックの配置図、第12
図ないし第14図、第16図は請求項(2)記載の発明
の第2の実施例により配置処理された回路ブロックの配
置図、第15図は回路ブロックの拘束処理を実施可能な
動作を示すフローチャート、第17図は、回路ブロック
の調整配置後の空白部を埋める手順を示すフローチャー
ト、第18図は第17図の処理により得られた再調整配
置後の回路ブロックの配置図、第19図は2行×2列の
拘束の概念を示す説明図、第20図ないし第25図は請
求項(2)記載の発明の第2の実施例により配置処理さ
れた回路ブロックの配置図である。 図中、■は回路ブロックの入出力ピン、2は回路フロッ
ク、20はシステムバス、21はテータベース、22は
ROM、23はCPU、24は操作装置、25はRAM
、26は表示装置である。 第1図 (1) (2) 第9図 第11図 第20図 第21図
成図、第3図は質点径のばねモデル図、第4図は本発明
を実現する概略システム構成図、第5図は請求項(1)
記載の発明の詳細な説明するフローチャート、第6図な
いし第9図、第11図は請求項(1)記載の発明により
配置処理された回路ブロックの配置図、第10図は規則
的な格子状に配置された回路ブロックの配置図、第12
図ないし第14図、第16図は請求項(2)記載の発明
の第2の実施例により配置処理された回路ブロックの配
置図、第15図は回路ブロックの拘束処理を実施可能な
動作を示すフローチャート、第17図は、回路ブロック
の調整配置後の空白部を埋める手順を示すフローチャー
ト、第18図は第17図の処理により得られた再調整配
置後の回路ブロックの配置図、第19図は2行×2列の
拘束の概念を示す説明図、第20図ないし第25図は請
求項(2)記載の発明の第2の実施例により配置処理さ
れた回路ブロックの配置図である。 図中、■は回路ブロックの入出力ピン、2は回路フロッ
ク、20はシステムバス、21はテータベース、22は
ROM、23はCPU、24は操作装置、25はRAM
、26は表示装置である。 第1図 (1) (2) 第9図 第11図 第20図 第21図
Claims (2)
- (1)集積回路における回路ブロックの配置を設計でき
る装置において、 回路ブロック間の配線数に応じた引力を有する質点系の
ばねモデルを用いて前記回路ブロックを初期配置する手
段と、 回路ブロックの重なり量に応じた反力を有するばねモデ
ルを用いて、前記初期配置された回路ブロックの重なり
が無くなるように、該回路ブロックを再配置する手段と
、 再配置後の回路ブロックの配置が規則的になるように調
整配置する手段と、 を有してなることを特徴とする集積回路における回路ブ
ロック配置の設計装置。 - (2)集積回路に存在する回路ブロックのうち全部又は
一部を、複数の回路ブロックが集合化したマクロ回路ブ
ロックとするマクロ回路ブロック形成手段と、該マクロ
回路ブロック内の回路ブロックを一体化して前記配置処
理を実行する一体化配置処理実行手段と、を有してなる
ことを特徴とする請求項(1)記載の集積回路における
回路ブロック配置の設計装置。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1261731A JP2537280B2 (ja) | 1989-10-06 | 1989-10-06 | 集積回路における回路ブロック配置の設計装置 |
US07/543,549 US5309371A (en) | 1989-06-28 | 1990-06-26 | Method of and apparatus for designing circuit block layout in integrated circuit |
CA002019903A CA2019903A1 (en) | 1989-06-28 | 1990-06-27 | Method of and apparatus for designing circuit block layout in integrated circuit |
KR1019900009625A KR960006106B1 (ko) | 1989-06-28 | 1990-06-28 | 집적회로에 있어서의 회로블록 배치설계 방법 및 장치 |
EP19900307084 EP0405975A3 (en) | 1989-06-28 | 1990-06-28 | Method of and apparatus for designing circuit block layout in integrated circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1261731A JP2537280B2 (ja) | 1989-10-06 | 1989-10-06 | 集積回路における回路ブロック配置の設計装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH03124046A true JPH03124046A (ja) | 1991-05-27 |
JP2537280B2 JP2537280B2 (ja) | 1996-09-25 |
Family
ID=17365929
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1261731A Expired - Fee Related JP2537280B2 (ja) | 1989-06-28 | 1989-10-06 | 集積回路における回路ブロック配置の設計装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2537280B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6560505B1 (en) | 1999-03-12 | 2003-05-06 | Nec Toppan Circuit Solutions, Inc. | Automatic parts placement system, method, and medium |
JP2010534375A (ja) * | 2007-07-23 | 2010-11-04 | シノプシス インコーポレイテッド | アーキテクチャー上の物理的合成 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0341759A (ja) * | 1989-07-10 | 1991-02-22 | Nippon Telegr & Teleph Corp <Ntt> | 素子配置方法 |
-
1989
- 1989-10-06 JP JP1261731A patent/JP2537280B2/ja not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0341759A (ja) * | 1989-07-10 | 1991-02-22 | Nippon Telegr & Teleph Corp <Ntt> | 素子配置方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6560505B1 (en) | 1999-03-12 | 2003-05-06 | Nec Toppan Circuit Solutions, Inc. | Automatic parts placement system, method, and medium |
JP2010534375A (ja) * | 2007-07-23 | 2010-11-04 | シノプシス インコーポレイテッド | アーキテクチャー上の物理的合成 |
Also Published As
Publication number | Publication date |
---|---|
JP2537280B2 (ja) | 1996-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR960006106B1 (ko) | 집적회로에 있어서의 회로블록 배치설계 방법 및 장치 | |
US6378115B1 (en) | LSI manufacturing method and recording medium for storing layout software | |
US5493510A (en) | Method of and apparatus for placing blocks in semiconductor integrated circuit | |
CN104239596A (zh) | 双重图案化布局设计方法 | |
JP4274814B2 (ja) | 半導体集積回路の設計方法、設計装置、セルライブラリのデータ構造および自動レイアウトプログラム | |
US7962884B2 (en) | Floorplanning apparatus and computer readable recording medium storing floorplanning program | |
JPH10255079A (ja) | 曲面上メッシュデータの作成方法 | |
JPH03124046A (ja) | 集積回路における回路ブロック配置の設計装置 | |
JPH0714927A (ja) | 自動配置設計方法および自動配置設計装置 | |
JP2657028B2 (ja) | 電気回路図表示装置 | |
US20020026625A1 (en) | Method for dividing a terminal in automatic interconnect routing processing, a computer program for implementing same, and an automatic interconnect routing processor using the method | |
JPH03108739A (ja) | 高集積回路のブロツク配置配線方法 | |
JP3063702B2 (ja) | 対話型フロアプラン装置 | |
JPH03172891A (ja) | マルチウィンドウ制御方式 | |
JP2002007497A (ja) | 半導体装置設計支援装置 | |
JPH09232436A (ja) | 論理合成方法及び装置並びに半導体集積回路設計方法 | |
JPS63181349A (ja) | Lsiのレイアウト設計装置 | |
JPH02178775A (ja) | 半導体集積回路のレイアウト支援装置 | |
JPH0388071A (ja) | 設計装置 | |
JP2757851B2 (ja) | 半導体集積回路のフロアプラン演算装置 | |
JPH0877224A (ja) | 集積回路の設計方法 | |
JPH0714923A (ja) | 自動レイアウト方法及び自動レイアウト装置 | |
JPS63232445A (ja) | 半導体集積回路のセル自動配置方法 | |
JPH03191346A (ja) | 半導体のマスクデータ変換処理装置 | |
JPH02183554A (ja) | Icパターン設計装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |