用于 PCIe* 解决方案的 Intel® Stratix® 10 Avalon® -ST和Single Root I/O Virtualization (SR-IOV)接口用户指南

ID 683111
日期 12/06/2017
Public
文档目录

6.1.7. 解释TX信用接口(Interpreting the TX Credit Interface)

Intel® Stratix® 10 PCIe TX信用接口报告Flow Control信用的数量。

下面公式定义了可用的缓冲区空间:

RX_buffer_space = (credit_limit - credits_consumed)+ released_credits

其中:

credits_consumed = credits_consumedapplication + credits_consumedPCIe_IP_core

由于以下原因,hard IP core使用少量的发布信用(posted credit):

  • 对以内部寄存器为目标的Configuration Requests,发送completion TLP
  • 对错误和中断消息发送posted TLP

hard IP core不会向Application报告内部消耗的信用。在不了解hard IP core的内部使用的情况下,Application无法保持完全准确的Posted或Completion信用的数量。

hard IP core不消耗non-posted信用。因此,可以保持non-posted信用的准确数量。请参考TX Credit Adjustment Sample Code来了解用于计算non-posted信用数量的代码。此RTL从远程链路恢复更新的Flow Control信用。它分别对tx_nph_cdtstx_npd_cdts上的non-posted header和data credit驱动RX_buffer_space值。

图 49. 流量控制信用更新循环(Flow Control Credit Update Loop)下图提供了从从链路伙伴的RX buffer中移除TLP后,确定可用信用和释放信用的步骤概述。
注: 为避免潜在的死锁或者性能下降,Application应该在发送TLP到 Stratix 10 Hard IP for PCI Express IP Core之前检查可用信用。