DDR4 MIG IP核 FPGA使用及读写测试

**前言**

Xilinx提供了这样的IP核,名为MIG(Memory Interface Generator),它可以为提供DDR3、DDR4等多种存储器提供接口。本次DDR4读写采用的就是这个IP核,不过7系的FPGA与UltraScale系的FPGA所所对应的MIG IP核在客制化上有所区别,本文暂且只讨论UltraScale+系列FPGA所对应的MIG IP核,并且只针对DDR4的使用。

从手册上来看,该IP核的基本结构如下图所示:
DDR4 MIG IP核 FPGA使用及读写测试_第1张图片
笔者的硬件条件为xilinx加速板卡KCU1500,和DDR3 控制一样,绝大多数采用的都是xilinx官方IP核的方案,用户需要做的就是和MIG 进行交互,而无需直接过多的关注DDR4本身的机制,首先我们需要对IP核进行配置:
具体配置看下图:
DDR4 MIG IP核 FPGA使用及读写测试_第2张图片
DDR4 MIG IP核 FPGA使用及读写测试_第3张图片
DDR4 MIG IP核 FPGA使用及读写测试_第4张图片

DDR4 MIG IP核 FPGA使用及读写测试_第5张图片

DDR4 MIG IP核 FPGA使用及读写测试_第6张图片

生成IP核之后,右键产生:
DDR4 MIG IP核 FPGA使用及读写测试_第7张图片
DDR4 MIG IP核 FPGA使用及读写测试_第8张图片
DDR4 MIG IP核 FPGA使用及读写测试_第9张图片
下一步就是在基础上加入自己的管理接口,可以参考以前的DDR3的架构,笔者认为S6时代的控制架构是非常值得借鉴的,可以讲DDR4分为若干个空间,接收不同类型的数据,通过FIFO轮询,效率是非常不错的!到目前为止,KCU1500的硬件基本都测通了,可以用它来处理实际数据了!
DDR4 MIG IP核 FPGA使用及读写测试_第10张图片
笔者的需求是通过QSFP接收原始中频数据,进过处理之后,通过PCIE上传给用户上位机!

你可能感兴趣的:(DDR4)