Intel Mailbox Client with Avalon Streaming Interface FPGA IP ユーザーガイド
Avalon ストリーミング インターフェイス FPGA IP を使用した intel メールボックス クライアント

Avalon® ストリーミング インターフェイス インテル FPGA IP オーバーを備えたメールボックス クライアントview

Avalon® ストリーミング インターフェイス インテル® FPGA IP を備えたメールボックス クライアント (Avalon ST クライアント IP を備えたメールボックス クライアント) は、カスタム ロジックとセキュア デバイス マネージャー (SDM) 間の通信チャネルを提供します。 メールボックス クライアントを Avalon ST IP とともに使用して、コマンド パケットを送信し、SDM 周辺モジュールから応答パケットを受信できます。 Avalon ST IP を使用する Mailbox Client は、SDM が実行する機能を定義します。

カスタム ロジックは、この通信チャネルを使用して、次の周辺モジュールから情報を受信し、フラッシュ メモリにアクセスできます。

  • チップID
  • 温度センサー
  • 巻tageセンサー
  • クワッド シリアル ペリフェラル インターフェイス (SPI) フラッシュ メモリ

注記: このユーザー ガイドでは、Avalon ST という用語は、Avalon ストリーミング インターフェイスまたは IP を省略しています。

図1. Avalon ST IP システム設計を使用したメールボックス クライアント
Avalon ST IP システム設計を使用したメールボックス クライアント

次の図は、Avalon ST IP を使用するメールボックス クライアントがチップ ID を読み取るアプリケーションを示しています。

2. Avalon ST IP を使用したメールボックス クライアントがチップ ID を読み取る
Avalon ST IP を使用したメールボックス クライアントがチップ ID を読み取る

デバイス ファミリのサポート

以下に、インテル FPGA IP のデバイス・サポート・レベルの定義をリストします。

  • 事前サポート — IP は、このデバイス ファミリのシミュレーションとコンパイルに使用できます。 タイミング モデルには、初期のポスト レイアウト情報に基づく遅延の初期エンジニアリング見積もりが含まれます。 タイミング モデルは、シリコン テストによって実際のシリコンとタイミング モデルとの相関関係が改善されるため、変更される可能性があります。 この IP は、システム アーキテクチャとリソース使用率の調査、シミュレーション、ピン配置、システム レイテンシの評価、基本的なタイミングの評価 (パイプラインの割り当て)、および I/O 転送戦略 (データ パス幅、バースト深度、I/O 規格のトレード) に使用できます。オフ)。
  • 事前サポート — IP は、このデバイス ファミリの暫定的なタイミング モデルで検証されます。 IP はすべての機能要件を満たしていますが、デバイス ファミリのタイミング解析がまだ行われている可能性があります。 生産設計では注意して使用できます。
  • 最終サポート — IP は、このデバイス ファミリの最終的なタイミング モデルで検証されます。 この IP は、デバイス ファミリのすべての機能要件とタイミング要件を満たし、量産設計で使用できます。

表1. デバイス ファミリのサポート

デバイスファミリー サポート
インテル Agilex™ 前進

注記: IP が SDM から応答を受信するため、Avalon Streaming Interface Intel FPGA IP を使用して Mailbox Client をシミュレートすることはできません。 この IP を検証するために、インテルはハードウェア評価を実行することをお勧めします。

関連情報
Avalon Streaming Interface インテル FPGA IP リリースノートを備えたメールボックスクライアント

パラメータ

パラメータ名 価値 説明
ステータス インターフェイスを有効にする オンオフ このインターフェイスを有効にすると、メールボックス クライアント with Avalon ストリーミング インターフェイス Intel FPGA IP に command_status_invalid 信号が含まれます。 command_status_invalid がアサートされたら、IP をリセットする必要があります。

インターフェース
次の図は、Avalon Streaming Interface Intel FPGA IP インターフェイスを備えた Mailbox Client を示しています。

図3. Avalon ストリーミング インターフェイスを備えたメールボックス クライアント インテル FPGA IP インターフェイス
Avalon ストリーミング インターフェイスを備えたメールボックス クライアント インテル FPGA IP インターフェイス

Avalon ストリーミング インターフェイスの詳細については、Avalon Interface Specifications を参照してください。
関連情報
Avalon インターフェース仕様

クロックおよびリセット インターフェイス

テーブル 2. クロックおよびリセット インターフェイス

信号名 方向 説明
in_clk 入力 これは、Avalon ストリーミング インターフェイスのクロックです。 250 MHz での最大周波数。
in_reset 入力 これはアクティブ ハイ リセットです。 in_reset をアサートして、Avalon ストリーミング インターフェイス Intel FPGA IP を使用するメールボックス クライアント (Avalon ST IP を使用するメールボックス クライアント) をリセットします。 in_reset 信号がアサートされると、SDM は保留中のアクティビティを Avalon ST IP を使用してメールボックス クライアントからフラッシュする必要があります。 SDM は、他のクライアントからのコマンドを処理し続けます。

デバイスがユーザー・モードに入ったときに、メールボックス・クライアント with Avalon ST IP が正しく機能するようにするには、FPGA ファブリックがユーザー・モードになるまでリセットを保持するために、デザインに Reset Release Intel FPGA IP を含める必要があります。 インテルは、リセット・リリース IP のユーザー・リセットまたは出力を

Avalon ST IP を使用したメールボックス クライアントのリセット ポート。 リセット シンクロナイザーを実装するには、Platform Designer で利用可能な Reset Bridge Intel FPGA IP を使用します。

注記: Platform Designer での IP のインスタンス化と接続のガイドラインについては、Remote System Update Design Ex に必要な通信およびホスト コンポーネントを参照してください。ampインテル Agilex 構成ユーザーガイドの図を参照してください。

コマンドインターフェース
Avalon Streaming (Avalon ST) インターフェイスを使用して、コマンドを SDM に送信します。

表 3. コマンド インターフェイス

信号名 方向 説明
コマンド準備完了 出力 Avalon ST Intel FPGA IP を使用するメールボックス クライアントは、アプリケーションからコマンドを受信する準備ができると、command_ready をアサートします。 ready_latency は 0 サイクルです。 Avalon ST を使用するメールボックス クライアントは、command_ready がアサートするのと同じサイクルで command_data[31:0] を受け入れることができます。
コマンド有効 入力 command_valid 信号は、command_data が有効であることを示すためにアサートします。
コマンドデータ[31:0] 入力 command_data バスはコマンドを SDM に駆動します。 コマンドの定義については、コマンド リストと説明を参照してください。
command_startofpacket 入力 command_startofpacket は、コマンド パケットの最初のサイクルでアサートします。
command_endofpacket 入力 command_endofpacket は、コマンドの最後のサイクルでパケットをアサートします。

4. Avalon ST コマンド パケットのタイミング
fig:m ST コマンド パケット

応答インターフェース
SDM Avalon ST クライアント IP は、応答インターフェイスを使用してアプリケーションに応答を送信します。

表 4. 応答インターフェース

シグナル5 方向 説明
応答準備完了 入力 アプリケーション ロジックは、応答を受信できるときはいつでも、response_ready 信号をアサートできます。
応答_有効 出力 SDM は、response_valid をアサートして、response_data が有効であることを示します。
応答データ[31:0] 出力 SDM は、response_data を駆動して、要求された情報を提供します。 応答の最初の単語は、SDM が提供するコマンドを識別するヘッダーです。 参照する コマンド一覧と説明 コマンドの定義については。
パケットの応答開始 出力 response_startofpacket は、応答パケットの最初のサイクルでアサートします。
応答_パケットの終了 出力 response_endofpacket は、応答パケットの最後のサイクルでアサートします。

図 5. Avalon ST 応答パケットのタイミング
Avalon ST 応答パケット

コマンド ステータス インターフェイス

表5. コマンド ステータス インターフェイス

信号名 方向 説明
コマンドステータス_無効 出力 command_status_invalid はアサートしてエラーを示します。 通常、この信号は、コマンド ヘッダーで指定されたコマンドの長さが送信されたコマンドの長さと一致しないことを示すためにアサートします。 command_status_invalid がアサートされると、アプリケーション ロジックは in_reset をアサートして、メールボックス クライアントを Avalon ストリーミング インターフェイス インテル FPGA IP で再起動する必要があります。

図6. command_status_invalid のアサート後にリセット
図: command_status_invalid アサート

コマンドと応答

ホスト・コントローラーは、Mailbox Client Intel FPGA IP 経由でコマンドおよび応答パケットを使用して SDM と通信します。

コマンドおよび応答パケットの最初のワードは、コマンドまたは応答に関する基本情報を提供するヘッダーです。

図7. コマンドおよび応答ヘッダーの形式
図: コマンドおよび応答ヘッダーの形式

注記: コマンド ヘッダーの LENGTH フィールドは、対応するコマンドのコマンド長と一致する必要があります。
次の表では、ヘッダー コマンドのフィールドについて説明します。

表6. コマンドおよび応答ヘッダーの説明

ヘッダ 少し 説明
予約済み [31:28] 予約済み。
ID [27:24] コマンド ID。 応答ヘッダーは、コマンド ヘッダーで指定された ID を返します。 コマンドの説明については、操作コマンドを参照してください。
0 [23] 予約済み。
長さ [22:12] ヘッダーに続く引数の単語数。 与えられたコマンドに対して間違った数の引数のワードが入力された場合、IP はエラーで応答します。
コマンドヘッダに指定されたコマンド長と送信ワード数が一致しない場合。 IP は割り込みステータス レジスタ (COMMAND_INVALID) のビット 3 を発生させ、メールボックス クライアントをリセットする必要があります。
予約済み [11] 予約済み。 0 に設定する必要があります。
コマンドコード/エラーコード [10:0] コマンドコードは、コマンドを指定します。 エラー コードは、コマンドが成功したか失敗したかを示します。
コマンド ヘッダーでは、これらのビットはコマンド コードを表します。 応答ヘッダーでは、これらのビットはエラー コードを表します。 コマンドが成功した場合、エラー コードは 0 です。コマンドが失敗した場合は、 エラー コードの応答.

操作コマンド

Quad SPI フラッシュのリセット
重要:
インテル Agilex デバイスの場合、シリアル フラッシュまたはクワッド SPI フラッシュのリセット ピンを AS_nRST ピンに接続する必要があります。 SDM は QSPI リセットを完全に制御する必要があります。 クワッド SPI リセット ピンを外部ホストに接続しないでください。.

表 7. コマンド リストと説明

指示 コード (XNUMX 進数) コマンド長 (1) 応答の長さ (1) 説明
いいえ 0 0 0 OK ステータス応答を送信します。
GET_IDCODE 10 0 1 応答には、J である XNUMX つの引数が含まれます。TAG デバイスの IDCODE
GET_CHIPID 12 0 2 応答には、最下位ワードが最初にある 64 ビットの CHIPID 値が含まれます。
GET_USERCODE 13 0 1 応答には、32 ビット J である XNUMX つの引数が含まれます。TAG コンフィギュレーション ビットストリームがデバイスに書き込む USERCODE。
GET_VOLTAGE 18 1 n(2) GET_VOLTAGE コマンドには、読み取るチャネルを指定するビットマスクである引数が 0 つあります。 ビット 0 はチャネル 1 を指定し、ビット 1 はチャネル XNUMX を指定します。
応答には、ビットマスクに設定されたビットごとに XNUMX ワードの引数が含まれます。 ボリュームtag返される e は、16 進小数点以下 XNUMX ビットの符号なし固定小数点数です。 例えばampル、巻tag0.75V の e は 0x0000C000 を返します。 (3)
インテル Agilex デバイスには単一のボリュームがありますtageセンサー。 したがって、応答は常に XNUMX つの単語になります。
GET_温度 19 1 n(4) GET_TEMPERATURE コマンドは、指定したコア ファブリックまたはトランシーバー チャネルの場所の温度を返します。

インテル Agilex デバイスの場合、sensor_req 引数を使用して場所を指定します。 sensor_req には次のフィールドが含まれます。

  • ビット[31:28]: 予約済み。
  • ビット[27:16]: センサーの位置。 TSD の場所を指定します。
  • ビット[15:0]: センサー マスク。 指定されたセンサー位置を読み取るセンサーを指定します。 応答には、要求された温度ごとに 0 つの単語が含まれます。 省略した場合、コマンドはチャネル 0 を読み取ります。最下位ビット (lsb) はセンサー 15 に対応します。最上位ビット (msb) はチャネル XNUMX に対応します。

返される温度は、8 進小数点より XNUMX ビット下の符号付き固定値です。 例えばample、10°C の温度は 0x00000A00 を返します。 温度 -1.5°C の A は 0xFFFFFE80 を返します。
ビットマスクで無効な場所が指定されている場合、コマンドは、範囲 0x80000000 ~ 0x800000FF の任意の値であるエラー コードを返します。
インテル Agilex デバイスの場合、ローカルの組み込み温度センサーの詳細については、『Intel Agilex Power Management User Guide』を参照してください。

RSU_IMAGE_UPDATE 5C 2 0 ファクトリ イメージまたはアプリケーション イメージのいずれかであるデータ ソースから再構成をトリガーします。
続き…
  1. この数には、コマンドまたは応答ヘッダーは含まれません。
  2. 複数のデバイスの読み取りをサポートするインテル Agilex デバイスの場合、インデックス n は、デバイスで有効にするチャネルの数と一致します。
  3. 参照 インテル Agilex 電源管理ユーザーガイド 温度センサーのチャネルと位置の詳細については、
  4. インデックス n は、センサー マスクの数に依存します。
指示 コード (XNUMX 進数) コマンド長 (1) 応答の長さ (1) 説明
このコマンドは、フラッシュ内の再構成データ アドレスを指定するオプションの 64 ビット引数を取ります。 引数を IP に送信する場合、最初にビット [31:0] を送信し、続いてビット [63:32] を送信します。 この引数を指定しない場合、その値は 0 と見なされます。
  • Bit [31:0]: アプリケーション イメージの開始アドレス。
  • ビット [63:32]: 予約済み (0 として書き込み)。

デバイスがこのコマンドを処理すると、デバイスの再構成に進む前に、応答ヘッダーを応答 FIFO に返します。 ホスト PC またはホスト コントローラーが他の割り込みの処理を停止し、応答ヘッダー データの読み取りに集中して、コマンドが正常に完了したことを示すようにします。 そうしないと、ホスト PC またはホスト コントローラが再構成プロセスの開始後に応答を受信できない場合があります。
デバイスがリコンフィギュレーションに進むと、外部ホストと FPGA の間のリンクが失われます。 デザインで PCIe を使用する場合は、PCIe リンクを再列挙する必要があります。
重要: クワッド SPI をリセットするときは、 Quad SPI フラッシュのリセット 9ページにあります。

RSU_GET_SPT 5A 0 4 RSU_GET_SPT は、RSU が使用する 0 つのサブパーティション テーブル (SPT1 と SPTXNUMX) のクワッド 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 ビット: マイナー エラー コード。

付録を参照してください: 設定ステータス メールボックス クライアント Intel の RSU_STATUS エラー コードの説明 FPGA IP  詳細については、ユーザーガイドを参照してください。

1 Quartus バージョン インテル Quartus® Prime 開発ソフトウェアのバージョン 19.4 から 21.2 で利用可能で、フィールドには以下が表示されます。
  • Bit [31:28]: 最近使用されたファームウェアまたは決定ファームウェアのコピーのインデックス。 可能な値は、0、1、2、および 3 です。
  • ビット [27:24]: 予約済み
  • ビット [23:16]: 値は「0」
インテル Quartus Prime ソフトウェアのバージョン 21.3 以降で利用可能で、Quartus のバージョンは次のように表示されます。
  • Bit [31:28]: 最近使用されたファームウェアまたは決定ファームウェアのコピーのインデックス。 可能な値は、0、1、2、および 3 です。
  • ビット [27:24]: 予約済み
  • Bit [23:16]: Quartus のメジャーリリース番号
  • Bit [15:8]: マイナー Quartus リリース番号
  • Bit [7:0]: Quartus アップデート番号

例えばampファイルでは、 インテル 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 ピンステータス
  • Bit [31]: 現在の nSTATUS 出力値 (アクティブロー)
  • ビット [30]: 検出された nCONFIG 入力値 (アクティブ LOW)
  • ビット [29:8]: 予約済み
  • Bit [7:6]: コンフィギュレーション クロック ソース
    • 01 = 内部発振器
    • 10 = OSC_CLK_1
  • ビット [5:3]: 予約済み
  • Bit [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 エラーの詳細 エラーの詳細が含まれます。 エラーがない場合は 0 を返します。
RSU_STATUS 5B 0 9 現在のリモート システムのアップグレード ステータスを報告します。 このコマンドを使用して、構成中および完了後に構成ステータスを確認できます。 このコマンドは、次の応答を返します。
言葉 まとめ 説明

(続く…。)

  1. この数には、コマンドまたは応答ヘッダーは含まれません
0-1 現在の画像 現在実行中のアプリケーション イメージのフラッシュ オフセット。
2-3 失敗画像 最も優先度の高い失敗したアプリケーション イメージのフラッシュ オフセット。 フラッシュ メモリに複数のイメージがある場合は、失敗した最初のイメージの値を格納します。 すべて 0 の値は、失敗したイメージがないことを示します。 失敗したイメージがない場合、ステータス情報の残りのワードには有効な情報が格納されません。
注記:ASx4 から再構成するための nCONFIG の立ち上がりエッジは、このフィールドをクリアしません。 メールボックス クライアントが新しい RSU_IMAGE_UPDATE コマンドを受信し、更新イメージから正常に構成されたときに、失敗したイメージのみの更新に関する情報。
4 失敗したイメージの失敗コード。 エラー フィールドには XNUMX つの部分があります。
  • ビット [31:16]: メジャー エラー コード
  • ビット [15:0]: マイナー エラー コード 障害がない場合は 0 を返します。 参照する

詳細については、Mailbox Client Intel FPGA IP User Guide の付録: CONFIG_STATUS および RSU_STATUS エラー コードの説明を参照してください。

5 バージョン RSU インターフェイスのバージョンとエラー ソース。
詳細については、Hard Processor System Remote System Update User Guide の RSU Status and Error Codes セクションを参照してください。
6 エラー箇所 失敗したイメージのエラーの場所を格納します。 エラーがない場合は 0 を返します。
7 エラーの詳細 失敗したイメージのエラーの詳細を保存します。 エラーがない場合は 0 を返します。
8 現在のイメージ再試行カウンター 現在のイメージに対して試行された再試行回数のカウント。 カウンタは最初は 0 です。 カウンターは、最初の再試行後に 1 に設定され、2 回目の再試行後に XNUMX に設定されます。
インテル Quartus Prime 設定で最大再試行回数を指定します File (.qsf)。 コマンドは次のとおりです。 set_global_assignment -name RSU_MAX_RETRY_COUNT 3. MAX_RETRY カウンターの有効な値は 1 ~ 3 です。 利用可能な実際の再試行回数は MAX_RETRY -1 です
このフィールドは、インテル Quartus Prime プロ・エディション・ソフトウェアのバージョン 19.3 で追加されました。
続き…
  1. この数には、コマンドまたは応答ヘッダーは含まれません。
RSU_NOTIFY 5D 1 0 RSU_STATUS 応答のすべてのエラー情報をクリアし、リトライ カウンターをリセットします。 XNUMX 語の引数には、次のフィールドがあります。
  • 0x00050000: 現在のリセット リトライ カウンターをクリアします。 現在の再試行カウンターをリセットすると、現在のイメージが初めて正常に読み込まれたかのように、カウンターがゼロに戻ります。
  • 0x00060000: エラーステータス情報をクリアします。
  • 他のすべての値は予約されています。

このコマンドは、インテル Quartus Prime プロ・エディション・ソフトウェアのバージョン 19.3 より前では使用できません。

QSPI_OPEN 32 0 0 クワッド SPI への排他的アクセスを要求します。 この要求は、他の QSPI 要求の前に発行します。 クワッド SPI が使用されておらず、SDM がデバイスを構成していない場合、SDM は要求を受け入れます。
SDM がアクセスを許可する場合、OK を返します。
SDM は、このメールボックスを使用してクライアントに排他的アクセスを許可します。 アクティブなクライアントが QSPI_CLOSE コマンドを使用してアクセスを放棄するまで、他のクライアントはクワッド SPI にアクセスできません。
HPS ソフトウェア構成で QSPI を無効にしない限り、HPS を含むデザインでは、メールボックス クライアント IP を介したクワッド SPI フラッシュ メモリ デバイスへのアクセスはデフォルトでは使用できません。
重要: クワッド SPI をリセットするときは、 Quad SPI フラッシュのリセット 9ページにあります。
QSPI_CLOSE 33 0 0 Quad SPI インターフェイスへの排他的アクセスを閉じます。
重要:クワッド SPI をリセットするときは、 Quad SPI フラッシュのリセット 9ページにあります。
QSPI_SET_CS 34 1 0 チップ セレクト ラインを介して、接続されているクワッド SPI デバイスの XNUMX つを指定します。 以下で説明するように、XNUMX 語の引数を取ります
  • ビット[31:28]: 選択するフラッシュ デバイス。 nCSO[0:3] ピンに対応する値については、以下の情報を参照してください。
    • 値 4'h0000 は、nCSO[0] に対応するフラッシュを選択します。
    • 値 4'h0001 は、nCSO[1] に対応するフラッシュを選択します。
    • 値 4'h0002 は、nCSO[2] に対応するフラッシュを選択します。
    • 値 4'h0003 は、対応するフラッシュを選択します。 nCSO[3]。
  • ビット[27:0]: 予約済み (0 として書き込み)。

注記: インテル Agilex または インテル Stratix® 10 デバイスは、nCSO[4] に接続されたクワッド SPI デバイスからの AS コンフィギュレーション用に 0 つの AS x4 フラッシュ メモリ デバイスをサポートします。 デバイスがユーザー モードに入ると、メールボックス クライアント IP または HPS をデータ ストレージとして使用するために、最大 3 つの AS x0 フラッシュ メモリを使用できます。 メールボックス クライアント IP または HPS は、nCSO[XNUMX:XNUMX] を使用してクワッド SPI デバイスにアクセスできます。
このコマンドは、AS x4 構成方式ではオプションです。チップ セレクト ラインは、最後に実行された QSPI_SET_CS コマンドに続くか、AS x0 構成後に nCSO[4] にデフォルト設定されます。 JTAG コンフィギュレーション スキームでは、このコマンドを実行して、SDM_IO ピンを接続する QSPI フラッシュにアクセスする必要があります。
SDM_IO ピンを使用した QSPI フラッシュ メモリ デバイスへのアクセスは、AS x4 コンフィギュレーション スキーム J でのみ利用可能です。TAG 構成、および AS x4 構成用にコンパイルされた設計。 Avalon ストリーミング インターフェイス (Avalon ST) コンフィギュレーション スキームの場合、QSPI フラッシュ メモリを GPIO ピンに接続する必要があります。

続き…
  1. この数には、コマンドまたは応答ヘッダーは含まれません
重要: クワッド SPI をリセットするときは、 Quad SPI フラッシュのリセット 9ページにあります。
QSPI_READ 3A 2 N 接続されたクワッド SPI デバイスを読み取ります。 最大転送サイズは 4 キロバイト (KB) または 1024 ワードです。
次の XNUMX つの引数を取ります。
  • クアッド SPI フラッシュ アドレス (0 ワード)。 アドレスはワード アラインされている必要があります。 デバイスは、アラインされていないアドレスに対して 1xXNUMX エラー コードを返します。
  • 読む単語数 (XNUMX 単語)。

成功すると、OK を返し、クワッド SPI デバイスからの読み取りデータが続きます。 失敗応答はエラー コードを返します。
読み取りが部分的に成功した場合、QSPI_READ は誤って OK ステータスを返すことがあります。
注記: デバイス構成の進行中は QSPI_READ コマンドを実行できません。
重要:クワッド SPI をリセットするときは、 Quad SPI フラッシュのリセット 9ページにあります。

QSPI_WRITE 39 2+N 0 Quad SPI デバイスにデータを書き込みます。 最大転送サイズは 4 キロバイト (KB) または 1024 ワードです。
次の XNUMX つの引数を取ります。
  • フラッシュ アドレス オフセット (XNUMX ワード)。 書き込みアドレスは、ワードでアラインされている必要があります。
  • 書き込む単語数 (XNUMX 単語)。
  • 書き込むデータ (XNUMX つ以上のワード)。 書き込みが成功すると、OK 応答コードが返されます。

書き込み用にメモリを準備するには、このコマンドを発行する前に QSPI_ERASE コマンドを使用します。
注記: デバイス構成の進行中は QSPI_WRITE コマンドを実行できません。
重要:クワッド SPI をリセットするときは、 Quad SPI フラッシュのリセット 9ページにあります。

QSPI_ERASE 38 2 0 クワッド SPI デバイスの 4/32/64 KB セクターを消去します。 次の XNUMX つの引数を取ります。
  • 消去を開始するためのフラッシュ アドレス オフセット (XNUMX ワード)。 消去するワード数に応じて、開始アドレスは次のようにする必要があります。
    • 消去するワード数が 4x0 の場合は 400 KB 整列
    • 消去するワード数が 32x0 の場合は 2000 KB 整列
    • 消去するワード数が 64x0 の場合は 4000 KB で整列 4/32/64 KB で整列されていないアドレスに対してエラーを返します。
  • 消去する単語数は、次の倍数で指定します。
    • 0 KB (400 ワード) のデータを消去するには 4x100。 このオプションは最小消去サイズです。
    • 0 KB (2000 ワード) のデータを消去するには 32x500
    • 0x4000 で 64 KB (1000 ワード) のデータを消去 消去が成功すると、OK 応答コードが返されます。

重要:クワッド SPI をリセットするときは、 Quad SPI フラッシュのリセット 9ページにあります。

QSPI_READ_DEVICE_REG 35 2 N クワッド SPI デバイスからレジスタを読み取ります。 最大読み取りは 8 バイトです。 次の XNUMX つの引数を取ります。
  • 読み取りコマンドのオペコード。
  • 読み取るバイト数。
続き…
  1. この数には、コマンドまたは応答ヘッダーは含まれません。
読み取りが成功すると、OK 応答コードに続いて、デバイスから読み取られたデータが返されます。 読み出しデータの戻り値は 4 バイトの倍数です。 読み取るバイトが 4 バイトの正確な倍数でない場合、次のワード境界まで 4 バイトの倍数でパディングされ、パディングされたビット値はゼロになります。
重要: クワッド SPI をリセットするときは、 Quad SPI フラッシュのリセット 9ページにあります。
QSPI_WRITE_DEVICE_REG 36 2+N 0 クワッド SPI のレジスタに書き込みます。 最大書き込みは 8 バイトです。 次の XNUMX つの引数を取ります。
  • 書き込みコマンドのオペコード。
  • 書き込むバイト数。
  • 書き込むデータ。

セクタ消去またはサブセクタ消去を実行するには、次の例のように最上位バイト (MSB) から最下位バイト (LSB) の順序でシリアル フラッシュ アドレスを指定する必要があります。ampルが示しています。
QSPI_WRITE_DEVICE_REG コマンドを使用してアドレス 2x0FF04 にある Micron 0000 ギガビット (Gb) フラッシュのセクターを消去するには、次に示すように MSB から LSB の順序でフラッシュ アドレスを書き込みます。
ヘッダ: 0x00003036 オペコード: 0x000000DC
書き込むバイト数: 0x00000004 フラッシュ アドレス: 0x0000FF04
書き込みが成功すると、OK 応答コードが返されます。 このコマンドは、4 バイトの倍数ではないデータを次のワード境界に埋め込みます。 このコマンドは、データをゼロで埋めます。
重要:クワッド SPI をリセットするときは、 Quad SPI フラッシュのリセット 9ページにあります。

QSPI_SEND_DEVICE_OP 37 1 0 コマンド オペコードをクワッド SPI に送信します。 XNUMX つの引数を取ります:
  • クワッド SPI デバイスに送信するオペコード。

コマンドが成功すると、OK 応答コードが返されます。
重要:クワッド SPI をリセットするときは、 Quad SPI フラッシュのリセット 9ページにあります。

CONFIG_STATUS および RSU_STATUS のメジャーおよびマイナー エラー コードの説明については、Mailbox Client Intel FPGA IP User Guide の Appendix: CONFIG_STATUS and RSU_STATUS Error Code Descriptions を参照してください。
関連情報

エラー コードの応答

表 8. エラー コード

値 (XNUMX 進数) エラーコードの応答 説明
0 OK コマンドが正常に完了したことを示します。
次のようなコマンドの場合、コマンドは誤って OK ステータスを返すことがあります。
QSPI_READ は部分的に成功しています。
1 INVALID_COMMAND 現在ロードされているブート ROM がコマンド コードをデコードまたは認識できないことを示します。
3 不明なコマンド 現在ロードされているファームウェアがコマンド コードをデコードできないことを示します。
4 無効なコマンドパラメータ コマンドの形式が正しくないことを示します。 例えばample、ヘッダーの長さフィールドの設定が無効です。
6 COMMAND_INVALID_ON_ ソース コマンドが有効になっていないソースからのものであることを示します。
8 CLIENT_ID_NO_MATCH クアッド SPI への排他的アクセスを閉じる要求をクライアント ID が完了できないことを示します。 クライアント ID が、クアッド SPI への現在の排他的アクセスを持つ既存のクライアントと一致しません。
9 無効なアドレス アドレスが無効です。 このエラーは、次のいずれかの状態を示しています。
  • アラインされていないアドレス
  • アドレス範囲の問題
  • 読み取り許可の問題
  • 3 を超える値を表示する、無効なチップ セレクト値
  • RSU の場合の無効なアドレス
  • GET_VOL の無効なビットマスク値TAGE コマンド
  • GET_TEMPERATURE コマンドの無効なページ選択
A 認証_失敗 コンフィギュレーション ビットストリーム署名認証の失敗を示します。
B タイムアウト このエラーは、次の条件によるタイムアウトを示しています。
  • 指示
  • QSPI_READ 操作が完了するのを待っています
  • 温度センサーの XNUMX つから要求された温度読み取り値を待機しています。 温度センサーの潜在的なハードウェア エラーを示している可能性があります。
C HW_NOT_READY 次のいずれかの状態を示します。
  • ハードウェアの準備ができていません。 初期化または構成の問題を示している可能性があります。 ハードウェアはクワッド SPI を指す場合があります。
  • RSU イメージは、FPGA の構成には使用されません。
D ハードウェアエラー 回復不能なハードウェア エラーが原因で、コマンドが正常に完了しなかったことを示します。
80 – 8F コマンド固有エラー 使用した SDM コマンドによるコマンド固有のエラーを示します。
教育

指示

エラー名 エラーコード 説明
GET_CHIPID EFUSE_SYSTEM_FAILURE 0x82 eFuse キャッシュ ポインターが無効であることを示します。
QSPI_OPEN/ QSPI_CLOSE/ QSPI_SET_CS/

QSPI_READ_D EVICE_REG/

QSPI_HW_ERROR 0x80 QSPI フラッシュ メモリ エラーを示します。 このエラーは、次のいずれかの状態を示しています。
QSPI_WRITE_DEVICE_REG/

QSPI_SEND_D EVICE_OP/

QSPI_READ

  • QSPI フラッシュ チップ セレクト設定の問題
  • QSPI フラッシュの初期化の問題
  • QSPI フラッシュのリセットの問題
  • QSPI フラッシュ設定の更新の問題
QSPI_ALREADY_OPEN 0x81 QSPI_OPEN コマンドによる QSPI フラッシュへのクライアントの排他的アクセスが既に開かれていることを示します。
100 未構成 デバイスが構成されていないことを示します。
1FF ALT_SDM_MBOX_RESP_ DEVICE_ BUSY 次の使用例により、デバイスがビジーであることを示します。
  • RSU: 内部エラーのため、ファームウェアを別のバージョンに移行できません。
  • HPS: HPS 再構成プロセス中または HPS コールド リセット中に、HPS はビジーです。
2FF ALT_SDM_MBOX_RESP_NO _ VALID_RESP_AVAILABLE 有効な応答がないことを示します。
3FF ALT_SDM_MBOX_RESP_エラー 一般エラー。

エラーコードの回復
次の表に、エラー コードから回復するための可能な手順を示します。 エラー回復は、特定のユース ケースによって異なります。
表 9. 既知のエラー コードのエラー コード リカバリ

価値 エラーコードの応答 エラーコードの回復
4 無効なコマンドパラメータ コマンド ヘッダーまたは引数付きヘッダーを、パラメーターを修正して再送信します。
例えばampファイルで、ヘッダーの長さフィールド設定が正しい値で送信されていることを確認してください。
6 COMMAND_INVALID_ON_SOURCE J などの有効なソースからコマンドを再送信します。TAG、HPS、またはコア ファブリック。
8 CLIENT_ID_NO_MATCH quad SPI へのアクセスを開いたクライアントがアクセスを完了するのを待ってから、quad SPI への排他アクセスを閉じます。
9 無効なアドレス 考えられるエラー回復手順:
GET_VOL の場合TAGE コマンド: 有効なビットマスクを指定してコマンドを送信します。
GET_TEMPERATURE コマンドの場合: 有効なセンサー位置とセンサー マスクを指定してコマンドを送信します。
QSPI 操作の場合:
  • 有効なチップ セレクトでコマンドを送信します。
  • 有効な QSPI フラッシュ アドレスを指定してコマンドを送信します。

RSU の場合: ファクトリ イメージまたはアプリケーションの有効な開始アドレスを指定してコマンドを送信します。

B タイムアウト 可能な回復手順:

GET_TEMPERATURE コマンドの場合: コマンドの再送信を再試行します。 問題が解決しない場合は、デバイスを再構成するか、電源を入れ直します。

QSPI 操作の場合: QSPI インターフェイスのシグナル インテグリティを確認し、コマンドを再試行します。

HPS 再始動操作の場合: コマンドの再送信を再試行してください。

C HW_NOT_READY 可能な回復手順:

QSPI 操作の場合: ソース経由でデバイスを再構成します。 デザインの構築に使用する IP で QSPI フラッシュへのアクセスが許可されていることを確認してください。

RSU の場合: RSU イメージを使用してデバイスを構成します。

80 QSPI_HW_ERROR QSPI インターフェイスのシグナル インテグリティをチェックし、QSPI デバイスが損傷していないことを確認します。
81 QSPI_ALREADY_OPEN クライアントはすでに QSPI を開いています。 次の操作に進みます。
82 EFUSE_SYSTEM_FAILURE 再構成または電源の入れ直しを試みます。 再構成または電源の再投入後もエラーが続く場合は、デバイスが損傷して回復不能になっている可能性があります。
100 未構成 HPS を構成するビットストリームを送信します。
1FF ALT_SDM_MBOX_RESP_ DEVICE_ BUSY 考えられるエラー回復手順:

QSPI 操作の場合: 進行中の構成または他のクライアントが操作を完了するのを待ちます。

RSU の場合: デバイスを再構成して、内部エラーから回復します。

HPS 再起動操作の場合: HPS または HPS コールド リセットによる再構成が完了するまで待ちます。

Avalon ストリーミング・インターフェイスを備えたメールボックス・クライアント インテル FPGA IP ユーザーガイド ドキュメント・アーカイブ

このユーザー ガイドの最新および以前のバージョンについては、次を参照してください。 Avalon Streaming Interface を備えた Mailbox Client インテル FPGA IP ユーザーガイド. IP またはソフトウェア バージョンがリストされていない場合は、以前の IP またはソフトウェア バージョンのユーザー ガイドが適用されます。

IP バージョンは、v19.1 までの インテル Quartus Prime Design Suite ソフトウェアのバージョンと同じです。 インテル Quartus Prime Design Suite ソフトウェアのバージョン 19.2 以降から、IP コアには新しい IP バージョニング スキームがあります。

メールボックス・クライアント with Avalon Streaming Interface Intel FPGA IP User Guide の文書改訂履歴

ドキュメントバージョン インテル Quartus Prime バージョン IPバージョン 変更点
2022.09.26 22.3 1.0.1 以下の変更を加えました:
  • GET_VOL を更新しましたTAGE コマンド行

コマンド リストと説明の表。

  • デバイス ファミリ サポートの表に注記を追加。
  • 改訂 QSPI_SET_CS コマンド リストと説明の表でコマンドの説明を参照してください。
2022.04.04 22.1 1.0.1 コマンド リストと説明の表を更新しました。
  • CONFIG_STATUS コマンドのピン ステータスの説明を更新。
  • REBOOT_HPS コマンドを削除しました。
2021.10.04 21.3 1.0.1 次の変更を加えました:
  • 改訂 コマンド一覧と説明 テーブル。 更新された説明:
    • 設定ステータス
    • RSU_STATUS
2021.06.21 21.2 1.0.1 以下の変更を加えました:
  • 改訂 コマンド一覧と説明 テーブル。 更新された説明:
    • RSU_STATUS
    • QSPI_OPEN
    • QSPI_SET_CS
    • QSPI_ERASE
2021.03.29 21.1 1.0.1 以下の変更を加えました:
  • の RSU_IMAGE_UPDATE の説明を改訂 コマンド一覧と説明 テーブル。
  • 再構築 操作コマンド. CONFIG_STATUS および RSU_STATUS コマンドのメジャーおよびマイナー エラー コードの説明を削除しました。 メジャー エラー コードとマイナー エラー コードは、 Mailbox Client インテル FPGA IP ユーザーガイド。
2020.12.14 20.4 1.0.1 以下の変更を加えました:
  • QSPI フラッシュのリセットに関する重要な注意事項を追加 操作コマンド トピック。
  • 更新しました コマンド一覧と説明 テーブル:
    • GET_TEMPERATURE コマンドの説明を改訂。
    • RSU_IMAGE_UPDATE コマンドの説明を改訂。
  • QSPI フラッシュのリセットに関するテキストを追加。
  • 外部ホストと FPGA 間の動作を説明するテキストを追加。
  • 削除されたテキスト: デバイスがすでに構成コマンドを処理している場合は、XNUMX 以外の応答を返します。
    • QSPI_WRITE および QSPI_READ の説明を更新して、最大転送サイズが 4 キロバイトまたは 1024 ワードであることを指定しました。
    • QSPI_OPEN、QSPI_CLOSE、および QSPI_SET_CS の応答の長さを 1 から 0 に修正 指示。
    • QSPI_OPEN、QSPI_WRITE、QSPI_READ_DEVICE_REG、および QSPI_WRITE_DEVICE_REG の説明を改訂。
    • 新しいコマンドを追加: REBOOT_HPS。
  • 新しいトピックを追加しました: エラー コードの回復。
2020.10.05 20.3 1.0.1
  • このユーザー ガイドのタイトルを Mailbox Avalon Streaming Interface Client インテル FPGA IP ユーザーガイド Avalon Streaming Interface を備えた Mailbox Client インテル FPGA IP ユーザーガイド インテル Quartus Prime IP カタログで IP 名が変更されたためです。
  • すべての IP 名インスタンスをグローバルに更新しました。
  • インテル Agilex デバイスの GET TEMPERATURE コマンドの説明を改訂 コマンド一覧と説明 テーブル。
  • のリセット シンクロナイザーに関する推奨事項を追加 クロックおよびリセット インターフェイス テーブル。
  • 更新しました エラーコード テーブル。 新しいエラー コード応答が追加されました。
    • ハードウェアエラー
    • COMMAND_SPECIFIC_ERROR
  • 削除された 温度センサーの位置 トピック。 温度センサー情報は、 インテル Agilex 電源管理ユーザーガイド.
2020.06.30 20.2 1.0.0
  • このユーザー ガイドのタイトルを Mailbox Avalon ST クライアント インテル FPGA IP ユーザーガイド Mailbox Avalon Streaming Interface Client インテル FPGA IP ユーザーガイド.
  • トピックのタイトルを変更しました コマンドおよび応答ヘッダー コマンドと応答.
  • の ID、LENGTH、およびコマンド コード/エラー コードの説明を改訂 コマンドおよび応答ヘッダーの説明 テーブル。
  • トピックのタイトルを変更しました サポートされているコマンド 操作コマンド.
  • の次のコマンドの説明を改訂しました。 コマンド一覧と説明 テーブル:
    • GET_TEMPERATURE
    • RSU_STATUS
    • QSPI_SET_CS
  • トピックのタイトルを変更しました エラーコード エラー コードの応答.
  • UNKNOWN_BR コマンドを エラーコード テーブル。
2020.04.13 20.1 1.0.0 以下の変更を加えました:
  • TSD の場所を示す図を含む、GET_TEMPERATURE コマンドの温度センサーに関する情報を追加しました。
  • に RSU_NOTIFY コマンドを追加 コマンドコード一覧と説明 テーブル。
  • 更新しました エラーコード テーブル:
    • INVALID_COMMAND_PARAMETERS の名前を INVALID_LENGTH に変更しました。
    • COMMAND_INVALID_ON_SOURCE の 5 進値を 6 から XNUMX に変更しました。
    • CLIENT_ID_NO_MATCH の 6 進値を 8 から XNUMX に変更しました。
    • INVALID_ADDRESS の 7 進値を 9 から XNUMX に変更しました。
    • AUTHENTICATION_FAIL コマンドを追加しました。
    • タイムアウトの 8 進値を XNUMX から B に変更しました。
    • HW_NOT_READY 9 進値を XNUMX から C に変更しました。
2019.09.30 19.3 1.0.0 初回リリース。

 フィードバックについては、次のサイトにアクセスしてください。  FPGAtechdocフィードバック@intel.com

 

ドキュメント / リソース

Avalon ストリーミング インターフェイス FPGA IP を使用した intel メールボックス クライアント [pdf] ユーザーガイド
Avalon ストリーミング インターフェイス FPGA IP を使用するメールボックス クライアント、メールボックス クライアント、Avalon ストリーミング インターフェイス FPGA IP

参考文献

コメントを残す

あなたのメールアドレスは公開されません。 必須項目はマークされています *