Tips2  (04.01.17 〜/ LastUpDate:06.03.05)

このページは、PSpiceLite(CQ版/トランジスタ技術誌2002年5月号付録)の中級Tipsその2です。
最低限の使い方はマスターされたかた向けの内容となっています。

シンボル、ライブラリをコピーすることで、手に入ったモデルを簡単に組み込む方法をまとめてみました。


1.新規ライブラリを開く

2.既存ライブラリを開く

3.シンボルを編集する

4.ライブラリを組み込む

5.シンボルを組み込む

6. キャッシュ・アップデート

7. OPAMPライブラリについて

8. PSpice10.5 demo メジャメント機能

 これから、2SK2554のライブラリをつくることを例に取って説明します。2SK2554自体のライブラリファイルは、各自用意して下さい(自作するなど(笑))。
 ま、一つの例として考えて下さい。こちらから2SK2554のライブラリの提供はできません。たとえば、2SD756などは探せば入手が出来ますので、それらが入った時にこれを応用して作ってもらえばよいと思います。
 このCQ版(Liteバージョン)は、一つのライブラリファイルに15ライブラリまでしか組み込めないので、それを越えた場合には新しいライブラリファイルをつくればよいです。

1.新規ライブラリを開く

  newLib
  [File]の[New]の[Library]を選ぶと、LIBRARY1というプロジェクトができ、デフォルトではどういうわけかC:\にLIBRAR1.OLB(最後のサフィックスは自動的にインクリメントする)という名前で自動的にファイルを生成してしまう。
  そこで、プロジェクトウィンドウ「LIBRARY1」内部の[c:\library.olb]のアイコンをマウスの右クリックして出たメニューの[Save As...]を選び、インストールしたOrcadLiteの[Capture]の中の[Library]の中の[PSpice]の中に、適宜につけた名前(今回は[K3.OLB])で保存すると↓

k3.libに変更して保存

  そのままでは、なぜかプロジェクト・ウィンドウが[LIBRARY1]のままなので、プロジェクト・ウィンドウを閉じ、再び開くと、プロジェクト・ウィンドウも[K3.OLB]となる。

k3のLibrary Window

 ▲Top

2.既存ライブラリを開く

 既存で、MOS FETの入っているライブラリをオープンする。シンボルをそのまま利用するためである
 上記k3ライブラリのプロジェクトは開いておく。同時に、ここでは、付属の"EVAL.LIB"を開く。

Eval.libのProjectWindow
 
 EVAL.LIBの中で利用したいのはN-CHのMOSなので、IRF150がそれに相当し(別によいシンボルがあれば、それを利用してもよい)これをマウスでアクティブにして、コピーバッファにコピー([ctrl]+[c])する。

 こんどは、K3のライブラリのプロジェクトへ移り、[.\k3.olb]のアイコンをクリックして、ペースト([ctrl]+[v])すると、ライブラリがコピーされる。↓
パーツネームを変える
 コピーされた、k3のプロジェクトのIRF150をマウスで右クリックして出てきたメニューから[Rename]を選択して名前を[M2SK2554]と変更する。
PartNameを2sk2554に

 

 ※ゼロからライブラリ・シンボルを作ることも出来ますが、設定が大変なので、このようにコピーしたほうがよいでしょう。

 ▲Top

 

3.シンボルを編集する

 ライブラリ・プロジェクト内部の[M2SK2554]をダブルクリックする。そこには、いまだ名前が[IRF150]のMOSのシンボルがあるはずである。
未だにirf150

 シンボルエディタの上記ウィンドウをアクティブ状態にして、[Options]メニューの[Part Properties...]を選ぶと[User Properties]というウィンドウが出てくる。

PartProperties
UserProperties上下

 

 これの[Implementation]と[Value]とを、[M2SK2554]に変更する。それぞれ、必ず文字を入力後、リターンを押す事。
 (また、モデルがサブサーキット(オペアンプ)の場合には、[PSpice Template]も書き換える必要がある。この文の"%"の後にシンボルエディタで指定したピンの名前を記載するわけだが、その記載する順番と、ライブラリファイル(.libファイル)でのピンの定義の順番とを合わせておかなければならない。もちろん、ピンの数も合っていないとエラーになる。)
 

 すると、M2SK2554のモデルが出来上がる。シンボルで不満なところはマウスで修正する。

2sk2554 シンボル作成中

 とくに、このライブラリは、バグなのか、今回の様にコピーして変更し、一度保存すると、形状がすこし変わってしまい、ピンが離れたところに配置されてしまう。すると間抜けなシンボル(足がつながっていないシンボル)になってしまう↓

間抜けなシンボル

 保存してウィンドウを閉じた後、再度ダブルクリックして開いた後、点線内部のシンボルのソース、ドレインの足を伸ばしてシンボルの形状を整える。

 保存して終了する。

 

 ▲Top

 

4.ライブラリを組み込む

 上記のライブラリのプロジェクトを全て閉じる。

 2SK2554のライブラリ[M2SK2554]をテキストファイルで用意し、[.LIB]の拡張子をつけ、インストールしたOrcadLiteの[Capture]の中の[Library]の中の[PSpice]の中に保存する。

 なにかのシミュレーションプロジェクトを開く。なんでもよい。[PSpice]メニューの[New Simulation Profile]か[Edit Simulation Profile]を開く。

Simulation Setteings Window

 すると、[Simulation Settings]というウィンドウが開くので、これの[Libraris]タブをクリックする。[Browse...]をクリックすると、ライブラリ・ファイルを尋ねてくるので、先程保存したM2SK2554のライブラリファイル(.lib)を指定する。

 [Add as Global]をクリックすると、全てのシミュレーションでこのファイルが使用出来る。
 [Add to Design]をクリックすると、このシミュレーションのみでこのファイルが使用出来る。
 どちらかを押す。

  削除したい時はそのファイルをクリックして、「×」を押す。

  最後に「適用」を押して「OK]を押す。

 ▲Top

 

5.シンボルを組み込む

 

 何かのシミュレーションプロジェクトを開き、Capture(回路図エディタ)上で、[Place]メニューの[Part](または右に出ているANDゲートのアイコンをクリック)を選ぶ。

PlacePartWindow
 すると[Place Part]メニューが出る。ここで[Add Library...]をクリックすると、[Browse File]メニューが出るので、K3.OLBを指定して「開く」を押す。

PlacePart 2sk2554

 [Place Part]に戻ると、左下のウィンドウには[K3.OLB]が現れる。これをクリックすると、内部のMOSのシンボルが右下に表示される。

 試しにこれを選び、回路図上に配置してみる。配置したシンボルを選択し、マウスの右クリックを押して出たメニューの[Edit PSpice Model]を選ぶと、PSpiceModelEditorLiteが起動し、ライブラリファイルが読み込まれ、ライブラリパラメータが表示されることが確認できれば、ただしくライブラリが組み込まれた事になる。

modeleditor

  PSpiceModelEditorLiteは、保存せずに終了する。

 ▲Top

 

 

6.キャッシュ・アップデート

 

 いろいろとライブラリを作成しながらシミュレーションを行っていると、よく、シミュレーションしたらライブラリに不備があり、ライブラリを変更してからもう一度シミュレーションをしたい、ということがあります。
 ところが、ライブラリを変更しても、シミュレーションプロジェクトのキャッシュに古いライブラリが保存されていて、これをアップデートしない限り、変更前のライブラリをキャッシュから読み出して使ってしまいます。
 したがって、一度使ったライブラリを変更した場合には、キャッシュ・アップデート作業が必要になります。

 キャッシュをひらく

 上図は、[KANTAI_FET](金田式ファンなら、何をシミュレーションしているのか、一目瞭然(^^; )というシミュレーション・プロジェクトの[Design Cache]を開いた様子です。過去使ったモデルが全てここに格納されています。
 アップデートしたいモデル(ここではJ2N3954A)をマウスで選びアクティブにします。アップデート・キャッシュ

 そこで、[Design]メニューの[Update Cache]を選ぶと、ライブラリがアップデートされます。
 ただし、この時点で使っていない(回路図上から消えている)ライブラリに関しては、全てキャッシュから消えます。

 この作業を行えば、最新のライブラリを使うことが出来ます。

 

 

 ▲Top

 

7.OPAMPライブラリについて

 OPAMPのライブラリは各メーカーサイトから、特に最新のものはダウンロード可能です。
 そこで、上記3.にも少し書きましたが、簡単なOPAMPライブラリの設定方法を紹介します。

 アナログデバイセズ社AD829Jを例に取ります。
 左上はライブラリの[User Properties]、左下はダウンロードしてきたAD829Jのモデル、右中は[Pin Properties]、右下はライブラリエディタで編集中のシンボルで、ここで各ピンをダブルクリックすればそのピンの[Pin Properties]が開きます。
 まず、[User Properties]の[Implementation]と、ライブラリの[.SUBCKT]の後にあるライブラリ名をあわせます。
 次ぎに、[User Properties]の[PSpice Template]を編集するのですが、ダウンロードしてきたライブラリファイルによります。このライブラリファイルを見ると、
 non-inverting input,inverting input,positive supply,negative supply,output, compensation node
 の順になっていることがわかります。ノードNo(1, 2, 99, 50, 30, 12)は、これを見ても解析が大変でしょうから、考えなくても良いです。問題はこの並びです。
 回路シンボルのピンに、
 [non-inverting input] = [-]
 [inverting input] = [+]
 [positive supply] = [V+]
 [negative supply] = [V-]
 [output] =[OUT]
 [compensation node] = [COMP]
 と名前を付けましょう。[Pin Properties]でつけます。[COMP]以外は、大抵この名前が使われているので、コピーすればそのままで良いはずです。
 あとは、[User Properties]の[PSpice Template]に"%"の後にこの[-],[+]などを、ライブラリ定義の順番通りに書き込んでいきます。
 これで、[PSpice Template]とライブラリファイルとライブラリシンボルのピンの名前の三カ所のデータにつながりが出来るわけです。[PSpice Template]はライブラリファイルとシンボルとのインターフェースになるのです。

 ▲Top

 8.OrCAD PSpice 10.5 demoのメジャメント機能  (06.03.05)

OrCAD PSpice 10.5 Demoのメジャメント機能が本物と同じになっていたので、ご紹介します。

本物では前からこうだったのですが。下記をごらんください。これは便利。

MEASURECIR

この回路図で、CFを100p、1000p、10000p、100000pと変化させたときにVoutのカットオフ周波数の変化をパラメトリック解析にてみてみます。

MEASUREGRAPH

上記がその結果。青で囲んだところに表が出ていますが、これが4種のCFに対して、カットオフ周波数の変化をすべて表示しています。いままでのDEMO版ですと、これが最初の1つのデータしか表示されませんでした。すべて出て、かつコピーして表計算にも貼り付けられるので、レポート書きなど、大変便利です。


いくつか作ったメジャメント関数をご紹介します。

指定したグラフに対して、ある周波数を基準にして、そこから高域で-3dB落ちる周波数を求めるメジャメント

Cuttoff3dBfrom_X_Hz(1,LVL) = x2

*#Desc#* Cuttoff frequency -3dB at XHz level

* by Kephis 2003.09.30

*

* Usage:

* Cuttoff3dBfrom_X_Hz(<Trace name>,<BaseFrequency>)

*#Arg1#* Name of trace to search

*

*#ForceDBArg1#*

 

{

1|Search forward XValue(LVL) !1

Search forward Level(y1-3) !2;

}

指定したグラフの指定した周波数から二倍の周波数になるまでのスロープ(dB/oct)を求めるメジャメント

CuttoffSlope(1,FR1) = y2-y1

*#Desc#* CuttoffSploe

* by Kephis 2005.11.1

*

* Usage:

* CuttoffSlope(<Trace name>,<Frequency>) [dB/oct]

*#Arg1#* Name of trace to search

*

*#ForceDBArg1#*

{

1|Search forward XValue(FR1) !1

Search forward XValue(2 * FR1) !2;

}

 

 

 ▲Top

 

 

 


   back