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) |
夜雨聆风