GTS AXI Streaming IP for PCI Express* User Guide: Agilex™ 5 and Agilex™ 3 FPGAs and SoCs

ID 813754
Date 8/04/2025
Public
Document Table of Contents

B.1. PIPE Mode Interfaces

The PIPE mode TX and RX interface signals are described in the following tables.
Table 130.  TX PIPE Interfacen= [Lane number]
Signal Direction Description
o_txpipe<n>_asyncpowerchangeack Output Acknowledgement of asynchronous i_rxpipe<n>_phystatus feedback for powerdown state change complete. Signal remains asserted until i_rxpipe<n>_phystatus is de-asserted.
o_txpipe<n>_blockaligncontrol Output

When asserted, enables EIEOS detection in the PHY. EIEOS detection is one of the mechanisms used to control the block aligner in the PHY. This signal is used at the 8.0 GT/s signaling rate.

o_txpipe<n>_cfg_hw_auto_sp_dis Output Autonomous speed disable. Used in downstream ports only.
o_txpipe<n>_dirchange Output
Indicates the PHY to perform Figure Of Merit or Direction Change evaluation.
  • 0: when o_txpipe<n>_rxeqeval = 1, the PHY performs figure of merit
  • 1: when o_txpipe<n>_rxeqeval = 1, the PHY performs direction change
o_txpipe<n>_ebuf_mode Output
Selects elastic buffer mode:
  • 0: Nominal half full
  • 1: Nominal empty
o_txpipe<n>_encodedecodebypass Output When asserted, indicates the PHY to bypass encode and decode operations.
o_txpipe<n>_fs[5:0] Output Provides the FS value advertised by the link partner.
o_txpipe<n>_getlocalpresetcoefficients Output

This field is used to request a preset to coefficient mapping for the preset on o_txpipe<n>_localpresetindex to coefficients on i_rxpipe<n>_localtxpresetcoefficients.

o_txpipe<n>_invalidrequest Output When asserted, indicates that the Link Evaluation feedback requested a link partner TX EQ setting that was out of range.
o_txpipe<n>_lf[5:0] Output Provides the LF value advertised by the link partner.
o_txpipe<n>_localpresetindex[4:0] Output
Indicates the index for the local PHY preset coefficients requested by the MAC and is encoded as follows:
  • ‘b00000- 8 GT/s Preset P0
  • ‘b00001- 8 GT/s Preset P1
  • ‘b00010- 8 GT/s Preset P2
  • ‘b00011- 8 GT/s Preset P3
  • ‘b00100- 8 GT/s Preset P4
  • ‘b00101- 8 GT/s Preset P5
  • ‘b00110- 8 GT/s Preset P6
  • ‘b00111- 8 GT/s Preset P7
  • ‘b01000- 8 GT/s Preset P8
  • ‘b01001- 8 GT/s Preset P9
  • ‘b01010- 8 GT/s Preset P10
  • ‘b01011- 16 GT/s Preset P0
  • ‘b01100- 16 GT/s Preset P1
  • ‘b01101- 16 GT/s Preset P2
  • ‘b01110- 16 GT/s Preset P3
  • ‘b01111- 16 GT/s Preset P4
  • ‘b10000- 16 GT/s Preset P5
  • ‘b10001- 16 GT/s Preset P6
  • ‘b10010 - 16 GT/s Preset P7
  • ‘b10011 - 16 GT/s Preset P8
  • ‘b10100 - 16 GT/s Preset P9
  • ‘b10101 - 16 GT/s Preset P10
o_txpipe<n>_lowpin_nt Output
Select for PIPE Interface:
  • 0: Use Legacy Pin Interface.
  • 1: Use Low Pin Count (Message Bus) Interface.
o_txpipe<n>_m2p_bus[7:0] Output MAC to PHY Communication Bus.
o_txpipe<n>_pclk_rate[2:0] Output
Controls the PIPE PCLK rate:
  • 0: 62.5 MHz
  • 1: 125 MHz
  • 2: 250 MHz
  • 3: 500 MHz
  • 4: 1000 MHz
  • 5: 2000 MHz
  • 6: Reserved
  • 7: Reserved
o_txpipe<n>_pclkchangeack Output

Asserted when a PCLK rate change is complete and stable. After this signal is asserted, the PHY responds by asserting i_rxpipe<n>_phystatus for one cycle and de-asserting i_rxpipe<n>_pclkchangeok at the same time. This signal is de-asserted when i_rxpipe<n>_pclkchangeok is sampled low.

o_txpipe<n>_phy_mode_nt[3:0] Output
The PHY supports mode:
  • 0: PCIe* mode
  • 1: USB mode
o_txpipe<n>_powerdown[3:0] Output
Power control bits that drive the PHY power state. Power states are as follows:
  • 0000: P0 (L0): normal
  • 0001: P0s (L0s): low recovery time, power saving.
  • 0010: P1 (L1): longer recovery time, additional power saving.
  • 0011: P2 (L2): lowest power state.
o_txpipe<n>_rate[2:0] Output
Controls the link signaling rate:
  • 000: Gen1 (2.5 GT/s)

    001: Gen2 (5.0 GT/s)

    010: Gen3 (8.0 GT/s)

    011: Gen4 (16GT/s)

    100-111: Reserved

o_txpipe<n>_rxelecidle_disable_a Output Instructs the PHY to disable the receiver Electrical Idle detection logic.
o_txpipe<n>_rxeqclr Output

When asserted, previously stored PCIe* Gen3.0 RX equalization values are cleared from previous EQ routines.

o_txpipe<n>_rxeqeval Output
Start the evaluation of the receive equalizer digital calibration for the PHY. During this time, the recovered data from the PHY is not guaranteed to be accurate.
  • 0: Disables receive equalizer digital calibration
  • 1: Enables receive equalizer digital calibration
o_txpipe<n>_rxeqinprogress Output When asserted, indicates that the link equalization evaluation is in progress.
o_txpipe<n>_rxeqtraining Output

When asserted, instructs the receiver to bypass normal operation to perform equalization training.

o_txpipe<n>_rxpolarity Output
Directs the PHY to perform a polarity inversion on the received data:
  • 0: No polarity inversion
  • 1: Polarity inversion
o_txpipe<n>_rxpresethint[2:0] Output Provides the RX equalization preset hint for the receiver.
o_txpipe<n>_rxstandby Output
Determines if the PHY RX is active when the PHY is in P0 or P0s.
  • 0: Active
  • 1: Standby
o_txpipe<n>_rxtermination Output Reserved.
o_txpipe<n>_srisenable Output
When asserted, directs the PHY to configure itself to support Separate Reference Clock with Independent Spread Spectrum Clocking (SRIS).
  • 0: SRNS (Separate Refclk with No SSC)
  • 1: SRIS (Separate Refclk with Independent SSC)
o_txpipe<n>_txcmnmode_disable_a Output Instructs the PHY to disable the transmitter common mode logic.
o_txpipe<n>_txcompliance Output Sets the running disparity to negative. Used when transmitting compliance pattern.
o_txpipe<n>_txdata[39:0] Output

Parallel data for transmission.

  • Bits 7:0 correspond to the first symbol of the lane.
  • Bits 15:8 correspond to the second symbol of the lane.
  • Bits 39:16 are unused.
o_txpipe<n>_txdatak[3:0] Output
Control (K character) indicator bits for transmitted data:
  • Bit 0 corresponds to the first symbol of the lane.
  • Bit 1 corresponds to the second symbol of lane the lane.
  • Bit 3:2 are unused.
  • 0: Indicates a data byte
  • 1: Indicates a control byte
o_txpipe<n>_txdatavalid Output Instructs the PHY to ignore the data interface for one or two clock cycles. A value of one indicates that the data is valid and you can use the data.
o_txpipe<n>_txdeemph[17:0] Output

Conveys the transmitter equalization coefficients.

When the rate is 2.5 or 5.0 GT/s:
  • 0: -6 dB de-emphasis
  • 1: -3.5 dB de-emphasis
  • 2: No de-emphasis
  • 3: Reserved
When the rate is 8.0 GT/s, 16 GT/s:
  • [5:0]: C-1 (Pre-cursor)
  • [11:6]: C0 (Cursor)
  • [17:12]: C+1 (Post-cursor).
o_txpipe<n>_txdtctrx_lb Output

Requests the PHY to begin a receiver detection operation or to begin a PHY level loopback, depending on the power state.

o_txpipe<n>_txelecidle Output Forces transmit output to Electrical Idle when asserted except in loopback. o_txpipe<n>_txdatavalid must be asserted when this signal transitions to either asserted or de-asserted.
o_txpipe<n>_txmargin[2:0] Output
Selects transmitter voltage levels:
  • 000: Normal operating range
  • 001: 800-1200 mV for Full swing* or 400-700mV for Half swing
  • 010: Required and vendor defined
  • 011: Required and vendor defined
  • 100: Required and 200-400 mV for Full swing* or 100-200 mV for Half swing* if the last value or vendor defined
  • 101: Optional and 200-400 mV for Full swing* or 100-200 mV for Half swing* if the last value or vendor defined or Reserved if no other values supported
  • 110: Optional and 200-400 mV for Full swing* or 100-200 mV for Half swing* if the last value or vendor defined or Reserved if no other values supported
  • 111: Optional and 200-400 mV for Full swing* or 100-200 mV for Half swing* if the last value or Reserved if no other values supported
o_txpipe<n>_txoneszeros Output Reserved.
o_txpipe<n>_txstartblock Output

Only used at the 8.0 GT/s signaling rate. Notifies the PHY the starting byte for a 128-bit block.

  • 0: Indicates the byte is not a start of a 128-bit block
  • 1: Indicates the byte is a start of a 128-bit block
o_txpipe<n>_txswing Output
Controls the PHY transmitter voltage swing level:
  • 0: Full swing
  • 1: Low swing

This field is not used at the 8.0 GT/s or higher signaling rates.

o_txpipe<n>_txsyncheader[3:0] Output

Only the lower two bits ([1:0]) are utilized. Provides the sync header for the PHY to use in the next 130b block. The PHY reads this value when the o_txpipe<n>_txstartblock signal is asserted.

This signal is only used at the 8.0 GT/s signaling rates.

o_txpipe<n>_width[2:0] Output
Controls the PIPE datapath width.
  • 0: 8 bits
  • 1: 16 bits
  • 2: 32 bits
  • 3: 64 bits
  • 4: Reserved
Table 131.  RX PIPE Interfacen= [Lane number]
Signal Direction Description
i_rxpipe<n>_dirfeedback[5:0] Input
Provides the link equalization evaluation feedback in the direction change format. Feedback is provided for each coefficient:
  • [1:0]: C-1
  • [3:2]: C0
  • [5:4]: C1
The feedback value for each coefficient is encoded as follows:
  • 00: No change

    01: Increment by 1

  • 10: Decrement by 1
  • 11: Reserved

The feedback C0 is ignored by the PCIe* controller. This signal is only used at the 8.0 GT/s signaling rate.

i_rxpipe<n>_linkevaluationfeedbackfiguremerit[7:0] Input

Provides the PHY link equalization evaluation feedback in the Figure of Merit (FOM) format. The value is encoded as an integer from 0 to 255. An encoding of 0 is the worst, and an encoding of 255 is the best.

This signal is only used at the 8.0 GT/s signaling rate.

i_rxpipe<n>_localfs[5:0] Input Reflects the local FS value advertised by the local PHY.
i_rxpipe<n>_locallf[5:0] Input Reflects the local LF value advertised by the local PHY.
i_rxpipe<n>_localtxcoefficientsvalid Input

This signal must be held high for one PLCK cycle to indicate that the i_rxpipe<n>_localtxpresetcoefficients[17:0] bus correctly represents the coefficients values for the preset on the o_txpipe<n>_localpresetindex[4:0] bus.

i_rxpipe<n>_localtxpresetcoefficients[17:0] Input
These are the coefficients for the preset on the o_txpipe<n>_localpresetindex after a o_txpipe<n>_getlocalpresetcoefficients request.
  • [5:0]: C-1
  • [11:6]: C0
  • [17:12]: C+1
i_rxpipe<n>_p2m_bus[7:0] Input PHY to MAC Communication Bus.
i_rxpipe<n>_pclkchangeok Input The PHY asserts this signal when it is ready for PCLK change in response to MAC changing PCLK rate.
i_rxpipe<n>_phystatus Input Communicates completion of PHY functions, including power management transitions, receiver detection, speed change, and EQ evaluation at Gen3 rate.
i_rxpipe<n>_rxdata[39:0] Input
Parallel received data.
  • Bits 7:0 correspond to the first symbol of the lane.
  • Bits 15:8 correspond to the second symbol of the lane.
  • Bits 39:16 are unused.
i_rxpipe<n>_rxdatak[3:0] Input
Control (K character) indicator bits for received data:
  • Bit 0 corresponds to the first symbol of the lane.
  • Bit 1 corresponds to the second symbol of the lane.
  • Bits 3:2 are unused.

A value of 0 indicates a data byte. A value of 1 indicates a control byte.

i_rxpipe<n>_rxdatavalid Input

Allows the PHY to instruct the MAC to ignore the data interface for one clock cycle. A value of one indicates that the MAC uses the data, a value of zero indicates that the MAC does not use the data.

i_rxpipe<n>_rxelecidlea Input
Indicates receiver detection of an Electrical Idle for the lane.
  • 0: Receive electrical idle is not detected
  • 1: Receive electrical idle is detected

If de-asserted in P2, indicates detection of a beacon.

i_rxpipe<n>_rxstandbystatus Input
Indicates the PHY receiver RxStandbyStatus:
  • 0: Active
  • 1: Standby
i_rxpipe<n>_rxstartblock Input
Only used at the 8.0 GT/s signaling rate. Allows the PHY to indicate the starting byte for a 128-bit block. The starting byte for a 128-bit block always start with Bit 0 of the data interface.
  • 0: Indicates the byte is not a start of a 128-bit block
  • 1: Indicates the byte is a start of a 128-bit block
i_rxpipe<n>_rxstatus[2:0] Input
Encodes receiver status and error codes for the received data stream when receiving data.
  • 000: Received data OK
  • 001: A SKP set has been added
  • 010: A SKP set has been removed
  • 011: Receiver detected
  • 100: Decode error
  • 101: Elastic buffer overflow
  • 110: Elastic buffer underflow
  • 111: Receive disparity error. Not used for Gen3 operation
i_rxpipe<n>_rxsyncheader[3:0] Input

Provides the sync header for the MAC to use with the next 128b block. The MAC reads this value when the i_rxpipe<n>_rxstartblock signal is asserted.

This signal is only used at the 8.0 GT/s signaling rates.

i_rxpipe<n>_rxvalid Input This signal indicates symbol lock and valid data on i_rxpipe<n>_rxdata and i_rxpipe<n>_rxdatak.