根据你的DDR2手册配置好megacore,megacore会生成一个example top;

在quartus中运行megacore生成的xxx_pin_assignments.tcl,指定DDR2 Pin的IO Standard;

在Pin Planner中将DDR2引脚指定到side,或指定到bank,或指定好DQS Pin,还可以顺便指定好CK/CK# Pin;

DDR2的DQ必须连接到FPGA的DQ,DDR2的DQS必须连接到FPGA的DQS,DDR2的DM可以连接到FPGA的DQ或DM;

将FPGA的RUP和RDN设置为保留引脚(在Pin Planner里的芯片引脚上右键菜单中可设置)避免quartus自动分配给DDR2控制器用,PCB上接50ohm电阻pullup到1.8V和pulldown到GND;

CK/CK#不能和用到的DQ/DQS在同一Pin group,pin group信息可以在Pin Planner中的芯片图四周查看;

确认编译message中没有critical warning;

layout时不要使用quartus没有自动分配上的Pin,因为除了一般性的DQ/DQS等规则外还有其他一些我们不知道的规则;

同一DQS组内的各DQ可以任意交换;各DQS组可以整体交换;CTL Pin可以任意交换;

一般Top/Bottom side要比Left/Right side能达到更高的时钟速率;

如果你的local side用的是Avalon-MM,记得write侧要支持burst,read侧要支持burst+pipeline;

实测连续地址读或写效率能达到85%以上;

再次强调,编译message不能有critical warning。

使用Cyclone IV控制DDR2的更多相关文章

  1. cyclone iv中DDR2的本地接口时序

    本地接口 信号名 方向  描述  local_burstbegin input 如果local_ready无效不起作用.IP核在local_write_req为高时,在phy_clk上升沿采样.当lo ...

  2. 笔记之Cyclone IV 第一卷第一章FPGA 器件系列概述

    因为本人用的黑金四代开发板,中央芯片采用ALTERA的cycloneIV E,所以就此器件阅读altera官网资料,并做相应的笔记,以便于以后查阅 Cyclone IV 器件系列具有以下特性:■ 低成 ...

  3. 笔记之Cyclone IV第一卷第四章Cyclone IV器件中的嵌入式乘法器

    嵌入式乘法器可以配置成一个 18 × 18 乘法器,或者配置成两个 9 × 9 乘法器.对于那些大于18 × 18 的乘法运算 ,Quartus II 软件会将多个嵌入式乘法器模块级联在一起.虽然没有 ...

  4. 笔记之Cyclone IV第一卷第三章器件中的存储器模块

    嵌入式存储器结构由一列列 M9K 存储器模块组成,通过对这些 M9K 存储器模块进行配置,可以实现各种存储器功能,例如:RAM.移位寄存器. ROM 以及FIFO 缓冲器. M9K 存储器模块支持以下 ...

  5. 笔记之Cyclone IV 第一卷第二章Cyclone IV器件的逻辑单元和逻辑阵

    逻辑单元 (LE) 在 Cyclone IV 器件结构中是最小的逻辑单位.LE 紧密且有效的提供了高级功能的逻辑使用.每个 LE 有以下特性 ■ 一个四口输入的查找表 (LUT),以实现四种变量的任何 ...

  6. Cycone IV的DDR2硬件设计前验证

    打算使用Cyclone IV的FPGA挂DDR2,按照流程,先使用Quartus跑IP,跑引脚分配,综合OK了再设计硬件,这部分主要是DM和DQS信号比较头疼,研究了好久才找到方法. 在Intel官网 ...

  7. Cyclone IV器件的逻辑单元和逻辑阵列快

    1. 逻辑单元 (LE) 在 Cyclone IV 器件结构中是最小的逻辑单位.LE 紧密且有效的提供了高级功能的逻辑使用.每个 LE 有以下特性:一个四口输入的查找表 (LUT),以实现四种变量的任 ...

  8. altium designer应用技巧---cyclone IV代芯片底部焊盘问题

    首先对于 altera 公司的FPGA芯片来讲,在cyclone III代以上,芯片的底部增加了一 个焊盘,很多工程师往往以为是散热用,其实不然,底部焊盘需要接地(altera手册上面 明确规定,Th ...

  9. cyclone IV中DDR的一个疑惑

    的生成的DDR2 IP中DDR的时钟竟然是双向的,而在arria10中生成的DDR4则是输出,而DDR2的datasheet上也指出ck和ck#是输入,不知为什么? inout mem_clk , i ...

随机推荐

  1. mysql-server 的一些记录

    为避免 innodb 文件的增大.个人倾向于读立表空间.以 innodb_file_per_table=1 参数调整. 不使用默认数据目录的话,须得将 grp own 都循环设置为mysql. 昨天晚 ...

  2. href="#"与javascript:void(0)的区别

    共同点:都是一个空链接. 不同点:所以,#与javascript:void(0)的区别也很明显,#方法会跳转到页面的顶部,并且在页面URL后面会出现#,而javascript:void(0)方法不会, ...

  3. localhost 和 127.0.0.1 的区别

    很多人会接触到这个ip地址127.0.0.1.也许你会问127.0.0.1是什么地址?其实127.0.0.1是一个回送地址,指本地机,一般用来测试使用.大家常用来ping 127.0.0.1来看本地i ...

  4. String,StringBuffer和StringBuilder源码解析[基于JDK6]

    最近指导几位新人,学习了一下String,StringBuffer和StringBuilder类,从反馈的结果来看,总体感觉学习的深度不够,没有读出东西.其实,JDK的源码是越读越有味的.下面总结一下 ...

  5. maven出错The folder is already a source folder

    右键build path -> configure build path -> source ,选择 src/main/java.src/test/java删除,然后再新建.

  6. hdu1712 ACboy needs your help 分组背包

    最基础的分组背包~ #include <iostream> #include <cstdio> #include <cstdlib> #include <cs ...

  7. spring-mvc不拦截静态资源的配置

    spring-mvc不拦截静态资源的配置 标签: spring 2015-03-27 23:54 11587人阅读 评论(0) 收藏 举报 版权声明:本文为博主原创文章,未经博主允许不得转载. &qu ...

  8. linux笔记_文件搜索命令

    一.locate命令 locate命令属于mlocate包,如果执行locate filename提示命令未找到执行安装mlocate包 # yum -y install mlocate 安装后执行l ...

  9. spark新能优化之数据本地化

    数据本地化的背景: 数据本地化对于Spark Job性能有着巨大的影响.如果数据以及要计算它的代码是在一起的,那么性能当然会非常高.但是,如果数据和计算它的代码是分开的,那么其中之一必须到另外一方的机 ...

  10. scala言语基础学习十

    类型参数 泛型函数 多个参数 使用泛型参数时候,不给类型scala也能自己判断 上边界bounds 下边界bounds 专门用于打包泛型数组