188.8.131.52.2. Gen3 Features
The following subsections describes the Intel® Stratix® 10 transceiver block support for PIPE Gen3 features.
The PCS supports the PIPE 3.0 base specification. The 32-bit wide PIPE 3.0-based interface controls PHY functions such as transmission of electrical idle, receiver detection, and speed negotiation and control.
Auto-Speed Negotiation (ASN)
PIPE Gen3 mode enables ASN between Gen1 (2.5 Gbps), Gen2 (5.0 Gbps), and Gen3 (8.0 Gbps) signaling datarates. The signaling rate switch is accomplished through frequency scaling and configuration of the PMA and PCS blocks using a fixed 32-bit wide PIPE 3.0-based interface.
The PMA switches clocks between Gen1, Gen2, and Gen3 datarates. For a non bonded x1 channel, an ASN module facilitates speed negotiation in that channel. For bonded x2, x4, x8 and x16 channels, the ASN module selects the master channel to control the rate switch. The master channel distributes the speed change request to the other PMA and PCS channels.
The PCIe Gen3 speed negotiation process is initiated when Hard IP or the FPGA fabric requests a rate change. The ASN then places the PCS in reset, and dynamically shuts down the clock paths to disengage the current active state PCS (either Standard PCS or Gen3 PCS). If a switch to or from Gen3 is requested, the ASN automatically selects the correct PCS clock paths and datapath selection in the multiplexers. The ASN block then sends a request to the PMA block to switch the datarate, and waits for a rate change done signal for confirmation. When the PMA completes the rate change and sends confirmation to the ASN block, the ASN enables the clock paths to engage the new PCS block and releases the PCS reset. Assertion of the pipe_phy_status signal by the ASN block indicates the successful completion of this process.
|PCIe Gen3 Capability Mode Enabled||Gen1||Gen2||Gen3|
|Lane datarate||2.5 Gbps||5 Gbps||8 Gbps|
|PCS clock frequency||250 MHz||500 MHz||250 MHz|
|FPGA fabric IP clock frequency||62.5 MHz||125 MHz||250 MHz|
|PIPE interface width||32-bit||32-bit||32-bit|
The sequence of speed change between Gen1, Gen2, and Gen3 occurs as follows:
- The PHY-MAC layer implemented in FPGA fabric requests a rate change through pipe_rate[1:0].
- The ASN block waits for the TX FIFO to flush out data. Then the ASN block asserts the PCS reset.
- The ASN asserts the clock shutdown signal to the Standard PCS and Gen3 PCS to dynamically shut down the clock.
- When the rate changes to or from the Gen3 speed, the ASN asserts the clock and data multiplexer selection signals.
- The ASN uses a pipe_sw[1:0] output signal to send a rate change request to the PMA.
- The ASN continuously monitors the pipe_sw_done[1:0] input signal from the PMA.
- After the ASN receives the pipe_sw_done[1:0] signal, it deasserts the clock shut down signals to release the clock.
- The ASN deasserts the PCS reset.
- The ASN sends the speed change completion to the PHY-MAC interface. This is done through the pipe_phy_status signal to PHY-MAC interface.
Gen3 Transmitter Electrical Idle Generation
In the PIPE 3.0-based interface, you can place the transmitter in electrical idle during low power states. Before the transmitter enters electrical idle, you must send the Electrical Idle Ordered Set, consisting of 16 symbols with value 0x66. During electrical idle, the transmitter differential and common mode voltage levels are based on the PCIe Base Specification 3.0.
Gen3 Clock Compensation
Enable this mode from the Native PHY IP core when using the Gen3 PIPE transceiver configuration rule.
Gen3 Power State Management
The PCIe base specification defines low power states for PHY layer devices to minimize power consumption. The Gen3 PCS does not implement these power saving measures, except when placing the transmitter driver in electrical idle in the low power state. In the P2 low power state, the transceivers do not disable the PIPE block clock.
- Controls the PMA CDR to obtain bit and symbol alignment
- Controls the PMA CDR to deskew within the allocated time
- Generates status signals for other PCS blocks
As per the PIPE 3.0 specification, for every 128 bits that are moved across the Gen3 PCS, the PHY must transmit 130 bits of data. Intel uses the pipe_tx_data_valid signal every 16 blocks of data to transmit the built-up backlog of 32 bits of data.
The 130-bit block is received as follows in the 32-bit data path: 34 (32+2-bit sync header), 32, 32, 32. During the first cycle, the gearbox converts the 34-bit input data to 32-bit data. During the next three clock cycles, the gearbox merges bits from adjacent cycles. For the gearbox to work correctly, a gap must be provided in the data for every 16 shifts because each shift contains two extra bits for converting the initial 34 bits to 32 bits in the gearbox. After 16 shifts, the gearbox has an extra 32 bits of data that are transmitted out. This requires a gap in the input data stream, which is achieved by driving pipe_tx_data_valid low for one cycle after every 16 blocks of data.