TopSpice10 の部品モデルの仕組みと
外部モデル/自作モデルの組み込み方


 TopSpiceシミュレータに組み込まれている部品を使うのは、他のSPICE同様に簡単です。回路図に、型名がつけられたシンボルを配置するか、シンボルを配置してから型名や仕様を設定します。
やっかいなのは、TopSpiceに組み込まれていない部品モデルをシミュレーションしたい場合です。色々なモデルを組み込むには、シンボルとモデルの区別、モデルの種類の違いなど、一定程度の基礎知識が必要です。
以下に、まずTopSpiceの主な部品モデルの選択の方法(1節)、次にモデルは大きく3種類に分けることができるなどの要点を簡単にまとめます(2~4節)。最後に、外部モデルを追加するには、モデルの種類ごとにどう処理すれば良いか(5節)を、また、TopSpice独自の機能で自作モデルを簡単に作成する方法(6節)を説明します。

 TopSpiceでシミュレーション用の回路図を作成するには、回路図に部品シンボルを配置し、ワイヤでつなぎます。外部の部品モデルを使いたい場合も、まずその部品のシンボルを回路図に配置することから始めます。


  1. 部品モデルを選ぶ方法

    どんな部品モデルを選び出す場合でも、基本は、回路図エディタのメニュー・バーのInsert Part(またはツール・バーの)を選び、Insert Partダイアログを開きます。

    Insert Partダイアログにおいて
    (1) 簡単に基本部品を選ぶには 
         Common part symbols:から部品を選ぶ。形状を確認してInsertボタンをクリックする。ここにあるのは、SPICEシミュレータ基本素子(ビルトイン・デバイス)のシンボルでモデルがリンクされている。
    選んでいるサンプル図
     

    (2) シンボルの形状から選ぶには
         Get>Part Symbolボタンをクリックする。シンボル・ファイル一覧が表示されるので、配置したい部品が入っているシンボル・ファイルを選択する。その中に入っているシンボルのリストが表示されるので、希望のシンボルを選び形状を確認して、OKボタンをクリックする。モデル名がXで始まるシンボルが多く入っており、これらはシンボルをダブルクリックして開く属性設定ダイアログで、Value欄にモデル名を入力、リンクするモデル・ファイルの場所を指定することで、簡単に外部モデルが使用できる。
    選んでいるサンプル図
     
     
    (3) 部品の電気的機能からまたは型番から選ぶには   
         Get>Model Library Partボタンをクリックする。開いたダイアログで、Categories: 内のリストよりカテゴリーを選び、更にその下にカテゴリーがあれば、 Libraries in category: 内のリストよりそれを選ぶ。その状態を維持し、探したい部品型番があれば、Model: の欄に前方一致で入力する。カテゴリーを選択しないで、部品型番のみ入力すると、全カテゴリーから検索されるのでやや時間がかかる。各ボタンの役目: [Find]ボタン(前方一致で検索)、[Find Exact]ボタン(完全一致を検索)、[Find Next]ボタン(次を検索)
    選んでいるサンプル図

    (4) ディジタル部品を選ぶには
         Get>Digital U Elementボタンをクリックする。リストより希望するシンボルを選び、入出力の数を決める必要があるシンボルでは数を設定する。
    選んでいるサンプル図
     


  2. 組み込み基本モデル(回路図上のシンボルにおいて直接パラメータや式を指定するモデル)

    (1) RLC受動素子の設定可能なパラメータ 
    素子記号
    Device:
    種  類 シンボル名 パラメータ
    R  線形抵抗 R,RV, R+, RE, REV, RV, RVAR, RVVAR 抵抗値, AC, M, NOISE, PMAX, SCALE, TC, TC1, TC2, TEMP, DTEMP
     非線形ABM抵抗 {数式}, AC, M, NOISE, PMAX, SCALE, TC, TC1, TC2, TEMP, DTEMP
    L  線形インダクタ L, LV, LDOT. LVDOT, LVAR インダクタンス値, IC, RSER, RPAR, TC1, TC2, TEMP, DTEMP
     非線形POLYインダクタ POLY, 多項式係数, IC
     PWLインダクタ PWL, i-φ表, IC
    C  線形キャパシタ C, CV, CP, CVP, CVAR, CVARV キャパシタンス値, IC, M, RSER, RPAR, SCALE, TC, TC1, TC2, TEMP, DTEMP
     非線形POLYキャパシタ POLY, 多項式係数, IC, TC, TEMP
     非線形ABMキャパシタ {数式} または Q={数式}
     PWLキャパシタ PWL, v-q表, IC 
     TABLEキャパシタ TABLE, v-c表, IC 

    これらのパラメータを設定するには、回路図にシンボルを配置したら、そのシンボルをダブルクリックすると、属性設定ダイアログが開きます。
    ・抵抗値、キャパシタンス、インダクタンスだけを入力する場合は、Value/name欄に値を入力します。
    ・その他のパラメータも入力したい場合は、ParametersのLine1:, Line2:, Line3: の各行を使って、パラメータ=値を記述します。

    (2) その他の素子

    素子記号
    Device:
    種  類  シンボル名 パラメータ
    E  電圧制御電圧源  線 形 E, EAMP    ゲイン
     非線形POLY EB, EPOLY2  POLY, 多項式係数, IC
     TABLE関数 E  TABLE, i-o表
     非線形ABM EB VALUE or TABLE or LAPLACE or FREQ
     特殊機能 E*** 種類ごとのパラメータ(リファレンス参照)
    F  電流制御電流源  線 形 F, FLINEAR モニター電流計名, ゲイン
     非線形POLY FB POLY, モニター電流計名, 多項式係数, IC
    G  電圧制御電流源  線 形 G, GI ゲイン
    TABLE関数 G  TABLE, i-o表
    非線形POLY GB  POLY, 多項式係数, IC
     POWER GPOWER,GB  POWER, モニター電流計名, 係数値, IC
     OTA GB OTA, G, REF, IOUT ISINK,....(LTspice互換)
     IF関数 GIFGTVAL,
    GIFGTVALI
    IFGTVAL, 基準値, 真の値, 偽の値, VH, IC
    GIFLTVAL,
    GIFLTVALI 
     
    IFLTVAL, 基準値, 真の値, 偽の値, VH, IC
    定電流負荷 GB ILOAD, 定負荷電流値 
    非線形ABM GB  VALUE or CUR or TABLE or LAPLACE or FREQ or RESISTOR
    H  電流制御電圧源  線 形 H,HLINEAR モニター電流計名, トランス抵抗値
    非線形POLY HB  POLY, 多項式係数, IC
    I  独立電流源  標 準 I, IH, ISIN, IPULSE    DC電流値, RAMP, AC振幅値, AM波 or パルス or 正弦波 or 指数関数 or SFAM波 or SFFM波 or 折れ線近似 or ランダム波 or FILE, NOISE, RSHUNT
    ノイズ  NOISE, ノイズタイプ 
    定電流負荷 RLOAD, 定負荷電流値
    K  インダクタ結合 インダクタ間 K, K2, KLONG  インダクタ名,...  結合係数
    T  無損失伝送線路   T Z0, TD, F, NL, IC
    U  ディジタル素子   U***  ディジタル機能, 機能ごとのパラメータ
    (.MODEL構文なしでデフォルト値使用)
     
    V  独立電圧源   V, VH, VA, VB, V+, V- DC電圧値,AC振幅値, パルス or 正弦波 or 指数関数 or FM波 or 折れ線近似(PWL)


        
  3. デバイス・モデル(.MODEL記述によりパラメータ指定するモデル)

    素子記号
    Device:
    種  類  シンボル名 シンボルで指定できるパラメータ(.MODELとは別)
    C  キャパシタ    標 準 C, CV, CP, CVP, CVAR, CVARV  モデル名, キャパシタンス値, IC, M, RSER, RPAR, SCALE, TC, TC1, TC2, TEMP, DTEMP 
     集 積 モデル名, キャパシタンス値, L, W, IC, M, RSER, RPAR, SCALE, TC, TC1, TC2, TEMP, DTEMP 
     強誘電体 CFERRO, CFERROV  モデル名, AREA, IC, M, RSER, RPAR, SCALE, TC, TC1, TC2, TEMP, DTEMP 
    D  ダイオード 標準, HSPICE互換, LTspice互換  D, DV, DS, DZ, DLED, DLASER, DPHOTO  モデル名, AREA, OFF, (L), (W), IC, IMAX, PMAX, M, NOISE, TEMP, DTEMP 
    J  接合型FET JFET, MESFET, GASFET  J, JP モデル名, AREA, OFF, IC, IMAX, PMAX, NOISE, M, TEMP, DTEMP
    K  インダクタ結合  インダクタ間またはインダクタと磁気コア・デバイス間  K, K2, KLONG  インダクタ名,...  結合係数, モデル名 
    L  インダクタ   L, LV, LDOT. LVDOT, LVAR モデル名, インダクタンス値, IC, RSER, RPAR, TC1, TC2, TEMP, DTEMP 
    M  MOSFET モノリシック M, MP, M3, M3P, ... モデル名, IC, OFF, 形状パラメータ, オプション・デバイス・パラメータ
    VDMOS
    O  アナデジ・インターフェイス 独自定義設定用
    (通常不要) 
    OATOD, ODTOA, OUIO モデル名
    Q  バイポーラ・
     トランジスタ
    修正ガンメルプーン Q, QP, QPHOTO, QNPN4, QPNP4 モデル名, AREA, OFF, IC, IMAX, PMAX, NOISE, M, TEMP, DTEMP
    VBIC
    R  抵抗 標準抵抗  R,RV, R+, RE, REV, RV, RVAR, RVVAR モデル名, 抵抗値, AC, M, NOISE, PMAX, SCALE, TC, TC1, TC2, TEMP, DTEMP
    集積抵抗 モデル名, 抵抗値, L, W, AC, M, NOISE, PMAX, SCALE, TC, TC1, TC2, TEMP, DTEMP
    S  電圧制御
     スイッチ
    理想スイッチ  S モデル名,IC, [ON,OFF]
    指数関数スイッチ
    T  有損失伝送線路   モデル名, IC 
    U  ディジタル素子   U***  モデル名, 各機能ごとのパラメータ, IS
    Z  J素子と等価 JFET, MESFET, GASFET Z, ZP モデル名, AREA, OFF, IC, IMAX, PMAX, NOISE, M, TEMP, DTEMP
     
    回路図シンボルとは別に、ドットコマンド.MODELにより始まる構文でできたモデル・ファイルまたはライブラリ・ファイル(複数のモデル記述が併記されている)が、用意されていなければなりません。当然ですが、シンボルで指定されたモデル名とこの構文内のモデル名は一致している必要があります。そして、モデル・ファイル内に記述される構文には、SPICEエンジンで規定されているモデルのパラメータが必要です。次節のサブサーキットとの大きな違いは、デバイス・モデルの等価回路は、ユーザーには見えない形でSPICEシミュレータ・エンジンに組み込まれていることです。サブサーキットもユーザーには見えないものも多いですが、シミュレータ内部には組み込まれていません。

    (重要)R,L,C,K, Tについては、2節の組込基本モデルとしての使い方のほかに、デバイス・モデルとして.MODEL記述で詳細に特性を設定することもできる仕様となっています。また、キャパシタなどの部品メーカーより提供されている等価回路モデルは、デバイス・モデルではなく、次節のサブサーキットとして取り扱います。


  4. サブサーキット(.SUBCKT記述のモデル)

     X素子として回路に配置されます。複数の回路部品から構成された回路モジュールを一つの部品のように扱いたい場合、または単一のモデルでは特性を表せないような場合に、上記2,3節で示した素子を複数個組み合わせて一つの部品のように使用する方法。作成されたサブサーキットは、他の回路図でも一つの部品のように使用可能となります。シミュレーションで使うには、そのサブサーキットの回路図シンボルとは別に、ドットコマンド.SUBCKT~.ENDS構文でできたモデル・ファイルまたはそれらを複数含むライブラリ・ファイルが、必要となります。回路図に配置される素子シンボルの形状やピン数は任意であり、回路素子記号(Device)は「X」です。


    サブサーキットの3つの利用方法

    (1) ライブラリ・ファイル型
    通常の使い方です。ライブラリ・ファイルまたはモデル・ファイルと呼ぶネットリスト形式で記述されたファイルを、回路図シンボルと関連付けて使用します。部品メーカーが提供しているモデルを利用する場合は、この方法です。

    (2) 階層化型
    [上層回路図(***.TSC)と下層回路図(***.HTSC)が別にあるタイプ]
    サブサーキットをゼロから自作する場合は、まず、サブサーキット部を回路図で描いて作成すると思います。それをネットリスト形式に変換して.SUBCKT構文を追加しても良いですが、回路図形式のまま全体のシミュレーションに利用することも出来ます。サブサーキットをヴィジュアル化することで、回路を読みやすくできる、修正がし易くなるなどのメリットがあります。デメリットとしては、管理するファイルが増えるという点はあります。(1)項と同様に、上層の回路図内に下層であるサブサーキット回路をシンボルとして配置しますが、(1)項とは違って、サブサーキット部分の回路図も見ることが出来ます。 上層のシンボルを選択し、Alt+PgDnボタンをクリックすると、下層の回路図が開きます。上層に戻るには、Alt+PgUpボタンをクリックします。

    (3) 階層化型変形
    [上層回路図上に下層の回路図も表示可能なタイプ。(TopSpiceオリジナル機能 サンプル)]
    TopSpiceでは、(2)項のような通常の別回路図タイプの他に、サンプル図のように、上層の回路図内に下層の回路図(サブサーキット部分)を表示することも可能です。
    更に重要なポイントとしては、(1)項タイプでサブサーキットを使用したい時に、シンボルもモデルもゼロから自作する場合には、この方式を使うことより、最終的にシンボルとモデルを簡単に作成することが出来ます。( 6節参照


  5. 外部モデルの追加方法

     あるデバイス・モデルやサブサーキットを実験的に使用したいだけという場合は、回路図に相当するシンボルを配置後、直接回路図上に.MODELや.SUBCKT~.ENDSコマンドで記述することも、簡易的で便利な方法です。TopSpiceでは、次の2つの方法があります。
    ユーザー・ライブラリとして保存しておき、そのモデルを繰り返し使いたいという場合は、モデル・タイプにより、以下の手順で行なってください。

    (1) デバイス・モデル(.MODEL記述によりパラメータ指定するモデル)
     .MODEL構文には、SPICEエンジンで規定されたパラメータが必要です。パラメータはSPICEにより微妙に違っている場合があるので、ユーザーが追加したモデルには致命的な問題がないか、シミュレーション実行後、 出力ファイルで確認します。これらのモデルを追加する場合には、シンボルは既存のものが使えるので新たに作成する必要はありません。追加の手順は、以下の通りです。  
    1. .MODEL記述されたモデル・ファイルまたは、複数のモデルが含まれるモデル・ライブラリ・ファイルを入手する。
    2. このモデル・ファイルを任意の場所に置く。回路図ファイルと同じフォルダまたは、そのモデルをより汎用的に使いたい場合はユーザーが決めた場所など。
    3. 3節で示したシンボルを回路図に配置し、シンボル上でダブルクリックする。
    4. 現れた部品属性設定ダイアログで、Value/name欄に追加したいモデル名(モデル・ファイルで指定されている)を入力する。
    5. ダイアログ内の最下段の Model/Hierarchy File Link の欄でモデルの場所を選び、.LIBを選択する。(モデル・ファイルの参照の設定) (ここで使用するドットコマンドは、.INCではなく.LIBを推奨する。.INCは指定ファイル全てを回路ファイルに挿入するので、ここでの目的と違うため。)
    6. TopSpice起動画面の右下の Settingsボタンをクリックして開くダイアログの User library folder location において、ユーザー・ライブラリとして常に使う場所をセットしておくと、回路図のモデル参照設定において絶対パスは必要なく、モデル名だけの指定でよい。
      パスの設定例. C:¥Users¥ユーザー名¥Documents¥TopSpice\Lib

    (2) サブサーキット
     デフォルトの設定の場合、以下のフォルダ内に、新たに追加したいモデル・ファイルまたはモデル・ライブラリを保存します。 ファイルの拡張子は、***.lib, ***.txt, ***.modなどテキストファイルであれば自由です。また、単一のモデルだけを記述してあっても、複数のモデルが記述されていて、モデル・ライブラリとなっていても使用できます(下記コラム参照)。
    既存のモデルと区別したい場合は、subフォルダ内に新しいフォルダ(例:User)を作ります。
    C:¥Users¥ユーザー名¥AppData\Local¥LTspice¥lib¥sub\User

    1. .SUBCKT記述されたモデル・ファイルまたは、複数のモデルが含まれるモデル・ライブラリ・ファイルを入手する。
    2. このモデル・ファイルを任意の場所に置く。回路図ファイルと同じフォルダまたは、ユーザーが決めた場所など。
    3. 3節で挙げられているデバイス・モデル素子を、サブサーキット構文で使用する場合は、相当するシンボルを回路図に配置し、シンボルをダブルクリックする。現れた部品属性設定ダイアログで、Device: 欄をC,D,J,K,L,...からXに変更する。(デバイス・モデルでなくサブサーキットであるから)
    4. b項において、モデル・ファイルを任意の場所に置いた場合は、部品属性設定ダイアログ内の最下段の Model/Hierarchy File Link の欄でモデルの場所を選び、.LIBを選択する。(モデル・ファイルの参照の設定)(ここで使用するドットコマンドは、.INCではなく.LIBを推奨する。.INCは指定ファイル全てを回路ファイルに挿入するので、ここでの目的と違うため。)
    5. TopSpice起動画面の右下の Settingsボタンをクリックして開くダイアログの User library folder location において、ユーザー・ライブラリとして常に使う場所をセットしておくと、回路図のモデル参照設定において絶対パスは必要なく、モデル名だけの指定でよい。
      パスの設定例. C:¥Users¥ユーザー名¥Documents¥TopSpice\Lib 。
    特にサブサーキットでは、ネットリスト部分はデバイス・モデルのように構文に制約がなくシンボルも自由なので、新規作成時には、次の注意が必要です。モデルの.SUBCKT構文で示されたピンの順番と数が、モデルとシンボルで一致していなければなりません。ピン数の不一致は、すぐエラー表示により分かりますが、順番の間違いは、動作結果でしか判断できません。


  6. 自作モデル・シンボルの追加方法

    他の方法もありますが、もっとも簡単だろうと思われる4節 (3)項 の方法により、自作のモデルとシンボルを作成します。
        
    1. サブサーキット化したい新しい回路図を描く。必要な入出力ピンを名前を付けて配置する。ピンの順番は、シンボルと一致させるために慎重に決める。
    2. 描いた回路図に任意の名前を付け単独の回路図ファイルとして保存する。
    3. 回路図のピンを含んで全体を選択し、クリップボードにコピーする。
    4. 新しい回路図ファイルを開く。
    5. メニューバーよりProject > Subcircuit > New...とクリックし、開いたダイアログでとりあえずサブサーキット名だけを記入する。
    6. サブサーキット作成モードになっているので、空の回路図上でc項でコピーした内容のペーストを行なう。赤い点線枠で囲まれたサブサーキットが現れる。必要な場合はこの状態でピンを追加したり、回路の編集を行う。
    7. メニューバーよりProject > Subcircuit > Close とクリックすると、シンボル作成モードになるので、希望の形状を選び、OKをクリックする。
    8. 使用中の部品リストにこのシンボルが載っているので、回路図に配置し、簡単な回路を付加して動作確認を行なう。
    9. ここで、サブサーキットのパラメータを指定したければ、メニューバーよりProject > Subcircuit > Open... > Openとクリックし、赤い点線枠の編集モード状態で、Project > Subcircuit > Options...とクリックする。
    10. 開いたダイアログのParameters ボタンをクリックし、パラメータとその初期値を設定する。編集が終わったらProject > Subcircuit > Close... をクリックし、編集モードを終了する。
    11. 一般的なサブサーキットのように、サブサーキットの内部回路を見せなくても良い場合は、Project > Subcircuit > Open... > Openとクリックして、編集モード状態で、Project > Subcircuit > Save As Model... とクリックし、モデルファイルを抽出し、保存する。そのままモデルとして使える状態になっているので、このファイルとシンボルを関連付けて使用する。


参考資料: (1)(株)マクニカ オンラインセミナー「LTspiceへ部品モデルをインポートする方法を学んでみよう!」 (2) 電子回路シミュレータPSpiceリファレンス・ブック(森下勇著、CQ出版社)

copyright©2025 SimCircuit Technologies Co., Ltd. all rights reserved.