HSPICEの新しい版(前からあったと思うが少なくともL-2016.06-SP1-1)では,PDKにも依存するがモンテカルロ(Monte Carlo:MC)解析においてVariation-Block(VB)ベースのMC解析が利用できる.
伝統的なガウス関数(AGAUSS)以外にも,MC解析においてサンプリング手法等を変える事が出来る.
・乱数発生器
HSPICEの乱数発生器を以下のオプションで変えられる.なお2016.06から,デフォルトの乱数発生器が3LCからMCGに変更となった.
.option RANDGEN = [3LC|MOA|UVS|MCG|WH]
各アルゴリズムは以下の通り
3LC: 従来通りの乱数発生器
MOA: Multiply-with-carryタイプ
UVS: 64bit universal 乱数発生器
MCG: (Default) 64bit multiplicative(乗法)-乱数発生器
WH: 他のよりサイクル数の長い乱数発生器
・統計情報の出力
過去のMC解析とは異なり,VBベースのMCでは以下の情報も出力される.
- より詳細な統計情報:*.mpp0
- 各サンプルにおける独立変数の値:*.mc0
- 各ランダム変数の貢献度をSynopsys Custom Designerへ反映するための情報ファイル:*.annotate
- 従来のSRS解析のための部分的な情報:*.mpp0
・サンプリング手法の変更
サンプリング手法を以下のオプションで変更できる.
.option SAMPLING_METHOD = [SRS|LHS|Factoral|OFAT|Sobol|Niederreiter|External]
各サンプリング手法の説明は以下の通り.
SRS: (Default) これまでの伝統的な単純なランダムサンプリング
LHS: Latin Hypercube Sampling:多変数の時に効率的(.option REPLICATESと併用)
Factoral: Factoral サンプリング: 回路の応答から最良値-最悪値のレンジを計算する.多項応答曲面を作る.
OFAT: One-Factor-at-a-Timeサンプリング:低次元応答曲面が利用できるような,感度解析が使える領域でつかう.
Sobol: Sobol SamplingでLow-discrepancy sequence(LDS)の一種.
Niederreiter: LDSの一種.
External: 外部からデータセットを読み込む.