本节目录
一、Xilinx DDR3 MIG项目背景
二、Xilinx DDR3 MIG项目学习路线
三、Xilinx DDR3 MIG项目目录
订阅本专栏内容的者,可获取工程源码。具体获取方式,系列文章更新完成后,关注微信公众号“小灰灰的FPGA”,将自己的订阅信息以及所需要的项目,截图并私信给作者。
Xilinx DDR3 MIG系列专栏包括:MIG的硬件设计讲解,IP底层代码讲解(lut和时钟资源占用,时钟架构,初始化,写入均衡,ZQ校准),app接口和AXIfull接口代码讲解,仿真环境搭建以及讲解,各种DMA示例教程等。
具体章节目录见结尾。
本节内容
一、Xilinx DDR3 MIG项目背景
对于FPGA开发工作者来说,项目中内存控制器的使用必不可少。
本系列文章,以Xilinx DDR3 MIG为例进行实际项目开发,从而完成对DDR3的读写功能测试以及项目中用户接口开发工作。
二、Xilinx DDR3 MIG项目学习路线
DDR3控制器的学习路线,首先初步了解内存的基本概念以及原理,其次结合xilinx的EDA软件vivado进行实际项目开发,每个项目中包括ip例化,代码开发,仿真模型搭建及验证,以及上板验证,最后确保学习者可以通过一系列的实操项目,对项目中涉及到DDR3的功能开发,做到游刃有余。
具体的实际项目,分为三大类:
(1)是基于native app接口的项目,包括:
①Xilinx DDR3 MIG IP的例化之native app接口,
具体内容为ip核的例化,关键界面参数讲解,约束文件生成以及踩坑点;
②基于MIG(app) example的功能测试,
通过生成example的项目开发,用于评估硬件管脚以及配合测试demo板的功能开发;
③基于MIG(app)和vio控制的单地址读写、连续读写测试,
通过具体的地址读写功能测试,用于验证内存读写功能是否OK,辅助验证硬件设计;
④基于MIG(app)和单fifo用户接口的功能测试,
通过代码开发生成单fifo用户接口,用于内部业务开发使用;
⑤基于MIG(app)和单ram用户接口的功能测试,
通过代码开发生成单ram用户接口,用于内部业务开发使用;
⑥基于MIG(app)和axistream用户接口的功能测试,
通过代码开发生成axistream用户接口,用于内部业务开发使用;
⑦基于MIG(app)和RR仲裁的多用户接口的功能测试,
通过代码开发生成基于RR仲裁调度的多用户接口,用于内部业务开发使用;
(2)是基于axifull接口的项目,包括:
①Xilinx DDR3 MIG IP的例化之axifull接口,
具体内容为ip核的例化,关键界面参数讲解,约束文件生成以及踩坑点;
②基于MIG(axifull) example的功能测试,
通过生成example的项目开发,用于评估硬件管脚以及配合测试demo板的功能开发;
③基于MIG(axifull)和DMA核的读写功能测试,
通过代码开发生成基于DMA的用户接口,用于内部业务开发使用;
④基于MIG(axifull)和VDMA核的读写功能测试,
通过代码开发生成基于DMA的用户接口,用于内部业务开发使用;
(3)是基于开源控制的项目,包括:
①基于MIG(axifull)和FDMA的读写功能测试,
通过代码开发生成基于FDMA的用户接口,用于内部业务开发使用;
②基于MIG(axifull)和开源DMA的读写功能测试,
通过代码开发生成基于开源DMA的用户接口,用于内部业务开发使用;
③基于开源DDR3控制器和DMA的读写功能测试,
通过代码开发生成基于开源DDR3控制器和DMA的用户接口,用于内部业务开发使用;
三、Xilinx DDR3 MIG项目目录
该系列文章的具体目录如下
(1)内存基本概念及原理;
(2)Xilinx DDR3 MIG系列——Xiinx DDR3官方手册ds176_7series_MIS
(3)Xilinx DDR3 MIG系列——ddr3控制器的时钟架构
(4)Xilinx DDR3 MIG IP的例化之native app接口;
(5)基于MIG(app) example的功能测试;
(6)基于MIG(app)和vio控制的单地址读写、连续读写测试;
(7)基于MIG(app)和单fifo用户接口的功能测试;
(8)基于MIG(app)和单ram用户接口的功能测试;
(9)基于MIG(app)和axistream用户接口的功能测试;
(10)基于MIG(app)和RR仲裁的多用户接口的功能测试;
(11)Xilinx DDR3 MIG IP的例化之axifull接口;
(12)基于MIG(axifull) example的功能测试;
(13)基于MIG(axifull)和DMA核的读写功能测试;
(14)基于MIG(axifull)和VDMA核的读写功能测试;
(15)基于MIG(axifull)和FDMA的读写功能测试;
(16)基于MIG(axifull)和开源DMA的读写功能测试;
(17)基于开源DDR3控制器和DMA的读写功能测试;
(1)内存基本概念及原理
一、内存简介
(1)内存基本存储原理
(2)内存频率
(3)DDR数据预取技术(Prefetch)
(4)DDR3工作流程
(5)DDR3控制器的特点
二、内存基本参数
(1)物理Bank
(2)逻辑Bank
(3)内存芯片容量
(4)行激活命令—tRCD
(5)列选通—CL
(6)写入延迟—tDQSS
(7)行预充电有效周期—tRP
(8)数据掩码—DQM
(9)数据选取脉冲—DQS
(10)突发长度—burst length
(11)刷新—Refresh
(12)模式寄存器—MR0、MR1、MR2、MR3
(2)Xiinx DDR3官方手册ds176_7series_MIS
一、官方手册ds176_7series_MIS
1、DDR3功能支持
2、MIG官方手册资源
3、Vivado DDR3 MIG IP资源表的导出与查看
(3)ddr3控制器的时钟架构
1、PLL输入时钟——系统时钟system_clk
2、PLL输入时钟——sync_pulse、mem_refclk、freq_refclk、MMCM1的输入时钟
3、MMCM1的输入时钟和输出时钟
4、MMCM2的输出时钟和输出时钟