(57)【要約】【課題】半導体装置の特性ばらつきを効果的に抑制する。【解決手段】半導体装置の設計装置は、レイアウトパターンに応じた特性ばらつきの指標となるレイアウトパラメータを複数のマクロごとに記憶する記憶部１と、フロアプラン工程時に、複数のマクロを半導体チップ上に自動配置するマクロ配置部２と、記憶された複数のマクロのレイアウトパラメータに基づいて、配置された複数のマクロのうち隣接するマクロ間における特性ばらつきの度合いを示すコストを算出するコスト算出部３と、算出されたコストに基づいて、隣接するマクロのいずれかを再配置するマクロ再配置部４と、を備えるものである。【選択図】図１
2014044560.tif 000002
【特許請求の範囲】
【請求項１】
レイアウトパターンに応じた特性ばらつきの指標となるレイアウトパラメータを複数のマクロごとに記憶部に記憶し、
フロアプラン工程時に、前記複数のマクロを半導体チップ上に自動配置し、
前記記憶された複数のマクロのレイアウトパラメータに基づいて、前記配置された複数のマクロのうち隣接するマクロ間における特性ばらつきの度合いを示すコストを算出し、
前記算出されたコストに基づいて、前記隣接するマクロのいずれかを再配置する、
半導体装置の設計方法。
【請求項２】
前記レイアウトパラメータは、所定領域における前記レイアウトパターンが占める割合を示すパターン密度、前記所定領域における前記レイアウトパターンの周囲長の合計値を示す周囲長、前記所定領域の面積と前記レイアウトパターンの表面積との比を示す表面積比、のいずれか、または、複数を含む、
請求項１に記載の半導体装置の設計方法。
【請求項３】
前記コストの算出では、前記パターン密度に基づくコスト、前記周囲長に基づくコスト、前記表面積比に基づくコスト、のうち複数のコストを合計する、
請求項２に記載の半導体装置の設計方法。
【請求項４】
前記レイアウトパラメータは、半導体素子を構成する拡散領域のパターン、前記半導体素子を構成するゲート電極のパターン、前記半導体素子に接続される配線のパターン、のいずれか、または、複数に応じたパラメータである、
請求項１に記載の半導体装置の設計方法。
【請求項５】
前記コストの算出では、前記拡散領域のパターンに基づくコスト、前記ゲート電極のパターンに基づくコスト、前記配線のパターンに基づくコスト、のうち複数のコストを合計する、
請求項４に記載の半導体装置の設計方法。
【請求項６】
前記コストの算出では、前記隣接するマクロのレイアウトパラメータと、前記隣接するマクロ間の距離とに基づいてコストを算出する、
請求項１に記載の半導体装置の設計方法。
【請求項７】
前記マクロの再配置の後、所定の領域毎に前記レイアウトパラメータが所定の基準を満たすか否か判定し、
前記レイアウトパラメータが前記基準を満たさない場合、前記複数のマクロのいずれかをさらに再配置する、
請求項１に記載の半導体装置の設計方法。
【請求項８】
前記複数のマクロのいずれかの再配置では、前記レイアウトパラメータが前記基準を満たさない場合、前記算出したコストを変更し、
前記変更されたコストに基づいて、前記複数のマクロのいずれかを再配置する、
請求項７に記載の半導体装置の設計方法。
【請求項９】
前記レイアウトパラメータを複数のセルごとに前記記憶部に記憶し、
前記マクロの再配置の後、所定の領域毎に前記レイアウトパラメータが所定の基準を満たすか否か判定し、
前記レイアウトパラメータが前記基準を満たさない可能性のある場合、前記基準を満たさない可能性のある領域に対し、前記記憶された複数のセルのレイアウトパラメータに基づいて、前記基準を満たすように前記半導体チップ上に前記複数のセルを配置する、
請求項１に記載の半導体装置の設計方法。
【請求項１０】
前記セルの配置では、前記レイアウトパラメータが前記基準を満たさない可能性のある場合、前記基準を満たさない可能性のある領域を示す領域情報を生成し、
前記生成された領域情報が示す領域に対し、前記基準を満たすような前記レイアウトパターンのセルを優先的に配置する、
請求項９に記載の半導体装置の設計方法。
【請求項１１】
特性ばらつきの影響を受け易いセルリストを前記記憶部に記憶し、
前記マクロの再配置の後、所定の領域毎に前記レイアウトパラメータが所定の基準を満たすか否か判定し、
前記レイアウトパラメータが前記基準を満たさない場合、前記基準を満たさない領域の周辺領域に対し、前記記憶されたセルリストに含まれるセルが特性ばらつきの影響を受けないように、前記半導体チップ上に前記複数のセルを配置する、
請求項１に記載の半導体装置の設計方法。
【請求項１２】
前記セルの配置では、前記レイアウトパラメータが前記基準を満たさない場合、前記基準を満たさない領域の周辺領域を示す領域情報を生成し、
前記生成された領域情報が示す領域に対し、前記セルリストに含まれるセルを配置しない、
請求項１１に記載の半導体装置の設計方法。
【請求項１３】
前記レイアウトパラメータの値がそれぞれ異なる複数のフィルセルを前記記憶部に記憶し、
前記マクロの再配置の後、所定の領域毎に前記レイアウトパラメータを算出し、
前記算出したレイアウトパラメータが所定の基準を満たすように、前記記憶された複数のフィルセルの中から最適なフィルセルを選択し、
前記選択されたフィルセルを前記半導体チップ上の空き領域に配置する、
請求項１に記載の半導体装置の設計方法。
【請求項１４】
前記レイアウトパラメータは、半導体素子を構成する拡散領域のパターンに基づくレイアウトパラメータと、前記半導体素子を構成するゲート電極のパターンに基づくレイアウトパラメータを含み、
前記レイアウトパラメータの値がそれぞれ異なる複数の前記拡散領域のパターンと、前記レイアウトパラメータの値がそれぞれ異なる複数の前記ゲート電極のパターンとを組み合わせた前記複数のフィルセルを前記記憶部に記憶する、
請求項１３に記載の半導体装置の設計方法。
【請求項１５】
前記フィルセルの選択では、前記拡散領域のレイアウトパラメータが前記所定の基準を満たす第１のフィルセルの範囲と特定し、
前記ゲート電極のレイアウトパラメータが前記所定の基準を満たす第２のフィルセルの範囲を特定し、
前記第１のフィルセルの範囲と前記第２のフィルセルの範囲とが重複する範囲から前記フィルセルを選択する、
請求項１４に記載の半導体装置の設計方法。
【請求項１６】
前記レイアウトパラメータは、所定領域における前記レイアウトパターンが占める割合を示すパターン密度と、前記所定領域の面積と前記レイアウトパターンの表面積との比を示す表面積比とを含み、
前記フィルセルの選択では、前記拡散領域のパターン密度が前記所定の基準を満たし、かつ、前記ゲート電極のパターン密度が前記所定の基準を満たす前記複数のフィルセルを特定し、
前記特定した複数のフィルセルから、前記拡散領域及び前記ゲート電極の前記表面積比が前記所定の基準を満たすフィルセルを選択する、
請求項１５に記載の半導体装置の設計方法。
【請求項１７】
前記レイアウトパターンは、前記所定領域における前記レイアウトパターンの周囲長の合計値を示す周囲長を含み、
前記フィルセルの選択では、前記表面積比が前記所定の基準を満たすフィルセルに対し、前記拡散領域及び前記ゲート電極の前記周囲長が最適となるように、前記拡散領域または前記ゲート電極の前記レイアウトパターンを切断する、
請求項１６に記載の半導体装置の設計方法。
【請求項１８】
コンピュータに半導体装置の設計処理を実行させる半導体装置の設計プログラムであって、
レイアウトパターンに応じた特性ばらつきの指標となるレイアウトパラメータを複数のマクロごとに記憶部に記憶し、
フロアプラン工程時に、前記複数のマクロを半導体チップ上に自動配置し、
前記記憶された複数のマクロのレイアウトパラメータに基づいて、前記配置された複数のマクロのうち隣接するマクロ間における特性ばらつきの度合いを示すコストを算出し、
前記算出されたコストに基づいて、前記隣接するマクロのいずれかを再配置する、
半導体装置の設計プログラム。
【請求項１９】
レイアウトパターンに応じた特性ばらつきの指標となるレイアウトパラメータを複数のマクロごとに記憶する記憶部と、
フロアプラン工程時に、前記複数のマクロを半導体チップ上に自動配置するマクロ配置部と、
前記記憶された複数のマクロのレイアウトパラメータに基づいて、前記配置された複数のマクロのうち隣接するマクロ間における特性ばらつきの度合いを示すコストを算出するコスト算出部と、
前記算出されたコストに基づいて、前記隣接するマクロのいずれかを再配置するマクロ再配置部と、
を備える半導体装置の設計装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置の設計方法、設計プログラム及び設計装置に関し、例えば、マクロやセルを半導体チップ上に配置する半導体装置の設計方法、設計プログラム及び設計装置に好適に利用できるものである。
【背景技術】
【０００２】
近年、半導体装置における製造プロセスの微細化が進み、半導体装置の小型化や高機能化が実現されている。一方で、製造プロセスの微細化に伴い、製造時において発生する半導体素子の構造上のばらつきを抑制することが難しくなるため、半導体装置の特性ばらつきが増加するという問題が生じている。そこで、微細化プロセスにより生じる半導体装置の特性ばらつきを抑制するための設計方法が強く望まれている。
【０００３】
例えば、関連する技術として、特許文献１〜５が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−０９１２４５号公報
【特許文献２】特開２００８−１７１１７０号公報
【特許文献３】特開２００４−２２１２３１号公報
【特許文献４】特開２００６−３４４１７６号公報
【特許文献５】特許第３４１５５６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１には、半導体素子の拡散領域に不純物を拡散させるアニール工程でばらつきが発生することが記載されている。近年、９０ｎｍ世代以降の製造プロセスでは、アニールの短時間化等により、半導体素子（ＭＯＳトランジスタ）を構成する拡散領域（拡散層）やゲート電極（ポリシリコン）のレイアウトパターンに起因する特性ばらつきが増大している。
【０００６】
この特性ばらつきは、主に、拡散層やポリシリコン、メタル配線のレイアウトパターンのばらつきによって生じている。レイアウトパターンのばらつきは、レイアウトパターンのデータ率（パターン密度）や、周囲長、表面積比などのレイアウトパラメータによって指標される。
【０００７】
例えば、特許文献１には、表面積比によりＭＯＳトランジスタの特性がばらつくことが記載されている。図２６は、特許文献１に記載された、半導体装置における面積比ＲａｔｉｏＡとＭＯＳトランジスタの電流駆動能力との関係を示している。図２６では、電流駆動能力の指標として、ＭＯＳトランジスタにより構成したリングオシレータの発振周波数の変化率を用いている。発振周波数が高ければＭＯＳトランジスタの電流駆動能力が高く、発振周波数が低ければＭＯＳトランジスタの電流駆動能力が低いことを意味する。図２６は、面積比が低くなるとＭＯＳトランジスタの電流駆動能力が低くなり、面積比が高くなるとＭＯＳトランジスタの電流駆動能力が高くなること、すなわち、面積比に応じてＭＯＳトランジスタの特性が変動することを示している。
【０００８】
特許文献１では、ダミーパターンとしてダミー素子を配置することで拡散層の表面積比を一定の範囲に抑え、特性ばらつきを抑止している。特許文献２では、ダミーパターンとしてダミーメタルを配置することでメタル層のデータ率及び周囲長を一定の範囲に抑え、特性ばらつきを抑止している。特許文献３では、ダミーパターンとしてフィルセルを配置することで拡散層のデータ率を一定の範囲に抑え、特性ばらつきを抑止している。
【０００９】
しかしながら、いずれの特許文献も、フィルセルやダミーメタルなどのダミーパターンを挿入（配置）することで特性ばらつきを抑制するものであるため、ダミーパターンを挿入するダミー挿入工程の前の段階で特性ばらつきを抑制することについて考慮されていなかった。
【００１０】
したがって、ダミー挿入工程の前の段階で大きくレイアウトパラメータの偏りが発生してしまっている場合、ダミーパターンの挿入のみでレイアウトパラメータの偏りを補正することは困難な場合がある。このように、従来、ダミーパターンの挿入によりばらつきを抑制しようとすると、広範囲にわたる改善が難しいため、特性ばらつきを効果的に抑制することができないという問題がある。
【００１１】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１２】
一実施の形態によれば、半導体装置の設計装置は、記憶部、マクロ配置部、コスト算出部、マクロ再配置部を備えている。記憶部は、レイアウトパターンに応じた特性ばらつきの指標となるレイアウトパラメータを複数のマクロごとに記憶する。マクロ配置部は、フロアプラン工程時に、複数のマクロを半導体チップ上に自動配置する。コスト算出部は、記憶された複数のマクロのレイアウトパラメータに基づいて、配置された複数のマクロのうち隣接するマクロ間における特性ばらつきの度合いを示すコストを算出する。マクロ再配置部は、算出されたコストに基づいて、隣接するマクロのいずれかを再配置する。
【発明の効果】
【００１３】
前記一実施の形態によれば、半導体装置の特性ばらつきを効果的に抑制することができる。
【図面の簡単な説明】
【００１４】
【図１】実施の形態に係る半導体装置の設計装置の主要な特徴を示す構成図である。
【図２】実施の形態１に係る半導体チップ設計装置を実現するためのコンピュータシステムのハードウェア構成を示す構成図である。
【図３】実施の形態１に係る半導体チップ設計装置の構成を示すブロック図である。
【図４】実施の形態１に係る半導体チップ設計装置で用いるレイアウトパラメータを説明するための説明図である。
【図５】実施の形態１に係る半導体チップの設計方法を示すフローチャートである。
【図６】実施の形態１に係る半導体チップの設計方法を説明するための説明図である。
【図７】実施の形態１に係るフロアプラン処理部の構成を示すブロック図である。
【図８】実施の形態１に係るフロアプラン工程における設計方法を示すフローチャートである。
【図９】実施の形態１に係るフロアプラン工程における設計方法で用いるレイアウトパラメータとパラメータレベルの関連付けを示す表である。
【図１０】実施の形態１に係るフロアプラン工程における設計方法で用いるパラメータレベルとコストの関連付けを示す表である。
【図１１】実施の形態１に係るフロアプラン工程における設計方法を説明するための具体例を示す図である。
【図１２】実施の形態１に係るフロアプラン工程における設計方法を説明するための具体例を示す図である。
【図１３】実施の形態２に係るセル配置処理部の構成を示すブロック図である。
【図１４】実施の形態２に係るセル配置工程における設計方法を示すフローチャートである。
【図１５】実施の形態２に係るセル配置工程における設計方法を説明するための具体例を示す図である。
【図１６】実施の形態３に係るダミー挿入処理部の構成を示すブロック図である。
【図１７】実施の形態３に係るダミー挿入工程における設計方法を示すフローチャートである。
【図１８】実施の形態３に係るダミー挿入工程における設計方法で用いるフィルセルライブラリの一例を示す図である。
【図１９】実施の形態３に係るダミー挿入工程における設計方法で用いるフィルセルライブラリの一例を示す図である。
【図２０】実施の形態３に係るダミー挿入工程における設計方法を説明するための具体例を示す図である。
【図２１】実施の形態３に係るダミー挿入工程におけるフィルセル選択方法を示すフローチャートである。
【図２２】実施の形態３に係るダミー挿入工程におけるフィルセル選択方法を説明するための説明図である。
【図２３】実施の形態３に係るダミー挿入工程におけるフィルセル選択方法を説明するための説明図である。
【図２４】実施の形態３に係るダミー挿入工程におけるフィルセル選択方法を説明するための説明図である。
【図２５】実施の形態３に係るダミー挿入工程におけるフィルセル選択方法を説明するための説明図である。
【図２６】特許文献１に記載された表面積比と特性ばらつきの関係を示すグラフである。
【発明を実施するための形態】
【００１５】
（実施の形態の概要）
実施の形態の説明に先立って、図１を用いて、実施の形態の主要な特徴についてその概要を説明する。
【００１６】
図１に示すように、実施の形態に係る半導体装置の設計装置は、記憶部１、マクロ配置部２、コスト算出部３、マクロ再配置部４を備えている。記憶部１は、レイアウトパターンに応じた特性ばらつきの指標となるレイアウトパラメータを複数のマクロごとに記憶する。レイアウトパターンは、拡散層やポリシリコン、メタル配線等のパターンである。レイアウトパラメータは、レイアウトパターンのデータ率（パターン密度）や、周囲長、表面積比などである。
【００１７】
マクロ配置部２は、フロアプラン工程時に、複数のマクロを半導体チップ上に自動配置する。コスト算出部３は、記憶された複数のマクロのレイアウトパラメータに基づいて、配置された複数のマクロのうち隣接するマクロ間における特性ばらつきの度合いを示すコストを算出する。マクロ再配置部４は、算出されたコストに基づいて、隣接するマクロのいずれかを再配置する。
【００１８】
このように、実施の形態では、ダミー挿入工程よりも前のフロアプラン工程時に、マクロのレイアウトパラメータに応じたコストを算出し、このコストに基づいてマクロを配置するようにした。ダミー挿入前の段階で、レイアウトパラメータを考慮してマクロを配置するため、特性ばらつきを効果的に抑制することができる。ダミー挿入前にあらかじめ特性ばらつきを抑えるように配置するため、ダミー挿入による補正量を少なくでき、ダミー挿入の段階になってからの困難な補正を無くすることができる。また、レイアウトパラメータに基づいたコストを用いるため、レイアウトパラメータそのものを用いる場合と比べて、計算量が少なくなり、マクロの配置を簡易に最適化することができる。
【００１９】
（実施の形態１）
以下、図面を参照して実施の形態１について説明する。図２は、本実施の形態に係る半導体チップ設計装置（半導体装置の設計装置）を実現するコンピュータシステムのハードウェア構成を示している。なお、後述する他の実施の形態においても、図２と同様のコンピュータシステムにより半導体チップ設計装置が実現される。
【００２０】
このコンピュータシステム１０は、パーソナルコンピュータやワークステーション等の情報処理装置である。図に示されるように、コンピュータシステム１０は、ＣＰＵ１２、メインメモリ１３、ハードディスク１４等を内蔵した本体部１１、本体部１１からの指示により画面表示を行う表示装置１５、このコンピュータシステム１０にユーザの指示や文字情報を入力するためのキーボード１６、および表示装置１５の画面上における任意の位置を指定し、その位置に表示されていたアイコン等に応じた指示を入力するマウス１７から構成される。
【００２１】
ＣＰＵ１２及びメインメモリ１３は、プログラムを実行し各部を制御する制御部の一例であり、ハードディスク１４は、プログラム等を記憶する記憶部の一例である。制御部と記憶部は、一つの装置でもよいし、複数の装置であってもよい。例えば、複数の制御装置や複数の記憶装置に分散されていてもよい。また、表示装置１５は、ユーザに対し種々の出力を行う出力装置の一例であり、キーボード１６、マウス１７は、ユーザが種々の入力操作を行う入力装置の一例である。
【００２２】
ハードディスク１４には、本実施形態に係る半導体チップ設計装置を実現するための半導体チップ設計プログラム１８、半導体チップ設計処理等に必要なその他の各種データ１９が格納される。半導体チップ設計プログラム１８は、図５や図８に後述する半導体チップ設計方法の処理を実行するためのプログラムである。各種データ１９は、図３に後述する各格納部に格納されるデータである。
【００２３】
コンピュータシステム１０が、半導体チップ設計プログラム１８および各種データ１９をメインメモリ１３にロードし、ＣＰＵ１２はメインメモリ１３にロードされた半導体チップ設計プログラム１８を実行することで、本実施形態に係る半導体チップ設計方法の各処理が実施されて、半導体チップ設計装置（図３や図７に後述する機能構成）が実現される。
【００２４】
なお、コンピュータシステム１０の基本動作は、ハードディスク１４に格納された基本プログラムであるオペレーティングシステム（ＯＳ）を介して実行される。
【００２５】
図３は、本実施の形態に係る半導体チップ設計装置（半導体装置の設計装置）の構成を示している。半導体チップ設計装置２０は、コンピュータシステム１０上でプログラムが実行されて実現される処理部として、レイアウトチェック処理部（レイアウトチェックツール）１００、半導体チップ設計処理部（半導体チップ設計ツール）１１０を備えている。なお、レイアウトチェック処理部１００と半導体チップ設計処理部１１０は、１つのコンピュータシステム１０により実現してもよいし、別々のコンピュータシステム１０により実現してもよい。
【００２６】
また、半導体チップ設計装置２０は、コンピュータシステム１０のキーボード１６やマウス１７等に相当する入力装置２０１及び２１１、コンピュータシステム１０の表示装置１５に相当する表示装置２０２及び２１２を備えている。入力装置２０１はレイアウトチェック処理部１００にデータ等を入力するための入力装置であり、表示装置２０２はレイアウトチェック処理部１００の処理結果等を表示するための表示装置である。入力装置２１１は半導体チップ設計処理部１１０にデータ等を入力するための入力装置であり、表示装置２１２は半導体チップ設計処理部１１０の処理結果等を表示するための表示装置である。レイアウトチェック処理部１００及び半導体チップ設計処理部１１０と同様に、入力装置２０１及び２１１、表示装置２０２及び２１２は１つの装置により構成しても良いし、複数の装置により構成してもよい。
【００２７】
さらに、半導体チップ設計装置２０は、コンピュータシステム１０のハードディスク１４等に相当する各種データの格納部として、マクロライブラリ格納部２０３、マクロレイアウトデータ格納部２０４、パラメータ付きマクロライブラリ格納部２０５、処理前レイアウトデータ格納部２１３、処理後レイアウトデータ格納部２１４を備えている。
【００２８】
マクロライブラリ格納部２０３は、予め設計されたマクロライブラリが格納される格納部である。マクロライブラリは、マクロの概略構成が定義されたデータであり、例えば、マクロ名、機能、サイズ、端子位置等が記述されている。
【００２９】
マクロレイアウトデータ格納部２０４は、予め設計されたマクロレイアウトデータが格納される格納部である。マクロレイアウトデータは、マクロの詳細な構成が定義されたデータであり、例えば、マクロ内部の回路素子や配線のレイアウト等が記述されている。
【００３０】
パラメータ付きマクロライブラリ格納部２０５は、レイアウトチェック処理部１００によりパラメータ付きマクロライブラリが格納される格納部である。パラメータ付きマクロライブラリは、レイアウトチェック処理部１００の処理結果であり、マクロライブラリ内の各マクロにレイアウトパラメータを付加したデータである。
【００３１】
処理前レイアウトデータ格納部２１３は、予め設計された処理前レイアウトデータが格納される格納部である。処理前レイアウトデータは、レイアウト前の設計段階（論理設計工程）で設計された、１チップの設計データである。例えば、処理前レイアウトデータには、１チップに必要なマクロやセルの構成及び接続関係が記述されている。
【００３２】
処理後レイアウトデータ格納部２１４は、半導体チップ設計処理部１１０により処理後レイアウトデータが格納される格納部である。処理後レイアウトデータは、半導体チップ設計処理部１１０の処理結果であり、１チップ上のレイアウト結果を示すデータである。例えば、処理後レイアウトデータには、１チップ上のマクロ及びセルの配置位置、マクロ及びセルを接続する配線の位置が記述されている。
【００３３】
レイアウトチェック処理部１００は、フロアプラン及び配置配線された半導体チップのレイアウトが所定の設計基準を満たすか否かチェック（検査）するチェックツールである。また、レイアウトチェック処理部１００は、マクロライブラリ格納部２０３のマクロライブラリとマクロレイアウトデータ格納部２０４のマクロレイアウトデータとが入力され、これらのデータに基づいてパラメータ付きマクロライブラリを生成し、生成したパラメータ付きマクロライブラリをパラメータ付きマクロライブラリ格納部２０５へ格納する。
【００３４】
レイアウトチェック処理部１００は、レイアウトパラメータ算出部１０１、レイアウトパラメータ作成部１０２、レイアウトパラメータ挿入部１０３を備えている。レイアウトパラメータ算出部１０１は、マクロレイアウトデータに基づいてレイアウトパラメータを算出する。
【００３５】
レイアウトパラメータ作成部１０２は、レイアウトパラメータ算出部１０１が算出したレイアウトパラメータに基づいて、マクロライブラリに付加すべき情報を作成する。この例では、後述するように、コストを求めるためのコストパラメータを作成する。
【００３６】
レイアウトパラメータ挿入部１０３は、レイアウトパラメータ算出部１０１が算出したレイアウトパラメータをマクロライブラリに挿入し、パラメータ付きマクロライブライを生成する。また、レイアウトパラメータ作成部１０２が作成したコストパラメータも、レイアウトパラメータとともにマクロライブラリに挿入する。なお、算出したレイアウトパラメータのみをマクロライブラリに挿入して、パラメータ付きマクロライブラリを格納してもよい。
【００３７】
半導体チップ設計処理部１１０は、半導体チップ上にフロアプラン及び配置配線を実施するレイアウトツール（フロアプランツール及び配置配線ツール）である。半導体チップ設計処理部１１０は、パラメータ付きマクロライブラリ格納部２０５のパラメータ付きマクロライブラリと処理前レイアウトデータ格納部２１３の処理前レイアウトデータとが入力され、これらのデータに基づいて処理後レイアウトデータを生成し、生成した処理後レイアウトデータを処理後レイアウトデータ格納部２１４へ格納する。
【００３８】
半導体チップ設計処理部１１０は、検査領域設定部１１１、レイアウトパラメータ算出部１１２、考慮対象領域抽出部１１３、フロアプラン・配置処理部１１４、結果確認部１１９を備えている。検査領域設定部１１１は、フロアプランまたは配置配線を行ったレイアウトのレイアウトパラメータをチェック（検査）するための領域（検査領域）を設定する。
【００３９】
レイアウトパラメータ算出部１１２は、検査領域設定部１１１が設定した領域のレイアウトパラメータを算出する。なお、本実施の形態でレイアウトパラメータを算出する場合、レイアウトチェック処理部１００のレイアウトパラメータ算出部１０１で算出してもよいし、半導体チップ設計処理部１１０のレイアウトパラメータ算出部１１２で算出してもよい。レイアウトチェック処理部１００のレイアウトパラメータ算出部１０１では、マクロレイアウトデータに基づいてレイアウトパラメータが算出され、半導体チップ設計処理部１１０のレイアウトパラメータ算出部１１２では、パラメータ付きマクロライブラリに基づいてレイアウトパラメータが算出され、いずれでも同様のレイアウトパラメータが算出可能である。
【００４０】
考慮対象領域抽出部１１３は、フロアプランや配置配線を行う際に、マクロやセルの配置に関して考慮が必要な領域を抽出する。結果確認部１１９は、フロアプラン及び配置配線を行って生成されたレイアウトデータが所定の設計基準を満たすか否か最終確認する。
【００４１】
フロアプラン・配置処理部１１４は、半導体チップ設計処理部１１０の主要な処理部であり、処理前レイアウトデータに対しフロアプラン及び配置配線を行う処理部である。フロアプラン・配置処理部１１４は、フロアプラン処理部１１５、セル配置処理部１１６、配線処理部１１７、ダミー挿入処理部１１８を備えている。
【００４２】
フロアプラン処理部１１５は、パラメータ付きマクロライブラリを参照しつつ、処理前レイアウトデータに対しフロアプランを行い、マクロを配置したレイアウトデータを生成する。後述するようにフロアプラン処理部１１５は、レイアウトパラメータに応じたコストを生成し、コストに基づいてマクロの配置を最適化する。
【００４３】
セル配置処理部１１６は、フロアプラン処理部１１５が生成したマクロ配置後のレイアウトデータに対しセル配置を行い、マクロ及びセルを配置したレイアウトデータを生成する。配線処理部１１７は、セル配置処理部１１６が生成したマクロ及びセル配置後のレイアウトデータに対し配線を行い、配置配線したレイアウトデータを生成する。ダミー挿入処理部１１８は、配線処理部１１７が生成した配置配線後のレイアウトデータに対しダミー挿入を行い、ダミーパターンを配置したレイアウトデータを処理後レイアウトデータとして出力する。
【００４４】
次に、図４を用いて、本実施の形態のレイアウトで使用するレイアウトパラメータについて説明する。図４（ａ）は半導体チップの斜視図であり、図４（ｂ）は半導体チップのメタル配線を含む層の平面図であり、図４（ｃ）は半導体チップの拡散層及びポリシリコン層を含む層の平面図であり、図４（ｄ）はレイアウトパターンの拡大斜視図である。
【００４５】
図４（ａ）に示すように、半導体チップ３００は、シリコン基板３０１上に複数の配線層３０６が積層形成されている。シリコン基板３０１の表面に、ＭＯＳトランジスタのソースまたはドレインを構成する複数の拡散層（拡散領域）３０２が形成されている。拡散層３０２の間のシリコン基板３０１上に、ＭＯＳトランジスタのゲート電極を構成するポリシリコン層３０３が形成されている。複数の配線層３０６の最上位層（メタル層）には、メタル配線３０５が形成されており、ポリシリコン層３０３とメタル配線３０５とは、コンタクトホール３０４を介して接続されている。
【００４６】
本実施の形態では、図４（ａ）のような半導体チップ３００における拡散層３０２、ポリシリコン層３０３、メタル配線３０５のレイアウトパターンに対するレイアウトパラメータとして、データ率、周囲長、表面積比の３つのパラメータを使用する。なお、データ率、周囲長、表面積比のうちいずれかのパラメータを用いてもよいし、複数のパラメータを使用してもよい。
【００４７】
第１のレイアウトパラメータであるデータ率（パターン密度）は、次の（式１）に表されるように、単位面積に対するレイアウトパターンの割合、すなわち、単位面積中のレイアウトパターンの密度である。
【数１】
2014044560.tif 000003
【００４８】
図４（ｂ）のようにメタル層３１０に複数のメタル配線が配置されており、単位領域３１１内にメタル配線３１２が配置されている場合、メタル層のデータ率は、単位領域３１１の面積（平面視の単位面積）に対するメタル配線３１２の面積（平面視のパターン面積）の割合となる。なお、データ率には、単位領域３１１外のメタル配線（レイアウトパターン）、すなわち、単位領域３１１と重ならないメタル配線（３１２ａ）の面積は含まれない。
【００４９】
図４（ｃ）のように下地層（拡散層及びポリシリコン層を含む層）３２０に、複数の拡散層３２２及びポリシリコン層３２３が配置されており、単位領域３２１内に拡散層３２２及びポリシリコン層３２３が配置されている場合、拡散層のデータ率は、単位領域３２１の面積に対する拡散層３２２の面積の割合となり、ポリシリコン層のデータ率は、単位領域３２１の面積に対するポリシリコン層３２３の面積の割合となる。
【００５０】
第２のレイアウトパラメータである周囲長（総周囲長）は、次の（式２）に表されるように、単位面積当たりのレイアウトパターンの周囲長の合計である。
【数２】
2014044560.tif 000004
【００５１】
図４（ｂ）のようにメタル層３１０に複数のメタル配線が配置されており、単位領域３１１内にメタル配線３１２が配置されている場合、メタル層の周囲長は、メタル配線３１２の周囲長（平面視のパターン周囲の長さ）の合計である。なお、周囲長には、単位領域３１１外のメタル配線（レイアウトパターン）、すなわち、単位領域３１１と重ならないメタル配線（３１２ａ）の周囲長は含まれない。
【００５２】
図４（ｃ）のように下地層（拡散層及びポリシリコン層を含む層）３２０に、複数の拡散層３２２及びポリシリコン層３２３が配置されており、単位領域３２１内に拡散層３２２及びポリシリコン層３２３が配置されている場合、拡散層の周囲長は、拡散層３２２の周囲長の合計となり、ポリシリコン層の周囲長は、ポリシリコン層３２３の周囲長の合計となる。
【００５３】
第３のレイアウトパラメータである表面積比は、次の（式３）に表されるように、単位面積に対する、単位面積当たりのレイアウトパターンの総表面積の割合である。
【数３】
2014044560.tif 000005
【００５４】
このレイアウトパターンの総表面積は、レイアウトパターンが有する６面のうち底面（基板側の面）を除く５つの面の面積の合計である。図４（ｄ）のようなレイアウトパターン３３１（拡散層、ポリシリコン層、メタル配線のいずれか）の場合、上面の面積Ｓ１、４つの側面の面積Ｓ２〜Ｓ５、底面の面積Ｓ６のうち、表面積はＳ１〜Ｓ５の合計であり、Ｓ６は含まれない。図４（ｄ）では、表面積比は、単位領域３３０の面積に対するレイアウトパターン３３１の表面積（Ｓ１〜Ｓ５の合計）の割合となる。なお、本実施の形態では、底面の面積を除いているが、底面の面積を含む全ての面の面積の合計を総表面積としてもよい。なお、本実施の形態では、単位面積に対するレイアウトパターンの総表面積の比である面積比をレイアウトパラメータとしているが、単位面積当たりのレイアウトパターンの総表面積をレイアウトパラメータとしてもよい。
【００５５】
図４（ｂ）のようにメタル層３１０に複数のメタル配線が配置されており、単位領域３１１内にメタル配線３１２が配置されている場合、メタル層の表面積比は、単位領域３１１の面積に対するメタル配線３１２の総表面積の割合となる。なお、表面積比には、単位領域３１１外のメタル配線（レイアウトパターン）、すなわち、単位領域３１１と重ならないメタル配線（３１２ａ）の総表面積は含まれない。
【００５６】
図４（ｃ）のように下地層（拡散層及びポリシリコン層を含む層）３２０に、複数の拡散層３２２及びポリシリコン層３２３が配置されており、単位領域３２１内に拡散層３２２及びポリシリコン層３２３が配置されている場合、拡散層の表面積比は、単位領域３２１の面積に対する拡散層３２２の総表面積の割合となり、ポリシリコン層の表面積比は、単位領域３２１の面積に対するポリシリコン層３２３の総表面積の割合となる。
【００５７】
次に、図５及び図６を用いて、本実施の形態に係る半導体チップ設計方法の全体の流れについて説明する。
【００５８】
レイアウト設計工程（Ｓ１００）の前に、予め、マクロ設計工程（Ｓ１０）においてマクロライブラリ及びマクロレイアウトデータが生成されて、マクロライブラリ格納部２０３及びマクロレイアウトデータ格納部２０４に格納される。図５の例では、マクロＭ１〜Ｍ３が設計され、マクロライブライ格納部２０３にマクロＭ１〜Ｍ３を含むマクロライブラリが格納され、マクロレイアウトデータ格納部２０４にマクロＭ１〜Ｍ３を含むマクロレイアウトデータが格納される。また、論理設計工程において処理前レイアウトデータ（１チップ設計データ）が生成されて処理前レイアウトデータ格納部２１３に格納される。
【００５９】
レイアウト設計工程（Ｓ１００）では、フロアプラン工程（Ｓ１０１）、セル配置工程（Ｓ１０２）、配線工程（Ｓ１０３）、ダミー挿入工程（Ｓ１０４）の順に設計処理が実行され、半導体チップが設計される。その後、最終チェック工程（Ｓ１０５）が実行されて、半導体チップの設計が完了する。
【００６０】
フロアプラン工程（Ｓ１０１）では、半導体チップ設計処理部１１０のフロアプラン処理部１１５は、図６（ａ）に示すように、半導体チップ４００上にマクロ４０１を自動配置する。フロアプラン処理部１１５は、処理前レイアウトデータ格納部２１３の処理前レイアウトデータにより半導体チップ４００上に配置するマクロ４０１を把握し、マクロライブラリ格納部２０３のマクロライブラリによりマクロ４０１のサイズ等を認識して、半導体チップ４００上にマクロ４０１を配置する。図６（ａ）の例では、半導体チップ４００の周辺部に、マクロライブラリに含まれるＭ１〜Ｍ３を配置している。半導体チップ４００の一辺方向に沿ってマクロＭ１、Ｍ３、Ｍ１が配置され、一方のマクロＭ１に対し該一辺の垂直方向側の隣にマクロＭ２が配置されている。フロアプラン処理部１１５は、マクロ４０１を配置した半導体チップ４００のレイアウトデータを生成する。なお、フロアプラン処理部１１５における、レイアウトパラメータを考慮したマクロの配置処理については後述する。
【００６１】
セル配置工程（Ｓ１０２）では、半導体チップ設計処理部１１０のセル配置処理部１１６は、図６（ｂ）に示すように、半導体チップ上にセル４０２を自動配置する。セル配置処理部１１６は、フロアプラン工程で生成された半導体チップ４００上にマクロ４０１が配置されたレイアウトデータに基づいて、半導体チップ４００上に配置するセル４０２を把握するとともに、セルの配置可能な領域を特定し、特定した半導体チップ４００上にセル４０２を配置する。セル配置処理部１１６は、セル４０２を配置することで、マクロ４０１及びセル４０２が配置された半導体チップ４００のレイアウトデータを生成する。
【００６２】
配線工程（Ｓ１０３）では、半導体チップ設計処理部１１０の配線処理部１１７は、図６（ｃ）に示すように、半導体チップ４００上のマクロ４０１及びセル４０２間をメタル配線４０３で接続（敷設）するように自動配線する。配線処理部１１７は、セル配置工程で生成された半導体チップ４００上にマクロ４０１及びセル４０２が配置されたレイアウトデータに基づいて、マクロ４０１及びセル４０２間の接続関係及び端子位置を把握し、メタル配線４０３の敷設可能な領域を特定し、マクロ４０１及びセル４０２間を配線する。図６（ｃ）の例では、一方のマクロＭ１とマクロＭ２との間を配線し、マクロＭ２と隣接するセル４０２との間を配線し、マクロＭ３と隣接するセル４０２との間を配線し、他方のマクロＭ１と隣接するセル４０２との間を配線する。配線処理部１１７は、マクロ４０１及びセル４０２が配置され、メタル配線４０３が敷設された半導体チップ４００のレイアウトデータを生成する。
【００６３】
ダミー挿入工程（Ｓ１０４）では、半導体チップ設計処理部１１０のダミー挿入処理部１１８は、図６（ｄ）に示すように、半導体チップ４００上にダミーメタル４０４及びフィルセル４０５を挿入する。ダミー挿入処理部１１８は、配線工程で生成された、半導体チップ４００上にマクロ４０１、セル４０２及びメタル配線４０３が配置されたレイアウトデータに基づいて、レイアウトパラメータが所定の基準を満たすようにダミーメタル４０４及びフィルセル４０５を配置する領域を特定し、特定した半導体チップ４００上にダミーメタル４０４及びフィルセル４０５を配置する。ダミー挿入処理部１１８は、マクロ４０１、セル４０２、メタル配線４０３、ダミーメタル４０４及びフィルセル４０５が配置された半導体チップ４００のレイアウトデータを生成する。
【００６４】
なお、ダミーメタル及びフィルセルは、半導体装置の機能を構成する回路として動作せず、設計基準を満たすために配置されるダミー素子である。ダミーメタルは、メタル配線と同様に形成されたダミーのメタル素子である。フィルセルは、複数の配線層（拡散層及びポリシリコン層含む）から構成されたダミーのセルである。
【００６５】
最終チェック工程（Ｓ１０５）では、レイアウトチェック処理部１００は、レイアウト設計されたレイアウトデータのレイアウトをチェック（検査）する。レイアウトチェック処理部１００は、ダミー挿入工程で生成された、半導体チップ４００上にマクロ４０１、セル４０２、メタル配線４０３、ダミーメタル４０４及びフィルセル４０５が配置されたレイアウトデータに対して、レイアウトパラメータやタイミング等が設計基準を満たすか否か判定する。レイアウトデータが設計基準を満たさない場合、再度レイアウト設計が行われ、設計基準を満たす場合、検査したレイアウトデータが処理後レイアウトデータ格納部２１４へ格納される。
【００６６】
次に、本実施の形態の主要な特徴であるフロアプラン工程を実現する構成及び動作について説明する。
【００６７】
図７は、本実施の形態に係るフロアプラン・配置処理部１１４のうちのフロアプラン処理部１１５の内部構成を詳細に示している。図７に示すように、フロアプラン処理部１１５は、マクロ配置部１２１、コスト算出部１２２、配置変更部１２３、コスト変更部１２４を備えている。
【００６８】
マクロ配置部１２１は、処理前レイアウトデータ及びパラメータ付きマクロライブラリに基づいて、半導体チップ上にマクロを自動配置する。コスト算出部１２２は、パラメータ付きマクロライブラリに基づいて、隣接するマクロ間のコストを算出する。
【００６９】
配置変更部１２３は、コスト算出部１２２が算出したコストに基づいて、マクロ配置部１２１が配置したマクロの配置を変更する。コスト変更部１２４は、配置変更部１２３がマクロの配置変更したレイアウトに対し、基準違反を解消するためにコストを変更する。
【００７０】
図８は、本実施の形態に係るフロアプラン工程におけるフロアプラン処理を示している。フロアプラン工程（Ｓ１０１）の前に、準備工程（Ｓ１１）が行われる。
【００７１】
準備工程（Ｓ１１）では、レイアウトチェック処理部１００は、マクロライブラリ格納部２０３のマクロライブラリとマクロレイアウトデータ格納部２０４のマクロレイアウトデータとに基づいてパラメータ付きマクロライブラリを生成する。なお、マクロライブラリにレイアウトパラメータを付加してパラメータ付きマクロライブラリを作成してもよいし、予めパラメータ付きマクロライブラリを格納部に格納しておいてもよい。
【００７２】
具体的には、レイアウトパラメータ算出部１０１はレイアウトパラメータをチェックする（Ｓ１１１）。レイアウトパラメータ算出部１０１は、マクロレイアウトデータを参照し、全てのマクロのレイアウトパターンについてのレイアウトパラメータを算出する。レイアウトパラメータ算出部１０１は、マクロの拡散層、ポリシリコン層、メタル配線のそれぞれについて、データ率、周囲長及び表面積比を算出する。
【００７３】
続いて、レイアウトパラメータ作成部１０２はコストパラメータを作成する（Ｓ１１２）。レイアウトパラメータ作成部１０２は、算出されたデータ率、周囲長及び表面積比のレイアウトパラメータに基づいて、コストパラメータを作成する。コストパラメータは、フロアプラン工程でコストの算出に使用されるデータである。ここでは、コストパラメータとして図９に示すようなパラメータレベルを生成する。
【００７４】
図９は、レイアウトパラメータであるデータ率とパラメータレベルとの関係を示している。すなわち、図９に示すように、データ率を複数の範囲に区分し、各データ率の範囲にパラメータレベルを設定する。図９の例では、データ率を５つの範囲に区分し、データ率の範囲の順にパラメータレベル１〜５が設定される。レイアウトパラメータ作成部１０２は、各マクロのデータ率が属する範囲に応じて、図９のパラメータレベル（コストパラメータ）を特定する。なお、図９のパラメータレベルは、準備工程で算出してもよいし、フロアプラン工程におけるコスト算出時に算出してもよい。
【００７５】
続いて、レイアウトパラメータ挿入部１０３はマクロライブラリにレイアウトパラメータ及びコストパラメータを付加する（Ｓ１１３）。レイアウトパラメータ挿入部１０３は、マクロごとに生成されたレイアウトパラメータである拡散層、ポリシリコン層及びメタル配線のデータ率、周囲長及び表面積比と、コストパラメータであるパラメータレベルとを、マクロライブラリの各マクロに関連付けて、パラメータ付きマクロライブラリを生成する。
【００７６】
本実施の形態に係るフロアプラン工程（Ｓ１０１）では、半導体チップ設計処理部１１０のフロアプラン処理部１１５は、処理前レイアウトデータ及びパラメータ付きマクロライブラリに基づき、マクロを配置したレイアウトデータを生成する。
【００７７】
フロアプラン工程（Ｓ１０１）には、主に、Ｐｒｅｖｅｎｔｉｏｎ工程、Ｃｈｅｃｋ工程、Ｃｏｒｒｅｃｔｉｏｎ工程が含まれる。Ｐｒｅｖｅｎｔｉｏｎ工程では、それぞれのレイアウトパラメータの影響度に応じて、拡散層およびポリシリコン層のデータ率、周囲長及び表面積比の偏りに対するコスト値を用意する。そして、自動フロアプランを行う際に、設定したコストが低くなるようにマクロ配置の最適化を行う。
【００７８】
ここで、コストは、隣接するマクロ間における特性ばらつきの度合いを示す値であり、そのマクロを配置した際にレイアウトに与える負の影響の大きさを指標化した値である。コスト半導体チップ内のコストの総和が大きいほど、データ率、周辺長及び表面積比の偏りが発生しており、半導体チップ内の特性ばらつきが大きくなる事を意味する。
【００７９】
Ｃｈｅｃｋ工程では、特定領域毎の拡散層およびポリシリコン層のデータ率、周囲長及び表面積比を計算し、設定した基準値と比較する。Ｃｏｒｒｅｃｔｉｏｎ工程では、拡散層およびポリシリコン層のデータ率、周囲長及び表面積比が基準値を満たしていない箇所は、コストが低くなるように、マクロ配置を修正する。
【００８０】
具体的には、図８に示すように、フロアプラン工程（Ｓ１０１）では、フロアプラン処理部１１５のマクロ配置部１２１は、Ｐｒｅ配置（仮配置）を実施する（Ｓ１１４）。マクロ配置部１２１は、処理前レイアウトデータ格納部２１３の処理前レイアウトデータにより半導体チップ上に配置するマクロを把握し、パラメータ付きマクロライブラリ格納部２０５のパラメータ付きマクロライブラリによりマクロのサイズ等を認識して、半導体チップ上にマクロを配置する。
【００８１】
続いて、フロアプラン処理部１１５のコスト算出部１２２は、コストを算出する（Ｓ１１５）。コスト算出部１２２は、パラメータ付きマクロライブラリでマクロに付加されているレイアウトパラメータに基づいてコストを算出する。ここでは、準備工程でパラメータレベルが生成されているため、パラメータレベルを使用してコストを算出する。なお、Ｓ１１５においてコスト算出部１２２が、レイアウトパラメータに応じてパラメータレベルを生成し、生成したパラメータレベルに基づいてコストを算出してもよい。
【００８２】
コストは、レイアウトパラメータごとに算出される。すなわち、拡散層、ポリシリコン層及びメタル配線のそれぞれのデータ率、周囲長及び表面積比についてコストが算出される。コストは、隣接するマクロ間に設定され、拡散層、ポリシリコン層及びメタル配線のデータ率、周囲長及び表面積比の偏りに応じてコストが算出される。
【００８３】
コストは、隣接するコストのパラメータレベルに応じて与えられる。図１０は、図９のデータ率のパラメータレベルに対応するコストテーブルである。コストテーブルは、隣接するマクロのパラメータレベルとコストとを関連付けている。データ率の高いマクロ同士が隣接する場合や、データ率の低いマクロ同士が隣接する場合、データ率に偏りが生じするため、コストは高くなる。このコストテーブルを予め記憶部に記憶しておき、コスト算出部１２２はコストテーブルを参照して、隣接する一方のマクロのパラメータレベルと他方のマクロのパラメータレベルとから、コストを求める。
【００８４】
拡散層、ポリシリコン層及びメタル層におけるデータ率、周囲長及び表面積比の偏りの考慮をバランスよく行うには、それぞれのコストにそれぞれのばらつきに対する影響度を乗じて、総和することで考慮することが望ましい。これにより、拡散層、ポリシリコン層及びメタル層についてのデータ率、周囲長及び表面積比を最適値とすることができる。例えば、次の式４のようにメタル層のコスト、ポリシリコン層のコスト、拡散層のコストを合計する。
【数４】
2014044560.tif 000006
式４では、メタル層、ポリシリコン層、拡散層のそれぞれについて、データ率のコストにデータ率の係数ｋ１（コスト係数）を乗算し、周囲長のコストに周囲長の係数ｋ２を乗算し、表面積比のコストに表面積比の係数ｋ３を乗算し、これらの合計値する。さらに、メタル層の係数α、ポリシリコン層の係数β、拡散層の係数γを乗算して、これらを合計して全体のコストとする。
【００８５】
また、さらに最適なコストを求めるため、隣接しているマクロ間の距離やお互いのマクロの大きさによってコストの値を変更することが望ましい。例えば、マクロ間の距離が短くなるほどコストを大きくし、マクロの大きさが大きくなるほどコストを大きくする。例えば次の式５のように、コスト係数をマクロ間の距離で除算することでコストを求める。例えば、式５のＣｋは、式４のｋ１〜ｋ３に相当する。
【数５】
2014044560.tif 000007
【００８６】
続いて、フロアプラン処理部１２１の配置変更部１２３はマクロの配置変更が必要か否か判定する（Ｓ１１６）。配置変更部１２３は、コスト算出部１２２が算出したコストについて、所定値よりも大きいコストがあるか否か判定し、所定値よりもコストが大きい場合に配置変更が必要と判断し、所定値よりもコストが小さい場合に配置変更不要と判断する。
【００８７】
Ｓ１１６でマクロの配置変更が必要な場合、配置変更部１２３はコストに基づいてマクロの配置を変更する（Ｓ１１７）。配置変更部１２３は、コスト算出部１２２が算出したコストについて、所定値よりも大きいコストの箇所の隣接マクロを特定し、これらのマクロの距離が離れるように配置を変更する。また、レイアウトパラメータが大きいマクロの近くに、レイアウトパラメータが小さいマクロを配置することでコストが小さくなるようにする。
【００８８】
マクロの配置変更後、さらにコスト算出部１２２がコストを算出し（Ｓ１１５）、配置変更が不要となるまで、配置変更とコスト算出を繰り返す。これにより、コストが小さくなるまで繰り返すことでマクロの配置が最適化され、半導体チップ内のレイアウトパラメータが均一化される。
【００８９】
なお、レイアウトパラメータ以外の要素を考慮してコストの算出やマクロの配置を行ってもよい。タイミングや電力、ノイズ等の最適化を考慮してコストの算出やマクロの配置を行うことが好ましい。例えば、タイミング制約が厳しいため隣接させる必要があるマクロは１つのまとまったマクロ群として、コストの算出やマクロの配置を行ってもよい。あるいは、タイミング制約が厳しいため隣接させる必要があるマクロ間では、コストを与えず、コストに基づいた配置変更も行わなくてよい。
【００９０】
また、コストの算出やレイアウトパラメータのチェックは、１つの半導体チップに限らず、複数の半導体チップが隣接した状態を考慮して行ってもよい。ダイシング前の半導体ウェハの状態では、同じ半導体チップが隣接しているため、半導体チップを縦×横＝３×３の９個の半導体チップを並べた状態で、中心に位置する半導体チップに対して、コストの算出やデータ率のチェックを行うことが望ましい。
【００９１】
図１１は、Ｓ１１４〜Ｓ１１７のコストに基づく配置変更の具体例を示している。図１１（ａ）はマクロ配置前の準備の状態を示している。この例では、半導体チップ４１０の上にマクロＡ〜Ｄを配置する。パラメータ付きマクロライブラリによって、予めマクロＡ〜Ｄのそれぞれにデータ率及びパラメータレベルが設定される。
【００９２】
次に、図１１（ｂ）のようにマクロを仮配置する（Ｓ１１４）。半導体チップ４１０のレイアウト面上にマクロＡ〜Ｄを配置する。そして、この状態で隣接マクロ間のコストを計算する（Ｓ１１５）。
【００９３】
ここでは、図１０のコストテーブルのみでコストを求める場合について説明する。マクロＡ−マクロＢ間では、マクロＡのパラメータレベルが５、マクロＢのパラメータレベルが３のため、コストは１となる。マクロＡ−マクロＤ間では、マクロＡのパラメータレベルが５、マクロＤのパラメータレベルが５のため、コストは１０となる。マクロＢ−マクロＣ間では、マクロＢのパラメータレベルが３、マクロＣのパラメータレベルが２のため、コストは３となる。マクロＣ−マクロＤ間では、マクロＣのパラメータレベルが２、マクロＤのパラメータレベルが５のため、コストは０となる。
【００９４】
算出したコストにより配置変更が必要かどうか判定する（Ｓ１１６）。この例ではマクロＡ−マクロＤ間のコストが１０と高いため、配置変更が必要と判断し、図１１（ｃ）のようにマクロの配置を変更する（Ｓ１１７）。
【００９５】
マクロＡとマクロＤ間のコストが大きいため、マクロＡとマクロＤが離れるようにし、さらに、データ率の高いマクロの近くにデータ率の低いマクロを配置するようにする。ここでは、マクロＣとマクロＤの配置を入れ替えている。
【００９６】
配置変更した状態で、さらに、コストを再計算する（Ｓ１１５）。マクロＡ−マクロＢ間は、変わらないためコストは１であり、マクロＣ−マクロＤ間は、変わらないためコストは０である。マクロＡ−マクロＣ間では、マクロＡのパラメータレベルが５、マクロＣのパラメータレベルが２のため、コストは０となる。マクロＢ−マクロＤ間では、マクロＢのパラメータレベルが３、マクロＤのパラメータレベルが５のため、コストは１となる。これにより、全てのコストが０か１と低く抑えられたため、配置変更が不要と判断される（Ｓ１１６）。
【００９７】
図８に戻り、Ｓ１１６でマクロの配置変更が不要となり、コストに基づくマクロの配置変更が終了すると、特定領域毎のレイアウトパラメータをチェックし（Ｓ１１８）、レイアウトパラメータを基準と比較する（Ｓ１１９）。このレイアウトパラメータのチェックは、レイアウトチェック処理部１００で行ってもよいし、半導体チップ設計処理部１１０で行ってもよい。例えば、半導体チップ設計処理部１１０の検査領域設定部１１１が、検査するための特定領域を設定し、レイアウトパラメータ算出部１１２が、設定された特定領域ごとに拡散層、ポリシリコン層及びメタル層それぞれのデータ率、周囲長及び表面積比を算出し、基準を満たすか否か判定する。これにより、データ率、周囲長及び表面積比の偏りを抑制するための設計基準に対して、マクロ配置の段階で問題を確認し、レイアウトの修正を可能にする。
【００９８】
なお、特定領域のレイアウトパラメータをチェックする際に、マクロの配置に限らず、セルの配置を考慮することが好ましい。例えば、マクロ配置領域以外のセル配置領域には、一般的なデータ率等のレイアウトパラメータを持ったセルが配置されることを想定して、特定領域のレイアウトパラメータをチェックする。
【００９９】
また、特定領域のレイアウトパラメータをチェックするための基準は、実際の設計基準である必要はなく、ある程度緩和された基準であってもよい。その後、セル配置である程度考慮が可能であるため、厳密な基準を満たさなくてもよい。
【０１００】
Ｓ１１９で基準違反が有ると判定された場合、コスト変更部１２４は、違反箇所のマクロのコスト（コスト係数）を変更する（Ｓ１２０）。コスト変更部１２４は、基準を満たせるように配置変更するため、違反箇所のマクロのコストを変更する（Ｓ１２０）。例えば、違反箇所の領域内のコストを上げる（大きくする）。コストの変更方法は、Ｓ１１５の算出結果であるコストそのものを変更してもよいし、図１０のコストテーブルを変更したり、式４の係数を変更してもよい。拡散層のデータ率が違反している場合には、拡散層のデータ率のコストを変更する。
【０１０１】
続いて、コストを計算し（Ｓ１１５）、新たなコストに基づいてマクロ配置を変更する（Ｓ１１７）。例えば、違反箇所のコストが大きく変更されると、隣接するマクロの距離が離れるように配置が最適化されるため、基準違反が解消する。
【０１０２】
Ｓ１１９で基準違反が無いと判定された場合、フロアプラン工程が終了し、マクロが配置されたレイアウトデータが生成され、その後、図５のようにセル配置工程（Ｓ１０２）、配線工程（Ｓ１０３）、ダミー挿入工程（Ｓ１０４）が行われて、処理後レイアウトデータが生成される。
【０１０３】
図１２は、Ｓ１１８〜Ｓ１２０のレイアウトパラメータのチェック及び配置変更の具体例を示している。図１２（ａ）に示すように、検査領域毎にデータ率の違反をチェック（検査）する（Ｓ１１８、Ｓ１１９）。レイアウトパラメータのチェックは一定の領域（ウィンドウ）で行われ、この領域を一定のステップで移動させ、半導体チップ全体に対し実施される。
【０１０４】
例えば、半導体チップ４１０上にマクロＡ，Ｂ，Ｄ，Ｅが配置されている。半導体チップ４１０の角部と検査領域４１１の角部を一致させて、検査領域４１１内のデータ率を算出し違反の有無を検査する。順次、検査領域４１１をレイアウト面４００の辺方向に沿って移動させ、データ率の違反を検査する。
【０１０５】
この例では、検査領域４１２において、拡散層のデータ率が違反しているとする。そうすると、検査領域４１２のコストを変更し（Ｓ１２０）、図１２（ｂ）のようにマクロの配置を変更する（Ｓ１１７）。
【０１０６】
例えば、検査領域４１２内には、マクロＥ及びマクロＤが含まれているため、マクロＥ及びマクロＤ間のコストを大きくする。マクロＥ−マクロＤ間のコストが１０の場合、例えば、コストを１０から１５に変更する。コストを変更したため、図１２（ｂ）のようにマクロＥとマクロＤが離れるように配置が変更される。
【０１０７】
例えば、拡散層のデータ率で基準違反が発生した場合、拡散層のデータ率のコストを大きくする。そうすると、拡散層のデータ率の考慮が最優先となるため、発生した基準違反が改善される。ただし、他のパラメータの基準に対する考慮の効果が低くなる場合がある。
【０１０８】
以上のように本実施の形態では、レイアウトパラメータとして、マクロの拡散層、ポリシリコン層及びメタル層のデータ率、周囲長及び表面積比を計算し、このレイアウトパラメータをマクロ自身または格納部に与えておく。また、拡散層、ポリシリコン層及びメタル層のデータ率、周囲長及び表面積比に対して与えたコストに対して配置の最適化を行う。さらに、マクロ配置の状態で特定の領域の拡散層、ポリシリコン層及びメタル層のデータ率、周囲長及び表面積比の値を算出する。データ率、周囲長及び表面積比が一定の値を超えている場合は、コストを変更し、マクロの再配置を行う。
【０１０９】
本実施の形態では、ダミー挿入の前のフロアプランの段階で、レイアウトパラメータを考慮してマクロを配置するようにした。特性ばらつきは主にデータ率や周囲長、表面積比により発生しているため、これらのパラメータの均一化をフロアプランの段階で行うことで特性ばらつきを抑制することができる。半導体チップ内の拡散層及びポリシリコン層のデータ率や周囲長、表面積比を一定にすることで、短時間アニールによる特性ばらつきを抑えることができる。
【０１１０】
また、ダミー挿入によりレイアウトパラメータが補正できない場合に影響が及ぶ範囲が広範囲となるため、フロアプランの段階でレイアウトパラメータのばらつきを効果的に抑えることができ、半導体チップの広範囲にわたるレイアウトパラメータの均一化を実現することができる。ダミー挿入など後の工程では修正できる範囲は限られるため、マクロ配置という早い段階でレイアウトパラメータを考慮することで、広範囲にわたってばらつきを抑えることができる。
【０１１１】
なお、拡散層、ポリシリコン層及びメタル層の全てのレイアウトパラメータを考慮してもよいし、これらのうちの１つもしくは２つのみのパラメータを考慮してもよい。いずれの組み合わせでも特性ばらつきを抑制することができる。拡散層及びポリシリコン層のばらつきを抑えることでアニールによる特性ばらつきを抑えることができる。メタル層のばらつきを抑えることでＣＭＰやエッチングによる特性ばらつきを抑えることができる。
【０１１２】
（実施の形態２）
以下、図面を参照して実施の形態２について説明する。実施の形態１では、主に、フロアプラン工程における最適化に関して説明したのに対し、本実施の形態では、実施の形態１のフロアプラン工程に続いて行われるセル配置工程における最適化に関して説明する。なお、セル配置工程以外については、実施の形態１と同様であるため、説明を省略する。
【０１１３】
図１３は、本実施の形態に係るフロアプラン・配置処理部１１４のうちのセル配置処理部１１６の内部構成を詳細に示している。図１３に示すように、セル配置処理部１１６は、領域抽出部１３１、領域設定部１３２、セル配置部１３３を備えている。
【０１１４】
領域抽出部１３１は、フロアプラン工程で生成された、フロアプラン後のレイアウトデータに基づいて、レイアウトパラメータの影響をおさえるためにセルの配置に関し考慮する必要のある領域を抽出する。
【０１１５】
領域設定部１３２は、セルレイアウトパラメータ等に基づいて、領域抽出部１３１が抽出した領域に対し、配置すべきセルや配置すべきではないセル設定する。セル配置部１３３は、領域抽出部１３１が抽出した領域と領域設定部１３２が設定したセルにしたがってセルを配置し、セル配置後のレイアウトデータを生成する。
【０１１６】
図１４は、本実施の形態に係るセル配置工程におけるセル配置処理を示している。セル配置工程の前に必要な準備として、セルレイアウトパラメータ格納部２２１にセルレイアウトパラメータを格納し、また、セルリスト格納部２２２にセルリストを格納する。
【０１１７】
セルレイアウトパラメータは、セル配置工程で配置される複数のセルとレイアウトパラメータが関連付けられたデータである。セルレイアウトパラメータは、実施の形態１のマクロのレイアウトパラメータと同様に、各セルの拡散層、ポリシリコン層、メタル配線のそれぞれについてのデータ率、周囲長及び表面積比である。セルレイアウトパラメータは、実施の形態１と同様に、レイアウトチェック処理部１００が、セルレイアウトパラメータを算出して生成してもよいし、予めセルの設計段階で生成されて格納部に格納されてもよい。
【０１１８】
セルリスト格納部２２２に格納されるセルリストは、ばらつきを与えたくないセルのリストである。例えば、ばらつきを与えたくないセルは、タイミング制約の厳しいセルであり、クリティカルパスのセルやクロックパスのセル等である。なお、セルリスト格納部２２２にばらつきを与えてもよいセルのリストを格納してもよい。例えば、ばらつきを与えてもよいセルは、タイミング制約の緩いセルであり、テスト回路等である。
【０１１９】
本実施形態に係るセル配置工程（Ｓ１０２）では、半導体チップ設計処理部１１０のセル配置処理部１１６は、フロアプラン工程で生成されたフロアプラン後のレイアウトデータ、パラメータ付きマクロライブラリ格納部２０５のパラメータ付きマクロライブラリ、セルレイアウトパラメータ格納部２２１のセルレイアウトパラメータ、セルリスト格納部２２２のセルリストに基づいて、セルを配置したレイアウトデータを生成する。
【０１２０】
セル配置工程（Ｓ１０２）には、主に、Ｃｈｅｃｋ工程、Ｍａｒｋｉｎｇ工程、Ｃｅｌｌ配置工程が含まれる。Ｃｈｅｃｋ工程では、特定領域毎の拡散層およびポリシリコン層のデータ率、周囲長及び表面積比を計算し、設定した基準値と比較する。
【０１２１】
Ｍａｒｋｉｎｇ工程では、基準を満たしていない領域を抽出する。Ｃｅｌｌ配置工程では、抽出した領域に、基準に対してさらに悪化させる恐れがあるセルの挿入を極力行わない。または、抽出した領域にあるセルを影響の小さいセルへと入れ替える（Ｓｗａｐする）。さらに、抽出した領域に、特性の影響を受けやすいセル、特性の影響があると問題となるセルの挿入を極力行わない。
【０１２２】
具体的には、図１４に示すように、配置工程（Ｓ１０２）では、特定領域のレイアウトパラメータをチェックする（Ｓ２０１）。このレイアウトパラメータのチェックは、実施の形態１のフロアプラン工程のレイアウトチェックと同様に、レイアウトチェック処理部１００で行ってもよいし、半導体チップ設計処理部１１０で行ってもよい。例えば、半導体チップ設計処理部１１０の検査領域設定部１１１が、検査するための特定領域を設定し、レイアウトパラメータ算出部１１２が、設定された特定領域ごとに拡散層、ポリシリコン層及びメタル層それぞれのデータ率、周囲長及び表面積比を算出する。
【０１２３】
続いて、領域抽出部１３１は、レイアウトパラメータの基準を満たすことが困難な箇所（領域）を抽出する（Ｓ２０２）。領域抽出部１３１は、算出されたデータ率、周囲長及び表面積比について所定の基準と比較し、セルを配置すると基準違反となる可能性のある領域を抽出する。
【０１２４】
また、領域抽出部１３１は、レイアウトパラメータに偏りのあるマクロの周辺領域を抽出する（Ｓ２０３）。領域抽出部１３１は、パラメータ付きマクロライブラリに基づいて、データ率、周囲長及び表面積比に偏りのあるマクロと特定し、偏りのあるマクロの周辺領域を抽出する。偏りの有無は、所定の基準と比較して判断される。
【０１２５】
続いて、領域設定部１３２は、抽出した領域に、基準を満たすことを助けるセルを優先的に配置する設定を与える（Ｓ２０４）。領域設定部１３２は、セルレイアウトパラメータに基づいて、基準を満たすことが困難な領域に配置することで、基準を満たすようにすることが可能なセルを設定する。例えば、データ率が高い領域に対しては、データ率の低いセルを配置するように設定することで、データ率を均一化できる。
【０１２６】
続いて、領域設定部１３２は、抽出した領域に、ばらつきの影響を受けると困るセルを配置しない設定を与える（Ｓ２０５）。領域設定部１３２は、セルリスト格納部２２２のセルリストに基づいて、基準を満たすことが困難な領域に対して、クリティカルパスやクロックパス等のセルを配置しないように設定する。これにより、さらに基準違反が発生することを防ぐことができる。なお、基準を満たすことが困難な領域に対して、ばらつきの影響を受けてもよいセルを配置するように設定してもよい。
【０１２７】
続いて、セル配置部１３３は、セルを配置する（Ｓ２０６）。セル配置部１３３は、Ｓ２０２及びＳ２０３で抽出した領域に対し、Ｓ２０４で設定されたセルを配置し、また、Ｓ２０５で設定されたセルを配置しないように、配置処理を行う。
【０１２８】
図１５は、本実施の形態に係るセル配置の具体例を示している。図１５（ａ）に示すように、実施の形態１と同様に、半導体チップ４１０上で検査領域４１１を移動させながら、拡散層、ポリシリコン層及びメタル配線のデータ率、周囲長及び表面積比を算出し、基準と比較する。この例では、領域４１３で基準違反となったため、危険個所の領域であるとマーキングする。
【０１２９】
そうすると、図１５（ｂ）に示すように、領域抽出部１３１は、チェックの結果としてテキストデータ４１４を生成する。テキストデータ４１４は、マーキングした危険個所（抽出領域）の座標（Ｘ１，Ｙ１，Ｘ２，Ｙ２）が含まれている。この座標は半導体チップ４１０上のＸ軸、Ｙ軸の座標（チップレイアウト座標）であり、Ｘ１及びＹ１は危険個所の最小値（左下端）の座標を示し、Ｘ２及びＹ２は危険個所の最大値（右上端）の座標を示している。
【０１３０】
さらに、図１５（ｃ）に示すように、セル４１５が配置される。セル配置部１３３は、テキストデータ４１４により危険個所４１３を認識する。セル配置部１３３は、危険箇所としてマーキングされた箇所に対してさらに危険度の高いセルや影響を受けやすいセルを配置しないように考慮する。または、セル配置部１３３は、危険箇所内のセルを影響の小さい同様の機能を持ったセルに置き換えてもよい。
【０１３１】
以上のように本実施の形態では、セルの拡散層、ポリシリコン層及びメタル層のデータ率、周囲長及び表面積比を計算し、このレイアウトパラメータをセル自身または格納部に与えておく。また、マクロ配置後の拡散層、ポリシリコン層及びメタル層のデータ率、周囲長及び表面積比の偏りがある箇所に対して、同じ方向の偏りがあるセル、特性を重視するセル、拡散層抵抗／ポリシリコン抵抗を配置することにコストを与えて、セル配置をおこなう。
【０１３２】
実施の形態１のマクロ配置と同様に、セル配置工程においてレイアウトパラメータを考慮してセルを配置するようにした。これにより、実施の形態１と同様に、ダミー挿入の前の段階で効果的にばらつきの発生を抑えることができる。
【０１３３】
セル配置では、マクロ配置のようにセル毎の考慮ではきりがないので、マクロ配置後、基準を満たすことが困難な領域や特性に影響を与える領域を認識し、その箇所に影響を悪化させるセルや特性の影響があると困るセルを置かないように考慮することで、効率よくばらつきを抑制する。
【０１３４】
マクロ配置の段階で拡散層、ポリシリコン層及びメタル層のデータ率、周囲長及び表面積比に偏りがある場合に、その偏りを認識し、セル配置を行うことで、更なる偏りの増加や影響を受けやすいセルの特性悪化を防止できる。
【０１３５】
（実施の形態３）
以下、図面を参照して実施の形態３について説明する。実施の形態１及び２では、主に、フロアプラン工程及びセル配置における最適化に関して説明したのに対し、本実施の形態では、実施の形態１のフロアプラン工程、実施の形態２のセル配置工程の後に行われるダミー挿入工程における最適化に関して説明する。なお、ダミー挿入工程以外については、実施の形態１及び２と同様であるため、説明を省略する。
【０１３６】
本実施の形態に係るダミー挿入処理は、実施の形態１に係るフロアプラン処理（図８）、実施の形態２に係るセル配置処理（図１４）の後に実行されることで、実施の形態１及び２に加えて本実施の形態による効果を得ることができる。また、実施の形態１及び実施の形態２に限らず、一般的なフロアプラン処理及びセル配置処理の後に、本実施の形態に係るダミー挿入処理を実行してもよい。これにより、少なくとも、本実施の形態による効果を得ることが可能である。
【０１３７】
図１６は、本実施の形態に係るフロアプラン・配置処理部１１４のうちのダミー挿入処理部１１８の内部構成を詳細に示している。図１６に示すように、ダミー挿入処理部１１８は、フィルセル挿入処理部１４０、ダミーメタル挿入処理部１５０を備えており、さらに、フィルセル挿入処理部１４０は、フィルセル選択部１４１、フィルセル挿入部１４２を備えている。
【０１３８】
フィルセル挿入処理部１４０は、フロアプラン工程、セル配置工程及び配線工程により生成された、マクロ、セル及びメタル配線が配置されたレイアウトデータに基づいて、空き領域にフィルセルを配置する。ダミーメタル挿入処理部１５０は、マクロ、セル及びメタル配線に加えてフィルセルが配置されたレイアウトデータに基づいて、空き領域にダミーメタルを配置する。
【０１３９】
フィルセル選択部１４１は、本実施の形態に係るフィルセルライブラリから、配置に最適なフィルセルを選択する。フィルセル挿入部１４２は、フィルセル選択部１４１が選択したフィルセルを、半導体チップの空き領域に配置する。
【０１４０】
図１７は、本実施の形態に係るダミー挿入工程におけるダミー挿入処理（フィルセル挿入処理）を示している。実施の形態１及び２のようにフロアプラン工程（Ｓ１０１）、セル配置工程（Ｓ１０２）が行われ、さらに配線工程（Ｓ１０３）が行われた後、本実施の形態に係るダミー挿入工程が行われる。ダミー挿入工程の前に必要な準備として、フィルセルライブラリ格納部２３１にフィルセルライブラリを格納する。フィルセルライブラリは、拡散層およびポリシリコン層のデータ率、周囲長及び表面積比が異なるフィルセルのラインナップデータである。最適なフィルセルを選択可能にするため、フィルセルライブラリには、レイアウトパラメータが異なるさまざまなバリエーションのフィルセルが含まれる。例えば、実施の形態１の図６のようにマクロＭ１〜Ｍ３が配置され、または、実施の形態１の図１２のようにマクロＡ〜マクロＤが配置され、さらに、実施の形態２の図１５のようにセルが配置された後、半導体チップ４００の空き領域に以下のフィルセルが配置される。
【０１４１】
図１８は、拡散層及びポリシリコンのデータ率が異なるフィルセルを含むフィルセルライブラリのフィルセルライブラリテーブル（ラインナップデータ）の例である。図１８では、各フィルセル（５０５−１〜５０５−９）はセルサイズが同一である。また、フィルセルライブラリテーブルは、各行または各列に、ポリシリコン層や拡散層のデータ率の一方を同じに他方が異なるような関係にあるファイルセルを用意したものである。
【０１４２】
図１８に示すように、ポリシリコン層５０１のデータ率が異なる複数のポリシリコンセル５０２（５０２−１〜５０２−３）を用意し、データ率の高いセルから低いセルへ順に配置する。この例は、ポリシリコンセルのデータ率が３パターンの例である。ポリシリコンセル５０２−１は、データ率が最も高いセルであり、ポリシリコンセル５０２−３は、データ率が最も低いセルであり、ポリシリコンセル５０２−２は、データ率がポリシリコンセル５０２−１とポリシリコンセル５０２−３との中間のセルである。拡散層５０３のデータ率が異なる複数の拡散層セル５０４（５０４−１〜５０４−３）を用意し、データ率の高いセルから低いセルへ順に配置する。この例は、拡散層５０３のデータ率が３パターンの例である。拡散層セル５０４−１は、データ率が最も高いセルであり、拡散層セル５０４−３は、データ率が最も低いセルであり、拡散層セル５０４−２は、データ率が拡散層セル５０４−１と拡散層セル５０４−３との中間のセルである。
データ率が異なる複数のポリシリコンセル５０２（５０２−１〜５０２−３）と、データ率が異なる複数の拡散層セル５０４（５０４−１〜５０４−２）とを組み合わせた、ポリシリコン及び拡散層のデータ率が異なる複数のフィルセル５０５（５０５−１〜５０５−９）をテーブルに配列する。この例では、３パターンのデータ率のポリシリコン層５０１と、３パターンのデータ率の拡散層５０３とを組み合わせるため、９パターンのフィルセル５０５となる。フィルセル５０５−１〜５０５−３は、拡散層５０３のデータ率が最も高いセルであり、そのうちフィルセル５０５−１はポリシリコン層５０１のデータ率が最も高く、フィルセル５０５−２はポリシリコン層５０１のデータ率が中間であり、フィルセル５０５−３はポリシリコン層５０１のデータ率が最も低い。フィルセル５０５−４〜５０５−６は、拡散層５０３のデータ率が中間のセルであり、そのうちフィルセル５０５−４はポリシリコン層５０１のデータ率が最も高く、フィルセル５０５−５はポリシリコン層５０１のデータ率が中間であり、フィルセル５０５−６はポリシリコン層５０１のデータ率が最も低い。フィルセル５０５−７〜５０５−９は、拡散層５０３のデータ率が最も高いセルであり、そのうちフィルセル５０５−７はポリシリコン層５０１のデータ率が最も高く、フィルセル５０５−８はポリシリコン層５０１のデータ率が中間であり、フィルセル５０５−９はポリシリコン層５０１のデータ率が最も低い。
図１８のようなフィルセルライブラリテーブルをあらかじめ記憶部に記憶しておくことより、所望の拡散層のデータ率と所望のポリシリコンのデータ率とを有する最適なフィルセルを選択することができる。
【０１４３】
図１９は、拡散層及びポリシリコンの周囲長が異なるフィルセルのラインナップデータの例である。図１９では、各フィルセル（５１１、５１２−１〜５１２−３、５１３−１〜３）はセルサイズが同一である。また、本実施の形態にあっては、各フィルセル（５１１、５１２−１〜５１２−３、５１３−１〜３）はポリシリコン層や拡散層のデータ率が同じで、ポリシリコン層または拡散層の周囲長が異なるセルである。このようなフィルセルを用意することにより、データ率を最適化したのち、周囲長の異なるフィルセルに置き換えることによって周囲長の最適化が計れる。
図１９に示すように、基本となる標準的な周囲長のポリシリコン層５０１及び拡散層５０３を有するフィルセルを通常のフィルセル５１１とする。通常のフィルセル５１１に対し、ポリシリコン層５０１の周囲長は一定で、拡散層５０３の周囲長が異なる複数のフィルセルを拡散層の周囲長調整用のフィルセル５１２（５１２−１〜５１２−３）とする。この例は、拡散層５０３の周囲長が３パターンの例である。フィルセル５１２−１は、フィルセル５１１と同じセルである。フィルセル５１２−２は、フィルセル５１１の拡散層５０３を半分に切断している。すなわち、フィルセル５１２−２は、ポリシリコン層５０１の周囲長がフィルセル５１１と同じであり、拡散層５０３の周囲長がフィルセル５１１よりも小さいセルである。フィルセル５１２−３は、フィルセル５１２−２の拡散層５０３をさらに半分に切断している。すなわち、フィルセル５１２−３は、ポリシリコン層５０１の周囲長がフィルセル５１１と同じであり、拡散層５０３の周囲長がフィルセル５１２−２よりもさらに小さいセルである。
通常のフィルセル５１１に対し、拡散層５０３の周囲長は一定で、ポリシリコン層５０１の周囲長が異なる複数のフィルセルをポリシリコン層の周囲長調整用のフィルセル５１３（５１３−１〜５１３−３）とする。この例は、ポリシリコン層５０１の周囲長が３パターンの例である。フィルセル５１３−１は、フィルセル５１１のポリシリコン層５０１を半分に切断している。すなわち、フィルセル５１３−１は、拡散層５０２の周囲長がフィルセル５１１と同じであり、ポリシリコン層５０１の周囲長がフィルセル５１１よりも小さいセルである。フィルセル５１３−２は、フィルセル５１３−１と同じセルである。フィルセル５１３−３は、フィルセル５１３−１のポリシリコン層５０１をさらに半分に切断している。すなわち、フィルセル５１３−３は、拡散層５０２の周囲長がフィルセル５１１と同じであり、ポリシリコン層５０１の周囲長がフィルセル５１３−１よりもさらに小さいセルである。
図１９のようなフィルセルのラインナップデータをあらかじめ記憶部に記憶しておくことにより、通常のフィルセルを基本として、拡散層の周囲長、または、ポリシリコン層の周囲長を所望の長さに設定できる。
なお、図１８，１９では、同一セルサイズのフィルセルで説明をしたが、セルサイズの異なるフィルセルそれぞれについて、上記と同様に複数のフィルセルを作成してもよい。また作成する数やバリエーションも様々な組み合わせが可能である。
【０１４４】
本実施の形態に係るダミー挿入工程（Ｓ１０４）では、半導体チップ設計処理部１１０のダミー挿入処理部１１８は、配線工程で生成された配線工程後のレイアウトデータ、フィルセルライブラリ格納部２３１のフィルセルライブラリに基づいて、フィルセルを配置したレイアウトデータを生成する。
【０１４５】
ダミー挿入工程（Ｓ１０４）には、主に、Ｃｈｅｃｋ工程、フィルセル選択工程、フィルセル配置工程が含まれる。Ｃｈｅｃｋ工程では、特定領域毎の拡散層およびポリシリコン層のデータ率、周囲長及び表面積比を計算する。フィルセル選択工程では、データ率、周囲長及び表面積比の計算結果から対象領域に挿入するフィルセルを選択する。フィルセル配置工程では、フィルセルの選択に基づいて、決められたフィルセルを対象領域に挿入する。
【０１４６】
具体的には、図１７に示すように、ダミー挿入工程（Ｓ１０４）では、各領域のデータ率及び周囲長をチェックする（Ｓ３０１）。また、チップ全体のデータ率及び周囲長をチェックする（Ｓ３０２）。このレイアウトパラメータのチェックは、実施の形態１のフロアプラン工程や実施の形態２のセル配置のレイアウトチェックと同様に、レイアウトチェック処理部１００で行ってもよいし、半導体チップ設計処理部１１０で行ってもよい。例えば、半導体チップ設計処理部１１０の検査領域設定部１１１が、検査するための特定領域を設定し、レイアウトパラメータ算出部１１２が、設定された特定領域ごとに拡散層、ポリシリコン層及びメタル層それぞれのデータ率及び周囲長を算出する。
【０１４７】
続いて、フィルセル選択部１４１は、各領域で挿入するフィルセルを選択する（Ｓ３０３）。フィルセル選択部１４１は、算出された各領域のデータ率及び周囲長、チップ全体のデータ率及び周囲長に基づいて必要となるフィルセルのデータ率及び周囲長を決定し、決定したデータ率及び周囲長を有するフィルセルをフィルセルライブラリから選択する。フィルセルライブラリからのフィルセルの選択方法については後述する。
【０１４８】
続いて、フィルセル挿入部１４２は、選択したフィルセルを埋め込む（Ｓ３０４）。フィルセル挿入部１４２は、配線後のレイアウトデータから半導体チップ上の空き領域を特定し、空き領域にフィルセル選択部１４１が選択したフィルセルを配置する。
【０１４９】
図２０は、本実施の形態に係るダミー挿入（フィルセル挿入）の具体例を示している。図２０（ａ）に示すように、実施の形態１と同様に、半導体チップ４１０上で検査領域４１１を設定し、拡散層、ポリシリコン層及びメタル配線のデータ率及び周囲長をチェック（検査）する。
【０１５０】
図２０（ｂ）に示すように、チェックの結果としてテキストデータ５２１が生成される。テキストデータ５２１には、拡散層のデータ率、ポリシリコン層のデータ率、表面積比、拡散層の周囲長、ポリシリコンの周囲長が含まれている。
【０１５１】
図２０（ｂ）のテキストデータ５２１に対し、図２０（ｃ）に示すように、チェック結果に対し各パラメータの補正方向を示すデータが付加される。チェック結果を基準値と比較し、フィルセルにより各パラメータをどのように補正するか決定する。
【０１５２】
この補正方向に基づいて、図２０（ｄ）のようなフィルセル５２３が選択され、図２０（ｅ）に示すように、選択されたフィルセル５２３が領域４１１に挿入される。
【０１５３】
次に、図２１〜図２５を用いて、本実施の形態に係るフィルセルの選択方法について説明する。このフィルセルの選択方法は、図１７のＳ３０３で実行される方法である。
【０１５４】
図２１に示すように、まず、フィルセル選択部１４１は、拡散層のデータ率を基準と比較し（Ｓ３１１）、比較結果に応じてフィルセルの拡散層のデータ率の範囲を決定する（Ｓ３１２）。フィルセル選択部１４１は、算出されている特定領域の拡散層のデータ率を基準と比較して、基準を満たすために必要となるフィルセルの拡散層のデータ率の範囲を決定する。図２２に示すように、フィルセルライブラリテーブルにおいて、必要な拡散層のデータ率の範囲５３１を決定する。図２２では、データ率の範囲５３１に含まれるフィルセル５０５−１〜５０５−６が選択される。
【０１５５】
続いて、フィルセル選択部１４１は、ポリシリコン層のデータ率を基準と比較し（Ｓ３１３）、比較結果に応じてフィルセルのポリシリコン層のデータ率の範囲を決定する（Ｓ３１４）。フィルセル選択部１４１は、算出されている特定領域のポリシリコン層のデータ率を基準と比較して、基準を満たすために必要となるフィルセルのポリシリコン層のデータ率の範囲を決定する。図２３に示すように、フィルセルライブラリテーブルにおいて、必要なポリシリコン層のデータ率の範囲５３２を決定する。図２３では、データ率の範囲５３２に含まれるフィルセル５０５−２、５０５−３、５０５−５、５０５−６、５０５−８、５０５−９が選択される。
【０１５６】
続いて、フィルセル選択部１４１は、決定された拡散層のデータ率とポリシリコン層のデータ率の範囲内で、フィルセルの表面積比を基準と比較し（Ｓ３１５）、比較結果に応じて最適な表面積比のフィルセルを選択する（Ｓ３１６）。フィルセル選択部１４１は、図２４に示すように、フィルセルライブラリテーブルにおいて、決定した拡散層のデータ率の範囲５３１と、決定したポリシリコン層のデータ率の範囲５３２とが重なる範囲内のフィルセルについて、表面積比を基準と比較し、この範囲内で基準を満たすフィルセル５３３を選択する。これにより、データ率及び表面積比が最適なフィルセルを選択できる。図２４では、まず、データ率の範囲５３１及び５３２に含まれるフィルセル５０５−２、５０５−３、５０５−５、５０５−６が選択され、その中で表面積の基準を満たすフィルセル５０５−３が選択される。
【０１５７】
続いて、フィルセル選択部１４１は、選択したフィルセルの拡散層の周囲長を基準と比較し（Ｓ３１７）、周囲長を増加させる場合は拡散層を切断する（Ｓ３１８）。フィルセル選択部１４１は、Ｓ３１６で選択したデータ率及び表面積比が基準を満たすフィルセルについて、拡散層の周囲長を基準と比較し、基準を満たすように拡散層の周囲長を調整する。図２５に示すように、選択されたフィルセル５４０について、拡散層の周囲長が基準を満たさない場合、フィルセル５４１のように拡散層を切断し周囲長を増加させる。これにより、フィルセルお周囲長を最適値に設定できる。なお、図１９のように、予め用意されたフィルセルライブラリから拡散層の周囲長が最適なフィルセルを選択してもよい。
【０１５８】
続いて、フィルセル選択部１４１は、選択したフィルセルのポリシリコン層の周囲長を基準と比較し（Ｓ３１９）、周囲長を増加させる場合はポリシリコン層を切断する（Ｓ３２０）。フィルセル選択部１４１は、Ｓ３１６で選択したデータ率及び表面積比が基準を満たすフィルセルについて、ポリシリコン層の周囲長を基準と比較し、基準を満たすようにポリシリコン層の周囲長を調整する。図２５に示すように、選択されたフィルセル５４０について、ポリシリコン層の周囲長が基準を満たさない場合、フィルセル５４２のようにポリシリコン層を切断し周囲長を増加させる。フィルセルお周囲長を最適値に設定できる。なお、図１９のように、予め用意されたフィルセルライブラリからポリシリコン層の周囲長が最適なフィルセルを選択してもよい。
【０１５９】
以上のように本実施の形態では、設計フローの最終段階であるフィルセル挿入時に、ある特定領域の拡散層及びポリシリコン層のデータ率、周囲長及び表面積比を計算し、特定の基準と比較することで挿入するフィルセルを選択し、特定領域の空き領域に選択したフィルセルを挿入する。
【０１６０】
通常のフィルセル挿入では、単一構造のフィルセルを空きエリアの大きさに合わせて埋めている。本実施の形態では、各領域で挿入するフィルセルを変更することで、拡散層およびポリシリコン層のデータ率、周囲長及び表面積比の均一化を図ることができる。
【０１６１】
設計フローの最終段階で、拡散層やポリシリコン層のデータ率及び周囲長を最適化できるので、ある程度の問題であれば、マクロ配置やセル配置への後戻りを防ぐことが出来る。
【０１６２】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で 種々変更可能であることはいうまでもない。
【符号の説明】
【０１６３】
１      記憶部
２      マクロ配置部
３      コスト算出部
４      マクロ再配置部
１０    コンピュータシステム
１１    本体部
１３    メインメモリ
１４    ハードディスク
１５    表示装置
１６    キーボード
１７    マウス
１８    半導体チップ設計プログラム
１９    各種データ
２０    半導体チップ設計装置
１００  レイアウトチェック処理部
１０１  レイアウトパラメータ算出部
１０２  レイアウトパラメータ作成部
１０３  レイアウトパラメータ挿入部
１１０  半導体チップ設計処理部
１１１  検査領域設定部
１１２  レイアウトパラメータ算出部
１１３  考慮対象領域抽出部
１１４  フロアプラン・配置処理部
１１５  フロアプラン処理部
１１６  セル配置処理部
１１７  配線処理部
１１８  ダミー挿入処理部
１１９  結果確認部
１２１  マクロ配置部
１２１  フロアプラン処理部
１２２  コスト算出部
１２３  配置変更部
１２４  コスト変更部
１３１  領域抽出部
１３２  領域設定部
１３３  セル配置部
１４０  フィルセル挿入処理部
１４１  フィルセル選択部
１４２  フィルセル挿入部
１５０  ダミーメタル挿入処理部
２０１  入力装置
２０２  表示装置
２０３  マクロライブラリ格納部
２０４  マクロレイアウトデータ格納部
２０５  パラメータ付きマクロライブラリ格納部
２１１  入力装置
２１２  表示装置
２１３  処理前レイアウトデータ格納部
２１４  処理後レイアウトデータ格納部
２２１  セルレイアウトパラメータ格納部
２２２  セルリスト格納部
２３１  フィルセルライブラリ格納部
【図１】
2014044560.tif 000008
【図２】
2014044560.tif 000009
【図３】
2014044560.tif 000010
【図４】
2014044560.tif 000011
【図５】
2014044560.tif 000012
【図６】
2014044560.tif 000013
【図７】
2014044560.tif 000014
【図８】
2014044560.tif 000015
【図９】
2014044560.tif 000016
【図１０】
2014044560.tif 000017
【図１１】
2014044560.tif 000018
【図１２】
2014044560.tif 000019
【図１３】
2014044560.tif 000020
【図１４】
2014044560.tif 000021
【図１５】
2014044560.tif 000022
【図１６】
2014044560.tif 000023
【図１７】
2014044560.tif 000024
【図１８】
2014044560.tif 000025
【図１９】
2014044560.tif 000026
【図２０】
2014044560.tif 000027
【図２１】
2014044560.tif 000028
【図２２】
2014044560.tif 000029
【図２３】
2014044560.tif 000030
【図２４】
2014044560.tif 000031
【図２５】
2014044560.tif 000032
【図２６】
2014044560.tif 000033