文章 ID: 000080831 内容类型: 故障排除 上次审核日期: 2021 年 08 月 27 日

为什么使用适用于 PCI Express* 的 英特尔® FPGA P-Tile/H-Tile、Avalon®流传输和Avalon®内存映射 IP 时,在高级错误报告 (AER) 中记录非严重 PCIe* 错误?

环境

  • 英特尔® Quartus® Prime Pro Edition
  • 适用于 PCI Express* 的 Avalon-MM 英特尔® Stratix® 10 硬核 IP
  • 适用于 PCI Express* 的 Avalon-ST 英特尔® Stratix® 10 硬核 IP
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT

    关键问题

    说明

    P-Tile/H-Tile Avalon®流英特尔® FPGA IP(适用于 PCI Express*)和 P-Tile/H-Tile Avalon®内存映射英特尔® FPGA IP PCI Express* 实施可选的备用路由 ID 解释 (ARI) 功能时,启用多功能或单根 I/O 虚拟化 (SR-IOV) 功能。ARI 功能包括一个称为下一个函数的字段,可帮助主机 BIOS 执行枚举过程。启用 ARI 时,P-Tile 或 H-tile 的物理功能 (PF) 数量不到 8,而下一个函数不正确地显示 PF 1 的值。

     

    因此,如果启用 AER,端点中的以下错误状态可能会被设置为,因为根端口会向未存在的 PF 发出配置请求,指出不正确的下一个功能编号:

    • 检测到可纠正错误(设备状态寄存器)
    • 不受支持的请求检测(设备状态寄存器)
    • 建议非严重错误状态(可纠正错误状态寄存器)
    • 不受支持的请求错误状态(无法纠正的错误状态寄存器)
      • 仅在建议非严重错误掩码位设置为"0"(可纠正错误掩码寄存器)时才设置

     

    如果 AER 通过设置以下比特启用了以下比特,则将将一条ERR_COR消息发送到根端口:

    • 建议非严重错误掩码设置为"0"(可纠正错误掩码寄存器)
    • 可纠正的错误报告启用设置为"1"(设备控制寄存器)
    • 不受支持的请求报告启用设置为"1"(设备控制寄存器)

     

    在根端口中,如果收到无法支持的请求状态完成,则会设置以下位

    • 接收主 Abort(次要状态寄存器)

     

    此外,在根端口中,如果收到ERR_COR,并且启用了 AER,则会设置以下位

    • ERR_COR接收(根错误状态寄存器)
    解决方法

    对于适用于 PCI Express* 的 P-Tile/H-Tile Avalon®流传输英特尔® FPGA IP和面向 PCI Express* 的 P-Tile/H-Tile Avalon®内存映射英特尔® FPGA IP,软件可以忽略每次枚举时检测到的错误。如果枚举后,在端点中设置以下错误状态位,则软件可以忽略它们:

    • 检测到可纠正错误(设备状态寄存器)
    • 不受支持的请求检测(设备状态寄存器)
    • 建议非严重错误状态(可纠正错误状态寄存器)
    • 不受支持的请求错误状态(无法纠正的错误状态寄存器)
      • 前提是建议非严重错误掩码位(可纠正错误口罩寄存器)设置为"0"

     

    为了简单起用,可以按照以下顺序完成变通办法。

    1. 枚举完成后,清除以下所有 PCIe 端点功能的错误寄存器(所有位,无与伦比)
      1. 设备状态寄存器
      2. 可纠正错误状态寄存器
      3. 无法纠正的错误状态寄存器
    2. 对于与上述 PCIe 端点功能相关的 PCIe 根端口,请清除下面的错误寄存器(所有位数)。
      1. 次级状态寄存器
      2. 根错误状态寄存器
    3. 对于每个 PCI 枚举过程,重复步骤 1 和步骤 2。

     

    如果针对正在执行的错误的运行时分组,则可以检查比特"检测到可纠正错误"、"不受支持的请求检测"、"建议非严重错误状态"和"不受支持的请求错误状态",以使此问题与其他可靠性错误区分开来。如果仅设置这些 4 位,我们可以假设端点上的错误与 PCI Express* 的 P-Tile/H-Tile Avalon®流传输英特尔® FPGA IP或 P-Tile/H-Tile Avalon®内存映射英特尔® FPGA IP有关 PCI Express* 的问题,也应继续清除步骤 1 和步骤 2 中列出的错误状态位。

     

    对于 P-Tile,用户逻辑可以使用配置拦截接口 (CII) 在根端口发布配置读取时,正确宣传 ARI 的下一个功能编号。

    相关产品

    本文适用于 1 产品

    英特尔® Stratix® 10 FPGA 和 SoC FPGA

    本页面上的内容是原始英文内容的人工翻译与计算机翻译的组合。我们提供此内容是为了您的便利并且仅供参考,未必完整或准确。如果本页面的英文版与翻译版之间存在任何冲突,应以英文版为准。 查看此页面的英语版本。