DDR系列文章分类地址:
(1)DDR3 基础知识分享
(2)DDR3 控制器 MIG IP 详解完整版 (AXI4&Vivado&Verilog)
(3)DDR3 控制器 MIG IP 详解完整版 (native&Vivado&Verilog)
(4)基于 DDR3 的串口传图帧缓存系统设计实现
(5)基于 DDR3 的native接口串口局部传图缓存系统设计实现
(6)基于 DDR3 的串口传图缓存系统设计实现
(7)基于 FPGA 的彩色图像灰度化的设计实现
前言
本节主要是介绍 Xilinx DDR 控制器 IP 的创建流程、IP 用户使用接口 AXI 协议介绍和
IP 对应的 Example Design 的仿真和上板验证。
提示:以下是本篇文章正文内容,下面案例可供参考
一、DDR 控制器 IP 创建流程
在建立好工程后,按如下步骤进行 DDR 控制器 IP 的创建和配置。
1、搜索查找 DDR 控制器 IP。
Xilinx 的 DDR 控制器的名称简写为 MIG(Memory Interface Generator),在 Vivado 左侧窗口点击 IP Catalog,然后在 IP Catalog 窗口直接搜索关键字“mig”,就可以很容易的找到Memory Interface Generator(MIG 7 Series)。如下图所示。
直接双击鼠标左键或通过鼠标右键选项中选择 Customize IP 并点击。如下图所示,可进
入到 IP 配置界面。
2、MIG IP 的配置。
进入IP配置界面后,第一个界面是 Memory Interface Generator 介绍页面,如下图所示。默认的器件家族(FPGA Family)、器件 型号(FPGA Part)、速度等级(Speed Grade)、综合工具(Synthesis Tool)和设计输入语言(Design Entry)都和创建工程是保持一致。
点击 Next 到 MIG Output Options 配置页面中,如下图所示。勾选“Create Design”,默认名称(Component Name)为“mig_7series_0”,用户可对其进行修改,这里保持默认。选择控制器数量(Number of Controllers)为 1,勾选 AXI4 Interface(本实验 MIG IP 的用户接口使用 AXI 协议接口)。
点击 Next 到 Pin Compatible FPGAs 配置页面,如下图所示该界面可用于配置选择和当前所设定的唯一器件型号做引脚兼容的其它 FPGA 型号。对于某些可能升级器件型号的应用而言,这个功能是很实用的。这里保持默认不做配置。
点击 Next 进入到如下图所示的 Memory Selection 配置页面,这里根据实际板子硬件进行选择,开发板板载的是 DDR3,这里选择“DDR3 SDRAM”即可。
点击 Next 进入到如下图所示的 Controller Options 配置页面该配置。
在该配置界面需要设定如下重要的 DDR3 存储器信息。对应的设置位置如下图所示。
(1)DDR3 存储器驱动的时钟周期(Clock Period)设置为 2500ps(即 400MHz),这个时钟是用于 FPGA 输出给到 DDR 存储器时钟管脚的时钟。注意这里根据实际情况是有设置区间范围的,并非可以设置任意值,这里的区间范围为 25003300ps(即300400MHz)。
(2)DDR3 存储器类型(Memory Type)为 Components。
(3)DDR3 存储器型号(Memory Part)为 MT41J128M16XX-125,这是开发板板载 DDR3存储器的实际型号(XX 表示任何字符均可)。此处倒三角点击后有很多备选型号,若实际使用型号不在此列表中,可以点击“Create Custom Part”后设置相关 DDR3 存储器的时序参数。
(4)DDR3 存储器接口电压(Memory Voltage)为 1.5V。
(5)DDR3 存储器位宽(Data Width)为 16,这里根据实际开发板板载 DDR3 存储器数据总线位宽进行设置。
(6)DDR 控制器的 bank machines 个数设置,这里参数与 DDR3 物理 bank 个数并非是同一概念,设置上并非一定需要与 DDR3 物理 bank 个数保持一致(当然设置相同数量可以增加 DDR 控制器的效率和性能,但是会占用相对多的资源,时序上要求也相对要高,性能和资源上如何达到一个比较好的平衡,需要根据实际应用场景进行设置,有关详细的设置指导可参考文档 7 Series FPGAs Memory Interface Solutions)。
(7)DDR 控制器调度命令的顺序的配置,当选择 strict 时,严格按照命令先后顺序执行;选择 normal 时,为了得到更高的效率,可能对命令重排序。为了操作简单,我们选择strict。
全部参数设置完成后如下图所示。
文章来源:https://www.toymoban.com/news/detail-461473.html
点击 Next 进入到如下图所示 AXI Parameter 配置页面。该界面是对 AXI 接口相关参数
进行配置,具体配置如下。
(1)AXI 接口的数据位宽,设置为 128。
(2)DDR 控制器的仲裁机制,由于 AXI 接口读写通道是独立的,读写各有自己的地址通道,而储存器控制器只有一个地址总线,同一时刻只能进行读或写,这样就存在读/写优先级的问题,这里设置 TMD(Time Division Multiplexing),该设置读写优先级相同,读写交替进行。
(3)Narrow Burst 支持,设置 0,将其关闭。
(4)AXI 接口的地址位宽,自动根据 DDR3 内存生成的位宽,这里 AXI 地址对应的数据是以 1 字节进行计算的,不要与 DDR3 的地址和存储数据混淆。板载 DDR3 存储器存储空间 2Gbit(2Gbit = 256MByte = 2^28 Byte,所以 AXI 的地址位宽为 28)。
(5)AXI 读/写通道的 ID 宽度。ID 是用来标识读/写响应和读/写数据的一致性&#文章来源地址https://www.toymoban.com/news/detail-461473.html
到了这里,关于DDR3 控制器 MIG IP 详解完整版 (VIVADO&Verilog)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!