概要
LTspice®を使用すれば、複雑な回路を対象とした統計的な公差解析を実施することができます。ここで言う公差とは、許容誤差のことです。LTspiceで公差解析を行う手段として、本稿では、モンテカルロ分布やガウス分布を適用する方法を紹介します。それらの手法の有効性を示すために、まずDC/DCコンバータの回路をLTspice上でモデル化します。その上で、回路の構成要素である電圧リファレンスとフィードバック抵抗に対して、モンテカルロ分布とガウス分布を適用します。それらのシミュレーション結果をワーストケース解析のシミュレーション結果と比較することで、有効性を明らかにします。また、稿末には4つの付録を用意しています。付録Aでは、電圧リファレンスのトリミング手法について説明します。付録Bでは、LTspiceにおけるガウス分布の解析結果を示します。付録Cでは、LTspiceにおけるモンテカルロ分布の解析結果を示します。付録Dでは、本稿で紹介する手法を利用するためにLTspiceの回路図を編集する方法と、シミュレーション結果のデータを抽出するための手順を示します。
なお、本稿の目的は、LTspiceで実行可能な統計的な解析方法について説明することです。そのため、6σを利用した設計手法や、中心極限定理、モンテカルロ分布などに関する説明は割愛します。
公差解析
システムを適切に設計するには、各種パラメータの公差による影響について考慮する必要があります。それに向けた一般的な方法としては、ワーストケース解析(WCA:Worst-case Analysis)が使用されます。つまり、あらゆるパラメータについて許容範囲内で変化させ、最も条件が厳しくなる場合でも、システムの仕様を満たせることを確認するという方法です。但し、WCAは以下に示す理由から、有効性の面で限界があります。
- WCA では、最も条件が厳しくなる状態におけるシステムの性能を検証する必要があります。逆に言えば、どのような状況になった場合に、条件が最も厳しくなるのか把握しなければなりません。つまり、あらゆるパラメータについて、最大化すべきなのか、最小化すべきなのかといったことを検討して判断を下す必要があります。
- 多くの場合、WCA では、設計上の仕様範囲を超える結果が得られます。仕様を満たせる結果を得るためには、コストの高いコンポーネントを選択しなければならなくなります。
- WCA で得られる結果は、統計的な意味で、一般的に観測される代表的な結果とは異なるものになります。膨大な数のシステムを構成しなければ、WCA の結果と性能が合致するシステム構成には遭遇しない可能性があります。
では、システムの公差解析の方法として、WCAに代わるものは存在しないのでしょうか。本稿では、この疑問に対する答えを提示します。その答えとは、簡単に言えば、統計ツールを使用して、コンポーネントの公差解析を実施するというものです。統計解析の場合、結果として得られるデータの分布は、実際のシステムで一般的に測定されるであろう値を反映したものになります。それがこの手法の長所の1つです。本稿では、LTspiceを使用し、モンテカルロ分布またはガウス分布によってパラメータのばらつきを表現しながら、回路の性能をシミュレーションします。また、それらの結果をWCAによるシミュレーション結果と比較することで、有用性についての検討を行います。
上述したように、WCAにはいくつかの問題があります。ただ、統計解析だけでなく、WCAもシステムの設計に対して貴重な洞察をもたらしてくれます。LTspiceを使用したWCAについては、「LTspice: Worst-Case Circuit Analysis with Minimal Simulations Runs」(著者:Gabino Alonso、Joseph Spencer)という記事が提供されています。非常にわかりやすいチュートリアル記事なので、ぜひ参考にしてください。
モンテカルロ手法
図1は、LTspice上でモンテカルロ分布を適用してモデル化した電圧リファレンスの例です。以下、このようにしてシミュレーション/解析を行うことをモンテカルロ手法と呼ぶことにします。この電圧リファレンスの公称出力値は1.25Vで、公差は1.5%です。この回路に適用しているモンテカルロ分布では、1.5%の公差範囲内に251の電圧の状態が定義されています。図2に、251の値に対応する結果を50ビンに分類して作成したヒストグラムを示しました。一方、表1は、この分布に関する統計的な情報についてまとめたものです。
結果 | |
平均値 | 1.249933 |
最小値 | 1.2313 |
最大値 | 1.26874 |
標準偏差 | 0.010615 |
正の誤差 | 1.014992 |
負の誤差 | 0.98504 |
ガウス手法
図3に示したのは、LTspice上で、ガウス分布を適用してモデル化した電圧リファレンスの例です。以下、このようにしてシミュレーション/解析を行うことをガウス手法と呼ぶことにします。この電圧リファレンスの公称値は1.25Vで、公差は1.5%です。この例の場合、ガウス分布によって1.5%の公差範囲内に251の電圧の状態が定義されます。図4に、251の値を50ビンで分類して作成したヒストグラムを示しました。表2は、この結果に関する統計値をまとめたものです。
結果 | |
最小値 | 1.22957 |
最大値 | 1.26607 |
平均値 | 1.25021 |
標準偏差 | 0.006215 |
正の誤差 | 1.012856 |
負の誤差 | 0.983656 |
なお、ガウス分布は正規分布とも呼ばれます。その確率密度は、図5に示すような釣鐘状の曲線で表されます。
理想的なガウス分布と、LTspiceのシミュレーションにおけるガウス分布の間には、表3のような関係があります。ガウス手法によるLTspiceシミュレーションは、理想的なガウス分布における確率密度の分布とかなり一致します。
シミュレーション結果 | 理想値 | |
1σ区間の確率 | 67.73% | 68.27% |
2σ区間の確率 | 95.62% | 95.45% |
3σ区間の確率 | 99.60% | 99.73% |
上で示した結果から、LTspiceを使用すれば、モンテカルロ手法やガウス手法によって電圧リファレンスの公差のシミュレーションを実施できることがわかります。言い換えると、このような電圧源を内蔵リファレンスとして使用することで、DC/DCコンバータをモデル化することが可能です。
シミュレーションによるDC/DCコンバータの公差解析
図6は、LTspiceでシミュレーションを行うためのDC/DCコンバータの回路図です。電圧制御電圧源を使用し、クローズドループによる電圧のフィードバックをモデル化しています。フィードバック抵抗R2、R3の公称値はそれぞれ16.4kΩ、10kΩです。DC/DCコンバータが内蔵する電圧リファレンスの公称値は1.25Vです。この回路において、レギュレーションされる出力電圧VOUTの公称値は3.3Vです。
電圧のレギュレーションについて、シミュレーションによる公差解析の条件は次のように設定することにします。すなわち、フィードバック抵抗R2、R3の公差は1%、電圧リファレンスの公差は1.5%です。以下では、この回路を例にとり、モンテカルロ手法、ガウス手法、WCAという3つの手法による公差解析の結果を示します。
図7、図8は、それぞれモンテカルロ手法を適用した回路図と、そのシミュレーション結果から得たヒストグラムです。
一方、図9と図10には、ガウス手法を適用した場合の回路図とヒストグラムを示しました。
更に、図11と図12には、WCA用の回路図とヒストグラムを示しました。
表4、図13は、3つの解析結果を比較したものです。最大偏差については、WCAによる結果が最も大きくなり、ガウス手法を適用した場合が最も小さくなりました。図13は、この結果を箱ひげ図で表したものです。各色で塗りつぶされた箱は1σの区間を表し、ひげの部分は最小値と最大値を表しています。
WCA | ガウス手法 | モンテカルロ手法 | |
平均値 | 3.30013 | 3.29944 | 3.29844 |
最小値 | 3.21051 | 3.24899 | 3.21955 |
最大値 | 3.39153 | 3.35720 | 3.36922 |
標準偏差 | 0.04684 | 0.01931 | 0.03293 |
正の誤差 | 1.02774 | 1.01733 | 1.02098 |
負の誤差 | 0.97288 | 0.98454 | 0.97562 |
まとめ
本稿では、DC/DCコンバータを簡素な回路でモデル化しました。パラメータとして使用するのは、2つのフィードバック抵抗の値と内蔵電圧リファレンスの値だけです。それにより、DC/DCコンバータのレギュレーション機能をモデル化しています。構築した回路を使用し、モンテカルロ手法、ガウス手法による統計解析を実施しました。また、それらの結果をグラフ化し、WCAの結果と比較しました。その結果から、WCAによって得られる最大値/最小値は、統計的には起こり得ないということが明らかになりました。
注記と謝辞
本稿で示したシミュレーション結果は、LTspiceによって実行/取得したものです。
また、各種のグラフはExcelによって作成しました。
本稿の執筆に向けて助言と洞察を提供してくれたアナログ・デバイセズの同僚たちとHachのDavid Rick氏に感謝します。
付録A
付録Aでは、トリミングを施した電圧リファレンスICに関する情報を提供します。
トリミングの実施前、電圧リファレンスはガウス分布に従うばらつきを示します。一方、トリミングの実施後はモンテカルロ分布に従います。一般に、トリミングのプロセスは以下のようなものになります。
- トリミング前の値を測定します。得られた値は、一般にガウス分布に従います。
- 個々のリファレンスがトリミングの対象になり得るのか否かを判定します。トリミングを適用しても十分な効果が想定できないものは破棄します。このステップは、基本的にガウス分布の裾野の部分を切り捨てる作業に相当します。
- トリミングによって値を調整します。具体的には、リファレンス電圧をできるだけ理想値に近づけます。もともとの値が理想値から大きく離れていれば、より大きな調整が必要になります。但し、トリミングの分解能はそれほど高くないので、個々のリファレンスのうち、もともと理想値に近い値が得られるものには調整は適用されません。
- トリミング後の値を測定し、問題がなければロックします。
上記のような処理を行った結果、一部のデバイスの値は元のガウス分布と変わらない位置にあり、理想値から離れていたデバイスの値は理想値に近い位置に移動します。つまり、トリミング後の分布は、図14に示すように、上部がドーム型になった円柱のような形状になります。
図14を見て、ランダムな分布であると感じる方もいるかもしれませんが、そうではありません。また、パッケージングの後にトリミングされる製品の場合だけ、室温における分布が図14のようになることにも注意が必要です。ウェーハの段階でトリミングされ、その後、プラスチック・パッケージに収められた製品では、このような分布は得られません。再び値がばらついて、一般的には歪んだガウス分布を示すという結果になります。
付録B
付録Bでは、ガウス分布向けに提供されているLTspiceのコマンドについて簡単に説明します。まず、σ(標準偏差)が0.00333の場合と、σが0.002の場合の分布を示します。続いて、理想的なガウス分布とシミュレーションによるガウス分布の数値的な比較を行います。付録Bの目的は、シミュレーション結果を基に作成したグラフと数値解析の結果を示すことです。
図15に示したのは、サンプルの回路図です。1001ポイントのガウス分布を適用することで、抵抗R1をモデル化しています。
注目していただきたいのは、.function文で使用しているガウス関数の引数がtol/5に変更されている点です。これにより、標準偏差は0.002になります。つまり、1%の公差の1/5になるということです。図16に、この回路のシミュレーション結果から得たヒストグラムを示しました。
また、表5に示したのは、1001ポイントのシミュレーション結果に対する統計解析の結果についてまとめたものです。標準偏差は、期待される0.002に対し、0.001948になっている点に注意してください。
結果 | |
平均値 | 1.000049 |
標準偏差 | 0.001948 |
最小値 | 0.99315 |
最大値 | 1.00774 |
中央値 | 1.00012 |
モード | 1.00024 |
1σ区間のポイント数 | 690 (68.9%) |
図17と表6は、σが0.00333(1%の公差の1/3)の場合の結果です。図16、表5と似た結果が得られていることがわかります。
結果 | |
平均値 | 1.000080747 |
標準偏差 | 0.003247278 |
最小値 | 0.988583 |
最大値 | 1.0129 |
中央値 | 1.0002 |
モード | 1.00197 |
1σ区間のポイント数 | 690 (68.93%) |
付録C
図18は、モンテカルロ手法により、1001ポイントのシミュレーション結果を得るための回路です。
結果 | |
平均値 | 1.000014 |
最小値 | 0.990017 |
最大値 | 1.00999 |
標準偏差 | 0.005763 |
中央値 | 1.00044 |
モード | 1.00605 |
図19~図21と表7は、この回路(図18)のシミュレーション結果と統計解析の結果です。
付録D
付録Dでは、以下の手順について説明します。
- 公差解析ができるように LTspice 上で回路図を編集する
- .measure コマンドと SPICE Error Log を使用する
図22は、モンテカルロ手法を実施するための回路図です。赤色の矢印は、抵抗R1の公差が.param文で定義されていることを表しています。ここで言う.param文は、SPICEディレクティブです。
R1の抵抗値は、R1にカーソルを合わせて右クリックすることによって編集できます。図23では、{mc(1, tol)}と入力しています。
それにより、抵抗の公称値が1で、パラメータtolによって定義されるモンテカルロ分布に従うという意味になります。パラメータtolは、SPICEディレクティブとして定義します。
図22では、いくつかのSPICEディレクティブが使われています。それらは、コントロール・バー上のSPICEディレクティブ・タイルを使うことで入力できます(図24)。
.measコマンドについては、対象となるパラメータの値を入力するための非常に便利なGUI(Graphical User Interface)が用意されています(図25)。このGUIにアクセスするには、SPICEディレクティブを.measコマンドとして入力します。.measコマンドを右クリックすると、このGUIがポップアップ表示されます。
測定結果のデータは、SPICE Error Logに記録されます。SPICE Error Logにアクセスするには、図26または図27のような操作を行います。
図27に示したとおり、回路図を右クリックすれば、LTspice Error Logに直接アクセスすることが可能です。
LTspice Error Logを開くと、図28に示すような形で測定値が記録されています。これをExcelにコピー&ペーストすれば、数値の解析やグラフによる解析を容易に実施することができます。