(57)【要約】【課題】ＳＲＡＭ形状等の設計に用いられる多目的最適化設計支援技術に関し、目的関数の特定の値域で所定の精度条件が与えられたときに、その精度条件を満たすような設計パラメータ組と目的関数との対応関係を、少ない設計パラメータサンプル組数で算出可能とする。【解決手段】一般に、設計パラメータからは値域の値は予測できないが、１０２〜１０４での設計パラメータ組の荒いサンプリング、線形回帰モデル化によって目的関数のモデル式が生成され、１０７〜１０９において、そのモデル式を用いて与えられた値域の逆像計算が実行されることにより、精度が必要となる値域に対応する設計パラメータ組が得られる。これを用いて、１０２〜１０４が繰返し実行されることで、目的関数を高精度に数式近似した出力モデル化目的関数が得られる。【選択図】図１
2010122832.tif 000002
【特許請求の範囲】
【請求項１】
設計パラメータの組を複数組入力して、所定の計算に基づいて複数の目的関数の各値を計算しながら多目的最適化処理を実行することにより、最適な設計パラメータの組の決定を支援する設計支援装置に、
第１の所定組数の設計パラメータのサンプルの組を、前記複数の目的関数毎の初期の入力設計パラメータサンプル組群として決定する初期入力設計パラメータサンプル組群決定ステップと、
前記複数の目的関数毎に、前記入力設計パラメータサンプル組群に対して前記複数の目的関数の各値を計算しながら、前記複数の目的関数をそれぞれ数式近似によりモデル化してモデル化目的関数を算出する目的関数モデル化ステップと、
前記複数のモデル化目的関数毎に、前記目的関数モデル化ステップにおいて計算される各精度情報が指定された精度条件を満たすか否かを判定する精度条件判定ステップと、
該精度条件判定ステップが前記精度条件を満たすとの第１の判定をした場合に、該第１の判定対象とされたモデル化目的関数を、前記最適な設計パラメータの組を計算するための出力モデル化目的関数として決定する出力モデル化目的関数決定ステップと、
前記精度条件判定ステップが前記精度条件を満たさないとの第２の判定をした場合に、前記第１の所定組数よりも多量の第２の所定組数の設計パラメータのサンプルの組に対して、前記第２の判定対象となったモデル化目的関数の各値を計算するモデル化目的関数値計算ステップと、
該計算されたモデル化目的関数の各値について、該値が、前記精度を要する範囲として指定された値域に含まれ、かつ該値に対応する設計パラメータのサンプルの組から計算される他のどのモデル化目的関数の値よりも小さいときに、該値を算出した前記設計パラメータのサンプルの組を該値に対応する目的関数に対応させて記憶する逆像計算ステップと、
前記第２の判定対象となったモデル化目的関数に対応する目的関数毎に、現在の入力設計パラメータサンプル組群と該目的関数に対応して前記逆像計算ステップにて記憶されている前記設計パラメータのサンプルの組とに基づいて、新たな入力設計パラメータサンプル組群を決定し前記目的関数モデル化ステップに入力させて、該目的関数モデル化ステップ、及び前記精度条件判定ステップの動作を繰り返し実行させるモデル化繰返し制御ステップと、
を実行させるためのＳＲＡＭ形状パラメータ等の多目的最適化設計支援プログラム。
【請求項２】
前記目的関数モデル化ステップは、前記入力設計パラメータサンプル組と該サンプル組に対応して計算された前記複数の目的関数の各値とに基づいて、線形回帰分析により、前記目的関数を線形回帰式により多項式近似する、
ことを特徴とする請求項１に記載のＳＲＡＭ形状パラメータ等の多目的最適化設計支援プログラム。
【請求項３】
設計パラメータの組を複数組入力して、所定の計算に基づいて複数の目的関数の各値を計算しながら多目的最適化処理を実行することにより、最適な設計パラメータの組の決定を支援する設計支援装置に、
第１の所定組数の設計パラメータのサンプルの組を、前記複数の目的関数毎の初期の入力設計パラメータサンプル組群として決定する初期入力設計パラメータサンプル組群決定ステップと、
前記複数の目的関数毎に、前記入力設計パラメータサンプル組群に対して前記複数の目的関数の各値を計算しながら、前記複数の目的関数をそれぞれ数式近似によりモデル化して第１のモデル化目的関数を算出する第１の目的関数モデル化ステップと、
前記複数の目的関数の各値毎に、該値が、精度を要する範囲として指定された値域に含まれるか否か、及び該値を算出した入力設計パラメータサンプル組に対応する他のどの目的関数又は第１のモデル化目的関数の値よりも小さいか否かに応じて、重みを決定する重み決定ステップと、
前記入力設計パラメータサンプル組と該サンプル組に対応して計算された前記複数の目的関数の各値とに基づいて、前記複数の目的関数の各値毎に決定された重みに応じたモデル化を行いながら、前記複数の目的関数をそれぞれ数式近似により再度モデル化して第２のモデル化目的関数を算出する第２の目的関数モデル化ステップと、
前記複数の第２のモデル化目的関数毎に、前記第２の目的関数モデル化ステップにおいて計算される各精度情報が指定された精度条件を満たすか否かを判定する精度条件判定ステップと、
該精度条件判定ステップが前記精度条件を満たすとの第１の判定をした場合に、該第１の判定対象とされた第２のモデル化目的関数を、前記最適な設計パラメータの組を計算するための出力モデル化目的関数として決定する出力モデル化目的関数決定ステップと、
前記精度条件判定ステップが前記精度条件を満たさないとの第２の判定をした場合に、前記第１の所定組数よりも多量の第２の所定組数の設計パラメータのサンプルの組に対して、前記第２の判定対象となった第２のモデル化目的関数の各値を計算するモデル化目的関数値計算ステップと、
該計算された第２のモデル化目的関数の各値について、該値が、前記精度を要する範囲として指定された値域に含まれ、かつ該値に対応する設計パラメータのサンプルの組から計算される他のどの第２のモデル化目的関数の値よりも小さいときに、該値を算出した前記設計パラメータのサンプルの組を該値に対応する目的関数に対応させて記憶する逆像計算ステップと、
前記第２の判定対象となった第２のモデル化目的関数に対応する目的関数毎に、現在の入力設計パラメータサンプル組群と該目的関数に対応して前記逆像計算ステップにて記憶されている前記設計パラメータのサンプルの組とに基づいて、新たな入力設計パラメータサンプル組群を決定し前記第１の目的関数モデル化ステップに入力させて、該第１の目的関数モデル化ステップ、前記重み決定ステップ、前記第２の目的関数モデル化ステップ、及び前記精度条件判定ステップの動作を繰り返し実行させるモデル化繰返し制御ステップと、
を実行させるためのＳＲＡＭ形状パラメータ等の多目的最適化設計支援プログラム。
【請求項４】
前記第１及び第２の目的関数モデル化ステップは、前記入力設計パラメータサンプル組と該サンプル組に対応して計算された前記複数の目的関数の各値とに基づいて、線形回帰分析により、前記目的関数を線形回帰式により多項式近似する、
ことを特徴とする請求項３に記載のＳＲＡＭ形状パラメータ等の多目的最適化設計支援プログラム。
【請求項５】
前記ＳＲＡＭ形状パラメータ等の多目的最適化設計支援プログラムはスタティクランダムアクセスメモリの形状に関する設計パラメータの組の決定を支援するプログラムであり、
前記複数の目的関数は、スタティックノイズマージンを算出するための目的関数とライトマージンを算出するための目的関数を含む、
ことを特徴とする請求項１乃至４の何れか１項に記載のＳＲＡＭ形状パラメータ等の多目的最適化設計支援プログラム。
【請求項６】
設計パラメータの組を複数組入力して、所定の計算に基づいて複数の目的関数の各値を計算しながら多目的最適化処理を実行することにより、最適な設計パラメータの組の決定を支援する設計支援方法において、
第１の所定組数の設計パラメータのサンプルの組を、前記複数の目的関数毎の初期の入力設計パラメータサンプル組群として決定する初期入力設計パラメータサンプル組群決定ステップと、
前記複数の目的関数毎に、前記入力設計パラメータサンプル組群に対して前記複数の目的関数の各値を計算しながら、前記複数の目的関数をそれぞれ数式近似によりモデル化してモデル化目的関数を算出する目的関数モデル化ステップと、
前記複数のモデル化目的関数毎に、前記目的関数モデル化ステップにおいて計算される各精度情報が指定された精度条件を満たすか否かを判定する精度条件判定ステップと、
該精度条件判定ステップが前記精度条件を満たすとの第１の判定をした場合に、該第１の判定対象とされたモデル化目的関数を、前記最適な設計パラメータの組を計算するための出力モデル化目的関数として決定する出力モデル化目的関数決定ステップと、
前記精度条件判定ステップが前記精度条件を満たさないとの第２の判定をした場合に、前記第１の所定組数よりも多量の第２の所定組数の設計パラメータのサンプルの組に対して、前記第２の判定対象となったモデル化目的関数の各値を計算するモデル化目的関数値計算ステップと、
該計算されたモデル化目的関数の各値について、該値が、前記精度を要する範囲として指定された値域に含まれ、かつ該値に対応する設計パラメータのサンプルの組から計算される他のどのモデル化目的関数の値よりも小さいときに、該値を算出した前記設計パラメータのサンプルの組を該値に対応する目的関数に対応させて記憶する逆像計算ステップと、
前記第２の判定対象となったモデル化目的関数に対応する目的関数毎に、現在の入力設計パラメータサンプル組群と該目的関数に対応して前記逆像計算ステップにて記憶されている前記設計パラメータのサンプルの組とに基づいて、新たな入力設計パラメータサンプル組群を決定し前記目的関数モデル化ステップに入力させて、該目的関数モデル化ステップ、及び前記精度条件判定ステップの動作を繰り返し実行させるモデル化繰返し制御ステップと、
を含むことを特徴とするＳＲＡＭ形状パラメータ等の多目的最適化設計支援方法。
【請求項７】
設計パラメータの組を複数組入力して、所定の計算に基づいて複数の目的関数の各値を計算しながら多目的最適化処理を実行することにより、最適な設計パラメータの組の決定を支援する設計支援方法において、
第１の所定組数の設計パラメータのサンプルの組を、前記複数の目的関数毎の初期の入力設計パラメータサンプル組群として決定する初期入力設計パラメータサンプル組群決定ステップと、
前記複数の目的関数毎に、前記入力設計パラメータサンプル組群に対して前記複数の目的関数の各値を計算しながら、前記複数の目的関数をそれぞれ数式近似によりモデル化して第１のモデル化目的関数を算出する第１の目的関数モデル化ステップと、
前記複数の目的関数の各値毎に、該値が、精度を要する範囲として指定された値域に含まれるか否か、及び該値を算出した入力設計パラメータサンプル組に対応する他のどの目的関数又は第１のモデル化目的関数の値よりも小さいか否かに応じて、重みを決定する重み決定ステップと、
前記入力設計パラメータサンプル組と該サンプル組に対応して計算された前記複数の目的関数の各値とに基づいて、前記複数の目的関数の各値毎に決定された重みに応じたモデル化を行いながら、前記複数の目的関数をそれぞれ数式近似により再度モデル化して第２のモデル化目的関数を算出する第２の目的関数モデル化ステップと、
前記複数の第２のモデル化目的関数毎に、前記第２の目的関数モデル化ステップにおいて計算される各精度情報が指定された精度条件を満たすか否かを判定する精度条件判定ステップと、
該精度条件判定ステップが前記精度条件を満たすとの第１の判定をした場合に、該第１の判定対象とされた第２のモデル化目的関数を、前記最適な設計パラメータの組を計算するための出力モデル化目的関数として決定する出力モデル化目的関数決定ステップと、
前記精度条件判定ステップが前記精度条件を満たさないとの第２の判定をした場合に、前記第１の所定組数よりも多量の第２の所定組数の設計パラメータのサンプルの組に対して、前記第２の判定対象となった第２のモデル化目的関数の各値を計算するモデル化目的関数値計算ステップと、
該計算された第２のモデル化目的関数の各値について、該値が、前記精度を要する範囲として指定された値域に含まれ、かつ該値に対応する設計パラメータのサンプルの組から計算される他のどの第２のモデル化目的関数の値よりも小さいときに、該値を算出した前記設計パラメータのサンプルの組を該値に対応する目的関数に対応させて記憶する逆像計算ステップと、
前記第２の判定対象となった第２のモデル化目的関数に対応する目的関数毎に、現在の入力設計パラメータサンプル組群と該目的関数に対応して前記逆像計算ステップにて記憶されている前記設計パラメータのサンプルの組とに基づいて、新たな入力設計パラメータサンプル組群を決定し前記第１の目的関数モデル化ステップに入力させて、該第１の目的関数モデル化ステップ、前記重み決定ステップ、前記第２の目的関数モデル化ステップ、及び前記精度条件判定ステップの動作を繰り返し実行させるモデル化繰返し制御ステップと、
を含むことを特徴とするＳＲＡＭ形状パラメータ等の多目的最適化設計支援方法。
【請求項８】
設計パラメータの組を複数組入力して、所定の計算に基づいて複数の目的関数の各値を計算しながら多目的最適化処理を実行することにより、最適な設計パラメータの組の決定を支援する装置であって、
第１の所定組数の設計パラメータのサンプルの組を、前記複数の目的関数毎の初期の入力設計パラメータサンプル組群として決定する初期入力設計パラメータサンプル組群決定部と、
前記複数の目的関数毎に、前記入力設計パラメータサンプル組群に対して前記複数の目的関数の各値を計算しながら、前記複数の目的関数をそれぞれ数式近似によりモデル化してモデル化目的関数を算出する目的関数モデル化部と、
前記複数のモデル化目的関数毎に、前記目的関数モデル化部において計算される各精度情報が指定された精度条件を満たすか否かを判定する精度条件判定部と、
該精度条件判定部が前記精度条件を満たすとの第１の判定をした場合に、該第１の判定対象とされたモデル化目的関数を、前記最適な設計パラメータの組を計算するための出力モデル化目的関数として決定する出力モデル化目的関数決定部と、
前記精度条件判定部が前記精度条件を満たさないとの第２の判定をした場合に、前記第１の所定組数よりも多量の第２の所定組数の設計パラメータのサンプルの組に対して、前記第２の判定対象となったモデル化目的関数の各値を計算するモデル化目的関数値計算部と、
該計算されたモデル化目的関数の各値について、該値が、前記精度を要する範囲として指定された値域に含まれ、かつ該値に対応する設計パラメータのサンプルの組から計算される他のどのモデル化目的関数の値よりも小さいときに、該値を算出した前記設計パラメータのサンプルの組を該値に対応する目的関数に対応させて記憶する逆像計算部と、
前記第２の判定対象となったモデル化目的関数に対応する目的関数毎に、現在の入力設計パラメータサンプル組群と該目的関数に対応して前記逆像計算部にて記憶されている前記設計パラメータのサンプルの組とに基づいて、新たな入力設計パラメータサンプル組群を決定し前記目的関数モデル化部に入力させて、該目的関数モデル化部、及び前記精度条件判定部の動作を繰り返し実行させるモデル化繰返し制御部と、
を含むことを特徴とするＳＲＡＭ形状パラメータ等の多目的最適化設計支援装置。
【請求項９】
設計パラメータの組を複数組入力して、所定の計算に基づいて複数の目的関数の各値を計算しながら多目的最適化処理を実行することにより、最適な設計パラメータの組の決定を支援する装置であって、
第１の所定組数の設計パラメータのサンプルの組を、前記複数の目的関数毎の初期の入力設計パラメータサンプル組群として決定する初期入力設計パラメータサンプル組群決定部と、
前記複数の目的関数毎に、前記入力設計パラメータサンプル組群に対して前記複数の目的関数の各値を計算しながら、前記複数の目的関数をそれぞれ数式近似によりモデル化して第１のモデル化目的関数を算出する第１の目的関数モデル化部と、
前記複数の目的関数の各値毎に、該値が、精度を要する範囲として指定された値域に含まれるか否か、及び該値を算出した入力設計パラメータサンプル組に対応する他のどの目的関数又は第１のモデル化目的関数の値よりも小さいか否かに応じて、重みを決定する重み決定部と、
前記入力設計パラメータサンプル組と該サンプル組に対応して計算された前記複数の目的関数の各値とに基づいて、前記複数の目的関数の各値毎に決定された重みに応じたモデル化を行いながら、前記複数の目的関数をそれぞれ数式近似により再度モデル化して第２のモデル化目的関数を算出する第２の目的関数モデル化部と、
前記複数の第２のモデル化目的関数毎に、前記第２の目的関数モデル化部において計算される各精度情報が指定された精度条件を満たすか否かを判定する精度条件判定部と、
該精度条件判定部が前記精度条件を満たすとの第１の判定をした場合に、該第１の判定対象とされた第２のモデル化目的関数を、前記最適な設計パラメータの組を計算するための出力モデル化目的関数として決定する出力モデル化目的関数決定部と、
前記精度条件判定部が前記精度条件を満たさないとの第２の判定をした場合に、前記第１の所定組数よりも多量の第２の所定組数の設計パラメータのサンプルの組に対して、前記第２の判定対象となった第２のモデル化目的関数の各値を計算するモデル化目的関数値計算部と、
該計算された第２のモデル化目的関数の各値について、該値が、前記精度を要する範囲として指定された値域に含まれ、かつ該値に対応する設計パラメータのサンプルの組から計算される他のどの第２のモデル化目的関数の値よりも小さいときに、該値を算出した前記設計パラメータのサンプルの組を該値に対応する目的関数に対応させて記憶する逆像計算部と、
前記第２の判定対象となった第２のモデル化目的関数に対応する目的関数毎に、現在の入力設計パラメータサンプル組群と該目的関数に対応して前記逆像計算部にて記憶されている前記設計パラメータのサンプルの組とに基づいて、新たな入力設計パラメータサンプル組群を決定し前記第１の目的関数モデル化部に入力させて、該第１の目的関数モデル化部、前記重み決定部、前記第２の目的関数モデル化部、及び前記精度条件判定部の動作を繰り返し実行させるモデル化繰返し制御部と、
を含むことを特徴とするＳＲＡＭ形状パラメータ等の多目的最適化設計支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＳＲＡＭ（スタティクランダムアクセスメモリ）形状等の設計に用いられる多目的最適化設計支援技術に関する。
【背景技術】
【０００２】
ものづくりにおける設計段階では、設計条件を設計パラメータの関数（目的関数）として表現し、その目的関数を最適値にするよう設計パラメータを設定（最適化）することが必要となる。その際、設計者はベースとなる形状を決めた後で各設計パラメータの振り幅を設定し、設計パラメータ空間内で最適化を行う。
【０００３】
しかし設計パラメータの数が多い場合、その空間内をくまなく探索しようとすると組合せ爆発が起こり、実時間内では最適化の計算が不可能となる。
今、ものづくりの一例として、ＳＲＡＭ（スタティクランダムアクセスメモリ）を例として考える。
【０００４】
ＳＲＡＭの設計における設計目標は、「外乱に対する動作安定性の余裕度」と「書込みの安定性の余裕度」を共に確保することである。前者の性能は、スタティックノイズマージン（Ｓｔａｔｉｃ  Ｎｏｉｓｅ  Ｍａｒｇｉｎ：以降、ＳＮＭと略記する）と呼ばれる。ＳＮＭは、ＳＲＡＭの動作に対して許容される雑音振幅の最大値として定義され、値が大きいほど安定性が高いことを示す。後者の性能は、ライトマージン（Ｗｒｉｔｅ  Ｍａｒｇｉｎ：以降、ＷＭと略記する）と呼ばれる。ＷＭも、値が大きいほど安定性が高いことを示す。
【０００５】
ＳＮＭとＷＭは一般に、互いに相殺する関係を有しており、一方の値を高くしようとすると他方の値が低くなってしまうという特性を有している。
そこで、ＳＲＡＭ設計においては、ＳＲＡＭの設計パラメータに対して、ＳＮＭとＷＭという２つの目的関数を同時に最大化するような多目的最適化が必要となる。より具体的には、ＳＲＡＭに関する下記の設計パラメータ組が与えられたときに、その設計パラメータ組から計算されるＳＮＭとＷＭのうち小さいほうを最大化するような多目的最適化計算が必要となる。
【０００６】
＜設計パラメータ＞
・セル電圧、
・Ｌｏａｄゲート長
・Ｄｒｉｖｅｒゲート長
・Ｔｒａｎｓｆｅｒゲート長
・Ｌｏａｄ幅
・Ｄｒｉｖｅｒ幅
・Ｔｒａｎｓｆｅｒ幅
・Ｗｌ（ワードライン電位）制御変数
・ＬｏａｄのＶｔｈ（Ｖｔｈ変化量）
・ＤｒｉｖｅｒのＶｔｈ（Ｖｔｈ変化量
・ＴｒａｎｓｆｅｒのＶｔｈ（Ｖｔｈ変化量）
【０００７】
即ち、上記設計パラメータの組をｘi （ｉ＝１，２，・・・ｎ）とすれば、ＳＮＭとＷＭは、次式で表現される。
ＳＮＭ＝ｆ1(ｘ1,・・・, ｘn)
ＷＭ＝ｆ2(ｘ1,・・・, ｘn)
ＳＲＡＭ設計における多目的最適化問題は、目的関数ｍｉｎ（ＳＮＭ，ＷＭ）を最大化することにある。
【０００８】
一般的な傾向として、例えば図２２のＳＲＡＭ形状２１０１において、Ｌ１、Ｌ２、Ｗ１、Ｗ２等で示されるサイズ（上記の例でいうゲート長や幅）が大きいほうが、また、セル電圧等の電圧値が高いほうが、ＳＲＡＭの歩留まりが高い、即ちＳＮＭ及びＷＭ共に大きな値となる。
【０００９】
図２３は、ＳＲＡＭ設計における上述の多目的最適化問題を計算する従来の計算手法を示す動作フローチャートである。ここでは、説明の簡単化のため、設計パラメータは２種類であると仮定する。
【００１０】
まず、計算の開始時に、２種類の設計パラメータのそれぞれについて、それぞれの設計パラメータが取り得る値の範囲（定義域）が設定される。
その上で、上記各定義域が例えば６１分割されることにより、６１＊６１点からなる設計パラメータサンプル組群が生成される（ステップＳ２３０１）。ここで、「＊」は、乗算を表す。
【００１１】
次に、ステップＳ２３０１で生成された設計パラメータ組群の現在の残サンプル組（最初は全組）から１組がランダムに抽出される（ステップＳ２３０２）。
続いて、その抽出された１組の設計パラメータ組を使ってＳＲＡＭの設計シミュレータが動作させられ、目的関数であるＳＮＭの値とＷＭの値が計算される（ステップＳ２３０３）。
【００１２】
その後、ステップＳ２３０１で生成された設計パラメータ組群のうち、ステップＳ２３０３でまだ計算が行われていない残サンプル組があるか否かが判定される（ステップＳ２３０４）。
【００１３】
ステップＳ２３０４にて、残サンプル組があると判定された場合には、ステップＳ２３０２の処理に戻って次の設計パラメータサンプル組が選択され、それに対してステップＳ２３０３にてシミュレータ動作が実行される。
【００１４】
以上のようにして、ステップＳ２３０３〜Ｓ２３０４までの繰返し処理により、６１＊６１点からなる設計パラメータサンプル組群から選択された各サンプル組に対してシミュレータ動作が繰返し実行される。
【００１５】
この繰返し動作の途中の適当なタイミングにおいて、これまで得られている結果が表示される。即ち、２種類の設計パラメータからなる各組がプロットされる２次元座標値に対してＳＮＭの値とＷＭの値がそれぞれプロットされた各３次元座標値が、３次元グラフとして表示される（ステップＳ２３０５）。
【００１６】
この表示に対して、設計者が、必要とする傾向を判断する（ステップＳ２３０６）。具体的には、設計者が、与えられた設計パラメータサンプル組から、必要とされるＳＮＭの値及びＷＭの値が得られたか否かを判断する。
【００１７】
ステップＳ２３０６にて、設計者が必要とする傾向を判断できた場合には、その時点で計算が終了し、各設計パラメータサンプル組に対応するＳＮＭの値とＷＭの値がそれぞれ出力される。
【００１８】
ステップＳ２３０６にて、設計者が必要とする傾向を判断できなかった場合には、ステップＳ２３０２の処理に戻って次の設計パラメータサンプル組が選択され、それに対してステップＳ２３０３にてシミュレータ動作が継続される。
【発明の開示】
【発明が解決しようとする課題】
【００１９】
ここで、ＳＲＡＭ設計においては、下記のような特有の精度条件が必要とされる。
１．精度の要求は、ＳＮＭとＷＭの特定の値域として設定される。即ち、「ＳＮＭとしてはこの値の範囲が必要で、ＷＭとしてはこの値の範囲が必要である」という如くである。
【００２０】
２．要求される値域は非常に狭い。
３．要求される値域に対して求められる精度としては、高い精度が要求される。即ち、設計パラメータ組とＳＮＭの値の対応関係、及び設計パラメータ組とＷＭの値の対応関係が、上記範囲においてそれぞれ高い精度で算出できることが要求される。言い換えれば、ＳＮＭの目標値を達成するために各設計パラメータの値をどの値にしたらよいかを示す対応関係、及びＷＭの目標値を達成するために各設計パラメータの値をどの値にしたらよいかを示す対応関係が、それぞれ正確に算出される必要がある。
４．要求された範囲以外では、各設計パラメータ組に対するＳＮＭとＷＭの各対応関係は、ある程度の精度で算出されていれば良い。
５．要求された範囲内であっても、或る設計パラメータ組に対するＳＮＭの値及びＷＭの値のうち大きな値をとるほうの目的関数値、即ち、歩留りの判定基準の対象とならないほうの目的関数値については、設計パラメータ組との対応関係における高い精度は要求されない。
【００２１】
ＳＲＡＭ設計においては上述のような特有の精度条件が必要とされる。これに対して、前述した従来の多目的最適化問題の計算手法では、単純に、例えば２種類の設計パラメータのそれぞれを所定範囲（定義域）で分割して得られる設計パラメータサンプル組に対して、シミュレータ動作が繰返し実行されてＳＮＭの値又はＷＭの値が計算されていた。設計パラメータ組とＳＮＭの値の対応関係、及び設計パラメータ組とＷＭの値の対応関係は、実際にシミュレータ動作を実行してみないとわからなかった。即ち、ＳＮＭ及びＷＭの特定の値域から設計パラメータ組の範囲を求める逆像計算は従来できなかった。従って、ＳＮＭ及びＷＭの特定の値域を得るために、各設計パラメータをどの範囲でどの程度の細かさで分割したらよいかという知見を得ることは、非常に困難であった。
【００２２】
なおかつ、シミュレータ動作には、１組の設計パラメータサンプル組について１分程度かかる。例えば、８ＣＰＵ構成の演算プロセッサを使っても、６１＊６１点からなる設計パラメータサンプル組群に対して有意な結果を得るために、１時間程度の時間を要していた。実際には、設計パラメータは、２種類には限定されず、前述したように、最大で１１種類程度の設計パラメータが必要とされる。このため、これらの設計パラメータ組に対応するＳＮＭとＷＭを計算することは、現実には不可能であるという問題点をも有していた。
【課題を解決するための手段】
【００２３】
本発明の課題は、多目的最適化処理において、目的関数の特定の値域で所定の精度条件が与えられたときに、その精度条件を満たすような設計パラメータ組と目的関数との対応関係を、少ない設計パラメータサンプル組数で算出可能とすることにある。
【００２４】
以下に説明する態様は、スタティックランダムアクセスメモリ形状等の設計パラメータの組を複数組入力して、所定の計算に基づいて複数の目的関数、例えばスタティックノイズマージン（ＳＮＭ）やライトマージン（ＷＭ）等の目的関数の各値を計算しながら多目的最適化処理を実行することにより、最適な設計パラメータの組の決定を支援する設計支援装置、方法、又はプログラムを前提とする。
【００２５】
初期入力設計パラメータサンプル組群決定部（１０１）は、第１の所定組数の設計パラメータのサンプルの組を、複数の目的関数毎の初期の入力設計パラメータサンプル組群として決定する。
【００２６】
第１の目的関数モデル化部（１０２）は、複数の目的関数毎に、入力設計パラメータサンプル組群に対して複数の目的関数の各値を計算しながら、複数の目的関数をそれぞれ数式近似によりモデル化して第１のモデル化目的関数を算出する。
【００２７】
重み決定部（１０３）は、複数の目的関数の各値毎に、その値が、精度を要する範囲として指定された値域に含まれるか否か、及びその値を算出した入力設計パラメータサンプル組に対応する他のどの目的関数又は第１のモデル化目的関数の値よりも小さいか否かに応じて、重みを決定する。
【００２８】
第２の目的関数モデル化部（１０４）は、入力設計パラメータサンプル組とそのサンプル組に対応して計算された複数の目的関数の各値とに基づいて、複数の目的関数の各値毎に決定された重みに応じたモデル化を行いながら、複数の目的関数をそれぞれ数式近似により再度モデル化して第２のモデル化目的関数を算出する。
【００２９】
精度条件判定部（１０５）は、複数の第２のモデル化目的関数毎に、第２の目的関数モデル化部において計算される各精度情報が指定された精度条件を満たすか否かを判定する。
【００３０】
出力モデル化目的関数決定部（１０６）は、精度条件判定部が精度条件を満たすとの第１の判定をした場合に、その第１の判定対象とされた第２のモデル化目的関数を、最適な設計パラメータの組を計算するための出力モデル化目的関数として決定する。
【００３１】
モデル化目的関数値計算部（１０７）は、精度条件判定部が精度条件を満たさないとの第２の判定をした場合に、第１の所定組数よりも多量の第２の所定組数の設計パラメータのサンプルの組に対して、第２の判定対象となった第２のモデル化目的関数の各値を計算する。
【００３２】
逆像計算部（１０８）は、その計算された第２のモデル化目的関数の各値について、その値が、精度を要する範囲として指定された値域に含まれ、かつその値に対応する設計パラメータのサンプルの組から計算される他のどの第２のモデル化目的関数の値よりも小さいときに、その値を算出した設計パラメータのサンプルの組をその値に対応する目的関数に対応させて記憶する。
【００３３】
モデル化繰返し制御部（１０９）は、第２の判定対象となった第２のモデル化目的関数に対応する目的関数毎に、現在の入力設計パラメータサンプル組群とその目的関数に対応して逆像計算部にて記憶されている設計パラメータのサンプルの組とに基づいて、新たな入力設計パラメータサンプル組群を決定し第１の目的関数モデル化部に入力させて、その第１の目的関数モデル化部、重み決定部、第２の目的関数モデル化部、及び精度条件判定部の動作を繰り返し実行させる。
【００３４】
上述の態様の構成において、第１及び第２の目的関数モデル化部は例えば、入力設計パラメータサンプル組とそのサンプル組に対応して計算された複数の目的関数の各値とに基づいて、線形回帰分析により、目的関数を線形回帰式により多項式近似する。
【発明の効果】
【００３５】
一般に、設計パラメータからは値域の値は予測できないが、予め荒いサンプリング、モデリングによって目的関数のモデル式を生成し、そのモデル式を用いて与えられた値域の逆像計算を実行することにより、精度が必要となる値域に対応する設計パラメータの範囲を予測することが可能となる。
【００３６】
これにより得られる設計パラメータ組を用いることにより、目的関数を高精度に数式近似した出力モデル化目的関数を得ることが可能となる。
この高精度に数式近似された出力モデル化目的関数によって、ＳＲＡＭ形状等の設計において、設計パラメータと歩留りなどを示す目的関数との関係を、高速かつ高精度に導出したり描画したりすることが可能となる。
【発明を実施するための最良の形態】
【００３７】
以下、図面を参照しながら、最良の実施形態について詳細に説明する。
図１は、ＳＲＡＭ形状パラメータの多目的最適化設計支援装置の第１の実施形態の構成図である。
【００３８】
本実施形態は、例えばＳＲＡＭ形状に関する２種類の設計パラメータの組を複数組入力して、例えばＳＮＭ（スタティックノイズマージン）及びＷＭ（ライトマージン）の２種類の目的関数の各値を計算しながら多目的最適化処理を実行する設計支援装置の一部である。
【００３９】
より具体的には、本実施形態は、設計パラメータ組が入力されたときに、ＳＮＭとＷＭを、簡易かつ高精度で算出できる出力モデル化目的関数として、ＳＮＭ出力モデル化関数とＷＭ出力モデル化関数を算出する。
【００４０】
これらのＳＮＭ出力モデル化関数とＷＭ出力モデル化関数を用いることで、要求されたＳＮＭとＷＭの値の範囲を満たし、かつその精度範囲内で、これら両値のうちの小さい方（性能が悪い方）の値が最大となる（最も性能が良くなる）ような設計パラメータ組を、短時間で探索することが可能となる。
【００４１】
また、数式近似されたＳＮＭ出力モデル化関数やＷＭ出力モデル化関数等の出力モデル化目的関数を用いることで、設計パラメータであるＳＲＡＭ形状（セルサイズ）や電圧値と、目的関数であるＳＮＭやＷＭや歩留まりとの関係を、視覚的に設計者に表示することなども可能となる。
【００４２】
図１において、初期入力設計パラメータサンプル組群決定部１０１は、第１の所定組数、例えば２種類の設計パラメータの各定義域を荒く５分割して得られる５＊５＝２５組からなる、２種類の設計パラメータのサンプルの組を、ＳＮＭ目的関数及びＷＭ目的関数のそれぞれに対する初期の入力設計パラメータサンプル組群として決定する。ここで、「＊」は、乗算を表す。２種類の設計パラメータは例えば、ＳＲＡＭ形状に関する設計パラメータである。
【００４３】
第１の目的関数モデル化部１０２は、入力設計パラメータサンプル組群に対してＳＮＭとＷＭの各値をシミュレータ計算しながら、ＳＮＭとＷＭをそれぞれ線形回帰分析に基づく数式近似によりモデル化することにより、第１のモデル化目的関数、即ち、第１のＳＮＭモデル化関数及び第１のＷＭモデル化関数を算出する。
【００４４】
重み決定部１０３は、ＳＮＭとＷＭの各シミュレータ値毎に、その値が、精度を要する範囲として指定された値域に含まれるか否か、及びその値を算出した入力設計パラメータサンプル組に対応する他方（ＷＭ又はＳＮＭ）のシミュレータ値又は第１のモデル化目的関数値よりも小さいか否かに応じて、重みを決定する。
【００４５】
第２の目的関数モデル化部１０４は、入力設計パラメータサンプル組とそのサンプル組に対応して計算されたＳＮＭとＷＭの各シミュレータ計算値とに基づいて、ＳＮＭとＷＭの各シミュレータ値毎に決定された重みに応じたモデル化を行いながら、ＳＮＭとＷＭをそれぞれ線形回帰分析に基づく数式近似により再度モデル化して、第２のモデル化目的関数、即ち、第２のＳＮＭモデル化関数及び第２のＷＭモデル化関数を算出する。
【００４６】
精度条件判定部１０５は、第２のＳＮＭモデル化関数及び第２のＷＭモデル化関数毎に、第２の目的関数モデル化部１０４において計算される精度情報が指定された精度条件を満たすか否かを判定する。
【００４７】
出力モデル化目的関数決定部１０６は、精度条件判定部１０５が精度条件を満たすとの第１の判定をした場合に、その第１の判定対象とされた第２のモデル化目的関数を、最適な設計パラメータの組を計算するための出力モデル化目的関数１１０、１１１として決定する。今、第１の判定対象となったのがＳＮＭモデル化関数であれば、第２の目的関数モデル化部１０４にて算出された第２のＳＮＭモデル化関数が、ＳＮＭ出力モデル化関数１１０として決定される。また、第１の判定対象となった目的関数がＷＭモデル化関数であれば、第２の目的関数モデル化部１０４にて算出された第２のＷＭモデル化関数が、ＷＭ出力モデル化関数１１１として決定される。ＳＮＭ出力モデル化関数１１０又はＷＭ出力モデル化関数１１１の片方のみが出力される場合又は両方が同時に出力される場合がある。
【００４８】
モデル化目的関数値計算部１０７は、精度条件判定部１０５が精度条件を満たさないとの第２の判定をした場合に、第１の所定組数（５＊５＝２５組）よりも多量の第２の所定組数、例えば６１＊６１＝３７２１組の設計パラメータのサンプルの組に対して、第２の判定対象となった第２のモデル化目的関数の各値を計算する。第２の判定対象となった第２のモデル化目的関数が第２のＳＮＭモデル化関数であれば、３７２１組の設計パラメータのサンプルの組に対して第２のＳＮＭモデル化関数の各値が計算される。逆に、第２の判定対象となった第２のモデル化目的関数が第２のＷＭモデル化関数であれば、３７２１組の設計パラメータのサンプルの組に対して第２のＷＭモデル化関数の各値が計算される。ＳＮＭ出力モデル化関数又はＷＭ出力モデル化関数の片方のみが計算される場合又は両方が同時に計算される場合がある。
【００４９】
逆像計算部１０８は、上述の計算された第２のモデル化目的関数の各値について、その値が、精度を要する範囲として指定された値域に含まれ、かつその値に対応する設計パラメータのサンプルの組から計算される他のどの第２のモデル化目的関数の値よりも小さいときに、その値を算出した設計パラメータのサンプルの組をその値に対応する目的関数に対応させて記憶する。第２の判定対象となった第２のモデル化目的関数が第２のＳＮＭモデル化関数であれば、第２のＳＮＭモデル化関数の各値について、その値が、精度を要する範囲として指定された値域に含まれ、かつその値に対応する設計パラメータのサンプルの組から計算されるＷＭモデル化関数の値よりも小さいときに、その値を算出した設計パラメータのサンプルの組をＳＮＭに対応させて記憶する。逆に、第２の判定対象となった第２のモデル化目的関数が第２のＷＭモデル化関数であれば、第２のＷＭモデル化関数の各値について、その値が、精度を要する範囲として指定された値域に含まれ、かつその値に対応する設計パラメータのサンプルの組から計算されるＳＮＭモデル化関数の値よりも小さいときに、その値を算出した設計パラメータのサンプルの組をＷＭに対応させて記憶する。ＳＮＭ又はＷＭの片方のみが処理される場合又は両方が同時に処理される場合がある。
【００５０】
モデル化繰返し制御部１０９は、第２の判定対象となった第２のモデル化目的関数に対応する目的関数毎に、現在の入力設計パラメータサンプル組群とその目的関数に対応して逆像計算部１０８にて記憶されている設計パラメータのサンプルの組とに基づいて、新たな入力設計パラメータサンプル組群を決定し第１の目的関数モデル化部１０２に入力させて、１０２〜１０５の各部の動作を繰り返し実行させる。
【００５１】
図２は、ＳＲＡＭ形状パラメータの多目的最適化設計支援装置の第２の実施形態の構成図である。
本実施形態は、図１の第１の実施形態において、重み決定部１０３及び第２の目的関数モデル化部１０４が省略された構成を有する。精度条件判定部１０５、出力モデル化目的関数決定部１０６、モデル化目的関数値計算部１０７、逆像計算部１０８は、第２のモデル化目的関数の代わりに第１のモデル化目的関数（モデル化目的関数）に対して、各処理を実行する。
【００５２】
まず、上述の構成を有する第１又は第２の実施形態（以下、「本実施形態」という）の基本的な動作について、以下に説明する。
一般のものづくり設計においては、精度が必要とされる範囲が設計パラメータの範囲（定義域）により指定されるのに対し、ＳＲＡＭ設計においては、ＳＮＭやＷＭ等の目的関数の値の範囲（値域）により指定されるという特徴があり、本実施形態ではその特徴を生かした最適化手法が採用されている。
【００５３】
一般に、設計パラメータからは値域の値は予測できないが、本実施形態では、予め荒いサンプリング、モデリングによって目的関数のモデル式を生成し、そのモデル式を用いて与えられた値域の逆像計算を実行することにより、精度が必要となる設計パラメータの範囲を予測することができるようになる。
【００５４】
更に、本実施形態では、ＳＮＭ、ＷＭには、少なくとも与えられた値域において連続性があり特異点が存在しないという特徴を用いて、与えられた値域においてＳＮＭ、ＷＭを線形回帰モデル式によって高精度に数式近似することができる。
【００５５】
今、ＳＲＡＭ設計において、シミュレータが実行されることにより、ＳＲＡＭ形状等の設計パラメータとＳＮＭ、ＷＭ等の目的関数の関係が、図３（ａ）に示されるようになるとする。図３の例では、説明を簡単にするため、横軸に示される設計パラメータの種類は１種類で、縦軸にプロットされる目的関数は２種類の曲線３０１、３０２（それぞれ例えば、ＳＮＭとＷＭに対応する）が描かれている。
【００５６】
精度が必要な範囲は、図３（ｂ）のＡ−Ｂとして示されるように、目的関数値（値域）の範囲として与えられる。今、２つの目的関数の曲線３０１、３０２がＳＮＭとＷＭであるとすれば、値域の範囲Ａ−Ｂにおいては、設計パラメータ組とＳＮＭの値の対応関係、及び設計パラメータ組とＷＭの値の対応関係が、高い精度で算出できることが要求される。言い換えれば、ＳＮＭの目標値を達成するために各設計パラメータの値をどの値にしたらよいかを示す対応関係、及びＷＭの目標値を達成するために各設計パラメータの値をどの値にしたらよいかを示す対応関係が、それぞれ正確に算出される必要がある。
【００５７】
そして、ＳＮＭとＷＭの値の範囲Ａ−Ｂを満たし、かつその精度範囲内で、これら両値のうちの小さい方（性能が悪い方）の値が最大となる（最も性能が良くなる）ような設計パラメータ組を探索することが、ＳＲＡＭ設計の目的である。この場合、一方の目的関数値が他方の目的関数値よりも大きい場合には、その大きい方の目的関数値については歩留まりの判断をする必要はないため、その精度は不要である。従って、設計パラメータと目的関数値との間で精度が必要な範囲は、図３（ｃ）の３０３で示される曲線部分になる。そして、２つの目的関数の曲線３０１、３０２の交点３０４に対応する設計パラメータ組を求めることが、ＳＲＡＭ設計における多目的最適化の最終目標である。この交点３０４が、要求値域範囲Ａ−Ｂ内で２つの目的関数３０１、３０２を同時に良くする最良の点である。従って、このような点３０４を得るような設計パラメータ組を探索できれば、それが最良に設計されたＳＲＡＭ形状であるということになる。
【００５８】
ここで、２つの目的関数３０１、３０２をそれぞれ数式近似するようなモデル式が得られれば、図３（ｄ）に示される、精度が要求される値域の範囲Ａ−Ｂに対応する定義域の範囲ａ−ｂを求めること、即ち逆像計算が可能となる。このようなモデル化において重要なことは、図３（ｄ）の曲線部分３０３を高精度に近似できるモデル式を得ることである。得られたモデル式において、この部分が高精度に近似されていれば、他の部分ではそれほど高い精度は必要ない。
【００５９】
例えば、図３（ｅ）に示されるように、２つの目的関数の曲線３０１、３０２が、単純な２つの直線３０１′、３０２′によって近似されたとしても、図３（ｅ）の曲線部分３０３における近似精度が高ければ、そのような直線３０１′、３０２′でも十分な多目的最適化が実現できるということになる。精度が要求される範囲以外は、増減の傾向さえ見えれば良い。
【００６０】
以上の基本的な考え方に従って、本実施形態では、下記のような手順でＳＮＭとＷＭに対するモデル化が行われる。
まず、図４（ａ）の各点で示されるように、少ない設計パラメータサンプル組が用意される。図４の例では、説明を簡単にするために、設計パラメータは１種類のみであるため、１組の設計パラメータサンプル組は１つの設計パラメータ値によって構成される。設計パラメータの種類が２種類であれば、１組の設計パラメータサンプル組は２つの設計パラメータ値によって構成される。
【００６１】
次に、図４（ｂ）の各点で示されるように、少ない設計パラメータサンプル組に対してシミュレータ計算が実行され、各設計パラメータの点に対応して、例えばＳＮＭとＷＭの各目的関数値が算出される。
【００６２】
続いて、少ない設計パラメータサンプル組に対して算出されたＳＮＭとＷＭの各目的関数値を使って、ＳＮＭとＷＭが、線形回帰分析に基づいて多項式近似され、数式によりモデル化される。
【００６３】
この結果得られるＳＮＭとＷＭのモデル式は、設計パラメータ組のサンプル数が少ないため、図４（ｃ）に示される理想的な目的関数曲線３０１、３０２に対して誤差がある。
次に、重み付けが行われる。具体的には、ＳＮＭとＷＭの各シミュレータ値毎に、その値が、指定された値域Ａ−Ｂ内に含まれるか否か、及びその値を算出した入力設計パラメータサンプル組に対応する他方（ＷＭ又はＳＮＭ）のシミュレータ値又はモデル式から求まる値よりも小さいか否かに応じて、重みが決定される。例えば、図４（ｄ）において、４０１、４０２、４０３等のシミュレータ値については、指定された値域Ａ−Ｂの範囲外であるため、例えば低い重み値１又は２（離れている距離による）が与えられる。一方、４０４、４０５のシミュレータ値については、指定された値域Ａ−Ｂの範囲内であり、かつ他方の目的関数の同一設計パラメータ組に対応するシミュレータ値又はモデル式から求まる値よりも小さいため、例えば最も高い重み値５が与えられる。４０６、４０７のシミュレータ値については、指定された値域Ａ−Ｂの範囲内であるが、他方の目的関数の同一設計パラメータ組に対応するシミュレータ値又はモデル式から求まる値よりは大きいため、例えば中間の重み値３が与えられる。なお、一般には、２つの目的関数３０１、３０２は、常に同一の設計パラメータ組を使ってシミュレータ計算が実行される訳ではないため、一方の目的関数のシミュレータ値を他方の目的関数と比較するときに、他方の目的関数に対応するシミュレータ値がない場合が多い。この場合には、算出されているモデル式を使って、同一設計パラメータ組に対応する他方の目的関数の値を算出することができる。
【００６４】
このようにして算出された各目的関数の各シミュレータ値毎の重み値を使って、重み値が高い部分はより厳しい回帰基準で近似が行われることにより、図４（ｅ）に示される精度が要求される曲線部分３０３に関して、理想的な目的関数の曲線３０１、３０２を精度良く近似するモデル式を得ることができる。
【００６５】
以上の処理の結果、目的関数毎に、そのモデル式による精度情報（例えば決定係数（Ｒスクエア））が要求された精度条件を満たしていれば、そのモデル式が最終的にモデル化された目的関数として出力される。
【００６６】
一方、精度情報（例えば決定係数（Ｒスクエア））が要求された精度条件を満たしていないモデル式がある場合には、精度が必要となる値域Ａ−Ｂに対応する設計パラメータ組のサンプルを選択してより精度の高いモデル化を行うために、以下の逆像計算が実行される。即ち今、ある程度の傾向を示すモデル式が得られているため、そのモデル式を使って、多数の設計パラメータ組に対応する目的関数値が計算されることで、その計算結果の中から、図４（ｆ）に示されるように、目的関数値が指定された値域Ａ−Ｂに入る範囲ａ−ｂの設計パラメータ組を容易に得ることができる。この場合に、目的関数値の計算は、数式近似されたモデル式による計算であるため、多数の設計パラメータ組に対する計算を非常に高速に実行することができる。なお、この時点で使用されるモデル式には誤差が含まれているため、指定された値域Ａ−Ｂよりも狭い範囲で、それに対応する定義域の範囲を算出することが望ましい。
【００６７】
このようにして新たに得られた設計パラメータ組と、現在までに得られている少数組の設計パラメータ組とから、新たにシミュレータ計算用の設計パラメータ組群が生成され、それを使って、再びシミュレータ計算が実行され、モデル化、重み付け、及びその重み付けに対する再度のモデル化が繰り返し実行される。２回目以降のモデル化では、指定された値域Ａ−Ｂが生成されるようなより多くの設計パラメータ組が使用されるため、少ない繰返し回数で高い近似精度を有する目的関数のモデル式を短時間で算出することが可能となる。
【００６８】
以上説明した図３及び図４は、説明を簡単にするため横軸に示される設計パラメータの種類が１種類である場合を示した。設計パラメータの種類が２種類になった場合には、設計パラメータ組と２種類の目的関数との関係は、図５及び図６に示される如くとなる。図５（ａ）において目的関数曲面５０１、５０２は、それぞれ図３（ａ）の目的関数曲線３０１、３０２に対応する。また、図５（ｂ）の値域指定平面Ａ、Ｂは、図３（ｂ）の値域指定範囲Ａ、Ｂに対応する。図６（ａ）は、少ない設計パラメータサンプル組によって生成された目的関数のシミュレータ値をプロットした図である。図６（ｂ）は、図６（ａ）を上部から見下ろしたときの平面図であり、楕円領域６０１が、指定された値域を取る設計パラメータ組の定義域を示しており、図３（ｃ）の３０３の領域に対応している。
【００６９】
設計パラメータの種類が２種類以上になると、目的関数は多次の曲面となり、値域の指定も超平面になるが、前述したモデル化の処理は同様に適用できる。
以上の基本的な考え方に基づく図１に示される第１の実施形態の詳細な動作について、以下に説明する。なお、図２に示される第２の実施形態は、重み付けによる再度のモデル化が省略された例であるため、その詳細動作は、第１の実施形態から容易に類推することができる。
【００７０】
図７は、図１に示される第１の実施形態の制御動作を示す全体動作フローチャートである。
まず、開始時には、ＳＲＡＭ形状を示す２種類の設計パラメータによって構成される設計パラメータサンプル組における、各設計パラメータの定義域の範囲が与えられる。また、精度が必要となるＳＮＭ、ＷＭの各目的関数の値域の範囲が与えられる。更に、モデル化における例えば決定係数（Ｒスクエア）値が要求精度として与えられる。
【００７１】
始めに、図１の初期入力設計パラメータサンプル組群決定部１０１は、第１の所定組数、例えば２種類の設計パラメータの各定義域を荒く５分割して得られる５＊５＝２５組からなる、２種類の設計パラメータのサンプルの組を、ＳＮＭ目的関数及びＷＭ目的関数のそれぞれに対する初期の入力設計パラメータサンプル組群として決定する（図７のステップＳ７０１）。
【００７２】
図８は、図７のステップＳ７０１の処理において設計パラメータサンプル組数Ｍを決定する処理の詳細を示す動作フローチャートである。
入力として、設計パラメータの変数の数ｎと、モデル式の最大次数ｄ、及び経験的に決定される最大初期サンプル数ｍａｘが与えられる。
【００７３】
その上でまず、初期サンプル組数Ｍとして、（ｎ＋ｄ）個からｎ個を選択する組合せの数に１を足した数、即ち、Ｃ(n+d,n)＋１  が設定される（図８のステップＳ８０１）。ここで、Ｃa,b は、ａ個からｂ個を選択する組合せを求める演算である。
【００７４】
次に、ステップＳ８０１にて算出された初期サンプル組数Ｍが最大初期サンプル数ｍａｘよりも大きいか否かが判定される（図８のステップＳ８０２）。
Ｍ＞ｍａｘ  である場合には、初期サンプル組数Ｍの値が最大初期サンプル数ｍａｘの値とされる。Ｍ＞ｍａｘ  でない場合には、Ｍがそのまま出力される。
【００７５】
以上のようにして、図７のステップＳ７０１にて、初期の入力設計パラメータサンプル組群が決定される。
次に、図１の第１の目的関数モデル化部１０２は、入力設計パラメータサンプル組群に対して、ＳＮＭとＷＭの各値をシミュレータ計算する（図７のステップＳ７０２）。なお、２回目以降の繰返し処理において、入力設計パラメータサンプル組群に対応するＳＮＭ又はＷＭの各値のシミュレータ計算が前回までの繰返し処理によって既に計算されている場合には、その値に関しては新たにシミュレータ計算は実行されずに既に得られている計算結果がそのまま使用される。
【００７６】
次に、モデル化及び精度情報の計算処理が実行される（図７のステップＳ７０３）。
図９は、図７のステップＳ７０３のモデル化処理の詳細を示す動作フローチャートである。
【００７７】
始めに、入力として、図７のステップＳ７０２でのシミュレータ計算の結果と、精度が要求される値域の範囲が指定される。
そしてまず、図１の第１の目的関数モデル化部１０２は、図７のステップＳ７０２で得られた入力設計パラメータサンプル組群に対するシミュレータ計算の結果に基づいて、ＳＮＭとＷＭをそれぞれ多項式近似によりモデル化することにより、第１のＳＮＭモデル化関数及び第１のＷＭモデル化関数を算出する（図９のステップＳ９０１）。
【００７８】
次に、図１の重み決定部１０３は、図９のステップＳ９０２からＳ９０５の一連の繰返し処理により、ＳＮＭとＷＭの各シミュレータ値毎に、その値が、精度を要する範囲として指定された値域に含まれるか否か、及びその値を算出した入力設計パラメータサンプル組に対応する他方（ＷＭ又はＳＮＭ）のシミュレータ値又は第１のモデル化目的関数値よりも小さいか否かに応じて、重みを決定する。
【００７９】
具体的には、まず、ＳＮＭ又はＷＭのシミュレータ値群から１個のシミュレータ値が抽出される（図９のステップＳ９０２）。
次に、その選択されたＳＮＭ又はＷＭのシミュレータ値を算出した入力設計パラメータサンプル組に対応する他方のＷＭ又はＳＮＭのシミュレータ値（１回目のみ）又は第１のモデル化目的関数値（第１のＷＭモデル化関数値又は第１のＳＮＭモデル化関数値）（２回目以降で対応するシミュレータ値が存在しない場合）が算出される（図９のステップＳ９０３）。
【００８０】
次に、ステップＳ９０３での算出結果と入力として指定されている値域の範囲に基づいて、ステップＳ９０２にて選択された１個のシミュレータ値に対応する重みが決定される（図９のステップＳ９０４）。
【００８１】
図１０は、ステップＳ９０４の処理の詳細を示す動作フローチャートである。
まず、図９のステップＳ９０２にて選択された１個のシミュレータ値ｓが精度が要求される値域の範囲内にあるか否かが判定される（図１０のステップＳ１００１）。
【００８２】
ステップＳ１００１にて、シミュレータ値ｓが精度が要求される値域の範囲内にあると判定された場合には、更に、そのシミュレータ値ｓが、図９のステップＳ９０３にて算出されている他方の目的関数値ｍよりも小さいか否かが判定される（図１０のステップＳ１００２）。
【００８３】
シミュレータ値ｓが他方の目的関数値ｍよりも小さいと判定された場合には、重みとして最大値５が設定される（図１０のステップＳ１００３）。これは、前述した図４（ｄ）の４０４及び４０５のケースに相当する。
【００８４】
シミュレータ値ｓが他方の目的関数値ｍよりも小さくはないと判定された場合には、重みとして中間値３が設定される（図１０のステップＳ１００４）。これは、前述した図４（ｄ）の４０６及び４０７のケースに相当する。
【００８５】
ステップＳ１００１にて、シミュレータ値ｓが精度が要求される値域の範囲内にはないと判定された場合には、更に、そのシミュレータ値ｓが、上記値域から大きく離れているか否か（差が５以上であるか否か）が判定される（図１０のステップＳ１００５）。
【００８６】
シミュレータ値ｓが上記値域から大きく離れてはいないと判定された場合には、重みとして値２が設定される（図１０のステップＳ１００６）。
シミュレータ値ｓが上記値域から大きく離れていると判定された場合には、重みとして最小値１が設定される（図１０のステップＳ１００７）。これは、前述した図４（ｄ）の４０１〜４０３のケースに相当する。
以上のようにして、図９のステップＳ９０４にて、１個のシミュレータ値に対応する重みが決定される。
【００８７】
次に、ＳＮＭ又はＷＭのシミュレータ値群において、まだ重み付けが行われていない残シミュレータ値があるか否かが判定される（図９のステップＳ９０５）。
ステップＳ９０５にて、残シミュレータ値があると判定された場合には、ステップＳ９０２の処理に戻って、ＳＮＭ又はＷＭのシミュレータ値群から新たに１個のシミュレータ値が抽出され、それに対して重みを決定するためのステップＳ９０２からＳ９０４までの一連の処理が実行される。
【００８８】
ステップＳ９０５にて、残シミュレータ値がないと判定された場合には、図１の第２の目的関数モデル化部１０４が、入力設計パラメータサンプル組とそのサンプル組に対応して図７のステップＳ７０２にて計算されたＳＮＭとＷＭの各シミュレータ計算値とに基づいて、ＳＮＭとＷＭの各シミュレータ値毎に決定された重みに応じたモデル化を行いながら、ＳＮＭとＷＭをそれぞれ線形回帰分析に基づく数式近似により再度モデル化して、第２のモデル化目的関数、即ち、第２のＳＮＭモデル化関数及び第２のＷＭモデル化関数を算出する。
【００８９】
今、i番目の入力設計パラメータサンプル組において、重みをwi、シミュレータ実行結果をyi、モデル式から得られる値をziとすれば、図９のステップＳ９０１にて演算される重みなしの場合のモデル化は、
誤差＝Σ(zi−yi)^2
で示される誤差を最小化するように線形回帰分析に基づくモデル化が行われる。これに対して、図９のステップＳ９０６にて演算される重み付きのモデル化は、
誤差＝Σwi*(zi−yi)^2
で示される誤差を最小化するように線形回帰分析に基づくモデル化が行われる。実際に線形回帰分析が適用される際には、図１３に示されるように、各シミュレータ値毎に算出される重み値毎に、設計パラメータ組と目的関数値（シミュレータ値）との組合せが、その重み値に対応する数だけコピーされて新たなサンプルとされ、そのサンプルに対して通常の線形回帰分析処理が実行されればよい。
【００９０】
以上の重み付きモデル化によって、要求された値域の範囲でより高い精度でＳＮＭとＷＭの各目的関数に適合（フィッティング）する第２のＳＮＭモデル化関数及び第２のＷＭモデル化関数が算出される。例えば下記に示されるようなモデル式が得られる。
ＳＮＭ=7.480933260-.334402471532185108*x[1]+1.24648594726086848*x[2]-
.896094530105577720e-2*x[1]^2*x[2]-.120244516111710636e-1*x[2]^3
+.160829680957461779e-1*x[1]*x[2]^2-.188959151000803746e-2*x[1]^3
+.219744318773777004e-3*x[1]^4-.830367267543722460e-3*x[1]^3*x[2]-
.280462804414196752e-3*x[1]^2*x[2]^2+.787232516283558996e-3*x[1]*x[2]^3
+.753841417319138930e-4*x[2]^4-.499170693002276150e-1*x[1]^2
+.214533959651721957e-1*x[1]*x[2]-.623884580831377197e-1*x[2]^2
・・・（１）
ＷＭ=-.125218911101391454e-2*x[1]^4-.173253786008230630e-2*x[1]^3*x[2]
+.304406157793088395e-2*x[1]^2*x[2]^2+.301926255144032828e-2*x[1]*x[2]^3-
.238090903758804168e-2*x[2]^4-.304966532091938969e-1*x[1]^2
+.363342844444445312e-1*x[1]*x[2]-.127998091187013583e-1*x[2]^2
+5.74286275860009266-.245697488242792271e-1*x[1]-1.61679405158730139*x[2]
+.270645105820105820e-1*x[1]^2*x[2]-.365946358024691644e-2*x[2]^3-
.941748823259369594e-2*x[1]*x[2]^2-.893716376661286664e-2*x[1]^3
・・・（２）
上記ＳＮＭとＷＭの各モデル式において、x[1]とx[2]は、それぞれ２種類の設計パラメータを示す変数である。「^2」「^3」「^4」は、それぞれ２乗、３乗、４乗のべき乗演算を示す。「＊」は乗算を示す。「ｅ」は指数である。
【００９１】
以上の図９の動作フローチャートで示される制御処理によって、図７のステップＳ７０３において、第２の目的関数モデル化部１０４が、現在の入力設計パラメータサンプル組群に対応する第２のＳＮＭモデル化関数及び第２のＷＭモデル化関数を出力する。また、第２の目的関数モデル化部１０４は、これらの関数を線形回帰分析によって算出したときの決定係数（Ｒスクエア）値も同時に、第２のＳＮＭモデル化関数及び第２のＷＭモデル化関数にそれぞれ対応する各精度情報として出力する。
【００９２】
次に、図７のステップＳ７０４において、図１の精度条件判定部１０５は、第２のＳＮＭモデル化関数及び第２のＷＭモデル化関数毎に、第２の目的関数モデル化部１０４において計算される各精度情報（例えば決定係数（Ｒスクエア）値）が指定された精度条件を満たすか否かを判定する。
【００９３】
上記判定に対して、図１の出力モデル化目的関数決定部１０６は、精度条件判定部１０５が精度条件を満たすとの第１の判定をした場合に、その第１の判定対象となった第２のモデル化目的関数を、最適な設計パラメータの組を計算するための出力モデル化目的関数として決定する。今、第１の判定対象となったのがＳＮＭモデル化関数であれば、第２のＳＮＭモデル化関数がＳＮＭ出力モデル化関数１１０として決定される。また、第１の判定対象となった目的関数がＷＭモデル化関数であれば、第２のＷＭモデル化関数がＷＭ出力モデル化関数１１１として決定される。
【００９４】
図７のステップＳ７０４の判定において、精度条件判定部１０５が精度条件を満たさないとの第２の判定をした場合には、精度補償に必要となるサンプルを生成する処理が実行される（図７のステップＳ７０５）。
【００９５】
図１１は、図７のステップＳ７０５の処理の詳細を示す動作フローチャートである。
まず、図１のモデル化目的関数値計算部１０７は、逆像を求める計算を行う（図１１のステップＳ１１０１）。
【００９６】
図１２は、図１１のステップＳ１１０１の処理の詳細を示す動作フローチャートである。
モデル化目的関数値計算部１０７は始めに、図７のステップＳ７０１で採用された第１の所定組数（５＊５＝２５組）よりも多量の第２の所定組数、例えば６１＊６１＝３７２１組の設計パラメータのサンプルの組を生成する（図１２のステップＳ１２０１）。このときの第２の所定組数は、例えばラテン・ハイパーキューブ法等の手法を使用して決定することができる。
【００９７】
次に、モデル化目的関数値計算部１０７は、上記設計パラメータのサンプルの組から１組を抽出して、図７のステップＳ７０４からＳ７０５への移行における第２の判定対象となった第２のモデル化目的関数の各値を計算する（図１２のステップＳ１２０２）。第２の判定対象となった第２のモデル化目的関数が第２のＳＮＭモデル化関数であれば、抽出された１組の設計パラメータのサンプルの組に対して、例えば前述の（１）式で示される第２のＳＮＭモデル化関数の各値が計算される。逆に、第２の判定対象となった第２のモデル化目的関数が第２のＷＭモデル化関数であれば、抽出された１組の設計パラメータのサンプルの組に対して、例えば前述の（２）式で示される第２のＷＭモデル化関数の各値が計算される。ＳＮＭ出力モデル化関数又はＷＭ出力モデル化関数の片方のみが計算される場合又は両方が同時に計算される場合がある。
【００９８】
続いて、図１の逆像計算部１０８は、上述の計算された第２のモデル化目的関数の各値について、その値が、精度を要する範囲として指定された値域に含まれ、かつその値に対応する設計パラメータのサンプルの組から計算される他方の第２のモデル化目的関数の値よりも小さいときに、その値を算出した設計パラメータのサンプルの組をその値に対応する目的関数に対応させて記憶する（図１２のステップＳ１２０２）。第２の判定対象となった第２のモデル化目的関数が第２のＳＮＭモデル化関数であれば、第２のＳＮＭモデル化関数の各値について、その値が、精度を要する範囲として指定された値域に含まれ、かつその値に対応する設計パラメータのサンプルの組から計算されるＷＭモデル化関数の値よりも小さいときに、その値を算出した設計パラメータのサンプルの組をＳＮＭに対応させて記憶する。逆に、第２の判定対象となった第２のモデル化目的関数が第２のＷＭモデル化関数であれば、第２のＷＭモデル化関数の各値について、その値が、精度を要する範囲として指定された値域に含まれ、かつその値に対応する設計パラメータのサンプルの組から計算されるＳＮＭモデル化関数の値よりも小さいときに、その値を算出した設計パラメータのサンプルの組をＷＭに対応させて記憶する。ＳＮＭ又はＷＭの片方のみが処理される場合又は両方が同時に処理される場合がある。
【００９９】
その後、図１のモデル化目的関数値計算部１０７は、ステップＳ１２０１にて生成された３７２１組の設計パラメータのサンプルの組において、計算に必要な組が残っているか否かを判定する（図１２のステップＳ１２０３）。
【０１００】
モデル化目的関数値計算部１０７又は逆像計算部１０８は、計算に必要な組が残っていると判定した場合には、ステップ１２０２の処理に制御を戻し、新たに抽出した組について、逆像計算を繰返し実行する。
【０１０１】
モデル化目的関数値計算部１０７又は逆像計算部１０８は、計算に必要な組が残っていないと判定した場合には、図１２の動作フローチャートの処理を終了して、図１１のステップＳ１１０１の逆像計算処理を終了する。
【０１０２】
その後、図１のモデル化繰返し制御部１０９は、図７のステップＳ７０４からＳ７０５への移行における第２の判定対象となった第２のモデル化目的関数に対応する目的関数毎に、現在の入力設計パラメータサンプル組群（最初は第１の所定組数（５＊５＝２５組）の設計パラメータのサンプルの組）とその目的関数に対応して逆像計算部１０８にて記憶されている設計パラメータのサンプルの組とに基づいて、新たな入力設計パラメータサンプル組群を決定する。この場合に、モデル化繰返し制御部１０９は、上記目的関数に対応して逆像計算部１０８にて記憶されている設計パラメータのサンプルの組のうち、シミュレータ動作済みの現在の入力設計パラメータサンプル組群中の組に近い組は除去する（図１１のステップＳ１１０２）。
【０１０３】
モデル化繰返し制御部１０９は、図１１の動作フローチャートで示される図７のステップＳ７０５の実行において上述のようにして決定した新たな入力設計パラメータサンプル組群を、再び図１の第１の目的関数モデル化部１０２に入力させて、図７のステップ７０２移行の処理を繰り返し実行させる。
【０１０４】
図１４（ａ）及び（ｂ）は、５＊５＝２５組の設計パラメータサンプル組から計算されるＳＮＭ及びＷＭのモデル化目的関数の例を示す図である。また、図１４（ｃ）は、図１４（ｂ）を上部から見下ろしたときの平面図であり、要求される値域を取る設計パラメータ組の定義域を示している。この例からわかるように、少ない設計パラメータサンプル組からモデル化された目的関数からでも、要求される値域に対する逆像としての設計パラメータ組の定義域を十分有効に抽出できることがわかる。
【０１０５】
図１５は、ＳＮＭ及びＷＭのそれぞれ毎に選択される２種類の初期設計パラメータサンプル組群を示した図である。横軸が第１の設計パラメータ、縦軸が第２の設計パラメータを示している。また、「○」印が例えばＳＮＭを計算するための設計パラメータサンプル組、「□」印が例えばＷＭを計算するための設計パラメータサンプル組である。このように、最初は、各設計パラメータに対して予め設定された範囲を均等に５分割ずつするように、設計パラメータサンプル組が決定される。
【０１０６】
次に、図１６は、図１の逆像計算部１０８による図７のステップＳ７０５の処理（図１１、図１２参照）によって得られる、要求された値域に対応する２種類の目的関数にそれぞれ対応する設計パラメータのサンプル組の分布を示す図である。「○」印で示される設計パラメータサンプル組は例えばＳＮＭに対応し、「□」印で示される設計パラメータサンプル組は例えばＷＭに対応する。
【０１０７】
図１７は、図７のステップＳ７０２からＳ７０５までの一連の繰返し処理の１回目から２回目への移行時において、図１のモデル化繰返し制御部１０９による図７のステップＳ７０５の処理によって得られる、新たな入力設計パラメータサンプル組群を示した図である。「○」印及び「□」印で示される各設計パラメータサンプル組群ともに、図１６の逆像分布が反映されていることがわかる。このような設計パラメータサンプル組を用いることにより、２回目のＳＮＭ及びＷＭのモデル化において、要求された値域でより適合したモデル化が可能となる。
【０１０８】
図１８は、図７のステップＳ７０２からＳ７０５までの一連の繰返し処理の２回目から３回目への移行時において、図１のモデル化繰返し制御部１０９による図７のステップＳ７０５の処理によって得られる、新たな入力設計パラメータサンプル組群を示した図である。「○」印で示される設計パラメータサンプル組については、それに対応する目的関数（例えばＳＮＭ）のモデル化が十分な精度に達したため、新たな設計パラメータサンプル組の追加はされない。一方、「□」印で示される設計パラメータサンプル組については、それに対応する目的関数（例えばＷＭ）のモデル化がまだ十分な精度に達していないため、図１６の逆像分布から更に設計パラメータサンプル組が追加されていることがわかる。
【０１０９】
以上のようにして、高々数回の繰返し処理によって、ＳＮＭ及びＷＭのモデル化において、要求された値域で高精度に適合したモデル化が達成される。
図１９は、図７のステップＳ７０２からＳ７０５までの一連の繰返し処理の１回目から３回目までにおける１つの設計パラメータの各値に対する１つの目的関数の適合誤差の例を示す図である。繰返し回数が進む毎に、誤差が減少し適合精度が向上してゆくことがわかる。
【０１１０】
図２０は、本実施形態によって算出された出力モデル化目的関数のモデル式を使って描画された、設計パラメータであるセルサイズと目的関数である歩留まり（ＳＮＭやＷＭに対応）の関係、及び設計パラメータであるセルサイズ及び電圧と、目的関数である歩留まりの関係を示す図である。このように、本実施形態では、出力モデル化目的関数が数式モデルで表現されるため、設計パラメータと目的関数との関係を、視覚的に描画することも容易に実現できる。
【０１１１】
以上説明した実施形態では、目的関数としてＳＮＭとＷＭの２種類が用いられたが、２種類以上の複数の目的関数が用いられてもよい。
図２１は、図１又は図２の構成を有するＳＲＡＭ形状パラメータの多目的最適化設計支援装置を実現できるコンピュータのハードウェア構成の一例を示す図である。
【０１１２】
図２１に示されるコンピュータは、ＣＰＵ２１０１、メモリ２１０２、入力装置２１０３、出力装置２１０４、外部記憶装置２１０５、可搬記録媒体２１０９が挿入される可搬記録媒体駆動装置２１０６、及びネットワーク接続装置２１０７を有し、これらがバス２１０８によって相互に接続された構成を有する。同図に示される構成は上記システムを実現できるコンピュータの一例であり、そのようなコンピュータはこの構成に限定されるものではない。
【０１１３】
ＣＰＵ２１０１は、当該コンピュータ全体の制御を行う。メモリ２１０２は、プログラムの実行、データ更新等の際に、外部記憶装置２１０５（或いは可搬記録媒体２１０９）に記憶されているプログラム又はデータを一時的に格納するＲＡＭ等のメモリである。ＣＵＰ２１０１は、プログラムをメモリ２１０２に読み出して実行することにより、全体の制御を行う。
【０１１４】
入力装置２１０３は、例えば、キーボード、マウス等及びそれらのインタフェース制御装置とからなる。入力装置２１０３は、ユーザによるキーボードやマウス等による入力操作を検出し、その検出結果をＣＰＵ２１０１に通知する。
【０１１５】
出力装置２１０４は、表示装置、印刷装置等及びそれらのインタフェース制御装置とからなる。出力装置２１０４は、ＣＰＵ２１０１の制御によって送られてくるデータを表示装置や印刷装置に出力する。
【０１１６】
外部記憶装置２１０５は、例えばハードディスク記憶装置である。主に各種データやプログラムの保存に用いられる。
可搬記録媒体駆動装置２１０６は、光ディスクやＳＤＲＡＭ、コンパクトフラッシュ（登録商標）等の可搬記録媒体２１０９を収容するもので、外部記憶装置２１０５の補助の役割を有する。
【０１１７】
ネットワーク接続装置２１０７は、例えばＬＡＮ（ローカルエリアネットワーク）又はＷＡＮ（ワイドエリアネットワーク）の通信回線を接続するための装置である。
本実施形態によるシステムは、図１又は図２の構成の実現に必要な機能を搭載したプログラムをＣＰＵ２１０１が実行することで実現される。そのプログラムは、例えば外部記憶装置２１０５や可搬記録媒体２１０９に記録して配布してもよく、或いはネットワーク接続装置２１０７によりネットワークから取得できるようにしてもよい。
【０１１８】
以上説明した実施形態に関して、更に以下の付記を開示する。
（付記１）
設計パラメータの組を複数組入力して、所定の計算に基づいて複数の目的関数の各値を計算しながら多目的最適化処理を実行することにより、最適な設計パラメータの組の決定を支援する設計支援装置において、
第１の所定組数の設計パラメータのサンプルの組を、前記複数の目的関数毎の初期の入力設計パラメータサンプル組群として決定する初期入力設計パラメータサンプル組群決定部と、
前記複数の目的関数毎に、前記入力設計パラメータサンプル組群に対して前記複数の目的関数の各値を計算しながら、前記複数の目的関数をそれぞれ数式近似によりモデル化してモデル化目的関数を算出する目的関数モデル化部と、
前記複数のモデル化目的関数毎に、前記目的関数モデル化部において計算される各精度情報が指定された精度条件を満たすか否かを判定する精度条件判定部と、
該精度条件判定部が前記精度条件を満たすとの第１の判定をした場合に、該第１の判定対象とされたモデル化目的関数を、前記最適な設計パラメータの組を計算するための出力モデル化目的関数として決定する出力モデル化目的関数決定部と、
前記精度条件判定部が前記精度条件を満たさないとの第２の判定をした場合に、前記第１の所定組数よりも多量の第２の所定組数の設計パラメータのサンプルの組に対して、前記第２の判定対象となったモデル化目的関数の各値を計算するモデル化目的関数値計算部と、
該計算されたモデル化目的関数の各値について、該値が、前記精度を要する範囲として指定された値域に含まれ、かつ該値に対応する設計パラメータのサンプルの組から計算される他のどのモデル化目的関数の値よりも小さいときに、該値を算出した前記設計パラメータのサンプルの組を該値に対応する目的関数に対応させて記憶する逆像計算部と、
前記第２の判定対象となったモデル化目的関数に対応する目的関数毎に、現在の入力設計パラメータサンプル組群と該目的関数に対応して前記逆像計算部にて記憶されている前記設計パラメータのサンプルの組とに基づいて、新たな入力設計パラメータサンプル組群を決定し前記目的関数モデル化部に入力させて、該目的関数モデル化部、及び前記精度条件判定部の動作を繰り返し実行させるモデル化繰返し制御部と、
を含むことを特徴とするＳＲＡＭ形状パラメータ等の多目的最適化設計支援装置。
（付記２）
前記目的関数モデル化部は、前記入力設計パラメータサンプル組と該サンプル組に対応して計算された前記複数の目的関数の各値とに基づいて、線形回帰分析により、前記目的関数を線形回帰式により多項式近似する、
ことを特徴とする付記１に記載のＳＲＡＭ形状パラメータ等の多目的最適化設計支援装置。
（付記３）
設計パラメータの組を複数組入力して、所定の計算に基づいて複数の目的関数の各値を計算しながら多目的最適化処理を実行することにより、最適な設計パラメータの組の決定を支援する設計支援装置において、
第１の所定組数の設計パラメータのサンプルの組を、前記複数の目的関数毎の初期の入力設計パラメータサンプル組群として決定する初期入力設計パラメータサンプル組群決定部と、
前記複数の目的関数毎に、前記入力設計パラメータサンプル組群に対して前記複数の目的関数の各値を計算しながら、前記複数の目的関数をそれぞれ数式近似によりモデル化して第１のモデル化目的関数を算出する第１の目的関数モデル化部と、
前記複数の目的関数の各値毎に、該値が、精度を要する範囲として指定された値域に含まれるか否か、及び該値を算出した入力設計パラメータサンプル組に対応する他のどの目的関数又は第１のモデル化目的関数の値よりも小さいか否かに応じて、重みを決定する重み決定部と、
前記入力設計パラメータサンプル組と該サンプル組に対応して計算された前記複数の目的関数の各値とに基づいて、前記複数の目的関数の各値毎に決定された重みに応じたモデル化を行いながら、前記複数の目的関数をそれぞれ数式近似により再度モデル化して第２のモデル化目的関数を算出する第２の目的関数モデル化部と、
前記複数の第２のモデル化目的関数毎に、前記第２の目的関数モデル化部において計算される各精度情報が指定された精度条件を満たすか否かを判定する精度条件判定部と、
該精度条件判定部が前記精度条件を満たすとの第１の判定をした場合に、該第１の判定対象とされた第２のモデル化目的関数を、前記最適な設計パラメータの組を計算するための出力モデル化目的関数として決定する出力モデル化目的関数決定部と、
前記精度条件判定部が前記精度条件を満たさないとの第２の判定をした場合に、前記第１の所定組数よりも多量の第２の所定組数の設計パラメータのサンプルの組に対して、前記第２の判定対象となった第２のモデル化目的関数の各値を計算するモデル化目的関数値計算部と、
該計算された第２のモデル化目的関数の各値について、該値が、前記精度を要する範囲として指定された値域に含まれ、かつ該値に対応する設計パラメータのサンプルの組から計算される他のどの第２のモデル化目的関数の値よりも小さいときに、該値を算出した前記設計パラメータのサンプルの組を該値に対応する目的関数に対応させて記憶する逆像計算部と、
前記第２の判定対象となった第２のモデル化目的関数に対応する目的関数毎に、現在の入力設計パラメータサンプル組群と該目的関数に対応して前記逆像計算部にて記憶されている前記設計パラメータのサンプルの組とに基づいて、新たな入力設計パラメータサンプル組群を決定し前記第１の目的関数モデル化部に入力させて、該第１の目的関数モデル化部、前記重み決定部、前記第２の目的関数モデル化部、及び前記精度条件判定部の動作を繰り返し実行させるモデル化繰返し制御部と、
を含むことを特徴とするＳＲＡＭ形状パラメータ等の多目的最適化設計支援装置。
（付記４）
前記第１及び第２の目的関数モデル化部は、前記入力設計パラメータサンプル組と該サンプル組に対応して計算された前記複数の目的関数の各値とに基づいて、線形回帰分析により、前記目的関数を線形回帰式により多項式近似する、
ことを特徴とする付記３に記載のＳＲＡＭ形状パラメータ等の多目的最適化設計支援装置。
（付記５）
前記設計支援装置はスタティクランダムアクセスメモリの形状に関する設計パラメータの組の決定を支援する装置であり、
前記複数の目的関数は、スタティックノイズマージンを算出するための目的関数とライトマージンを算出するための目的関数を含む、
ことを特徴とする付記１乃至４の何れか１項に記載のＳＲＡＭ形状パラメータ等の多目的最適化設計支援装置。
（付記６）
設計パラメータの組を複数組入力して、所定の計算に基づいて複数の目的関数の各値を計算しながら多目的最適化処理を実行することにより、最適な設計パラメータの組の決定を支援する設計支援方法において、
第１の所定組数の設計パラメータのサンプルの組を、前記複数の目的関数毎の初期の入力設計パラメータサンプル組群として決定する初期入力設計パラメータサンプル組群決定ステップと、
前記複数の目的関数毎に、前記入力設計パラメータサンプル組群に対して前記複数の目的関数の各値を計算しながら、前記複数の目的関数をそれぞれ数式近似によりモデル化してモデル化目的関数を算出する目的関数モデル化ステップと、
前記複数のモデル化目的関数毎に、前記目的関数モデル化ステップにおいて計算される各精度情報が指定された精度条件を満たすか否かを判定する精度条件判定ステップと、
該精度条件判定ステップが前記精度条件を満たすとの第１の判定をした場合に、該第１の判定対象とされたモデル化目的関数を、前記最適な設計パラメータの組を計算するための出力モデル化目的関数として決定する出力モデル化目的関数決定ステップと、
前記精度条件判定ステップが前記精度条件を満たさないとの第２の判定をした場合に、前記第１の所定組数よりも多量の第２の所定組数の設計パラメータのサンプルの組に対して、前記第２の判定対象となったモデル化目的関数の各値を計算するモデル化目的関数値計算ステップと、
該計算されたモデル化目的関数の各値について、該値が、前記精度を要する範囲として指定された値域に含まれ、かつ該値に対応する設計パラメータのサンプルの組から計算される他のどのモデル化目的関数の値よりも小さいときに、該値を算出した前記設計パラメータのサンプルの組を該値に対応する目的関数に対応させて記憶する逆像計算ステップと、
前記第２の判定対象となったモデル化目的関数に対応する目的関数毎に、現在の入力設計パラメータサンプル組群と該目的関数に対応して前記逆像計算ステップにて記憶されている前記設計パラメータのサンプルの組とに基づいて、新たな入力設計パラメータサンプル組群を決定し前記目的関数モデル化ステップに入力させて、該目的関数モデル化ステップ、及び前記精度条件判定ステップの動作を繰り返し実行させるモデル化繰返し制御ステップと、
を含むことを特徴とするＳＲＡＭ形状パラメータ等の多目的最適化設計支援方法。
（付記７）
前記目的関数モデル化ステップは、前記入力設計パラメータサンプル組と該サンプル組に対応して計算された前記複数の目的関数の各値とに基づいて、線形回帰分析により、前記目的関数を線形回帰式により多項式近似する、
ことを特徴とする付記６に記載のＳＲＡＭ形状パラメータ等の多目的最適化設計支援方法。
（付記８）
設計パラメータの組を複数組入力して、所定の計算に基づいて複数の目的関数の各値を計算しながら多目的最適化処理を実行することにより、最適な設計パラメータの組の決定を支援する設計支援方法において、
第１の所定組数の設計パラメータのサンプルの組を、前記複数の目的関数毎の初期の入力設計パラメータサンプル組群として決定する初期入力設計パラメータサンプル組群決定ステップと、
前記複数の目的関数毎に、前記入力設計パラメータサンプル組群に対して前記複数の目的関数の各値を計算しながら、前記複数の目的関数をそれぞれ数式近似によりモデル化して第１のモデル化目的関数を算出する第１の目的関数モデル化ステップと、
前記複数の目的関数の各値毎に、該値が、精度を要する範囲として指定された値域に含まれるか否か、及び該値を算出した入力設計パラメータサンプル組に対応する他のどの目的関数又は第１のモデル化目的関数の値よりも小さいか否かに応じて、重みを決定する重み決定ステップと、
前記入力設計パラメータサンプル組と該サンプル組に対応して計算された前記複数の目的関数の各値とに基づいて、前記複数の目的関数の各値毎に決定された重みに応じたモデル化を行いながら、前記複数の目的関数をそれぞれ数式近似により再度モデル化して第２のモデル化目的関数を算出する第２の目的関数モデル化ステップと、
前記複数の第２のモデル化目的関数毎に、前記第２の目的関数モデル化ステップにおいて計算される各精度情報が指定された精度条件を満たすか否かを判定する精度条件判定ステップと、
該精度条件判定ステップが前記精度条件を満たすとの第１の判定をした場合に、該第１の判定対象とされた第２のモデル化目的関数を、前記最適な設計パラメータの組を計算するための出力モデル化目的関数として決定する出力モデル化目的関数決定ステップと、
前記精度条件判定ステップが前記精度条件を満たさないとの第２の判定をした場合に、前記第１の所定組数よりも多量の第２の所定組数の設計パラメータのサンプルの組に対して、前記第２の判定対象となった第２のモデル化目的関数の各値を計算するモデル化目的関数値計算ステップと、
該計算された第２のモデル化目的関数の各値について、該値が、前記精度を要する範囲として指定された値域に含まれ、かつ該値に対応する設計パラメータのサンプルの組から計算される他のどの第２のモデル化目的関数の値よりも小さいときに、該値を算出した前記設計パラメータのサンプルの組を該値に対応する目的関数に対応させて記憶する逆像計算ステップと、
前記第２の判定対象となった第２のモデル化目的関数に対応する目的関数毎に、現在の入力設計パラメータサンプル組群と該目的関数に対応して前記逆像計算ステップにて記憶されている前記設計パラメータのサンプルの組とに基づいて、新たな入力設計パラメータサンプル組群を決定し前記第１の目的関数モデル化ステップに入力させて、該第１の目的関数モデル化ステップ、前記重み決定ステップ、前記第２の目的関数モデル化ステップ、及び前記精度条件判定ステップの動作を繰り返し実行させるモデル化繰返し制御ステップと、
を含むことを特徴とするＳＲＡＭ形状パラメータ等の多目的最適化設計支援方法。
（付記９）
前記第１及び第２の目的関数モデル化ステップは、前記入力設計パラメータサンプル組と該サンプル組に対応して計算された前記複数の目的関数の各値とに基づいて、線形回帰分析により、前記目的関数を線形回帰式により多項式近似する、
ことを特徴とする付記８に記載のＳＲＡＭ形状パラメータ等の多目的最適化設計支援方法。
（付記１０）
前記設計支援方法はスタティクランダムアクセスメモリの形状に関する設計パラメータの組の決定を支援する方法であり、
前記複数の目的関数は、スタティックノイズマージンを算出するための目的関数とライトマージンを算出するための目的関数を含む、
ことを特徴とする付記６乃至９の何れか１項に記載のＳＲＡＭ形状パラメータ等の多目的最適化設計支援方法。
（付記１１）
設計パラメータの組を複数組入力して、所定の計算に基づいて複数の目的関数の各値を計算しながら多目的最適化処理を実行することにより、最適な設計パラメータの組の決定を支援するコンピュータに、
第１の所定組数の設計パラメータのサンプルの組を、前記複数の目的関数毎の初期の入力設計パラメータサンプル組群として決定する初期入力設計パラメータサンプル組群決定ステップと、
前記複数の目的関数毎に、前記入力設計パラメータサンプル組群に対して前記複数の目的関数の各値を計算しながら、前記複数の目的関数をそれぞれ数式近似によりモデル化してモデル化目的関数を算出する目的関数モデル化ステップと、
前記複数のモデル化目的関数毎に、前記目的関数モデル化ステップにおいて計算される各精度情報が指定された精度条件を満たすか否かを判定する精度条件判定ステップと、
該精度条件判定ステップが前記精度条件を満たすとの第１の判定をした場合に、該第１の判定対象とされたモデル化目的関数を、前記最適な設計パラメータの組を計算するための出力モデル化目的関数として決定する出力モデル化目的関数決定ステップと、
前記精度条件判定ステップが前記精度条件を満たさないとの第２の判定をした場合に、前記第１の所定組数よりも多量の第２の所定組数の設計パラメータのサンプルの組に対して、前記第２の判定対象となったモデル化目的関数の各値を計算するモデル化目的関数値計算ステップと、
該計算されたモデル化目的関数の各値について、該値が、前記精度を要する範囲として指定された値域に含まれ、かつ該値に対応する設計パラメータのサンプルの組から計算される他のどのモデル化目的関数の値よりも小さいときに、該値を算出した前記設計パラメータのサンプルの組を該値に対応する目的関数に対応させて記憶する逆像計算ステップと、
前記第２の判定対象となったモデル化目的関数に対応する目的関数毎に、現在の入力設計パラメータサンプル組群と該目的関数に対応して前記逆像計算ステップにて記憶されている前記設計パラメータのサンプルの組とに基づいて、新たな入力設計パラメータサンプル組群を決定し前記目的関数モデル化ステップに入力させて、該目的関数モデル化ステップ、及び前記精度条件判定ステップの動作を繰り返し実行させるモデル化繰返し制御ステップと、
を実行させるためのプログラム。
（付記１２）
前記目的関数モデル化ステップは、前記入力設計パラメータサンプル組と該サンプル組に対応して計算された前記複数の目的関数の各値とに基づいて、線形回帰分析により、前記目的関数を線形回帰式により多項式近似する、
ことを特徴とする付記１１に記載のプログラム。
（付記１３）
設計パラメータの組を複数組入力して、所定の計算に基づいて複数の目的関数の各値を計算しながら多目的最適化処理を実行することにより、最適な設計パラメータの組の決定を支援するコンピュータに、
第１の所定組数の設計パラメータのサンプルの組を、前記複数の目的関数毎の初期の入力設計パラメータサンプル組群として決定する初期入力設計パラメータサンプル組群決定ステップと、
前記複数の目的関数毎に、前記入力設計パラメータサンプル組群に対して前記複数の目的関数の各値を計算しながら、前記複数の目的関数をそれぞれ数式近似によりモデル化して第１のモデル化目的関数を算出する第１の目的関数モデル化ステップと、
前記複数の目的関数の各値毎に、該値が、精度を要する範囲として指定された値域に含まれるか否か、及び該値を算出した入力設計パラメータサンプル組に対応する他のどの目的関数又は第１のモデル化目的関数の値よりも小さいか否かに応じて、重みを決定する重み決定ステップと、
前記入力設計パラメータサンプル組と該サンプル組に対応して計算された前記複数の目的関数の各値とに基づいて、前記複数の目的関数の各値毎に決定された重みに応じたモデル化を行いながら、前記複数の目的関数をそれぞれ数式近似により再度モデル化して第２のモデル化目的関数を算出する第２の目的関数モデル化ステップと、
前記複数の第２のモデル化目的関数毎に、前記第２の目的関数モデル化ステップにおいて計算される各精度情報が指定された精度条件を満たすか否かを判定する精度条件判定ステップと、
該精度条件判定ステップが前記精度条件を満たすとの第１の判定をした場合に、該第１の判定対象とされた第２のモデル化目的関数を、前記最適な設計パラメータの組を計算するための出力モデル化目的関数として決定する出力モデル化目的関数決定ステップと、
前記精度条件判定ステップが前記精度条件を満たさないとの第２の判定をした場合に、前記第１の所定組数よりも多量の第２の所定組数の設計パラメータのサンプルの組に対して、前記第２の判定対象となった第２のモデル化目的関数の各値を計算するモデル化目的関数値計算ステップと、
該計算された第２のモデル化目的関数の各値について、該値が、前記精度を要する範囲として指定された値域に含まれ、かつ該値に対応する設計パラメータのサンプルの組から計算される他のどの第２のモデル化目的関数の値よりも小さいときに、該値を算出した前記設計パラメータのサンプルの組を該値に対応する目的関数に対応させて記憶する逆像計算ステップと、
前記第２の判定対象となった第２のモデル化目的関数に対応する目的関数毎に、現在の入力設計パラメータサンプル組群と該目的関数に対応して前記逆像計算ステップにて記憶されている前記設計パラメータのサンプルの組とに基づいて、新たな入力設計パラメータサンプル組群を決定し前記第１の目的関数モデル化ステップに入力させて、該第１の目的関数モデル化ステップ、前記重み決定ステップ、前記第２の目的関数モデル化ステップ、及び前記精度条件判定ステップの動作を繰り返し実行させるモデル化繰返し制御ステップと、
を実行させるためのプログラム。
（付記１４）
前記第１及び第２の目的関数モデル化ステップは、前記入力設計パラメータサンプル組と該サンプル組に対応して計算された前記複数の目的関数の各値とに基づいて、線形回帰分析により、前記目的関数を線形回帰式により多項式近似する、
ことを特徴とする付記１３に記載のプログラム。
（付記１５）
前記プログラムは、スタティクランダムアクセスメモリの形状に関する設計パラメータの組の決定を支援するプログラムであり、
前記複数の目的関数は、スタティックノイズマージンを算出するための目的関数とライトマージンを算出するための目的関数を含む、
ことを特徴とする付記１１乃至１４の何れか１項に記載のプログラム。
【図面の簡単な説明】
【０１１９】
【図１】ＳＲＡＭ形状パラメータの多目的最適化設計支援装置の第１の実施形態の構成図である。
【図２】ＳＲＡＭ形状パラメータの多目的最適化設計支援装置の第２の実施形態の構成図である。
【図３】本実施形態の基本動作の説明図（その１）である。
【図４】本実施形態の基本動作の説明図（その２）である。
【図５】２種類の設計パラメータ組と２種類の目的関数との関係図（その１）である。
【図６】２種類の設計パラメータ組と２種類の目的関数との関係図（その２）である。
【図７】第１の実施形態の制御動作を示す全体動作フローチャートである。
【図８】図７のステップＳ７０１の処理において設計パラメータサンプル組数Ｍを決定する処理の詳細を示す動作フローチャートである。
【図９】図７のステップＳ７０３のモデル化処理の詳細を示す動作フローチャートである。
【図１０】ステップＳ９０４の処理の詳細を示す動作フローチャートである。
【図１１】図７のステップＳ７０５の処理の詳細を示す動作フローチャートである。
【図１２】図１１のステップＳ１１０１の処理の詳細を示す動作フローチャートである。
【図１３】重み付きモデル化の説明図である。
【図１４】５＊５＝２５組の設計パラメータサンプル組から計算されるＳＮＭ及びＷＭのモデル化目的関数の例を示す図である。
【図１５】ＳＮＭ及びＷＭのそれぞれ毎に選択される２種類の初期設計パラメータサンプル組群を示した図である。
【図１６】図１の逆像計算部１０８によって得られる、要求された値域に対応する２種類の目的関数にそれぞれ対応する設計パラメータのサンプル組の分布を示す図である。
【図１７】図７のステップＳ７０２からＳ７０５までの一連の繰返し処理の１回目から２回目への移行時において、図１のモデル化繰返し制御部１０９による図７のステップＳ７０５の処理によって得られる、新たな入力設計パラメータサンプル組群を示した図である。
【図１８】図７のステップＳ７０２からＳ７０５までの一連の繰返し処理の２回目から３回目への移行時において、図１のモデル化繰返し制御部１０９による図７のステップＳ７０５の処理によって得られる、新たな入力設計パラメータサンプル組群を示した図である。
【図１９】図７のステップＳ７０２からＳ７０５までの一連の繰返し処理の１回目から３回目までにおける１つの設計パラメータの各値に対する１つの目的関数の適合誤差の例を示す図である。
【図２０】本実施形態によって算出された出力モデル化目的関数のモデル式を使って描画された、設計パラメータであるセルサイズと目的関数である歩留まり（ＳＮＭやＷＭに対応）の関係、及び設計パラメータであるセルサイズ及び電圧と、目的関数である歩留まりの関係を示す図である。
【図２１】図１又は図２の構成を有するＳＲＡＭ形状パラメータの多目的最適化設計支援装置を実現できるコンピュータのハードウェア構成の一例を示す図である。
【図２２】ＳＲＡＭ設計における設計パラメータの説明図である。
【図２３】ＳＲＡＭ設計における上述の多目的最適化問題を計算する従来の計算手法を示す動作フローチャートである。
【符号の説明】
【０１２０】
１０１      初期入力設計パラメータサンプル組群決定部
１０２      第１の目的関数モデル化部
１０３      重み決定部
１０４      第２の目的関数モデル化部
１０５      精度条件判定部
１０６      出力モデル化目的関数決定部
１０７      モデル化目的関数値計算部
１０８      逆像計算部
１０９      モデル化繰返し制御部
１１０      ＳＮＭ出力モデル化関数（出力モデル化目的関数）
１１１      ＷＭ出力モデル化関数（出力モデル化目的関数）
【図１】
2010122832.tif 000003
【図２】
2010122832.tif 000004
【図３】
2010122832.tif 000005
【図４】
2010122832.tif 000006
【図６】
2010122832.tif 000007
【図７】
2010122832.tif 000008
【図８】
2010122832.tif 000009
【図９】
2010122832.tif 000010
【図１０】
2010122832.tif 000011
【図１１】
2010122832.tif 000012
【図１２】
2010122832.tif 000013
【図１３】
2010122832.tif 000014
【図１４】
2010122832.tif 000015
【図１５】
2010122832.tif 000016
【図１６】
2010122832.tif 000017
【図１７】
2010122832.tif 000018
【図１８】
2010122832.tif 000019
【図１９】
2010122832.tif 000020
【図２０】
2010122832.tif 000021
【図２１】
2010122832.tif 000022
【図５】
2010122832.tif 000023
【図２２】
2010122832.tif 000024
【図２３】
2010122832.tif 000025