SPICEプログラミングの基礎
SPICEを使用した回路シミュレーションのプログラミングは、他のコンピューター言語でのプログラミングとよく似ています。コマンドをファイルにテキストとして入力し、そのファイルをコンピューターのハードドライブに保存してから、プログラム(コンパイラーまたは通訳)そのようなコマンドを理解します。通訳されたコンピューター言語では、コンピューターはインタプリタと呼ばれる特別なプログラムを保持しています。 あなたが書いたプログラム(いわゆるソースファイル)を翻訳します )実行時に、その場でコンピュータの自国語に変換します。 コンパイルされたコンピューター言語では、作成したプログラムは、特別な方法でコンピューターの自国語に一度に翻訳されます。 コンパイラと呼ばれるプログラム 。作成したプログラムが「コンパイル」された後、結果の実行可能ファイル ファイルをコンピュータが直接理解するために、それ以上の翻訳は必要ありません。これで、コンパイラソフトウェアがそのコンピュータにインストールされているかどうかに関係なく、そのコンピュータで「実行」できます。 SPICEは通訳言語です。コンピューターが入力したSPICE命令を理解できるようにするには、SPICEプログラム(インタープリター)がインストールされている必要があります。 SPICEソースファイルは一般に「ネットリスト」と呼ばれますが、それぞれが「デッキ」と呼ばれることもあります。 「カード」と呼ばれるファイルの行。かわいいねネットリストは、ワードプロセッサまたはテキストエディタを使用して、自分のような人が1行ずつ指示を入力することによって作成されます。テキストエディタは、テキストの強調表示用の特別な埋め込みコード( italic など)を含まない純粋なASCIIテキストを生成するため、あらゆるタイプのコンピュータプログラミングでワードプロセッサよりもはるかに好まれます。 または太字 フォント)、インタプリタおよびコンパイラソフトウェアでは解釈できません。一般的なプログラミングと同様に、SPICE用に作成するソースファイルは、プログラミングの特定の規則に従う必要があります。単純なものではありますが、それ自体がコンピューター言語です。 BASICおよびC / C ++でプログラミングし、PASCALおよびFORTRANプログラムを読んだ経験があるので、SPICEの言語はこれらのどれよりもはるかに単純であると私は考えています。これは、HTMLなどのマークアップ言語とほぼ同じ複雑さですが、おそらくそれほど複雑ではありません。 SPICEを使用して回路を分析する際に従うべきステップのサイクルがあります。このサイクルは、最初にテキスト編集プログラムを呼び出して、ネットリストの最初のドラフトを作成したときに始まります。次のステップは、その新しいネットリストでSPICEを実行し、結果を確認することです。 SPICEの初心者ユーザーの場合、優れたネットリストを作成する最初の試みには、構文の小さなエラーが伴います。心配しないでください。すべてのコンピュータープログラマーが知っているように、習熟には多くの練習が伴います。試運転で明らかに正しくないエラーメッセージまたは結果が生成された場合は、テキスト編集プログラムを再度呼び出して、ネットリストを変更する必要があります。ネットリストを変更した後、SPICEを再度実行して結果を確認する必要があります。したがって、シーケンスは次のようになります。
- テキスト編集プログラムを使用して新しいネットリストを作成します。そのネットリストを任意の名前のファイルに保存します。
- そのネットリストでSPICEを実行し、結果を観察します。
- 結果にエラーが含まれている場合は、テキスト編集プログラムを再度起動して、ネットリストを変更してください。
- SPICEを再度実行し、新しい結果を観察します。
- SPICEの出力にまだエラーがある場合は、テキスト編集プログラムを使用してネットリストを再編集します。目的の結果が得られるまで、この編集/実行のサイクルを必要な回数繰り返します。
- ネットリストを「デバッグ」して良好な結果が得られたら、SPICEを再度実行します。今回は、コンピュータ画面で出力を観察するだけでなく、出力を新しいファイルにリダイレクトします。
- テキスト編集プログラムを起動しますまたは ワードプロセッサプログラムを開き、作成したSPICE出力ファイルを開きます。フォーマットのニーズに合わせてそのファイルを変更し、それらの変更をディスクに保存するか、紙に印刷します。
SPICE「プログラム」を「実行」するには、MS-DOS、UNIX、またはMS-WindowsDOSプロンプトオプションにあるようなターミナルプロンプトインターフェイスでコマンドを入力する必要があります。
スパイス「spice」という単語はSPICEインタープリタープログラムを呼び出し(SPICEソフトウェアがコンピューターにインストールされている場合)、「<」記号はソースファイルの内容をSPICEインタープリターにリダイレクトします。 example.cir この回路例のソースファイルの名前です。ファイル拡張子「 .cir 」は必須ではありません。 「 .inp 」を見たことがあります 」(「入力」の場合)および単なる「 .txt 」もうまく機能します。ネットリストファイルに拡張子がない場合でも機能します。 SPICEは、コンピュータのファイルシステムと互換性のある名前である限り、名前を気にしません(たとえば、古いMS-DOSマシンの場合、ファイル名の長さは8文字以内で、3文字である必要があります。文字拡張子、およびスペースやその他の英数字以外の文字は使用しないでください)。このコマンドを入力すると、SPICEは example.cir の内容を読み取ります。 ファイルを作成し、そのファイルで指定された回路を分析し、テキストレポートをコンピュータ端末の標準出力(通常は画面がスクロールして表示されます)に送信します。典型的なSPICE出力は、数画面分の情報であるため、コマンドを少し変更して確認することをお勧めします。
スパイスこの代替手段は、SPICEのテキスト出力を「more」ユーティリティに「パイプ」します。これにより、一度に1ページしか表示できなくなります。これが意味することは(英語で)、SPICEのテキスト出力は、1画面いっぱいになると停止し、ユーザーがキーボードキーを押して次の画面いっぱいのテキストを表示するまで待機することです。サンプルの回路ファイルをテストしているだけで、エラーがないかどうかを確認したい場合は、これが良い方法です。
スパイスexample.txt この2番目の選択肢(上記)は、SPICEのテキスト出力を example.txt という別のファイルにリダイレクトします。 、表示または印刷できる場所。このオプションは、前述の開発サイクルの最後のステップに対応しています。この作成者は、回路ネットリストの例が適切に機能することを証明した後でのみ、この「リダイレクト」の手法をテキストファイルに使用することをお勧めします。これにより、出力を確認するためだけにテキストエディタを呼び出す時間を無駄にすることがなくなります。 「デバッグ」の段階で。 SPICE出力を .txt に保存したら ファイルの場合は、テキストエディタまたは(さらに良い)ワードプロセッサを使用して出力を編集し、不要なバナーやメッセージを削除し、見出しやデータを強調してより洗練された外観にするための代替フォントを指定することもできます。その後、もちろん、必要に応じて出力を紙に印刷することもできます。 SPICEの直接出力はプレーンASCIIテキストであるため、このようなファイルは、SPICEがインストールされているかどうかに関係なく、どのコンピューターでも普遍的に解釈できます。また、プレーンテキスト形式により、「ポイントアンドクリック」シミュレーターによって生成されたグラフィックスクリーンショットファイルと比較して、ファイルが非常に小さくなります。 SPICEに必要なネットリストファイル形式は非常に単純です。ネットリストファイルは、複数行のテキストを含むプレーンASCIIテキストファイルにすぎません。各行は、回路コンポーネントまたは特別なSPICEコマンドのいずれかを記述します。回路アーキテクチャは、各回線の各コンポーネントの接続ポイントに番号を割り当て、コンポーネント間の接続を共通の番号で指定することによって指定されます。次の回路図の例とそれに対応するSPICEファイルを調べます。回路図は、シミュレーションを人間が理解しやすくするためにのみ存在することに注意してください。 SPICEはネットリストのみを理解します。
ネットリストの例 v1 1 0 dc 15 r1 1 0 2.2k r2 1 2 3.3k r3 2 0150 。終わり上記のソースファイルの各行について、ここで説明します:
- v1 バッテリー(電圧源1)、正の端子番号1、負の端子番号0、DC電圧出力15ボルトを表します。
- r1 抵抗R 1 を表します 図では、ポイント1と0の間に接続され、値は2.2kΩです。
- r2 抵抗R 2 を表します 図では、ポイント1と2の間に接続されており、値は3.3kΩです。
- r3 抵抗R 3 を表します 図では、ポイント2と0の間に接続されており、値は150kΩです。
SPICE回路記述の電気的に共通のポイント(または「ノード」)は、共通の番号を共有します。これは、大規模な回路の共通のポイントを接続するワイヤが通常、共通のワイヤラベルを共有するのとほぼ同じです。この回路をシミュレートするには、ユーザーはテキストエディタでこれらの6行のテキストを入力し、一意の名前( example.cir など)のファイルとして保存します。 )。ネットリストが作成されてファイルに保存されると、ユーザーは前に示したコマンドラインステートメントの1つ( spice
)を使用してそのファイルを処理します。 )、コンピュータの画面にこのテキスト出力を受け取ります: 1 ******* 10/10/99 ********スパイス2g.63 / 15/83 ******** 07:32:42 **** * 0例のネットリスト 0 ****入力リスト温度=27.000 deg c v1 1 0 dc 15 r1 1 0 2.2k r2 1 2 3.3k r3 2 0150 。終わり ***** 10/10/99 *********スパイス2g.63 / 15/83 ****** 07:32:42 ****** 0例のネットリスト 0 ****小信号バイアス溶液温度=27.000℃ ノード電圧ノード電圧 (1)15.0000(2)0.6522 電圧源電流 現在の名前 v1 -1.117E-02 総消費電力1.67E-01ワット 仕事は終わりました 0合計ジョブ時間0.02 1 ******* 10/10/99 ********スパイス2g.63 / 15/83 ****** 07:32:42 ***** 0 ****入力リスト温度=27.000 deg cSPICEは、出力の上部に使用されている時刻、日付、およびバージョンを出力することから始まります。次に、入力パラメータ(ソースファイルの行)が一覧表示され、続いて各ノード(参照番号)からグランド(常に参照番号0)へのDC電圧の読み取り値が表示されます。この後に、各電圧源を流れる電流測定値のリストが続きます(この場合、v1は1つだけです)。最後に、合計消費電力と計算時間が秒単位で出力されます。 SPICEによって提供されるすべての出力値は、科学的記数法で表示されます。上記のSPICE出力リストは、ほとんどの人の好みに合わせて少し冗長です。最終的なプレゼンテーションでは、不要なテキストをすべて削除し、重要なものだけを残すとよいでしょう。これは、テキストファイル( spice
example.txt )にリダイレクトされた同じ出力のサンプルです。 )、最終的なプレゼンテーションのためにテキストエディタで慎重にトリミングし、印刷します:サンプルネットリスト v1 1 0 dc 15 r1 1 0 2.2k r2 1 2 3.3k r3 2 0150 。終わりノード電圧ノード電圧 (1)15.0000(2)0.6522電圧源電流 現在の名前 v1 -1.117E-02総消費電力1.67E-01ワットSPICEの非常に優れた点の1つは、入力形式と出力形式の両方がプレーンテキストであるということです。これは、最も一般的で編集しやすい電子形式です。実質的に任意 SPICEプログラム自体がそのコンピューターに常駐していない場合でも、コンピューターはこの形式を編集および表示できます。ユーザーが希望する場合は、ワードプロセッシングプログラムの高度な機能を自由に使用して、出力をより魅力的に見せることができます。読者にわかりやすくするために、出力の行の間にコメントを挿入することもできます。
産業技術