Mailbox Client Intel® FPGA IPユーザーガイド

ID 683290
日付 4/01/2024
Public
ドキュメント目次

1.6.1. 操作コマンド

クアッドSPIフラッシュのリセット

重要: Stratix® 10デバイスにおいて、クアッドSPIフラッシュをFPGAのコンフィグレーション・デバイスやデータ・ストレージ・デバイスとして使用している場合は、クアッドSPIフラッシュをリセットしないでください。FPGAコンフィグレーションまたはリコンフィグレーション時、またはQSPIのREAD/WRITE/ERASE操作時にクアッドSPIフラッシュをリセットすると、クアッドSPIフラッシュとFPGAで未定義の動作が発生します。応答のない状態から回復するには、デバイスの電源を再投入する必要があります。クアッドSPIフラッシュのリセットを外部ホストを介して行うには、FPGAのコンフィグレーションおよびリコンフィグレーション、またはクアッドSPIの操作を完了してから、リセットをトグルします。Mailbox Client Intel® FPGA IPを介して QSPI_CLOSE コマンド、またはSerial Flash Mailbox Client Intel® FPGA IPを介して CLOSE コマンドが発行され、クアッドSPIフラッシュへの排他的アクセスが閉じられると、クアッドSPIの操作は完了します。
重要: Agilex™ 7および Agilex™ 5デバイスでは、シリアルフラッシュまたはクアッドSPIフラッシュのリセットピンを AS_nRST ピンに接続する必要があります。SDMでは、QSPIリセットを完全に制御する必要があります。クアッドSPIリセットピンを外部ホストに接続しないでください。
表 13.  コマンドのリストとその詳細
コマンド コード (16進数) コマンド長 11 応答長 11 詳細
NOOP 0 0 0 OKステータス応答を送信します。
GET_IDCODE 10 0 1 応答には引数が1つ含まれます。これは、デバイスの JTAG IDCODE です。
GET_CHIPID 12 0 2 応答には64ビットの CHIPID 値が含まれます。最下位ワードが先頭です。
GET_USERCODE 13 0 1 応答には引数が1つ含まれます。これは32ビットのJTAG USERCODEで、コンフィグレーション・ビットストリームでデバイスに書き込むものです。
GET_VOLTAGE 18 1 n12 GET_VOLTAGE コマンドは単一の引数をもちます。これは、読み出すチャネルを指定するビットマスクです。ビット0はチャネル0を指定し、ビット1はチャネル1を指定します (その他も同様)。

応答には、ビットマスクで設定されたビットに対する1ワードの引数が含まれます。返される電圧は、2進小数点以下の16ビットの符号なし固定小数点数です。例えば、0.75Vの電圧では0x0000C000が返されます。13 14 15

GET_TEMPERATURE 19 1 n 16

GET_TEMPERATURE コマンドは、指定した1つまたは複数のコア・ファブリックもしくはトランシーバー・チャネルの位置の温度を返します。

Stratix® 10デバイス: sensor_req 引数を使用して位置を指定します。sensor_req には、次のフィールドが含まれます。
  • ビット [31:9]: 予約済み
  • ビット [8:0]: Sensor mask。TSDの位置を指定します。
各チャネルは次の位置の温度を返します。
  • チャネル0: コア・ファブリックの温度をサンプリングします。
  • チャネル1 - 6: 指定されているトランシーバー・タイルの温度をサンプリングします。
  • チャネル7 - 8: 高帯域幅DRAMメモリー (HBM2) スタックの温度をサンプリングします。
Agilex™ 7および Agilex™ 5デバイス: sensor_req 引数を使用して位置を指定します。sensor_req には、次のフィールドが含まれます。
  • ビット [31:28]: 予約済み
  • ビット [27:16]: Sensor Location。TSDの位置を指定します。
  • ビット [15:0]: Sensor mask。指定されている sensor location に対して読み出すセンサーを指定します。応答は、要求されているそれぞれの温度に対する1ワードを含みます。省略している場合、コマンドはチャネル0を読み出します。最下位ビット (lsb) はセンサー0に対応します。最上位ビット (msb) はチャネル15に対応します。

返される温度は、2進小数点以下の8ビットの符号付き固定値です。例えば、温度が10°C の場合は0x00000A00が返され、温度がマイナス1.5°Cの場合は0xFFFFFE80が返されます。

ビットマスクが無効な Location を指定している場合、コマンドはエラーコードを返します。これは、0x80000000-0x800000FFの範囲のいずれかの値になります。

Stratix® 10デバイス: センサーの位置に関しては、 Stratix® 10アナログ-デジタル・コンバーター・ユーザーガイドで、温度センサーのチャネルと位置を参照してください。

Agilex™ 7デバイス: ローカル内蔵温度センサーに関しては、 Agilex™ 7パワー・マネジメント・ユーザーガイドを参照してください。

Agilex™ 5デバイス: ローカル内蔵温度センサーに関しては、 Agilex™ 5 Power Management User Guideを参照してください。

RSU_IMAGE_UPDATE 5C 2 0

データソース (ファクトリー・イメージまたはアプリケーション・イメージのいずれか) からリコンフィグレーションをトリガーします。

このコマンドは、オプションの64ビットの引数を取ります。これは、フラッシュ内のリコンフィグレーション・データ・アドレスを指定するものです。この引数をIPに送信する際は、最初にビット [31:0] を送信し、次にビット [63:32] を送信します。この引数を指定しない場合、その値は0とみなされます。

  • ビット [31:0]: アプリケーション・イメージの開始アドレス
  • ビット [63:32]: 予約済み (0として書き込み)

デバイスでこのコマンドが処理されると、デバイスのリコンフィグレーションに進む前に、応答ヘッダーが応答FIFOに返されます。ホストPCまたはホスト・コントローラーでは他の割り込みサービスを停止し、応答ヘッダーのデータの読み出しに焦点を当て、コマンドが正常に完了していることが示されていることを確認します。これを行わないと、リコンフィグレーション・プロセスが開始した際に、ホストPCまたはホスト・コントローラーで応答を受信できない場合があります。

デバイスがリコンフィグレーションを開始すると、外部ホストとFPGA間のリンクが喪失します。デザインで PCIe* を使用している場合は、 PCIe* リンクを再列挙する必要があります。

重要: クアッドSPIをリセットする場合は、クアッドSPIフラッシュのリセット で指定されている内容に従う必要があります。
RSU_GET_SPT 5A 0 4

RSU_GET_SPT では、RSUで使用する2つのサブ・パーティション・テーブル (SPT0とSPT1) のクアッドSPIフラッシュの位置を取得します。

4ワードの応答には、次の情報が含まれます。

ワード 名称 詳細
0 SPT0[63:32] クアッドSPIフラッシュのSPT0アドレス
1 SPT0[31:0]
2 SPT1[63:32] クアッドSPIフラッシュのSPT1アドレス
3 SPT1[31:0]
CONFIG_STATUS 4 0 6

最後のリコンフィグレーションの状態を報告します。このコマンドを使用して、コンフィグレーション中および終了後にコンフィグレーションの状態を確認することができます。応答には次の情報が含まれます。

ワード 概要 詳細
0 状態 直近のコンフィグレーションに関連するエラーを記述します。コンフィグレーション・エラーがない場合は0が返されます。
エラーフィールドには2つのフィールドがあります。
  • 上位16ビット: 主要なエラーコード
  • 下位16ビット: 軽微なエラーコード

詳細については、Mailbox Client Intel® FPGA IPユーザーガイド付録: CONFIG_STATUS および RSU_STATUS エラーコードの詳細を参照してください。

1 Quartusバージョン
Stratix® 10デバイス: Quartus® Prime開発ソフトウェアのバージョン19.4以降で利用可能です。フィールドは次の内容を示します。
  • ビット [31:28]: 最後に使用されたファームウェアまたは決定ファームウェア・コピーのインデックスです。値は、0、1、2、3のいずれかです。
  • ビット [27:24]: 予約済み
  • ビット [23:0]: 24'd0
Agilex™ 7デバイス: Quartus® Prime開発ソフトウェアのバージョン19.4から21.2で利用可能です。フィールドは次の内容を示します。
  • ビット [31:28]: 最後に使用されたファームウェアまたは決定ファームウェア・コピーのインデックスです。値は、0、1、2、3のいずれかです。
  • ビット [27:24]: 予約済み
  • ビット [23:16]: Quartusのメジャーリリース番号
  • ビット [15:8]: Quartusのマイナーリリース番号
  • ビット [7:0]: Quartusの更新番号
Agilex™ 7および Agilex™ 5デバイス: Quartus® Prime開発ソフトウェアのバージョン21.3以降で利用可能です。Quartusのバージョンは次の内容を示します。
  • ビット [31:28]: 最後に使用されたファームウェアまたは決定ファームウェア・コピーのインデックスです。値は、0、1、2、3のいずれかです。
  • ビット [27:24]: 予約済み
  • ビット [23:16]: Quartusのメジャーリリース番号
  • ビット [15:8]: Quartusのマイナーリリース番号
  • ビット [7:0]: Quartusの更新番号
例えば、 Quartus® Prime開発ソフトウェアのバージョン21.3.1の場合、次の値によってQuartusのメジャーリリース番号とマイナーリリース番号、およびQuartusの更新番号を示します。
  • ビット [23:16] = 8'd21 = 8'h15
  • ビット [15:8] = 8'd3 = 8'h3
  • ビット [7:0] = 8'd1 = 8'h1
2 ピンの状態
  • ビット [31]: 現在の nSTATUS 出力値 (アクティブLow)
  • ビット [30]: 検出されたnCONFIG入力値 (アクティブLow)
  • ビット [29:8]: 予約済み
  • ビット [7:6]: コンフィグレーション・クロックソース
    • 01 = 内部オシレーター
    • 10 = OSC_CLK_1
    注: ビット [7:6] は、 Agilex™ 7および Agilex™ 5デバイスにのみ適用されます。
  • ビット [5:3]: 予約済み
  • ビット [2:0]: 電源投入時の MSEL
3 ソフト機能の状態 各ソフト機能の値を含みます。SDMピンに機能を割り当てていない場合にも当てはまります。
  • ビット [31:6]: 予約済み
  • ビット [5]: HPS_WARMRESET
  • ビット [4]: HPS_COLDRESET
  • ビット [3]: SEU_ERROR
  • ビット [2]: CVP_DONE
  • ビット [1]: INIT_DONE
  • ビット [0]: CONF_DONE
4 エラー位置 エラーの位置を含みます。エラーがない場合は0を返します。
5 エラー詳細 Agilex™ 7 および Stratix® 10デバイス: エラーの詳細を含みます。エラーがない場合は0を返します。
Agilex™ 5デバイス: このフィールドは予約されています。
RSU_STATUS 5B 0 9 現在のリモート・システム・アップグレードの状態を報告します。このコマンドを使用して、コンフィグレーション中および終了後にコンフィグレーションの状態を確認することができます。このコマンドは次の応答を返します。
ワード 概要 詳細
0-1 現在のイメージ 現在実行中のアプリケーション・イメージのフラッシュオフセットです。
2-3 失敗したイメージ

最も優先度の高い失敗アプリケーション・イメージのフラッシュオフセットです。フラッシュメモリーに複数のイメージがある場合は、最初に失敗したイメージの値を格納します。値がすべて0であれば、失敗したイメージがないことを示します。失敗したイメージがない場合、ステータス情報の残りのワードに有効なデータは含まれません。

注: ASx4でリコンフィグレーションを行う際の nCONFIG 立ち上がりエッジでは、このフィールドはクリアされません。失敗したイメージに関する情報は、Mailbox Clientが新しい RSU_IMAGE_UPDATE コマンドを受信し、アップデート・イメージから正常にコンフィグレーションされた場合にのみ更新されます。
4 状態 失敗したイメージの失敗コードです。
エラーフィールドには2つの部分があります。
  • ビット [31:16]: 主要なエラーコード
  • ビット [15:0]: 軽微なエラーコード

失敗がない場合は0を返します。詳細は、Mailbox Client Intel® FPGA IPユーザーガイド付録: CONFIG_STATUS および RSU_STATUS エラーコードの詳細を参照してください。

5 バージョン

RSUインターフェイスのバージョンとエラーソースです。

詳細は、ハード・プロセッサー・システム (HPS) のリモート・システム・アップデート・ユーザーガイドで、RSUステータスおよびエラーコードのセクションを参照してください。

6 エラー位置 失敗したイメージのエラー位置を格納します。エラーがない場合は0を返します。
7 エラー詳細 失敗したイメージのエラー詳細を格納します。エラーがない場合は0を返します。
8 現在のイメージ再試行カウンター

現在のイメージで行われた再試行の数です。カウンターは最初は0です。カウンターは、最初の再試行後に1に設定され、2回目の再試行後に2に設定されます。

Quartus® Prime Settings File (.qsf) で最大再試行数を指定します。コマンドは set_global_assignment -name RSU_MAX_RETRY_COUNT 3 です。MAX_RETRY カウンターの有効な値は1から3です。実際に可能な再試行の数は MAX_RETRY -1 です。

このフィールドは、 Quartus® Primeプロ・エディション・ソフトウェアのバージョン19.3で追加されました。

RSU_NOTIFY 5D 1 0
RSU_STATUS 応答のすべてのエラー情報をクリアし、再試行カウンターをリセットします。1ワードの引数には次のフィールドがあります。
  • 0x00050000: 現在の再試行カウンターをクリアします。現在の再試行カウンターをリセットすると、現在のイメージが初めて正常にロードされたかのように、カウンターが0に戻ります。
  • 0x00060000: エラーステータス情報をクリアします。
  • 他のすべての値は予約済みです。

このコマンドは、 Quartus® Primeプロ・エディションの19.3より前のバージョンでは使用できません。

QSPI_OPEN 32 0 0

クアッドSPIへの排他的アクセスを要求します。この要求は、他のQSPI要求の前に発行します。クアッドSPIが使用されておらず、SDMがデバイスをコンフィグレーションしていない場合、SDMは要求を受け入れます。SDMがアクセスを許可する場合はOKが返されます。OKを受信したら、QSPI_SET_CS コマンドを発行してフラッシュデバイスを選択します。

SDMは、このメールボックスを使用してクライアントに排他的アクセスを許可します。他のクライアントは、アクティブなクライアントが QSPI_CLOSE コマンドでアクセスを閉じるまで、クアッドSPIにアクセスすることはできません。

SDM_IOピンを使用してのQSPIフラッシュメモリー・デバイスへのアクセスは、AS x4コンフィグレーション・スキーム、JTAGコンフィグレーション、およびAS x4コンフィグレーションにコンパイルされたデザインでのみ利用可能です。 Avalon® ストリーミング・インターフェイス ( Avalon® ST) コンフィグレーション・スキームを使用する場合は、QSPIフラッシュメモリーをGPIOピンに接続する必要があります。

デフォルトでは、HPSを含むデザインで、Mailbox Client IPを介したクアッドSPIフラッシュメモリー・デバイスへのアクセスは利用することができません。ただし、HPSのソフトウェア・コンフィグレーションでQSPIを無効にしている場合は当てはまりません。

重要: クアッドSPIをリセットする場合は、クアッドSPIフラッシュのリセット で指定されている内容に従う必要があります。
QSPI_CLOSE 33 0 0 クアッドSPIインターフェイスへの排他的アクセスを閉じます。
重要: クアッドSPIをリセットする場合は、クアッドSPIフラッシュのリセット で指定されている内容に従う必要があります。
QSPI_SET_CS 34 1 0 接続されているクアッドSPIデバイスの1つをチップセレクト・ラインを介して指定します。次のように1ワードの引数を取ります。
  • ビット [31:28]: 選択するフラッシュデバイス。nCSO[0:3] ピンに対応する値については、次の情報を参照してください。
    • 4'h0000 では、nCSO[0] に対応するフラッシュを選択します。
    • 4'h0001 では、nCSO[1] に対応するフラッシュを選択します。
    • 4'h0002 では、nCSO[2] に対応するフラッシュを選択します。
    • 4'h0003 では、nCSO[3] に対応するフラッシュを選択します。
  • ビット [27:0]: 予約済み (0として書き込み)。
注: 各デバイスでは、1つのAS x4フラッシュメモリー・デバイスをサポートし、nCSO[0] に接続されているクアッドSPIデバイスからのASコンフィグレーションを行います。デバイスがユーザーモードに入ると、Mailbox Client IPまたはHPSで最大4つのAS x4フラッシュメモリーをデータストレージとして使用することができます。Mailbox Client IPまたはHPSでは、nCSO[3:0] を使用して、クアッドSPIデバイスにアクセスすることができます。

Stratix® 10デバイス: AS x4コンフィグレーション・スキームでは、このコマンドはオプションです。AS x4コンフィグレーション後、チップセレクト・ラインは最後に実行された QSPI_SET_CS コマンドに従う、またはデフォルトの nCSO[0] になります。

Agilex™ 7および Agilex™ 5デバイス: AS x4コンフィグレーション・スキームでは、このコマンドは各 QSPI_OPEN コマンドの後に必要です。

JTAGコンフィグレーション・スキームではすべてのデバイスにおいて、このコマンドは各 QSPI_OPEN コマンドの後に必要です。

重要: クアッドSPIをリセットする場合は、クアッドSPIフラッシュのリセット で指定されている内容に従う必要があります。
QSPI_READ 3A 2 N

接続しているクアッドSPIデバイスを読み出します。最大転送サイズは4キロバイト (KB) または1024ワードです。

2つの引数を取ります。
  • クアッドSPIフラッシュアドレス (1ワード)。アドレスはワード・アライメントされている必要があります。デバイスは、アライメントされていないアドレスに対して 0x1 のエラーコードを返します。
  • 読み出すワードの数 (1ワード)。
成功するとOKを返し、それに続いてクアッドSPIデバイスからの読み出しデータを返します。失敗応答では、エラーコードが返されます。

部分的に読み出しが成功している場合に、QSPI_READ では誤った OK ステータスが返されることがあります。

注: デバイス・コンフィグレーションの進行中は、QSPI_READ コマンドを実行することはできません。
重要: クアッドSPIをリセットする場合は、クアッドSPIフラッシュのリセット で指定されている内容に従う必要があります。
QSPI_WRITE 39 2+N 0

クアッドSPIデバイスにデータを書き込みます。最大転送サイズは4キロバイト (KB) または1024ワードです。

3つの引数を取ります。
  • フラッシュ・アドレス・オフセット (1ワード)。書き込みアドレスはワード・アライメントされている必要があります。
  • 書き込むワードの数 (1ワード)。
  • 書き込まれるデータ (1ワードまたは複数ワード)。
書き込みが成功すると、OK応答コードが返されます。

メモリーを書き込みの準備ができている状態にするには、このコマンドを発行する前に QSPI_ERASE コマンドを使用します。

注: デバイス・コンフィグレーションの進行中は、QSPI_WRITE コマンドを実行することはできません。
重要: クアッドSPIをリセットする場合は、クアッドSPIフラッシュのリセット で指定されている内容に従う必要があります。
QSPI_ERASE 38 2 0 クアッドSPIデバイスの4/32/64KBセクターを消去します。2つの引数を取ります。
  • 消去を開始するフラッシュ・アドレス・オフセット (1ワード)。消去するワード数に応じて、開始アドレスは次のようになります。
    • 消去するワード数が0x400の場合、4KBのアライメント
    • 消去するワード数が0x2000の場合、32KBのアライメント
    • 消去するワード数が0x4000の場合、64KBのアライメント
    4/32/64KB以外にアライメントされたアドレスにはエラーを返します。
  • 消去するワード数は、次の倍数で指定されます。
    • 0x400では、4KB (1024ワード) のデータを消去。このオプションは、最小消去サイズです。
    • 0x2000では、32KB (8192ワード) のデータを消去
    • 0x4000では、64KB (16384ワード) のデータを消去
消去が成功すると、OK応答コードが返されます。
重要: クアッドSPIをリセットする場合は、クアッドSPIフラッシュのリセット で指定されている内容に従う必要があります。
QSPI_READ_DEVICE_REG 35 2 N クアッドSPIデバイスからレジスターを読み出します。最大読み出しは8バイトです。2つの引数を取ります。
  • 読み出しコマンドのオペコード。
  • 読み出すバイトの数。

読み出しが成功すると、OK応答コードが返され、それに続いてデバイスから読み出されたデータが返されます。返される読み出しデータは4バイトの倍数です。読み出すバイトが正確に4バイトの倍数でない場合は、4バイトの倍数で次のワード境界までパディングされます。パディングされるビット値は0です。

重要: クアッドSPIをリセットする場合は、クアッドSPIフラッシュのリセット で指定されている内容に従う必要があります。
QSPI_WRITE_DEVICE_REG 36 2+N 0 クアッドSPIのレジスターに書き込みます。最大書き込みは8バイトです。3つの引数を取ります。
  • 書き込みコマンドのオペコード。
  • 書き込むバイトの数。
  • 書き込むデータ。

セクター消去またはサブセクター消去を実行するには、次の例に示すように、シリアル・フラッシュ・アドレスを最上位バイト (MSB) から最下位バイト (LSB) の順序で指定する必要があります。

QSPI_WRITE_DEVICE_REG コマンドを使用してアドレス0x04FF0000のMicron 2ギガビット (Gb) フラッシュのセクターを消去するには、次に示すように、フラッシュアドレスをMSBからLSBの順序で書き込みます。

ヘッダー: 0x00003036

オペコード: 0x000000DC

書き込むバイトの数: 0x00000004

フラッシュアドレス: 0x0000FF04

書き込みが成功すると、OK応答コードが返されます。このコマンドでは、4バイトの倍数ではないデータを次のワード境界までパディングします。このコマンドでは、データを0でパディングします。

重要: クアッドSPIをリセットする場合は、クアッドSPIフラッシュのリセット で指定されている内容に従う必要があります。
QSPI_SEND_DEVICE_OP 37 1 0 コマンドオペコードをクアッドSPIに送信します。1つの引数を取ります。
  • クアッドSPIデバイスに送信するオペコード。

コマンドが成功すると、OK応答コードが返されます。

重要: クアッドSPIをリセットする場合は、クアッドSPIフラッシュのリセット で指定されている内容に従う必要があります。
QSPI_READ_SHA 6E 2 16/12/8 ファームウェアに対して、フラッシュ・コントローラーからデータを読み出し、3つのセキュア・ハッシュ・アルゴリズム (SHA) のいずれかを使用してハッシュ値を計算するように指示します。返されるハッシュ値を同じアルゴリズムを使用して以前に計算されたハッシュ値と比較することで、フラッシュ・コンテンツの整合性を判断することができます。

このコマンドは、2つの32ビット・ワードを引数として取ります。

ワード0

  • ビット [1:0]: SHAバリアント。このパラメーターは、使用するSHAアルゴリズムのタイプを決定します。次の値を取ることができます。
    • 00: SHA512
    • 01: SHA384
    • 10: SHA256
  • ビット [31:2]: 開始アドレス。フラッシュ内のこのアドレスから検証を開始します。アドレスは4バイトでアライメントされている必要があります。

ワード1

  • ビット [31:0]: NumBytes。これは、SHA読み出しで使用されるバイト数を表します。64の倍数にする必要があります。
応答長は、コマンドで選択しているSHAバリアントによって異なります。
  • SHA512: 16ワードを返します
  • SHA384: 12ワードを返します
  • SHA256: 8ワードを返します
注: このコマンドは、 Agilex™ 7および Agilex™ 5デバイスでのみサポートされます。
注: Agilex™ 5デバイスにおけるこのコマンドでは、SHA512のみをコマンドと応答にサポートしています。
GET_CONFIGURATION_TIME 65 0 2 コンフィグレーション・ネットワーク・コントロール・クロックの64ビット・サイクルカウントを最下位ワードを先頭にして返します。カウント値をコンフィグレーション・ネットワーク・コントロール・クロック周波数で割ることで、コンフィグレーション時間を概算します。コンフィグレーション・ネットワーク・クロックの動作周波数は、 Quartus® Primeにおけるクロックソース設定のコンフィグレーションによって異なります。 このコマンドは、サポートされている任意のコンフィグレーション・スキームで使用することができます。

通常、コンフィグレーション・サイクルカウントは下位32ビットでキャプチャーされます。ファームウェアが64ビットのサイクルカウントを返すことはほとんどありませんが、64ビットが返される場合は、2つの32ビット・ワードを連結して総サイクルカウント値を取得する必要があります。

次に例を示します。

返される応答: 0x007C27EE = 8136686サイクル

コンフィグレーション・コントロール・クロック周波数: 200MHz

コンフィグレーション時間: (8136686/200000000) × 1000 = 40.68ミリ秒

注: このコマンドは、 Agilex™ 7デバイスでのみサポートされます。
コンフィグレーション・クロックソース コンフィグレーション・ネットワーク・コントロール・クロック周波数
外部オシレーター (OSC_CLK_1) 250MHz
内部オシレーター 170MHzから230MHz
READ_SEU_ERROR 3C 0
  • エラー・メッセージ・キューが空の場合は1、それ以外の場合は、
  • 長さ +2、FIFOサイズ [17] まで

SEUエラーが検出されると、エラー情報はエラー・メッセージ・キューに格納されます。このコマンドは、キューを検査し、そこからエントリーを削除する方法を提供します。

Device and Pin OptionsウィンドウでSEU_ERRORピンを設定すると、エラー・メッセージ・キューに1つ以上のエラーがある場合に、SEU_ERROR信号がHighの状態で維持されるようになります。エラー・メッセージ・キューが空の場合、信号はLowになります。

エラー・メッセージ・キューにエラーがない場合、応答長は1ワードになります。

キューに1つ以上のエラーがある場合、キューから最初のエラーが取り出され、後続のワードで返されます。このコマンドは、一度に1つの要素をキューから返します。

注: デザインにAdvanced SEU Detection Intel® FPGA IPが含まれている場合は、このメールボックス・コマンドを使用しないでください。
ワード 名称 詳細
0 Error Count ビット [31:0]: エラー・メッセージ・キュー内のエラーの合計数
1 Sector Address ビットの詳細に関しては、該当するSEU緩和ユーザーガイドを参照してください。
2 Error Data
READ_SEU_STATS 40 1 6

このコマンドは、指定されているセクターのSEU統計を報告します。

このコマンドは、1つの32ビット・ワードを引数として取ります。

ワード0

  • ビット [31:24]: 予約済み (0として書き込み)
  • ビット [23:16]: セクターアドレス
  • ビット [15:0]: 予約済み (0として書き込み)

応答長は次のとおりです。

  • ワード0
    • ビット [31:0]: T_seu_cycle

  • ワード1
    • ビット [31:0]: T_seu_detect
  • ワード2
    • ビット [31:0]: T_seu_correct
  • ワード3
    • ビット [31:0]: T_seu_inject_detect
  • ワード4
    • ビット [31:0]: T_sdm_seu_poll_interval
  • ワード5
    • ビット [31:0]: T_sdm_seu_pin_toggle_overhead

時間 (秒) = サイクル/内部クロック周波数

詳細は、該当するSEU緩和ユーザーガイドを参照してください。

注: このコマンドは、 Agilex™ 5デバイスでのみサポートされます。
INSERT_SAFE_SEU_ERROR 41 2 0 このコマンドは、選択しているセクターに1つまたは複数のエラーを挿入します。

検出が機能している場合、デバイスは可能な場合はこのエラーを訂正し、標準のSEUレポートメカニズムによってユーザーに報告します。

挿入は、あらかじめ定義されている、未使用のCRAMが提供されている位置のリストのみを対象にすることができます (CRAM_SEL 0から7で識別されます)。

1つの INSERT_SEU_ERROR メッセージで最大2つのCRAM_SELを指定することができます。CRAM Selectを使用して、次の挿入シナリオを実行することができます。
  • シングルビット (訂正可能): N_INJ=0 に設定し、CRAM_SEL0を設定します。N_INJが0に設定されている場合、CRAM_SEL1は無視されます。
  • 水平ダブルビット隣接 (HDAE) (訂正可能): N_INJ=1 を設定し、隣接するCRAM_SEL0とCRAM_SEL1を設定します。
  • マルチビット (訂正不可): N_INJ = 1に設定し、隣接していないCRAM_SELをどちらも設定します。
次の表の例では、CRAM選択の組み合わせとSEUエラータイプを示しています。
フレーム選択
  • 偶数フレーム・インデックス: 0、1、2、3。インデックス1はダブルビット、訂正可能な場合に使用され、インデックス2および3はマルチビットに使用されます。
  • 奇数フレーム・インデックス: 4、5、6、7。インデックス5はダブルビット、訂正可能な場合に使用され、インデックス6および7はマルチビットに使用されます。
挿入時にエラーが発生しなかった場合、コマンドはOK応答を返します。

次に例を示します。

選択 CRAM_SEL1 CRAM_SEL0 SEUエラータイプ
すべて偶数フレーム 0 1 隣接ダブルビット
1 0
0 2/3 マルチビット (訂正不可能)
2/3 0
1/2/3 1/2/3
偶数フレーム + 奇数フレーム 0/1/2/3 4/5/6/7 2つのシングルビット
すべて奇数フレーム 4 5 隣接ダブルビット
5 4
4 6/7 マルチビット (訂正不可能)
6/7 4
5/6/7 5/6/7
このコマンドは、2つの32ビット・ワードを引数として取ります。
  • ワード0
    • ビット [31:24]: 予約済み (0として書き込み)
    • ビット [23:16]: セクターアドレス
    • ビット [15:6]: 予約済み (0として書き込み)
    • ビット [5:4]: T
      • 00: すぐに挿入
      • 01: 次の検出サイクルの直前に挿入
      • 10: 検出/訂正サイクルの直後に挿入
      • 11: 無効
    • ビット [3:0]: N_INJ

      挿入するCRAM位置の数 - 1

      • 0 = 1つのエラー
      • 1 = 2つのエラー
  • ワード1
    • ビット [31:8]: 予約済み (0として書き込み)
    • ビット [7:4]: CRAM_SEL1
    • ビット [3:0]: CRAM_SEL0

      CRAM_SEL0とCRAM_SEL1は同じにならないようにします。

詳細は、該当するSEU緩和ユーザーガイドを参照してください。

注: このコマンドは、 Agilex™ 5デバイスでのみサポートされます。
INSERT_ECC_ERROR 42 1 0

このコマンドでは、CNT/SDMの選択されているRAMにECCエラーを挿入し、リードバックを実行してECCエラーをトリガーします。ユーザーはシングルビットのECCのみを挿入することができます。

このコマンドは、1つの32ビット・ワードを引数として取ります。
  • ワード0
    • ビット [31:24]: 予約済み (0として書き込み)
    • ビット [23:16]: セクターアドレス
    • ビット [15:7]: 予約済み(0として書き込み)
    • ビット [6:2]: RAM_ID
    • ビット [1:0]: T
      • 01: シングルビット・エラー
注: このコマンドは、 Agilex™ 5デバイスでのみサポートされます。
QSPI_READ_SHA512 6E 2 16

このコマンドは、2つの32ビット・ワードを引数として取ります。

ワード0

  • ビット [1:0]: SHAバリアント。SHA512アルゴリズムの場合は00を入力します。
  • ビット [31:2]: 開始アドレス。このフラッシュ内のアドレスから検証を開始します。アドレスは4バイトでアライメントする必要があります。

ワード1

  • ビット [31:0]: NumBytes。これは、SHA読み出しで使用されるバイト数を表します。64の倍数にする必要があります。

返される応答長は16ワードです。

注: このコマンドは、 Stratix® 10デバイスでのみサポートされます。
STATUS_VR 713 1 1

電源管理ファームウェア (PMF) および電圧レギュレーター (VR) のデータのインターフェイスを提供します。このコマンドは、VID対応デバイスで、VRポーリングとPMFの両方が有効になっている場合に使用します。

次に説明する入力引数のいずれかを取ります。
  • 0x0: PMFの状態を次のいずれかの値に対応する整数として返します。
    • 0x0 = DISABLED
    • 0x1 = INIT
    • 0x2 = MONITOR
    • 0x3 = PAUSED
    • 0x4 = ERROR
  • 0x1: VIDターゲット電圧値をミリボルト (mV) 単位で返します。
  • 0x2: VRエラーステータスを返します。
    • コマンドが成功すると、0x0の値が返されます。これは、正常な実行、つまりエラーがなかったことを示すものです。
    • 0x0以外の戻り値に関しては、PMBus* Specification Part II Rev. 1.2以降のStatus Register Map の図で、該当する STATUS_WORD レジスターエラーのマッピングを参照してください。

このコマンドは、 Quartus® Primeプロ・エディションのバージョン23.3以降で利用することができます。

注: このコマンドは、 Agilex™ 7デバイスでのみサポートされます。

CONFIG_STATUSおよびRSU_STATUS の主要なエラーコードと軽微なエラーコードに関しては、付録: CONFIG_STATUS および RSU_STATUS エラーコードの詳細を参照してください。

11 この数にコマンドヘッダーまたは応答ヘッダーは含まれません。
12 デバイスで複数デバイスの読み出しをサポートする場合、インデックス n はデバイスで有効にするチャネル数と一致します。
13 Stratix® 10デバイスにおける電圧センサーの読み取りに関しては、 Stratix® 10アナログ-デジタル・コンバーター・ユーザーガイドを参照してください。
14 Agilex™ 7パワー・マネジメント・ユーザーガイドで、温度センサーのチャネルおよび位置の詳細を確認してください。
15 Agilex™ 5 Power Management User Guide で、温度センサーのチャネルおよび位置の詳細を確認してください。
16 インデックスnは、センサーマスクの数によって変化します。