仅对英特尔可见 — GUID: hck1613159544949
Ixiasoft
仅对英特尔可见 — GUID: hck1613159544949
Ixiasoft
4.3.1.2.4. RX流程控制接口
RX流量控制接口为PCIe Hard IP提供关于应用程序上可用于Posted (P),Non-Posted (NP)和Completion (CPL)事务的RX缓冲空间的信息。它以PCIe Specification指定的credit数量报告可用的空间大小。
应用程序逻辑必须确保在Credit Initialization阶段为R-Tile Avalon-ST IP for PCIe提供足够的信用。这样就可以防止由于IP和应用程序逻辑之间缺乏可用信用而导致的性能影响。根据在PCIe链路级别发生的 P、NP和CPL事务的数量,如果应用程序逻辑通告的信用数量小于 R-Tile Avalon-ST IP for PCIe向链路对端通告的信用数量,则可能会发生缺乏信用的情况。
- Posted (P)事务:不需要响应的TLP。
- Non-poseted (NP)事务:需要completion的TLP。
- Completions (CPL): 响应non-posted 事务的TLP。
端口(Port) | Hard IP模式 | Posted Headers | Posted Data | Non-Posted Headers | Non-Posted Data | Completion Headers | Completion Data |
---|---|---|---|---|---|---|---|
Port 0 | Endpoint | 784 | 1456 | 784 | 392 | 0 (无穷) | 0 (无穷) |
Root Port | 784 | 1456 | 784 | 392 | 0 (无穷) | 0 (无穷) | |
Upstream Port | 784 | 1456 | 784 | 392 | 1024 | 2816 | |
Downstream Port | 784 | 1456 | 784 | 392 | 1024 | 2816 | |
Port 1 | Endpoint | 392 | 760 | 392 | 196 | 0 (无穷) | 0 (无穷) |
Root Port | 392 | 760 | 392 | 196 | 0 (无穷) | 0 (无穷) | |
Upstream Port | 392 | 760 | 392 | 196 | 512 | 1408 | |
Downstream Port | 392 | 760 | 392 | 196 | 512 | 1408 | |
Port 2 | Endpoint | 224 | 444 | 224 | 112 | 0 (无穷) | 0 (无穷) |
Root Port | 224 | 444 | 224 | 112 | 0 (无穷) | 0 (无穷) | |
Upstream Port | 224 | 444 | 224 | 112 | 256 | 704 | |
Downstream Port | 224 | 444 | 224 | 112 | 256 | 704 | |
Port 3 | Endpoint | 224 | 444 | 224 | 112 | 0 (无穷) | 0 (无穷) |
Root Port | 224 | 444 | 224 | 112 | 0 (无穷) | 0 (无穷) | |
Upstream Port | 224 | 444 | 224 | 112 | 256 | 704 | |
Downstream Port | 224 | 444 | 224 | 112 | 256 | 704 |
有关常规情况下如何在该IP中实现credit控制的更多信息,请参阅Credit控制。
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 |
信号名称 | 方向 | 描述 | EP/RP/BP | 时钟域 |
---|---|---|---|---|
pX_rx_st_hcrdt_update_i[2:0]其中 X = 0, 1, 2, 3(IP核个数) |
输入 | 指示credit可用于不同类型的Header。 每个Header(包括TLP Prefix,如有)消耗一个credit。 [0] : Posted Header (PH) [1] : Non-Posted Header (NPH) [2] : Completion Header (CPLH) 要通告IP和应用程序逻辑之间特定TLP类型的无限信用,必须将该信号总线内相应位置位一个时钟周期,并且在信用初始化阶段,pX_rx_st_hcrdt_update_cnt_i信号总线中目标TLP类型在相应位上的值为0。 |
EP/RP/BP | coreclkout_hip |
pX_rx_st_hcrdt_update_cnt_i[5:0]其中 X = 0, 1, 2, 3 (IP核个数) |
输入 | 指示已释放的信用数量。 [1:0]:已释放的PH信用数量 [3:2]:已释放的NPH信用数量 [5:4]:已释放的CPLH信用数量 对应的pX_rx_st_hcrdt_update_i位 = 1时,有效。 释放的信用数量最多为3。 要通告IP和应用程序逻辑之间特定TLP类型的无限信用,就必须在信用初始化阶段,当pX_rx_st_hcrdt_update_i位被置位一个时钟周期时,必须将该信号内总线上相应的位设置为0。 |
EP/RP/BP | coreclkout_hip |
pX_rx_st_hcrdt_init_i[2:0]其中 X = 0, 1, 2, 3 (IP核个数) |
输入 | 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核个数) |
输入 | 指示主机已经为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核个数) |
输入 | 指示credit可用于不同类型的Data。 [0] : Posted Data (PD) [1] : Non-Posted Data (NPD) [2] : Completion Data (CPLD) 要通告IP和应用程序逻辑之间特定TLP类型的无限信用,必须将该信号总线内的相应位置位一个时钟周期,并且在信用初始化阶段,pX_rx_st_dcrdt_update_cnt_i信号总线中目标TLP类型在相应位上的值为0。 |
EP/RP/BP | coreclkout_hip |
pX_rx_st_dcrdt_update_cnt_i[11:0]其中 X = 0, 1, 2, 3(IP核个数) |
输入 | 指示释放的信用数量。 [3:0]:释放的PD信用数量 [7:4]:释放的NPD信用数量 [11:8]:释放的CPLD信用数量 对应的pX_rx_st_dcrdt_update_i位 = 1时,有效。 释放的信用数量最多为15。 要通告IP和应用程序逻辑之间特定TLP类型的无限信用,就必须在信用初始化阶段,当pX_rx_st_dcrdt_update_i位被置位一个时钟周期时,必须将该信号内总线上相应的位设置为0。
注: 初始RX NPD信用必须等于或大于Maximum Payload Size(最大有效负载大小)。
|
EP/RP/BP | coreclkout_hip |
pX_rx_st_dcrdt_init_i[2:0]其中 X = 0, 1, 2, 3(IP核个数) |
输入 | 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核个数 |
输入 | 指示Host主机已经为credit初始化阶段作好准备 [0] : PD [1] : NPD [2] : CPLD |
EP/RP/BP | coreclkout_hip |