JP4221045B2 - フロアプラン設計支援装置,フロアプラン設計支援プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 - Google Patents

フロアプラン設計支援装置,フロアプラン設計支援プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 Download PDF

Info

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
Application number
JP2007522143A
Other languages
English (en)
Other versions
JPWO2006137119A1 (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2006137119A1 publication Critical patent/JPWO2006137119A1/ja
Application granted granted Critical
Publication of JP4221045B2 publication Critical patent/JP4221045B2/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
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L27/00Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
    • H01L27/02Devices 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/0203Particular 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)のフロアプラン技術に関し、特に、基本論理回路からなる配置対象物の形状や大きさが分割階層設計によって予め大まかに決定されている状況下で、配置対象物を半導体集積回路の実装領域上に配置し、当該配置対象物における内部要素の位置決定を行ない、当該配置対象物の形状、大きさ、配置位置を決定する技術に関する。
以下の説明において、配置対象物とは、フロアプランの対象となる半導体集積回路の一部の機能を担う論理機能単位であり、例えば、配置,形状,大きさが変更可能な、ユーザ論理回路(例えば、サブチップ)、もしくは、このユーザ論理回路を実装階層(実装領域)に分割した実装ブロック(例えば、LSG(Layout Sub Group)ブロック)のことをいう。
具体的には、図32に示すように、フロアプランの対象となる半導体集積回路(Chip)110が、外部入出力用領域(External I/O Area)111と複数のサブチップ(Sub Chip)112とから構成され、さらに、複数のサブチップ112のそれぞれが、複数の内部要素(素子;例えば、RAM(Random Access Memory),ROM(Read Only Memory),スタンダードセル(Standard Cell))をそなえた実装ブロック113を複数そなえている場合には、サブチップ112もしくは実装ブロック113が配置対象物となる。
したがって、図33(a)〜(c)に示すごとく、サブチップ112レベルのフロアプランを実施する場合には、実装ブロック113が配置対象物となり(図33(b),(c)参照)、半導体集積回路110レベルのフロアプランを実施する場合には、サブチップ112が配置対象物となる(図33(a),(b)参照)。
従来、半導体集積回路(例えば、LSI:Large Scale Integrated circuit)のフロアプラン装置において、例えば、図34に示すごとく、複数の配置対象物(配置対象ブロック)102〜105を半導体集積回路100の配置領域へ配置するときは、配置対象物102〜105を矩形にして複数の配置対象物102〜105同士の重なりが発生しないようにしていた。なお、図34及び後述する図35において矩形の塗り潰し領域は、各配置対象物102〜105における内部要素を示している。
しかしながら、配置対象物102〜105を矩形にした場合、配置対象物102〜105の内部要素(内部セル;例えば、RAM:Random Access Memory,ROM:Read Only Memory,スタンダードセル)の配置や配線制約に起因して配置対象物102〜105の面積が大きくなってしまい、半導体集積回路100全体の面積が増大してしまうとともに、半導体集積回路100の規定サイクルタイム内へのタイミング収束が困難になってしまう(第1の課題)。
また、配置対象物102〜105を矩形にすると、特に配置対象物102,103に示すごとく、内部要素の形状,大きさ及び数に起因して、配置対象物102,103内において疎密の差が大きくなりデッドスペースが増えてしまう(第2の課題)。
そこで、上記第1,2の課題を解消すべく、図35に示すごとく、配置対象物102´〜105´を非矩形の多様な任意図形(ここでは直角多角形)を使用して設計し、配置対象物102´〜105´同士が重ならないように設計するフロアプラン装置がある。このフロアプラン装置によれば、図35に示すごとく、図34に示す配置対象物102〜105と同一の内部要素をそなえた配置対象物102´〜105´を配置しながら、半導体集積回路100´を半導体集積回路100よりも小さくすることができ、その結果、上記第1,2の課題を解決することができるのである。
また、近年の半導体集積回路の大規模化や高密度化に伴って、設計の階層レイアウト化の導入、あるいは、設計容易化、もしくは、半導体集積回路のダウンサイジングのために、矩形と非矩形の配置対象物が混在するように設計するフロアプラン装置もある。このフロアプラン装置は、配置対象物の配置順序をタイミング規制や配線数等の優先度で判断し、後から配置される配置対象物は先に配置された配置対象物を避けて配置することで、配置対象物同士の重なりが発生しないようになっている。
なお、半導体集積回路のフロアプラン技術において、集積回路の設計期間の短縮化を図るために、レイアウト面に発生した直角多角形領域を最少数の矩形領域に分割する技術や(例えば、下記特許文献1参照)、多角形のパターンを矩形に分割して電子線描画を行なう電子線露光用マスクのマスク描画データを高精度に作成するための技術(例えば、下記特許文献2参照)が提案されている。
特開2000−20566号公報 特開2003−45780号公報
しかしながら、図35を参照しながら上述した配置対象物102´〜105´を非矩形にする技術では、配置対象物102´〜105´内の空き領域が少なくなるので配置や配線の自由度がなくなってしまうとともに、多様な多角形を取り扱うことになるため、CAD(Computer Aided Design)システムの制約が多くなってしまう(第3の課題)。
また、上述した矩形と非矩形の配置対象物を使用する技術では、矩形の配置対象物同士、もしくは、矩形と非矩形の配置対象物が隣接する場合には、上記第1,2の課題が発生してしまい、非矩形の配置対象物同士が隣接する場合には、上記第3の課題が発生してしまう。
本発明は、このような課題に鑑み創案されたもので、半導体集積回路のフロアプランを実施する際に、配置対象物の内部要素の配置や配線の自由度を確保するとともに、CADシステムの制約の増大を抑止しながら、半導体集積回路の小型化及びデッドスペースの低減を効率良く実現することができるようにすることを目的とする。
上記の目的を達成するために、本発明のフロアプラン設計支援装置は、内部要素が配置された複数の配置対象ブロックの実装領域上への配置処理を行なうものであって、前記複数の配置対象ブロックを互いに重なり合わないように前記実装領域上に配置する配置部と、該配置部によって配置された前記複数の配置対象ブロックのうちの少なくともつの配置対象ブロックの配置及び/又は形状を変更することによって、重複領域を形成するように、前記複数の配置対象ブロックを前記実装領域上に仮配置する重複領域形成部と、前記重複領域を形成する配置対象ブロックのうちの少なくとも1つの配置対象ブロックの前記内部要素を、当該重複領域を使用しながら配置変更することにより、当該配置対象ブロックを最適化する最適化部を有することを特徴としている。このとき、前記重複領域形成部が、非矩形の配置対象ブロックを矩形に変形することが好ましい。
また、前記最適化部が、前記重複領域を形成する配置対象ブロックのうちの少なくとも1つの配置対象ブロックの前記内部要素の配置を変更し、前記内部要素の配置が変更された当該配置対象ブロックの形状を変更することが好ましく、このとき、前記最適化部が、前記重複領域において当該重複領域を形成する複数の配置対象ブロックの前記内部要素が互いに干渉しているか否かを判定し、干渉していると判定した場合には、互いに干渉する前記内部要素のうちの少なくとも1つの内部要素の配置を変更することにより、前記干渉を解消することが好ましい。
さらに、前記最適化部が、前記重複領域を形成する前記配置対象ブロックのそれぞれの、当該配置対象ブロックの全領域から前記重複領域を除いた専用領域における前記内部要素の使用面積率(以下、第1使用面積率という)と、前記重複領域における当該重複領域を形成する配置対象ブロックの前記内部要素の使用面積(以下、重複領域使用面積という)とのうちの少なくとも一方を用いて、前記内部要素の配置を変更することが好ましく、このとき、前記最適化部が、前記配置対象ブロックの前記専用領域における前記内部要素を前記重複領域に移動することにより、前記内部要素の配置を変更することが好ましい。
なお、前記最適化部が、前記重複領域使用面積が最大となるように、前記重複領域を形成する配置対象ブロックのうちの前記第1使用面積率が最も高い配置対象ブロックの前記内部要素の配置を変更することが好ましい。
また、前記重複領域が2つの配置対象ブロックによって形成されている場合、前記最適化部が、前記2つの配置対象ブロックのうちの前記第1使用面積率が高い一の配置対象ブロックの前記第1使用面積率が、他の配置対象ブロックの前記第1使用面積率と同一になるように、前記一の配置対象ブロックの前記内部要素の配置を変更することが好ましい。
さらに、前記最適化部が、前記重複領域を形成する配置対象ブロックのそれぞれの前記第1使用面積率を同一にしながら、前記重複領域使用面積が最大となるように、前記配置対象ブロックの前記内部要素の配置を変更することが好ましい。
なお、前記フロアプラン設計支援装置はさらに、前記重複領域を形成する各配置ブロック毎に、前記重複領域における各配置ブロックの内部要素の総面積に、各内部要素の境界外側に設ける配置配線禁止領域面積を加えた値を、論理コスト期待値として算出する論理コスト期待値算出部を有し、前記最適化部が、前記論理コスト期待値算出部が算出する論理コスト期待値に応じて前記内部要素の配置を変更することが好ましい。
また、前記フロアプラン設計支援装置はさらに、前記重複領域を形成する各配置ブロック毎に、前記重複領域における各配置ブロックの内部要素の総面積に、各内部要素の境界外側に設ける配置配線禁止領域面積と、配線予約エリア面積と、端子予約エリア面積を加えた値を、実装コスト期待値として算出する実装コスト期待値算出部を有し、前記最適化部が、前記実装コスト期待値算出部が算出する実装コスト期待値に応じて前記内部要素の配置を変更することが好ましい。
さらに、前記フロアプラン設計支援装置はさらに、前記重複領域を形成する各配置ブロック毎に、前記重複領域における各配置ブロックの内部要素の総面積に、各内部要素の境界外側に設ける配置配線禁止領域面積を加えた値を、論理コスト期待値として算出する論理コスト期待値算出部と、前記重複領域を形成する各配置ブロック毎に、前記重複領域における各配置ブロックの内部要素の総面積に、各内部要素の境界外側に設ける配置配線禁止領域面積と、配線予約エリア面積と、端子予約エリア面積を加えた値を、実装コスト期待値として算出する実装コスト期待値算出部を有し、前記最適化部が、前記論理コスト期待値算出部が算出する論理コスト期待値と前記実装コスト期待値算出部が算出する実装コスト期待値とに基づいて算出された総合コスト期待値に応じて前記内部要素の配置を変更することが好ましい。
なお、前記最適化部が、前記重複領域における前記内部要素の配置を当該内部要素の接続関係に基づいて行なうことが好ましい。
また、前記配置処理にかかる情報を表示する表示部と、該表示部上の表示データに対する応答情報を入力する入力部とをさらにそなえ、前記最適化部が、前記入力部によって入力された応答情報に基づいて各種設定を行なうことが好ましい。
また、上記目的を達成するために、本発明のフロアプラン設計支援プログラムは、内部要素が配置された複数の配置対象ブロックの実装領域上への配置処理を行なう機能をコンピュータに実現させるためのものであって、前記複数の配置対象ブロックを互いに重なり合わないように前記実装領域上に配置する配置部と、該配置部によって配置された前記複数の配置対象ブロックのうちの少なくとも1つの配置対象ブロックの配置及び/又は形状を変更することによって、前記複数の配置対象ブロックのうちの少なくとも2つの配置対象ブロックが互いに重なり合って重複領域を形成するように、前記複数の配置対象ブロックを前記実装領域上に仮配置する重複領域形成部と、前記重複領域を形成する配置対象ブロックのうちの少なくとも1つの配置対象ブロックの前記内部要素を、当該重複領域を使用しながら配置変更することにより、当該配置対象ブロックを最適化する最適化部として、前記コンピュータを機能させることを特徴としている。
なお、前記最適化部が、前記重複領域を形成する配置対象ブロックのうちの少なくとも1つの配置対象ブロックの前記内部要素の配置を変更し、前記内部要素の配置が変更された当該配置対象ブロックの形状を変更するように、前記コンピュータを機能させることが好ましい。
また、上記目的を達成するために、本発明のコンピュータ読取可能な記録媒体は、上述したフロアプラン設計支援プログラムを記録したものである。
このように、本発明によれば、仮配置部が重複領域を形成し、最適化部がこの重複領域を使用しながら、当該重複領域を形成する配置対象ブロックの内部要素の配置を変更して、当該配置対象ブロックを最適化するので、重複領域を複数の配置対象ブロックが共有するように配置対象ブロックの内部要素の配置を再度設計し直すことになり、その結果、配置対象ブロックを小型化することができ、半導体集積回路の小型化及びデッドスペースの低減を実現できるようになる。
しかも、本発明は配置対象ブロックの形状を複雑な多角形にして小型化するものではないため、配置対象ブロックの内部要素の配置や配線の自由度を確保することができるとともに、CADシステムの制約の増大を抑止できる。
本発明の一実施形態としてのフロアプラン装置の構成を示すブロック図である。 本発明の一実施形態としてのフロアプラン装置の仮配置部のコモンエリア形成部によるコモンエリアの形成について説明するための図であり、(a)は仮配置部の配置部によって配置された配置対象物を示す図であり、(b)はコモンエリア形成部によって形状が変更された配置対象物を示す図であり、(c)はコモンエリア形成部によって形成されたコモンエリアを示す図である。 本発明の一実施形態としてのフロアプラン装置の仮配置部のコモンエリア形成部によるコモンエリアの形成について説明するための図であり、(a)は仮配置部の配置部によって配置された配置対象物を示す図であり、(b)はコモンエリア形成部によって形状が変更された配置対象物を示す図であり、(c)はコモンエリア形成部によって形成されたコモンエリアを示す図である。 本発明の一実施形態としてのフロアプラン装置の仮配置部のコモンエリア形成部によるコモンエリアの形成について説明するための図であり、(a)は仮配置部の配置部によって配置された配置対象物を示す図であり、(b)はコモンエリア形成部によって形成されたコモンエリアを示す図である。 本発明の一実施形態としてのフロアプラン装置の仮配置部のコモンエリア形成部によって形成されたコモンエリアにおける内部要素の重なりを説明するための図である。 本発明の一実施形態としてのフロアプラン装置の表示部に表示される、仮配置部のコモンエリア形成部によって取得されるコモンエリア属性情報を示す図である。 本発明の一実施形態としてのフロアプラン装置の表示部に表示される、仮配置部のコモンエリア形成部によって生成されるコモンエリア未使用領域利用可能情報を示す図である。 本発明の一実施形態としてのフロアプラン装置の表示部に表示される、仮配置部のコモンエリア形成部によって取得されるコモンエリア内部要素情報を示す図である。 本発明の一実施形態としてのフロアプラン装置の期待値算出部が取得するコモンエリアの現在使用状況である実績値の内容を説明するための図である。 本発明の一実施形態としてのフロアプラン装置の期待値算出部の論理コスト期待値算出部によって算出される論理コスト期待値の内容を説明するための図である。 本発明の一実施形態としてのフロアプラン装置の表示部に表示される、実績値及び期待値の一例を示す図であり、(a)は期待値算出部が取得するコモンエリアの現在使用状況を示す図であり、(b)はユーザが入力部によって入力するユーザ期待値を示す図であり、(c)は期待値算出部の論理コスト期待値算出部が算出する論理コスト期待値を示す図であり、(d)は期待値算出部の実装コスト期待値算出部が算出する実装コスト期待値を示す図であり、(e)は期待値算出部の総合コスト期待値算出部が算出する総合コスト期待値を示す図である。 本発明の一実施形態としてのフロアプラン装置の期待値算出部の実装コスト期待値算出部によって算出される実装コスト期待値の内容を説明するための図である。 本発明の一実施形態としてのフロアプラン装置の期待値算出部の総合コスト期待値算出部によって算出される総合コスト期待値の内容を説明するための図である。 本発明の一実施形態としてのフロアプラン装置の表示部に表示される、期待値算出部によって取得もしくは算出されるコモンエリア使用構成情報を示す図であり、(a)は図11(a)に示す現在使用状況(実績値)に対応するものであり、(b)は図11(c)に示す論理コスト期待値に対応するものであり、(c)は図11(d)に示す実装コスト期待値に対応するものであり、(d)は図11(e)に示す総合コスト期待値に対応するものである。 本発明の一実施形態としてのフロアプラン装置の表示部に表示される、最適化部の判定部によって取得されるコモンエリア内部要素エラー情報を示す図である。 本発明の一実施形態としてのフロアプラン装置の最適化部の配置変更部の第1配置変更部によるコモンエリア内における内部要素の配置について説明するための図である。 本発明の一実施形態としてのフロアプラン装置の表示部に表示される、最適化部の配置変更部の第2配置変更部によって取得されるコモンエリアの現在使用状況を示す図であり、(a)はコモンエリアを形成する配置対象物とこれら配置対象物を内部要素とともに示す模式図であり、(b)はコモンエリア使用情報を示す図である。 本発明の一実施形態としてのフロアプラン装置の表示部に表示される、最適化部の配置変更部の第2配置変更部が第1モードで内部要素の配置を変更したときのコモンエリアの状態を示す図であり、(a)はコモンエリアを形成する配置対象物を内部要素とともに示す模式図であり、(b)はコモンエリア使用情報を示す図である。 本発明の一実施形態としてのフロアプラン装置の表示部に表示される、最適化部の配置変更部の第2配置変更部が第2モードで内部要素の配置を変更したときのコモンエリアの状態を示す図であり、(a)はコモンエリアを形成する配置対象物を内部要素とともに示す模式図であり、(b)はコモンエリア使用情報を示す図である。 本発明の一実施形態としてのフロアプラン装置の表示部に表示される、最適化部の配置変更部の第2配置変更部が第3モードで内部要素の配置を変更したときのコモンエリアの状態を示す図であり、(a)はコモンエリアを形成する配置対象物を内部要素とともに示す模式図であり、(b)はコモンエリア使用情報を示す図である。 本発明の一実施形態としてのフロアプラン装置の最適化部の配置変更部の第3配置変更部による内部要素の配置変更処理を説明するための図であり、コモンエリアを形成する配置対象物を示す図である。 内部要素の配置変更処理を説明するための図であり、(a)は内部要素の配置変更処理前のコモンエリアを示す図であり、(b)は内部要素の配置変更処理後のコモンエリアを示す図である。 本発明の一実施形態としてのフロアプラン装置の表示部に表示される、最適化部の配置変更部の第3配置変更部によって取得されるコモンエリアを形成する配置対象物の内部要素の接続関係を示す図である。 本発明の一実施形態としてのフロアプラン装置の最適化部の形状変更部による配置対象物の形状変更処理を説明するための図であり、(a)はコモンエリア形成前の配置対象物を示す図であり、(b)はコモンエリア形成後、且つ、内部要素の配置変更処理前の配置対象物を示す図であり、(c)は内部要素の配置変更処理後の配置対象物を示す図であり、(d)は形状変更処理後の配置対象物を示す図である。 本発明の一実施形態としてのフロアプラン装置の最適化部の形状変更部による配置対象物の形状変更処理を説明するための図であり、(a)はコモンエリア形成前の配置対象物を示す図であり、(b)はコモンエリア形成後、且つ、内部要素の配置変更処理前の配置対象物を示す図であり、(c)は内部要素の配置変更処理後の配置対象物を示す図であり、(d)は形状変更処理後の配置対象物を示す図である。 本発明の一実施形態としてのフロアプラン装置によるフロアプラン処理が適用される半導体集積回路の設計手順を示すフローチャートである。 本発明の一実施形態としてのフロアプラン装置の動作手順を示すフローチャートである。 本発明の一実施形態としてのフロアプラン装置の最適化部によって表示部に表示される、配置対象物の内部要素を変更するか否かをユーザに確認するための表示画面の一例を示す図である。 本発明の一実施形態としてのフロアプラン装置の最適化部の配置変更部によって表示部に表示される、配置対象物の内部要素の配置変更処理の方法を選択するための選択画面の一例を示す図である。 本発明の一実施形態としてのフロアプラン装置の最適化部の配置変更部の第2配置変更部によって表示部に表示される、配置変更処理のモードを選択するための選択画面の一例を示す図である。 本発明の変形例としてのフロアプラン装置の最適化部の配置変更部による内部要素の配置変更処理を説明するための図であり、(a)はコモンエリア形成前の配置対象物を示す図であり、(b)はコモンエリア形成後、且つ、内部要素の配置変更処理前の配置対象物を示す図であり、(c)は内部要素の配置変更処理後の配置対象物を示す図であり、(d)は形状変更処理後の配置対象物を示す図である。 本発明のフロアプラン装置の対象となる半導体集積回路の一例を示す模式図である。 本発明のフロアプラン装置によるフロアプラン処理における配置対象物を説明するための図であり、(a)は図32に示す半導体集積回路を簡略化して示す図であり、(b)は(a)に示す半導体集積回路における一のサブチップを示す図であり、(c)は(b)に示すサブチップにおける一の実装ブロックを示す図である。 従来のフロアプラン装置によってフロアプラン処理を施された半導体集積回路の一例を示す図である。 従来のフロアプラン装置によってフロアプラン処理を施された半導体集積回路の一例を示す図である。
符号の説明
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をそなえて構成されている。
なお、ここでは、本フロアプラン装置1が、上述した図32,図33(a)〜(c)に示す、サブチップ112レベルのフロアプランを実施する場合を例にあげて説明する。
データベース2は、分割階層設計によって設計された配置対象物に関するデータ(配置対象物情報)やフロアプラン対象としている半導体集積回路のネットリスト等を保持するものである。
なお、データベース2が保持する配置対象物情報やネットリストは、半導体集積回路の設計手順において本フロアプラン装置1によるフロアプラン処理よりも前段で実施されるRTL(Register Transfer Level)設計(後述する図26のステップS1参照)、及び、論理合成(後述する図26のステップS2参照)の結果に基づいて得られる。
ここで、配置対象物情報は、少なくとも設計対象の半導体集積回路における配置対象物の寸法,形状,他の配置対象物等との接続関係に関する情報や、当該配置対象物の内部要素に関する情報(内部要素の数量,種類,寸法,接続関係等)を含んでいる。
表示部3は、仮配置部10及び最適化部30による配置対象物の配置処理にかかる情報(後述する図6〜図8,図15,図17(a),(b)〜図20(a),(b)参照)や期待値算出部20によって算出された期待値(後述する図11(a)〜(e),図14(a)〜(d)参照)等を表示するものである。
表示制御部4は、表示部3の表示内容を制御するものである。
入力部5は、本フロアプラン装置1のユーザ(以下、単にユーザという)が、フロアプランのための各種設定事項を入力するためのものである。例えば、ユーザが、この入力部5を用いて表示部3上の表示データに対する応答情報(各種設定事項)を入力する。
この入力部5には、インタフェースとして、例えばマウスやキーボードが用いられる。
仮配置部10は、複数の配置対象物のうちの少なくとも2つの配置対象物が互いに重なり合ってコモンエリア(重複領域)を形成するように、複数の配置対象物を実装領域上に仮配置するものであり、配置部11及びコモンエリア形成部(重複領域形成部)12をそなえて構成されている。
配置部11は、複数の配置対象物を、これらが互いに重なり合わないように実装領域上に配置するものであり、データベース2に保持された配置対象物情報やネットリスト等に基づいて配置対象物を作成し、作成した配置対象物の実装領域上への配置を行なう。
コモンエリア形成部12は、配置部11によって配置された複数の配置対象物のうちの少なくとも1つの配置対象物の配置及び/または形状を変更することによって、コモンエリアを形成するものである。
例えば、図2(a)に示すごとく、配置部11によって、実装領域上に非矩形(ここでは直角多角形)の配置対象物L1と、矩形の配置対象物L2とが互いに重なり合わないように配置された場合には、コモンエリア形成部12は、図2(b)に示すごとく、斜線で示す領域M1を加えて配置対象物L1の形状を非矩形から矩形に変更することによって、図2(c)に示すごとく、矩形に変形した配置対象物L1と、配置対象物L2とが互いに重なり合ったコモンエリアW1を形成する。
また、図3(a)に示すごとく、配置部11によって、2つの非矩形(ここでは直角多角形)の配置対象物L3,L4が互いに重なり合わないように配置された場合には、コモンエリア形成部12は、図3(b)に示すごとく、配置対象物L3,L4のそれぞれに、斜線で示す領域M3,M4を加えて矩形に変形することによって、図3(c)に示すごとく、矩形に変形された配置対象物L3,L4が互いに重なり合ったコモンエリアW2を形成する。
さらに、図4(a)に示すごとく、配置部11によって、2つの矩形の配置対象物L5,L6が互いに重なり合わないように配置された場合には、コモンエリア作成部12は、図4(b)に示すごとく、配置対象物L5,L6の少なくなくともいずれか一方の配置を変更することによって、配置対象物L5,L6が互いに重なり合ったコモンエリアW3を形成する。
なお、図5に示すごとく、コモンエリア形成部12によって形成されたコモンエリアW3(図4(a),(b)参照)には、複数の配置対象物L5,L6の内部要素が混在する場合がある。
ところで、コモンエリア形成部12は、入力部5によって入力されるユーザの指示に基づいてコモンエリアの形成を行なってもよいし、自動的にコモンエリアの形成を行なってもよい。
コモンエリア形成部12がユーザの指示に基づいてコモンエリアを形成する場合には、配置部11による配置対象物の配置結果を表示部3に表示させる(例えば、図33(b)参照)。そして、ユーザが、表示部3に表示された各配置対象物の配置対象物情報(例えば、空き面積や接続関係)に基づいてコモンエリアを形成する複数の配置対象物(すなわち、配置対象物の組)を決定し、マウスを操作して(例えば、マウスを移動して表示部3に表示された配置対象物の中の所望の配置対象物上にポインタを移動し、マウスをクリックすることによって)、これらの配置対象物をコモンエリアを形成する配置対象物として選択する。
次いで、コモンエリア形成部12は、ユーザによって選択された配置対象物の組のうちの少なくとも一つの配置対象物が非矩形であった場合には、上述した図2(a)〜(c)もしくは図3(a)〜(c)に示すごとく、この配置対象物を矩形に変形することによってコモンエリアを形成する。
また、ユーザによって選択された配置対象物の組のすべてが矩形であった場合には、上述した図4(a),(b)に示すごとく、コモンエリア形成部12は、これら複数の配置対象物のうちの少なくとも一つの配置対象物の配置を変更することによってコモンエリアを形成する。
このとき、コモンエリア形成部12による配置対象物の移動は、ユーザによって選択された複数の配置対象物の空き面積(すなわち、配置対象物内の内部要素が配置されていない面積)に基づいて行なわれる。
つまり、コモンエリア形成部12は、コモンエリアを形成する複数の配置対象物の空き面積に基づいて当該コモンエリアの面積を決定し、その面積になるように配置対象物の配置を変更するように構成されており、例えば、データベース2が、コモンエリアを形成する配置対象物の空き面積とコモンエリアの面積との対応を示すテーブルを保持しており、コモンエリア形成部12は、このテーブルに基づいてコモンエリアの面積を決定し、コモンエリアがかかる面積になるように配置対象物の配置を変更する。
なお、ユーザによって選択された配置対象物が非矩形であった場合でも、コモンエリア形成部12が配置対象物の配置を変更することによってコモンエリアを形成してもよく、この場合もコモンエリア形成部12は、上述したように配置対象物の空き面積に基づいて配置対象物の配置変更を行なう。
また、コモンエリア形成部12が自動的にコモンエリアを形成する場合には、コモンエリア形成部12は、例えば、データベース2に保持された配置対象物情報(空き面積,空き面積率,接続関係等)に基づいて、コモンエリアを形成する複数の配置対象物(配置対象物の組)を選択する。この場合にも、表示部3に配置部11による配置対象物の配置結果が表示されることが好ましい。
なお、コモンエリア形成部12による配置対象物の組の選択方法としては、例えば、空き面積もしくは空き面積率が予め設定された閾値以上である配置対象物を選択したり、あるいは、接続関係の大きい複数の配置対象物を選択したり、もしくは、これらを組み合わせて選択したりすることが好ましい。
そして、コモンエリア形成部12は、選択した配置対象物の組のうちの少なくとも一つの配置対象物が非矩形であれば、上述した図2(a)〜(c)もしくは図3(a)〜(c)に示すごとく、当該配置対象物を矩形に変形することによってコモンエリアを形成する。
また、コモンエリア形成部12は、選択した配置対象物の組のすべての配置対象物が矩形であれば、上述した図4(a),(b)に示すごとく、少なくとも一つの配置対象物の配置を変更することによってコモンエリアを形成する。
なお、このとき、コモンエリア形成部12は、上述したユーザによってコモンエリアを形成する配置対象物が選択された場合と同様に、配置対象物の空き面積に基づいて配置対象物の配置変更を行なう。
そして、コモンエリア形成部12は、形成したコモンエリアに関するコモンエリア情報を取得してデータベース2に保持させる。
このコモンエリア情報は、例えば、コモンエリア属性情報(後述する図6参照)、コモンエリア未使用領域利用可能情報(後述する図7参照)、及びコモンエリア内部要素情報(後述する図8参照)を含んでいる。
コモンエリア形成部12は、形成したコモンエリアそれぞれに関して、図6に示すようなコモンエリア属性情報を取得し、表示制御部4はこのコモンエリア属性情報を図6に示すごとく画面12aとして表示部3に表示させる。
つまり、コモンエリア形成部12は、コモンエリア属性情報として、コモンエリアの識別名(ここでは「W」),頂点の座標,コモンエリアを構成する配置対象物名(図6中“構成”と表記;ここでは「L10,L20」),コモンエリアの全面積(ここでは“15000”),コモンエリアW内のすべての内部要素が占める占有面積及び占有面積率,各配置対象物L10,L20の内部要素が占める占有面積(図6中“L10占有面積”,“L20占有面積”と表記)及び占有面積率(図6中“L10占有面積率”,“L20占有面積率”と表記),コモンエリアWにおいて内部要素が配置されていない未使用面積及び未使用面積率を取得する。
また、コモンエリア形成部12は、コモンエリア情報として、コモンエリアの未使用領域における内部要素の配置可能面積と縦横それぞれの配線可能チャネル数とを、予め設定された内部要素と配線との使用比に応じて予測したコモンエリア未使用領域利用可能情報を生成する。
このコモンエリア未使用領域利用可能情報は、表示制御部4によって図7に示すごとく画面12bとして表示部3に表示される。なお、図7に示す例では、コモンエリア未使用領域における内部要素の配置と配線との使用比が“1:0”,“0:1”,“1:1”の場合について生成されたコモンエリア未使用領域利用可能情報である。
なお、図7では、“1:0”の場合(配置のみに使用する場合)、内部要素の配置可能面積は“12000”となり、“0:1”の場合(配線のみに使用する場合)、配線可能チャネル数は縦方向に280本で横方向に300本となり、“1:1”の場合(配置と配線とで半々に使用する場合)、内部要素の配置可能面積は“6000”となり配線可能チャネル数は縦方向に140本で横方向に150本となることが示されている。
さらに、コモンエリア形成部12は、コモンエリア情報として、コモンエリア内の内部要素に関するコモンエリア内部要素情報を取得する。このコモンエリア内部要素情報は、例えば、図8に示すごとく、コモンエリア内の内部要素それぞれの識別名,位置座標(図8中“座標”と表記),面積,所属配置対象物名を含んでおり、このコモンエリア内部要素情報はコモンエリアの初期状態を表わしている。
なお、このコモンエリア内部要素情報は、表示制御部4によって図8に示すごとく画面12cとして表示部3に表示される。ここで、図8に示す画面12cにおいて、各内部要素の位置座標は、当該内部要素の左下の頂点と右上の頂点との2点の座標で表されている。
このように、コモンエリア形成部12が取得する、図6〜図8に示すコモンエリア情報(コモンエリア属性情報,コモンエリア未使用領域利用可能情報,及びコモンエリア内部要素情報)は、ユーザが後述する最適化部30による最適化処理に必要な各種設定事項を決定するために表示部3に表示されるのである。
換言すると、ユーザは、図6〜図8に示すごとく表示部3に表示されたコモンエリア情報を参照し、これらの内容を考慮して、後述する最適化部30による最適化処理をどのように実行するか(後述するユーザ期待値や配置変更処理モード)を決定する。
期待値算出部20は、様々なコスト情報から現在の実績値を最適化した種々のコスト期待値(論理情報や実装情報等のパラメータを使用してコスト計算したコモンエリアの使用期待値)をコモンエリア最適化情報として算出するものであり、図1に示すごとく、論理コスト期待値算出部21,実装コスト期待値算出部22,及び総合コスト期待値算出部23をそなえて構成されている。
論理コスト期待値算出部21は、コモンエリアを形成する複数の配置対象物のそれぞれにおいて、各配置対象物内における内部要素の接続関係が最適になる場合の配置に基づく、コモンエリアにおける各配置対象物の内部要素の使用面積を、論理コスト期待値として算出する。
つまり、論理コスト期待値算出部21は、内部要素の配置対象物内における接続関係に基づいて論理コスト期待値を算出するものであり、内部要素の面積に対して、セル境界スペーシング面積を考慮して論理コスト期待値を算出する。
例えば、コモンエリアWにおける現在の使用状況(実績値)が図9に示すごとくあらわされる場合、つまり、コモンエリアWにおいて配置対象物L10の内部要素の総面積が“1400”であり、配置対象物L20の内部要素の総面積が“1200”であり、空き領域が“12400”である場合には、論理コスト期待値算出部21は、図10に示すごとく、配置対象物L10の初期状態である内部要素の総面積に、セル境界スペーシング面積を加えた値(ここでは、“3500”)、並びに、配置対象物L20の初期状態である内部要素の総面積に、セル境界スペーシング面積を加えた値(ここでは、“4000”)、及び、その他の空き領域(ここでは“7500”)を、論理コスト期待値として算出する。
ここで、セル境界スペーシング面積とは、各セルの境界外側に設ける配置・配線禁止領域のことであり、この領域は、各セルの内部素子と外部の配線との干渉によりノイズやショートが発生しないようにするために、セル境界の外側に予め確保されたスペーシングのことをいう。
なお、期待値算出部20によって算出されるコスト期待値(コモンエリア最適化情報)は、例えば、図11(a)〜()に示すごとく棒グラフ20aとして表示部3に表示され、論理コスト期待値算出部21によって算出される論理コスト期待値は、図11(c)に示すごとく表示される。
また、図9,図10,図11(a)〜(e)、及び、後述する図12,図13は、上述した図6〜図8に示すコモンエリアWに対するコモンエリア最適化情報を示す図である。
この図11(a)〜(e)に示すように、本フロアプラン装置1では、表示制御部4が、コモンエリア最適化情報として、コモンエリアの現在の使用状況(実績値;図11(a)参照),ユーザが入力部5によって入力したユーザ期待値(図11(b)参照)、及び期待値算出部20によって算出された各種コスト期待値(論理コスト期待値算出部21によって算出される論理コスト期待値;図11(c)参照,実装コスト期待値算出部22によって算出される実装コスト期待値;図11(d)参照,及び総合コスト期待値算出部23によって算出される総合コスト期待値;図11(e)参照)を棒グラフ20aにして表示部3に表示する。
ここで、図11(a)に示す現在使用状況(実績値)は、現在のコモンエリアWにおける配置対象物L10,L20の内部要素の使用状況であり、図9に対応している。
さらに、図11(b)に示すユーザ期待値は、ユーザが図6〜図8に示すコモンエリア情報を参照しながらユーザが入力部5を用いて入力したユーザ所望の値(コモンエリアWにおける各配置対象物L10,L20の使用面積)であり、ここでは、配置対象物L10の内部要素による使用面積が“7500”であり、配置対象物L20の内部要素による使用面積が“7400”であり、空き領域が“100”である。
そして、論理コスト期待値算出部21によって算出された論理コスト期待値は、図11(c)に示すごとく表示部3に表示される。
実装コスト期待値算出部22は、配置対象物の内部要素の他の配置対象物の内部要素との接続関係(つまり、他の配置対象物との接続関係)を考慮した最適な配置になる場合の、コモンエリアにおける各配置対象物の内部要素の使用面積を、実装コスト期待値として算出する。
つまり、実装コスト期待値算出部22によって算出される実装コスト期待値は、配線が通過する領域を予め確保する配線予約エリアや端子を割り付ける領域を予め確保する端子予約エリアを考慮して算出され、コモンエリアを形成する複数の配置対象物の内部要素の接続関係が最も良好になる場合のコモンエリアにおける各配置対象物の内部要素の使用面積としてあらわされる。
具体的には、論理コスト期待値算出部21によって図10に示すごとく論理コスト期待値が算出された場合には、実装コスト期待値算出部22は、図12に示すごとく、配置対象物L10の初期状態を示す内部要素の総面積とセル境界スペーシング面積(すなわち配置対象物L10の論理コスト期待値)に、配線予約エリア及び端子予約エリアを加えた値(ここでは、“6000”)、並びに、配置対象物L20の初期状態を示す内部要素の総面積とセル境界スペーシング面積(すなわち論理コスト期待値)に、配線予約エリア及び端子予約エリアを加えた値(ここでは、“6000”)、及び、その他の空き領域(ここでは“3000”)を、実装コスト期待値として算出する。
なお、実装コスト期待値算出部22によって算出された実装コスト期待値は、図11(d)に示すごとく、表示部3に表示される。
総合コスト期待値算出部23は、論理コスト期待値算出部21によって算出された論理コスト期待値と実装コスト期待値算出部22によって算出された実装コスト期待値とに基づいて、総合コスト期待値を算出するものであり、例えば、論理コスト期待値及び実装コスト期待値の割合を用いて総合コスト期待値を算出する。
つまり、総合コスト期待値算出部23は、下記式(1)によって配置対象物L10の総合コスト期待値を算出し、下記式(2)によって配置対象物L20の総合コストを算出する。
配置対象物L10の総合コスト期待値=(配置対象物L10の論理コスト期待値割合+配置対象物L10の実装コスト期待値割合)/総合するコスト種類数×(コモンエリア面積−空き領域) ・・・(1)
配置対象物L20の総合コスト期待値=(配置対象物L20の論理コスト期待値割合+配置対象物L20の実装コスト期待値割合)/総合するコスト種類数×(コモンエリア面積−空き領域) ・・・(2)
なお、上記式(1),(2)において、空き領域は予め設定されたデフォルトの値である。
具体的には、論理コスト期待値算出部21によって図10に示すごとく論理コスト期待値が算出され、実装コスト期待値22によって図12に示すごとく実装コスト期待値が算出された場合には、総合コスト期待値算出部23は、下記式(1´)によって配置対象物L10の総合コスト期待値を算出する。
配置対象物L10の総合コスト期待値=(3500/7500+6000/12000)/2×(15000−750) ・・・(1´)
また、この場合、総合コスト期待値算出部23は、下記式(2´)によって配置対象物L20の総合コスト期待値を算出する。
配置対象物L20の総合コスト期待値=(4000/7500+6000/12000)/2×(15000−750) ・・・(2´)
したがって、図13に示すごとく、総合コスト期待値算出部23によって算出される配置対象物L10の総合コスト期待値は、“配置対象物L10の内部要素の総面積+セル境界スペーシング面積+配線予約エリア+端子予約エリア+分配される空き領域”となり、値は“6910”となる。
また、配置対象物L20の総合コスト期待値は、“配置対象物L20の内部要素の総面積+セル境界スペーシング面積+配線予約エリア+端子予約エリア+分配される空き領域”となり、値は“7340”となる。
なお、空き領域は、予め設定された値(ここでは、“750”)となるが、ここでは、コモンエリアの全面積の5%が空き領域となるように予め設定されている。
また、総合コスト期待値算出部23によって算出された総合コスト期待値は、図11(e)に示すごとく、表示部3に表示される。
ところで、本フロアプラン装置1では、図11(a)〜(e)に示すコモンエリア最適化情報を表示部3に表示させる際に、このコモンエリア最適化情報とともに、図14(a)〜(d)に示すコモンエリア内の配置対象物別の使用構成を示す情報(コモンエリア使用構成情報)を画面20bとして表示部3に表示する。
図14(a)に示すコモンエリア使用構成情報は、図11(a)に示す現在使用状況(実績値)に対応するものであり、コモンエリアWにおける配置対象物L10,L20の初期状態の内部要素の内容を示している。また、このコモンエリア使用構成情報はコモンエリア形成部12によって取得される。
具体的には、コモンエリアWにおける配置対象物L10の使用面積(内部要素の総面積)“1400”の内訳が、セル配置が“800”であり、配線予約エリアが“500”であり、その他が“100”であることを示すとともに、コモンエリアWにおける配置対象物L20の使用面積(内部要素の総面積)“1200”の内訳が、セル配置が“700”であり、配線予約エリアが“400”であり、その他が“100”であることを示している。
図14(b)に示すコモンエリア使用構成情報は、図11(c)に示す論理コスト期待値算出部21によって算出された論理コスト期待値に対応するものであり、かかる論理コスト期待値となる場合のコモンエリアWにおける配置対象物L10,L20の内部要素の内容を示している。このコモンエリア使用構成情報は、論理コスト期待値算出部21によって算出される。
具体的には、コモンエリアWにおける配置対象物L10の使用面積“3500”の内訳が、セル配置が“1400”であり、配線予約エリアが“500”であり、セル境界スペーシング面積が“1400”であり、その他が“200”であることを示すとともに、コモンエリアWにおける配置対象物L20の使用面積“4000”の内訳が、セル配置が“1700”であり、配線予約エリアが“400”であり、セル境界スペーシング面積が“1700”であり、その他が“200”であることを示している。
図14(c)に示すコモンエリア使用構成情報は、図11(d)に示す実装コスト期待値算出部22によって算出された実装コスト期待値に対応するものであり、かかる実装コスト期待値となる場合のコモンエリアWにおける配置対象物L10,L20の内部要素の内容を示している。このコモンエリア使用構成情報は、実装コスト期待値算出部22によって算出される。
具体的には、コモンエリアWにおける配置対象物L10の使用面積“6000”の内訳が、セル配置が“1400”であり、配線予約エリアが“2000”であり、セル境界スペーシング面積が“1400”であり、端子予約エリアが“1000”であり、その他が“200”であることを示すとともに、コモンエリアWにおける配置対象物L20の使用面積“6000”の内訳が、セル配置が“1700”であり、配線予約エリアが“1600”であり、セル境界スペーシング面積が“1700”であり、端子予約エリアが“800”であり、その他が“200”であることを示している。
図14(d)に示すコモンエリア使用構成情報は、図11(e)に示す総合コスト期待値算出部23によって算出された総合コスト期待値に対応するものであり、かかる総合コスト期待値となる場合のコモンエリアWにおける配置対象物L10,L20の内部要素の内容を示している。このコモンエリア使用構成情報は、総合コスト期待値算出部23によって算出される。
具体的には、コモンエリアWにおける配置対象物L10の使用面積“6910”の内訳が、セル配置が“1400”であり、配線予約エリアが“2000”であり、セル境界スペーシング面積が“1400”であり、端子予約エリアが“1000”であり、その他が“1100”であることを示すとともに、コモンエリアWにおける配置対象物L20の使用面積“7340”の内訳が、セル配置が“1400”であり、配線予約エリアが“2000”であり、セル境界スペーシング面積が“1400”であり、端子予約エリアが“1000”であり、その他が“1540”であることを示している。
そして、ユーザは、表示部3に表示されたコモンエリア最適化情報(図11(a)〜(e)参照)及びコモンエリア使用構成情報(図14(a)〜(d)参照)を参照して、例えば、キーボードを操作することによって入力部5を介してユーザ期待値を入力し、最適化部30が入力されたユーザ期待値に基づいて後述するように配置対象物の最適化処理を実行する。
この最適化部30は、コモンエリアを形成する配置対象物のうちの少なくとも1つの配置対象物の内部要素を、当該コモンエリアを使用しながら配置対象物内で配置変更することにより、当該配置対象物を最適化するものであり、図1に示すごとく、判定部31,配置変更部32,及び形状変更部33をそなえて構成されている。
判定部31は、コモンエリアにおいて、当該コモンエリアを形成する複数の配置対象物の内部要素が互いに干渉しているか否か(つまり、内部要素の重なりが存在するか否か)を判定するものである。
つまり、上記図5を参照しながら詳述した通り、コモンエリアには複数の配置対象物の内部要素が混在する場合があるため、判定部31は、コモンエリア形成部12が生成したコモンエリア内部要素情報(図8参照)に基づいて、コモンエリアを形成する複数の配置対象物の内部要素が互いに干渉しているか否かを判定する。
そして、判定部31は、例えば、図6〜図8に示すコモンエリアWに対して、コモンエリアWを形成する複数の配置対象物L10,L20の内部要素(ここでは“dvr1”と“配線予約エリア1”)が互いに干渉していると判定した場合には、図15に示すごとく、かかる干渉をユーザに通知するためのコモンエリア内部要素エラー情報を画面31aとして表示部3に表示させる。
配置変更部32は、入力部5を介して入力されるユーザの指示(ここではユーザ期待値;図11(b)参照)に基づいて、コモンエリアを形成する複数の配置対象物のうちの少なくとも1つの配置対象物の内部要素の配置を変更するものであり、内部要素の配置を変更することによって当該配置対象物を最適化する。
また、配置変更部32は、判定部31によってコモンエリアを形成する複数の配置対象物の内部要素が互いに干渉していると判定した場合には、当該干渉を解消すべく、互いに干渉する内部要素のうちの少なくとも1つの内部要素の配置を変更する。
この配置変更部32は、第1配置変更部32a,第2配置変更部32b,第3配置変更部32cをそなえて構成されている。
第1配置変更部32aは、入力部5によってユーザから入力されたユーザ期待値(図11(b)参照)に基づいて、期待値算出部20によって算出された複数種類のコスト期待値(論理コスト期待値,実装コスト期待値,及び総合コスト期待値;図11(c)〜(e)参照)の中から一つのコスト期待値を選択し、選択したコスト期待値に基づいてコモンエリアを形成する配置対象物の内部要素の配置を変更する。
具体的には、第1配置変更部32aは、下記式(3)に示す期待値判定関数fによって、各コスト期待値(論理コスト期待値,実装コスト期待値,及び総合コスト期待値)の中から配置変更処理に採用する期待値を選択する。
期待値判定関数f=min|ユーザ期待値−各コスト期待値| ・・・(3)
したがって、第1配置変更部32aは、上記式(3)に基づいて、ユーザ期待値から各コスト期待値を差し引いた値の絶対値が最も小さいコスト期待値を、配置変更処理に採用するコスト期待値として選択する。
例えば、図11(a)〜(e)に示す例では、第1配置変更部32aは、上記式(3)に基づいて、総合コスト期待値(図11(e)参照)を選択する。
そして、第1配置変更部32aは、この総合コスト期待値に基づいて、各配置対象物L10,L20の属するセルに加えて、セル境界スペーシング、並びに、各配置対象物L10,L20の配線予約エリア,端子予約エリア及び分配される空き領域をコモンエリアWに配置する。
つまり、コモンエリアW形成時(初期状態)の実績値では、上記図9に示すごとく、コモンエリアWには、各配置対象物L10,L20のセルが配置されているだけであったが、第1配置変更部32aがユーザ期待値に基づいて総合コスト期待値(図13参照)を選択し、さらに第1配置変更部32aが、この総合コスト期待値に基づいて、セル境界スペーシングを考慮してセルを配置し、さらに、各配置対象物L10,L20の配線予約エリア,端子予約エリア及び分配される空き領域をコモンエリアWに新たに配置することによって、配置対象物L10,L20を最適化する。
なお、第1配置変更部32aは、例えば図16に示すごとく、配置対象物L7,L8によってコモンエリアW4が形成されている場合、配置対象物L7の内部要素(選択されたコスト期待値に基づく内部要素)は、コモンエリアW4の辺R,S,Tのうちのいずれか1辺に偏るように配置する一方、配置対象物L8の内部要素は、コモンエリアWの辺R,T,Uのうちの、配置対象物L7の内部要素が偏っていない1辺に偏るように配置することが好ましい。これによって、後述する形状変更部33による形状変更処理によって、配置対象物(ここでは配置対象物L7,L8)の面積を縮小することができるようになる。
第2配置変更部32bは、コモンエリアを形成する配置対象物のそれぞれの、当該配置対象物の全領域からコモンエリアを除いた専用領域における内部要素の使用面積率(以下、第1使用面積率という)と、コモンエリアにおける当該コモンエリアを形成する配置対象物の内部要素による使用面積(コモンエリア使用面積;重複領域使用面積)との少なくとも一方を用いて内部要素の配置を変更するものである。
第2配置変更部32bは、本フロアプラン装置1では、コモンエリア外にある内部要素をコモンエリア内にアサインする場合、つまり、コモンエリアに空き領域があり、ユーザがコモンエリアをより積極的に使用しようと判断した場合に機能し、本フロアプラン装置1では、入力部5を介したユーザからの指示に基づいて、第1〜第3モード(後述する図18〜図20参照)の3つのモード(態様)のいずれかで動作する。
まず、第2配置変更部32bは、例えば、図17(a),(b)に示すごとく、現在の使用状況(実績値)を表示部3に表示させる。図17(a)は、現時点でのコモンエリアW5を形成する配置対象物L11,L21を示す模式図であり、図17(b)はこのコモンエリアW5のコモンエリア使用情報を示すものである。
なお、図17(a)及び後述する図18(a),図19(a),図20(a)において、符号“SL11”は、配置対象物L11において、配置対象物L11からコモンエリアW5を除いた専用領域(以下、専用領域SL11という)を示し、符号“SL21”は、配置対象物L21において、配置対象物L21からコモンエリアW5を除いた専用領域(以下、専用領域SL21という)を示している。
ここで、図17(b)に示すコモンエリア使用情報について説明すると、このコモンエリア使用情報は、コモンエリアの全面積(図中“全面積”と表記),コモンエリアW5における配置対象物L11,L21の内部要素による使用面積(コモンエリア使用面積;図中“コモンエリア使用面積”と表記)とその内訳(図中“L11使用面積”及び“L21使用面積”と表記),未使用面積,専用領域SL11の全面積(図中“SL11全面積”と表記),専用領域SL11における内部要素の使用面積(図中“SL11使用面積”と表記),専用領域SL11の第1使用面積率(図中“SL11第1使用面積率”と表記),専用領域SL21の全面積(図中“SL21全面積”と表記),専用領域SL21における内部要素の使用面積(図中“SL21使用面積”と表記),及び専用領域SL21の第1使用面積率(図中“SL21第1使用面積率”と表記)からなる。
なお、後述する図18(b),図19(b),及び図20(b)に示すコモンエリア使用情報も図17(b)に示すものと同種類の情報からなる。
また、図17(a),(b)は、ユーザが入力部5によってコモンエリアに外部の内部要素をアサインする(つまり、第2配置変更部32bによる配置変更処理を実行する)と設定した場合に、表示制御部4によって表示部3に表示されてもよい。
そして、第2配置変更部32bは、コモンエリアを形成する配置対象物のうちのいずれかの第1使用面積率(配置混雑度)が高いことを解消すべく、第1モードとして、コモンエリア使用面積が最大となるように、コモンエリアを形成する配置対象物のうちの第1使用面積率が最も高い配置対象物の内部要素の配置を変更する(つまり、コモンエリア内にアサインする)。
具体的には、図17(a),(b)に示すように、専用領域SL11の面積が“30000”で“90%”の第1使用面積率であり、専用領域SL21の面積が“32000”で“70%”の使用率であり、コモンエリアW5の面積“15000”に対して配置対象物L11の使用面積が“1000”であり、配置対象物L21の使用面積が“2000”であり、未使用面積が“12000”であったとする。
このとき、コモンエリアW5の未使用面積“12000”は、第1使用面積率が最も高い配置対象物L11の専用領域SL11の面積“30000”の40%にあたるので、第2配置変更部32bは、配置対象物L11の内部要素を全面積の最高40%分(面積では“12000”)コモンエリアW5に移動させる。
なお、コモンエリアW5に移動する内部要素の合計面積がきっちり“12000”にならない場合があるため、ここでは最高40%(“12000”)としている。
したがって、第2配置変更部32bは、第1モードによって、図18(a),(b)に示すごとく、第1使用面積率が最も高い配置対象物L11の内部要素を、コモンエリアW5のコモンエリア使用面積が最大となるように、コモンエリアW5内に移動させ、その結果、コモンエリアW5における配置対象物SL11の使用面積は“13000”になり、コモンエリアW5の未使用面積が“0”になるとともに、SL11の第1使用面積率が“50%”になる。
また、第2配置変更部32bは、コモンエリアを形成する配置対象物のうちのいずれかの第1使用面積率(配置混雑度)が高いことを解消すべく、第2モードとして、コモンエリアを形成する複数の配置対象物のすべてが、初期状態において最も低い第1使用面積率になるように、第1使用面積率の高い配置対象物の内部要素をコモンエリアにアサインする。つまり、コモンエリアを形成する複数の配置対象物の第1使用面積率を、高い方から低い方へ均等化するというパラメータでコモンエリアの使用構成を決定する。
なお、この第2モードによってコモンエリアを形成する複数の配置対象物の第1使用面積率を均等にすることは、これら配置対象物のいずれかが混雑するということが解消されるばかりでなく、配線予約エリアの確保に有効である。
具体的には、図17(a),(b)に示す場合には、配置対象物L11の専用領域SL11の面積が“30000”で“90%”の第1使用面積率であり、配置対象物L21の面積が“32000”で“70%”の第1使用面積率であるので、専用領域SL11の第1使用面積率を専用領域SL21の第1使用面積率に合わせるべく(つまり、SL11第1使用面積率を“70%”にすべく)、配置変更部32bは、配置対象物L11の専用領域SL11の20%にあたる内部要素を算出し、算出された内部要素をコモンエリアW5に移動させる。
つまり、図19(a),(b)に示すごとく、配置変更部32bは、第2モードによって、配置対象物L11の全面積の20%の“6000”の面積分の内部要素を、専用領域SL11からコモンエリアW5に移動して、SL11第1使用面積率及びSL21第1使用面積率をともに“70%”にする。
なお、このとき、コモンエリア使用面積は“9000”になり、その内訳は、配置対象物L11の使用面積が“7000”で、配置対象物L21の使用面積が“2000”になり、コモンエリアW5の未使用面積は“6000”になる。
さらに、第2配置変更部32bは、コモンエリアを形成する配置対象物のうちのいずれかの第1使用面積率(配置混雑度)が高いことを解消しながらコモンエリアを最大限有効利用すべく、第3モードとして、コモンエリアを形成する複数の配置対象物のすべての第1使用面積率を同一にしながら、コモンエリア使用面積が最大となるように、複数の配置対象物の内部要素をコモンエリア内にアサインする。
具体的には、図17(a),(b)に示す場合には、専用領域SL11の第1使用面積率と、専用領域SL21の第1使用面積率とを同率にしながら、コモンエリアW5の未使用面積を最小にする値を計算し、図20(a),(b)に示すごとく、コモンエリアW5における配置対象物L11の使用面積を“9700”、配置対象物L21の使用面積を“5180”にして、専用領域SL11及びSL21の第1使用面積率を同一(ここでは、“61%”)にしながら、未使用面積を“120”にする。
第3配置変更部32cは、コモンエリアにおける内部要素の配置を、当該内部要素の接続関係に基づいて行なうものであり、例えば、第1配置変更部32a及び第2配置変更部32bによって配置変更処理を施されたコモンエリアに対して、さらに当該コモンエリア内の内部要素の配置を変更する。
第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の中心を示している。
次に、第3配置変更部32cは、内部要素A〜Dの接続割合に基づいてこれら内部要素A〜Dの配置を、図22(b)に示すごとく変更する。ここでは、内部要素Cが、自身が属する配置対象物L12との接続割合が最も大きい(ここでは“100%”)ため、この内部要素Cを、コモンエリアW6の中心WC6と配置対象物L12の中心CL12とを結ぶ直線X上でコモンエリアW6の辺Sに接するように配置する。
さらに、内部要素Cの次に配置対象物L12との接続割合が高いのは、接続割合が共に“60%”である内部要素A,Bであるが、この場合、第3配置変更部32cは、これら内部要素A,Bの他の接続割合に基づいて配置順序を決定する。
つまり、ここでは、内部要素Aは配置対象物L22の接続割合が“0%”で、内部要素Bは配置対象物L22の接続割合が“10%”であり、内部要素Aの方が配置対象物L22への接続割合が低く、その他の接続割合が高いので、第3配置変更部32cは、内部要素Aを次に配置する。
その後、内部要素B、内部要素Dの順に配置することによって、図22(b)に示すごとく、コモンエリアW6内の内部要素の配置を変更する。
なお、図22(b)において、符号“Y”は、コモンエリアW6の中心WC6と配置対象物L22の中心CL22とを結ぶ直線を示している。
このように、第3配置変更部32cによれば、内部要素がコモンエリア内で所属する配置対象物により近い位置に集合するので、コンパクション効果があり、また、コモンエリアの中心部分が未使用領域になるため、他の内部要素や配線予約エリアとして使うこともできる。
さらに、第3配置変更部32cによれば、後述する形状変更部33による形状変更処理によって、配置対象物(ここでは配置対象物L12,L22)の面積を縮小することができるようになる。
また、図1に示すように、形状変更部33は、仮配置部10のコモンエリア形成部12によって形成されたコモンエリアを解消すべく、配置変更部32によってコモンエリアを利用しながら配置変更処理を施された内部要素の配置に基づいて、当該コモンエリアを形成する複数の配置対象物のそれぞれの形状を再決定することによって、これら配置対象物の形状を変更して最適化するものである。
例えば、図24(a)に示す配置対象物L13,L23の形状を、図24(b)に示すごとく、コモンエリア形成部12が変更することによってコモンエリアW7を形成し、さらに、配置変更部32が、図24(c)に示すごとく、配置対象物L13の内部要素の配置を変更した場合には、形状変更部33は、図24(d)に示すごとく、配置を変更された内部要素に基づいて、各配置対象物L13,L23の形状を変更する。
したがって、図24(a)〜(d)に示す例では、配置対象物L13,L23はともに初期状態(図24(a)参照)から面積が小さくなるように形状が変更されて最適化される。
また、例えば、図25(a)に示す配置対象物L14,L24の配置(ここでは配置対象物L24の配置)を、図25(b)に示すごとく、コモンエリア形成部12が変更することによってコモンエリアW8を形成し、さらに、配置変更部32が、図25(c)に示すごとく、配置対象物L14,L24の内部要素の配置を変更した場合には、形状変更部33は、図25(d)に示すごとく、配置を変更された内部要素に基づいて、各配置対象物L14,L24の形状を変更する。
したがって、図25(a)〜(d)に示す例では、配置対象物L14,L24は、初期状態(図25(a)参照)では矩形であったものが非矩形に変形され、その結果、これら配置対象物L14,L24は面積が小さくなるように最適化される。
次に、本フロアプラン装置1の動作手順について説明する。
まず、図26に示すフローチャート(ステップS1〜S11)を参照しながら、半導体集積回路の設計手順における本フロアプラン装置1によるフロアプラン処理の位置付けについて説明する。
図26に示すように、半導体集積回路の設計手順では、まず、RTL(Register Transfer Level)設計を行ない(ステップS1)、ハードウェア記述言語(HDL:Hardware Description Language)を用いて半導体集積回路のハードウェアを言語記述し、次いで、ハードウェア記述言語や目標とする回路性能(例えば、タイミングや面積)を入力し、所望の論理回路を自動生成する(論理合成;ステップS2)。
そして、論理合成(ステップS2)によって生成された論理回路に基づいてネットリストを作成し(ステップS3)、作成されたネットリスト等に基づいて、本フロアプラン装置1によるフロアプラン処理が実施される(ステップS4)。
次いで、フロアプラン処理(ステップS4)によって配置対象物について変更が生じた場合には(ステップS5のYesルート)、上記ステップS3の処理に戻り、ネットリストを作成する(ステップS3)。
一方、フロアプラン処理(ステップS4)によって配置対象物について何ら変更が生じなかった場合には(ステップS5のNoルート)、半導体集積回路の仮配線長遅延計算(ステップS6)及び遅延シミュレーション(ステップS7)を実行した後、セルの配置や配線を行なう(ステップS8)。
さらに、セルの配置や配線(ステップS8)が完了すると、実配線長遅延計算(ステップS9)及び遅延シミュレーション(ステップS10)を実行した上で、半導体集積回路の最終的な製造データを作成して(ステップS11)、半導体集積回路の設計処理を終了する。
なお、図26には示していないが、半導体集積回路の設計では、通常、遅延計算(ステップS6もしくはステップS9)及び遅延シミュレーション(ステップS7もしくはステップS10)の結果、半導体集積回路が所望の性能(タイミング等)を満たさなかった場合には、再度、設計変更が行なわれる。
そして、本フロアプラン装置1では、図27に示すフローチャート(ステップS20〜S40)に示す手順で、表示部3や入力部5を用いてユーザに対して対話的にフロアプラン処理を実行する。
つまり、図27に示すように、本フロアプラン装置1では、まず、仮配置部10の配置部11が、データベース2に保持された配置対象物情報に基づいて配置対象物を作成し、ネットリストに基づいて実装領域上に配置対象物を配置する(ステップS20)。
次いで、仮配置部10のコモンエリア形成部12が、配置対象物の形状及び/または位置を変更することによって、コモンエリアを形成する(ステップS21)。
さらに、コモンエリア形成部12が、形成したコモンエリアについて、コモンエリア情報を取得して(ステップS22)、表示部3に表示させる(上記図6〜図8参照;ステップS23)。
そして、最適化部30の判定部31が、コモンエリア形成部12によって形成されたコモンエリアにおいて、当該コモンエリアを形成する配置対象物の内部要素が重なり合っていないか(つまり、内部要素の重なりが存在するか否かを)判定する(ステップS24)。
ここで、判定部31が内部要素の重なりが存在すると判定した場合(ステップS24のYesルート)、判定部31は、コモンエリア内部要素エラー情報を作成し、表示部3に表示させ(上記図15参照;ステップS25)、配置変更部32が重なり合う内部要素の少なくとも一つの内部要素の配置を変更することによって、重なりを解消する(ステップS26)。
次いで、最適化部30が、内部要素の重なりを解消したコモンエリアのコモンエリア情報を再度取得して(ステップS27)、このコモンエリア情報を表示部3に表示させる(ステップS28)。
一方、判定部31が、内部要素の重なりが存在しないと判定した場合(ステップS24のNoルート)、上述したステップS25〜S28の処理をスキップする。
そして、ユーザが、表示部3に表示されたコモンエリア情報を参照しながら、コモンエリアを形成する配置対象物の内部要素の配置を変更するか否かを決定し、その旨を、入力部5を介して入力する(ステップS29)。具体的には、例えば、最適化部30が、表示部3に図28に示すような内部要素の配置を変更するか否かをユーザに確認するためのメッセージと、Yesボタン51及びNoボタン52が表示された表示画面50を表示させ、ユーザがコモンエリア情報に基づいて内部要素の配置変更処理を実行するか否かを判断して、その応答としてYesボタン51もしくはNoボタン52を、マウスを操作してクリックする。
ここで、ユーザがYesボタン51をクリックした場合(つまり、内部要素の配置変更を行なう場合;ステップS29のYesルート)、ユーザは、続いて内部要素の配置変更処理の方法を選択する(ステップS30)。
つまり、このステップS30において、ユーザが、第1配置変更部32a,第2配置変更部32b,第3配置変更部32cのうちのいずれに配置変更処理を実行させるかを入力部5によって入力する。
具体的には、例えば、最適化部30の配置変更部32が、図29に示すような、配置変更処理の方法を選択するための選択画面60を表示部3に表示する。この図29に示す選択画面60は、3種類の配置変更処理の方法の説明と、これら3種類の配置変更処理の方法に対応した選択ボタン61〜63、及び、OKボタン64から構成されている。
したがって、ユーザがマウスを操作してポインタを移動し、所望の選択ボタン61〜63上でマウスをクリックしてボタンを選択した上でOKボタン64をクリックすることにより、選択されたボタンに対応する配置変更処理の方法が選択される。
ここでは、コスト期待値(配置対象物ごとの使用面積)に基づいて配置を変更する場合(すなわち、第1配置変更部32aによって配置変更処理を実行する場合)には、ユーザによって選択ボタン61が選択される。
なお、図29は、選択ボタン61が選択された状態を示している。
また、配置対象物の第1使用面積率及びコモンエリア使用面積の少なくともいずれか一方の情報に基づいて内部要素の配置を経こうする場合(すなわち、第2配置変更部32bによって配置変更処理を実行する場合)には、ユーザによって選択ボタン62が選択される。
なお、第2配置変更部32bによって配置変更処理を実行させるための説明文としては、図29に示す例以外に、“コモンエリアを積極的に利用すべく、外部の内部要素をアサインする”という説明文にしてもよく、また、その他の説明文についても、図29に示す例に限定されるものではない。
さらに、現在のコモンエリア内の内部要素を当該内部要素の接続関係に基づいて配置変更する場合(すなわち、第3配置変更部32cによって配置変更処理を実行する場合)には、ユーザによって選択ボタン63が選択される。
そして、ユーザが選択ボタン61を選択した場合(ステップS30のAルート)、期待値算出部20の論理コスト期待値算出部21,実装コスト期待値算出部22,及び総合コスト期待値算出部23のそれぞれが、コスト期待値を算出して、その結果を表示部3に表示させる(ステップS31)とともに、ユーザがキーボード等を用いてユーザ期待値を入力することにより(ステップS32)、表示部3に上記図11(a)〜(e)及び図14(a)〜(d)に示すようなコスト期待値に関する情報が表示される。
そして、第1配置変更部32aが、ユーザ期待値に基づいて論理コスト期待値,実装コスト期待値,及び総合コスト期待値の中から一のコスト期待値を選択し(ステップS33)、このコスト期待値に基づいて、第1配置変更部32aが、コモンエリアを形成する配置対象物の内部要素の配置を変更する(ステップS34)。
一方、上記ステップS30において、ユーザが選択ボタン62を選択した場合(ステップS30のBルート)、第2配置変更部32bが、コモンエリア使用情報(実績値)を抽出して上記図17(a),(b)に示すように表示部3に表示させる(ステップS35)。
そして、ユーザがこのコモンエリア使用情報を参照して、どのように内部要素の配置を変更するかを選択する(ステップS36)。
つまり、このステップS36において、ユーザが、第2配置変更部32bによって第1〜第3モードのいずれのモードの処理を実行させるかを入力部5によって入力する。
具体的には、例えば、第2配置変更部32bが、図30に示すような、配置変更処理のモードを選択するための選択画面70を表示部3に表示する。この図30に示す選択画面70は、3種類の配置変更処理のモード(つまり、第1〜第3モード)の説明と、これら3種類のモードに対応した選択ボタン71〜73、及び、OKボタン74から構成されている。
したがって、ユーザがマウスを操作してポインタを移動し、所望の選択ボタン71〜73上でマウスをクリックしてボタンを選択した上でOKボタン74をクリックすることにより、選択されたボタンに対応する配置変更処理のモードが選択される。
ここでは、コモンエリア使用面積が最大になるように、第1使用面積率が最も高い配置対象物の内部要素の配置を変更する場合(すなわち、第1モードで配置変更処理を実行する場合)には、ユーザによって選択ボタン71が選択される。
なお、図30は、選択ボタン71が選択された状態を示している。
また、すべての配置対象物の第1使用面積率が最も低い第1使用面積率になるように内部要素の配置を変更する場合(すなわち、第2モードで配置変更処理を実行する場合)には、ユーザによって選択ボタン72が選択される。
さらに、すべての配置対象物の第1使用面積率を同一にしながら、コモンエリア使用面積が最大になるように内部要素の配置を変更する場合(すなわち、第3モードで配置変更処理を実行する場合)には、ユーザによって選択ボタン73が選択される。
そして、第2配置変更部32bが、上記ステップS36においてユーザによって選択された動作モードで、内部要素の配置を変更する(ステップS37)。
なお、このとき、第2配置変更部32bが、動作モードに応じて上記図18(a),(b)〜図20(a),(b)に示すいずれかのコモンエリア使用情報を表示部3に表示させることが好ましい。
さらに、上記ステップS30において、ユーザが選択ボタン63を選択した場合(ステップS30のCルート)、第3配置変更部32cが、コモンエリア内に存在する内部要素のそれぞれについて、当該内部要素の接続関係(接続割合)をデータベース2に保持されたデータに基づいて抽出し、上記図23に示すように表示部3に表示させる(ステップS38)。
次いで、第3配置変更部32cが、図22(a),(b)を参照しながら上述したごとく、内部要素の接続関係に基づいて当該内部要素のコモンエリア内における配置を変更する(ステップS39)。
そして、上述した第1配置変更部32aによる配置変更処理(ステップS34)の後,第2配置変更部32bによる配置変更処理(ステップS37)の後,及び第3配置変更部32cによる配置変更処理(ステップS39)後のそれぞれにおいて、上記ステップS27,S28の処理を再度実行して、さらに、上記ステップS29の処理に戻る。
そして、このステップS29において、ユーザが内部要素の配置変更を行なわないと判断した場合(つまり、ユーザが表示画面50においてNoボタン52を選択(クリック)した場合)には(ステップS29のNoルート)、最適化部30の形状変更部33が、変更された内部要素の配置に基づいて、コモンエリアを解消して、コモンエリアを形成していた配置対象物を再形成し(ステップS40)、処理を終了する。
つまり、本フロアプラン装置1では、上記ステップS29において、ユーザが内部要素の配置変更を行なわないと判断するまでは、上記ステップS30の処理に移行して、配置変更部32が内部要素の配置変更処理を実行する。
なお、上記ステップS40における形状変更部33による処理では、図24(a)〜(d)及び図25(a)〜(d)を参照しながら上述したごとく、配置対象物がコモンエリアを形成すべく形状や配置が変更される前の元の形状よりも小さく変更されるように、当該配置対象物の形状が決定されることが好ましい。
このように、本発明の一実施形態としてのフロアプラン装置1によれば、仮配置部10のコモンエリア形成部12によってコモンエリアが形成され、最適化部30の配置変更部32が、コモンエリアを使用しながら、当該コモンエリアを形成する配置対象物の内部要素の配置を変更して、当該配置対象物を最適化するため、コモンエリアを複数の配置対象物が共有するように配置対象物の内部要素の配置を再度設計し直すことになり、その結果、半導体集積回路の小型化を実現でき、デッドスペースを低減できるようになる。
しかも、配置対象物の形状を複雑な多角形にして面積を縮小するものではないため、配置対象物の内部要素の配置や配線の自由度を確保することができるとともに、CADシステムの制約の増大を抑止できる。
つまり、本フロアプラン装置1は、従来は非矩形の多様な任意図形を使用して配置対象物同士の重なりが発生しないように設計されていたものを、逆に故意によって配置対象物同士の重なり(コモンエリア)を発生させ、このコモンエリアを形成する配置対象物同士が友好的且つ積極的にコモンエリアを利用するように、最適化部30が、これらの配置対象物の内部要素の配置を変更するため、上述した効果を得ることができる。
また、配置部11が一旦実装領域上に内部要素が重なり合わないように配置した上で、コモンエリア形成部12がコモンエリアを形成するため、確実にコモンエリアを形成することができる。
さらに、コモンエリア形成部12によって、ユーザが所望の配置対象物同士でコモンエリアを形成させることが容易になる。
また、最適化部30の形状変更部33が、配置変更部32によって内部要素の配置が変更された配置対象物の形状を変更するため、この形状変更処理によって配置対象物の小型化できる。
なお、最適化部30の判定部31がコモンエリアにおける内部要素の重なりの有無を判定し、判定部31によって重なりが存在すると判定された場合には、配置変更部32がかかる重なりを解消すべく内部要素の配置を変更するため、設計ミスを確実に防ぐことができる。
また、最適化部30の配置変更部32の第1配置変更部32aが、期待値算出部20の論理コスト期待値算出部21によって算出された論理コスト期待値に基づいて、内部要素の配置を変更するため、配置対象物の内部要素の配置を、各配置対象物内における内部要素の接続関係が最適になるように、効率的に変更することができる。
さらに、最適化部30の配置変更部32の第1配置変更部32aが、期待値算出部20の実装コスト期待値算出部22によって算出された実装コスト期待値に基づいて、内部要素の配置を変更するため、配置対象物の内部要素の配置を、他の配置対象物との接続関係が最適なるように、効率的に変更することができる。
なお、最適化部30の配置変更部32の第1配置変更部32aが、期待値算出部20の総合コスト期待値算出部23によって算出された総合コスト期待値に基づいて、内部要素の配置を変更するため、配置対象物の内部要素の配置を、当該配置対象物内部の接続関係と他の配置対象物との接続関係とのバランスを取ることができるように、効率的に変更することができる。
また、最適化部30の配置変更部32の第1配置変更部32aは、入力部5を介してユーザによって入力されたユーザ期待値に基づいて、配置変更処理を行なうのに使用するコスト期待値を、論理コスト期待値,実装コスト期待値,及び総合コスト期待値の中から自動的に選択するため、ユーザは所望の値を入力するのみで効率的に配置対象物の内部要素の配置を変更することができ、コモンエリアにおける未使用領域を最適なフロアプランで(つまり、最適なコスト期待値に基づいて)有効利用することができる。
また、このとき、第1配置変更部32aによって、上記図11,図14に示すごとく、各コスト期待値とともに、コモンエリアにおける現在の実績値が表示部3に表示され、さらに、コモンエリア使用構成情報が表示部3に表示されるので、ユーザは、図11及び図14に示す情報を参照しながら、コモンエリアにおける内部要素の加減の調整をすることができ、この結果、最適なフロアプランを行うことができる。
さらに、最適化部30の配置変更部32の第2配置変更部32bが、配置対象物の第1使用面積率と配置対象物のコモンエリア使用面積とのうちの少なくとも一方の情報を用いて内部要素の配置変更処理を実行するため、コモンエリアを形成する配置対象物の内部要素の配置を変更して、コモンエリアにおける内部要素の割合もしくは専用領域における内部要素の割合を、配置対象物を指定しながらユーザ所望の値に効率的に変更することができる。
なお、最適化部30の配置変更部32の第3配置変更部32cが、コモンエリアにおける内部要素の配置を、当該内部要素の接続関係に基づいて行なうため、第3配置変更部32cが、所属する配置対象物への接続割合が大きい内部要素ほど、所属する配置対象物の中心もしくは重心により近い位置に配置変更するため、内部要素のコンパクション効果を得ることができる。
また、この第3配置変更部32cによる配置変更処理に伴って、コモンエリアの中心部分が未使用領域になる可能性が高くなるので、他の内部要素のアサインも追加できるし、デッドスペースも減少させることが可能となる。
なお、配置変更部32の第1配置変更部32a,第2配置変更部32b,及び第3配置変更部32cによって、コモンエリアを形成する内部要素の配置を変更することによって、効率の良いフロアプラン処理の実行による設計時間の短縮とコモンエリアを有効利用することでの半導体集積回路サイズの小型化を実現できる。
また、本フロアプラン装置1では、表示部3,表示制御部4,及び入力部5を用いて、上述したように表示部3に様々な情報を表示させながら、ユーザに対して対話的にフロアプラン処理を実行するので、効率の良い分割設計が可能になる。
〔2〕その他
なお、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、上述した実施形態では、最適化部30の配置変更部32が第1配置変更部32a〜第3配置変更部32cをそなえて構成された例をあげて説明したが、本発明はこれに限定されるものではなく、第1配置変更部32a〜第3配置変更部32cのうちのいずれか一つが含まれていればよい。
また、本発明において、これら第1配置変更部32a〜第3配置変更部32cによる配置変更処理の方法も上述した実施形態に限定されるものではない。
例えば、第1配置変更部32aによる処理は、ユーザが論理コスト期待値,実装コスト期待値,総合コスト期待値のいずれかを直接手動で選択して実行されてもよい。
また、第2配置変更部32bにおける配置変更処理は、上述した第1〜第3モードに限定されるものではなく、少なくとも第1使用面積率もしくはコモンエリア使用面積を利用して、これらの値に基づいて配置変更処理を行なえばよい。
さらに、上述した実施形態において、コモンエリア形成部12によってコモンエリアを形成する際に、所定の領域(例えば、非矩形の配置対象物を矩形に変形するために追加される領域)に配置対象物ごとの使用制限を予め設定して、コモンエリアにおける所定の領域を利用できる配置対象物やその割合を予め設定するように構成してもよく、これによっても効率の良いフロアプラン処理を実現することができる。
なお、上述した実施形態では、配置変更部32による配置変更処理によって、コモンエリア内の内部要素が完全にコモンエリア内に配置される例をあげて説明した(例えば、上記図18(a)〜図20(a)参照)が、本発明はこれに限定されるものではなく、例えば、図31(a)〜(d)に示すごとく、コモンエリア形成部12が、図31(a)に示す配置対象物L15,L25の形状及び配置を変更して、図31(b)に示すごとくコモンエリアW9を形成した場合、配置変更部32(つまり、第1配置変更部32a〜第3配置変更部32cのいずれか)が、図31(c)に示すごとく、内部要素を、コモンエリアW9とそれぞれの配置対象物L15,L25の専用領域とに跨るように配置してもよい。
この場合には、形状変更部33が図31(d)に示すごとく配置対象物L15,L25の形状を変更することができ、上述した実施形態と同様の効果を得ることができる。
また、上述した表示制御部4,配置部11,コモンエリア形成部12,論理コスト期待値算出部21,実装コスト期待値算出部22,総合コスト期待値算出部23,最適化部30,判定部31,配置変更部32,第1配置変更部32a,第2配置変更部32b,第3配置変更部32c,及び形状変更部33としての機能は、コンピュータ(CPU,情報処理装置,各種端末を含む)が所定のアプリケーションプログラム(フロアプランプログラム/フロアプラン設計支援プログラム)を実行することによって実現されてもよい。
それらのプログラムは、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RWなど),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD−RW,DVD+R,DVD+RWなど)等のコンピュータ読取可能な記録媒体に記録された形態で提供される。この場合、コンピュータはその記録媒体からフロアプラン設計支援プログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。
また、それらのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信回線を介してコンピュータに提供するようにしてもよい。
ここで、コンピュータとは、ハードウェアとOS(オペレーティングシステム)とを含む概念であり、OSの制御の下で動作するハードウェアを意味している。また、OSが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、CPU等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえている。
上記フロアプラン設計支援プログラムとしてのアプリケーションプログラムは、上述のようなコンピュータに、表示制御部4,配置部11,コモンエリア形成部12,論理コスト期待値算出部21,実装コスト期待値算出部22,総合コスト期待値算出部23,最適化部30,判定部31,配置変更部32,第1配置変更部32a,第2配置変更部32b,第3配置変更部32c,及び形状変更部33としての機能を実現させるプログラムコードを含んでいる。また、その機能の一部は、アプリケーションプログラムではなくOSによって実現されてもよい。
なお、本実施形態としての記録媒体としては、上述したフレキシブルディスク,CD,DVD,磁気ディスク,光ディスク,光磁気ディスクのほか、ICカード,ROMカートリッジ,磁気テープ,パンチカード,コンピュータの内部記憶装置(RAMやROMなどのメモリ),外部記憶装置等や、バーコードなどの符号が印刷された印刷物等の、コンピュータ読取可能な種々の媒体を利用することもできる。

Claims (17)

  1. 内部要素が配置された複数の配置対象ブロックの実装領域上への配置処理を行なうフロアプラン装置であって、
    前記複数の配置対象ブロックを互いに重なり合わないように前記実装領域上に配置する配置部と、
    該配置部によって配置された前記複数の配置対象ブロックのうちの少なくともつの配置対象ブロックの配置及び/又は形状を変更することによって、重複領域を形成するように、前記複数の配置対象ブロックを前記実装領域上に仮配置する重複領域形成部と、
    前記重複領域を形成する配置対象ブロックのうちの少なくとも1つの配置対象ブロックの前記内部要素を、当該重複領域を使用しながら配置変更することにより、当該配置対象ブロックを最適化する最適化部を有することを特徴とするフロアプラン設計支援置。
  2. 前記重複領域形成部が、非矩形の配置対象ブロックを矩形に変形することを特徴とする請項1記載のフロアプラン設計支援装置。
  3. 前記最適化部が、前記重複領域を形成する配置対象ブロックのうちの少なくとも1つの配置対象ブロックの前記内部要素の配置を変更し、前記内部要素の配置が変更された当該配置対象ブロックの形状を変更することを特徴とする請項1又は2に記載のフロアプラン設計支援装置。
  4. 前記最適化部が、前記重複領域において当該重複領域を形成する複数の配置対象ブロックの前記内部要素が互いに干渉しているか否かを判定し、干渉していると判定した場合には、互いに干渉する前記内部要素のうちの少なくとも1つの内部要素の配置を変更することにより、前記干渉を解消することを特徴とする請項3記載のフロアプラン設計支援装置。
  5. 前記最適化部が、前記重複領域を形成する前記配置対象ブロックのそれぞれの、当該配置対象ブロックの全領域から前記重複領域を除いた専用領域における前記内部要素の使用面積率(以下、第1使用面積率という)と、前記重複領域における当該重複領域を形成する配置対象ブロックの前記内部要素の使用面積(以下、重複領域使用面積という)とのうちの少なくとも一方を用いて、前記内部要素の配置を変更することを特徴とする請項1に記載のフロアプラン設計支援装置。
  6. 前記最適化部が、前記配置対象ブロックの前記専用領域における前記内部要素を前記重複領域に移動することにより、前記内部要素の配置を変更することを特徴とする請項5記載のフロアプラン設計支援装置。
  7. 前記最適化部が、前記重複領域使用面積が最大となるように、前記重複領域を形成する配置対象ブロックのうちの前記第1使用面積率が最も高い配置対象ブロックの前記内部要素の配置を変更することを特徴とする請項5または6に記載のフロアプラン設計支援装置。
  8. 前記重複領域が2つの配置対象ブロックによって形成されている場合、前記最適化部が、前記2つの配置対象ブロックのうちの前記第1使用面積率が高い一の配置対象ブロックの前記第1使用面積率が、他の配置対象ブロックの前記第1使用面積率と同一になるように、前記一の配置対象ブロックの前記内部要素の配置を変更することを特徴とする、請求項5または6に記載のフロアプラン設計支援装置。
  9. 前記最適化部が、前記重複領域を形成する配置対象ブロックのそれぞれの前記第1使用面積率を同一にしながら、前記重複領域使用面積が最大となるように、前記配置対象ブロックの前記内部要素の配置を変更することを特徴とする請項5または6に記載のフロアプラン設計支援装置。
  10. 前記フロアプラン設計支援装置はさらに、
    前記重複領域を形成する各配置ブロック毎に、前記重複領域における各配置ブロックの内部要素の総面積に、各内部要素の境界外側に設ける配置配線禁止領域面積を加えた値を、論理コスト期待値として算出する論理コスト期待値算出部を有し、
    前記最適化部が、前記論理コスト期待値算出部が算出する論理コスト期待値に応じて前記内部要素の配置を変更することを特徴とする請項1のいずれか1項に記載のフロアプラン設計支援装置。
  11. 前記フロアプラン設計支援装置はさらに、
    前記重複領域を形成する各配置ブロック毎に、前記重複領域における各配置ブロックの内部要素の総面積に、各内部要素の境界外側に設ける配置配線禁止領域面積と、配線予約エリア面積と、端子予約エリア面積を加えた値を、実装コスト期待値として算出する実装コスト期待値算出部を有し、
    前記最適化部が、前記実装コスト期待値算出部が算出する実装コスト期待値に応じて前記内部要素の配置を変更することを特徴とする請項1のいずれか1項に記載のフロアプラン設計支援装置。
  12. 前記フロアプラン設計支援装置はさらに、
    前記重複領域を形成する各配置ブロック毎に、前記重複領域における各配置ブロックの内部要素の総面積に、各内部要素の境界外側に設ける配置配線禁止領域面積を加えた値を、論理コスト期待値として算出する論理コスト期待値算出部と、
    前記重複領域を形成する各配置ブロック毎に、前記重複領域における各配置ブロックの内部要素の総面積に、各内部要素の境界外側に設ける配置配線禁止領域面積と、配線予約エリア面積と、端子予約エリア面積を加えた値を、実装コスト期待値として算出する実装コスト期待値算出部を有し、
    前記最適化部が、前記論理コスト期待値算出部が算出する論理コスト期待値と前記実装コスト期待値算出部が算出する実装コスト期待値とに基づいて算出された総合コスト期待値に応じて前記内部要素の配置を変更することを特徴とする請項1のいずれか1項に記載のフロアプラン設計支援装置。
  13. 前記最適化部が、前記重複領域における前記内部要素の配置を当該内部要素の接続関係に基づいて行なうことを特徴とする請項312のいずれか1項に記載のフロアプラン設計支援装置。
  14. 前記配置処理にかかる情報を表示する表示部と、該表示部上の表示データに対する応答情報を入力する入力部とをさらにそなえ、
    前記最適化部が、前記入力部によって入力された応答情報に基づいて各種設定を行なうことを特徴とする請項113のいずれか1項に記載のフロアプラン設計支援装置。
  15. 内部要素が配置された複数の配置対象ブロックの実装領域上への配置処理を行なう機能をコンピュータに実現させるためのフロアプラン設計支援プログラムであって、
    前記複数の配置対象ブロックを互いに重なり合わないように前記実装領域上に配置する配置部と、
    該配置部によって配置された前記複数の配置対象ブロックのうちの少なくとも1つの配置対象ブロックの配置及び/又は形状を変更することによって、前記複数の配置対象ブロックのうちの少なくとも2つの配置対象ブロックが互いに重なり合って重複領域を形成するように、前記複数の配置対象ブロックを前記実装領域上に仮配置する重複領域形成部と
    前記重複領域を形成する配置対象ブロックのうちの少なくとも1つの配置対象ブロックの前記内部要素を、当該重複領域を使用しながら配置変更することにより、当該配置対象ブロックを最適化する最適化部として、前記コンピュータを機能させることを特徴とするフロアプラン設計支援プログラム。
  16. 前記最適化部が、前記重複領域を形成する配置対象ブロックのうちの少なくとも1つの配置対象ブロックの前記内部要素の配置を変更し、前記内部要素の配置が変更された当該配置対象ブロックの形状を変更するように、前記コンピュータを機能させることを特徴とする請項15記載のフロアプラン設計支援プログラム。
  17. 内部要素が配置された複数の配置対象ブロックの実装領域上への配置処理を行なう機能をコンピュータに実現させるためのフロアプラン設計支援プログラムを記録したコンピュータ読取可能な記録媒体であって、
    前記フロアプラン設計支援プログラムが、
    前記複数の配置対象ブロックを互いに重なり合わないように前記実装領域上に配置する配置部と、
    該配置部によって配置された前記複数の配置対象ブロックのうちの少なくとも1つの配置対象ブロックの配置及び/又は形状を変更することによって、前記複数の配置対象ブロックのうちの少なくとも2つの配置対象ブロックが互いに重なり合って重複領域を形成するように、前記複数の配置対象ブロックを前記実装領域上に仮配置する重複領域形成部と
    前記重複領域を形成する配置対象ブロックのうちの少なくとも1つの配置対象ブロックの前記内部要素を、当該重複領域を使用しながら配置変更することにより、当該配置対象ブロックを最適化する最適化部として、前記コンピュータを機能させることを特徴とするフロアプラン設計支援プログラムを記録したコンピュータ読取可能な記録媒体。
JP2007522143A 2005-06-20 2005-06-20 フロアプラン設計支援装置,フロアプラン設計支援プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 Expired - Fee Related JP4221045B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 株式会社東芝 半導体レイアウト設計装置

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