第3回 SPICEモデルの作り方とSPICEへの組み込み

Modeling_Technology
■ こんにちは。株式会社モーデック 技術本部の落合です。第3回は本連載のタイトルにした内容をお話しします。お付き合いください。

● 回路シミュレータとSPICEモデルの関係(大工にとっての「道具」と「材料」)
● そもそもSPICEモデルとは何?
● SPICEモデルの種類
  ▲コンパクトモデル
  ▲マクロモデル
  ▲ビヘイビアモデル
● ICのような複雑な回路もモデル化できる!

(※本連載では都合により、図に対して記事ごとではなく全体での通し番号を振っています)
 
 
第3回 SPICEモデルの作り方とSPICEへの組み込み
 

3-1. 回路シミュレータとSPICEモデルの関係(大工にとっての「道具」と「材料」)

 

第1回では、代表的な回路シミュレータであるSPICEの仕組みについて解説しました。本稿第3回は、回路シミュレーションを実施する上でもう一つ重要な要素である「モデル」について解説します。

第1回で紹介しました「大工は『道具』の使い方をよく知っている」という例えですが、実は「道具」だけでなく建築などに使用する「材料」についてもよく知っておくことが重要なのです。これをシミュレータによる回路設計に当てはめると、大工道具が「シミュレータ」、木材などの材料が「モデル」にあたります。道具(シミュレータ)に加えて材料(モデル)についてもよく知っておくと、素晴らしい建築(回路)が出来るようになるわけです。

 

3-2. そもそもSPICEモデルとは何?

 

3-2-1. デバイスの素性を数式で表現する

SPICEでは、デバイスの素性(特性)を複数の数式で表現しています。ここで例として、図9 に示すように人物の直線移動を考えます。速度:v[m/s] で時間:t[s]移動したときの移動距離:d[m]は、d = v * t と表現できますね。「移動距離」という人物の「素性」の一つを数式で表現したことになります。つまり、さまざまな人物の移動距離を共通の関係式で表現できたことになります。このように、SPICEではデバイス毎に特性を表す数式があらかじめインプットされているわけです。

 
人物の直線移動

図9.人物の直線移動

 

3-2-2. デバイスごとの固有の値は「係数」とする

SPICEではデバイスの特性を複数の数式で表現していると説明しました。なお、先程の例において速度:vは人物ごとに固有の値となります。このように人物ごとに固有の値を数式における「係数」と考えることができるわけです。繰り返しですが、SPICEでは一つのデバイスの特性を表す数式が複数あります。また、その数式で使用される「係数」も複数あります。このデバイスごとに用意されている「係数」をSPICEモデル(パラメータ)と呼びます。表2 に代表的なデバイスの特性式とその特性式で使用される「係数」の一覧を示します。

 
代表的なデバイスの特性式

表2.代表的なデバイスの特性式

 
 

3-3. SPICEモデルの種類

3-3-1. モデルには、松竹梅がある!

SPICEモデルとは、デバイスの素性を数式で表現したものと説明しました。実は、デバイスの素性を表現する方法はこれだけではありません。では、他にどのような表現方法があるのでしょうか。SPICEモデルの表現方法は、大きく分けて3つに分類されます。3つの表現方法を図10 に示します。これは、モデル表現方法の「松竹梅」といったところでしょうか。

 
SPICEモデルの種類

図10.SPICEモデルの種類

 

▲コンパクトモデル
先に説明した特性式の係数(パラメータ)でデバイス特性を表現した形式をコンパクトモデルといいます。
主に、半導体デバイス(ダイオード、バイポーラトランジスタ<BJT>、FET)は、この形式を使用します。

▲マクロモデル
単一の素子を受動素子(抵抗、容量、インダクタンス)、能動素子(ダイオード、BJT、FET など)、電源といった複数素子で構成された電子回路すなわち等価回路で表現したものをマクロモデルといいます。分かりやすい例で説明しますと、BJTは2つのPN接合ダイオードから構成されます。従って、BJTの等価回路は、2つのPN接合ダイオードで表現することもできるわけです。

▲ビヘイビアモデル
デバイス特性をユーザが任意の関数で定義した表現モデルをビヘイビアモデルといいます。コンパクトモデルも「数式」によって表現しているので、違いが分かりづらいかもしれません。コンパクトモデルとの大きな違いは、デバイス特性式を任意に設定できるということです。これに対し、コンパクトモデルはあらかじめSPICEに特性式が組み込まれているためユーザが特性式を変更することはできません。変更出来るのは、係数(パラメータ)のみです。

 

3-3-2. 松竹梅モデルの使い分け

ディスクリートデバイスを一からモデル化する場合、どの表現方法が良いか迷いますよね。3つのモデル表現方法は、図10 に示すようにそれぞれ一長一短があります。従って、それぞれの特徴を把握することが最適なモデル作成に繋がります。なお、図10 の比較ですが、「モデリングの容易性」、「収束性」、「Sim.時間」については、モデル対象の回路やモデル世代(MOSFETモデルのBSIM3などを指す)によって変わることもありますのでご承知おきください。

▲モデル化の容易性とデバイス特性の忠実性を兼ね備えたコンパクトモデル
これからSPICEを使ってみようという方やモデリング初心者の方には、コンパクトモデルを使用してモデルを作成することを推奨します(ディスクリートデバイスの場合)。コンパクトモデルは、デバイスの等価回路や特性式を知らなくても、パラメータのみを最適化することでモデルが作成できます。比較的簡単にかつ忠実にデバイス特性を再現する手法といえます。ただし、MOSFET のBSIM3 をはじめとする微細プロセス向けのデバイスモデルは、パラメータ数が数百にも及ぶためモデリングは非常に難しくなりますのでご注意ください。

▲より忠実にデバイス特性を再現したいときはマクロモデル
コンパクトモデルでデバイス特性を十分に再現できないときは、マクロモデルでモデルを作成してみてください。コンパクトモデルにいくつか素子を追加して小規模の回路を構成します。こうすることで、より複雑なデバイス特性を表現することができます。例えば、FETの端子容量特性が合わないときは、FETの端子にコンデンサを追加してみる、といった具合です。つまり、コンパクトモデルのパラメータと追加素子の特性を加えることで新たな特性式を作り出すわけです。
ただ、表現の自由度が広がる反面、最適化すべきパラメータが増えてしまい、モデル化はコンパクトモデルより難しくなります。また、モデルあたりの素子数も増えるため、シミュレーション時間が長くなるデメリットが生じます。

▲ビヘイビアモデルはSim.時間を短縮したい場合に有効
マクロモデルでも思うように表現できない場合は、ビヘイビアモデルを検討してみてください。ビヘイビアモデルは、デバイスの特性式を任意に定義できるため、表現の自由度が3つのなかで最も高いモデル化手法です。ただし、自由度が高い反面、何から何まですべて自分で定義しなければいけません。例えば、ダイオードをビヘイビアモデルで表現したとしましょう。ダイオードの電流・電圧特性は、表2 に示すように指数関数で定義できますが、これはダイオードの一部の特性(静特性)のみを表現したにすぎません。静特性以外にも、周波数特性や過渡特性もすべてビヘイビアモデルで表現する必要があるのです。従って、ビヘイビアモデルは、デバイスすべての特性を忠実に再現することには向いていません。逆にデバイスをより簡素に表現したい場合には選択肢となる表現方法です。

▲3つの表現方法の特徴を把握することが重要
結局、3つのモデルはどれも一長一短があるわけです。従って、それぞれの特徴を把握することが重要となってきます。デバイスに忠実なモデルを作りたい場合はマクロモデル、デバイス特性を忠実に再現したいがSim.時間はできる限り短縮したい場合はコンパクトモデルあるいはビヘイビアモデル、といった具合に目的に応じてモデル表現方法を選択することで、最適なモデルができるようになります。

 

3-3-3. ICのような複雑な回路もモデル化できる!

先ほどまではディスクリートデバイスのモデル化を想定して説明してきましたが、実はICのような複数素子を含む回路もモデル化することができます。図11 に示すオペアンプを例に説明します。

図11 のオペアンプは主にMOSFET で構成されています。従って、MOSFETのコンパクトモデルを作成し、それを図11 の回路図の構成で接続すればオペアンプモデルが作成できます。しかし、マクロモデルの項でも説明したように、素子数が増えるほどSim.時間が長くなってしまいます。また、図11 のようにオペアンプの内部回路構成が明確な場合はよいですが、たいていの場合ICはブラックボックスとなっています。

このような場合には、オペアンプの特性を「抽象化」することでモデル化が可能です。順を追って説明していきます。オペアンプの出力電圧Voutは、DC 利得Av と入力差電圧dVinを使って式1 で表現できます。

 
 

  Vout = Av * dVin     (式1)

 
 
CMOSオペアンプ

図11.CMOSオペアンプ

 

上式はビヘイビアモデルを使用することで簡単に表現できます。具体的には、電圧制御電圧源(E電源)を使用します。E電源は、制御端子間の差電圧をGain倍して出力端子に出力する四端子電源素子です。
このままですと帯域∞のオペアンプとなってしまいますので、帯域幅が有限(162kHz)のオペアンプとしてみます。これを表したのが図12 のオペアンプモデルとなります。

 
オペアンプモデル例

図12.オペアンプモデル例

 

E電源にRCローパスフィルタを追加すると図13 に示すような周波数特性となります。

 
オペアンプモデルのオープンループゲイン特性

図13.オペアンプモデルのオープンループゲイン特性

 

このように内部構成が不明確なICでも、回路の特性を関数化あるいは等価回路化することでモデル化が可能となります。

 

■次回予定の内容
第4回 モデルを作ってみよう(その1)
4-1. 受動素子(積層コンデンサ)
4-2. ダイオード

 
本連載記事
 第1回 SPICEシミュレータの仕組み
 第2回 SPICEにできること
 第3回 SPICEモデルの作り方とSPICEへの組み込み
 第4回 モデルを作ってみよう(その1)
 第5回 モデルを作ってみよう(その2)
 

ochiai■ 著者紹介
落合 忠博(おちあい ただひろ)
株式会社モーデック 技術本部 Model On! 開発リーダー ※

アナログ回路設計で培った技術で、基板設計ユーザ向けの「Model On!」サービスや、部品メーカからの受託サービスなどを統括しています。IC回路モデルモデリング、デバイスモデリングにとどまらず、設計へのアドバイスなども積極的に実施しています。
※ 2020年4月1日から組織が変更になりました。

 

関連記事
第5回 モデルを作ってみよう(その2)
SPICEモデルの作り方とSPICEへの組み込み
第5回 モデルを作ってみよう(その2)
第4回 モデルを作ってみよう(その1)
SPICEモデルの作り方とSPICEへの組み込み
第4回 モデルを作ってみよう(その1)
第2回 SPICEにできること
SPICEモデルの作り方とSPICEへの組み込み
第2回 SPICEにできること
第1回 SPICEシミュレータの仕組み
SPICEモデルの作り方とSPICEへの組み込み
第1回 SPICEシミュレータの仕組み