用于 PCI Express* 的 英特尔® FPGA R-tile Avalon® Streaming IP用户指南

ID 683501
日期 6/26/2023
Public
文档目录

6.1.3. 调试数据传输和性能问题

导致PCIe链路停止发送数据的原因可能有很多。PCI Express Base Specification定义了三种类型的错误,如下表中所列:

表 108.  PCI Express Base Specification定义的错误类型
类型 Responsible Agent 描述
可恢复(Correctable) 硬件 当可纠正的错误会影响系统性能时,数据完整性被保持。
不可恢复(Uncorrectable),非致命(non-fatal) 器件软件 不可恢复的非致命错误被定义为数据丢失但系统完整性得以保持的错误。例如,架构可能会丢失特定的TLP,但它仍然可以正常工作。
不可恢复,致命(fatal) 系统软件 由于数据丢失和系统故障产生的错误被认为是不可恢复的致命错误。软件必须确定如何处理此类错误:是否复位链路或实现其他方法来最大程度地减少问题。
表 109.  可恢复的错误状态寄存器(AER)
观察 问题 解决
Receiver error bit set

物理层错误可能是由于lane处于L0时的MAC错误、错误lane中接收到Control控制符号或链路可能从L0跳转到Recovery状态的信号完整性问题造成。

使用配置输出接口,或者Hard IP重配置接口以及链路训练调试流程中的流程图获得关于该错误的更多信息。
Bad DLLP bit set

CRC验证失败时可能出现的数据链路层错误。

使用配置输出接口或者Hard IP重配置接口获得关于该错误的更多信息。
Bad TLP bit set 当LCRC验证失败或序列号错误发生时,可能出现Data link layer(数据链路层)错误。 使用配置输出接口或者Hard IP重配置接口获得关于该错误的更多信息。
Replay_num_rollover bit set 数据链路层错误,可能由于连续四次发送TLP未成功(无 ACK)造成。 使用配置输出接口或者Hard IP重配置接口获得关于该错误的更多信息。
replay timer timeout status bit set

数据链路层错误,当发送TLP的超时时间内没有收到ACK或NAK就可能会发生该错误。

使用配置输出接口或者Hard IP重配置接口获得关于该错误的更多信息。
Advisory non-fatal 事务层错误,可能是由于检测到更高优先级的不可恢复错误。  
Corrected internal error bits set 事务层错误,可能是由于内部Hard IP RAM中的ECC错误。 使用错误的接口,配置输出接口或者Hard IP重配置接口和DBI寄存器获得关于该错误的更多信息。
表 110.  Uncorrectable Error Status Register (AER)
观察 问题 解决
Data link protocol error 数据链路层错误,可能是由于发送端接收到Seq ID与未确认的TLP不 对应的ACK/NAK。 使用配置输出接口,Hard IP重配置接口获得关于该错误的更多信息。
Surprise down error 数据链路层错误,可能是由于link_up_o在L0期间被置位,从而指示物理层链路意外中断。 使用错误的接口,配置输出接口,Hard IP重配置接口和DBI寄存器获得关于该错误的更多信息。
Flow control protocol error

事务层错误,可能是由于接收端报告的credit超过允许的credit额度。

当组件未在200 μs限制内接收到更新流量控制信用时,就会发生此错误。

使用TX/RX流量控制接口,配置输出接口,Hard IP重配置接口获得关于该错误的更多信息。
Poisoned TLP received 事务层错误,可能是由于接收的TLP带有EP位集。 使用错误接口、配置输出接口、配置拦截接口、Hard IP重配置接口来获取有关错误的更多信息并确定适当的操作。
Completion timeout 事务层错误,可能是由于在发送non-posted请求后未在所要求的时间内收到completion而导致。 使用错误的接口,完成超时接口,配置输出接口,Hard IP重配置接口获得关于该错误的更多信息。
Completer abort 事务层错误,可能是由于事务发起方的问题或者事务接收端的故障造成事务接收端无法满足请求,从而导致该错误。 使用配置输出接口,错误接口,Hard IP重配置接口获得关于该错误的更多信息。
Unexpected completion

事务层错误,这可能是由于事务发起方收到的completion与任何等待完成的请求都不匹配所致。

TLP被Hard IP删除并且不会出现在应用层。

使用配置输出接口,错误接口,Hard IP重配置接口获得关于该错误的更多信息。
Receiver overflow

事务层错误,可能是由于接收端收到的TLP多于可用的接收缓冲的空间。

TLP被Hard IP删除并且未呈现在应用层。

使用TX/RX流量控制接口,错误接口,配置输出接口,Hard IP重配置接口获得关于该错误的更多信息。
Malformed TLP

事务层错误,可能是由于接收的TLP头(header)中的错误导致。

TLP被Hard IP被删除并且未呈现在应用层。

使用错误的接口,配置输出接口,Hard IP重配置接口获得关于该错误的更多信息。
ECRC error

事务层错误,可能是由于接收端的ECRC检查失败造成的,尽管 TLP无异常并且LCRC检查有效。

Hard IP块自动处理该TLP。如果TLP是non-posted请求,则Hard IP块会生成具有completer中止状态的completion。TLP被Hard IP删除,并且不会呈现给应用层。

使用配置输出接口,Hard IP重配置接口获得关于该错误的更多信息。
Unsupported request

事务层错误,可能是由于completer无法满足请求而导致该错误。

Hard IP块中的TLP被删除,并且不会呈现给应用层。如果TLP是non-posted请求,则Hard IP块会生成具有Unsupported Request状态的completion。

使用配置输出接口,错误接口,IP重配置接口获得关于该错误的更多信息。
ACS violation 事务层错误,可能是由于接收的posted或non-posted请求中的访问控制错误而造成。 使用配置输出接口,错误接口,IP重配置接口获得关于该错误的更多信息。
Uncorrectable internal error 事务层错误可能是由于硬件无法恢复的内部错误造成。 使用错误的接口,配置输出接口,Hard IP重配置接口和DBI寄存器获得关于该错误的更多信息。
Atomic egress blocked   使用错误接口,配置输出接口,Hard IP重配置接口获得关于该错误的更多信息。
TLP prefix blocked 仅EP或RP 使用错误接口,配置输出接口,Hard IP重配置接口获得关于该错误的更多信息。
Poisoned TLP egress blocked 仅EP或RP 使用错误接口,配置输出接口,配置拦截接口,Hard IP重配置接口获得关于该错误的更多信息。