Visible to Intel only — GUID: fik1486507184116
Ixiasoft
Visible to Intel only — GUID: fik1486507184116
Ixiasoft
2.7.8. Native PHY IP Ports for PIPE
Port | Direction | Clock Domain | Description |
---|---|---|---|
Clocks | |||
rx_cdr_refclk0 | In | N/A | The 100/125 MHz input reference clock source for the PHY's TX PLL and RX CDR. |
tx_serial_clk0 | In | N/A | The high speed serial clock generated by the PLL. |
pipe_hclk_in[0] | In | N/A | The 500 MHz clock used for the Auto-Speed Negotiation (ASN) block. This clock is generated by the PLL, configured for Gen1/Gen2. |
pipe_hclk_out[0] | Out | N/A | The 500 MHz clock output provided to the PHY - MAC interface. |
PIPE Input from PHY - MAC Layer | |||
tx_parallel_data[15:0] or [7:0] | In | tx_coreclkin |
The TX parallel data driven from the MAC. For Gen1 this can be 8 or 16 bits. For Gen2 this is 16 bits. Note: unused_tx_parallel_data should be tied to '0'. Active High. Refer to table Bit Mappings when the Simplified Interface is Disabled for additional details. |
tx_datak[1:0] or [0] | In | tx_coreclkin |
The data and control indicator for the transmitted data. For Gen1 or Gen2, when 0, indicates that tx_parallel_data is data, when 1, indicates that tx_parallel_data is control. Active High. Refer to table Bit Mappings when the Simplified Interface is Disabled for additional details. |
pipe_tx_elecidle[(4N-1):0] | In | Asynchronous |
Forces the transmit output to electrical idle. Refer to the Intel® PHY Interface for PCI Express (PIPE) for timing diagrams. Gen1 - Width of signal is 1 bit/lane. Gen2 - Width of signal is 2 bits/lane. For example, if the MAC connected to PIPE Gen2x4 has 1bit/lane, then you can use the following mapping to connect to PIPE: {pipe_tx_elecidle[7:0] = {{2{tx_elecidle_ch3}},{2{tx_elecidle_ch2}},{2{tx_elecidle_ch1}},{2{tx_elecidle_ch0}}} where tx_elecidle_* is the output signal from MAC. Active High |
pipe_tx_detectrx_loopback [(N-1):0] | In | tx_coreclkin |
Instructs the PHY to start a receive detection operation. After power-up, asserting this signal starts a loopback operation. Refer to section 6.4 of the Intel® PHY Interface for PCI Express (PIPE) for a timing diagram. Active High |
pipe_tx_compliance[(4N-1):0] | In | tx_coreclkin |
Asserted for one cycle to set the running disparity to negative. Used when transmitting the compliance pattern. Refer to section 6.11 of the Intel® PHY Interface for PCI Express (PIPE) Architecture for more information. Gen1 - Width of signal is 1 bit/lane. Gen2 - Width of signal is 2 bits/lane. For example, if the MAC connected to PIPE Gen2x4 has 1bit/lane, then you can use the following mapping to connect to PIPE:{pipe_tx_compliance[7:0] = {{2{tx_compliance_ch3}}, {2{tx_compliance _ch2}},{2{tx_compliance_ch1}}, {2{tx_compliance _ch0}}}. Where tx_compliance_* is the output signal from MAC. Active High |
pipe_rx_polarity[(N-1):0] | In | Asynchronous |
When 1'b1, instructs the PHY layer to invert the polarity on the received data. Active High |
pipe_powerdown[(2N-1):0] | In | tx_coreclkin |
Requests the PHY to change its power state to the specified state. The Power States are encoded as follows: 2'b00: P0 - Normal operation. 2'b01: P0s - Low recovery time, power saving state. 2'b10: P1 - Longer recovery time, lower power state . 2'b11: P2 - Lowest power state. |
pipe_tx_margin[(3N-1):0] | In | tx_coreclkin |
Transmit VOD margin selection. The PHY-MAC sets the value for this signal based on the value from the Link Control 2 Register. The following encodings are defined: 3'b000: Normal operating range 3'b001: Full swing: 800 - 1200 mV; Half swing: 400 - 700 mV. 3'b010:-3'b011: Reserved. 3'b100-3'b111: Full swing: 200 - 400mV; Half swing: 100 - 200 mV else reserved. |
pipe_tx_swing[(N-1):0] | In | tx_coreclkin |
Indicates whether the transceiver is using Full swing or Half swing voltage as defined by the pipe_tx_margin. 1'b0-Full swing. 1'b1-Half swing. |
pipe_tx_deemph[(N-1):0] | In | Asynchronous |
Transmit de-emphasis selection. In PCI Express Gen2 (5 Gbps) mode it selects the transmitter de-emphasis: 1'b0: –6 dB. 1'b1: –3.5 dB. |
pipe_rx_eidleinfersel[(3N-1):0] | In | Asynchronous |
When asserted high, the electrical idle state is inferred instead of being identified using analog circuitry to detect a device at the other end of the link. The following encodings are defined: 3'b0xx: Electrical Idle Inference not required in current LTSSM state. 3'b100: Absence of COM/SKP OS in 128 ms. 3'b101: Absence of TS1/TS2 OS in 1280 UI interval for Gen1 or Gen2. 3'b110: Absence of Electrical Idle Exit in 2000 UI interval for Gen1 and 16000 UI interval for Gen2. 3'b111: Absence of Electrical Idle exit in 128 ms window for Gen1.
Note: Recommended to implement Receiver Electrical Idle Inference (EII) in FPGA fabric.
|
pipe_rate[1:0] | In | Asynchronous |
The 2-bit encodings defined in the following list: 2'b00: Gen1 rate (2.5 Gbps) 2'b01: Gen2 rate (5.0 Gbps) |
pipe_sw_done[1:0] | In | N/A |
Signal from the Master clock generation buffer, indicating that the rate switch has completed. Use this signal for bonding mode only (x2 and x4). For non-bonded applications (x1), this signal is internally connected to the local CGB. |
PIPE Output to PHY - MAC Layer | |||
rx_parallel_data[15:0] or [7:0] | Out | rx_coreclkin |
The RX parallel data driven to the MAC. For Gen1 this can be 8 or 16 bits. For Gen2 this is 16 bits only. Refer to Bit Mappings When the Simplified Interface is Disabled for more details. |
rx_datak[1:0] or [0] | Out | rx_coreclkin |
The data and control indicator. For Gen1 or Gen2, when 0, indicates that rx_parallel_data is data, when 1, indicates that rx_parallel_data is control. |
pipe_rx_valid[(N-1):0] | Out | rx_coreclkin |
Asserted when RX data and control are valid. |
pipe_phy_status[(N-1):0] | Out | rx_coreclkin |
Signal used to communicate completion of several PHY requests. Active High |
pipe_rx_elecidle[(N-1):0] | Out | Asynchronous |
When asserted, the receiver has detected an electrical idle. Active High |
pipe_rx_status[(3N-1):0] | Out | rx_coreclkin |
Signal encodes receive status and error codes for the receive data stream and receiver detection. The following encodings are defined: 3'b000 - Receive data OK 3'b001 - 1 SKP added 3'b010 - 1 SKP removed 3'b011 - Receiver detected 3'b100 - Either 8B/10B or 128b/130b decode error and (optionally) RX disparity error 3'b101 - Elastic buffer overflow 3'b110 - Elastic buffer underflow 3'b111 - Receive disparity error, not used if disparity error is reported using 3'b100. |
pipe_sw[1:0] | Out | N/A | Signal to clock generation buffer indicating the rate switch request. Use this signal for bonding mode only (x2 and x4). For non-bonded applications (x1), this signal is internally connected to the local CGB. Active High. Refer to Table 126 Bit Mappings When the Simplified Interface is Disabled for more details. |
Signal Name | Gen1 (TX Byte Serializer and RX Byte Deserializer disabled) | Gen1 (TX Byte Serializer and RX Byte Deserializer in X2 mode), Gen2 (TX Byte Serializer and RX Byte Deserializer in X2 mode) |
---|---|---|
tx_parallel_data | tx_parallel_data[7:0] | tx_parallel_data[29:22,7:0] |
tx_datak | tx_parallel_data[8] | tx_parallel_data[30,8] |
pipe_tx_compliance | tx_parallel_data[9] | tx_parallel_data[31,9] |
pipe_tx_elecidle | tx_parallel_data[10] | tx_parallel_data[32,10] |
pipe_tx_detectrx_loopbacK | tx_parallel_data[46] | tx_parallel_data[46] |
pipe_powerdown | tx_parallel_data[48:47] | tx_parallel_data[48:47] |
pipe_tx_margin | tx_parallel_data[51:49] | tx_parallel_data[51:49] |
pipe_tx_swing | tx_parallel_data[53] | tx_parallel_data[53] |
rx_parallel_data | rx_parallel_data[7:0] | rx_parallel_data[39:32,7:0] |
rx_datak | rx_parallel_data[8] | rx_parallel_data[40,8] |
rx_syncstatus | rx_parallel_data[10] | rx_parallel_data[42,10] |
pipe_phy_status | rx_parallel_data[65] | rx_parallel_data[65] |
pipe_rx_valid | rx_parallel_data[66] | rx_parallel_data[66] |
pipe_rx_status | rx_parallel_data[69:67] | rx_parallel_data[69:67] |
pipe_tx_deemph | N/A | tx_parallel_data[52] |