1.DDR3 IP 概述
本文对 Xilinx V7 XC7VX485T-FFG1927 Vivado 中提供的 DDR3 控制器 IP 核模块进行例化,实现基本的 DDR3读写操作。通过 IP 核自动生成的测试脚本实例实现对 DDR3 IP 核的仿真。DDR3控制器IP核内部模块及其与FPGA逻辑、DDR3芯片的接口框图如图1所示。DDR3控制器包括用户接口(User Interface)模块、存储器控制器(Memory Controller)模块、初始化和校准(Initialization/Calibration)模块、物理层(Physical Layer)模块。用户接口模块用于连接 FPGA 内部逻辑;存储器控制器模块实现 DDR3 的主要读写时序和数据缓存交互;初始化和校准模块实现 DDR3 芯片的上电初始化配置以及时序校准;物理层模块则实现和 DDR3 芯片的接口。
DDR3 控制器 IP 核
2.DDR3 IP核配置
点击 Flow Navigator 面板下的“Project Manager -->IP Catalog”。
在“Memories & Storage Elements --> Memory Interface Generators”分类展开后,可以看到名为“Memory Interface Generator (MIG 7 Series)”的 IP 核,通过这个 IP 核,我们可以配置一个 DDR3 控制器用于衔接 FPGA 逻辑与外部 DDR3 存储器。点击后将弹出相应的配置页面。
首先会弹出的 Memory Interface Generator 介绍页面,它默认的器件家族(FPGA Family)、器件型号(FPGA Part)、速度等级(Speed Grade)、综合工具(SynthesisTool)和设计输入语言(Design Entry)都和我们创建工程时保持一致。点击 Next 到下一个配置页面。
Memory Interface Generator 介绍页面
MIG Output Options 页面中,勾选“Create Design”,默认名称(Component Name)为“mig_7series_0”,选择控制器数量(Number of Controllers)为1。点击 Next 到下一个配置页面。
MIG Output Options 页面
Pin Compatible FPGAs 页面可用于选择和当前所设定的唯一器件型号做引脚兼容的其它 FPGA 型号。对于某些可能升级器件型号的应用而言,这个功能是很实用的。点击 Next 到下一个配置页面。
Pin Compatible FPGAs 页面
Memory Selection 页面选择“DDR3 SDRAM”。点击 Next 到下一个配置页面。
Memory Selection 页面
Options for Controller 0 页面 1 中设定如下重要的 DDR3 存储器信息:
● DDR3 存储器驱动的时钟周期(Clock Period)设置为 2500ps(即 400MHz)。
● DDR3 存储器型号(Memory Part)为 MT41K128M16XX-15E,这是 STAR 板载 DDR3 存储器的实际型号(XX 表示任何字符均可)。此处倒三角点击后有很多备选型号,若实际使用型号不在此列表中,可以点击“Create Custom Part”后设置相关 DDR3存储器的时序参数。
● DDR3 存储器接口电压(Memory Voltage)为 1.5V。
● DDR3 存储器位宽(Data Width)为 16。
完成设置后点击 Next 到下一个配置页面。
Options for Controller 0 页面 1
Options for Controller 0 页面 2 中设定如下重要的 DDR3 存储器信息:
● 该控制器的输入时钟周期(Input Clock Period)选择 5000ps(200MHz)。
● 突发读类型和长度(Read Burst Type and Length)为 Sequential。
● 输出驱动阻抗控制(Output Drive Impedance Control)选择 R ZQ/7。
● 片选信号(Controller Chip Select Pin)设置为 Disable,即不连接该引脚,一直处于有效状态。
● 片上终端(On Die Termination)设置为 R ZQ/4。
● 存储器地址映射选择(Memory Address Mapping Selection)勾选后者。完成设置后点击 Next 到下一个配置页面。
Options for Controller 0 页面 2
在 FPGA Options 配置页面中,做如下设置。
● 系统时钟(System Clock)选择 No Buffer。
● 参考时钟(Reference Clock)选择 Use System Clock。
● 系统复位极性(System Reset Polarity)选择 ACTIVE LOW。
● 存储器控制器的调试信号(Debug Signal for Memory Controller)选择OFF。
● IO 低功耗(IO Power Reduction)选择 ON。
FPGA Options 配置页面
IO Planning Options 页面选择“Fixed Pin Out: Pre-existing pinout is known and fixed”。
IO Planning Options 页面
Pin Selection 页面对所有 DDR3 存储器相关的引脚定义引脚号(PinNumber)以及 IO 电平标准(IO Standard),需要和原理图连接相一致。点击read XDC/UCF,导入管脚约束文件。
Pin Selection 页面
配置完成后点击按钮“Validate”做语法检查。
弹出如图所示的 DRC Validation Log message 窗口,表示引脚分配通过 DRC 检查,点击 OK 关闭它即可。
此时 Next 按钮已经高亮,点击它。
System Signals Selection 页面无需配置,默认即可,点击 Next 进入下一步。
System Signals Selection 页面
Summary 页面列出前面所有相关配置信息,点击 Next 进入下一配置页面。
Summary 页面
Simulation Options 页面中勾选“Accept”,然后点击 Next 进入下一配置页面。
Simulation Options 页面
PCB Information 页面无需设置,直接点击 Next 进入下一配置页面。
PCB Information 页面
Design Notes 页面直接点击 Generate 按钮生成 IP 文件。
Design Notes 页面
弹出 Generate Output Products 页面,点击 Generate。
Generate Output Products 页面
在 Vivado 的 Project Manager 面板中,出现了新配置生成的 IP 核文件 mig_7series_0。
IP 核 mig_7series_0
END