R-Tile Avalon® Streaming Intel® FPGA IP for PCI Express* User Guide

ID 683501
Date 4/10/2024
Public
Document Table of Contents

4.4.5. PIPE Direct Reset Sequence

In PIPE Direct mode, your application logic is responsible for managing most of the PHY reset sequence in the FPGA fabric. The following figure describes the required sequence.

Note:
In case you are using any of the PIPE Direct bundle modes (such as 2x8 or 4x4, refer to Topologies Supported by R-Tile) and there is no link partner connected in the lower 8 lanes, or your Soft IP Controller is only using the lanes 8-15, the following procedure is required for lane 0:
  1. Deassert ln0_pipe_direct_pld_pcs_rst_n_i as described in Step d of the reset sequence shown in PIPE Direct Reset Sequence.
  2. Set ln0_pipe_direct_powerdown_i = 2'b00, until any of the 8-15 lanes has reached Step f of the reset sequence shown in PIPE Direct Reset Sequence.
  3. After this, set ln0_pipe_direct_powerdown_i = 2'b11 as required in Unused Lanes in PIPE Direct Mode.
Figure 45. PIPE Direct Reset Release Sequence
Note: As per the PHY Interface for PCI Express Specification, Version 5.1.1, the TX data valid signal must be asserted whenever TX electrical idle toggles. The PHY will mask off the TX data as long as TX electrical idle is asserted.

Below are the steps required for the reset sequence and the TX/RX data transfer for lane 0 in the R-Tile Avalon Streaming IP when configured in PIPE-D mode. This behavior applies in the same way for other lanes.

1. ninit_done is driven low by the Reset Release IP indicating the FGPA fabric is configured. The Soft IP controller should be in reset until this signal is low.

2. pin_perst_n_o is driven high by the R-Tile Avalon Streaming IP. This signal reflects the PERST# signal at the board level.

3. lnX_pipe_direct_tx_transfer_en_o is driven high by the R-Tile Avalon Streaming IP indicating the EMIB bridge between the R-Tile Avalon Streaming IP and the FPGA fabric is ready.

4. The Soft IP controller drives high the per-lane

lnX_pipe_direct_pld_pcs_rst_n_i signal to signal reset release after the per-lane

lnX_pipe_direct_tx_transfer_en_o signal is asserted.

----

Step (a) : pipe_direct_pld_tx_clk_out_o becomes active as the TX clock output to be used by the Soft IP controller for the TX path.

Step (b) : lnX_pipe_direct_phystatus_o is driven low by the R-Tile Avalon Streaming IP indicating a reset exit.

Step (c) : The Soft IP controller drives lnX_pipe_direct_txdetectrx_i low.

Step (d) : lnX_pipe_direct_phystatus_o is pulsed to indicate receiver detection.

Step (e) : lnX_pipe_direct_rx_status_o is pulsed as well. Both pulses confirm to the Soft IP controller the receiver detection.

Step (f) : The soft IP controller changes lnX_pipe_direct_powerdown_i to P0.

Step (g) : lnX_pipe_direct_phystatus_o is pulsed to acknowledge power down state transition.

Step (h, i, j, k) : The soft IP controller asserts lnX_pipe_direct_txdatavalid0_i and lnX_pipe_direct_txdatavalid1_i. While the lnX_pipe_direct_txdatavalid0_i and lnX_pipe_direct_txdatavalid1_i are asserted, the soft IP controller deasserts lnX_pipe_direct_txelecidle_i. The soft IP controller de-asserts lnX_pipe_direct_txelecidle_i and starts sending valid data on lnX_pipe_direct_txdata while lnX_pipe_direct_txdatavalid0_i and lnX_pipe_direct_txdatavalid1_i are asserted

Step (l) : After TX data is transmitted from the Soft IP controller and once enough RX data has been received from the link partner to recover the clock, the lnX_pipe_direct_cdrlockstatus_o signal is driven high.

Step (m) : The lnX_pipe_direct_cdrlock2data_o signal is driven high indicating the CDR has locked to the data being received. The lnX_pipe_direct_rx_clk_out_o signal becomes active as the RX clock output to be used by the Soft IP controller for the RX data path.

Step (n) : The ln_pipe_direct_reset_status_n_o signal is driven high by the R-Tile Avalon Streaming IP indicating the RX data path is out of reset.

Step (o, p, q) : The Soft IP controller starts sampling data on the lnX_pipe_direct_rxdata_o while qualifying the data with its corresponding lnX_pipe_direct_rxdatavalid0_i and lnX_pipe_direct_rxdatavalid1_i signals.

Application logic needs to wait for the assertion of the corresponding lane's ln_pipe_direct_reset_status_n_o[15:0] to sample the Rx data. Refer to PIPE Direct RX Datapath for additional details.

Figure 46. PIPE Direct Reset Entry Sequence
Note: As per the PHY Interface for PCI Express Specification, Version 5.1.1, the TX data valid signal must be asserted whenever TX electrical idle toggles. The PHY will mask off the TX data as long as TX electrical idle is asserted.
Step (a) : The Soft IP controller initiates reset sequence by transitioning LTSSM State (ex. Into Detect state from hot reset, etc).
  • The soft IP controller drives lnX_pipe_direct_txelecidle_i high while lnX_pipe_direct_txdatavalid0_i and lnX_pipe_direct_txdatavalid1_i are high.
  • The soft IP controller drives lnX_pipe_direct_txdatavalid0_i, lnX_pipe_direct_txdatavalid1_i signals low after asserting lnX_pipe_direct_txelecidle_i.
  • The R-tile Avalon Streaming IP drives lnX_pipe_direct_rxelecidle_o signal high indicating the RX path is in electrical idle.
  • The R-tile Avalon Streaming IP drives lnX_pipe_direct_rxdatavalid0_o, lnX_pipe_direct_rxdatavalid1_o and lnX_pipe_direct_rxdata low after lnX_pipe_direct_rxelecidle_o signal high indicating no valid data is sent on the RX datapath.

Step (b) : The Soft IP controller drives the rate change signal to speed change to Gen1 after entering Detect state.

Step (c) : lnX_pipe_direct_phystatus_o is pulsed to acknowledge rate change to Gen1.

Step (d) : The soft IP controller changes lnX_pipe_direct_powerdown_i to P1 state from P0 state.

Step (e) : lnX_pipe_direct_phystatus_o is pulsed to acknowledge power state transition.

Step (f,g) : The soft IP controller drives lnX_pipe_direct_pld_pcs_rst_n_i low to transition the TX and RX paths into reset (minimum of 100ns).

Step (h) : lnX_pipe_direct_reset_status_n_o is driven low to indicate the R-tile Avalon Streaming IP RX path is in reset.