Intel® Arria® 10收发器PHY用户指南

ID 683617
日期 11/06/2017
Public

本文档可提供新的版本。客户应 单击此处 前往查看最新版本。

文档目录

2.7.8. PIPE的Native PHY IP端口

图 106. PIPE的Native PHY IP的信号和端口


表 188.   PIPE模式下的Arria 10 Transceiver Native PHY的端口这一部分包含此协议的建议参数值。请参考使用Arria 10收发器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 500 MHz时钟输出,提供给PHY - MAC接口。
来自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] 42 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

强制发送输出置于电路空闲状态。关于时序图,请参考 Intel® 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开始接收检测操作。上电后,置位此信号将开始一个环回操作。关于时序图,请参考 Intel® PHY Interface for PCI Express (PIPE)的section 6.4。

高电平有效

pipe_tx_compliance[(4N-1):0] In

tx_coreclkin

置位一个周期将运行差异设成负值。当发送兼容码型(compliance pattern)时使用。关于详细信息,请参考 Intel® 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去加重的预置映射来了解TX去加重映射的预置。在Gen3 设计中,Gen2数据速率的TX去加重总是-6 dB。Gen1数据速率的TX去加重总是-3.5 dB。

关于详细信息,请参考 Intel® PHY Interface for PCI Express (PIPE) Architecture的section 6.6。

注: Intel® 建议发送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比特。关于详细信息,请参考Bit Mappings When the Simplified Interface is Disabled

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 时钟生成缓存的信号,表明速率切换请求。仅对绑定模式使用此信号。

对于非绑定应用,此信号从内部连接到本地CGB。

高电平有效。请参考表 189获得详细信息。

表 189.  简化接口禁用时的比特映射这一部分包含此协议的建议参数值。请参考使用Arria 10收发器Native PHY IP内核了解参数值的完整范围。
信号名称 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]
关于详细信息,请参考 Intel® PHY Interface for PCI Express (PIPE) Architecture的section 6.6。
42 N是PCIe*通道的数量。