このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。
5.3.1. 操作コマンド
クアッドSPIフラッシュのリセット
RSU SDM コマンドの使用例
| コマンド | コード (16進数) | コマンド長 15 | 応答長 15 | 説明 | |||
|---|---|---|---|---|---|---|---|
| RSU_IMAGE_UPDATE | 5C | 2 | 0 | ファクトリーまたはアプリケーション・イメージのいずれかであるデータソースからリコンフィグレーションをトリガーします。 このコマンドは、フラッシュ内のリコンフィグレーション・データ・アドレスを指定するための64ビットのオプションの引数を取ります。引数をIPに送信する際は、最初にビット[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つのフィールドがあります。
詳細については、Mailbox Client インテル® FPGA IPユーザーガイド 内、Appendix: CONFIG_STATUS and RSU_STATUS Error Code Descriptionsを参照してください。 |
|||||
| 1 | Quartusバージョン |
インテル® Quartus® Primeソフトウェア・バージョン19.4 ~ 21.2で利用可能で、フィールドには次のように表示されます。
インテル® Quartus® Primeソフトウェア バージョン 21.3 以降で利用可能で、Quartus バージョンは次のように表示されます。
たとえば、 インテル® Quartus® Prime ソフトウェア・バージョン 21.3.1 では、次の値は Quartus のメジャーリリース番号とマイナー リリース番号、および Quartus アップデート番号を表します。
|
|||||
| 2 | ピンの状態 |
|
|||||
| 3 | ソフト機能の状態 | SDMピンに機能が割り当てられているかどうかにかかわらず、各ソフト機能の値を含みます。
|
|||||
| 4 | エラー位置 | エラーの位置を含みます。エラーがなければ0を返します。 | |||||
| 5 | エラー詳細 | エラーの詳細を含みます。エラーがなければ0を返します。 | |||||
| RSU_STATUS | 5B | 0 | 9 | 現在のリモート・システム・アップグレードの状態を報告します。このコマンドを使用し、コンフィグレーション中および終了後のコンフィグレーション状態を確認することができます。このコマンドは次の応答を返します。 | |||
| ワード | 要約 | 説明 | |||||
| 0-1 | 現在のイメージ | 現在実行中のアプリケーション・イメージのフラッシュオフセットです。 | |||||
| 2-3 | 失敗したイメージ | 最後に失敗したアプリケーション・イメージのフラッシュオフセットです。フラッシュメモリーに複数のイメージがある場合は、最初に失敗したイメージの値を格納します。値がすべて0であれば、失敗したイメージがないことを示します。失敗したイメージがない場合、続くワードのステータス情報に意味のあるデータは含まれていません。
注: x4からリコンフィグレーションするための nCONFIG の立ち上がりエッジでは、このフィールドはクリアされません。失敗したイメージに関する情報が更新されるのは、Mailbox Clientが新しい RSU_IMAGE_UPDATE コマンドを受信し、更新イメージから正常にコンフィグレーションされた場合のみです。
|
|||||
| 4 | 状態 | 失敗したイメージの失敗コードです。
エラーフィールドには2つの部分があります。
失敗がない場合は0を返します。詳細については、Mailbox Client インテル® FPGA IPユーザーガイド 内、Appendix: CONFIG_STATUS and RSU_STATUS Error Code Descriptionsを参照してください。 |
|||||
| 5 | バージョン | RSUインターフェイスのバージョンとエラーソースです。 詳細については、ハード ・プロセッサー・システムのリモート・システム・アップデートのユーザー ガイドの「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ワードの引数には、次のフィールドがあります。
このコマンドは、 インテル® 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をリセットするときは、クアッドSPIフラッシュのリセット で指定されている指示に従う必要があります。
|
|||
| QSPI_CLOSE | 33 | 0 | 0 | クアッドSPIインターフェイスへの排他的アクセスを閉じます。
重要: クアッドSPIをリセットするときは、クアッドSPIフラッシュのリセット で指定された指示に従う必要があります。
|
|||
| QSPI_SET_CS | 34 | 1 | 0 | チップ セレクト ラインを介して、接続されているクワッド SPI デバイスの 1 つを指定します。以下に説明するように、1 語の引数を取ります。
注: Intel Agilex® 7 デバイスは、接続されたクワッド SPI デバイスからの AS コンフィグレーション用に 1 つの AS x4 フラッシュ メモリー デバイスをサポートします。 nCSO[0].デバイスがユーザー モードに入ると、最大 4 つの AS x4 フラッシュ メモリーをメールボックス・クライアント IP または HPS と共にデータ ストレージとして使用できます。メールボックス・クライアント IP または HPS は使用できます nCSO[3:0] クワッド SPI デバイスにアクセスします。
このコマンドは、AS x4 コンフィグレーション方式ではオプションです。チップ セレクト行は、最後に実行されたコマンドの後に続きます。 QSPI_SET_CS コマンドまたはデフォルト nCSO[0] AS x4 コンフィグレーションの後。 JTAG コンフィギュレーション・スキームでは、このコマンドを実行して、SDM_IO ピンを接続する QSPI フラッシュにアクセスする必要があります。 SDM_IO ピンを使用した QSPI フラッシュ メモリー デバイスへのアクセスは、AS x4 コンフィギュレーション・スキーム、JTAG コンフィギュレーション、および AS x4 コンフィギュレーション用にコンパイルされたデザインでのみ利用できます。 Avalon®ストリーミング・インターフェイス ( Avalon® ST) コンフィギュレーション・スキームでは、QSPI フラッシュ メモリーを GPIO ピンに接続する必要があります。
重要: クワッド SPI をリセットするときは、 クアッドSPIフラッシュのリセットを参照してください。
|
|||
| QSPI_READ | 3A | 2 | N | 接続されているクアッドSPIデバイスを読み出します。最大転送サイズは4キロバイト (KB) または1024ワードです。
2つの引数を取ります。
部分的に読み出しが成功した場合、QSPI_READ が誤って OK ステータスを返すことがあります。
注: デバイス・コンフィグレーションの進行中は、QSPI_READ を実行することはできません。
重要: クアッドSPIをリセットするときは、クアッドSPIフラッシュのリセット で指定されている指示に従う必要があります。
|
|||
| QSPI_WRITE | 39 | 2+N | 0 | クアッドSPIデバイスにデータを書き込みます。最大転送サイズは4キロバイト (KB) または1024ワードです。
3つの引数を取ります。
書き込み用のメモリーを準備するには、このコマンドを発行する前に QSPI_ERASE コマンドを使用してください。
注: デバイス・コンフィグレーションの進行中は、QSPI_WRITE コマンドを実行することはできません。
重要: クアッドSPIをリセットするときは、クアッドSPIフラッシュのリセット で指定されている指示に従う必要があります。
|
|||
| QSPI_ERASE | 38 | 2 | 0 | クアッドSPIデバイスの4/32/64 KBセクターを消去します。2つの引数を取ります。
重要: クアッドSPIをリセットするときは、クアッドSPIフラッシュのリセット で指定された指示に従う必要があります。
|
|||
| QSPI_READ_DEVICE_REG | 35 | 2 | N | クアッドSPIデバイスからレジスターを読み出します。最大読み出しは8バイトです。2つの引数を取ります。
読み出しが成功すると、OK応答コードが返され、それに続いてデバイスから読み出されたデータが返されます。読み出されたデータの戻り値は4バイトの倍数です。読み出すバイトが正確に4バイトの倍数でない場合は、次のワード境界まで4バイトの倍数でパディングされ、パディングされたビット値はゼロになります。
重要: クアッド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バイトの倍数ではないデータを次のワード境界にパディングします。このコマンドは、データにゼロを埋め込みます。
重要: クアッドSPIをリセットするときは、クアッドSPIフラッシュのリセット で指定された指示に従う必要があります。
|
|||
| QSPI_SEND_DEVICE_OP | 37 | 1 | 0 | コマンドオペコードをクアッドSPIに送信します。1つの引数を取ります。
コマンドが成功すると、OK応答コードが返されます。
重要: クアッドSPIをリセットするときは、クアッドSPIフラッシュのリセット で指定された指示に従う必要があります。
|
|||
CONFIG_STATUS および RSU_STATUS の主要なエラーコードおよび軽微なエラーコードの説明については、 Mailbox Client インテル® FPGA IPユーザーガイド 内、Appendix: CONFIG_STATUS and RSU_STATUS Error Code Descriptionsを参照してください。