一、背景

本次测试使用的FPGA型号为:xcku060-ffva1156-2-i

本次测试使用的DDR型号为:GDQ2BFAA-CE

本次测试方法为:尽力读写,读写地址随机,不关心是否读写错误,统计1秒内读写的数据量。

二、测试过程

1、DDR4 MIG核默认配置

2、各场景下读写测试结果

(1)包长1024Byte;先写1GByte数据量,再读1GByte数据量

读写数据量:251781505拍

读写效率:251781505 / 300MHz = 83.93%

(2)包长1024Byte;同时读写

读写数据量:69308272 + 69308034 = 138616306拍

读写效率:138616306 / 300MHz = 46.21%

(3)包长2048Byte;同时读写

读写数据量:93464475 + 93464269 = 186928744拍

读写效率:186928744 / 300MHz = 62.31%

(4)包长1024Byte;同时读写;MIG核勾选“force read and write commands to use autoprecharge when column address bit a3 is asserted high”

读写数据量:57977440 + 57977315 = 115954755拍

读写效率:115954755 / 300MHz = 38.65%

(5)包长2048Byte;同时读写;MIG核memory address map选项选择“row bank column”

读写数据量:47058688 + 47058713 = 94117401拍

读写效率:94117401 / 300MHz = 31.37%

(6)包长2048Byte;同时读写;MIG核memory address map选项选择“bank row column”

读写数据量:45503727 + 45503741 = 91007468拍

读写效率:91007468 / 300MHz = 30.34%

(7)包长2048Byte;同时读写;MIG核memory address map选项选择“row column bank intlv”

读写数据量:98617833 + 98617599 = 197235432拍

读写效率:197235432 / 300MHz = 65.75%

3、测试总结

读写方式对比:

序号

读写方式

MIG核memory address map

效率

1

包长1024Byte;先写1GByte数据量,再读1GByte数据量

row column bank

83.93%

2

包长1024Byte;同时读写

row column bank

46.21%

3

包长2048Byte;同时读写

row column bank

62.31%

MIG核memory address map对比:

序号

读写方式

MIG核memory address map

效率

1

包长2048Byte;同时读写

row column bank

62.31%

2

包长2048Byte;同时读写

row bank column

31.37%

3

包长2048Byte;同时读写

bank row column

30.34%

4

包长2048Byte;同时读写

row column bank intlv

65.75%

DDR读写比较耗时的地方主要为:读写切换、行激活、BANK激活。

Logo

海思 HiSpark 开发者社区是上海海思为开发者搭建的内容和交流平台,依托完备芯片解决方案、专业开发环境、开源/开放的软件资源与社区技术内容,构建完整服务生态开发者的闭环体系。

更多推荐