汎用シリアル・フラッシュ・インターフェイスのインテルFPGA IPコアのユーザーガイド

ID 683419
日付 11/27/2019
Public

このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。

ドキュメント目次

1.7.2. フラッシュレジスターを読み出すフラッシュ動作

フラッシュレジスターを読み出すには、次のフラッシュ動作が使用されます。

  • Read device ID
  • Read status register
  • Read flag status register
  • Read configuration register
  • Read bank register
  • Read enhanced volatile configuration register

次のレジスターは、レジスターのステータスを読み取るために使用されます。

  • Flash command setting register
  • Flash command control register
  • Flash command read data 0 register

デバイスIDのリード動作を実行する

proc read_device_id { } {
global mp flash_cmd_setting flash_cmd_ctrl flash_cmd_read_data_0
master_write_32 $mp $flash_cmd_setting 0x0000489F
master_write_32 $mp $flash_cmd_ctrl 0x1
set device_id [master_read_32 $mp $flash_cmd_read_data_0 1]
puts $device_id
}

リードデバイスID動作を行うには、以下のステップを実行します。

  1. グローバル変数を定義します。
  2. フラッシュコマンド設定レジスターに書き込むことにより、リードデバイスID動作をカスタマイズします。
    1. 9FhはリードデバイスID動作の動作コードであるため、このレジスタのビット[7:0]9Fに設定します。
    2. この動作はアドレスバイトを伝送しないため、ビット[10:8]0に設定します。
    3. ビット[15:12]で宣言されたバイト数がフラッシュデバイスからのリードデータであるため、ビット111に設定します。
    4. フラッシュから4バイトのデバイスIDデータを読み出すため、ビット[15:12]4に設定します。
  3. フラッシュコマンド制御レジスターのビット01を書き込むと、デバイスIDのリード動作が開始されます。
  4. フラッシュコマンドのリードデータ0レジスターからデバイスIDを読み出します。