フロアプランナ(floorplanner)とは,論理機能をLSIチップ上のどの領域(場所)に配置するかを決めるためのツール。すなわち,各論理機能を実現するブロックの寸法を求め,チップ上に無駄な領域(デッド・スペース)が残らないようにブロックの配置(フロアプラン)を行なう。

 従来,フロアプランナは,もっぱらチップ面積を最小化する目的で使われていた。このツールを使うと,希望するチップ面積にすべての機能を実現できるかどうかを確認できる。無駄な領域が生じそうな場合には,それを削減できる。大半のフロアプランナは使いやすいGUI(グラフィカル・ユーザー・インタフェース)を備えており,フロアプラン結果をユーザーが確認したり,修正することが容易に行なえるようになっている。

 最近,フロアプランナに新たな用途が加わった。半導体製造技術の微細化で,素子(例えば論理ゲート)間を接続する配線の遅延時間の影響が大きくなってきており,一般にブロック間の配線長は長くなりがちである。フロアプラン段階で,配線長(すなわち,配線遅延時間)を調整することが重要になってきた。タイミング検証用のEDAツール,例えばスタティック・タイミング・アナライザと連動するフロアプランナが増えてきた。

論理合成ツールと連携プレイ

 タイミング設計を支援するツールとしてフロアプンナが真価を発揮するのは,論理合成ツールと組み合わせて使ったときだろう。フロアプランナと論理合成ツールの間で情報を交換し,双方の設計の質を高める。

 まず,論理合成ツールを稼動させ論理回路(ネットリスト)を生成する。このネットリストを入力し,フロアプランナを稼動させる。その結果であるフロアプラン(ブロックの配置情報)や配線に関する各種の情報を論理合成ツールにフィードバックする。

性能的には十分とは言えない

 ただし,現在の市販フロアプランナは,性能的には十分とはいえない。例えば,ツールが自動生成したフロアプランや論理回路の自動分割結果は,そのままでは使えない。初期値としては有効だが,製品レベルの質を出すには,人手で修正や改良する必要がある。クリチカルな配線を短くしたり,詳細配置配線が容易になるように修正する。

 上述したように従来,フロアプランナのユーザーは半導体メーカーのレイアウト設計者だった。論理合成ツールと組み合わせたような使い方で,論理設計者(例えばASICユーザー)がフロアプランナを利用する。そして,このフロアプラン結果が,半導体メーカーに渡され,タイミング・ドリブン型の自動レイアウト・ツールが詳細配置配線を行なう。

 現在主流のフロアプランナは,基本的にゲート・レベルの論理回路(ネットリスト)を入力するが,最近はより早い段階で設計を見直すために,RTL(register transfer level)記述を入力するデザイン・プランナも登場してきた。

3種類のブロックを扱う

 フロアプランナが対象とする機能ブロックは,次のような3種類に分類できる。

  • 階層ブロック:マクロセルの集合で,チップ全体のレイアウト時にもブロックとしての階層を失わないもの。
  • グループ:マクロセルの集合で,チップ全体のレイアウト時には階層がなくなる(フラットになる)もの。
  • メガセル:メモリや,CPUコアのようにすでにレイアウトされた大規模なハード・タイプのマクロセル。

 処理結果(フロアプラン)として得られるのは,階層ブロックに対しては同ブロックの形状と配置位置,階層ブロックの外部端子の位置である。グループに対しては,グループの形状と配置位置,メガセルに対しては,マクロセルの配置位置となる。

 このようなフロアプランなどを出力するために,フロアプランナには次のような5つの機能が備わっている。

(1)階層ブロックとグループの生成機能

  • 論理回路を自動分割する。
  • 論理階層ツリーを表示する。人手による階層ブロック,グループの作成を支援する。

(2)階層ブロックとグループの寸法(チップ面積)の見積もり機能

  • ゲート・レベル回路(ネットリスト)を入力して見積もる。
  • RTL記述(HDLで表現)を入力して見積もる。

(3)フロアプラニング機能

  • チップ全体の寸法(面積)を見積もる。
  • チップの外部端子を割り付ける。
  • 自動フロアプラニングを実行する。
  • グラフィックカル・ユーザ・インタフェース。階層ブロックとグループの形状や位置,階層ブロックの端子位置の人手修正を支援する。

(4)フロアプランの善し悪しの判定機能と,配線の集中度の分析機能

  • 自動レイアウト・ツールの一部機能(初期配置機能と概略配線機能)を使い,最適化なしの詳細配置配線を求めて,これらの値を算出。

(5)配線長の見積もり機能。遅延時間や消費電力の算出に利用

  • ブロックとグループ内で閉じた配線は,その占める領域の大きさによって配線長を見積もる。
  • ブロック間の配線長は,概略配線ツールを使って見積もる。


(99. 9. 6更新)

このEDA用語辞典は,日経エレクトロニクス,1996年10月14日号,no.673に掲載した「EDAツール辞典(NEC著)」を改訂・増補したものです。