THS4521 の2つのPSpiceモデルをLTspiceでシミュレーションしてみた

前回、PSpice for TI でシミュレーションした差動アンプ THS4521の2つのPSpiceモデルをLTspiceでシミュレーションしてみた。

ひとつは PSpice for TI に付属で入っていたモデル"ths4521.lib"、もう一つは Texas Instruments サイト の THS4521製品ページよりダウンロードしたモデル"ths4521_a.lib"。

PSpice for TI では、この2つのモデルでのトランジェント解析結果は同等だったが、2つのモデルファイルの記述内容は異なっていた為、LTspiceでも同様の結果が得られるかを確認する。

1. "ths4521.lib" : PSpice for TI 付属モデルの場合

 PSpice for TI を標準インストールした時のモデルファイルは下記フォルダに格納されている。

  C:\cds_spb_home\cdssetup\pspTILibDir

 この中にある モデルファイル "ths4521.lib" を ドキュメントにある LTspiceのモデルライブラリフォルダ "ドキュメント\LTspiceXVII\lib\sub" に他と区別する為 "myLib" フォルダを作成してコピーする。

①シンボルファイルの作成

"ths4521.lib"に対応した回路図シンボルを作成する必要があるが、ここではこのモデルが正しく動くかの検証の為、LTspiceの機能の一つであるシンボルの自動生成機能を使って回路図シンボルを作成する。

まず、LTspiceを起動し、"File"→"Open..." で先程コピーしたモデルファイル "ths4521.lib"を開く。

f:id:EClab_I:20210921142711p:plain

開いたファイルの ".subckt" で始まる行で右クリックしたメニューで "Create Symbol"を実行します。

表示されたダイアログで "はい"とすることにより、このモデルに紐づいたシンボルファイル "THS4521.asy" が自動作成され、表示されます。

(このファイルは "ドキュメント\LTspiceXVII\lib\sym\AutoGenerated" に作成されます。

f:id:EClab_I:20210921144653p:plain

自動で配置されたピンの位置では回路図での結線がしにくいのでピン位置を下記のように修正しました。

f:id:EClab_I:20210921150118p:plain

この修正したファイルを修正前のファイルと区別する為、"THS4521_1.asy" として元のフォルダ "ドキュメント\LTspiceXVII\lib\sym\AutoGenerated" に保存します。

これで回路図を作成する準備が整いました。

②回路図の作成

LTspice を起動し、"File"→"New Schematic" で回路図を新規作成します。

"Edit"→"Component" または ツールバー上の ANDゲートの形をしたアイコンをクリックし、"Select Component Symbol" ウィンドウを開く。

[AutoGenerated]フォルダ下に先程保存した "THS4521_1"があるので、これをダブルクリックすることで回路図に "THS4521_1"シンボルを配置できる。

f:id:EClab_I:20210924145622p:plain
f:id:EClab_I:20210924145645p:plain

"Component"→"Voltage", "Resistor", "Ground" 等により下記ゲイン1の差動アンプ回路を作成する。

V3は、差動アンプへの入力信号用電圧源で、ここではAC解析(周波数特性)用 及び 過渡解析(正弦波入出力)用の電源を V3 を右クリック→ "Advanced" で表示される下記ウィンドウで定義します。(AC 1V, 振幅1V/1kHzのSINE波形)

f:id:EClab_I:20210924153523p:plain

f:id:EClab_I:20210925150317p:plain

この回路を任意のフォルダに任意の名前(拡張子は ".asc")を付けて保存します。

ここでは、任意の場所に"Sim_THS4521_1"というフォルダを作成し、"THS4521_1.asc"という名前で保存しました。

③シミュレーションの実行(AC解析)

THS4521の帯域幅は145MHzなので、ここでは 100kHz~1GHz までの周波数特性をシミュレーションしてみる。

"Simulate"→"Edit Simulation Cmd" で表示される"Edit Simulation Commnd"ウィンドウの"AC Analysis"タブで、Type of sweep: Decade、 Number of points per decade: 20、Start frequency: 100k、Stop frequency: 1G とし、表示された文字列 ".ac dec 20 100k 1G"を回路図の任意の位置に配置する。

f:id:EClab_I:20210925150410p:plain

"Simulate"→"Run" でシミュレーションが実行され、画面には回路図と共に結果を表示する為のグラフ画面が表示される。グラフ画面上で右クリックし、"Add Traces"を選択すると"Add Traces to Plot"ウィンドウが表示される。"Available data:"の中の"V(vout+)"と"V(vout-)"を選ぶと下の"Expression(s) to add:" に表示されるので、間に "-"演算子を入れ、"V(vout+) - V(vout-)" とし、"OK"とすると、グラフに出力差動電圧の周波数特性結果が表示される。下記グラフよりほぼデータシート通りの145MHzの帯域幅の結果となった。

f:id:EClab_I:20210925152219p:plain

④シミュレーションの実行(トランジェント解析)

今度は"Simulate"→"Edit Simulation Cmd" で表示される"Edit Simulation Commnd"ウィンドウの"Transient"タブで、Stop time: 2ms、Time to start saving data: 0、Maximum Timestep: 10us とし、作成された文字列 ".tran 0 2ms 0 10us"を回路図上の任意の位置に配置する。

(この時、③で配置した "ac dec 20 100k 1G"は、先頭に ";" が自動で付与されコメント化される。)

f:id:EClab_I:20210925153648p:plain

"Simulate"→"Run" で③と同様に、"V(vout+) - V(vout-)" をプロットすると振幅1V・周波数1kHzの入力に対する差動出力の2サイクル分の時間波形結果が表示される。

f:id:EClab_I:20210925154211p:plain

 

2.  "ths4521_a.lib" :  TIJサイトよりダウンロードしたモデルの場合

Texas Instruments サイト TH4521製品ページの「設計ツールとシミュレーション」よりTH4521のPSpice Model "sbom343e.zip"を適当なフォルダにダウンロードし解凍する。

f:id:EClab_I:20210921135748p:plain

f:id:EClab_I:20210921140055p:plain

解凍したフォルダの中にあるモデルファイル "ths4521_a.lib" を前項モデルの時と同じく"ドキュメント\LTspiceXVII\lib\sub"内に作った "myLib" フォルダにコピーする。

 

①シンボルファイルの作成

前項と同じく、このモデルファイルを LTspice で開き、".subckt" で始まる行で右クリック → "Create Symbol" にてシンボルファイル を自動生成する。

f:id:EClab_I:20210921151700p:plain

この時、".subckt" の後のシンボル名が "THS4521" となっている為、前項のモデルで自動生成したシンボルファイル "THS4521.asy" となるので、上書きして良いかのダイアログが表示される。

前項モデルのシンボルファイルはピン配置を変更したファイル "THS4521_1.asy"として保存されている為、"はい" にて上書き作成すると自動生成されたシンボルが表示される。

f:id:EClab_I:20210921152406p:plain
f:id:EClab_I:20210921152723p:plain

前項モデルと同じく回路図を作成しやすいようにピン配置を変更し、"THS4521_2.asy" と名前を変更し、元のフォルダ "ドキュメント\LTspiceXVII\lib\sym\AutoGenerated" に保存します。

②回路図の作成

前節「1."ths4521.lib" : PSpice for TI 付属モデルの場合」と同様に、"ドキュメント\LTspiceXVII\lib\sym\AutoGenerated"より 前項で保存した "THS4521_2" シンボルを呼び出し、前節同様のゲイン1の差動アンプ回路図を作成します。

f:id:EClab_I:20210925160050p:plain

f:id:EClab_I:20210925160239p:plain

前節モデルのシンボルと同じ見た目のシンボルと回路なので、見た目は前節と全く同じ回路図が出来上がりましたが、モデルファイルは別のものです。

ここでは、"Sim_THS4521_2"というフォルダを作成し、"THS4521_2.asc"という名前で保存します。

③シミュレーションの実行(AC解析)

前節と同じく、"Simulate"→"Edit Simulation Cmd" →"AC Analysis"タブで、Type of sweep: Decade、 Number of points per decade: 20、Start frequency: 100k、Stop frequency: 1G とし、文字列 ".ac dec 20 100k 1G"を回路図の任意の位置に配置します。 

f:id:EClab_I:20210925150410p:plain

"Simulate"→"Run" でシミュレーションを実行し、前節と同様に出力差動電圧 "V(vout+) - V(vout-)" の周波数特性結果をグラフに表示する。

下記グラフより、前節の結果と異なり帯域幅が約850MHzまで伸びた結果となった。

f:id:EClab_I:20210925161213p:plain

④シミュレーションの実行(トランジェント解析)

前節同様に、"Simulate"→"Edit Simulation Cmd"→"Transient"タブで、Stop time: 2ms、Time to start saving data: 0、Maximum Timestep: 10us とし、文字列 ".tran 0 2ms 0 10us"を回路図上の任意の位置に配置する。

f:id:EClab_I:20210925153648p:plain

"Simulate"→"Run" で前節同様に、"V(vout+) - V(vout-)" をプロットしようとしてもグラフに出力波形が表示されない。

f:id:EClab_I:20210925162525p:plain

結果データを確認する為に、グラフ画面で"File"→"Export data as text" とし、”Select Traces to Export”画面で、"V(vout+)" と "V(vout-)"を選択し、"OK"とすると"Sim_THS4521_2"フォルダに "THS4521_2.txt" という名前でデータが保存される。

f:id:EClab_I:20210925163001p:plain

このファイルを開くと、時間 0 ~ 5.0245…[ns] までは数値データがあるが、5.0838…[ns]以降は、"#QNANO-+000"と書かれておりシミュレーションできていないようだ。

f:id:EClab_I:20210925163519p:plain

              ~

f:id:EClab_I:20210925163643p:plain

上記結果より、結果グラフ上の横軸ラベルの位置で右クリックし横軸範囲を指定できるウィンドウで、left: 0、tick: 0.1ns、Right: 6ns とし、結果グラフを表示すると下記のようになる。(下グラフでは、V(vout+)、V(vout-) の結果も表示している。)

f:id:EClab_I:20210925164749p:plain

 

3. まとめ

上記結果より、PSpice for TI に付属のモデル"ths4521.lib" と Texas Instruments サイトよりダウンロードしたモデル "ths4521_a.lib" のシミュレーションでは、今回実施したAC解析で周波数特性結果が異なり、正弦波入力でのトランジェント解析では、PSpice for TIモデルは期待通りのシミュレーション結果となり、TIサイトのダウンロードモデルではシミュレーションが失敗する結果となった。

前回記事で、両モデルを PSpice for TI でシミュレーションした結果は同等だった為、PSpice for TI と LTspice ではモデルファイルのフォーマット または 解釈が異なるようだ。

モデルファイルの記述内容の差異・解釈については、勉強不足の為、どなたか解析できればお教えいただくと幸いです。