乐于分享
好东西不私藏

PCIe5.0标准协议规范中文-7. 软件初始化和配置-7.7 某些情况下基本规格要求的PCI和PCIe功能-7.7.5 物理层16.0 GTs扩展能力

PCIe5.0标准协议规范中文-7. 软件初始化和配置-7.7 某些情况下基本规格要求的PCI和PCIe功能-7.7.5 物理层16.0 GTs扩展能力

7.7.5 物理层16.0 GT/s扩展能力

物理层16.0 GT/s扩展能力结构必须在以下情况下实现:

· 与下游端口关联的功能,其中支持的Link Speeds Vector字段表示支持16.0 GT/s的链路速度。 

· 单个功能设备与上游端口关联的功能,其中支持的Link Speeds Vector字段表示支持16.0 GT/s的链路速度。 

· 与上游端口关联的多功能设备的功能0(且仅功能0),其中支持的Link Speeds Vector字段表示支持16.0 GT/s的链路速度。

即使不支持16.0 GT/s的链路速度,也允许在上面列出的任何功能中实现此功能。当不支持16.0 GT/s的链路速度时,除了Capability Header之外的寄存器的行为是未定义的。

图7-79详细描述了物理层16.0 GT/s 扩展能力结构中寄存器字段的分配。

Figure 7-78 Physical Layer 16.0 GT/s Extended Capability

7.7.5.1 物理层16.0 GT/s扩展能力报头(偏移量00h)

Figure 7-79 Physical Layer 16.0 GT/s Extended Capability Header

Table 7-62 Physical Layer 16.0 GT/s Extended Capability Header

Bit Location

寄存器描述

属性

15:0

PCI Express 扩展能力 ID - 该字段是 PCI-SIG 定义的 ID 编号,指示扩展能力的性质和格式。物理层 16.0 GT/s 能力的扩展能力 ID 为 0026h。

RO

19:16

能力版本 - 该字段是 PCI-SIG 定义的版本号,指示存在的能力结构的版本。对于此版本的规范,该字段必须为 1h。

RO

31:20

下一个能力偏移量 - 该字段包含指向下一个 PCI Express 能力结构的偏移量,如果在能力链表中没有其他项目,则为 000h。对于在配置空间中实现的扩展能力,此偏移量相对于 PCI 兼容配置空间的起始位置,因此必须始终是 000h(表示能力链表的终止)或大于 0FFh。

RO

7.7.5.2 16.0 GT/s能力寄存器(偏移量04h)

Figure 7-80 16.0 GT/s Capabilities Register

Table 7-63 16.0 GT/s Capabilities Register

Bit Location

寄存器描述

属性

31:0

RsvdP

RsvdP

7.7.5.3 16.0 GT/s控制寄存器(偏移量08h)

Figure 7-81 16.0 GT/s Control Register

Table 7-64 16.0 GT/s Control Register

Bit Location

寄存器描述

属性

31:0

RsvdP

RsvdP

7.7.5.4 16.0 GT/s状态寄存器(偏移量0Ch)

Figure 7-82 16.0 GT/s Status Register

Table 7-65 16.0 GT/s Status Register

Bit Location

寄存器描述

属性

0

Equalization 16.0 GT/s Complete - 当设置为 1b 时,该位指示 16.0 GT/s 发射器均衡过程已完成。有关发射器均衡过程和何时需要将此位设置为 1b 的详细信息,请参见第 4.2.6.4.2 节。此位的默认值为 0b。对于多功能上游端口,此位必须在功能 0 中实现,其他功能中保留为 RsvdZ。

ROS/RsvdZ

1

16.0 GT/s 阶段 1 成功 - 当设置为 1b 时,该位指示 16.0 GT/s 发射器均衡过程的阶段 1 已成功完成。有关发射器均衡过程的详细信息以及何时需要将此位设置为 1b,请参见第 4.2.6.4.2 节。此位的默认值为 0b。对于多功能上游端口,此位必须在功能 0 中实现,其他功能中应保留为 RsvdZ。

ROS/RsvdZ

2

16.0 GT/s 阶段 2 成功 - 当设置为 1b 时,该位指示 16.0 GT/s 发射器均衡过程的阶段 2 已成功完成。有关发射器均衡过程的详细信息以及何时需要将此位设置为 1b,请参见第 4.2.6.4.2 节。此位的默认值为 0b。对于多功能上游端口,此位必须在功能 0 中实现,其他功能中应保留为 RsvdZ。

ROS/RsvdZ

3

16.0 GT/s 阶段 3 成功 - 当设置为 1b 时,该位指示 16.0 GT/s 发射器均衡过程的阶段 3 已成功完成。有关发射器均衡过程的详细信息以及何时需要将此位设置为 1b,请参见第 4.2.6.4.2 节。此位的默认值为 0b。对于多功能上游端口,此位必须在功能 0 中实现,其他功能中应保留为 RsvdZ。

ROS/RsvdZ

4

16.0 GT/s 链路均衡请求 - 此位由硬件设置,以请求在链路上执行 16.0 GT/s 链路均衡过程。有关详细信息,请参见第 4.2.3 节和第 4.2.6.4.2 节。此位的默认值为 0b。对于多功能上游端口,此位必须在功能 0 中实现,其他功能中应保留为 RsvdZ。

ROS/RsvdZ

7.7.5.5 16.0 GT/s本地数据奇偶校验不匹配状态寄存器(偏移10h)

Local Data Parity Mismatch Status寄存器是一个32位矢量,其中每个位表示本地接收器是否检测到与相应Lane号的Lane上的数据奇偶校验不匹配。这个Lane号是0默认的Lane号,对链路训练期间发生的链路宽度和Lane反转协商是不变的。

这个寄存器收集16.0 GT/s和更高数据速率的奇偶校验错误。当跟踪特定链路速度的错误时,软件应该在速度变化时清除此寄存器。

Figure 7-83 16.0 GT/s Local Data Parity Mismatch Status Register

Table 7-66 16.0 GT/s Local Data Parity Mismatch Status Register

Bit Location

寄存器描述

属性

31:0

Local Data Parity Mismatch Status - 每个位指示相应的通道是否检测到数据奇偶校验不匹配。值为 1b 表示在相应的通道编号上检测到不匹配。有关更多信息,请参见第 4.2.7.2 节。每个位的默认值为 0b。对于宽度小于 32 个通道的端口,未使用的高位 [31: 最大链路宽度] 为 RsvdZ。

RW1CS/RsvdZ

7.7.5.6 16.0 GT/s First Retimer Data Parity不匹配状态寄存器(偏移量14h)

First Retimer Data Parity状态寄存器是一个32位的矢量,其中每个位表示路径的第一个Retimer(参见图4-36了解更多信息)是否检测到与相应Lane号的Lane上的数据奇偶校验不匹配。这个Lane号是默认的Lane号,对链路训练期间发生的链路宽度和Lane反转协商是不变的。

这个寄存器收集16.0 GT/s和更高数据速率的奇偶校验错误。当跟踪特定链路速度的错误时,软件应该在速度变化时清除此寄存器。

Figure 7-84 16.0 GT/s First Retimer Data Parity Mismatch Status Register

Table 7-67 16.0 GT/s First Retimer Data Parity Mismatch Status Register

Bit Location

寄存器描述

属性

31:0

首个重定时器数据奇偶校验不匹配状态 - 每个位指示相应的通道是否检测到数据奇偶校验不匹配。值为 1b 表示在相应的通道编号上检测到不匹配。有关更多信息,请参见第 4.2.7.2 节。每个位的默认值为 0b。当没有重定时器时,该字段的值是未定义的。对于宽度小于 32 个通道的端口,未使用的高位 [31: 最大链路宽度] 为 RsvdZ。

RW1CS/RsvdZ

7.7.5.7 16.0 GT/s Second Retimer Data Parity Mismatch Status Register(偏移量18h)

16.0 GT/s Second Retimer Data Parity Mismatch Status Register是一个32位的矢量寄存器,每一位表示路径的第二个Retimer(更多信息参见图4-36)是否检测到与Lane号对应的Lane上的数据奇偶校验不匹配。这个Lane号是默认的Lane号,对链路训练期间发生的链路宽度和Lane反转协商是不变的。              这个寄存器收集16.0 GT/s和更高数据速率的奇偶校验错误。当跟踪特定链路速度的错误时,软件应在速度变化时清除此寄存器。

Figure 7-85 16.0 GT/s Second Retimer Data Parity Mismatch Status Register

Table 7-68 16.0 GT/s Second Retimer Data Parity Mismatch Status Register

Bit Location

寄存器描述

属性

31:0

第二个重定时器数据奇偶校验不匹配状态 - 每个位指示相应的通道是否检测到数据奇偶校验不匹配。值为 1b 表示在相应的通道编号上检测到不匹配。有关更多信息,请参见第 4.2.7.2 节。每个位的默认值为 0b。当没有重定时器或仅有一个重定时器时,该字段的值是未定义的。对于宽度小于 32 个通道的端口,未使用的高位 [31: 最大链路宽度] 为 RsvdZ。

RW1CS/RsvdZ

7.7.5.8 物理层16.0 GT/s Reserved (Offset 1Ch)

这个寄存器是RsvdP。

7.7.5.9 16.0 GT/s Lane Equalization Control 寄存器(偏移量20h至3Ch)

均衡控制寄存器由每通道16.0 GT/s均衡所需的控制域组成。它至少包含由最大链路宽度定义的通道数的条目(参见章节7.5.3.6或章节7.9.9.2),必须在整个DW粒度中实现(例如,如果最大链路宽度为x1,寄存器仍将包含4个通道的条目,通道1、2和3的条目未定义),并且无论最大链路宽度如何,它都允许包含最多32个条目。超出最大链路宽度的表项的值未定义。

每个条目包含对应的默认Lane数的Lane值,该Lane数与链路训练期间发生的链路宽度和Lane反转协商不变。

Figure 7-86 16.0 GT/s Lane Equalization Control Register Entry

Table 7-6916.0 GT/s Lane Equalization Control Register Entry

Bit Location

寄存器描述

属性

3:0

下游端口 16.0 GT/s Transmitter Preset - 该字段定义了端口在以下游端口模式操作时,用于 16.0 GT/s 等化的Transmitter Preset。当端口以上游端口模式操作时,此字段被忽略。有关详细信息,请参见第 8 章。字段编码定义在第 4.2.3.2 节。如果上游端口的交叉链路支持为 0b,则此字段为 RsvdP;否则,此字段为 HwInit。请参见第 7.5.3.18 节。默认值为 1111b。

HwInit/RsvdP                      (see                      description)

7:4

上游端口 16.0 GT/s Transmitter Preset - 字段包含在 16.0 GT/s 链路等化期间发送或接收的发射预设值。字段使用情况如下:                      A: 下游端口,任何交叉链路支持。字段包含链路等化期间在相关通道上发送的值,字段为 HwInit。                      B: 上游端口,交叉链路支持为 0b。字段用于调试和诊断,包含链路等化期间从相关通道捕获的值,字段为 RO。如果支持交叉链路,适用 C 情况,捕获的信息对软件不可见。建议厂商提供替代机制获取这些信息。                      C: 上游端口,交叉链路支持为 1b。字段在当前链路等化中未使用或未受影响。如果未来交叉链路协商改变操作端口方向至 A 情况,字段值将被使用。字段为 HwInit。                      详细信息见第 4.2.3 节和第 8 章。字段编码定义在第 4.2.3.2 节。默认值为 1111b。

HwInit/RO                      (see                      description)