Mailbox Client インテル® Stratix® 10 FPGA IP コア・ユーザーガイド

ID 683290
日付 4/19/2019
Public

1.2.1. 操作コマンド

表 2.  コマンドのリストおよび説明
コマンド コード (Hex) コマンド長 1 応答長1 説明
NOOP 0 0 0 OKステータス応答を送信します。
GET_IDCODE 10 0 1 応答には、デバイスのJTAG IDCODEである引数が1つ含まれています。
GET_CHIPID 12 0 2 応答には64ビットのCHIPID値が含まれており、最下位ワードが先頭にあります。
GET_USERCODE 13 0 1 応答には、コンフィギュレーション・ビットストリームによってデバイスに提供される32ビットのJTAG USERCODEである引数が1つ含まれています。
GET_VOLTAGE 18 1 1 コマンドは、どのチャネルを読み取るかのビットマスクである単一の引数を持ちます。ビット0はチャネル0を読み取るように設定され、ビット1はチャネル1を読み取るように設定されます。

応答には、ビットマスクに設定されたビットごとにワード引数が1つ含まれています。それぞれの戻り値は32ビット値です。返される電圧は、2進小数点以下の16ビットの符号なし固定小数点数です。

例えば、0.75 Vの電圧は0x0000C000を返します。
GET_TEMPERATURE 19 1 1 コマンドは、どの温度センサーを読み取るかを示すビットマスクである単一の引数を持ちます。

応答には要求されたチャネル温度ごとにワードが1つ含まれています2。返される温度は、2進小数点以下の8ビットの符号付き固定値です。

  • チャネル0: コア・ファブリックから温度値をサンプリングします。
  • チャネル1から6: 指定されたトランシーバー・タイルから温度値をサンプリングします。
  • チャネル7から8: 高帯域幅のDRAMメモリー (HBM2) スタックから温度値をサンプリングします。

例えば、温度が10 °Cの場合は0x00000A00が返され、温度がマイナス1.5 °Cの場合は0xFFFFFE80が返されます。

RSU_IMAGE_UPDATE 5C 2 0

初期コンフィグレーションに向けてMSEL設定で選択されたデータソースからリコンフィグレーションをトリガーします。

このコマンドは、フラッシュ内のリコンフィグレーション・データ・アドレスを指定するための64ビットのオプションの引数を取ります。引数が指定されていない場合、その値は0とみなされます。

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

デバイスがすでにコンフィグレーションを処理している場合は、ゼロ以外の応答を返します。

注: このコマンドを使用し、コンフィグレーション中および終了後のコンフィグレーション状態を確認することができます。
CONFIG_STATUS 4 0 6

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

ワード 概要 説明
0 状態 最新のコンフィグレーションに関連するエラーを示します。コンフィグレーション・エラーがない場合は0になります。
エラーフィールドには2つのフィールドがあります。
  • 上位16ビット: 主要なエラーコード
  • 下位16ビット: 意味のあるデータを含まない軽微なエラー
主要なエラーコードの有効な値は、次の通りです。
主要なエラーコード 説明
0xF001 BITSTREAM_ERROR
0xF002 HARDWARE_ACCESS_FAILURE
0xF003 BITSTREAM_CORRUPTION
0xF004 INTERNAL_ERROR
0xF005 DEVICE_ERROR
0xF006 HPS_WATCHDOG_TIMEOUT
0xF007 INTERNAL_UNKNOWN_ERROR
1 バージョン このバージョンに対しては0です。
2 ピンの状態
  • Bit [31]: 現在のnSTATUS出力値 (アクティブLow)
  • Bit [30]: 検出されたnCONFIG入力値 (アクティブLow)
  • Bit [29:3]: 予約済み
  • Bit [2:0]: 電源投入時のMSEL値
3 ソフト機能の状態 SDMピンに機能が割り当てられているかどうかにかかわらず、各ソフト機能の値を含みます。
  • Bit [31:4]: 予約済み
  • Bit [3]: SEU_ERROR
  • Bit [2]: CVP_DONE
  • Bit [1]: INIT_DONE
  • Bit [0]: CONF_DONE
4 エラー位置 エラーの位置を含みます。エラーがなければ0を返します。
5 エラー詳細 エラーの詳細を含みます。エラーがなければ0を返します。
RSU_STATUS 5B 0 8 現在のリモート・システム・アップグレードの状態を報告します。このコマンドは次の応答を返します。
ワード 概要 説明
0-1 現在のイメージ 現在実行中のアプリケーション・イメージのフラッシュオフセットです。
2-3 最後に失敗したイメージ 最後に失敗したアプリケーション・イメージのフラッシュオフセットです。値がすべて1であれば、失敗したイメージがないことを示します。失敗したイメージがない場合、続くワードに意味のあるデータは含まれていません。
4 状態 最後に失敗したイメージの失敗コードです。
エラーフィールドには2つの部分があります。
  • 上位16ビット: 主要なエラーコード
  • 下位16ビット: 意味のあるデータを含まない軽微なエラー
主要なエラーコードの定義は次の通りです。
主要なエラーコード 説明
0xF001 BITSTREAM_ERROR
0xF002 HARDWARE_ACCESS_FAILURE
0xF003 BITSTREAM_CORRUPTION
0xF004 INTERNAL_ERROR
0xF005 DEVICE_ERROR
0xF006 HPS_WATCHDOG_TIMEOUT
0xF007 INTERNAL_UNKNOWN_ERROR
5 バージョン その機能がSDMピンにあるかどうかにかかわらず、各ソフト機能の値を含みます。
6 エラー位置 最後に失敗したイメージのエラー位置を含みます。エラーがなければ0を返します。
7 エラー詳細 最後に失敗したイメージのエラーの詳細を含みます。エラーがなければ0を返します。
QSPI_OPEN 32 0 1

クワッドシリアル・ペリフェラル・インターフェイス (QSPI) への排他的なアクセスを要求します。SDMが要求を受け入れると (QSPIがまだ使用されていない場合、またはSDMがデバイスのコンフィグレーション処理中でない場合)、OK応答を返します。それ以外の場合はエラー応答を返します。

注: 排他的アクセスは、このメールボックスを使用しているクライアントにのみ許可されます。他のクライアントは、このクライアントによってQSPIが閉じられるまでQSPIにアクセスできません。
QSPI_CLOSE 33 0 1 QSPIインターフェイスへの排他的アクセスを閉じます。
QSPI_SET_CS 34 1 1 チップ・セレクト・ラインを介し接続されているQSPIデバイスを選択します。次のように1ワードの引数を取ります。
  • Bit [31:28]: 選択されるフラッシュデバイス。ビット設定0000は、nCSO[0] に接続されているフラッシュを選択するために使用されます。
  • Bit [27:0]: 予約済み (0として書き込み)。
QSPI_READ 3A 2 N 接続されているQSPIデバイスを読み出し、次の2つのパラメーターを取ります。
  • QSPIデバイスからの読み出しを開始するためのフラッシュ・アドレス・オフセット (1ワード)。読み出しアドレスはワード・アライメントにする必要があります。
  • 読み出すワード数 (1ワード)。
応答が成功すると、OK応答コードとそれに続いてQSPIデバイスから読み出されたデータが返されます。失敗応答は次のいずれかです。
  • エラーコードが返される。
  • OKが返されるが、QSPIデバイスから読み出したデータの一部が不正確である。例えば、複数のQSPI_READを実行できますが、最初の読み出しが成功し、後続の読み出しに失敗した場合はデータの一部が返されます。
注: 最大転送サイズは4Kバイトに制限されており、コンフィグレーションの進行中にこのコマンドを呼び出すことはできません。

例: ワード・アライメントされていないアドレスが送信された場合、FPGAデバイスはエラーコードの0x1を返します。

QSPI_WRITE 39 2+N 0 接続されているQSPIデバイスにデータを書き込み、次の3つのパラメーターを取ります。
  • コマンドがQSPIデバイスに書き込みを開始するためのフラッシュ・アドレス・オフセット (1ワード)。書き込みアドレスはワード・アライメントにする必要があります。
  • 書き込むワード数 (1ワード)。
  • 書き込むデータ (1ワード以上)。

書き込みが成功するとOK応答コードを返します。

このコマンドを発行する前に、クライアントはQSPI_ERASEコマンドを発行し、書き込みメモリーを準備する必要がある場合があります。

注: 最大転送サイズは4Kバイトに制限されており、コンフィグレーションの進行中にこのコマンドを呼び出すことはできません。

例: ワード・アライメントされていない読み取りアドレスが送信された場合、FPGAデバイスはエラーコードの0x3FFを返します。

QSPI_ERASE 38 2 0 接続されているQSPIデバイスのセクターを消去し、次の2つのパラメーターを取ります。
  • 消去を開始するデバイス内のフラッシュ・アドレス・オフセット (1ワード)。アドレスは、フラッシュメモリー内のセクターの開始アドレスである必要があるため、64Kバイトにアライメントされていなければなりません。64Kバイトにアライメントされていないアドレスを指定した場合、エラーが返されます。
  • 消去するワード数。消去サイズは4000 (16進数) ワードの倍数で指定できます。
消去が成功すると、OK応答コードが返されます。
QSPI_READ_DEVICE_REG 35 2 N 接続されているQSPIデバイスからレジスターを読み取り、次の2つのパラメーターを取ります。
  • 読み出しコマンドのオペコード
  • 読み出すバイトの数 (最大サイズは8バイトです)

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

QSPI_WRITE_DEVICE_REG 36 2+N 0 接続されているQSPIのレジスターに書き込み、次の3つのパラメーターを取ります。
  • 書き込みコマンドのオペコード
  • 書き込むバイトの数 (最大サイズは8バイトです)
  • 書き込むデータ (最大2ワードで、ワード境界に0でパディングされます。)
書き込みが成功すると、OK応答コードが返されます。
QSPI_SEND_DEVICE_OP 37 1 0 QSPIにコマンドオペコードを送信し、1つの引数を取ります。
  • 接続されたQSPIデバイスを送信するためのオペコード
コマンドが成功すると、OK応答コードが返されます。
1 この数には、コマンドおよび応答ヘッダーは含まれません。
2 各トランシーバー・タイルの可用性はデバイスによって異なります。温度センサーのチャネル番号については、関連する情報を参照ください。