文章 ID: 000075634 内容类型: 故障排除 上次审核日期: 2018 年 03 月 05 日

为什么我的带有 PCIe* 硬 IP 的 Stratix®10 GX ES 设备无法传输 TLP 数据包或带宽降低?

环境

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

    关键问题

    说明

    Stratix® 10 ES PCIe* 硬 IP 在 TLP 传输过程中可能会遇到信用泄漏问题。当硬IP内部TX FIFO填满时,可能会导致信用泄漏。这可能会导致用户界面受到限制,同时 TX 信用接口上报告的信用消耗信息不准确。

    在具有 ES1 L-Tile、ES2 L-Tile 或 ES1 H-Tile Stratix 10 GX 设备上,所有 Gen1、Gen2 和 Gen3 配置均会受到影响,并可能出现性能下降,从而导致带宽降低。

    解决方法

    若要变通解决此问题,必须使用以下公式监视和保护每种交易记录类型的可用信用额度:已过帐 (P)、非过帐 (NP) 和完成 (Cpl)。不要使用 TX 信用接口上的 tx_*_cdts_consumed 信号计算 tx_*_cdts_limit:
    可用积分 = 合作伙伴公布的积分 - GB
    其中 GB = 128 个数据信用,64 个标头信用。
    对于播发少于 128 个配额的设备,此解决方法不适用。

    下面是 NPH TLP 流量类型(内存读取时无有效载荷)的伪代码示例,以避免遵循 PCIe* 排序规则时出现信用泄漏
    1一.跟踪未完成的 NP TLP 的数量,如下所示

    If (num_of_outstanding_NP_TLP < Initial_NPH_Credit) {
    Send_NPH_packet;

    }
    1b. (或)防护带 NPH TLP 的可用信用额度如下

    if ((tx_nph_cdts – 64) > 0) {
    Send_NPH_packet;
    }


    此错误已在具有 ES3 L-Tile、生产 L-Tile、ES2 H-Tile 或生产 H-Tile 的Stratix® 10 GX 设备以及所有英特尔 Stratix 10 SX 设备中修复。

    相关产品

    本文适用于 1 产品

    英特尔® Stratix® 10 FPGA 和 SoC FPGA

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