YucciのSciendiary

Yucciの技術を中心とした雑記ブログです。技術や働き方、または日々の暮らしについて記載しています。

.subcktステートメントの記述方法

電子回路製作時、いつもLTSpiceを使っているのですが、

今回はNIのmultisimを久々に使っていました。

で!あるSPICEデータをloadしようとしても、どうしてかエラーが出てきます。

 

■エラー内容(原文のまま)

・日本語:コンポーネントウィザード 5/7

「モデルには複数のトップレベル.subcktステートメントが含まれています。

依存する.subckt定義または.model定義をメイン(トップレベル).subckt内に配置してください。」

・英語:Component Wizard Step 6 of 8

「The model contains multiple top-level statements.

Place any dependent .subckt or .model definitions within the main (top-level)  .subckt.」

ということで、SPICEデータをロードすることができません。

■中身

SPICEコードの中身を見ていくと、以下のようなことがわかります。

**************************************************

.subckt BA10393 1 2 3 4 5 6 7 8

.ends

*$

.subckt ba10393_s 1 2 3 4 5

.ends

**************************************************

つまり、「.subckt BA10393」と「.subckt ba10393_s 」という塊が、トップレベルのステートメントとなっている構造を取っています。本当のところは、トップレベル.subcktステートメントは一つしかとれず、それに連なる形で.subcktが連なる形を取らなければなりません。

■対処方法

たとえば、「.subckt BA10393」のなかに、「.subckt ba10393_s 」を入れ込むとエラーが回避できます。その際は、

**************************************************

.subckt BA10393 1 2 3 4 5 6 7 8

*$

.subckt ba10393_s 1 2 3 4 5

.ends

*$

.END BA10393

**************************************************

というようなステートメントに書き換えればよいと思われます。

上記はBA10393を取り上げていますが、ただ保証はないので、作成元に問い合わせるのがよいかと思います。