6–8
Chapter 6: IP Core Interfaces
Avalon-ST RX Interface
Arria V GZ Hard IP for PCI Express
November 2012
Altera Corporation
written. This means that the byte enables are undefined for 0x0–0x3. This example
corresponds to
. Qword alignment applies to all types of
request TLPs with data, including memory writes, configuration writes, and I/O
writes. The alignment of the request TLP depends on bit 2 of the request address. For
completion TLPs with data, alignment depends on bit 2 of the
lower
address
field.
This bit is always 0 (aligned to qword boundary) for completion with data TLPs that
are for configuration read or I/O read requests.
.
f
Appendix A, Transaction Layer Packet (TLP) Header Formats
of all TLPs.
Table 6–4
shows the byte ordering for header and data packets for
through
. Refer to
Appendix A, Transaction Layer Packet (TLP) Header Formats
for a layout of each byte of the TLP headers.
illustrates the mapping of Avalon-ST RX packets to PCI Express TLPs for a
three dword header with non-qword aligned addresses with a 64-bit bus. In this
example, the byte address is unaligned and ends with 0x4, causing the first data to
correspond to
rx_st_data[63:32]
.
Figure 6–2. Qword Alignment
.
.
.
0x0
0x8
0x10
0x18
Header
Addr = 0x4
64 bits
PCB Memory
Valid Data
Valid Data
Table 6–4. Mapping Avalon-ST Packets to PCI Express TLPs
Packet
TLP
Header0
pcie_hdr_byte0, pcie_hdr _byte1, pcie_hdr _byte2, pcie_hdr _byte3
Header1
pcie_hdr _byte4, pcie_hdr _byte5, pcie_hdr byte6, pcie_hdr _byte7
Header2
pcie_hdr _byte8, pcie_hdr _byte9, pcie_hdr _byte10, pcie_hdr _byte11
Header3
pcie_hdr _byte12, pcie_hdr _byte13, header_byte14, pcie_hdr _byte15
Data0
pcie_data_byte3, pcie_data_byte2, pcie_data_byte1, pcie_data_byte0
Data1
pcie_data_byte7, pcie_data_byte6, pcie_data_byte5, pcie_data_byte4
Data2
pcie_data_byte11, pcie_data_byte10, pcie_data_byte9, pcie_data_byte8
Data
<n>
pcie_data_byte
<4n+3>
, pcie_data_byte
<4n+2>
, pcie_data_byte
<4n+1>
, pcie_data_byte
<n>