Xilinx FPGA内DDR II IP生成指南

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.DDRII IP功能简介与层次说明

DDR2的IP模块提供了FPGA与内存之间的接口设计,方便产生控制信号和物理层接口,IP核的结构如图1所示:

图1

模块主要由三层构成:用户实现层、控制层、物理层。实现层是与用户的逻辑对接,包括了地址、命令处理、读写数据操作;控制层是DDR2的时序处理,主要是处理存储器初始化和延时校准的操作,并基于用户的接口产生读、写、充电、刷新等命令;物理层直接与存储器对接,处理存储器的初始化操作,并使用Xilinx源同步技术对DQ和DQS进行75ps为单位的延时校准。

2.DDRII IP生成方式

根据Core Generator的MIG图形向导可以,生成所需的存储器控制器(DDR II)IP核,同时生成相应的约束文件(管脚和时序约束UCF文件),因此在硬件原理图时就需要完成存储器控制器IP的生成工作,从而按照UCF文件管脚约束设计原理图。如果PCB设计时走线困难需要调整管脚顺序,必须使用修改后的UCF文件在ISE中实现来进行验证,确认可以正常工作后方可调整管脚顺序。下面我们以ISE11.2为开发环境,V5SX240T为平台,采用截图方式演示IP核通过MIG生成过程。

首先启动CORE Generator:

图2

新建工程才能产生IP核。注意:新建工程的路径中不能有中文字符。

图3

新建工程的过程中需要在Part菜单中设置FPGA的器件类型。本例采用了V5SX240T,封装FF1738,速度等级-1的设置(实际设置按照所使用的器件型号确定)。在Generation菜单中选择产生IP的语言种类(VHDL/Verilog/Schematic),本设计中选择了Verilog。

图4

新建工程之后是产生IP核,在核目录菜单中找到MIG。

图5

确定产生核的参数设定正确点击下一步。

图6

选择Creat Design产生IP核,Component Name中设置核的名称,Num of Controllers中设定控制器的个数,本例以产生DDR2控制器为例选择产生的控制器个数为1。(注:MIG向导可以同时产生多个类型存储器控制器及其相关设置、约束文件)

图7

如果希望所生成的控制器可以兼容其他类型FPGA,选择需要兼容的型号。本例选择与xc5vlx330t-1738兼容。

图8

选择控制器的类型,设计中使用了一个DDR2控制器。

图9

DDR2的时钟200MHz,器件选择component,器件型号

MT47H64M16HH-37E数据宽度:32。(实际按照具体器件型号和工作频率设置)

图10

图11

本例设计需要选择不带DCM的形式产生IP核(在顶层设计中单独加入DCM)。

图12

再下一步的配置中选择默认设置。

图13

预先保留Bank的设置中不做预先保留。

图14

根据设计需要DDR2所在Bank为:26,34,6,只勾选这几个Bank给DDR2使用。具体的引脚分配按照默认的设置。

图15

至此可以生成IP核。在Coregen生成目录的\example_design\par或者

\user_design\par下找到DDR2.ucf。按照此约束文件设计原理图。

相关文档
最新文档