インテルのみ表示可能 — GUID: iqj1506356226929
Ixiasoft
インテルのみ表示可能 — GUID: iqj1506356226929
Ixiasoft
1.6. デバイス・フィーチャー・リスト
この章では、MMIO空間内のフィーチャーのリンクリストを作成するデバイス・フィーチャー・リスト (DFL) 構造を定義し、それによりフィーチャーの追加および列挙を行う拡張可能な方法を提供します。フィーチャー領域 (「フィーチャー」と呼ばれる場合もあります) は、関連するCSRのまとまりです。例えば、DMAエンジンの2つの異なるフィーチャーに、キュー管理とQoS機能があります。キュー管理とQoS機能は、2つの異なるフィーチャー領域にグループ化することが可能です。デバイス・フィーチャー・ヘッダー (DFH) レジスターは、フィーチャー領域の開始を示します。
ソフトウェアはDFL全体を見渡し、以下を列挙することができます。
- AFU
- AFUはCCI-Pインターフェイスに準拠しており、CCI-Pポートに直接接続されます。AFU IDなどの必須AFUレジスターを実装する必要があります。
- AFU DFHは、MMIOアドレス0x0に位置している必要があります。
- プライベート・フィーチャー
- これはAFU内のフィーチャーのリンクリストであり、AFU内の機能を編成する方法を提供します。それらの列挙および管理は、AFUデベロッパーの責任です。
- これはIDの実装を必要としません。
- インテル® FPGAベーシック・ビルディング・ブロック
- AFU内の特別なフィーチャーであり、再利用可能なビルディング・ブロックを意味します (一度デザインし、何度も再利用する)。ソフトウェアに可視化される インテル® FPGAベーシック・ビルディング・ブロックは一般的に、 インテル® FPGAベーシック・ビルディング・ブロックの列挙とコンフィグレーションを行うための、対応するソフトウェア・サービスとともに提供されます。また、場合によっては インテル® FPGAベーシック・ビルディング・ブロックに向けたより高いレベルのソフトウェア・インターフェイスが提供されます。
- AFUのような厳しいハードウェア・インターフェイス要件はありませんが、ソフトウェアの観点から明確に定義されたアーキテクチャーのセマンティクスを必要とします。
- 可視化される場合、必須DFHレジスターを実装する必要があります。
- ソフトウェアに可視化される インテル® FPGAベーシック・ビルディング・ブロックに対してのみ、GUIDを実装する必要があります。
次の図は、BBBとプライベート・フィーチャーで構成されるAFUのフィーチャー階層の例を表しています。
デバイス・フィーチャー・ヘッダー | |||
---|---|---|---|
ビット | 説明 | ||
63:60 | フィーチャー・タイプ | ||
4’h1 – AFU | 4’h2 – BBB | 4’h3 – プライベート・フィーチャー | |
59:52 | 予約済み | ||
51:48 | AFUマイナーバージョン番号 ユーザー定義の値 |
予約済み | |
47:41 | 予約済み | ||
40 | リストの末尾 1’b0: この後に別のフィーチャー・ヘッダーがあります (「次のDFHのバイトオフセット」を参照ください)。 1’b1: これは、このAFUの最後のフィーチャー・ヘッダーです。 |
||
39:16 | 次のDFHのバイトオフセット 次のDFHアドレス = 現在のDFHアドレス + 次のDFHのバイトオフセット このフィーチャーが占有するMMIO領域の最大サイズの指標としても使用されます。最後のフィーチャーの場合、このオフセットは割り当てられていないMMIO領域の開始を指します (ある場合)。もしくは、MMIO空間の範囲を超えます。 表 45 にある例を参照ください。 |
||
15:12 | AFUメジャーバージョン番号 ユーザー定義 |
フィーチャーのリビジョン番号 ユーザー定義 |
|
11:0 | CCI-Pバージョン番号 ccip_if_pkg.svのCCIP_VERSION_NUMBERパラメーターを使用します。 |
フィーチャーID AFU内のフィーチャーを識別するユーザー定義のIDを含みます。 |
フィーチャー | DFHアドレス | EOL | 次のDFHのバイトオフセット |
---|---|---|---|
0 | 0x0 | 0x0 | 0x100 |
1 | 0x100 | 0x0 | 0x180 |
2 (最後のフィーチャー) | 0x280 | 0x1 | 0x80 |
割り当てられていないMMIO空間、DFHなし | 0x300 | 該当なし | 該当なし |
BBBにタイプが設定されているDFHは、次の表にある必須BBBレジスターを後に続ける必要があります。
DFH内のバイト・アドレス・オフセット | レジスター名 |
---|---|
0x0000 | DFH Type=BBB |
0x0008 | BBB_ID_L |
0x0010 | BBB_ID_H |
レジスター名 | BB_ID_L | ||
---|---|---|---|
ビット | 属性 | 説明 | |
63:0 | RO | BBB_ID IDの下位64ビット |
レジスター名 | BB_ID_H | ||
---|---|---|---|
ビット | 属性 | 説明 | |
63:0 | RO | BBB_ID IDの上位64ビット |
BBB_IDはGUIDであり、概念的にはAFU_IDに類似しています。それぞれのBBBが一意の識別子を持つように定義されます。これにより、ソフトウェアがBBBハードウェアに関連付けられたソフトウェア・サービスを識別できるようになります。
次の図は、この章で定義されているDFHレジスターを使用し、論理フィーチャー階層 (左側に示されています) をどのように表現することができるかを示しています。