JP2724317B2 - 階層的フロアープラニング方法及びそのシステム - Google Patents

階層的フロアープラニング方法及びそのシステム

Info

Publication number
JP2724317B2
JP2724317B2 JP63134531A JP13453188A JP2724317B2 JP 2724317 B2 JP2724317 B2 JP 2724317B2 JP 63134531 A JP63134531 A JP 63134531A JP 13453188 A JP13453188 A JP 13453188A JP 2724317 B2 JP2724317 B2 JP 2724317B2
Authority
JP
Japan
Prior art keywords
function
functions
level
child
hierarchy
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 - Lifetime
Application number
JP63134531A
Other languages
English (en)
Other versions
JPS6480040A (en
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.)
ERU ESU AI ROJITSUKU CORP
Original Assignee
ERU ESU AI ROJITSUKU 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 ERU ESU AI ROJITSUKU CORP filed Critical ERU ESU AI ROJITSUKU CORP
Publication of JPS6480040A publication Critical patent/JPS6480040A/ja
Application granted granted Critical
Publication of JP2724317B2 publication Critical patent/JP2724317B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L21/00Processes or apparatus adapted for the manufacture or treatment of semiconductor or solid state devices or of parts thereof
    • 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)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Evolutionary Computation (AREA)
  • Architecture (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Manufacturing & Machinery (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Power Engineering (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Description

【発明の詳細な説明】 技術分野 本発明は、集積回路チップ上に相互接続される機能装
置を配置させる(フロアプラニング、即ち配置決定)技
術に関するものであり、更に詳細には、その場合に所要
のチップ面積を減少させ且つそのチップの面積内の相互
接続のルート乃至は経路決定可能性を増大させる方法に
関するものである。
従来技術 フロアプラニング(floorplanning)は、機能的装置
(乃至は「機能」、又はモジュール、要素、ブロック又
は機能ブロックとも呼称される)をチップ上に配置さ
せ、且つそれらの間に相互接続空間を割り当てるプロセ
スに関するものであって、この様な機能やそれらの相互
接続に必要とされる実際のチップ面積を最小とし且つこ
の様な相互接続がその面積内において経路決定すること
が可能であることの蓋然性を最大とするプロセスであ
る。
機能は、個別的な論理及び/又はメモリ要素、又はこ
の様な要素の任意の組合せから構成されている。それ
は、1つ又は数個のトランジスタから構成されるインバ
ータやフリップフロップの如き簡単なものから、又は数
百又は数千個のトランジスタから構成されるマイクロプ
ロセス全体や、シフトレジスタ、又はALU等の複雑なも
のまである。
数学的観点からは、フロアプラニングの問題を系統立
て且つ解決することは極めて困難なことである。精密な
数学的解は基本的に得ることは不可能である。従って、
発見的アルゴリズムを使用して最適解をフロアプラニン
グの問題に近似させる。
更に、チップ構成が次第に複雑になることに起因し
て、単位面積当たりに一層多くの論理及び/又はメモリ
要素を必要とし、フロアプラニングの問題の複雑性は著
しく増大している。従って、このプロセスは何等かの態
様で自動化させることは極めて有用である。
チップ上での機能の配置を包含するフロアプラニング
プロセス自身の前に、チップの論理を設計せねばならな
い。論理設計者は、通常、チップが所望の機能を実行す
ることを可能とさせる論理及び/又はメモリ装置の適宜
の選択及び相互接続を決定する為に階層的(ヒエラルキ
ー的)設計技術を使用する。これらの技術は、チップに
よって実行される最も一般的な機能からチップ上の各論
理及び/又はメモリ要素によって実行される精密な機能
迄の範囲にわたる種々の「抽象化のレベル」においてチ
ップの機能性を記述することを包含する。
従って、論理設計者の階層は、N個のレベルの機能か
ら構成されており、尚Nはチップ内の機能性の階層レベ
ルの数を表す整数(N≧1)であり、第1のレベルはチ
ップそれ自身であり、且つnは該階層内の任意の特定の
機能のレベルを表す整数(1≦n≦N)である。
階層のn番目のレベルにおける「親」機能は、複数個
の(n+1)番目のレベルの「子(children即ち、チル
ドレン)」機能として定義され、その各々は「子(chil
d、即ちチャイルド)」機能である。例えば、n番目の
レベルにあるマイクロプロセサは、ALU、一連のレジス
タ、バス、及び種々のその他の機能(その各々は複数個
の(n+2)dレベルの子を持つか又は持たない場合が
あり、等々)等の(n+1)番目のレベルの子の親とし
て定義することが可能である。
親機能ではない各子機能(即ち、子機能を持たない親
機能)は、「最終(又はターミナル)」(又は「葉(le
af)」)機能と呼称される。各最終機能は、少なくとも
他の1つの最終機能へ接続されており、この様な接続は
通常「ネット(net)」として呼称される。一連のネツ
トで、その各々が複数個の相互接続した機能を画定する
ものは、通常「ネットリスト(net list)」と呼称され
る。
注意すべきことであるが、階層の低レベルは通常連続
して高くなる数字によって示される。従って、レベル1
は階層の頂部(チップ)のレベルを示し、レベル2,3,4
は階層の引き続き「低い」レベルを示すこととなる。
以前のフロアプラニング技術は、大略、2つの基本的
なカテゴリーに分類される。(1)「フラット」フロア
プラナーは、最終機能のみを配置させることによって1
つのレベルのみにおいて(最終機能を除いて全てを省略
することによって階層をフラット即ち平坦化させた時に
形成されるレベル)空間を最小とする試み、(2)「ト
ップオートメイテッド(上部自動化)」フロアプラナー
は、2dレベル機能のみを配置することによって頂部レベ
ルのみにおいてフロアプラニングプロセスを自動化して
いる。
要するに、従来の方法が解消していない3つの著しい
フロアプラニングの障害が存在している。
(1) 未知の機能面積の階層推定 フロアプラニングプロセスが開始すると、或る機能は
未だレイアウトされていないので、各機能の精密な面積
が知られていない場合がある。与えられた機能の要素を
レイアウトした後にのみ、全ての相互接続を考慮にいれ
て、その機能の精密な面積を決定することが可能であ
る。
機能(その要素は未だレイアウトされていない)内の
相互接続面積は、その機能によって占有されている全面
積を決定する上で支配的なファクターであるが以前の方
法は、機能の階層を介してこの相互接続面積(及び従っ
て機能の面積)を推定する為の手段を有していない。こ
の様な方法は、統計的に決定した百分率で該機能自身の
全面積を掛けることによって「フラット」な構成の相互
接続面積を推定することに制限されている。
(2) モジュラー性の維持 チップの論理を階層的な態様で一度設計すると(各親
は複数個のその子として定義)、フロアプランニングプ
ロセスは論理設計者のアプローチと干渉することがない
か又は破壊することがないことが重要である。フラット
プラニングは、最終機能のみを配置させ、それは階層の
多くの異なったレベルで発生することが可能である。こ
の様なフロアプラナーは、それらの親によって占有され
ている面積の外側に子を配置させることによって、論理
設計者によって課される階層を破壊することがある。
論理設計者は、屡々、種々の機能(子)をより大きな
機能(親)に寄せ集めて一体化させることを所望する。
このことは、例えば2つの機能の間の干渉の速度等の多
様な理由の為になされ、その理由は通常フロアプラニン
グプロセス内に因数分解されない。然し乍ら、より大き
な(親)機能のレベルの下側のフロアプランニングは、
構成要素(子)機能の群分解となる場合があり、その際
に論理設計者の階層的設計によって形成される機能的利
点を排除している。
(3) 機能の階層的相互接続 最適フロアプランを達成する為の最大の障害は、階層
における任意の与えられたレベルにおけるフロアプラン
を最適化することは、その他のレベルにおいて機能的相
互接続の知識を必要とするという事実である。論理及び
/又はメモリ要素は論理設計者の階層を介して相互接続
されている(単に底部レベルにおけるだけではない)の
で、任意のレベルにおける最適フロアプランニングは、
これらのレベル間相互接続を考慮にいれる階層的アプロ
ーチを必要とする。
以前のフロアプランニング方法は階層的ではなく、階
層における異なったレベルでの機能間のこの干渉を考慮
にいれていない。フラットフロアプラニング技術は、最
終機能から構成される「レベル」のみを考慮するもので
ある。この様な多様のこれらの最終機能がある場合があ
り、自動化した技術でさえも実現性の為には時間がかか
り過ぎる。
更に、上述した如く、この「レベル」におけるフロア
プラニングは、論理設計者によって課される階層を違反
する場合が或る。真に階層的なフロアプラニングに対す
る必要性は、多分、基本的に平坦なフロアプラニング技
術を階層的なものとして類別する為の一因の願望によっ
て最も良く表されている。例えば、McLeod、Jonahの
「今や設計者はフロアプラニングの詳細をスキップ可能
(Now Designers Can Skip Floor−Planning Detail
s)」、エレクトニクス、1987年4月30日、pp・61−6
2、及びUeda、Kazuhiro等の「CHAPM:階層的VLSIレイア
ウト設計用のチップフロアプラニング(Chip Floorplan
ning For Hierarchical VLSI Layout Design)」、IEEE
トランズアクションズオンコンピュータアイデッドデザ
イン、Vol.CAD−4、No.1985年1月、pp.12−22、を参
照すると良い。
トップアウトメイテッドフロアプラニング技術も1つ
の(トップ即ち頂部)レベルにおいて動作するのみであ
る。このレベルでのフロアプラニングは、低レベルでの
機能の配置及び相互接続を適切に考慮にいれるものでは
ない。何故ならば、これら低レベルでのこの様な機能の
配置は、この自動化プロセスが開始する前でも手動的に
決定されるからである。従って、頂部レベルにおける自
動化フロアプラニングは、低レベルでの機能の手動的配
置が次善である範囲において次善であることに拘束され
る。
然し乍ら、以前の方法は、単一レベルフロアプラニン
グ技術を包含している。この様な技術の1つは、該機能
を2つのグループへ「区画」して、該グループ間の相互
接続の数を最小とさせる。この手順は、繰返し適用され
て、高度に接続された機能を互いに隣同士に配置させ、
所要の経路決定空間を最小とする機能の群衆を形成する
こととなる。Kernighan,B.W.及びS.Linの「区画化グラ
フ用の能率的発見的手順(An Efficient Heurstic Proc
edure for Paritioning Graphs)」、ベルシステムテク
ニカルジャーナル、1970年2月、pp.291−307を参照す
ると良い。
別の技術は(パーティショニング即ち区画と関連して
屡々使用される)、チップ面積を矩形状の「スライシン
グ領域」(機能の区画化したグループの各々を配置させ
ることの可能な領域)へ「スライス」乃至は解体し、次
いで機能の各区画化したグループをこの様な領域の1つ
の中に配置させて浪費させる面積を最小とし従って全チ
ップ面積を最小とさせることを包含している。Otten,Ra
lph、H.J.M.の「レイアウト構造(Layout Structure
s)」,IBMリサーチレポート、No.RC9657(#42647)、1
982年10月28日の文献を参照すると良い。
然し乍ら、この様な単一レベルフロアプラニング方法
は、親機能内の子機能の階層的クラスタリング即ち集団
化等の論理設計者の階層によって課される拘束条件、及
びその階層の種々のレベルを超えての機能の相互接続等
を考慮にいれるものではない。
目 的 本発明は、以上の点に鑑みなされたもであって、上述
した如き、従来技術の欠点を解消し、真に階層的なフロ
アプラニングシステムを提供することによって上述した
如き従来技術の障害を解消することを目的とする。
構 成 本発明は、論理設計者の特定した階層の各レベルにお
いてフロアプラニングを行なう一方、クラスタリング即
ち集団化及びその階層の全てのレベルを超えての機能の
相互接続を考慮にいれることによってフロアプラニング
の問題に対する相対的に最適な解決を近似的に与えるも
のである。
基本的に、本発明は、集積回路上に機能を配置させる
方法を提供するものであって、その集積回路は、Nレベ
ルの機能の階層を有しており、尚Nは前記集積回路内の
機能の階層レベルの番号を表す整数(N≦1)であり、
前記レベルの第1レベルは前記集積回路全体を表してお
り、且つnを前記階層における任意の特定の機能のレベ
ルを表す整数(1≦n≦N)とし、前記階層は前記n番
目のレベルの機能(親機能)の少なくとも1つを複数個
の(n+1)番目のレベルの機能(各々が子機能)とし
て画定しており、各子機能(それは親機能となることは
ない)は最終機能であって各最終機能は少なくとも1個
のネットによって少なくとも他の1つの最終機能へ接続
されており、各ネットは複数個の相互接続された最終機
能を画定しており、前記方法が、前記階層のN個全ての
レベルを介しての機能間の接続の数を推定し、前記推定
した接続数に部分的に基づいて前記階層内の各n番目の
レベルの機能の前記集積回路上の位置を決定する、上記
各ステップを有することを特徴とする。
この階層的フロアプラニング発明は、以前の単一レベ
ルフロアプラナーでは解消されなかった上述した障害
を、以下の態様で解消している。
(1) 未知機能面積の階層的推定 本発明は、今だレイアウトされていない要素の全ての
最終機能の面積を推定し、且つ次いでその他の全ての
(親)機能の面積を推定する。更に、それは、子供をそ
の親の中に配置する度にこれらの推定を繰返しアップデ
ートし、親の面積の一層正確な推定を発生する。
是認されない複雑性を回避する為に、各機能は幾何学
的に矩形として表されている。更に、各機能は、以下の
3つのカテゴリーの内の1つに入らねばならない。
(1)「メガセル(megacell)」機能(既にレイアウト
されており従って固定した寸法を持った単に1つのセル
のみを有するパッド機能を具備するターミナル即ち最終
機能)。(2)「マクロセル(macrocell)」機能(例
えば各々が約2500平方ミクロンであることが可能であり
その集団は未だレイアウトされておらず従って固定した
寸法を持っていない多数の小さなセルを有する最終機
能)。(3)「複数機能の機能(function of function
s)」(2つ又はそれ以上の子機能を持った非最終機
能)。
メガセル機能の面積は既に既知である。マクロセル機
能の面積は、その機能内のマクロセルの面積の和が得ら
れると、妥当な精度でもって推定することが可能であ
り、且つこの様なマクロセルを接続するチャンネル当た
りのトラックの平均数が決定される。マクロセルの面積
の和が既知であるにも拘わらず、この様なマクロセルを
接続するチャンネル値のトラック数は統計的に派生せね
ばならない。このマクロセルを接続するチャンネル当た
りトラック数を統計的に推定する方法を以下に詳細に説
明する。
最終機能(メガセル及びマクロセル機能)の面積が既
知となると、複数個の機能のいずれかの機能の面積を推
定することが可能であるが、それは同一の統計的方法に
よってではない。その子供の面積の和が知られているか
も知れないが、この様な子供の数は、通常、統計的に正
確な結果を発生するのに十分な大きさではない。
然し乍ら、複数の機能の各機能の面積は、その子供の
面積の和へ、チップ上の使用可能な経路用空間の百分率
に等しいこの様な面積の百分率を加算することによって
推定することが可能である。換言すると、機能間の相互
接続のルーチング即ち経路決定の為にチップ上の使用可
能な面積は、階層を介してこの様な機能の全ての間に等
しく分布されている。
従って、複数個の機能の各この様な機能の推定面積
は、その子供の形状が画定され且つそれらの親内に配置
されるとアップデートされ、その際にその精密な形状及
びその精密な面積を決定する。以下の説明から明らかな
如く、各機能の面積の推定は、この様な機能の後の配置
に対して重要である。
(2)モジュラー性の維持 各特定のレベルでフロアプラニングする一方、機能の
全階層が維持されるという拘束条件で、フロアプラニン
グが階層的に行なわれる。
機能の配置(その親機能内において相対的に)も又階
層的に決定される。階層を介しての機能の接続は、この
様な機能間の推定接続数を表す様に重み付けされる。次
いで、各レベルでの機能を、部分的にこの重み付けに基
づいて、それらの親の中において区画化し、且つ二進
「スライシングトリー」(即ち、各特定のレベルにおい
てそれらの親の中においての機能の相対的配置を表す二
進トリー)が形成される。
各親機能のスライシングトリーの頂部レベルは、その
子供の全てを表す1つのノードから構成されている。こ
のノードは、2つの「子供」ノードを持っており、その
各々は、親機能の第1スライスによって2つのスライシ
ング領域即ち分割領域へ幾何学的に分離されて機能の子
供の2つに区画化されたグループの1つを有している。
各その後のノードは、最終的に、各最終ノードが親の子
供の1つのみを有する様になる迄、親のその後のスライ
スによって形成される機能の2つのその後の区画化され
たグループを有している。
従って、例えば、5つの子供(A,B,C,D,E)を有する
機能Zのスライシングトリーの頂部ノードは、5つの全
ての子供を有している。その2つの「子供」ノードはノ
ード(A,B,C)とノード(D,E)の場合がある。これら2
つの「子供」ノード(D,E)は最終ノード(D),
(E)であり、一方ノード(A,B,C)の2つの「子供」
ノードはノード(A,B)と最終ノード(C)の場合があ
る。最後に、ノード(A,B)の「子供」ノードは最終ノ
ード(A)と(B)の場合がある。
これらのスライシングトリーは、異なったレベルを相
関させる為に階層トリーによって(それらの子供のスラ
イシングトリーへ)一緒にリンクされている。上の例に
戻ると、機能Aが2つの子供(A1及びA2)を持っている
とすると、Z(Aの親)のスライシングトリーの底部ノ
ード(A)は、機能Aのスライシングトリーにリンクさ
れている(その上部レベルはA1及びA2の両方を有してい
る)。
このスライシングトリーのリンクは、どのようにして
システムが論理設計者によって課される階層を維持する
かを例示している。基本的に、スライシングトリーは、
それらの親機能の中に子機能の配置を表している。
各機能の形状は、最初に、その機能の可能な形状の範
囲を組み込み形状関数を決定し、次いでその親の子供の
各々の形状関数を「加算」することによってその親機能
の形状関数を決定することによっても、階層的に決定さ
れる。このモジュラー態様で形状関数を決定することに
よって、各子供の形状は、その親の形状の中にはまり込
み、従って本システムが、その親によって占有されてい
るチップ上の面積内に各子供を配置させることを可能と
し、その際に論理設計者によって課される階層を維持し
ている。
従って、階層的スライシングトリー及び形状関数は、
論理設計者によって課されるモジュラー型階層を維持す
る一方、各レベルにおいてのフロアプラニングを可能と
させている。
(3) 機能の階層的相互接続 論理設計者の階層のモジュラー性を維持することは最
適のフロアプラニングにとって基本的であるが、それ自
身では十分ではない。階層を介しての機能の相互接続
も、最適化されるべき特定の「コスト機能」内において
考慮される。
本発明の好適実施例において使用されるコスト機能
(「区画化コスト機能」において後に詳細に説明する)
は、(1)機能の区画化したグループを有するセライシ
ング領域を横断しての接続の推定数、及び(2)この様
な各グループにおける機能の面積間の比例的差の和を最
小とさせる。この区画化コスト機能は、高度に接続され
た機能が一緒に配置される如く、親の中において子供の
相対的配置を決定する為に使用される。
階層の異なったレベルを横断しての機能の相互接続に
対しての説明を行なう為に、各レベルにおける機能の間
の接続は適宜重み付けがなされて、任意の2つの機能の
接続の推定数を反映し、その際にそれらの親の中におい
てこの様な機能の相対的配置を可能とする。このプロセ
スは、トップ−ダウン態様で繰返し行なわれ、各レベル
における機能の配置は、より高いレベルにおける機能の
配置(及び階層を介しての機能の間の接続)を反映して
いる。
本発明の好適実施例は、自動化方式(手動介入用の手
順を具備している)を包含しており、それは、チップの
全面積と、機能の階層と、最終機能の間の相互接続のネ
ットリストが与えられると、この様な機能及びそれらの
相互接続によって占有される所要の面積を最小とし且つ
この様な相互接続をこの面積内においてルーチング即ち
経路決定することが可能であることの蓋然性を最大とす
べく、これらの機能をチップ内に配置させる。
この実施例は、4つの基本的なフェーズ即ち相を有し
ている。即ち、(1)初期化(2)相対的配置、(3)
形状決定、及び(4)ルーチング(経路決定)チャンネ
ル割当である。
簡単に説明すると、初期化フェーズは、デフォルト変
数及び定数の設定に加えて、各機能の面積の推定、及び
階層を介しての機能間の接続の相対的重み付けを包含し
ている。
相対的配置フェーズは、それらの親機能内における機
能の区画化を包含しており(階層を介しての機能の重み
付けした相互接続に部分的に基づいている)、且つ階層
内の各レベルにおいてそれらの親の中において互いに相
対的な機能の配置を可能とするこの様な親機能のスライ
シングも包含している。この相対的配置は、階層的にリ
ンクされたスライシングトリーによって表される。
形状決定フェーズは、階層の底部から頂部へ、各機能
に対する形状関数の決定を包含し(その機能の可能な形
状の範囲を表す)、突極的にチップ自身の形状関数を発
生する。チップの形状を選択することによって、チップ
上の各関数の形状はその形状関数から自動的に決定され
る。
子供の相対的「スライス座標」(それらの親の中にお
いて)が計算され(親を取り囲むスライシング領域)、
次いで絶対的座標内に変換されて、階層のレベルを横断
して機能の相関関係を説明する。これらの相対的スライ
座標は、単に、その親の位置と相対的に、各子供の位置
を表すに過ぎない(即ち、親を、この様な座標を計算す
る目的の為の全チップとして取り扱う)。
最後に、ルーチングチャンネル割当フェーズは、機能
間の相互接続の経路決定に必要な付加的なチャンネル面
積の決定、及びこれらの付加的なチャンネル面積に基づ
いての各機能の形状の再決定を包含している。
本システム乃至は方式は、階層の幾つか又は全てのレ
ベルにおいて、機能の相互接続を包含するフロアプラン
のグラフィック表示を与える。多様な態様で本システム
にユーザが関与する為の手段も設けられており、手動的
にフロアプラニングプロセスの種々の部分を実行する
(例えば、相対的配置及び形状決定)。
最後に、任意の特定の論理設計に対して、本システム
はユーザに対して2つの百分率を供給する。その1つ
は、特定したチップ面積におけるその設計のレイアウト
の「実現可能性」であり、他の1つは、フロアプランが
完了した後に、その特定のフロアプランの「経路決定可
能性」である(即ち、特定したチップ面積内においてそ
のフロアプランの経路決定を有効に行なうことが可能で
あるかの蓋然性である。) 実施例 以下、添付の図面を参考に、本発明の具体的実施の態
様に付いて詳細に説明する。尚、注意すべきことである
が、以下の説明は単に例示的な目的をもってするもので
あり何等限定的意図をもってなすものではない。本発明
の好適実施例に付いて説明を行なうが、その他の実施例
(種々の形態のソフトウエア及び/又はハードウエアの
中のこの新規な階層的フロアプラニング方法の機能性の
分配)は以下の説明から自明なものであるとは当然であ
る。
入力 第1図は、本システム乃至は方式が処理することを要
求されることのある機能の論理階層の1例を示してあ
る。CHIP(チップ)自身は階層のレベル1を構成してお
り、一方その子供A,B,C,D,Eはレベル2を構成してい
る。レベル3は、Aの子供(A1,A2,A3)と、Cの子供
(C1,C2)と、Eの子供(E1,E2)を有している。レベル
4は、C1の子供(C11,C12)とE2の子供(E21,E22)を有
している。最後に、レベル5は、C11の子供(C111,C11
2)を有している。
注意すべきであるが、最終機能は、階層レベル5の底
部(C111,C112)のみならず、レベル2(B,D)、レベル
3(A1,A2,A3,C2,E1)及びレベル4(C12,E21,E22)に
おいても存在している。NET LIST即ちネットリスト
は、この様な最終機能の間の相互接続を表している。例
えば、NET1は、それがこの様な機能のどの対が実際に直
接的に接続されるかを特定していないが、機能A1,C111,
E1及びE22が相互接続されていることを表している。然
し乍ら、以下に詳細に説明する如く、本発明を実施した
システムは、この様な機能の間の接続の推定数を推定す
る。
基本的システムアーキテクチャー 第2図は、この階層的フロアプラニングシステムの基
本的構成要素を示している。本システムは、入力とし
て、特定したチップ面積I−1、機能の論理階層I−
2、メガセル及びマクロセルの面積I−3、及び最終機
能の間の相互接続のネットリストI−4を取る。更に、
ユーザは、ルート機能」I−5、即ちそこから自動配置
を開始すべき機能、及び本システムが自動的に配置すべ
きルート機能の下側のレベルの数I−6を特定する。
手動介入手順MIPは、ユーザが、例えば手動シェイピ
イング即ち形状決定の如き種々のタスクを実行するか、
又は機能の要素を配置することによって、処理中に本シ
ステムと干渉することを可能とする。本システムは、そ
れがこの様なタスクを自身で自動的に実行したかの様
に、又はこの様な結果が初期の論理設計の一部であるか
の様に、この様な手動介入の結果を受ける。
特定した論理設計を受け取ると、本システムはその初
期化フェーズINITに入り、その場合に、それは或る変数
及び定数を初期化させ、且つ例えば、各機能の面積の推
定、及び階層を介してのこれらの機械間の相互接続の重
み付け等のその他の前処理タスクを実行する。
初期化に続いて、本システムは、その相対的配置フェ
ーズRPをエンターし、その場合に、階層の各レベルにお
いて、それはそれらの親の中において互いに相対的に機
能を配置させる。各レベルにおいてのこの様な相対的配
置は、機能の階層のみでなく、全てのその他のレベルに
おいての機能の相互接続も考慮にいれる。
各機能の位置は、形状決定フェーズSDの間に一層精密
に決定される(即ち、グローバル即ち総体的な座標がチ
ップ上の各機能に対して決定される)。このフェーズの
間に、各々が各機能の可能な形状の範囲を表す(それら
の相対的配置及び各機能の推定面積に基づいて)形状機
能の階層を形成し、次いでチップの形状を選択して、そ
の際に階層の全体を介して各機能の精密な形状を決定す
ることによって、本システムは各機能の形状を決定す
る。然し乍ら、この時点における各機能の位置は、単に
一時的なものである。何故ならば、機能間の相互接続の
ルーチング即ち経路決定の為に必要とされる面積は未だ
考慮にいれていないからである。
各機能の精密は位置(経路決定用面積の割当を包含す
る)は、基本的に、決定の後にフェーズSDを繰返し、且
つ機能間の相互接続の経路決定の為に必要な付加的なチ
ャンネル面積を考慮にいれることによって、ルーチンチ
ャンネル割当フェーズRCAの間に、最終的に決定され
る。
次いで、本システムは、フロアプラニングプロセスの
結果O−1をグラフィックに表示し、ユーザがどのレベ
ル及び相互接続をそれが表示すべきであるかを特定する
ことを可能とする。それは、又、最終的な可能性O−2
及び経路決定可能性O−3百分率をも表示し、手作業の
微同調を必要とされる範囲をユーザが決定することを助
ける。
初期化フェーズ 本システムは、以下のものを包含して、種々の初期化
タスクを実施する。
それは、或る変数をそれらのデフォルト値に設定する
(ユーザがそれらの値を特定しなかった場合)。そのデ
フォルト値として、それは、クロックをチップの中心に
配置させ(垂直の配向で)、且つ頂部(チップ)機能に
おいて自動的配置を開始し且つ階層の全てのレベルを介
して機能を配置させる。
それは、又、「中心領域」(機能の配置の為に使用可
能なチップの領域)の幅及び高さ、クロックの幅(その
与えられた値及びその垂直又は水平の配向に基づいてチ
ップの中心)、及び面積ユニットに対する相互接続ユニ
ットの相対的重み等を表する或る定数の値を設定する。
更に、それは、例えば階層における機能の全数、機能の
下で許可される子供の最大数、及びユーザによって特定
されたネットの全数を表す或るグローバルな変数の初期
値を設定する。
本システムは、「前順序」態様(即ち、子供の前に
親、これに対して「後順序」は親の前に子供)で階層を
トラバースして、ユーザがその階層を特定する上で侵し
たかもしれない誤りを補正する。
例えば、機能が1つを超えるメガセルから構成される
場合、機能はこの様なネガセルに対して形成されねばな
らない。同様に、機能がメガセル及びマクロセルの集団
から構成される場合、1機能はそのメガセルに対して形
成され、且つマクロセルの集団に対して別のものが形成
されねばならない。
それは、階層トリーをトラバースして各機能に関連す
る或るフィールドを初期化する。これらのフィールドの
幾つかは、その機能が「フリップ可能」、「再形成可
能」、及び/又は「回転可能」であるか否かを表す。フ
リップ可能な機能は、その水平又は垂直な軸のいずれか
の周りに反転可能なものであり、一方回転可能な機能
は、時計方向又は反時計方向に回転可能なものである。
再形成可能な機能は、その寸法が特定した面積に対して
固定されていないものである。
その他のフィールドは、各機能が存在する階層におけ
るレベルを表しており、且つ子孫(子供、孫等)の全数
が各機能を定義する。
尚その他のフィールドが、各機能、及び/又はその子
供が、以前に配置されたか又はその形状を決定したか
(手動的に又は自動的に)を表す。最後に、各機能のス
ライス座標が設定される(初期的に、可能な配置に対す
る境界としてチップの全中央領域を反映するが、後に配
置がより精密に決定される場合にアップデートされ
る)。
システムの初期化タスクの中で中心的なものは、階層
における各機能の面積の推定である。この推定は、2ス
テッププロセスにおいて達成される。即ち(1)各マク
ロセル機能の面積の推定、及び(2)複数個の機能の各
機能の面積の推定である。
頂部(チップ)機能及びメガセル機能の面積は、勿
論、ユーザによって特定される。頂部機能の最大幅及び
高さは、中心領域の幅及び高さに夫々設定され、一方そ
の面積はその幅と高さとの積に設定される。その実際の
幅及び高さのみならず、各メガセル機能の最小幅及び高
さは、ユーザによって特定されたメガセルの夫々の幅及
び高さに設定され、一方その面積はその幅及び高さの積
に設定される。各機能のチャンネル幅及び高さは、初期
的にゼロに設定される。
各マクロセル機能の最小幅及び高さは、夫々、最も幅
広で且つ最も高いマクロセルに設定され、一方各マクロ
セル機能の面積及び実際の幅及び高さは、以下に説明す
る如くに推定される。複数個の機能の各機能の最小幅及
び高さは、夫々、その子供の最小幅及び高さの最大のも
のに設定され、一方複数個の機能の各機能の面積及び実
際の幅及び高さは以下に説明する如くに推定される。
本システムは、各マクロセル機能の面積を、その機能
の中の各マクロセルの面積(ユーザによって与えられ
る)を加算し、次いでこの様なマクロセルを接続するチ
ャンネル当たりのトラック数を計算することによって推
定する。機能内の構成要素の結合した面積をこの様な構
成要素を相互接続するのに必要なチャンネル当たりのト
ラックの平均数に関係させる為に使用される統計的公式
は以下の如くである。
t=aC× 尚、tはチャンネル当たりのトラックの平均数であ
り、a及びxは定数(夫々、0.435及び0.345に等し
い)、及びCは機能の複雑度である(その機能の中のマ
クロセルの平方ミクロン単位での面積の和として表され
る)。
チャンネル当たりのトラックの平均数が特定のマクロ
セル機能に対して決定されると、各マクロセルの特定し
た面積を加算し、且つ、各チャンネルに対して、チャン
ネル当たりのトラックの平均数と平均トラックの既知の
幅との積を加算することによって、その機能の面積を推
定することが可能である。このマクロセル機能を再形成
させることが可能であるが、その幅及び高さは、各々、
初期的に、その面積の平方根に設定される。
各マグセル機能の面積及び各マクロセル機能の推定面
積が与えられると、本システムはその階層を介して複数
個の機能の各機能の面積を推定する。これは、最初に、
階層の「緩慢度」、即ち機能の間の接続ルーチング即ち
経路決定の為に使用可能なチップの上の中央領域面積の
百分率、を決定し、次いでその使用可能なルーチング面
積を複数個の機能の各機能へ一様に分布させることによ
って達成される。
階層における緩慢度の百分率(1%に初期化される)
は、以下の式に従って、最初に、各メガセル機能及びマ
クロセル機能によって占有される面積を近似することに
よって決定される。
面積=(機能面積)*(1+緩慢度%)(機能レベル −1) 尚、上式において、緩慢度%+1は機能レベル−1の
羃乗されており、且つその機能面積が掛けられている。
次いで、全てのメガセル及びマクロセル機能の面積を加
算する。この全面積がチップの中央領域の面積(−クロ
ックによって占有されている面積)と等しいか又はそれ
を超えると、緩慢度%は1%によって決定され、そして
全階層の緩慢度を表すこととなる。そうでない場合に
は、緩慢度%は、1%だけインクリメント即ち増分さ
れ、且つその全面積が中央領域面積(−クロック面積)
と等しいか又はそれを超える迄そのプロセスが繰返し行
なわれる。
階層における緩慢度の百分率が決定されると、複数個
の機能の各機能の面積が、その子機能の面積の和をこの
様な和と緩慢度%との積に加算することによって、推定
される。この付加的な結果は、子機能を相互接続する為
に必要な付加的な経路決定用の面積を推定する。
この複数個の機能の機能(function of functions)
を再形成させることが可能であるが、その幅及び高さは
初期的にその面積の平方根に設定され、且つ、いずれか
がその夫々の最小値以下である場合には、それは、その
最小値に設定され、且つ他方は、その最小値によって割
られたその機能の面積に設定される。
それが階層を介して全ての機能の面積を推定すると、
その子供の各々の相対的配置及び精密な形状が決定され
る時に、これらの面積を後にアップデートすることが可
能である。
本システムは、又、あるデータ構成及びテーブルを割
り当てる。各機能のデータ構成は、基本的に、既に説明
した。それは、各機能に対して、(1)その絶対スライ
ス座標、(2)その階層におけるレベル、(3)その子
孫の全数、(4)その幅、高さ、及び最小幅及び高さ、
(5)その面積、(6)その固定面積(平方関数形状が
少なければより多くの経路用空間が必要であるという事
実を反映させる為に、最小幅及び高さを差し引いた後
の、その幅及び高さの積)、(7)それがフリップ可能
であるか、再形成可能であるか、及び/又は回転可能で
あるか、(8)それ及び/又はその子供が配置された
か、(9)その形状が決定されたか、(10)それを「ネ
ットテーブル」内のそれの関連する列へリンクさせるポ
インター、(11)そのスライシングトリーにおいて及び
その親のスライシングトリーにおいてのそれの対応する
配置に対するポインター、(12)そのチャンネル幅及び
高さである。
その他2つの主要なデータ構成は、「ネットテーブ
ル」及び「接続性テーブル」である。ネットテーブル
は、階層を介しての全機能数に等しい列数と、ユーザに
よって特定されたネット数に等しい行数とを有する二次
元アレイである。そのエントリーの各々は、特定の機能
(列)がネット(行)内に包含されているか否かを表
し、且つ、ポインターによって、その機能を包含する次
のネット(行)を表す。このネットテーブルは、どの機
能がどのネットによって接続されているかを迅速に決定
する為に使用される。
接続性テーブルは、階層を介しての機能の全数に等し
い行数(及び同数の列)を有する二次元アレイである。
そのエントリーは、階層を介しての機能の間の全ての接
続を考慮にいれて、任意の2つの機能の間の接続の推定
数を表す。これらのエントリーは、本システムによっ
て、この様な機能の間の接続と階層の種々のレベルを超
えてのその他の機能を考慮にいれて、階層の各レベルに
おいて機能を配置させる為に使用される。
最終機能の間の接続(ユーザによって供給されるネッ
トリストにおいて特定)、は、最初に、Xをそのネット
によって接続されている機能数に等しいとして、ネット
によって接続されている2つの機能の間の各接続へ「2/
X」の値を割り当てることによって重み付けさせる。こ
の重み付けは、X個の機能を接続させることは、実際の
レイアウト処理が行なわれる迄実際に決定されることの
ない最小の(X−1)個の接続を必要とする事実を反映
している。
従って、ネットによって接続されている任意の2つの
機能の間の「接続推定数」は、全てのX個の機能の間の
実際の接続数(X−1)をこの様な接続の順列数(X*
(X−1)/2)で割ったものに等しい。勿論、これは、
2/Xへ簡単化される。
例えば、第3図は第1図からのNet1の処理を示してい
る。このネットは4個の機能(A1,C111,E1,E22)を接続
するものであるが、第3図において「スパニングトリ
ー」(即ち、2つ又はそれ以上の機能の間の接続の最小
数のグラフ)によって示した如くに、これら4個の機能
を接続する為には3つの接続が必要とされるに過ぎな
い。
然し乍ら、注意すべきことであるが、これら4個の機
能を接続するこのスパニングトリーは、3つの接続が存
在するが、どの機能が実際に直接接続されるかを決定す
るものではない(その様相はそうでないが)ということ
を表している。第3図に示した如く、これら4個の機能
の接続した対の6個の可能なパーミュテーション即ち順
列がある。
本システムは、どの3個の対(6個の可能な対の内
で)の機能が直接接続されるかということを知らないの
で、それは6個の可能な機能対の中で3個の実際の接続
が同じく起こり得ることを仮定することによって、6個
の可能な機能対の各々に対して、接続の推定数を決定
し、各この様な対に対しての接続の推定した1/2を発生
する。
それは、各対の最終機能に対して、その接続推定数を
累積しながら、全てのネットに対してこの処理を繰返し
行なう。次いで、この階層を介して最終機能の間の接続
行なうことによって非最終機能への接続を決定すること
が可能である。
例えば、第3図に示した如く、A1とC111との間の接続
の推定数は1/2に等しい(少なくとも、Net1の処理後)
ので、AとCとの間の接続の推定数(即ち、Aの子孫と
Bの子孫との間の接続の推定数)も1/2に等しい。同様
に、AとEとの間の接続の推定数は1に等しく(A1とE1
との間の接続に対して1/2及びA1とE22のとの間の接続に
対して1/2)、且つCとEとの間の接続の推定数は1に
等しい(C111及びE12との間の接続に対して1/2及びC111
とE22との間の接続に対して1/2)。
本システムは、階層を介して各対の機能の間の接続の
推定数が決定される迄、この処理を繰返し行なう。
この任意の2つの機能の間の接続の推定数は、階層を
介して、それらの子孫の間の接続を表す。このことは、
本システムをして、この様な機能の子孫の間の低レベル
での接続に基づいて、高レベルにおいてそれらの親にお
いて互いに相対的に機能を配置させることを可能とす
る。
最後に、いずれかのフロアプラニングの前に、それ
は、特定した論理設計に対して、特定したチップ面積に
おいてその設計をレイアウトすることの「実現可能性」
を表す百分率を計算する。この数字は、最初に、特定し
たチップ面積において機能をランダムに配置させ、次い
でどの程度経路決定用の空間が実際に必要とされるかを
決定することによって計算される。この実現可能性百分
率は、経路決定用に使用可能な空間(特定したチップ面
積から全ての機能の面積の和を引いたもの)を実際に必
要とされる経路決定用空間で割ったものと等しい。この
百分率は、勿論、100%に制限されている。
相対的配置フェーズ 相対的配置フェーズの目的は、それらの親の中で全て
のその他の機能と相対的に、階層における各レベルにお
いて、全ての機能を配置させることである(階層を介し
てこの様な機能の間の相互接続を考慮にいれ)。
例えば、第4図は頂部(チップ)レベルの直ぐ下のレ
ベル(レベル2)における5個の機能(A,B,C,D,E)を
示している。そのレベルに対してのこのフェーズの結果
は、機能A及びBを機能C,D,Eの左側に配置させ、且つ
機能Aを機能Bの上で、機能Cを機能D及びEの上で、
機能Dを機能Eの左側に配置させることであった。然し
乍ら、この相対的配置に強く影響を与えていることは、
階層を介して、A,B,C,D,Eの子孫の間の接続であった。
各レベルにおける機能の配置を最適化させる為に、これ
らの接続の相対的配置が考慮されねばならない。
この相対的配置は、各機能をどこに配置させねばなら
ないかを精密に決定するものではないが、それは論理設
計者によって特定される階層的構成を維持し、且つ形状
決定フェーズ及びルーチングチャンネル割当フェーズの
間に一層精密な配置に対るステージをセットする。
相対的配置を開始する前に、本システムは、最初に、
ユーザが手動的にいずれかの機能を配置したか否かを決
定せねばならない。配置されていれば、この様な手動的
配置は、各手動配置された機能が未だ配置されていない
子供を持っている場合には、それが1つのこの様なサブ
トリーのルーツ即ち根を構成する様な態様で、この階層
を独立したサブトリーのグループに実数的に分割してい
るかもしれない。更に、トリー全体の根機能(又は、そ
れから自動的配置が開始されるユーザによって選択され
る低レベル根機能)は、自動配置を必要とするサブトリ
ーのルーツ即ち根を構成する。
本システムは、トリーを前順序の態様でトラバースす
ることによって、自動配置を必要とするサブトリーを発
生する。本システムは、子供を持っていない機能、又は
全て配置された子供を持っている機能を除去する。根機
能(通常は頂部機能)がこれらのカテゴリーのいずれか
にあてはまらない限り、その根機能は1個のサブトリー
としての資格が与えられる。本システムは、又、「形状
形成されなかった」機能、即ち手動的に配置されなかっ
た(従って形状形成されなかった)機能をも除去する。
何故ならば、この様な機能は、根機能のサブトリー内に
存在しており、且つそれ自身サブトリーを構成すること
はないからである。従って、残りのサブトリーは、未だ
に配置されていない子供を持った手動的に配置された機
能から形成される。
例えば、第1図において、ユーザがC内にC1及びC2を
手動的に配置した場合、チップはサブトリーの根を構成
するのみならず、C1もサブトリーの根を構成する。然し
乍ら、C2は子供を持っていないので、サブトリーの根を
構成することはない。
次いで、本システムは、それらの親の中で互いに相対
的に各レベルにおいて全ての機能を配置させることによ
って、各サブトリーを処理する。該機能は前順序態様
で、階層の各レベルに配置される。相対的配置処理の各
ステップは親機能、及びその親機能の中での互いに相対
的なその子供の配置(手動的に又は自動的のいずれかで
既に配置されていない場合)に関するものである。
垂直又は水平のいずれかに親をスライスし、子供を2
つのグループへ区画化し(スライスの各側に1つ)、次
いで各子供がそれ自身のスライシング領域内に分離され
る迄子供のグループを繰返しスライス及び区画化するこ
とによって、機能をそれらの親内に配置させる。
本システムは、初期化フェーズに関して上述した子供
間の相互接続及び子供からその他の機能への相互接続の
重み付けに依存することによって、その両方がこの様な
相互接続を考慮にいれた、子供を2つのグループ(スラ
イスの各側に1つのグループ)に区画化する為の2つの
方法を使用する。
最初の方法は、「徹底的区画化」(第5図に例示)で
あり、親の中に15(本システムによって現在使用されて
いる限界)又はそれ以下の子供を配置さす場合に使用さ
れる。基本的に、この方法は、各スライスに対して、X
も最も最近にスライスしたスライシング領域における機
能数であるとして、X個の機能の全ての2×の可能な区
画を考慮する。
X個の機能の可能な区画は、その区画に対しての「区
画化コスト機能」PCFの値を計算することによって分析
される。各スライスの後、最小区画化コスト機能を発生
する区画が、そのスライスと相対的な機能の最適配置と
して選択される。
このPCFは、本システムが階層を介して最小とさせる
「コスト機能」である。それは、本システムをして、高
度に接続した機能を互いに近くに配設させ、一方それら
の親によって占有されているチップの面積内に子供を配
置させることを可能とさせる。
区画化コスト機能の2つの構成要素があり、それらは
単に加算される。従って、区画化コスト機能によって最
小とされるのは、これら構成要素の和である。
1構成要素1は、スライスの各側上の機能の間の面積
の差を最小とすべく試みる。この構成要素は、最初に、
スライスの一方の側上の機能の面積の和と、該スライス
の他方の側上の機能の面積の和との間の差の絶対値を計
算することによって計算される。次いで、本システム
は、この絶対値を、親の全スライス領域内の全機能の面
積の和で割る。最後に、本システムは、その量に、面積
(平方ミクロン)を測定するユニットと機能間の接続数
を測定するユニットとの間の差を反映する定数(現在は
1000)を掛ける。
区画化コスト機能の第2の構成要素2は、スライス全
体の接続数を最小とすべく試みる。ネットリスク(最終
機能の間の接続に対して)及び接続性テーブル(任意の
2つの機能の間の接続の推定数に対して)を使用して、
本システムはスライス領域内の機能の各々へ対する全て
の接続を分析して、該スライスを横断する接続数を決定
する。
ネットテーブル内の各ネットは、該スライスを横断す
るゼロ又は1のいずれかの接続を考慮することが可能で
あり、一方接続性テーブル内のエントリーは「接続の推
定数」を考慮する。この様な接続がスライスの両側の機
能を接続するか、又はスライスの片側の機能を親のスラ
イス領域の外側であるが該スライスの反対側(機能は前
順序態様で配置されている、即い高レベル機能は既に配
置されているので、決定可能である)の機能へ接続する
場合に、接続は該スライスをクロス即ち横断する。
各接続を解析し、且つ全てのこの様な接続を加算し且
つ、面積を測定するユニットと機能の間の接続数を測定
するユニットとの間の差を反映する定数(現在は1)を
掛ける。
次いで、本システムは、構成要素1及び2を加算する
ことによって、その区画に対しての区画化コスト機能を
計算する。この処理を、親のスライス領域内のX個の機
能の2×個の可能な区画の各々に対して繰返し行なう。
全ての可能な区画は、全ての可能な区画を発生する
「グレイコード」技術によって発生されるが、付加的な
効果として、発生される各区画は、1配置だけ前の区画
と異なっている、即ちスライス全体において1つの機能
のみを移動させることが必要であるに過ぎない。この技
術は、全ての可能な区画を迅速に発生させることを可能
とさせる。
然し乍ら、親の中に配置されるべき子供が15を超える
ものである場合、徹底的区画化方法を使用することは出
来ない。子機能数Xが15を超えると、2×個の区画順列
数を発生することは、今日のコンピュータをもってして
も計算時間がかかり過ぎることとなる。
従って、2番目の方法として「発見的区画化」(第6
図に図示)が必要とされる。この方法は、最小区画化コ
スト機能を発生する区画を必ずしも発生するものではな
いが、それはケーニガン−リン(Kernighan−Lin)発見
的技術の変形を適用することによって、この最適解を近
似する。B.W.KernighanとS.Linの「グラフ区画化用の能
率的な発見的手順(An Efficient Heuristic Procedure
for Partitioning Graphs)」、ベルシステムズテクニ
カルジャーナル、1970年2月、pp.291−307、の文献を
参照すると良い。
可能な区画のいずれか(例えば、スライスの片側の全
ての機能)1で開始して、本システムはその区画を「現
在最良の区画」2として格納し、その区画化コスト機能
を「現在最良のコスト」3と格納し、且つその機能の全
てを「フリー(free)」として指定する。次いで、それ
は、一度に1つづつ、X個の機能の各々を、以下2つの
ステップによって、スライスの反対側へ移動させる。
(1) 本システムは、任意の「free」機能をスライス
4の反対側へ移動し、その区画5に対して区画化コスト
機能を計算し、次いで該機能をその元の区画6へ帰還さ
せる。本システムは、各々「free」機能に対してこの処
理を繰返し行ない、その際に各この様な機能に対して区
画化コスト機能を形成する。次いで、本システムは、こ
れらの区画化コスト機能7の最小値を選択し、且つ永久
的に、それに関連する機能をスライス8の反対側へ移動
させ、且つそれを「not free」として指定する。更に、
この最小区画化コスト機能が「現在最良のコスト」未満
であると、「現在最良のコスト」がこの低い値に設定さ
れ、且つこの新たな区画は「現在最良の区画」として格
納される。
(2) 次いで、X個の機能の各々がスライスの反対側
に移動される迄、ステップ(1)を繰返し行なう(残存
する「free」機能のみを移動させる)。
ステップ(1)及び(2)の実行により、新たな「現
在最良の区画」が発生されると、本システムは、その区
画の機能の全てを「free」として指定し且つ再度ステッ
プ(1)及び(2)を実行する。この処理は、ステップ
(1)及び(2)の全サイクルの間に「現在最良の区
画」が一定になる迄、繰返し継続され、且つそれが一定
となると、処理が停止し、その区画が最良の解として選
択される。
各親機能が徹底的に又は発見的に区画化されるか否か
に拘らず、その機能の子供はそれらの親の中において互
いに相対的に配置される(第4図に図示)。親機能を区
画化した後に、本システムは、親のみならず、その子供
に対しても、スライス領域を定義する。例えば、第4図
における機能Aに関連するスライス領域は、その周囲を
取り囲む矩形によって示されている。機能Aは、その矩
形の内側の任意の個所に配置させることが可能であり、
且つ左下角部はスライス座標(0,0)で、右下角部は
(0,a)で、左上角部は(b,0)で、又は右上角部は(a,
b)で表される。
これらのスライス領域は、親の中においての相互の子
供の配置を表している。この領域を半分にスライスし、
且つその領域の機能を2つのグループに区画化する(ス
ライスの片側に1つ)処理は、全ての子供がそれらの親
の中においてそれ自身のスライス領域内に分離乃至は隔
離される迄繰返し行なわれる。
親の中において子供を相互に配置させるこの処理は、
前順序態様で階層の全体を通じて繰返し行なわれる。子
供を1つのレベルにおいてそれらの親の中に配置させた
後、孫をこれらの子供の新たに制限したスライス領域内
に配置させ、以下同様の処理を行なう。
従って、相対的配置フェーズの終わりに、全ての子供
が親の中において相互に相対的に配置され、且つスライ
ス座標は各機能と連結され、その機能のスライス領域の
境界を構成する。即ち、その機能がその親の中で移動す
ることの可能な自由度を構成する。この自由度は、形状
決定及びルーチングチャンネル割当フェーズの間に、機
能が更に正確に配置されると、更に制限され、突極的に
特定したチップ面積内に全ての機能を精密に配置させ
る。
形状決定フェーズ 本システムが各レベルにおける全ての機能を配置した
後(それらの親の中において互いに相対的に)、本シス
テムは、次いで、各機能の形状を決定し、その際にその
スライス領域内のその位置を特定し、且つ精密にそのチ
ップ上の位置を特定する。然し乍ら、これらの精密な形
状は一時的なものである。何故ならば、本システムは、
次のフェーズの期間中に、これらの機能の間の相互接続
の経路決定の為のチャンネル区域を割り当てねばならな
いからである。経路決定の為のこのチャンネル区域の割
当は、各機能の形状及び精密な位置を変更させる場合が
ある。
この形状決定フェーズは、又、階層的態様で進行し、
論理設計者によって課される階層のみならず、それらの
親機能内の各レベルにおけるシステムの機能の相対的配
置を維持する。
各機能の形状は、無駄とされるチップ面積を最小とす
るか、又は、換言すると、機能間の経路決定用接続の為
に使用可能な面積を最大とするべく選択される。第7図
は、第4図と対比すると、各機能の精密な形状の決定が
いかにしてこの無駄とされる面積を最小とするかを示し
ている。
本システムによって使用される形状決定方法を第8図
に示してある。本システムは、最初に、後順序態様で各
機能に対して、「形状関数」1を決定し、それはその関
数が取ることの可能な形状の範囲を表する。或る機能
(例えば、メガセル、又は手動的に形状形成される機
能)は、既に、予め画定した形状(固定幅及び高さ)を
持っている場合が或る。その他の機能は、特定された又
は推定された面積を持っているが、固定した寸法を持っ
ていない場合がある。機能の可能な寸法の範囲は、機能
の幅及び高さの各々はその形状スケールの整数倍である
様に、「形状スケール」(現在は、10,000ミクロンに設
定)によって制限される。注意すべきことであるが、付
加的に可能な形状は、機能の回転することが可能な能力
から得られる場合がある。
本システムは、最初に、最終機能、半終最終能(自動
的配置用の最下位のユーザが特定した深さにおけるも
の)、及び疑似最終機能(手動的又は自動的に配置され
且つ形状決定されたが、配置されていない子供を有する
もの)を処理する。この様な任意の機能の形状が未だ決
定されていないと、本システムはその形状関数を計算
し、その特定した又は推定した面積からその可能な寸法
を決定し、且つその最小幅及び高さを決定する。この形
状の配置は、相対的配置フェーズの間に発生された各機
能のスライス領域によって拘束される。
これらの形状関数が決定されると、本システムは階層
を上に進行し、親の中でのその相対的配置を考慮しなが
ら、その子供の形状関数を「加算」することによって、
各親2の形状関数を決定する。この関数の加算は以下の
如くに実施される。
ある機能が別の機能3の上又は下にあると、両方の機
能を有する形状関数S1は、S1の各X座標として、各形状
関数の対応するX座標を選択し、且つS1の各Y座標とし
て、対応するY座標の和を選択することによって、計算
される。同様に、ある機能が別の機能4の左又は右にあ
る場合、形状関数S2は、対応するY座標に対して、それ
らの対応するX座標の和を選択することによって計算さ
れる。
例えば、X(A及びBの親)の形状関数は、A及びB
の形状関数を加算することによって形成される。機能A
(面積6)は、(1,6),(2,3),(3,2),(4,2),
(5,2),(6,1)の如き可能な形状を持っている。機能
B(面積4)は、(1,4),(2,2),(3,2),(4,1)
(5,1),(6,1)の如き可能な形状を持っている。従っ
て、機能Aは機能Bの上に相対的に配置されたので、機
能Xは、(1,10),(2,5),(3,4),(4,3),(5,
3),(6,2)の如き可能な形状を持っている。
この、その子供の形状関数を加えることによって、各
親の形状関数を決定する方法は、根機能を包含して階層
内の全ての機能に対して形状関数が決定される迄、全階
層を介して上へ継続して行なわれる。
階層内の各機能に対して形状関数が決定されると、本
システムは、その形状関数にあてはまるだけでなく、正
方形に最も近い形状を発生する(平方関数が少なければ
すくない程、より多くの経路決定空間が必要となる)根
機能の特定の寸法を選択する。例えば、100平方ミクロ
ンの面積を持った根機能が与えられると、本システム
は、50ミクロン×2ミクロンの形状よりも10ミクロン×
10ミクロンの形状を選択する。何故ならば、前者は、よ
り多くの経路決定用空間を必要とするからである。
根機能の形状が選択されると、その子孫の各々の形状
も自動的に決定される。何故ならば、形状関数は、定義
上、その親の形状関数が与えられると、1つの可能な形
状のみを発生することが可能だからである。従って、こ
の様に、本システムは、階層における全ての機能の形状
を決定する。
各機能の形状を決定すると、本システムは、その機能
の相対的スライス座標をアップデートして、機能のスラ
イス領域が今やもっと拘束されているという事実を反映
せねばならない。新たなスライス領域は該機能の精密な
形状に制限されているばかりでなく、前のスライス領域
内の該機能の位置も精密に決定される(何故ならば、各
親機能の形状は、その子供の形状、従って位置を包含し
ているからである)。
最後に、本システムは、あるフラッグを設定し、どの
子供がそれらの親の中に配置されたか、及びどれがその
形状を決定されたかを表す。このことは、ユーザが、あ
るレベルのみにおいて自動的配置及び形状決定を特定
し、後に本システムが他のレベルに機能を自動的に配置
し且つ形状を決定することを要求することを可能とさせ
ている。それは、更に、本システムが、これら同一の手
順に対しての爾後の呼び出しの間に、干渉を回避する為
に、それが実施されたタスクを内部的に管理することを
可能とさせている。
ルーチングチャンネル割当フェーズ 本システムが階層を介して全ての機能を相対的に配置
させ且つ各機能の形状を決定した後、それはチップ上の
各機能の精密な配置を決定する。然し乍ら、この点にお
いて、この様な配置はこの様な機能を接続する為に必要
とされる経路決定用面積の割当を反映するものではな
い。従って、チャンネル空間が、階層を介して機能の間
の種々の相互接続の経路決定を行なう為に割り当てられ
ねばならない。
本システムは、ルーチングチャンネル割当フェースの
期間中に、各機能のチャンネル幅と高さを推定し(即
ち、この様な機能を他の機能へ接続させるのに必要であ
り、各々が平均トラックの既知の幅が掛けられている、
垂直及び水平トラックの数)、次いで各機能のチャンネ
ル幅及び高さをその面積の一部として包含させて、形状
決定フェーズを繰返し行なうことによって、このタスク
を達成する。
第9図は、ルーチングチャンネル割当フェーズの決定
の1例を示している。第7図と比較すると、それは、こ
の様な機能の相互接続に必要な経路決定空間を受け入れ
る為にフェーズの間に本システムが行なう機能の形状及
び位置に対する修正を図示している。
本システムは、形状決定フェーズを繰返し行なう前
に、各機能のチャンネル幅及びチャンネル高さを計算す
る。勿論、この計算は、この様な機能の本システムの以
前の配置及び形状に高度に依存している。
本システムは、後順序態様で、階層における各機能を
処理する。このことは、階層的に、子供(それらの親の
中において)、の間に必要とされるチャンネル経路決定
用面積を決定し、次いで次の高いレベルで親の間におい
て決定し、且つ同様に、階層内の全ての機能の間にこの
様な経路決定用面積が割り当てられる迄、同様な決定を
行なうことを可能としている。
本システムは、各子供及びその「兄弟」(その機能の
親の他の子供)の間の接続の推定数を決定する為に接続
性テーブルを使用して、ある親機能の子供を相互接続す
る為に必要な垂直トラック及び水平トラックの推定数を
決定する。次いで、それは、全階層に渡って上に向い後
順序態様でこの処理を繰返し行なって、より高いレベル
の機能をそれらの兄弟へ接続させる為に必要な垂直トラ
ック及び水平トラックの推定数を決定する。
本システムは、最初、各機能がその中心から接続され
ていると仮定し、且つ全ての相互接続された兄弟の中心
を包含する最小の矩形を計算する。それは、又、これら
の機能の間の全ての経路はその矩形内に発生するものと
仮定する。この矩形の幅及び高さは、この様な機能を接
続させるのに必要な水平及び垂直な「ワイヤ」の全長の
推定を表す。
4つ又は5つの子供が相互接続されると、これらの水
平及び垂直「ワイヤ」の推定長は、該矩形の夫々の幅及
び高さよりも実際上20%長い。6つ又はそれ以上の子供
が相互接続される場合、この様な推定長さは、該矩形の
夫々の幅及び高さ拠りも実際上30%長い、本システム
は、各機能の垂直トラック及び水平トラックの推定数
に、この様な数の適宜の百分率(20%又は30%)を加え
ることによってこの付加的な長さを考慮にいれる。
同様に、本システムは、この様な接続の推定数を垂直
トラック及び水平トラックの各子供の推定数に掛けるこ
とによって、任意の2つの子供の間の接続推定数を考慮
にいれる。
本システムは、該矩形内の面積をスキャンし(該矩形
の高さ方向に水平に、又その幅方向に垂直に)、該矩形
を交差する各機能の各端部において想像的な水平スキャ
ンライン及び垂直スキャンライン(スキャンの方向)を
形成する。次いで、本システムは、該矩形内において、
各水平スキャンラインと前のこの様なスキャンランイン
との間のスキャン面積、及び各垂直スキャンランインと
前のこの様なスキャンラインとの間のスキャン面積を検
査して、垂直又は水平トラックの少なくともどこかの部
分がこの様なスキャン面積によって交差される各特定の
機能の傍らを走行することの確率を決定する。
この確立は、該矩形内において、その機能と交差する
スキャンラインの部分を、そのスキャンラインによって
交差される各機能の全てのこの様な部分の和によって割
ることによって、各スキャン面積によって交差される各
機能に対して、計算される。
各スキャン面積によって交差される各機能に対して、
本システムは、又、スキャン面積内の「ワイヤ」のどこ
かの部分がその機能の傍らを走行する場合には、その特
定の機能の傍らを走行するトラックの百分率を計算す
る。
この様な各機能に対して、本システムは、トラックの
一部がその機能の傍らを走行する確率を、必要とされる
そのトラックの対応する部分と掛け、且つその積をその
機能と交差する全てのスキャン面積に渡って加算して、
その機能をその他の接続した機能へ接続させる為に必要
とされる水平及び垂直のトラックの推定数を決定する。
例えば、第10図に示した如く、本システムは、X,Y,Z
の中心を接続する矩形Rを形成し、且つ仮想的水平スキ
ャンライン(H1,H2,H3,H4)及び垂直スキャンライン(V
1,V2,V3,V4)を画定することによって子供X,Y,Zの間の
相互接続処理を行なう。
この例の場合の全く垂直の接続の場合、H1とH2との間
の面積は、YよりもXに沿って垂直接続線が2倍の確率
で走行する蓋然性があることを示している。何故なら
ば、R(全ての経路決定が行なわれると仮定)内のXの
幅は4であり、R内のYの幅2の2倍だからである。従
って、Xは垂直接続のこの部分をルートとする為のチャ
ンネル区域を必要とする2/3の確率(即ち、4/(4+
2))を持っており、一方Yは1/3の確率(即ち、2/
(4+2))の確率を持っている。トラックの一部がX
又はYのいずれかに沿って必要な場合には、Yの高さの
半分(及び、Yの高さの半分)がRの内側に存在してい
るので、トラックの1/2が必要とされる。
従って、X,Y,Zを接続する垂直「ワイヤ」はXに割り
当てられた垂直トラックの1/3(即ち、2/3の確率に1/2
のトラックを掛けたもの)を必要とし、且つYに割り当
てられた垂直トラックの1/6(即ち、1/3の確率に1/2の
トラックを掛けたもの)を必要とする。同様に、H3とH4
との間の面積に関して、Zがその面積内の唯一の機能で
あるから、それは垂直トラックの1/2を必要とする(R
内のZの高さの百分率)ものと推定される(確率1)。
このプロセスは、全階層を介して上へ後順序態様で継
続し、本システムは、水平及び垂直トラックの推定数が
階層を介して各機能へ割り当てられる迄、それらの親の
中の子供の間の全ての接続に対してスキャンする。
次いで、それは、各機能の垂直トラックの推定数及び
水平トラックの推定数に、トラックの既知の幅を掛け
て、その際に、各機能に対して、チャンネル幅及びチャ
ンネル高さを発生させる。
次いで、本システムは、各機能のチャンネル幅をその
幅の一部とし且つ各機能のチャンネル高さをその高さの
一部として包含する形状決定フェーズを繰返し行ない、
この様な機能を相互接続させる為に必要な余分の空気を
考慮にいれて、各機能をチップ上に精密に配置させる。
次いで、この配置の結果をグラフィック的に表示さ
れ、付加的な経路決定用面積が機能自身から除去されて
いる(第9図に示した如く、その場合、この経路決定用
面積は機能間のブランクスペースとして表されてい
る)。機能の間の接続もグラフィックに表示させること
が可能である。
出力及び手動介入 全ての機能(ユーザによって要求された範囲におい
て)がチップ面積内に精密に配置されると、本システム
は、階層を介してのいずれかの又は全てのレベルにおい
てこの配置の結果をグラフィックに表示する。
種々のグラフィックなコマンドが、特定のレベル又は
機能の配置にユーザが注意を集中させることを可能とし
ており、又機能(パッド機能も包含する)の中で特定の
相互接続に焦点を合せることを可能としている。次い
で、ユーザは、特定の機能の配置及び/又は形状を調節
することによって結果を手動作によって微調節乃至は微
同調させることが可能である。ユーザは、本システムの
自動フロアプラニング手順の付加的な拘束条件としてこ
の手動修正を使用して、全フロアプラニングプロセスを
繰返し行なうことが可能である。
第11図は、第9図と比較すると、本システムが自動的
に階層における一層深い深さにレベルを配置することを
ユーザが要求する場合に得られる改良した結果を示して
いる。ユーザが本システムが機能の子供を配置すること
を要求し、その際にこれらの子供の精密な形状を決定す
ることを可能とする場合、本システムは機能それ自身の
寸法を一層正確に決定することが可能であり、従って要
求されるチップ面積を一層正確に決定することが可能で
ある。
然し乍ら、注意すべきことであるが、機能A,B,C,D,E
の形状及び相対的配置は、第9図と第11図との間におい
て非常に類似している。ユーザの特定した自動配置の深
さに拘らず、本システムは、任意の特定のレベルに機能
を配置する場合、階層の全てのレベルに渡って機能の相
互接続を考慮し、その際に階層的に(独立的ではなく)
各レベルにおける配置を最適化させる。
最後に、それは、実現可能性及び経路決定可能性の百
分率を表示し、それらは、前述した如く、夫々、特定し
たチップ面積内にユーザの論理設計をレイアウトするこ
とが「実現可能」であるか、又本システムによって発生
された論理設計の特定のフロアプランの「経路決定可能
性」(即ち、特定したチップ面積においてそのフロアプ
ランのルーチング即ち経路決定を行なうことに成功する
か否かの確率)を表す。
経路決定可能性百分率は、前に説明した実現可能性百
分率と略同一の態様で決定される。特定したチップ面積
内に機能をランダムに配置する代わりに、本システム
は、どの程度の経路決定用空間が実際に必要とされるか
を決定する為にそれが発生する実際のフロアプランを使
用する。経路決定可能性百分率は、経路決定用に使用可
能な空間(特定したチップ面積−全ての機能の面積の
和)を実際に必要とされる経路決定用空間で割ったもの
と等しい。勿論、この百分率は100%に制限される。
基本的に、この経路決定可能百分率は、特定したチッ
プ面積における論理設計の実際のレイアウトを達成する
為にユーザによって要求される付加的な手作業的努力を
表す。次いで、その様な努力をする代わりに、ユーザは
チップ面積を多少増加させるか及び/又は手作業によっ
てフロアプランを調節するかして、十分に高い経路決定
可能性百分率が得られる迄、本システムを動作させるこ
とが可能である。
以上、本発明の具体的実施の態様に付いて詳細に説明
したが、本発明はこれら具体例にのみ限定されるべきも
のでは無く、本発明の技術的範囲を逸脱すること無しに
種々の変形が可能であることは勿論である。
【図面の簡単な説明】
第1図は論理設計者によって特定された機能の階層の1
例とその階層の最終機能の間の相互接続のネットリスト
を示した説明図、第2図は本発明の好適実施例の基本的
システムアーキテクチャーを示した説明図、第3図は階
層における任意の2つの機能の間の接続の推定数を本シ
ステムが決定する方法を示した説明図、第4図はチップ
レベルの直ぐ下のレベルにおける5つの機能に対して相
対的配置フェーズの結果の1例を示した説明図、第5図
はX個の機能を区画化する為に2X個の全ての可能な順列
を発生した後に、本システムがこれらの機能をそれらの
親機能の中において互いに相対的に配置させる徹底的区
画化方法を示した説明図、第6図はX個の機能を区画化
する為に2X個の全ての可能な順列を発生することなし
に、本システムがこれらの機能をそれらの親機能の中に
おいて互いに相対的に配置させる発見的区画化方法を示
した説明図、第7図はその相対的配置を第4図に示した
同一の5つの機能に対しての形状決定フェーズの結果の
1例を示した説明図、第8図は親機能の中における機能
を相対的配置を決定した後に、本システムがこの様な機
能の形状を決定し且つそれらのチップ上の精密な位置を
決定する(ルーチングチャンネル割当は未だ考慮にいれ
ていない)方法を示した説明図、第9図はその相対的配
置を第4図に示してあり且つその形状を第7図に示して
ある同一の5つの機能に対してのルーチングチャンネル
割当フェーズ(従って全自動的フロアプラニングプロセ
ス)の結果の1例を示した説明図、第10図は各機能の形
状(従ってチップ上の精密な位置)を再決定する前に本
システムが各機能にそれを他の機能に接続させるのに必
要な所要のチャンネル幅及び高さを割り当てる方法の1
例を示した説明図、第11図はユーザが付加的な低レベル
の自動的配置を要求する場合に絵等得る自動的フロアプ
ラニングプロセス(第9図に示したものと対比される)
の改良した結果の1例を示した説明図、である。 (符号の説明) CHIP:チップ A,B,C,D,E:子供 MIP:手動介入手順 INIT:初期化フェーズ RP:相対的配置フェーズ RCA:ルーチングチャンネル割当
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジンハオ ライ アメリカ合衆国,カリフォルニア 95051,サンタ クララ,ペパー ツリ ー レーン 900,ナンバー 9112 (56)参考文献 特開 昭59−145541(JP,A) 特開 昭63−181348(JP,A)

Claims (15)

    (57)【特許請求の範囲】
  1. 【請求項1】Nレベルの機能の階層を有しており、尚N
    は前記集積回路内の機能の階層レベルの番号を表す整数
    (N≧1)であり、前記レベルの第1レベルは前記集積
    回路全体を表しており、且つnを前記階層における任意
    の特定の機能のレベルを表す整数(1≦n≦N)とし、
    前記階層は前記n番目のレベルの機能(親機能)の少な
    くとも1つを複数個の(n+1)番目のレベルの機能
    (各々が子機能)として画定しており、親機能とならな
    い各子機能は最終機能であって各最終機能は少なくとも
    1個のネットによって少なくとも他の1つの最終機能へ
    接続されており、各ネットは複数個の相互接続された最
    終機能を画定している集積回路上に機能を配置させる方
    法において、前記階層のN個全てのレベルを介しての機
    能間の接続の数を推定し、前記推定した接続数に基づい
    て前記階層内の各n番目のレベルの機能の前記集積回路
    上の位置を決定する、ことを特徴とする方法。
  2. 【請求項2】特許請求の範囲第1項において、前記階層
    のN個全てのレベルを介しての機能の間の接続数を推定
    する場合に、前記最終機能の対の順列の全数によって前
    記最終機能間の接続の最小数を割ることによって各ネッ
    トによって接続される最終機能間の接続の推定数を決定
    し、非最終機能の最終子孫と他の機能の最終子孫との間
    の接続の推定数を加算することによって前記階層におけ
    る前記各非最終機能と全ての他の機能との間の接続の推
    定数を決定する、ことを特徴とする方法。
  3. 【請求項3】特許請求の範囲第1項において、前記階層
    における各n番目のレベルの機能の集積回路上の位置を
    決定する場合に、前記子機能がその親機能によって占有
    される集積回路の区域内に配置される様に前記階層内の
    各子機能の集積回路上の位置を決定することを特徴とす
    る方法。
  4. 【請求項4】特許請求の範囲第1項において、前記階層
    内における各n番目のレベルの機能の集積回路上の位置
    を決定する場合に、前記接続の推定数に基づいてそれら
    の親内に互いに第2レベルの子機能の位置を決定し且つ
    前記接続の推定数に基づいてそれらの親内に互いにn番
    目のレベルの子機能(n≧3)の位置及びそれらの親内
    に互いにk番目のレベルの子機能(k≦n)の位置を決
    定しそれらの親内に互いにn番目のレベルの子機能の位
    置を決定することを特徴とする方法。
  5. 【請求項5】特許請求の範囲第4項において、それらの
    親内に互いにn番目のレベルの子機能の位置を決定する
    場合に、前記子機能を2つのグループへ区画し、前記2
    つのグループの一方の集積回路上の位置を他方に対して
    決定し、且つ引き続いて、前記2つのグループの機能の
    各々を2つのグループへ区画し、且つ前記グループの各
    々が正確に1つの機能を有する迄、前記後者の2つのグ
    ループの一方の集積回路上の位置を他方に対して決定す
    る、ことを特徴とする方法。
  6. 【請求項6】特許請求の範囲第5項において、前記子機
    能を2つのグループへ区画し且つ前記2つのグループの
    一方の集積回路上の位置を他方に対して決定する場合
    に、各領域が他方の領域の上、下、右、又は左にあり各
    領域が前記2つのグループの機能の1つを有する様に前
    記親機能を2つの領域へ分割し、前記2つのクループの
    間の前記機能の複数個の可能な順列に対して、前記2つ
    のグループの1つの中における前記機能の面積の和と前
    記2つのグループの他方における機能の面積の和との間
    の差異の絶対値を計算し、前記絶対値は前記グループの
    両方における機能の面積の和によって割られており(比
    例的面積差)、前記接続の推定数を使用して、前記2つ
    のグループの一方における機能と前記2つのグループの
    他方における機能か又は前記2つのグループのいずれに
    もないが前記2つのグループの他方における如く前記2
    つの領域を分離する線の同じ側にある機能との間の接続
    の数を計算し、且つ前記比例的面積差の最小和を発生す
    る前記2つのグループと前記機能間の接続の数との間の
    前記機能の前記順列を選択しその際に前記2つのグルー
    プの各々の集積回路上の位置を他方に対して決定する。
    ことを特徴とする方法。
  7. 【請求項7】特許請求の範囲第1項において、前記階層
    における各n番目のレベルの機能の集積回路上の位置を
    決定する場合に、各最終機能の1つ又はそれ以上の可能
    な形状を表す形状関数を画定し、子機能の形状関数を結
    合させることによって各親機能の形状関数を決定しその
    際に前記集積回路の形状関数を決定し、且つ前記集積回
    路の形状を選択しその際に前記集積回路上の各機能の形
    状を決定する。ことを特徴とする方法。
  8. 【請求項8】特許請求の範囲第7項において、前記子機
    能の形状関数を結合させることによって各親機能の形状
    関数を決定する場合に、各子機能の位置が前記子機能と
    相対的に前記他の子機能の上、下、左、又は右であるか
    を決定し、前記子機能のX座標に対応する各X座標に対
    して前記子機能の各々のY座標の和を計算することによ
    って前記他方の子機能の上か又は下のいずれかである前
    記子機能の各々に対して前記親形状関数のX及びY座標
    を決定し、且つ前記子機能のY座標に対応する各Y座標
    に対して前記子機能の各々のX座標の和を計算すること
    によって前記子機能の左又は右のいずれかである前記子
    機能の各々に対して前記親形状関数のX及びY座標を決
    定する、ことを特徴とする方法。
  9. 【請求項9】特許請求の範囲第1項において、前記階層
    において各n番目のレベルの機能の集積回路上の位置を
    決定する場合に、前記接続の推定数に基づいてそれらの
    親内に互いに第2レベルの子機能の位置を決定し且つ前
    記接続の推定数とそれらの親内の相対的なk番目のレベ
    ルの子機能(k<n)の位置の両方に基づいてそれらの
    親内で相対的にn番目のレベルの子機能(n≦3)の位
    置を決定することによりそれらの親内で互いにn番目の
    レベルの機能の位置を決定し、且つ最終機能の1つ又は
    それ以上の可能な形状を表す形状関数を画定し、その子
    機能の形状関数を結合させることによって各親機能の形
    状関数を決定しその際に前記集積回路の形状関数を決定
    し、且つ前記集積回路の形状を選択してその際に前記集
    積回路上の各機能の形状を決定して前記親内の相対的な
    n番目のレベルの機能の前記位置を前記集積回路上の精
    密な位置へ変換させる、ことを特徴とする方法。
  10. 【請求項10】特許請求の範囲第9項において、前記階
    層において各n番目のレベルの機能の集積回路上の位置
    を決定する場合に、前記集積回路上でその機能を他の機
    能へ接続させる為に必要とされる経路区域を推定し且つ
    各機能によって占有されている区域に割り当て、且つ各
    機能によって占有される区域に割り当てられた前記経路
    区域を考慮にいれて、前記親内で相対的にn番目のレベ
    ルの機能の前記位置を前記集積回路上の精密な位置へ変
    換させることを繰り返す、ことを特徴とする方法。
  11. 【請求項11】N個のレベルの機能からなる階層を有し
    ており、尚Nは前記集積回路内の機能の階層レベルの番
    号を表す整数(N≧1)であり、前記レベルの第1レベ
    ルは前記集積回路全体を表しており、尚nは前記階層に
    おける任意の特定の機能のレベルを表す整数(1≦n≦
    N)であり、前記階層は前記n番目のレベルの機能(親
    機能)の少なくとも1つを複数個の(n+1)番目のレ
    ベルの機能(各々が子機能)として定義し、親機能とな
    らない各子機能は最終機能であり、各最終機能は少なく
    とも1つのネットによって少なくとも1つの別の最終機
    能へ接続されており、各ネツトは複数個の相互接続した
    最終機能を画定している集積回路のn番目のレベルの機
    能によって占有される面積を推定する方法において、マ
    クロセルを相互接続させる為に必要なトラックの数を推
    定し且つ前記マクロセルによって占有されている面積の
    和に前記トラック数と平均トラックの既知の幅との積を
    加算することによって前記マクロセルの最終機能の面積
    を決定することによって集約的なレイアウトが特定され
    ていない多くの小さなセル(マクロセル)を有する各最
    終機能の面積を推定し、且つ機能間の経路接続用に使用
    可能な集積回路の全面積の百分率を推定し且つ子機能の
    各々の面積を加算し且つその和に前記百分率を掛けるこ
    とによって各親機能にその使用可能な面積を一様に分布
    させることによって最終機能ではない各機能の面積を推
    定する、ことを特徴とする方法。
  12. 【請求項12】特許請求の範囲第11項において、前記マ
    クロセルを相互接続させるのに必要なトラック数を推定
    する場合に、前記マクロセルによって占有される面積の
    和を第1定数値と等しい羃に上げ、その羃に上げられた
    その和に第2定数値を掛ける、ことを特徴とする方法。
  13. 【請求項13】N個のレベルの機能からなる階層を有し
    ており、尚Nは前記集積回路内の機能の階層レベルの番
    号を表す整数(N≧1)であり、前記レベルの第1レベ
    ルは前記集積回路全体を表し、尚nは前記階層における
    任意の特定の機能のレベルを表す整数(1≦n≦N)で
    あり、前記階層は前記n番目のレベルの機能(親機能)
    の少なくとも1つを複数個の(n+1)番目のレベルの
    機能(各々が子機能)として定義し、親機能とはならな
    い各子機能が最終機能であり、各最終機能は少なくとも
    1つのネットによって少なくとも他の最終機能へ接続さ
    れており、各ネットは複数個の相互接続した最終機能を
    画定している集積回路上に機能を配置させるシステムに
    おいて、前記階層のN個全てのレベルを介しての機能間
    の接続数を推定し且つ前記推定した接続数に基づいて前
    記階層の各n番目のレベルの機能の前記集積回路上の位
    置を決定する手段と、それらの親内で相対的にn番目の
    レベルの子機能(n≧2)の前記集積回路上の位置を決
    定する手段と、前記n番目のレベルの子機能の形状を決
    定する手段と、を有することを特徴とするシステム。
  14. 【請求項14】特許請求の範囲第13項において、前記n
    番目の子機能を相互接続する為に必要な付加的な面積を
    計算する手段と、前記付加的な面積に部分的に基づいて
    前記n番目のレベルの子機能の形状を再決定する手段と
    を有することを特徴とするシステム。
  15. 【請求項15】特許請求の範囲第13項において、n番目
    のレベルの機能の前記集積回路上の位置をグラフィック
    的に表示させる手段を有することを特徴とするシステ
    ム。
JP63134531A 1987-06-02 1988-06-02 階層的フロアープラニング方法及びそのシステム Expired - Lifetime JP2724317B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/057,843 US4918614A (en) 1987-06-02 1987-06-02 Hierarchical floorplanner
US57,843 1987-06-02

Publications (2)

Publication Number Publication Date
JPS6480040A JPS6480040A (en) 1989-03-24
JP2724317B2 true JP2724317B2 (ja) 1998-03-09

Family

ID=22013072

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63134531A Expired - Lifetime JP2724317B2 (ja) 1987-06-02 1988-06-02 階層的フロアープラニング方法及びそのシステム

Country Status (5)

Country Link
US (1) US4918614A (ja)
EP (1) EP0294188B1 (ja)
JP (1) JP2724317B2 (ja)
KR (1) KR890001154A (ja)
DE (1) DE3856234T2 (ja)

Families Citing this family (174)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2535976B2 (ja) * 1987-11-17 1996-09-18 株式会社日立製作所 形態接続構成自動作成システム
US5140526A (en) * 1989-01-06 1992-08-18 Minc Incorporated Partitioning of Boolean logic equations into physical logic devices
JPH02206149A (ja) * 1989-02-06 1990-08-15 Hitachi Ltd 電気的制約を考慮した信号線端子割付方式
US5175693A (en) * 1989-06-01 1992-12-29 Kabushiki Kaisha Toshiba Method of designing semiconductor integrated circuit device
US5251147A (en) * 1989-06-20 1993-10-05 Digital Equipment Corporation Minimizing the interconnection cost of electronically linked objects
US5113352A (en) * 1989-06-20 1992-05-12 Digital Equipment Corporation Integrating the logical and physical design of electronically linked objects
JP2831703B2 (ja) * 1989-06-23 1998-12-02 株式会社東芝 自動フロアプラン演算装置
US5309371A (en) * 1989-06-28 1994-05-03 Kawasaki Steel Corporation Method of and apparatus for designing circuit block layout in integrated circuit
DE69033724T2 (de) * 1989-12-04 2001-11-29 Matsushita Electric Industrial Co., Ltd. Plazierungsoptimierungssystem mit Hilfe von CAD
US5128871A (en) * 1990-03-07 1992-07-07 Advanced Micro Devices, Inc. Apparatus and method for allocation of resoures in programmable logic devices
US5572437A (en) * 1990-04-06 1996-11-05 Lsi Logic Corporation Method and system for creating and verifying structural logic model of electronic design from behavioral description, including generation of logic and timing models
US5557531A (en) * 1990-04-06 1996-09-17 Lsi Logic Corporation Method and system for creating and validating low level structural description of electronic design from higher level, behavior-oriented description, including estimating power dissipation of physical implementation
US5623418A (en) * 1990-04-06 1997-04-22 Lsi Logic Corporation System and method for creating and validating structural description of electronic system
US5544066A (en) * 1990-04-06 1996-08-06 Lsi Logic Corporation Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, including estimation and comparison of low-level design constraints
US5555201A (en) * 1990-04-06 1996-09-10 Lsi Logic Corporation Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, including interactive system for hierarchical display of control and dataflow information
US5544067A (en) * 1990-04-06 1996-08-06 Lsi Logic Corporation Method and system for creating, deriving and validating structural description of electronic system from higher level, behavior-oriented description, including interactive schematic design and simulation
US5222030A (en) * 1990-04-06 1993-06-22 Lsi Logic Corporation Methodology for deriving executable low-level structural descriptions and valid physical implementations of circuits and systems from high-level semantic specifications and descriptions thereof
US5572436A (en) * 1990-04-06 1996-11-05 Lsi Logic Corporation Method and system for creating and validating low level description of electronic design
US5541849A (en) * 1990-04-06 1996-07-30 Lsi Logic Corporation Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, including estimation and comparison of timing parameters
US5867399A (en) * 1990-04-06 1999-02-02 Lsi Logic Corporation System and method for creating and validating structural description of electronic system from higher-level and behavior-oriented description
US5553002A (en) * 1990-04-06 1996-09-03 Lsi Logic Corporation Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, using milestone matrix incorporated into user-interface
US5598344A (en) * 1990-04-06 1997-01-28 Lsi Logic Corporation Method and system for creating, validating, and scaling structural description of electronic device
US5220512A (en) * 1990-04-19 1993-06-15 Lsi Logic Corporation System for simultaneous, interactive presentation of electronic circuit diagrams and simulation data
US5870308A (en) * 1990-04-06 1999-02-09 Lsi Logic Corporation Method and system for creating and validating low-level description of electronic design
US5262959A (en) * 1990-12-07 1993-11-16 Hewlett-Packard Co. Representation and processing of hierarchical block designs
US5208759A (en) * 1990-12-13 1993-05-04 Vlsi Technology, Inc. Method for placement of circuit components in an integrated circuit
JP2612967B2 (ja) * 1991-01-18 1997-05-21 松下電器産業株式会社 網図自動生成方法及びそのシステム
JP2824482B2 (ja) * 1991-02-20 1998-11-11 富士通株式会社 2分決定グラフの変数順決定方式
JPH06187384A (ja) * 1991-02-26 1994-07-08 Texas Instr Inc <Ti> 設計方法及び設計支援装置
US5355317A (en) * 1991-02-26 1994-10-11 Texas Instruments Incorporated Method and apparatus for system design
US5357440A (en) * 1991-02-26 1994-10-18 Texas Instruments Incorporated Method and apparatus for aiding system design
US5500800A (en) * 1991-02-26 1996-03-19 Texas Instruments Incorporated Method and apparatus for tracking allocatable requirements
JP2720629B2 (ja) * 1991-04-26 1998-03-04 日本電気株式会社 集積回路のレイアウトシステム
US5341308A (en) * 1991-05-17 1994-08-23 Altera Corporation Methods for allocating circuit elements between circuit groups
US5485396A (en) * 1991-06-28 1996-01-16 Vlsi Technology, Inc. Symbolic routing guidance for wire networks in VLSI circuits
US5471398A (en) * 1991-07-01 1995-11-28 Texas Instruments Incorporated MTOL software tool for converting an RTL behavioral model into layout information comprising bounding boxes and an associated interconnect netlist
JP2995963B2 (ja) * 1991-10-11 1999-12-27 富士ゼロックス株式会社 階層的回路データベース最適化装置及び階層的回路データベース最適化方法
JP2601586B2 (ja) * 1991-10-15 1997-04-16 富士通株式会社 配置要素の配置配線方法
US5553001A (en) * 1991-10-30 1996-09-03 Xilinx, Inc. Method for optimizing resource allocation starting from a high level
US5450331A (en) * 1992-01-24 1995-09-12 Vlsi Technology, Inc. Method for verifying circuit layout design
US5398195A (en) * 1992-02-21 1995-03-14 International Business Machines Corporation Method and system for providing a non-rectangular floor plan
US5377125A (en) * 1992-02-28 1994-12-27 Vlsi Technology, Inc. Improved pad ring router
US5526517A (en) * 1992-05-15 1996-06-11 Lsi Logic Corporation Concurrently operating design tools in an electronic computer aided design system
US5340772A (en) * 1992-07-17 1994-08-23 Lsi Logic Corporation Method of increasing the layout efficiency of dies on a wafer and increasing the ratio of I/O area to active area per die
US5532934A (en) * 1992-07-17 1996-07-02 Lsi Logic Corporation Floorplanning technique using multi-partitioning based on a partition cost factor for non-square shaped partitions
US5311443A (en) * 1992-08-13 1994-05-10 Motorola Inc. Rule based floorplanner
JP2739013B2 (ja) * 1992-09-01 1998-04-08 三菱電機株式会社 論理合成装置
JPH06196563A (ja) * 1992-09-29 1994-07-15 Internatl Business Mach Corp <Ibm> Vlsiの配線設計に対するコンピュータ実施可能な過密領域配線方法
US5490083A (en) * 1992-10-05 1996-02-06 Matsushita Electric Industrial Co., Ltd. Method and apparatus for classifying and evaluating logic circuit
US5666289A (en) * 1992-10-07 1997-09-09 Lsi Logic Corporation Flexible design system
US5493504A (en) * 1992-10-28 1996-02-20 Nippon Telegraph And Telephone Corporation System and method for processing logic function and fault diagnosis using binary tree representation
US5493510A (en) * 1992-11-10 1996-02-20 Kawasaki Steel Corporation Method of and apparatus for placing blocks in semiconductor integrated circuit
US5576969A (en) * 1993-03-09 1996-11-19 Nec Corporation IC comprising functional blocks for which a mask pattern is patterned according to connection and placement data
EP0621545A3 (en) * 1993-04-21 1995-12-13 Hitachi Ltd Computer-aided design and manufacturing system for component arrangement and pipe laying planning.
US5566078A (en) * 1993-05-26 1996-10-15 Lsi Logic Corporation Integrated circuit cell placement using optimization-driven clustering
US5761664A (en) * 1993-06-11 1998-06-02 International Business Machines Corporation Hierarchical data model for design automation
US5561086A (en) * 1993-06-18 1996-10-01 Lsi Logic Corporation Techniques for mounting semiconductor dies in die-receiving areas having support structure having notches
US5469366A (en) * 1993-09-20 1995-11-21 Lsi Logic Corporation Method and apparatus for determining the performance of nets of an integrated circuit design on a semiconductor design automation system
US5533148A (en) * 1993-09-30 1996-07-02 International Business Machines Corporation Method for restructuring physical design images into hierarchical data models
US5491641A (en) * 1993-10-04 1996-02-13 Lsi Logic Corporation Towards optical steiner tree routing in the presence of rectilinear obstacles
US5506788A (en) * 1994-01-13 1996-04-09 Lsi Logic Corporation Similarity-extraction force-oriented floor planner
SG68564A1 (en) * 1994-01-25 1999-11-16 Advantage Logic Inc Apparatus and method for partitioning resources for interconnections
GB9404078D0 (en) * 1994-03-03 1994-04-20 Int Computers Ltd Design automation method for digital electronic circuits
US5818726A (en) * 1994-04-18 1998-10-06 Cadence Design Systems, Inc. System and method for determining acceptable logic cell locations and generating a legal location structure
US5875117A (en) * 1994-04-19 1999-02-23 Lsi Logic Corporation Simultaneous placement and routing (SPAR) method for integrated circuit physical design automation system
US5495419A (en) * 1994-04-19 1996-02-27 Lsi Logic Corporation Integrated circuit physical design automation system utilizing optimization process decomposition and parallel processing
US6493658B1 (en) * 1994-04-19 2002-12-10 Lsi Logic Corporation Optimization processing for integrated circuit physical design automation system using optimally switched fitness improvement algorithms
US5535134A (en) * 1994-06-03 1996-07-09 International Business Machines Corporation Object placement aid
US5638288A (en) * 1994-08-24 1997-06-10 Lsi Logic Corporation Separable cells having wiring channels for routing signals between surrounding cells
US5587923A (en) * 1994-09-07 1996-12-24 Lsi Logic Corporation Method for estimating routability and congestion in a cell placement for integrated circuit chip
US5789770A (en) * 1994-11-02 1998-08-04 Lsi Logic Corporation Hexagonal architecture with triangular shaped cells
US5834821A (en) * 1994-11-02 1998-11-10 Lsi Logic Corporation Triangular semiconductor "AND" gate device
US5811863A (en) * 1994-11-02 1998-09-22 Lsi Logic Corporation Transistors having dynamically adjustable characteristics
US5801422A (en) * 1994-11-02 1998-09-01 Lsi Logic Corporation Hexagonal SRAM architecture
US5777360A (en) * 1994-11-02 1998-07-07 Lsi Logic Corporation Hexagonal field programmable gate array architecture
US5742086A (en) * 1994-11-02 1998-04-21 Lsi Logic Corporation Hexagonal DRAM array
US5973376A (en) * 1994-11-02 1999-10-26 Lsi Logic Corporation Architecture having diamond shaped or parallelogram shaped cells
US5822214A (en) * 1994-11-02 1998-10-13 Lsi Logic Corporation CAD for hexagonal architecture
US5872380A (en) * 1994-11-02 1999-02-16 Lsi Logic Corporation Hexagonal sense cell architecture
US5808330A (en) * 1994-11-02 1998-09-15 Lsi Logic Corporation Polydirectional non-orthoginal three layer interconnect architecture
US5889329A (en) * 1994-11-02 1999-03-30 Lsi Logic Corporation Tri-directional interconnect architecture for SRAM
US6097073A (en) * 1994-11-02 2000-08-01 Lsi Logic Corporation Triangular semiconductor or gate
US5864165A (en) * 1994-11-02 1999-01-26 Lsi Logic Corporation Triangular semiconductor NAND gate
US6407434B1 (en) 1994-11-02 2002-06-18 Lsi Logic Corporation Hexagonal architecture
US5629857A (en) * 1994-11-15 1997-05-13 International Business Machines Corporation Method and system for indicating a status of a circuit design
WO1996024904A1 (en) * 1995-02-07 1996-08-15 Silicon Valley Research, Inc. Integrated circuit layout
US5631842A (en) * 1995-03-07 1997-05-20 International Business Machines Corporation Parallel approach to chip wiring
US5661663A (en) * 1995-03-24 1997-08-26 Lsi Logic Corporation Physical design automation system and method using hierarchical clusterization and placement improvement based on complete re-placement of cell clusters
US5696693A (en) * 1995-03-31 1997-12-09 Unisys Corporation Method for placing logic functions and cells in a logic design using floor planning by analogy
US5898595A (en) * 1995-05-26 1999-04-27 Lsi Logic Corporation Automated generation of megacells in an integrated circuit design system
US5659717A (en) * 1995-07-31 1997-08-19 Altera Corporation Methods for partitioning circuits in order to allocate elements among multiple circuit groups
US5764954A (en) * 1995-08-23 1998-06-09 International Business Machines Corporation Method and system for optimizing a critical path in a field programmable gate array configuration
US5757657A (en) * 1996-02-07 1998-05-26 International Business Machines Corporation Adaptive incremental placement of circuits on VLSI chip
US5787009A (en) * 1996-02-20 1998-07-28 Altera Corporation Methods for allocating circuit design portions among physical circuit portions
US5663891A (en) * 1996-04-03 1997-09-02 Cadence Design Systems, Inc. Optimization of multiple performance criteria of integrated circuits by expanding a constraint graph with subgraphs derived from multiple PWL convex cost functions
US5729466A (en) * 1996-04-03 1998-03-17 Cadence Design Systems, Inc. Optimization multiple performance criteria by simulating the behavior of a constraint graph expanded by subgraphs derived from PWL convex cost functions
US5731985A (en) * 1996-04-23 1998-03-24 International Business Machines Corporation Chip sizing for hierarchical designs
US5777383A (en) * 1996-05-09 1998-07-07 Lsi Logic Corporation Semiconductor chip package with interconnect layers and routing and testing methods
US5818729A (en) * 1996-05-23 1998-10-06 Synopsys, Inc. Method and system for placing cells using quadratic placement and a spanning tree model
US5808899A (en) * 1996-06-28 1998-09-15 Lsi Logic Corporation Advanced modular cell placement system with cell placement crystallization
US5870311A (en) * 1996-06-28 1999-02-09 Lsi Logic Corporation Advanced modular cell placement system with fast procedure for finding a levelizing cut point
US5831863A (en) * 1996-06-28 1998-11-03 Lsi Logic Corporation Advanced modular cell placement system with wire length driven affinity system
US5844811A (en) * 1996-06-28 1998-12-01 Lsi Logic Corporation Advanced modular cell placement system with universal affinity driven discrete placement optimization
US6030110A (en) * 1996-06-28 2000-02-29 Lsi Logic Corporation Advanced modular cell placement system with median control and increase in resolution
US5914888A (en) * 1996-06-28 1999-06-22 Lsi Logic Corporation Advanced modular cell placement system with coarse overflow remover
US5867398A (en) * 1996-06-28 1999-02-02 Lsi Logic Corporation Advanced modular cell placement system with density driven capacity penalty system
US5872718A (en) * 1996-06-28 1999-02-16 Lsi Logic Corporation Advanced modular cell placement system
US6067409A (en) * 1996-06-28 2000-05-23 Lsi Logic Corporation Advanced modular cell placement system
US6026223A (en) * 1996-06-28 2000-02-15 Scepanovic; Ranko Advanced modular cell placement system with overlap remover with minimal noise
US5963455A (en) * 1996-06-28 1999-10-05 Lsi Logic Corporation Advanced modular cell placement system with functional sieve optimization technique
US5870312A (en) * 1996-06-28 1999-02-09 Lsi Logic Corporation Advanced modular cell placement system with dispersion-driven levelizing system
US5835381A (en) * 1996-06-28 1998-11-10 Lsi Logic Corporation Advanced modular cell placement system with minimizing maximal cut driven affinity system
US5892688A (en) * 1996-06-28 1999-04-06 Lsi Logic Corporation Advanced modular cell placement system with iterative one dimensional preplacement optimization
US6085032A (en) * 1996-06-28 2000-07-04 Lsi Logic Corporation Advanced modular cell placement system with sinusoidal optimization
US5812740A (en) * 1996-06-28 1998-09-22 Lsi Logic Corporation Advanced modular cell placement system with neighborhood system driven optimization
US5960184A (en) * 1996-11-19 1999-09-28 Unisys Corporation Method and apparatus for providing optimization parameters to a logic optimizer tool
US6026220A (en) * 1996-11-19 2000-02-15 Unisys Corporation Method and apparatus for incremntally optimizing a circuit design
US5864487A (en) * 1996-11-19 1999-01-26 Unisys Corporation Method and apparatus for identifying gated clocks within a circuit design using a standard optimization tool
US5956256A (en) * 1996-11-19 1999-09-21 Unisys Corporation Method and apparatus for optimizing a circuit design having multi-paths therein
US5980092A (en) * 1996-11-19 1999-11-09 Unisys Corporation Method and apparatus for optimizing a gated clock structure using a standard optimization tool
US5980093A (en) * 1996-12-04 1999-11-09 Lsi Logic Corporation Integrated circuit layout routing using multiprocessing
US5802075A (en) * 1997-01-16 1998-09-01 Unisys Corporation Distributed test pattern generation
US5912820A (en) * 1997-01-22 1999-06-15 Unisys Corporation Method and apparatus for distributing a clock tree within a hierarchical circuit design
US6910200B1 (en) 1997-01-27 2005-06-21 Unisys Corporation Method and apparatus for associating selected circuit instances and for performing a group operation thereon
US6754879B1 (en) 1997-01-27 2004-06-22 Unisys Corporation Method and apparatus for providing modularity to a behavioral description of a circuit design
US7076410B1 (en) 1997-01-27 2006-07-11 Unisys Corporation Method and apparatus for efficiently viewing a number of selected components using a database editor tool
US6684376B1 (en) 1997-01-27 2004-01-27 Unisys Corporation Method and apparatus for selecting components within a circuit design database
US6708144B1 (en) 1997-01-27 2004-03-16 Unisys Corporation Spreadsheet driven I/O buffer synthesis process
US6701289B1 (en) 1997-01-27 2004-03-02 Unisys Corporation Method and apparatus for using a placement tool to manipulate cell substitution lists
US6516456B1 (en) 1997-01-27 2003-02-04 Unisys Corporation Method and apparatus for selectively viewing nets within a database editor tool
US6718520B1 (en) 1997-01-27 2004-04-06 Unisys Corporation Method and apparatus for selectively providing hierarchy to a circuit design
US5819258A (en) * 1997-03-07 1998-10-06 Digital Equipment Corporation Method and apparatus for automatically generating hierarchical categories from large document collections
JPH10326835A (ja) * 1997-05-26 1998-12-08 Oki Electric Ind Co Ltd Lsiレイアウト方法
US6378114B1 (en) * 1997-07-01 2002-04-23 Synopsys, Inc. Method for the physical placement of an integrated circuit adaptive to netlist changes
US6519749B1 (en) * 1998-01-09 2003-02-11 Silicon Perspective Corporation Integrated circuit partitioning placement and routing system
US6260182B1 (en) * 1998-03-27 2001-07-10 Xilinx, Inc. Method for specifying routing in a logic module by direct module communication
US6243851B1 (en) 1998-03-27 2001-06-05 Xilinx, Inc. Heterogeneous method for determining module placement in FPGAs
US6292925B1 (en) 1998-03-27 2001-09-18 Xilinx, Inc. Context-sensitive self implementing modules
US6430732B1 (en) 1998-03-27 2002-08-06 Xilinx, Inc. Method for structured layout in a hardware description language
US6237129B1 (en) 1998-03-27 2001-05-22 Xilinx, Inc. Method for constraining circuit element positions in structured layouts
US6477687B1 (en) * 1998-06-01 2002-11-05 Nvidia U.S. Investment Company Method of embedding RAMS and other macrocells in the core of an integrated circuit chip
US6256768B1 (en) 1998-11-03 2001-07-03 Silicon Perspective Corporation Amoeba display for hierarchical layout
JP2000231581A (ja) * 1999-02-12 2000-08-22 Hitachi Ltd 情報処理装置、情報処理システム及び記憶媒体
US6625787B1 (en) 1999-08-13 2003-09-23 Xilinx, Inc. Method and apparatus for timing management in a converted design
US6308309B1 (en) 1999-08-13 2001-10-23 Xilinx, Inc. Place-holding library elements for defining routing paths
IL150498A0 (en) * 1999-12-30 2002-12-01 Shlomo Shkolnik Multidisciplinary project integration system
US6633879B1 (en) * 2000-01-04 2003-10-14 International Business Machines Corporation Method and system for optimizing direct tables and trees
US6493855B1 (en) * 2000-02-18 2002-12-10 Hewlett-Packard Company Flexible cache architecture using modular arrays
US6546532B1 (en) 2000-06-20 2003-04-08 Unisys Corporation Method and apparatus for traversing and placing cells using a placement tool
US6889370B1 (en) 2000-06-20 2005-05-03 Unisys Corporation Method and apparatus for selecting and aligning cells using a placement tool
US6487706B1 (en) * 2000-08-30 2002-11-26 International Business Machines Corporation Contract methodology for concurrent hierarchical design
US6567967B2 (en) 2000-09-06 2003-05-20 Monterey Design Systems, Inc. Method for designing large standard-cell base integrated circuits
JP4083965B2 (ja) * 2000-09-27 2008-04-30 株式会社東芝 半導体集積回路の設計パターンのデータ処理方法、及びデータ処理プログラムを記録したコンピュータ読み取り可能な記録媒体
US7065727B2 (en) * 2001-04-25 2006-06-20 Barcelona Design, Inc. Optimal simultaneous design and floorplanning of integrated circuit
US6588000B2 (en) * 2001-08-09 2003-07-01 International Business Machines Corporation Method of partitioning large transistor design to facilitate transistor level timing
US6757878B2 (en) * 2001-12-31 2004-06-29 Intel Corporation Method and apparatus for layout synthesis of regular structures using relative placement
US6877148B1 (en) 2002-04-07 2005-04-05 Barcelona Design, Inc. Method and apparatus for routing an integrated circuit
US20030208738A1 (en) * 2002-04-24 2003-11-06 Yu-Ming Hsu Design method for full chip element on memory
US6944832B2 (en) * 2002-06-20 2005-09-13 The Boeing Company System design using part roles
US7197734B1 (en) * 2002-07-12 2007-03-27 Altera Corporation Method and apparatus for designing systems using logic regions
GB2393533A (en) * 2002-09-27 2004-03-31 Zuken Ltd Routing of interconnected regions e.g. of electrical circuits
US6757883B1 (en) * 2002-12-11 2004-06-29 Lsi Logic Corporation Estimating free space in IC chips
US7237214B1 (en) * 2003-03-04 2007-06-26 Synplicity, Inc. Method and apparatus for circuit partitioning and trace assignment in circuit design
US7117473B1 (en) * 2004-03-03 2006-10-03 Xilinx, Inc. System for creating a physical hierarchy of a chip without restriction by invading a logical hierarchy of logic blocks
US7376921B2 (en) * 2006-02-17 2008-05-20 Athena Design Systems, Inc. Methods for tiling integrated circuit designs
US7657857B2 (en) * 2006-03-17 2010-02-02 Altera Corporation Performance visualization of delay in circuit design
JP4995639B2 (ja) * 2007-06-01 2012-08-08 ルネサスエレクトロニクス株式会社 半導体集積回路の設計装置および設計方法
US7681169B2 (en) 2007-08-29 2010-03-16 International Business Machines Corporation Process for managing complex pre-wired net segments in a VLSI design
US7934188B2 (en) * 2008-04-24 2011-04-26 International Business Machines Corporation Legalization of VLSI circuit placement with blockages using hierarchical row slicing
US20110202031A1 (en) 2010-02-16 2011-08-18 Nextteq, Llc Containers for Fluids with Composite Agile Walls
WO2013058608A2 (ko) * 2011-10-20 2013-04-25 아주대학교산학협력단 트리맵 가시화 시스템 및 방법
US9672320B2 (en) * 2015-06-30 2017-06-06 Taiwan Semiconductor Manufacturing Company, Ltd. Method for integrated circuit manufacturing
US10509883B2 (en) * 2016-11-28 2019-12-17 Taiwan Semiconductor Manufacturing Co., Ltd. Method for layout generation with constrained hypergraph partitioning
US11519173B2 (en) 2021-11-10 2022-12-06 Global Bamboo Technologies, Inc. Automated MEPI design for hollow wall construction

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4500963A (en) * 1982-11-29 1985-02-19 The United States Of America As Represented By The Secretary Of The Army Automatic layout program for hybrid microcircuits (HYPAR)
JPS59145541A (ja) * 1983-02-09 1984-08-21 Hitachi Ltd Lsiレイアウト処理方法
US4612618A (en) * 1983-06-10 1986-09-16 Rca Corporation Hierarchical, computerized design of integrated circuits
US4554625A (en) * 1983-06-14 1985-11-19 International Business Machines Corporation Method for generating an optimized nested arrangement of constrained rectangles
US4630219A (en) * 1983-11-23 1986-12-16 International Business Machines Corporation Element placement method
US4688072A (en) * 1984-06-29 1987-08-18 Hughes Aircraft Company Hierarchical configurable gate array

Also Published As

Publication number Publication date
DE3856234D1 (de) 1998-09-17
EP0294188A2 (en) 1988-12-07
US4918614A (en) 1990-04-17
DE3856234T2 (de) 1999-01-07
EP0294188B1 (en) 1998-08-12
JPS6480040A (en) 1989-03-24
EP0294188A3 (en) 1990-12-05
KR890001154A (ko) 1989-03-18

Similar Documents

Publication Publication Date Title
JP2724317B2 (ja) 階層的フロアープラニング方法及びそのシステム
US5838583A (en) Optimized placement and routing of datapaths
EP0910027B1 (en) Mapping heterogeneous logic elements in a programmable logic device
US5359537A (en) Automatic synthesis of integrated circuits employing controlled input dependency during a decomposition process
US5818729A (en) Method and system for placing cells using quadratic placement and a spanning tree model
US5627999A (en) Similarity-extraction force-oriented floor planner
US4908772A (en) Integrated circuits with component placement by rectilinear partitioning
US5638291A (en) Method and apparatus for making integrated circuits by inserting buffers into a netlist to control clock skew
US6223332B1 (en) Advanced modular cell placement system with overlap remover with minimal noise
JP2695078B2 (ja) データ処理装置クロック信号の分配方法
US20030005398A1 (en) Timing-driven global placement based on geometry-aware timing budgets
US6751786B2 (en) Clock tree synthesis for a hierarchically partitioned IC layout
US5909376A (en) Physical design automation system and process for designing integrated circuit chips using highly parallel sieve optimization with multiple &#34;jiggles&#34;
JPH04229375A (ja) 回路設計方法
JPH03188650A (ja) 配線経路処理方法、配線経路処理システム、及び半導体集積回路
US6405345B1 (en) Updating placement during technology mapping
US5835378A (en) Computer implemented method for leveling interconnect wiring density in a cell placement for an integrated circuit chip
US7603640B2 (en) Multilevel IC floorplanner
US5838585A (en) Physical design automation system and method using monotonically improving linear clusterization
US6212668B1 (en) Gain matrix for hierarchical circuit partitioning
US5831863A (en) Advanced modular cell placement system with wire length driven affinity system
US6567966B2 (en) Interweaved integrated circuit interconnects
US5930500A (en) Parallel processor implementation of net routing
US6532582B1 (en) Method and apparatus for optimal critical netlist area selection
Cho et al. A buffer distribution algorithm for high-performance clock net optimization

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20081205

Year of fee payment: 11

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081205

Year of fee payment: 11