关键问题
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 设备中修复。