前言DDR SDRAM 全称为 Double Data Rate SDRAM,中文名为“双倍数据流 SDRAM”。DDR SDRAM 在原有的 SDRAM 的基础上改进而来。也正因为如此,DDR 能够凭借着转产成本优势来打败昔日的对手 RDRAM,成为当今的主流。DDR3第四代SDRAM,第一代SDR SDRAM,第二代DDR SDRAM,第三代DDR2 SDRAM,第四代DDR3 SDRAM。 很多人将SDRAM错误的理解为第一代,也就是 SDR SDRAM,并且作为名词解释,皆属误导。

日常·唠嗑:对于深入做项目来说,DDR是必不可少的,特别是在做图像处理或者数据交互的时候。最近在做车牌识别的时候,就遇到了很多关于DDR数据读写的难题,好在查阅相关资料,以及在诸多大佬的帮助下,问题顺利解决了。

进入正文
MIG IP 控制器是 Xilinx 为用户提供的一个 DDR 控制的 IP, 这样用户即使不了解 DDR 的控制和
读写时序也能通过 DDR 控制器方便的读写 DDR 存储器。7 系列的 DDR 控制器的解决方案如下所
示:

DDR3 控制器包含 3 部分:用户接口模块(User interface Block), 存储器控制模块(Memory
Controller)和 DDR3 的物理接口(Physical Layer)。开发人员只需要开发用户的逻辑设计跟 DDR 控制
器的用户接口对接来读写 DDR3 的数据。关于 DDR3 控制器用户端的接口定义和时序的更多介绍,
大家还是参考 Xilinx 提供的文档(UG586),接下来为大家介绍如何生成和配置 DDR3 控制器吧!

1、首先在 Vivado 环境里新建一个项目,取名为 ddr3_test。再点击 Project Manager 界面下的 IP
Catalog,打开 IP Catalog 界面。

2、在 IP Catalog 界面里双击 Memories & Storage Elements\Memory Interface Generators 下的
Memory Interface Generator (MIG 7 Series)。

3、点击 Next, 如果有同学想了解更多的 MIG 的信息,可以点击左边的 User Guide 按钮来打开 Xilinx
的相关文档来查看。

4、修改 Component Name 为"ddr3",点击 Next。

5、这里可以选择兼容芯片,我们不需要,点 Next。

6、选择默认的 DDR3 SDRAM。

7、我使用的板是黑金的AX7050 开发板。 Memory Part 选择开发板上的型号"MT41J256m16xx-125", Data Width 数据宽度选择 32 位。

8、 选择 PLL 输入时钟的频率为 200Mhz, 这个时钟需要跟开发板上的时钟频率一致,其它设置输出
阻抗值和内部的 ODT 内部上拉电阻值来改善 DDR3 的信号完整性,一般不需要修改。

9、 System Clock 选择差分"No Buffer", Reference Clock 因为开发板上没有提供单独的 DDR 参考时钟,所以选择"Use System Clock"。System Reset Polarity 选择"ACTIVE LOW"。

10、 HR bank 的内部端接阻抗,这里为 50 ohms,不用修改。这是由核心板的硬件设计决定的。

11、 点击第二项,我们需要设定一下 DDR 的管脚,点击 Next。

12.、在这个界面里设置 DDR3 的数据、地址和控制信号的 FPGA 管脚分配和 IO 电平。这个手工分配
起来还是比较费劲的,用户可以使用点击“Read XDC/UCF”按键直接导入管脚分配文件。导入后
ddr3 的管脚分配如下。

导入ucf文件就可以完成 ddr3 的管脚分配


再点击"validate" 按验证一下,通过后点击 Next。

13、这里软件默认设置,直接点击 Next。

14、显示 ddr3 IP 配置的概况,检查一下,没有问题就点击 Next。

15、选择 Accept, 点击 Next。


16、 点击 Generate 按钮生成 MIG 控制器。

17、点击 Generate 按钮生成 MIG 相关的设计文档。

18、 这时在项目中添加了一个 ddr3 的 IP。关于 MIG 7 Series 详细介绍请大家参考 Xilinx 提供的文档“ug586_7Series_MIS.pdf”。

总结:到第18步,MIG IP的设计就基本完成了,下次有时间再做一篇DDR3读写测试文章。
本文章参考了黑金AX7050使用手册,以及black_pigeon的基于MIG IP核的DDR3控制器一文。

DDR3:MIG控制器设计(vivado)相关推荐

  1. Xilinx MIG 控制器使用详解(二)

    想要自己学习MIG控制器已经很久了,刚开始学习的时候也是在网上到处搜索MIG控制器的资料,深知学习过程的不容易.因此本系列的教程一定会详细的写出关于MIG控制器的相关知识,方便大家一起学习.有问题的朋 ...

  2. Xilinx MIG 控制器使用详解(一)

    想要自己学习MIG控制器已经很久了,刚开始学习的时候也是在网上到处搜索MIG控制器的资料,深知学习过程的不容易.因此本系列的教程一定会详细的写出关于MIG控制器的相关知识,方便大家一起学习.有问题的朋 ...

  3. 【DDR3 控制器设计】(1)MIG IP 核的详解与配置

    写在前面 本系列为 DDR3 控制器设计总结,此系列包含 DDR3 控制器相关设计:认识 MIG.初始化.读写操作.FIFO 接口等.通过此系列的学习可以加深对 DDR3 读写时序的理解以及 FIFO ...

  4. 基于MIG控制器的DDR3读写控制详解

    基于MIG控制器的DDR3读写控制详解 目的:详细介绍FPGA中基于MIG IP核控制的DDR3详细控制及内部逻辑 平台:AX7350-Xilinx 软件:Vivado 2017.4 1.MIG IP ...

  5. 【DDR3 控制器设计】系列博客汇总篇(附直达链接)

    写在前面 本篇为 DDR3 控制器设计系列博客的汇总篇,此系列包含 DDR3 的相关实验:认识 MIG.初始化.读写操作.FIFO 接口等,并附上直达链接. 目前只更新了部分文章,持续学习更新中... ...

  6. 【DDR3 控制器设计】(5)DDR3 的仲裁读写操作设计

    写在前面 本系列为 DDR3 控制器设计总结,此系列包含 DDR3 控制器相关设计:认识 MIG.初始化.读写操作.FIFO 接口等.通过此系列的学习可以加深对 DDR3 读写时序的理解以及 FIFO ...

  7. 【DDR3 控制器设计】(4)DDR3 的读操作设计

    写在前面 本系列为 DDR3 控制器设计总结,此系列包含 DDR3 控制器相关设计:认识 MIG.初始化.读写操作.FIFO 接口等.通过此系列的学习可以加深对 DDR3 读写时序的理解以及 FIFO ...

  8. 【DDR3 控制器设计】(7)DDR3 的用户端口读写模块设计

    写在前面 本系列为 DDR3 控制器设计总结,此系列包含 DDR3 控制器相关设计:认识 MIG.初始化.读写操作.FIFO 接口等.通过此系列的学习可以加深对 DDR3 读写时序的理解以及 FIFO ...

  9. 【DDR3 控制器设计】(3)DDR3 的写操作设计

    写在前面 本系列为 DDR3 控制器设计总结,此系列包含 DDR3 控制器相关设计:认识 MIG.初始化.读写操作.FIFO 接口等.通过此系列的学习可以加深对 DDR3 读写时序的理解以及 FIFO ...

  10. 【DDR3 控制器设计】(2)DDR3 初始化测试

    写在前面 本系列为 DDR3 控制器设计总结,此系列包含 DDR3 控制器相关设计:认识 MIG.初始化.读写操作.FIFO 接口等.通过此系列的学习可以加深对 DDR3 读写时序的理解以及 FIFO ...

最新文章

  1. 视觉SLAM开源算法ORB-SLAM3 原理与代码解析
  2. 大家好,给大家介绍一下,我们的主题歌 @虾米音乐
  3. 【Storage】Ubuntu LVM 安装配置
  4. DDos游戏行业受攻击最多
  5. IIS7下 301重定向 添加WWW
  6. 获得本页面URL地址
  7. 单个正态总体均值的区间估计_假设检验09---单个正态总体参数的假设检验
  8. 从numpy里加载_PyTorch强化:01.PyTorch 数据加载和处理
  9. 三种方式实现轮播图功能
  10. POJ 3667 Hotel 线段树区间合并
  11. badboy + jmeter并发性能测试
  12. Android Studio创建侧滑菜单使用心得
  13. linux su - 用户名,在Linux中,su命令 (切换用户)
  14. 如何安装JCreator
  15. ApiPost 测试工具
  16. p值小于0.05拒绝还是接受_干货:关乎你的实验成败,0.05这个值不容小觑!
  17. 在 Vue2 中引入高德地图和三维模型
  18. 字符串分隔StringUtils.delimitedListToStringArray
  19. JSP房地产门户管理系统myeclipse开发mysql数据库BS模式java编程网页结构详细设计
  20. ERP系统如何通过存储过程导出报表数据

热门文章

  1. C语言学习7:ASCII码表及用法简介
  2. 第二届跨校大学生双创训练营任务方案开源1——任务介绍
  3. 无pygame写一个python贪吃蛇
  4. ghost for linux 教程,今天解决了ghost for linux的问题
  5. springmvc-带预览的异步上传图片功能
  6. 为何snapgene闪退?DNA序列无法显示?
  7. AVOD-理解系列(一)
  8. 【51单片机快速入门指南】6.2:SPI 、八线、四线控制 LCD12864 屏幕及Proteus的仿真(支持中文汉字)
  9. 【数学建模】BP神经网络算法模型
  10. Message: 不允许有匹配 “[xX][mM][lL]“ 的处理指令目标解决