DDR3介绍

DDR3芯片以 镁光(Micron)MT41J256M16为例:

MT41J256M16 – 32 Meg x 16 x 8 banks:在我看来,一共能存储256M的16位数,一共4G。


地址:


命名规则

要注意的在ConfigurationSpeed Grade两项。规定了存储配置和时钟速度。


内部结构:


管脚信息:


The differential data strobe (DQS, DQS#) is transmitted externally, along with data, for use in data capture at the DDR3 SDRAM input receiver. DQS is center-aligned with data for WRITEs. The read data is transmitted by the DDR3 SDRAM and edge-aligned to the data strobes.

DQS信号在写时,是与data中心对齐的;在读时,是边缘对齐的(也就是一起开始传输)。

The DDR3 SDRAM operates from a differential clock (CK and CK#). The crossing of CK going HIGH and CK# going LOW is referred to as the positive edge of CK. Control, command, and address signals are registered at every positive edge of CK. Input data is registered on the first rising edge of DQS after the WRITE preamble, and output data is referenced on the first rising edge of DQS after the READ preamble.

Read and write accesses to the DDR3 SDRAM are burst-oriented. Accesses start at a selected location and continue for a programmed number of locations in a programmed sequence. Accesses begin with the registration of an ACTIVATE command, which is then followed by a READ or WRITE command. The address bits registered coincident with the ACTIVATE command are used to select the bank and row to be accessed. The address bits registered coincident with the READ or WRITE commands are used to select the bank and the starting column location for the burst access.

The device uses a READ and WRITE BL8 and BC4. An auto precharge function may be enabled to provide a self-timed row precharge that is initiated at the end of the burst access.

写和读都是突发传输的,突发长度可以是BL8BC4,在发送读命令和写命令时,可以通过A12/BC#引脚进行切换。

芯片资料中还有一堆参数,电路的,用于时序分析的,还有命令和读写时序等。如果使用xilinx IP核mig进行开发,如果有这种芯片型号,这些都会自动配置好;没有的话,就得自己根据参数进行配置。

芯片资料暂时就了解到这里。。。


开发板原理图:
采用两片DDR3将数据位宽变成32位,地址和控制管脚共用,DQ、DQS、DM信号分开。


MIG IP配置:



兼容性选择:

芯片类型:


(Clock Period)这里注意运行频率是所给时钟的两倍,即CLK是400M的,但是跑起来是800M。
此速度也是会受到FPGA和器件速度等级等因素的限制。

PHY to Controller Clock Ratio自动生成,这里显示为4:1,那么,用户时钟就是100M的(IP例化时的ui_clk信号)。


如果没有已知类型,那么就得回去看芯片资料确定参数。


1.可以看到输入时钟为200M。

2.Memory Address Mapping Selection:BANK、ROW、COLUMN.

3.这里还要注意突发长度:


只支持BL8突发传输,所以32bits的数据接口,在用户端,每次就是32*8=256bitsapp_wdf_data变量是256位的)。


System Reset Polarity:选择的是低有效,例化时要注意。




配置详情要参考手册UG586。


Block Diagram:

利用MIG IP核,我们只需要关注用户侧,User Interface。与DDR芯片连接的物理管脚,我们只需要知道约束就行。

用户接口信号:


注意地址信号:

在我的设计中,地址信号如下所示。

wire [28:0]      app_addr;   //([0:0]Rank, [2:0]bank, [14:0]row, [9:0]colum)

Command Path:

Write Path:

Read Path:


在DDR中写数,然后读出,效果不错。随着状态机的优化,读出的时序好了很多,基本上连续。


读出时,要等待一段时间,会延后较多,感觉是FIFO的原因,可以加一个等待读完成的状态,便于控制。

DDR3 MIG上板测试记录相关推荐

  1. FPGA中关于“后仿真正常,但上板测试出错”的问题

    FPGA中关于"后仿真正常,但上板测试出错"的问题 求助帖 做的是矩阵键盘的扫描程序,后仿真的扫描波形正常: 但上板子测试的时候用chipscope看扫描的波形却是这个样子的: 有 ...

  2. 基于FPGA的简易数字频率计+上板测试(小梅哥AC620FPGA开发板)

    基于FPGA的简易数字频率计+上板测试(小梅哥AC620FPGA开发板 目录 主要架构 1.计数模块 2.数码显示模块 3.控制信号模块 4.分频模块 例化模块 上板测试图 附:74HC595移位寄存 ...

  3. 基于FPGA的DDS在Vivado中仿真以及在ZYNQ7020上板的实现(2)

    接上一节,从仿真文件的编写开始 (三)仿真文件testbench 1)首先先点击add source 2)建立 simulation source文件 3)点击create file 4)给文件命名 ...

  4. 可调时钟频率——IP核PLL/MMCM仿真及上板实验(Vivado)

    一.说明 实现平台:vivado2018.3 实验设备:领航者V2(ZYNQ7020),示波器一台 二.原理 在大多数实验项目中,所需要的时钟频率不尽相同,因此需要根据需求产生特定的时钟频率. PLL ...

  5. DDR2 MIG核与DDR3 MIG核使用区别

    本文中所讲DDR2 MIG核是V5芯片的MIG核,DDR3 MIG核是K7芯片的MIG核. 一.建核区别 DDR2 MIg核的建立过程与DDR3 Mig核的建立过程基本内容都是一致.具体建核教程在相应 ...

  6. 为自动化测试装上精准测试的“翅膀

    现代的专业软件测试中心,随着项目的迭代,通常针对每个系统构建了大量的自动化测试用例集,而启动一次全量的自动化测试以CI级触发,使之大比率通过,非常困难.测试工程师们常常需要投入很高的成本,把大量精力花 ...

  7. FPGA中DDR3 MIG ip核使用说明

    此篇是我在学习中做的归纳与总结,其中如果存在版权或知识错误请直接联系我,欢迎留言. PS:本着知识共享的原则,此篇博客可以随意转载,但请标明出处! 目录 1.DDR3工作原理 简介: DDR基础操作步 ...

  8. FPGA之道(20)FPGA设计的上板调试与项目总结

    文章目录 前言 FPGA设计的上板调试 "实践是检验真理的唯一标准" 如何解决问题 如何找到问题 "时间是检验真理的第二标准" 项目总结.备份与后期维护 前言 ...

  9. FB接连出事儿?上亿用户记录在亚马逊云服务器上就公之于众了……下滑到第七?领英说苹果怎么就不受雇员欢迎了呢? | 极客头条...

    戳蓝字"CSDN云计算"关注我们哦! 极客头条:速递.最新.绝对有料.这里有企业新动.这里有业界要闻,打起十二分精神,紧跟fashion你可以的! 每周三次,打卡即read 更快. ...

最新文章

  1. latex 参考文献没有显示_甜甜的磕盐路 | LaTeX论文排版小贴士
  2. wxWidgets:wxWizardEvent类用法
  3. 20145238-荆玉茗 《信息安全系统设计基础》第7周学习总结
  4. linux 计算集群搭建,使用centos构建服务器计算集群
  5. [看书笔记]《深入java虚拟机》——java体系结构(二)
  6. 域内计算机如何同步网络t时间,网络节点的同步方法
  7. BBC纪录片任正非谈创业:华为是谁?
  8. 当上项目经理才知道!linuxmysql执行sql文件命令
  9. 浅谈JSONP 的本质工作原理
  10. 量化指标公式源码_最牛通达信量化副图指标公式源码.doc
  11. 易语言lol自动接受源码分享以及lolApi相关使用教程
  12. 监控软件Zabbix安装使用
  13. 强大的网页数据库管理工具Adminer
  14. aria2linux安装教程,Ubuntu 安装下载工具 Aria2
  15. “不用着急,慢慢来”,英语怎么说?
  16. 第五节 结构化分析模型
  17. Fleck WebSocket使用
  18. 计算机关机桌面就还原,电脑重启后桌面还原怎么办
  19. Transform 被废弃,ASM 如何适配?
  20. 【投资学】股票基本知识学习

热门文章

  1. 我的世界服务器整人系列,我的世界:整人还在用TNT?老玩家用这7个道具简直谁见谁怕!...
  2. android系统自带字体设置,安卓手机系统字体设置-系统字体设置(Big Font) 安卓版v2.37-PC6安卓网...
  3. 梦回JDBC —— (Statement对象)
  4. 【刷机】nubia z17 root 刷入twrp
  5. 云原生改造的实现路径
  6. C语言:递归实现N的阶乘
  7. 算法时代必读——《算法霸权》数学杀伤性武器的威胁
  8. Echarts tooltip 自定义 css 样式 带小三角的背景样式
  9. 广度优先爬虫python_python广度优先
  10. Hu不变矩原理及opencv实现