zoukankan      html  css  js  c++  java
  • 使用Cyclone IV控制DDR2

    根据你的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。

  • 相关阅读:
    Android进程生命周期与ADJ
    四大组件之综述
    Linux进程pid分配法
    Linux的进程管理
    Linux硬盘管理
    Linux用户管理
    Linux命令行使用
    vim技巧5 常用操作
    vim技巧4 删除/保留文本中匹配行
    如何绘制UML图?
  • 原文地址:https://www.cnblogs.com/byeyear/p/4095956.html
Copyright © 2011-2022 走看看