JP4221045B2 - フロアプラン設計支援装置,フロアプラン設計支援プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 - Google Patents
フロアプラン設計支援装置,フロアプラン設計支援プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 Download PDFInfo
- Publication number
- JP4221045B2 JP4221045B2 JP2007522143A JP2007522143A JP4221045B2 JP 4221045 B2 JP4221045 B2 JP 4221045B2 JP 2007522143 A JP2007522143 A JP 2007522143A JP 2007522143 A JP2007522143 A JP 2007522143A JP 4221045 B2 JP4221045 B2 JP 4221045B2
- Authority
- JP
- Japan
- Prior art keywords
- arrangement
- area
- placement
- unit
- floor plan
- 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
Links
- 238000013461 design Methods 0.000 title claims description 51
- 238000000034 method Methods 0.000 claims description 90
- 230000008859 change Effects 0.000 claims description 88
- 238000005457 optimization Methods 0.000 claims description 79
- 238000004364 calculation method Methods 0.000 claims description 73
- 230000008569 process Effects 0.000 claims description 73
- 238000012545 processing Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 7
- 230000002452 interceptive effect Effects 0.000 claims 1
- 239000004065 semiconductor Substances 0.000 description 37
- 230000015572 biosynthetic process Effects 0.000 description 28
- 238000010586 diagram Methods 0.000 description 15
- 102100028423 MAP6 domain-containing protein 1 Human genes 0.000 description 14
- 101710163760 MAP6 domain-containing protein 1 Proteins 0.000 description 14
- 230000015556 catabolic process Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 238000003860 storage Methods 0.000 description 6
- 238000011960 computer-aided design Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000003672 processing method Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 101710082414 50S ribosomal protein L12, chloroplastic Proteins 0.000 description 2
- 101710087140 50S ribosomal protein L22, chloroplastic Proteins 0.000 description 2
- 238000005056 compaction Methods 0.000 description 2
- 238000010894 electron beam technology Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 101150017256 DVR1 gene Proteins 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L27/00—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
- H01L27/02—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers
- H01L27/0203—Particular design considerations for integrated circuits
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
従来、半導体集積回路(例えば、LSI:Large Scale Integrated circuit)のフロアプラン装置において、例えば、図34に示すごとく、複数の配置対象物(配置対象ブロック)102〜105を半導体集積回路100の配置領域へ配置するときは、配置対象物102〜105を矩形にして複数の配置対象物102〜105同士の重なりが発生しないようにしていた。なお、図34及び後述する図35において矩形の塗り潰し領域は、各配置対象物102〜105における内部要素を示している。
そこで、上記第1,2の課題を解消すべく、図35に示すごとく、配置対象物102´〜105´を非矩形の多様な任意図形(ここでは直角多角形)を使用して設計し、配置対象物102´〜105´同士が重ならないように設計するフロアプラン装置がある。このフロアプラン装置によれば、図35に示すごとく、図34に示す配置対象物102〜105と同一の内部要素をそなえた配置対象物102´〜105´を配置しながら、半導体集積回路100´を半導体集積回路100よりも小さくすることができ、その結果、上記第1,2の課題を解決することができるのである。
また、上述した矩形と非矩形の配置対象物を使用する技術では、矩形の配置対象物同士、もしくは、矩形と非矩形の配置対象物が隣接する場合には、上記第1,2の課題が発生してしまい、非矩形の配置対象物同士が隣接する場合には、上記第3の課題が発生してしまう。
また、前記重複領域が2つの配置対象ブロックによって形成されている場合、前記最適化部が、前記2つの配置対象ブロックのうちの前記第1使用面積率が高い一の配置対象ブロックの前記第1使用面積率が、他の配置対象ブロックの前記第1使用面積率と同一になるように、前記一の配置対象ブロックの前記内部要素の配置を変更することが好ましい。
なお、前記フロアプラン設計支援装置はさらに、前記重複領域を形成する各配置ブロック毎に、前記重複領域における各配置ブロックの内部要素の総面積に、各内部要素の境界外側に設ける配置配線禁止領域面積を加えた値を、論理コスト期待値として算出する論理コスト期待値算出部を有し、前記最適化部が、前記論理コスト期待値算出部が算出する論理コスト期待値に応じて前記内部要素の配置を変更することが好ましい。
さらに、前記フロアプラン設計支援装置はさらに、前記重複領域を形成する各配置ブロック毎に、前記重複領域における各配置ブロックの内部要素の総面積に、各内部要素の境界外側に設ける配置配線禁止領域面積を加えた値を、論理コスト期待値として算出する論理コスト期待値算出部と、前記重複領域を形成する各配置ブロック毎に、前記重複領域における各配置ブロックの内部要素の総面積に、各内部要素の境界外側に設ける配置配線禁止領域面積と、配線予約エリア面積と、端子予約エリア面積を加えた値を、実装コスト期待値として算出する実装コスト期待値算出部を有し、前記最適化部が、前記論理コスト期待値算出部が算出する論理コスト期待値と前記実装コスト期待値算出部が算出する実装コスト期待値とに基づいて算出された総合コスト期待値に応じて前記内部要素の配置を変更することが好ましい。
また、前記配置処理にかかる情報を表示する表示部と、該表示部上の表示データに対する応答情報を入力する入力部とをさらにそなえ、前記最適化部が、前記入力部によって入力された応答情報に基づいて各種設定を行なうことが好ましい。
また、上記目的を達成するために、本発明のコンピュータ読取可能な記録媒体は、上述したフロアプラン設計支援プログラムを記録したものである。
2 データベース
3 表示部
4 表示制御部
5 入力部
10 仮配置部
11 配置部
12 コモンエリア形成部(重複領域形成部)
20 期待値算出部
21 論理コスト期待値算出部
22 実装コスト期待値算出部
23 総合コスト期待値算出部
30 最適化部
31 判定部
32 配置変更部
32a 第1配置変更部
32b 第2配置変更部
32c 第3配置変更部
33 形状変更部
100,100´,110 半導体集積回路
102〜105,102´〜105´,L1〜L8,L10〜L15,L20〜L25 配置対象物(配置対象ブロック)
111 外部入出力用領域
112 サブチップ
113 実装ブロック
SL11,SL21 専用領域
W,W1〜W9 コモンエリア(重複領域)
〔1〕本発明の一実施形態について
本発明の一実施形態としてのフロアプラン装置(フロアプラン設計支援装置)について説明すると、図1は本発明の一実施形態としてのフロアプラン装置の構成を示すブロック図である。この図1に示すように、本フロアプラン装置1は、データベース2,表示部3,表示制御部4,入力部5,仮配置部10,期待値算出部20,及び最適化部30をそなえて構成されている。
データベース2は、分割階層設計によって設計された配置対象物に関するデータ(配置対象物情報)やフロアプラン対象としている半導体集積回路のネットリスト等を保持するものである。
ここで、配置対象物情報は、少なくとも設計対象の半導体集積回路における配置対象物の寸法,形状,他の配置対象物等との接続関係に関する情報や、当該配置対象物の内部要素に関する情報(内部要素の数量,種類,寸法,接続関係等)を含んでいる。
表示制御部4は、表示部3の表示内容を制御するものである。
この入力部5には、インタフェースとして、例えばマウスやキーボードが用いられる。
仮配置部10は、複数の配置対象物のうちの少なくとも2つの配置対象物が互いに重なり合ってコモンエリア(重複領域)を形成するように、複数の配置対象物を実装領域上に仮配置するものであり、配置部11及びコモンエリア形成部(重複領域形成部)12をそなえて構成されている。
コモンエリア形成部12は、配置部11によって配置された複数の配置対象物のうちの少なくとも1つの配置対象物の配置及び/または形状を変更することによって、コモンエリアを形成するものである。
ところで、コモンエリア形成部12は、入力部5によって入力されるユーザの指示に基づいてコモンエリアの形成を行なってもよいし、自動的にコモンエリアの形成を行なってもよい。
また、ユーザによって選択された配置対象物の組のすべてが矩形であった場合には、上述した図4(a),(b)に示すごとく、コモンエリア形成部12は、これら複数の配置対象物のうちの少なくとも一つの配置対象物の配置を変更することによってコモンエリアを形成する。
つまり、コモンエリア形成部12は、コモンエリアを形成する複数の配置対象物の空き面積に基づいて当該コモンエリアの面積を決定し、その面積になるように配置対象物の配置を変更するように構成されており、例えば、データベース2が、コモンエリアを形成する配置対象物の空き面積とコモンエリアの面積との対応を示すテーブルを保持しており、コモンエリア形成部12は、このテーブルに基づいてコモンエリアの面積を決定し、コモンエリアがかかる面積になるように配置対象物の配置を変更する。
また、コモンエリア形成部12が自動的にコモンエリアを形成する場合には、コモンエリア形成部12は、例えば、データベース2に保持された配置対象物情報(空き面積,空き面積率,接続関係等)に基づいて、コモンエリアを形成する複数の配置対象物(配置対象物の組)を選択する。この場合にも、表示部3に配置部11による配置対象物の配置結果が表示されることが好ましい。
そして、コモンエリア形成部12は、選択した配置対象物の組のうちの少なくとも一つの配置対象物が非矩形であれば、上述した図2(a)〜(c)もしくは図3(a)〜(c)に示すごとく、当該配置対象物を矩形に変形することによってコモンエリアを形成する。
なお、このとき、コモンエリア形成部12は、上述したユーザによってコモンエリアを形成する配置対象物が選択された場合と同様に、配置対象物の空き面積に基づいて配置対象物の配置変更を行なう。
このコモンエリア情報は、例えば、コモンエリア属性情報(後述する図6参照)、コモンエリア未使用領域利用可能情報(後述する図7参照)、及びコモンエリア内部要素情報(後述する図8参照)を含んでいる。
つまり、コモンエリア形成部12は、コモンエリア属性情報として、コモンエリアの識別名(ここでは「W」),頂点の座標,コモンエリアを構成する配置対象物名(図6中“構成”と表記;ここでは「L10,L20」),コモンエリアの全面積(ここでは“15000”),コモンエリアW内のすべての内部要素が占める占有面積及び占有面積率,各配置対象物L10,L20の内部要素が占める占有面積(図6中“L10占有面積”,“L20占有面積”と表記)及び占有面積率(図6中“L10占有面積率”,“L20占有面積率”と表記),コモンエリアWにおいて内部要素が配置されていない未使用面積及び未使用面積率を取得する。
このコモンエリア未使用領域利用可能情報は、表示制御部4によって図7に示すごとく画面12bとして表示部3に表示される。なお、図7に示す例では、コモンエリア未使用領域における内部要素の配置と配線との使用比が“1:0”,“0:1”,“1:1”の場合について生成されたコモンエリア未使用領域利用可能情報である。
このように、コモンエリア形成部12が取得する、図6〜図8に示すコモンエリア情報(コモンエリア属性情報,コモンエリア未使用領域利用可能情報,及びコモンエリア内部要素情報)は、ユーザが後述する最適化部30による最適化処理に必要な各種設定事項を決定するために表示部3に表示されるのである。
期待値算出部20は、様々なコスト情報から現在の実績値を最適化した種々のコスト期待値(論理情報や実装情報等のパラメータを使用してコスト計算したコモンエリアの使用期待値)をコモンエリア最適化情報として算出するものであり、図1に示すごとく、論理コスト期待値算出部21,実装コスト期待値算出部22,及び総合コスト期待値算出部23をそなえて構成されている。
つまり、論理コスト期待値算出部21は、内部要素の配置対象物内における接続関係に基づいて論理コスト期待値を算出するものであり、内部要素の面積に対して、セル境界スペーシング面積を考慮して論理コスト期待値を算出する。
なお、期待値算出部20によって算出されるコスト期待値(コモンエリア最適化情報)は、例えば、図11(a)〜(e)に示すごとく棒グラフ20aとして表示部3に表示され、論理コスト期待値算出部21によって算出される論理コスト期待値は、図11(c)に示すごとく表示される。
この図11(a)〜(e)に示すように、本フロアプラン装置1では、表示制御部4が、コモンエリア最適化情報として、コモンエリアの現在の使用状況(実績値;図11(a)参照),ユーザが入力部5によって入力したユーザ期待値(図11(b)参照)、及び期待値算出部20によって算出された各種コスト期待値(論理コスト期待値算出部21によって算出される論理コスト期待値;図11(c)参照,実装コスト期待値算出部22によって算出される実装コスト期待値;図11(d)参照,及び総合コスト期待値算出部23によって算出される総合コスト期待値;図11(e)参照)を棒グラフ20aにして表示部3に表示する。
さらに、図11(b)に示すユーザ期待値は、ユーザが図6〜図8に示すコモンエリア情報を参照しながらユーザが入力部5を用いて入力したユーザ所望の値(コモンエリアWにおける各配置対象物L10,L20の使用面積)であり、ここでは、配置対象物L10の内部要素による使用面積が“7500”であり、配置対象物L20の内部要素による使用面積が“7400”であり、空き領域が“100”である。
実装コスト期待値算出部22は、配置対象物の内部要素の他の配置対象物の内部要素との接続関係(つまり、他の配置対象物との接続関係)を考慮した最適な配置になる場合の、コモンエリアにおける各配置対象物の内部要素の使用面積を、実装コスト期待値として算出する。
総合コスト期待値算出部23は、論理コスト期待値算出部21によって算出された論理コスト期待値と実装コスト期待値算出部22によって算出された実装コスト期待値とに基づいて、総合コスト期待値を算出するものであり、例えば、論理コスト期待値及び実装コスト期待値の割合を用いて総合コスト期待値を算出する。
配置対象物L10の総合コスト期待値=(配置対象物L10の論理コスト期待値割合+配置対象物L10の実装コスト期待値割合)/総合するコスト種類数×(コモンエリア面積−空き領域) ・・・(1)
配置対象物L20の総合コスト期待値=(配置対象物L20の論理コスト期待値割合+配置対象物L20の実装コスト期待値割合)/総合するコスト種類数×(コモンエリア面積−空き領域) ・・・(2)
なお、上記式(1),(2)において、空き領域は予め設定されたデフォルトの値である。
配置対象物L10の総合コスト期待値=(3500/7500+6000/12000)/2×(15000−750) ・・・(1´)
また、この場合、総合コスト期待値算出部23は、下記式(2´)によって配置対象物L20の総合コスト期待値を算出する。
したがって、図13に示すごとく、総合コスト期待値算出部23によって算出される配置対象物L10の総合コスト期待値は、“配置対象物L10の内部要素の総面積+セル境界スペーシング面積+配線予約エリア+端子予約エリア+分配される空き領域”となり、値は“6910”となる。
なお、空き領域は、予め設定された値(ここでは、“750”)となるが、ここでは、コモンエリアの全面積の5%が空き領域となるように予め設定されている。
ところで、本フロアプラン装置1では、図11(a)〜(e)に示すコモンエリア最適化情報を表示部3に表示させる際に、このコモンエリア最適化情報とともに、図14(a)〜(d)に示すコモンエリア内の配置対象物別の使用構成を示す情報(コモンエリア使用構成情報)を画面20bとして表示部3に表示する。
具体的には、コモンエリアWにおける配置対象物L10の使用面積(内部要素の総面積)“1400”の内訳が、セル配置が“800”であり、配線予約エリアが“500”であり、その他が“100”であることを示すとともに、コモンエリアWにおける配置対象物L20の使用面積(内部要素の総面積)“1200”の内訳が、セル配置が“700”であり、配線予約エリアが“400”であり、その他が“100”であることを示している。
判定部31は、コモンエリアにおいて、当該コモンエリアを形成する複数の配置対象物の内部要素が互いに干渉しているか否か(つまり、内部要素の重なりが存在するか否か)を判定するものである。
そして、判定部31は、例えば、図6〜図8に示すコモンエリアWに対して、コモンエリアWを形成する複数の配置対象物L10,L20の内部要素(ここでは“dvr1”と“配線予約エリア1”)が互いに干渉していると判定した場合には、図15に示すごとく、かかる干渉をユーザに通知するためのコモンエリア内部要素エラー情報を画面31aとして表示部3に表示させる。
また、配置変更部32は、判定部31によってコモンエリアを形成する複数の配置対象物の内部要素が互いに干渉していると判定した場合には、当該干渉を解消すべく、互いに干渉する内部要素のうちの少なくとも1つの内部要素の配置を変更する。
第1配置変更部32aは、入力部5によってユーザから入力されたユーザ期待値(図11(b)参照)に基づいて、期待値算出部20によって算出された複数種類のコスト期待値(論理コスト期待値,実装コスト期待値,及び総合コスト期待値;図11(c)〜(e)参照)の中から一つのコスト期待値を選択し、選択したコスト期待値に基づいてコモンエリアを形成する配置対象物の内部要素の配置を変更する。
期待値判定関数f=min|ユーザ期待値−各コスト期待値| ・・・(3)
したがって、第1配置変更部32aは、上記式(3)に基づいて、ユーザ期待値から各コスト期待値を差し引いた値の絶対値が最も小さいコスト期待値を、配置変更処理に採用するコスト期待値として選択する。
そして、第1配置変更部32aは、この総合コスト期待値に基づいて、各配置対象物L10,L20の属するセルに加えて、セル境界スペーシング、並びに、各配置対象物L10,L20の配線予約エリア,端子予約エリア及び分配される空き領域をコモンエリアWに配置する。
なお、図17(a)及び後述する図18(a),図19(a),図20(a)において、符号“SL11”は、配置対象物L11において、配置対象物L11からコモンエリアW5を除いた専用領域(以下、専用領域SL11という)を示し、符号“SL21”は、配置対象物L21において、配置対象物L21からコモンエリアW5を除いた専用領域(以下、専用領域SL21という)を示している。
また、図17(a),(b)は、ユーザが入力部5によってコモンエリアに外部の内部要素をアサインする(つまり、第2配置変更部32bによる配置変更処理を実行する)と設定した場合に、表示制御部4によって表示部3に表示されてもよい。
なお、コモンエリアW5に移動する内部要素の合計面積がきっちり“12000”にならない場合があるため、ここでは最高40%(“12000”)としている。
具体的には、図17(a),(b)に示す場合には、配置対象物L11の専用領域SL11の面積が“30000”で“90%”の第1使用面積率であり、配置対象物L21の面積が“32000”で“70%”の第1使用面積率であるので、専用領域SL11の第1使用面積率を専用領域SL21の第1使用面積率に合わせるべく(つまり、SL11第1使用面積率を“70%”にすべく)、配置変更部32bは、配置対象物L11の専用領域SL11の20%にあたる内部要素を算出し、算出された内部要素をコモンエリアW5に移動させる。
なお、このとき、コモンエリア使用面積は“9000”になり、その内訳は、配置対象物L11の使用面積が“7000”で、配置対象物L21の使用面積が“2000”になり、コモンエリアW5の未使用面積は“6000”になる。
第3配置変更部32cは、まず、コモンエリア内の内部要素についてその接続関係を調べ、当該内部要素の属する配置対象物への接続割合が最も大きいものから順に、コモンエリアの中心と当該配置対象物の中心(もしくは重心)とを結ぶ直線と、この直線と交差するコモンエリアの辺との交点の近傍に配置変更する。
具体的には、第3配置変更部32cは、例えば図21に示すごとく、配置対象物L12,L22によってコモンエリアW6が形成され、さらに、図22(a)に示すごとく、このコモンエリアW6に配置対象物L12の内部要素A〜DとL22の内部要素が複数(ここでは4つ)配置されていた場合、第3配置変更部32bは、これら内部要素の接続関係をデータベース2に保持されたデータ(配置対象物情報)に基づいて調べ、その結果である各内部要素(ここでは内部要素A〜D)の接続関係(接続割合)を図23に示すごとく画面32´として表示部3に表示させる。なお、図21において符号“CL12”は配置対象物L12の中心を示し、符号“CL22”は配置対象物L22の中心を示している。
つまり、ここでは、内部要素Aは配置対象物L22の接続割合が“0%”で、内部要素Bは配置対象物L22の接続割合が“10%”であり、内部要素Aの方が配置対象物L22への接続割合が低く、その他の接続割合が高いので、第3配置変更部32cは、内部要素Aを次に配置する。
なお、図22(b)において、符号“Y”は、コモンエリアW6の中心WC6と配置対象物L22の中心CL22とを結ぶ直線を示している。
このように、第3配置変更部32cによれば、内部要素がコモンエリア内で所属する配置対象物により近い位置に集合するので、コンパクション効果があり、また、コモンエリアの中心部分が未使用領域になるため、他の内部要素や配線予約エリアとして使うこともできる。
また、図1に示すように、形状変更部33は、仮配置部10のコモンエリア形成部12によって形成されたコモンエリアを解消すべく、配置変更部32によってコモンエリアを利用しながら配置変更処理を施された内部要素の配置に基づいて、当該コモンエリアを形成する複数の配置対象物のそれぞれの形状を再決定することによって、これら配置対象物の形状を変更して最適化するものである。
また、例えば、図25(a)に示す配置対象物L14,L24の配置(ここでは配置対象物L24の配置)を、図25(b)に示すごとく、コモンエリア形成部12が変更することによってコモンエリアW8を形成し、さらに、配置変更部32が、図25(c)に示すごとく、配置対象物L14,L24の内部要素の配置を変更した場合には、形状変更部33は、図25(d)に示すごとく、配置を変更された内部要素に基づいて、各配置対象物L14,L24の形状を変更する。
次に、本フロアプラン装置1の動作手順について説明する。
まず、図26に示すフローチャート(ステップS1〜S11)を参照しながら、半導体集積回路の設計手順における本フロアプラン装置1によるフロアプラン処理の位置付けについて説明する。
次いで、フロアプラン処理(ステップS4)によって配置対象物について変更が生じた場合には(ステップS5のYesルート)、上記ステップS3の処理に戻り、ネットリストを作成する(ステップS3)。
さらに、セルの配置や配線(ステップS8)が完了すると、実配線長遅延計算(ステップS9)及び遅延シミュレーション(ステップS10)を実行した上で、半導体集積回路の最終的な製造データを作成して(ステップS11)、半導体集積回路の設計処理を終了する。
そして、本フロアプラン装置1では、図27に示すフローチャート(ステップS20〜S40)に示す手順で、表示部3や入力部5を用いてユーザに対して対話的にフロアプラン処理を実行する。
次いで、仮配置部10のコモンエリア形成部12が、配置対象物の形状及び/または位置を変更することによって、コモンエリアを形成する(ステップS21)。
そして、最適化部30の判定部31が、コモンエリア形成部12によって形成されたコモンエリアにおいて、当該コモンエリアを形成する配置対象物の内部要素が重なり合っていないか(つまり、内部要素の重なりが存在するか否かを)判定する(ステップS24)。
一方、判定部31が、内部要素の重なりが存在しないと判定した場合(ステップS24のNoルート)、上述したステップS25〜S28の処理をスキップする。
つまり、このステップS30において、ユーザが、第1配置変更部32a,第2配置変更部32b,第3配置変更部32cのうちのいずれに配置変更処理を実行させるかを入力部5によって入力する。
したがって、ユーザがマウスを操作してポインタを移動し、所望の選択ボタン61〜63上でマウスをクリックしてボタンを選択した上でOKボタン64をクリックすることにより、選択されたボタンに対応する配置変更処理の方法が選択される。
なお、図29は、選択ボタン61が選択された状態を示している。
また、配置対象物の第1使用面積率及びコモンエリア使用面積の少なくともいずれか一方の情報に基づいて内部要素の配置を経こうする場合(すなわち、第2配置変更部32bによって配置変更処理を実行する場合)には、ユーザによって選択ボタン62が選択される。
さらに、現在のコモンエリア内の内部要素を当該内部要素の接続関係に基づいて配置変更する場合(すなわち、第3配置変更部32cによって配置変更処理を実行する場合)には、ユーザによって選択ボタン63が選択される。
一方、上記ステップS30において、ユーザが選択ボタン62を選択した場合(ステップS30のBルート)、第2配置変更部32bが、コモンエリア使用情報(実績値)を抽出して上記図17(a),(b)に示すように表示部3に表示させる(ステップS35)。
つまり、このステップS36において、ユーザが、第2配置変更部32bによって第1〜第3モードのいずれのモードの処理を実行させるかを入力部5によって入力する。
具体的には、例えば、第2配置変更部32bが、図30に示すような、配置変更処理のモードを選択するための選択画面70を表示部3に表示する。この図30に示す選択画面70は、3種類の配置変更処理のモード(つまり、第1〜第3モード)の説明と、これら3種類のモードに対応した選択ボタン71〜73、及び、OKボタン74から構成されている。
ここでは、コモンエリア使用面積が最大になるように、第1使用面積率が最も高い配置対象物の内部要素の配置を変更する場合(すなわち、第1モードで配置変更処理を実行する場合)には、ユーザによって選択ボタン71が選択される。
また、すべての配置対象物の第1使用面積率が最も低い第1使用面積率になるように内部要素の配置を変更する場合(すなわち、第2モードで配置変更処理を実行する場合)には、ユーザによって選択ボタン72が選択される。
さらに、すべての配置対象物の第1使用面積率を同一にしながら、コモンエリア使用面積が最大になるように内部要素の配置を変更する場合(すなわち、第3モードで配置変更処理を実行する場合)には、ユーザによって選択ボタン73が選択される。
なお、このとき、第2配置変更部32bが、動作モードに応じて上記図18(a),(b)〜図20(a),(b)に示すいずれかのコモンエリア使用情報を表示部3に表示させることが好ましい。
そして、上述した第1配置変更部32aによる配置変更処理(ステップS34)の後,第2配置変更部32bによる配置変更処理(ステップS37)の後,及び第3配置変更部32cによる配置変更処理(ステップS39)後のそれぞれにおいて、上記ステップS27,S28の処理を再度実行して、さらに、上記ステップS29の処理に戻る。
なお、上記ステップS40における形状変更部33による処理では、図24(a)〜(d)及び図25(a)〜(d)を参照しながら上述したごとく、配置対象物がコモンエリアを形成すべく形状や配置が変更される前の元の形状よりも小さく変更されるように、当該配置対象物の形状が決定されることが好ましい。
つまり、本フロアプラン装置1は、従来は非矩形の多様な任意図形を使用して配置対象物同士の重なりが発生しないように設計されていたものを、逆に故意によって配置対象物同士の重なり(コモンエリア)を発生させ、このコモンエリアを形成する配置対象物同士が友好的且つ積極的にコモンエリアを利用するように、最適化部30が、これらの配置対象物の内部要素の配置を変更するため、上述した効果を得ることができる。
さらに、コモンエリア形成部12によって、ユーザが所望の配置対象物同士でコモンエリアを形成させることが容易になる。
なお、最適化部30の判定部31がコモンエリアにおける内部要素の重なりの有無を判定し、判定部31によって重なりが存在すると判定された場合には、配置変更部32がかかる重なりを解消すべく内部要素の配置を変更するため、設計ミスを確実に防ぐことができる。
さらに、最適化部30の配置変更部32の第1配置変更部32aが、期待値算出部20の実装コスト期待値算出部22によって算出された実装コスト期待値に基づいて、内部要素の配置を変更するため、配置対象物の内部要素の配置を、他の配置対象物との接続関係が最適なるように、効率的に変更することができる。
なお、配置変更部32の第1配置変更部32a,第2配置変更部32b,及び第3配置変更部32cによって、コモンエリアを形成する内部要素の配置を変更することによって、効率の良いフロアプラン処理の実行による設計時間の短縮とコモンエリアを有効利用することでの半導体集積回路サイズの小型化を実現できる。
〔2〕その他
なお、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
また、本発明において、これら第1配置変更部32a〜第3配置変更部32cによる配置変更処理の方法も上述した実施形態に限定されるものではない。
また、第2配置変更部32bにおける配置変更処理は、上述した第1〜第3モードに限定されるものではなく、少なくとも第1使用面積率もしくはコモンエリア使用面積を利用して、これらの値に基づいて配置変更処理を行なえばよい。
また、上述した表示制御部4,配置部11,コモンエリア形成部12,論理コスト期待値算出部21,実装コスト期待値算出部22,総合コスト期待値算出部23,最適化部30,判定部31,配置変更部32,第1配置変更部32a,第2配置変更部32b,第3配置変更部32c,及び形状変更部33としての機能は、コンピュータ(CPU,情報処理装置,各種端末を含む)が所定のアプリケーションプログラム(フロアプランプログラム/フロアプラン設計支援プログラム)を実行することによって実現されてもよい。
ここで、コンピュータとは、ハードウェアとOS(オペレーティングシステム)とを含む概念であり、OSの制御の下で動作するハードウェアを意味している。また、OSが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、CPU等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえている。
Claims (17)
- 内部要素が配置された複数の配置対象ブロックの実装領域上への配置処理を行なうフロアプラン装置であって、
前記複数の配置対象ブロックを互いに重なり合わないように前記実装領域上に配置する配置部と、
該配置部によって配置された前記複数の配置対象ブロックのうちの少なくとも1つの配置対象ブロックの配置及び/又は形状を変更することによって、重複領域を形成するように、前記複数の配置対象ブロックを前記実装領域上に仮配置する重複領域形成部と、
前記重複領域を形成する配置対象ブロックのうちの少なくとも1つの配置対象ブロックの前記内部要素を、当該重複領域を使用しながら配置変更することにより、当該配置対象ブロックを最適化する最適化部を有することを特徴とするフロアプラン設計支援装置。 - 前記重複領域形成部が、非矩形の配置対象ブロックを矩形に変形することを特徴とする請求項1記載のフロアプラン設計支援装置。
- 前記最適化部が、前記重複領域を形成する配置対象ブロックのうちの少なくとも1つの配置対象ブロックの前記内部要素の配置を変更し、前記内部要素の配置が変更された当該配置対象ブロックの形状を変更することを特徴とする請求項1又は2に記載のフロアプラン設計支援装置。
- 前記最適化部が、前記重複領域において当該重複領域を形成する複数の配置対象ブロックの前記内部要素が互いに干渉しているか否かを判定し、干渉していると判定した場合には、互いに干渉する前記内部要素のうちの少なくとも1つの内部要素の配置を変更することにより、前記干渉を解消することを特徴とする請求項3記載のフロアプラン設計支援装置。
- 前記最適化部が、前記重複領域を形成する前記配置対象ブロックのそれぞれの、当該配置対象ブロックの全領域から前記重複領域を除いた専用領域における前記内部要素の使用面積率(以下、第1使用面積率という)と、前記重複領域における当該重複領域を形成する配置対象ブロックの前記内部要素の使用面積(以下、重複領域使用面積という)とのうちの少なくとも一方を用いて、前記内部要素の配置を変更することを特徴とする請求項1〜4に記載のフロアプラン設計支援装置。
- 前記最適化部が、前記配置対象ブロックの前記専用領域における前記内部要素を前記重複領域に移動することにより、前記内部要素の配置を変更することを特徴とする請求項5記載のフロアプラン設計支援装置。
- 前記最適化部が、前記重複領域使用面積が最大となるように、前記重複領域を形成する配置対象ブロックのうちの前記第1使用面積率が最も高い配置対象ブロックの前記内部要素の配置を変更することを特徴とする請求項5または6に記載のフロアプラン設計支援装置。
- 前記重複領域が2つの配置対象ブロックによって形成されている場合、前記最適化部が、前記2つの配置対象ブロックのうちの前記第1使用面積率が高い一の配置対象ブロックの前記第1使用面積率が、他の配置対象ブロックの前記第1使用面積率と同一になるように、前記一の配置対象ブロックの前記内部要素の配置を変更することを特徴とする、請求項5または6に記載のフロアプラン設計支援装置。
- 前記最適化部が、前記重複領域を形成する配置対象ブロックのそれぞれの前記第1使用面積率を同一にしながら、前記重複領域使用面積が最大となるように、前記配置対象ブロックの前記内部要素の配置を変更することを特徴とする請求項5または6に記載のフロアプラン設計支援装置。
- 前記フロアプラン設計支援装置はさらに、
前記重複領域を形成する各配置ブロック毎に、前記重複領域における各配置ブロックの内部要素の総面積に、各内部要素の境界外側に設ける配置配線禁止領域面積を加えた値を、論理コスト期待値として算出する論理コスト期待値算出部を有し、
前記最適化部が、前記論理コスト期待値算出部が算出する論理コスト期待値に応じて前記内部要素の配置を変更することを特徴とする請求項1〜4のいずれか1項に記載のフロアプラン設計支援装置。 - 前記フロアプラン設計支援装置はさらに、
前記重複領域を形成する各配置ブロック毎に、前記重複領域における各配置ブロックの内部要素の総面積に、各内部要素の境界外側に設ける配置配線禁止領域面積と、配線予約エリア面積と、端子予約エリア面積を加えた値を、実装コスト期待値として算出する実装コスト期待値算出部を有し、
前記最適化部が、前記実装コスト期待値算出部が算出する実装コスト期待値に応じて前記内部要素の配置を変更することを特徴とする請求項1〜4のいずれか1項に記載のフロアプラン設計支援装置。 - 前記フロアプラン設計支援装置はさらに、
前記重複領域を形成する各配置ブロック毎に、前記重複領域における各配置ブロックの内部要素の総面積に、各内部要素の境界外側に設ける配置配線禁止領域面積を加えた値を、論理コスト期待値として算出する論理コスト期待値算出部と、
前記重複領域を形成する各配置ブロック毎に、前記重複領域における各配置ブロックの内部要素の総面積に、各内部要素の境界外側に設ける配置配線禁止領域面積と、配線予約エリア面積と、端子予約エリア面積を加えた値を、実装コスト期待値として算出する実装コスト期待値算出部を有し、
前記最適化部が、前記論理コスト期待値算出部が算出する論理コスト期待値と前記実装コスト期待値算出部が算出する実装コスト期待値とに基づいて算出された総合コスト期待値に応じて前記内部要素の配置を変更することを特徴とする請求項1〜4のいずれか1項に記載のフロアプラン設計支援装置。 - 前記最適化部が、前記重複領域における前記内部要素の配置を当該内部要素の接続関係に基づいて行なうことを特徴とする請求項3〜12のいずれか1項に記載のフロアプラン設計支援装置。
- 前記配置処理にかかる情報を表示する表示部と、該表示部上の表示データに対する応答情報を入力する入力部とをさらにそなえ、
前記最適化部が、前記入力部によって入力された応答情報に基づいて各種設定を行なうことを特徴とする請求項1〜13のいずれか1項に記載のフロアプラン設計支援装置。 - 内部要素が配置された複数の配置対象ブロックの実装領域上への配置処理を行なう機能をコンピュータに実現させるためのフロアプラン設計支援プログラムであって、
前記複数の配置対象ブロックを互いに重なり合わないように前記実装領域上に配置する配置部と、
該配置部によって配置された前記複数の配置対象ブロックのうちの少なくとも1つの配置対象ブロックの配置及び/又は形状を変更することによって、前記複数の配置対象ブロックのうちの少なくとも2つの配置対象ブロックが互いに重なり合って重複領域を形成するように、前記複数の配置対象ブロックを前記実装領域上に仮配置する重複領域形成部と、
前記重複領域を形成する配置対象ブロックのうちの少なくとも1つの配置対象ブロックの前記内部要素を、当該重複領域を使用しながら配置変更することにより、当該配置対象ブロックを最適化する最適化部として、前記コンピュータを機能させることを特徴とするフロアプラン設計支援プログラム。 - 前記最適化部が、前記重複領域を形成する配置対象ブロックのうちの少なくとも1つの配置対象ブロックの前記内部要素の配置を変更し、前記内部要素の配置が変更された当該配置対象ブロックの形状を変更するように、前記コンピュータを機能させることを特徴とする請求項15記載のフロアプラン設計支援プログラム。
- 内部要素が配置された複数の配置対象ブロックの実装領域上への配置処理を行なう機能をコンピュータに実現させるためのフロアプラン設計支援プログラムを記録したコンピュータ読取可能な記録媒体であって、
前記フロアプラン設計支援プログラムが、
前記複数の配置対象ブロックを互いに重なり合わないように前記実装領域上に配置する配置部と、
該配置部によって配置された前記複数の配置対象ブロックのうちの少なくとも1つの配置対象ブロックの配置及び/又は形状を変更することによって、前記複数の配置対象ブロックのうちの少なくとも2つの配置対象ブロックが互いに重なり合って重複領域を形成するように、前記複数の配置対象ブロックを前記実装領域上に仮配置する重複領域形成部と、
前記重複領域を形成する配置対象ブロックのうちの少なくとも1つの配置対象ブロックの前記内部要素を、当該重複領域を使用しながら配置変更することにより、当該配置対象ブロックを最適化する最適化部として、前記コンピュータを機能させることを特徴とするフロアプラン設計支援プログラムを記録したコンピュータ読取可能な記録媒体。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2005/011288 WO2006137119A1 (ja) | 2005-06-20 | 2005-06-20 | フロアプラン装置,フロアプランプログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2006137119A1 JPWO2006137119A1 (ja) | 2009-01-08 |
JP4221045B2 true JP4221045B2 (ja) | 2009-02-12 |
Family
ID=37570172
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007522143A Expired - Fee Related JP4221045B2 (ja) | 2005-06-20 | 2005-06-20 | フロアプラン設計支援装置,フロアプラン設計支援プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7962884B2 (ja) |
JP (1) | JP4221045B2 (ja) |
WO (1) | WO2006137119A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5373304B2 (ja) * | 2008-03-28 | 2013-12-18 | 株式会社日立情報通信エンジニアリング | 半導体集積回路配置プログラム及び方法 |
US8219959B2 (en) * | 2009-07-24 | 2012-07-10 | Lsi Corporation | Generating integrated circuit floorplan layouts |
US8347261B2 (en) * | 2009-09-10 | 2013-01-01 | Cadence Design Systems, Inc. | Method and system for implementing graphically editable parameterized cells |
US9256709B2 (en) * | 2014-02-13 | 2016-02-09 | Taiwan Semiconductor Manufacturing Company, Ltd. | Method for integrated circuit mask patterning |
US10474781B2 (en) | 2014-05-24 | 2019-11-12 | Synopsys, Inc. | Virtual hierarchical layer usage |
CN110414151B (zh) * | 2019-07-31 | 2023-02-14 | 无锡市建筑设计研究院有限责任公司 | 一种基于cad的住宅户型公摊面积计算方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2831703B2 (ja) * | 1989-06-23 | 1998-12-02 | 株式会社東芝 | 自動フロアプラン演算装置 |
JPH09330983A (ja) | 1996-06-12 | 1997-12-22 | Toshiba Corp | Lsi配線用経路探索グラフの作成装置 |
JP4161418B2 (ja) | 1998-06-30 | 2008-10-08 | 富士通株式会社 | 直角多角形領域分割方法及び直角多角形領域分割プログラムを記録した記録媒体並びに直角多角形領域分割装置 |
JP2003045780A (ja) | 2001-07-30 | 2003-02-14 | Nec Corp | マスク描画データの作成方法 |
US7231625B2 (en) * | 2004-09-28 | 2007-06-12 | Lsi Corporation | Method and apparatus for use of hidden decoupling capacitors in an integrated circuit design |
JP2006301961A (ja) * | 2005-04-20 | 2006-11-02 | Matsushita Electric Ind Co Ltd | 半導体集積回路の自動フロアプラン手法 |
JP4783268B2 (ja) * | 2006-11-17 | 2011-09-28 | 株式会社東芝 | 半導体レイアウト設計装置 |
-
2005
- 2005-06-20 WO PCT/JP2005/011288 patent/WO2006137119A1/ja active Application Filing
- 2005-06-20 JP JP2007522143A patent/JP4221045B2/ja not_active Expired - Fee Related
-
2007
- 2007-12-10 US US11/953,226 patent/US7962884B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
WO2006137119A1 (ja) | 2006-12-28 |
JPWO2006137119A1 (ja) | 2009-01-08 |
US20080127016A1 (en) | 2008-05-29 |
US7962884B2 (en) | 2011-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8239803B2 (en) | Layout method and layout apparatus for semiconductor integrated circuit | |
JP5092752B2 (ja) | ノイズチェック方法および装置並びにノイズチェックプログラムを記録したコンピュータ読取可能な記録媒体 | |
US7299442B2 (en) | Probabilistic congestion prediction with partial blockages | |
US8775998B2 (en) | Support device of three-dimensional integrated circuit and method thereof | |
US6446246B1 (en) | Method and apparatus for detail routing using obstacle carving around terminals | |
JP4221045B2 (ja) | フロアプラン設計支援装置,フロアプラン設計支援プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 | |
JP2004502259A (ja) | 階層型金属末端、包囲、および曝露をチェックする方法およびシステム | |
US8239797B1 (en) | Congestion aware block placement | |
JP4274814B2 (ja) | 半導体集積回路の設計方法、設計装置、セルライブラリのデータ構造および自動レイアウトプログラム | |
JP4141322B2 (ja) | 半導体集積回路の自動配線方法及び半導体集積回路の設計のプログラム | |
US7530038B2 (en) | Method and placement tool for designing the layout of an electronic circuit | |
US20230351089A1 (en) | Using a machine trained network during routing to account for opc cost | |
JP2005209685A (ja) | マスクパターンデータ自動補正方法及びそのプログラム | |
JP2010073073A (ja) | レイアウト設計方法、装置及びプログラム | |
JP5402430B2 (ja) | 設計方法 | |
US20170061063A1 (en) | Integrated circuit with reduced routing congestion | |
JPH09232436A (ja) | 論理合成方法及び装置並びに半導体集積回路設計方法 | |
JP2921454B2 (ja) | 集積回路の配線方法 | |
JPH04101276A (ja) | 集積回路設計装置 | |
JP5035308B2 (ja) | 配線設計支援システム、方法及びプログラム | |
JP2007328745A (ja) | フロアプラン生成装置及びその制御方法、プログラム、記憶媒体 | |
JP2008071109A (ja) | 集積回路設計方法 | |
JP2003099493A (ja) | 半導体集積回路装置のセルレイアウト生成装置、およびセルレイアウトの生成方法、ならびにその方法で製造した半導体集積回路装置 | |
JP2002041587A (ja) | 半導体集積回路レイアウトのコンパクタ装置及び半導体集積回路レイアウトのコンパクション方法並びに記録媒体 | |
JPH0877224A (ja) | 集積回路の設計方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20081028 |
|
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: 20081114 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111121 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111121 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121121 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121121 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131121 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |