Linux Computing
  1. ホーム
  2. LinuxでEDA
  3. ngspice

ngspice

Ngspice は mixed-level/mixed-signal 回路シミュレータです。そのソースコードはSpice3f5、Cider1b1そしてXspice といった3つのオープンソース・ソフトウェア・パッケージがベースになっています。また、Ngspiceは電子回路設計自動化ツールの開発プロジェクトであるgEDAの一部になっています。

ngspice のインストール

最新版をインストールしたい場合はソースからインストールすることになることが多くなるでしょう。必ずしも最新版でなくてもよい場合にはバイナリーパッケージからインストールすることもできます。

ソースからインストール

ソースからインストールするには、ソースパッケージ ngspice-version.tar.gz (2012年1月31日にngspice-24.tar.gzがリリースされています)をngspiceのダウンロードページからダウンロードし、適当なディレクトリで展開します。以下の例ではダウンロードディレクトリにあるファイルをホームディレクトリに展開しています。

$ tar xvfz ./ダウンロード/ngspice-24.tar.gz

ソースパッケージを展開すると ngspice-version というディレクトリ(今回の場合は ngspice-24)が作成されていますのでそのディレクトリに移動します。

$ cd ngspice-24/

以下のコマンドを実行しコンパイル、インストールします。

$ ./configure 
$ make
$ sudo make install
[sudo] password for hoge: 

Linux Mint 12の場合、./configure の実行で以下のようなエラーが出ました。そのため、apt-get install libxaw7-dev でXawライブラリをインストールしています。

configure: error: Couldn't find Xaw library

バイナリーパッケージからインストール

Red Hat系のディストリビューションでは yum コマンドでインストールします。以下は Feodra 16 での実行例です。

$ su
パスワード:
# yum -y install ngspice

Debian系のディストリビューションでは apt-get コマンドでインストールします。以下 Ubuntu 11.10 での実行例です。

$ sudo apt-get update
$ sudo apt-get install ngspice

ngspice の起動とシミュレーションの実行

端末から ngspice と入力すると ngspice が起動し、コマンド入力待ちになります。ここでコマンドを入力していきます。尚、終了するには quit とタイプします。

シミュレーションは source コマンドでネットリストを読込み、run コマンド実行することで行われます。

$ ngspice
******
** ngspice-24 : Circuit level simulation program
** The U. C. Berkeley CAD Group
** Copyright 1985-1994, Regents of the University of California.
** Please get your ngspice manual from http://ngspice.sourceforge.net/docs.html
** Please file your bug-reports at http://ngspice.sourceforge.net/bugrep.html
** Creation Date: Sun Mar 11 16:41:36 JST 2012
******
ngspice 1 ->

source コマンドでネットリストファイルを読み込みます。

ngspice 1 -> source lpf.cir

Circuit: * gnetlist -g spice-sdb -o lpf.cir /home/hoge/gaf/project1/lpf.sch

ngspice 2 ->

run コマンドでシミュレーションを実行します。

ngspice 2 -> run
Doing analysis at TEMP = 27.000000 and TNOM = 27.000000

Warning: vin: has no value, DC 0 assumed


No. of Data Rows : 501
ngspice 3 ->

ワーニングが出ていますが、ひとまず無視することに。

シミュレーション結果のグラフ表示

シミュレーション結果をグラフ表示するには plot コマンドを実行します。y軸をデシベルでグラフ化するために db(vout) を、ラベルを dB とするために ylabel dB を、y軸の範囲を指定するために ylimit -70 -10を引数に指定しています。

ngspice 3 -> plot db(vout) ylabel dB ylimit -70 -10
ngspice 4 ->

周波数特性のグラフが表示されます。

次に位相特性のグラフを表示させます。ngspice の標準では角度はラジアンになっていますので、以下のように set コマンドで degree に変更します。

ngspice 4 -> set units=degree
ngspice 5 ->

引数に ph(vout) ylabel deg. を指定して plot コマンドを実行します。

ngspice 5 -> plot ph(vout) ylabel deg.
ngspice 6 ->

位相特性のグラフが表示されます。

また、以下のようにすることで lpf.raw ファイルを作成することができ、gwave 等でも波形表示させることができます。

$ ngspice -b -r lpf.raw lpf.cir
目次
PR
コンテンツ
最近のトピック
週間アクセスランキング
デル株式会社
Copyright (C) 2017 Linux Computing All rights reserved