eFUSE エクスポート ファイル (NKZ) - 2023.2 日本語

Vivado Design Suite ユーザー ガイド: プログラムおよびデバッグ (UG908)

Document ID
UG908
Release Date
2023-10-19
Version
2023.2 日本語

eFUSE 設定は複数回に分けてプログラムすることが推奨されるので、外部から可視可能な NKZ ファイルに常にエクスポートされ、各 eFUSE 操作ごとにアップデートされます。このファイルには、複数の eFUSE 操作が適用される場合でも、デバイスに適用された eFUSE 設定すべてが蓄積されて保存されます。ファイルは Vivado で管理されるので、デバイスの累積された eFUSE 設定を含む eFUSE エクスポート ファイル (NKZ 形式) は 1 つのみです。

オプションを指定しない場合、このファイルのデフォルト名は次のようになります。<FUSE_DNA> には、デバイスの FUSE_DNA レジスタ値が入ります。

export_<FUSE_DNA>.nkz

このデフォルト ファイルは、Vivado IDE の起動ディレクトリに含まれます。このファイルは、次の例のように、program_hw_devices Tcl コマンドで -efuse_export_file オプションを使用すると変更できます。

program_hw_devices -user_efuse {1} -efuse_export_file {my_settings.nkz}

これで、Tcl オプションでこのファイルを繰り返し指定しなくても、Vivado IDE がエクスポートした eFUSE 設定の NKZ ファイルを使用して開始されるようになります。以前に作成した eFUSE エクスポート ファイルは削除されません。このファイルには、eFUSE エクスポート ファイル名を変更する前に適用した eFUSE 設定がすべて含まれます。すべての eFUSE 操作を実行すると、それらの設定が現在の eFUSE エクスポート ファイルに保存されます。

また、実際にデバイスをプログラムせずに、eFUSE 設定をエクスポートするだけのオプションもあります。これは、デバイスに影響を与えず、必要な eFUSE 設定すべてを含む NKZ ファイルを作成する際に便利です。このモードでの eFUSE プログラミングのミスは、単に eFUSE エクスポート ファイルを削除して、やり直すだけで簡単に修正できます。このエクスポートのみのモードは、次の Tcl コマンドで使用できます。

program_hw_devices -user_efuse {1} -only_export_efuse

このオプションはコマンドごとに適用されるので、各 eFUSE 操作に使用して、デバイスがプログラムされないようにする必要があります。eFUSE 設定はプログラミングが実行されたかどうかにかかわらず常に NKZ ファイルにエクスポートされるので、プログラミング フローとエクスポートのみのフローを混合しないようにしてください。混合すると、出力される eFUSE エクスポート ファイルに、実際にデバイスにプログラムされた eFUSE 設定と NKZ ファイルにエクスポートされただけの設定の両方が混在してしまい、デバイス内の eFUSE レジスタの実際のステートがあいまいになります。このエクスポートのみのモードを使用すると、まったく同じ NKZ 形式の eFUSE エクスポート ファイルがプログラミングの場合と同様に作成されますが、プログラミングは実行されません。

また、Tcl コマンド program-hw_devices-skip_program_keys オプションを使用して、NKZ ファイルで指定された暗号化キーのプログラミングを省略することも可能です。
  • 7 シリーズ デバイスの場合、-skip_program_keys を指定すると、FUSE_AES のプログラミングはスキップされ、暗号化ファイルの AES 鍵の有効性を確認するチェックは実行されず、プログラミングが継続されます。
  • 7 シリーズ デバイスの場合、FUSE_AES および FUSE_USER の値を 7 シリーズ デバイスと一緒にプログラムする必要があるため、NKZ に 0 以外の FUSE_USER の設定が含まれている場合は、-skip_program_keys を使用しないでください。
  • UltraScale および UltraScale+ デバイスでは、難読化されたキーをプログラムする際に -skip_program_keys を使用すると、FUSE_SEC[6] の設定がスキップされます。