原创 by DeeZeng

DDR4 是否兼容,拿更快速度的DDR4,是否可以不改FPGA工程,直接换料就能直接用?

实际工作中,经常会碰到因为DDR3/4 或其他料件换料了,需要判断FPGA工程中IP设置需要重新改动,或是兼容直接换料就可行。

 

那如何判断DDR4是否兼容呢?
 比如由于DDR4的更新换代,速度慢的已经不生产了,而FPGA速度一般固定在那了。
那我们IP是以 原来速度慢的如2133 设定,还是以新的 2666设定再将clock设定对应到2133呢?
1. 以速度慢的设定,会担心是否兼容
2. 以速度快的设定,会担心只是降速可行吗,CL那些设定是否需要变动。
  
 
那如何设定比较好?

我个人倾向用 跑的速度的 speed bin 去设定,然后确认speed bin 是兼容的。

比如 DDR4 将换成2666 的chip, 但Arria 10 工程 只跑2133 或2400 的速度, 那我就按照2133 或 2400 的 speed bin 来设置。

但会需要确认 2133 、2400 speed bin 是被 2666 的chip 向下兼容的。

怎样查看Speed Bin 是否兼容呢?

很简单, DDR4的datasheet中就有提,比如 Micron的这颗(随便找的一颗)

 
Datasheet中有一个 Backward Compatibility 表格:

比如 我们选定 2666 的 component speed bin 是 075E。  那考虑兼容的时候 就会看到 不兼容 2400的 083E

这样设定IP的时候 我们就可以设定 2133 的093 或 093E speed bin  或 2400的 083 speed bin,而2400的083E speed bin 是不行的。

为什么会这样呢? 那有些参数是随 clock rate 变化的比如多少UI 是没影响。 但tRCD,tRP则是另外的情况,当然我们直接看兼容表就行了。

从兼容表也可以看出,并不是速度快就能直接替代速度慢的,有些参数还是不行的。 选替代料的时候需要注意一下。

这样我们就可以以运行速度进行IP设置,且能确定是否兼容!

是不是很简单,查看一下兼容表确认下就好!


题外话:Data Bus Inversion(DBI)  这个功能可以在IP 中使能与否。

打开它可以让DQ IO 翻转更少,降低功耗。但它同时会增加latency(毕竟要多出一些判断来确定DQ 如何翻转)

可以在 Speed Bin 中看到:

所以打开DBI 与否 对 CL 的设定是有影响的。

 

最新文章

  1. iOS-App发布证书的申请与使用
  2. diff输出格式解析
  3. Delphi String 常用字串符处理函数
  4. 深入Linux网络核心堆栈(对于netfilter的用法和讲解)
  5. bzoj 2326: [HNOI2011]数学作业
  6. Oracle EBS-SQL (BOM-16):检查多层BOM.sql
  7. HDU 5785 Interesting
  8. UVA 1617 Laptop
  9. HelloGithub
  10. 回答集编程背景(Answer Set Programming)
  11. 自学Zabbix1.1-简介
  12. #018 C语言刷题 素数问题
  13. insmod 时报错“Unknown symbol”问题的解决
  14. Git上传空文件夹的方法
  15. NPOI 操作笔记
  16. Qt Designer中文入门教程
  17. CSS3 颜色属性
  18. python基础学习1 -异常捕获
  19. 14个你可能不知道的JavaScript调试技巧
  20. scala Wordcount

热门文章

  1. Java NIO 学习笔记(三)----Selector
  2. php __autoload 在有命名空间的时候失效(使用的局限性)
  3. Linux系统中sysctl命令详解
  4. POJ 3155:Hard Life(最大密度子图)
  5. HDU 5763:Another Meaning(字符串匹配)
  6. cur.execute(sql,args)和cur.execute(sql)的区别
  7. 解决thinkphp在开发环境下文件模块找不到的问题
  8. 3. Django每日一码 之 Serializers 源码
  9. centos 7 安装docker,conflicts 异常
  10. springcloud高可用方案