JP4241802B2 - 部品配置支援装置、方法およびプログラム - Google Patents

部品配置支援装置、方法およびプログラム Download PDF

Info

Publication number
JP4241802B2
JP4241802B2 JP2006292932A JP2006292932A JP4241802B2 JP 4241802 B2 JP4241802 B2 JP 4241802B2 JP 2006292932 A JP2006292932 A JP 2006292932A JP 2006292932 A JP2006292932 A JP 2006292932A JP 4241802 B2 JP4241802 B2 JP 4241802B2
Authority
JP
Japan
Prior art keywords
component
arrangement
placement
layer
rule
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
JP2006292932A
Other languages
English (en)
Other versions
JP2008108217A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2006292932A priority Critical patent/JP4241802B2/ja
Priority to US11/924,820 priority patent/US20080104567A1/en
Publication of JP2008108217A publication Critical patent/JP2008108217A/ja
Application granted granted Critical
Publication of JP4241802B2 publication Critical patent/JP4241802B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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)
  • Supply And Installment Of Electrical Components (AREA)

Description

本発明は、部品を配置すべき複数の部品配置層を持つ電子機器に対する部品の配置案を作成する部品配置支援装置、方法およびプログラムに関する。
電子機器を設計する際には、電子機器を構成する部品群をいかにコンパクトに筐体内に配置するかが1つの重要な課題である。電子機器の部品配置の特徴には、複数の層に分けて配置可能なことが多い点がある。例えば、基板の上面に配置される電子部品群は1つの層に属し、基板の下面に配置される電子部品群は別の層に属する。また、端子部品は筐体の端に配置しなければならない等の配置範囲に関する制約が多い点も特徴のである。部品配置を行う際は、筐体全体の高さができるだけ低くなるように配置を行うことが望まれる。
非特許文献1には2次元ビンパッキング問題(部品をコンパクトに配置する問題)の近似解を高速に導出する方法が記述されており(ビンパッキング問題は、NP困難(NP−hard)に属する問題であるため最良の解を導出するには指数時間かかる)、非特許文献2には3次元ビンパッキング問題の近似解を高速に導出する方法が記述している。いずれの文献も、部品の配置制約などは考慮されておらず、上述のような配置範囲に制約のある電子部品を予め定められた複数の層に分けて配置するケースは解決できない。
E.G. Coffman.Jr, M.R. Garey, D.S.Johnson, 1984, Approximation Algorithms for Bin-packing−An Updated Survay, Algorithm Design for Computer System Design, 1984, 49-106 William B. Dowsland, 1991, Three-dimensional Packing−Solution Approaches and Heuristic Development, International Journal of Production Research, Vol.29, No.8, 1673-1685
本発明は、部品を配置すべき複数の部品配置層をもつ電子機器に対する部品の配置案を作成可能な部品配置支援装置、方法およびプログラムを提供する。
本発明の一態様としての部品配置支援装置は、
部品を配置する少なくとも第1部品配置層および第2部品配置層を含む電子機器に対する部品の配置案を作成する部品配置支援装置であって、
前記第1部品配置層に配置すべき複数の各第1部品の寸法を表した第1部品情報と、前記第2部品配置層に配置すべき複数の各第2部品の寸法を表した第2部品情報とを記憶する部品情報記憶手段と、
前記各第1部品を配置する順番を表す第1配置順位と、前記各第2部品を配置する順番を表す第2配置順位とを決定する部品配置順決定手段と、
前記各第1部品を配置する規則を定めた第1配置規則、前記各第2部品を配置する規則を定めた、前記第1配置規則と異なる第2配置規則を決定する配置規則決定手段と、
前記第1配置順位に示される順番で前記各第1部品を前記第1配置規則にしたがって前記第1部品配置層に配置し、また前記第2配置順位に示される順番で前記各第2部品を前記第2配置規則にしたがって前記第2部品配置層に配置する部品配置手段と、
を備え、
前記第1配置規則は、前記第1部品配置層を平面的に見て、左から上詰め、左から下詰め、右から上詰め、右から下詰め、上から左詰め、上から右詰め、下から左詰め、下から右詰めのうちのいずれかであり、
前記第2配置規則は、前記第2部品配置層を前記第1部品配置層と同一方向から平面的に見て、左から上詰め、左から下詰め、右から上詰め、右から下詰め、上から左詰め、上から右詰め、下から左詰め、下から右詰めのうち前記第1配置規則と異なるいずれかである
ことを特徴とする。
本発明の一態様としての部品配置支援方法は、
部品を配置する少なくとも第1部品配置層および第2部品配置層を含む電子機器に対する部品の配置案を作成する、コンピュータにおいて実行する部品配置支援方法であって、
読み出し手段が、前記第1部品配置層に配置すべき複数の各第1部品の寸法を表した第1部品情報と、前記第2部品配置層に配置すべき複数の各第2部品の寸法を表した第2部品情報とを記憶手段から読み出し、
部品配置順決定手段が、前記各第1部品を配置する順番を表す第1配置順位と、前記各第2部品を配置する順番を表す第2配置順位とを決定し、
配置規則決定手段が、前記各第1部品を配置する規則を定めた第1配置規則、前記各第2部品を配置する規則を定めた、前記第1配置規則と異なる第2配置規則を決定し、
部品配置手段が、前記第1配置順位に示される順番で前記各第1部品を前記第1配置規則にしたがって前記第1部品配置層に配置し、また前記第2配置順位に示される順番で前記各第2部品を前記第2配置規則にしたがって前記第2部品配置層に配置し、
前記第1配置規則は、前記第1部品配置層を平面的に見て、左から上詰め、左から下詰め、右から上詰め、右から下詰め、上から左詰め、上から右詰め、下から左詰め、下から右詰めのうちのいずれかであり、
前記第2配置規則は、前記第2部品配置層を前記第1部品配置層と同一方向から平面的に見て、左から上詰め、左から下詰め、右から上詰め、右から下詰め、上から左詰め、上から右詰め、下から左詰め、下から右詰めのうち前記第1配置規則と異なるいずれかである
ことを特徴とする。
本発明の一態様としてのプログラムは、
部品を配置する少なくとも第1部品配置層および第2部品配置層を含む電子機器に対する部品の配置案を作成するためのプログラムであって、
前記第1部品配置層に配置すべき複数の各第1部品の寸法を表した第1部品情報と、前記第2部品配置層に配置すべき複数の各第2部品の寸法を表した第2部品情報とにアクセスするステップと、
前記各第1部品を配置する順番を表す第1配置順位と、前記各第2部品を配置する順番を表す第2配置順位とを決定するステップと、
前記各第1部品を配置する規則を定めた第1配置規則、前記各第2部品を配置する規則を定めた、前記第1配置規則と異なる第2配置規則を決定するステップと、
前記第1配置順位に示される順番で前記各第1部品を前記第1配置規則にしたがって前記第1部品配置層に配置し、また前記第2配置順位に示される順番で前記各第2部品を前記第2配置規則にしたがって前記第2部品配置層に配置するステップと、
をコンピュータに実行させ、
前記第1配置規則は、前記第1部品配置層を平面的に見て、左から上詰め、左から下詰め、右から上詰め、右から下詰め、上から左詰め、上から右詰め、下から左詰め、下から右詰めのうちのいずれかであり、
前記第2配置規則は、前記第2部品配置層を前記第1部品配置層と同一方向から平面的に見て、左から上詰め、左から下詰め、右から上詰め、右から下詰め、上から左詰め、上から右詰め、下から左詰め、下から右詰めのうち前記第1配置規則と異なるいずれかである
ことを特徴とする。
本発明により、部品を配置すべき複数の部品配置層をもつ電子機器に対する部品の配置案を作成できる。
本実施の形態は、部品を配置すべき複数の部品配置層をもつ電子機器(部品配置空間)に対してコンパクトな部品の配置案を高速に作成しようとするものである。すなわち、電子機器の内部を複数の部品配置層に分離し、2次元平面上での部品配置問題とする。各部品配置層の縦および横の長さ(2次元方向のサイズ)はあらかじめ与えられているものとする。各部品配置層における部品の配置規則をそれぞれ異ならせる(部品の詰め方を異ならせる)ことにより、また、各部品配置層においてそれぞれ部品を配置する順番を変えることにより、各部品配置層を積み重ねたときの高さをできるだけ低くするような部品の配置案を作成する。以下、本実施の形態について詳細に説明する。
図1は、本発明の一実施の形態にしたがった部品配置支援装置の構成を示すブロック図である。図2は、図1の部品配置支援装置の動作を説明するフローチャートである。
以下、図1および図2を用いて、電子機器としてノート型PC(Personal Computer)における主要部品の配置案を作成する例を説明する。主要部品とは、CPU(Central Processing Unit:中央演算処理装置), VGA(Video Graphics Array:グラフィック用チップ), キーボード, バッテリ, ハードディスクドライブ等のPCを構成する比較的大きな部品をさす。ノート型PCの縦・横の長さ(2次元方向のサイズ)は仕様で決まっておりその値を使用する。
まず、ステップ1において、配置層サイズ入力手段101を用いて、部品を配置すべき各部品配置層の情報を入力する。部品配置層(以下単に配置層と称する)の情報は、少なくとも名称(識別子)とそのサイズ(2次元方向におけるサイズ)を入力する。配置層が例えば部品配置部材の表面である場合、該部品配置部材の厚みを配置層の情報の一部として付加的に入力してもよい。
ここでは、配置層の名称として、基板上面層、基板下面層、筐体上面層、筐体内部層の4つを入力し、各層のサイズとしてそれぞれ同一の平面サイズを入力する。本例では各層は矩形の平面形状を有するものとするが、本発明はこれに限られず、例えば円形、楕円形など他の平面形状でもよい。
基板上面層は、基板の上面に取り付ける部品(基板上面部品)が配置される層である。
基板下面層は、当該基板の下面に取り付ける部品(基板下面部品)が配置される層である。
筐体上面層は、筐体内における筐体上面に取り付ける部品(筐体上面部品)が配置される層である。
筐体内部層は、筐体内のどの位置にでも配置可能な部品(筐体内部部品)を配置するための層である。
さらに本ステップ1では、配置部品&個数入力手段102を用いて、ノート型PCの筐体内に配置しようとする各部品の名称(識別子)とその個数を入力する。ここでは部品の名称として、CPU、VGA、第1端子類、メモリ装置、MCH(Memory Controller Hub:ノースブリッジ)、第2端子類、キーボード、タッチパッド、スピーカー、バッテリ、冷却用ファン、ハードディスクドライブ、DVD/CD-ROMドライブを入力する。入力する各部品の個数は、第1端子類および第2端子類が1または複数、これら以外の部品は1とする。配置部品&個数入力手段102および配置層サイズ入力手段101は入力手段100に含まれる。
ここで、図1のデータベース103にはノート型PC内に配置する各部品の部品情報が格納されている。部品情報は、部品の形状・サイズ(縦・横・高さ:寸法)、配置されるべき配置層、当該配置層において配置可能な範囲を含み、少なくともサイズ(縦・横・高さ:寸法)を含む。本例では各部品が配置されるべき配置層として以下の内容が定義されているとする。
(1)基板上面層:CPU、VGA、第1端子類
(2)基板下面層:メモリ装置、MCH、第2端子類
(3)筐体上面層:キーボード、タッチパッド、スピーカー
(4)筐体内部層:冷却用ファン、ハードディスクドライブ、DVD/CD-ROMドライブ
ただし上述のバッテリは、ここでは筐体内における筐体下面に取り付ける部品(筐体下面部品)として、上記4つの配置層のいずれにも属さない。すなわち筐体下面部品は本例では1つのみであるため、他の配置層における部品配置が終了した時点で筐体の高さが最も低くなる位置にバッテリを配置すればよく、したがって筐体下面部品を配置する層として筐体下面配置層を用意しない(配置層サイズ入力手段101から入力しない)こととした。
上述の各部品の配置可能範囲の情報としては、例えば、第1および第2の端子類は各々の配置層において筐体の側面側・背面側のみ、DVD/CD-ROMドライブはその配置層において筐体の側面側・手前面側(ユーザに近い側)のみといった情報が定められる。配置箇所が制限されない旨の情報が定められてもよい。
ここで、本例では、上述のように各部品と、当該部品を配置する配置層との関係をデータベース103において定義しておくこととしたが、そうではなく、入力手段100を用いてユーザにより各部品を配置すべき配置層の情報を入力するようにしてもよい。
次に、ステップ2において、部品配置層分類手段104がデータベース103と入力手段101からデータを読み取り、各部品をそれぞれどの配置層に分類するかを決定する。部品と配置層との関係は上述したようにデータベース103において定義しておいてもよいし、入力手段100を用いてユーザにより入力してもよい。部品配置層分類手段104は、データベース103および入力手段101から読み取ったデータを少なくとも一時的に記憶する記憶手段を有している。
次にステップ3において、部品配置設定手段105が、配置層毎に、部品の配置規則と、どの部品から順番に配置を行うかを示す配置順位とを決定する。すなわち部品配置設定手段105は部品配置順決定手段、配置規則決定手段を有する。
配置規則の例を図3(A)〜図3(H)に示す。大きな矩形の枠W1〜W8は、任意の配置層を平面的に見たときの全体領域を表している(本例では上述したように各配置層の平面形状およびサイズは同じである)。○の中の数字は部品を配置した順番(配置順位)を表している。
図3(A)の「左から下詰め」は、まず部品をできるだけ左側に詰め(寄せ)、次にできるだけ下側に詰める(寄せる)ことを意味する。
図3(B)の「左から上詰め」は、まず部品をできるだけ左側に詰め、次にできるだけ上側に詰めることを意味する。
図3(C)の「右から下詰め」は、まず部品をできるだけ右側に詰め、次にできるだけ下側に詰めることを意味する。
図3(D)の「下から左詰め」は、まず部品をできるだけ下側に詰め、次にできるだけ左側に詰めることを意味する。
図3(E)の「下から右詰め」は、まず部品をできるだけ下側に詰め、次にできるだけ右側に詰めることを意味する。
図3(F)の「右から上詰め」は、まず部品をできるだけ右側に詰め、次にできるだけ上側に詰めることを意味する。
図3(G)の「上から左詰め」は、まず部品をできるだけ上側に詰め、次にできるだけ左側に詰めることを意味する。
図3(H)の「上から右詰め」は、まず部品をできるだけ上側に詰め、次にできるだけ右側に詰めることを意味する。
一方、配置順位としては例えば高さの高い順、面積の大きい順、ランダム順などがある。
本例では、図4(A)〜図4(D)のように、各配置層に対して、配置規則と配置順位が決定されたとする。
図4(A)は、基板上面層に適用する配置規則と、基板上面層に配置する部品の配置順位とを示している。「ID」は各部品の識別子である。なお第1端子類の図示は省略されている。基板上面層には第1端子類を除き「上から左詰め」が適用され、第1端子類には「下から左詰め」が適用される(第1端子類についてはユーザとの親和性を考慮して「下から左詰め」としている)。配置順位についてはCPU、VGAの順となっている。W11は基板上面層の平面領域を表している。この2次元領域は格子状に分割されているが、この理由は後において図6を用いて説明する。
図4(B)は、基板下面層に適用する配置規則と、基板下面層に配置する部品の配置順位とを示している。コネクタは第2端子類の一例である。基板下面層には第2端子類を除き「上から右詰め」が適用され、第2端子類には「下から右詰め」が適用される(第2端子類についてはユーザとの親和性を考慮して「下から右詰め」としている)。W12は基板下面層の平面領域を表している。
図4(C)は、筐体上面層に適用する配置規則と、筐体上面層に配置する部品の配置順位とを示している。筐体上面層には「右から上詰め」が適用される。W13は筐体上面層の平面領域を表している。
図4(D)は、筐体内部層に適用する配置規則と、筐体内部層に配置する部品の配置順位とを示している。筐体内部層には「下から左詰め」が適用される。W14は基板内部層の平面領域を表している。前述した通り、W11〜W14により示される平面領域の形状およびサイズは同じである。
ここで各配置層間において同じ箇所(格子座標)に部品が集中することをできるだけ防いで筐体の高さを低くするため各配置層に適用する配置規則をそれぞれ異ならせている。ただし端子類はユーザとの親和性の観点から配置規則の重複を許すこととし、筐体上面層における第1端子類の配置規則と筐体内部層の配置規則とは重複している。また、このように配置層ごとに配置規則を異ならせると共に、配置順位として高さの高い順、または面積の大きい順とすることにより、有効な部品配置を行うことができる。後者の場合の配置例を図5(A)および図5(B)に示す。図5(A)のように面積の大きい順に配置しなかった場合、配置層Aおよび配置層Bとで部品が重なり筐体が厚くなってしまうが、図5(B)のように面積の大きい順に配置することで配置層間での部品の重なりが低減される。
次にステップ4において、部品配置手段106が、各配置層において、配置箇所が一意に決定される部品をそれぞれ対応する箇所に配置する。本例ではキーボード、タッチパッドがこれにあたるとし、それぞれ筐体上面層における規定の箇所に配置する。
次にステップ5において、部品配置手段106が、基板上面層に配置すべき部品のうち第1端子類を除くものを、部品配置設定手段105により設定された配置規則および配置順位にしたがって配置する。すなわち、CPU、VGAを、この順番で、「上から左詰め」により配置する。なお、配置の際、基板上面層において各部品が互いに重ならないように配置する。
次にステップ6において、部品配置手段106が、基板下面層に配置すべき部品のうち第2端子類を除くものを、部品配置設定手段105により設定された配置規則および配置順位にしたがって配置する。すなわち、MCH、メモリ装置を、この順番で、「上から右詰め」により配置する。なお、配置の際、基板下面層において各部品が互いに重ならないように配置する。
次にステップ7において、筐体上面層に配置すべき部品を、部品配置設定手段105により設定された配置規則および配置順位にしたがって配置する。すなわち、スピーカーを「右から上詰め」で配置する。キーボードおよびタッチパッドはステップ4において既に配置済みである。なお、配置の際、筐体上面層において他の部品と重ならないように配置する。
次にステップ8において、筐体内部層に配置すべき部品を、部品配置設定手段105により設定された配置規則および配置順位にしたがって配置する。すなわち、冷却ファン、ハードディスクドライブ、DVD/CD−ROMドライブを、この順番で、「下から左詰め」により配置する。筐体内部層以外の配置層では、各部品が互いに重ならないように配置するが、筐体内部層については各部品の重なりを許すこととする。ただし、重ねた際に、あらかじめユーザが設定する「筐体の標準高」を超えてしまうような配置になる場合は、重なりを許さないようする。「筐体の標準高」は固定値で設定してもよいし、配置途中の高さ推定値(後述する図6参照)の最大値を利用して決定してもよい。これについての詳細は後述する。
次にステップ9において、基板上面層に配置すべき部品のうち第1端子類を部品配置設定手段105により設定された配置規則および配置順位にしたがって配置する。すなわち、第1端子類を「下から左詰め」により基板上面層に配置する。なお、配置の際、基板上面層において各部品が互いに重ならないように配置する。すでに筐体内部層の部品が同じ位置(層は異なるが格子座標が同じの意味)に配置されており、かつ、設定された上記「筐体の標準高」を超えてしまう場合には、筐体内部層のその部品と重ならないように配置する。
次にステップ10において、基板下面層に配置すべき部品のうち第2端子類を部品配置設定手段105により設定された配置規則および配置順位にしたがって配置する。すなわち第2端子類を「下から右詰め」により配置する。なお、配置の際、基板下面層において各部品が互いに重ならないように配置する。ただし、すでに筐体内部層の部品が同じ位置(層は異なるが格子座標が同じの意味)配置されており、かつ、設定された上記「筐体の標準高」を超えてしまう場合には、筐体内部層の当該部品と重ならないように配置する。
次にステップ11において、格子点高さ評価手段107が、格子点(格子座標)ごとに当該格子座標に存在する全ての部品の高さの和(高さ推定値)を計算する。そして、筐体下面部品を配置した際に、最も低いまたは閾値以下の高さの和(高さ推定値)が得られる格子座標を求め、求めた格子座標の領域に筐体下面部品を配置する。各格子座標における高さの和(高さ推定値)の計算がどのように行われるのかを図6を用いて説明する。
図6において、筐体上面層W21、基板上面層W22、基板下面層W23、筐体内部層W24はそれぞれ平面的に格子状に分割され同じ数(21個)の格子点を有する。筐体上面層W21には、図示の領域Eに高さ1の部品が配置されている。同様に、基板上面層W22には、領域Dに高さ4の部品が配置され、基板下面層W23には、領域Cに高さ1の部品が配置され、筐体内部層W24には、領域Aに高さ3の部品が、領域Bに高さ2の部品が配置されている。各配置層W21〜W24において同一の格子座標における部品の高さを合計することにより、各格子座標における部品の高さの和(高さ推定値)を表した高さ評価データ110が得られる。この高さ評価データ110を用いて、筐体下面部品を配置した際に最も低いまたは閾値以下の高さの和(高さ推定値)が得られる格子座標を求め、求めた格子座標に筐体下面部品を配置する。
ここまでの手順で各配置層への部品配置は終了する。次に立体構造(筐体設計案)を出力するため、立体構造出力手段108において、ステップ12〜ステップ15の処理を行う。立体構造出力手段108は出力手段109に含まれる。立体構造出力手段108は例えば調整手段に相当する。
まずステップ12において、図7に示すように、筐体上面層W31の下に基板上面層W32を、筐体上面部品と基板上面部品とが重ならないように配置する。すなわち筐体上面層W31と基板上面層W32とを向かい合わせ、筐体上面層W31および基板上面層W32の相対位置を積層方向に平行な方向(紙面に沿って平行に上または下側の方向)に調整する。
次にステップ13において、基板上面層W32の下に基板下面層W33を基板の厚さ分の隙間D1を空けて配置する。
次にステップ14において、筐体内部層W34に配置された各筐体内部部品について各々独立に格子座標(2次元上の位置)を保持したまま、他の部品と重ならないように(接触は可能とする)配置する。この際、できるだけ筐体全体の高さ(筐体の厚み)が低くなるように配置する。
最後に、ステップ15において、図8に示すように、筐体上面部品、基板上面部品、基板下面部品および筐体内部部品と重ならないように筐体下面部品を最下面(筐体下面)Pに配置する。最後の配置部品なので、他の部品の配置位置から、最も筐体の高さが低くなる位置は抽出可能である。以上により、最終的な立体構造(筐体設計案)が得られる。本例における最終的な筐体の厚みはD2によって示される。
複数の筐体設計案を得る場合には、ステップ11の終了後、ステップ16に進み、格子点高さ評価手段107において各格子座標における高さの和(高さ推定値)を計算する(筐体下面部品は除く)。なおこの計算はステップ11で既に行われているためこの計算結果をそのまま用いてもよい。そして最も大きい格子座標にある、筐体下面部品以外の部品を1つ選ぶ。選択の方法は、ランダムでもよいし、あらかじめ各配置層に配置順位を設定しておきこの配置順位に従ってもよい。図6の例の場合、最も大きい和(高さ推定値)である7をもつ格子座標に配置されている部品B、D、Eが選ばれる候補となる。
そしてステップ17において、部品配置設定手段105により格子点高さ評価手段107で選ばれた部品が属する配置層の配置順位を変更し、当該配置層において部品の配置をやり直す。これにより当該配置層において、異なる配置を得ることができる。この後は、再度、ステップ11〜ステップ15の処理を実行することで、上記と異なる立体構造(筺体設計案)を得ることができる。
ところで、上述したステップ8の説明において、筐体内部層への部品の配置の際、各部品の重なりを許すが、重ねた際に、あらかじめユーザが設定する「筐体の標準高」を超えてしまうような配置になる場合は、重なりを許さない旨を述べた。そして、筐体の標準高は固定値で設定してもよいし、配置途中の高さ推定値(図6参照)を利用して決定してもよい旨を述べた。これについての詳細を以下に説明する。
筐体内部層への部品の配置の際、2次元平面で各部品の重なりを許すものの、同じ箇所に部品を集中的に配置してしまうと、3次元に展開した際、筐体が分厚くなってしまう問題が生じる。そこで、「筐体の標準高」という概念を導入し、筐体の標準高を超える配置は許さないこととした。
筐体の標準高の設定は、上述のように固定値でもよいし、配置途中の高さ推定値の最大値を利用して行ってもよい。
筐体の標準高を固定値で与える場合、筐体の標準高はPCの設計者が考える最終的なPCの厚みに相当(図7および図8に示した筐体の厚みD2に相当)する。筐体の標準高と比較する高さは、図6における高さ推定値である。
したがって、筐体の標準高を固定値で与える場合、重なりが許されるかどうかは、まず、部品を仮配置し、その部品が占有する領域(1または複数の格子座標)の高さ推定値(複数の格子座標にまたがる場合は最大のもの)を計算する。そして、その部品が占有する領域の高さ推定値(h1とする)と、筐体の標準高(h2とする)とが、「h1≦h2」の関係を満たすならば、その箇所に配置を許す。一方、この関係を満たさないならば、配置を許さず、次の配置候補箇所を配置規則に基づき探索する。例えば配置規則にしたがって座標を1つずらした箇所を次の配置候補箇所として決定する(ただし配置可能範囲に属する必要がある)。決定した配置候補箇所に前回重なりが許さないと判定された部品が配置されている場合は、当該部品と重ならない箇所まで座標を配置規則に基づきずらすことが処理効率の観点から好ましい。
一方、配置途中の高さ推定値の最大値を利用した筐体の標準高は、ある配置途中(対象となる部品を配置する前)の高さ推定値の最大値をh3とすると、「h3× 係数k」で与えられる。係数kは例えばPC設計者があらかじめ設定する。ある箇所に部品を仮配置し、該部品が占有する領域(1または複数の格子座標)の高さ推定値(複数の格子座標にまたがる場合は最大のもの)をh4とすると、「h4≦h3×係数k」の関係を満たすならば、部品をその箇所に配置する。一方、この関係を満たさないならば、次の配置候補箇所を配置規則にしたがって検索する。配置途中の高さ推定値の最大値を利用して筐体の標準高を決定するのは、PC設計者が考える最終的なPCの厚みは考慮せずに、薄い配置を高速に行いたい場合に有効である。
筐体の標準高の概念を導入せずに、単に高さ推定値が低くなる箇所を検索して部品を配置するようにしてもよいが、全ての箇所を検索する必要があるため計算時間がかかってしまう。これに対し、標準高の概念を導入すると、特定の条件(上述の不等式など)を満たす点が見つかった時点で配置が完了するため高速な配置が可能になる。
上述のステップ9における第1端子類の配置、ステップ10における第2端子類の配置においても、筐体内部層の部品と重なる場合に、筐体の標準高を超えないように配置すべき旨を述べたが、これらについても上述と同様の手法により判定を行う。
なお、本実施形態における部品配置支援装置は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いて実現してもよい。すなわち部品配置層分類手段104、部品配置設定手段105、部品配置手段106、格子点高さ評価手段107、立体構造出力手段108は、上記のコンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより実現することができる。このとき、部品配置支援装置は、上記のプログラムをコンピュータ装置にあらかじめインストールすることで実現してもよいし、CD−ROMなどの記憶媒体に記憶して、あるいはネットワークを介して上記のプログラムを配布して、このプログラムをコンピュータ装置に適宜インストールすることで実現してもよい。また、データベース103は、上記のコンピュータ装置に内蔵あるいは外付けされたメモリ装置、ハードディスクもしくはCD−R、CD−RW、DVD−RAM、DVD−Rなどの記憶媒体などを適宜利用して実現することができる。
本発明の実施形態にしたがった部品配置支援装置の構成を示すブロック図。 図1の部品配置支援装置の動作を説明するフローチャート。 配置規則の例を説明する図。 配置層毎に決定された配置規則と配置順位とを示す図。 面積が大きい順に部品を配置した場合の効果を説明する図。 各格子座標における高さの和(高さ推定値)の計算を説明する図。 作成途中の立体構造を示す図。 最終的に得られた立体構造を示す図。
符号の説明
100:入力手段
101:配置層サイズ入力手段
102:配置部品&個数入力手段
103:データベース
104:部品配置層分類手段
105:部品配置設定手段
106:部品配置手段
107:格子点高さ評価手段
108:立体構造出力手段
109:出力手段

Claims (10)

  1. 部品を配置する少なくとも第1部品配置層および第2部品配置層を含む電子機器に対する部品の配置案を作成する部品配置支援装置であって、
    前記第1部品配置層に配置すべき複数の各第1部品の寸法を表した第1部品情報と、前記第2部品配置層に配置すべき複数の各第2部品の寸法を表した第2部品情報とを記憶する部品情報記憶手段と、
    前記各第1部品を配置する順番を表す第1配置順位と、前記各第2部品を配置する順番を表す第2配置順位とを決定する部品配置順決定手段と、
    前記各第1部品を配置する規則を定めた第1配置規則、前記各第2部品を配置する規則を定めた、前記第1配置規則と異なる第2配置規則を決定する配置規則決定手段と、
    前記第1配置順位に示される順番で前記各第1部品を前記第1配置規則にしたがって前記第1部品配置層に配置し、また前記第2配置順位に示される順番で前記各第2部品を前記第2配置規則にしたがって前記第2部品配置層に配置する部品配置手段と、
    を備え、
    前記第1配置規則は、前記第1部品配置層を平面的に見て、左から上詰め、左から下詰め、右から上詰め、右から下詰め、上から左詰め、上から右詰め、下から左詰め、下から右詰めのうちのいずれかであり、
    前記第2配置規則は、前記第2部品配置層を前記第1部品配置層と同一方向から平面的に見て、左から上詰め、左から下詰め、右から上詰め、右から下詰め、上から左詰め、上から右詰め、下から左詰め、下から右詰めのうち前記第1配置規則と異なるいずれかである
    ことを特徴とする部品配置支援装置。
  2. 前記第1部品情報は、各前記第1部品について前記第1部品配置層における配置可能範囲を定めており、
    前記部品配置手段は、前記配置可能範囲内で各前記第1部品の配置を行うことを特徴とする請求項1に記載の部品配置支援装置。
  3. 前記第2部品情報は、各前記第2部品について前記第2部品配置層における配置可能範囲を定めており、
    前記部品配置手段は、前記配置可能範囲内で各前記第2部品の配置を行うことを特徴とする請求項2に記載の部品配置支援装置。
  4. 前記第1配置順位および前記第2配置順位の少なくとも一方は、高さが高い部品の順であることを特徴とする請求項1ないし3のいずれか一項に記載の部品配置支援装置。
  5. 前記第1配置順位および前記第2配置順位の少なくとも一方は、配置面積の大きい部品の順であることを特徴とする請求項1ないし4のいずれか一項に記載の部品配置支援装置。
  6. 前記第1および第2部品配置層をそれぞれ平面的に格子状に分割した際のそれぞれ同一の格子座標において該格子座標に存在する部品の高さの合計を計算し、合計値が閾値以上となるまたは最も大きい格子座標を特定し、特定した格子座標に部品をもつ部品配置層のうち1つの部品配置層を選択し、選択した部品配置層に配置すべき各部品の配置順位を変更することを前記部品配置順決定手段に指示する高さ評価手段をさらに備えたことを特徴とする請求項1ないし5のいずれか一項に記載の部品配置支援装置。
  7. 前記第1および第2部品配置層の相対位置を積層方向と平行な方向に調整する調整手段をさらに備えたことを特徴とする請求項1ないし5のいずれか一項に記載の部品配置支援装置。
  8. 前記第2の部品配置層における各前記第2部品の位置を前記第1および第2の部品配置層の積層方向に平行な方向に各々独立に調整する調整手段をさらに備えたことを特徴とする請求項1ないし5のいずれか一項に記載の部品配置支援装置。
  9. 部品を配置する少なくとも第1部品配置層および第2部品配置層を含む電子機器に対する部品の配置案を作成する、コンピュータにおいて実行する部品配置支援方法であって、
    読み出し手段が、前記第1部品配置層に配置すべき複数の各第1部品の寸法を表した第1部品情報と、前記第2部品配置層に配置すべき複数の各第2部品の寸法を表した第2部品情報とを記憶手段から読み出し、
    部品配置順決定手段が、前記各第1部品を配置する順番を表す第1配置順位と、前記各第2部品を配置する順番を表す第2配置順位とを決定し、
    配置規則決定手段が、前記各第1部品を配置する規則を定めた第1配置規則、前記各第2部品を配置する規則を定めた、前記第1配置規則と異なる第2配置規則を決定し、
    部品配置手段が、前記第1配置順位に示される順番で前記各第1部品を前記第1配置規則にしたがって前記第1部品配置層に配置し、また前記第2配置順位に示される順番で前記各第2部品を前記第2配置規則にしたがって前記第2部品配置層に配置し、
    前記第1配置規則は、前記第1部品配置層を平面的に見て、左から上詰め、左から下詰め、右から上詰め、右から下詰め、上から左詰め、上から右詰め、下から左詰め、下から右詰めのうちのいずれかであり、
    前記第2配置規則は、前記第2部品配置層を前記第1部品配置層と同一方向から平面的に見て、左から上詰め、左から下詰め、右から上詰め、右から下詰め、上から左詰め、上から右詰め、下から左詰め、下から右詰めのうち前記第1配置規則と異なるいずれかである
    ことを特徴とする部品配置支援方法。
  10. 部品を配置する少なくとも第1部品配置層および第2部品配置層を含む電子機器に対する部品の配置案を作成するためのプログラムであって、
    前記第1部品配置層に配置すべき複数の各第1部品の寸法を表した第1部品情報と、前記第2部品配置層に配置すべき複数の各第2部品の寸法を表した第2部品情報とにアクセスするステップと、
    前記各第1部品を配置する順番を表す第1配置順位と、前記各第2部品を配置する順番を表す第2配置順位とを決定するステップと、
    前記各第1部品を配置する規則を定めた第1配置規則、前記各第2部品を配置する規則を定めた、前記第1配置規則と異なる第2配置規則を決定するステップと、
    前記第1配置順位に示される順番で前記各第1部品を前記第1配置規則にしたがって前記第1部品配置層に配置し、また前記第2配置順位に示される順番で前記各第2部品を前記第2配置規則にしたがって前記第2部品配置層に配置するステップと、
    をコンピュータに実行させ、
    前記第1配置規則は、前記第1部品配置層を平面的に見て、左から上詰め、左から下詰め、右から上詰め、右から下詰め、上から左詰め、上から右詰め、下から左詰め、下から右詰めのうちのいずれかであり、
    前記第2配置規則は、前記第2部品配置層を前記第1部品配置層と同一方向から平面的に見て、左から上詰め、左から下詰め、右から上詰め、右から下詰め、上から左詰め、上から右詰め、下から左詰め、下から右詰めのうち前記第1配置規則と異なるいずれかである
    ことを特徴とするプログラム。
JP2006292932A 2006-10-27 2006-10-27 部品配置支援装置、方法およびプログラム Expired - Fee Related JP4241802B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006292932A JP4241802B2 (ja) 2006-10-27 2006-10-27 部品配置支援装置、方法およびプログラム
US11/924,820 US20080104567A1 (en) 2006-10-27 2007-10-26 Apparatus and method for allocating component, and computer readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006292932A JP4241802B2 (ja) 2006-10-27 2006-10-27 部品配置支援装置、方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2008108217A JP2008108217A (ja) 2008-05-08
JP4241802B2 true JP4241802B2 (ja) 2009-03-18

Family

ID=39331910

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006292932A Expired - Fee Related JP4241802B2 (ja) 2006-10-27 2006-10-27 部品配置支援装置、方法およびプログラム

Country Status (2)

Country Link
US (1) US20080104567A1 (ja)
JP (1) JP4241802B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5075576B2 (ja) * 2007-10-29 2012-11-21 株式会社東芝 部品配置装置ならびにその方法およびプログラム
JP5626038B2 (ja) * 2011-03-09 2014-11-19 富士通株式会社 設計装置,設計プログラムおよび設計方法
US10390114B2 (en) * 2016-07-22 2019-08-20 Intel Corporation Memory sharing for physical accelerator resources in a data center

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6212669B1 (en) * 1997-11-05 2001-04-03 Fujitsu Limited Method for verifying and representing hardware by decomposition and partitioning
US20070245280A1 (en) * 2006-04-14 2007-10-18 Magma Design Automation, Inc. System and method for placement of soft macros
US7475373B2 (en) * 2006-04-20 2009-01-06 International Business Machines Corporation Method and apparatus to visually assist legalized placement with non-uniform placement rules

Also Published As

Publication number Publication date
JP2008108217A (ja) 2008-05-08
US20080104567A1 (en) 2008-05-01

Similar Documents

Publication Publication Date Title
Murata et al. VLSI module placement based on rectangle-packing by the sequence-pair
JP2010541097A (ja) 相対位置に基く制御によるページ上のグラフィックスオブジェクトの配置
KR20120122957A (ko) 네비게이션 장치, 고도 좌표를 결정하는 방법 및 데이터베이스를 생성하는 방법
KR20210034625A (ko) 프로그래밍가능 집적 회로들에 대한 계층적 부분 재구성
JP5644606B2 (ja) メッシュ数予測方法、解析装置及びプログラム
JP4241802B2 (ja) 部品配置支援装置、方法およびプログラム
Chuang et al. Design-hierarchy aware mixed-size placement for routability optimization
WO2022061995A1 (zh) 基于希尔伯特曲线的r树索引合并更新方法、装置及介质
US20120060138A1 (en) Method and System for Adaptive Physical Design
US11120192B1 (en) White space insertion for enhanced routability
US9892226B2 (en) Methods for providing macro placement of IC
JP4992350B2 (ja) 文書編集装置およびプログラム
Zou et al. Incremental 3d global routing considering cell movement and complex routing constraints
JP2009059028A (ja) 接触解析装置、接触解析プログラム及び接触解析プログラムを記録した記録媒体
JP5028980B2 (ja) 文書編集装置およびプログラム
CN115145930A (zh) 基于树状层次索引的gis矢量数据层次编码方法及装置
JP2008141496A (ja) 文書編集装置およびプログラム
JP5537644B1 (ja) 語彙探索装置、語彙探索方法、及び、語彙探索プログラム
JP7029056B2 (ja) 分割領域生成プログラム、分割領域生成装置、および分割領域生成方法
JP3615439B2 (ja) 類似特徴量の検索方法,その検索装置およびその検索プログラム記録媒体
JP5581951B2 (ja) 設計支援装置およびプログラム
Chu Placement
JP2009086762A (ja) 類似度算出装置及び類似度表示装置
Chu ABOUT THIS CHAPTER
JP4346090B2 (ja) 図形データ管理方法およびシステム、記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080327

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080902

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080905

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081029

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20081216

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081222

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120109

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120109

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130109

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130109

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140109

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees