DDR3参考设计

Xilinx®7系列FPGA内存接口解决方案是组合了预置的控制器和物理层(PHY),以用于互连用户的7系列FPGA设计和基于AMBA® AXI4总线的DDR3 SDRAM设备。

特性

  • 支持的内存组件位宽高达64位
  • 可选的AXI4 从接口
  • 支持 single & Dual rank SODIMM插槽
  • 1,2,4和8GB设备支持
  • 支持8 bank
  • 支持 DQ : DQS率8:1
  • 支持8-word burst操作
  • 支持ODT模式
  • 初次和定期ZQ校准(可配置)
  • JEDEC® - 兼容DDR3初始化支持
  • Verilog或VHDL源码交付(仅限于顶层文件)
  • 内存到FPGA逻辑接口时钟比支持4:1和2:1
  • 应用

    MIG核可用来链接用户设计和DDR3 SDRAM设备。设计的物理层(PHY)一侧的设计通过FPGA I/O块链接到DDR3 SDRAM设备,用户接口部分则通过FPGA逻辑链接到用户的设计。

    系统框图

    系统框图

    功能描述

    Xilinx 7系列FPGA内存接口解决方案的顶层功能模块包含:

  • 用户接口模块:
  • 提出了用户设计的用户界面
    提供了一个简单而又方便的替代本地接口
    读取与写入数据缓冲
    重新排序读取返回值,以匹配请求的顺序
    提出了平面地址空间,并将其转换成SDRAM所需的地址

  • 内存控制器模块:
  • 接收来自用户设计的请求
    重新排序请求,以尽量减少死状态,从而达到最高的SDRAM性能
    管理SDRAM的 row / rank配置
    执行高级的SDRAM管理比如刷新、激活或预充电

  • 物理层(PHY)模块:
  • 通过一个简单的界面连接至内存控制器模块,同时将信号转换成实际的信号发送至SDRAM, 反之亦然
    在多时钟域内转换和同步控制信号和数据
    初始化SDRAM
    执行DDR3写操作
    执行时钟与读取数据的居中校准

  • 用户设计范例一并提供
  • 实现结果

    DDR3 MIG核已经在Prodigy V7 Logic Module系列中测试。以下为DDR3在Virtex-7 2000T FPGA内的实现结果:

    Slice LUTs: 22406(1.83% of total)

    Slice Registers: 21171(1.51% of total)

    Max data rate on-board: 1333Mbps

    交付清单

    DDR3的参考设计将提供完整的Vivado工程,其中包括:

  • 生成MIG IP核的DDR3的配置信息
  • MIG生成的RTL源代码
  • XDC文件 – 包含DDR3的管脚位置和时序约束信息
  • 说明文件以演示如何按部运行
  • 7系列内存接口解决方案的用户指南
  • 3 条评论

    (1楼)DDR3MIG 问题咨询

    飞翔的鹰 在 星期日, 03/05/2017 - 16:41 发表。

    您好,我在使用K7 325T-FFG900 VIVADO 生成MIG ,目前在生成bit文件时会出现error
    [DRC 23-20] Rule violation (RTSTAT-1) Unrouted net - 12 net(s) are unrouted. The problem bus(es) and/or net(s) are ddr3_top_u/u_mig_7series_0/u_mig_7series_0_mig/u_memc_ui_top_std/mem_intfc0/ddr_phy_top0/u_ddr_mc_phy_wrapper/u_ddr_mc_phy/ddr_phy_4lanes_0.u_ddr_phy_4lanes/ddr_byte_lane_A.ddr_byte_lane_A/dq_gen_40.if_post_fifo_gen.if_empty_r_reg[3]_0, ddr3_top_u/u_mig_7series_0/u_mig_7series_0_mig/u_memc_ui_top_std/mem_intfc0/ddr_phy_top0/u_ddr_mc_phy_wrapper/u_ddr_mc_phy/ddr_phy_4lanes_0.u_ddr_phy_4lanes/ddr_byte_lane_D.ddr_byte_lane_D/dq_gen_40.if_post_fifo_gen.if_empty_r_reg[3]_0, ddr3_top_u/u_mig_7series_0/u_mig_7series_0_mig/u_memc_ui_top_std/mem_intfc0/ddr_phy_top0/u_ddr_mc_phy_wrapper/u_ddr_mc_phy/ddr_phy_4lanes_0.u_ddr_phy_4lanes/ddr_byte_lane_B.ddr_byte_lane_B/dq_gen_40.if_post_fifo_gen.if_empty_r_reg[3]_0, ddr3_top_u/u_mig_7series_0/u_mig_7series_0_mig/u_memc_ui_top_std/mem_intfc0/ddr_phy_top0/u_ddr_mc_phy_wrapper/u_ddr_mc_phy/ddr_phy_4lanes_0.u_ddr_phy_4lanes/ddr_byte_lane_C.ddr_byte_lane_C/dq_gen_40.if_post_fifo_gen.if_empty_r_reg[3]_0, ddr3_top_u/u_mig_7series_0/u_mig_7series_0_mig/u_memc_ui_top_std/mem_intfc0/ddr_phy_top0/u_ddr_mc_phy_wrapper/gen_dqs_iobuf_HP.gen_dqs_iobuf[1].gen_dqs_diff.u_iobuf_dqs/o, ddr3_top_u/u_mig_7series_0/u_mig_7series_0_mig/u_memc_ui_top_std/mem_intfc0/ddr_phy_top0/u_ddr_mc_phy_wrapper/gen_dqs_iobuf_HP.gen_dqs_iobuf[0].gen_dqs_diff.u_iobuf_dqs/o, ddr3_top_u/u_mig_7series_0/u_mig_7series_0_mig/u_memc_ui_top_std/mem_intfc0/ddr_phy_top0/u_ddr_mc_phy_wrapper/gen_dqs_iobuf_HP.gen_dqs_iobuf[2].gen_dqs_diff.u_iobuf_dqs/o, ddr3_top_u/u_mig_7series_0/u_mig_7series_0_mig/u_memc_ui_top_std/mem_intfc0/ddr_phy_top0/u_ddr_mc_phy_wrapper/gen_dqs_iobuf_HP.gen_dqs_iobuf[3].gen_dqs_diff.u_iobuf_dqs/o, ddr3_top_u/u_mig_7series_0/u_mig_7series_0_mig/u_memc_ui_top_std/mem_intfc0/ddr_phy_top0/u_ddr_mc_phy_wrapper/u_ddr_mc_phy/ddr_phy_4lanes_0.u_ddr_phy_4lanes/ddr_byte_lane_D.ddr_byte_lane_D/oserdes_clk_delayed, ddr3_top_u/u_mig_7series_0/u_mig_7series_0_mig/u_memc_ui_top_std/mem_intfc0/ddr_phy_top0/u_ddr_mc_phy_wrapper/u_ddr_mc_phy/ddr_phy_4lanes_0.u_ddr_phy_4lanes/ddr_byte_lane_A.ddr_byte_lane_A/oserdes_clk_delayed, ddr3_top_u/u_mig_7series_0/u_mig_7series_0_mig/u_memc_ui_top_std/mem_intfc0/ddr_phy_top0/u_ddr_mc_phy_wrapper/u_ddr_mc_phy/ddr_phy_4lanes_0.u_ddr_phy_4lanes/ddr_byte_lane_B.ddr_byte_lane_B/oserdes_clk_delayed, ddr3_top_u/u_mig_7series_0/u_mig_7series_0_mig/u_memc_ui_top_std/mem_intfc0/ddr_phy_top0/u_ddr_mc_phy_wrapper/u_ddr_mc_phy/ddr_phy_4lanes_0.u_ddr_phy_4lanes/ddr_byte_lane_C.ddr_byte_lane_C/oserdes_clk_delayed.
    应该是约束的问题但是目前不太懂应该怎么进行约束(我如果约束了这些,还会不停出更多的Unrouted net),所以能不能请您给予指导。
    再次感谢您能给予的指导。

    请加入我们的QQ群探讨交流:250292526

    judyzhong 在 星期一, 03/06/2017 - 10:53 发表。

    请加入我们的QQ群探讨交流:250292526

    (2楼)DDR3的参考设计将提供完整的Vivado工程呢?

    goole968 在 星期日, 06/11/2017 - 14:04 发表。

    请问最后说DDR3的参考设计将提供完整的Vivado工程?在哪儿分享的?