eFUSE レジスタのプログラム - 2022.1 日本語

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

Document ID
UG908
Release Date
2022-04-26
Version
2022.1 日本語

eFUSE レジスタをプログラムするには、[Hardware] ウィンドウで FPGA デバイスを右クリックして Program eFUSE Registers をクリックします。

図 1. [Program eFUSE Registers] コマンド (UltraScale および UltraScale+)

次の図に示す Program eFUSE Registers ウィザードが起動し、eFUSE レジスタのさまざまなオプションを設定できます。

図 2. Program eFUSE Registers ウィザード

[AES Key Setup] ページでは、次の設定を指定します。

図 3. Program eFUSE Registers ウィザード: [Cryptographic 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] ページでは、次の設定を指定します。

図 5. Program eFUSE Registers ウィザード: [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) を参照してください。