Arria® 10 and Cyclone® 10 GX Avalon® Streaming Interface for PCI Express* User Guide
5.1. Avalon‑ST RX Interface
The following table describes the signals that comprise the Avalon-ST RX Datapath. The RX data signal can be 64, 128, or 256 bits.
Signal |
Direction |
Description |
---|---|---|
rx_st_data[<n>-1:0] | Output |
Receive data bus. Refer to figures following this table for the mapping of the Transaction Layer’s TLP information to rx_st_data and examples of the timing of this interface. Note that the position of the first payload dword depends on whether the TLP address is qword aligned. The mapping of message TLPs is the same as the mapping of TLPs with 4‑dword headers. When using a 64-bit Avalon-ST bus, the width of rx_st_data is 64. When using a 128-bit Avalon-ST bus, the width of rx_st_data is 128. When using a 256‑bit Avalon‑ST bus, the width of rx_st_data is 256 bits. |
rx_st_sop[1:0] | Output |
Indicates that this is the first cycle of the TLP when rx_st_valid is asserted. When using a 256-bit Avalon-ST bus the following correspondences apply: When you turn on Enable multiple packets per cycle,
In single packet per cycle mode, this signal is a single bit which indicates that a TLP begins in this cycle. |
rx_st_eop[1:0] |
Output |
Indicates that this is the last cycle of the TLP when rx_st_valid is asserted. When using a 256-bit Avalon-ST bus the following correspondences apply: When you turn on Enable multiple packets per cycle,
In single packet per cycle mode, this signal is a single bit which indicates that a TLP ends in this cycle. |
rx_st_empty[1:0] | Output |
Indicates the number of empty qwords in rx_st_data. Not used when rx_st_data is 64 bits. Valid only when rx_st_eop is asserted in 128-bit and 256‑bit modes. For 128‑bit data, only bit 0 applies; this bit indicates whether the upper qword contains data. For 256‑bit data single packet per cycle mode, both bits are used to indicate whether 0-3 upper qwords contain data, resulting in the following encodings for the 128‑and 256-bit interfaces:
|
rx_st_ready |
Input |
Indicates that the Application Layer is ready to accept data. The Application Layer deasserts this signal to throttle the data stream. If rx_st_ready is asserted by the Application Layer on cycle <n> , then <n + > readyLatency > is a ready cycle, during which the Transaction Layer may assert valid and transfer data. The RX interface supports a readyLatency of 3 cycles. |
rx_st_valid |
Output |
Clocks rx_st_data into the Application Layer. Deasserts within 2 clocks of rx_st_ready deassertion and reasserts within 2 clocks of rx_st_ready assertion if more data is available to send. For 256-bit data, when you turn on Enable multiple packets per cycle, bit 0 applies to the entire bus rx_st_data[255:0]. Bit 1 is not used. |
rx_st_err[<n>-1:0] | Output |
Indicates that there is an uncorrectable error correction coding (ECC) error in the internal RX buffer. Active when ECC is enabled. ECC is automatically enabled by the Quartus® Prime assembler. ECC corrects single‑bit errors and detects double‑bit errors on a per byte basis. When an uncorrectable ECC error is detected, rx_st_err is asserted for at least 1 cycle while rx_st_valid is asserted. For 256-bit data, when you turn on Enable multiple packets per cycle, bit 0 applies to the entire bus rx_st_data[255:0]. Bit 1 is not used. Intel recommends resetting the Arria® 10 or Cyclone® 10 GX Hard IP for PCI Express when an uncorrectable double‑bit ECC error is detected. |
pcie_a10.pcie_a10_hip_0.tx.st Interface must have an associated reset pcie_a10.pcie_a10_hip_0.rx.st Interface must have an associated resetYou can safely ignore these warnings because the IP core has a dedicated hard reset pin that is not part of the Avalon-ST TX or RX interface.
Section Content
Avalon-ST RX Component Specific Signals
Data Alignment and Timing for the 64‑Bit Avalon -ST RX Interface
Data Alignment and Timing for the 128‑Bit Avalon‑ST RX Interface
Data Alignment and Timing for 256‑Bit Avalon‑ST RX Interface
Tradeoffs to Consider when Enabling Multiple Packets per Cycle