原创 [博客大赛]ddr之Altera 攻略

2014-3-31 10:50 3664 9 12 分类: FPGA/CPLD 文集: 接口

1 ddr/ddr2控制器(包括数据路径)都是自己写的,纯手工打造,纯logic,不用任何IP,也不考虑某些器件专门的存储器接口,比如IOEDQ,DQS专用管脚等。

20140328103109228.jpg


2、不同系列FPGA,不同版本QuartusAltera给出了不同的ddr控制器IP及实现方式。

QuartusàMegaWizard Plug-In ManageràInterface-àExternal Memory

IP

主要三类: ddr / ddr2 SDRAM Controller

           ddr / ddr2 SDRAM High-Performance Controller (II)

           ddr / ddr2 SDRAM Controllers with ALTMEMPHY IP            

ddr / ddr2 SDRAM Controller 是比较早的方式,Cyclone  Cyclone II  Stratix 等使用的此IP

这一个Megacore IP 同时含有了 Control logic Data path

20140328103631450.jpg

用此IP生成的ddr sdram controller 中包括了 control logic(ddr 各种命令) data path(读写数据,双倍速率控制,DQS延时移相等)

data path 模块使用了关于IO megafunction

一些系列的FPGA 比如Stratix ,data path 模块使用的IOE 中的 DQ ,DQS 及一些LEs

Cyclone 系列data path模块使用的都是LEs 

使用此IP 除了产生含有data path 的控制器外,还同时产生了 例子 Examlple 文件和 testbench文件 ,PLL ,DLL 等时钟文件,以及模拟ddr sdram模型文件,形成一个整体的仿真环境。(实际用到自己工程的只需要IP产生的控制器)



20140328103756355.jpg{C}ddr / ddr2 SDRAM High-Performance Controller (II) ddr / ddr2 SDRAM Controllers with ALTMEMPHY IP 实现方式差不多,后者可以看作是前者的升级版,在高版本的Quartus中都是后者实现方式。下图的ddr/ddr2 Controller 就是使用这种Megacore IP,结合起来控制 ddr memory .


20140328103934922.jpg


注意: 使用ddr / ddr2 SDRAM High-Performance Controller (II) ddr / ddr2 SDRAM Controllers with ALTMEMPHY IP 时,除了产生ddr controller ,还会自动调用 ALTMEMPHY IP ,产生相应ALTMEMPHY例化文件,以及Example Files

 

Altera 建议

Altera recommends that you construct all DDR2 or DDR SDRAM external memory

interfaces using the Altera ALTMEMPHY megafunction.

You can implement the controller function using the Altera DDR2 or DDR SDRAM memory controllers, third-party controllers, or a custom controller for unique application needs. 

这是由于 DDR2/DDR 的数据接口部分,有双倍速率,速率变换,DQS,相移等等操作,直接写logic,比较难实现(当然可以自己写),某些系列Altera FPGA 内部 IOE 部分也做了专门的接口,使用ALTMEMPHY可以方便的调用。

Altera ddr controller 或者自己写ddr controller 或者 第三方controller , Altera 接口即ALTMEMPHY 

如果,由于特性不匹配(例如:要求低延迟等),您无法使用基于 ALTMEMPHY宏功能的存储器接口,怎么办?

又如果,您必须创建一种 Altera不支持的存储器接口,例如:移动 DDR,怎么办?自己写可以,但是Altera  提供了ALTDLL ALTDQ_DQS 宏功能,以ALTDDIO_IN,ALTDDIO_OUT ,ALTDQ, ALTDQS ,ALTDLL等宏功能,以满足各类个性的设计。

文章评论3条评论)

登录后参与讨论

用户1605975 2014-7-29 00:11

连 PLL 和 DLL 也不用吗?

pengchengcheng082_593158939 2014-5-9 19:07

自己写过

用户1605975 2014-5-8 16:58

楼主你好,这个控制器是你自己写的吗? 大神呀
相关推荐阅读
pengchengcheng082_593158939 2015-08-21 16:26
Linux 下 的 vi 编辑器
一、按ESC键 跳到命令模式,然后: :w 保存文件但不退出vi :q 不保存文件,退出vi :wq 保存文件并退出vi :q! 不保存文件,强制退出vi :w! 强制保存,不推出...
pengchengcheng082_593158939 2015-07-28 15:57
面向对象和面向过程区别
转自 http://blog.sina.com.cn/s/blog_4dd5955301000a2m.html     面向对象和面向过程的区别,实在是难用一两句话说明白。   ...
pengchengcheng082_593158939 2015-05-23 10:39
后仿真能否被形式验证(Formal Verification)和静态时序分析(Static Timing Analysis)所取代
转自 http://www.cnblogs.com/jyaray/archive/2011/04/26/2029856.html 验证的主要目的:就是检查时间模型是否满足时间要求,是否实现了时...
pengchengcheng082_593158939 2015-05-19 11:18
两种代码方式
下面的两段程序等价,RTL图以及综合后的结果 完全一样。看似简单,其实是两种不同的思维方式。在复杂电路中能体现出两种方式各自的特点,第一种容易理解,第二种则结构更清晰,更接近综合后的结果。以前习惯用上...
pengchengcheng082_593158939 2015-05-14 16:28
Linux 下 的 cc 和 gcc
转自 http://www.cnblogs.com/zhouyinhui/archive/2010/02/01/1661078.html   在Linux下一会看到cc,另一会又看到gcc...
pengchengcheng082_593158939 2015-05-13 17:19
mips 编译器
1、linux 系统下编程的编译器 GNU toolchain(GNU工具链)是一个包含了由GNU项目所产生的各种编程工具的集合。这些工具形成了一条工具链,用于开发应用程序和操作系统。  ...
我要评论
3
9
关闭 站长推荐上一条 /2 下一条