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

ID 683501
日期 3/28/2022
Public

本文档可提供新的版本。客户应 单击此处 前往查看最新版本。

文档目录

4.4.1.2.4. RX流程控制接口

RX流量控制接口为PCIe Hard IP提供关于应用程序上可用于Posted (P),Non-Posted (NP)和Completion (CPL)事务的RX缓冲空间的信息。它以PCIe Specification指定的credit数量报告可用的空间大小。

流量控制credit可用于以下TLP类别:
  • Posted (P)事务:不需要响应的TLP。
  • Non-poseted (NP)事务:需要completion的TLP。
  • Completions (CPL): 响应non-posted 事务的TLP。

有关常规情况下如何在该IP中实现credit控制的更多信息,请参阅Credit控制

注: 某些系统中,链路伙伴会在PCIe枚举期间广播Message TLP。如果未能正确初始化,并将相应credits从Application逻辑返回到R-Tile Avalon® Streaming IP,就会因为Message TLP和Configuration TLP之间所需要Completion的优先顺序而导致枚举问题。Application逻辑必须确保将正确的credit返回到其接收的TLP的R-Tile Avalon® Streaming IP。
表 51.  事务类型的分类
TLP类型 类型
Memory Write Posted
Memory Read Non-Posted
Memory Read Lock
I/O Read
I/O Write
Configuration Read
Configuration Write
Fetch and Add AtomicOp
Message Posted
Completion Completion
Completion with Data
Completion Lock
Completion Lock with Data
表 52.  RX流量控制接口信号
信号名称 方向 描述 EP/RP 时钟域
pX_rx_st_hcrdt_update_i[2:0]其中

X = 0, 1, 2, 3(IP核个数)

Input

指示credit可用于不同类型的Header。

每个Header(包括TLP Prefix,如有)消耗一个credit。

[0] : Posted Header (PH)

[1] : Non-Posted Header (NPH)

[2] : Completion Header (CPLH)

EP/RP/BP coreclkout_hip
pX_rx_st_hcrdt_update_cnt_i[5:0]其中

X = 0, 1, 2, 3 (IP核个数)

Input

指示释放的credit个数。

[1:0] : 释放的PH credit个数

[3:2] : 释放的NPH credit个数

[5:4] : 释放的CPLH credit个数

对应的pX_rx_st_hcrdt_update_i位 = 1时,有效。

最多释放三个credit。

EP/RP coreclkout_hip
pX_rx_st_hcrdt_init_i[2:0]其中

X = 0, 1, 2, 3(IP核个数)

Input

Credit初始化指示。这些信号在整个初始化阶段保持高电平。从High 到Low的转变表示credit初始化阶段的完成。

[0] : PH

[1] : NPH

[2] : CPLH

EP/RP/BP coreclkout_hip
pX_rx_st_hcrdt_init_ack_o[2:0]其中

X = 0, 1, 2, 3(IP核个数)

Output

指示Host已经为credit初始化阶段作好准备。

[0] : PH

[1] : NPH

[2] : CPLH

EP/RP/BP coreclkout_hip
pX_rx_st_dcrdt_update_i[2:0]其中

X = 0, 1, 2, 3(IP核个数)

Input

指示credit可用于不同类型的Data。

[0] : Posted Data (PD)

[1] : Non-Posted Data (NPD)

[2] : Completion Data (CPLD)

EP/RP/BP coreclkout_hip
pX_rx_st_dcrdt_update_cnt_i[11:0]其中

X = 0, 1, 2, 3(IP核个数)

Input

指示释放的credit个数。

[3:0] : 释放的PD credit个数

[7:4] : 释放的NPD credit个数

[11:8] : 释放的CPLD credit个数

对应的pX_rx_st_dcrdt_update_i位 = 1时,有效。

最多释放15个credit。

EP/RP/BP coreclkout_hip
pX_rx_st_dcrdt_init_i[2:0]其中

X = 0, 1, 2, 3(IP核个数)

Input

Credit初始化指示。这些信号在整个初始化阶段保持高电平。从High 到Low的转变表示credit初始化阶段的完成。

[0] : PD

[1] : NPD

[2] : CPLD

EP/RP/BP coreclkout_hip
pX_rx_st_dcrdt_init_ack_o[2:0]其中

X = 0, 1, 2, 3(IP核个数)

Input

指示Host已经为credit初始化阶段作好准备

[0] : PD

[1] : NPD

[2] : CPLD

EP/RP/BP coreclkout_hip