JP6381962B2 - シミュレーションシステム及び方法と該システムを含むコンピュータシステム - Google Patents

シミュレーションシステム及び方法と該システムを含むコンピュータシステム Download PDF

Info

Publication number
JP6381962B2
JP6381962B2 JP2014097682A JP2014097682A JP6381962B2 JP 6381962 B2 JP6381962 B2 JP 6381962B2 JP 2014097682 A JP2014097682 A JP 2014097682A JP 2014097682 A JP2014097682 A JP 2014097682A JP 6381962 B2 JP6381962 B2 JP 6381962B2
Authority
JP
Japan
Prior art keywords
input
distribution
value
simulation
boundary
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.)
Active
Application number
JP2014097682A
Other languages
English (en)
Other versions
JP2014229311A (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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2014229311A publication Critical patent/JP2014229311A/ja
Application granted granted Critical
Publication of JP6381962B2 publication Critical patent/JP6381962B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level
    • G06F30/367Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/08Probabilistic or stochastic CAD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Description

本発明は、シミュレーションシステム及び方法と該システムを含むコンピュータシステムに関する。
自然現象、数理モデルまたは一定以上の複雑度を有するシステム(例えば、伝達関数(Transfer function))が存在するとき、入力による出力の関係を解釈することはシステムを理解する上で必須である。現実的なシステムの解釈のため、計測された分布入力を適用させたとき、出力(Pass、Fail)の確率を分析すると、該当システムを実際に具現することなく、シミュレーション技法により信頼性を持って解釈できる。
しかし、システムの複雑度が増加するほど、1回のシミュレーション時に発生するコンピューティングリソース及び時間費用が大きく、スーパーコンピュータによっても1年以内に得られない状況が発生する。これは解釈しようとする分布の範囲が中心値対比6σ以上になると、最小数十億回のシミュレーションが要求されるからである。
米国特許公報第2010−0217568号公報
本発明が解決しようとする技術的課題は、入力に対する分析速度と信頼性が向上したシミュレーション方法を提供することにある。
本発明が解決しようとする他の技術的課題は、入力に対する分析速度と信頼性が向上したシミュレーションシステムを提供することにある。
本発明が解決しようとするまた他の技術的課題は、該シミュレーションシステムを採用したコンピュータシステムを提供することにある。
本発明の技術的課題は、上述した技術的課題に制限されず、上述以外のまた他の技術的課題は、次の記載から当業者に明確に理解できるであろう。
前記技術的課題を達成するための本発明の一実施形態によるシミュレーション方法は、少なくとも一つのプロセッサが判断モジュール、WCP(Worst Case Point)探索モジュール、及びメインシミュレーションモジュールを実行して解釈を所望する特性値の集合の確率を出力するコンピュータシステムを利用したシミュレーション方法であって、前記プロセッサが、入力のNP(Nominal Point)に対する関数値が第1値である場合、入力に対して入力の原点を基準に入力に対して行う第1シミュレーションを行い、入力のNPに対する関数値が第1値と異なる第2値である場合、入力に対して入力のWCP(Worst Case Point)に基づいて行う第2シミュレーションを行うことを含み、第2シミュレーションの実行は、(a)第2値に対する入力の分布の偏差σの整数倍に設定される分布の境界を第1分布値として設定し、(b)設定した分布境界内で入力サンプルを生成し、(c)生成した入力サンプルに対して機械学習を行うことによって入力に対するWCP(Worst Case Point)を算出し、(d)入力の分布の偏差σの整数倍に設定される分布の境界が最小臨界値になるときまで偏差σの倍数を変化させて入力分布の境界を変化させながら(a)ないし(c)を繰り返すことを含む。
本発明のいくつかの実施形態で、前記第1シミュレーションは、モンテカルロシミュレーション(Monte Carlo Simulation)を含みうる。そして、本発明のいくつかの実施形態で、前記第2シミュレーションは、重点サンプリング法(Importance Sampling)を含みうる。
本発明のいくつかの実施形態で、前記設定した分布境界内で入力サンプルを生成することは、前記設定した分布境界内で均一分布サンプリング(Uniform Distribution Sampling)により前記入力サンプルを生成することを含みうる。
前記技術的課題を達成するための本発明の他の実施形態によるシミュレーション方法は、少なくとも一つのプロセッサが判断モジュール、WCP(Worst Case Point)探索モジュール、及びメインシミュレーションモジュールを実行して解釈を所望する特性値の集合の確率を出力するコンピュータシステムを利用したシミュレーション方法であって、前記プロセッサが、(a)入力の分布の偏差σの整数倍に設定される分布境界を第1分布値として設定し、(b)設定した分布境界内で入力サンプルを生成し、(c)生成した入力サンプルのそれぞれに対して関数値を算出し、(d)入力サンプルと関数値に対して機械学習(machine learning)を行い、境界面を算出し、(e)境界面上で入力に対するWCP(Worst Case Point)を探索し、(f)入力の分布の偏差σの整数倍に設定される分布境界が最小臨界値になるときまで偏差σの倍数を変化させて入力分布の境界を変化させながら(a)ないし(e)を繰り返すことを含む。
本発明のいくつかの実施形態で、前記入力分布の境界を変化させることは、前記入力分布の境界を前記第1分布値から第2分布値に変化させることを含みうる。この際、前記第2分布値は前記第1分布値より小さくてもよい。またこのとき、前記最小臨界値、第1分布値、および第2分布値のうち少なくとも一つはユーザによって設定される値でありうる。
本発明のいくつかの実施形態で、前記設定した分布境界内で入力サンプルを生成することは、前記設定した分布境界内で均一分布サンプリング(Uniform Distribution Sampling)により前記入力サンプルを生成することを含み得る。
本発明のいくつかの実施形態で、前記入力サンプルと関数値に対して機械学習(machine learning)を行い、境界面を算出することは、前記入力サンプルと関数値に対してSVM(Support Vector Machine)を利用して前記境界面を算出することを含みうる。
本発明のいくつかの実施形態で、前記境界面上で前記入力に対するWCPを探索することは、EA(Evolutionary Algorithm)を利用して前記WCPを探索することを含みうる。
前記他の技術的課題を達成するための本発明の一実施形態によるシミュレーションシステムは、少なくとも一つのプロセッサがモジュールを実行して解釈を所望する特性値の集合の確率を出力するコンピュータシステムを利用したシミュレーションシステムであって、前記モジュールは、提供された分布の中心である入力の原点または入力のWCP(Worst Case Point)に基づき所望する特性値の集合の確率を出力する予め定められたシミュレーションを行うメインシミュレーションモジュール、入力のNP(Nominal Point)に対する関数値が第1値である場合、前記NPを前記メインシミュレーションモジュールに提供し、前記入力のNPに対する関数値が前記第1値と異なる第2値である場合WCP(Worst Case Point)探索モジュールに前記入力を提供する判断モジュールと、前記第2値に対する入力の分布の偏差σの整数倍に設定される分布の境界を変化させながら、前記設定した分布境界内で入力サンプルを生成することを繰り返すことによって前記入力に対するWCPを算出し、これを前記メインシミュレーションモジュールに提供するWCP探索モジュールを含む。
本発明のいくつかの実施形態で、前記予め定められたシミュレーションはモンテカルロシミュレーション(Monte Carlo Simulation)を含みうる。
本発明のいくつかの実施形態で、前記設定した分布境界内で入力サンプルを生成することは、前記設定した分布境界内で均一分布サンプリング(Uniform Distribution Sampling)により、前記入力サンプルを生成することを含みうる。
本発明のいくつかの実施形態で、前記WCP探索モジュールが、前記第2値に対する入力の分布の偏差σの整数倍に設定される分布の境界を変化させながら、前記設定した分布境界内で入力サンプルを生成することを繰り返すことによって前記入力に対するWCPを算出することは、(a)入力の分布境界を第1分布値として設定し、(b)前記設定した分布境界内で入力サンプルを生成し、(c)前記生成した入力サンプルのそれぞれに対して関数値を算出し、(d)入力サンプルと関数値に対して機械学習(machine learning)を行い、境界面を算出し、(e)前記境界面上で前記入力に対するWCP(Worst Case Point)を探索し、(f)前記入力の分布の偏差σの整数倍に設定される分布境界が最小臨界値になるときまで偏差σの倍数を変化させて前記入力分布の境界を変化させながら前記(a)ないし(e)を繰り返すことを含みうる。
この際、本発明のいくつかの実施形態で、前記入力分布の境界を変化させることは、前記入力分布の境界を前記第1分布値から第2分布値に変化させることを含みうる。このとき、前記第2分布値は前記第1布値より小さくてもよい。またこのとき、前記最小臨界値、第1分布値、および第2分布値のうち少なくとも一つはユーザによって設定される値でありうる。
本発明のいくつかの実施形態で、前記入力サンプルと関数値に対して機械学習(machine learning)を行い、境界面を算出することは、前記入力サンプルと関数値に対してSVM(Support Vector Machine)を利用して前記境界面を算出することを含みうる。
本発明のいくつかの実施形態で、前記境界面上で前記入力に対するWCPを探索することは、EA(Evolutionary Algorithm)を利用して前記WCPを探索することを含みうる。
本発明のいくつかの実施形態で、前記メインシミュレーションモジュール、判断モジュール、およびWCP探索モジュールは少なくとも一つのプロセッサによって駆動されうる。
前記また他の技術的課題を達成するための本発明の一実施形態によるコンピュータシステムは、プログラムコードを実行して解釈を所望する特性値の集合の確率を出力するシミュレーションを行う少なくとも一つのプロセッサ、および前記プロセッサを利用して入力に対するシミュレーションを行うプログラムコードが保存された保存部を含み、入力のNP(Nominal Point)に対する関数値が第1値である場合、前記入力に対して入力の原点を基準に入力に対して行う第1シミュレーションを行い、前記入力のNPに対する関数値が前記第1値と異なる第2値である場合、前記入力に対して入力のWCP(Worst Case Point)に基づいて行う第2シミュレーションを行うことを含み、前記第2シミュレーションの実行は、(a)前記第2値に対する入力の分布の偏差σの整数倍に設定される分布の境界を第1分布値として設定し、(b)前記設定した分布境界内で入力サンプルを生成し、(c)前記生成した入力サンプルに対して機械学習を行うことによって前記入力に対するWCP(Worst Case Point)を算出し、(d)前記入力の分布の偏差σの整数倍に設定される分布の境界が最小臨界値になるときまで偏差σの倍数を変化させて前記入力分布の境界を変化させながら前記(a)ないし(c)を繰り返すことを含む。
本発明のいくつかの実施形態で、前記第1シミュレーションはモンテカルロシミュレーション(Monte Carlo Simulation)を含み、前記第2シミュレーションは重点サンプリング法(Importance Sampling)を含みうる。
本発明のいくつかの実施形態で、前記入力分布の境界を変化させることは、前記入力分布の境界を前記第1分布値から第2分布値に変化させることを含み、前記設定した分布境界内で入力サンプルを生成することは、前記設定した分布境界内で均一分布サンプリング(Uniform Distribution Sampling)により、前記入力サンプルを生成することを含みうる。このとき、前記第2分布値は前記第1分布値より小さくてもよい。
その他実施形態の具体的な内容は発明の詳細な説明及び図面に含まれている。
本発明のいくつかの実施形態によるシミュレーションシステムのブロック図。 図1に示すシミュレーションシステムの詳細ブロック図。 本発明のいくつかの実施形態によるシミュレーション方法を説明するための順序図。 本発明のいくつかの実施形態によるシミュレーション方法を説明するための図。 本発明のいくつかの実施形態によるシミュレーション方法を説明するための図。 本発明のいくつかの実施形態によるシミュレーション方法を説明するための図。 本発明のいくつかの実施形態によるシミュレーション方法を説明するための図。 本発明のいくつかの実施形態によるシミュレーション方法を説明するための図。 本発明のいくつかの実施形態によるシミュレーション方法を説明するための図。 本発明のいくつかの実施形態によるシミュレーション方法を説明するための図。 本発明のいくつかの実施形態によるシミュレーション方法を説明するための図。 本発明のいくつかの実施形態によるシミュレーション方法を説明するための図。 本発明のいくつかの実施形態によるシミュレーション方法を説明するための図。 本発明のいくつかの実施形態によるシミュレーション方法を説明するための図。 本発明のいくつかの実施形態によるシミュレーションシステムが採用されたコンピュータシステムの一例。
本発明の利点及び特徴、これらを達成する方法は添付する図面と共に詳細に後述する実施形態において明確になるであろう。しかし、本発明は、以下で開示する実施形態に限定されるものではなく、互いに異なる多様な形態で実現されるものであり、本実施形態は、単に本発明の開示を完全にし、本発明が属する技術分野で通常の知識を有する者に発明の範疇を完全に知らせるために提供されるものであり、本発明は、特許請求の範囲によってのみ定義される。図面に表示する構成要素のサイズおよび相対的なサイズは説明を明瞭するため、誇張したものであり得る。明細書全体にかけて同一参照符号は同一構成要素を指称し、「および/または」は、言及されたアイテムのそれぞれおよび一つ以上のすべての組合せを含む。
一つの素子(elements)が他の素子と「接続された(connected to)」または「カップリングされた(coupled to)」と指称されるものは、他の素子と直接連結またはカップリングされた場合または中間に他の素子が介在する場合をすべて含む。反面、一つの素子が他の素子と「直接接続された(directly connected to)」または「直接カップリングされた(directly coupled to)」と指称されるものは中間に他の素子が介在しないことを示す。
本明細書で使用される用語は実施形態を説明するためのものであり、本発明を制限しようとするものではない。本明細書で、単数は文言で特に言及しない限り複数も含む。明細書で使用される「含む(comprises)」および/または「含む(comprising)」は言及された構成要素、段階、動作および/または素子は一つ以上の他の構成要素、段階、動作および/または素子の存在または追加を排除しない。
第1、第2などが複数の素子、構成要素を叙述するために使用されるが、これら素子、構成要素はこれらの用語によって制限されないことはいうまでもない。これらの用語は、単に一つ構成要素を他の構成要素と区別するために使用するものである。したがって、以下で言及される第1構成要素は本発明の技術的思想内で第2構成要素であり得ることは勿論である。
他に定義されなければ、本明細書で使用されるすべての用語(技術および科学的用語を含む)は、本発明が属する技術分野で通常の知識を有する者が共通に理解できる意味として使用され得る。また一般に使用される辞書に定義されている用語は明白に特別に定義されていない限り理想的にまたは過度に解釈してはならない。
図1は、本発明のいくつかの実施形態によるシミュレーションシステムのブロック図である。図2は、図1に示すシミュレーションシステムの詳細ブロック図である。
図1を参照すると、本発明のいくつかの実施形態によるシミュレーションシステム100には任意の平均(μ)と偏差(σ)を有するn(ここで、nは自然数)個の入力(X1〜Xn)が提供される。ここで、n個の入力は特定回路を分析するのに必要なn個の入力変数でありうる。
例えば、本発明のいくつかの実施形態によるシミュレーションシステム100が図1に示すようにDRAM(Dynamic Random Access Memory)セルの収率を分析するシステムであれば、シミュレーションシステム100にはDRAMセルと関連する複数のパラメータ(例えば、ネットリスト(net list)、特性値など)とDRAMセルの特性を決定する任意の平均(μ)と偏差(σ)を有するn個の入力(X1〜Xn)が提供されうる。このようなn個の入力(X1〜Xn)の例としてはセルトランジスタ(CTR)のゲート酸化膜の厚さ、しきい電圧(threshold voltage)などが挙げられるが、本発明がこのような例示に制限されるものではない。
一方、シミュレーションシステム100は提供されたn個の入力(X1〜Xn)に対してシミュレーションを行い、結果であるyは下の[数1]に図式化できる。
Figure 0006381962
ここで、入力(X1〜Xn)は伝達関数(f)により結果値yを導き出し、結果値yは失敗の範囲を有する。一方、yのパス、フェイルを定義するために表示関数[数2]が定義される。[数2]によって表示関数値(I(y))が演算され、解釈を所望する特性値の集合の確率が出力される。
Figure 0006381962
(ここで、Fは失敗(fail)集合を意味し、表示関数I(y)の関数値1はフェイル(fail)を意味し、表示関数I(y)の関数値−1はパス(pass)を意味する。)
すなわち、シミュレーションシステム100は、提供されたn個の入力(X1〜Xn)に基づき図1に示すDRAMセルの不良率(P)を出力できる。以下で使用される関数値という用語は別途の説明がない限り前記表示関数値として理解される。しかし、本発明がこれに制限されるものではない。
このようなシミュレーションシステム100は、判断モジュール110、WCP(Worst Case Point)探索モジュール120、およびメインシミュレーションモジュール140を含みうる。
本実施形態で使用される「部」または「モジュール」という用語は、ソフトウェアまたはSoCまたはASICのようなハードウェア構成要素を意味し、「部」または「モジュール」はある役割を果たす。しかし、「部」または「モジュール」はソフトウェアまたはハードウェアに限定される意味ではない。「部」または「モジュール」はアドレッシングできる保存媒体にあるように構成され得、一つまたはそれ以上のプロセッサを再生させるように構成されうる。したがって、一例として「部」または「モジュール」はソフトウェア構成要素、オブジェクト指向ソフトウェア構成要素、クラス構成要素及びタスク構成要素のような構成要素と、プロセス、関数、属性、プロシーザ、サブルーチン、プログラムコードのセグメント、ドライバ、ファームウェア、マイクロコード、回路、データ、データベース、データ構造、テーブル、アレイ、および変数を含みうる。構成要素と「部」または「モジュール」から提供される機能はさらに小さい数の構成要素及び「部」または「モジュール」に結合されたり、追加的な構成要素と「部」または「モジュール」にさらに分離されうる。
判断モジュール110は、入力(Xi、X1≦Xi≦Xn)のNP(Nominal Point)に対する表示関数値(I(Xi))がいかなる値であるかによって入力(Xi)に対するシミュレーション方法を決めるモジュールである。具体的には、判断モジュール110は入力(Xi)のNP(本実施形態で、NPは例えば、入力(Xi)の平均値(μi)である)に対する表示関数値(I(XiNP))が第1値(例えば、1)である場合、原点(ZPと、Zero Point)を基準に入力(Xi、X1≦Xi≦Xn)に対してメインシミュレーションが遂行されるように原点(ZP)をメインシミュレーションモジュール140に提供し、入力(Xi)のNPに対する表示関数値(I(XiNP))が第2値(例えば、−1)である場合、入力(Xi)に対するWCP(Worst Case Point)を探索するため、入力(Xi)をWCP探索モジュール120に提供できる。
任意の入力(Xi)のNPが例えば、フェイル(fail)である場合(すなわち、表示関数値(I(XiNP))が1である場合)、このような入力(Xi)に対しては比較的回数の少ないサンプリングだけでも十分に多くの数のフェイル入力(Xi)を生成できる。しかし、入力(Xi)のNPが例えば、パス(pass)である場合(すなわち、関数値(I(XiNP))が−1である場合)は、分析に十分な数のフェイル入力(Xi)を生成するため、どれほど多くのサンプリングを行わなくてはならないのか分からない。極端な場合、例えば、フェイル入力(Xi)の分布がNP対比6σ以上であれば、例えば、380/z(−6)=3.85*1011回のサンプリングまたはシミュレーションを行わなければならない。
したがって、本発明のいくつかの実施形態によるシミュレーションシステム100は、このように入力(Xi)のNPに対する関数値(I(Xi))が如何なる値であるかによって入力(Xi)に対するシミュレーション方法を決める判断モジュール110を含むことによって、このように多くの回数のサンプリングが行わなければならない場合を事前に防止する。すなわち、判断モジュール110によって、入力(Xi)の分布(PDF(Xi))により入力(Xi)に対するシミュレーション方法を変えることによって、極端にシミュレーション回数を増加しなければならないケースを避けられる。したがって、全体シミュレーションシステム100の分析速度が向上されうる。
WCP探索モジュール120は、提供された入力(Xi)に対して分布境界を変化させながら設定した分布境界内で入力サンプルを生成することを繰り返すことによって入力(Xi)に対するWCP(Worst Case Point)を算出し、これをメインシミュレーションモジュール140に提供できる。本発明のいくつかの実施形態で、WCP探索モジュール120は入力(Xi)に対するWCPをより正確に探索するため、提供された入力(Xi)に対して分布境界を減少させながら設定した分布境界内で入力サンプルを生成することを繰り返す。このように、入力(Xi)に対して分布境界を減少させながら設定した分布境界内で入力サンプルを生成することを繰り返す場合、入力(Xi)に対するWCPがより正確に探索される。これに関するより具体的な説明は後述する。
一方、本発明のいくつかの実施形態で、WCP探索モジュール120が行うサンプリングは例えば、均一分布サンプリング(Uniform Distribution Sampling)を含みうる。このような均一分布サンプリングに対する具体的な説明も後述する。
メインシミュレーションモジュール140は、提供された分布の中心(例えば、入力(Xi)の原点(ZP)または入力(Xi)のWCP)に基づき予め定められたシミュレーションを行うことができる。ここで、予め定められたシミュレーションは例えば、モンテカルロシミュレーション(Monte Carlo Simulation)を含みうる。すなわち、メインシミュレーションモジュール140は、提供された入力(Xi)を対象にモンテカルロシミュレーションを行い、特定関数値(例えば、−1)が存在する確率(P)を出力する。一方、提供された入力(Xi)に対してWCPが算出された場合、メインシミュレーションモジュール140は入力(Xi)に対してモンテカルロシミュレーションを行うが、WCPが探索される過程で生成された補正係数(W)を考慮し、モンテカルロシミュレーションを行うことができる。このようなメインシミュレーションモジュール140に対する具体的な説明も後述する。
以下、図3ないし図10を参照して本発明のいくつかの実施形態によるシミュレーション方法について説明する。
図3は、本発明のいくつかの実施形態によるシミュレーション方法を説明するための順序図である。図4Aないし図10は、本発明のいくつかの実施形態によるシミュレーション方法を説明するための図である。
先に、図3を参照すると、入力のNP(Nominal Point)に対する関数値がフェイル(fail)であるかどうかを判断する(S100)。その結果、入力のNPに対する関数値がフェイルであれば、入力に対してメインシミュレーションを行う(S180)。
具体的には図2を参照すると、判断モジュール110は入力分布(PDF(Xi))のNPに対する関数値(I(XiNP))がフェイルであれば(例えば、1)、メインシミュレーションモジュール140に入力(Xi)の分布中心に原点(ZP)を提供し、メインシミュレーションモジュール140は提供された分布の中心に基づき入力(Xi)に対して例えば、モンテカルロシミュレーションを行うことができる。
さらに一層具体的には、判断モジュール110は図4Aに示すように入力(Xj、Xk)のNPに対する関数値がフェイル(fail)である場合、メインシミュレーションモジュール140に入力(Xj、Xk)の分布中心に原点(ZP)を提供し、メインシミュレーションモジュール140は入力(Xj、Xk)に対して提供された分布の中心に基づき例えば、モンテカルロシミュレーションを行うことができる。本発明のいくつかの実施形態で、入力(Xi、Xk)のNPと入力(Xi、Xk)の原点(ZP)は互いに同じである場合もある。しかし、本発明がこれに制限されるものではなく、入力(Xi、Xk)のNPと入力(Xi、Xk)の原点(ZP)が互いに異なるようにいくらでも変形して実施することも可能である。
一方、図4Aにはシミュレーションシステム100の入力として二つの入力(Xj、Xk)が示されているが、本発明がこれに制限されるものではない。すなわち、図4Aに二つの入力(Xj、Xk)のみを示すのは、本実施形態によるシミュレーション方法に対する理解を高めるためであり、シミュレーションシステム100に提供される入力の個数は示すものと異なりいくらでも変更できる。例えば、シミュレーションシステム100に提供される入力の個数が三つであれば、三つの入力変数が形成する領域は図4Aのような平面ではなく、立体的な空間となる。
再び、図3を参照すると、これとは異なって、入力のNPに対する関数値がパス(pass)であれば、このような入力に対してモンテカルロシミュレーションを行う場合、最悪の場合、サンプリング回数またはシミュレーション回数が現実的に処理不可能なほど大きくなる場合が発生しうる。したがって、本実施形態では、この場合、例えば、重点サンプリング法(Importance Sampling)によりシミュレーションを行う。
重点サンプリング法のためには入力(Xj、Xk)のWCP(Worst Case Point)またはシフトベクトル(Shift Vector)を知らなければならない。したがって、入力(Xj、Xk)のNPに対する関数値が図4Bに示すようにパス(pass)である場合、判断モジュール110はWCP探索モジュール120が入力(Xj、Xk)に対するWCPを探索することができように、WCP探索モジュール120に入力(Xj、Xk)を提供する。これによって、WCP探索モジュール120は以下で説明する過程により入力(Xj、Xk)のWCPを探索することができる。
図3を参照すると、先ず、入力(Xj、Xk)の分布境界を第1分布値(Si)に設定する(S110)。本発明のいくつかの実施形態でこのような第1分布値(Si)としては例えば、8σが選択されるが、本発明がこれに制限されるものではない。また、本発明のいくつかの実施形態で、このような第1分布値(Si)は座標を有する2次元以上の値でありうるが、本発明がこれに制限されるものではない。
次いで、図3を参照すると、設定した分布境界内で入力サンプルを生成する(S120)。本発明のいくつかの実施形態で、このように入力(Xj、Xk)サンプルを生成することには例えば、均一分布サンプリング(Uniform Distribution Sampling)が使用されうる。このように均一分布サンプリングにより入力(Xj、Xk)サンプルを生成する場合、入力(Xj、Xk)サンプルの分布は、図5に示すように均一に生成されうる。図5で△で表示した各入力(Xj、Xk)サンプルはまだ各入力(Xj、Xk)サンプルに対して関数値が算出されていない状態であることを意味し、各入力(Xj、Xk)サンプルの境界は−8σと8σになる。
次に図3を参照すると、生成した各入力(Xj、Xk)サンプルに対して関数値を算出する(S130)。具体的には前述した[数2]で説明した表示関数I(y)を利用してそれぞれの入力(Xj、Xk)サンプルに対して関数値を算出する。図6は、それぞれのサンプルに対して前述した[数2]で説明した表示関数I(y)を利用して関数値が算出された状態を示している。ここで、X表示は関数値が1であるフェイル状態を意味し、O表示は関数値が−1であるパス状態を意味する。
次に、図3を参照すると、生成した入力サンプルと算出された関数値に対して機械学習(machine learning)を行い、境界面を算出する(S140)。本発明のいくつかの実施形態で、このような境界面算出過程にはSVM(Support Vector Machine)が使用されうる。また本発明のいくつかの実施形態で、このような境界面は例えば、曲面でありうるが、本発明がこれに制限されるものではない。
図7は、SVMを利用して機械学習を行うことによって算出された関数値を区分する境界面(PL)が算出されたものが示されている。図7では境界面(PL)が曲線である形態を示しているが、算出された関数値によって境界面(PL)の形態は直線になる場合もあり、入力(Xj、Xk)サンプルの個数が示されたものより多くなる場合は立体的な形状に算出される場合もある。
次に図3を参照すると、算出された境界面上で入力に対するWCPを探索する(S150)。本実施形態で、このように算出された境界面(PL)上で入力(Xj、Xk)に対するWCPを探索することには例えば、EA(Evolutionary Algorithm)が使用されうる。具体的には、図8を参照すると、例えば、EA(Evolutionary Algorithm)を使用し、境界面(PL)上の候補ポイント(P1,P2)のうち原点(0,0)から最短距離に配置されたポイントをWCPとして選択する。
再び図3を参照すると、設定した入力の分布境界が最小臨界値であるかどうかを判断する(S160)。その結果、入力の分布境界が最小臨界値(St)ではないと、入力の分布境界を第2分布値(Si/2)に減少させた後(S170)、入力の分布境界が最小臨界値(St)になるまで前述した過程(S120〜S160)を繰り返す。本発明のいくつかの実施形態で、このような最小臨界値(St)は有理数の範囲で決定されるが、本発明がこれに制限されるものではない。
本発明のいくつかの実施形態で、入力(Xj、Xk)の分布境界最小臨界値(St)はσに設定され得、この際、入力の分布境界は示しているように徐々に減る。以下では図9Aないし図9Dを参照してこのような過程によりWCPが探索される過程についてさらに具体的に説明する。
先に、図9Aを参照すると、入力(Xj、Xk)の分布境界を8σに設定する(S110)。また、前述したS120,S130の段階を行うと、入力(Xj、Xk)サンプルの関数値は示すように原点(0,0)を中心に8σの間に配置される。ここに、前述したS140,S150の段階を行うことによって、第1WCP(WCP1)を探索する。
次に、図9Bを参照すると、入力(Xj、Xk)の分布境界を第1WCP(図9AのWCP1)を中心に4σに減少させ(S170)、前述したS120,S130の段階を行う。そうすると、入力(Xj、Xk)サンプルの関数値は示すように第1WCP(図9AのWCP1)を中心に4σの間に配置される。ここに、前述したS140,S150の段階を行うことによって、第2WCP(WCP2)を探索する。
次に、図9Cを参照すると、入力(Xj、Xk)の分布境界を第2WCP(図9BのWCP2)を中心に2σに減少させ(S170)、前述したS120,S130の段階を行う。そうすると、入力(Xj、Xk)サンプルの関数値は示すように第2WCP(図9BのWCP2)を中心に2σの間に配置される。ここに、前述したS140,S150の段階を行うことによって、第3WCP(WCP3)を探索する。
次に、図9Dを参照すると、入力(Xj、Xk)の分布境界を第3WCP(図9CのWCP3)を中心にσに減少させ(S170)、前述したS120,S130の段階を行う。そうすると、入力(Xj、Xk)サンプルの関数値は示すように第3WCP(図9CのWCP3)を中心にσの間に配置される。ここに、前述したS140,S150の段階を行うことによって、第4WCP(WCP4)を探索する。
ここで、入力(Xj、Xk)の分布境界が最小臨界値(St)であるσであるため、探索された第4WCP(WCP4)は入力(Xj、Xk)の最終WCPとなる。したがって、図2を参照すると、WCP探索モジュール120は探索されたWCPと入力分布の中心移動による補正係数(W)をメインシミュレーションモジュール140に提供する。
本発明のいくつかの実施形態で、最小臨界値(St)、第1分布値(Si)、および第1分布値(Si)が減少して設定される第2分布値(Si/2)のうち少なくとも一つはユーザによって任意に設定される。
一方、以上では第2分布値(Si/2)が第1分布値(Si)から減少して設定される例を説明したが、本発明がこのような例示に制限されるものではない。本発明の他のいくつかの実施形態で、第2分布値(Si/2)は第1分布値(Si)から増加して設定される場合もある。また、本発明のまた他のいくつかの実施形態で、第2分布値(Si/2)と第1分布値(Si)は互いに同じに設定されうる。それぞれの場合、最小臨界値(St)は前述した実施形態と異なるように設定するようにいくらでも変形して設定しうる。
次に、図3を参照すると、メインシミュレーションを行う(S170)。具体的には、図2及び図10を参照すると、メインシミュレーションモジュール140は探索されたWCPを中心に入力(Xj、Xk)に対して例えば、モンテカルロシミュレーションを行うが、WCP探索モジュール120から提供された補正係数(W)に基づきシミュレーション結果に補正を行うことができる。
このように本実施形態によるシミュレーションシステム及び方法では、入力の特性を考慮して入力に対するシミュレーション方法を異なるようにする。具体的には、入力のNPに対する関数値がフェイルである場合は、比較的小さい回数のサンプリングによっても十分多くの数のフェイル入力を生成できるため、入力の原点を分布中心にモンテカルロシミュレーションを行い、入力のNPに対する関数値がパスである場合は、シミュレーション時間が極端に増加する最悪の場合を避けるため、重点サンプリング法を利用して入力に対するシミュレーションを行う。これによって、入力の特性によってシミュレーション時間が極端に大きくなることを事前に予防できる。
以下の[表1]は、前述した本発明のいくつかの実施形態によるシミュレーションシステム(図1の100)の性能を説明するため、入力の失敗比率(failure rate)に応じてサンプリングまたはシミュレーションが行うべき回数(Run no.)を比較した実験の結果である。
ここで、入力(1)〜(5)は入力分布が正規分布に従うように設定しており、実験で信頼水準は95%に設定した。Xは入力(1)〜(5)に対してモンテカルロシミュレーションを行った結果であり、Yは入力(1)〜(5)に対して前述した本発明のいくつかの実施形態によるシミュレーション方法を行った結果であり、Zは入力(1)〜(5)に対して前述した本発明のいくつかの実施形態と異なるシミュレーション方法(例えば、クラスタリング(clustering)技法を適用したシミュレーション方法)を行った結果である。
Figure 0006381962
[表1]を参照すると、入力の失敗比率(failure rate)が小さくなるほどXのシミュレーション回数は幾何級数的に増加するが、Yのシミュレーション回数はほぼ一定で、増加しないことが分かる。一方、類似する失敗比率(failure rate)を有する入力に対してXのシミュレーション回数はYのシミュレーション回数より小さいことが分かる。すなわち、前述した本発明のいくつかの実施形態によるシミュレーションシステム及び方法は、入力の特性によってシミュレーション時間が極端的に大きくなることを事前に予防できる。
一方、重点サンプリング法を効率的に行うためには入力に対するWCPを正確に探索することが必要である。したがって、本実施形態では入力に対するWCPを正確に探索するため、入力の分布境界を徐々に減らしながら入力に対するWCPを探索する。このように探索した入力に対するWCPはその正確性が非常に高くなるため、シミュレーション結果の信頼性が大きく向上する。
以下、図11を参照して本発明のいくつかの実施形態によるシミュレーションシステムが採用されたコンピュータシステムについて説明する。
図11は、本発明のいくつかの実施形態によるシミュレーションシステムが採用されたコンピュータシステムの一例である。
図11を参照すると、前述した本発明のいくつかの実施形態によるシミュレーションシステム(図1の100)は例えば、ソフトウェア(software)などで実現され、示しているようなコンピュータシステム1001に採用されうる。
コンピュータシステム1001は、中央処理処置(Central Processing Unit、1000)、AGPコントローラ(Accelerated Graphics Port、1010)、メインメモリ1100、ストレージ(例えば、SSD、HDDなど、1040)、バス1020、キーボードコントローラ1060、およびプリンタコントローラ1050などを含みうる。図11では、コンピュータシステム1001に含まれる一部構成要素のみを示しているが、本発明がこれに制限されるものではなく、コンピュータシステム1001に含まれる構成要素はいくらでもさらに追加したり、図11に示す構成から省略できる。
図11に示すコンピュータシステム1001は半導体素子シミュレーションに利用される事務用コンピュータまたはノートブックコンピュータなどのブロック図でありうる。また、本発明の他のいくつかの実施形態で、図11に示すコンピュータシステム1001は複数のプロセッサにより駆動されるマルチプロセッサ環境のコンピュータシステム1001でありうる。しかし、本発明がこれに制限されるものではなく、コンピュータシステム1001の例示はいくらでも変形できる。
コンピュータシステム1001で中央処理処置1000、AGPコントローラ1010、メインメモリ1100、ストレージ1040、キーボードコントローラ1060、プリンタコントローラ1050、および各種周辺装置などはバス1020に接続されうる。しかし、本発明がこれに制限されるものではなく、バス1020は中央処理処置1000に含まれた形態に変形できる。
AGPコントローラ1010は、3次元グラフィック表現を高速実現できるようにするバス規格であり得、AGPコントローラ1010はモニターイメージを再生するビデオカードなどを含みうる。
中央処理処置1000は、コンピュータシステム1001の駆動に必要な各種演算を行い、またOS及びアプリケーションを実行する。図11では1つの中央処理処置1000を示しているが、中央処理処置1000の数はいくらでも変形できる。
メインメモリ1100は、中央処理処置1000の動作を行うのに必要なデータをストレージ1040からローディングして保存する。このようなメインメモリ1100を実現するメモリの例示としては、DRAM(Random Access Memory)が挙げられるが、本発明がこのような例示に制限されるものではない。
ストレージ1040は、データなどを保存する大容量データ保存装置であって、例えば、HDD、SSDなどコンピュータで判読可能な記録媒体で実現されるが、本発明がこのような例示に制限されるものではない。また、本実施形態によるコンピュータシステム1001ではストレージ1040がバス1020に接続される構造を示しているが、本発明がこれに制限されるものではなく、ストレージ1040が中央処理処置1000に直接連結される構造に変形することもできる。
本実施形態によるコンピュータシステム1001が例えば、ソフトウェアなどで実現されたシミュレーションシステム(図1の100)を採用する場合、シミュレーションシステム(図1の100)は例えば、ストレージ1040に示すように保存されうる。
具体的には、ストレージ1040には本発明のいくつかの実施形態によるシミュレーションシステム(図1の100)を構成する判断モジュール(図2の110)、WCP(Worst Case Point)探索モジュール(図2の120)、およびメインシミュレーションモジュール(図2の140)がそれぞれモジュール別に実現され保存されている。
このようにストレージ1040に保存された各モジュール(110,120,140)は例えば、メインメモリ1100にローディングされ、中央処理処置1000により処理されることによって、シミュレーションシステム(図1の100)の最終出力である確率値(図1のP)が出力されうる。
次に、本発明のいくつかの実施形態によるシミュレーション方法を実現するためのプログラムを記録した記録媒体について説明する。
本発明のいくつかの実施形態によるシミュレーション方法を実現するためのプログラムを記録した記録媒体は例えば、コンピュータハードディスク、フロッピー(登録商標)ディスク、3.5インチディスク、コンピュータストレージテープ、磁気ドラム(magnetic drums)、SRAMセル、DRAMセル、電気的に消去可能なセル(EEPROM cell、EPROM cell、flash cell)、不揮発性セル、強誘電体メモリ、強磁性体メモリ、コンパクトディスク(CD)、レーザディスク、光学ディスクでありうる。しかし、本発明がこれに制限されるものではなく、コンピュータを利用して読み取り可能な保存媒体は如何なるものでも本発明のいくつかの実施形態によるシミュレーション方法を実現するためのプログラムを記録した記録媒体になる。
以上、添付した図面を参照して本発明の実施形態について説明したが、本発明は、前記実施形態に限定されるものではなく、互いに異なる多様な形態で製造され得、本発明が属する技術分野で通常の知識を有する者は、本発明の技術的思想や必須の特徴を変更せずに他の具体的な形態で実施され得ることを理解できるであろう。したがって、上記実施形態はすべての面で例示的なものであり、限定的なものではないと理解しなければならない。
100 シミュレーションシステム
110 判断モジュール
120 WCP探索モジュール
140 メインシミュレーションモジュール

Claims (25)

  1. 少なくとも一つのプロセッサが判断モジュール、WCP(Worst Case Point)探索モジュール、及びメインシミュレーションモジュールを実行して解釈を所望する特性値の集合の確率を出力するコンピュータシステムを利用したシミュレーション方法であって、
    前記プロセッサが、
    入力のNP(Nominal Point)に対する関数値が第1値である場合、前記入力に対して入力の原点を基準に入力に対して行う第1シミュレーションを行い、
    前記入力のNPに対する関数値が前記第1値と異なる第2値である場合、前記入力に対して入力のWCP(Worst Case Point)に基づいて行う第2シミュレーションを行うことを含み、
    前記第2シミュレーションの実行は、
    (a)前記第2値に対する入力の分布の偏差σの整数倍に設定される分布の境界を第1分布値として設定し、
    (b)前記設定した分布境界内で入力サンプルを生成し、
    (c)前記生成した入力サンプルに対して機械学習を行うことによって前記入力に対するWCP(Worst Case Point)を算出し、
    (d)前記入力の分布の偏差σの整数倍に設定される分布の境界が最小臨界値になるまで偏差σの倍数を変化させて前記入力分布の境界を変化させながら前記(a)ないし(c)を繰り返すことを含むシミュレーション方法。
  2. 前記第1シミュレーションは、モンテカルロシミュレーション(Monte Carlo Simulation)を含む請求項1に記載のシミュレーション方法。
  3. 前記第2シミュレーションは、重点サンプリング法(Importance Sampling)を含む請求項に記載のシミュレーション方法。
  4. 前記設定した分布境界内で入力サンプルを生成することは、前記設定した分布境界内で均一分布サンプリング(Uniform Distribution Sampling)により前記入力サンプルを生成することを含む請求項1に記載のシミュレーション方法。
  5. 少なくとも一つのプロセッサが判断モジュール、WCP(Worst Case Point)探索モジュール、及びメインシミュレーションモジュールを実行して解釈を所望する特性値の集合の確率を出力するコンピュータシステムを利用したシミュレーション方法であって、
    前記プロセッサが、
    (a)入力の分布の偏差σの整数倍に設定される分布境界を第1分布値として設定し、
    (b)前記設定した分布境界内で入力サンプルを生成し、
    (c)前記生成した入力サンプルのそれぞれに対して関数値を算出し、
    (d)入力サンプルと関数値に対して機械学習(machine learning)を行い、境界面を算出し、
    (e)前記境界面上で前記入力に対するWCP(Worst Case Point)を探索し、
    (f)前記入力の分布の偏差σの整数倍に設定される分布境界が最小臨界値になるまで偏差σの倍数を変化させて前記入力分布の境界を変化させながら前記(a)ないし(e)を繰り返すことを含むシミュレーション方法。
  6. 前記入力分布の境界を変化させることは、前記入力分布の境界を前記第1分布値から第2分布値に変化させることを含む請求項5に記載のシミュレーション方法。
  7. 前記第2分布値は前記第1分布値より小さいことを含む請求項6に記載のシミュレーション方法。
  8. 前記最小臨界値、第1分布値、および第2分布値のうち少なくとも一つはユーザによって設定される値であることを含む請求項6に記載のシミュレーション方法。
  9. 前記設定した分布境界内で入力サンプルを生成することは、前記設定した分布境界内で均一分布サンプリング(Uniform Distribution Sampling)により前記入力サンプルを生成することを含む請求項5に記載のシミュレーション方法。
  10. 前記入力サンプルと関数値に対して機械学習(machine learning)を行い、境界面を算出することは、前記入力サンプルと関数値に対してSVM(Support Vector Machine)を利用して前記境界面を算出することを含む請求項5に記載のシミュレーション方法。
  11. 前記境界面上で前記入力に対するWCPを探索することは、EA(Evolutionary Algorithm)を利用して前記WCPを探索することを含む請求項5に記載のシミュレーション方法。
  12. 少なくとも一つのプロセッサがモジュールを実行して解釈を所望する特性値の集合の確率を出力するコンピュータシステムを利用したシミュレーションシステムであって、
    前記モジュールは、
    提供された分布の中心である入力の原点または入力のWCP(Worst Case Point)に基づき所望する特性値の集合の確率を出力する予め定められたシミュレーションを行うメインシミュレーションモジュールと、
    入力のNP(Nominal Point)に対する関数値が第1値である場合、前記入力に対する原点を前記メインシミュレーションモジュールに提供し、前記入力のNPに対する関数値が前記第1値と異なる第2値である場合、WCP(Worst Case Point)探索モジュールに前記入力を提供する判断モジュールと、
    前記第2値に対する入力の分布の偏差σの整数倍に設定される分布の境界を変化させながら前記設定した分布境界内で入力サンプルを生成することを繰り返すことによって前記入力に対するWCPを算出し、これを前記メインシミュレーションモジュールに提供するWCP探索モジュールを含むシミュレーションシステム。
  13. 前記予め定められたシミュレーションはモンテカルロシミュレーション(Monte Carlo Simulation)を含む請求項12に記載のシミュレーションシステム。
  14. 前記設定した分布境界内で入力サンプルを生成することは、前記設定した分布境界内で均一分布サンプリング(Uniform Distribution Sampling)により前記入力サンプルを生成することを含む請求項12に記載のシミュレーションシステム。
  15. 前記WCP探索モジュールが、前記第2値に対する入力の分布の偏差σの整数倍に設定される分布の境界を変化させながら前記設定した分布境界内で入力サンプルを生成することを繰り返すことによって前記入力に対するWCPを算出することは、
    (a)入力の分布境界を第1分布値として設定し、
    (b)前記設定した分布境界内で入力サンプルを生成し、
    (c)前記生成した入力サンプルのそれぞれに対して関数値を算出し、
    (d)入力サンプルと関数値に対して機械学習(machine learning)を行い、境界面を算出し、
    (e)前記境界面上で前記入力に対するWCP(Worst Case Point)を探索し、
    (f)前記入力の分布の偏差σの整数倍に設定される分布境界が最小臨界値になるまで偏差σの倍数を変化させて前記入力分布の境界を変化させながら前記(a)ないし(e)を繰り返すことを含む請求項12に記載のシミュレーションシステム。
  16. 前記入力分布の境界を変化させることは、前記入力分布の境界を前記第1分布値から第2分布値に変化させることを含む請求項15に記載のシミュレーションシステム。
  17. 前記第2分布値は前記第1分布値より小さいことを含む請求項16に記載のシミュレーションシステム
  18. 前記最小臨界値、第1分布値、および第2分布値のうち少なくとも一つはユーザによって設定される値であることを含む請求項16に記載のシミュレーションシステム
  19. 前記入力サンプルと関数値に対して機械学習(machine learning)を行い、境界面を算出することは、前記入力サンプルと関数値に対してSVM(Support Vector Machine)を利用して前記境界面を算出することを含む請求項15に記載のシミュレーションシステム。
  20. 前記境界面上で前記入力に対するWCPを探索することは、EA(Evolutionary Algorithm)を利用して前記WCPを探索することを含む請求項15に記載のシミュレーションシステム。
  21. 前記メインシミュレーションモジュール、判断モジュール、およびWCP探索モジュールは少なくとも一つのプロセッサによって駆動されることを含む請求項12に記載のシミュレーションシステム。
  22. プログラムコードを実行して解釈を所望する特性値の集合の確率を出力するシミュレーションを行う少なくとも一つのプロセッサと、
    前記プロセッサ入力に対するシミュレーションを行うプログラムコードが保存された保存部を含み、
    前記プロセッサが、
    入力のNP(Nominal Point)に対する関数値が第1値である場合、前記入力に対して入力の原点を基準に入力に対して行う第1シミュレーションを行い、
    前記入力のNPに対する関数値が前記第1値と異なる第2値である場合、前記入力に対して入力のWCP(Worst Case Point)に基づいて行う第2シミュレーションを行うことを含み、
    前記第2シミュレーションの実行は、
    (a)前記第2値に対する入力の分布の偏差σの整数倍に設定される分布の境界を第1分布値として設定し、
    (b)前記設定した分布境界内で入力サンプルを生成し、
    (c)前記生成した入力サンプルに対して機械学習を行うことによって前記入力に対するWCP(Worst Case Point)を算出し、
    (d)前記入力の分布の偏差σの整数倍に設定される分布の境界が最小臨界値になるときまで偏差σの倍数を変化させて前記入力分布の境界を変化させながら前記(a)ないし(c)を繰り返すことを含むコンピュータシステム。
  23. 前記第1シミュレーションはモンテカルロシミュレーション(Monte Carlo Simulation)を含み、
    前記第2シミュレーションは重点サンプリング法(Importance Sampling)を含む請求項22に記載のコンピュータシステム。
  24. 前記入力分布の境界を変化させることは、前記入力分布の境界を前記第1分布値から第2分布値に変化させることを含み、
    前記設定した分布境界内で前記入力サンプルを生成することは、前記設定した分布境界内で均一分布サンプリング(Uniform Distribution Sampling)により、前記入力サンプルを生成することを含む請求項22に記載のコンピュータシステム。
  25. 前記第2分布値は前記第1分布値より小さいことを含む請求項24に記載のコンピュータシステム。
JP2014097682A 2013-05-27 2014-05-09 シミュレーションシステム及び方法と該システムを含むコンピュータシステム Active JP6381962B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020130059878A KR102061763B1 (ko) 2013-05-27 2013-05-27 시뮬레이션 시스템 및 방법, 상기 시스템을 포함하는 컴퓨팅 시스템
KR10-2013-0059878 2013-05-27

Publications (2)

Publication Number Publication Date
JP2014229311A JP2014229311A (ja) 2014-12-08
JP6381962B2 true JP6381962B2 (ja) 2018-08-29

Family

ID=51935935

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014097682A Active JP6381962B2 (ja) 2013-05-27 2014-05-09 シミュレーションシステム及び方法と該システムを含むコンピュータシステム

Country Status (5)

Country Link
US (1) US9846753B2 (ja)
JP (1) JP6381962B2 (ja)
KR (1) KR102061763B1 (ja)
CN (1) CN104182268B (ja)
TW (1) TWI629642B (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120046929A1 (en) * 2010-08-20 2012-02-23 International Business Machines Corporation Statistical Design with Importance Sampling Reuse
US10025897B2 (en) * 2015-02-10 2018-07-17 Thalia Design Automation Ltd. Generation of circuit design populations for analog circuit design optimization
US11003737B2 (en) * 2017-04-12 2021-05-11 Samsung Electronics Co., Ltd. Generic high-dimensional importance sampling methodology
US10915684B2 (en) * 2018-08-23 2021-02-09 Palo Alto Research Center Incorporated Automatic redesign of digital circuits
US11768986B2 (en) 2019-03-14 2023-09-26 Xenergic Ab High-dimensional multi-distributed importance sampling for circuit yield analysis
US11829861B2 (en) 2019-07-17 2023-11-28 Unist (Ulsan National Institute Of Science And Technology) Methods and apparatus for extracting data in deep neural networks
CN114341889A (zh) * 2019-07-17 2022-04-12 蔚山科学技术院 深度学习内部数据的提取方法及装置

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5974248A (en) * 1996-12-23 1999-10-26 Lsi Logic Corporation Intermediate test file conversion and comparison
US6941531B1 (en) 2002-01-31 2005-09-06 Cadence Design Systems, Inc. Method and apparatus for performing extraction on an integrated circuit design
JP3926296B2 (ja) 2003-06-24 2007-06-06 株式会社ルネサステクノロジ 半導体集積回路の性能分散系算出装置及びその算出方法
KR20050078071A (ko) * 2004-01-30 2005-08-04 삼성전자주식회사 몬테카를로 시뮬레이션용 모델 파라미터 집합의 추출 방법
US20060203581A1 (en) 2005-03-10 2006-09-14 Joshi Rajiv V Efficient method and computer program for modeling and improving static memory performance across process variations and environmental conditions
US8005660B2 (en) 2005-12-12 2011-08-23 Anova Solutions, Inc. Hierarchical stochastic analysis process optimization for integrated circuit design and manufacture
WO2007091359A1 (ja) 2006-02-08 2007-08-16 Nec Corporation ばらつきシミュレーション・システム、ばらつき決定モデル方法と装置ならびにプログラム
US7380225B2 (en) 2006-03-14 2008-05-27 International Business Machines Corporation Method and computer program for efficient cell failure rate estimation in cell arrays
US8046200B2 (en) 2006-09-05 2011-10-25 Colorado State University Research Foundation Nonlinear function approximation over high-dimensional domains
US8229727B2 (en) * 2007-01-09 2012-07-24 International Business Machines Corporation System and method for incorporating design behavior and external stimulus in microprocessor emulation model feedback using a shared memory
US20100076741A1 (en) 2007-02-19 2010-03-25 Kiyoshi Takeuchi System, method and program for determining worst condition of circuit operation
CN101425020A (zh) * 2007-10-31 2009-05-06 国际商业机器公司 对mmu仿真进行加速的方法、装置和全系统仿真器
US7908518B2 (en) * 2008-02-08 2011-03-15 International Business Machines Corporation Method, system and computer program product for failure analysis implementing automated comparison of multiple reference models
US8190543B2 (en) 2008-03-08 2012-05-29 Tokyo Electron Limited Autonomous biologically based learning tool
US8155938B2 (en) * 2008-03-28 2012-04-10 Carnegie Mellon University Method and apparatus for sampling and predicting rare events in complex electronic devices, circuits and systems
US8290761B1 (en) 2008-06-06 2012-10-16 Carnegie Mellon University Method and apparatus for rapidly modeling and simulating intra-die statistical variations in integrated circuits using compressed parameter models
JP2010160787A (ja) 2008-12-11 2010-07-22 Jedat Inc パラメータ情報作成システム、歩留まり算出システム、プログラム及び記録媒体
US8417754B2 (en) 2009-05-11 2013-04-09 Empire Technology Development, Llc Identification of integrated circuits
US8219355B2 (en) 2009-12-23 2012-07-10 Cadence Design Systems, Inc. Methods and systems for high sigma yield estimation
KR20110116563A (ko) 2010-04-19 2011-10-26 목포대학교산학협력단 주성분 분석과 마르코프 연쇄 몬테카를로 기법을 결합한 퍼지 군집화 방법
JP5418409B2 (ja) * 2010-06-01 2014-02-19 富士通株式会社 モデル式生成方法、装置及びプログラム
US20120046929A1 (en) 2010-08-20 2012-02-23 International Business Machines Corporation Statistical Design with Importance Sampling Reuse
US8352895B2 (en) * 2010-12-21 2013-01-08 Globalfoundries Inc. Model library implementation and methodology for worst case performance modeling for SRAM cells
JP2012203714A (ja) 2011-03-25 2012-10-22 Toshiba Corp モンテカルロ解析実行制御方法、およびモンテカルロ解析実行制御装置
US8494670B2 (en) 2011-04-06 2013-07-23 Solido Design Automation Inc. Monte-Carlo based accurate corner extraction
US8589852B1 (en) * 2011-12-15 2013-11-19 Cadence Design Systems, Inc. Statistical corner extraction using worst-case distance
US8595664B2 (en) * 2011-12-16 2013-11-26 International Business Machines Corporation Guiding design actions for complex failure modes
CN102663176B (zh) * 2012-03-28 2014-05-14 北京航空航天大学 针对高可靠机械产品的主动可靠性分析评价方法
US9461876B2 (en) * 2012-08-29 2016-10-04 Loci System and method for fuzzy concept mapping, voting ontology crowd sourcing, and technology prediction
CN102929686A (zh) * 2012-09-28 2013-02-13 杭州中天微系统有限公司 一种片上多核处理器功能验证方法

Also Published As

Publication number Publication date
CN104182268A (zh) 2014-12-03
KR102061763B1 (ko) 2020-01-03
JP2014229311A (ja) 2014-12-08
US20140350900A1 (en) 2014-11-27
US9846753B2 (en) 2017-12-19
CN104182268B (zh) 2019-01-18
TW201447765A (zh) 2014-12-16
TWI629642B (zh) 2018-07-11
KR20140139343A (ko) 2014-12-05

Similar Documents

Publication Publication Date Title
JP6381962B2 (ja) シミュレーションシステム及び方法と該システムを含むコンピュータシステム
JP7354320B2 (ja) 量子デバイスのノイズ除去方法および装置、電子機器、コンピュータ可読記憶媒体並びにコンピュータプログラム
JP5282493B2 (ja) 最適解関係表示装置、方法、及びプログラム
KR102582921B1 (ko) 학습 장치, 추론 장치 및 학습 완료 모델
JP6212217B2 (ja) 機械学習における重みの生成
JP6276857B2 (ja) 訓練データに関する重み利益エバリュエータ
US11886783B2 (en) Simulation system for semiconductor process and simulation method thereof
CN106462465A (zh) 用于使性能最大化并降低芯片温度和功率的优选内核排序的算法
JP6187977B2 (ja) 解析装置、解析方法及びプログラム
Maljovec et al. Adaptive sampling with topological scores
US9576085B2 (en) Selective importance sampling
CN116303100B (zh) 一种基于大数据平台的文件集成测试方法及系统
TWI740338B (zh) 具有動態最小批次尺寸之運算方法,以及用於執行該方法之運算系統及電腦可讀儲存媒體
WO2023216834A1 (zh) 用于管理分子预测的方法、装置、设备和介质
JP2017037377A (ja) 情報処理装置、シミュレーション方法、およびシミュレーションプログラム
US11366947B2 (en) Systems and methods for machine learning based fast static thermal solver
US9235675B2 (en) Multidimensional monte-carlo simulation for yield prediction
US20220277195A1 (en) Automated data augmentation in deep learning
JP6805632B2 (ja) 設計予測装置、設計予測プログラムおよび設計予測方法
JP7068085B2 (ja) 特徴量生成装置および特徴量生成方法
US20160239589A1 (en) Automatic calibration of thermal models
KR101872823B1 (ko) 정적 램의 수율 예측 방법
US20210073651A1 (en) Model generating method and model generating apparatus
Tsili et al. First Order Methods for Geometric Optimization of Crystals: Experimental Analysis
EP4131084A1 (en) Program, data processing method, and data processing apparatus

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20161222

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20161228

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170509

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180629

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: 20180710

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180801

R150 Certificate of patent or registration of utility model

Ref document number: 6381962

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250