電子回路をシミュレーションする際に、大きく分けて2つの機能が必須となってきます。『回路図入力機能』および『回路シミュレーション機能』の2つになります。 今回は『回路シミュレーション機能』について解説していきたいと思います。
『回路図入力機能』に関する解説はこちらのページを参考になさってください。
SPICEによる3つの基本解析:DC解析、AC解析、TRAN解析
電子回路を設計する上で、この3つの基本解析を欠かすことはできません。
- DC解析(直流解析)
- AC解析(交流解析)
- TRAN解析(トランジェント解析、過渡解析)
それでは順番に見ていきます。
DC解析(直流解析)
DC解析とは、先ほどご紹介した3つの基本解析の中で、最初に実行する解析になります。この解析の目的は、回路の動作点を見つけることになります。
例えば、インバータ回路を例に解説していきます。インバータ回路の中身はシンプルに、PMOSとNMOSが一つずつ上下に組み合わさった構成で実現をしています。通常、インバータセルはファウンドリから提供されるPDKにスタンダード・セルとして含まれているため、設計者自身で作成することは非常に稀かとは思いますが、”動作点”の考え方をお伝えする上で扱わせていただきます。理想的なインバータの動作としては、入力電圧を徐々にゼロから電源電圧に向かって上げていったときに、入力電圧が電源電圧の中心付近(Vdd/2)の電圧に差し掛かったときに、出力電圧もVdd/2付近にいることが望ましい動作かと思います。
図 インバータ回路
図 インバータ正常動作
インバータ回路のNMOSのサイズを固定にして、PMOSのゲート幅Wを広くしたり狭くしたりすることで、このクロスするポイントが変わります。
図 インバータ内のPMOS W幅調整による動作点の変化
この調整がまさに”動作点”の調整になります。
シミュレーションのグラフは、入力電圧を少しずつ上げていったときに、出力電圧がどのように変化していくかを1点ずつ静的な状態で確認したものをプロットした結果になります。
こういった固定状態での回路の動作を確認するのが、このDC解析になります。
これをまず確認せずにそのまま他の解析から設計を始めてしまうと、そもそも期待した動作点で動かない回路で解析を進めてしまう可能性が出てきてしまいます。
そのため、このDC解析は回路設計で行うべき、基本かつとても重要な解析になります。
AC解析(交流解析)
次に、AC解析について解説をしていきます。AC解析とは、その回路がもつ周波数特性の解析になります。電子回路は必ずなにか入力される信号があって、ある特定の回路、もしくはシステムを介して信号が出力されます。その回路、もしくはシステムをブラックボックスと考えたときに、それに様々な周波数の信号を入力したときに、そのシステムが各周波数においてどういう出力信号を出すのかを確認するのが、このAC解析の目的となります。その信号経路(信号パス)において扱いたい信号の帯域(周波数の幅)が仕様に必ず示されているかと思います。それを満たせているのか、もしくは、想定していない信号が混入しないかおよび回路が発振する心配はないかといったような問題を確認することができます。
ここでは簡単な例として、以下のローパス・フィルタを例に取り上げてみます。このように回路に対して、異なる周波数を掃引(スイープ)する形で入力して、各周波数における回路の利得と位相を確認するのがこの手法になります。
図 1次ローパスフィルタ回路図
図 1次ローパスフィルタ AC解析結果
TRAN解析(トランジェント解析、過渡解析)
最後に、トランジェント解析について解説していきます。この解析手法は「過渡解析」とも呼ばれ、先ほどのAC解析は周波数ドメインでの解析であったのに対して、このトランジェント解析は時間軸に対して解析を行っていきます。この解析が最も信憑性が高く、感覚的にもオシロスコープと同じように実波形と同じ形で観ることができます。ただ、このトランジェント解析はシミュレーション時間が非常に長く掛かるため、この点は回路設計者泣かせだと言われています。
図 過渡応答のシミュレーション波形例
シミュレーションで解析する順番
さて、ここまで3つのシミュレーション解析手法をご紹介してきました。
設計をする上では、『DC解析 → AC解析 → TRAN解析』の順番で実行することが望ましいです。上記でもお伝えした通り、まずDC解析を実行することで動作点を正しく定めてあげないと、その後の回路解析は意味のないものになってしまいます。
次にAC解析とトランジェント解析の関係ですが、こちらも一見異なる解析をしているように思われるかもしれませんが、実は見方を周波数ドメインか時間ドメインかに変えているだけで、同じ回路を対象とした解析なので、それぞれの解析結果には相関関係があります。
例えば、回路動作上、そもそも全く扱えない高い周波数を過渡解析で一生懸命潰れた波形とにらめっこをしてしまうことがあります。それをAC解析で周波数特性を確認することで、すぐにその回路が扱える最大周波数を確認することができます。
ただし例外として、スイッチング動作するDC-DCコンバータのような回路は、残念ながらAC解析をすることができません。スイッチング動作する回路は、一定時間掛けてまず回路を起動させることから始めないといけません。そのため、トランジェント解析で実行せざるを得ません。つまり、AC解析はすでに安定状態に入っている回路に対しての解析なので、スイッチング回路の周波数解析は容易ではありません。
半導体設計で用いられるような高価な回路シミュレータでは、スイッチング回路用のAC解析オプションもあるのですが、精度があまり十分ではないため、やはりこのケースにおいてはトランジェント解析が一番信頼性が高い方法になります。
この例外を除いては、冒頭でもお伝えしましたように、『DC解析 → AC解析 → トランジェント解析』の順番で設計することをオススメします。