(57)【要約】【課題】半導体集積回路内における大容量マクロブロックを介する信号配線の効果的なレイアウト設計を実現する。【解決手段】大規模マクロブロックを含んだ半導体集積回路のレイアウト設計過程において、機能を実現するための補正用準備セルを予め随所に備えて設計されたマクロブロックを組成する階層レイアウト設計を行い、マクロブロック設計完了時に、未使用の準備セルとその情報を抽出する工程と、抽出した準備セルを上位階層レイアウト設計で使用する工程とにより、マクロブロック内の補正用の準備セルを上位階層レイアウト設計で使用できるようにする。これにより、別途上位階層レイアウト設計用に準備セルを設ける必要がなくなり、更なる小面積化が実現できる。【選択図】図４
2013254294.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路のレイアウト設計方法であって、
補正用の準備セルを予め備えて設計されたマクロブロックを組成して下位階層レイアウト設計を行う工程と、
前記下位階層レイアウト設計が完了した段階で、前記補正用の準備セルのうち、少なくとも未使用の準備セルのレイアウト情報を抽出する工程と、
前記抽出されたレイアウト情報に基づき、上位階層レイアウト設計で前記抽出された補正用の未使用準備セルを使用するように処理する工程と
を含む
レイアウト設計方法。
【請求項２】
請求項１に記載のレイアウト設計方法であって、
上位階層レイアウト設計で前記抽出された未使用の補正用の準備セルを使用した後に、少なくとも前記抽出された未使用の準備セルのレイアウト情報を再度抽出する工程と、
前記再度抽出されたレイアウト情報に基づき、再度マクロブロック設計で前記再度抽出された未使用の補正用の準備セルを使用するように処理する工程と
を含む
レイアウト設計方法。
【請求項３】
請求項１又は２に記載のレイアウト設計方法であって、
最終的に使用しなかった補正用の準備セルの端子を固定する工程
を更に含む
レイアウト設計方法。
【請求項４】
請求項１乃至３のいずれかに記載のレイアウト設計方法であって、
前記補正用の準備セルは、インバータセル、バッファセル、遅延セル、論理セル、ラッチセル、及びフリップフロップセルのうち、少なくとも１つを用いて組成されている
レイアウト設計方法。
【請求項５】
半導体集積回路のレイアウト設計装置であって、
補正用の準備セルを予め備えて設計されたマクロブロックを組成して下位階層レイアウト設計を行う手段と、
前記下位階層レイアウト設計が完了した段階で、前記補正用の準備セルのうち、少なくとも未使用の準備セルのレイアウト情報を抽出する手段と、
前記抽出されたレイアウト情報に基づき、上位階層レイアウト設計で前記抽出された補正用の未使用準備セルを使用するように処理する手段と
を具備する
レイアウト設計装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、半導体集積回路のレイアウト設計方法、及びレイアウト設計装置に関し、特に半導体集積回路のレイアウト設計単位であるマクロブロック内素子を用いたレイアウト設計方法、及びレイアウト設計装置に関する。
【背景技術】
【０００２】
近年、半導体集積回路（ＬＳＩ：Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）の設計において、搭載機能の増加に伴って、プログラムコードやキャッシュデータを格納するメモリ製品に代表されるようなマクロブロックの大容量化が要求されている。なお、マクロブロックとは、半導体集積回路をレイアウト設計する際の設計の単位である。
【０００３】
半導体集積回路のレイアウト設計では、上述したマクロブロック等を複数配置して半導体集積回路を作成しており、マクロブロック間の配線において、大容量マクロブロックが配線の通過点に配置される場合も頻繁に発生している。半導体集積回路におけるマクロブロックの占有面積が大きくなると、マクロブロック周辺や内部を通過して接続すべき配線が長くなるために、遅延時間や消費電力が大きくなってしまうという事態が発生することになる。このような事態を回避するため、半導体集積回路内における大容量マクロブロック等を介する信号配線の効果的なレイアウト設計方法が望まれている。
【０００４】
［特許文献１］
関連する技術として、特許文献１（特許４３８６５１２号）にマクロブロックに関する技術が開示されている。この関連技術では、半導体集積回路をレイアウト設計する際の下位階層において、マクロブロックを通過する配線のための通過配線用セルとして、バッファ回路、インバータ、クロック制御セル、ラッチ回路、及びフリップフロップ中の少なくとも２種類を、そのマクロブロック内の随所に予め分散して挿入しておくことを特徴とする。これにより、通過配線用セルも使いつつ、タイミング／消費電力／電圧降下等の性能の改善を実施する。すなわち、マクロブロック内に配置してある準備セル（準備素子）を用いて上位階層での性能の改善を行う技術である。
【０００５】
［従来の通過配線用セル配置］
図１を参照して、特許文献１に示される従来のマクロブロックを通過する配線のため、マクロブロックの随所に挿入される通過配線用セルの配置について説明する。
【０００６】
従来は、図１、図２に示されるように、上位階層のレイアウト設計において遅延改善等のためにマクロブロック「２０２」を挟んだマクロセル間を、下位階層のマクロブロック「２０２」のレイアウト設計時に、マクロブロック「２０２」内に通過配線用セル「２１０」、「２０３」、「２１１」、「２０５」、「２１２」、「２１３」、「２１４」、「２１５」、「２０４」を随所に予め分散して挿入することで、上位階層のレイアウト設計時に、マクロブロック「２０２」を通過する配線用に通過配線用セルを用いるように構成することで、マクロセル間の配線長を短くする。配線長を短くした結果、半導体集積回路の高速化、低消費電力化、小面積化が可能となる技術である。
【０００７】
［従来のレイアウト設計］
図２を参照して、特許文献１に示される従来の半導体集積回路のレイアウト設計過程について説明する。
【０００８】
まず、マクロブロックを作成する（ステップＳＴ１００）。マクロブロックを作るには、通常のレイアウト設計方法により、マクロブロックをレイアウトする（ステップＳＴ１０１）。その後、当該マクロブロックを通過する配線のための通過配線用セルを追加して、当該マクロブロックのレイアウトの修正を行う（ステップＳＴ１０２）。或いは、予め通過配線用セルが挿入されたマクロブロックをレイアウトする（ステップＳＴ１０３）。
【０００９】
次に、上位階層でレイアウトを実行する。レイアウトを実行するには、マクロブロックやＩＰコアの中に分散挿入した通過配線用セルを考慮して、論理接続情報を持ったネットリスト８０２の作成を行う（ステップＳＴ２１０）。なお、実際には、このネットリスト８０２については、予め準備しておき、上記分散挿入した通過配線用セルを考慮して修正するようにしても良い。次に、この作成もしくは修正されたネットリスト８０２を用いて、通過配線用セルが分散挿入されたマクロブロックを通常通りレイアウトする（ステップＳＴ１１０）。その後、タイミング／消費電力／電圧降下等の制約の検証を行う（ステップＳＴ１２０）。検証結果がＯＫである場合には、当該設計を終了する。検証結果がＯＫでない場合には、マクロブロック内に分散挿入された通過配線用セルも使用しつつ、その性能の改善を行う（ステップＳＴ１３０）。その後、この制約の検証結果がＯＫになるまで、制約の検証、及び性能の改善の処理を繰り返す。
【００１０】
以上のように、通過配線用セルを考慮して作成／修正されたネットリストを用いてレイアウトされたマクロブロックに挿入されている通過配線用セルも使いつつ、その性能を改善するようにしているので、より適切に、回路動作の高速化、低消費電力化、半導体集積回路の小面積化、配線配置の効率化を図ることができるという効果が得られる。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特許４３８６５１２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
従来技術では、上位階層のレイアウト設計おいて、回路動作の高速化、低消費電力化、半導体集積回路の小面積化、配線配置の効率化を図ることを目指して、下位階層であるマクロブロックのレイアウト設計時にマクロブロック機能レイアウトとは別にマクロブロックを通過する配線のための通過配線用セルを別途追加して配置しておく技術であるが、通過配線用セルを所定数配置することによりマクロブロック面積が増加するため、更なる小面積化が困難であるという問題がある。
【００１３】
その理由を説明すると、以上説明したように、従来技術では、図２に示されるように、ステップＳＴ１０１においてマクロブロック機能レイアウトが終了した後に、ステップＳＴ１０２においてマクロブロックを通過する配線のための通過配線用セルを追加して配置する必要がある。
【００１４】
よって、図１に示すように、通過配線用セル「２１０」、「２０３」、「２１１」、「２０５」、「２１２」、「２１３」、「２１４」、「２１５」、「２０４」を追加で配置した分だけ、マクロブロックの面積が増えてしまうからである。
【００１５】
本願は、マクロブロック面積やチップにおけるマクロブロックの占有面積を増加させずに、マクロブロックとマクロブロックを使用するチップにおいて性能の改善を実施するレイアウト設計装置、レイアウト設計方法、及びプログラムを提供することである。
【課題を解決するための手段】
【００１６】
本願に係るレイアウト設計方法は、半導体集積回路のレイアウト設計方法であって、
機能を備え且つ機能を実現するための補正用の準備セルを予め随所に備えて設計されたマクロブロックを組成して階層レイアウト設計を行う工程と、当該補正用の準備セルをマクロブロック設計が完了した段階で抽出する工程と、当該抽出された補正用の準備セルのレイアウト情報を抽出する工程と、当該抽出されたレイアウト情報に基づき、上位階層レイアウト設計で当該抽出された補正用の準備セルを使用するように処理する工程とを含む。
【００１７】
本願に係るレイアウト設計装置は、半導体集積回路のレイアウト設計装置であって、機能を備え且つ機能を実現するための補正用の準備セルを予め随所に備えて設計されたマクロブロックを組成して階層レイアウト設計を行うマクロブロック生成手段と、当該補正用の準備セルをマクロブロック設計が完了した段階で抽出する補正用の準備セル抽出手段と、当該抽出された補正用の準備セルのレイアウト情報を抽出するレイアウト情報抽出手段と、上位階層のレイアウト設計で、当該抽出された補正用の準備セルのうち、未使用の補正用の準備セルを使用するように処理する上位階層レイアウト設計生成手段と
を具備する。
【００１８】
本願に係るプログラムは、上記のレイアウト設計方法における処理を、計算機に実行させるためのプログラムである。なお、本願に係るプログラムは、記憶装置や記憶媒体に格納することが可能である。
【発明の効果】
【００１９】
半導体集積回路内における大容量マクロブロックを介する信号配線の効果的なレイアウト設計を実現することができる。
【図面の簡単な説明】
【００２０】
【図１】従来の半導体集積回路における通過配線用セルの配置について説明するための図である。
【図２】従来の半導体集積回路のレイアウト設計過程について説明するための図である。
【図３】本願に係るレイアウト設計装置の構成例を示す図である。
【図４】本願の第１実施形態に係るレイアウト設計過程について説明するための図である。
【図５】マクロブロック内の準備セルの初期配置について説明するための図である。
【図６】マクロブロック内の準備セルとインスタンス名、入力端子名、及び出力端子名の対応表の例を示す図である。
【図７】マクロブロック内の準備セルの使用後配置図である。
【図８】準備セル使用後のマクロブロック内の準備セルとインスタンス名、入力端子名、及び出力端子名の対応表の例を示す図である。
【図９】上位階層での準備セルの使用後配置について説明するための図である。
【図１０】本願の第２実施形態に係るレイアウト設計過程について説明するための図である。
【図１１】本願の第２実施形態に係る上位階層での準備セル使用後のマクロブロック内の準備セルとインスタンス名、入力端子名、及び出力端子名の対応表の例を示す図である。
【発明を実施するための形態】
【００２１】
＜実施形態＞
以下に、本願の実施形態について添付図面を参照して説明する。
【００２２】
［半導体集積回路のレイアウト設計装置］
本願に係る半導体集積回路のレイアウト設計装置は、計算機により実現されるものとする。ここでは、計算機により行われるレイアウト設計の一連の処理を、本願に係るレイアウト設計方法とする。また、計算機に本願に係る半導体集積回路のレイアウト設計方法を実行させるために、本願に係る半導体集積回路のレイアウト設計用のプログラムを使用する場合も考えられる。なお、実際には、レイアウト設計方法に限らず、当該レイアウトに基づく半導体の製造方法であっても良い。すなわち、本願に係る半導体集積回路の製造装置の一部として、半導体集積回路のレイアウト設計を行う計算機を使用しても良い。
【００２３】
［システム構成］
図３を参照して、本願に係るレイアウト設計装置の構成例について説明する。
本願に係るレイアウト設計装置は、計算機１０と、記憶媒体２０と、外部記憶装置３０を含む。
【００２４】
なお、実際には、計算機１０のみでも良い。記憶媒体２０、及び外部記憶装置３０は、必要であれば追加するものとする。
【００２５】
［計算機］
計算機１０は、処理装置１１と、主記憶装置１２と、二次記憶装置１３と、記憶媒体挿入口１４と、ネットワークインタフェース１５を備える。
【００２６】
処理装置１１は、本願に係る半導体集積回路のレイアウト設計用のプログラムを実行し、本願に係る半導体集積回路のレイアウト設計の一連の処理を行う。なお、処理装置１１は、プログラムを実行する際、二次記憶装置１３からプログラムを読み出し、主記憶装置１２に書き込む。また、処理装置１１は、計算機１０に挿入された記憶媒体２０からプログラムを取得する場合、記憶媒体２０からプログラムを読み出してインストール（導入）し、二次記憶装置１３に格納する。また、処理装置１１は、外部記憶装置３０からプログラムを取得する場合、ネットワークを経由して、外部記憶装置３０からプログラムをダウンロードしてインストールし、二次記憶装置１３に格納する。なお、処理装置１１は、記憶媒体２０や外部記憶装置３０からプログラムを読み出した際、二次記憶装置１３を介さずに、直接、主記憶装置１２に書き込むようにしても良い。
【００２７】
主記憶装置１２は、本願に係る半導体集積回路のレイアウト設計用のプログラムを一時的に保持し、処理装置１１に提供する。
【００２８】
二次記憶装置１３は、本願に係る半導体集積回路のレイアウト設計用のプログラムを格納する。
【００２９】
記憶媒体挿入口１４は、記憶媒体２０に接続し、記憶媒体２０との間でデータのやり取りを行うための接続口である。なお、レイアウト設計装置のシステム構成に記憶媒体２０が含まれていない場合、記憶媒体挿入口１４は不要である。
【００３０】
ネットワークインタフェース１５は、外部記憶装置３０に接続し、外部記憶装置３０との間でデータのやり取りを行うための通信用インタフェースである。なお、レイアウト設計装置のシステム構成に外部記憶装置３０が含まれていない場合、ネットワークインタフェース１５は不要である。
【００３１】
［記憶媒体］
記憶媒体２０は、本願に係る半導体集積回路のレイアウト設計用のプログラムを格納した記憶媒体である。
【００３２】
［外部記憶装置］
外部記憶装置３０は、本願に係る半導体集積回路のレイアウト設計用のプログラムを格納した外部の記憶装置である。なお、外部記憶装置３０は、計算機１０と同様の構成の計算機でも良い。
【００３３】
［ハードウェアの例示］
上記の各装置を実現するためのハードウェアの例について説明する。
【００３４】
計算機１０の例として、ＰＣ（パソコン）、アプライアンス（ａｐｐｌｉａｎｃｅ）、シンクライアントサーバ、ワークステーション、メインフレーム、スーパーコンピュータ等が考えられる。他にも、計算機１０は、携帯電話機、スマートフォン、スマートブック、カーナビ（カーナビゲーションシステム）、ガジェット（電子機器）、情報家電（ｉｎｆｏｒｍａｔｉｏｎ  ｈｏｍｅ  ａｐｐｌｉａｎｃｅ）等でも良い。なお、計算機１０は、端末やサーバに限らず、中継機器や周辺機器でも良い。また、計算機１０は、物理マシン上に構築された仮想マシン（ＶＭ：Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）でも良い。また、計算機１０は、車両や船舶、航空機等の移動体に搭載されていても良い。
【００３５】
処理装置１１の例として、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ネットワークプロセッサ（ＮＰ：Ｎｅｔｗｏｒｋ  Ｐｒｏｃｅｓｓｏｒ）、マイクロプロセッサ（ｍｉｃｒｏｐｒｏｃｅｓｓｏｒ）、マイクロコントローラ（ｍｉｃｒｏｃｏｎｔｒｏｌｌｅｒ）、或いは、専用の機能を有する半導体集積回路（ＬＳＩ）等が考えられる。
【００３６】
主記憶装置１２の例として、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やフラッシュメモリ等の半導体記憶装置等が考えられる。また、バッファ（ｂｕｆｆｅｒ）やレジスタ（ｒｅｇｉｓｔｅｒ）等でも良い。なお、現在の市場で使用されている主記憶装置の殆どは、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。ＤＲＡＭは、駆動方式の違いにより、「ＳＤＲＡＭ」（Ｓｙｎｃｈｒｏｎｏｕｓ  ＤＲＡＭ）、「ＤＤＲ  ＳＤＲＡＭ」（Ｄｏｕｂｌｅ  Ｄａｔａ  Ｒａｔｅ  ＳＤＲＡＭ）、「ＤＤＲ２  ＳＤＲＡＭ」（Ｄｏｕｂｌｅ  Ｄａｔａ  Ｒａｔｅ  ２  ＳＤＲＡＭ）、「ＤＤＲ３  ＳＤＲＡＭ」（Ｄｏｕｂｌｅ  Ｄａｔａ  Ｒａｔｅ  ３  ＳＤＲＡＭ）等に分類することができる。
【００３７】
二次記憶装置１３の例として、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の補助記憶装置等が考えられる。なお、二次記憶装置１３は、ＤＡＳ（Ｄｉｒｅｃｔ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）、ＦＣ−ＳＡＮ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  −  Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）、ＩＰ−ＳＡＮ（ＩＰ  −  Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等を用いたストレージ装置でも良い。
【００３８】
記憶媒体挿入口１４の例として、記憶媒体の読取装置（リムーバブルドライブ、リーダライタ等）、或いは、記憶媒体を挿入するためのコネクタ（ｃｏｎｎｅｃｔｏｒ）やスロット（ｓｌｏｔ）等が考えられる。
【００３９】
ネットワークインタフェース１５の例として、ネットワーク通信に対応した基板（マザーボード、Ｉ／Ｏボード）やチップ等の半導体集積回路、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）等のネットワークアダプタや同様の拡張カード、アンテナ等の通信装置、接続口（コネクタ）等の通信ポート等が考えられる。
【００４０】
また、ネットワークの例として、インターネット、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、無線ＬＡＮ（Ｗｉｒｅｌｅｓｓ  ＬＡＮ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、バックボーン（Ｂａｃｋｂｏｎｅ）、ケーブルテレビ（ＣＡＴＶ）回線、固定電話網、携帯電話網、ＷｉＭＡＸ（ＩＥＥＥ  ８０２．１６ａ）、３Ｇ（３ｒｄ  Ｇｅｎｅｒａｔｉｏｎ）、専用線（ｌｅａｓｅ  ｌｉｎｅ）、ＩｒＤＡ（Ｉｎｆｒａｒｅｄ  Ｄａｔａ  Ａｓｓｏｃｉａｔｉｏｎ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、シリアル通信回線、データバス等が考えられる。
【００４１】
記憶媒体２０の例として、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のリムーバブルディスクや、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリ及びＳＤメモリカード（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ  ｍｅｍｏｒｙ  ｃａｒｄ）等の記憶媒体（メディア）等が考えられる。
【００４２】
外部記憶装置３０の例として、計算機１０の外部のサーバ装置や周辺機器に搭載された二次記憶装置等が考えられる。すなわち、外部記憶装置３０の例は、計算機１０や二次記憶装置１３の例と同様である。
【００４３】
但し、実際には、これらの例に限定されない。
【００４４】
＜第１実施形態＞
以下に、本願の第１実施形態について説明する。
【００４５】
［レイアウト設計］
図４を参照して、本願の第１実施形態に係るレイアウト設計について説明する。
【００４６】
［ステップＳＴ３００］
ステップＳＴ３００では、機能を有するマクロブロックを作成し、必要な情報が記載されたレイアウトデータＤ００１を作成する。
【００４７】
ステップＳＴ３００は、詳細にはステップＳＴ３０１からステップＳＴ３０４までの手順を含む。
【００４８】
［ステップＳＴ３０１］
まず、ステップＳＴ３０１において、マクロブロック機能レイアウト処理をする。このとき、特定の機能を有するマクロブロックを作成するために、予め作成されたネットリスト１８を入力とした基本素子の配線配置を実施する。
【００４９】
この際、一般的に、後工程での各種制約条件（論理制約Ｄ００２、タイミング制約Ｄ００３、消費電力制約Ｄ００４、電圧降下制約Ｄ００５）を満たさなかった場合に備えて、容易に修正できるように、必要な準備セル（準備素子）を予め随所に配置しておく。
【００５０】
必要な準備セルの例として、インバータセル、バッファセル、遅延セル、論理セル、ラッチセル、又はフリップフロップセル等を想定している。但し、実際には、これらの例に限定されない。
【００５１】
［マクロブロック内準備セル初期配置］
図５を参照して、マクロブロック内における準備セルの初期配置について説明する。
【００５２】
なお、準備セルの配置は、図５に示すような均等配置パターンのみでなく、フロアプランに応じた様々な配置パターンにすることも可能である。
【００５３】
上位階層レイアウト設計において、準備セルを使用する場合に備えて、準備セルに関する情報（準備セル番号）と対応付けて、準備セルと接続が必要な信号を入力するための入力端子に関する情報（入力端子名）と、準備セルから信号を出力するための出力端子に関する情報（出力端子名）を、予め配置した前述の準備セルに付加する情報（付加情報）として保持しておく。準備セルに付加する情報は、後述する未使用準備セルの抽出のための情報となる。
【００５４】
入力端子名は、準備セル番号の末尾に「ｉ」を付加したものとする。また、出力端子名は、準備セル番号の末尾に「ｏ」を付加したものとする。但し、実際には、これらの例に限定されない。
【００５５】
ここでは、準備セル番号として、「３０１」、「３０２」、「３０３」、「３０４」、「３０５」、「３０６」、「３０７」、「３０８」、「３０９」を示す。
【００５６】
また、入力端子名として、「３０１ｉ」、「３０２ｉ」、「３０３ｉ」、「３０４ｉ」、「３０５ｉ」、「３０６ｉ」、「３０７ｉ」、「３０８ｉ」、「３０９ｉ」を示す。
【００５７】
また、出力端子名として、「３０１ｏ」、「３０２ｏ」、「３０３ｏ」、「３０４ｏ」、「３０５ｏ」、「３０６ｏ」、「３０７ｏ」、「３０８ｏ」、「３０９ｏ」を示す。
【００５８】
［準備セルに付加する情報（付加情報）］
図６を参照して、準備セルに付加する情報の例について説明する。
【００５９】
例えば、レイアウトデータＤ００１に対して、「準備セル番号」に対応する「インスタンス名」、「入力端子名」、及び「出力端子名」に関して、準備セルであることがわかるように、特殊な命名を行う。
【００６０】
特殊な命名則の例として、以下のような記載例が考えられる。
【００６１】
なお、図６に示す記載の意味は、次のとおりである。「ＪＵＮ」は、準備セルとして使用可能であることを意味する。「ＩＮＶ」は、インバータセルのような機能を意味する。「ＢＵＦ」は、バッファセルのような機能を意味する。「Ｘ１」、「Ｘ２」、「Ｘ３」、「Ｘ４」、「Ｘ５」は、駆動能力を意味する。
【００６２】
準備セルに対するインスタンス名については、「ＪＵＮ」、「準備セル番号」、「機能」、及び「駆動能力」をアンダースコアで区切って、「ＪＵＮ＿準備セル番号＿機能＿駆動能力」の順番で記載することが考えられる。
【００６３】
準備セルに対する入力端子名については、「ＪＵＮ」を先頭に付加して「ＪＵＮ入力端子名」と記載することが考えられる。
【００６４】
準備セルに対する出力端子名については、「ＪＵＮ」を先頭に付加して「ＪＵＮ出力端子名」と記載することが考えられる。
【００６５】
準備セル「３０１」、「３０２」、「３０３」、「３０４」に関しては、準備セルの機能がいずれも「ＩＮＶ」（インバータセル）であり、駆動能力が「Ｘ１」、「Ｘ２」、「Ｘ３」、「Ｘ４」と異なるだけであるので、同様の命名則にてインスタンス名、入力端子名、及び出力端子名を付加する。
【００６６】
例えば、準備セル「３０１」に対するインスタンス名は「ＪＵＮ＿３０１＿ＩＮＶ＿Ｘ１」となり、入力端子名は「ＪＵＮ３０１ｉ」となり、出力端子は「ＪＵＮ３０１ｏ」となる。
【００６７】
また、準備セル「３０２」に対するインスタンス名は「ＪＵＮ＿３０２＿ＩＮＶ＿Ｘ２」となり、入力端子名は「ＪＵＮ３０２ｉ」となり、出力端子は「ＪＵＮ３０２ｏ」となる。
【００６８】
また、準備セル「３０３」に対するインスタンス名は「ＪＵＮ＿３０３＿ＩＮＶ＿Ｘ３」となり、入力端子名は「ＪＵＮ３０３ｉ」となり、出力端子は「ＪＵＮ３０３ｏ」となる。
【００６９】
また、準備セル「３０４」に対するインスタンス名は「ＪＵＮ＿３０４＿ＩＮＶ＿Ｘ４」となり、入力端子名は「ＪＵＮ３０４ｉ」となり、出力端子は「ＪＵＮ３０４ｏ」となる。
【００７０】
準備セル「３０５」、「３０６」、「３０７」、「３０８」、「３０９」に関しては、準備セルの機能がいずれも「ＢＵＦ」（バッファセル）であり、駆動能力が「Ｘ１」、「Ｘ２」、「Ｘ３」、「Ｘ４」、「Ｘ５」と異なるだけであるので、同様の命名則にてインスタンス名、入力端子名、及び出力端子名を付加する。
【００７１】
例えば、準備セル「３０５」に対するインスタンス名は「ＪＵＮ＿３０５＿ＢＵＦ＿Ｘ５」となり、入力端子名は「ＪＵＮ３０５ｉ」となり、出力端子は「ＪＵＮ３０５ｏ」となる。
【００７２】
また、準備セル「３０６」に対するインスタンス名は「ＪＵＮ＿３０６＿ＢＵＦ＿Ｘ６」となり、入力端子名は「ＪＵＮ３０６ｉ」となり、出力端子は「ＪＵＮ３０６ｏ」となる。
【００７３】
また、準備セル「３０７」に対するインスタンス名は「ＪＵＮ＿３０７＿ＢＵＦ＿Ｘ７」となり、入力端子名は「ＪＵＮ３０７ｉ」となり、出力端子は「ＪＵＮ３０７ｏ」となる。
【００７４】
また、準備セル「３０８」に対するインスタンス名は「ＪＵＮ＿３０８＿ＢＵＦ＿Ｘ８」となり、入力端子名は「ＪＵＮ３０８ｉ」となり、出力端子は「ＪＵＮ３０８ｏ」となる。
【００７５】
また、準備セル「３０９」に対するインスタンス名は「ＪＵＮ＿３０９＿ＢＵＦ＿Ｘ９」となり、入力端子名は「ＪＵＮ３０９ｉ」となり、出力端子は「ＪＵＮ３０９ｏ」となる。
【００７６】
［ステップＳＴ３０２］
次に、ステップＳＴ３０２において、制約の検証処理をする。
【００７７】
ここでは、マクロブロックが果たすべき機能を実現させるために必要な各種制約条件の検証を実施し、制約の検証結果がＯＫかＮＧか確認する。
【００７８】
各種制約条件とは、記憶部Ｆ００１に格納されている論理制約Ｄ００２、タイミング制約Ｄ００３、消費電力制約Ｄ００４、及び電圧降下制約Ｄ００５のことである。
【００７９】
制約の検証結果がＮＧ（ステップＳＴ３０２でＮＧ）であればステップＳＴ３０３に遷移し、制約の検証結果がＯＫ（ステップＳＴ３０２でＯＫ）であればステップＳＴ３０４に遷移する。
【００８０】
［ステップＳＴ３０３］
ステップＳＴ３０３では、制約の検証結果がＮＧ（ステップＳＴ３０２でＮＧ）であれば、制約の検証結果がＮＧとなった制約に関して性能の改善を行う。その後、この制約の検証結果がＯＫになるまで、性能の改善処理を繰り返す。
【００８１】
ここでは、予めマクロブロック内の随所に配置（初期配置）している準備セル「３０１」、「３０２」、「３０３」、「３０４」、「３０５」、「３０６」、「３０７」、「３０８」、「３０９」のいずれかを用いて性能の改善を実施する。
【００８２】
［マクロブロック内準備セル使用後配置］
図７を参照して、マクロブロック内における準備セルの使用後の配置について説明する。
【００８３】
例えば、図７に示すように、マクロブロック内の素子「３５０」と素子「３６０」の間に性能の改善が必要であった場合、準備セル「３０５」の入力端子「３０５ｉ」と配線「３２２」を接続する。更に、準備セル「３０５」の出力端子「３０５ｏ」と配線「３２３」を接続して、性能の改善が必要なマクロブロック「３００」内の素子「３６０」の入力端子に接続する。
【００８４】
従って、性能の改善が必要なマクロブロック内の素子「３５０」と素子「３６０」間に準備セル「３０５」を挿入することで、マクロブロック内の性能の改善が見込まれることになる。
【００８５】
図７に示すように、準備セル「３０５」、入力端子「３０５ｉ」、及び出力端子「３０５ｏ」に関しては、性能の改善に使用済であることを明示するために白塗りで記載する。
【００８６】
その他にも、上記の準備セル「３０５」の場合と同様に性能の改善を行った準備セル「３０３」、「３０６」、「３０７」、「３０８」、入力端子「３０３ｉ」、「３０６ｉ」、「３０７ｉ」、「３０８ｉ」、及び出力端子「３０３ｏ」、「３０６ｏ」、「３０７ｏ」、「３０８ｏ」に関しても、同様の理由により白塗りで記載する。なお、各々の端子に接続する配線や素子の記載は、準備セル「３０５」の場合と同様なので省略する。
【００８７】
また、マクロブロック内で使用しなかった準備セルの入力端子と出力端子は、上位階層には存在せず、ビアコンタクト（ビアホール）を介して上位階層の配線と接続される。
【００８８】
また、準備セルを性能の改善に使用したことが検出できるように、レイアウトデータＤ００１に対して準備セル「３０５」のインスタンス名を特殊な命名にしておく必要がある。
【００８９】
例えば、図８に示すように、元々はインスタンス名「ＪＵＮ＿３０５＿ＢＵＦ＿Ｘ１」であったものを、性能の改善に使用後は、冒頭に「Ｘ」を付加し、インスタンス名「ＸＪＵＮ＿３０５＿ＢＵＦ＿Ｘ１」とする。
【００９０】
その他にも同様に性能の改善を行った準備セル「３０３」、「３０６」、「３０７」、「３０８」のインスタンス名は「ＸＪＵＮ＿３０３＿ＩＮＶ＿Ｘ３」、「ＸＪＵＮ＿３０６＿ＢＵＦ＿Ｘ２」、「ＸＪＵＮ＿３０７＿ＢＵＦ＿Ｘ３」、「ＸＪＵＮ＿３０８＿ＢＵＦ＿Ｘ４」とする。
【００９１】
［ステップＳＴ３０４］
ステップＳＴ３０４では、制約の検証結果がＯＫ（ステップＳＴ３０２でＯＫ）であれば、性能の改善処理（ステップＳＴ３０３）で使用されなかった準備セル（未使用準備セル）に関して、準備セルに付加された情報（付加情報）を参照し、準備セルとして使用可能であるという情報と、準備セルの配置情報、準備セルの端子情報、及び準備セルの特性情報を抽出し、記憶部Ｆ００１に格納されているレイアウトデータＤ００１に記憶しておく。
【００９２】
使用されなかった準備セルの抽出方法として、インスタンス名から抽出することが考えられる。
【００９３】
例えば、図８に示すように、使用されなかった準備セルは「ＪＵＮ」で始まるインスタンス名であるが、使用済の準備セルは「ＸＪＵＮ」で始まるインスタンス名となっているので、レイアウトデータＤ００１中に含まれるインスタンス情報から「ＪＵＮ」で始まるインスタンスだけを取り出すことで、使用されなかった準備セルを抽出することが可能となる。
【００９４】
［ステップＳＴ３１０］
ステップＳＴ３１０では、マクロブロックのレイアウトデータＤ００１を使用し、マクロブロック内に配置した準備セルを考慮して、論理接続情報を持ったネットリスト１９の構築を行う。
【００９５】
例えば、図８に示すように、ネットリスト１９の内容は、マクロブロック内に存在する使用可能な準備セルの入力端子「ＪＵＮ３０２ｉ」、「ＪＵＮ３０４ｉ」、「ＪＵＮ３０９ｉ」と、出力端子「ＪＵＮ３０２ｏ」、「ＪＵＮ３０４ｏ」、「ＪＵＮ３０９ｏ」が、マクロブロック内に存在し、上位階層で使用可能である準備セルの入力端子及び出力端子として存在する旨の内容となっているので、性能の改善として使用可能な状態であることがわかる。
【００９６】
［ステップＳＴ３１２］
ステップＳＴ３１２では、ネットリスト１９を用いて、マクロブロックを含んだ上位階層のレイアウトデータＤ０１１を作成する。
【００９７】
［ステップＳＴ３２０］
ステップＳＴ３２０では、上位階層での各種制約条件（論理制約Ｄ０１２、タイミング制約Ｄ０１３、消費電力制約Ｄ０１４、及び電圧降下制約Ｄ０１５）の検証を実施し、制約の検証結果がＯＫかＮＧか確認する。
【００９８】
制約の検証結果がＯＫ（ステップＳＴ３２０でＯＫ）であれば処理終了となるが、制約の検証結果がＮＧ（ステップＳＴ３２０でＮＧ）であればステップＳＴ３２１に遷移する。
【００９９】
［ステップＳＴ３２１］
ステップＳＴ３２１では、制約の検証結果がＮＧ（ステップＳＴ３２０でＮＧ）であれば、制約の検証結果がＮＧとなった制約に関して性能の改善を行う。その後、この制約の検証結果がＯＫになるまで、性能の改善処理を繰り返す。
【０１００】
例えば、図９に示すように、マクロブロック３３０からマクロブロック３４０への配線がタイミング制約Ｄ０１３で違反となった場合、性能の改善が必要であるが、その原因としてマクロブロック３３０とマクロブロック３４０の距離が長く、長配線となっていることがわかれば、マクロブロック「３００」内に備えているバッファセルを用いてタイミング制約Ｄ０１３を満たすように上位階層での修正を行うことが可能となる。
【０１０１】
ここでは、準備セル「３０１」の入力端子「３０１ｉ」と配線「３２０」を接続する。更に、準備セル「３０１」の出力端子「３０１ｏ」と配線「３２１」を接続して性能の改善が必要なマクロブロック３４０の入力端子に接続する。
【０１０２】
性能の改善を実施した結果を、記憶部Ｆ００１に格納されているレイアウトデータＤ０１１に記憶する。
【０１０３】
また、一般的に、マクロブロック内の配線は、マクロブロック領域の上位階層には存在せず、上位階層のレイアウト設計において自由に配線可能なために、本実施形態でも同様に、上位階層での配線をレイアウトする際に制限はなく、上位階層で性能の改善のためにマクロブロックの上位階層領域を使用することは可能である。
【０１０４】
一方で、マクロブロックの上位階層にマクロブロック内の配線が存在した場合でも、予め上位階層の通過配線のために配線領域を確保しておくことで、上位階層における性能の改善のためにマクロブロックの上位階層配線領域を使用することは可能である。
【０１０５】
従って、性能の改善が必要なマクロブロック３３０とマクロブロック３４０間に準備セル「３０１」を挿入することで上位階層においても性能の改善が見込まれることになる。
【０１０６】
また、準備セル「３０３」、「３０５」、「３０６」、「３０７」、「３０８」に関しては、既にマクロブロック内における性能の改善に使用されているので、上位階層での性能の改善には使用できない。
【０１０７】
ネットリスト１９で説明したように、マクロブロック内に存在し、上位階層で使用可能である準備セルの入力端子と出力端子としては、入力端子「ＪＵＮ３０２ｉ」、「ＪＵＮ３０４ｉ」、「ＪＵＮ３０９ｉ」と、出力端子「ＪＵＮ３０２ｏ」、「ＪＵＮ３０４ｏ」、「ＪＵＮ３０９ｏ」となっているので、存在しない端子は準備セルとして使用できないことがわかる。
【０１０８】
［第１実施形態のメカニズム及び効果］
図９に示すように、マクロブロック内の準備セルは、本来は準備セル「３０５」のようにマクロブロック内における性能の改善のための準備セルであるが、本実施形態では準備セル「３０１」のように上位階層でも性能の改善が可能であることが判断できる。
【０１０９】
すなわち、本実施形態では、マクロブロック機能レイアウトとは別にマクロブロックを通過する配線のための通過配線用セルを追加する必要がないので、上位階層において、性能の改善を実施する場合にマクロブロック面積やチップにおけるマクロブロックの占有面積を増加させずに対応が可能である。
【０１１０】
＜第２実施形態＞
以下に、本願の第２実施形態について説明する。
【０１１１】
［レイアウト設計］
図１０を参照して、本願の第２実施形態に係るレイアウト設計について説明する。
【０１１２】
なお、本願の第２実施形態に係るレイアウト設計において、ステップＳＴ３００〜ステップＳＴ３２１については、本願の第１実施形態に係るレイアウト設計と同様である。
【０１１３】
本実施形態では、本願の第１実施形態に係るレイアウト設計において、上位階層での各種制約条件の検証（ステップＳＴ３２０）を行った際、制約の検証結果がＯＫ（ステップＳＴ３２０でＯＫ）であれば処理終了とせず、ステップＳＴ３３０に遷移する。
【０１１４】
［ステップＳＴ３３０］
ステップＳＴ３３０では、上位階層において、マクロブロック内の準備セルを使用したか使用していないかを判断する。
【０１１５】
準備セルを使用していなければ（ステップＳＴ３３０でＮＯ）処理終了となるが、準備セルを使用していれば（ステップＳＴ３３０でＹＥＳ）ステップＳＴ３３１に遷移する。
【０１１６】
［ステップＳＴ３３１］
ステップＳＴ３３１では、準備セルを使用していれば（ステップＳＴ３３０でＹＥＳ）、上位階層において、性能の改善のために使用した準備セルを考慮したレイアウトデータＤ００１を更新する。
【０１１７】
例えば、図１１に示すように、上位階層において、性能の改善のために使用した準備セル「３０１」に関しては、今後、性能の改善には使用できないために準備セルのインスタンス名を冒頭に「Ｘ」を付加した「ＸＪＵＮ＿３０１＿ＩＮＶ＿Ｘ１」としたレイアウトデータＤ００１とし、記憶部Ｆ００１に格納されているレイアウトデータＤ００１に記憶する。
【０１１８】
このように、レイアウトデータＤ００１を更新し、マクロブロック設計工程であるステップＳＴ３００に戻すことで、再びマクロブロック工程において更なる性能の改善が必要となった場合に未使用の準備セルを用いて対応することが可能となる。
【０１１９】
［第２実施形態のメカニズム及び効果］
本実施形態では、上位階層における性能の改善を実施した後に準備セルとして使用可能であるという情報と準備セルの配置情報、準備セルの端子情報、準備セルの特性情報を抽出し、更新したレイアウトデータＤ００１をマクロブロック設計工程であるステップＳＴ３００に戻す。
【０１２０】
これにより、再びマクロブロック工程において更なる性能の改善が必要となった場合に未使用の準備セルを用いて対応することが可能となるために、面積を増加させることなく、マクロブロック設計における性能の改善の自由度を向上させることが可能となる。
【０１２１】
なお、上記の各実施形態は、組み合わせて実施することも可能である。
【０１２２】
本願では、大規模マクロブロックを含んだ半導体集積回路のレイアウト設計過程において、機能を備えたマクロブロックであって、当該機能を実現するための補正用の準備セル（補正用セル）を予め随所に備えて設計されたマクロブロックを組成して階層レイアウト設計を行う。
【０１２３】
また、未使用の補正用の準備セルをマクロブロック設計が完了した段階で抽出する工程と、抽出した未使用の補正用の準備セルのレイアウト情報を抽出する工程と、抽出した各情報（インスタンス名、配置情報、端子情報、特性情報等）に基づき上位階層レイアウト設計で未使用の準備セルを使用する工程とを実施する。
【０１２４】
また、下位階層レイアウト設計であるマクロブロック内の補正用の準備セルに関し、マクロブロック設計が完了した段階で未使用の補正用セルとそのレイアウト情報を抽出し、抽出した情報に基づき上位階層レイアウト設計で補正用の準備セルを使用するように（使用可能となるように）処理する。
【０１２５】
更に、上位階層レイアウト設計で補正用セルを使用した後に、補正用セルとそのレイアウト情報を再度抽出し、抽出した情報に基づき再度マクロブロック設計で補正セルを使用するように処理する。
【０１２６】
以上説明したように、図２に示される従来技術では、ステップＳＴ１０１においてマクロブロック機能レイアウトが終了した後に、ステップＳＴ１０２においてマクロブロックを通過する配線のための通過配線用セルを追加して配置する必要があった。
【０１２７】
これにより、マクロブロック面積やチップにおけるマクロブロックの占有面積を増加させずにマクロブロックとマクロブロックを使用するチップにおいて、性能の改善を実施することが可能とした。
【０１２８】
よって、従来技術は図１に示すように、通過配線用セル「２１０」、「２０３」、「２１１」、「２０５」、「２１２」、「２１３」、「２１４」、「２１５」、「２０４」を追加で配置した分だけ、マクロブロックの面積が増えてしまうからである。
【０１２９】
本願は、下位階層レイアウト設計のマクロブロック設計で使用する補正セルの未使用分を、上位階層のレイアウト設計で使用できるようにしたので、マクロブロック面積やチップにおけるマクロブロックの占有面積を増加させずに、マクロブロックとマクロブロックを使用するチップにおいて性能が改善できる。
【０１３０】
＜付記＞
上記の実施形態の一部又は全部は、以下の付記のように記載することも可能である。但し、実際には、以下の記載例に限定されない。
【０１３１】
［付記１］
半導体集積回路のレイアウト設計装置であって、
機能を実現するための補正用の準備セルを予め随所に備えて設計されたマクロブロックを組成して階層レイアウト設計を行う手段と、
当該補正用の準備セルをマクロブロック設計が完了した段階で抽出する手段と、
当該抽出された補正用の準備セルのレイアウト情報を抽出する手段と、
上位階層のレイアウト設計で、当該抽出された補正用の準備セルのうち、未使用の補正用の準備セルを使用するように処理する手段と
を具備する
レイアウト設計装置。
【０１３２】
［付記２］
付記１に記載のレイアウト設計装置であって、
当該上位階層のレイアウト設計で補正用の準備セルを使用した後、当該補正用の準備セルを再度抽出する手段と、
当該再度抽出された補正用の準備セルのレイアウト情報を再度抽出する手段と、
当該再度抽出されたレイアウト情報に基づき、再度マクロブロック設計で補正用の準備セルを使用するように処理する手段と
を更に具備する
レイアウト設計装置。
【０１３３】
［付記３］
付記１又は２に記載のレイアウト設計装置であって、
最終的に使用しなかった補正用の準備セルの端子を固定する手段
を更に具備する
レイアウト設計装置。
【０１３４】
［付記４］
付記１乃至３のいずれか一項に記載のレイアウト設計装置であって、
当該補正用の準備セルは、インバータセル、バッファセル、遅延セル、論理セル、ラッチセル、及びフリップフロップセルのうち、少なくとも１つを用いて組成されている
レイアウト設計装置。
【０１３５】
［付記５］
計算機により実施される半導体集積回路のレイアウト設計方法であって、
機能を実現するための補正用の準備セルを予め随所に備えて設計されたマクロブロックを組成して階層レイアウト設計を行うことと、
当該補正用の準備セルをマクロブロック設計が完了した段階で抽出することと、
当該抽出された補正用の準備セルのレイアウト情報を抽出することと、
上位階層のレイアウト設計で、当該抽出された補正用の準備セルのうち、未使用の補正用の準備セルを使用するように処理することと
を含む
レイアウト設計方法。
【０１３６】
［付記６］
付記５に記載のレイアウト設計方法であって、
当該上位階層のレイアウト設計で補正用の準備セルを使用した後、当該補正用の準備セルを再度抽出することと、
当該再度抽出された補正用の準備セルのレイアウト情報を再度抽出することと、
当該再度抽出されたレイアウト情報に基づき、再度マクロブロック設計で補正用の準備セルを使用するように処理することと
を更に含む
レイアウト設計方法。
【０１３７】
［付記７］
付記５又は６に記載のレイアウト設計方法であって、
最終的に使用しなかった補正用の準備セルの端子を固定すること
を更に含む
レイアウト設計方法。
【０１３８】
［付記８］
半導体集積回路のレイアウト設計用のプログラムであって、
機能を実現するための補正用の準備セルを予め随所に備えて設計されたマクロブロックを組成して階層レイアウト設計を行うステップと、
当該補正用の準備セルをマクロブロック設計が完了した段階で抽出するステップと、
当該抽出された補正用の準備セルのレイアウト情報を抽出するステップと、
上位階層のレイアウト設計で、当該抽出された補正用の準備セルのうち、未使用の補正用の準備セルを使用するように処理するステップと
を計算機に実行させるための
プログラム。
【０１３９】
［付記９］
付記８に記載のプログラムであって、
当該上位階層のレイアウト設計で補正用の準備セルを使用した後、補正用の準備セルを再度抽出するステップと、
当該再度抽出された補正用の準備セルのレイアウト情報を再度抽出するステップと、
当該再度抽出されたレイアウト情報に基づき再度マクロブロック設計で使用するように処理するステップと
を更に計算機に実行させるための
プログラム。
【０１４０】
［付記１０］
付記８又は９に記載のプログラムであって、
最終的に使用しなかった補正用の準備セルの端子を固定するステップ
を更に計算機に実行させるための
プログラム。
【０１４１】
＜備考＞
以上、本願の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本願の要旨を逸脱しない範囲の変更があっても本願に含まれる。
【符号の説明】
【０１４２】
１０…  計算機
１１…  処理装置
１２…  主記憶装置
１３…  二次記憶装置
１４…  記憶媒体挿入口
１５…  ネットワークインタフェース
１８…  ネットリスト
１９…  ネットリスト
２０…  記憶媒体
３０…  外部記憶装置
３００…  マクロブロック
３０１、３０２、３０３、３０４、３０５、３０６、３０７、３０８、３０９…  準備セル
３０１ｉ、３０２ｉ、３０３ｉ、３０４ｉ、３０５ｉ、３０６ｉ、３０７ｉ、３０８ｉ、３０９ｉ…  入力端子
３０１ｏ、３０２ｏ、３０３ｏ、３０４ｏ、３０５ｏ、３０６ｏ、３０７ｏ、３０８ｏ、３０９ｏ…  出力端子
３２０…  配線
３２１…  配線
３２２…  配線
３２３…  配線
３３０…  マクロブロック
３４０…  マクロブロック
３５０…  素子
３６０…  素子
Ｆ００１…  記憶部
Ｄ００１…  レイアウトデータ
Ｄ００２…  論理制約
Ｄ００３…  タイミング制約
Ｄ００４…  消費電力制約
Ｄ００５…  電圧降下制約Ｄ０１１…  レイアウトデータ
Ｄ０１２…  論理制約
Ｄ０１３…  タイミング制約
Ｄ０１４…  消費電力制約
Ｄ０１５…  電圧降下制約
【図１】
2013254294.tif 000003
【図２】
2013254294.tif 000004
【図３】
2013254294.tif 000005
【図４】
2013254294.tif 000006
【図５】
2013254294.tif 000007
【図６】
2013254294.tif 000008
【図７】
2013254294.tif 000009
【図８】
2013254294.tif 000010
【図９】
2013254294.tif 000011
【図１０】
2013254294.tif 000012
【図１１】
2013254294.tif 000013