性能
如需获取 QDMA 性能和详细分析,请参阅答复记录 71453。
赛灵思提供了两个设计示例供您实验。标准设计示例仅用于功能测试。要生成用于性能分析的设计示例,使用以下 Tcl 命令来生成性能设计示例:
set_property CONFIG.performance_exdes{true}
[get_ips qdma_0]
以下是赛灵思推荐的 QDMA 寄存器设置,此设置旨在提升性能。性能数值将根据系统和使用的操作系统而异。
- QDMA_C2H_INT_TIMER_TICK (0xB0C) 设为 25。对应于 100 ns(对于 250 MHz 用户时钟,1 拍 = 4 ns)
- C2H 触发模式设为 Counter(计数器)+ Timer(定时器),计数器设为 64,定时器则与往返时延相匹配。定时器的全局寄存器值应为 30,表示 3 μs。
- QDMA_GLBL_DSC_CFG (0x250),
max_desc_fetch
= 6,wb_int
= 5 - QDMA_H2C_REQ_THROT (0xE24),
req_throt_en_data
= 1,data_thresh
= 0x4000 - QDMA_C2H_PFCH_CFG (0xB08/0xA80/0xA84)
-
evt_qcnt_th
= (QDMA_C2H_PFCH_CACHE_DEPTH/2) - 2 -
pfch_qcnt
= QDMA_C2H_PFCH_CACHE_DEPTH/2 -
num_pfch
= 8。建议最小值为 8。如果环境内的活动队列数量较少,那么采用更高的值有助于提升性能。 -
pfch_fl_th
= 256
-
- QDMA_C2H_WRB_COAL_CFG (0xB50),
-
max_buf_sz
= QDMA_C2H_CMPT_COAL_BUF_DEPTH (0xBE4) -
tick_val
= 25 -
tick_cnt
= 5
-
- TX/RX API 突发大小 = 64,环深度 = 2048。驱动程序应以 64 为单位成批更新 TX/RX PIDX。
- PCIe MPS = 256 字节,MRRS >= 512 字节,启用扩展标签,启用宽松排序
- 驱动程序将以 64 为单位成批更新完成 CIDX,从而在更新 C2H PIDX 前减少 MMIO 写入数量
- 驱动程序应以 64 为单位成批更新 H2C PIDX,并通过更新来获取分散聚集列表的最后一个描述符。
- C2H 上下文:
-
bypass
= 0(内部模式) -
frcd_en
= 1 -
qen
= 1 -
wbk_en
= 1 -
irq_en
=irq_arm
=int_aggr
= 0
-
- C2H 预取上下文:
-
pfch
= 1 -
bypass
= 0 -
valid
= 1
-
- C2H CMPT 上下文:
-
en_stat_desc
= 1 -
en_int
= 0 (Poll_mode) -
int_aggr
= 0(轮询模式) -
trig_mode
= 5 -
counter_idx
= 对应于 64 -
timer_idx
= 对应于 3 μs -
valid
= 1
-
- H2C 上下文:
-
bypass
= 0(内部模式) -
frcd_en
= 0 -
fetch_max
= 0 -
qen
= 1 -
wbk_en
= 1 -
wbi_chk
= 1 -
wbi_intvl_en
= 1 -
irq_en
= 0(轮询模式) -
irq_arm
= 0(轮询模式) -
int_aggr
= 0(轮询模式)
-
为了获取最优 QDMA 串流性能,描述符环的包缓冲器应至少对齐到 256 字节。
建议: 赛灵思建议您在 PCIe 上将描述符提取的未完成总数限制为小于 8 KB。例如,对于 16B 描述符,将所有队列的未完成信用值限制为 512。
描述符旁路模式中的性能
在描述符旁路模式下配置设计时,以上所有设置都适用。以下信息提供了在旁路模式下提升性能的建议。
- 在
h2c_byp_in_st_sdi
端口中设置旁路时,QDMA IP 会为每个包生成状态写回。赛灵思建议在 32 位包或 64 位包中,对此端口执行一次断言有效。如无更多描述符需处理,则在最后一个描述符处将h2c_byp_in_st_sdi
断言有效。此要求基于每个队列,并且适用于 AXI4-MM(H2C 和 C2H)旁路传输和 AXI4-Stream H2C 传输。 - 对于 AXI-Stream C2H 简单旁路模式,出于性能原因,
dsc_crdt_in_fence
端口应设为 1。此建议假定用户设计已为每个队列合并信用值并且已将其发送至 IP。在内部模式下,请在 QDMA_C2H_PFCH_CFG_2 (0xA84) 寄存器中设置fence
位。
资源使用情况
如需了解有关 QDMA 资源使用情况的信息,请参阅资源使用情况网页。