石飛
netlist抽出に必要な最低限の前提知識
Sパラメータからnetlistあるいは等価回路を抽出するにあたって, 最低限知っておくべきことをまとめます.
netlistモデルはSパラメータの周波数範囲外では信頼できない.
Sパラメータは有限で離散的な周波数で測定なり解析されたデータです. ところがnetlistモデルは直流から無限に高い周波数まで連続的に振る舞います. 例えば2MHzから2GHzまで50点のSパラメータに完璧に一致するnetlistを抽出したとしても,そのnetlistの2MHz未満と2GHz以上の周波数領域での振る舞いはもとのSパラメータとは関係ありません.
この問題は特に直流を含む低い周波数で問題になります. 一般にSパラメータを扱う測定器やシミュレータは直流を扱うことができませんし, Sパラメータには直流や低い周波数領域のデータが含まれていません. ところがSPICEシミュレータはどんな場合にも(自動的に内部で) netlistの直流での振る舞いに基づいて直流解析を行うので, 異常な結果を出したり解析に失敗したりする可能性があります. これに対処するためにSパラメータファイルに直接DC(とみなしうる非常に低い周波数)の値を書き加える必要があるかもしれません. Sonnet Professinalでは解析周波数としてDCを指定することができます.
EMC,EMI問題では高い周波数領域の再現が期待されることがあります. そのためにSパラメータファイルは必要な高い周波数領域のデータを含んでいなければなりません. そのSパラメータは,最終的にEMC,EMI問題を再現したいシステムと同じ境界条件や伝搬モードで評価されたSパラメータでなければならないことを忘れてはなりません. そのようなSパラメータを得ることは現実には非常に困難です.
Causality(因果律)に従わないSパラメータが多い
例えば 測定から得られたSパラメータでは 絶対値の小さいデータに対して 無視できない誤差が含まれており, netlist抽出の過程で必要な∂S11/∂freqの計算に非常に大きな誤差を生じます.
損失の小さな系の測定結果や無損失でのシミュレーションでは, しばしば√(S11^2+S22^2)が1より大きいデータが含まれます. そこから抽出されたnetlistは負性抵抗を含む可能性があり, しばしばSPICEを混乱させます.
このような問題は高周波回路シミュレータや測定器で扱う上では全く問題になりません. netlistを抽出してSPICE解析を行った時初めて問題が明らかになります.
netlistは物理モデルに基づいた等価回路ではない
ある一つのSパラメータファイルと等価なnetlistをだた一つに決めることは原理的にできません.例えば2つの共振周波数を持つ系を4つのリアクタンスを持つ完全に等価な回路は3つあります. 多数の素子を含む系では完全に同じ特性の多くのnetlistが存在し得ます.
物理的な材料や構造との対応を説明したり,回路の動作を理解しやすくするために使われる 等価回路は 同じ特性を持った多くの回路の中の一つに過ぎません.
Sonnetのbbextractでは, 抽出アルゴリズムで扱いやすい 複雑で大規模な回路が SPICEで可読なnetlistとして出力されます. 恐らくそのどこを取り出しても人間には理解できない回路になるでしょう.
物理モデルに基づいた等価回路抽出には
物理的な材料や構造との対応を説明したり,回路の動作を理解しやすくするための 等価回路が必要な場合は,等価回路の形(トポロジ)を指定し, 抽出アルゴリズムをその都度開発しなければなりません. 需要の多い分野では専用の抽出アルゴリズムを使ったシステムが製品化されています. もし,キャパシタやインダクタの自己共振周波数やアンテナの等価回路が望みなら,単純な並列または直列共振回路で再現でき,その抽出に専用のソフトウェアは必要ありません.
Sonnetのbbextractには スパイラルインダクタやトランスの等価回路抽出に適した Inductor Model Fileが含まれています.
Sonnet Liteには, 波長よりずっと小さなコネクタやviaの等価回路に適したPI-Modelと 波長よりずっと小さな断面で,波長と同程度か長い多条線路のRLGC等価回路を抽出するN-Coupled Lie Modelが用意されています.
spiceの選択
- LTSPICE XVI
これを書いている2018年の時点で最も多く使われているSPICEと思われます. 無料で使用でき,日本語のマニュアルや資料,書籍が豊富です.
- PSPICE
有料ですが,日本代理店から技術サポートを受けることができます. Sonnetのbbextractが正式にサポートしています.
- H-SPICE
-
大規模な回路開発で多く使われているますが,高価です. sonnetのbbextractが正式にサポートしています.
- UCBK(University of California Berkeley) SPICE(the Simulation Program with Integrated Circuit Emphasis)
-
これがオリジナルのSPICEです. ソースファイルもドキュメントも無料です. 現在ではこのUCBK SPICEを直接使用することはあまりないでしょう. しかし他の全てのSPICEはこのUCBK SPICEとの互換性を保っているので, UCBK SPICEのドキュメントやアルゴリズムを理解することは有益です.
netlist抽出の例
電磁界解析のポート
右の図は差動線路の電磁界解析モデルの一例です. このモデルのような線路の短い部分や,コネクタ,via等は波長よりずっと小さいので Sonnet Liteに含まれる PI-Model で良い結果を得られる場合が多いです.
差動線路はグランド導体を含めて5つの外部端子を持っています. sonnetでは右図のようにそれらの端子に付与するポート番号を変更することで 差動,同相あるいはそれらの混在モードを解析することができます.
しかしnetlist抽出を行う場合は,右図の様にグランド端子を除く全ての端子に別のポート番号を付与してください.負(マイナス)のポート番号を使ってはいけません.
抽出モデルのトポロジ
Sonnetでnetlistを抽出する時emgraphの[Output]メニューには右図のようにサブメニューがあります. 下表にこれらの意味をまとめました.
サブメニュー | トポロジ | 長所 | 短所 |
---|---|---|---|
S,Y,Z Parameter File... | トポロジはありません.S,Y,Zパラメータの周波数特性が表形式で記録されます. いわゆるTouchstoneファイルです. |
|
|
PI-Model File... | シンプルなπ型の回路トポロジです. |
|
|
N-Coupled Line Model File... | Cadence Virtuoso のmtline モデルです. 互いに結合した複数の伝送線路をRLGC等価回路の行列で表現します. |
|
|
Broadband Model File... | 多量の線形回路素子が 複雑に接続された大規模な回路トポロジです. |
|
|
Inductor Model File... | スパイラルインダクタやトランスの一般的な等価回路です. |
|
PI-Modelの抽出
- netlist抽出に適したポートを与えたモデルを解析し,emgraphにグラフをプロットするか
- netlist抽出に適したポートを与えたモデルのSパラメータファイルをemgraphに読み込んでグラフをプロットしてください.
測定器の出力や部品メーカーから入手したSパラメータファイルもemgraphにグラフをプロットすることさえできればnetlistを抽出することができます.
左図のように [Output]-[PI-Model File...]を選んでください.
Data Typeはほとんどの場合[De-Embedded]がよいでしょう. 小型アンテナでは[not De-Embedded]のほうが良いかもしれません.
PI-Modelの場合, [Include Adaptive Data]のチェックは外しておいてください. 左の図で黒く反転した部分に "SON4f6e_0というsubcktは20~112MHzのSパラメータから抽出された" と書いてあります.
* Analysis frequencies: 20.0, 112.468265 MHz .subckt SON4f6e_0 1 2 3 4 REF
PI-Modelによるnetlist抽出では 周波数ごとに異なるsubcktが抽出されます.
左図は上述の netlist抽出に適したポートを与えたモデルの解析結果です. グラフでは6つの周波数にマーカーが置かれています. sonnetではこのマーカーのある周波数が厳密に電磁界解析を行った周波数で,それ以外はABSというSonnet社独自の補間を行ったデータです. 低い周波数と二番目に低い周波数のマーカーが上記の
* Analysis frequencies: 20.0, 112.468265 MHz
と一致していることに注意してください. 他のマーカー同士の間でもそれぞれに異なるsubcktが抽出されますが, 左のグラフから分かるようにこのグラフは10GHz以下では直線的に変化しており, どの周波数領域から抽出したsubcktでも大差はなかろうことが予想できます. このようなモデルではPI Modelが適しています.
[Model Options]をクリックすると別のダイアログが開きます.
左のダイアログはnetlist抽出にあたってSonnetが無視する値の設定です. 例えば1000Ωより大きな抵抗, 0.01pFより小さなキャパシタ, 100nHより大きなインダクタは単に絶縁されているとみなします. これらのデフォルトの設定はマイクロ波周波数領域で一般的な設定です. 目的に応じて適切な値に変更する必要があります. 例えば13.56MHzのRFIDでは[Lmax]をより大きな値にしなければ,RFIDのインダクタが無視されてしまいます.
このダイアログを[Close]で閉じ,一つ前のダイアログで[Save]を選んで, netlistファイルを保存してください. ここでは4p_pi.libという名前で保存しました.
netlistファイルは単なるASCIIファイルです.メモ帳などのエディタプログラムで開いて内容を確認してみてください.
bbextractモデルの抽出
bbextractモデルを抽出するには[Output]-[broadband model file]です. Sパラメータファイルから広帯域Spiceモデルを作る操作方法 では詳しい操作を説明してあります.
上記の差動線路のモデルから抽出したbbextractモデルに 4p_bb.libという名前を付けました.
LTSPICE XVIの解析例
ここでは, netlistファイルをLT-SPICEに読み込み時間軸解析する様子を紹介します.
シンボルを定義する
[File]-[New Symbol]を選んで新しいシンボルの定義を始めます. | |
[Edit]-[Add Pin/Port]を選んで,端子を設定します. | |
必要な数の端子を定義します. この例では 4port Sパラメータに対応するシンボルなので 4つの端子を定義し,5番目の端子はcommonという意味で"c"というlabelを付けました. | |
[Edit]-[Attributes]-[Edit Attributes]を選んで,
シンボルの属性を定義します. | |
[File]-[Save As]で名前をつけて保存します. これでシンボルの定義は終わりです.[File]-[Close]で ファイルを閉じてしまいましょう. |
シンボルを読み込む
[File]-[New Schematic]で新しい回路の定義を始めます. 重要
ここでまず,
[File]-[Save As]で名前をつけて保存してください.
ここではdiff.ascという名前にしました.保存場所は,この上で定義したシンボルと同じ場所でなければなりません. | |
[Edit]-[Component]を選び,先ほど定義したシンボルを追加します. |
netlistの読み込み
重要
Sonnetで抽出したnetlistファイル は この上で定義した回路と同じ場所に保存しておいてください. | |
[Edit]-[SPICE Directive]を選びます. | |
回路図の適当な場所に".inc"という文字が現れるので,左クリックで配置してください. | |
Sonnetで抽出したnetlistファイル
のどちらかを選択してください. | |
重要
スクロールして ".SUBCKT" という文字列で始まる行を探してください. その行の二番目の単語がこのnetlistが定義する特性の名前です. これは後で必要になります.
ファイルを閉じ,ダイアログを[OK]で閉じてください. これで,回路にnetlist 4p_pi.lib (か4p_bb.lib )を読み込ませる設定ができました.必要なら複数の".inc"を置いて,複数のnetlistを読み込ませることもできます. |
シンボルとnetlistを関連付ける
回路ブロックのシンボルを右クリックしてください. |
回路を入力し解析する
まとめ
- sonnet Lite
- でもPI Modelのnetlistを抽出してspiceとリンクする事ができます.
- PI Modelでは適切な周波数でのモデルを選択しないと間違った結果になります.
- sonnet professionalのbbextractオプションなら
- 与えたSパラメータファイルの全ての周波数領域で矛盾しないnetlistを抽出できます.
- spiceの直流解析や,時間軸解析に必要なDC特性を含めることができます.