JPS6145364A - 自動レイアウト方法 - Google Patents
自動レイアウト方法Info
- Publication number
- JPS6145364A JPS6145364A JP59166350A JP16635084A JPS6145364A JP S6145364 A JPS6145364 A JP S6145364A JP 59166350 A JP59166350 A JP 59166350A JP 16635084 A JP16635084 A JP 16635084A JP S6145364 A JPS6145364 A JP S6145364A
- Authority
- JP
- Japan
- Prior art keywords
- layout
- block
- pattern
- shape
- program
- 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
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[発明の利用分野〕
本発明は電子回路等の自動レイアウトシステムに係り、
特に階層記述された大規模回路の自動レイアウト方式に
関する。
特に階層記述された大規模回路の自動レイアウト方式に
関する。
従来のデジタル系の電子回路自動レイアウトシステム等
においては、あらかじめ形状の確定した配置物を相互の
間の配線距離が短かくなるように配置し、それらの間の
自動配線をおこなっている。
においては、あらかじめ形状の確定した配置物を相互の
間の配線距離が短かくなるように配置し、それらの間の
自動配線をおこなっている。
配置物が多くなった場合、それらの配置に関する可能な
代替案の数はきわめて多くなるため、計算機を用いても
良好な計画を得ることがむつがしい。
代替案の数はきわめて多くなるため、計算機を用いても
良好な計画を得ることがむつがしい。
なお、この種の従来技術については、例えばJIRI
5OUKUP、”C1rcuit Layout”、P
roceedings ofthe IIE’、Vol
、 69 e Na 10 e 0ctober 19
81゜等がある。
5OUKUP、”C1rcuit Layout”、P
roceedings ofthe IIE’、Vol
、 69 e Na 10 e 0ctober 19
81゜等がある。
本発明の目的は、大規模かつ配置物同志の間に複雑な制
約の存在するレイアウト問題を解決するためのひとつの
方式を実現する自動レイアラ・ト方式を提供することで
ある。
約の存在するレイアウト問題を解決するためのひとつの
方式を実現する自動レイアラ・ト方式を提供することで
ある。
本発明レイアウト方式においては、あらかじめ物体の配
置・配線状況を記憶した可変構造のレイアウトパターン
を用意しておき、レイアウト対象回路を、このパターン
の中に埋め込むという操作をおこなうことにより、階層
構造を持った回路等のレイアウト計画を作成する。
置・配線状況を記憶した可変構造のレイアウトパターン
を用意しておき、レイアウト対象回路を、このパターン
の中に埋め込むという操作をおこなうことにより、階層
構造を持った回路等のレイアウト計画を作成する。
パターンを使用するため、そうでない場合に比較して、
レイアウト計画として許容できないような代替案を生成
・評価することを防止でき、効率的に、大規模・複雑な
条件を持つ回路のレイアウトを作成することができる。
レイアウト計画として許容できないような代替案を生成
・評価することを防止でき、効率的に、大規模・複雑な
条件を持つ回路のレイアウトを作成することができる。
以下、本発明の一実施例を第1図以下を用いて説明する
。
。
第1図は、レイアウト対象を概念的に描いたものである
。100は名称がdoで1面積予想値が750の配置対
象(ブロック)を表わしている。
。100は名称がdoで1面積予想値が750の配置対
象(ブロック)を表わしている。
このブロックdOの中には3個のサブブロックdol
(110)、do2 (120)= do3(130)
が存在している。サブブロック間には結線が存在してお
り、dolとdo2の間には5単位の結線がある(13
2)、do2とdo3の間には3単位の結線がある。
(110)、do2 (120)= do3(130)
が存在している。サブブロック間には結線が存在してお
り、dolとdo2の間には5単位の結線がある(13
2)、do2とdo3の間には3単位の結線がある。
ブロックdol (140)等は各々階層構造を持って
おり例えば予想面積450であり、ブロックdoll
(142)等から成り、ブロック間に結線が存在する。
おり例えば予想面積450であり、ブロックdoll
(142)等から成り、ブロック間に結線が存在する。
ブロックdoll (150)は予想面積150であり
、ブロックdolll、dol12.d。
、ブロックdolll、dol12.d。
113から成っている。
ブロックdo1.11(160)は、要素としてブロッ
クb15 (162)、b16 (164)等から成っ
ており、ブロックb15 (170)は図示のように4
×6の確定サイズを持つ基本回路である0本実施例では
、第1図に示す階層記述された回路をレイアウトする方
式を説明する。説明を簡単化するために1本実施例では
配置機能のみを取りあげ、配線機能については略す。
クb15 (162)、b16 (164)等から成っ
ており、ブロックb15 (170)は図示のように4
×6の確定サイズを持つ基本回路である0本実施例では
、第1図に示す階層記述された回路をレイアウトする方
式を説明する。説明を簡単化するために1本実施例では
配置機能のみを取りあげ、配線機能については略す。
第2図(a)は本発明を実施する際のハードウェア環境
を示す図である。結線データの入力はキーボード12.
ライトペン13、タブレット14などにより行われる。
を示す図である。結線データの入力はキーボード12.
ライトペン13、タブレット14などにより行われる。
知識ベース、データベース等はメモリ装置16.磁気デ
ィスクファイル15などにより実現される。レイアウト
結果や、中間結果は出力装置であるディスプレイ171
作図機18、プリンタ19などにより実現される。
ィスクファイル15などにより実現される。レイアウト
結果や、中間結果は出力装置であるディスプレイ171
作図機18、プリンタ19などにより実現される。
第2図(b)は、本発明のソフトウェア機能植成図であ
る。計算機システム200には、第1図に示した階層系
のデータファイル210、階層レイアウトプログラム2
20.パターンライブラリ230、レイアウト結果の出
力データファイルが接続されている。
る。計算機システム200には、第1図に示した階層系
のデータファイル210、階層レイアウトプログラム2
20.パターンライブラリ230、レイアウト結果の出
力データファイルが接続されている。
第3図はレイアウト処理の流れを示すフローチャートで
ある。
ある。
先ず、レイアウト対象ブロック名(通常は第1図でdo
に相当する最上位階層ブロック名)と、絶対座標系での
対象ブロックのレイアウト目標形状を与える(300)
。
に相当する最上位階層ブロック名)と、絶対座標系での
対象ブロックのレイアウト目標形状を与える(300)
。
次に、当該ブロックの面積予想値及びサブブロック名称
、その他の情報を調べる(304.)。
、その他の情報を調べる(304.)。
次に、当該ブロックのレイアウト初期案を記憶しく30
2)、後の処理で良好なレイアウト案を選択するための
初期案とする。
2)、後の処理で良好なレイアウト案を選択するための
初期案とする。
次に、パターンライブラリをひとつ選択する(306)
。
。
次に選択したパターンに対して、サブブロックの割り当
て方をひとつ仮定し、この場合の当該ブロックの推定形
状を計算する(308)。
て方をひとつ仮定し、この場合の当該ブロックの推定形
状を計算する(308)。
次に選択したパターンの回転角を仮定する(310)。
次にパターン回転後の当該ブロックの絶対座標系での推
定形状を計算する(312)。
定形状を計算する(312)。
次に当該ブロックの推定形状が、目標形状と合致するま
で試行鎖誤し、結果を記憶する(314)。
で試行鎖誤し、結果を記憶する(314)。
次に316に示すように当該ブロックのサブブロック全
体についてそれぞれをレイアウトする(この部分は再帰
的に実施される。言い換えれば、第3図会体の処理機能
を繰り返し利用してシイアウトを実施する)。
体についてそれぞれをレイアウトする(この部分は再帰
的に実施される。言い換えれば、第3図会体の処理機能
を繰り返し利用してシイアウトを実施する)。
次に、各サブブロックのレイアウト結果の形状より、当
ブロックの形状を計算する(318)。
ブロックの形状を計算する(318)。
次に320に示すように当ブロックの目標形状と上記で
述めた実形状とを比較し、実形状が目標形状を満足する
まで当ブロックのレイアウトを試行鎖誤的に作成する。
述めた実形状とを比較し、実形状が目標形状を満足する
まで当ブロックのレイアウトを試行鎖誤的に作成する。
プログラムリスト(1)は第1図の系を記述したもので
あり、第2図210の内容である。本実施例では人工知
能言語として著名なPro、log言語を用いた説明を
おこなう。
あり、第2図210の内容である。本実施例では人工知
能言語として著名なPro、log言語を用いた説明を
おこなう。
400は、ブロックdoが、サブブロックd01゜do
2.do3とから成り、doの面積予想値が750であ
ることを示している。
2.do3とから成り、doの面積予想値が750であ
ることを示している。
410はdolが、サブブロックdoll。
dol2.dol3から成り、面積予想値が450であ
ることを示す。
ることを示す。
420.430はdoll、dolllについての同様
のデータである。
のデータである。
440は、最下位のブロックb15のデータであり1面
積が24.実形状が4X6であることを示している。
積が24.実形状が4X6であることを示している。
450.460は、同様にb16.b17についての形
状を示している。
状を示している。
プログラムリスト(1)
/−data of 1ayout 傘/b(dO
,[dol、dO2,d03]、750.−、j、
400b(dol、 [doll、d
ol2.do13] 、450.−、J、
410b(doll、[dolll、doll2.
d0113]、150.、j、 −420b(doll
l、[b15.b16.b17コ、59.−、−)、
430b(b
15.[コ、24.[4,6]、j、
44
0b(b16.[コ、15.[3,5]、−)、
450b(b17.[コ、15.[:3.5]、
−)、
460b(doll2.[b18.
blfll]、42.−、J。
,[dol、dO2,d03]、750.−、j、
400b(dol、 [doll、d
ol2.do13] 、450.−、J、
410b(doll、[dolll、doll2.
d0113]、150.、j、 −420b(doll
l、[b15.b16.b17コ、59.−、−)、
430b(b
15.[コ、24.[4,6]、j、
44
0b(b16.[コ、15.[3,5]、−)、
450b(b17.[コ、15.[:3.5]、
−)、
460b(doll2.[b18.
blfll]、42.−、J。
b(b18.[コ、24 、[4,6] 、−)。
b(b19.[1,18,[3,6]、j。
b(doll3. [b20.b21.b22]、54
.、j。
.、j。
b(b20.[]、18.[3,6]、j。
b(b21.[:]、18.[3,6]、j。
b(b22.[1,18,[3,6]、j。
b (dO12,[dO121、d0122] 、 1
68.、j。
68.、j。
b(dol21.[:dO1211,dol212コ、
98.−、−)。
98.−、−)。
b(dO1211,[b4.b5]、56.、j。
b (b4.[コ、24.[3,8]、−)。
b(b5.[1,32,[4,8コ、−)。
b(dO2,[dO21,dO22,d023]、12
0.−、j。
0.−、j。
b(dO21,[b23.b24.b25コ、40.、
j。
j。
b(b23.[コ、12.[3,4]、j。
b(b24.[コ、16.[4,4]、j。
b(b25.[コ、12.[3,4]、j。
b(dO22,[b26.b27.b28]、32.、
j。
j。
b(b26.[]、12.[3,4コ、−)。
b(b27.[1,8,[2,4コ、−)。
b(b28.[1,12,[3,4コ、−)。
b(dO23,[dO231,b32.b33]、48
.、j。
.、j。
b(dO231,[b29.b30.b31]、24.
−、j。
−、j。
b(b29.[コ、8.[2,4]、j。
b(b3o、[1,8,[z、41.、−)。
b(b31.[コ、8.[2,4]、−)。
b(b32.[1,12,[3,4]、j。
プログラムリスト(2)は第1図回路のブロック間の結
線データである。500I±、ブロックdo21とdo
23の間に3本の結線力1存在していることを示し、5
10はdO22とdO23の間に3本の結線が存在して
いることを示してを)る。
線データである。500I±、ブロックdo21とdo
23の間に3本の結線力1存在していることを示し、5
10はdO22とdO23の間に3本の結線が存在して
いることを示してを)る。
プログラムリスト(2)
c(b26.b27,2)。
c(b27.b28,2)。
c(dO231,b32,2)。
c(dO231,b33,2)。
c(b32.b33,1)。
c(b29.b30,1)。
c(b30.b31,1)。
c(dO31,dO32,1)。
c(dO31,dO33,4)。
c(dO32,dO33,2) −
c(b41.b42,2)。
c(b42.b43,1)。
c(do321.b332,1)。
c(b46.b47,1)。
c(do332.do333,3)。
c(b34.b35,2)。
c(b36.b37,1)−
c(b37.b38,2)。
c(b39.b40,1)。
プログラムリスト(3)は第2図220の階層レイアウ
トプログラムである。600はLayoutという名称
のプログラムの頭部である(記号ニーより左側は頭部、
右は本体部とよばれる)。本プログラムの名称は1ay
outであり、第1変数BLOCKはレイアラ、ト対象
ブロック、第2変数FLOOにはBLOCKで指定する
ブロックをレイアウトする際のパターンの名称を指示し
、第3変数ROTATIONはパターンの配置角度、第
4変数[:GX、GY]はレイアウトするブロックの配
置形状目標値、第5変数[RX、RY]は実形状を表わ
す。
トプログラムである。600はLayoutという名称
のプログラムの頭部である(記号ニーより左側は頭部、
右は本体部とよばれる)。本プログラムの名称は1ay
outであり、第1変数BLOCKはレイアラ、ト対象
ブロック、第2変数FLOOにはBLOCKで指定する
ブロックをレイアウトする際のパターンの名称を指示し
、第3変数ROTATIONはパターンの配置角度、第
4変数[:GX、GY]はレイアウトするブロックの配
置形状目標値、第5変数[RX、RY]は実形状を表わ
す。
610は第3図302に対応し、配置物間の配線長や、
配置形状の目標とのギャップがきわめて大きい悪いレイ
アウト案を初期記憶する。
配置形状の目標とのギャップがきわめて大きい悪いレイ
アウト案を初期記憶する。
620は第3図304に対応し、第4図中から変数BL
OCKの指示するブロックのサブブロックや面積予想値
を取り出す、630は第3図中の306〜320に対応
するものであり、パターンを用いてレイアウトをおこな
い、目標形状[GX、GYIを満たす、実形状[RX、
RYEを持つレイアウトを作成する。
OCKの指示するブロックのサブブロックや面積予想値
を取り出す、630は第3図中の306〜320に対応
するものであり、パターンを用いてレイアウトをおこな
い、目標形状[GX、GYIを満たす、実形状[RX、
RYEを持つレイアウトを作成する。
640は得たレイアウトを出力表示する(第2図240
に書き出す)。
に書き出す)。
650は、第3図300の具体例を示すものであり、ブ
ロックdOを目標形状[25,301のもとてレイアウ
トすることを指示している。
ロックdOを目標形状[25,301のもとてレイアウ
トすることを指示している。
プログラムリスト(3)
/傘program拳/
1ayout([1LOCK、FLOOR,ROTAT
ION、[GX、GYI、[RX、RYE)ニー −
600assertl(floorplan(−、BL
OCK、−+−y−+−t−*−tlinelengt
h(9999)、5hapeHap−valua(99
99)))、 −610b (BLOCK 、5UBB
LOCK 、AREA 、RDZM 、−)、
620floor(FLOOI+、[1LOC
K、ROTATION、SU[l[3LOCK。
ION、[GX、GYI、[RX、RYE)ニー −
600assertl(floorplan(−、BL
OCK、−+−y−+−t−*−tlinelengt
h(9999)、5hapeHap−valua(99
99)))、 −610b (BLOCK 、5UBB
LOCK 、AREA 、RDZM 、−)、
620floor(FLOOI+、[1LOC
K、ROTATION、SU[l[3LOCK。
[GX、GYI、[RX、IIYI、GDZM、RDZ
M 630write (fl
oor (FLOOR、BLOCK 、ROTATIO
N 、5UBBLOCK 。
M 630write (fl
oor (FLOOR、BLOCK 、ROTATIO
N 、5UBBLOCK 。
[GX、GYI、[RX、RYE、GDZM、RDZM
640? −1ayout
(do、FLOOR、ROTATION、 [25,3
01,[RX、RYE)、 −650第3図306〜3
20はライブラリパターンへの回路の割り当て処理であ
る。これを説明する前に、第4図でレイアウトパターン
の説明をおこなう。
640? −1ayout
(do、FLOOR、ROTATION、 [25,3
01,[RX、RYE)、 −650第3図306〜3
20はライブラリパターンへの回路の割り当て処理であ
る。これを説明する前に、第4図でレイアウトパターン
の説明をおこなう。
700は、プログラムリスト(1)のステップ440の
b15のように、サブブロックを持たないブロックのレ
イアウトパターンであり、横X、縦Yの長方形状である
。ここでX、Yは未知数である。
b15のように、サブブロックを持たないブロックのレ
イアウトパターンであり、横X、縦Yの長方形状である
。ここでX、Yは未知数である。
710は3個のサブブロックからなるブロックをレイア
ウトするためのパターンであり、Bl。
ウトするためのパターンであり、Bl。
B2.B3は各々の部々に割り当てたブロックの名称を
記憶する変数、X11〜Y31は形状を表わす変数であ
る。
記憶する変数、X11〜Y31は形状を表わす変数であ
る。
720は2個のサブブロックを持つブロックをレイアウ
トするためのパターン、730は3個のサブブロックを
持つブロックをレイアウトするための710と別のパタ
ーンである。
トするためのパターン、730は3個のサブブロックを
持つブロックをレイアウトするための710と別のパタ
ーンである。
レイアウトにあたっては、これらのパターンの中から適
当なものを選択し、レイアウト対象回路をこのパターン
に埋め込み、例えば710のパターンでは形状変数Xl
l、Yllなどについて各サブブロックの面積予想値等
を考慮して目標値を定め、この目標値のもとに各々のサ
ブブロックをレイアウトする(再帰処理)。
当なものを選択し、レイアウト対象回路をこのパターン
に埋め込み、例えば710のパターンでは形状変数Xl
l、Yllなどについて各サブブロックの面積予想値等
を考慮して目標値を定め、この目標値のもとに各々のサ
ブブロックをレイアウトする(再帰処理)。
第5図は絶対空間に対するパターンの回転角を示すもの
であり、800は第4図710のパターンを角度Oでレ
イアウトしたもの、850は角度90”でレイアウトし
たものである。角度自身もレイアウト計画の対象となる
。
であり、800は第4図710のパターンを角度Oでレ
イアウトしたもの、850は角度90”でレイアウトし
たものである。角度自身もレイアウト計画の対象となる
。
プログラムリスト(4)〜(7)は、第2図230の内
容例であり第4図700〜730のパターンに対してレ
イアウトを作成するものである。
容例であり第4図700〜730のパターンに対してレ
イアウトを作成するものである。
プログラムリスト(4)のステップ900はプログラム
の頭部であり、パターン名称floor O、レイアウ
ト対象ブロックを示す変数BLOCK 、パターン回転
角を示す変数ROTATION、サブブロックは空([
]で示している)、絶対座標系での目標形状[GX、G
YI、同レイアウト実形状[RX。
の頭部であり、パターン名称floor O、レイアウ
ト対象ブロックを示す変数BLOCK 、パターン回転
角を示す変数ROTATION、サブブロックは空([
]で示している)、絶対座標系での目標形状[GX、G
YI、同レイアウト実形状[RX。
RYE、パターン実形状[RXll、RYII]等を持
っている。
っている。
910で、先ず回転角を求め、920ではパターン実形
状RXII、RYIIを回転角に応じて修正して絶対座
標系でのレイアウト実形状RX。
状RXII、RYIIを回転角に応じて修正して絶対座
標系でのレイアウト実形状RX。
RYを求める。
930では目標形状GX、GYと実形状RX。
RYをくらべて、ソノ差を5)IAPEGAPVALU
Eに入れる。
Eに入れる。
940では、当該ブロックに関して、過去に作成して記
憶しているレイアウト計画の目標形状と実形状のギャッ
プSG■を調べる。
憶しているレイアウト計画の目標形状と実形状のギャッ
プSG■を調べる。
950で現在作成中の計画のものと比較し、改善されて
おれば過去の記憶を消去しく960)。
おれば過去の記憶を消去しく960)。
今回の試行結果を新たに記憶する。
980では、目標形状GX、GYと実形状RX。
RYを比較して結果が良か否かを判定し、良の場合はプ
ログラム900の処理を終え、否の場合逆戻りして試行
をくりかえす。
ログラム900の処理を終え、否の場合逆戻りして試行
をくりかえす。
910〜980の処理は、第3図306〜320の部分
と対応しているが1本パターンは構造が簡単なため第3
図中の一部の処理は不要となるため、プログラムリスト
(4)中に存在しないものもある。
と対応しているが1本パターンは構造が簡単なため第3
図中の一部の処理は不要となるため、プログラムリスト
(4)中に存在しないものもある。
プログラムリスト(4)
/中florpLan −−−floorO*/f1o
or(flooro、BLOCK、ROTATION、
[コ、[GX、GY]。
or(flooro、BLOCK、ROTATION、
[コ、[GX、GY]。
[RX、RYI、[GXll、GYIII、[RXll
、RYlll) ニー −900rotation (
ROTATION) 、 910
change(RXII、RYII、ROTATION
、RX、RY −920shape−gap−valu
e (GX、GY、RX、RY、5)IAPEGAPVAL
UE)、 −930floorplan(−2BLOC
K+−+−p−+−t−+−y−+shapegap−
value(SGV) 940St
(APEGAPVALU < SGV、
950retractl
(floorplan(−、BLOCに、−、−、−
、−、−、−、−、−))、 −960assertl
(floorplan(floorO,[1LOCK、
ll0TATION。
、RYlll) ニー −900rotation (
ROTATION) 、 910
change(RXII、RYII、ROTATION
、RX、RY −920shape−gap−valu
e (GX、GY、RX、RY、5)IAPEGAPVAL
UE)、 −930floorplan(−2BLOC
K+−+−p−+−t−+−y−+shapegap−
value(SGV) 940St
(APEGAPVALU < SGV、
950retractl
(floorplan(−、BLOCに、−、−、−
、−、−、−、−、−))、 −960assertl
(floorplan(floorO,[1LOCK、
ll0TATION。
[]、[GX、GYI、[RX、RYI、[GXll、
GYIII。
GYIII。
[RXll、RYlll、−、shapegap−va
lue(SIIAPEGAPVALU) )) 、
970shape ok(G
X、GY、RX、RY)、 9
80プログラムリスト(5)は第4図710のパターン
に対応している。
lue(SIIAPEGAPVALU) )) 、
970shape ok(G
X、GY、RX、RY)、 9
80プログラムリスト(5)は第4図710のパターン
に対応している。
1000はプログラムの頭部であり、プログラムリスト
(3)の630とのマツチングによって、プログラムが
第3図306で選択される61010、1020は第3
図308に対応する。
(3)の630とのマツチングによって、プログラムが
第3図306で選択される61010、1020は第3
図308に対応する。
1030は目標形状変数が全て正かどうかをたしかめて
いる。
いる。
1040は、 1010でのパターンへのサブブロック
割り当てに伴うブロック間総配線長の概算値の計算。
割り当てに伴うブロック間総配線長の概算値の計算。
1050は第3図310に対応する回転角の仮定。
1052は第3図312 、1054. LO56t、
314に対応する。
314に対応する。
1058〜1062はサブブロックBl、B2.B3の
レイアウト処理であり第3図316に対応する再帰処理
であり、プログラムリスト(4)のプログラムをよび出
している。
レイアウト処理であり第3図316に対応する再帰処理
であり、プログラムリスト(4)のプログラムをよび出
している。
1064は、第3図318.1066は320に対応す
る。
る。
プログラムリスト(5)
/申 florplan −−−floorl 傘
/floor(floorl 、BLOCK 、ROT
ATION 、[B1 、B2.B11 、[GX 、
GY] 。
/floor(floorl 、BLOCK 、ROT
ATION 、[B1 、B2.B11 、[GX 、
GY] 。
[RX、RYコ、[GXll、GYll、GX21.G
Y21.GX31.GY31]。
Y21.GX31.GY31]。
GXII > O,GYII > O,GX21 >
O,GY21 > 0゜GX31 > 0. GY31
> Q、 1030max(G
Y21−103O,GYY)*GGYY is GY1
1+GYY。
O,GY21 > 0゜GX31 > 0. GY31
> Q、 1030max(G
Y21−103O,GYY)*GGYY is GY1
1+GYY。
rotation(ROTATION) 、
1050cha1050chan、GG
YY、ll0TATION、GGXII、GGGYY)
、 −1052shape−gap−value (GX、GY、GGXII、GGGYY、5IIAPE
GAPVALUE)、 −1054プログラムリスト(
6) /傘 florplan −−−floor2 拳
/floor(floor2.BLOCK、ROTAT
ION、[B1.B11.[GX、GYI、[RX、R
Yコ。
1050cha1050chan、GG
YY、ll0TATION、GGXII、GGGYY)
、 −1052shape−gap−value (GX、GY、GGXII、GGGYY、5IIAPE
GAPVALUE)、 −1054プログラムリスト(
6) /傘 florplan −−−floor2 拳
/floor(floor2.BLOCK、ROTAT
ION、[B1.B11.[GX、GYI、[RX、R
Yコ。
[GXll、GYll、GX21.GY21]、[RX
ll、RYII、RX21゜change(GXII、
GGYY、RITATION、GGXII、GGGYY
)、 −1152shape、、gap−valua (GX、GY、GGXII、GGGYY、5HAPHG
APVALUE)、 −1154shape−ok(G
X、GY、RX、RY)、
1166プログラムリスト(6)は第4図720のパタ
ーンに対応するもので1100〜1166はリスト(5
)の説明内容と似ているので説明は略す。
ll、RYII、RX21゜change(GXII、
GGYY、RITATION、GGXII、GGGYY
)、 −1152shape、、gap−valua (GX、GY、GGXII、GGGYY、5HAPHG
APVALUE)、 −1154shape−ok(G
X、GY、RX、RY)、
1166プログラムリスト(6)は第4図720のパタ
ーンに対応するもので1100〜1166はリスト(5
)の説明内容と似ているので説明は略す。
プログラムリスト(7)は第4図730に対応しており
、1200〜1266も第4図と類似するので説明は略
す。
、1200〜1266も第4図と類似するので説明は略
す。
プログラムリスト(8)は、プログラムリスト(7)ま
でのプログラムで利用された関数の実体であり、 13
00は回転角としてO” 、90”が可能であること、
1310は、ベクトル(X、Y)が回転角により変更さ
れる法則の記述、 1320は最大値計算、 1330
は目標形状と実形状の間のギャップ値の計算、1340
は目標形状と実形状の近さの判定。
でのプログラムで利用された関数の実体であり、 13
00は回転角としてO” 、90”が可能であること、
1310は、ベクトル(X、Y)が回転角により変更さ
れる法則の記述、 1320は最大値計算、 1330
は目標形状と実形状の間のギャップ値の計算、1340
は目標形状と実形状の近さの判定。
1350、1360はブロック間の配線本数のリスト(
2)のデータからよみ出し、1370.1380はレイ
アウト結果の記憶と削除、139oは134o内で使用
するMAXの値が500であることを示している。
2)のデータからよみ出し、1370.1380はレイ
アウト結果の記憶と削除、139oは134o内で使用
するMAXの値が500であることを示している。
プログラムリスト(7)
/拳 florplan −−−floor3 串
/f1oor(f1oor3.[1LOCK、ROTA
TION、(:I]1.B2.B3コ、[GX、GYI
。
/f1oor(f1oor3.[1LOCK、ROTA
TION、(:I]1.B2.B3コ、[GX、GYI
。
[RX、RY]、 [GXll、GYll、GX12.
GYI2.GX13.GY13]。
GYI2.GX13.GY13]。
[RXll、RYll、RX12.RY12.RX13
.l1lY13])ニー −1200change(G
Xll、GYII、ROTATION、GGXII、G
GGYY)+ −1252shape−gap−val
ue (GX、GY、GGXII、GGGYY、5HAPEG
APVALUE)、 −1254プログラムリスト・(
8) assertl (X) : −assert (X)
t 1. 1370r
etractl(X);−retract(X)、!、
1380max−5hape−5
ap−value (500)、
1390第1図の回路をプログラムリスト
(1)、(2)のように表現してリスト(3)のプログ
ラムを、650の命令を与えて実行されると、リスト(
4)〜(8)のパターンライブラリがくり返し利用され
、結果として第2図240内に、レイアウト計画を得る
ことができる。
.l1lY13])ニー −1200change(G
Xll、GYII、ROTATION、GGXII、G
GGYY)+ −1252shape−gap−val
ue (GX、GY、GGXII、GGGYY、5HAPEG
APVALUE)、 −1254プログラムリスト・(
8) assertl (X) : −assert (X)
t 1. 1370r
etractl(X);−retract(X)、!、
1380max−5hape−5
ap−value (500)、
1390第1図の回路をプログラムリスト
(1)、(2)のように表現してリスト(3)のプログ
ラムを、650の命令を与えて実行されると、リスト(
4)〜(8)のパターンライブラリがくり返し利用され
、結果として第2図240内に、レイアウト計画を得る
ことができる。
第6図は得られるレイアウト計画を図示したものである
。全体がdoに相当し、dolは1500の部分、do
2が1510部、dol2が1520. b 1が15
30等に配置されている。
。全体がdoに相当し、dolは1500の部分、do
2が1510部、dol2が1520. b 1が15
30等に配置されている。
なお、1540はb41とb42の間の配線が2本ある
ことを示している。
ことを示している。
以上演算処理を大型計算機等で行なう場合の一実施例を
示したが、本発明の処理をブロック分割して夫々複数の
マイクロプロセッサによる場合、専用計算機を使用する
場合等の変形も可能である。
示したが、本発明の処理をブロック分割して夫々複数の
マイクロプロセッサによる場合、専用計算機を使用する
場合等の変形も可能である。
以上説明した通り本発明によれば、大規模で、配置物同
志の間に複雑な制約条件の存在するレイアウト問題を効
率的に解くことができる。
志の間に複雑な制約条件の存在するレイアウト問題を効
率的に解くことができる。
第1図は本発明の対象とする電子回路の階層構造説明の
ための概、念図、第2図(a)は本発明の一実施例のハ
ードウェア環境を示すブロック図、第2図(b)は、本
発明方式のソフトウェア機能構成図、第3図は1本発明
方式の処理流れ図、第4図。 第5図は本発明におけるレイアウトパターンの概念図、
第6図は本発明により得られるし・rアウト葛 l 図 第 2I¥1 (α)
ための概、念図、第2図(a)は本発明の一実施例のハ
ードウェア環境を示すブロック図、第2図(b)は、本
発明方式のソフトウェア機能構成図、第3図は1本発明
方式の処理流れ図、第4図。 第5図は本発明におけるレイアウトパターンの概念図、
第6図は本発明により得られるし・rアウト葛 l 図 第 2I¥1 (α)
Claims (1)
- 配置物と配置物同志の間の結線とからなる系を自動レイ
アウトする方式において、該配置物の配置場所と配置物
間の結線経路を保持した配置形状パターンを記憶し、該
パターンを使用してその上の配置場所や結線経路に、配
置対象とする系を割り当てることを特徴とする自動レイ
アウト方式。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP59166350A JPH067387B2 (ja) | 1984-08-10 | 1984-08-10 | 自動レイアウト方法 |
| EP85109414A EP0169576B1 (en) | 1984-07-27 | 1985-07-26 | Method and system of circuit pattern understanding and layout |
| US06/759,134 US4651284A (en) | 1984-07-27 | 1985-07-26 | Method and system of circuit pattern understanding and layout |
| DE8585109414T DE3580946D1 (de) | 1984-07-27 | 1985-07-26 | Verfahren und system zum verstehen und belegen von schaltungsmustern. |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP59166350A JPH067387B2 (ja) | 1984-08-10 | 1984-08-10 | 自動レイアウト方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS6145364A true JPS6145364A (ja) | 1986-03-05 |
| JPH067387B2 JPH067387B2 (ja) | 1994-01-26 |
Family
ID=15829747
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP59166350A Expired - Lifetime JPH067387B2 (ja) | 1984-07-27 | 1984-08-10 | 自動レイアウト方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH067387B2 (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS62239273A (ja) * | 1986-04-09 | 1987-10-20 | Hitachi Ltd | 階層的パターンレイアウト方法 |
| JPS6385975A (ja) * | 1986-09-30 | 1988-04-16 | Toshiba Corp | Cadシステム |
| JPH0414244A (ja) * | 1990-05-07 | 1992-01-20 | Agency Of Ind Science & Technol | 回路レイアウト方法およびシステム |
| US6237133B1 (en) | 1997-03-14 | 2001-05-22 | Nec Corporation | Mask pattern data creation method and system that are not subject to data stream data format limitations |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5587457A (en) * | 1978-12-26 | 1980-07-02 | Fujitsu Ltd | Lsi layout processing |
-
1984
- 1984-08-10 JP JP59166350A patent/JPH067387B2/ja not_active Expired - Lifetime
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5587457A (en) * | 1978-12-26 | 1980-07-02 | Fujitsu Ltd | Lsi layout processing |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS62239273A (ja) * | 1986-04-09 | 1987-10-20 | Hitachi Ltd | 階層的パターンレイアウト方法 |
| JPS6385975A (ja) * | 1986-09-30 | 1988-04-16 | Toshiba Corp | Cadシステム |
| JPH0414244A (ja) * | 1990-05-07 | 1992-01-20 | Agency Of Ind Science & Technol | 回路レイアウト方法およびシステム |
| US6237133B1 (en) | 1997-03-14 | 2001-05-22 | Nec Corporation | Mask pattern data creation method and system that are not subject to data stream data format limitations |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH067387B2 (ja) | 1994-01-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2915826B2 (ja) | 干渉チェック装置 | |
| CN104346830B (zh) | 在三维场景中设计连接第一点到第二点的路径 | |
| US5559718A (en) | System and method for model-based verification of local design rules | |
| US8380465B2 (en) | Method and apparatus for computer-aided design of three-dimensional objects to be fabricated | |
| US20090204930A1 (en) | Iphysical design system and method | |
| US6727898B2 (en) | Numerical analysis mesh generating method and apparatus | |
| US8984465B1 (en) | Methods, systems, and articles of manufacture for automatically assigning track patterns to regions for physical implementation of an electronic design | |
| JPH0658935B2 (ja) | 回路配列組込み方法 | |
| JP2013149286A (ja) | レイアウト設計データの増分分析 | |
| Zhou et al. | Automatic generation of vivid LEGO architectural sculptures | |
| US7076750B1 (en) | Method and apparatus for generating trenches for vias | |
| JPS6145364A (ja) | 自動レイアウト方法 | |
| US9104830B1 (en) | Methods, systems, and articles of manufacture for assigning track patterns to regions of an electronic design | |
| Levi | Seamless parametrization of spheres with controlled singularities | |
| US8296702B2 (en) | Rectilinear covering method with bounded number of rectangles for designing a VLSI chip | |
| Wang et al. | Resource allocation applied to flexible printed circuit routing based on constrained Delaunay triangulation | |
| US6862722B2 (en) | Extendable method for revising patterned microelectronic conductor layer layouts | |
| JPH11250122A (ja) | 干渉チェック装置 | |
| Elmendorf | KWIRE: A multiple-technology, user-reconfigurable wiring tool for VLSI | |
| Müller | Fast resource sharing in VLSI routing | |
| CN119336932B (zh) | 一种基于语义信息的批量房屋分户处理方法 | |
| Van Staden | A Physical Design verification framework for superconducting electronics | |
| Lupiani | Generating Materials with Geometry Nodes, Python, and Shader Nodes | |
| Mays | A brief survey of computer-aided integrated circuit layout | |
| Protsko et al. | Automatic generation of data flow diagrams from a requirements specification language |