基于PCIE总线的双FPGA板卡之间数据通信效率测试

2 篇文章 3 订阅

1、设计了一块板卡,板载两片FPGA,FPGA之间分别通过几种不同的数据通信方式进行数据互传,系统测试架构如下:

 

1.1、FPGA#1通过pcie总线连接linux系统主机#1,FPGA#2通过pcie总线连接Windows系统主机#2;

1.2、linux系统主机#1不间断地发送数据给FPGA1,送到FPGA2的RAM,Windows系统主机#2读取FPGA2中ram中的数据。

1.3、进行连续24小时不间断测试,保证数据传输的正确性。

2、双FPGA之间通过以下方式进行数据通信:

2.1、通过并行数据线传输;

2.2、通过lvds串行数据传输;

2.3、采用aurora8B/10B协议通过GTP高速串行总线传输;

2.4、采用SRIO  [Rapid IO]方式;

 

3、记录数据传输的效率,看看最快能达到bps

3.1、比较测试每一种传输方式单次最大的数据传输量;【主机通过PCIE单次能发送的最大数据包大小】

3.2、计算linux主机发送数据到FPGA#1接收需要的时间;

3.3、计算不同的传输方式,单次数据传输从FPGA#1开始发送到FPGA#2接收完成需要的时间;

3.4、计算windows主机开始读数据直到数据读完需要的时间;

 

4、时间统计:现在以2K数据包读写做测试:

 

 

4.2、计算PC开始写数据到写入FPGA写完,这段的时间间隔T1

 

 

 

pos_pc_wr_complete,用PC写完成信号触发,随机截图1,2,  3,4:发现大部分在10000-16000之间,偶尔20000+,30000+的也会出现,每个时钟周期是8纳秒,那么这个写周期时间大概是80000纳秒--240000纳秒左右,也就是说PC从开始写数据到写完成的时间大概是80us-240us;

 

 

4.3、从pc写ram写完到FPGA开始传数据到对方FPGA这一段时间T2,可以忽略不计,是立即开始的,下图:

 

 

4.4、测试FGGA1开始将数据传输到FPGA2 中完成的时间:【这里计算方法有误,这个时间应该是固定的,下次重新补图】

 

 

 

4.5、从FPGA发出中断告诉CPU可以读数据了,到CPU读完数据的时间。

 

 

 

  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值