DDR看这篇就够了(持续更新)


DDR介绍

DDR的英文全称为double-data-rate 3 synchronous dynamic RAM,double指的是在SCLK进行双边缘信号采集,synchronous指的是同步信号,即数据的写入与读出都是经过时钟进行同步的,dynamic指的是动态刷新RAM中的值,因为DDR3是采用电容的电荷来表示数据是0还是1,我们知道电容都是不理想的,会有寄生参数ESR,当电容充满电表示1时,随着时间的流逝,电容的电会经过电容的ESR等寄生参数消耗掉,在电容掉电的过程中,如果不给电容充电也就是刷新,那么电容的电压就会逐渐变为0,最终导致所有的存储单元都变为零,正是因为这个原因所以需要DDR3内部进行动态刷新电位,及时补充损失掉的电荷![在这里插入图片描述](https://img-blog.csdnimg.cn/f995615141a84a9f9441ab4aafd51d67.jpg?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5LiA5Liq6I-c6bih55qE5bWM5YWl5byP5LmL6Lev,size_9,color_FFFFFF,t_70,g_se,x_16#pic_center)

提示:以下是本篇文章正文内容,下面案例可供参考

LPDDR3关键信号解析

DQ:数据线,对DDR的读写都是经过对DQ电平的写入,双向口,电平参考VREFFDQ
DM:数据输入屏蔽,数据写入的时候,如果DM为高,将屏蔽写入,为输入信号,参考电平为VREFFCA
DQS:数据选通,为双向数据,当需要对DDR进行写入时,发送端为主控,接收端为DDR,中心与写入的数据DQ中心对齐,当需要对DDR进行数据的读出时,发送端为DDR,接受端为主控,中心与数据DQ边缘对齐
注:写的时候DQS及DQ均是主控给的信号,所以采样点在DQ的中间能采集到最稳定的数据,读的时候DQS及DQ都是DDR给的,在主控端会进行延迟一段时间再去采样DQ的值
在这里插入图片描述

DDR走线要求

数据组:
单端信号要求走50Ω±10%,差分信号走100Ω±10%,其中DQ、DM为单端信号,DQS为差分信号。
DQS差分信号:走线宽度及差分线间距由PCB的叠层阻抗所决定
DQ数据线:DQ的走线宽度由PCB的叠层阻抗决定,组内走线间距需要走2W原则(两走线中心点距离为2倍走线宽度)
DQS和DQ走线间距:走线需要大于等于2W
不同数据组之间的间距:走线需要大于等于2W
DQS差分对之间最大延迟:1PS(1PS的延迟在PCB上大概对应6mil,所以我们要求差分对之间的等长控制在5Mil就一定不会出错)
DQS与DQ的最大延迟:5PS(1PS的延迟在PCB上大概对应6mil,所以我们要求差分对之间的等长控制在30Mil以内)
因为CLK与DQS之间的最大延迟可以接受为150ps,也就是每个数据组之间只要做到750mil内等长即可,但普遍控制在120mil以内
数据信号组为8位为一个字节即为一组,但还需要包括DQS和DQM(DQ0-7,DQM,DQS)
第二组信号为DQ8-DQ15,DQM,DQS在这里插入图片描述
时钟走线
时钟为差分对走线,差分阻抗为100Ω±10%,走线的宽度及差分线之间的距离由PCB的叠层所决定
时钟信号线由于未高频且上升沿非常陡,容易干扰别人,所以我们需要做到3W原则,即和其它信号走线最起码做到3倍线宽的净宽
差分对最大的延迟为:1PS即6mil,通常按5mil等长设计
时钟CLK与DQS之间允许的最大延迟为:150PS在这里插入图片描述

控制组
CSN:片选信号,当CS#为高时,所有信号无效,为输入信号,CS的参考电压为VREFFCA

CKE:时钟使能,高使能,低禁止,为输入信号,CKE的参考电压为VREFFCA
控组信号走线阻抗控制为50Ω±10%,走线的宽度由PCB的叠层决定,控制信号需要控制3W原则
控制信号与时钟之间的最大延迟为:5PS即30MIL在这里插入图片描述
地址组
地址信号我们需要控制阻抗为:50Ω±10%,走线的宽度由PCB叠层即阻抗需求所决定,走线之间的宽度需要控制3W原则
与SLK最大的延迟为:5ps,即30MIl

总结

通常我们是将地址组,控制组,时钟组作为一组进行等长处理,等长控制在100mil。

  • 3
    点赞
  • 76
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Xilinx平台的DDR3设计教程中的仿真篇主要介绍了如何使用Xilinx Vivado软件进行DDR3控制器的仿真。 首先,我们需要创建一个新的Vivado项目,并导入DDR3控制器的IP核。在新建的项目中,我们可以根据对DDR3控制器的需求进行配置,包括时钟频率、时序参数等。配置完成后,我们可以生成设计文件和约束文件,并准备进行仿真。 接下来,我们需要在Vivado中设置仿真环境。我们可以使用ModelSim或其他仿真工具来执行仿真,但需要确保与Vivado兼容。在设置仿真环境时,我们需要指定仿真的输入文件和仿真的时钟频率等参数。 然后,我们可以运行仿真。在仿真过程中,可以通过观察信号波形和输出消息来验证DDR3控制器是否正常工作。我们可以检查控制器的读写操作是否正确,时序是否满足要求,数据是否被正确传输等。 如果在仿真过程中发现了问题,我们可以使用Vivado提供的调试工具来帮助我们分析和排查问题。可以使用逐步仿真功能,逐步跟踪代码的执行过程,并观察信号的变化情况。还可以使用信号探查器来监视关键信号的数值,以便发现问题所在。 最后,如果仿真通过并且DDR3控制器按照预期工作,我们可以将设计文件导出到硬件平台进行验证和部署。可以生成比特流文件,直接加载到FPGA中进行硬件验证。 综上所述,Xilinx平台DDR3设计教程中的仿真篇详细介绍了使用Vivado软件进行DDR3控制器仿真的过程,并提供了一些调试工具来帮助我们分析和排查问题。通过仿真,我们可以验证DDR3控制器的功能和性能,并在实际硬件平台上进行验证和部署。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值