LTspiceを使用し、複雑な回路を対象とする統計的な公差解析用のモデルを構築する

概要

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. LTspice上で構成した電圧リファレンス(その1)。モンテカルロ分布を適用しています。

図1. LTspice上で構成した電圧リファレンス(その1)。モンテカルロ分布を適用しています。

図2. 図1の回路のシミュレーション結果から得たヒストグラム。1.25Vの電圧リファレンスの出力を251ポイント/50ビンのヒストグラムとして示しました。

図2. 図1の回路のシミュレーション結果から得たヒストグラム。1.25Vの電圧リファレンスの出力を251ポイント/50ビンのヒストグラムとして示しました。

表1. 図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は、この結果に関する統計値をまとめたものです。

図3. LTspice上で構成した電圧リファレンス(その2)。ガウス分布(3σ)を適用しています。

図3. LTspice上で構成した電圧リファレンス(その2)。ガウス分布(3σ)を適用しています。

図4. 図3の回路のシミュレーション結果から得たヒストグラム。1.25Vの電圧リファレンスの出力を50ビン/251ポイントのヒストグラムとして示しました。

図4. 図3の回路のシミュレーション結果から得たヒストグラム。1.25Vの電圧リファレンスの出力を50ビン/251ポイントのヒストグラムとして示しました。

表2. 図3の回路のシミュレーション結果から得た統計値

結果
最小値 1.22957
最大値 1.26607
平均値 1.25021
標準偏差 0.006215
正の誤差 1.012856
負の誤差 0.983656

なお、ガウス分布は正規分布とも呼ばれます。その確率密度は、図5に示すような釣鐘状の曲線で表されます。

図5. ガウス分布(3σ)

図5. ガウス分布(3σ)

理想的なガウス分布と、LTspiceのシミュレーションにおけるガウス分布の間には、表3のような関係があります。ガウス手法によるLTspiceシミュレーションは、理想的なガウス分布における確率密度の分布とかなり一致します。

表3. ガウス分布の相関。理想的なガウス分布とLTspiceシミュレーションにおける251ポイントのガウス分布を比較しています。

シミュレーション結果 理想値
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です。

図6. LTspiceによるシミュレーション用のDC/DCコンバータの回路図

図6. LTspiceによるシミュレーション用のDC/DCコンバータの回路図

電圧のレギュレーションについて、シミュレーションによる公差解析の条件は次のように設定することにします。すなわち、フィードバック抵抗R2、R3の公差は1%、電圧リファレンスの公差は1.5%です。以下では、この回路を例にとり、モンテカルロ手法、ガウス手法、WCAという3つの手法による公差解析の結果を示します。

図7、図8は、それぞれモンテカルロ手法を適用した回路図と、そのシミュレーション結果から得たヒストグラムです。

図7. モンテカルロ手法を適用した回路

図7. モンテカルロ手法を適用した回路

図8. 図7の回路のシミュレーション結果から得たヒストグラム

図8. 図7の回路のシミュレーション結果から得たヒストグラム

一方、図9と図10には、ガウス手法を適用した場合の回路図とヒストグラムを示しました。

図9. ガウス手法を適用した回路

図9. ガウス手法を適用した回路

図10. 図9の回路のシミュレーション結果から得たヒストグラム

図10. 図9の回路のシミュレーション結果から得たヒストグラム

更に、図11と図12には、WCA用の回路図とヒストグラムを示しました。

図11. WCAを行うための回路

図11. WCAを行うための回路

図12. 図11の回路のシミュレーション結果から得たヒストグラム

図12. 図11の回路のシミュレーション結果から得たヒストグラム

表4、図13は、3つの解析結果を比較したものです。最大偏差については、WCAによる結果が最も大きくなり、ガウス手法を適用した場合が最も小さくなりました。図13は、この結果を箱ひげ図で表したものです。各色で塗りつぶされた箱は1σの区間を表し、ひげの部分は最小値と最大値を表しています。

表4. 3つの解析結果の比較
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
図13. 箱ひげ図による3種のシミュレーション手法の比較

図13. 箱ひげ図による3種のシミュレーション手法の比較

まとめ

本稿では、DC/DCコンバータを簡素な回路でモデル化しました。パラメータとして使用するのは、2つのフィードバック抵抗の値と内蔵電圧リファレンスの値だけです。それにより、DC/DCコンバータのレギュレーション機能をモデル化しています。構築した回路を使用し、モンテカルロ手法、ガウス手法による統計解析を実施しました。また、それらの結果をグラフ化し、WCAの結果と比較しました。その結果から、WCAによって得られる最大値/最小値は、統計的には起こり得ないということが明らかになりました。

注記と謝辞

本稿で示したシミュレーション結果は、LTspiceによって実行/取得したものです。

また、各種のグラフはExcelによって作成しました。

本稿の執筆に向けて助言と洞察を提供してくれたアナログ・デバイセズの同僚たちとHachのDavid Rick氏に感謝します。

付録A

付録Aでは、トリミングを施した電圧リファレンスICに関する情報を提供します。

トリミングの実施前、電圧リファレンスはガウス分布に従うばらつきを示します。一方、トリミングの実施後はモンテカルロ分布に従います。一般に、トリミングのプロセスは以下のようなものになります。

  • トリミング前の値を測定します。得られた値は、一般にガウス分布に従います。
  • 個々のリファレンスがトリミングの対象になり得るのか否かを判定します。トリミングを適用しても十分な効果が想定できないものは破棄します。このステップは、基本的にガウス分布の裾野の部分を切り捨てる作業に相当します。
  • トリミングによって値を調整します。具体的には、リファレンス電圧をできるだけ理想値に近づけます。もともとの値が理想値から大きく離れていれば、より大きな調整が必要になります。但し、トリミングの分解能はそれほど高くないので、個々のリファレンスのうち、もともと理想値に近い値が得られるものには調整は適用されません。
  • トリミング後の値を測定し、問題がなければロックします。

上記のような処理を行った結果、一部のデバイスの値は元のガウス分布と変わらない位置にあり、理想値から離れていたデバイスの値は理想値に近い位置に移動します。つまり、トリミング後の分布は、図14に示すように、上部がドーム型になった円柱のような形状になります。

図14. 電圧リファレンスの値の分布。トリミングを行うと、このような分布形状になります。

図14. 電圧リファレンスの値の分布。トリミングを行うと、このような分布形状になります。

図14を見て、ランダムな分布であると感じる方もいるかもしれませんが、そうではありません。また、パッケージングの後にトリミングされる製品の場合だけ、室温における分布が図14のようになることにも注意が必要です。ウェーハの段階でトリミングされ、その後、プラスチック・パッケージに収められた製品では、このような分布は得られません。再び値がばらついて、一般的には歪んだガウス分布を示すという結果になります。

付録B

付録Bでは、ガウス分布向けに提供されているLTspiceのコマンドについて簡単に説明します。まず、σ(標準偏差)が0.00333の場合と、σが0.002の場合の分布を示します。続いて、理想的なガウス分布とシミュレーションによるガウス分布の数値的な比較を行います。付録Bの目的は、シミュレーション結果を基に作成したグラフと数値解析の結果を示すことです。

図15に示したのは、サンプルの回路図です。1001ポイントのガウス分布を適用することで、抵抗R1をモデル化しています。

図15. ガウス分布(5σ)を適用した回路

図15. ガウス分布(5σ)を適用した回路

注目していただきたいのは、.function文で使用しているガウス関数の引数がtol/5に変更されている点です。これにより、標準偏差は0.002になります。つまり、1%の公差の1/5になるということです。図16に、この回路のシミュレーション結果から得たヒストグラムを示しました。

図16. 図15の回路のシミュレーション結果から取得した1001ポイント/50ビンのヒストグラム

図16. 図15の回路のシミュレーション結果から取得した1001ポイント/50ビンのヒストグラム

また、表5に示したのは、1001ポイントのシミュレーション結果に対する統計解析の結果についてまとめたものです。標準偏差は、期待される0.002に対し、0.001948になっている点に注意してください。

表5. 図15の回路のシミュレーション結果から得た統計値
結果
平均値 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と似た結果が得られていることがわかります。

図17. 3σのガウス分布を適用した回路のシミュレーション結果から取得した1001ポイント/50ビンのヒストグラム

図17. 3σのガウス分布を適用した回路のシミュレーション結果から取得した1001ポイント/50ビンのヒストグラム

表6. 3σのガウス分布を適用した回路のシミュレーション結果から得た統計値
結果
平均値 1.000080747
標準偏差 0.003247278
最小値 0.988583
最大値 1.0129
中央値 1.0002
モード 1.00197
1σ区間のポイント数 690 (68.93%)

付録C

図18は、モンテカルロ手法により、1001ポイントのシミュレーション結果を得るための回路です。

図18. モンテカルロ手法により、1001ポイントのシミュレーション結果を得るための回路

図18. モンテカルロ手法により、1001ポイントのシミュレーション結果を得るための回路

図19. 図18の回路のシミュレーション結果から取得した1001ポイント/1000ビンのヒストグラム

図19. 図18の回路のシミュレーション結果から取得した1001ポイント/1000ビンのヒストグラム

図20. 図18の回路のシミュレーション結果から取得した1001ポイント/500ビンのヒストグラム

図20. 図18の回路のシミュレーション結果から取得した1001ポイント/500ビンのヒストグラム

図21. 図18の回路のシミュレーション結果から取得した1001ポイント/50ビンのヒストグラム

図21. 図18の回路のシミュレーション結果から取得した1001ポイント/50ビンのヒストグラム

表7. 図19~図21に示したシミュレーション結果から 得た統計値
結果
平均値 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ディレクティブです。

図22. モンテカルロ手法を実施するための回路図

図22. モンテカルロ手法を実施するための回路図

R1の抵抗値は、R1にカーソルを合わせて右クリックすることによって編集できます。図23では、{mc(1, tol)}と入力しています。

図23. LTspiceにおける抵抗値の編集

図23. LTspiceにおける抵抗値の編集

それにより、抵抗の公称値が1で、パラメータtolによって定義されるモンテカルロ分布に従うという意味になります。パラメータtolは、SPICEディレクティブとして定義します。

図22では、いくつかのSPICEディレクティブが使われています。それらは、コントロール・バー上のSPICEディレクティブ・タイルを使うことで入力できます(図24)。

図24. LTspiceにおけるSPICEディレクティブの入力

図24. LTspiceにおけるSPICEディレクティブの入力

.measコマンドについては、対象となるパラメータの値を入力するための非常に便利なGUI(Graphical User Interface)が用意されています(図25)。このGUIにアクセスするには、SPICEディレクティブを.measコマンドとして入力します。.measコマンドを右クリックすると、このGUIがポップアップ表示されます。

図25. .measコマンドで使用するパラメータの値を入力するためのGUI

図25. .measコマンドで使用するパラメータの値を入力するためのGUI

測定結果のデータは、SPICE Error Logに記録されます。SPICE Error Logにアクセスするには、図26または図27のような操作を行います。

図26. LTspice Error Logにアクセスする方法(その1)

図26. LTspice Error Logにアクセスする方法(その1)

図27. LTspice Error Logにアクセスする方法(その2)

図27. LTspice Error Logにアクセスする方法(その2)

図27に示したとおり、回路図を右クリックすれば、LTspice Error Logに直接アクセスすることが可能です。

LTspice Error Logを開くと、図28に示すような形で測定値が記録されています。これをExcelにコピー&ペーストすれば、数値の解析やグラフによる解析を容易に実施することができます。

図28. .measコマンドで取得したデータが記録されたLTspice Error Log

図28. .measコマンドで取得したデータが記録されたLTspice Error Log

Generic_Author_image

Steve Knudtsen

Steve Knudtsen は、アナログ・デバイセズのシニア・スタッフ・フィールド・アプリケーション・エンジニアです。2000年にLinear Technology(現在はアナログ・デバイセズに統合)に入社し、現在に至ります。コロラド州立大学で電気工学の学士号を取得しています。