Intel Acceleration Stack for Intel® Xeon® CPU with FPGAs Core Cache Interface (CCI-P) Reference Manual

ID 683193
Date 11/04/2019
Public
Document Table of Contents

1.3.8.1. Rx Header and Rx Data Format

Table 21.  Rx Header Field Definitions
Field Description
mdata

Metadata: User defined request ID, returned unmodified from memory request to response header.

For multi-CL memory response, the same mdata is returned for each CL.

vc_used

Virtual channel used: when using VA, this field identifies the virtual channel selected for the request by FIU. For other VCs it returns the request VC.

format

When using multi-CL memory write requests, FIU may return a single response for the entire payload or a response per CL in the payload.

  • 1’b0: Unpacked write response – Returns a response per CL. Look up the cl_num field to identify the cache line.
  • 1’b1: Packed write response – Returns a single response for the entire payload. The cl_num field gives the payload size that is: 1 CL, 2 CLs, or 4 CLs.
    Note: Write responses from the Memory Properties Factory (MPF) Intel® FPGA Basic Building Blocks is always packed when sent to the AFU
cl_num Format=0:

For a response with >1 CL data payload, this field identifies the cl_num.

2’h0 – First CL. Lowest Address

2’h1 – Second CL

2'h2 – Third CL

2’h3 – Fourth CL. Highest Address

Note: Responses may be returned out of order.
Format=1:

This field identifies the data payload size.

2’h0 – 1 CL or 64 bytes

2’h1 – 2 CL or 128 bytes

2’h3 – 4 CL or 256 bytes

hit_miss

Cache Hit/Miss status. AFU can use this to generate fine grained hit/miss statistics for various modules.

1’b0 – Cache Miss

1’b1 – Cache Hit

MMIO Length

Length for MMIO requests:

2’h0 – 4 bytes

2’h1 – 8 bytes

2'h2 - 64 bytes (for MMIO Writes only)

MMIO Address Double word (DWORD) aligned MMIO address offset, that is, byte address>>2.
UMsg ID Identifies the CL corresponding to the UMsg
UMsg Type

Two type of UMsg are supported:

1’b1 – UMsgH (Hint) without data

1’b0 – UMsg with Data

Table 22.   AFU Rx Response Encodings and Channels Mapping
Request Type Encoding Data Payload Hdr Format
t_if_ccip_c0_Rx: enum t_ccip_c0_rsp
eRSP_RDLINE 4’h0 Yes

Memory Response Header. Refer to Table 23.

Qualified with c0.rspValid

MMIO Read NA No MMIO Request Header. Refer to Table 24
MMIO Write NA Yes NA
eRSP_UMSG 4’h4 Yes/No

UMsg Response Header. Refer to Table 26. Qualified with c0.rspValid

t_if_ccip_c1_Rx: enum t_ccip_c1_rsp
eRSP_WRLINE 4’h0 No

Memory Response Header. Refer to Table 25.

Qualified with c1.rspValid

eRSP_WRFENCE 4'h4 No Wr Fence Response Header. Refer to Table 27.
eRSP_INTR 4'h6 No Interrupt Response Header. Refer to Table 28
Table 23.  C0 Memory Read Response Header Format Structure: t_ccip_c0_RspMemHdr
Bit Number of Bits Field
[27:26] 2 vc_used
[25] 1 RSVD
[24] 1 hit_miss
[23:22] 2 RSVD
[21:20] 2 cl_num
[19:16] 4 resp_type
[15:0] 16 mdata
Table 24.  MMIO Request Header Format
Bit Number of Bits Field
[27:12] 16 address
[11:10] 2 length
[9] 1 RSVD
[8:0] 9 TID
Table 25.  C1 Memory Write Response Header Format Structure: t_ccip_c1_RspMemHdr
Bit Number of Bits Field
[27:26] 2 vc_used
[25] 1 RSVD
[24] 1 hit_miss
[23] 1 format
[22] 1 RSVD
[21:20] 2 cl_num
[19:16] 4 resp_type
[15:0] 16 mdata
Table 26.  UMsg Header Format (Integrated FPGA Platform only)
Bit Number of Bits Field
[27:20] 8 RSVD
[19:16] 4 resp_type
[15] 1 UMsg Type
[14:3] 12 RSVD
[2:0] 3 UMsg ID
Table 27.  WrFence Header Format Structure: t_ccip_c1_RspFenceHdr
Bit Number of Bits Field
[27:20] 8 RSVD
[19:16] 4 resp_type
[15:0] 16 mdata
Table 28.  Interrupt Header Format Structure: t_ccip_c1_RspIntrHdr ( Intel® FPGA PAC only)
Bit Number of Bits Field
[27:26] 2 vc_used
[25:20] 6 RSVD
[19:16] 4 resp_type
[15:2] 14 RSVD
[1:0] 2 id