PCIE协议解析 synopsys IP PCI Express Capability 读书笔记(13)

Posted yijingjing17

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PCIE协议解析 synopsys IP PCI Express Capability 读书笔记(13)相关的知识,希望对你有一定的参考价值。

1.1.1    PF PCI Express CapabilityRegister Details

Core实现了PCIe 3.0定义的所有Capability Structure,除了Root Port register

Byte Offset

Byte 3

Byte 2

Byte 1

Byte 0

 

PCI Express Capabilities Register

Next Capability

Pointer

Capability ID (0x10)

+0x4

Device Capabilities

+0x8

Device Status

Device Control

+0xC

Link Capabilities

+0x10

Link Status

Link Control

+0x24

Device Capabilities 2

+0x28

 

Device Control 2

+0x30

Link Status 2

Link Control 2

Ø PCI ExpressCapability Version:存放PCIe设备的版本号,PCIe总线规范1.x,该字段对应值为0x01

PCIe总线规范2.x,该字段对应值为0x02

Ø Device/Port Type000bPCIe endpoint

0001b:legacy PCIe endpoint

针对EP模式下,其他都不支持

Ø Slot Implemented0PCIe设备  1:代表当前端口为PCIe插槽

Ø Interrupt MessageNumberPCIe Capability结构的Slot Statue寄存器或者Root Status寄存器的状态发生变化时,该PCIe设备可以通过MSI/MSI-X中断机制向处理器提交中断请求。该字段存放MSI/MSI-X中断机制需要的Message Data字段。

Ø Max_Payload_Size Supported该字段决定TLP报文可能使用的最大有效负载,PCIe总线规定Max_Payload_Size参数最大值为4096B,但是许多PCIe设备并不一定支持这么大的有效负载。实际应用中,一个PCIe设备支持的Max_Payload_Size参数通常为128B256B512B

Max_Payload_Size Supported字段表示该PCIe设备允许使用的Max_payload_szie参数。在Device Control寄存器中,还有一个Max_payload_Size参数,该字段可以由软件设置,表示实际使用的Max_Payload_Size参数大小。

Bit[2:0]

支持的Max_Payload_Size

0b000

128B

0b001

256B

0b010

512B

0b011

1024B

0b100

2048B

0b101

4096B

 

实际中,Max_Payload_Size Supported参数和Max_Payload_Size参数值可能不同,前者为PCIe设备能够支持的最大的Payload的大小,而后者是链路两端的PCIe设备进行协商,确定的实际使用值。

Ø Phantom FunctionSupportedCore不支持

Ø Extended Tag FieldSupported1时:TLPTag字段为8bit,为0时:表示Tag字段为0bit

Ø Correctable ErrorReporting Enable1是表示PCIe设备可以发出ERR_CORMessage报文。否则不支持。

Ø Non-Fatal ErrorReporting Enable1是表示PCIe设备可以发出ERR_ Non-Fatal Message报文。否则不支持。

Ø Fatal ErrorReporting Enable1是表示PCIe设备可以发出ERR_ Fatal Message报文。否则不支持。

Ø Unsupported RequestReporting Enable1是表示PCIe设备可以发出Unsupported RequestReporting Enable报文。否则不支持。

Ø Enable RelaxedOrdering:在CORE无效

Ø Max_Payload_SizePCIe设备根据DeviceCapability寄存器的Bit[2:0]字段设置PCIe设备的TLP的最大payload。系统软件根据PCIe链路两端的实际情况,确认该字段的值。但是该值不能大于Device Capability寄存器的“Max_payload_sizeSupport”字段。PCIe设备发送TLP时,其最大的Payload不能大于Max_Payload_Size;当PCIe设备接收TLP时,必须能够处理小于该字段的TLP,而大于该字段的TLP将被认为错误报文。

Ø Extended Tag FieldEnable :该位为1:发送端可以使用8bitTag字段,该位为0时,使用5bit的字段。

Ø Phantom FunctionEnable:该位为1:使能Phantom Function

Ø AUX Power PM Enable该位为1PCIe设备可以使用总线提供的辅助电源。

Ø Enable No Snoop该位为1:PCIe设备可以发生TLP时,该TLPAttribute字段可以设置为NoSnoop;该位为:TLPAttr字段不能设置为NO Snoop

Ø Max_Read_Request_Size:该字段记录在一个PCIe设备中,存储器读请求TLP可以请求的最大数据区域。当PCIe设备发送存储器读请求TLP时,该TLP所请求的数据大小不能超过Max_Read_Request_Size

Ø Initiate FLR:该位为1:启动functionLevel Reset

Ø Correctable ErrorDetected:该位为1表示PCIe检测到CorrectableError,对该位写1将清除此位。

Ø Non-Fatal Errordetected:该位为1表示PCIe检测到Non-FatalError,对该位写1将清除此位。

Ø FatalError Detected:该位为1表示PCIe检测到Fatal Error ,对该位写1将清除此位。

Ø Unsupported RequestDetected:该位为1表示PCIe检测到不支持的报文,对该位写1将清除此位。

Ø Aux Power DetectedPCIe设备检测到辅助电源的存在时,而且如果该设备需要使用辅助电源,则该位置1

Ø Transaction Pending:对于EP而言,该位为1表示当前的PCIe设备发送了一个Non-Posted的数据请求,但是没有收到完成的报文应答;对于RCSwitch而言,该位为1表示RCSwitch自身发送了一个Non-Posted的数据请求,但是没有收到完成的报文应答。

 

Ø Max Link Speeds0b0001表示PCIe链路支持2.5GT/s0b0010表示PCIe链路支持5.0GT/s0b0100表示PCIe链路支持8GT/s.

Ø Maximum Link WidthPCIe设备支持的最大链路宽度。000001:表示支持x1PCIe链路。000010:表示支持x2PCIe链路。000100:表示支持x4PCIe链路。001000:表示支持x8PCIe链路。001100:表示支持x12PCIe链路。010000:表示支持x16PCIe链路。100000:表示支持x32PCIe链路。

Ø Active State Link PMSupport0b000b10为系统保留字段。当该字段为0b01时,表示ASPM支持L0s状态;当该字段为0b11时,表示ASPM支持L0sL1状态。PCIe设备除了支持PCI PM电源管理方式之外,还执行ASPM机制进行电源管理。ASPM机制是CPIe设备进行的主动电源管理方式,与系统的软件没有直接的联系。

Ø L0s Exit Latency L1 Exit Latency:定义了PCIe设备从L0sL1状态退出的最小延时。

Ø Port Number如果多端口的RCSwitch支持多个下游的端口,则使用该字段对这些端口进行编号。

 

Ø Active State Link PMControl:该字段为0b00是表示禁止PCIe设备的ASPM机制;为0b01是表示PCIe设备可以进入L0s状态;为0b10时表示PCIe设备可以进入L1状态;为0b11是表示PCIe设备可以进入L0sL1状态。值得注意的是系统软件不能通过修改该字段使PCIe链路进入相应的状态,仅是通知硬件逻辑,可以进入相应的状态。

Ø Read CompletionBoundary (RCB):该位为0:表示RCB64B,该位为1:表示RCB128B

Ø Link Disable:向该位写1,将禁止PCIe链路。

Ø Retrain Link:向此位写1,将从新训练PCIe链路。

Ø Common ClockConfiguration:该位为1:表示PCIe的链路两端设备使用同源的参考时钟;该位为0:表示PCIe链路两端的设备使用参考时钟不同源。

Ø Extended Synch:该位为1时,表示PCIe设备退出L0s和进入Re-Covery状态时,需要额外的发出一些同步序列。

Ø Hardware AutonomousWidth DisableCORE不支持。为1:表示PCIe设备不能改变当前已经协商好的PCIe链路宽度,除非为了修正PCIe链路中已经出现错误的Lane

Ø Link BandwidthManagement Interrupt Enable:当该位为1时,且Link Status寄存器的Link Bandwidth Management Status位为1时,PCIe设备将向处理器提交中断请求。此时这中断请求使用的中断向量由PCI ExpressCapability寄存器的Interrupt MessageNumber字段确定。

Ø Link AutonomousBandwidth Interrupt Enable:该位为1时,且Link Status寄存器的Link Autonomous Bandwidth Status位为1时,PCIe这边将向处理器提交中断请求。

Ø Link Speed0b0001表示PCIe链路支持2.5GT/s0b0010表示PCIe链路支持5.0GT/s0b0100表示PCIe链路支持8GT/s

Ø Negotiated LinkWidthPCIe设备当前的链路宽度。000001:表示支持x1PCIe链路。000010:表示支持x2PCIe链路。000100:表示支持x4PCIe链路。001000:表示支持x8PCIe链路。001100:表示支持x12PCIe链路。010000:表示支持x16PCIe链路。100000:表示支持x32PCIe链路。

Ø Link Training:未使用

Ø Slot ClockConfiguration:该位由PCIe设备在初始化时确定,该位为1表示PCIe插槽和Add-In卡使用的参考时钟相同。

Ø Data Link LayerActive:该位表示PCIe链路的状态。该位为1时,表示PCIe链路处于DL_Active,即正常工作状态。

Ø Data Link LayerActive:该位由PCIe硬件设置。当CPIe链路重训练结束,或者PCIe设备完成PCIe链路的宽度和链路速度设定后,该位置1.该位写1清除。

Ø AtomicOp RoutingSupported Switch的上下游端口和RC端口支持该位,在PCIe V2.1总线规范定义了原子操作。该位为1,标准原子操作TLP可以通过当前的Switch或者RC

Ø 32-bit AtomicOpCompleter Supported:为1:表示支持32位的原子操作。

Ø 64-bit AtomicOpCompleter Supported:为1:表示支持64位的原子操作。

Ø 128-bit CASCompleter Supported:为1:表示支持128位的原子操作。

Ø TPH CompleterSupported0b00:表示接收端不支持TPH和扩展TPH报文;为0b01:表示接收端仅支持TPH报文;为0b11:表示接收端支持TPH和扩展TPH报文;0b10保留。

Ø AtomicOp RequesterEnable:该位和Command寄存器的“Bus Master Enable“位同时有效,EP或者RC可以发出原子操作请求TLP

Ø AtomicOp EgressBlockingSwitch的上下游端口和RC端口有效。当AtomicOPRouting Supported位为1时,该位可以为1,否则该位只能为0.该位为1时,Egress端口将阻止原子操作TLP通过。

Ø IDO Request Enable:该位为1时,TLP中的IDOID-Based Ordering)位可以根据实际的情况设置为1.IDOPCIeV2.1总线规范引入的新的“序“模型。

Ø IDO CompletionEnable:该位为1时,EP可以出来IDO位为1的完成报文。

 

以上是关于PCIE协议解析 synopsys IP PCI Express Capability 读书笔记(13)的主要内容,如果未能解决你的问题,请参考以下文章

PCIE协议解析 synopsys IP MSI Capability 读书笔记(11)

PCIE协议解析 synopsys IP Register配置空间 读书笔记

PCIE协议解析 synopsys IP 基本配置空间总结 读书笔记(14)

PCIE协议解析 synopsys IP Configuration Space Header 读书笔记

PCIE协议解析 synopsys IP Power Management Capability 读书笔记(10)

PCIE协议解析 synopsys IP MSI-X Capability 读书笔记(12)