JP3130173B2 - 素子配置方法 - Google Patents

素子配置方法

Info

Publication number
JP3130173B2
JP3130173B2 JP05116966A JP11696693A JP3130173B2 JP 3130173 B2 JP3130173 B2 JP 3130173B2 JP 05116966 A JP05116966 A JP 05116966A JP 11696693 A JP11696693 A JP 11696693A JP 3130173 B2 JP3130173 B2 JP 3130173B2
Authority
JP
Japan
Prior art keywords
arrangement
elements
matrix
net
small matrix
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
JP05116966A
Other languages
English (en)
Other versions
JPH06332984A (ja
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP05116966A priority Critical patent/JP3130173B2/ja
Publication of JPH06332984A publication Critical patent/JPH06332984A/ja
Application granted granted Critical
Publication of JP3130173B2 publication Critical patent/JP3130173B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Semiconductor Integrated Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、半導体集積回路のレイ
アウト設計に関するもので、行列構造を持った素子配置
方法に関するものである。
【0002】
【従来の技術】半導体集積回路のレイアウト設計におけ
る行列構造の素子配置問題を、電子計算機を利用して自
動で処理する場合、配置の質を表す目的関数を設け、目
的関数の値を良い配置を表す方向に向かわせるように、
任意に与えられた初期配置を配置改善するという方法が
取られることが多い。上記配置改善処理における目的関
数として多く用いられるのが、ネット広がりの総和であ
る。上記ネット広がりの総和とは、レイアウト上でネッ
トを囲む最小矩形の周囲長の半分を全てのネットについ
て和を取ったものであり、総配線長を配置処理の段階す
なわち配線処理が終っていない段階で見積もるための一
つの表現形式とも言えるものである。上記ネット広がり
の総和を目的関数として、すなわちネット広がりの総和
を最小化することを目指して配置改善処理を行なうこと
によって、接続関係にある素子同士が近くに集まり、レ
イアウト配線処理時の配線が短くなるので、レイアウト
面積を小さくすることができる。さらに、上記目的関数
は信号の遅延を最適化する効果も持っており、配置改善
処理の目的関数として有効であることが認められてい
る。
【0003】従来、上記ネット広がりの総和を目的関数
として用いた配置改善処理では、ランダムに選択された
二つの素子に対して、上記二素子を配置交換した時にネ
ット広がりの総和が減少するならば上記二素子の配置を
交換するという操作を、ネット広がりの総和の減少が見
られなくなるまで繰り返して行なっていた。この方法に
よると、一般に素子の交換回数が大きくなるので、目的
関数が収束するまでの時間がかかってしまうという問題
がある。さらに、目的関数が減少する方向にしか素子交
換を行なわなければ目的関数が局所最適解に陥る可能性
が高く、上記局所最適解を避けるために素子交換の条件
判定において冗長度を入れると目的関数が収束するまで
の時間はさらに大きくなってしまうのである。
【0004】また、行列構造の素子配置問題を階層を使
って処理する場合、下位階層における素子配置改善は上
位階層の配置結果の質を保ちながら行なわなければなら
ないので、上位階層配置における配置要素を複数個含む
ような小行列枠を用いた全体行列の掃引を行ない、各小
行列枠内の素子小行列に対して上で述べたような素子配
置改善を実行するという方法が取られる。
【0005】従来、上記小行列枠は幅と高さの両方にお
いて上記上位階層の配置要素を複数個含む形で設定され
ていた。この場合、一般に階層を使って処理する場合は
下位階層の素子数が非常に多いので上位階層の配置要素
に含まれる下位階層素子の数は大きく、上記のように幅
と高さの両方において上記上位配置要素を含む上記小行
列枠は、上記枠の中に多くの下位階層素子を含んでしま
うことになる。従って、一つの小行列枠内の素子小行列
に対しての素子配置改善処理にかかる時間が大きくな
り、全体行列に対する下位階層素子配置改善処理には膨
大な時間がかかっていたのである。
【0006】
【発明が解決しようとする課題】ネット広がりの総和の
最小化を目指した素子配置改善方法として、上記従来の
技術では、二つの素子の配置交換を繰り返すことによっ
て配置の改善を行なうので、目的関数が収束するまでの
繰り返し回数が大きくなって、素子配置改善処理に要す
る時間が膨大になってしまうという問題がある。
【0007】また、階層を使った素子配置処理における
下位階層素子配置改善方法として、上記従来の技術で
は、掃引に用いる小行列枠が大きくなり過ぎて、各小行
列枠内での素子配置改善処理に時間がかかり過ぎてしま
うという問題がある。
【0008】本発明の目的は、上記従来の問題を解決す
るために、ネット広がりの総和の最小化を目指した素子
配置改善方法として、二素子交換によらないで、高速に
最適解を得ることのできる方法を提供することにある。
【0009】また、階層を使った素子配置処理における
下位階層素子配置改善方法として、小行列枠内での素子
配置改善の収束を早くして全体行列に対する下位階層素
子配置改善処理を高速に行なうことのできる、小行列枠
の設定と掃引の方法を提供することにある。
【0010】
【課題を解決するための手段】上記目的を達成するた
め、本発明の素子配置方法は、行列構造を持つ初期素子
配置情報に基づいて素子配置改善を行なうに際して、各
ネットについて上記ネットにつながる端子群を求めて上
記端子群の重心として上記ネットの重心位置を決定する
ネット重心決定処理と、各素子について当該する各端子
位置から上記端子の当該ネット重心へのベクトルを求め
て上記ベクトルを上記当該端子について平均した平均ベ
クトルに従って上記素子の移動位置を決定する素子移動
位置決定処理と、上記移動位置の座標値の大小に従って
素子の順列を決定する素子順列決定処理と、上記素子順
列によって素子を並べて素子の形状と初期配置の行列構
造の形状に合わせて素子間の重なりのない行列構造の素
子配置を決定する素子位置決定処理とを備え、全ての素
子を、上記素子移動位置に従って、一度に配置改善する
ようにしたことに特徴がある。
【0011】また、本発明の素子配置方法は、階層を使
った素子配置処理における下位階層素子配置改善を行な
うに際して、上位階層配置における配置要素の幅と高さ
を基準にして、行方向に長く列方向には上記基準の高さ
しか持たない横長の小行列枠と列方向に長く行方向には
上記基準の幅しか持たない縦長の小行列枠の二つの小行
列枠を設定する小行列枠生成処理と、上記横長の小行列
枠を用いて全体行列を掃引しながら素子配置改善を進め
る第一の小行列枠による素子配置改善処理と、上記縦長
の小行列枠を用いて全体行列を掃引しながら素子配置改
善を進める第二の小行列枠による素子配置改善処理とを
備え、各小行列枠内での素子配置改善の対象となる素子
数を減らしたことに特徴がある。
【0012】
【作用】本発明においては、ネット広がりの総和を最小
化することを目的として行列構造の初期素子配置を配置
改善する場合に、ネットの重心に注目し、各素子につい
て当該する各端子位置から上記端子の当該ネット重心へ
のベクトルを求めて上記ベクトルを上記当該端子につい
て平均した平均ベクトルに従って上記素子の移動位置を
定め、上記移動位置の座標値の大小に従って全素子の順
列を求めて上記順列に従って素子を一行に並べた後、初
期配置の行列構造の横幅に合わせて上記素子行を分断し
て、上記分断された小素子行を縦に積み上げて素子の配
置を得る。上記方法によれば、配置改善処理の結果、初
期配置の段階よりも各ネットの広がりが小さくなり、従
って総配線長の小さなレイアウトが得られることにな
る。そして、二素子の配置交換を繰り返すことはせず、
全ての素子を同時に移動させて配置改善を行なうので、
従来に比べて処理時間が短縮される。
【0013】また、他の本発明においては、階層を使っ
た素子配置処理における下位階層素子配置改善を行なう
に際して、上位階層配置における配置要素の幅と高さを
基準にして、行方向に長く列方向には上記基準の高さし
か持たない横長の小行列枠と列方向に長く行方向にには
上記基準の幅しか持たない縦長の小行列枠の二つの小行
列枠を設定し、上記横長の小行列枠を用いての全体行列
の掃引と上記縦長の小行列枠を用いての全体行列の掃引
を交互に行ないながら、素子配置改善を進める。上記方
法によれば、下位階層素子配置改善の結果は、上位階層
配置の配置要素を生成する際のひずみを吸収した上で、
上位階層配置の配置結果の質を大局的に保ったものとな
る。そして、小行列枠内の素子数を減らすことができる
ので、上記小行列枠内の素子配置改善に要する時間を大
幅に短縮することができて、全体行列に対する下位階層
素子配置改善に要する時間も短縮される。
【0014】
【実施例】以下、本発明の実施例を、図面により詳細に
説明する。
【0015】(実施例1)図1は、本発明の素子配置方
法を実行する、素子配置システムの第一の実施例構成図
を示すものである。図1において、1は初期素子配置
部、2は素子配置改善部、3は配置問題入力部、4は配
置結果格納メモリーを表している。
【0016】まず、配置問題入力部3によって、配置対
象となる素子の素子物理情報及びネットリストがシステ
ムに入力される。素子物理情報には、素子の形状と各端
子の端子名と端子位置が記述されている。また、ネット
リストには、素子が実際に配置の中に使用される状態で
の素子の端子間の結線関係、即ちネットが記述されてい
る。本システムは、上記ネットのネット広がりを全体と
して最小化することを目的として素子を行列構造に配置
するものであり、そのことによって、レイアウトの総配
線長を小さくして最終的なレイアウト面積を小さくし、
また信号の遅延を短くすることを可能にするものであ
る。
【0017】次に、初期配置部1では、図5に示すよう
に素子21を行列構造22に並べる。行列の行数はシス
テムの使用者が与えてもよいし、正方形に近いレイアウ
トが得られるようにシステムが自動で算出することもで
きる。本システムが作動するためには、初期配置として
行列構造であること以上の制約はない。
【0018】そして、素子配置改善部2では、ネット広
がりの総和の最小化を目的として素子配置の改善を行な
う。最後に行列構造の配置結果を配置結果格納メモリー
4に記憶して、配置処理を終了する。
【0019】図2は素子配置改善部2の動作手順を示す
フローチャートであり、5はネットの重心位置を決定す
るネット重心決定処理、6は上記ネット重心に基づいて
ネット広りが小さくなるように素子の移動先を見つける
素子移動位置決定処理、7は上記素子移動位置に基づい
て素子の順列を求める素子順列決定処理、8は実際に素
子を並べる素子位置決定処理、9は配置目的関数である
ネット広がりの総和値を計算して記憶する目的関数値格
納処理、そして10は配置改善結果に対する目的関数値
を計算し評価して改善をさらに進めるか否かを判断する
配置改善評価処理を表している。
【0020】以下、初期配置改善部2における処理を図
2に沿って説明する。ここでは、ネット広がりの総和を
最小化することを目的とするので、配置改善の目的関数
としてネット広がりの総和を採用する。
【0021】最初、目的関数値格納処理9によって、現
在の即ち改善前の配置に対する目的関数の値を計算し、
記憶しておく。
【0022】続いて改善処理に入っていくのであるが、
まず、ネット重心決定処理5では、各ネットについてネ
ット重心を求める。一つのネットは複数の端子を結ぶも
のであるが、ネット重心というのはネットの当該端子の
位置の平均をとったものであり、ネット重心決定処理5
で求めた重心は各ネットの属性として記憶される。図6
に3端子23を結ぶネットを例にとってネット重心25
を示す。24は素子行22の端子23を結ぶ素子内配線
を示し、ネット重心25の導出は、素子行24の高さを
0として行なわれる。
【0023】次に、上で求めた各ネットのネット重心位
置情報に基づいて、素子移動位置決定処理6は、各ネッ
トの当該端子群が上記ネットの重心に集まるように、素
子同士が重なることをも許して、各素子について上記素
子があるべき位置を求めることを目的としている。各素
子の一つの端子は一つのネットに属しており、上記端子
が当該ネットの重心位置に重なるように上記素子を移動
すれば、上記ネットの広がりは最小にすることができ
る。しかし、一般に一つの素子には複数の端子が存在
し、従って上記素子に関係するネットも複数になってし
まう。そこで、上記素子移動位置決定処理6では、図7
に示すように各素子21について、各端子23の現在の
位置から上記端子の当該ネット重心までのベクトル26
を求めて、上記素子の全ての端子について上記ベクトル
26の平均を求め、平均ベクトル27による移動位置を
素子の移動位置としている。上記素子移動位置は素子の
属性として記憶される。
【0024】さて、上で求めた素子移動位置はネット広
がりを最小化するための目安であって、実際に素子を当
該移動位置に配置することはできない。なぜならば、配
置は行列構造を前提としている上、素子同士が重なるこ
とは許されないからである。そこで、本システムでは、
仮に素子を当該移動位置に配置したとした場合にできる
素子間の位置的相対関係、即ち順列の情報だけを利用し
て配置を行なう。図8に示す上記順列の情報28を導く
のが、素子順列決定処理7である。ここでは、素子に与
えられた素子移動位置のx座標とy座標から、まず、全
素子をx座標でソートし、続いてy座標でソートする。
その結果素子は、y座標の小さい素子即ち下に移動され
る素子から、y座標の大きい素子即ち上に移動される素
子の順に並べられ、同じy座標に移動される素子同士は
x座標の小さい方から大きい方へ即ち左から右へ並べら
れる。
【0025】そして素子位置決定処理8で、素子が実際
に配置される。ここではまず、上で求めた順列情報に従
って、素子を重なりのないように左から右へ一行に並べ
る。初期配置情報から配置行列の一行の長さの基準値を
得ることができるので、上記一行の配置を上記基準値に
よって切断し、切断されて出来た小配列を下から上に積
み上げる。こうして出来た配置は、上で求めた順列を行
列構造(図8の29)に実現したものに他ならないので
ある。
【0026】上記が素子配置改善部2における処理の一
回の流れであり、最後に配置改善評価処理10で改善度
が評価されて、次の改善を続けて行なうか否かを判断す
る。すなわち、改善後の目的関数の値と目的関数格納処
理9に格納されている改善前の目的関数の値を比較し
て、改善後の方が値が小さければ続けて改善を行ない、
そうでなければ改善を終了する。
【0027】以上が素子配置改善部2における処理を詳
細に述べたものであるが、上記処理によって生成された
最終配置結果は、配置結果格納メモリー4に送られて記
憶される。これで、本素子配置システムの処理は終了す
る。以上が本実施例による素子配置方法である。
【0028】このように、本実施例においては、ネット
広がりの総和を最小化することを目的として素子を行列
構造に配置する場合、素子配置改善処理を、二素子の配
置交換によらず、全素子を一度に移動することによって
行なうので、素子配置改善処理における目的関数の収束
を著しく速くすることが可能となっている。
【0029】(実施例2)図3は、本発明の方法を実行
する、素子配置システムの第二の実施例構成を示すもの
である。
【0030】図3において、13は上位階層生成部、1
1は上位階層配置部、14は階層展開部、12は下位階
層素子配置改善部、3は配置問題入力部、4は配置結果
格納メモリーを表している。配置問題入力部3及び配置
結果格納メモリー4は第一の実施例構成におけるものと
同じである。本システムは、行列構造の素子配置問題に
おいて、問題の規模が大きくなった場合即ち配置すべき
素子数が多くなった場合を対象として、第一の実施例で
述べた素子配置改善部2を利用しながら、二つの階層を
使って階層的な配置処理を行なうものである。上位階層
生成部13では、配置素子を一様な大きさの上位単位に
まとめて、上記上位単位間に接続関係を生成する。そし
て、上位階層配置部11は上位単位を配置要素として配
置処理を行ない、階層展開部14で上記上位単位を解い
てやり、下位階層素子配置改善部12では下位階層とし
ての素子配置改善処理を行なう。この下位階層素子配置
改善処理は、素子配置改善部2を利用して、ネット広が
りの総和の最小化を目的として行なわれ、その結果が最
終的な素子の配置結果であり、配置結果格納メモリー4
へ送られるものである。
【0031】まず、上位階層生成部13と上位階層配置
部11及び階層展開部14は、本システムに特徴的なも
のではなく、階層配置方法として一般にしばしば使われ
るものである。上位階層生成部13では、図9に示すよ
うに接続関係の強いと考えられる素子をいくつかまとめ
ることによって上位単位30を生成し、二つの上位単位
に属する素子の間に接続関係が存在すれば上記二つの上
位単位30の間に接続関係31を設けるという処理を行
なう。ここで、上位単位としてまとめる素子の数に制約
はないが、上位単位の大きさ即ち上記上位単位に含まれ
る素子の幅の和が、全ての上位単位についてできるだけ
一様になるようにする必要がある。
【0032】上位階層配置部11では、図10に示すよ
うに上位階層生成部13で生成された上位単位群30と
上位単位間接続情報31に基づき、上位単位を配置要素
として配置処理を行なう。
【0033】なお、この部分で上位階層としての配置最
適化までが行なわれるわけであるが、この上位階層配置
処理における配置目的は、本システムにおいては、必ず
しもネット広がりの総和の最小化である必要はない。つ
まり本システムによる最終の素子配置結果には、大局的
には上位階層配置の質が保たれ、その範囲内で下位階層
素子配置としてネット広がりの総和の最小化が実現され
るのであって、本システムは上記範囲内で下位階層素子
配置としてネット広がりの総和を高速に最小化する方法
を特徴とするものである。
【0034】上記上位階層配置処理が終ると、階層展開
部14によって上位単位の枠が外されて、下位階層素子
による行列構造の配置が現れる。ここで、上位単位の枠
の中の素子の配置は、この段階では、上位階層生成の時
に上記上位単位に入れられた順で構わない。ここで得ら
れた素子配置が、以下の処理における初期配置となるも
のである。
【0035】上記が本階層的配置システムにおける上位
階層配置に関する部分の説明であるが、続いて実行され
る下位階層素子配置改善部12では、上位単位というま
とまりは解かれ、第一の実施例で説明した素子配置改善
処理と同じ問題が扱われることになる。しかし、上でも
述べたように、上位階層配置によって大局的な意味での
配置最適化が行なわれたことを前提としなければならな
いので、第一の実施例の素子配置改善部2と全く同じ処
理をするわけにはいかない。つまり下位階層素子配置改
善部12では、上位階層配置による大局的な最適化の質
を保ちながら素子配置改善を高速に行なうための工夫が
必要になる。
【0036】図4は下位階層素子配置改善部12の動作
手順を示すフローチャートであり、15は小行列枠生成
処理、16は第一の小行列枠による素子配置改善処理、
17は第二の小行列枠による素子配置改善処理、19は
下位階層配置目的関数値格納処理、20は下位階層配置
改善評価処理を表している。上記の19、20はそれぞ
れ、第一の実例施の配置目的関数格納処理9、配置改善
評価処理10に同じ内容である。
【0037】以下、下位階層素子配置改善部12の処理
について、特に、小行列枠生成処理15、第一の小行列
枠による素子配置改善処理16、第二の小行列枠による
素子配置改善処理17について詳しく説明する。
【0038】小行列枠生成処理15では、図11に示す
ように二つの小行列枠32,33を生成する。下位階層
素子配置改善部12は、全体の行列構造から小さな行列
を抽出して、上記小行列内の素子配置改善を素子配置改
善部2の方法を用いて行なうものであり、上記二つの小
行列枠32,33は抽出する部分を設定するための枠と
して用いられる。小行列枠を生成するにあたり、上位単
位の幅と高さ即ち上位階層配置で用いられた配置要素の
幅と高さを基準とし、第一の小行列枠32は幅が上記上
位単位の幅の倍数で高さは上記上位単位の高さに同じと
し、第二の小行列枠33は幅が上記上位単位の幅に同じ
で高さが上記上位単位の高さの倍数であるように設定す
る。上記二つの小行列枠の幅、高さを上記上位単位の何
倍にするかは、システムの使用者が与えるものとする。
小行列枠の大きさを上位単位よりもある程度大きくする
ことによって、上位単位生成時のひずみを補ってより良
質の配置を得ることができる。
【0039】上記二つの小行列枠32,33が決まる
と、第一の小行列枠32による素子配置改善処理16と
第二の小行列枠33による素子配置改善処理17によっ
て、横長と縦長の二つの小行列枠による行列構造の掃引
を交互に行ないながら下位階層の素子配置の改善を行な
う。第一の小行列枠32による素子配置改善処理16と
第二の小行列枠33による素子配置改善処理17は、用
いる小行列枠が異なるだけで処理内容は全く同じであ
る。
【0040】まず、第一の小行列枠32による素子配置
改善処理16について説明すると、ここでは第一の小行
列枠を全体行列の左下から横方向即ち行方向に掃引を開
始し、横に進めなくなれば列方向に一行上がって再び行
方向に掃引を進める。掃引時、一つの小行列枠設定と次
の小行列枠設定とは上記上位単位の幅にして一単位分だ
けずらす。上記掃引時の各小行列枠設定に対して、上記
枠に含まれる小行列を抽出して素子配置改善部2と同じ
処理を行なう小行列枠内素子配置改善部を用いて、上記
小行列に対して素子配置改善を行なう。その際、上記小
行列内の素子と上記小行列外の素子との接続関係は、上
記小行列内の素子と上記小行列枠上の仮の端子との接続
関係とみなしてネット重心を決定する。
【0041】続いて、第二の小行列枠33による素子配
置改善処理17では、第二の小行列枠を全体行列の左下
から上方向即ち列方向に掃引を開始し、上に進めなくな
れば行方向に一列左に移って再び列方向に掃引を進め
る。掃引時、一つの小行列枠設定と次の小行列枠設定と
は上記上位単位の高さにして一単位分だけずらす。あと
は、第一の小行列枠による素子配置改善処理16と同様
である。
【0042】以上が、二つの小行列枠の掃引による下位
階層素子配置改善処理の一回の処理の流れであり、全体
行列のネット広がりの総和が減少しなくなったところで
改善処理を終了する。上でも述べたように、掃引時、一
つの小行列枠設定と次の小行列枠設定とは上記上位単位
の幅あるいは高さにして一単位分だけずらす。従って小
行列枠の大きさの設定が上記一単位分よりも大きけれ
ば、全体行列上での掃引の結果、異なる上位単位の間で
素子の交換が行なわれることになり、上位単位生成時に
できる局所的なひずみをより大きな範囲で吸収すること
ができる。しかも、その交換は全体行列に対して直接第
一の実施例による方法を適用した場合に比べると局所的
なものであるから、上位階層配置の結果を大局的に残す
こともできるのである。そして、上位単位を基準にし
て、横長と縦長の二つの一次元的な小行列枠を用いるこ
とで、二次元的な小行列枠を用いる場合よりも小行列内
素子数を少なくすることができ、一つの小行列枠内での
配置目的関数の収束を著しく速めることができる。さら
に、上記二つの一次元的な小行列枠を組み合わせれば、
上記局所的なひずみを吸収する効果は二次元的な小行列
枠を用いる場合と同等となるので、配置の質を落すこと
なく、全体としての下位階層素子配置改善処理を高速に
することが可能となっている。
【0043】以上が下位階層素子配置改善部12の内容
で、ここで得られた配置結果が最終の配置結果として配
置結果格納メモリー4に送られて記憶されると、本シス
テムによる階層的素子配置処理は終了する。以上が本実
施例による素子配置方法である。
【0044】このように、本実施例においては、上位階
層での配置結果の質を保ちながら下位階層での素子配置
改善を行なうにあたり、上位階層での配置要素を一次元
的に複数個含む大きさの小行列枠を横長、縦長の二種類
用意して、上記二種類の小行列枠を使った掃引を交互に
行なうことによって、局所的な配置改善の収束を著しく
速くすることが可能となっていて、全体行列に対する下
位階層での素子配置改善を高速化することが可能となっ
ているのである。
【0045】
【発明の効果】以上説明したように、本発明によれば、
素子を行列構造に配置する場合、ネット広がりの総和を
最小化することを目的として素子配置改善を行なうにあ
たって、素子配置改善の配置目的関数の収束を著しく速
くすることが可能となり、質の高い素子配置結果を高速
に求めることができる。
【図面の簡単な説明】
【図1】本発明の方法を実行するシステムの第一の実施
例構成を表す図
【図2】素子配置改善部の動作手順を示すフローチャー
【図3】本発明の方法を実行するシステムの第二の実施
例構成を表す図
【図4】下位階層素子配置改善部の動作手順を示すフロ
ーチャート
【図5】素子を行列構造に配置した構成図
【図6】ネット重心を示す説明図
【図7】ネット重心へのベクトルから平均ベクトルを導
出する方法を示す説明図
【図8】素子順列から行列構造素子配置を実現する様子
を示す説明図
【図9】上位階層生成部における動作説明図
【図10】上位階層配置結果を示した図
【図11】小行列枠生成の様子を示した図
【符号の説明】
1 初期素子配置部 2 素子配置改善部 3 配置問題入力部 4 配置結果格納メモリー 5 ネット重心決定部 6 素子移動位置決定部 7 素子順列決定部 8 素子位置決定部 9 目的関数値格納部 10 配置改善評価部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 田中 康弘 大阪府門真市大字門真1006番地 松下電 器産業株式会社内 (72)発明者 前 洋一郎 大阪府門真市大字門真1006番地 松下電 器産業株式会社内 (72)発明者 熊代 慎一 大阪府門真市大字門真1006番地 松下電 器産業株式会社内 (56)参考文献 特開 平2−119242(JP,A) 特開 平3−91943(JP,A) 特開 平4−304656(JP,A) 特開 平6−259504(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 17/50 H01L 21/82

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】相互に結線要求を持った素子群を行列構造
    に配置する、素子自動配置システムにおいて、 初期素子配置情報に基づいて素子配置改善を行なうに際
    して、各ネットについて上記ネットにつながる端子群を
    求めて上記端子群の重心として上記ネットの重心位置を
    決定するネット重心決定処理と、 各素子について当該する各端子位置から上記端子の当該
    ネット重心へのベクトルを求めて上記ベクトルを上記当
    該端子について平均した平均ベクトルに従って上記素子
    の移動位置を決定する素子移動位置決定処理と、 上記移動位置の座標値の大小に従って素子の順列を決定
    する素子順列決定処理と、 上記素子順列によって素子を並べて素子の形状と初期配
    置の行列構造の形状に合わせて素子間の重なりのない行
    列構造の素子配置を決定する素子位置決定処理とを備
    え、 全ての素子を、上記素子移動位置に従って、一度に配置
    するようにしたことを特徴とする素子配置方法。
  2. 【請求項2】相互に結線要求を持った素子の集合を二次
    元配列の形で配置する、素子自動配置システムにおい
    て、 階層を使った素子配置処理における下位階層素子配置改
    善を行なうに際して、上位階層配置における配置要素の
    幅と高さを基準にして、行方向に長く列方向には上記基
    準の高さしか持たない横長の小行列枠と列方向に長く行
    方向には上記基準の幅しか持たない縦長の小行列枠の二
    つの小行列枠を設定する小行列枠生成処理と、 上記横長の小行列枠を用いて全体行列を掃引しながら素
    子配置改善を進める第一の小行列枠による素子配置改善
    処理と、 上記縦長の小行列枠を用いて全体行列を掃引しながら素
    子配置改善を進める第二の小行列枠による素子配置改善
    処理とを備え、 各小行列枠内での素子配置改善の対象となる素子数を減
    らしたことを特徴とする素子配置方法。
JP05116966A 1993-05-19 1993-05-19 素子配置方法 Expired - Fee Related JP3130173B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP05116966A JP3130173B2 (ja) 1993-05-19 1993-05-19 素子配置方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP05116966A JP3130173B2 (ja) 1993-05-19 1993-05-19 素子配置方法

Publications (2)

Publication Number Publication Date
JPH06332984A JPH06332984A (ja) 1994-12-02
JP3130173B2 true JP3130173B2 (ja) 2001-01-31

Family

ID=14700163

Family Applications (1)

Application Number Title Priority Date Filing Date
JP05116966A Expired - Fee Related JP3130173B2 (ja) 1993-05-19 1993-05-19 素子配置方法

Country Status (1)

Country Link
JP (1) JP3130173B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3389875B2 (ja) 1999-03-12 2003-03-24 株式会社トッパンエヌイーシー・サーキットソリューションズ 自動部品配置システム並びに自動部品配置プログラムを記録した記録媒体

Also Published As

Publication number Publication date
JPH06332984A (ja) 1994-12-02

Similar Documents

Publication Publication Date Title
JP2746762B2 (ja) 半導体集積回路のレイアウト方法
JP4474404B2 (ja) パッキングベースのマクロ配置方法とそれを用いた半導体チップ
US6996794B2 (en) Method of designing layout of semiconductor device
JP3529563B2 (ja) 半導体集積回路の再レイアウト方法及び半導体集積回路の再レイアウトプログラムを記録した媒体
Xiang et al. Bus-driven floorplanning
US6560505B1 (en) Automatic parts placement system, method, and medium
US20030046621A1 (en) Creation of memory array bitmaps using logical to physical server
US20130290914A1 (en) Methods and Apparatus for Floorplanning and Routing Co-Design
CN114611452A (zh) 基于电路原理图在版图中自动生成Sub Cell的方法
JP3130173B2 (ja) 素子配置方法
JP3389196B2 (ja) 機能ブロック端子の分割方法とこの方法を記録した記録媒体及びこの方法による自動配線処理装置
CN115294237A (zh) 电力仿真建模连线优化方法、装置、设备及可读存储介质
JPH05182899A (ja) ブロック露光用パターン抽出方法
Cha et al. SEGRA: a very fast general area router for multichip modules
JP3377644B2 (ja) 半導体集積回路の論理素子配置処理方法
JP4071546B2 (ja) 半導体装置の回路設計支援装置およびレイアウト変更方法
CN116305355A (zh) 光伏组件的排布方法、装置和光伏系统
JPH0793393A (ja) Lsiレイアウト作成装置
JP2938601B2 (ja) 配置方式
JPH0714923A (ja) 自動レイアウト方法及び自動レイアウト装置
CN115100318A (zh) 一种电力仿真建模连线方法、装置、设备及可读存储介质
JP2803800B2 (ja) 半導体集積回路装置の配線方法
CN115100319A (zh) 仿真建模防重合多连线方法、装置、设备及可读存储介质
TW202416227A (zh) 三維模型的重建方法及運算裝置
JP3317066B2 (ja) 画像処理装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees