インテル® アクセラレーション・スタック (インテル® Xeon® CPU&FPGA対応) コア・キャッシュ・インターフェイス (CCI-P) リファレンス・マニュアル

ID 683193
日付 11/04/2019
Public
ドキュメント目次

1.4.1. 必須AFU CSRの定義

AFUのCSRに対するソフトウェア・アクセスには、次の要件が定義されています。

  1. ソフトウェアは、アライメントされたクワッドワード (8バイト) として64ビットのCSRにアクセスすることが想定されています。64ビット・レジスターのフィールド (ビットまたはバイト) の変更には、クワッドワード全体が読み出され、適切なフィールドが変更され、クワッドワード全体が書き戻されます (リードモディファイライト動作)。
  2. 32ビットのCSRをサポートするAFUの場合も同様に、ソフトウェアは、アライメントされたダブルワード (4バイト) でそれらにアクセスすることが想定されています。

CCI-Pに準拠するAFUにはそれぞれ、次の表で定義されている4つの必須レジスター (0x0000のDEV_FEATURE_HDR (DFH) を除く) の実装が必要です。これらのレジスターを実装していない場合、もしくは正しく実装していない場合、AFUの検出に失敗する、もしくは他の予期せぬ動作が起こる場合があります。

表 41.  レジスター属性の定義
属性 展開 説明
RO Read Only ビットはハードウェアでのみ設定されます。ソフトウェアはこのビットの読み出しのみ可能です。書き込みには効果がありません。
Rsvd Reserved 今後定義される内容に予約されています。AFUはこれらを0に設定する必要があります。ソフトウェアは、これらのフィールドを無視する必要があります。
表 42は、必須のAFU CSRのバイトオフセットおよびDWORDオフセットを示しています。ベースアドレスはプラットフォームで設定され、AFUで指定する必要はありません。
表 42.  必須AFU CSR
名称

DWORDアドレス

オフセット

(CCI-P)

バイト・アドレス・

オフセット

(ソフトウェア)

DEV_FEATURE_HDR (DFH)

ビットの説明に関しては、表 43 を参照ください。
注: AFU のCSRは64ビットです。
0x0000 0x0000

AFU_ID_L

AFU_ID GUIDの下位64ビット

0x0002 0x0008

AFU_ID_H

AFU_ID GUIDの上位64ビット

0x0004 0x0010
DFH_RSVD0 0x0006 0x0018
DFH_RSVD1 0x0008 0x0020
図 23 は、AFUが必須AFU CSRを設定する際の例を示しています。ご自身の独自のAFU IDを定義する必要があります。AFUはDWORDアドレスを使用していることに注意してください。図 24 では、ソフトウェア・プログラムがAFU IDを読み出す際の例を示しています。
図 23.  AFUでの必須AFUレジスターの設定

ソフトウェアとAFU RTLは同じAFU IDを参照する必要があります。

図 24. ソフトウェアによるAFU IDの読み出し
表 43.  フィーチャー・ヘッダーのCSR定義アドレスオフセット = 0x0
ビット 属性 デフォルト 説明
63:60 RO 0x1 タイプ: AFU
59:52 Rsvd 0x0 予約済み
51:48 RO 0x0

AFUマイナーバージョン番号

ユーザー定義の値

47:41 Rsvd 0x0 予約済み
40 RO 該当なし

リストの末尾

1’b0: この後に別のフィーチャー・ヘッダーがあります (「次のDFHのバイトオフセット」を確認ください。)

1’b1: これはこのAFUの最後のフィーチャー・ヘッダーです。

39:16 RO 0x0

次のデバイス・フィーチャー・ヘッダーへのバイトオフセットです。つまり、現在のアドレスからのオフセットです。

DFHのバイトオフセット例に関しては、表 45 を参照ください。

15:12 RO 0x0

AFUメジャーバージョン番号

ユーザー定義の値

11:0 RO 該当なし

CCI-Pバージョン番号

ccip_if_pkg.svのCCIP_VERSION_NUMBERパラメーターを使用します。