UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

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
ステータス アクティブ
種類 一般
ツール
このページをブックマークに追加