Atlas 200I与FPGA(XDMA,EP)基于PCIe2.0_x4通信 C2H速率瓶颈问题
收藏回复举报
Atlas 200I与FPGA(XDMA,EP)基于PCIe2.0_x4通信 C2H速率瓶颈问题
t('forum.solved') 已解决
新人帖
发表于2025-07-15 14:43:13
0 查看

问题摘要

Atlas 200I A2 模组(RC)与FPGA(XDMA,EP)基于PCIe2.0_x4通信 C2H速率瓶颈问题

1. 问题描述

Atlas 200I DK平台上FPGA PCIe设备的C2H (Card to Host) 传输性能显著低于预期,存在明显的性能不对称问题。

2. 环境信息

a. 运行环境:

  • ARM平台: Atlas 200I DK(Euler)
  • FPGA: Xilinx Virtex7 VC707
  • PCIe接口: PCIe 2.0 x4
  • 连接方式: 通过PCIe2.0 X4接口连接

b. 开发环境:

  • 开发主机:  
    • linux 主机:Linux x86_64 ubuntu 22.04 
    • windows主机:windows 11  12th_i9
  • 软件环境 
    • Vivado 2025.1
    • Ascend 310B相关开发环境

c. FPGA端bd设计

FPGA端采用XDMA IP核配置PCIe接口,接入DDR3.
![[Pasted image 20250715115118.png]]

3. 速率测试

在windows和atlas 200I arm平台分别进行测试:

传输方向Atlas 200I DK (Linux)Windows平台性能差异
H2C (主机到卡)1400 MB/s1600+ MB/s相对正常
C2H (卡到主机)598 MB/s1200+ MB/s严重性能衰减

已尝试的优化策略

  • 提高cpu亲和性
  • 多buffer拉取
  • 匹配DMA单次传输内存

性能提升非常有限,目前能达到615MB/S,但仍然无法满足项目需求(>625MB/s)。

请问如何优化C2H速率>625MB/s,望提供技术指导!

我要发帖子