4.サンプル回路を使いシミュレーションする



いよいよSPICE3の回路シミュレーションとはどんなものかを、体験してみましょう。サンプルの回路ファイルを開き、シミュレーションを行ってみます。

まだの方は、まず、spiceフォルダの下に作業用のフォルダを作って下さい。フォルダ名は自由ですが、ここではworkとします。
できたworkフォルダに、ここから回路ファイル(SPICEネットリスト)diffpair.cirをダウンロードして下さい。各行の
意味は次のようになります。


SIMPLE DIFFERENTIAL PAIR ファイルの一行目はタイトル行としてシミュレーションの対象外。
空白で始まる行は、コメント行と見なす。(SPICE3)
タイトル行と終了行以外のすべての行の、ファイル内での順序は任意。
VIN 1 0 DC 0V AC 1V sin(0 100mV 5MegHz) VINという名前の電圧源をノード番号1と0間に接続。
VCC 8 0 12V VCCという名前のDC12Vの電圧源をノード番号7と0間に接続。
VEE 9 0 -12V VEEという名前のDC-12Vの電圧源をノード番号8と0間に接続。
Q1 4 2 6 MOD1 Q1という名前のバイポーラTrのC,B,Eを各々ノード4,2,6に接続。
Q2 5 3 6 MOD1 Q1,Q2の特性は、MOD1というモデル名を付けて示されている。
RS1 1 2 1k RS1という1kオームの抵抗をノード1,2間に接続。
RS2 3 0 1k
RC1 4 8 10k RC1という10kオームの抵抗をノード4,8間に接続。
RC2 5 8 10k
Q3 6 7 9 MOD1
Q4 7 7 9 MOD1
RBIAS 7 8 20k RBIASという20kオームの抵抗をノード7,8間に接続。
.MODEL MOD1 NPN (BF=80 RB=100 CCS=2pF TF=0.3ns TR=6ns CJE=3pF CJC=2pF VA=50)
MOD1というモデルはNPNトランジスタ・モデルであり、各パラメータは指定値、その他はデフォルト値をとる。
.OP 直流動作点の値を表示する。計算はコマンドに無関係に必ず行われる。
.DC VIN -250mV 250mV 5mV 直流解析。VINの値を-250mVから250mVまで5mV間隔で変化させる。
.AC DEC 10 1 10GHz 交流解析。交流特性を持つ電源を1Hzから10GHzまでスイープする。
.TRAN 5ns 2000ns 過渡解析を行う。時間刻み幅5nsecで0secから2000nsecまでを計算。
.TF V(5) VIN
伝達関数の解析。伝達関数、入力抵抗、出力抵抗を計算し表示。
.で始まる行はコマンド行。
*.plot dc V(5) *で始まる行はコメントと見なす。
*.plot ac Vdb(5) *を削除し、バッチモードで実行するとコマンドとして有効。
*.plot ac Vp(5) *が無くてもインタラクティブモードではコマンドとして認識しない。
*.plot tran V(5) V(4) *の行は参考のため記載。
*.print transfer_function
 
.END 回路ファイルの終了を示す。タイトル行と終了行だけは位置変更不可。
回路図エディタで描くとこうなっています。

回路ファイルが用意できたら、シミュレーションを実行しましょう。
SPICE3のプロンプトで、
cd workでworkフォルダに移動したら、source diffpair.cirと打ち込みEnterキーを押して下さい。回路ファイルdiffpair.cirがSPICE3に読み込まれます。
うまく読み込まれたかどうか、
listingと打ち込みEnterキーを押して下さい。今読み込んだファイルの内容がリストされるはずです。ウィンドウを上に拡張するとリストが見やすくなります。確認できたらSpiceプロンプトでrunと打ち込みEnterキーを押します。
これで直流動作点解析、直流解析、交流解析、過渡解析、伝達関数解析が行われ、結果が一時ファイルに保存されました。この結果データをディスプレイに表示してみます。Spiceプロンプトで、
setplotと打ち込みEnterキーを押して下さい。以下の表示が出るはずです。


Currentがネットリストの最後に行われた伝達関数解析のtf1になっていますので、そのままEnterを押します。Spiceプロンプトで、print allと入力して下さい。この回路の伝達関数、入力抵抗値、出力抵抗値が表示されます。


再度Spiceプロンプトで、setplotと入力して、?でtran1と入力しEnterを押します。Spiceプロンプトでplot v(5) v(4)と入力すると、新しいウィンドウが開きノード番号5と4の電圧の過渡解析のグラフが表示されます。


続いてSpiceプロンプトで、setplotと入力して、?でop1と入力しEnterを押します。Spiceプロンプトで、print allと入力して下さい。この回路の各直流動作電圧、電流値が表示されます。

今度はSpiceプロンプトで、setplotと入力して、?でdc1と入力しEnterを押します。Spiceプロンプトでplot v(5) V(4) と入力すると、新しいウィンドウが開き、ノード番号5の直流解析のグラフが表示されます。Vin電圧を-250mVから250mVまで変化させたときのノード5の電圧の変化のグラフです。


最後は、Spiceプロンプトで、setplotと入力して、?でac1と入力しEnterを押します。Spiceプロンプトでplot vdb(5) ylabel dB と入力すると、新しいウィンドウが開き、ノード番号5の交流解析のグラフが表示されます。ノード5におけるVin入力(AC1V)に対する電圧利得になります。標準では角度の単位はラジアンで得られますので、Spiceプロンプトでset units=degreeと入力してEnterキーを押して下さい。プロンプトに戻ったら、plot vp(5) ylabel degreeと打ち込みEnterキーを押して下さい。ノード5の位相が表示されます。

SPICEネットリストを修正したい場合は次のようにして下さい。Spiceプロンプトでeditと打ち込みEnterキーを押して下さい。エディタ(通常はNotepad)のウィンドウが開き現在読み込んでいる回路ファイルが表示されます。変更修正がある場合は直して上書きします。エディタを閉じてSPICE3に戻ると、run circuit?と聞いてきますので、変更した内容でシミュレーションする場合は、yと入力します。しない場合は、nとして下さい。
Copyright(C) 2004 SimCircuit Technologies Co., Ltd.