(57)【特許請求の範囲】
【請求項１】
回路要素が結合して所定の機能を実現する機能ブロックの属性を定義する為のパラメータを含む複数の回路部品データがコンピュータに入力される第１処理と、
設計対象回路から前記機能ブロックをコンピュータが抽出する第２処理と、
前記第２処理で抽出された機能ブロックに対応する前記回路部品データの前記パラメータに所望の属性を満足させるようにパラメータデータを与えて、当該機能ブロックのレイアウトパターンデータをコンピュータが生成する第３処理と、を含み、
前記第３処理において、前記機能ブロックのレイアウトパターンを決定する為の前記複数のパラメータに対するパラメータデータを遺伝子とし、その遺伝子に対するレイアウトパターンを個体として、遺伝的アルゴリズムを用いて個体に対する評価を行い、所定の評価が得られた個体に対応するレイアウトパターンデータを生成する、ことを特徴とするレイアウト設計方法。
【請求項２】
前記第１処理において、同一機能ブロックに対して異なる回路部品データを複数読み込み、
前記第３処理において、他の機能ブロックとの接続関係を満足するように前記第２処理で抽出された機能ブロックに対応する前記複数の回路部品データから一つの回路部品データを選択する、ことを特徴とする請求項１記載のレイアウト設計方法。
【請求項３】
前記第３処理において、機能ブロックが複数のＭＯＳトランジスタを含むとき、ＭＯＳトランジスタ相互間のゲート電極の交差配線を少なくするように当該機能ブロックのレイアウトパターンデータを生成することを特徴とする請求項１記載のレイアウト設計方法。
【請求項４】
前記第３処理において、非交差ゲート配線、交差ゲート配線、ソース・ドレイン接続配線の順に先頭より配線経路決定の優先順位を高くすることを特徴とする請求項３記載のレイアウト設計方法。
【請求項５】
前記パラメータは、前記回路要素のパターン、パターンサイズ、配線層定義、デザインルール、伝播遅延、及び駆動能力を夫々表す為のパラメータの中から選ばれた単数又は複数のパラメータを更に含むことを特徴とする請求項１記載のレイアウト設計方法。
【請求項６】
前記パラメータデータによって夫々決まるところの信号遅延時間、駆動能力、占有面積、総配線数及び総配線長の中から選ばれた単数又は複数の属性に相関する評価関数を用いて個体の評価を行なうことを特徴とする請求項１記載のレイアウト設計方法。
【請求項７】
レイアウトパターンデータが生成された複数の機能ブロックの配置をコンピュータが決定する第４処理を更に含むことを特徴とする請求項１記載のレイアウト設計方法。
【請求項８】
前記第４処理は、設計対象回路における信号の流れに沿うように機能ブロックの配置を決定する請求項７記載のレイアウト設計方法。
【請求項９】
前記第４処理は、機能ブックの接続配線が短くなるように機能ブロックの配置を決定する請求項７記載のレイアウト設計方法。
【請求項１０】
前記第４処理において、機能ブロックの配置を決定する為の複数のパラメータに対するパラメータデータを遺伝子とし、その遺伝子に対する機能ブロック配置を個体とするとき、複数の個体に対し、遺伝的アルゴリズムを用いて個体に対する評価を目的値に到達させることを特徴とする請求項７記載のレイアウト設計方法。
【請求項１１】
パラメータの値によって夫々決まるところの信号遅延時間、占有面積、機能ブロック間の総配線数及び総配線長の中から選ばれた単数又は複数の属性に相関する評価関数を用いて個体に対する評価を行なうことを特徴とする請求項１０記載のレイアウト設計方法。
【請求項１２】
配置が決定された複数の機能ブロック間を配線するための配線パターンを生成する第５処理を更に含むことを特徴とする請求項７記載のレイアウト設計方法。
【請求項１３】
コンピュータネットワークを介して処理対象回路データと要求仕様をコンピュータが受取る受け取り処理と、
前記受取った対象回路データで特定される対象回路のレイアウトパターンデータを前記受取った要求仕様に基づいてコンピュータが生成するパターン生成処理と、
前記パターン生成処理で生成されたレイアウトパターンデータをコンピュータネットワークを介してコンピュータが送出する送出処理と、を含み、
前記パターン生成処理は、回路要素が結合して所定の機能を実現する機能ブロックの属性を定義する為のパラメータを含む複数の回路部品データがコンピュータに入力される第１処理と、
処理対象回路から前記機能ブロックをコンピュータが抽出する第２処理と、
前記第２処理で抽出された機能ブロックに対応する前記回路部品データの前記パラメータに所望の属性を満足させるようにパラメータデータを与えて、当該機能ブロックのレイアウトパターンデータをコンピュータが生成する第３処理と、
レイアウトパターンデータが生成された複数の機能ブロックの配置を決定する第４処理と、
配置が決定された複数の機能ブロック間を配線するための配線パターンを生成する第５処理と、を含み、
前記第３処理において、前記機能ブロックのレイアウトパターンを決定する為の前記複数のパラメータに対するパラメータデータを遺伝子とし、その遺伝子に対するレイアウトパターンを個体として、遺伝的アルゴリズムを用いて個体に対する評価を行い、所定の評価が得られた個体に対応するレイアウトパターンデータを生成する、ことを特徴とするレイアウトパターンデータの提供方法。
【請求項１４】
前記パラメータデータによって夫々決まるところの信号遅延時間、駆動能力、占有面積、総配線数及び総配線長の中から選ばれた単数又は複数の属性に相関する評価関数を用いて個体の評価を行なうことを特徴とする請求項１３記載のレイアウトパターンデータの提供方法。
【請求項１５】
前記第４処理において、機能ブロックの配置を決定する為の複数のパラメータに対するパラメータデータを遺伝子とし、その遺伝子に対する機能ブロック配置を個体とするとき、複数の個体に対し、遺伝的アルゴリズムを用いて個体に対する評価を目的値に到達させることを特徴とする請求項１３記載のレイアウトパターンデータの提供方法。
【請求項１６】
前記パラメータデータによって夫々決まるところの信号遅延時間、占有面積、機能ブロック間の総配線数及び総配線長の中から選ばれた単数又は複数の属性に相関する評価関数を用いて個体に対する評価を行なうことを特徴とする請求項１５記載のレイアウトパターンデータの提供方法。
【請求項１７】
回路要素が結合して所定の機能を実現する機能ブロックの属性を定義する為のパラメータを含む回路部品データがコンピュータに入力される入力処理と、
前記機能ブロックに対応する前記回路部品データの前記パラメータに所望の属性を満足させるようにパラメータデータを与えて、当該機能ブロックのレイアウトパターンデータをコンピュータが生成するとき、前記機能ブロックのレイアウトパターンを決定する為の複数のパラメータに対するパラメータデータを遺伝子とし、その遺伝子に対するレイアウトパターンを個体とし、遺伝的アルゴリズムを用いて個体に対する評価を行い、所定の評価が得られた個体に対応するレイアウトパターンデータを生成するパターン生成処理と、を含むことを特徴とするレイアウト設計方法。
【請求項１８】
前記パラメータデータによって夫々決まるところの信号遅延時間、駆動能力、占有面積、総配線数及び総配線長の中から選ばれた単数又は複数の属性に相関する評価関数を用いて個体の評価を行なうことを特徴とする請求項１７記載のレイアウト設計方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路若しくはそれにオンチップされる回路モジュールに対するセルベースのレイアウト設計方法、更に、セルベースのレイアウト設計などに利用されるデータライブラリの提供方法等に関し、例えばプロセス世代毎のセルレイアウトの自動化に適用して有効な技術に関する。
【０００２】
【従来の技術】
セルベースのレイアウト設計に関し、特開２００１−０５３１５４公報には、基本的なゲートで構成された基本リーフセルを用いて配置配線処理と配置配線後の検証を行ない、前記検証の結果に基づき配置配線を考慮したゲートレベルの論理と遅延の最適化がなされた複合セルを作成する、技術が記載される。
【０００３】
【発明が解決しようとする課題】
従来のセルベースのレイアウト設計では、回路の論理記述からネットリストを生成し、ネットリスト上に複数の基本セルを配置し、配置した基本セルに対して遅延と論理の最適化を行なう。しかしながら、従来のレイアウト設計方法は、プロセスの変更や設計値の変更に対する対応性が考慮されていなかった。基本セルに対してパターンを可変にする着眼がなく、出来上がったレイアウトパターンが固定パターンの集合であるから、プロセスの変更もしくはプロセスの世代交代、設計値の変更に対して迅速に対処することができない、という点が本発明者によって明らかにされた。
【０００４】
本発明の目的は、プロセスの変更もしくはプロセスの世代交代、設計値の変更等に対して迅速に対処することができるレイアウトパターンの設計方法を提供する。
【０００５】
本発明の別の目的は、プロセスの変更もしくはプロセスの世代交代、設計値の変更等に対して迅速に対処することを可能にするレイアウト設計用のデータライブラリ提供方法を実現することにある。
【０００６】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【０００７】
【課題を解決するための手段】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【０００８】
〔１〕レイアウト設計方法は、回路要素が結合して所定の機能を実現する機能ブロックの回路記述データと前記機能ブロックの属性を定義する為のパラメータとを含む複数の回路部品データを用意し（第１処理）、設計対象回路から前記機能ブロックを分離し（第２処理）、分離した機能ブロックに所要の属性を満足させるように、対応する回路部品データのパラメータにパラメータデータを与えて、当該機能ブロックのレイアウトパターンデータを生成する（第３処理）。
【０００９】
プリミティブセルとしての機能ブロックを定義する回路部品データは、そのパラメータの設定値に応じて機能ブロックの属性（例えばパターンサイズや駆動能力など）を定義することができる。従って、出来上がったレイアウトパターンも単なる固定パターンの集合ではない。これにより、設計対象回路において、プロセスの変更もしくはプロセスの世代交代、設計値の変更に対して迅速に対処することができる。
【００１０】
設計対象回路全体のレイアウトパターンを決定するには、第３処理でレイアウトパターンデータが生成された複数の機能ブロックの配置を決定する（第４処理）。更に、第４処理で配置が決定された複数の機能ブロック間を配線するための配線パターンを生成する（第５処理）。
【００１１】
本発明の一つの具体的な態様として、前記第１処理において、同一機能ブロックに対して異なる複数の回路部品データを読み込む。第３処理において、分解された機能ブロックに対応する回路部品データを選択するとき、選択の幅が広がる。前記第３処理における回路部品データの選択では、機能ブロックに対応する複数の回路部品データから一つの回路部品データを選択するとき、他の機能ブロックとの接続関係を満足し易い回路部品データを選択すれば簡単である。
【００１２】
本発明の一つの具体的な態様として、前記第３処理において、機能ブロックが複数のＭＯＳトランジスタを含むとき、ＭＯＳトランジスタ相互間のゲート電極の交差配線を少なくするように当該機能ブロックのレイアウトパターンデータを生成する。総配線数及び配線長の縮小に寄与する。
【００１３】
本発明の一つの具体的な態様として、前記第３処理において、非交差ゲート配線、交差ゲート配線、ソース・ドレイン接続配線の順に先頭より配線経路決定の優先順位を高くするのがよい。アルミニウムやタングステンなどの複数層の金属配線を利用し易いソース・ドレイン接続配線による信号経路選択は、柔軟性に富む。
【００１４】
前記パラメータは、例えば、前記回路要素のパターン、パターンサイズ、配線層定義、デザインルール、伝播遅延、及び駆動能力を夫々表す為のパラメータの中から選ばれた単数又は複数のパラメータである。
【００１５】
本発明の一つの具体的な態様として、生成すべきレイアウトパターンに対する評価の手法に遺伝的アルゴリズムを採用する。すなわち、前記第３処理において、機能ブロックのレイアウトパターン（解の候補）を決定する為の複数のパラメータに対するパラメータデータを遺伝子とし、その遺伝子に対するレイアウトパターンを個体とするとき、遺伝的アルゴリズムを用いて個体に対する評価を目的値に到達させる。レイアウトパターンに対する最適化が容易になる。例えば、そのような評価として、前記パラメータデータによって夫々決まるところの信号遅延時間、駆動能力、占有面積、総配線数及び総配線長の中から選ばれた単数又は複数の属性に相関する評価関数を用いて個体の評価を行なえばよい。
【００１６】
本発明の一つの具体的な態様として、前記第４処理では、設計対象回路における信号の流れに沿うように機能ブロックの配置を決定するのがよい。総配線数及び配線長の縮小に寄与する。また、前記第４処理は、機能ブックの接続配線が短くなるように機能ブロックの配置を決定するのがよい。
【００１７】
本発明の一つの具体的な態様として、機能ブロックの配置に対する評価の手法にも遺伝的アルゴリズムを採用する。すなわち、前記第４処理において、機能ブロックの配置（解の候補）を決定する為の複数のパラメータに対するパラメータデータを遺伝子とし、その遺伝子に対する機能ブロック配置を個体とするとき、複数の個体に対し、遺伝的アルゴリズムを用いて個体に対する評価を目的値に到達させる。例えばそのような評価として、パラメータの値によって夫々決まるところの信号遅延時間、占有面積、機能ブロック間の総配線数及び総配線長の中から選ばれた単数又は複数の属性に相関する評価関数を用いて個体に対する評価を行なえばよい。
【００１８】
〔２〕本発明の別の観点によるデータライブラリの提供方法は、コンピュータネットワークを介して処理対象回路データと要求仕様を受取る受け取り処理と、前記受取った対象回路データで特定される対象回路のレイアウトパターンデータを前記要求仕様に基づいて生成するパターン生成処理と、前記パターン生成処理で生成されたレイアウトパターンデータをコンピュータネットワークを介して送出する送出処理と、を含む。前記パターン生成処理は前記第１乃至第５処理を含む。
【００１９】
データライブラリの提供ビジネスに着目すれば、半導体集積回路の製造メーカもしくはファブメーカのプロセスに最適化したレイアウトパターンデータを作成して提供することができる。例えば、ファブレスから処理対象回路データを受取ると、ファブメーカは自社のプロセスに従ったパラメータデータを用いたりしてレイアウトパターンデータを生成し、依頼元のファブレスにレイアウトパターンデータを返す。
【００２０】
第３処理におけるレイアウトパターンの評価、第４処理における機能ブロック配置の評価には、前記遺伝的アルゴリズムを用いた評価手法を採用可能である。
【００２１】
〔３〕本発明の更に別の観点は、遺伝的アルゴリズムによりレイアウトパターンの世代を重ねてその最適化を図るというものである。即ち、レイアウト設計方法は、複数の回路要素が結合して所定の機能を実現する機能ブロックの回路記述データと前記機能ブロックの属性を定義する為のパラメータとを含む回路部品データを読み込む。前記機能ブロックに所要の属性を満足させるように、対応する回路部品データのパラメータにパラメータデータを与えて、当該機能ブロックのレイアウトパターンデータを生成するとき、前記機能ブロックのレイアウトパターン（解の候補）を決定する為の複数のパラメータに対するパラメータデータを遺伝子とし、その遺伝子に対するレイアウトパターンを個体とし、遺伝的アルゴリズムを用いて個体を目的値に到達させる。例えばそのような評価として、前記パラメータデータによって夫々決まるところの信号遅延時間、駆動能力、占有面積、総配線数及び総配線長の中から選ばれた単数又は複数の属性に相関する評価関数を用いて個体に対する評価を行なえばよい。
【００２２】
【発明の実施の形態】
図１には本発明に係るレイアウト設計方法におけるデータライブラリが例示される。図１において１は、ＥＤＡ（エンジニアリング・デザイン・オートメーション）システムであり、半導体集積回路のレイアウトパターンの自動生成を支援するツールシステムとして位置付けられ、ワークステーションなどによって構成される。このＥＤＡシステムには種々の機能ブロックの回路部品データを有する部品ライブラリ２が接続される。ＥＤＡシステム１は、レイアウト設計の対象となる設計対象回路の回路記述データ（設計対象スケマティックデータ）３を入力し、設計対象回路から前記部品ライブラリ２で定義される機能ブロックを抽出し、抽出した機能ブロックに所要の属性を満足させるように、対応する回路部品データのパラメータにパラメータデータ４を与えて、当該機能ブロックのレイアウトパターンデータを生成する。生成されたレイアウトパターンデータはトップライブラリとしてのレイアウトライブラリ５が保有する。
【００２３】
前記部品ライブラリ２は、回路要素（例えばトランジスタや配線要素等）が結合して所定の機能を実現する機能ブロック（例えばナンドゲート等）の回路記述データと前記機能ブロックの属性を定義するためのパラメータとを含む複数の回路部品データを有する。図１では部品ライブラリ２はスケマティックライブラリ１０とパラメタライズセルライブラリ１１に分割され、一つの機能ブロックの回路部品データはスケマティックライブラリ１０とパラメタライズセルライブラリ１１に分けて格納される。スケマティックライブラリ１０は、機能ブロックのトランジスタレベルの回路図データ１０Ａと、当該機能ブロックを構成するトランジスタのゲート幅及びゲート長寸法や端子配置などを特定するパラメータとを有する。パラメタライズセルライブラリ１１は機能ブロックを配置するための拡散基本セル１１Ａと、機能ブロックを構成する夫々のトランジスタの形状１１Ｂとを、パラメータによってプログラマブルに定義できるパラメータを有している。拡散基本セル１１Ａは、ｐ型拡散領域（ｐ）、ｎ型拡散領域（ｎ）、回路の電源電圧が与えられる電源パターン（ｖｄｄ）、回路の接地電位が与えられるグランドパターン（ｇｎｄ）が定義される。この拡散基本セル１１Ａは、１１Ｂに代表されるような機能ブロックを構成する夫々のトランジスタを配置するための下地としての意味を持つ。尚、前記部品ライブラリ２において各種パラメータには予めデフォルト値が設定されている。
【００２４】
設計対象スケマティックデータ３は、ゲートレベルのような回路記述１２等によってレイアウト設計対象を特定する。
【００２５】
図１の例に従えば、ＥＤＡシステム１は、設計対象回路から、部品ライブラリ２が有する機能ブロックを抽出する。部品ライブラリ２が２入力ナンドゲート、２入力ノアゲートの機能ブロックの回路部品データを有しているとすれば、設計対象スケマティックデータ３の回路記述１２から、２個の２入力ナンドゲートと１個の２入力ノアゲートの機能ブロックを抽出する。ＥＤＡシステム１は、抽出した夫々の機能ブロックに対し、パラメータデータ４で指定される仕様を満足するレイアウトパターンを夫々決定し、レイアウトパターンが決定された機能ブロックに対して信号の流れる方向を考慮して配置を決定し、配置が決定された機能ブロック間の配線を決定する。これによって図１に例示されるようなレイアウトパターン１３のデータが生成される。
【００２６】
ここで、前記部品ライブラリ２を構成する前記回路部品データのパラメータについて説明する。機能ブロックのパラメータは、例えば、セル名、駆動力（駆動能力）、レイアウト形状、ゲートサイズ、配線層定義（配線層名、配線幅）、デザインルール（最小配線幅、最小スペーシング）、コンタクト定義（コンタクト名、層名、サイズ、下層名、オーバラップ）、ＭＯＳ段数定義、端子定義、信号伝搬遅延等とされる。前記セル名は機能ブロックの識別名称、或は機能ブロックの構成要素である回路素子などを指称する識別名称を意味する。例えばセル名Ｐ１＿Ｎ１は、ＭＯＳトランジスタの導電型とスタック数を示すパラメータとして機能し、１個のｐチャネル型ＭＯＳトランジスタ（Ｐ１）を意味し、これは１個のｎチャネル型ＭＯＳトランジスタ（Ｎ１）に直列配置されるものであることを意味する。前記駆動力はセル名で示される回路の駆動能力を倍力のような相対値（倍率）で示すパラメータである。例えば×１を基準値とすると、×００は抵抗素子互換、×０は最低動作保証倍力、×２は基準の２倍の駆動能力を意味する。
【００２７】
前記パラメータに対するデータ設定に応じて機能ブロックの回路的な性能、及びデバイス的な構造が決まる。ＥＤＡシステム１による設計対象回路のレイアウト設計において、必要な要求仕様（設計仕様）を満足させる為の条件はパラメータデータ４により与えられる。パラメータデータ４は全てのパラメータを決定する訳ではなく、ＥＤＡシステム１は、設計対象回路の機能や接続関係より、要求仕様を満足するように、その他のパラメータのパラメータデータを自動的に決定して、最適なレイアウトパターンの生成を支援する。
【００２８】
前記パラメータデータ４によって指定されるパラメータは、例えば、駆動力、ゲートサイズ、配線層定義（配線層名、配線幅）等とされる。
【００２９】
図２にはレイアウトパターンの設計フローが例示される。ここでは、部品ライブラリの生成から始り、トップライブラリが生成される過程を示す。部品ライブラリの生成では、機能ブロックのパターン自動生成（Ｓ１）と、その下地になる拡散基本セルの生成（Ｓ２）に大別される。機能ブロックのパターン自動生成（Ｓ１）では一つの機能ブロックに対して複数のパターンを生成する。即ち、複数のパターン片を配置してブロックレイアウトを生成する際、後述する遺伝的アルゴリズムを用いた評価結果の良好なパターンを複数個採用する。この時の評価は、機能ブロックの機能等によって優先事項が相違するから、その回路的な性能重視や、占有面積縮小重視等の観点より、選択条件を変更して予め複数通りのレイアウトパターンを用意しておく。
【００３０】
トップライブラリの生成処理は、機能ブロックのパターン生成（Ｓ３）、機能ブロックの配置（Ｓ４）及び機能ブロック間配線（Ｓ５）によって行われる。
【００３１】
機能ブロックのパターン生成（Ｓ３）では、設計対象回路から抽出された機能ブロックに対するパターン生成が行われる。このとき、ＭＯＳトランジスタのゲート配線の交差数が最小になるようにＭＯＳトランジスタの配置を決める。更に、信号伝播遅延の最小化、消費電力の適正化、そして、機能ブロックを横切る空きチャネル数、機能ブロックの占有面積、総配線数、及び総配線長の縮小化を評価しながら、それを実現する方向で、機能ブロックのレイアウトパターンを生成する。その評価には、後述する遺伝的アルゴリズムを用いた評価結果を用いる。
【００３２】
機能ブロックの配置（Ｓ４）では、分解されてレイアウトパターンが決定された複数の機能ブロックの配置を決め（Ｓ４ａ）、それを拡散基本セルの配置する（Ｓ４ｂ）。機能ブロック配置を決定するとき（Ｓ４ａ）、設計対象回路の入力から出力への信号伝播方向遵守、信号伝播遅延の減少、消費電力の適正化（低消費電力化）、回路面積の縮小、総配線数、及び総配線長の縮小化の評価結果を参照し、その評価結果の良好な配置を採用する。その評価には、後述する遺伝的アルゴリズムを用いた評価結果を用いる。
【００３３】
機能ブロック間配線（Ｓ５）では、配線グリッド上で機能ブロックの対応端子を結線する。この時、回路内の複数の機能ブロックに結線される制御線がある場合、その接続を最優先する手法を採用してよい。配線の接続は接続端子の定義として与えられる。
【００３４】
前記ＥＤＡシステム１を用いたレイアウト設計方法の具体例を更に説明する。このレイアウト設計は、部品ライブラリ２を用いて、ゲートレベル若しくはトランジスタレベルで記述された設計対象回路から、そのレイアウトパターンを自動生成する。
【００３５】
図３に例示される部品ライブラリは、ラッチ回路（ＦＢＫ３）、クロックドインバータ（ＣＫＩＮＶ）、ノアゲート（ＮＯＲ）、複合ゲート（Ｃ３２Ｂ）等の機能ブロックを有している。各機能ブロックは、真理値表で示される論理機能が定義され、信号伝播遅延若しくは動作遅延や電力消費などを定義するためのパラメータを持つ。各機能ブロックには、前述のように遺伝的アルゴリズムなどによる手法で予め評価されて、複数パターンが用意されている。
【００３６】
図４にはレイアウト設計フローが例示される。図４に従えば、レイアウト設計では、機能ブロックへの分解（Ｔ１）、分解された機能ブロック内のレイアウトパターンの決定（Ｔ２）、機能ブロックの配置（Ｔ３）、機能ブロック相互間の接続（Ｔ４）、接続結果に対する評価（Ｔ５）の各処理が行われる。
【００３７】
上記各処理を具体例を用いて説明する。先ず、図５に模式的に示されるように、分解処理（Ｔ１）では、設計対象回路１２を機能ブロックＢＬＫ１〜ＢＬＫ６に分解する。
【００３８】
機能ブロック内のレイアウトパターンの決定（Ｔ２）では、図６に例示されるように、分解された全ての機能ブロックに対してレイアウトパターンを生成する。図６には機能ブロックＢＬＫ４が代表的に示されている。生成されたレイアウトパターンに対しては伝播遅延若しくは動作遅延、そして例えば抵抗成分（Ｒ）と容量成分（Ｃ）に着目したＲＣシミュレーションによって消費電力が評価される。
【００３９】
機能ブロックの配置処理（Ｔ３）では、図７に例示されるように、信号の流れる方向に沿うように機能ブロックＢＬＫ１〜ＢＬＫ６を配置する。尚、図７の機能ブロックＢＬＫ１〜ＢＬＫ６のレイアウトパターンは図５の回路構成と一致する例ではない。
【００４０】
接続処理（Ｔ４）では、図８に例示されるように、配置処理（Ｔ３）を経た機能ブロックの相互間を設計対象回路の記述にしたがって接続し、その接続配線パターンを決める。
【００４１】
評価処理（Ｔ５）では、接続処理Ｔ４が行われた設計対象回路に対する遅延評価と消費電力評価を行なう。遅延評価は、例えば図９に例示されるように、機能ブロックの理論上の動作遅延時間Ｄ１〜Ｄ６、その誤差係数α、機能ブロック間の配線による伝播遅延時間βを考慮し、Ｄ＝α（Ｄ１＋Ｄ２＋Ｄ３＋Ｄ４＋Ｄ５）＋βを評価値として行なう。消費電力評価は、機能ブロックの理論上の消費電力Ｐ１〜Ｐ６、その誤差係数γ、機能ブロック間の信号線上での電力消費量δを考慮し、Ｐ＝γ（Ｐ１＋Ｐ２＋Ｐ３＋Ｐ４＋Ｐ５）＋δを評価値として行なう。上記理論上の動作遅延時間及び理論上の消費電力は機能ブロックの駆動力に基づいて算定すればよい。
【００４２】
次に、機能ブロック内のレイアウトパターンの決定処理（Ｔ２）の詳細について説明する。レイアウトパターンを決定すべき機能ブロックをＢＬＫｋとする。ＥＤＡシステム１は予め、図１０に例示されるように、機能ブロックをＢＬＫｋに対応する回路部品データＤ１（ＢＬＫｋ）〜Ｄ４（ＢＬＫｋ）を読み込んでいる。機能ブロックＢＬＫｋ内のレイアウトパターンを決定する場合には、図１１に例示されるように、回路ブロックＢＬＫｋが他の機能ブロックＢＬＫｉ，ＢＬＫｊとの接続関係を満足するのに都合の良いパターンを持つ回路部品データを選択して利用すればよい。
【００４３】
機能ブロック内のレイアウトパターンの決定処理（Ｔ２）においてＭＯＳトランジスタの配置に関しては、ＭＯＳトランジスタ相互間のゲート電極の交差配線を少なくするようにそのレイアウトパターンを決定するのがよい。例えば図１２の機能ブロックのレイアウトを考える。この機能ブロックは４個のｐチャネル型ＭＯＳトランジスタＰ１〜Ｐ４と４個のｎチャネル型ＭＯＳトランジスタＮ１〜Ｎ４から成る。その回路のレイアウトは図１３のようなの初期状態持つとする。このレイアウトに対してゲート配線の交差数を減らす為には、横方向のトランジスタ配置を変更する。図１４ではＭＯＳトランジスタＰ１とＭＯＳトランジスタＰ３とを入れ換えて、ゲート交差数を一つ減らす。図１５ではＭＯＳトランジスタＰ１とＭＯＳトランジスタＰ２とを入れ換えて、ゲート交差数をもう一つ減らす。図１６ではＰ２，Ｐ４，Ｎ３，Ｎ４の夫々のＭＯＳトランジスタにおいてソースとドレインの配置を入れ換え、更に図１７では隣合うＭＯＳトランジスタＰ２とＰ４のソースをコモンとし、隣合うＭＯＳトランジスタＮ３とＮ４のソースをコモンとして、チップ占有面積を小さくする。図１７のレイアウトではゲート配線交差数は０で最小になる。更に図１８のように、ＭＯＳトランジスタＰ１とＰ３を入れ換え、図１９に例示されるように、ＭＯＳトランジスタＰ３とＰ２の拡散層を共通化し、ＭＯＳトランジスタＮ２とＮ３の拡散層を共通化することにより、ゲート配線交差数は１になるが、チップ占有面積は更に小さくなる。
【００４４】
機能ブロック内のレイアウトパターンの決定処理（Ｔ２）においてＭＯＳトランジスタ間の配線に関しては、▲１▼電源配線（Ｐｏｗ）、▲２▼非交差ゲート配線（Ｇｎｃ）、▲３▼交差ゲート配線（Ｇｃｒ）、▲４▼ソース・ドレイン接続配線（Ｓｉｇ）の順に配線経路決定の優先順位を高くするのがよい。アルミニウムやタングステンなどの複数層の金属配線を利用し易いソース・ドレイン接続配線による信号経路選択は、他の配線に比べて経路選択に柔軟性があるから、配線経路選択の優先度を低くしても支障を生ずる虞は少ない。図２０においてｖｄｄは電源配線、ｇｎｄは回路のグランド配線、Ｌｐはｐ型ＭＯＳトランジスタ用の拡散領域、Ｌｎはｎ型ＭＯＳトランジスタ用の拡散領域である。電源配線（Ｐｏｗ）と非交差ゲート配線（Ｇｎｃ）は選択の余地がないから、優先的に配線される。ソース・ドレイン接続配線（Ｓｉｇ）は前述の通り経路選択に比較的柔軟性があるから、経路選択の優先順位は低くてよい。
【００４５】
図２１には遺伝的アルゴリズムを採用した評価手法が例示される。一般的に、遺伝的アルゴリズムでは、解の候補としての個体を生成し、個体に対して評価関数を用いて適応度を評価し、評価の高い個体を選び、選ばれた個体に対して交配及び突然変異などの操作を加え、次の世代の個体集団を生成し、それらを繰り返して世代を重ねるにつれて、適応度の高い個体が増え、同時に、より最適解に近い個体が現れる確立も高くなり、評価値がある一定値に達したときの個体を、求める最適解とする、手法である。
【００４６】
図２１の例はレイアウトパターンが決まった機能ブロックの配置を決定するときの評価に適用するものである。２０が設計対象回路の回路記述である。ａ〜ｅは機能ブロックである。この回路記述を満足する有意の機能ブロックの配置は１６通りある。機能ブロックの配置を決定する為の複数のパラメータ、例えば、信号遅延時間、機能ブロック間の総配線長及び総配線数、占有面積等に対する各種パラメータデータを遺伝子とし、その遺伝子に対する機能ブロック配置を個体とする。図２１の例では、１６通りある機能ブロック配置の夫々を出発点としての個体ＭＢＲ１〜ＭＢＲ１６と位置付ける。夫々の個体ＭＢＲ１〜ＭＢＲ１６に固有の所定のパラメータに関するパラメータデータが遺伝子と位置付けられる。そのような複数の個体ＭＢＲ１〜ＭＢＲ１６に対し、遺伝的アルゴリズムを用いて個体に対する評価を行ない、評価の高い個体を選び、選ばれた個体に対して交配及び突然変異などの操作を加え、次の世代の個体集団を生成し、それらを繰り返して世代を重ねるにつれて、評価値の高い個体が増える。評価値がある一定値に達したときの個体を、求める最適解とする。要するに、評価値を目的値に到達させる。そのような評価には、パラメータの値によって夫々決まるところの信号遅延時間、占有面積、機能ブロック間の総配線数及び総配線長等の属性に相関を有する評価関数を用いればよい。例えば、信号遅延時間が短く、占有面積が小さく、機能ブロック間の総配線数及び総配線長が少ない属性を良好な結果として、その因子を遺伝させる。
【００４７】
遺伝的アルゴリズムを採用した評価手法は、機能ブロックのレイアウトパターンを決定するときの評価にも適用することができる。即ち、機能ブロックのレイアウトパターンを決定する為の複数のパラメータに対するパラメータデータを遺伝子とし、その遺伝子に対するレイアウトパターンを個体とするとき、遺伝的アルゴリズムを用いて個体に対する評価を目的値に到達させる。前記パラメータデータによって夫々決まるところの信号遅延時間、駆動能力、占有面積、総配線数及び総配線長の中から選ばれた単数又は複数の属性に相関する評価関数を用いて個体の評価を行なえばよい。
【００４８】
遺伝的アルゴリズムを採用して機能ブロックのレイアウトパターンの決定やレイアウトパターンが決まった機能ブロックの配置を決定することにより、人手による試行錯誤が無いから、回路記述に基づくレイアウト設計に要する期間の短縮、レイアウト設計のの属人的なばらつきの低減が可能になる。
【００４９】
図２２には上記レイアウト設計方法を実現する設計支援システムであるＥＤＡシステムが具体的に例示される。同図に示されるシステムはエンジニアリングワークステーション又はパーソナルコンピュータシステムなどによって実現され、入力手段としてのキーボード３１、表示手段としてのディスプレイ３２、ＣＰＵ３３Ａ及メインメモリ３３Ｂなどが実装されたＣＰＵボードやインタフェースボードを有するデータ処理手段としてのコンピュータユニット３３、補助記憶装置３４、並びにターミナルアダプタやモデム等の通信インタフェース回路３５を有して成る。補助記憶装置３４は、特に制限されないが、磁気ディスクを固定的に備えたハードディスク装置、フラッシュメモリーカードが着脱可能なメモリカード装置、磁気ディスクに対してリード・ライト可能な磁気ディスクドライブ装置、ＣＤ−ＲＯＭをリード可能なＣＤ−ＲＯＭドライブ装置、ＭＯディスクに対してリード・ライト可能なＭＯドライブ装置等によって構成される。３４Ａは補助記憶装置３４の記録媒体を総称する。前記通信インタフェース回路３５は公衆回線網３６等に接続可能にされる。ＣＰＵ３３Ａは、特に制限されないが、記録媒体３４Ａから読み取ったプログラム又は通信インタフェース手段３５を介してダウンロードしたプログラムをメインメモリ３３Ｂ等にロードして実行する。プログラムの実行に必要なデータは、同じく記録媒体３４から読み込み、或いは通信インタフェース３５を利用してダウンロードし、更にはキーボード３１より入力する。
【００５０】
ＥＤＡシステムにおいて、設計対象データとパラメータデータは入力手段としての前記補助記憶装置３４又は通信インタフェース回路３５から入力する。前記コンピュータユニット３３は、入力した設計対象データとパラメータデータを用いて上記レイアウトパターンの自動生成を行なう。
【００５１】
前記レイアウトパターンの自動生成を行なう為の動作プログラムは、コンピュータ読取り可能な記録媒体３４Ａで提供される。このプログラムは、コンピュータユニット３３が実行するために必要なオブジェクトコードによって構成されている。
【００５２】
図２２においてＥＤＡシステムによりレイアウトライブラリを生成するのは例えば、半導体集積回路の製造メーカ、或は設計部門を持たず半導体集積回路の製造を専ら請け負うファブメーカである。例えば半導体集積回路の製造メーカ、或はファブメーカは、レイアウトライブラリを生成して提供するビジネス主体となり得る。この場合、レイアウトライブラリの作成要求元は、例えば半導体集積回路の製造部を持たず専ら設計部門を持つファブレス若しくはその一種であるＡＳＩＣベンダなどとされる。ファブメーカ４０などは、ファブレス４１等からコンピュータネットワーク３６を介して処理対象回路データと要求仕様を受取る受け取る。ファブメーカなどのＥＤＡシステムは、前記受取った要求仕様を満足させるように自社（当該ファブメーカ）の製造プロセスに従ったパラメータデータを用いて、前記受取った対象回路データで特定される対象回路のレイアウトパターンデータを生成するパターン生成処理を行ない、それによって生成されたレイアウトパターンデータをコンピュータネットワーク３６を介して要求元に送出する。
【００５３】
以上説明したレイアウト設計方法によれば、半導体集積回路の製造プロセスに依存することなく、外から与えられるパラメータデータによって種々の製造プロセスに対応することができる。パラメータデータにしたがってパターンの形状などを可変できるので、プロセスの変更若しくはプロセス世代の交代、或は設計値の変更などに対して柔軟且つ迅速に対処することができる。これはレイアウト設計時間の短縮、レイアウト設計コストの低減を実現する。
【００５４】
以上本発明者によってなされた発明を実施の形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００５５】
例えば、回路データはインバータやＮＡＮＤゲートなどの論理ゲートに限定されず、アンプ、フリップフロップ、演算器などの機能ブロックレベルであってもよい。また、パラメータの種類も以上で説明したものに限定されない。レイアウト形状のパラメータはセルの高さ及び幅を一定とした条件の下でのパラメータであることに限定されず、適宜変更可能である。また、ＭＯＳトランジスタの閾値電圧の相異をパラメータによって表現してもよい。また、ＣＭＯＳ回路におけるｐチャネル型ＭＯＳトランジスタとｎチャンネル型ＭＯＳトランジスタとのゲート幅などのサイズ比をパラメータで表現してもよい。
【００５６】
【発明の効果】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００５７】
すなわち、機能ブロックの回路記述データと前記機能ブロックの属性を定義する為のパラメータとを含む複数の回路部品データを用意し（第１処理）、設計対象回路から前記機能ブロックを分離し（第２処理）、分離した機能ブロックに所要の属性を満足させるように、対応する回路部品データのパラメータにパラメータデータを与えて、当該機能ブロックのレイアウトパターンデータを生成する（第３処理）。したがって、プリミティブセルとしての機能ブロックを定義する回路部品データは、そのパラメータの設定値に応じて機能ブロックの属性（例えばパターンサイズや駆動能力など）を定義することができる。これにより、出来上がったレイアウトパターンも単なる固定パターンの集合ではない。これにより、設計対象回路において、プロセスの変更もしくはプロセスの世代交代、設計値の変更に対して迅速に対処することができる。
【図面の簡単な説明】
【図１】本発明に係るレイアウト設計方法を概略的に示す説明図である。
【図２】レイアウトパターンの設計フローを例示する説明図である。
【図３】部品ライブラリの一例を示す説明図である。
【図４】レイアウト設計フローを全体的に例示するフローチャートである。
【図５】分解処理の様子を例示する説明図である。
【図６】機能ブロック内のレイアウトパターンの決定処理の様子を例示する説明図である。
【図７】機能ブロックの配置処理の様子を例示する説明図である。
【図８】接続処理の様子を例示する説明図である。
【図９】遅延評価の手法を例示する説明図である。
【図１０】一つの機能ブロックに対して４種類の回路部品データが用意された状態を例示する説明図である。
【図１１】機能ブロック内のレイアウトパターンを決定する場合に他の機能ブロックとの接続関係を考慮する場合を示す説明図である。
【図１２】機能ブロック内の構成をトランジスタレベルで例示した回路図である。
【図１３】図１２の機能ブロックに対するトランジスタ配置の初期状態を例示する説明図である。
【図１４】図１３のトランジスタ配置に対してＭＯＳトランジスタＰ１とＭＯＳトランジスタＰ３とを入れ換えてゲート交差数を一つ減らした状態を示す説明図である。
【図１５】図１４のトランジスタ配置に対してＭＯＳトランジスタＰ１とＭＯＳトランジスタＰ２とを入れ換えてゲート交差数をもう一つ減らした状態を示す説明図である。
【図１６】図１５のトランジスタ配置に対してＰ２，Ｐ４，Ｎ３，Ｎ４の夫々のＭＯＳトランジスタにおけるソースとドレインの配置を入れ換えた状態を示す説明図である。
【図１７】図１６のトランジスタ配置に対して隣合うＭＯＳトランジスタＰ２とＰ４のソースをコモンとし隣合うＭＯＳトランジスタＮ３とＮ４のソースをコモンとしてチップ占有面積を小さくした状態を示す説明図である。
【図１８】図１７のトランジスタ配置に対してＭＯＳトランジスタＰ１とＰ３を入れ換えた状態を示す説明図である。
【図１９】図１８のトランジスタ配置に対してＭＯＳトランジスタＰ３とＰ２の拡散層を共通化しＭＯＳトランジスタＮ２とＮ３の拡散層を共通化した状態を示す説明図である。
【図２０】機能ブロック内配線経路決の優先順の説明図である。
【図２１】遺伝的アルゴリズムを採用した評価手法を例示する説明図である。
【図２２】レイアウト設計方法を実現する設計支援システムであるＥＤＡシステムを具体的に例示するブロック図である。
【符号の説明】
１  エンジニアリング・デザイン・オートメーションシステム
２  部品ライブラリ
３  設計対象スケマティックデータ
４  パラメータデータ
５  レイアウトライブラリ
１０  スケマティックライブラリ
１１  パラメタライズセルライブラリ
【図１】
0004087629.tif 000002
【図２】
0004087629.tif 000003
【図３】
0004087629.tif 000004
【図４】
0004087629.tif 000005
【図５】
0004087629.tif 000006
【図６】
0004087629.tif 000007
【図７】
0004087629.tif 000008
【図８】
0004087629.tif 000009
【図９】
0004087629.tif 000010
【図１０】
0004087629.tif 000011
【図１１】
0004087629.tif 000012
【図１２】
0004087629.tif 000013
【図１３】
0004087629.tif 000014
【図１４】
0004087629.tif 000015
【図１５】
0004087629.tif 000016
【図１６】
0004087629.tif 000017
【図１７】
0004087629.tif 000018
【図１８】
0004087629.tif 000019
【図１９】
0004087629.tif 000020
【図２０】
0004087629.tif 000021
【図２１】
0004087629.tif 000022
【図２２】
0004087629.tif 000023