LTspice-SPICEモデルを暗号化する方法

当記事では、LTspiceのSPICEモデルを暗号化する方法について詳しく解説します。
特に自分で作成したSPICEモデルを他者に配布する際、ネットリストの内容を公開したくない場合に、利用するケースが多いと思います。
コマンドプロンプトを使用したSPICEモデルの暗号化
SPICEモデルの暗号化はWindowsのコマンドプロンプトを使用して、LTspiceのコマンドで行います。
本来、自作したSPICEモデルを暗号化するケースが多いと思いますが、当記事では、練習として以下の記事で利用したアナログ・デバイセズのオペアンプ「AD8610」のサブサーキットモデルを暗号化してみます。


スタートメニューの「Windowsシステムツール」から、コマンドプロンプトを起動させます。

コマンドプロンプトでLTspice XVIIがインストールされているファイル(ディレクトリ)に移動します。
「cd C:\Program Files\LTC\LTspiceXVII」と入力して、「Enter」を押すと実行されます。
cd C:\Program Files\LTC\LTspiceXVII

SPICEモデルを暗号化するコマンドに使用するので、暗号化したいSPICEモデルのファイルのパスをコピーしておきます。

SPICEモデルを暗号化するコマンド「XVIIx64.exe -encrypt "ファイルのパス"」を実行します。
今回の場合、「XVIIx64.exe -encrypt "C:\Users\ユーザー名\Documents\LTspiceXVII\lib\sub\Analog_Devices\ad8610.cir"」と入力して、「Enter」を押します。
XVIIx64.exe -encrypt "ファイルのパス"
XVIIx64.exe -encrypt "C:\Users\ユーザー名\Documents\LTspiceXVII\lib\sub\Analog_Devices\ad8610.cir"
SPICEモデルを暗号化するコマンドを実行すると、元のファイルに上書きされてしまいます。
元ファイルの情報は完全に消えてしまうので、暗号化を実行する前に必ずバックアップをしておきましょう。

上記の画面が表れ、暗号化が始まります。暗号化の時間は、SPICEモデルの規模や使用しているPCの環境にもよりますが、約2~5分かかります。

暗号化が終了すると、上記の画面が表れます。「OK」をクリックして全ての作業が完了です。

暗号化されたSPICEモデルのファイルを開くと、16進数の羅列に変更されているのがわかります。
シミュレーションでの確認
念のため、以下の記事で作成した回路を利用して、暗号化されたSPICEモデルが正しくシミュレーションできるのか確認してみます。


「01_sample-tran-lt1028.asc」を開きます。

「LT1028」を削除して、暗号化したSPICEモデルの「AD8610」を配置します。

ツールバーの「Run」をクリックすると、シミュレーションが実行されます。シミュレーション時間は回路の規模などにより異なります。

シミュレーション後、カーソルを回路図の結線に近づけると、カーソルが「電圧プローブ」に変わります。
VinとOUTPUTを電圧プローブでクリックします。

VinとOUTPUTの電圧波形が波形表示画面に表れます。出力信号が入力信号の2倍で反転増幅しているのがわかりますね。
以上で、暗号化されたSPICEモデルが正しくシミュレーションできることを確認できました。
暗号化の注意点
- 暗号化すると元のデータが上書きされる
- サブサーキットモデルで回路図シンボルの自動作成ができなくなる
- デバイスモデルでデータファイルに追加できなくなる
暗号化すると元のデータが上書きされる
「コマンドプロンプトを使用したSPICEモデルの暗号化」でも説明しましたが、SPICEモデルを暗号化するコマンドを実行すると、元のファイルに上書きされてしまいます。
元ファイルの情報は完全に消えてしまうので、暗号化を実行する前に必ずバックアップをしておきましょう。
サブサーキットモデルで回路図シンボルの自動作成ができなくなる
サブサーキットモデルではLTspiceでファイルを開き、.SUBCKTの構文を右クリックして、「Create Symbol」をクリックすることで、回路図シンボルを自動作成することができました。
しかし、暗号化後は回路図シンボルを自動作成することができなくなってしまう上に、ピン情報もわからなくなってしまいます。
そのため、他者に暗号化したSPICEモデルを配布するのであれば、暗号化前に回路図シンボルを作っておいて一緒に渡せるようにしておくと良いと思います。

デバイスモデルでデータファイルに追記できなくなる
以下の記事で、デバイスモデルをLTspiceに追加する方法として、データファイルに追記していく方法を解説しました。

しかし、当然ながらSPICEモデルを暗号化すると、パラメータが全て暗号化されてしまうので、データファイルに追記することはできなくなってしまいます。
そのため、面倒ですが、デバイスモデルのファイルをsubフォルダに保存することで、LTspiceに追加しなければならなくなります。