L-Tile和H-Tile收发器PHY用户指南

ID 683621
日期 3/29/2021
Public
文档目录

2.5.1.2.2. Gen3功能

以下小节描述 Intel® Stratix® 10收发器模块对PIPE Gen3功能的支持。

PCS支持PIPE 3.0基本规范。基于PIPE 3.0的32-bit宽接口控制PHY功能,例如:电气空闲的传输,接收器检测和速度协商和控制。

自动速度协商(ASN)

PIPE Gen3模式使能Gen1 (2.5 Gbps)、Gen2 (5.0 Gbps)和Gen3 (8.0 Gbps)信号数据速率之间的ASN。该信号速率的切换是通过频率调节以及使用固定的32-bit宽基于PIPE 3.0的接口的PMA和PCS模块的配置来完成的。

PMA切换Gen1、Gen2和Gen3数据速率之间的时钟。对于non-bonded x1通道,ASN模型在该通道中促进了速度协商。对于bonded x2、x4、x8和x16通道,ASN模型选择主通道来控制速率的切换。该主通道分配速度变化请求到其它的PMA和PCS通道。

当Hard IP或者FPGA架构请求速率变更时,启动PCIe Gen3速度协商过程。ASN然后将PCS处于复位状态,动态地关闭时钟路径以脱离当前有效的状态PCS(Standard PCS或者Gen3 PCS)。如果需要切换到Gen3,或者从Gen3中进行切换,那么ASN自动选择正确的PCS时钟路径以及多路复用器中数据通路选择。ASN模块过后发送一个请求给PMA模块进入到速率切换状态,并且等待确认速率切换完成信号。当PMA完成速率切换并且发送确认到ASN模块后,ASN使能时钟路径来建立新的PCS模块,并释放PCS复位。ASN模块置位pipe_phy_status信号表明成功地完成此过程。

注: 在Native PHY IP core - PIPE配置中,您必须设置pipe_rate[1:0]来启动收发器数据速率切换序列。

速率切换

此部分概述如何在PIPE Gen1 (2.5 Gbps)、Gen2 (5.0 Gbps)和Gen3 (8.0 Gbps)模式之间自动切换速率。
Intel® Stratix® 10器件中,有一个与Standard PCS和Gen3 PCS通用的ASN模块,位于PMA PCS接口,用于处理所有的PIPE速度变化。当请求速率切换时,PIPE接口时钟速率被调整以匹配数据吞吐量。
PIPE Gen3 32 bit PCS时钟速率
PCIe Gen3 Capability Mode Enabled Gen1 Gen2 Gen3
通道数据速率 2.5 Gbps 5 Gbps 8 Gbps
PCS时钟频率 250 MHz 500 MHz 250 MHz
FPGA架构IP时钟频率 62.5 MHz 125 MHz 250 MHz
PIPE接口宽度 32-bit 32-bit 32-bit
pipe_rate [1:0] 2'b00 2'b01 2'b10
速率切换变化下面的模块级图显示ASN与Standard PCS和Gen3 PCS之间的高级连接。

Gen1、Gen2和Gen3之间的速度变化顺序如下所示:

  1. 在FPGA架构中实现的PHY-MAC层通过pipe_rate[1:0]请求速率变化。
  2. ASN模块等待TX FIFO刷新(flush out)数据。然后,ASN模块置位PCS复位。
  3. ASN对Standard PCS和Gen3 PCS置位时钟关闭信号以动态关闭时钟。
  4. 当速率切换到 Gen3 速度或者从 Gen3 速度切换到其他速度时,ASN 会对时钟和数据多路复用器选择信号进行置位。
  5. ASN使用pipe_sw[1:0]输出信号向PMA发送速率变化请求。
  6. ASN持续监控来自PMA的pipe_sw_done[1:0]输入信号。
  7. 在ASN接收到pipe_sw_done[1:0]信号之后,它会将时钟关闭信号置低以释放时钟。
  8. ASN将PCS复位置低。
  9. ASN向PHY-MAC接口发送速度切换完成信号。这是通过向PHY-MAC接口发送pipe_phy_status信号来完成的。
速度变化顺序

Gen3发送器电路空闲生成(Gen3 Transmitter Electrical Idle Generation)

在基于PIPE 3.0的接口中,您可以在低功耗状态期间将发送器置于电气空闲状态。在发送器进入电气空闲之前,您必须发送电气空闲有序集(Electrical Idle Ordered Set),它由值为0x66的16个符号组成。在电气空闲期间,发送器差分和共模电压电平是基于PCIe Base Specification 3.0的 。

Gen3时钟补偿

当使用Gen3 PIPE收发器配置规则时,从Native PHY IP core使能此模式。

为了满足PCIe协议要求以及对发送和匹配设备之间高达±300 ppm的时钟频率差异进行补偿,接收器通道具有一个速率匹配FIFO。该速率匹配FIFO添加或删除四个SKP字符(32 bits)来防止FIFO变空或变满。如果速率匹配FIFO几乎已满,那么FIFO会删除四个SKP字符。如果速率匹配FIFO几乎为空,那么FIFO会在下一个SKP有序集的开头插入一个SKP字符。pipe_rx_status [2:0]信号表明FIFO已满,已空,插入和删除。
注: 关于波形,请参考Gen1 and Gen2 Clock Compensation

Gen3功耗状态管理

为实现功耗最小化,PCIe base specification定义了PHY层器件的低功耗状态。Gen3 PCS不实现这些节能措施,除了将发送驱动器置于低功耗状态下的电路空闲。在P2低功耗状态中,收发器没有禁用PIPE模块时钟。

图 99. P1到P0的转换下图显示了从P1到P0的转换,由pipe_phy_status提供的completion。

CDR控制

CDR控制模块执行以下功能:
  • 控制PMA CDR以实现比特和符号对齐
  • 控制PMA CDR以在分配的时间内进行偏斜去除
  • 生成其他PCS模块的状态信号
PCIe基本规范要求接收器L0电源状态退出时间对于Gen1信号速率最大为4 ms,对于Gen 2信号速率最大为2 ms,而对于Gen3信号速率最大为4 ms。收发器具有一个改进的CDR控制模块以适应快速锁定时间。在进入或退出Gen3速度时,CDR需要快速锁定时间才能重新锁定对新的乘法器/分频器设置。

齿轮箱(Gearbox)

根据PIPE 3.0规范,对于在Gen3 PCS上移动的每128比特,PHY必须发送130比特的数据。 Intel使用pipe_tx_data_valid信号(每16个模块的数据)发送累积的32比特数据。

130-bit模块按如下方式在32-bit数据通路中接收:34 (32+2-bit sync header),32,32,32。在第一个周期中,变速器将34-bit输入数据转换为32-bit数据。在接下来的三个时钟周期中,变速器将合并来自相邻周期的比特。为了使变速器正常工作,必须在数据中为每16个移位提供一个间隙,因为每个移位都包含两个额外比特,用来将初始的34比特转换为变速器中的32比特。在16个移位之后,变速器又额外发送出去了一些32比特数据。这需要输入数据流中有间隙,这通过在每16个数据模块之后驱低pipe_tx_data_valid一个周期来实现。

图 100. Gen3数据传输