JP3167980B2 - コンポーネントの配置方法、コンポーネント配置装置、コンポーネント配置制御プログラムを格納した記憶媒体 - Google Patents

コンポーネントの配置方法、コンポーネント配置装置、コンポーネント配置制御プログラムを格納した記憶媒体

Info

Publication number
JP3167980B2
JP3167980B2 JP06800499A JP6800499A JP3167980B2 JP 3167980 B2 JP3167980 B2 JP 3167980B2 JP 06800499 A JP06800499 A JP 06800499A JP 6800499 A JP6800499 A JP 6800499A JP 3167980 B2 JP3167980 B2 JP 3167980B2
Authority
JP
Japan
Prior art keywords
component
components
connection information
cells
candidate
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
JP06800499A
Other languages
English (en)
Other versions
JP2000268060A (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP06800499A priority Critical patent/JP3167980B2/ja
Priority to US09/520,729 priority patent/US6529791B1/en
Publication of JP2000268060A publication Critical patent/JP2000268060A/ja
Application granted granted Critical
Publication of JP3167980B2 publication Critical patent/JP3167980B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Architecture (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、情報処理方法に関
し、詳しくは、コンポーネントの最適配置方式に関す
る。
【0002】
【従来の技術】特開平09−181185号公報のよう
に、従来より、プリント基板の設計等、コンポーネント
の配置を決定するに際し、コンピュータを用いている。
しかし、コンポーネント数が多い場合やコンポーネント
間の相関関係複雑な場合には、従来の方法では、局所的
なコンポーネント配置の最適性の影響を受けることによ
り、最適値よりも評価値の悪い配置を最適値であるとし
て出力することが多かった。
【0003】IC103の設計に関しては、図2に示す
ように、 (1)16ないし32本程度のピン105があり、大き
さは同じである。 (2)基盤には必ずコネクター111がありそれにもピ
ンがある。 (3)ICのピン105同士、あるいはコネクター11
1のピンとの接続は基盤の論理設計で決まっている。 (4)配線107は基盤の表と裏を使って、表は縦線の
み裏は横線のみプリントすることにより実現する。 (5)表から裏(あるいはその逆)へは基盤を貫通する
穴が空けられる。 (6)配線の線107同士は、一定の距離以上の間隔が
空いていることが必要となる。 といった制約があり、
【0004】どうしても配線できないものがあれば、そ
の配線なしでプリント基板を作成し、別工程で直接導線
をハンダ付けして結線する(これをジャンパー109と
いう)。ジャンパー109が必要だと工程が増えるので
コストがそれだけ高くなる。また、配置が適切でない場
合一部の配線がプリントできなくなるといった問題が発
生する。
【0005】
【発明が解決しようとする課題】本発明の一つの目的
は、計算量を可能な限り削減しつつ、評価値の高いコン
ポーネントの配置を行うことにある。
【0006】本発明の他の一つの目的は、実行するシス
テムのプラットフォームに依存することなく評価値の高
いコンポーネントの配置を決定するシステムを提供する
ことにある。
【0007】
【課題を解決するための手段】本発明の一態様において
は、1つ1つのコンポーネントに、それが配置される候
補地というものが想定される。最初はすべてのセルが候
補地である。そして、なんらかの方法で、コンポーネン
ト毎にその候補地を狭めていく(例えば、固定コンポー
ネントと直接関係があるコンポーネントについては固定
コンポーネントに最も遠いセルを候補地からはずす、な
ど)。もとの配置問題から近似問題を作り、この近似問
題を最適化する解を得る。同時に、この解はもとの配置
問題の実行可能解にもなっている。候補地を狭めること
と、近似問題を解くことを繰り返し、最終的に候補地を
1つ(または同等の評価値を有する複数の候補地)に絞
ることにより、配置を決定する。
【0008】本発明の一態様において、複数のセルの位
置情報と、前記セルの何れかに配置する複数のコンポー
ネントの内の所定のコンポーネント同士の結線情報(コ
ンポーネント間結線情報)とを格納するコンポーネント
配置装置で実行されるコンポーネントの配置方法であっ
て、(a)各コンポーネントの現在の候補地(最適解を
構成する可能性があると判断されているセルの集合)に
基づいて、各コンポーネントの重心を計算する段階と、
(b)各コンポーネントについて、現在の候補地に含ま
れる各セルにおける評価値を前記コンポーネント間結線
情報に基づいて計算する段階と、(c)前記段階(b)
で計算された評価値に基づいて、前記複数のコンポーネ
ントの内、何れかのコンポーネントの候補地を縮小でき
るか否かを判断する段階と、(d)前記段階(c)で何
れかのコンポーネントの候補地を縮小できると判断され
た場合には、前記段階(a)〜(d)を繰り返す段階
と、(e)前記段階(c)で何れのコンポーネントの候
補地も縮小でないと判断された場合には、各コンポーネ
ントの現在の候補地に基づいて、前記複数のコンポーネ
ントの配置を行う段階と、を含むコンポーネントの配置
方法が提供される。
【0009】本発明の他の一態様においては、複数のセ
ルの位置情報と、前記セルの何れかに配置する複数のコ
ンポーネントの内の所定のコンポーネント同士の結線情
報(コンポーネント間結線情報)と所定の位置に固定さ
れた固定コンポーネントと前記複数のコンポーネントの
内の所定のコンポーネントとの間の結線情報(固定コン
ポーネント結線情報)とを格納するコンポーネント配置
装置で実行されるコンポーネントの配置方法であって、
(a)各コンポーネントの現在の候補地(最適解を構成
する可能性があると判断されているセルの集合)に基づ
いて、各コンポーネントの重心を計算する段階と、
(b)各コンポーネントについて、現在の候補地に含ま
れる各セルにおける評価値を前記コンポーネント間結線
情報と固定コンポーネント結線情報に基づいて計算する
段階と、(c)前記段階(b)で計算された評価値に基
づいて、前記複数のコンポーネントの内、何れかのコン
ポーネントの候補地を縮小できるか否かを判断する段階
と、(d)前記段階(c)で何れかのコンポーネントの
候補地を縮小できると判断された場合には、前記段階
(a)〜(d)を繰り返す段階と、(e)前記段階
(c)で何れのコンポーネントの候補地も縮小でないと
判断された場合には、各コンポーネントの現在の候補地
に基づいて、前記複数のコンポーネントの配置を行う段
階と、を含むコンポーネントの配置方法が提供される。
【0010】本発明の他の一態様においては、複数のセ
ルの位置情報と、前記セルの何れかに配置する複数のコ
ンポーネントの内の所定のコンポーネント同士の結線情
報(コンポーネント間結線情報)とを格納するコンポー
ネント配置装置であって、(a)各コンポーネントの現
在の候補地(最適解を構成する可能性があると判断され
ているセルの集合)に基づいて、各コンポーネントの重
心を計算する手段と、(b)各コンポーネントについ
て、現在の候補地に含まれる各セルにおける評価値を前
記コンポーネント間結線情報に基づいて計算する手段
と、(c)前記段階(b)で計算された評価値に基づい
て、前記複数のコンポーネントの内、何れかのコンポー
ネントの候補地を縮小できるか否かを判断する手段と、
(d)前記段階(c)で何れかのコンポーネントの候補
地を縮小できると判断された場合には、前記段階(a)
〜(d)を繰り返す手段と、(e)前記段階(c)で何
れのコンポーネントの候補地も縮小でないと判断された
場合には、各コンポーネントの現在の候補地に基づい
て、前記複数のコンポーネントの配置を行う手段と、を
含むコンポーネントの配置装置が提供される。
【0011】本発明の他の一態様においては、複数のセ
ルの位置情報と、前記セルの何れかに配置する複数のコ
ンポーネントの内の所定のコンポーネント同士の結線情
報(コンポーネント間結線情報)とを格納するコンポー
ネント配置装置で実行されるコンポーネントの配置制御
プログラムを格納した記憶媒体であって、該プログラム
は、(a)各コンポーネントの現在の候補地(最適解を
構成する可能性があると判断されているセルの集合)に
基づいて、各コンポーネントの重心を計算することを前
記コンポーネント配置装置に指示するプログラムコード
と、(b)各コンポーネントについて、現在の候補地に
含まれる各セルにおける評価値を前記コンポーネント間
結線情報に基づいて計算することを前記コンポーネント
配置装置に指示するプログラムコードと、(c)前記
(b)で計算された評価値に基づいて、前記複数のコン
ポーネントの内、何れかのコンポーネントの候補地を縮
小できるか否かを判断することを前記コンポーネント配
置装置に指示するプログラムコードと、(d)前記
(c)で何れかのコンポーネントの候補地を縮小できる
と判断された場合には、前記(a)〜(d)を繰り返す
ことを前記コンポーネント配置装置に指示するプログラ
ムコードと、(e)前記(c)で何れのコンポーネント
の候補地も縮小でないと判断された場合には、各コンポ
ーネントの現在の候補地に基づいて、前記複数のコンポ
ーネントの配置を行うことを前記コンポーネント配置装
置に指示するプログラムコードと、を含む記憶媒体が提
供される。
【0012】本発明の他の一態様においては、複数のセ
ルの位置情報と、前記セルの何れかに配置する複数のコ
ンポーネントの内の所定のコンポーネント同士の結線情
報(コンポーネント間結線情報)と所定の位置に固定さ
れた固定コンポーネントと前記複数のコンポーネントの
内の所定のコンポーネントとの間の結線情報(固定コン
ポーネント結線情報)とを格納するコンポーネント配置
装置で実行されるコンポーネントの配置制御プログラム
を格納した記憶媒体であって、該プログラムは、(a)
各コンポーネントの現在の候補地(最適解を構成する可
能性があると判断されているセルの集合)に基づいて、
各コンポーネントの重心を計算することを前記コンポー
ネント配置装置に指示するプログラムコードと、(b)
各コンポーネントについて、現在の候補地に含まれる各
セルにおける評価値を前記コンポーネント間結線情報と
固定コンポーネント結線情報に基づいて計算することを
前記コンポーネント配置装置に指示するプログラムコー
ドと、(c)前記(b)で計算された評価値に基づい
て、前記複数のコンポーネントの内、何れかのコンポー
ネントの候補地を縮小できるか否かを判断することを前
記コンポーネント配置装置に指示するプログラムコード
と、(d)前記(c)で何れかのコンポーネントの候補
地を縮小できると判断された場合には、前記(a)〜
(d)を繰り返すことを前記コンポーネント配置装置に
指示するプログラムコードと、(e)前記(c)で何れ
のコンポーネントの候補地も縮小でないと判断された場
合には、各コンポーネントの現在の候補地に基づいて、
前記複数のコンポーネントの配置を行うことを前記コン
ポーネント配置装置に指示するプログラムコードと、を
含む記憶媒体が提供される。
【実施例】
【0013】A.ハードウエア構成 図1を参照すると、本発明において使用される最適配置
決定システム100のハードウェア構成の一実施例を示
す概観図が示されている。最適配置決定システム100
は、中央処理装置(CPU)1とメモリ4とを含んでい
る。CPU1とメモリ4は、バス2を介して、補助記憶
装置としてのハードディスク装置13とを接続してあ
る。フロッピーディスク装置(またはMO、CD−RO
M等の記録媒体駆動装置26、28、29)20はフロ
ッピーディスクコントローラ19(またはIDEコント
ローラ25、SCSIコントローラ27等)を介してバ
ス2へ接続されている。
【0014】フロッピー(商標)ディスク装置(または
MO、CD−ROM等の記録媒体駆動装置)20には、
フロッピーディスク(またはMO、CD−ROM等の記
録媒体)が挿入され、このフロッピーディスク等やハー
ドディスク装置13、30、ROM14には、オペレー
ティングシステムと協働してCPU等に命令を与え、本
発明を実施するためのコンピュータ・プログラムのコー
ドを記録することができ、メモリ4にロードされること
によって実行される。このコンピュータ・プログラムの
コードは圧縮し、または、複数に分割して、複数の媒体
に記録することもできる。
【0015】最適配置決定システム100は更に、ユー
ザ・インターフェース・ハードウェアを備え、入力をす
るためのポインティング・デバイス(マウス、ジョイス
ティック等)7またはキーボード6や、視覚データをユ
ーザに提示するためのディスプレイ12を有することが
できる。タッチ・パネルを入力手段とすることもでき
る。また、パラレルポート16を介してプリンタを接続
することや、シリアルポート15を介してモデムを接続
することが可能である。この情報端末支援サーバ100
は、シリアルポート15およびモデムまたは通信アダプ
タ18(イーサネット(商標)やトークンリング・カー
ド)等を介してネットワークに接続し、他のコンピュー
タ等と通信を行うことが可能である。
【0016】スピーカ23は、オーディオ・コントロー
ラ21によってD/A(デジタル/アナログ変換)変換
された音声信号を、アンプ22を介して受領し、音声と
して出力する。また、オーディオ・コントローラ21
は、マイクロフォン24から受領した音声情報をA/D
(アナログ/デジタル)変換し、システム外部の音声情
報をシステムにとり込むことを可能にしている。
【0017】このように、本発明の最適配置決定システ
ム100は、通常のパーソナルコンピュータ(PC)や
汎用コンピュータ、ワークステーション、ノートブック
PC、パームトップPC、ネットワークコンピュータ等
を含む通信機能有する情報端末、または、これらの組合
せによって実施可能であることを容易に理解できるであ
ろう。ただし、これらの構成要素は例示であり、その全
ての構成要素が本発明の必須の構成要素となるわけでは
ない。
【0018】特に、ここで説明したハードウエア構成
は、コンポーネントの配置を決定するものであるため、
音声の処理に必要なオーディオ・コントローラ21、ア
ンプ22、スピーカ23、マイクロフォン24やオペレ
ータからの直接的な入力を可能にするキーボード6、マ
ウス7、キーボード/マウスコントローラ5、各種記録
媒体処理装置19、25、27等はなくてもよい。ま
た、この最適配置決定システム100の各構成要素は、
複数のマシンを組合せ、それらに機能を配分し実施する
等の種々の変更は当業者によって容易に想定されるもの
であって、それらの変更は、本発明の思想に包含される
概念である。
【0019】最適配置決定システム100のオペレーテ
ィング・システムとしては、WindowsNT(マイ
クロソフトの商標)、Windows9x(マイクロソ
フトの商標)、Windows3.x(マイクロソフト
の商標)、OS/2(IBMの商標)、MVS(IBM
の商標)、MacOS(Apple社の商標)、AIX
(IBMの商標)上のX−WINDOWシステム(MI
Tの商標)などの、標準でGUIマルチウインドウ環境
をサポートするものや、PC−DOS(IBMの商
標)、MS−DOS(マイクロソフトの商標)などのキ
ャラクタ・ベース環境のもの、さらにはOS/Open
(IBMの商標)、VxWorks(Wind Riv
er Systems, Inc.の商標)等のリアル
タイムOS、JavaOS等のネットワークコンピュー
タに組み込まれたOSでも実現可能であり、特定のオペ
レーティング・システム環境に限定されるものではな
い。
【0020】C.最適配置対象モデル 本発明におけるコンポーネントの最適配置の対象モデル
を、ICの最適配置手順を例に説明する。
【0021】1.本発明の好適な実施例における最適配
置の対象となるモデルにおいては、各ICの形状も方向
も無視し、単にIC同士、コネクターのピンとICの結
線情報だけを基に関係あるものほど近くに配置できれば
最適であるとする。図3は、各コンポーネント(IC)
121の形状と方向を無視した状態の概念図である。
【0022】2.また、その評価関数として、接続すべ
きピンをもつIC同士の距離、およびコネクターのピン
125とそれに接続すべきピンをもつIC121の距離
の総和を用いる。IC と接続相手のIC あるいはコ
ネクターのピンに複数の接続すべきピンがある場合、そ
れに応じて距離を重みづけして評価する。ここで、接続
すべきコンポーネントの情報を(コンポーネント間結線
情報)と固定コンポーネントとコンポーネントとの間の
結線情報(固定コンポーネント結線情報)は予めシステ
ムに入力される。
【0023】3.ICの配置場所である基盤を、適当な
区画に区切り、1つの区画(セル)123に最大1つの
IC(コンポーネント)が配置できるものとする。
【0024】4.コンポーネントの数をm、セルの数を
nとする。
【0025】5.Comp iがCell jにあるとき、Xij
=1、それ以外のときは、Xij=0 (i=1,2,...,m、j=1,2,...,n)
【0026】6.また、あるコンポーネントは、どこか
1つのセルに配置するので、
【数1】
【0027】7.1つのセルには最大1コンポーネント
しか配置できないので、
【数2】
【0028】8.固定コンポーネントFix kからセ
ル:Cell jまでの距離をDf(k,j)とすると、 Df(k,j) = |Fk(x)−Cj(x)|+ |F
k(y)−Cj(y)| ここで、Fk(x),Cj(x)、Fk(y),Cj
(y)はそれぞれFix kとCell jのx座標値、
y座標値である。
【0029】9.図4に示すように、Comp iとF
ix kとの接続すべき線数をRf(k,i)とすると、Co
mp i が Cell j に配置された時のコスト評
価値L1は、 L1 = Rf(k,i)・Df(k,j)
【0030】10.Cell j1からCell j2まで
の距離を、Dc(j1,j2)とすると、 Dc(j1,j2)
= |Cj1(x)−Cj2(x)|+ |Cj1(y)−
Cj2(y)|
【0031】11.また、図5に示すように、Comp
i1とComp i2との間に接続すべき線の数をRc(i
1,i2)とすると、Comp i1がCell j1に、Co
mp i2がCell j2に配置された時のコスト評価値L
2は、 L2 = Rc(i1,i2)・Dc(j1,j2)
【0032】12.従って、本発明の好適な実施例にお
いて最小化する目標関数は、
【数3】
【0033】なお、上記モデルをさらに一般化すること
もできる。コンポーネント間の接続線必要本数は、より
一般的にはコンポーネントの関係の強さと考えられる。
つまり関係がつよいものほど近くに配置することにな
る。ここで、 (1)Fix k からみた Comp i との関係の
強さをP(k,i) (2)Comp iから見たFix kとの関係の強さ
を、Q(i,k) (3)Comp i1からみたComp i2との関係の強さ
を、R(i1,i2) (4)Comp i2からみたComp i1との関係の強さ
を、R(i2,i1) と表すことにする。
【0034】また、これら関係の強さP,Q,Rはマイ
ナスの値をとることも許すものとする。マイナスの値の
関係なら、より離して配置するほうがよいことになる。
また、配置コンポーネントにより一般なものを想定すれ
ば、関係の強さRfやRcが双方向に対象であるとは限
らない。また、距離Df(k,j)およびDc(j1,j2)
は、一般的なものとする。
【0035】このとき、Comp iが Cell jに
配置された場合の評価値は、Fix kからは、 P(k,i)・Df(k,j) Comp iからは、 Q(i,k)・Df(k,j) となる。
【0036】また、Comp i1がCell j1に Co
mp i2が Cell j2に配置された場合の評価値は、
Comp i1からは、 R(i1,i2)・Dc(j1,j2) Comp i2からは、 R(i2,i1)・Dc(j2,j1) となる。
【0037】この場合、最小化する目標関数Lは、
【数4】 となる。
【0038】D.最適配置手順
【0039】D−1.最適配置手順の概要 本発明の好適な実施例におけるコンポーネントの最適配
置手順の概要は、次のようなものである。 1.1つ1つのコンポーネントに、それが配置される候
補地をというものを想定する。 2.最初はすべてのセルが候補地とする。 3.そして、なんらかの方法で、コンポーネント毎にそ
の候補地を狭めていく(例えば、固定コンポーネントと
直接関係があるコンポーネントについては、固定コンポ
ーネントに最も遠いセルを候補地からはずす等)。 4.もとの配置問題から近似問題を作り、この近似問題
を最適化する解を得る。同時に、この解はもとの配置問
題の実行可能解にもなっている。 5.候補地を狭めることと、近似問題を解くことを繰り
返し最終的に候補地が1つに絞られたとき配置が決ま
る。
【0040】図6は、本発明の好適な実施例における最
適配置手順を示すフローチャートである。この例におい
ては、図7に示すように、初期設定時において、各コン
ポーネント、固定コンポーネントの関係やセルの状態等
の情報が最適配置決定システムに入力される(ステップ
403)。また、各コンポーネントの候補地の初期設定
がなされる。
【0041】次に、各コンポーネントの重心が算出され
(ステップ405)、この値を基に、評価値Aijが計
算される。
【0042】計算された評価値Aijに基づいて、各コ
ンポーネントの縮小が試みられる。所定の計算回数が行
われた場合や、候補地の縮小が検出されない場合には
(ステップ411)、最適配置に至ったと判断して、最
適値の出力等の後処理を行った後(ステップ417)、
処理を終了する(ステップ419)。
【0043】所定の計算回数は行われず、候補地の縮小
が検出された場合には、確定した(候補地が1つになっ
た)コンポーネントが存在するか否かが判断される(ス
テップ413)。確定したコンポーネントが存在しない
場合には、ステップ405に返り、確定したコンポーネ
ントが存在する場合には、他のコンポーネントの候補地
から確定したコンポーネントを除外し、ステップ405
に返る(ステップ415)。
【0044】D−2.候補地 いま、最適な配置が得られている状況から、1つのコン
ポーネント(カレント・コンポーネント、仮にAとす
る)131だけを除いた状態を想定してみる(図8)。
この状態から最適配置に戻るにはどうすればよいだろう
か。
【0045】A以外のコンポーネントはすでに配置され
ているので、それらが占めているセルを除いたセルがコ
ンポーネントAを配置しうる候補地である(図の影をつ
けたセル)。
【0046】候補地である1つのセルCell jにコ
ンポーネントAがある場合、Aに関する配置の評価値
は、
【数5】
【0047】ここで、コンポーネントA以外のコンポー
ネントComp i2については、それぞれが配置された
セルCell j2がわかっている。候補地のセルの中で
最小の評価値をあたえるものがCell j0すなわち、 とすればこの最小値を与えるセルはすべてAの最適配置
であり(図9)、それらの1つには元の最適解が含まれ
るはずである。
【0048】コンポーネントAを配置する問題は、Comp
iがCell jにあるとき、XAj = 1、それ以外の
とき、XAj =0となる。また、j ∈ E[A]と
いう条件がある。
【0049】ここでE[A]は配置できるセルの番号の
すべて。つまり、全セルからコンポーネントA以外のコ
ンポーネントが配置されているセルを除いた集合であ
る。
【0050】このため、以下の条件式が成立する。
【数6】
【0051】また、このとき最小化する目標関数LA
は、
【数7】
【0052】ここで J(i2) は Compi2 が配置され
ているセルの番号であるが、このセルの位置をComp i2
が配置される可能性があるセルの重心G(i2)と考え
て、Dc(j,J(i2))をD(j,G(i2))と書き直せ
ば、
【数8】 である。
【0053】こんどは、図10に示すように、コンポー
ネントA 以外のコンポーネントもそれぞれ最終的に配
置されたセルの近傍の複数のセルを候補地として持って
いる状態を想定しよう。たとえば図10は、Comp i
2は、その候補地として4つのセルをもち、Comp i
3がその候補地として5つのセルをもっている様子を表
現している(図11)。
【0054】このような状態で、A以外のコンポーネン
トComp i2の候補地の重心をG(i2)として評価関
数はL'Aは、
【数9】 となる。
【0055】これはA以外のコンポーネントComp i
2がそれぞれの候補地の重心にあると仮定したことにな
る。もし、Comp i2のそれぞれの候補地の重心が、
それぞれの最適配置セルの位置に十分近ければ、この
L'Aを最小にするAの配置もやはり最適解に近いこと
が期待できる。
【0056】ここまでは、コンポーネントAを基準に考
えてきたが、任意のコンポーネントについて同様に考え
ることができる。
【0057】Comp iの配置の評価関数は、
【数10】
【0058】したがって、配置全体の評価関数として、
【数11】 が目的の評価関数Lの1つの近似値とすることができ
る。
【0059】コンポーネントの数mとセルの数nの関係
は、n≧mなので、割当て問題の形式にするために、
(n−m)個のダミーコンポーネントを導入して条件を
以下のように書き換えることができる。
【0060】まず、どこか1つのセルに配置されるの
で、
【数12】
【0061】また、1つのセルにはかならず1コンポー
ネントが配置されるので、
【数13】
【0062】最小化する目標関数L'は、
【数14】
【0063】ダミーコンポーネントに対する Rf およ
び Rc をすべて0 とすれば、
【数15】
【0064】この式は、割り当て問題に他ならない。こ
の割当て問題の解は、元の配置問題の制限式を満たすの
で、元の配置問題の実行可能解であることは明らかであ
る。
【0065】D−3.候補縮小化アルゴリズム もしコンポーネントの配置候補地のセルの中で、実行可
能解を持ちながらより小さくなるように徐々に減少さ
せ、それぞれのコンポーネントの候補地が1つになるよ
うにすれば、最適解に近づいてよりよい解が得られるこ
とが期待できる。問題はどのような基準で候補地のセル
を減らすかである。Comp iについてみればCel
l jに配置したときの評価値は、
【数16】 であるが、Aijが大きいセルは配置候補としては好ま
しくないと考える。
【0066】本発明の好適な実施例において、好ましく
ないセルの内どのような基準でそれを削除するかを削除
基準と呼ぶこととする。削除基準によって解に至るスピ
ードも解の精度(最適解との差)も当然変わりうるので
非常に重要である。最も自然な削除基準は最大のAij
を削除するというものなのでこれをまず採用する。
【0067】つまり、ある時点でのComp iの候補
セル集合をC[i]とするとき、 Aijmax = Max{Aij | j∈C
[i]} を配置に不適当なセルと見てC[i]から除く。 1.すべてのコンポーネントそれぞれの配置候補地が最
初は全セルとする。 2.それぞれのコンポーネントComp i(i=1,
2,...,m)の候補地の全てのセルの位置の重心G
(i)を求める。 3.つぎの Aijを計算する。
【数17】 なお、i=m+1,...,nについてはAij=0と
する。
【0068】4.Aij を行列要素にして 割り当て
問題を解く。その解のうちCompi(i=1,
2,...,m)とそれが割り当てられたセルの番号の
組合わせの集合を実行可能解Sとする。 S = {j1,j2,...,jm}
【0069】5.すべてのiについて、 Aijmax = Max{Aij | j∈C[i]} を求め、jmaxをC[i]から削除したものを新たな
C[i]とする。ただし、実行可能解Sにあるjiは除
かない。これ以上候補地を削除できなくなれば、その時
の実行可能解を最善解とする。最善解が得られていない
なら、2.に戻る。
【0070】D−4.例題 本発明の好適な実施例における最適配置決定手順を図1
2の例を用いて説明する。この例では、3つの固定コン
ポーネント(Fix1〜3)が存在し、9個のセル(C
ell1〜9)の何れかに4つのコンポーネント(Co
mp1〜4)を配置する。
【0071】固定コンポーネントとコンポーネントとの
関係・コンポーネント同士の関係を図13、14に示
す。図に示すように、この例では、Comp1とFix
1を、Comp3とFix2を、Comp4とFix3
を夫々接続する必要があり、また、Comp1とCom
p2を、Comp2とComp3を、Comp2とCo
mp4を夫々接続する必要がある。
【0072】ここで、各固定コンポーネントと各セルの
座標は、 Fix1:(3,9) Fix2:(9,7) Fix3:(5,1) Cell1:(3,3) Cell2:(5,3) Cell3:(7,3) Cell4:(3,5) Cell5:(5,5) Cell6:(7,5) Cell7:(3,7) Cell8:(5,7) Cell9:(7,7) であるとする。
【0073】1−1.まず、4つのコンポーネントの候
補地の初期値は、候補地の除外を行っていないため、 C1[1]={1,2,3,4,5,6,7,8,9} C2[1]={1,2,3,4,5,6,7,8,9} C3[1]={1,2,3,4,5,6,7,8,9} C4[1]={1,2,3,4,5,6,7,8,9} である。
【0074】2−1.このとき、候補地の重心は、それ
ぞれ G1(1)=(5,5) G1(2)=(5,5) G1(3)=(5,5) G1(4)=(5,5) である。
【0075】3−1.このときの評価値Aijを計算する
と、
【表1】 8.8 8.3 10.0 6.0 4.5 7.7 4.8 4.8 7.3 8.5 6.0 8.5 6.0 0 6.0 8.5 6.0 8.5 10.0 7.7 7.3 8.3 4.5 4.8 8.8 6.0 4.8 5.7 4.0 5.7 6.5 4.0 6.5 9.2 8.0 9.2 なお、この行列式は、CompiをCelljに配置
し、他のコンポーネントを重心の位置に配置したときの
評価値である。
【0076】例えば、A12は、Comp1をCell
2に配置し、他のコンポーネントを位置(5,5)に配
置したときの評価値であので、 Aij = (Comp1、Fix1間の線数×Comp1、Fix1間の距離) +(Comp1、Comp2間の線数×Comp1、Comp2間の距離) = (1×((3−5)2+(9−3)21/2) +(1×((5−5)2+(3−5)21/2) = 8.3246
【0077】4−1.割当て問題を解く。 Aijの各行から同じ値を引いても最適解は変らないの
で、各行の最小値(4.5、0、4.5、4)を引く
と、
【表2】 4.3 3.8 5.5 1.5 0 3.2 0.3 0.3 2.8 8.5 6.0 8.5 6.0 0 6.0 8.5 6.0 8.5 5.5 3.2 2.8 3.8 0 0.3 4.3 1.5 0.3 1.7 0 1.7 2.5 0 2.5 5.2 4.0 5.2
【0078】Aijの各列から同じ値を引いても最適解
は変らないので、各列の最小値(1.7、0、1.7、
1.5、0、0.3、0.3、0.3)を引くと、
【表3】 2.6 3.8 3.8 0 0 2.9 0 0 2.5 6.8 6.0 6.8 4.5 0 5.7 8.2 5.7 8.2 3.8 3.2 1.1 2.3 0 0 4.0 1.2 0 0 0 0 1.0 0 2.2 4.9 3.7 4.9
【0079】同じ行、同じ列から2つ以上0を選ばない
ように4つの0がとれれば、それが最適解となる。行1
から列4の0を取るとすると、行2は5、行3は、6か
9、行4は1か2か3。行1から列7の0を取るとする
と、行2は5、行3は、6か9、行4は1か2か3。行
1から列8の0を取るとすると、行2は5、行3は、6
か9、行4は1か2か3。ここでは、最適解のなかの1
つであるS1={7,5,9,2}を解としておく。
【0080】5−1.候補を縮少する Aijの行1の最大値は列3の「10.0」なので候補からCell3
を削除して、C2[1]={1,2,4,5,6,7,8,9}とする(図1
5)。Aijの行2の最大値は列1,3,7,9の8.5なのでCell1,
3,7,9を削除して、C2[2]={2,4,5,6,8}とする(図1
6)。Aijの行3の最大値は列1の10.0なのでCell1を削除
して、C2[3]={2,3,4,5,6,7,8,9}とする(図17)。Aij
の行4の最大値は列7,9の9.2なのでCell7,9を削除して、
C2[4]={1,2,3,4,5,6,8}とする(図18)。
【0081】2−2.再び候補地の重心を計算すると、 G2(1)=(4.8,5.3) G2(2)=(5,5) G2(3)=(5.3,5.3) G2(4)=(5,4.4)
【0082】3−2.また、評価値Aijは、
【表4】 8.8 8.3 10.0 6.0 4.5 7.7 4.8 4.8 7.3 8.5 6.0 8.5 6.1 1.3 6.1 8.6 6.0 8.6 10.0 7.7 7.3 8.3 4.5 4.8 8.8 6.0 4.8 5.7 4.0 5.7 6.5 4.0 6.5 9.2 8.0 9.2
【0083】4−2.配置問題の解を4−1.と同様に
解くと、S2={7,5,9,2}
【0084】5−2.候補地を減少 Aij の行1の最大値は候補地1,2,4,5,6,7,8,9に対応す
る列の中では列1の8.8なのでCell1を削除して(図1
9)、 C3[1]={2,4,5,6,7,8,9} 同様に行2,3,4に対して候補地に対応する列の中の最大
値を削除すると(図20〜22)、 C3[2]={2,5,8} C3[3]={2,3,4,5,6,8,9} C3[4]={1,2,3,4,5,6}
【0085】2−3.候補地の重心 G3(1)=(5,5.6) G3(2)=(5,5) G3(3)=(5.6,5) G3(4)=(5,4)
【0086】3−3.評価値Aijは
【表5】 8.8 8.3 10.0 6.0 4.5 7.7 4.8 4.8 7.3 8.8 5.7 8.0 6.9 2.1 5.7 9.3 6.5 8.5 10.0 7.7 7.3 8.3 4.5 4.8 8.8 6.0 4.8 5.7 4.0 5.7 6.5 4.0 6.5 9.2 8.0 9.2
【0087】4−3.配置問題の解を4−1.と同様に
解くと、S3={7,5,9,2}
【0088】5−3.候補地を縮小する(図23〜2
6)。 Aijの行1の最大値は候補地2,4,5,6,7,8,9に対応する列
の中では列2の 8.3 なのでCell 2を削除して、 C3[1]={4,5,6,7,8,9} 同様に行2,3,4に対して候補地に対応する列の中の最大
値から C3[2]={2,5} C3[3]={2,3,5,6,8,9} C3[4]={1,2,3,5}
【0089】2−4.これにより、候補地の重心は、 G4(1)=(5,6) G4(2)=(5,4) G4(3)=(6,5) G4(4)=(5,3.5)
【0090】3−4.このときの評価値Aijは、
【表6】 8.2 7.3 9.4 6.2 5.5 7.9 5.6 5.8 8.1 9.3 5.7 7.9 7.7 3.5 5.7 9.9 6.7 8.5 9.4 6.7 6.7 8.6 5.5 5.1 9.6 7.0 5.6 5.1 3.0 5.1 6.7 5.0 6.7 9.9 9.0 9.9
【0091】4−4.配置問題の解を4−1.と同様に
解くと、S4={7,5,9,2}
【0092】5−4.候補地を縮小する Aijの行1の最大値は候補地4,5,6,7,8,9に対応する列の
中では、列9の8.1なのでCell9を削除して、C4[1]={4,5,
6,7,8}となる。同様に行2,3,4に対して候補地に対応す
る列の中の最大値から候補地を縮小すると、C4[2]=
{5}、C4[3]={2,3,5,6,9}、C4[4]={2,5}となる。
【0093】ここで、C4[2]={5}からComp2の候補地はCe
ll5だけなので、これを確定して他のコンポーネントの
候補地から除外すると、Comp4の候補地がCell2だ
けとなって確定するためやはりこれを他の候補地から除
外すると、C4[1]={4,6,7,8}、C4[2]={5}、C4[3]={3,6,
9}、C4[4]={2}となる(図27〜30)。
【0094】2−5.これにより、候補地の重心は、 G5(1)=(4.5,6) G5(2)=(5,5) G5(3)=(7,5) G5(4)=(5,3)
【0095】3−5.このときの評価値Aijは、
【表7】 8.8 8.3 10.0 6.0 4.5 7.7 4.8 4.8 7.3 9.8 5.9 7.9 8.6 5.1 5.5 10.7 7.9 9.2 10.0 7.7 7.3 8.3 4.5 4.8 8.8 6.0 4.8 5.7 4.0 5.7 6.5 4.0 6.5 9.2 8.0 9.2
【0096】4−5.配置問題の解を4−1.と同様に
解くと、S5={7,5,9,2}
【0097】5−5.候補地を縮小する。 Aijの行1の最大値は候補地4,6,7,8に対応する列の中で
最大のものは、列6の7.7なのでCell6を削除して、C4[1]
={4,7,8}となる。同様に行3に対して候補地に対応する
列の中の最大値を除外すると、C4[3]={6,9}となる。C4
[2]={5}、C4[4]={2}は確定している(図31〜34)。
【0098】2−6.このとき候補地の重心は、 G6(1)=(3.7,6.3) G6(2)=(5,5) G6(3)=(7,6) G6(4)=(5,3)
【0099】3−6.評価値Aijは、
【表8】 8.8 8.3 10.0 6.0 4.5 7.7 4.8 4.8 7.3 10.4 7.2 9.7 8.4 6.1 7.4 9.5 7.7 8.9 10.0 7.7 7.3 8.3 4.5 4.8 8.8 6.0 4.8 5.7 4.0 5.7 6.5 4.0 6.5 9.2 8.0 9.2
【0100】4−6.配置問題の解を4−1.と同様に
解くと、S6={7,5,9,2}
【0101】5−6.候補地を縮小する。 Aijの行1の最大値は候補地4,7,8に対応する列の中では
列4の6.0が最大であるのでCell4を削除して、C4[1]={7,
8}とする。行3に対して候補地に対応する列の中の最大
値はともに4.8なので、そのままそれらを候補地として
残し、C4[3]={6,9}とする(図34〜38)。
【0102】2−7.候補地の重心は、 G7(1)=(4,7) G7(2)=(5,5) G7(3)=(7,6) G7(4)=(5,3)
【0103】3−7.評価値Aijは、
【表9】 8.8 8.3 10.0 6.0 4.5 7.7 4.8 4.8 7.3 11.1 7.7 10.0 9.2 6.5 7.4 9.6 7.2 8.5 10.0 7.7 7.3 8.3 4.5 4.8 8.8 6.0 4.8 5.7 4.0 5.7 6.5 4.0 6.5 9.2 8.0 9.2
【0104】4−7.割当問題の解を4−1.と同様に
解くと、S6={7,5,9,2}
【0105】5−7.候補地を縮小する。 Aijの行1の候補地7,8に対応する列の値は、いずれも4.8
なのでそのまま残し、C7[1]={7,8}とする。行3に対し
て候補地6,9に対応する列の値もともに4.8なので、その
ままそれらを候補地として残し、C7[3]={6,9}とする。C
7[2]={5}と、C7[4]={2}は、変更なし。
【0106】これ以上候補地は減らないので割当問題の
解を採用して、C[1]={7},C[2]={5},C[3]={6},C[4]={2}
を配置問題の最善解とする。5−7.によれば、C[1]=
{8}もC[3]={9}も解になりうるので、 C[1]={8},C[2]={5},C[3]={6},C[4]={2} C[1]={7},C[2]={5},C[3]={9},C[4]={2} C[1]={8},C[2]={5},C[3]={9},C[4]={2} も最善解といえる(図39〜42)。
【0107】配置の評価関数Lはそれぞれ La= Df(1,7)+Df(2,6)+Df(3,2) +1/2(D(7,5)+D(5,7)+D(5,6)+D(5,2)+D(6,5)+D(2,5)) = 2 + √8 + 2 + 1/2(√8 + √8 + 2 + 2 + 2 + 2) = 8+ 2√8
【0108】 Lb= Df(1,8)+Df(2,6)+Df(3,2) +1/2(D(8,5)+D(5,8)+D(5,6)+D(5,2)+D(6,5)+D(2,5)) = √8 + √8 + 2 + 1/2(2 + 2 + 2 + 2 + 2 + 2) = 8 + 2√8
【0109】 Lc= Df(1,7)+Df(2,9)+Df(3,2) +1/2(D(7,5)+D(5,7)+D(5,9)+D(5,2)+D(9,5)+D(2,5)) = 2 + 2 + 2 + 1/2(√8 + √8 + √8 + 2 +√8 + 2) = 8+ 2√8
【0110】 Ld= Df(1,8)+Df(2,9)+Df(3,2) +1/2(D(8,5)+D(5,8)+D(5,9)+D(5,2)+D(9,5)+D(2,5)) = √8 + 2 + 2 + 1/2(2 + 2 + √8 + 2 + √8 + 2) = 8 + 2√8 ですべて等しい。
【0111】
【発明の効果】以上説明したように、本発明によれば、
計算量を可能な限り削減しつつ、評価値の高いコンポー
ネントの配置を高速に行うことができる。
【0112】
【図面の簡単な説明】
【図1】 本発明の最適配置決定システムのハードウェ
ア構成の一実施例を示す概観図が示されている。
【図2】 コンポーネントがICである場合における配
置上の制約を説明する図である。
【図3】 コンポーネントがICである場合における問
題の簡略化を説明する図である。
【図4】 本発明の好適な実施例における固定コンポー
ネントとコンポーネントの結線状況を説明する概念図で
ある。
【図5】 本発明の好適な実施例におけるコンポーネン
ト同士の結線状況を説明する概念図である。
【図6】 本発明の好適な実施例における最適配置方法
の計算過程を説明するための概念図である。
【図7】 本発明の好適な実施例における最適配置方法
の計算過程を説明するための概念図である。
【図8】 本発明の好適な実施例における最適配置方法
の計算過程を説明するための概念図である。
【図9】 本発明の好適な実施例における最適配置方法
の計算過程を説明するための概念図である。
【図10】 本発明の好適な実施例における最適配置方
法の計算過程を説明するための概念図である。
【図11】 本発明の好適な実施例における最適配置方
法の計算過程を説明するための概念図である。
【図12】 本発明の好適な実施例における最適配置方
法の対象となるモデルを説明するための概念図である。
【図13】 本発明の好適な実施例における最適配置方
法の対象となるモデルを説明するための概念図である。
【図14】 本発明の好適な実施例における最適配置方
法の対象となるモデルを説明するための概念図である。
【図15】 本発明の好適な実施例における最適配置方
法の計算過程を説明するための概念図である。
【図16】 本発明の好適な実施例における最適配置方
法の計算過程を説明するための概念図である。
【図17】 本発明の好適な実施例における最適配置方
法の計算過程を説明するための概念図である。
【図18】 本発明の好適な実施例における最適配置方
法の計算過程を説明するための概念図である。
【図19】 本発明の好適な実施例における最適配置方
法の計算過程を説明するための概念図である。
【図20】 本発明の好適な実施例における最適配置方
法の計算過程を説明するための概念図である。
【図21】 本発明の好適な実施例における最適配置方
法の計算過程を説明するための概念図である。
【図22】 本発明の好適な実施例における最適配置方
法の計算過程を説明するための概念図である。
【図23】 本発明の好適な実施例における最適配置方
法の計算過程を説明するための概念図である。
【図24】 本発明の好適な実施例における最適配置方
法の計算過程を説明するための概念図である。
【図25】 本発明の好適な実施例における最適配置方
法の計算過程を説明するための概念図である。
【図26】 本発明の好適な実施例における最適配置方
法の計算過程を説明するための概念図である。
【図27】 本発明の好適な実施例における最適配置方
法の計算過程を説明するための概念図である。
【図28】 本発明の好適な実施例における最適配置方
法の計算過程を説明するための概念図である。
【図29】 本発明の好適な実施例における最適配置方
法の計算過程を説明するための概念図である。
【図30】 本発明の好適な実施例における最適配置方
法の計算過程を説明するための概念図である。
【図31】 本発明の好適な実施例における最適配置方
法の計算過程を説明するための概念図である。
【図32】 本発明の好適な実施例における最適配置方
法の計算過程を説明するための概念図である。
【図33】 本発明の好適な実施例における最適配置方
法の計算過程を説明するための概念図である。
【図34】 本発明の好適な実施例における最適配置方
法の計算過程を説明するための概念図である。
【図35】 本発明の好適な実施例における最適配置方
法の計算過程を説明するための概念図である。
【図36】 本発明の好適な実施例における最適配置方
法の計算過程を説明するための概念図である。
【図37】 本発明の好適な実施例における最適配置方
法の計算過程を説明するための概念図である。
【図38】 本発明の好適な実施例における最適配置方
法の計算過程を説明するための概念図である。
【図39】 本発明の好適な実施例における最適配置方
法の計算結果を説明するための概念図である。
【図40】 本発明の好適な実施例における最適配置方
法の計算結果を説明するための概念図である。
【図41】 本発明の好適な実施例における最適配置方
法の計算結果を説明するための概念図である。
【図42】 本発明の好適な実施例における最適配置方
法の計算結果を説明するための概念図である。
【符号の説明】
、 101 プリント基盤 103 IC 105 ピン 107 配線 109 ジャンパ 111 コネクタ 121 コンポーネント 123 セル 125 固定コンポーネント 127 結線
フロントページの続き (56)参考文献 特開2000−259682(JP,A) 特開 平3−215962(JP,A) 特開 平3−91943(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 17/50

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】複数のセルの位置情報と、前記セルの何れ
    かに配置する複数のコンポーネントの内の所定のコンポ
    ーネント同士の結線情報(コンポーネント間結線情報)
    とを格納するコンポーネント配置装置で実行されるコン
    ポーネントの配置方法であって、 (a)各コンポーネントの現在の候補地(最適解を構成
    する可能性があると判断されているセルの集合)に基づ
    いて、各コンポーネントの重心を計算する段階と、 (b)各コンポーネントについて、現在の候補地に含ま
    れる各セルにおける評価値を前記コンポーネント間結線
    情報に基づいて計算する段階と、 (c)前記段階(b)で計算された評価値に基づいて、
    前記複数のコンポーネントの内、何れかのコンポーネン
    トの候補地を縮小できるか否かを判断する段階と、 (d)前記段階(c)で何れかのコンポーネントの候補
    地を縮小できると判断された場合には、前記段階(a)
    〜(d)を繰り返す段階と、 (e)前記段階(c)で何れのコンポーネントの候補地
    も縮小でないと判断された場合には、各コンポーネント
    の現在の候補地に基づいて、前記複数のコンポーネント
    の配置を行う段階と、 を含むコンポーネントの配置方法。
  2. 【請求項2】複数のセルの位置情報と、前記セルの何れ
    かに配置する複数のコンポーネントの内の所定のコンポ
    ーネント同士の結線情報(コンポーネント間結線情報)
    と所定の位置に固定された固定コンポーネントと前記複
    数のコンポーネントの内の所定のコンポーネントとの間
    の結線情報(固定コンポーネント結線情報)とを格納す
    るコンポーネント配置装置で実行されるコンポーネント
    の配置方法であって、 (a)各コンポーネントの現在の候補地(最適解を構成
    する可能性があると判断されているセルの集合)に基づ
    いて、各コンポーネントの重心を計算する段階と、 (b)各コンポーネントについて、現在の候補地に含ま
    れる各セルにおける評価値を前記コンポーネント間結線
    情報と固定コンポーネント結線情報に基づいて計算する
    段階と、 (c)前記段階(b)で計算された評価値に基づいて、
    前記複数のコンポーネントの内、何れかのコンポーネン
    トの候補地を縮小できるか否かを判断する段階と、 (d)前記段階(c)で何れかのコンポーネントの候補
    地を縮小できると判断された場合には、前記段階(a)
    〜(d)を繰り返す段階と、 (e)前記段階(c)で何れのコンポーネントの候補地
    も縮小でないと判断された場合には、各コンポーネント
    の現在の候補地に基づいて、前記複数のコンポーネント
    の配置を行う段階と、 を含むコンポーネントの配置方法。
  3. 【請求項3】複数のセルの位置情報と、前記セルの何れ
    かに配置する複数のコンポーネントの内の所定のコンポ
    ーネント同士の結線情報(コンポーネント間結線情報)
    とを格納するコンポーネント配置装置であって、 (a)各コンポーネントの現在の候補地(最適解を構成
    する可能性があると判断されているセルの集合)に基づ
    いて、各コンポーネントの重心を計算する手段と、 (b)各コンポーネントについて、現在の候補地に含ま
    れる各セルにおける評価値を前記コンポーネント間結線
    情報に基づいて計算する手段と、 (c)前記段階(b)で計算された評価値に基づいて、
    前記複数のコンポーネントの内、何れかのコンポーネン
    トの候補地を縮小できるか否かを判断する手段と、 (d)前記段階(c)で何れかのコンポーネントの候補
    地を縮小できると判断された場合には、前記段階(a)
    〜(d)を繰り返す手段と、 (e)前記段階(c)で何れのコンポーネントの候補地
    も縮小でないと判断された場合には、各コンポーネント
    の現在の候補地に基づいて、前記複数のコンポーネント
    の配置を行う手段と、 を含むコンポーネントの配置装置。
  4. 【請求項4】複数のセルの位置情報と、前記セルの何れ
    かに配置する複数のコンポーネントの内の所定のコンポ
    ーネント同士の結線情報(コンポーネント間結線情報)
    とを格納するコンポーネント配置装置で実行されるコン
    ポーネントの配置制御プログラムを格納した記憶媒体で
    あって、 該プログラムは、 (a)各コンポーネントの現在の候補地(最適解を構成
    する可能性があると判断されているセルの集合)に基づ
    いて、各コンポーネントの重心を計算することを前記コ
    ンポーネント配置装置に指示するプログラムコードと、 (b)各コンポーネントについて、現在の候補地に含ま
    れる各セルにおける評価値を前記コンポーネント間結線
    情報に基づいて計算することを前記コンポーネント配置
    装置に指示するプログラムコードと、 (c)前記(b)で計算された評価値に基づいて、前記
    複数のコンポーネントの内、何れかのコンポーネントの
    候補地を縮小できるか否かを判断することを前記コンポ
    ーネント配置装置に指示するプログラムコードと、 (d)前記(c)で何れかのコンポーネントの候補地を
    縮小できると判断された場合には、前記(a)〜(d)
    を繰り返すことを前記コンポーネント配置装置に指示す
    るプログラムコードと、 (e)前記(c)で何れのコンポーネントの候補地も縮
    小でないと判断された場合には、各コンポーネントの現
    在の候補地に基づいて、前記複数のコンポーネントの配
    置を行うことを前記コンポーネント配置装置に指示する
    プログラムコードと、 を含む記憶媒体。
  5. 【請求項5】複数のセルの位置情報と、前記セルの何れ
    かに配置する複数のコンポーネントの内の所定のコンポ
    ーネント同士の結線情報(コンポーネント間結線情報)
    と所定の位置に固定された固定コンポーネントと前記複
    数のコンポーネントの内の所定のコンポーネントとの間
    の結線情報(固定コンポーネント結線情報)とを格納す
    るコンポーネント配置装置で実行されるコンポーネント
    の配置制御プログラムを格納した記憶媒体であって、 該プログラムは、 (a)各コンポーネントの現在の候補地(最適解を構成
    する可能性があると判断されているセルの集合)に基づ
    いて、各コンポーネントの重心を計算することを前記コ
    ンポーネント配置装置に指示するプログラムコードと、 (b)各コンポーネントについて、現在の候補地に含ま
    れる各セルにおける評価値を前記コンポーネント間結線
    情報と固定コンポーネント結線情報に基づいて計算する
    ことを前記コンポーネント配置装置に指示するプログラ
    ムコードと、 (c)前記(b)で計算された評価値に基づいて、前記
    複数のコンポーネントの内、何れかのコンポーネントの
    候補地を縮小できるか否かを判断することを前記コンポ
    ーネント配置装置に指示するプログラムコードと、 (d)前記(c)で何れかのコンポーネントの候補地を
    縮小できると判断された場合には、前記(a)〜(d)
    を繰り返すことを前記コンポーネント配置装置に指示す
    るプログラムコードと、 (e)前記(c)で何れのコンポーネントの候補地も縮
    小でないと判断された場合には、各コンポーネントの現
    在の候補地に基づいて、前記複数のコンポーネントの配
    置を行うことを前記コンポーネント配置装置に指示する
    プログラムコードと、 を含む記憶媒体。
JP06800499A 1999-03-15 1999-03-15 コンポーネントの配置方法、コンポーネント配置装置、コンポーネント配置制御プログラムを格納した記憶媒体 Expired - Fee Related JP3167980B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP06800499A JP3167980B2 (ja) 1999-03-15 1999-03-15 コンポーネントの配置方法、コンポーネント配置装置、コンポーネント配置制御プログラムを格納した記憶媒体
US09/520,729 US6529791B1 (en) 1999-03-15 2000-03-08 Apparatus and method for placing a component

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP06800499A JP3167980B2 (ja) 1999-03-15 1999-03-15 コンポーネントの配置方法、コンポーネント配置装置、コンポーネント配置制御プログラムを格納した記憶媒体

Publications (2)

Publication Number Publication Date
JP2000268060A JP2000268060A (ja) 2000-09-29
JP3167980B2 true JP3167980B2 (ja) 2001-05-21

Family

ID=13361301

Family Applications (1)

Application Number Title Priority Date Filing Date
JP06800499A Expired - Fee Related JP3167980B2 (ja) 1999-03-15 1999-03-15 コンポーネントの配置方法、コンポーネント配置装置、コンポーネント配置制御プログラムを格納した記憶媒体

Country Status (2)

Country Link
US (1) US6529791B1 (ja)
JP (1) JP3167980B2 (ja)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8149048B1 (en) 2000-10-26 2012-04-03 Cypress Semiconductor Corporation Apparatus and method for programmable power management in a programmable analog circuit block
US8103496B1 (en) 2000-10-26 2012-01-24 Cypress Semicondutor Corporation Breakpoint control in an in-circuit emulation system
US7765095B1 (en) 2000-10-26 2010-07-27 Cypress Semiconductor Corporation Conditional branching in an in-circuit emulation system
US8160864B1 (en) 2000-10-26 2012-04-17 Cypress Semiconductor Corporation In-circuit emulator and pod synchronized boot
US6724220B1 (en) 2000-10-26 2004-04-20 Cyress Semiconductor Corporation Programmable microcontroller architecture (mixed analog/digital)
US8176296B2 (en) 2000-10-26 2012-05-08 Cypress Semiconductor Corporation Programmable microcontroller architecture
US7406674B1 (en) 2001-10-24 2008-07-29 Cypress Semiconductor Corporation Method and apparatus for generating microcontroller configuration information
US8078970B1 (en) 2001-11-09 2011-12-13 Cypress Semiconductor Corporation Graphical user interface with user-selectable list-box
US8042093B1 (en) 2001-11-15 2011-10-18 Cypress Semiconductor Corporation System providing automatic source code generation for personalization and parameterization of user modules
US7844437B1 (en) 2001-11-19 2010-11-30 Cypress Semiconductor Corporation System and method for performing next placements and pruning of disallowed placements for programming an integrated circuit
US7774190B1 (en) 2001-11-19 2010-08-10 Cypress Semiconductor Corporation Sleep and stall in an in-circuit emulation system
US8069405B1 (en) 2001-11-19 2011-11-29 Cypress Semiconductor Corporation User interface for efficiently browsing an electronic document using data-driven tabs
US6971004B1 (en) 2001-11-19 2005-11-29 Cypress Semiconductor Corp. System and method of dynamically reconfiguring a programmable integrated circuit
US7770113B1 (en) 2001-11-19 2010-08-03 Cypress Semiconductor Corporation System and method for dynamically generating a configuration datasheet
US8103497B1 (en) 2002-03-28 2012-01-24 Cypress Semiconductor Corporation External interface for event architecture
US7308608B1 (en) 2002-05-01 2007-12-11 Cypress Semiconductor Corporation Reconfigurable testing system and method
US7761845B1 (en) 2002-09-09 2010-07-20 Cypress Semiconductor Corporation Method for parameterizing a user module
FR2865052B1 (fr) * 2004-01-09 2006-03-31 Airbus France Procede de realisation d'un schema de cable electrique
US7295049B1 (en) 2004-03-25 2007-11-13 Cypress Semiconductor Corporation Method and circuit for rapid alignment of signals
US20050216109A1 (en) * 2004-03-29 2005-09-29 Radigan Thomas J Integrated precision machine design system and method
US8286125B2 (en) 2004-08-13 2012-10-09 Cypress Semiconductor Corporation Model for a hardware device-independent method of defining embedded firmware for programmable systems
US8069436B2 (en) 2004-08-13 2011-11-29 Cypress Semiconductor Corporation Providing hardware independence to automate code generation of processing device firmware
US7332976B1 (en) 2005-02-04 2008-02-19 Cypress Semiconductor Corporation Poly-phase frequency synthesis oscillator
US7400183B1 (en) 2005-05-05 2008-07-15 Cypress Semiconductor Corporation Voltage controlled oscillator delay cell and method
US8089461B2 (en) 2005-06-23 2012-01-03 Cypress Semiconductor Corporation Touch wake for electronic devices
US8085067B1 (en) 2005-12-21 2011-12-27 Cypress Semiconductor Corporation Differential-to-single ended signal converter circuit and method
US8067948B2 (en) 2006-03-27 2011-11-29 Cypress Semiconductor Corporation Input/output multiplexer bus
US8092083B2 (en) 2007-04-17 2012-01-10 Cypress Semiconductor Corporation Temperature sensor with digital bandgap
US9564902B2 (en) 2007-04-17 2017-02-07 Cypress Semiconductor Corporation Dynamically configurable and re-configurable data path
US8130025B2 (en) 2007-04-17 2012-03-06 Cypress Semiconductor Corporation Numerical band gap
US8516025B2 (en) 2007-04-17 2013-08-20 Cypress Semiconductor Corporation Clock driven dynamic datapath chaining
US8040266B2 (en) 2007-04-17 2011-10-18 Cypress Semiconductor Corporation Programmable sigma-delta analog-to-digital converter
US7737724B2 (en) 2007-04-17 2010-06-15 Cypress Semiconductor Corporation Universal digital block interconnection and channel routing
US8026739B2 (en) 2007-04-17 2011-09-27 Cypress Semiconductor Corporation System level interconnect with programmable switching
US9720805B1 (en) 2007-04-25 2017-08-01 Cypress Semiconductor Corporation System and method for controlling a target device
US8065653B1 (en) 2007-04-25 2011-11-22 Cypress Semiconductor Corporation Configuration of programmable IC design elements
US8266575B1 (en) 2007-04-25 2012-09-11 Cypress Semiconductor Corporation Systems and methods for dynamically reconfiguring a programmable system on a chip
US8049569B1 (en) 2007-09-05 2011-11-01 Cypress Semiconductor Corporation Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes
US9448964B2 (en) 2009-05-04 2016-09-20 Cypress Semiconductor Corporation Autonomous control in a programmable system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR1502554A (ja) * 1965-12-01 1968-02-07
JPH05216962A (ja) * 1992-02-06 1993-08-27 Nec Corp 領域見積り方式
US5550750A (en) * 1993-05-28 1996-08-27 Mentor Graphics Corporation Method and system for integrating component analysis with multiple component placement
US6363518B1 (en) * 1993-11-04 2002-03-26 Cadence Design Systems, Inc. Automated positioning of relative instances along a given dimension
JPH09205149A (ja) * 1996-01-25 1997-08-05 Nec Corp 半導体集積回路のレイアウト方法
US5781446A (en) * 1996-05-07 1998-07-14 Flexible Solutions, Inc. System and method for multi-constraint domain electronic system design mapping

Also Published As

Publication number Publication date
US6529791B1 (en) 2003-03-04
JP2000268060A (ja) 2000-09-29

Similar Documents

Publication Publication Date Title
JP3167980B2 (ja) コンポーネントの配置方法、コンポーネント配置装置、コンポーネント配置制御プログラムを格納した記憶媒体
US11847397B1 (en) Barycenter compact model to determine IR drop exact solution for circuit network
CN107943777A (zh) 一种协同编辑、协同处理方法、装置、设备及存储介质
US6571152B1 (en) Creation method and apparatus of network configuration for power system
JP2009054172A (ja) 配線処理方法及び配線処理装置並びに配線処理プログラム用記録媒体
US8006219B2 (en) Wiring path information creating method and wiring path information creating apparatus
JP2002532693A5 (ja)
US20040128638A1 (en) Method and apparatus for selecting and aligning cells using a placement tool
US8930869B2 (en) Method, program, and apparatus for aiding wiring design
US6651237B2 (en) System and method for H-Tree clocking layout
US6425114B1 (en) Systematic skew reduction through buffer resizing
US20050050500A1 (en) The use of a layout-optimization tool to increase the yield and reliability of vlsi designs
US6510542B1 (en) Method of placing a repeater cell in an electricalcircuit
US20020010692A1 (en) Layout method arranging nodes corresponding to lsi elements having a connecting relationship
US20060090152A1 (en) Schematic diagram generation and display system
US8060853B2 (en) Semiconductor integrated circuit designing apparatus, semiconductor integrated circuit designing method and semiconductor device
JP3147045B2 (ja) Lsiレイアウトのセル階層検証方法およびその装置
JP5326471B2 (ja) クロック信号供給回路の設計方法、情報処理装置およびプログラム
US20090292517A1 (en) Molecular design method and computer-readable storage medium
US20050050501A1 (en) The use of a layout-optimization tool to increase the yield and reliability of vlsi designs
JP4268694B2 (ja) 配線処理方法及び配線処理装置並びに配線処理プログラム用記録媒体
JP4778339B2 (ja) 自動配置方法、装置、及びプログラム
JP2009146175A (ja) クロック配線処理装置、クロック配線処理方法、及びプログラム
CN100377056C (zh) 图像显示控制设备以及其程序和方法
US20050048677A1 (en) The use of a layout-optimization tool to increase the yield and reliability of vlsi designs

Legal Events

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