用于 PCIe* 解决方案的 Intel® Stratix® 10 Avalon® -ST和Single Root I/O Virtualization (SR-IOV)接口用户指南

ID 683111
日期 12/06/2017
Public
文档目录

A.3. 物理层(Physical Layer)

Physical Layer是PCI Express协议栈的最低级别。它是最接近串行链路的一层。它对链路上的数据包进行编码和传输,并对接收到的数据包进行接受并解码。Physical Layer通过高速SERDES接口连接到链路,对于Gen1实现,高速SERDES接口运行在2.5 Gbps,对于Gen2实现,高速SERDES接口运行在2.5或5.0 Gbps,对于Gen3实现,高速SERDES接口运行在2.5,5.0或8.0 Gbps。

Physical Layer负责以下操作:

  • 培训链路
  • 2.5 Gbps (Gen1), 5.0 Gbps (Gen2)的加扰/解扰和8B/10B编码/解码,或者每通道8.0 Gbps (Gen3)的128b/130b编码/解码
  • 串化数据和解串化数据
  • 均衡 (Gen3)
  • 操作PIPE 3.0接口
  • 实现自动速度协商(Gen2和Gen3)
  • 传输和解码培训序列
  • 提供硬件自主速度控制
  • 实现自动通道反转

Physical Layer被PIPE Interface Specification细分为两层(上图中水平括号中):

  • PHYMAC—MAC层包括LTSSM和加扰/解扰,字节重新排序和多通道去偏移功能(multilane deskew function)。
  • PHY Layer—PHY层包括Gen1和Gen2的8B/10B编码和解码功能。它包括Gen3的128b/130b编码和解码功能。PHY也包括弹性缓冲和序列化/解串行功能。
Physical Layer集成了数字和模拟单元。Intel设计了PIPE接口以将PHYMAC与PHY分开。 Intel® Stratix® 10 Hard IP for PCI Express符合PIPE接口规范。
注: 内部PIPE接口对于仿真是可见的。它不适用于使用诸如Signal Tap的逻辑分析仪的硬件调试。如果将Signal Tap连接到此接口,那么设计将会编译失败。
图 83. 物理层体系结构(Physical Layer Architecture)

PHYMAC模块由四个主要子模块组成:

  • MAC Lane—RX和TX路径都使用此模块。
    • 在RX一侧,此模块解码Physical Layer数据包并向LTSSM报告接收到的TS1/TS2有序集的类型和数量。
    • 在TX一侧,此模块对DLL和Ordered Set和SKP子模块(LTSTX)的数据进行多路复用。它还添加通道特定信息,包括通道数量以及当LTSSM在初始化过程中禁用通道时的force PAD值。
  • LTSSM—此模块实现LTSSM和跟踪每个通道上的TX和RX培训序列的逻辑。
  • 对于传输,它通过置位全局和每通道控制比特来生成特定的Physical Layer数据包,从而与每个MAC通道子模块和LTSTX子模块进行交互。
    • 在接收路径上,它接收每个MAC通道子块模报告的Physical Layer数据包。它还可以使能多通道去偏斜模块(multilane deskew block)。此模块将Physical Layer状态报告给更高层。
    • LTSTX(Ordered Set和SKP Generation) - 该子模块生成Physical Layer数据包。它接收来自LTSSM模块的控制信号并为每个通道生成Physical Layer数据包。它为相应的TS1/TS2域中的链路或通道的所有通道和PAD符号生成相同的Physical Layer Packet。此模块还通过置位预定义的PIPE信号并等待结果来处理PCS子层的接收器检测操作。它还会在每个预定义的时隙生成一个SKP Ordered Set,并与TX对齐模块交互以防止SKP Ordered Set插入到数据包中。
    • 偏斜校正(Deskew)—该子模块执行多通道偏斜校正功能和初始化通道与数据通路之间的RX对齐功能。多通道偏移校正为每个通道实现一个eight-word FIFO缓冲区来存储符号。每个符号包含八个数据位,一个奇偶校验位和一个控制位。 FIFO丢弃FTS,COM和SKP符号,并用D0.0数据替换PAD和IDL。当所有8个FIFO都包含数据时,才能读取。当多通道偏斜校正模块首先使能时,每个FIFO在检测到第一个COM后开始写入。如果所有通道在7个时钟周期后都未检测到COM符号,那么所有通道会被复位,然重新开始重同步进程 ,否则RX对齐功能会重新创建一个发送到DLL的64-bit数据字。