AR# 63206

7 シリーズ FPGA : Vivado Tcl を使用して 7 シリーズ eFUSE をプログラムする方法

説明

Vivado GUI は 7 シリーズ eFUSE のプログラミングをサポートしています。

Vivado Tcl を使用して 7 シリーズ eFUSE をプログラムすることは可能ですか。

ソリューション

7 シリーズ eFUSE のプロブラミングに使用する Vivado Tcl コマンドを次に示します。

  • FUSE_KEY および FUSE_USER
  • FUSE_CNTL

 

256 ビット FUSE_KEY および 32 ビット FUSE_USER のプログラミング

次の create_hw_bitstream の call コマンドに示すように、256 ビット AES キーを Vivado で生成された NKY ファイルに保存し、hw_device に割り当てる必要があります。 

FUSE_KEY および FUSE_USER (32 ビット FUSE_USER は 16 進数で指定される) は、次に示すようにプログラムされます。

create_hw_bitstream -hw_device [lindex [get_hw_devices] 0] -nky {ky_8led_bbr_key_aa00bb11cc22dd33ee44ff88.nky}
program_hw_devices -key {efuse} -user_efuse {EEDDCC45}  [lindex [get_hw_devices] 0]

FUSE_KEY および FUSE_USER をプログラムした後、さらにプログラムしようとしてもブロックされることがあります。

 

プログラム済みの FUSE_USER を読み出すには、次を入力します。

get_property REGISTER.EFUSE.FUSE_USER [current_hw_device]

 

セキュリティの理由で、7 シリーズ AES キーを読み出す Vivado Tcl コマンドはありません。

 

FUSE_CNTL ビットのプログラミング

FUSE_CNTL ビットは、FUSE_KEY および FUSE_USER レジスタをプログラムした後にプログラム可能です。 

次のスクリーン キャプチャに、利用可能な異なる FUSE_CNTL ビットを示します。

 

image2.jpg

 

AES キーの読み出しを無効にするには、次のように設定されているビット 3 に相当する 16 進数値を指定します。

program_hw_devices -control_efuse {8} [lindex [get_hw_devices] 0]

 

プログラム済みの FUSE_CNTL を読み出すには、次のコマンドを使用します。

get_property REGISTER.EFUSE.FUSE_CNTL [current_hw_device]

 

デバイスの安全性を強化するために、FUSE_CNTL レジスタへのプログラミングをさらに続けて実行可能です。 

たとえば、以前の FUSE_CNTL のプログラミングで AES_FUSE_KEY の読み出しを無効にしました。 

FUSE_USER コードの読み出しを無効にするために、FUSE_CNTL を別にプログラムすることができます。 

すでに設定済みのビットを、これから設定する新しいビットと共に必ず指定してください。

 

image3.jpg



 

たとえば、FUSE_CNTL のプログラミング時に、ビット 4 および以前指定したビット 3 が設定される、16 進数値 0x06 を指定します。

program_hw_devices -control_efuse {18} [lindex [get_hw_devices] 0]

 

FUSE_KEY を検証する

create_hw_bitstream -hw_device [lindex [get_hw_devices] 0] -nky {test.nky}
verify_hw_devices -key {efuse} [current_hw_device]

 

FUSE_USER を検証する

verify_hw_devices -user_efuse {56ab7847}

 

FUSE_CNTL を検証する

verify_hw_devices control_efuse {1b}

 

get_property コマンドを使用して FUSE_USER および FUSE_CNTL を読み出すことができます。 

FUSE_KEY はリードバックできません。

AR# 63206
日付 03/03/2015
ステータス アクティブ
種類 一般
ツール