JP5176895B2 - Sram形状パラメータ等の多目的最適化設計支援装置、方法、及びプログラム - Google Patents

Sram形状パラメータ等の多目的最適化設計支援装置、方法、及びプログラム Download PDF

Info

Publication number
JP5176895B2
JP5176895B2 JP2008294943A JP2008294943A JP5176895B2 JP 5176895 B2 JP5176895 B2 JP 5176895B2 JP 2008294943 A JP2008294943 A JP 2008294943A JP 2008294943 A JP2008294943 A JP 2008294943A JP 5176895 B2 JP5176895 B2 JP 5176895B2
Authority
JP
Japan
Prior art keywords
objective function
modeling
value
objective
design parameter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008294943A
Other languages
English (en)
Other versions
JP2010122832A (ja
Inventor
秀直 岩根
宏和 穴井
仁史 屋並
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008294943A priority Critical patent/JP5176895B2/ja
Publication of JP2010122832A publication Critical patent/JP2010122832A/ja
Application granted granted Critical
Publication of JP5176895B2 publication Critical patent/JP5176895B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、SRAM(スタティクランダムアクセスメモリ)形状等の設計に用いられる多目的最適化設計支援技術に関する。
ものづくりにおける設計段階では、設計条件を設計パラメータの関数(目的関数)として表現し、その目的関数を最適値にするよう設計パラメータを設定(最適化)することが必要となる。その際、設計者はベースとなる形状を決めた後で各設計パラメータの振り幅を設定し、設計パラメータ空間内で最適化を行う。
しかし設計パラメータの数が多い場合、その空間内をくまなく探索しようとすると組合せ爆発が起こり、実時間内では最適化の計算が不可能となる。
今、ものづくりの一例として、SRAM(スタティクランダムアクセスメモリ)を例として考える。
SRAMの設計における設計目標は、「外乱に対する動作安定性の余裕度」と「書込みの安定性の余裕度」を共に確保することである。前者の性能は、スタティックノイズマージン(Static Noise Margin:以降、SNMと略記する)と呼ばれる。SNMは、SRAMの動作に対して許容される雑音振幅の最大値として定義され、値が大きいほど安定性が高いことを示す。後者の性能は、ライトマージン(Write Margin:以降、WMと略記する)と呼ばれる。WMも、値が大きいほど安定性が高いことを示す。
SNMとWMは一般に、互いに相殺する関係を有しており、一方の値を高くしようとすると他方の値が低くなってしまうという特性を有している。
そこで、SRAM設計においては、SRAMの設計パラメータに対して、SNMとWMという2つの目的関数を同時に最大化するような多目的最適化が必要となる。より具体的には、SRAMに関する下記の設計パラメータ組が与えられたときに、その設計パラメータ組から計算されるSNMとWMのうち小さいほうを最大化するような多目的最適化計算が必要となる。
<設計パラメータ>
・セル電圧、
・Loadゲート長
・Driverゲート長
・Transferゲート長
・Load幅
・Driver幅
・Transfer幅
・Wl(ワードライン電位)制御変数
・LoadのVth(Vth変化量)
・DriverのVth(Vth変化量
・TransferのVth(Vth変化量)
即ち、上記設計パラメータの組をxi (i=1,2,・・・n)とすれば、SNMとWMは、次式で表現される。
SNM=f1(x1,・・・, xn)
WM=f2(x1,・・・, xn)
SRAM設計における多目的最適化問題は、目的関数min(SNM,WM)を最大化することにある。
一般的な傾向として、例えば図22のSRAM形状2101において、L1、L2、W1、W2等で示されるサイズ(上記の例でいうゲート長や幅)が大きいほうが、また、セル電圧等の電圧値が高いほうが、SRAMの歩留まりが高い、即ちSNM及びWM共に大きな値となる。
図23は、SRAM設計における上述の多目的最適化問題を計算する従来の計算手法を示す動作フローチャートである。ここでは、説明の簡単化のため、設計パラメータは2種類であると仮定する。
まず、計算の開始時に、2種類の設計パラメータのそれぞれについて、それぞれの設計パラメータが取り得る値の範囲(定義域)が設定される。
その上で、上記各定義域が例えば61分割されることにより、61*61点からなる設計パラメータサンプル組群が生成される(ステップS2301)。ここで、「*」は、乗算を表す。
次に、ステップS2301で生成された設計パラメータ組群の現在の残サンプル組(最初は全組)から1組がランダムに抽出される(ステップS2302)。
続いて、その抽出された1組の設計パラメータ組を使ってSRAMの設計シミュレータが動作させられ、目的関数であるSNMの値とWMの値が計算される(ステップS2303)。
その後、ステップS2301で生成された設計パラメータ組群のうち、ステップS2303でまだ計算が行われていない残サンプル組があるか否かが判定される(ステップS2304)。
ステップS2304にて、残サンプル組があると判定された場合には、ステップS2302の処理に戻って次の設計パラメータサンプル組が選択され、それに対してステップS2303にてシミュレータ動作が実行される。
以上のようにして、ステップS2303〜S2304までの繰返し処理により、61*61点からなる設計パラメータサンプル組群から選択された各サンプル組に対してシミュレータ動作が繰返し実行される。
この繰返し動作の途中の適当なタイミングにおいて、これまで得られている結果が表示される。即ち、2種類の設計パラメータからなる各組がプロットされる2次元座標値に対してSNMの値とWMの値がそれぞれプロットされた各3次元座標値が、3次元グラフとして表示される(ステップS2305)。
この表示に対して、設計者が、必要とする傾向を判断する(ステップS2306)。具体的には、設計者が、与えられた設計パラメータサンプル組から、必要とされるSNMの値及びWMの値が得られたか否かを判断する。
ステップS2306にて、設計者が必要とする傾向を判断できた場合には、その時点で計算が終了し、各設計パラメータサンプル組に対応するSNMの値とWMの値がそれぞれ出力される。
ステップS2306にて、設計者が必要とする傾向を判断できなかった場合には、ステップS2302の処理に戻って次の設計パラメータサンプル組が選択され、それに対してステップS2303にてシミュレータ動作が継続される。
ここで、SRAM設計においては、下記のような特有の精度条件が必要とされる。

1.精度の要求は、SNMとWMの特定の値域として設定される。即ち、「SNMとしてはこの値の範囲が必要で、WMとしてはこの値の範囲が必要である」という如くである。

2.要求される値域は非常に狭い。

3.要求される値域に対して求められる精度としては、高い精度が要求される。即ち、設計パラメータ組とSNMの値の対応関係、及び設計パラメータ組とWMの値の対応関係が、上記範囲においてそれぞれ高い精度で算出できることが要求される。言い換えれば、SNMの目標値を達成するために各設計パラメータの値をどの値にしたらよいかを示す対応関係、及びWMの目標値を達成するために各設計パラメータの値をどの値にしたらよいかを示す対応関係が、それぞれ正確に算出される必要がある。

4.要求された範囲以外では、各設計パラメータ組に対するSNMとWMの各対応関係は、ある程度の精度で算出されていれば良い。

5.要求された範囲内であっても、或る設計パラメータ組に対するSNMの値及びWMの値のうち大きな値をとるほうの目的関数値、即ち、歩留りの判定基準の対象とならないほうの目的関数値については、設計パラメータ組との対応関係における高い精度は要求されない。
SRAM設計においては上述のような特有の精度条件が必要とされる。これに対して、前述した従来の多目的最適化問題の計算手法では、単純に、例えば2種類の設計パラメータのそれぞれを所定範囲(定義域)で分割して得られる設計パラメータサンプル組に対して、シミュレータ動作が繰返し実行されてSNMの値又はWMの値が計算されていた。設計パラメータ組とSNMの値の対応関係、及び設計パラメータ組とWMの値の対応関係は、実際にシミュレータ動作を実行してみないとわからなかった。即ち、SNM及びWMの特定の値域から設計パラメータ組の範囲を求める逆像計算は従来できなかった。従って、SNM及びWMの特定の値域を得るために、各設計パラメータをどの範囲でどの程度の細かさで分割したらよいかという知見を得ることは、非常に困難であった。
なおかつ、シミュレータ動作には、1組の設計パラメータサンプル組について1分程度かかる。例えば、8CPU構成の演算プロセッサを使っても、61*61点からなる設計パラメータサンプル組群に対して有意な結果を得るために、1時間程度の時間を要していた。実際には、設計パラメータは、2種類には限定されず、前述したように、最大で11種類程度の設計パラメータが必要とされる。このため、これらの設計パラメータ組に対応するSNMとWMを計算することは、現実には不可能であるという問題点をも有していた。
本発明の課題は、多目的最適化処理において、目的関数の特定の値域で所定の精度条件が与えられたときに、その精度条件を満たすような設計パラメータ組と目的関数との対応関係を、少ない設計パラメータサンプル組数で算出可能とすることにある。
以下に説明する態様は、スタティックランダムアクセスメモリ形状等の設計パラメータの組を複数組入力して、所定の計算に基づいて複数の目的関数、例えばスタティックノイズマージン(SNM)やライトマージン(WM)等の目的関数の各値を計算しながら多目的最適化処理を実行することにより、最適な設計パラメータの組の決定を支援する設計支援装置、方法、又はプログラムを前提とする。
初期入力設計パラメータサンプル組群決定部(101)は、第1の所定組数の設計パラメータのサンプルの組を、複数の目的関数毎の初期の入力設計パラメータサンプル組群として決定する。
第1の目的関数モデル化部(102)は、複数の目的関数毎に、入力設計パラメータサンプル組群に対して複数の目的関数の各値を計算しながら、複数の目的関数をそれぞれ数式近似によりモデル化して第1のモデル化目的関数を算出する。
重み決定部(103)は、複数の目的関数の各値毎に、その値が、精度を要する範囲として指定された値域に含まれるか否か、及びその値を算出した入力設計パラメータサンプル組に対応する他のどの目的関数又は第1のモデル化目的関数の値よりも小さいか否かに応じて、重みを決定する。
第2の目的関数モデル化部(104)は、入力設計パラメータサンプル組とそのサンプル組に対応して計算された複数の目的関数の各値とに基づいて、複数の目的関数の各値毎に決定された重みに応じたモデル化を行いながら、複数の目的関数をそれぞれ数式近似により再度モデル化して第2のモデル化目的関数を算出する。
精度条件判定部(105)は、複数の第2のモデル化目的関数毎に、第2の目的関数モデル化部において計算される各精度情報が指定された精度条件を満たすか否かを判定する。
出力モデル化目的関数決定部(106)は、精度条件判定部が精度条件を満たすとの第1の判定をした場合に、その第1の判定対象とされた第2のモデル化目的関数を、最適な設計パラメータの組を計算するための出力モデル化目的関数として決定する。
モデル化目的関数値計算部(107)は、精度条件判定部が精度条件を満たさないとの第2の判定をした場合に、第1の所定組数よりも多量の第2の所定組数の設計パラメータのサンプルの組に対して、第2の判定対象となった第2のモデル化目的関数の各値を計算する。
逆像計算部(108)は、その計算された第2のモデル化目的関数の各値について、その値が、精度を要する範囲として指定された値域に含まれ、かつその値に対応する設計パラメータのサンプルの組から計算される他のどの第2のモデル化目的関数の値よりも小さいときに、その値を算出した設計パラメータのサンプルの組をその値に対応する目的関数に対応させて記憶する。
モデル化繰返し制御部(109)は、第2の判定対象となった第2のモデル化目的関数に対応する目的関数毎に、現在の入力設計パラメータサンプル組群とその目的関数に対応して逆像計算部にて記憶されている設計パラメータのサンプルの組とに基づいて、新たな入力設計パラメータサンプル組群を決定し第1の目的関数モデル化部に入力させて、その第1の目的関数モデル化部、重み決定部、第2の目的関数モデル化部、及び精度条件判定部の動作を繰り返し実行させる。
上述の態様の構成において、第1及び第2の目的関数モデル化部は例えば、入力設計パラメータサンプル組とそのサンプル組に対応して計算された複数の目的関数の各値とに基づいて、線形回帰分析により、目的関数を線形回帰式により多項式近似する。
一般に、設計パラメータからは値域の値は予測できないが、予め荒いサンプリング、モデリングによって目的関数のモデル式を生成し、そのモデル式を用いて与えられた値域の逆像計算を実行することにより、精度が必要となる値域に対応する設計パラメータの範囲を予測することが可能となる。
これにより得られる設計パラメータ組を用いることにより、目的関数を高精度に数式近似した出力モデル化目的関数を得ることが可能となる。
この高精度に数式近似された出力モデル化目的関数によって、SRAM形状等の設計において、設計パラメータと歩留りなどを示す目的関数との関係を、高速かつ高精度に導出したり描画したりすることが可能となる。
以下、図面を参照しながら、最良の実施形態について詳細に説明する。
図1は、SRAM形状パラメータの多目的最適化設計支援装置の第1の実施形態の構成図である。
本実施形態は、例えばSRAM形状に関する2種類の設計パラメータの組を複数組入力して、例えばSNM(スタティックノイズマージン)及びWM(ライトマージン)の2種類の目的関数の各値を計算しながら多目的最適化処理を実行する設計支援装置の一部である。
より具体的には、本実施形態は、設計パラメータ組が入力されたときに、SNMとWMを、簡易かつ高精度で算出できる出力モデル化目的関数として、SNM出力モデル化関数とWM出力モデル化関数を算出する。
これらのSNM出力モデル化関数とWM出力モデル化関数を用いることで、要求されたSNMとWMの値の範囲を満たし、かつその精度範囲内で、これら両値のうちの小さい方(性能が悪い方)の値が最大となる(最も性能が良くなる)ような設計パラメータ組を、短時間で探索することが可能となる。
また、数式近似されたSNM出力モデル化関数やWM出力モデル化関数等の出力モデル化目的関数を用いることで、設計パラメータであるSRAM形状(セルサイズ)や電圧値と、目的関数であるSNMやWMや歩留まりとの関係を、視覚的に設計者に表示することなども可能となる。
図1において、初期入力設計パラメータサンプル組群決定部101は、第1の所定組数、例えば2種類の設計パラメータの各定義域を荒く5分割して得られる5*5=25組からなる、2種類の設計パラメータのサンプルの組を、SNM目的関数及びWM目的関数のそれぞれに対する初期の入力設計パラメータサンプル組群として決定する。ここで、「*」は、乗算を表す。2種類の設計パラメータは例えば、SRAM形状に関する設計パラメータである。
第1の目的関数モデル化部102は、入力設計パラメータサンプル組群に対してSNMとWMの各値をシミュレータ計算しながら、SNMとWMをそれぞれ線形回帰分析に基づく数式近似によりモデル化することにより、第1のモデル化目的関数、即ち、第1のSNMモデル化関数及び第1のWMモデル化関数を算出する。
重み決定部103は、SNMとWMの各シミュレータ値毎に、その値が、精度を要する範囲として指定された値域に含まれるか否か、及びその値を算出した入力設計パラメータサンプル組に対応する他方(WM又はSNM)のシミュレータ値又は第1のモデル化目的関数値よりも小さいか否かに応じて、重みを決定する。
第2の目的関数モデル化部104は、入力設計パラメータサンプル組とそのサンプル組に対応して計算されたSNMとWMの各シミュレータ計算値とに基づいて、SNMとWMの各シミュレータ値毎に決定された重みに応じたモデル化を行いながら、SNMとWMをそれぞれ線形回帰分析に基づく数式近似により再度モデル化して、第2のモデル化目的関数、即ち、第2のSNMモデル化関数及び第2のWMモデル化関数を算出する。
精度条件判定部105は、第2のSNMモデル化関数及び第2のWMモデル化関数毎に、第2の目的関数モデル化部104において計算される精度情報が指定された精度条件を満たすか否かを判定する。
出力モデル化目的関数決定部106は、精度条件判定部105が精度条件を満たすとの第1の判定をした場合に、その第1の判定対象とされた第2のモデル化目的関数を、最適な設計パラメータの組を計算するための出力モデル化目的関数110、111として決定する。今、第1の判定対象となったのがSNMモデル化関数であれば、第2の目的関数モデル化部104にて算出された第2のSNMモデル化関数が、SNM出力モデル化関数110として決定される。また、第1の判定対象となった目的関数がWMモデル化関数であれば、第2の目的関数モデル化部104にて算出された第2のWMモデル化関数が、WM出力モデル化関数111として決定される。SNM出力モデル化関数110又はWM出力モデル化関数111の片方のみが出力される場合又は両方が同時に出力される場合がある。
モデル化目的関数値計算部107は、精度条件判定部105が精度条件を満たさないとの第2の判定をした場合に、第1の所定組数(5*5=25組)よりも多量の第2の所定組数、例えば61*61=3721組の設計パラメータのサンプルの組に対して、第2の判定対象となった第2のモデル化目的関数の各値を計算する。第2の判定対象となった第2のモデル化目的関数が第2のSNMモデル化関数であれば、3721組の設計パラメータのサンプルの組に対して第2のSNMモデル化関数の各値が計算される。逆に、第2の判定対象となった第2のモデル化目的関数が第2のWMモデル化関数であれば、3721組の設計パラメータのサンプルの組に対して第2のWMモデル化関数の各値が計算される。SNM出力モデル化関数又はWM出力モデル化関数の片方のみが計算される場合又は両方が同時に計算される場合がある。
逆像計算部108は、上述の計算された第2のモデル化目的関数の各値について、その値が、精度を要する範囲として指定された値域に含まれ、かつその値に対応する設計パラメータのサンプルの組から計算される他のどの第2のモデル化目的関数の値よりも小さいときに、その値を算出した設計パラメータのサンプルの組をその値に対応する目的関数に対応させて記憶する。第2の判定対象となった第2のモデル化目的関数が第2のSNMモデル化関数であれば、第2のSNMモデル化関数の各値について、その値が、精度を要する範囲として指定された値域に含まれ、かつその値に対応する設計パラメータのサンプルの組から計算されるWMモデル化関数の値よりも小さいときに、その値を算出した設計パラメータのサンプルの組をSNMに対応させて記憶する。逆に、第2の判定対象となった第2のモデル化目的関数が第2のWMモデル化関数であれば、第2のWMモデル化関数の各値について、その値が、精度を要する範囲として指定された値域に含まれ、かつその値に対応する設計パラメータのサンプルの組から計算されるSNMモデル化関数の値よりも小さいときに、その値を算出した設計パラメータのサンプルの組をWMに対応させて記憶する。SNM又はWMの片方のみが処理される場合又は両方が同時に処理される場合がある。
モデル化繰返し制御部109は、第2の判定対象となった第2のモデル化目的関数に対応する目的関数毎に、現在の入力設計パラメータサンプル組群とその目的関数に対応して逆像計算部108にて記憶されている設計パラメータのサンプルの組とに基づいて、新たな入力設計パラメータサンプル組群を決定し第1の目的関数モデル化部102に入力させて、102〜105の各部の動作を繰り返し実行させる。
図2は、SRAM形状パラメータの多目的最適化設計支援装置の第2の実施形態の構成図である。
本実施形態は、図1の第1の実施形態において、重み決定部103及び第2の目的関数モデル化部104が省略された構成を有する。精度条件判定部105、出力モデル化目的関数決定部106、モデル化目的関数値計算部107、逆像計算部108は、第2のモデル化目的関数の代わりに第1のモデル化目的関数(モデル化目的関数)に対して、各処理を実行する。
まず、上述の構成を有する第1又は第2の実施形態(以下、「本実施形態」という)の基本的な動作について、以下に説明する。
一般のものづくり設計においては、精度が必要とされる範囲が設計パラメータの範囲(定義域)により指定されるのに対し、SRAM設計においては、SNMやWM等の目的関数の値の範囲(値域)により指定されるという特徴があり、本実施形態ではその特徴を生かした最適化手法が採用されている。
一般に、設計パラメータからは値域の値は予測できないが、本実施形態では、予め荒いサンプリング、モデリングによって目的関数のモデル式を生成し、そのモデル式を用いて与えられた値域の逆像計算を実行することにより、精度が必要となる設計パラメータの範囲を予測することができるようになる。
更に、本実施形態では、SNM、WMには、少なくとも与えられた値域において連続性があり特異点が存在しないという特徴を用いて、与えられた値域においてSNM、WMを線形回帰モデル式によって高精度に数式近似することができる。
今、SRAM設計において、シミュレータが実行されることにより、SRAM形状等の設計パラメータとSNM、WM等の目的関数の関係が、図3(a)に示されるようになるとする。図3の例では、説明を簡単にするため、横軸に示される設計パラメータの種類は1種類で、縦軸にプロットされる目的関数は2種類の曲線301、302(それぞれ例えば、SNMとWMに対応する)が描かれている。
精度が必要な範囲は、図3(b)のA−Bとして示されるように、目的関数値(値域)の範囲として与えられる。今、2つの目的関数の曲線301、302がSNMとWMであるとすれば、値域の範囲A−Bにおいては、設計パラメータ組とSNMの値の対応関係、及び設計パラメータ組とWMの値の対応関係が、高い精度で算出できることが要求される。言い換えれば、SNMの目標値を達成するために各設計パラメータの値をどの値にしたらよいかを示す対応関係、及びWMの目標値を達成するために各設計パラメータの値をどの値にしたらよいかを示す対応関係が、それぞれ正確に算出される必要がある。
そして、SNMとWMの値の範囲A−Bを満たし、かつその精度範囲内で、これら両値のうちの小さい方(性能が悪い方)の値が最大となる(最も性能が良くなる)ような設計パラメータ組を探索することが、SRAM設計の目的である。この場合、一方の目的関数値が他方の目的関数値よりも大きい場合には、その大きい方の目的関数値については歩留まりの判断をする必要はないため、その精度は不要である。従って、設計パラメータと目的関数値との間で精度が必要な範囲は、図3(c)の303で示される曲線部分になる。そして、2つの目的関数の曲線301、302の交点304に対応する設計パラメータ組を求めることが、SRAM設計における多目的最適化の最終目標である。この交点304が、要求値域範囲A−B内で2つの目的関数301、302を同時に良くする最良の点である。従って、このような点304を得るような設計パラメータ組を探索できれば、それが最良に設計されたSRAM形状であるということになる。
ここで、2つの目的関数301、302をそれぞれ数式近似するようなモデル式が得られれば、図3(d)に示される、精度が要求される値域の範囲A−Bに対応する定義域の範囲a−bを求めること、即ち逆像計算が可能となる。このようなモデル化において重要なことは、図3(d)の曲線部分303を高精度に近似できるモデル式を得ることである。得られたモデル式において、この部分が高精度に近似されていれば、他の部分ではそれほど高い精度は必要ない。
例えば、図3(e)に示されるように、2つの目的関数の曲線301、302が、単純な2つの直線301′、302′によって近似されたとしても、図3(e)の曲線部分303における近似精度が高ければ、そのような直線301′、302′でも十分な多目的最適化が実現できるということになる。精度が要求される範囲以外は、増減の傾向さえ見えれば良い。
以上の基本的な考え方に従って、本実施形態では、下記のような手順でSNMとWMに対するモデル化が行われる。
まず、図4(a)の各点で示されるように、少ない設計パラメータサンプル組が用意される。図4の例では、説明を簡単にするために、設計パラメータは1種類のみであるため、1組の設計パラメータサンプル組は1つの設計パラメータ値によって構成される。設計パラメータの種類が2種類であれば、1組の設計パラメータサンプル組は2つの設計パラメータ値によって構成される。
次に、図4(b)の各点で示されるように、少ない設計パラメータサンプル組に対してシミュレータ計算が実行され、各設計パラメータの点に対応して、例えばSNMとWMの各目的関数値が算出される。
続いて、少ない設計パラメータサンプル組に対して算出されたSNMとWMの各目的関数値を使って、SNMとWMが、線形回帰分析に基づいて多項式近似され、数式によりモデル化される。
この結果得られるSNMとWMのモデル式は、設計パラメータ組のサンプル数が少ないため、図4(c)に示される理想的な目的関数曲線301、302に対して誤差がある。
次に、重み付けが行われる。具体的には、SNMとWMの各シミュレータ値毎に、その値が、指定された値域A−B内に含まれるか否か、及びその値を算出した入力設計パラメータサンプル組に対応する他方(WM又はSNM)のシミュレータ値又はモデル式から求まる値よりも小さいか否かに応じて、重みが決定される。例えば、図4(d)において、401、402、403等のシミュレータ値については、指定された値域A−Bの範囲外であるため、例えば低い重み値1又は2(離れている距離による)が与えられる。一方、404、405のシミュレータ値については、指定された値域A−Bの範囲内であり、かつ他方の目的関数の同一設計パラメータ組に対応するシミュレータ値又はモデル式から求まる値よりも小さいため、例えば最も高い重み値5が与えられる。406、407のシミュレータ値については、指定された値域A−Bの範囲内であるが、他方の目的関数の同一設計パラメータ組に対応するシミュレータ値又はモデル式から求まる値よりは大きいため、例えば中間の重み値3が与えられる。なお、一般には、2つの目的関数301、302は、常に同一の設計パラメータ組を使ってシミュレータ計算が実行される訳ではないため、一方の目的関数のシミュレータ値を他方の目的関数と比較するときに、他方の目的関数に対応するシミュレータ値がない場合が多い。この場合には、算出されているモデル式を使って、同一設計パラメータ組に対応する他方の目的関数の値を算出することができる。
このようにして算出された各目的関数の各シミュレータ値毎の重み値を使って、重み値が高い部分はより厳しい回帰基準で近似が行われることにより、図4(e)に示される精度が要求される曲線部分303に関して、理想的な目的関数の曲線301、302を精度良く近似するモデル式を得ることができる。
以上の処理の結果、目的関数毎に、そのモデル式による精度情報(例えば決定係数(Rスクエア))が要求された精度条件を満たしていれば、そのモデル式が最終的にモデル化された目的関数として出力される。
一方、精度情報(例えば決定係数(Rスクエア))が要求された精度条件を満たしていないモデル式がある場合には、精度が必要となる値域A−Bに対応する設計パラメータ組のサンプルを選択してより精度の高いモデル化を行うために、以下の逆像計算が実行される。即ち今、ある程度の傾向を示すモデル式が得られているため、そのモデル式を使って、多数の設計パラメータ組に対応する目的関数値が計算されることで、その計算結果の中から、図4(f)に示されるように、目的関数値が指定された値域A−Bに入る範囲a−bの設計パラメータ組を容易に得ることができる。この場合に、目的関数値の計算は、数式近似されたモデル式による計算であるため、多数の設計パラメータ組に対する計算を非常に高速に実行することができる。なお、この時点で使用されるモデル式には誤差が含まれているため、指定された値域A−Bよりも狭い範囲で、それに対応する定義域の範囲を算出することが望ましい。
このようにして新たに得られた設計パラメータ組と、現在までに得られている少数組の設計パラメータ組とから、新たにシミュレータ計算用の設計パラメータ組群が生成され、それを使って、再びシミュレータ計算が実行され、モデル化、重み付け、及びその重み付けに対する再度のモデル化が繰り返し実行される。2回目以降のモデル化では、指定された値域A−Bが生成されるようなより多くの設計パラメータ組が使用されるため、少ない繰返し回数で高い近似精度を有する目的関数のモデル式を短時間で算出することが可能となる。
以上説明した図3及び図4は、説明を簡単にするため横軸に示される設計パラメータの種類が1種類である場合を示した。設計パラメータの種類が2種類になった場合には、設計パラメータ組と2種類の目的関数との関係は、図5及び図6に示される如くとなる。図5(a)において目的関数曲面501、502は、それぞれ図3(a)の目的関数曲線301、302に対応する。また、図5(b)の値域指定平面A、Bは、図3(b)の値域指定範囲A、Bに対応する。図6(a)は、少ない設計パラメータサンプル組によって生成された目的関数のシミュレータ値をプロットした図である。図6(b)は、図6(a)を上部から見下ろしたときの平面図であり、楕円領域601が、指定された値域を取る設計パラメータ組の定義域を示しており、図3(c)の303の領域に対応している。
設計パラメータの種類が2種類以上になると、目的関数は多次の曲面となり、値域の指定も超平面になるが、前述したモデル化の処理は同様に適用できる。
以上の基本的な考え方に基づく図1に示される第1の実施形態の詳細な動作について、以下に説明する。なお、図2に示される第2の実施形態は、重み付けによる再度のモデル化が省略された例であるため、その詳細動作は、第1の実施形態から容易に類推することができる。
図7は、図1に示される第1の実施形態の制御動作を示す全体動作フローチャートである。
まず、開始時には、SRAM形状を示す2種類の設計パラメータによって構成される設計パラメータサンプル組における、各設計パラメータの定義域の範囲が与えられる。また、精度が必要となるSNM、WMの各目的関数の値域の範囲が与えられる。更に、モデル化における例えば決定係数(Rスクエア)値が要求精度として与えられる。
始めに、図1の初期入力設計パラメータサンプル組群決定部101は、第1の所定組数、例えば2種類の設計パラメータの各定義域を荒く5分割して得られる5*5=25組からなる、2種類の設計パラメータのサンプルの組を、SNM目的関数及びWM目的関数のそれぞれに対する初期の入力設計パラメータサンプル組群として決定する(図7のステップS701)。
図8は、図7のステップS701の処理において設計パラメータサンプル組数Mを決定する処理の詳細を示す動作フローチャートである。
入力として、設計パラメータの変数の数nと、モデル式の最大次数d、及び経験的に決定される最大初期サンプル数maxが与えられる。
その上でまず、初期サンプル組数Mとして、(n+d)個からn個を選択する組合せの数に1を足した数、即ち、C(n+d,n)+1 が設定される(図8のステップS801)。ここで、Ca,b は、a個からb個を選択する組合せを求める演算である。
次に、ステップS801にて算出された初期サンプル組数Mが最大初期サンプル数maxよりも大きいか否かが判定される(図8のステップS802)。
M>max である場合には、初期サンプル組数Mの値が最大初期サンプル数maxの値とされる。M>max でない場合には、Mがそのまま出力される。
以上のようにして、図7のステップS701にて、初期の入力設計パラメータサンプル組群が決定される。
次に、図1の第1の目的関数モデル化部102は、入力設計パラメータサンプル組群に対して、SNMとWMの各値をシミュレータ計算する(図7のステップS702)。なお、2回目以降の繰返し処理において、入力設計パラメータサンプル組群に対応するSNM又はWMの各値のシミュレータ計算が前回までの繰返し処理によって既に計算されている場合には、その値に関しては新たにシミュレータ計算は実行されずに既に得られている計算結果がそのまま使用される。
次に、モデル化及び精度情報の計算処理が実行される(図7のステップS703)。
図9は、図7のステップS703のモデル化処理の詳細を示す動作フローチャートである。
始めに、入力として、図7のステップS702でのシミュレータ計算の結果と、精度が要求される値域の範囲が指定される。
そしてまず、図1の第1の目的関数モデル化部102は、図7のステップS702で得られた入力設計パラメータサンプル組群に対するシミュレータ計算の結果に基づいて、SNMとWMをそれぞれ多項式近似によりモデル化することにより、第1のSNMモデル化関数及び第1のWMモデル化関数を算出する(図9のステップS901)。
次に、図1の重み決定部103は、図9のステップS902からS905の一連の繰返し処理により、SNMとWMの各シミュレータ値毎に、その値が、精度を要する範囲として指定された値域に含まれるか否か、及びその値を算出した入力設計パラメータサンプル組に対応する他方(WM又はSNM)のシミュレータ値又は第1のモデル化目的関数値よりも小さいか否かに応じて、重みを決定する。
具体的には、まず、SNM又はWMのシミュレータ値群から1個のシミュレータ値が抽出される(図9のステップS902)。
次に、その選択されたSNM又はWMのシミュレータ値を算出した入力設計パラメータサンプル組に対応する他方のWM又はSNMのシミュレータ値(1回目のみ)又は第1のモデル化目的関数値(第1のWMモデル化関数値又は第1のSNMモデル化関数値)(2回目以降で対応するシミュレータ値が存在しない場合)が算出される(図9のステップS903)。
次に、ステップS903での算出結果と入力として指定されている値域の範囲に基づいて、ステップS902にて選択された1個のシミュレータ値に対応する重みが決定される(図9のステップS904)。
図10は、ステップS904の処理の詳細を示す動作フローチャートである。
まず、図9のステップS902にて選択された1個のシミュレータ値sが精度が要求される値域の範囲内にあるか否かが判定される(図10のステップS1001)。
ステップS1001にて、シミュレータ値sが精度が要求される値域の範囲内にあると判定された場合には、更に、そのシミュレータ値sが、図9のステップS903にて算出されている他方の目的関数値mよりも小さいか否かが判定される(図10のステップS1002)。
シミュレータ値sが他方の目的関数値mよりも小さいと判定された場合には、重みとして最大値5が設定される(図10のステップS1003)。これは、前述した図4(d)の404及び405のケースに相当する。
シミュレータ値sが他方の目的関数値mよりも小さくはないと判定された場合には、重みとして中間値3が設定される(図10のステップS1004)。これは、前述した図4(d)の406及び407のケースに相当する。
ステップS1001にて、シミュレータ値sが精度が要求される値域の範囲内にはないと判定された場合には、更に、そのシミュレータ値sが、上記値域から大きく離れているか否か(差が5以上であるか否か)が判定される(図10のステップS1005)。
シミュレータ値sが上記値域から大きく離れてはいないと判定された場合には、重みとして値2が設定される(図10のステップS1006)。
シミュレータ値sが上記値域から大きく離れていると判定された場合には、重みとして最小値1が設定される(図10のステップS1007)。これは、前述した図4(d)の401〜403のケースに相当する。
以上のようにして、図9のステップS904にて、1個のシミュレータ値に対応する重みが決定される。
次に、SNM又はWMのシミュレータ値群において、まだ重み付けが行われていない残シミュレータ値があるか否かが判定される(図9のステップS905)。
ステップS905にて、残シミュレータ値があると判定された場合には、ステップS902の処理に戻って、SNM又はWMのシミュレータ値群から新たに1個のシミュレータ値が抽出され、それに対して重みを決定するためのステップS902からS904までの一連の処理が実行される。
ステップS905にて、残シミュレータ値がないと判定された場合には、図1の第2の目的関数モデル化部104が、入力設計パラメータサンプル組とそのサンプル組に対応して図7のステップS702にて計算されたSNMとWMの各シミュレータ計算値とに基づいて、SNMとWMの各シミュレータ値毎に決定された重みに応じたモデル化を行いながら、SNMとWMをそれぞれ線形回帰分析に基づく数式近似により再度モデル化して、第2のモデル化目的関数、即ち、第2のSNMモデル化関数及び第2のWMモデル化関数を算出する。
今、i番目の入力設計パラメータサンプル組において、重みをwi、シミュレータ実行結果をyi、モデル式から得られる値をziとすれば、図9のステップS901にて演算される重みなしの場合のモデル化は、
誤差=Σ(zi−yi)^2
で示される誤差を最小化するように線形回帰分析に基づくモデル化が行われる。これに対して、図9のステップS906にて演算される重み付きのモデル化は、
誤差=Σwi*(zi−yi)^2
で示される誤差を最小化するように線形回帰分析に基づくモデル化が行われる。実際に線形回帰分析が適用される際には、図13に示されるように、各シミュレータ値毎に算出される重み値毎に、設計パラメータ組と目的関数値(シミュレータ値)との組合せが、その重み値に対応する数だけコピーされて新たなサンプルとされ、そのサンプルに対して通常の線形回帰分析処理が実行されればよい。
以上の重み付きモデル化によって、要求された値域の範囲でより高い精度でSNMとWMの各目的関数に適合(フィッティング)する第2のSNMモデル化関数及び第2のWMモデル化関数が算出される。例えば下記に示されるようなモデル式が得られる。

SNM=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
・・・(1)

WM=-.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
・・・(2)

上記SNMとWMの各モデル式において、x[1]とx[2]は、それぞれ2種類の設計パラメータを示す変数である。「^2」「^3」「^4」は、それぞれ2乗、3乗、4乗のべき乗演算を示す。「*」は乗算を示す。「e」は指数である。
以上の図9の動作フローチャートで示される制御処理によって、図7のステップS703において、第2の目的関数モデル化部104が、現在の入力設計パラメータサンプル組群に対応する第2のSNMモデル化関数及び第2のWMモデル化関数を出力する。また、第2の目的関数モデル化部104は、これらの関数を線形回帰分析によって算出したときの決定係数(Rスクエア)値も同時に、第2のSNMモデル化関数及び第2のWMモデル化関数にそれぞれ対応する各精度情報として出力する。
次に、図7のステップS704において、図1の精度条件判定部105は、第2のSNMモデル化関数及び第2のWMモデル化関数毎に、第2の目的関数モデル化部104において計算される各精度情報(例えば決定係数(Rスクエア)値)が指定された精度条件を満たすか否かを判定する。
上記判定に対して、図1の出力モデル化目的関数決定部106は、精度条件判定部105が精度条件を満たすとの第1の判定をした場合に、その第1の判定対象となった第2のモデル化目的関数を、最適な設計パラメータの組を計算するための出力モデル化目的関数として決定する。今、第1の判定対象となったのがSNMモデル化関数であれば、第2のSNMモデル化関数がSNM出力モデル化関数110として決定される。また、第1の判定対象となった目的関数がWMモデル化関数であれば、第2のWMモデル化関数がWM出力モデル化関数111として決定される。
図7のステップS704の判定において、精度条件判定部105が精度条件を満たさないとの第2の判定をした場合には、精度補償に必要となるサンプルを生成する処理が実行される(図7のステップS705)。
図11は、図7のステップS705の処理の詳細を示す動作フローチャートである。
まず、図1のモデル化目的関数値計算部107は、逆像を求める計算を行う(図11のステップS1101)。
図12は、図11のステップS1101の処理の詳細を示す動作フローチャートである。
モデル化目的関数値計算部107は始めに、図7のステップS701で採用された第1の所定組数(5*5=25組)よりも多量の第2の所定組数、例えば61*61=3721組の設計パラメータのサンプルの組を生成する(図12のステップS1201)。このときの第2の所定組数は、例えばラテン・ハイパーキューブ法等の手法を使用して決定することができる。
次に、モデル化目的関数値計算部107は、上記設計パラメータのサンプルの組から1組を抽出して、図7のステップS704からS705への移行における第2の判定対象となった第2のモデル化目的関数の各値を計算する(図12のステップS1202)。第2の判定対象となった第2のモデル化目的関数が第2のSNMモデル化関数であれば、抽出された1組の設計パラメータのサンプルの組に対して、例えば前述の(1)式で示される第2のSNMモデル化関数の各値が計算される。逆に、第2の判定対象となった第2のモデル化目的関数が第2のWMモデル化関数であれば、抽出された1組の設計パラメータのサンプルの組に対して、例えば前述の(2)式で示される第2のWMモデル化関数の各値が計算される。SNM出力モデル化関数又はWM出力モデル化関数の片方のみが計算される場合又は両方が同時に計算される場合がある。
続いて、図1の逆像計算部108は、上述の計算された第2のモデル化目的関数の各値について、その値が、精度を要する範囲として指定された値域に含まれ、かつその値に対応する設計パラメータのサンプルの組から計算される他方の第2のモデル化目的関数の値よりも小さいときに、その値を算出した設計パラメータのサンプルの組をその値に対応する目的関数に対応させて記憶する(図12のステップS1202)。第2の判定対象となった第2のモデル化目的関数が第2のSNMモデル化関数であれば、第2のSNMモデル化関数の各値について、その値が、精度を要する範囲として指定された値域に含まれ、かつその値に対応する設計パラメータのサンプルの組から計算されるWMモデル化関数の値よりも小さいときに、その値を算出した設計パラメータのサンプルの組をSNMに対応させて記憶する。逆に、第2の判定対象となった第2のモデル化目的関数が第2のWMモデル化関数であれば、第2のWMモデル化関数の各値について、その値が、精度を要する範囲として指定された値域に含まれ、かつその値に対応する設計パラメータのサンプルの組から計算されるSNMモデル化関数の値よりも小さいときに、その値を算出した設計パラメータのサンプルの組をWMに対応させて記憶する。SNM又はWMの片方のみが処理される場合又は両方が同時に処理される場合がある。
その後、図1のモデル化目的関数値計算部107は、ステップS1201にて生成された3721組の設計パラメータのサンプルの組において、計算に必要な組が残っているか否かを判定する(図12のステップS1203)。
モデル化目的関数値計算部107又は逆像計算部108は、計算に必要な組が残っていると判定した場合には、ステップ1202の処理に制御を戻し、新たに抽出した組について、逆像計算を繰返し実行する。
モデル化目的関数値計算部107又は逆像計算部108は、計算に必要な組が残っていないと判定した場合には、図12の動作フローチャートの処理を終了して、図11のステップS1101の逆像計算処理を終了する。
その後、図1のモデル化繰返し制御部109は、図7のステップS704からS705への移行における第2の判定対象となった第2のモデル化目的関数に対応する目的関数毎に、現在の入力設計パラメータサンプル組群(最初は第1の所定組数(5*5=25組)の設計パラメータのサンプルの組)とその目的関数に対応して逆像計算部108にて記憶されている設計パラメータのサンプルの組とに基づいて、新たな入力設計パラメータサンプル組群を決定する。この場合に、モデル化繰返し制御部109は、上記目的関数に対応して逆像計算部108にて記憶されている設計パラメータのサンプルの組のうち、シミュレータ動作済みの現在の入力設計パラメータサンプル組群中の組に近い組は除去する(図11のステップS1102)。
モデル化繰返し制御部109は、図11の動作フローチャートで示される図7のステップS705の実行において上述のようにして決定した新たな入力設計パラメータサンプル組群を、再び図1の第1の目的関数モデル化部102に入力させて、図7のステップ702移行の処理を繰り返し実行させる。
図14(a)及び(b)は、5*5=25組の設計パラメータサンプル組から計算されるSNM及びWMのモデル化目的関数の例を示す図である。また、図14(c)は、図14(b)を上部から見下ろしたときの平面図であり、要求される値域を取る設計パラメータ組の定義域を示している。この例からわかるように、少ない設計パラメータサンプル組からモデル化された目的関数からでも、要求される値域に対する逆像としての設計パラメータ組の定義域を十分有効に抽出できることがわかる。
図15は、SNM及びWMのそれぞれ毎に選択される2種類の初期設計パラメータサンプル組群を示した図である。横軸が第1の設計パラメータ、縦軸が第2の設計パラメータを示している。また、「○」印が例えばSNMを計算するための設計パラメータサンプル組、「□」印が例えばWMを計算するための設計パラメータサンプル組である。このように、最初は、各設計パラメータに対して予め設定された範囲を均等に5分割ずつするように、設計パラメータサンプル組が決定される。
次に、図16は、図1の逆像計算部108による図7のステップS705の処理(図11、図12参照)によって得られる、要求された値域に対応する2種類の目的関数にそれぞれ対応する設計パラメータのサンプル組の分布を示す図である。「○」印で示される設計パラメータサンプル組は例えばSNMに対応し、「□」印で示される設計パラメータサンプル組は例えばWMに対応する。
図17は、図7のステップS702からS705までの一連の繰返し処理の1回目から2回目への移行時において、図1のモデル化繰返し制御部109による図7のステップS705の処理によって得られる、新たな入力設計パラメータサンプル組群を示した図である。「○」印及び「□」印で示される各設計パラメータサンプル組群ともに、図16の逆像分布が反映されていることがわかる。このような設計パラメータサンプル組を用いることにより、2回目のSNM及びWMのモデル化において、要求された値域でより適合したモデル化が可能となる。
図18は、図7のステップS702からS705までの一連の繰返し処理の2回目から3回目への移行時において、図1のモデル化繰返し制御部109による図7のステップS705の処理によって得られる、新たな入力設計パラメータサンプル組群を示した図である。「○」印で示される設計パラメータサンプル組については、それに対応する目的関数(例えばSNM)のモデル化が十分な精度に達したため、新たな設計パラメータサンプル組の追加はされない。一方、「□」印で示される設計パラメータサンプル組については、それに対応する目的関数(例えばWM)のモデル化がまだ十分な精度に達していないため、図16の逆像分布から更に設計パラメータサンプル組が追加されていることがわかる。
以上のようにして、高々数回の繰返し処理によって、SNM及びWMのモデル化において、要求された値域で高精度に適合したモデル化が達成される。
図19は、図7のステップS702からS705までの一連の繰返し処理の1回目から3回目までにおける1つの設計パラメータの各値に対する1つの目的関数の適合誤差の例を示す図である。繰返し回数が進む毎に、誤差が減少し適合精度が向上してゆくことがわかる。
図20は、本実施形態によって算出された出力モデル化目的関数のモデル式を使って描画された、設計パラメータであるセルサイズと目的関数である歩留まり(SNMやWMに対応)の関係、及び設計パラメータであるセルサイズ及び電圧と、目的関数である歩留まりの関係を示す図である。このように、本実施形態では、出力モデル化目的関数が数式モデルで表現されるため、設計パラメータと目的関数との関係を、視覚的に描画することも容易に実現できる。
以上説明した実施形態では、目的関数としてSNMとWMの2種類が用いられたが、2種類以上の複数の目的関数が用いられてもよい。
図21は、図1又は図2の構成を有するSRAM形状パラメータの多目的最適化設計支援装置を実現できるコンピュータのハードウェア構成の一例を示す図である。
図21に示されるコンピュータは、CPU2101、メモリ2102、入力装置2103、出力装置2104、外部記憶装置2105、可搬記録媒体2109が挿入される可搬記録媒体駆動装置2106、及びネットワーク接続装置2107を有し、これらがバス2108によって相互に接続された構成を有する。同図に示される構成は上記システムを実現できるコンピュータの一例であり、そのようなコンピュータはこの構成に限定されるものではない。
CPU2101は、当該コンピュータ全体の制御を行う。メモリ2102は、プログラムの実行、データ更新等の際に、外部記憶装置2105(或いは可搬記録媒体2109)に記憶されているプログラム又はデータを一時的に格納するRAM等のメモリである。CUP2101は、プログラムをメモリ2102に読み出して実行することにより、全体の制御を行う。
入力装置2103は、例えば、キーボード、マウス等及びそれらのインタフェース制御装置とからなる。入力装置2103は、ユーザによるキーボードやマウス等による入力操作を検出し、その検出結果をCPU2101に通知する。
出力装置2104は、表示装置、印刷装置等及びそれらのインタフェース制御装置とからなる。出力装置2104は、CPU2101の制御によって送られてくるデータを表示装置や印刷装置に出力する。
外部記憶装置2105は、例えばハードディスク記憶装置である。主に各種データやプログラムの保存に用いられる。
可搬記録媒体駆動装置2106は、光ディスクやSDRAM、コンパクトフラッシュ(登録商標)等の可搬記録媒体2109を収容するもので、外部記憶装置2105の補助の役割を有する。
ネットワーク接続装置2107は、例えばLAN(ローカルエリアネットワーク)又はWAN(ワイドエリアネットワーク)の通信回線を接続するための装置である。
本実施形態によるシステムは、図1又は図2の構成の実現に必要な機能を搭載したプログラムをCPU2101が実行することで実現される。そのプログラムは、例えば外部記憶装置2105や可搬記録媒体2109に記録して配布してもよく、或いはネットワーク接続装置2107によりネットワークから取得できるようにしてもよい。
以上説明した実施形態に関して、更に以下の付記を開示する。
(付記1)
設計パラメータの組を複数組入力して、所定の計算に基づいて複数の目的関数の各値を計算しながら多目的最適化処理を実行することにより、最適な設計パラメータの組の決定を支援する設計支援装置において、
第1の所定組数の設計パラメータのサンプルの組を、前記複数の目的関数毎の初期の入力設計パラメータサンプル組群として決定する初期入力設計パラメータサンプル組群決定部と、
前記複数の目的関数毎に、前記入力設計パラメータサンプル組群に対して前記複数の目的関数の各値を計算しながら、前記複数の目的関数をそれぞれ数式近似によりモデル化してモデル化目的関数を算出する目的関数モデル化部と、
前記複数のモデル化目的関数毎に、前記目的関数モデル化部において計算される各精度情報が指定された精度条件を満たすか否かを判定する精度条件判定部と、
該精度条件判定部が前記精度条件を満たすとの第1の判定をした場合に、該第1の判定対象とされたモデル化目的関数を、前記最適な設計パラメータの組を計算するための出力モデル化目的関数として決定する出力モデル化目的関数決定部と、
前記精度条件判定部が前記精度条件を満たさないとの第2の判定をした場合に、前記第1の所定組数よりも多量の第2の所定組数の設計パラメータのサンプルの組に対して、前記第2の判定対象となったモデル化目的関数の各値を計算するモデル化目的関数値計算部と、
該計算されたモデル化目的関数の各値について、該値が、前記精度を要する範囲として指定された値域に含まれ、かつ該値に対応する設計パラメータのサンプルの組から計算される他のどのモデル化目的関数の値よりも小さいときに、該値を算出した前記設計パラメータのサンプルの組を該値に対応する目的関数に対応させて記憶する逆像計算部と、
前記第2の判定対象となったモデル化目的関数に対応する目的関数毎に、現在の入力設計パラメータサンプル組群と該目的関数に対応して前記逆像計算部にて記憶されている前記設計パラメータのサンプルの組とに基づいて、新たな入力設計パラメータサンプル組群を決定し前記目的関数モデル化部に入力させて、該目的関数モデル化部、及び前記精度条件判定部の動作を繰り返し実行させるモデル化繰返し制御部と、
を含むことを特徴とするSRAM形状パラメータ等の多目的最適化設計支援装置。
(付記2)
前記目的関数モデル化部は、前記入力設計パラメータサンプル組と該サンプル組に対応して計算された前記複数の目的関数の各値とに基づいて、線形回帰分析により、前記目的関数を線形回帰式により多項式近似する、
ことを特徴とする付記1に記載のSRAM形状パラメータ等の多目的最適化設計支援装置。
(付記3)
設計パラメータの組を複数組入力して、所定の計算に基づいて複数の目的関数の各値を計算しながら多目的最適化処理を実行することにより、最適な設計パラメータの組の決定を支援する設計支援装置において、
第1の所定組数の設計パラメータのサンプルの組を、前記複数の目的関数毎の初期の入力設計パラメータサンプル組群として決定する初期入力設計パラメータサンプル組群決定部と、
前記複数の目的関数毎に、前記入力設計パラメータサンプル組群に対して前記複数の目的関数の各値を計算しながら、前記複数の目的関数をそれぞれ数式近似によりモデル化して第1のモデル化目的関数を算出する第1の目的関数モデル化部と、
前記複数の目的関数の各値毎に、該値が、精度を要する範囲として指定された値域に含まれるか否か、及び該値を算出した入力設計パラメータサンプル組に対応する他のどの目的関数又は第1のモデル化目的関数の値よりも小さいか否かに応じて、重みを決定する重み決定部と、
前記入力設計パラメータサンプル組と該サンプル組に対応して計算された前記複数の目的関数の各値とに基づいて、前記複数の目的関数の各値毎に決定された重みに応じたモデル化を行いながら、前記複数の目的関数をそれぞれ数式近似により再度モデル化して第2のモデル化目的関数を算出する第2の目的関数モデル化部と、
前記複数の第2のモデル化目的関数毎に、前記第2の目的関数モデル化部において計算される各精度情報が指定された精度条件を満たすか否かを判定する精度条件判定部と、
該精度条件判定部が前記精度条件を満たすとの第1の判定をした場合に、該第1の判定対象とされた第2のモデル化目的関数を、前記最適な設計パラメータの組を計算するための出力モデル化目的関数として決定する出力モデル化目的関数決定部と、
前記精度条件判定部が前記精度条件を満たさないとの第2の判定をした場合に、前記第1の所定組数よりも多量の第2の所定組数の設計パラメータのサンプルの組に対して、前記第2の判定対象となった第2のモデル化目的関数の各値を計算するモデル化目的関数値計算部と、
該計算された第2のモデル化目的関数の各値について、該値が、前記精度を要する範囲として指定された値域に含まれ、かつ該値に対応する設計パラメータのサンプルの組から計算される他のどの第2のモデル化目的関数の値よりも小さいときに、該値を算出した前記設計パラメータのサンプルの組を該値に対応する目的関数に対応させて記憶する逆像計算部と、
前記第2の判定対象となった第2のモデル化目的関数に対応する目的関数毎に、現在の入力設計パラメータサンプル組群と該目的関数に対応して前記逆像計算部にて記憶されている前記設計パラメータのサンプルの組とに基づいて、新たな入力設計パラメータサンプル組群を決定し前記第1の目的関数モデル化部に入力させて、該第1の目的関数モデル化部、前記重み決定部、前記第2の目的関数モデル化部、及び前記精度条件判定部の動作を繰り返し実行させるモデル化繰返し制御部と、
を含むことを特徴とするSRAM形状パラメータ等の多目的最適化設計支援装置。
(付記4)
前記第1及び第2の目的関数モデル化部は、前記入力設計パラメータサンプル組と該サンプル組に対応して計算された前記複数の目的関数の各値とに基づいて、線形回帰分析により、前記目的関数を線形回帰式により多項式近似する、
ことを特徴とする付記3に記載のSRAM形状パラメータ等の多目的最適化設計支援装置。
(付記5)
前記設計支援装置はスタティクランダムアクセスメモリの形状に関する設計パラメータの組の決定を支援する装置であり、
前記複数の目的関数は、スタティックノイズマージンを算出するための目的関数とライトマージンを算出するための目的関数を含む、
ことを特徴とする付記1乃至4の何れか1項に記載のSRAM形状パラメータ等の多目的最適化設計支援装置。
(付記6)
設計パラメータの組を複数組入力して、所定の計算に基づいて複数の目的関数の各値を計算しながら多目的最適化処理を実行することにより、最適な設計パラメータの組の決定を支援する設計支援方法において、
第1の所定組数の設計パラメータのサンプルの組を、前記複数の目的関数毎の初期の入力設計パラメータサンプル組群として決定する初期入力設計パラメータサンプル組群決定ステップと、
前記複数の目的関数毎に、前記入力設計パラメータサンプル組群に対して前記複数の目的関数の各値を計算しながら、前記複数の目的関数をそれぞれ数式近似によりモデル化してモデル化目的関数を算出する目的関数モデル化ステップと、
前記複数のモデル化目的関数毎に、前記目的関数モデル化ステップにおいて計算される各精度情報が指定された精度条件を満たすか否かを判定する精度条件判定ステップと、
該精度条件判定ステップが前記精度条件を満たすとの第1の判定をした場合に、該第1の判定対象とされたモデル化目的関数を、前記最適な設計パラメータの組を計算するための出力モデル化目的関数として決定する出力モデル化目的関数決定ステップと、
前記精度条件判定ステップが前記精度条件を満たさないとの第2の判定をした場合に、前記第1の所定組数よりも多量の第2の所定組数の設計パラメータのサンプルの組に対して、前記第2の判定対象となったモデル化目的関数の各値を計算するモデル化目的関数値計算ステップと、
該計算されたモデル化目的関数の各値について、該値が、前記精度を要する範囲として指定された値域に含まれ、かつ該値に対応する設計パラメータのサンプルの組から計算される他のどのモデル化目的関数の値よりも小さいときに、該値を算出した前記設計パラメータのサンプルの組を該値に対応する目的関数に対応させて記憶する逆像計算ステップと、
前記第2の判定対象となったモデル化目的関数に対応する目的関数毎に、現在の入力設計パラメータサンプル組群と該目的関数に対応して前記逆像計算ステップにて記憶されている前記設計パラメータのサンプルの組とに基づいて、新たな入力設計パラメータサンプル組群を決定し前記目的関数モデル化ステップに入力させて、該目的関数モデル化ステップ、及び前記精度条件判定ステップの動作を繰り返し実行させるモデル化繰返し制御ステップと、
を含むことを特徴とするSRAM形状パラメータ等の多目的最適化設計支援方法。
(付記7)
前記目的関数モデル化ステップは、前記入力設計パラメータサンプル組と該サンプル組に対応して計算された前記複数の目的関数の各値とに基づいて、線形回帰分析により、前記目的関数を線形回帰式により多項式近似する、
ことを特徴とする付記6に記載のSRAM形状パラメータ等の多目的最適化設計支援方法。
(付記8)
設計パラメータの組を複数組入力して、所定の計算に基づいて複数の目的関数の各値を計算しながら多目的最適化処理を実行することにより、最適な設計パラメータの組の決定を支援する設計支援方法において、
第1の所定組数の設計パラメータのサンプルの組を、前記複数の目的関数毎の初期の入力設計パラメータサンプル組群として決定する初期入力設計パラメータサンプル組群決定ステップと、
前記複数の目的関数毎に、前記入力設計パラメータサンプル組群に対して前記複数の目的関数の各値を計算しながら、前記複数の目的関数をそれぞれ数式近似によりモデル化して第1のモデル化目的関数を算出する第1の目的関数モデル化ステップと、
前記複数の目的関数の各値毎に、該値が、精度を要する範囲として指定された値域に含まれるか否か、及び該値を算出した入力設計パラメータサンプル組に対応する他のどの目的関数又は第1のモデル化目的関数の値よりも小さいか否かに応じて、重みを決定する重み決定ステップと、
前記入力設計パラメータサンプル組と該サンプル組に対応して計算された前記複数の目的関数の各値とに基づいて、前記複数の目的関数の各値毎に決定された重みに応じたモデル化を行いながら、前記複数の目的関数をそれぞれ数式近似により再度モデル化して第2のモデル化目的関数を算出する第2の目的関数モデル化ステップと、
前記複数の第2のモデル化目的関数毎に、前記第2の目的関数モデル化ステップにおいて計算される各精度情報が指定された精度条件を満たすか否かを判定する精度条件判定ステップと、
該精度条件判定ステップが前記精度条件を満たすとの第1の判定をした場合に、該第1の判定対象とされた第2のモデル化目的関数を、前記最適な設計パラメータの組を計算するための出力モデル化目的関数として決定する出力モデル化目的関数決定ステップと、
前記精度条件判定ステップが前記精度条件を満たさないとの第2の判定をした場合に、前記第1の所定組数よりも多量の第2の所定組数の設計パラメータのサンプルの組に対して、前記第2の判定対象となった第2のモデル化目的関数の各値を計算するモデル化目的関数値計算ステップと、
該計算された第2のモデル化目的関数の各値について、該値が、前記精度を要する範囲として指定された値域に含まれ、かつ該値に対応する設計パラメータのサンプルの組から計算される他のどの第2のモデル化目的関数の値よりも小さいときに、該値を算出した前記設計パラメータのサンプルの組を該値に対応する目的関数に対応させて記憶する逆像計算ステップと、
前記第2の判定対象となった第2のモデル化目的関数に対応する目的関数毎に、現在の入力設計パラメータサンプル組群と該目的関数に対応して前記逆像計算ステップにて記憶されている前記設計パラメータのサンプルの組とに基づいて、新たな入力設計パラメータサンプル組群を決定し前記第1の目的関数モデル化ステップに入力させて、該第1の目的関数モデル化ステップ、前記重み決定ステップ、前記第2の目的関数モデル化ステップ、及び前記精度条件判定ステップの動作を繰り返し実行させるモデル化繰返し制御ステップと、
を含むことを特徴とするSRAM形状パラメータ等の多目的最適化設計支援方法。
(付記9)
前記第1及び第2の目的関数モデル化ステップは、前記入力設計パラメータサンプル組と該サンプル組に対応して計算された前記複数の目的関数の各値とに基づいて、線形回帰分析により、前記目的関数を線形回帰式により多項式近似する、
ことを特徴とする付記8に記載のSRAM形状パラメータ等の多目的最適化設計支援方法。
(付記10)
前記設計支援方法はスタティクランダムアクセスメモリの形状に関する設計パラメータの組の決定を支援する方法であり、
前記複数の目的関数は、スタティックノイズマージンを算出するための目的関数とライトマージンを算出するための目的関数を含む、
ことを特徴とする付記6乃至9の何れか1項に記載のSRAM形状パラメータ等の多目的最適化設計支援方法。
(付記11)
設計パラメータの組を複数組入力して、所定の計算に基づいて複数の目的関数の各値を計算しながら多目的最適化処理を実行することにより、最適な設計パラメータの組の決定を支援するコンピュータに、
第1の所定組数の設計パラメータのサンプルの組を、前記複数の目的関数毎の初期の入力設計パラメータサンプル組群として決定する初期入力設計パラメータサンプル組群決定ステップと、
前記複数の目的関数毎に、前記入力設計パラメータサンプル組群に対して前記複数の目的関数の各値を計算しながら、前記複数の目的関数をそれぞれ数式近似によりモデル化してモデル化目的関数を算出する目的関数モデル化ステップと、
前記複数のモデル化目的関数毎に、前記目的関数モデル化ステップにおいて計算される各精度情報が指定された精度条件を満たすか否かを判定する精度条件判定ステップと、
該精度条件判定ステップが前記精度条件を満たすとの第1の判定をした場合に、該第1の判定対象とされたモデル化目的関数を、前記最適な設計パラメータの組を計算するための出力モデル化目的関数として決定する出力モデル化目的関数決定ステップと、
前記精度条件判定ステップが前記精度条件を満たさないとの第2の判定をした場合に、前記第1の所定組数よりも多量の第2の所定組数の設計パラメータのサンプルの組に対して、前記第2の判定対象となったモデル化目的関数の各値を計算するモデル化目的関数値計算ステップと、
該計算されたモデル化目的関数の各値について、該値が、前記精度を要する範囲として指定された値域に含まれ、かつ該値に対応する設計パラメータのサンプルの組から計算される他のどのモデル化目的関数の値よりも小さいときに、該値を算出した前記設計パラメータのサンプルの組を該値に対応する目的関数に対応させて記憶する逆像計算ステップと、
前記第2の判定対象となったモデル化目的関数に対応する目的関数毎に、現在の入力設計パラメータサンプル組群と該目的関数に対応して前記逆像計算ステップにて記憶されている前記設計パラメータのサンプルの組とに基づいて、新たな入力設計パラメータサンプル組群を決定し前記目的関数モデル化ステップに入力させて、該目的関数モデル化ステップ、及び前記精度条件判定ステップの動作を繰り返し実行させるモデル化繰返し制御ステップと、
を実行させるためのプログラム。
(付記12)
前記目的関数モデル化ステップは、前記入力設計パラメータサンプル組と該サンプル組に対応して計算された前記複数の目的関数の各値とに基づいて、線形回帰分析により、前記目的関数を線形回帰式により多項式近似する、
ことを特徴とする付記11に記載のプログラム。
(付記13)
設計パラメータの組を複数組入力して、所定の計算に基づいて複数の目的関数の各値を計算しながら多目的最適化処理を実行することにより、最適な設計パラメータの組の決定を支援するコンピュータに、
第1の所定組数の設計パラメータのサンプルの組を、前記複数の目的関数毎の初期の入力設計パラメータサンプル組群として決定する初期入力設計パラメータサンプル組群決定ステップと、
前記複数の目的関数毎に、前記入力設計パラメータサンプル組群に対して前記複数の目的関数の各値を計算しながら、前記複数の目的関数をそれぞれ数式近似によりモデル化して第1のモデル化目的関数を算出する第1の目的関数モデル化ステップと、
前記複数の目的関数の各値毎に、該値が、精度を要する範囲として指定された値域に含まれるか否か、及び該値を算出した入力設計パラメータサンプル組に対応する他のどの目的関数又は第1のモデル化目的関数の値よりも小さいか否かに応じて、重みを決定する重み決定ステップと、
前記入力設計パラメータサンプル組と該サンプル組に対応して計算された前記複数の目的関数の各値とに基づいて、前記複数の目的関数の各値毎に決定された重みに応じたモデル化を行いながら、前記複数の目的関数をそれぞれ数式近似により再度モデル化して第2のモデル化目的関数を算出する第2の目的関数モデル化ステップと、
前記複数の第2のモデル化目的関数毎に、前記第2の目的関数モデル化ステップにおいて計算される各精度情報が指定された精度条件を満たすか否かを判定する精度条件判定ステップと、
該精度条件判定ステップが前記精度条件を満たすとの第1の判定をした場合に、該第1の判定対象とされた第2のモデル化目的関数を、前記最適な設計パラメータの組を計算するための出力モデル化目的関数として決定する出力モデル化目的関数決定ステップと、
前記精度条件判定ステップが前記精度条件を満たさないとの第2の判定をした場合に、前記第1の所定組数よりも多量の第2の所定組数の設計パラメータのサンプルの組に対して、前記第2の判定対象となった第2のモデル化目的関数の各値を計算するモデル化目的関数値計算ステップと、
該計算された第2のモデル化目的関数の各値について、該値が、前記精度を要する範囲として指定された値域に含まれ、かつ該値に対応する設計パラメータのサンプルの組から計算される他のどの第2のモデル化目的関数の値よりも小さいときに、該値を算出した前記設計パラメータのサンプルの組を該値に対応する目的関数に対応させて記憶する逆像計算ステップと、
前記第2の判定対象となった第2のモデル化目的関数に対応する目的関数毎に、現在の入力設計パラメータサンプル組群と該目的関数に対応して前記逆像計算ステップにて記憶されている前記設計パラメータのサンプルの組とに基づいて、新たな入力設計パラメータサンプル組群を決定し前記第1の目的関数モデル化ステップに入力させて、該第1の目的関数モデル化ステップ、前記重み決定ステップ、前記第2の目的関数モデル化ステップ、及び前記精度条件判定ステップの動作を繰り返し実行させるモデル化繰返し制御ステップと、
を実行させるためのプログラム。
(付記14)
前記第1及び第2の目的関数モデル化ステップは、前記入力設計パラメータサンプル組と該サンプル組に対応して計算された前記複数の目的関数の各値とに基づいて、線形回帰分析により、前記目的関数を線形回帰式により多項式近似する、
ことを特徴とする付記13に記載のプログラム。
(付記15)
前記プログラムは、スタティクランダムアクセスメモリの形状に関する設計パラメータの組の決定を支援するプログラムであり、
前記複数の目的関数は、スタティックノイズマージンを算出するための目的関数とライトマージンを算出するための目的関数を含む、
ことを特徴とする付記11乃至14の何れか1項に記載のプログラム。
SRAM形状パラメータの多目的最適化設計支援装置の第1の実施形態の構成図である。 SRAM形状パラメータの多目的最適化設計支援装置の第2の実施形態の構成図である。 本実施形態の基本動作の説明図(その1)である。 本実施形態の基本動作の説明図(その2)である。 2種類の設計パラメータ組と2種類の目的関数との関係図(その1)である。 2種類の設計パラメータ組と2種類の目的関数との関係図(その2)である。 第1の実施形態の制御動作を示す全体動作フローチャートである。 図7のステップS701の処理において設計パラメータサンプル組数Mを決定する処理の詳細を示す動作フローチャートである。 図7のステップS703のモデル化処理の詳細を示す動作フローチャートである。 ステップS904の処理の詳細を示す動作フローチャートである。 図7のステップS705の処理の詳細を示す動作フローチャートである。 図11のステップS1101の処理の詳細を示す動作フローチャートである。 重み付きモデル化の説明図である。 5*5=25組の設計パラメータサンプル組から計算されるSNM及びWMのモデル化目的関数の例を示す図である。 SNM及びWMのそれぞれ毎に選択される2種類の初期設計パラメータサンプル組群を示した図である。 図1の逆像計算部108によって得られる、要求された値域に対応する2種類の目的関数にそれぞれ対応する設計パラメータのサンプル組の分布を示す図である。 図7のステップS702からS705までの一連の繰返し処理の1回目から2回目への移行時において、図1のモデル化繰返し制御部109による図7のステップS705の処理によって得られる、新たな入力設計パラメータサンプル組群を示した図である。 図7のステップS702からS705までの一連の繰返し処理の2回目から3回目への移行時において、図1のモデル化繰返し制御部109による図7のステップS705の処理によって得られる、新たな入力設計パラメータサンプル組群を示した図である。 図7のステップS702からS705までの一連の繰返し処理の1回目から3回目までにおける1つの設計パラメータの各値に対する1つの目的関数の適合誤差の例を示す図である。 本実施形態によって算出された出力モデル化目的関数のモデル式を使って描画された、設計パラメータであるセルサイズと目的関数である歩留まり(SNMやWMに対応)の関係、及び設計パラメータであるセルサイズ及び電圧と、目的関数である歩留まりの関係を示す図である。 図1又は図2の構成を有するSRAM形状パラメータの多目的最適化設計支援装置を実現できるコンピュータのハードウェア構成の一例を示す図である。 SRAM設計における設計パラメータの説明図である。 SRAM設計における上述の多目的最適化問題を計算する従来の計算手法を示す動作フローチャートである。
符号の説明
101 初期入力設計パラメータサンプル組群決定部
102 第1の目的関数モデル化部
103 重み決定部
104 第2の目的関数モデル化部
105 精度条件判定部
106 出力モデル化目的関数決定部
107 モデル化目的関数値計算部
108 逆像計算部
109 モデル化繰返し制御部
110 SNM出力モデル化関数(出力モデル化目的関数)
111 WM出力モデル化関数(出力モデル化目的関数)

Claims (9)

  1. 設計パラメータの組を複数組入力して、所定の計算に基づいて同一の又は比較可能な指標で表される複数の目的関数の各値を計算しながら多目的最適化処理を実行することにより、最適な設計パラメータの組の決定を支援する設計支援装置に、
    第1の所定組数の設計パラメータのサンプルの組を、前記複数の目的関数毎の初期の入力設計パラメータサンプル組群として決定する初期入力設計パラメータサンプル組群決定ステップと、
    前記複数の目的関数毎に、前記入力設計パラメータサンプル組群に対して前記複数の目的関数の各値を計算しながら、前記複数の目的関数をそれぞれ数式近似によりモデル化してモデル化目的関数を算出する目的関数モデル化ステップと、
    前記複数のモデル化目的関数毎に、前記目的関数モデル化ステップにおいて計算される各精度情報が指定された精度条件を満たすか否かを判定する精度条件判定ステップと、
    該精度条件判定ステップが前記精度条件を満たすとの第1の判定をした場合に、該第1の判定対象とされたモデル化目的関数を、前記最適な設計パラメータの組を計算するための出力モデル化目的関数として決定する出力モデル化目的関数決定ステップと、
    前記精度条件判定ステップが前記精度条件を満たさないとの第2の判定をした場合に、前記第1の所定組数よりも多量の第2の所定組数の設計パラメータのサンプルの組に対して、前記第2の判定対象となったモデル化目的関数の各値を計算するモデル化目的関数値計算ステップと、
    該計算されたモデル化目的関数の各値について、該値が、前記精度を要する範囲として指定された値域に含まれ、かつ該値に対応する設計パラメータのサンプルの組から計算される他のどのモデル化目的関数の値よりも小さいときに、該値を算出した前記設計パラメータのサンプルの組を該値の計算に用いた目的関数に対応させて記憶する逆像計算ステップと、
    前記第2の判定対象となったモデル化目的関数に対応する目的関数毎に、現在の入力設計パラメータサンプル組群と該目的関数に対応して前記逆像計算ステップにて記憶されている前記設計パラメータのサンプルの組とに基づいて、新たな入力設計パラメータサンプル組群を決定し前記目的関数モデル化ステップに入力させて、該目的関数モデル化ステップ、及び前記精度条件判定ステップの動作を繰り返し実行させるモデル化繰返し制御ステップと、
    を実行させるための多目的最適化設計支援プログラム。
  2. 前記目的関数モデル化ステップは、前記入力設計パラメータサンプル組と該サンプル組に対応して計算された前記複数の目的関数の各値とに基づいて、線形回帰分析により、前記目的関数を線形回帰式により多項式近似する、
    ことを特徴とする請求項1に記載の多目的最適化設計支援プログラム。
  3. 設計パラメータの組を複数組入力して、所定の計算に基づいて同一の又は比較可能な指標で表される複数の目的関数の各値を計算しながら多目的最適化処理を実行することにより、最適な設計パラメータの組の決定を支援する設計支援装置に、
    第1の所定組数の設計パラメータのサンプルの組を、前記複数の目的関数毎の初期の入力設計パラメータサンプル組群として決定する初期入力設計パラメータサンプル組群決定ステップと、
    前記複数の目的関数毎に、前記入力設計パラメータサンプル組群に対して前記複数の目的関数の各値を計算しながら、前記複数の目的関数をそれぞれ数式近似によりモデル化して第1のモデル化目的関数を算出する第1の目的関数モデル化ステップと、
    前記複数の目的関数の各値毎に、該値が、精度を要する範囲として指定された値域に含まれるか否か、及び該値を算出した入力設計パラメータサンプル組に対応する他のどの目的関数又は第1のモデル化目的関数の値よりも小さいか否かに応じて、重みを決定する重み決定ステップと、
    前記入力設計パラメータサンプル組と該サンプル組に対応して計算された前記複数の目的関数の各値とに基づいて、前記複数の目的関数の各値毎に決定された重みに応じたモデル化を行いながら、前記複数の目的関数をそれぞれ数式近似により再度モデル化して第2のモデル化目的関数を算出する第2の目的関数モデル化ステップと、
    前記複数の第2のモデル化目的関数毎に、前記第2の目的関数モデル化ステップにおいて計算される各精度情報が指定された精度条件を満たすか否かを判定する精度条件判定ステップと、
    該精度条件判定ステップが前記精度条件を満たすとの第1の判定をした場合に、該第1の判定対象とされた第2のモデル化目的関数を、前記最適な設計パラメータの組を計算するための出力モデル化目的関数として決定する出力モデル化目的関数決定ステップと、
    前記精度条件判定ステップが前記精度条件を満たさないとの第2の判定をした場合に、前記第1の所定組数よりも多量の第2の所定組数の設計パラメータのサンプルの組に対して、前記第2の判定対象となった第2のモデル化目的関数の各値を計算するモデル化目的関数値計算ステップと、
    該計算された第2のモデル化目的関数の各値について、該値が、前記精度を要する範囲として指定された値域に含まれ、かつ該値に対応する設計パラメータのサンプルの組から計算される他のどの第2のモデル化目的関数の値よりも小さいときに、該値を算出した前記設計パラメータのサンプルの組を該値の計算に用いた目的関数に対応させて記憶する逆像計算ステップと、
    前記第2の判定対象となった第2のモデル化目的関数に対応する目的関数毎に、現在の入力設計パラメータサンプル組群と該目的関数に対応して前記逆像計算ステップにて記憶されている前記設計パラメータのサンプルの組とに基づいて、新たな入力設計パラメータサンプル組群を決定し前記第1の目的関数モデル化ステップに入力させて、該第1の目的関数モデル化ステップ、前記重み決定ステップ、前記第2の目的関数モデル化ステップ、及び前記精度条件判定ステップの動作を繰り返し実行させるモデル化繰返し制御ステップと、
    を実行させるための多目的最適化設計支援プログラム。
  4. 前記第1及び第2の目的関数モデル化ステップは、前記入力設計パラメータサンプル組と該サンプル組に対応して計算された前記複数の目的関数の各値とに基づいて、線形回帰分析により、前記目的関数を線形回帰式により多項式近似する、
    ことを特徴とする請求項3に記載の多目的最適化設計支援プログラム。
  5. 記多目的最適化設計支援プログラムはスタティクランダムアクセスメモリの形状に関する設計パラメータの組の決定を支援するプログラムであり、
    前記複数の目的関数は、スタティックノイズマージンを算出するための目的関数とライトマージンを算出するための目的関数を含む、
    ことを特徴とする請求項1乃至4の何れか1項に記載の多目的最適化設計支援プログラム。
  6. コンピュータに設計パラメータの組を複数組入力して、所定の計算に基づいて同一の又は比較可能な指標で表される複数の目的関数の各値を計算しながら多目的最適化処理を実行することにより、最適な設計パラメータの組の決定を支援する設計支援方法において、
    前記コンピュータが有するプロセッサが、第1の所定組数の設計パラメータのサンプルの組を、前記複数の目的関数毎の初期の入力設計パラメータサンプル組群として決定し前記コンピュータが備えるメモリに書き込む初期入力設計パラメータサンプル組群決定ステップと、
    前記コンピュータが有するプロセッサが、前記複数の目的関数毎に、前記入力設計パラメータサンプル組群に対して前記複数の目的関数の各値を計算しながら、前記複数の目的関数をそれぞれ数式近似によりモデル化してモデル化目的関数を算出し前記コンピュータが備えるメモリに書き込む目的関数モデル化ステップと、
    前記コンピュータが有するプロセッサが、前記複数のモデル化目的関数毎に、前記目的関数モデル化ステップにおいて計算される各精度情報が指定された精度条件を満たすか否かを判定する精度条件判定ステップと、
    前記コンピュータが有するプロセッサが、該精度条件判定ステップが前記精度条件を満たすとの第1の判定をした場合に、該第1の判定対象とされたモデル化目的関数を、前記最適な設計パラメータの組を計算するための出力モデル化目的関数として決定し前記コンピュータが備えるメモリに書き込む出力モデル化目的関数決定ステップと、
    前記コンピュータが有するプロセッサが、前記精度条件判定ステップが前記精度条件を満たさないとの第2の判定をした場合に、前記第1の所定組数よりも多量の第2の所定組数の設計パラメータのサンプルの組に対して前記第2の判定対象となったモデル化目的関数の各値を計算し前記コンピュータが備えるメモリに書き込むモデル化目的関数値計算ステップと、
    前記コンピュータが有するプロセッサが、該計算されたモデル化目的関数の各値について、該値が、前記精度を要する範囲として指定された値域に含まれ、かつ該値に対応する設計パラメータのサンプルの組から計算される他のどのモデル化目的関数の値よりも小さいときに、該値を算出した前記設計パラメータのサンプルの組を該値の計算に用いた目的関数に対応させて前記コンピュータが備えるメモリに書き込む逆像計算ステップと、
    前記コンピュータが有するプロセッサが、前記第2の判定対象となったモデル化目的関数に対応する目的関数毎に、現在の入力設計パラメータサンプル組群と該目的関数に対応して前記逆像計算ステップにて記憶されている前記設計パラメータのサンプルの組とに基づいて、新たな入力設計パラメータサンプル組群を決定し前記目的関数モデル化ステップに入力させて、該目的関数モデル化ステップ、及び前記精度条件判定ステップの動作を繰り返し実行させるモデル化繰返し制御ステップと、
    を含む多目的最適化設計支援方法。
  7. コンピュータに設計パラメータの組を複数組入力して、所定の計算に基づいて同一の又は比較可能な指標で表される複数の目的関数の各値を計算しながら多目的最適化処理を実行することにより、最適な設計パラメータの組の決定を支援する設計支援方法において、
    前記コンピュータが有するプロセッサが、第1の所定組数の設計パラメータのサンプルの組を、前記複数の目的関数毎の初期の入力設計パラメータサンプル組群として決定し前記コンピュータが備えるメモリに書き込む初期入力設計パラメータサンプル組群決定ステップと、
    前記コンピュータが有するプロセッサが、前記複数の目的関数毎に、前記入力設計パラメータサンプル組群に対して前記複数の目的関数の各値を計算しながら、前記複数の目的関数をそれぞれ数式近似によりモデル化して第1のモデル化目的関数を算出し前記コンピュータが備えるメモリに書き込む第1の目的関数モデル化ステップと、
    前記コンピュータが有するプロセッサが、前記複数の目的関数の各値毎に、該値が、精度を要する範囲として指定された値域に含まれるか否か、及び該値を算出した入力設計パラメータサンプル組に対応する他のどの目的関数又は第1のモデル化目的関数の値よりも小さいか否かに応じて、重みを決定し前記コンピュータが備えるメモリに書き込む重み決定ステップと、
    前記コンピュータが有するプロセッサが、前記入力設計パラメータサンプル組と該サンプル組に対応して計算された前記複数の目的関数の各値とに基づいて、前記複数の目的関数の各値毎に決定された重みに応じたモデル化を行いながら、前記複数の目的関数をそれぞれ数式近似により再度モデル化して第2のモデル化目的関数を算出し前記コンピュータが備えるメモリに書き込む第2の目的関数モデル化ステップと、
    前記コンピュータが有するプロセッサが、前記複数の第2のモデル化目的関数毎に、前記第2の目的関数モデル化ステップにおいて計算される各精度情報が指定された精度条件を満たすか否かを判定する精度条件判定ステップと、
    前記コンピュータが有するプロセッサが、該精度条件判定ステップが前記精度条件を満たすとの第1の判定をした場合に、該第1の判定対象とされた第2のモデル化目的関数を、前記最適な設計パラメータの組を計算するための出力モデル化目的関数として決定し前記コンピュータが備えるメモリに書き込む出力モデル化目的関数決定ステップと、
    前記コンピュータが有するプロセッサが、前記精度条件判定ステップが前記精度条件を満たさないとの第2の判定をした場合に、前記第1の所定組数よりも多量の第2の所定組数の設計パラメータのサンプルの組に対して前記第2の判定対象となった第2のモデル化目的関数の各値を計算し前記コンピュータが備えるメモリに書き込むモデル化目的関数値計算ステップと、
    前記コンピュータが有するプロセッサが、該計算された第2のモデル化目的関数の各値について、該値が、前記精度を要する範囲として指定された値域に含まれ、かつ該値に対応する設計パラメータのサンプルの組から計算される他のどの第2のモデル化目的関数の値よりも小さいときに、該値を算出した前記設計パラメータのサンプルの組を該値の計算に用いた目的関数に対応させて前記コンピュータが備えるメモリに書き込む逆像計算ステップと、
    前記コンピュータが有するプロセッサが、前記第2の判定対象となった第2のモデル化目的関数に対応する目的関数毎に、現在の入力設計パラメータサンプル組群と該目的関数に対応して前記逆像計算ステップにて記憶されている前記設計パラメータのサンプルの組とに基づいて、新たな入力設計パラメータサンプル組群を決定し前記第1の目的関数モデル化ステップに入力させて、該第1の目的関数モデル化ステップ、前記重み決定ステップ、前記第2の目的関数モデル化ステップ、及び前記精度条件判定ステップの動作を繰り返し実行させるモデル化繰返し制御ステップと、
    を含む多目的最適化設計支援方法。
  8. 設計パラメータの組を複数組入力して、所定の計算に基づいて同一の又は比較可能な指標で表される複数の目的関数の各値を計算しながら多目的最適化処理を実行することにより、最適な設計パラメータの組の決定を支援する装置であって、
    第1の所定組数の設計パラメータのサンプルの組を、前記複数の目的関数毎の初期の入力設計パラメータサンプル組群として決定する初期入力設計パラメータサンプル組群決定部と、
    前記複数の目的関数毎に、前記入力設計パラメータサンプル組群に対して前記複数の目的関数の各値を計算しながら、前記複数の目的関数をそれぞれ数式近似によりモデル化してモデル化目的関数を算出する目的関数モデル化部と、
    前記複数のモデル化目的関数毎に、前記目的関数モデル化部において計算される各精度情報が指定された精度条件を満たすか否かを判定する精度条件判定部と、
    該精度条件判定部が前記精度条件を満たすとの第1の判定をした場合に、該第1の判定対象とされたモデル化目的関数を、前記最適な設計パラメータの組を計算するための出力モデル化目的関数として決定する出力モデル化目的関数決定部と、
    前記精度条件判定部が前記精度条件を満たさないとの第2の判定をした場合に、前記第1の所定組数よりも多量の第2の所定組数の設計パラメータのサンプルの組に対して、前記第2の判定対象となったモデル化目的関数の各値を計算するモデル化目的関数値計算部と、
    該計算されたモデル化目的関数の各値について、該値が、前記精度を要する範囲として指定された値域に含まれ、かつ該値に対応する設計パラメータのサンプルの組から計算される他のどのモデル化目的関数の値よりも小さいときに、該値を算出した前記設計パラメータのサンプルの組を該値の計算に用いた目的関数に対応させて記憶する逆像計算部と、
    前記第2の判定対象となったモデル化目的関数に対応する目的関数毎に、現在の入力設計パラメータサンプル組群と該目的関数に対応して前記逆像計算部にて記憶されている前記設計パラメータのサンプルの組とに基づいて、新たな入力設計パラメータサンプル組群を決定し前記目的関数モデル化部に入力させて、該目的関数モデル化部、及び前記精度条件判定部の動作を繰り返し実行させるモデル化繰返し制御部と、
    を含むことを特徴とする多目的最適化設計支援装置。
  9. 設計パラメータの組を複数組入力して、所定の計算に基づいて同一の又は比較可能な指標で表される複数の目的関数の各値を計算しながら多目的最適化処理を実行することにより、最適な設計パラメータの組の決定を支援する装置であって、
    第1の所定組数の設計パラメータのサンプルの組を、前記複数の目的関数毎の初期の入力設計パラメータサンプル組群として決定する初期入力設計パラメータサンプル組群決定部と、
    前記複数の目的関数毎に、前記入力設計パラメータサンプル組群に対して前記複数の目的関数の各値を計算しながら、前記複数の目的関数をそれぞれ数式近似によりモデル化して第1のモデル化目的関数を算出する第1の目的関数モデル化部と、
    前記複数の目的関数の各値毎に、該値が、精度を要する範囲として指定された値域に含まれるか否か、及び該値を算出した入力設計パラメータサンプル組に対応する他のどの目的関数又は第1のモデル化目的関数の値よりも小さいか否かに応じて、重みを決定する重み決定部と、
    前記入力設計パラメータサンプル組と該サンプル組に対応して計算された前記複数の目的関数の各値とに基づいて、前記複数の目的関数の各値毎に決定された重みに応じたモデル化を行いながら、前記複数の目的関数をそれぞれ数式近似により再度モデル化して第2のモデル化目的関数を算出する第2の目的関数モデル化部と、
    前記複数の第2のモデル化目的関数毎に、前記第2の目的関数モデル化部において計算される各精度情報が指定された精度条件を満たすか否かを判定する精度条件判定部と、
    該精度条件判定部が前記精度条件を満たすとの第1の判定をした場合に、該第1の判定対象とされた第2のモデル化目的関数を、前記最適な設計パラメータの組を計算するための出力モデル化目的関数として決定する出力モデル化目的関数決定部と、
    前記精度条件判定部が前記精度条件を満たさないとの第2の判定をした場合に、前記第1の所定組数よりも多量の第2の所定組数の設計パラメータのサンプルの組に対して、前記第2の判定対象となった第2のモデル化目的関数の各値を計算するモデル化目的関数値計算部と、
    該計算された第2のモデル化目的関数の各値について、該値が、前記精度を要する範囲として指定された値域に含まれ、かつ該値に対応する設計パラメータのサンプルの組から計算される他のどの第2のモデル化目的関数の値よりも小さいときに、該値を算出した前記設計パラメータのサンプルの組を該値の計算に用いた目的関数に対応させて記憶する逆像計算部と、
    前記第2の判定対象となった第2のモデル化目的関数に対応する目的関数毎に、現在の入力設計パラメータサンプル組群と該目的関数に対応して前記逆像計算部にて記憶されている前記設計パラメータのサンプルの組とに基づいて、新たな入力設計パラメータサンプル組群を決定し前記第1の目的関数モデル化部に入力させて、該第1の目的関数モデル化部、前記重み決定部、前記第2の目的関数モデル化部、及び前記精度条件判定部の動作を繰り返し実行させるモデル化繰返し制御部と、
    を含むことを特徴とする多目的最適化設計支援装置。
JP2008294943A 2008-11-18 2008-11-18 Sram形状パラメータ等の多目的最適化設計支援装置、方法、及びプログラム Expired - Fee Related JP5176895B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008294943A JP5176895B2 (ja) 2008-11-18 2008-11-18 Sram形状パラメータ等の多目的最適化設計支援装置、方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008294943A JP5176895B2 (ja) 2008-11-18 2008-11-18 Sram形状パラメータ等の多目的最適化設計支援装置、方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2010122832A JP2010122832A (ja) 2010-06-03
JP5176895B2 true JP5176895B2 (ja) 2013-04-03

Family

ID=42324129

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008294943A Expired - Fee Related JP5176895B2 (ja) 2008-11-18 2008-11-18 Sram形状パラメータ等の多目的最適化設計支援装置、方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP5176895B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5402351B2 (ja) 2009-07-24 2014-01-29 富士通株式会社 多目的最適化設計支援装置、方法、及びプログラム
JP5418409B2 (ja) * 2010-06-01 2014-02-19 富士通株式会社 モデル式生成方法、装置及びプログラム
DE112011103563T8 (de) * 2010-10-27 2013-11-21 Solido Design Automation Inc. Verfahren und System zum Identifizieren von seltenen Fehlerraten
US9858368B2 (en) 2011-07-13 2018-01-02 International Business Machines Corporation Integrating manufacturing feedback into integrated circuit structure design
US20210232738A1 (en) * 2018-06-07 2021-07-29 Nec Corporation Analysis device, analysis method, and recording medium
CN111523168B (zh) * 2020-04-22 2023-01-31 中电建路桥集团有限公司 多工况多目标下液体粘滞阻尼器参数优化方法
JP2023059128A (ja) 2021-10-14 2023-04-26 富士通株式会社 情報処理プログラム、情報処理方法、および情報処理装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09325983A (ja) * 1996-06-06 1997-12-16 Nippon Telegr & Teleph Corp <Ntt> 最適解計算方法
JP2005267025A (ja) * 2004-03-17 2005-09-29 Tsutomu Ukyo 解析モデルの領域抽出システム、方法、プログラム、およびプログラム媒体
JP2008059106A (ja) * 2006-08-30 2008-03-13 Nissan Motor Co Ltd サンプリング生成装置、サンプリング生成プログラムが記録された媒体及びサンプリング生成方法

Also Published As

Publication number Publication date
JP2010122832A (ja) 2010-06-03

Similar Documents

Publication Publication Date Title
JP5176895B2 (ja) Sram形状パラメータ等の多目的最適化設計支援装置、方法、及びプログラム
Kudela et al. Recent advances and applications of surrogate models for finite element method computations: a review
Park et al. Structural optimization based on CAD–CAE integration and metamodeling techniques
JP5282493B2 (ja) 最適解関係表示装置、方法、及びプログラム
US20090326881A1 (en) Multi-objective optimal design improvement support device, its method and storage medium
JP5402351B2 (ja) 多目的最適化設計支援装置、方法、及びプログラム
Karatzas et al. A reduced basis approach for PDEs on parametrized geometries based on the shifted boundary finite element method and application to a Stokes flow
Arendt et al. Objective-oriented sequential sampling for simulation based robust design considering multiple sources of uncertainty
Bonfiglioli et al. Unsteady shock‐fitting for unstructured grids
Trobec et al. Parallel scientific computing: theory, algorithms, and applications of mesh based and meshless methods
JP2014006813A (ja) 性能予測装置、性能予測方法、及びプログラム
Boopathy et al. Unified framework for training point selection and error estimation for surrogate models
JP2011154439A (ja) 最適化処理プログラム、方法及び装置
US20100205574A1 (en) Support apparatus and method
JP2018067124A (ja) シミュレーションプログラム、シミュレーション方法および情報処理装置
JP6219528B2 (ja) シミュレーションシステム、及びシミュレーション方法
JP4871194B2 (ja) パラメータ抽出方法及び当該パラメータ抽出方法を実行させるプログラムを具備するコンピュータ読み取り可能な記憶媒体
KR20090078311A (ko) 수식 처리 기법을 이용한 다목적 최적화 설계 지원 장치, 방법 및 기록 매체
JP3987059B2 (ja) 最適値探索支援装置、最適値探索支援方法、及び記録媒体
JP2014006804A (ja) サンプリング装置、サンプリング方法、近似モデル生成装置、近似モデル生成方法及びプログラム
JP5969836B2 (ja) モデル適用装置、モデル適用方法、及びプログラム
Beguinet et al. Deep learning-based schemes for singularly perturbed convection-diffusion problems
McDonald Development of a high-order finite-volume method for unstructured meshes
JP2020184268A (ja) 演算処理装置、演算処理プログラム、及び演算処理方法
Key et al. Model order reduction for deforming domain problems in a time‐continuous space‐time setting

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110808

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120907

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120925

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121121

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121211

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121224

R150 Certificate of patent or registration of utility model

Ref document number: 5176895

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees