仅对英特尔可见 — GUID: nik1398706939440
Ixiasoft
仅对英特尔可见 — GUID: nik1398706939440
Ixiasoft
2.7.8. PIPE的Native PHY IP端口
端口 | 方向 | 时钟域 | 说明 |
---|---|---|---|
时钟 | |||
rx_cdr_refclk0 | In | N/A | PHY的TX PLL和RX CDR的100/125 MHz输入参考时钟源。 |
tx_serial_clk0/tx_serial_clk1 | In | N/A | 由PLL生成的高速串行时钟。 注意:对于Gen3 x1,仅使用tx_serial_clk1。 |
pipe_hclk_in[0] | In | N/A | 用于ASN模块的500 MHz时钟。 此时钟由PLL生成,配置为Gen1/Gen2。 注意:对于Gen3设计,使用用于Gen1/Gen2的fPLL。 |
pipe_hclk_out[0] | Out | N/A | 提供给PHY - MAC接口的500 MHz时钟输出。当您将tx_clkout连接到MAC时钟输入时,pipe_hclk_out [0]可以保持悬空。 |
来自PHY - MAC层的PIPE输入 | |||
tx_parallel_data[31:0], [15:0], or [7:0] | In | tx_coreclkin |
从MAC驱动的TX并行数据。对于Gen1,这可以是8或16比特。对于Gen2,这是16比特。对于Gen3,这是32比特。 注意:unused_tx_parallel_data应该连接到'0'。 高电平有效(Active High)。请参考简化接口禁用时的比特映射表来了解其他信息。 |
tx_datak[3:0], [1:0], or [0] | In | tx_coreclkin |
已发送数据的数据和控制指示器。 对于Gen1或Gen2,为0时,表明 tx_parallel_data是数据,为1时,表明 tx_parallel_data是控制。 对于Gen3,bit[0]对应于tx_parallel_data[7:0], bit[1]对应于tx_parallel_data[15:8],以此类推。 高电平有效(Active High)。请参考简化接口禁用时的比特映射表了解其他信息。 |
pipe_tx_sync_hdr[(2N-1):0] 44 | In | tx_coreclkin |
对于Gen3,指示发送的130-bit模块是Data Block还是Control Ordered Set Block。 下面的代码定义为: 2'b10: Data block 2'b01: Control Ordered Set Block 当pipe_tx_blk_start = 1b'1时读取此值。 请参考 PCI Express* Base Specification, Rev. 3.0中的Lane Level Encoding来了解使用128b/130b编码和解码的数据发送和接收。 不用于Gen1和Gen2数据速率。 高电平有效 |
pipe_tx_blk_start[(N-1):0] | In | tx_coreclkin |
对于Gen3,对128-bit模块数据中的TX数据指定起始模块字节位置。当PCS和PHY-MAC(FPGA Core)之间的接口是32比特时使用。 不用于Gen1和Gen2数据速率。 高电平有效 |
pipe_tx_elecidle[(4N-1):0] | In | Asynchronous |
强制发送输出置于电路空闲状态。关于时序图,请参考 英特尔 PHY Interface for PCI Express (PIPE)。 Gen1 - 信号宽度为1 bit/lane。 Gen2 - 信号宽度为2 bits/lane。例如,如果与PIPE Gen2x4连接的MAC有1 bit/lane,那么您能够使用以下映射来连接到PIPE:{pipe_tx_elecidle[7:0] = {{2{tx_elecidle_ch3}},{2{tx_elecidle_ch2}},{2{tx_elecidle_ch1}},{2{tx_elecidle_ch0}}},其中tx_elecidle_*是MAC的输出信号。 Gen3 - 信号宽度为4 bits/lane。例如,如果与PIPE Gen3x4连接的MAC有1 bit/lane,那么您能够使用以下映射来连接到PIPE:{pipe_tx_elecidle[15:0] = {{4{tx_elecidle_ch3}},{4{tx_elecidle_ch2}},{4{tx_elecidle_ch1}},{4{tx_elecidle_ch0}}},其中tx_elecidle_*是MAC的输出信号。 高电平有效 |
pipe_tx_detectrx_loopback [(N-1):0] | In | tx_coreclkin |
指示PHY开始接收检测操作。上电后,置位此信号将开始一个环回操作。关于时序图,请参考 英特尔 PHY Interface for PCI Express (PIPE)的section 6.4。 高电平有效 |
pipe_tx_compliance[(4N-1):0] | In | tx_coreclkin |
置位一个周期将运行差异设成负值。当发送兼容码型(compliance pattern)时使用。关于详细信息,请参考 英特尔 PHY Interface for PCI Express (PIPE) Architecture的section 6.11。 Gen1 - 信号宽度为1 bit/lane。 Gen2 - 信号宽度为2 bits/lane。 例如,如果与PIPE Gen2x4连接的MAC有1 bit/lane,那么您能够使用以下映射来连接到PIPE:{pipe_tx_compliance[7:0] = {{2{tx_compliance_ch3}},{2{tx_compliance _ch2}},{2{tx_compliance_ch1}},{2{tx_compliance _ch0}}}。其中tx_compliance_*是MAC的输出信号。 Gen3 - 信号宽度为4 bits/lane。 例如,如果与PIPE Gen3x4连接的MAC有1 bit/lane,那么您能够使用以下映射来连接到PIPE:{pipe_tx_compliance[15:0]= {{4{tx_ compliance _ch3}},{4{tx_ compliance _ch2}},{4{tx_ compliance _ch1}},{4{tx_ compliance _ch0}}}。其中tx_ compliance _*是MAC的输出信号。 高电平有效 |
pipe_rx_polarity[(N-1):0] | In | Asynchronous |
1'b1,指示PHY层反转接收数据的极性。 高电平有效 |
pipe_powerdown[(2N-1):0] | In | tx_coreclkin |
要求PHY将其电源状态更改成指定状态。电源状态编码如下: 2'b00: P0 - 正常操作 2'b01: P0s - 低恢复时间,功耗节省状态 2'b10: P1 -更长恢复时间,更低功耗状态 2'b11: P2 - 最低功耗状态 |
pipe_tx_margin[(3N-1):0] | In | tx_coreclkin |
发送VOD裕量选择。PHY-MAC根据Link Control 2 Register的值来设置此信号的值。下面编码定义为: 3'b000: 正常工作范围 3'b001: Full swing: 800 - 1200 mV; Half swing: 400 - 700 mV. 3'b010:-3'b011: 保留 3'b100-3'b111: Full swing: 200 - 400mV; Half swing: 100 - 200 mV 其他保留。 |
pipe_tx_swing[(N-1):0] | In | tx_coreclkin |
表明收发器使用Full swing还是Half swing电压,如pipe_tx_margin所定义。 1'b0-Full swing 1'b1-Half swing |
pipe_tx_deemph[(N-1):0] | In | Asynchronous |
发送去加重选择。在PCI Express Gen2 (5 Gbps)模式中它选择发送器去加重: 1'b0: –6 dB 1'b1: –3.5 dB |
pipe_g3_tx_deemph[(18N-1):0] | In | Asynchronous |
pipe_g3_tx_deemph端口用于在均衡期间选择链路搭档发送器去加重。18比特指定如下系数: [5:0]: C-1 [11:6]: C0 [17:12]: C+1 请参考到TX去加重的预置映射(Preset Mappings to TX De-emphasis)来了解TX去加重映射的预置。在Gen3 设计中,Gen2数据速率的TX去加重总是-6 dB。Gen1数据速率的TX去加重总是-3.5 dB。 关于详细信息,请参考 英特尔 PHY Interface for PCI Express (PIPE) Architecture的section 6.6。
注: 英特尔建议发送Preset P8系数,以使 Arria® 10 接收器能够成功地恢复数据。
|
pipe_g3_rxpresethint[(3N-1):0] | In | Asynchronous |
用于在Phase2 (EP) /Phase 3 (RP)触发CTLE adaptation,以实现小于10-12的接收器 Bit Error Rate (BER)。 Gen1/Gen2速度上的Gen3设计:应该设置成3’b000。 Gen3速度上的Gen3设计:请参考“PHY IP Core for PCIe (PIPE) Link Equalization for Gen3 Data Rate”部分来了解何时设置/复位此端口。 |
pipe_rx_eidleinfersel[(3N-1):0] | In | Asynchronous |
置位时,电路空闲状态被映射,而不是使用模拟电路进行识别以检测链路另一端上的器件。下面编码定义为: 3'b0xx: 在当前LTSSM状态中不需要Electrical Idle Inference 3'b100: 在128 ms内缺少COM/SKP OS 3'b101: 对于Gen1或Gen2,在1280 UI间隔内缺少TS1/TS2 OS 3'b110: 对于Gen1,在2000 UI间隔内缺少Electrical Idle Exit,对于Gen2,在16000 UI间隔内缺少Electrical Idle Exit 3'b111: 对于Gen1,在128 ms窗口内缺少Electrical Idle Exit
注: 建议在FPGA架构中实现Receiver Electrical Idle Inference (EII)
|
pipe_rate[1:0] | In | Asynchronous |
下列定义的2-bit编码: 2'b00: Gen1速率(2.5 Gbps) 2'b01: Gen2速率(5.0 Gbps) 2'b10: Gen3速率 (8.0 Gbps) |
pipe_sw_done[1:0] | In | N/A |
来自主时钟生成缓存的信号,表明速率切换已经完成。仅对绑定模式使用此信号。 对于非绑定应用,此信号从内部连接到本地CGB。 |
pipe_tx_data_valid[(N-1):0] | In | tx_coreclkin |
对于Gen3,MAC置低此信号以指示PHY忽略当前时钟周期的 tx_parallel_data。值1'b1表明MAC应该使用数据。值0表明MAC不应该使用数据。 高电平有效 |
PHY - MAC层的PIPE输出 | |||
rx_parallel_data[31:0], [15:0], or [7:0] | Out | rx_coreclkin |
驱动到MAC的RX并行数据。 对于Gen1,这可以是8或16比特。对于Gen2,这只能是16比特。对于Gen3,这是32比特。关于详细信息,请参考简化接口禁用时的比特映射。 |
rx_datak[3:0], [1:0], or [0] | Out | rx_coreclkin |
数据和控制指示器。 对于Gen1或Gen2,为0时,表明rx_parallel_data是数据,为1时,表明 rx_parallel_data是控制。 对于Gen3,Bit[0]对应于rx_parallel_data[7:0], Bit[1]对应于rx_parallel_data[15:8],等等。关于详细信息,请参考表简化接口禁用时的比特映射。 |
pipe_rx_sync_hdr[(2N-1):0] | Out | rx_coreclkin |
对于Gen3,指示发送的130-bit模块是Data还是Control Ordered Set Block。下面的代码定义为: 2'b10: Data block 2'b01: Control Ordered Set Block 当pipe_rx_blk_start = 4'b0001时读取此值。请参考PCI Express Base Specification, Rev. 3.0中的Section 4.2.2.1. Lane Level Encoding来了解使用128b/130b编码和解码的数据发送和接收。 |
pipe_rx_blk_start[(N-1):0] | Out | rx_coreclkin |
对于Gen3,对128-bit 模块数据中的RX数据指定起始模块字节位置。当PCS和PHY-MAC (FPGA Core)之间的接口是32比特时使用。不用于Gen1和Gen2数据速率。 高电平有效 |
pipe_rx_data_valid[(N-1):0] | Out | rx_coreclkin |
对于Gen3,MAC置低此信号以指示PHY忽略当前时钟周期的rx_parallel_data。值1'b1表明MAC应该使用数据。值1'b0表明MAC不应该使用数据。 高电平有效 |
pipe_rx_valid[(N-1):0] | Out | rx_coreclkin |
当RX数据和控制有效时置位。 |
pipe_phy_status[(N-1):0] | Out | rx_coreclkin |
用于与几个PHY请求的完成进行通信的信号。 高电平有效 |
pipe_rx_elecidle[(N-1):0] | Out | Asynchronous |
置位时,接收器已经检测到电路空闲。 高电平有效 |
pipe_rx_status[(3N-1):0] | Out | rx_coreclkin |
信号编码接收状态和接收数据流和接收器检测的错误代码。下面编码定义为: 3'b000 - 接收数据OK 3'b001 - 添加了1 SKP 3'b010 - 删除了1 SKP 3'b011 - 检测到接收器 3'b100 - 8B/10B或者128b/130b解码错误和 (可选的) RX差异错误 3'b101 - 弹性缓冲器上溢 3'b110 - 弹性缓冲器下溢 3'b111 - 接收差异错误,若使用3'b100报告差异错误,则不使用此编码。 |
pipe_sw[1:0] | Out | N/A | 发送到时钟生成缓冲器的信号,指示速率切换请求。此信号仅用于绑定模式(bonding mode)。 对于非绑定应用,此信号从内部连接到本地CGB。 高电平有效(Active High)。请参考Bit Mappings When the Simplified Interface Is Disabled 简化接口禁用时的比特映射来了解更多详细信息。 |
信号名称 | Gen1 (禁用TX字节串化器和RX字节解串器) | Gen1 (X2模式的TX字节串化器和RX字节解串器), Gen2 (X2模式的TX字节串化器和RX字节解串器) | Gen3 |
---|---|---|---|
tx_parallel_data | tx_parallel_data[7:0] | tx_parallel_data[29:22,7:0] | tx_parallel_data[40:33,29:22,18:11,7:0] |
tx_datak | tx_parallel_data[8] | tx_parallel_data[30,8] | tx_parallel_data[41,30,19,8] |
pipe_tx_compliance | tx_parallel_data[9] | tx_parallel_data[31,9] | tx_parallel_data[42,31,20,9] |
pipe_tx_elecidle | tx_parallel_data[10] | tx_parallel_data[32,10] | tx_parallel_data[43,32,21,10] |
pipe_tx_detectrx_loopbacK | tx_parallel_data[46] | tx_parallel_data[46] | tx_parallel_data[46] |
pipe_powerdown | tx_parallel_data[48:47] | tx_parallel_data[48:47] | tx_parallel_data[48:47] |
pipe_tx_margin | tx_parallel_data[51:49] | tx_parallel_data[51:49] | tx_parallel_data[51:49] |
pipe_tx_swing | tx_parallel_data[53] | tx_parallel_data[53] | tx_parallel_data[53] |
rx_parallel_data | rx_parallel_data[7:0] | rx_parallel_data[39:32,7:0] | rx_parallel_data[55:48,39:32,23:16,7:0] |
rx_datak | rx_parallel_data[8] | rx_parallel_data[40,8] | rx_parallel_data[56,40,24,8] |
rx_syncstatus | rx_parallel_data[10] | rx_parallel_data[42,10] | rx_parallel_data[58,42,26,10] |
pipe_phy_status | rx_parallel_data[65] | rx_parallel_data[65] | rx_parallel_data[65] |
pipe_rx_valid | rx_parallel_data[66] | rx_parallel_data[66] | rx_parallel_data[66] |
pipe_rx_status | rx_parallel_data[69:67] | rx_parallel_data[69:67] | rx_parallel_data[69:67] |
pipe_tx_deemph | N/A | tx_parallel_data[52] | N/A |
pipe_tx_sync_hdr | N/A | N/A | tx_parallel_data[55:54] |
pipe_tx_blk_start | N/A | N/A | tx_parallel_data[56] |
pipe_tx_data_valid | N/A | N/A | tx_parallel_data[60] |
pipe_rx_sync_hdr | N/A | N/A | rx_parallel_data[71:70] |
pipe_rx_blk_start | N/A | N/A | rx_parallel_data[72] |
pipe_rx_data_valid | N/A | N/A | rx_parallel_data[76] |