SPI インターフェイス - 3.1 日本語

UltraScale Architecture Soft Error Mitigation Controller v3.1 LogiCORE IP 製品ガイド (PG187)

Document ID
PG187
Release Date
2019-05-22
Version
3.1 日本語

SPI インターフェイスは 4 つの信号で構成され、これらを使用して SPI バス プロトコル互換の全二重シリアル ポートを実装します。このインターフェイスは、エラー分類機能を有効にした場合のみ存在します。この機能を実装するには、外部ストレージが必要です。システム レベル サンプル デザインでは、SPI バス マスターに機能が固定された SPI フラッシュ マスター ヘルパー ブロックを使用して外部 SPI フラッシュ デバイスからデータをフェッチします。 表: 外部ストレージの要件 に、サポートされる各 FPGA で必要な SPI フラッシュの容量を示します。

表 3-7: 外部ストレージの要件

デバイス

エラー分類に必要なストレージ容量 (Mb)

UltraScale

XCKU035

128

XCKU040

128

XCKU060

256

XCKU085

512

XCKU115

512

XCVU065

256

XCVU080

256

XCVU095

256

XCVU125

512

XCVU160

1,024

XCVU190

1,024

XCVU440 (1)

1,024

UltraScale+

XCKU3P

128

XCKU5P

128

XCKU9P

256

XCKU11P

256

XCKU13P

256

XCKU15P

256

XCVU3P

256

XCVU5P

512

XCVU7P

512

XCVU9P

512

XCVU11P

1024

XCVU13P

1024

XCVU27P

1024

XCVU29P

1024

XCVU31P

256

XCVU33P

256

XCVU35P

512

XCVU37P

1024

XCZU2

32

XCZU3

32

XCZU4

64

XCZU5

64

XCZU6

256

XCZU7

256

XCZU9

256

XCZU11

256

XCZU15

256

XCZU17

256

XCZU19

256

UltraScale+
(続き)

XCZU21DR

256

XCZU25DR

256

XCZU27DR

256

XCZU28DR

256

XCZU29DR

256

注記:

1. XCVU440 では、1 回のコマンドでダイ境界をまたいでシームレスに読み出しが可能な SPI フラッシュ メモリ デバイス (MT25Q など) を使用する必要があります。

SPI フラッシュ マスター ヘルパー ブロックは高速読み出しコマンド ( 0x0B ) を使用します。また、何種類かある SPI フラッシュ ファミリの 1 つをサポートするように設定できます。デフォルトでサポートされるファミリは、 表: 外部ストレージの要件 に示した外部ストレージの要件によって異なります。システム レベル サンプル デザインの SPI フラッシュ マスター ヘルパー ブロックには、SPI フラッシュ デバイスに送信するコマンド シーケンスを制御するためのパラメーターが 3 つあります。

B_ISSUE_WREN – デバイスの動作を変更するコマンドの前に書き込みイネーブル コマンド (0x06) を発行する必要があるかどうかを示します。通常は「0」に設定し、N25Q および MT25Q デバイスの場合のみ「1」に設定します。

B_ISSUE_WVCR 高速読み出しダミー サイクル数を明示的に 8 サイクルに設定するために揮発性コンフィギュレーション レジスタへの書き込みコマンド (0x81) を発行する必要があるかどうかを示します。SPI フラッシュ マスター ヘルパー ブロック内部のステート マシンはバイト指向のため、高速読み出しダミー サイクル数を 8 に設定する必要があります。揮発性コンフィギュレーションレ ジ ス タのデータは上書きされます (0x8B)。通常は「0」に設定し、N25Q および MT25Q デバイスの場合のみ「1」に設定します。

B_ISSUE_EN4B – 4 バイト アドレス指定モードに明示的に移行するために 4 バイト アドレス指定イネーブル コマンド (0xB7) を発行する必要があるかどうかを示します。 128Mb を超えるデバイスでは「1」に設定します。

ストレージ要件が 128Mb 以下の場合、SPI フラッシュ マスター ヘルパー ブロックはデフォルトで M25P デバイスをサポートします (B_ISSUE_WREN = 0、B_ISSUE_WVCR = 0、B_ISSUE_EN4B = 0)。これらのデバイスは 4 バイト アドレス指定モードには対応しません。

ストレージ要件が 128Mb を超える場合、SPI フラッシュ マスター ヘルパー ブロックはデフォルトでより大容量の N25Q および MT25Q デバイスをサポートします (B_ISSUE_WREN = 1、B_ISSUE_WVCR = 1、B_ISSUE_EN4B = 1)。これらのデバイスは 4 バイト アドレス指定モードに対応します。

これ以外に、ストレージ要件が 128Mb 以下の場合は小容量の N25Q デバイス (B_ISSUE_WREN = 1、B_ISSUE_WVCR = 1、B_ISSUE_EN4B = 0)、ストレージ要件が 128Mb を超える場合は大容量の MX25 デバイス (B_ISSUE_WREN = 0、B_ISSUE_WVCR = 0、B_ISSUE_EN4B = 1) もサポートされます。

注記: SPI フラッシュ マスター ヘルパー ブロックのインプリメンテーションがサポートする SPI フラッシュ読み出しコマンドは、1 つの SPI フラッシュ デバイスに対する SPI モード 0 (CPOL = 0、CPHA = 0) の高速読み出しのみです。

この図 に、FPGA と SPI フラッシュ デバイスの接続を示します。「LT」はレベル変換器を表しています。一般的な SPI フラッシュ デバイスは 3.3V I/O を使用しますが、FPGA または I/O バンク電圧によってはこの電圧を利用できないことがあるため、レベル変換器が必要です。

図 3-16: SPI フラッシュ デバイスの接続 (レベル変換器を含む)

X-Ref Target - Figure 3-16

sem_ctrl_spi_flash_conn.jpg

SPI バスの性能を最大化するには、伝搬遅延の小さいレベル変換器を使用する必要があります。SPI バスの性能がシステム レベル サンプル デザイン全体の最大動作周波数に影響することがあります。

注記: スイッチング動作、システム レベル要件、および SPI バス タイミング バジェット例については、 SPI バス タイミング バジェット を参照してください。

エラー分類機能を使用する場合、コントローラーは外部に格納したデータにアクセスする必要があります。このデータは、 write_bitstream によって FPGA のプログラミング ファイルと同時に作成されます。

FPGA デザインを変更して新しいプログラミングフ ァイルを作成する際は、コントローラーが使用する外部データ ファイルも更新する必要があります。ハードウェア デザインを新しいプログラミング ファイルで更新する際に、外部に格納するデータも更新する必要があります。

重要: データの整合性が失われると、不正確な値の分類レポートが出力され、誤った軽減措置が実行されることがあります。 プログラミング ファイルと外部データ ファイルが常に同期するような更新方法を採用することを推奨します。