LSI周りのアナログ回路をシミュレータで理解する ―― RCフィルタ,降圧型,DC-DCコンバータ,アクティブ・フィルタなど

森下 勇

[コラム] SPICEの基礎知識

● SPICEの歴史

 Simulation Program with Integrated Circuit Emphasis(集積回路を重要視したシミュレーション・プログラム),略してSPICEは,1970年代初めに米国University of California, Berkeley(UCB)で,ICの設計検証の目的で開発されたアナログの回路シミュレーション・プログラムです.組み込まれている回路素子などを使ってシミュレーションしたい回路を入力し,任意のポイントの電圧や電流値を計算できます.

 SPICEはパブリックドメイン・ソフトウェアとして,ソース・コードが公開されていました.そのため1980年代の半ばごろには,波形表示機能をはじめとする複数の改良が加えられた商用SPICEがリリースされ,現在に至っています.SPICEは最初の開発から40年近くたった今でも,アナログ回路シミュレータの業界標準として,半導体やディスクリート回路の設計に利用され続けています.

アナログ回路シミュレーションを効果的に行うには 

 SPICEのような回路シミュレータをうまく活用するために必要な最も重要な条件は,「シミュレータを使用する目的と注意点を,利用者が理解していることである」と筆者は考えています.以下に,回路設計および解析にアナログ回路シミュレータを使用する目的と注意点を挙げます.

● アナログ回路シミュレーションを行う目的と利点

 回路シミュレーションをする目的は,

  1. 基本設計の理論の検証やアイディアの確認
  2. 回路性能の解析と歩留まりの解析
  3. 実機で発生した不具合の不良解析
     

回路シミュレーションを行う利点は,

  1. コストを抑えられる.
  2. 時間短縮ができる.
  3. 手計算や理論の確認,半導体の動作理解などが手軽にでき,教育的効果がある.
  4. 実測不可能なものも測ることができる.
  5. 感電,素子の破裂などがなく,安全である.

● 重要な注意点

 アナログ回路シミュレータには,多くの利点があります.ただし有効活用のためには,以下の注意点を決して忘れてはいけません.

(1)回路シミュレーションとブレッドボード実験は,互いに補い合うものである.
 シミュレーションによって大幅にブレッドボード実験の工数を減らすことができても,完全な代用にはなりません.ユーザが予測できないレイアウト上の問題などを,SPICEが自動的に再現してくれるわけではありません.

(2)使うモデルは,目的のシミュレーションを行うのに「十分」な精度であること.
 理想のモデルは,実素子の動作を正確に模擬しつつ,解析時間やモデル作成工数をいたずらに増やさないものです.

(3)シミュレータに振り回されないよう,回路動作に対する事前の予測や,シミュレーション結果の考察や検証をしっかり行う.
 アナログ回路シミュレータは,回路図を入力すると,回路の方程式を導き出して,高速かつ正確にその方程式を解いてくれる単純な計算ツールです.入力する回路図や使用するモデルが間違っていると,正しい結果は得られません.その結果の有効性は,シミュレータの性能というよりも,ユーザの技術力に大きく依存します.シミュレーション結果に対する最終的な判断は人間が行ってください.

SPICEの標準的な解析


 UCBで開発されたオリジナルのSPICEの主なシミュレーションの種類として,DC解析,AC解析,過渡解析の3種類があります.なお,以下で示されている図はすべてTopSPICEの例です.TopSPICE回路図エディタのメニュ・バーから「Simulation」→「Setup...」を選択すると,図Aのような解析設定ダイアログが開きます.左上が標準解析の設定ブロック,右上が繰り返し解析の設定ブロック,左下が出力に関する設定ブロックとなっています.詳細な各解析設定は,各ボタンをクリックして新たなダイアログを開いてください.


[図A] TopSPICEの解析設定ダイアログ

左上が標準解析の設定ブロック,右上が繰り返し解析の設定ブロック,左下が出力に関する設定ブロック.

● DC解析(DCスイープ解析)

 単にDC解析といった場合,この解析を指しています.回路の直流/定常状態の電圧・電流の動作を解析します.電圧・電流源,LCR素子値,トランジスタやダイオードなどのデバイス・パラメータ,温度などを変数として任意の範囲内で変化(スイープ)させて,DC電圧やDC電流の解析ができます.

 また,ダイアログ下側に追加で第2のスイープ変数を指定することにより,ネスト・スイープさせることができます.第2の変数の各変化ごとに,第1の変数が指定範囲内をスイープします.図Aの[DC Sweep]ボタンをクリックして開いたDC解析設定ダイアログの例を図Bに示します.


[図B] DC解析設定ダイアログ
一番上に入力した変数に対して,初期値,最終値,ステップ値を入力してスイープさせる.また,ダイアログ下側に追加で第2のスイープ変数を指定することにより,ネスト・スイープできる.第2の変数の各変化ごとに,第1の変数が指定範囲以内をスイープする.

 オプションの解析として動作点解析(.OP),DC感度解析(.SENS),小信号DC伝達関数解析(.TF)があります.

 どの解析を行う場合も,シミュレータが前処理として動作点解析(バイアス・ポイント解析またはオペレーティング・ポイント解析とも呼ばれる)を,設定の有無に関係なく自動的に行います.通常は解析設定ダイアログにチェックは必要ありません.詳しい動作点情報を知りたい場合にだけ,チェックを入れると,出力ファイルに報告されます.

 図Aの[DC Bias Point]ボタンをクリックして開いたバイアス・ポイント解析設定ダイアログの例を図Cに示します.


[図C] バイパス・ポイント解析設定ダイアログ

● AC解析(ACスイープ解析)

 単にAC解析といった場合,この解析を指しています.入力信号の周波数をスイープさせて,回路の定常状態における周波数応答を解析できます.半導体やスイッチなどの非線形デバイスを動作点で線形化して,小信号応答を計算します.解析結果の電圧電流値は複素数で得られます.つまり実部と虚部,または極形式では振幅と位相がありますので,結果の表示には注意が必要です.

 通常,入力信号源の振幅を1V,位相0°と設定します.これによって測定出力が直接,伝達関数(出力/入力)になりますので,出力をそのまま回路のゲインや位相として読みとれます.周波数スイープの範囲やスイープ方法(線形,対数)を,[AC Sweep]ボタンをクリックして開いた図DのAC解析設定ダイアログで指定します.オプションの解析としてノイズ解析(.NIOSE),ひずみ解析(.DISTO)があります.


[図D] AC解析設定ダイアログ

 ノイズ解析では,回路内の抵抗と半導体がノイズ発生源としてシミュレーションされます.解析の設定はACスイープの設定の後,出力ノード電圧,入力信号源,周波数ポイント間隔数を入力します.解析結果は回路の出力ノイズ(ONOISE)や入力側に換算された等価入力ノイズ(INOISE)などを選び,波形グラフ表示と出力ファイルへの数値出力ができます.

● 過渡解析(.TRAN)

 時間経過につれての回路応答を解析できます.最も多く使われる解析といえます.解析する回路には時間的に変化する要素として下記のいずれかが必要です.

  • 時間的に変化する独立電源による信号源
  • 初期状態が明確なコンデンサまたはコイル
  • 時間の関数を持つ制御電源
     

 この条件を満たす回路に,解析のステップ時間値と最終時間値を設定すれば,解析ができます.[Transient Analysis]ボタンをクリックして,開いた過渡解析設定ダイアログの例を図Eに示します.


[図E] 過渡解析設定ダイアログ

 過渡解析を行った後,結果の波形データを使って,その周波数成分を表示するフーリエ解析が可能です.シミュレータ本体で計算して数値表示する方法と,波形解析プログラムTopVIEWで計算して波形表示する二つの方法があります.TopVIEWによる方法が簡単で便利ですが,波形の高調波成分を正確に算出表示するには,波形周期の整数倍の区間に対してフーリエ解析を行う注意が必要です.

いろいろな繰り返し解析


 標準的な三つの解析は,1回の実行で解析は1回しか行われません.それに対して繰り返し解析は,電圧値や抵抗値などのパラメータを変えながら,解析を指定回数繰り返し行います.手計算ではできないシミュレーションならではの機能といえます.
 繰り返しに注目してシミュレーションを分類すると,TopSPICEでは解析を次のように分けられます.

● 標準解析

 指定条件で1回,DC解析,AC解析,過渡解析などのシミュレーションを行います.

● 単純繰り返し解析

 単純繰り返し解析として,パラメトリック解析,温度解析,.ALTER解析があります.
 

 パラメトリック解析では,回路パラメータの一つをステップ的に変化させながら,標準解析を単純に繰り返し行います.回路のパラメータは,任意の受動素子値,DC電圧電流源の値,ユーザが任意に設定した変数,モデル・パラメータ,温度です.結果は一つのグラフ上に重ねて表示されますので,容易に比較検討ができます.図Aの右上にある[Parametric Step]ボタンをクリックして,開いたパラメトリック解析設定ダイアログの例を図Fに示します.これは,R1の抵抗値を5kから15kΩまで,1kΩステップで変えながら過渡解析などを繰り返すという設定です.



[図F] パラメトリトリック解析の設定ダイアログ

 .ALTER解析は,ノード情報は変更しないという条件で,回路の一部を変更しながら解析を繰り返します.パラメトリック解析との併用も可能です.

● 統計解析

 統計解析にはモンテカルロ解析とワースト・ケース解析があります.標準解析のDC,AC,過渡解析について,デバイスの公差を振らせて解析を繰り返します.

 回路内の任意の複数の素子に対して,デバイス単体ごとのばらつき,ロット性のばらつきを入力することによって,回路の出力特性の傾向や出力の最悪値の予測を行うことができます.

モンテカルロ解析は,複数の素子値に対して,ユーザが指定したばらつきの特性範囲内でランダムな組み合わせを発生させます.

 図Aの右上にある[Monte Carlo and Worst Case]ボタンをクリックして,開いたモンテカルロ解析設定ダイアログの例を図Gに示します.この例では素子をばらつかせながら過渡解析を100回繰り返します.実機完成前の歩留まり予測などに有効です.

[図G] モンテカルロ解析の設定ダイアログ

 ワースト・ケース解析は,複数の素子に対してユーザが指定したばらつきの上限,下限,公称値だけの組み合わせを発生させて解析します.

参考・引用*文献
(1)松澤 昭;デジタル全盛時代だから必要なアナログ技術.http://www.realize-at.jp/items/BT.html
(2)河合 孝;特集 アナログ・センスを身につけよう!,Design Wave Magazine,2000年4月号,CQ出版社.
(3)岡山 努;実践アナログ回路設計・解析入門,日刊工業新聞社,2005年1月.
(4)TopSPICE/Win32ユーザーズ・ガイドVer1.2d,シムサーキット,2008年9月.


もりした・いさむ
シムサーキット(有)

<筆者プロフィール>
森下 勇.2003年 シムサーキット設立.アナログ回路シミュレータを一人でも多くのエンジニアに有効活用してもらいたいと考えている.http://www.simcir.co.jp/


 

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日