Vol.1 回路シミュレーションの完全マップ

第2回 回路図エディタと回路シミュレータの橋渡し役:ネットリストについて

今回は、回路図入力の方法を紹介していきたいと思います。

回路図エディタと回路シミュレータの橋渡し役:ネットリストについて

 

回路シミュレータを使っていると、『回路図入力機能』と『回路シミュレーション機能』は統合された一つのものだと思ってしまいがちですが、本来機能としては別のものになります。通常、回路をシミュレーションしようとすると、まず回路図エディタから回路図を入力して、それに対してシミュレーションを実行するかと思います。

「回路図エディタ」の役割は、ユーザーが部品を配置および配線するのを視覚的に補助することです。一方で、「回路シミュレータ」の役割は、入力された回路図を電気的に解析することです。ここで、回路図エディタで作製した回路図の情報を回路シミュレータに渡す必要があります。その際に用いるのがネットリストと呼ばれるものです。ネットリストは、回路図をSPICEが認識できるフォーマット(言語)に変換したものになります。C言語をはじめとするプログラミング言語では、人間が記述したソースコードから機械語に変換して実行ファイルを作成しています。まさにSPICEでいうところの機械語が、このネットリストに相当します。

図 回路図入力~シミュレーションの間にはネットリスト変換がある

 

ネットリストは、ある決まった構文・文法にしたがって記述されたASCIIファイルになります。具体的に記述される内容として、以下の4つがあります。

  1. 回路部品や素子(抵抗、コンデンサ、インダクタ、ダイオードなど)の接続情報
  2. 素子の定数(抵抗値や容量値など)
  3. 素子モデルや部品モデルの定義
  4. シミュレーション解析条件の設定

以下、回路シミュレータが生成したネットリストの一例になります。

ここでは文法については詳しく言及しませんが、上記4つの内容が1つのテキストファイルに含まれています。

図 SPICEネットリスト構文例

 

シミュレーション条件はシミュレータ側で追加される

 

厳密に言うと、回路図エディタから回路シミュレータに渡されるネットリストの情報としては、①〜③までです。④の「シミュレーション解析条件の設定」は、回路シミュレータ側の設定なので、回路図エディタの時点ではまだネットリストに含まれていません。シミュレーションを実行するときに、この解析する実行コマンドが追加される形になります。

まとめ

 

今回は回路図エディタと回路シミュレータの橋渡し役でもある「ネットリスト」の役割について解説してきました。もう一度おさらいになりますが、ネットリストの役割は以下の4つの内容を回路シミュレータに伝えることです。

  1. 回路部品や素子の接続情報
  2. 素子の値
  3. 素子モデルや部品モデルの定義
  4. シミュレーション解析条件の設定

基本的には、回路図エディタと回路シミュレータ上で操作していれば、このネットリストを直接書くことはありません。しかし、どこに何が書いてあるかということを理解しておくとデバッグや解析の時に便利な場合もありますので、余力があればぜひ覗いてみてください。