Ryusai's Homepage
トップページ > LinuxでEDA > gEDA/gaf > 回路図エディタ gschem > gnetlistでSPICEネットリストの生成

回路図エディタ gschem

gschemで回路図作成


gschem は gEDA/gaf でメインツールである回路図エディタです。ここでは、この gschem による回路入力から SPICE シミュレーション用のネットリスト生成、そしてシミュレーションといったデザインフローを試していきます。端末から以下のように入力することによって回路図作成のウィンドウが立ち上がります。オペアンプを使った2次の Buterworth Low Pass Filter の回路を例にします。
$ gschem lpf.sch &
タイトルブロックの追加
回路図入力画面のメニューバー「追加」→「部品」で部品選択ウィンドウが立ち上がり、まず初めに「 titleblock 」→「 title-A3.sym 」を選択し適当な場所におきます。
キーボードから ve と入力するかメニューバーから「表示」→「拡大範囲」をクリックすると部品に合わせた画面表示になります。

部品の追加
部品選択ウィンドウの linear ライブラリから lm358-1.sym、analog ライブラリから resister-2.sym を3つ、capacitor-1.sym を2つ、spice ライブラリから vac-1.sym 、と vdc-1.sym を2つ追加する。部品の回転、移動を行いながら、ネットの接続をして回路を作成します(図 1)。
また、SPICE のシミュレーションコマンドが記述されたファイルをインクルードする為に spice ライブラリから spice-include-1.sym を追加します。
図1 
ネット接続しただけの2次LPF回路図
シンボルの作成
gschem の部品ライブラリに既に登録されているシンボルがそのまま使えれば良いのですが、使えない場合には新たにシンボルを作成するか、既にあるシンボルを編集して作成します。またトランジスタやオペアンプ等のアクティブ素子は使用するSPICE モデルで記述されている端子の順番にシンボルの属性(pinseq)があっているか確認が必要になります。今回使用するオペアンプ LMX358 は既に登録されているLM358の pinseq や device name を修正して新たにシンボルとして登録しています。実際には
/usr/share/gEDA/sym/linea/lm358-1.symを Text Editor で直接編集して
/usr/share/gEDA/sym/local/lmx358-1.sym(リスト1)においています。
また、シンボルの属性が正しいかどうかを確認あるいは編集するには直接 Editor で開くことのほかに gschem でシンボルを選択し、「階層」 -> 「シンボルへ」をクリックし Symbol Editor を起動しさらに、「編集」 -> 「隠しテキスト表示」をクリックすることでできます。
ただし、/usr/share/gEDA/sym以下のシンボルを編集するのにはroot権限で行う必要があります。
リスト1 lmx358-1.sym
     --省略--
      
      device=LMX358 <--- デバイス名の変更
      
      --省略--
      {
      T 50 625 5 8 1 1 0 0 1
        pinnumber=3
        T 50 625 5 8 0 0 0 0 1
      pinseq=3
        }
        P 200 200 0 200 1 0 1
        {
        T 50 225 5 8 1 1 0 0 1
      pinnumber=2
        T 50 225 5 8 0 0 0 0 1
      pinseq=4 <--- 2 から 4 に変更
        }
        P 800 400 1000 400 1 0 1
        {
        T 875 425 5 8 1 1 0 0 1
      pinnumber=1
        T 875 425 5 8 0 0 0 0 1
      pinseq=5 <--- 1 から 5 に変更
        }
        P 500 200 500 0 1 0 1
        {
        T 525 50 5 8 1 1 0 0 1
      pinnumber=4
        T 525 50 5 8 0 0 0 0 1
      pinseq=2 <--- 4 から 2 に変更
        }
        P 500 600 500 800 1 0 1
        {
        T 525 650 5 8 1 1 0 0 1
        pinnumber=8
        T 525 650 5 8 0 0 0 0 1
      pinseq=1 <--- 5 から 1 に変更
        }
      
      --省略--
      
      LMX358 <--- LM358 から LMX358 に変更
        T 200 900 8 10 1 1 0 0 1
        refdes=U?
部品の属性の変更
回路図から SPICE のネットリストを生成する為に、リファレンス情報(refdes)、抵抗・コンデンサの定数等の値(value)やネット名(netname)情報といった属性を編集する必要があります。属性を編集するには編集する部品を選択してキーボードから ee と打つか、編集する部品をダブルクリックすることによって attribute 編集ウィンドウが現れます。
attribute 編集ウィンドウ(編集前)
attribute編集ウィンドウ(編集前)
各部品の属性 (refdes value) の変更は回路図 (図 2) のようにしています。また、オペアンプは refdes の修正 (U? -> X1)、value(LMX358) の追加と SPICE モデルのパスの指定、/home/hoge/gEDA/gaf/lib/opamp/LMX358.FAM を追加しています。
attribute 編集ウィンドウ(編集後)
attribute 編集ウィンドウ(編集後)

SPICE model ファイルの編集
今回使用したオペアンプ LMX358 の SPICE モデル LMX358.FAM はMAXIM/DALLASのオペアンプ/コンパレータマクロモデルからダウンロードし、多少の編集をしています(リスト2)。
リスト2 LMX358.FAM
* LMX358 MACROMODEL

-- 省略 --

* Connections
*      1  = IN+
*      2  = VEE
*      3  = IN-
*      4  = OUT
*      5  = VCC
*******************************
*.SUBCKT LMX358 1 2 3 4 5 6 7 8 <-- コメントアウト
* XAMP1 8 4 3 2 1 OPAMP         <-- コメントアウト
* XAMP2 8 4 5 6 7 OPAMP         <-- コメントアウト
*.ENDS                          <-- コメントアウト
*******************************

*******************************
.SUBCKT LMX358 10 18 7 6 75     <-- Subcircuit 名を OPAMP から LMX358 に変更
* 10 = VCC
* 18 = VEE
*  7 = IN+
*  6 = IN-
* 75 = OUT
*****************

-- 省略 --

.ENDS
このようにシンボルの属性の編集や新規に作成したシンボルを使った回路図です(図 2)。
図2 
完成した2次LPF回路図


前のページ
gEDA/gafスイーツをインストールする
次のページ
gnetlistでSPICEネットリストの生成


サイトマップこのサイトについてお問い合わせ |
Copyright (C) 2006-2008 Ryusai's Homepage All rights reserved