eFUSE レジスタをプログラムするには、[Hardware] ウィンドウで FPGA デバイスを右クリックして Program eFUSE Registers をクリックします。
次の図に示す Program eFUSE Registers ウィザードが起動し、eFUSE レジスタのさまざまなオプションを設定できます。
[AES Key Setup] ページでは、次の設定を指定します。
[Cryptographic Key Setup] ページでは、次の設定を指定します。
- [Cryptographic file key (.nky)]
- eFUSE AES および RSA キーを含む .nky ファイルを指定します。
- [AES Key (256-bit)]
- 読み込まれた暗号化ビットストリームを復号化するために使用される指定した .nky から読み出された 256 ビット AES eFUSE キー。
- [RSA Key Digest (384-bit)]
- RSA により使用される指定した .nky から読み出された 384 ビット RSA eFUSE キー。
-
[USER register setup] ページで、32 ビットの USER レジスタまたは 128 ビットの USER レジスタを指定します。
図 4. Program eFUSE Registers ウィザード: [USER register setup] ページ
[USER register setup] ページで、ユーザー定義のレジスタ ビットを指定します。32 ビットの USER レジスタ (FUSE_USER) および 128 ビットの USER レジスタ (FUSE_USER128) は、ユーザー定義のワンタイム プログラマブル eFUSE ビットです。これらのレジスタのビットは、累積的にプログラムできます。たとえば、eFUSE プログラムセッションで 1 つのユーザー ビット (USER = 0x0000_0001 またはビット 0) のみをプログラムし、次の eFUSE プログラムセッションで残りの 0 ビットのいずれか (USER = 0x0000_0003 またはビット 1) をプログラムできます。
FUSE_USER および FUSE_USER_128 レジスタをプログラムすると、次の方法で読み出すことができます。
- Tcl コマンドを使用
report_property [lindex [get_hw_device] 0] REGISTER.EFUSE.FUSE_USER report_property [lindex [get_hw_devices] 0] REGISTER.EFUSE.FUSE_USER_128
-
refresh_hw_device
を実行した後に Vivado の [Hardware Device Properties] ウィンドウで確認。
[Control Register Setup] ページでは、次の設定を指定します。
[Control Register Settings] ページでは、eFUSE 制御設定を指定します。
- R_DIS_KEY
- キーおよび FUSE_KEY 暗号化キーのプログラムを検証する CRC チェックをディスエーブルにします。
- R_DIS_USER
- 32 ビットのユーザー ビット (FUSE_USER) の読み出しおよびプログラムをディスエーブルにします。
- R_DIS_SEC
- セキュリティ ビット (FUSE_SEC) の読み出しおよびプログラムをディスエーブルにします。
- R_DIS_RSA
- RSA キーレジスタ (FUSE_RSA) の読み出しおよびプログラムをディスエーブルにします。
- W_DIS_USER
- 32 ビットのユーザー ビット (FUSE_USER) のプログラムをディスエーブルにします。
- W_DIS_SEC
- セキュリティ ビット (FUSE_SEC) のプログラムをディスエーブルにします。
- W_DIS_RSA
- RSA キーレジスタ (FUSE_RSA) のプログラムをディスエーブルにします。
- W_DIS_USER_128
- 128 ビットのユーザー ビット (FUSE_USER128) のプログラムをディスエーブルにします。
FUSE_SEC レジスタの詳細は、 『UltraScale アーキテクチャ コンフィギュレーション ユーザー ガイド』 (UG570) を参照してください。