本系列整理一下基于 Xilinx A7 芯片的 DDR3 的使用,此处采用的 DDR3 IP核为软核,即采用 FPGA 逻辑单元、寄存器、查找表等搭建出来 IP核。从 IP 核的调取开始,接着读写测试,最后争取实现一个基于 DDR3 的完整小项目。
 
1、建立工程,点击 IP Catalog,在界面右侧输入 memory,选择 IP,双击打开。
 
2、打开 DDR3 IP 核调取界面,该界面中主要是总结了所选芯片的型号等,点击 Next。
 
3、定义控制器名称,输入控制器数量,Next。(AXI4 Interface 是AXI格式的MIG核,不勾是传统的接口信号格式。)
 
4、如果有我们的芯片型号则勾选,没有则不选,Next。
 
5、选择控制器类型,Next。
 
6、设置 DDR3 控制器的若干参数,Next。
Clock Period   : 给DDR3的同步的时钟,此时钟再产生DDR3的800M(400M时钟双沿传递),不用管warning,在此我们设置为 400MHz,若是 FPGA 芯片速度等级不同,则可能该工作频率的范围不一样
Memory Part : 选择 DDR3 SDRAM 的芯片类型,此处需要根据开发板上的芯片类型来选择,若是列表内没有相应的芯片类型,则可以在 Create Custom Part 中根据 DDR3 芯片参数来设定
DDR3的带宽计算 : 400 * 2 * 16 = 12.8 Gbps (400: 控制器 PHY 的时钟, 2: DDR 双沿采样, 16: 16bit,bus 的位宽。)
DDR3控制器是半双工模式(分时读写),平均分配的话每个操作占有 .4Gbps 的理论带宽,实际没有那么多,因为刷新、激活、读写指令等也都会占用周期。因此实际应用我们会*.8来考虑。
 
7、设置 DDR3 控制器的若干参数。在此设定该控制器的输入时钟频率为 200MHz,倍频即为之前的400Mhz,控制器的突发类型为顺序性,其他默认即可,Next。
 
8、设置系统时钟和参考时钟,Next。
系统时钟
--------------------------------------------------------------------------
single_ended :来源于引脚的单端时钟
deferential :差分时钟
no buffer :来源于 FPGA 内部的时钟。 参考时钟
--------------------------------------------------------------------------
single_ended、deferential、no buffer,
use system clock:只有在 system clock 时钟频率为199MHZ~201MHz 时,才存在该选项。
 
9、设置内部终端电阻值,此处根据 DDR3 SDRAM芯片手册选择,默认问题也不大。Next。
 
10、第一项为新设计,第二项为可导入已存在的 UCF 或 XDC 引脚约束文件。Next。

 
11、先点击 Read XDC/UCF 导入相应的引脚约束文件,再点击 Validate 进行验证,然后点击 Next。
 
12、型号名称和一些设置,可以默认,若无法 Next,则随便选一个,后面还可以更改,Next。
 
13、总结页面,Next。
 
14、选择 Accept,Next。
 
15、直接 Next。
 
16、点击 Generate 生成 IP 核。
 
17、生成后,在本次的目录 DDR3_HDMI\DDR3_HDMI.srcs\sources_1\ip\ddr3_ctrl\ddr3_ctrl 中可以看到生成的3个文件夹,说明我们此次 DDR3 IP 核调取成功。
docs           : 该IP核相关文档,如使用方法等。
example_design : 该IP核参考例程,仿真模型等。
user_design : 用户可使用的文件,如综合文件、约束文件。
以上。
 
参考资料:威三学院FPGA教程

DDR3(1):IP核调取的更多相关文章

  1. Xilinx DDR3 IP核使用问题汇总(持续更新)和感悟

    一度因为DDR3的IP核使用而发狂. 后来因为解决问题,得一感悟.后面此贴会完整讲述ddr3 ip的使用.(XILINX K7) 感悟:对于有供应商支持的产品,遇到问题找官方的流程.按照官方的指导进行 ...

  2. Lattice 的 DDR IP核使用调试笔记之工程建立

    DDR3的IP核的使用相当重要,尤其是对视频处理方面. 下面接收DDR3 的IP 核的生成步骤. 1. 选择DDR IP核的生成路径.名字以及哪种语言之后就可以设置DDR IP 的参数了. 2.选择存 ...

  3. 在使用FPGA来控制DDR3/DDR2 IP 的时候两个错误的解决办法

    对于熟悉Intel FPGA的老(gong)司(cheng)机(shi)来说,外部存储器的控制早已是轻车熟路,但是对于新手,DDR3/DDR2 的IP使用也许并没有那么简单,不过没关系,骏龙的培训网站 ...

  4. 基于MIG IP核的DDR3控制器(一)

    最近学习了DDR3控制器的使用,也用着DDR完成了一些简单工作,想着以后一段可能只用封装过后的IP核,可能会忘记DDR3控制器的一些内容,想着把这个DDR控制器的编写过程记录下来,便于我自己以后查看吧 ...

  5. Lattice 的 DDR IP核使用调试笔记之DDR 的 仿真

    —— 远航路上ing 整理于 博客园.转载请标明出处. 在上节建立完工程之后,要想明确DDR IP的使用细节,最好是做仿真.然后参考仿真来控制IP 核. 仿真的建立: 1.在IP核内的以下路径找到以下 ...

  6. Lattice 的 Framebuffer IP核使用调试笔记之datasheet笔记

    本文由远航路上ing 原创,转载请标明出处. 学习使用以及调试Framebuffer IP 核已经有一段时间了,调试的时候总想记录些东西,可是忙的时候就没有时间来写,只有先找个地方记录下,以后再总结. ...

  7. 调用altera IP核的仿真流程—下

    调用altera IP核的仿真流程—下 编译 在 WorkSpace 窗口的 counter_tst.v上点击右键,如果选择Compile selected 则编译选中的文件,Compile All是 ...

  8. 调用altera IP核的仿真流程—上

    调用altera IP核的仿真流程—上 在学习本节内容之后,请详细阅读<基于modelsim-SE的简单仿真流程>,因为本节是基于<基于modelsim-SE的简单仿真流程>的 ...

  9. (转)modelsim10.0C编译ISE14.7的xilinx库(xilinx ip核)

    原地址modelsim10.0C编译ISE14.7的xilinx库(xilinx ip核)   1.打开D:\Xilinx\14.7\ISE_DS\ISE\bin\nt64\compxlibgui.e ...

随机推荐

  1. JavaScript面向对象①

    什么是对象 对象是一个整体,对外提供一些操作 什么是面向对象 使用对象时,只关注对象提供的功能,不关注其内部细节:比如jQuery 面向对象编程(OOP)的特点(自己理解的特点:把书本上多态放在类继承 ...

  2. AIX系统逻辑卷管理

    前言: 前期项目需要部署多套AIX环境下RAC集群,之前很少接触AIX系统,上来被创建逻辑卷等基本命令打脸了,其实网上搜下资料很多,总结一下,也是方便自己日后查阅. 创建逻辑卷 1.查看所有磁盘设备 ...

  3. Zabbix监控服务器磁盘I/O

    一.场景说明: 需要使用Zabbix监控服务器上各个磁盘的I/O使用率,当zabbix自身带的item无法满足我们的时候,则需自定义item.     包括: 磁盘读的次数 磁盘读的毫秒数 磁盘写的次 ...

  4. centos7.2下安装python3.6.5

    yum groupinstall 'Development Tools' 出现错误 系统 centos 7.3 使用命令 yum groupinstall 'Development Tools' 出现 ...

  5. 跳过__wakeup()魔法函数

    __wakeup():将在序列化之后立即被调用. 漏洞原理:当反序列化字符串中,表示属性个数的值大于其真实值,则跳过__wakeup()执行.     参考题目:xctf-unserialize3 h ...

  6. Django中ModelViewSet的应用

    ModelViewSet源码 class ModelViewSet(mixins.CreateModelMixin, mixins.RetrieveModelMixin, mixins.UpdateM ...

  7. C语言常用库函数实现

    1.memcpy函数 memcpy 函数用于 把资源内存(src所指向的内存区域) 拷贝到目标内存(dest所指向的内存区域):拷贝多少个?有一个size变量控制拷贝的字节数: 函数原型:void * ...

  8. 最全BT磁力搜索引擎索引(整理分享,不断更新...)

    最全BT磁力搜索引擎索引(整理分享,不断更新...) btkitty:http://cnbtkitty.com/(知名的BT磁力搜索,资源很多) idope.se:https://idope.se/( ...

  9. learning shell check requires root privileges

    [Purpose]        Shell script check requires root privileges   [Eevironment]        Ubuntu 16.04 bas ...

  10. Pandas | 21 日期功能

    日期功能扩展了时间序列,在财务数据分析中起主要作用.在处理日期数据的同时,我们经常会遇到以下情况 - 生成日期序列 将日期序列转换为不同的频率 创建一个日期范围 通过指定周期和频率,使用date.ra ...