(57)【要約】【課題】高精度な関数モデルの作成にかかる作成時間の短縮化を図ること。【解決手段】設計支援装置１００は、記憶部１１０に記憶されている第２ばらつきパラメータ群のうちの第１ばらつきパラメータ群の各々に対応するパラメータの値を入力することにより、プレレイアウト回路１０１の第１性能値を算出する。また、設計支援装置１００は、記憶部１１０に記憶されている第２ばらつきパラメータ群の各々の値を用いてポストレイアウト回路１０２をシミュレーションして得られるポストレイアウト回路１０２の第２性能値を取得する。次に、設計支援装置１００は、第１性能値と第２性能値と第２ばらつきパラメータ群の各々の値とに基づいて、第２関数モデルとして、差分モデルｆ＿ｄｉｆｆ（）を作成する。【選択図】図１
2014120082.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが、
レイアウト前の設計対象回路内の各々の素子の特性を表す第１パラメータ群を用いて前記レイアウト前の設計対象回路の性能値を表す第１関数モデルに、レイアウト後の設計対象回路内の各々の素子の特性を表す第２パラメータ群の各々の値を記憶する記憶部を参照して、前記第２パラメータ群のうちの前記第１パラメータ群の各々に対応するパラメータの値を入力することにより、前記レイアウト前の設計対象回路の第１性能値を算出し、
前記記憶部に記憶されている前記第２パラメータ群の各々の値を用いて前記レイアウト後の設計対象回路の動作を模擬して得られる前記レイアウト後の設計対象回路の第２性能値を取得し、
算出した前記第１性能値と取得した前記第２性能値と前記記憶部に記憶されている前記第２パラメータ群の各々の値とに基づいて、前記第２パラメータ群を用いて前記レイアウト前の設計対象回路の性能値と前記レイアウト後の設計対象回路の性能値との差分を表す第２関数モデルを作成する、
処理を実行することを特徴とする設計支援方法。
【請求項２】
前記コンピュータが、
作成した前記第２関数モデルと前記第１関数モデルとに基づいて、前記第２パラメータ群を用いて前記レイアウト後の設計対象回路の性能値を表す第３関数モデルを作成する処理を実行することを特徴とする請求項１に記載の設計支援方法。
【請求項３】
前記レイアウト後の設計対象回路は、プロセスの設計規則を満たした回路であることを特徴とする請求項１または２に記載の設計支援方法。
【請求項４】
前記レイアウト後の設計対象回路は、前記レイアウト後の設計対象回路内の各々の素子のうちの前記レイアウト前の設計対象回路内の各々の素子に対応する素子の接続関係が前記レイアウト前の設計対象回路の各々の素子の接続関係と一致する回路であることを特徴とする請求項１〜３のいずれか一つに記載の設計支援方法。
【請求項５】
前記記憶部は、前記第２パラメータ群の各々の値を含む組を複数通り記憶しており、
前記算出する処理は、
前記組に含まれる第２パラメータ群の各々の値のうちの前記第１パラメータ群の各々に対応するパラメータの値を前記第１関数モデルに入力することにより、前記レイアウト前の設計対象回路の第１性能値を前記組に対応して算出し、
前記取得する処理は、
前記記憶部に記憶されている前記組に含まれる第２パラメータ群の各々の値を用いて前記レイアウト後の設計対象回路の動作を模擬して得られる前記レイアウト後の設計対象回路の第２性能値を前記組に対応して取得し、
前記第２関数モデルを作成する処理は、
算出した前記組に対応する前記第１性能値と取得した前記組に対応する前記第２性能値と前記組に含まれる前記第２パラメータ群の各々の値とに基づいて、前記第２関数モデルを作成する請求項１〜４のいずれか一つに記載の設計支援方法。
【請求項６】
前記コンピュータが、
前記記憶部に記憶されている複数の組のうちの第１組に対応する第１性能値と前記第１組に対応する第２性能値と前記第１組に含まれる前記第２パラメータ群の各々の値とに基づいて、前記第２パラメータ群から選ばれた一部のパラメータの組合せに対応して、前記一部のパラメータを用いて前記第２関数モデルの候補を作成する、処理を実行し、
前記第２関数モデルを作成する処理は、
前記組合せに対応して作成した前記第２関数モデルの候補から、前記複数の組の前記第１組とは異なる第２組に対応する第１性能値と前記第２組に対応する第２性能値と前記第２組に含まれる前記第２パラメータ群の各々の値とに基づいて前記第２関数モデルを選択することを特徴とする請求項５に記載の設計支援方法。
【請求項７】
レイアウト前の設計対象回路内の各々の素子の特性を表す第１パラメータ群を用いて前記レイアウト前の設計対象回路の性能値を表す第１関数モデルに、レイアウト後の設計対象回路内の各々の素子の特性を表す第２パラメータ群の各々の値を記憶する記憶部を参照して、前記第２パラメータ群のうちの前記第１パラメータ群の各々に対応するパラメータの値を入力することにより、前記レイアウト前の設計対象回路の第１性能値を算出する算出部と、
前記記憶部に記憶されている前記第２パラメータ群の各々の値を用いて前記レイアウト後の設計対象回路の動作を模擬して得られる前記レイアウト後の設計対象回路の第２性能値を取得する取得部と、
前記算出部によって算出された前記第１性能値と前記取得部によって取得された前記第２性能値と前記記憶部に記憶されている前記第２パラメータ群の各々の値とに基づいて、前記第２パラメータ群を用いて前記レイアウト前の設計対象回路の性能値と前記レイアウト後の設計対象回路の性能値との差分を表す第２関数モデルを作成する作成部と、
を有することを特徴とする設計支援装置。
【請求項８】
コンピュータに、
レイアウト前の設計対象回路内の各々の素子の特性を表す第１パラメータ群を用いて前記レイアウト前の設計対象回路の性能値を表す第１関数モデルに、レイアウト後の設計対象回路内の各々の素子の特性を表す第２パラメータ群の各々の値を記憶する記憶部を参照して、前記第２パラメータ群のうちの前記第１パラメータ群の各々に対応するパラメータの値を入力することにより、前記レイアウト前の設計対象回路の第１性能値を算出し、
前記記憶部に記憶されている前記第２パラメータ群の各々の値を用いて前記レイアウト後の設計対象回路の動作を模擬して得られる前記レイアウト後の設計対象回路の第２性能値を取得し、
算出した前記第１性能値と取得した前記第２性能値と前記記憶部に記憶されている前記第２パラメータ群の各々の値とに基づいて、前記第２パラメータ群を用いて前記レイアウト前の設計対象回路の性能値と前記レイアウト後の設計対象回路の性能値との差分を表す第２関数モデルを作成する、
処理を実行させることを特徴とする設計支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、設計支援方法、設計支援装置、および設計支援プログラムに関する。
【背景技術】
【０００２】
従来、回路の性能のばらつきを解析するために、回路に含まれる素子の特性を表すパラメータを用いて回路の性能値を表す関数モデルを作成する技術がある。たとえば、回路に含まれる素子の特性を表すパラメータ群のうち、回路の性能に影響を与えるパラメータの割合が極一部である場合、各パラメータの係数を求める際に用いるサンプリングデータを減らして、関数モデルを作成する技術がある。
【０００３】
関連する先行技術として、たとえば、回路シミュレータによって生成された波形と入力データを解析して回路パラメータ更新情報を生成し、回路パラメータ更新情報に基づきネットリストデータを更新し、回路シミュレータを再帰的に動作させるものがある。また、１個の回路特性ごとに回路特性が最も悪くなると推定される回路の特性の値の組合せを選択し、選択する処理で求められた回路特性ごとの値の組合せをそれぞれ条件として各回路特性が目標仕様を満たすように回路の特性の値を求める技術がある。（たとえば、下記特許文献１、２、下記非特許文献１、２を参照。）
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−１２２５８９号公報
【特許文献２】特開２００４−１４５４１０号公報
【非特許文献】
【０００５】
【非特許文献１】Ｘｉｎ  Ｌｉ、「Ｆｉｎｄｉｎｇ  Ｄｅｔｅｒｍｉｎｉｓｔｉｃ  Ｓｏｌｕｔｉｏｎ  ｆｒｏｍ  Ｕｎｄｅｒｄｅｔｅｒｍｉｎｅｄ  Ｅｑｕａｔｉｏｎ：  Ｌａｒｇｅ−Ｓｃａｌｅ  Ｐｅｒｆｏｒｍａｎｃｅ  Ｍｏｄｅｌｉｎｇ  ｂｙ  Ｌｅａｓｔ  Ａｎｇｌｅ  Ｒｅｇｒｅｓｓｉｏｎ」、Ｄｅｓｉｇｎ  Ａｕｔｏｍａｔｉｏｎ  Ｃｏｎｆｅｒｅｎｃｅ、２００９、ｐ．３６４−３６９
【非特許文献２】Ｘｉｎ  Ｌｉ、他１名、「Ｓｔａｔｉｓｔｉｃａｌ  Ｒｅｇｒｅｓｓｉｏｎ  ｆｏｒ  Ｅｆｆｉｃｉｅｎｔ  Ｈｉｇｈ−Ｄｉｍｅｎｓｉｏｎａｌ  Ｍｏｄｅｌｉｎｇ  ｏｆ  Ａｎａｌｏｇ  ａｎｄ  Ｍｉｘｅｄ−Ｓｉｇｎａｌ  Ｐｅｒｆｏｒｍａｎｃｅ  Ｖａｒｉａｔｉｏｎｓ」、Ｄｅｓｉｇｎ  Ａｕｔｏｍａｔｉｏｎ  Ｃｏｎｆｅｒｅｎｃｅ、２００８、ｐ．３８−４３
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来技術によれば、回路に含まれる素子の特性を表すパラメータ群のうち、回路の性能に影響を与えるパラメータの数が多いほど、回路の性能値を表す関数モデルの精度が劣化する恐れがある。劣化を抑えるためにはサンプリングデータを多く用意することになり、関数モデルの作成にかかる時間がかかる。
【０００７】
１つの側面では、本発明は、高精度な関数モデルの作成にかかる作成時間を短縮化することができる設計支援方法、設計支援装置、および設計支援プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一側面によれば、レイアウト前の設計対象回路内の各々の素子の特性を表す第１パラメータ群を用いてレイアウト前の設計対象回路の性能値を表す第１関数モデルに、レイアウト後の設計対象回路内の各々の素子の特性を表す第２パラメータ群の各々の値を記憶する記憶部を参照して、第２パラメータ群のうちの第１パラメータ群の各々に対応するパラメータの値を入力することにより、レイアウト前の設計対象回路の第１性能値を算出し、記憶部に記憶されている第２パラメータ群の各々の値を用いてレイアウト後の設計対象回路の動作を模擬して得られるレイアウト後の設計対象回路の第２性能値を取得し、算出した第１性能値と取得した第２性能値と記憶部に記憶されている第２パラメータ群の各々の値とに基づいて、第２パラメータ群を用いてレイアウト前の設計対象回路の性能値とレイアウト後の設計対象回路の性能値との差分を表す第２関数モデルを作成する設計支援方法、設計支援装置、および設計支援プログラムが提案される。
【発明の効果】
【０００９】
本発明の一態様によれば、高精度な関数モデルの作成にかかる作成時間を短縮化することができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、本実施の形態にかかる設計支援装置の動作例を示す説明図である。
【図２】図２は、設計支援装置のハードウェア構成の一例を示すブロック図である。
【図３】図３は、設計支援装置の機能構成例を示すブロック図である。
【図４】図４は、プレレイアウト回路のばらつきモデルの一例を示す説明図である。
【図５】図５は、ポストレイアウト回路のサンプリングデータの一例を示す説明図である。
【図６】図６は、プレレイアウト回路のモデルの引数とポストレイアウト回路とのばらつきパラメータの対応付けの一例を示す説明図である。
【図７】図７は、対応付けの結果の一例を示す説明図である。
【図８】図８は、性能の差分データの作成例を示す説明図（その１）である。
【図９】図９は、性能の差分データの作成例を示す説明図（その２）である。
【図１０】図１０は、差分モデルの作成例を示す説明図（その１）である。
【図１１】図１１は、差分モデルの作成例を示す説明図（その２）である。
【図１２】図１２は、ポストレイアウト回路のばらつきモデルの作成例を示す説明図である。
【図１３】図１３は、ポストレイアウト回路作成処理手順の一例を示すフローチャートである。
【図１４】図１４は、Ｓｐａｒｓｅデータ処理手順の一例を示すフローチャートである。
【図１５】図１５は、ポストレイアウト回路のばらつきモデルの生成にかかる時間を比較した一例を示す説明図である。
【発明を実施するための形態】
【００１１】
以下に添付図面を参照して、開示の設計支援方法、設計支援装置、および設計支援プログラムの実施の形態を詳細に説明する。
【００１２】
図１は、本実施の形態にかかる設計支援装置の動作例を示す説明図である。設計支援装置１００は、回路設計を支援するコンピュータである。ここで、設計対象回路がアナログ回路である場合の設計処理手順について説明する。設計処理の１番目の処理は、回路トポロジを決定するとともに、素子の特性を表すパラメータを決定する処理である。回路トポロジとは、素子のつなぎ合わせ方を示す。以下、素子のつなぎ合わせ方を示す情報を、回路情報とする。素子の特性を表すパラメータは、抵抗値や容量値といった各素子の特性を表す値である。以下、素子の特性を表すパラメータを、「ばらつきパラメータ」と称する。２番目の処理は、１番目の処理にて決定した回路設計を検証し、仕様を満たすか否かを判断する処理である。
【００１３】
３番目の処理は、２番目の処理にて、仕様を満たすと判断された場合、レイアウト処理を行う処理である。レイアウト処理を行うことにより、回路情報にレイアウト寄生素子が含まれる。レイアウト寄生素子は、たとえば、レイアウト配線容量や配線抵抗等である。以下、レイアウト処理を行う前の設計対象回路を、「プレレイアウト回路」と呼称し、レイアウト処理を行った後の設計対象回路を「ポストレイアウト回路」と呼称する。
【００１４】
４番目の処理は、レイアウト後の回路情報に対して、物理検証を行う処理である。物理検証として、たとえば、ＤＲＣ（Ｄｅｓｉｇｎ  Ｒｕｌｅ  Ｃｈｅｃｋ）、ＬＶＳ（Ｌａｙｏｕｔ  Ｖｅｒｓｕｓ  Ｓｃｈｅｍａｔｉｃ）等がある。
【００１５】
５番目の処理は、物理検証を行った回路情報について、回路の性能値がばらつきの仕様を満たすか否かを判断する処理である。５番目の処理にて、回路の性能値がばらつきの仕様を満たすと判断された回路情報について、製造工程により回路情報に従った回路が製造される。また、ばらつきの仕様を満たすか否かを判断する理由として、プロセスが微細化すると性能がばらつき、ばらつきが大きくなると性能が仕様範囲外となる回路が多くなるので、歩留まりが低下してしまうためである。性能とは、たとえば、発振周波数、遅延量といったものである。たとえば、シミュレーションで得られる回路の発振周波数の値は１つであるが、実際に製造された回路の発振周波数は、回路ごとに異なる値となり、ばらついた値となる。そこで、５番目の処理を実行することにより、性能値が仕様範囲外となってしまうことを抑えることができる。
【００１６】
性能のばらつきを解析するために、ポストレイアウト回路のばらつきモデルを作成して、性能のばらつきの出所を解明することが行われる。性能のばらつきの出所を解明することにより、歩留まりの改善を図ることができる。ばらつきモデルｆ（）は、関数で表されるモデルであり、たとえば、下記（１）式で表すことができる。
【００１７】
Δｐ＝ｆ（Δｘ１，Δｘ２，…，Δｘｎ）  …（１）
【００１８】
ばらつきモデルｆ（）の具体例としては、たとえば、下記（２）式となる。
【００１９】
Δｐ＝ａ１＊Δｘ１＋ａ２＊Δｘ２＋…＋ａｎ＊Δｘｎ  …（２）
【００２０】
（２）式は、ばらつきモデルｆ（）が線形モデルである場合を示す。ばらつきモデルｆ（）は、非線形モデルでもよい。たとえば、ばらつきモデルｆ（）は、予め用意された非線形モデルを当てはめてもよい。（１）式、（２）式において、ｐは、ポストレイアウト回路の性能値を示す。ｘ１，ｘ２，…，ｘｎは、ポストレイアウト回路の各々の素子の特性を表すばらつきパラメータ群を示す。ａ１，ａ２，…，ａｎは、ポストレイアウト回路をＳＰＩＣＥ（Ｓｉｍｕｌａｔｉｏｎ  Ｐｒｏｇｒａｍ  ｗｉｔｈ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ  Ｅｍｐｈａｓｉｓ）等により動作を模擬して得られたサンプリングデータを用いてフィッティングすることにより得られる係数である。動作の模擬は、ＳＰＩＣＥ等によるシミュレーションを行うことである。以下、動作の模擬を、「シミュレーション」と呼ぶ。また、“Δ”は、下記（３）式を行う演算子とする。
【００２１】
Δｘ＝ｘ−（ｘの平均値）  …（３）
【００２２】
（３）式により、たとえば、Δｐは、ｐ−（ｐの平均値）となる。以下、平均値からの差分値を、「偏差」と呼称する。
【００２３】
ばらつきモデルを作成するために、サンプリングデータを得ることになるが、ポストレイアウト回路内の素子の数は膨大であるため、１回のシミュレーション時間が長くなる。また、ポストレイアウト回路内の素子が膨大になると、ばらつきパラメータの数も膨大となり、シミュレーションの回数が増えるため、ポストレイアウト回路のばらつきモデルを作成する時間が長くなる。
【００２４】
ばらつきモデルの作成方法として、たとえば、以下の２つの方法がある。１つ目の方法はＲＳＭ（Ｒｅｓｐｏｎｓｅ  Ｓｕｒｆａｃｅ  Ｍｅｔｈｏｄｏｌｏｇｙ）であり、２つ目の方法は、Ｓｐａｒｓｉｔｙ特性を利用した方法である。ＲＳＭは、ポストレイアウト回路のばらつきパラメータの数と同数以上のばらつきパラメータ群に設定するサンプリングデータを用意しておくことになる。
【００２５】
Ｓｐａｒｓｉｔｙ特性を利用した方法とは、ポストレイアウト回路のばらつきパラメータ群のうち性能に影響を与えるばらつきパラメータがばらつきパラメータ全体の極一部であるというＳｐａｒｓｉｔｙ特性を利用した方法である。Ｓｐａｒｓｉｔｙ特性の度合いは、サンプリングデータと性能に影響を与えるばらつきパラメータの比によって表すことができる。Ｓｐａｒｓｉｔｙ特性を利用した方法として、たとえば、ＬＡＲ（Ｌｅａｓｔ  Ａｎｇｌｅ  Ｒｅｇｒｅｓｓｉｏｎ）、ＳＴＡＲ（ＳＴＡｔｉｓｔｉｃ  Ｒｅｇｒｅｓｓｉｏｎ）などがある。ＬＡＲの詳細については、下記参考文献１に記載されている。
（参考文献１：Ｂｒａｄｌｅｙ  Ｅｆｒｏｎ、他３名、「Ｌｅａｓｔ  Ａｎｇｌｅ  Ｒｅｇｒｅｓｓｉｏｎ」、［ｏｎｌｉｎｅ］、２０１２年１０月１８日検索、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｓｔａｎｆｏｒｄ．ｅｄｕ／〜ｈａｓｔｉｅ／Ｐａｐｅｒｓ／ＬＡＲＳ／ＬｅａｓｔＡｎｇｌｅ＿２００２．ｐｄｆ＞）
【００２６】
性能に影響を与えるばらつきパラメータは、発振周波数、遅延量といった性能の種別によって異なるものとなる。サンプリングデータが性能に影響を与えるばらつきパラメータに対して多いほど、Ｓｐａｒｓｉｔｙ特性が増加する。Ｓｐａｒｓｉｔｙ特性を利用した方法は、Ｓｐａｒｓｉｔｙ特性の値が小さい場合、ばらつきモデルの誤差が大きくなり、精度の悪いばらつきモデルが作成されてしまうことになる。精度を良くするためにはサンプリングデータを多く用意することになり、ばらつきモデルの作成にかかる時間がかかる。
【００２７】
そこで、本実施の形態にかかる設計支援装置１００は、レイアウト前後の回路の性能の差とポストレイアウト回路のばらつきパラメータの値とから、性能の差分を表す差分モデルを作成する。差分モデルの差分に影響を与えるばらつきパラメータの数は、プレレイアウト回路の性能に影響を与えるパラメータを考慮しなくてよいため、ポストレイアウト回路のばらつきモデルの性能に影響を与えるばらつきパラメータの数よりも少ない。また、プレレイアウト回路の素子数は、ポストレイアウト回路の素子数より少ないため、プレレイアウト回路の高精度の関数モデルの作成にかかる時間は短い。以上を踏まえ、設計支援装置１００は、Ｓｐａｒｓｉｔｙ特性を利用して作成した高精度な差分モデルと、高精度なプレレイアウト回路の関数モデルとから、高精度なポストレイアウト回路の関数モデルを高速に作成する。
【００２８】
以下の説明では、ポストレイアウト回路のばらつきモデルのばらつきパラメータの個数をｎとする。また、プレレイアウト回路のばらつきモデルのばらつきパラメータの個数をｍとする。ｎは、ｍよりも大きい値となる。さらに、ポストレイアウト回路のばらつきモデルの各々のばらつきパラメータの値を一まとめの組にした際の組の個数を、ｃｎｔとする。
【００２９】
図１において、設計支援装置１００は、プレレイアウト回路１０１の回路情報を取得する。プレレイアウト回路１０１は、トランジスタＭ１＿ｐｒｅを含む。また、プレレイアウト回路１０１の各々の素子の特性を表す第１ばらつきパラメータ群は、ｘ１，…，ｘｍというｍ個のパラメータを有する。また、設計支援装置１００は、プレレイアウト回路１０１に対してレイアウト処理を行い、ポストレイアウト回路１０２の回路情報を取得する。ポストレイアウト回路１０２は、トランジスタＭ１＿ｐｏｓｔと、レイアウト処理によって発生したレイアウト寄生素子として、Ｃ１＿ｐｏｓｔ〜Ｃ６＿ｐｏｓｔと、Ｒ１＿ｐｏｓｔと、Ｒ２＿ｐｏｓｔとを含む。また、ポストレイアウト回路１０２の各々の素子の特性を表す第２ばらつきパラメータ群は、ｘ１，…，ｘｍ，…，ｘｎというｎ個のパラメータを有する。
【００３０】
次に、設計支援装置１００は、第１ばらつきパラメータ群のサンプリングデータを用意して、シミュレーションを行うことによりプレレイアウト回路１０１の性能値を取得する。続けて、設計支援装置１００は、サンプリングデータと性能値とを用いてフィッティングすることにより、第１ばらつきパラメータ群を用いてプレレイアウト回路の性能値を表す第１関数モデルとして、ばらつきモデルｆ＿ｐｒｅ（）を作成する。ばらつきモデルｆ＿ｐｒｅ（）は、たとえば、下記（４）式となる。
【００３１】
Δｐ＿ｐｒｅ＝ｆ＿ｐｒｅ（Δｘ１，…，Δｘｍ）  …（４）
【００３２】
ただし、Δｐ＿ｐｒｅは、プレレイアウト回路１０１の性能値の偏差を示す。次に、設計支援装置１００は、第２ばらつきパラメータ群の各々の値を用意して、シミュレーションを行うことによりポストレイアウト回路１０２の性能値を取得する。具体的に用意される第２ばらつきパラメータ群の各々の値は、Δｘ１＿１，…，Δｘｍ＿１，…，Δｘｎ＿１，…，Δｘ１＿ｃｎｔ，…，Δｘｍ＿ｃｎｔ，…，Δｘｎ＿ｃｎｔとなる。第２ばらつきパラメータ群の各々の値は、設計支援装置１００の記憶部１１０に記憶される。
【００３３】
続けて、設計支援装置１００は、記憶部１１０に記憶されている第２ばらつきパラメータ群のうちの第１ばらつきパラメータ群の各々に対応するパラメータの値を入力することにより、プレレイアウト回路１０１の第１性能値を算出する。ここで、第２ばらつきパラメータ群のうちの第１ばらつきパラメータ群の各々に対応するパラメータは、プレレイアウト回路１０１に存在する素子のパラメータとなる。具体的に、設計支援装置１００は、Δｘ１＿１，…，Δｘｍ＿１をｆ＿ｐｒｅ（）に代入し、第１性能値としてΔｐ＿ｐｒｅ＿１を算出し、…、Δｘ１＿ｃｎｔ，…，Δｘｍ＿ｃｎｔをｆ＿ｐｒｅ（）に代入し、第１性能値としてΔｐ＿ｐｒｅ＿ｃｎｔを算出する。
【００３４】
また、設計支援装置１００は、記憶部１１０に記憶されている第２ばらつきパラメータ群の各々の値を用いてポストレイアウト回路１０２をシミュレーションして得られるポストレイアウト回路１０２の第２性能値を取得する。たとえば、設計支援装置１００は、Δｘ１＿１，…，Δｘｍ＿１，…，Δｘｎ＿１を用いてポストレイアウト回路１０２をシミュレーションして得られるポストレイアウト回路１０２の第２性能値として、Δｐ＿ｐｏｓｔ＿１を取得する。同様な処理を続けて、設計支援装置１００は、Δｘ１＿ｃｎｔ，…，Δｘｍ＿ｃｎｔ，…，Δｘｎ＿ｃｎｔを用いてポストレイアウト回路１０２をシミュレーションして得られるポストレイアウト回路１０２の第２性能値として、Δｐ＿ｐｏｓｔ＿ｃｎｔを取得する。
【００３５】
次に、設計支援装置１００は、第１性能値と第２性能値と第２ばらつきパラメータ群の各々の値とに基づいて、第２関数モデルとして、差分モデルｆ＿ｄｉｆｆ（）を作成する。差分モデルｆ＿ｄｉｆｆ（）は、第２ばらつきパラメータ群を用いてプレレイアウト回路１０１とポストレイアウト回路１０２の性能値の差分を表す関数モデルである。
【００３６】
具体的に、設計支援装置１００は、第１性能値と第２性能値との差分を算出する。図１の例では、設計支援装置１００は、Δｐ＿ｐｏｓｔ＿１−Δｐ＿ｐｒｅ＿１＝Δｐ＿１を算出し、…、Δｐ＿ｐｏｓｔ＿ｃｎｔ−Δｐ＿ｐｒｅ＿ｃｎｔ＝Δｐ＿ｃｎｔを算出する。続けて、設計支援装置１００は、Δｐ＿１、…、Δｐ＿ｃｎｔと、第２ばらつきパラメータ群の各々の値とを用いてフィッティングすることにより、差分モデルｆ＿ｄｉｆｆ（）を算出する。差分モデルｆ＿ｄｉｆｆ（）は、たとえば、下記（５）式となる。
【００３７】
Δｐ＝ｆ＿ｄｉｆｆ（Δｘ１，…，Δｘｍ，…，Δｘｎ）  …（５）
【００３８】
ただし、Δｐは、プレレイアウト回路１０１と、ポストレイアウト回路１０２の性能値の偏差を示す。続けて、設計支援装置１００は、差分モデルｆ＿ｄｉｆｆ（）と、ばらつきモデルｆ＿ｐｒｅ（）とに基づいて、第３関数モデルとして、ポストレイアウト回路１０２のばらつきモデルｆ＿ｐｏｓｔ（）を作成する。たとえば、ｆ＿ｐｏｓｔ（）は、下記（６）式となる。
【００３９】
Δｐ＿ｐｏｓｔ＝ｆ＿ｐｏｓｔ（Δｘ１，…，Δｘｍ，…，Δｘｎ）  …（６）
【００４０】
ばらつきモデルｆ＿ｐｏｓｔ（）は、第２ばらつきパラメータ群を用いてポストレイアウト回路１０２の性能値を表す関数モデルである。以上の処理を実行することにより、設計支援装置１００は、ポストレイアウト回路１０２のばらつきモデルｆ＿ｐｏｓｔ（）を作成することができる。
【００４１】
ここで、ｆ＿ｄｉｆｆ（）の性能に影響を与えるばらつきパラメータの数は、ｆ＿ｐｏｓｔ（）の性能に影響を与えるばらつきパラメータの数から、ｆ＿ｐｒｅ（）の性能に影響を与えるばらつきパラメータの数を引いた数となる。したがって、ｆ＿ｄｉｆｆ（）の性能に影響を与えるばらつきパラメータの数は、ｆ＿ｐｏｓｔ（）の性能に影響を与えるばらつきパラメータより少なくなる。これにより、設計支援装置１００は、ｆ＿ｄｉｆｆ（）を作成する場合、サンプリングデータを少なくしても、高精度のモデルを作成することができる。以下、図２〜図１５を用いて、設計支援装置１００の詳細について説明する。
【００４２】
（設計支援装置１００のハードウェア）
図２は、設計支援装置のハードウェア構成の一例を示すブロック図である。図２において、設計支援装置１００は、ＣＰＵ２０１と、Ｒｅａｄ‐Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＲＯＭ）２０２と、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＲＡＭ）２０３と、を含む。また、設計支援装置１００は、ディスクドライブ２０４と、ディスク２０５と、通信インターフェース２０６と、を含む。また、設計支援装置１００は、ディスプレイ２０７と、キーボード２０８と、マウス２０９とを含む。また、ＣＰＵ２０１〜マウス２０９はバス２１０によってそれぞれ接続されている。
【００４３】
ＣＰＵ２０１は、設計支援装置１００の全体の制御を司る演算処理装置である。ＲＯＭ２０２は、ブートプログラムなどのプログラムを記憶する不揮発性メモリである。ＲＡＭ２０３は、ＣＰＵ２０１のワークエリアとして使用される揮発性メモリである。
【００４４】
ディスクドライブ２０４は、ＣＰＵ２０１の制御に従ってディスク２０５に対するデータのリードおよびライトを制御する制御装置である。ディスクドライブ２０４には、たとえば、磁気ディスクドライブ、光ディスクドライブ、ソリッドステートドライブなどを採用することができる。ディスク２０５は、ディスクドライブ２０４の制御で書き込まれたデータを記憶する不揮発性メモリである。たとえばディスクドライブ２０４が磁気ディスクドライブである場合、ディスク２０５には、磁気ディスクを採用することができる。また、ディスクドライブ２０４が光ディスクドライブである場合、ディスク２０５には、光ディスクを採用することができる。また、ディスクドライブ２０４がソリッドステートドライブである場合、ディスク２０５には、半導体素子メモリを採用することができる。
【００４５】
通信インターフェース２０６は、ネットワーク２１１と内部のインターフェースを司り、外部装置からのデータの入出力を制御する制御装置である。具体的に、通信インターフェース２０６は、通信回線を通じてネットワーク２１１となるＬｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（ＬＡＮ）、Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（ＷＡＮ）、インターネットなどに接続され、ネットワーク２１１を介して他の装置に接続される。通信インターフェース２０６には、たとえば、モデムやＬＡＮアダプタなどを採用することができる。
【００４６】
ディスプレイ２０７は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する装置である。ディスプレイ２０７には、たとえば、Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ（ＣＲＴ）、Ｔｈｉｎ  Ｆｉｌｍ  Ｔｒａｎｓｉｓｔｏｒ（ＴＦＴ）液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００４７】
キーボード２０８は、文字、数字、各種指示などの入力のためのキーを有し、データの入力を行う装置である。また、キーボード２０８は、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス２０９は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う装置である。マウス２０９は、ポインティングデバイスとして同様に機能を有するものであれば、トラックボールやジョイスティックなどであってもよい。
【００４８】
（設計支援装置１００の機能構成）
次に、設計支援装置１００の機能構成について説明する。図３は、設計支援装置の機能構成例を示すブロック図である。設計支援装置１００は、算出部３０１と、取得部３０２と、第３作成部３０３と、第１作成部３０４と、第２作成部３０５と、を含む。制御部となる算出部３０１〜第２作成部３０５は、記憶装置に記憶されたプログラムをＣＰＵ２０１が実行することにより、算出部３０１〜第２作成部３０５の機能を実現する。記憶装置とは、具体的には、たとえば、図２に示したＲＯＭ２０２、ＲＡＭ２０３、ディスク２０５などである。または、通信インターフェース２０６を経由して他のＣＰＵが実行することにより、算出部３０１〜第２作成部３０５の機能を実現してもよい。
【００４９】
また、設計支援装置１００は、記憶部１１０にアクセス可能である。記憶部１１０は、ＲＡＭ２０３、ディスク２０５といった記憶装置に格納されている。記憶部１１０は、ポストレイアウト回路１０２内の各々の素子の特性を表す第２ばらつきパラメータ群の各々の値を記憶する。たとえば、記憶部１１０は、第２ばらつきパラメータ群としてｘ１，…，ｘｍ，…，ｘｎの値となる、Δｘ１＿１，…，Δｘｍ＿１，…，Δｘｎ＿１を記憶する。また、記憶部１１０は、第２ばらつきパラメータ群の各々の値を含む組を複数通り記憶してもよい。たとえば、記憶部１１０は、Δｘ１＿１，…，Δｘｍ＿１，…，Δｘｎ＿１の組と、Δｘ１＿２，…，Δｘｍ＿２，…，Δｘｎ＿２の組と、…，Δｘ１＿ｃｎｔ，…，Δｘｍ＿ｃｎｔ，…，Δｘｎ＿ｃｎｔの組というように、ｃｎｔ個通り記憶してもよい。
【００５０】
また、ポストレイアウト回路１０２は、プロセスの設計規則を満たした回路であってもよい。ＤＲＣを満たすことにより、ポストレイアウト回路１０２がプロセスの設計規則を満たすことになる。また、ポストレイアウト回路１０２は、ポストレイアウト回路１０２内の各々の素子のうちのプレレイアウト回路１０１内の各々の素子に対応する素子の接続関係がプレレイアウト回路１０１の各々の素子の接続関係と一致する回路であってもよい。ＬＶＳを満たすことにより、接続関係が一致することになる。
【００５１】
算出部３０１は、第１関数モデルに、記憶部１１０を参照して、第２ばらつきパラメータ群のうちの第１ばらつきパラメータ群の各々に対応するパラメータの値を入力することにより、プレレイアウト回路１０１の第１性能値を算出する。第１関数モデルは、第１パラメータ群を用いてプレレイアウト回路１０１の性能値を表す関数モデルである。第１関数モデルが表す性能値は、性能値そのものでもよいし、性能値の平均値からの差分でもよい。
【００５２】
対応するパラメータを特定する例として、算出部３０１は、たとえば、第２ばらつきパラメータ群のパラメータの名称や識別情報の一部が、第１ばらつきパラメータ群のあるパラメータと一致する場合、あるパラメータを対応するパラメータとして特定する。
【００５３】
図１の例を用いると、算出部３０１は、ｘ１，…，ｘｍ，…，ｘｎのうちの第１ばらつきパラメータ群の各々に対応するパラメータｘ１，…，ｘｍの値Δｘ１＿１，…，Δｘｍ＿１を第１関数モデルに入力することにより、第１性能値Δｐ＿ｐｒｅ＿１を算出する。
【００５４】
また、算出部３０１は、組に含まれる第２ばらつきパラメータ群の各々の値のうちの第１ばらつきパラメータ群の各々に対応するパラメータの値を第１関数モデルに入力することにより、プレレイアウト回路１０１の第１性能値を組に対応して算出してもよい。たとえば、算出部３０１は、Δｘ１＿１，…，Δｘｍ＿１，…，Δｘｎ＿１の組のうち、Δｘ１＿１，…，Δｘｍ＿１を第１関数モデルに入力して第１性能値Δｐ＿ｐｒｅ＿１を算出する。さらに、算出部３０１は、Δｘ１＿ｃｎｔ，…，Δｘｍ＿ｃｎｔ，…，Δｘｎ＿ｃｎｔの組のうち、Δｘ１＿ｃｎｔ，…，Δｘｍ＿ｃｎｔを第１関数モデルに入力して第１性能値Δｐ＿ｐｒｅ＿ｃｎｔを算出する。なお、算出された第１性能値は、ＲＡＭ２０３、ディスク２０５などの記憶装置に格納される。
【００５５】
取得部３０２は、記憶部１１０に記憶されている第２ばらつきパラメータ群の各々の値を用いてポストレイアウト回路１０２をシミュレーションして得られるポストレイアウト回路１０２の第２性能値を取得する。図１の例を用いると、取得部３０２は、Δｘ１＿１，…，Δｘｍ＿１，…，Δｘｎ＿１を用いてシミュレーションして得られる第２性能値Δｐ＿ｐｏｓｔ＿１を取得する。シミュレーションを行う装置は、設計支援装置１００でもよいし、他の装置が行ってもよい。
【００５６】
また、取得部３０２は、記憶部１１０に記憶されている組に含まれる第２ばらつきパラメータ群の各々の値を用いてポストレイアウト回路１０２の動作を模擬して得られるポストレイアウト回路１０２の第２性能値を組に対応して取得してもよい。図１の例を用いると、取得部３０２は、Δｘ１＿１，…，Δｘｍ＿１，…，Δｘｎ＿１を用いてシミュレーションして得られる第２性能値Δｐ＿ｐｏｓｔ＿１を取得する。さらに、取得部３０２は、Δｘ１＿ｃｎｔ，…，Δｘｍ＿ｃｎｔ，…，Δｘｎ＿ｃｎｔを用いてシミュレーションして得られる第２性能値Δｐ＿ｐｏｓｔ＿ｃｎｔを取得する。なお、取得された第２性能値は、ＲＡＭ２０３、ディスク２０５などの記憶装置に格納される。
【００５７】
第３作成部３０３は、次に示す情報に基づいて、第２ばらつきパラメータ群から選ばれた一部のパラメータの組合せに対応して、一部のパラメータを用いて第２関数モデルの候補を作成する。次に示す情報とは、記憶部１１０に記憶されている複数の組のうちの第１組に対応する第１性能値と第１組に対応する第２性能値と第１組に含まれる第２ばらつきパラメータ群の各々の値となる。第２関数モデルは、第２ばらつきパラメータ群を用いてプレレイアウト回路１０１とポストレイアウト回路１０２の性能値の差分を表す関数モデルである。第２関数モデルが表す性能値は、性能値そのものでもよいし、性能値の平均値からの差分でもよい。
【００５８】
たとえば、第３作成部３０３は、ｘ１，…，ｘｍ，…，ｘｎのうちの一部のパラメータとして、ＬＡＲに従い、最も相関が高いｘ１を用いて第２関数モデルの候補の１つ目を作成する。次に、第３作成部３０３は、ＬＡＲに従い、最も相関が高いｘ１と次に相関の高いｘ２を用いて第２関数モデルの候補の２つ目を作成する。このように、第３作成部３０３は、相関の高いパラメータの順にパラメータを選択して、選択したパラメータを用いて第２関数モデルの候補を複数作成する。なお、作成された第２関数モデルの候補は、ＲＡＭ２０３、ディスク２０５などの記憶装置に格納される。
【００５９】
第１作成部３０４は、算出部３０１によって算出された第１性能値と取得部３０２によって取得された第２性能値と記憶部１１０に記憶されている第２ばらつきパラメータ群の各々の値とに基づいて、第２関数モデルを作成する。第１作成部３０４は、たとえば、ＬＡＲ、ＳＴＡＲといった方法を用いて、第２関数モデルを作成する。たとえば、第１作成部３０４は、ＬＡＲによって複数作成された第２関数モデルの候補から、ＡＩＣ（Ａｋａｉｋｅ’ｓ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｃｒｉｔｅｒｉｏｎ）による指標に従って、第２関数モデルを選択する。
【００６０】
また、第１作成部３０４は、算出部３０１によって算出された組に対応する第１性能値と取得部３０２によって取得された組に対応する第２性能値と組に含まれる第２ばらつきパラメータ群の各々の値とに基づいて、第２関数モデルを作成してもよい。具体的に、第１作成部３０４は、Δｐ＿ｐｏｓｔ＿１と、Δｐ＿ｐｒｅ＿１と、Δｘ１＿１，…，Δｘｎ＿１と、に基づいて、第２関数モデルを作成する。
【００６１】
また、第１作成部３０４は、組合せに対応して第３作成部３０３によって作成された第２関数モデルの候補から、第２組に対応する第１性能値および第２性能値と第２組に含まれる第２ばらつきパラメータ群の各々の値とに基づいて第２関数モデルを選択してもよい。第２組は、複数の組の第１組とは異なる組となる。より詳細には、第３作成部３０３が、クロスバリデーションを適用して、フィッティングに用いる第１組に対応する第１性能値および第２性能値と第１組に含まれる第２ばらつきパラメータ群の各々の値とに基づいて、関数モデルの係数をフィッティングする。そして、第１作成部３０４は、フィッティングに用いなかった第２組に対応する第１性能値および第２性能値と第２組に含まれる第２ばらつきパラメータ群の各々の値とを用いて、第２関数モデルの候補を評価する。評価後、第１作成部３０４は、たとえば、評価の値が最大となった第２関数モデルの候補を第２関数モデルとする。
【００６２】
たとえば、第３作成部３０３によって、２つの第２関数モデルの候補が作成されており、１つ目の第２関数モデルの候補は、ｘ１を用いる関数モデルであり、２つ目の第２関数モデルの候補は、ｘ１とｘ２を用いる関数モデルであるとする。このとき、第１作成部３０４は、１つ目の第２関数モデルの候補に、第２組に含まれる第２ばらつきパラメータ群の各々の値を代入し、代入して得られた値と、第２組に対応する第１性能値および第２性能値との差分との残差を取得する。同様に、第１作成部３０４は、２つ目の第２関数モデルの候補に、第２組に含まれる第２ばらつきパラメータ群の各々の値を代入し、代入して得られた値と、第２組に対応する第１性能値および第２性能値との差分との残差を取得する。第３作成部３０３は、取得した２つの残差のうち、絶対値の小さい方の残差に対応する第２関数モデルの候補を、第２関数モデルとする。なお、作成された第２関数モデルは、ＲＡＭ２０３、ディスク２０５などの記憶装置に格納される。
【００６３】
第２作成部３０５は、第１作成部３０４によって作成された第２関数モデルと第１関数モデルとに基づいて、第２ばらつきパラメータ群を用いてポストレイアウト回路１０２の性能値を表す第３関数モデルを作成する。第３関数モデルが表す性能値は、性能値そのものでもよいし、性能値の平均値からの差分でもよい。
【００６４】
たとえば、第２作成部３０５は、第２関数モデルと第１関数モデルを加算して、第３関数モデルを作成する。たとえば、第１関数モデルと第２関数モデルが線形モデルであれば、第２作成部３０５は、第２ばらつきパラメータ群のあるばらつきパラメータの係数と、対応する第１ばらつきパラメータ群のばらつきパラメータの係数とを加算して、第３関数モデルを作成する。加算する際に、第２作成部３０５は、一方の係数のオーダーが大きく異なるならば、小さいオーダーとなる係数を加えなくともよい。なお、作成された第３関数モデルは、ＲＡＭ２０３、ディスク２０５などの記憶装置に格納される。また、作成された第３関数モデルは、通信インターフェース２０６を通じて、設計支援装置１００とは別の装置に送信されてもよい。
【００６５】
次に、設計支援装置１００が記憶するプレレイアウト回路のばらつきモデルの一例を、図４を用いて説明し、ポストレイアウト回路のサンプリングデータの一例を、図５を用いて説明する。サンプリングデータは、設計対象回路のばらつきパラメータの値と、ばらつきパラメータを用いてシミュレーションして得られる設計対象回路の性能値と、を含むものとする。
【００６６】
図４は、プレレイアウト回路のばらつきモデルの一例を示す説明図である。図４の（Ａ）にて示す、プレレイアウト回路のばらつきモデルは、下記（７）式となる。
【００６７】
Δ性能値＝ｆ＿ｐｒｅ（Δばらつきパラメータ１，Δばらつきパラメータ２，…，Δばらつきパラメータｍ）  …（７）
【００６８】
プレレイアウト回路のばらつきモデルは、プレレイアウト回路をシミュレーションして得られたサンプリングデータを用いてフィッティングすることにより得られる。プレレイアウト回路は、ポストレイアウト回路に比べてばらつきパラメータの数が少ない。したがって、ポストレイアウト回路に比べると、プレレイアウト回路の方がシミュレーションデータの数を多くすることが容易であり、結果、精度の高いプレレイアウト回路のばらつきモデルを作成することができる。
【００６９】
図４の（Ｂ）は、トランジスタＭ１＿ｐｒｅと、トランジスタＭ２＿ｐｒｅが含まれるプレレイアウト回路４０１について、遅延量に関するプレレイアウト回路４０１のばらつきモデルを示す。図４の（Ｂ）にて示すプレレイアウト回路４０１のばらつきモデルｆ＿ｐｒｅ（）は、下記（８）式となる。
【００７０】
Δｄｅｌａｙ＿ｐｒｅ＝ｆ＿ｐｒｅ（ΔＭ１＿ｐｒｅ＿ｖｔｈ，ΔＭ１＿ｐｒｅ＿Ｌ，ΔＭ２＿ｐｒｅ＿ｖｔｈ，ΔＭ２＿ｐｒｅ＿Ｌ，…）  …（８）
【００７１】
ただし、Δｄｅｌａｙ＿ｐｒｅは、プレレイアウト回路４０１の遅延量の偏差を示す。ΔＭ１＿ｐｒｅ＿ｖｔｈは、トランジスタＭ１＿ｐｒｅの閾値電圧の偏差を示す。ΔＭ１＿ｐｒｅ＿Ｌは、トランジスタＭ１＿ｐｒｅのチャネル長の偏差を示す。ΔＭ２＿ｐｒｅ＿ｖｔｈは、トランジスタＭ２＿ｐｒｅの閾値電圧の偏差を示す。ΔＭ２＿ｐｒｅ＿Ｌは、トランジスタＭ２＿ｐｒｅのチャネル長の偏差を示す。また、ｆ＿ｐｒｅ（）が線形モデルの場合、（８）式は、下記（９）式のように表すことができる。
【００７２】
Δｄｅｌａｙ＿ｐｒｅ＝ａ１＊ΔＭ１＿ｐｒｅ＿ｖｔｈ＋ａ２＊ΔＭ１＿ｐｒｅ＿Ｌ＋ａ３＊ΔＭ２＿ｐｒｅ＿ｖｔｈ＋ａ４＊ΔＭ２＿ｐｒｅ＿Ｌ＋…  …（９）
【００７３】
ただし、ａ１〜ａ４は、プレレイアウト回路４０１のシミュレーションデータを用いてフィッティングして得られた係数である。
【００７４】
図５は、ポストレイアウト回路のサンプリングデータの一例を示す説明図である。図５の（Ａ）にて示すポストレイアウト回路のサンプリングデータ群５０１は、ポストレイアウト回路のばらつきパラメータの偏差と、ポストレイアウト回路の性能値の偏差とを含む。１つのサンプリングデータには、ポストレイアウト回路のばらつきパラメータの値がｎ個あり、性能値が１つある。
【００７５】
図５の（Ａ）と図５の（Ｂ）での説明において登場するばらつきパラメータおよび性能値は、全てポストレイアウト回路のばらつきパラメータおよび性能値である。そこで、図５の（Ａ）と図５の（Ｂ）の説明では、説明の簡略化のため、「ポストレイアウト回路のばらつきパラメータ」を、単に、「ばらつきパラメータ」と呼称し、「ポストレイアウト回路の性能値」を、単に、「性能値」と呼称する。
【００７６】
ポストレイアウト回路のサンプリングデータは、ばらつきパラメータの偏差と性能値の偏差とを１レコードとして記憶している。図５の（Ａ）に示すポストレイアウト回路のサンプリングデータ群５０１は、レコード５０１−１〜レコード５０１−ｃｎｔ分有する。たとえば、レコード５０１−１には、１つ目の性能値の偏差と、１つ目のばらつきパラメータ１の偏差と、１つ目のばらつきパラメータ２の偏差と、…、１つ目のばらつきパラメータｎの偏差とが格納されている。
【００７７】
また、図５の（Ｂ）は、ポストレイアウト回路５１０のサンプリングデータの具体例を示す。図５の（Ｂ）で示すポストレイアウト回路５１０のサンプリングデータ群５０２が、レコード５０２−１、レコード５０２−２、…、レコード５０２−ｃｎｔ分あるとする。また、図５の（Ｂ）で示すポストレイアウト回路５１０には、トランジスタＭ１＿ｐｏｓｔと、トランジスタＭ２＿ｐｏｓｔと、抵抗器Ｒ１＿ｐｏｓｔ、コンデンサＣ１＿ｐｏｓｔが含まれるとする。ポストレイアウト回路５１０のばらつきパラメータは、各トランジスタのばらつきパラメータが、各トランジスタの閾値電圧を示すｖｔｈと、各トランジスタのチャネル長を示すＬを含む。さらに、図５の（Ｂ）では、性能値は、遅延量であるとする。
【００７８】
上述した前提において、ポストレイアウト回路５１０のサンプリングデータ群５０２は、Δｄｅｌａｙ＿ｐｏｓｔ、ΔＭ１＿ｐｏｓｔ＿ｖｔｈ〜ΔＭ２＿ｐｏｓｔ＿Ｌ、…、ΔＲ１＿ｐｏｓｔ、ΔＣ１＿ｐｏｓｔ…、というフィールドを有する。Δｄｅｌａｙ＿ｐｏｓｔフィールドには、遅延量の偏差が格納される。ΔＭ１＿ｐｏｓｔ＿ｖｔｈフィールドには、トランジスタＭ１＿ｐｏｓｔの閾値電圧の偏差が格納される。ΔＭ１＿ｐｏｓｔ＿Ｌフィールドには、トランジスタＭ１＿ｐｏｓｔのチャネル長の偏差が格納される。ΔＭ２＿ｐｏｓｔ＿ｖｔｈフィールドには、トランジスタＭ２＿ｐｏｓｔの閾値電圧の偏差が格納される。ΔＭ２＿ｐｏｓｔ＿Ｌフィールドには、トランジスタＭ２＿ｐｏｓｔのチャネル長の偏差が格納される。ΔＲ１＿ｐｏｓｔフィールドには、抵抗器Ｒ１の抵抗値の偏差が格納される。ΔＣ１＿ｐｏｓｔフィールドには、コンデンサＣ１の容量の偏差が格納される。
【００７９】
たとえば、レコード５０２−１には、１つ目のサンプリングデータとして、Δｄ＿ｐｏｓｔ＿１と、ΔＭ１＿ｐｏｓｔ＿ｖｔｈ＿１と、ΔＭ１＿ｐｏｓｔ＿Ｌ＿１と、ΔＭ２＿ｐｏｓｔ＿ｖｔｈ＿１と、ΔＭ２＿ｐｏｓｔ＿Ｌ＿１とが格納されている。さらに、レコード５０２−１には、ΔＲ１＿ｐｏｓｔ＿１と、ΔＣ１＿ｐｏｓｔ＿１と、が格納されている。
【００８０】
（Ｓｐａｒｓｅデータ処理）
次に、図６〜図１２を用いて、Ｓｐａｒｓｅデータ処理の動作手順について説明する。Ｓｐａｒｓｅデータ処理は、差分モデルのＳｐａｒｓｉｔｙ特性が増加すると予測される方法を用いて、ポストレイアウト回路のばらつきモデルを作成する処理である。図６〜図１２では、プレレイアウト回路４０１のばらつきモデルと、ポストレイアウト回路５１０のサンプリングデータとを用いて、Ｓｐａｒｓｅデータ処理の説明を行う。また、Ｓｐａｒｓｉｔｙ特性が増加すると予測される根拠については、図１１にて後述する。
【００８１】
図６では、Ｓｐａｒｓｅデータ処理に含まれる、プレレイアウト回路のモデルの引数とポストレイアウト回路とのばらつきパラメータの対応付けの例について説明する。図７では、対応付けの結果の一例について説明する。図８と図９では、Ｓｐａｒｓｅデータ処理に含まれる処理である、対応付けの結果を用いて性能の差分データを作成する例について説明する。図１０と図１１では、Ｓｐａｒｓｅデータ処理に含まれる処理である、性能の差分データを用いて差分モデルを作成する例について説明する。図１２では、Ｓｐａｒｓｅデータ処理に含まれる処理である、差分モデルを用いてポストレイアウト回路のばらつきモデルを作成する例について説明する。
【００８２】
図６は、プレレイアウト回路のモデルの引数とポストレイアウト回路とのばらつきパラメータの対応付けの一例を示す説明図である。設計支援装置１００は、レイアウト抽出ツールを実行することにより、プレレイアウト回路のモデルの各引数の名称と、ポストレイアウト回路とのばらつきパラメータの各データの名称とを用いて対応付ける。
【００８３】
たとえば、図６の例では、設計支援装置１００は、名称に“Ｍ１”と“ｖｔｈ”が共通しているΔＭ１＿ｐｒｅ＿ｖｔｈとΔＭ１＿ｐｏｓｔ＿ｖｔｈとを対応付ける。同様に、設計支援装置１００は、名称に“Ｍ１”と“Ｌ”が共通しているΔＭ１＿ｐｒｅ＿ＬとΔＭ１＿ｐｏｓｔ＿Ｌとを対応付ける。さらに、設計支援装置１００は、名称に“Ｍ２”と“ｖｔｈ”が共通しているΔＭ２＿ｐｒｅ＿ｖｔｈとΔＭ２＿ｐｏｓｔ＿ｖｔｈとを対応付け、名称に“Ｍ２”と“Ｌ”が共通しているΔＭ２＿ｐｒｅ＿ＬとΔＭ２＿ｐｏｓｔ＿Ｌとを対応付ける。図７に、対応付けの結果の一例を示す。
【００８４】
図７は、対応付けの結果の一例を示す説明図である。設計支援装置１００は、ポストレイアウト回路５１０のサンプリングデータに対応付けの結果を反映したｖａｒ＿ｐｏｓｔ＿ｍａｐ７０１として保持する。ｖａｒ＿ｐｏｓｔ＿ｍａｐ７０１は、縦がｃｎｔ個であり、横がｎ＋１個のデータを有する行列となる。ｖａｒ＿ｐｏｓｔ＿ｍａｐ７０１は、レコード７０１−１〜レコード７０１−ｃｎｔを有する。
【００８５】
また、図７では、対応付けの結果を、ｖａｒ＿ｐｏｓｔ＿ｍａｐ７０１のセル内にハッチを掛けることにより表現している。具体的に、対応付けられたセルは、ΔＭ１＿ｐｏｓｔ＿ｖｔｈ、ΔＭ１＿ｐｏｓｔ＿Ｌ、ΔＭ２＿ｐｏｓｔ＿ｖｔｈ、ΔＭ２＿ｐｏｓｔ＿Ｌの４つのフィールドに属するセルである。
【００８６】
なお、ｖａｒ＿ｐｏｓｔ＿ｍａｐ７０１を作成する装置は、設計支援装置１００でもよいし、別の装置でもよい。別の装置がｖａｒ＿ｐｏｓｔ＿ｍａｐ７０１を作成した場合、設計支援装置１００は、作成されたｖａｒ＿ｐｏｓｔ＿ｍａｐ７０１を別の装置から取得して、図８、図９にて説明する差分データを作成する。
【００８７】
図８は、性能の差分データの作成例を示す説明図（その１）である。設計支援装置１００は、ｖａｒ＿ｐｏｓｔ＿ｍａｐ７０１と、プレレイアウト回路４０１のばらつきモデルと、ポストレイアウト回路５１０のサンプリングデータを用いて、性能の差分データを作成する。
【００８８】
はじめに、設計支援装置１００は、ｖａｒ＿ｐｏｓｔ＿ｍａｐ７０１を参照して、ポストレイアウト回路５１０のサンプリングデータのうち対応付けられたばらつきパラメータの偏差を、プレレイアウト回路４０１のばらつきモデルの対応する引数として代入する。代入した結果、設計支援装置１００は、プレレイアウト回路４０１のばらつきモデルを実行して、遅延量の偏差を作成する。
【００８９】
図８の例では、設計支援装置１００は、レコード７０１−１〜レコード７０１−ｃｎｔの各値を、プレレイアウト回路４０１のばらつきモデルの引数として代入し、プレレイアウト回路４０１のばらつきモデルから得られた遅延量の偏差を算出する。具体的に、設計支援装置１００は、レコード７０１−１のΔＭ１＿ｐｏｓｔ＿ｖｔｈ＿１をプレレイアウト回路４０１のばらつきモデルの第１引数として代入し、ΔＭ１＿ｐｏｓｔ＿Ｌ＿１をプレレイアウト回路４０１のばらつきモデルの第２引数として代入する。同様に、設計支援装置１００は、ΔＭ２＿ｐｏｓｔ＿ｖｔｈ＿１をプレレイアウト回路４０１のばらつきモデルの第３引数として代入し、ΔＭ２＿ｐｏｓｔ＿Ｌ＿１をプレレイアウト回路４０１のばらつきモデルの第４引数として代入する。第１引数〜第４引数を代入した結果、設計支援装置１００は、レコード７０１−１の各データをプレレイアウト回路４０１のばらつきモデルに代入した結果得られた遅延量の偏差Δｄ＿ｐｒｅ＿１を算出する。
【００９０】
同様に、設計支援装置１００は、レコード７０１−２の各データ、…、レコード７０１−ｃｎｔの各データをプレレイアウト回路４０１のばらつきモデルに代入した結果得られた遅延量の偏差Δｄ＿ｐｒｅ＿２、…、Δｄ＿ｐｒｅ＿ｃｎｔを算出する。後続の処理については、図９を用いて説明する。
【００９１】
図９は、性能の差分データの作成例を示す説明図（その２）である。設計支援装置１００は、ポストレイアウト回路５１０の遅延量の偏差を示すΔｄｅｌａｙ＿ｐｏｓｔと、プレレイアウト回路４０１の遅延量の偏差を示すΔｄｅｌａｙ＿ｐｒｅとの差分を、差分データΔｄとして算出する。
【００９２】
具体的に、設計支援装置１００は、Δｄ＿ｐｏｓｔ＿１−Δｄ＿ｐｒｅ＿１から差分データとしてΔｄ＿１を算出する。同様に、設計支援装置１００は、Δｄ＿ｐｏｓｔ＿２−Δｄ＿ｐｒｅ＿２を算出して、差分データとしてΔｄ＿２を算出し、…、Δｄ＿ｐｏｓｔ＿ｃｎｔ−Δｄ＿ｐｒｅ＿ｃｎｔを算出して、Δｄ＿ｃｎｔを算出する。次に、図１０と図１１にて、差分データを用いて差分モデルを作成する例について説明する。
【００９３】
図１０は、差分モデルの作成例を示す説明図（その１）である。設計支援装置１００は、差分データと、ポストレイアウト回路５１０のばらつきパラメータの偏差とに基づいて、差分データを求める差分モデルを作成する。
【００９４】
具体的に、設計支援装置１００は、差分データΔｄ＿１〜Δｄ＿ｃｎｔと、ΔＭ１＿ｐｏｓｔ＿ｖｔｈ＿１〜ΔＣ１＿ｐｏｓｔ＿ｃｎｔ…とを用いてフィッティングすることにより、差分モデルｆ＿ｄｉｆｆ（）を作成する。差分モデルｆ＿ｄｉｆｆ（）は、たとえば、下記（１０）式となる。
【００９５】
Δｄ＝ｆ＿ｄｉｆｆ（ΔＭ１＿ｐｏｓｔ＿ｖｔｈ，ΔＭ１＿ｐｒｅ＿Ｌ，Ｍ２＿ｐｏｓｔ＿ｖｔｈ，Ｍ２＿ｐｏｓｔ＿Ｌ，…，ΔＲ１＿ｐｏｓｔ，ΔＣ１＿ｐｏｓｔ，…）  …（１０）
【００９６】
差分モデルｆ＿ｄｉｆｆ（）の具体例としては、たとえば、下記（１１）式となる。
【００９７】
Δｄ＝ａｄ１＊ΔＭ１＿ｐｏｓｔ＿ｖｔｈ＋ａｄ２＊ΔＭ１＿ｐｏｓｔ＿Ｌ＋ａｄ３＊ΔＭ２＿ｐｏｓｔ＿ｖｔｈ＋ａｄ４＊ΔＭ２＿ｐｏｓｔ＿Ｌ＋…＋ａｄ５＊ΔＲ１＿ｐｏｓｔ＋ａｄ６＊ΔＣ１＿ｐｏｓｔ＋…  …（１１）
【００９８】
（１１）式は、差分モデルｆ＿ｄｉｆｆ（）が線形モデルである場合を示す。差分モデルｆ＿ｄｉｆｆ（）は、非線形モデルでもよい。（１０）式、（１１）式において、ｄは、ポストレイアウト回路の遅延量を示す。ａｄ１，ａｄ２，…，ａｄ６，…は、差分データΔｄ＿１〜Δｄ＿ｃｎｔと、ポストレイアウト回路５１０のばらつきパラメータの偏差ΔＭ１＿ｐｏｓｔ＿ｖｔｈ＿１〜ΔＣ１＿ｐｏｓｔ＿ｃｎｔ…とを用いてフィッティングすることにより得られる係数である。図１１に、ＬＡＲを用いて差分モデルを作成する例について説明する。
【００９９】
図１１は、差分モデルの作成例を示す説明図（その２）である。図１１では、ＬＡＲに従って、複数の差分モデルの候補を作成し、複数の差分モデルの候補から、クロスバリデーションを用いて、差分モデルを選択する方法について説明する。
【０１００】
初めに、設計支援装置１００は、ポストレイアウト回路５１０のサンプリングデータ群５０２を、フィッティング用に用いるデータと、評価に用いるデータとに分割する。図１１の例では、ｘを、ｃｎｔより小さい整数として、設計支援装置１００は、Δｄ＿１〜Δｄ＿ｘと、レコード５０２−１〜レコード５０２−ｘを、フィッティング用に用いるデータに設定し、残余のデータを評価に用いるデータに設定する。
【０１０１】
設計支援装置１００は、フィッティング用に用いるデータを用いて、複数の差分モデルの候補を作成する。非特許文献１に記載したように、ＬＡＲは、相関の高いパラメータを順に選択して、関数モデルを複数作成する。
【０１０２】
たとえば、非特許文献１の（１４）式では、ｆ（ΔＹ）＝−０．４３＊Δｙ1−１．６６＊Δｙ2＋０．１２＊Δｙ3＋０．２８＊Δｙ4−１．１４＊Δｙ5を得たとする。また、α1＝−０．４３とし、α2＝−１．６６とし、α3＝−０．１２とし、α4＝−０．２８とし、α5＝１．１４とする。このとき、ＬＡＲを実行する装置は、係数の絶対値が大きいα2、α5、α1、α4、α3の順に、差分に影響を与えるパラメータの係数として選択し、関数モデルを複数作成する。
【０１０３】
上述したＬＡＲを適用して、設計支援装置１００は、枠１１０１内に示すｍ個の差分モデルの候補を作成する。たとえば、設計支援装置１００は、ばらつきパラメータがΔＭ１＿ｐｏｓｔ＿ｖｔｈ１つであるｆ＿ｄｉｆｆ＿１（）、ΔＭ１＿ｐｏｓｔ＿ｖｔｈとΔＭ２＿ｐｏｓｔ＿ｖｔｈ２つであるｆ＿ｄｉｆｆ＿２（）、…、というようにｍ個の差分モデルの候補を作成する。
【０１０４】
次に、設計支援装置１００は、枠１１０２にて示すように、ｍ個の差分モデルの候補を評価して、差分モデルの候補から差分モデルを選択する。具体的に、図１１では、Δｄ＿ｃｎｔと、レコード５０２−ｃｎｔを用いて、ｍ個の差分モデルの候補を評価する。たとえば、設計支援装置１００は、ｆ＿ｄｉｆｆ＿１（）にΔＭ１＿ｐｏｓｔ＿ｖｔｈ＿ｃｎｔを代入したｆ＿ｄｉｆｆ＿１（ΔＭ１＿ｐｏｓｔ＿ｖｔｈ＿ｃｎｔ）と、Δｄ＿ｃｎｔとの残差を取得する。設計支援装置１００は、ｆ＿ｄｉｆｆ＿２（）〜ｆ＿ｄｉｆｆ＿ｍ（）にも、Δｄ＿ｃｎｔと、レコード５０２−ｃｎｔの各値を代入し、残差の絶対値が最も小さい差分モデルの候補を差分モデルとして選択する。なお、残差の絶対値ではなく、残差の二乗で比較してもよい。
【０１０５】
差分モデルｆ＿ｄｉｆｆ（）のＳｐａｒｓｉｔｙ特性が、ポストレイアウト回路のばらつきモデルｆ＿ｐｏｓｔ（）のＳｐａｒｓｉｔｙ特性より良くなる理由について説明する。まず、ポストレイアウト回路のばらつきを解析する工程は、ＤＲＣ、ＬＶＳが満たした後行うので、ポストレイアウト回路の性能とプレレイアウト回路の性能とがほぼ同一となる。ここで、ポストレイアウト回路のパラメータの数はプレレイアウト回路のパラメータの数と比較して膨大になるが、レイアウト処理によって増えたパラメータのうち、ポストレイアウト回路の性能に影響を与えるパラメータは、僅かとなる可能性が高い。
【０１０６】
したがって、図１０で作成した差分モデルのパラメータのうち性能に影響を与えるパラメータの数は、ポストレイアウト回路のばらつきモデルのパラメータのうち性能に影響を与えるパラメータの数より、少なくなる可能性が高い。性能に影響を与えるパラメータの数が少なくなることにより、差分モデルはＳｐａｒｓｉｔｙ特性が良くなるため、設計支援装置１００は、少ないサンプリングデータでも精度の良いばらつき解析モデルを作成することができる。
【０１０７】
図１２は、ポストレイアウト回路のばらつきモデルの作成例を示す説明図である。設計支援装置１００は、プレレイアウト回路４０１のばらつきモデルｆ＿ｐｒｅ（）と差分モデルｆ＿ｄｉｆｆ（）とに基づいて、ポストレイアウト回路５１０のばらつきモデルｆ＿ｐｏｓｔ（）を作成する。
【０１０８】
たとえば、設計支援装置１００は、ｆ＿ｐｏｓｔ（）を、下記（１２）式を用いて算出する。
【０１０９】
ｆ＿ｐｏｓｔ（）＝ｆ＿ｐｒｅ（）＋ｆ＿ｄｉｆｆ（）  …（１２）
【０１１０】
プレレイアウト回路４０１のばらつきモデルｆ＿ｐｒｅ（）と差分モデルｆ＿ｄｉｆｆ（）が線形モデルである場合、設計支援装置１００は、ｆ＿ｐｏｓｔ（）を、たとえば、下記（１３）式を用いて算出する。
【０１１１】
ｆ＿ｐｏｓｔ（）＝（ａ１＋ａｄ１）＊ΔＭ１＿ｐｏｓｔ＿ｖｔｈ＋（ａ２＋ａｄ２）＊ΔＭ１＿ｐｏｓｔ＿Ｌ＋（ａ３＋ａｄ３）＊ΔＭ２＿ｐｏｓｔ＿ｖｔｈ＋（ａ４＋ａｄ４）＊ΔＭ２＿ｐｏｓｔ＿Ｌ＋…＋ａｄ５＊ΔＲ１＿ｐｏｓｔ＋ａｄ６＊ΔＣ１＿ｐｏｓｔ＋…  …（１３）
【０１１２】
次に、図１３と図１４を用いてポストレイアウト回路作成処理について説明する。
【０１１３】
図１３は、ポストレイアウト回路作成処理手順の一例を示すフローチャートである。ポストレイアウト回路作成処理は、ポストレイアウト回路５１０の回路情報とポストレイアウト回路５１０のばらつきモデルを作成する処理である。設計支援装置１００は、プレレイアウト回路４０１の回路情報を取得する（ステップＳ１３０１）。次に、設計支援装置１００は、プレレイアウト回路４０１に対してレイアウト処理を実行する（ステップＳ１３０２）。続けて、設計支援装置１００は、Ｓｐａｒｓｅデータ処理を実行する（ステップＳ１３０３）。Ｓｐａｒｓｅデータ処理の詳細は、図１４にて後述する。
【０１１４】
次に、設計支援装置１００は、ポストレイアウト回路５１０の回路情報とポストレイアウト回路５１０のばらつきモデルを出力する（ステップＳ１３０４）。ステップＳ１３０４の処理実行後、設計支援装置１００は、ポストレイアウト回路作成処理を終了する。ポストレイアウト回路作成処理を実行することにより、設計支援装置１００は、ポストレイアウト回路５１０のばらつきモデルを作成することができる。
【０１１５】
図１４は、Ｓｐａｒｓｅデータ処理手順の一例を示すフローチャートである。Ｓｐａｒｓｅデータ処理は、差分モデルのＳｐａｒｓｉｔｙ特性が増加すると予測される方法を用いて、ポストレイアウト回路のばらつきモデルを作成する処理である。
【０１１６】
設計支援装置１００は、プレレイアウト回路４０１のばらつきモデルの引数とポストレイアウト回路５１０とのばらつきパラメータを対応付ける（ステップＳ１４０１）。次に、設計支援装置１００は、対応付け結果と、プレレイアウト回路４０１のばらつきモデルと、ポストレイアウト回路５１０のばらつきパラメータの値とを用いて、プレレイアウト回路４０１の性能値を算出する（ステップＳ１４０２）。続けて、設計支援装置１００は、ポストレイアウト回路５１０のばらつきパラメータの値を用いて、ポストレイアウト回路５１０をシミュレーションして得られるポストレイアウト回路５１０の性能値を取得する（ステップＳ１４０３）。なお、ステップＳ１４０３の処理は、ステップＳ１４０１の処理またはステップＳ１４０２の処理と並列に行われてもよい。
【０１１７】
次に、設計支援装置１００は、算出したプレレイアウト回路４０１の性能値と、取得したポストレイアウト回路５１０の性能値との差分を算出する（ステップＳ１４０４）。続けて、設計支援装置１００は、第１組の算出した差分とポストレイアウト回路５１０のばらつきパラメータの値を用いて、差分モデルの候補を作成する（ステップＳ１４０５）。次に、設計支援装置１００は、第２組の算出した差分とポストレイアウト回路５１０のばらつきパラメータの値を用いて、差分モデルの候補から、差分モデルを選択する（ステップＳ１４０６）。続けて、設計支援装置１００は、プレレイアウト回路４０１のばらつきモデルと、差分モデルとに基づいて、ポストレイアウト回路５１０のばらつきモデルを作成する（ステップＳ１４０７）。
【０１１８】
ステップＳ１４０７の処理実行後、設計支援装置１００は、Ｓｐａｒｓｅデータ処理を終了する。Ｓｐａｒｓｅデータ処理を実行することにより、設計支援装置１００は、差分モデルのＳｐａｒｓｉｔｙ特性が増加すると予測される方法を用いて、ポストレイアウト回路のばらつきモデルを作成することができる。
【０１１９】
（ポストレイアウト回路のばらつきモデルの作成にかかる時間の比較）
次に、応答曲面法と、Ｓｐａｒｓｉｔｙ特性を利用した方法と、図１３、図１４にて示した本実施の形態にかかる方法との３つの方法それぞれがポストレイアウト回路のばらつきモデルの作成にかかる時間について説明する。
【０１２０】
図１５は、ポストレイアウト回路のばらつきモデルの生成にかかる時間を比較した一例を示す説明図である。図１５では、ＶＣＯ（Ｖｏｌｔａｇｅ  Ｃｏｎｔｒｏｌｌｅｄ  Ｏｓｃｉｌｌａｔｏｒ）のばらつきモデルを作成する場合を例にしており、表１５０１に記載した条件で、ＶＣＯのポストレイアウト回路のばらつきモデルの生成にかかる時間を比較する。表１５０１は、レコード１５０１−１、レコード１５０１−２を含む。また、ばらつきモデルを作成する際に行われる、フィッティングにかかる処理時間は無視できるものとする。さらに、Ｓｐａｒｓｉｔｙ特性を利用してばらつきモデルを生成する場合、設計支援装置１００は、性能に影響を与えるパラメータの数：サンプリングデータの数＝１：３となるように、サンプリングデータを用意するものとする。
【０１２１】
レコード１５０１−１は、ＶＣＯのプレレイアウト回路の素子の数が９０個であり、パラメータの数が５００個であり、ＶＣＯのプレレイアウト回路を１回シミュレーションする時間が５［分］であることを示す。さらに、レコード１５０１−１は、ＶＣＯのプレレイアウト回路のばらつきパラメータのうち、性能に影響を与えないパラメータの割合が、８０［％］であることを示す。したがって、ＶＣＯのプレレイアウト回路のばらつきパラメータのうち、性能に影響を与えるパラメータの割合は、１００−８０＝２０［％］となる。
【０１２２】
また、レコード１５０１−２は、ＶＣＯのポストレイアウト回路の素子の数が１２０００個であり、パラメータの数が２００００個であり、ＶＣＯのポストレイアウト回路を１回シミュレーションする時間が１．５［時間］であることを示す。さらに、レコード１５０１−２は、ＶＣＯのポストレイアウト回路のばらつきパラメータのうち、性能に影響を与えないパラメータの割合が、９５［％］であることを示す。したがって、ＶＣＯのポストレイアウト回路のばらつきパラメータのうち、性能に影響を与えるパラメータの割合が、１００−９５＝５［％］であることを示す。
【０１２３】
表１５０１に記載した条件で、ＲＳＭとポストレイアウト回路のばらつきモデルを直接ＬＡＲにて求める方法と本実施の形態にかかる方法との３つの方法を用いた場合のＶＣＯのポストレイアウト回路のばらつきモデルの作成にかかる時間を、表１５０２にて示す。表１５０２は、レコード１５０２−１〜レコード１５０２−３を含む。なお、ポストレイアウト回路のばらつきモデルを直接ＬＡＲにて求める方法について、図１５では、説明の簡略化のため、単に、「ＬＡＲ」と称する。
【０１２４】
レコード１５０２−１が示すように、ＲＳＭを用いた場合のＶＣＯのポストレイアウト回路のばらつきモデルの作成にかかる時間は、１２５０［日］となる。具体的に、ＲＳＭを実行する装置は、ＶＣＯのポストレイアウト回路のパラメータの数に相当する２００００個のサンプリングデータを用意し、シミュレーションを２００００回行うことになる。したがって、作成にかかる時間は、２００００＊１．５＝３００００［時間］＝１２５０［日］となる。
【０１２５】
次に、レコード１５０２−２が示すように、ＬＡＲを用いた場合のＶＣＯのポストレイアウト回路のばらつきモデルの作成にかかる時間は、１８７．５［日］となる。具体的に、ＬＡＲを実行する装置は、ＶＣＯのポストレイアウト回路のＳｐａｒｓｉｔｙ特性から導ける２００００＊０．０５＊３＝３０００個のサンプリングデータを用意し、シミュレーションを３０００回行うことになる。したがって、作成にかかる時間は、３０００＊１．５＝４５００［時間］＝１８７．５［日］となる。
【０１２６】
次に、レコード１５０２−３が示すように、本実施の形態にかかる方法を用いた場合のＶＣＯのポストレイアウト回路のばらつきモデルの作成にかかる時間は、約３８．５［日］である。作成にかかる時間の内訳について、表１５０３にて示す。表１５０３は、レコード１５０３−１、レコード１５０３−２を含む。本実施の形態にかかる方法を用いた場合のＶＣＯのポストレイアウト回路のばらつきモデルの作成にかかる時間は、主に以下の２つの時間に大別される。１つ目が、レコード１５０３−１が示すＶＣＯのプレレイアウト回路のばらつきモデルの作成にかかる時間であり、２つ目が、レコード１５０３−２が示す差分モデルの作成に用いるポストレイアウト回路のシミュレーション実行にかかる時間である。
【０１２７】
レコード１５０３−１が示すように、ＶＣＯのプレレイアウト回路のばらつきモデルの作成にかかる時間は、２５［時間］となる。具体的に、設計支援装置１００は、ＶＣＯのプレレイアウト回路のばらつきモデルを作成するために、５００＊０．２０＊３＝３００個のサンプリングデータを用意し、シミュレーションを３００回行うことになる。したがって、作成にかかる時間は、３００＊５＝１５００［分］＝２５［時間］となる。
【０１２８】
また、レコード１５０３−２が示すように、差分モデルの作成に用いるポストレイアウト回路のシミュレーション実行にかかる時間は、９００［時間］となる。具体的に、設計支援装置１００は、差分モデルの作成に用いるポストレイアウト回路のサンプリングデータを用意するために、２００００＊０．０１＊３＝６００個のサンプリングデータを用意し、シミュレーションを３００回行うことになる。なお、レコード１５０３−２では、差分モデルのパラメータ群のうち性能に影響を与えないパラメータの割合を、９９［％］としている。したがって、シミュレーション実行にかかる時間は、６００＊１．５＝９００［時間］となる。
【０１２９】
レコード１５０３−１とレコード１５０３−２により、本実施の形態にかかる方法を用いた場合のＶＣＯのポストレイアウト回路のばらつきモデルの作成にかかる時間は、２５＋９００＝９２５［時間］＝約３８．５［日］となる。このように、本実施の形態にかかる方法は、ＲＳＭ、ＬＡＲに比べて、作成される精度を維持しつつ、ばらつきモデルの作成にかかる処理負荷を減少することができる。
【０１３０】
以上説明したように、設計支援装置１００によれば、レイアウト前後の回路の性能の差とポストレイアウト回路のばらつきパラメータの値とから、性能の差分を表す差分モデルを作成する。差分モデルの差分に影響を与えるばらつきパラメータの数は、ポストレイアウト回路のばらつきモデルの性能に影響を与えるばらつきパラメータの数よりも少ない。したがって、設計支援装置１００は、ポストレイアウト回路のばらつきモデルを直接作成する方法よりも、少ないサンプリングデータで、高精度な差分モデルを作成することができる。用意するサンプリングデータの数が少なくなるため、設計支援装置１００は、高精度な差分モデルを高速に作成することができる。
【０１３１】
また、設計支援装置１００は、ポストレイアウト回路のサンプリングデータをプレレイアウト回路のばらつきモデルに代入して得た性能値と、前述で入力したサンプリングデータと同一のデータを差分モデルに代入して得た性能値と、を加算してもよい。加算結果が、ポストレイアウト回路の性能値となる。
【０１３２】
また、設計支援装置１００によれば、差分モデルとプレレイアウト回路のばらつきモデルから、プレレイアウト回路のばらつきモデルを作成してもよい。これにより、設計支援装置１００は、プレレイアウト回路のばらつきモデルから得た性能値と差分モデルから得た性能値を加算するより、少ない処理量でポストレイアウト回路の性能値を求めることができる。また、プレレイアウト回路のばらつきモデルのパラメータの次数と、差分モデルのばらつきパラメータの次数が一致していれば、設計支援装置１００は、係数を加算しておき、ポストレイアウト回路の性能値を求めるときに、加算の分の処理量を減らすことができる。
【０１３３】
また、設計支援装置１００によれば、ＤＲＣを満たした後のポストレイアウト回路にて、本実施の形態にかかるポストレイアウト回路のばらつきモデルの作成方法をおこなってもよい。ＤＲＣを満たすことにより、プレレイアウト回路の性能とポストレイアウト回路の性能がより近いものとなるため、差分モデルのパラメータのうち、性能の差分に影響を与えるパラメータの数が減少することになる。したがって、設計支援装置１００は、より少ないサンプリングデータで高精度なばらつきモデルを作成することができる。ＬＶＳを満たした後のポストレイアウト回路についても同様のことがいえる。
【０１３４】
また、設計支援装置１００によれば、ポストレイアウトばらつきパラメータ群の各々の値を含む組を複数通り記憶して、組に対応したプレレイアウト回路の性能値およびポストレイアウト回路の性能値と、組に含まれる値を用いて、差分モデルを作成してもよい。組、すなわち、サンプリングデータを複数用いて差分モデルを作成することにより、差分モデルの精度を向上させることができる。
【０１３５】
また、設計支援装置１００によれば、複数の組のうちの第１組を用いて差分モデルの候補を作成し、第２組を用いて差分モデルの候補を評価して、差分モデルの候補から差分モデルを選択してもよい。これにより、設計支援装置１００は、差分モデルの作成時に、オーバーフィッティングを抑えることができる。
【０１３６】
なお、本実施の形態で説明した設計支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本設計支援プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本設計支援プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１３７】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１３８】
（付記１）コンピュータが、
レイアウト前の設計対象回路内の各々の素子の特性を表す第１パラメータ群を用いて前記レイアウト前の設計対象回路の性能値を表す第１関数モデルに、レイアウト後の設計対象回路内の各々の素子の特性を表す第２パラメータ群の各々の値を記憶する記憶部を参照して、前記第２パラメータ群のうちの前記第１パラメータ群の各々に対応するパラメータの値を入力することにより、前記レイアウト前の設計対象回路の第１性能値を算出し、
前記記憶部に記憶されている前記第２パラメータ群の各々の値を用いて前記レイアウト後の設計対象回路の動作を模擬して得られる前記レイアウト後の設計対象回路の第２性能値を取得し、
算出した前記第１性能値と取得した前記第２性能値と前記記憶部に記憶されている前記第２パラメータ群の各々の値とに基づいて、前記第２パラメータ群を用いて前記レイアウト前の設計対象回路の性能値と前記レイアウト後の設計対象回路の性能値との差分を表す第２関数モデルを作成する、
処理を実行することを特徴とする設計支援方法。
【０１３９】
（付記２）前記コンピュータが、
作成した前記第２関数モデルと前記第１関数モデルとに基づいて、前記第２パラメータ群を用いて前記レイアウト後の設計対象回路の性能値を表す第３関数モデルを作成する処理を実行することを特徴とする付記１に記載の設計支援方法。
【０１４０】
（付記３）前記レイアウト後の設計対象回路は、プロセスの設計規則を満たした回路であることを特徴とする付記１または２に記載の設計支援方法。
【０１４１】
（付記４）前記レイアウト後の設計対象回路は、前記レイアウト後の設計対象回路内の各々の素子のうちの前記レイアウト前の設計対象回路内の各々の素子に対応する素子の接続関係が前記レイアウト前の設計対象回路の各々の素子の接続関係と一致する回路であることを特徴とする付記１〜３のいずれか一つに記載の設計支援方法。
【０１４２】
（付記５）前記記憶部は、前記第２パラメータ群の各々の値を含む組を複数通り記憶しており、
前記算出する処理は、
前記組に含まれる第２パラメータ群の各々の値のうちの前記第１パラメータ群の各々に対応するパラメータの値を前記第１関数モデルに入力することにより、前記レイアウト前の設計対象回路の第１性能値を前記組に対応して算出し、
前記取得する処理は、
前記記憶部に記憶されている前記組に含まれる第２パラメータ群の各々の値を用いて前記レイアウト後の設計対象回路の動作を模擬して得られる前記レイアウト後の設計対象回路の第２性能値を前記組に対応して取得し、
前記第２関数モデルを作成する処理は、
算出した前記組に対応する前記第１性能値と取得した前記組に対応する前記第２性能値と前記組に含まれる前記第２パラメータ群の各々の値とに基づいて、前記第２関数モデルを作成する付記１〜４のいずれか一つに記載の設計支援方法。
【０１４３】
（付記６）前記コンピュータが、
前記記憶部に記憶されている複数の組のうちの第１組に対応する第１性能値と前記第１組に対応する第２性能値と前記第１組に含まれる前記第２パラメータ群の各々の値とに基づいて、前記第２パラメータ群から選ばれた一部のパラメータの組合せに対応して、前記一部のパラメータを用いて前記第２関数モデルの候補を作成する、処理を実行し、
前記第２関数モデルを作成する処理は、
前記組合せに対応して作成した前記第２関数モデルの候補から、前記複数の組の前記第１組とは異なる第２組に対応する第１性能値と前記第２組に対応する第２性能値と前記第２組に含まれる前記第２パラメータ群の各々の値とに基づいて前記第２関数モデルを選択することを特徴とする付記５に記載の設計支援方法。
【０１４４】
（付記７）レイアウト前の設計対象回路内の各々の素子の特性を表す第１パラメータ群を用いて前記レイアウト前の設計対象回路の性能値を表す第１関数モデルに、レイアウト後の設計対象回路内の各々の素子の特性を表す第２パラメータ群の各々の値を記憶する記憶部を参照して、前記第２パラメータ群のうちの前記第１パラメータ群の各々に対応するパラメータの値を入力することにより、前記レイアウト前の設計対象回路の第１性能値を算出する算出部と、
前記記憶部に記憶されている前記第２パラメータ群の各々の値を用いて前記レイアウト後の設計対象回路の動作を模擬して得られる前記レイアウト後の設計対象回路の第２性能値を取得する取得部と、
前記算出部によって算出された前記第１性能値と前記取得部によって取得された前記第２性能値と前記記憶部に記憶されている前記第２パラメータ群の各々の値とに基づいて、前記第２パラメータ群を用いて前記レイアウト前の設計対象回路の性能値と前記レイアウト後の設計対象回路の性能値との差分を表す第２関数モデルを作成する作成部と、
を有することを特徴とする設計支援装置。
【０１４５】
（付記８）レイアウト前の設計対象回路内の各々の素子の特性を表す第１パラメータ群を用いて前記レイアウト前の設計対象回路の性能値を表す第１関数モデルに、レイアウト後の設計対象回路内の各々の素子の特性を表す第２パラメータ群の各々の値を記憶する記憶部を参照して、前記第２パラメータ群のうちの前記第１パラメータ群の各々に対応するパラメータの値を入力することにより、前記レイアウト前の設計対象回路の第１性能値を算出する算出部と、
前記記憶部に記憶されている前記第２パラメータ群の各々の値を用いて前記レイアウト後の設計対象回路の動作を模擬して得られる前記レイアウト後の設計対象回路の第２性能値を取得する取得部と、
前記算出部によって算出された前記第１性能値と前記取得部によって取得された前記第２性能値と前記記憶部に記憶されている前記第２パラメータ群の各々の値とに基づいて、前記第２パラメータ群を用いて前記レイアウト前の設計対象回路の性能値と前記レイアウト後の設計対象回路の性能値との差分を表す第２関数モデルを作成する作成部と、
を有するコンピュータを含むことを特徴とする設計支援装置。
【０１４６】
（付記９）コンピュータに、
レイアウト前の設計対象回路内の各々の素子の特性を表す第１パラメータ群を用いて前記レイアウト前の設計対象回路の性能値を表す第１関数モデルに、レイアウト後の設計対象回路内の各々の素子の特性を表す第２パラメータ群の各々の値を記憶する記憶部を参照して、前記第２パラメータ群のうちの前記第１パラメータ群の各々に対応するパラメータの値を入力することにより、前記レイアウト前の設計対象回路の第１性能値を算出し、
前記記憶部に記憶されている前記第２パラメータ群の各々の値を用いて前記レイアウト後の設計対象回路の動作を模擬して得られる前記レイアウト後の設計対象回路の第２性能値を取得し、
算出した前記第１性能値と取得した前記第２性能値と前記記憶部に記憶されている前記第２パラメータ群の各々の値とに基づいて、前記第２パラメータ群を用いて前記レイアウト前の設計対象回路の性能値と前記レイアウト後の設計対象回路の性能値との差分を表す第２関数モデルを作成する、
処理を実行させることを特徴とする設計支援プログラム。
【０１４７】
（付記１０）レイアウト前の設計対象回路内の各々の素子の特性を表す第１パラメータ群を用いて前記レイアウト前の設計対象回路の性能値を表す第１関数モデルに、レイアウト後の設計対象回路内の各々の素子の特性を表す第２パラメータ群の各々の値を記憶する記憶部を参照して、前記第２パラメータ群のうちの前記第１パラメータ群の各々に対応するパラメータの値を入力することにより、前記レイアウト前の設計対象回路の第１性能値を算出し、
前記記憶部に記憶されている前記第２パラメータ群の各々の値を用いて前記レイアウト後の設計対象回路の動作を模擬して得られる前記レイアウト後の設計対象回路の第２性能値を取得し、
算出した前記第１性能値と取得した前記第２性能値と前記記憶部に記憶されている前記第２パラメータ群の各々の値とに基づいて、前記第２パラメータ群を用いて前記レイアウト前の設計対象回路の性能値と前記レイアウト後の設計対象回路の性能値との差分を表す第２関数モデルを作成する、
処理をコンピュータに実行させる設計支援プログラムを記憶したことを特徴とする記録媒体。
【符号の説明】
【０１４８】
１００  設計支援装置
１０１  プレレイアウト回路
１０２  ポストレイアウト回路
１１０  記憶部
３０１  算出部
３０２  取得部
３０３  第３作成部
３０４  第１作成部
３０５  第２作成部
【図１】
2014120082.tif 000003
【図２】
2014120082.tif 000004
【図３】
2014120082.tif 000005
【図４】
2014120082.tif 000006
【図５】
2014120082.tif 000007
【図６】
2014120082.tif 000008
【図７】
2014120082.tif 000009
【図８】
2014120082.tif 000010
【図９】
2014120082.tif 000011
【図１０】
2014120082.tif 000012
【図１１】
2014120082.tif 000013
【図１２】
2014120082.tif 000014
【図１３】
2014120082.tif 000015
【図１４】
2014120082.tif 000016
【図１５】
2014120082.tif 000017