LTspice-SPICEモデルを暗号化する方法
![](https://spiceman.jp/wp-content/uploads/2021/10/ltspice-spicemodel-encryption.png)
当記事では、LTspiceのSPICEモデルを暗号化する方法について詳しく解説します。
特に自分で作成したSPICEモデルを他者に配布する際、ネットリストの内容を公開したくない場合に、利用するケースが多いと思います。
コマンドプロンプトを使用したSPICEモデルの暗号化
SPICEモデルの暗号化はWindowsのコマンドプロンプトを使用して、LTspiceのコマンドで行います。
本来、自作したSPICEモデルを暗号化するケースが多いと思いますが、当記事では、練習として以下の記事で利用したアナログ・デバイセズのオペアンプ「AD8610」のサブサーキットモデルを暗号化してみます。
![](https://spiceman.jp/wp-content/uploads/2021/10/ltspice-subcircuit-model-add-261x300.png)
![コマンドプロンプト 起動](https://spiceman.jp/wp-content/uploads/2021/10/ltspice-spicemodel-encryption-01.png)
スタートメニューの「Windowsシステムツール」から、コマンドプロンプトを起動させます。
![コマンドプロンプト LTspice XVII 移動](https://spiceman.jp/wp-content/uploads/2021/10/ltspice-spicemodel-encryption-02.png)
コマンドプロンプトでLTspice XVIIがインストールされているファイル(ディレクトリ)に移動します。
「cd C:\Program Files\LTC\LTspiceXVII」と入力して、「Enter」を押すと実行されます。
cd C:\Program Files\LTC\LTspiceXVII
![暗号化 SPICEモデル ファイルパス コピー](https://spiceman.jp/wp-content/uploads/2021/10/ltspice-spicemodel-encryption-03.png)
SPICEモデルを暗号化するコマンドに使用するので、暗号化したいSPICEモデルのファイルのパスをコピーしておきます。
![コマンドプロンプト SPICEモデル 暗号化コマンド](https://spiceman.jp/wp-content/uploads/2021/10/ltspice-spicemodel-encryption-04.png)
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モデルを暗号化するコマンドを実行すると、元のファイルに上書きされてしまいます。
元ファイルの情報は完全に消えてしまうので、暗号化を実行する前に必ずバックアップをしておきましょう。
![LTspice XVII 暗号化](https://spiceman.jp/wp-content/uploads/2021/10/ltspice-spicemodel-encryption-05.png)
上記の画面が表れ、暗号化が始まります。暗号化の時間は、SPICEモデルの規模や使用しているPCの環境にもよりますが、約2~5分かかります。
![LTspice XVII 暗号化 終了](https://spiceman.jp/wp-content/uploads/2021/10/ltspice-spicemodel-encryption-06.png)
暗号化が終了すると、上記の画面が表れます。「OK」をクリックして全ての作業が完了です。
![LTspice XVII SPICEモデル 暗号化前 暗号化後](https://spiceman.jp/wp-content/uploads/2021/10/ltspice-spicemodel-encryption-07.png)
暗号化されたSPICEモデルのファイルを開くと、16進数の羅列に変更されているのがわかります。
シミュレーションでの確認
念のため、以下の記事で作成した回路を利用して、暗号化されたSPICEモデルが正しくシミュレーションできるのか確認してみます。
![](https://spiceman.jp/wp-content/uploads/2021/10/ltspice-transient-analysis-300x194.png)
![LTspice XVII 01_sample-tran-lt1028.asc 開く](https://spiceman.jp/wp-content/uploads/2021/10/ltspice-spicemodel-encryption-08-1024x612.png)
「01_sample-tran-lt1028.asc」を開きます。
![LTspice XVII 暗号化したSPICEモデル 配置](https://spiceman.jp/wp-content/uploads/2021/10/ltspice-spicemodel-encryption-09-1024x611.png)
「LT1028」を削除して、暗号化したSPICEモデルの「AD8610」を配置します。
![LTspice XVII シミュレーション 実行 暗号化したSPICEモデル](https://spiceman.jp/wp-content/uploads/2021/10/ltspice-spicemodel-encryption-10-1024x612.png)
ツールバーの「Run」をクリックすると、シミュレーションが実行されます。シミュレーション時間は回路の規模などにより異なります。
![LTspice XVII 電圧プローブ 暗号化したSPICEモデル](https://spiceman.jp/wp-content/uploads/2021/10/ltspice-spicemodel-encryption-11-1024x612.png)
シミュレーション後、カーソルを回路図の結線に近づけると、カーソルが「電圧プローブ」に変わります。
VinとOUTPUTを電圧プローブでクリックします。
![LTspice XVII 電圧波形 暗号化したSPICEモデル](https://spiceman.jp/wp-content/uploads/2021/10/ltspice-spicemodel-encryption-12-1024x612.png)
VinとOUTPUTの電圧波形が波形表示画面に表れます。出力信号が入力信号の2倍で反転増幅しているのがわかりますね。
以上で、暗号化されたSPICEモデルが正しくシミュレーションできることを確認できました。
暗号化の注意点
- 暗号化すると元のデータが上書きされる
- サブサーキットモデルで回路図シンボルの自動作成ができなくなる
- デバイスモデルでデータファイルに追加できなくなる
暗号化すると元のデータが上書きされる
「コマンドプロンプトを使用したSPICEモデルの暗号化」でも説明しましたが、SPICEモデルを暗号化するコマンドを実行すると、元のファイルに上書きされてしまいます。
元ファイルの情報は完全に消えてしまうので、暗号化を実行する前に必ずバックアップをしておきましょう。
サブサーキットモデルで回路図シンボルの自動作成ができなくなる
サブサーキットモデルではLTspiceでファイルを開き、.SUBCKTの構文を右クリックして、「Create Symbol」をクリックすることで、回路図シンボルを自動作成することができました。
しかし、暗号化後は回路図シンボルを自動作成することができなくなってしまう上に、ピン情報もわからなくなってしまいます。
そのため、他者に暗号化したSPICEモデルを配布するのであれば、暗号化前に回路図シンボルを作っておいて一緒に渡せるようにしておくと良いと思います。
![](https://spiceman.jp/wp-content/uploads/2021/10/ltspice-creating-symbol-300x186.png)
デバイスモデルでデータファイルに追記できなくなる
以下の記事で、デバイスモデルをLTspiceに追加する方法として、データファイルに追記していく方法を解説しました。
![](https://spiceman.jp/wp-content/uploads/2021/10/ltspice-devicemodel-add-300x186.png)
しかし、当然ながらSPICEモデルを暗号化すると、パラメータが全て暗号化されてしまうので、データファイルに追記することはできなくなってしまいます。
そのため、面倒ですが、デバイスモデルのファイルをsubフォルダに保存することで、LTspiceに追加しなければならなくなります。