インテルのみ表示可能 — GUID: crp1565209227654
Ixiasoft
1.3.1. 信号情報
1.3.2. メインメモリーに対する読み出しおよび書き込み
1.3.3. 割り込み
1.3.4. UMsg
1.3.5. I/OメモリーへのMMIOアクセス
1.3.6. CCI-P Tx信号
1.3.7. Txヘッダーのフォーマット
1.3.8. CCI-P Rx信号
1.3.9. マルチキャッシュ・ライン・メモリー・リクエスト
1.3.10. バイト・イネーブル・メモリー・リクエスト (インテル FPGA PAC D5005)
1.3.11. そのほかの制御信号
1.3.12. プロトコルフロー
1.3.13. 順序付けの規則
1.3.14. タイミング図
1.3.15. CCI-P のガイダンス
インテルのみ表示可能 — GUID: crp1565209227654
Ixiasoft
1.3.10. バイト・イネーブル・メモリー・リクエスト (インテル FPGA PAC D5005)
書き込みデータを詳細に制御し、データの特定のバイトのみをホストメモリーに書き込むには、バイト・イネーブル・モードを使用します。以下に、バイト・イネーブル・メモリー・リクエストの特性を示します。
- バイト・イネーブル・メモリー・リクエストは、バイト不変のリトル・エンディアン・スキームを使用します。すなわち、これは次のことを意味します。
- データ構造内の単一または複数バイトの要素の場合、その要素はメモリーの同じ連続バイトを使用します。これは、byte_startおよびbyte_lenヘッダーフィールドで指定されます。
- 書き込みデータは、キャッシュライン内の格納されるオフセットのデータフィールドに配置されます。最初に書き込まれるデータビットは、ビットbyte_start*8です。
- byte_startはバイト・インデックスを指定します。最下位バイトは0 (pck_af2cp_sTx.c1.data[7:0]) であり、最上位バイトは63 (pck_af2cp_sTx.c1.data[511:504]) です。
- byte_lenは、バイト・イネーブルのメモリー書き込みトランザクションに含まれるバイト数を指定します。バイト長は、書き込みデータを最上位バイトに向かって拡張します。
- バイト・イネーブル・メモリー・リクエストは、キャッシュ長 (cl_len) を0 (1 CLメモリー書き込みリクエスト) に設定して行う必要があります。
- 長さは、pck_af2cp_sTx.c1.dataのバイト63を超えることができません。許容される最大のバイト長は、次の計算式で表すことができます。
- byte_startが0の場合
- MAX_BYTE_LEN = 63
- byte_startが0ではない場合
- MAX_BYTE_LEN = 64 – byte_start
- byte_startが0の場合
次の表は、チャネル1のリクエストヘッダー (pck_af2cp_sTx.c1.hdr) が、バイト・イネーブル・モードにおいてバイトをインデックス付けする方法の例を示しています。この例においてAFUデザイナーは、データワード0xAAAABBBBCCCCDDDDEのバイト [20:4] (pck_af2cp_sTx.c1.data[167:32]) を、アドレス0xFFF00のホストメモリーのバイト [20:4] に書き込みます。
ビット・インデックス | 幅 (ビット) | フィールド | 値 | |
---|---|---|---|---|
ヘッダー | 79:74 | 6 | byte_len | 0x11 |
73:72 | 2 | vc_sel | eVC_VA (0x0) | |
71 | 1 | sop=1 | 1 | |
70 | 1 | (CL/バイト) 0:CL、1:バイト | 1 | |
69:68 | 2 | cl_len | 0 | |
67:64 | 4 | req_type | eREQ_WRLINE_I (0x0) | |
63:58 | 6 | byte_start | 0x4 | |
57:18 | 40 | address | 0xFFF00 | |
17:16 | 2 | — | 0x0 | |
15:0 | 16 | mdata | 0x0 | |
データ | — | 512 | データ | 0xAAAABBBBCCCCDDDDE |
図 15. アドレス0xFFF00のホストメモリー この図は、書き込み前後のホストメモリーの値を示しています。