【FPGA】XILINX DDR3的MIG IP核的配置

XILINX DDR3的MIG IP核的配置

1.MIG的IP核引脚说明
【FPGA】XILINX DDR3的MIG IP核的配置_第1张图片
app_addr:地址线
app_cmd:指令线(读写指令)
app_en:MIG使能信号
app_rdy:MIG能接受指令的指示信号
app_hi_pri:优先级信号(没有用到)
app_rd_data:读取的数据
app_rd_data_end:读取突发最后一个数据的标志位
app_rd_data_valid:已经读到数据时,表示数据有效
app_sz:(不经常使用)
app_wdf_data:写入的数据
app_wdf_end:写入突发最后一个数据的标志位
app_wdf_mask:屏蔽数据
app_wdf_rdy:写数据准备好
app_wdf_wren:写数据使能
app_correct_en_i:纠错功能,在后面配置MIG时勾选即可
app_sr_req:(没有用到)
app_sr_active:(没有用到)
【FPGA】XILINX DDR3的MIG IP核的配置_第2张图片
app_ref_req:刷新请求
app_ref_ack:刷新请求反馈
app_zq_req:校准请求
app_zq_ack:校准请求反馈
ui_clk:用户时钟,是DRAM的一半或者四分之一,一般DDR的时钟使用400M,且这时候ui_clk只能是四分之一
init_calib_complete:初始化完成标志
app_ecc_multiple_err:纠错指示
ui_clk_sync_rst:高电平有效的指示信号
app_ecc_single_err:纠错指示
2.MIG的时序
(1)写时序
【FPGA】XILINX DDR3的MIG IP核的配置_第3张图片
首先将app_rdy拉高,表示可以接收指令;
指令线给write指令;
地址线给地址;
使能信号拉高。
(2)背靠背写指令(连续写)
【FPGA】XILINX DDR3的MIG IP核的配置_第4张图片
(3)读时序
【FPGA】XILINX DDR3的MIG IP核的配置_第5张图片
读时序和写时序的不同在于多了app_rd_data_valid,此信号为高时数据才有效。
3.MIG的配置
(1)打开MIG:
点击IP Catalog-搜索MIG-双击Memories interface Generator
(2)配置MIG:
打开界面如下,点击Next:
【FPGA】XILINX DDR3的MIG IP核的配置_第6张图片
**MIG Output Options:**选择Create Design,表示创建memory控制器;
**Component Name:**名字默认即可;
**Multi-Controller:**多用途控制器,默认为1即可;
**AXI4 Interface:**是否使用AXI4接口,这里不使用就不勾选;
点击Next;
【FPGA】XILINX DDR3的MIG IP核的配置_第7张图片
是否兼容以下芯片,这里不需要兼容就不用勾选;
点击Next;
【FPGA】XILINX DDR3的MIG IP核的配置_第8张图片
选择DDR的类型,我用DDR3就选第一个;
点击Next;
【FPGA】XILINX DDR3的MIG IP核的配置_第9张图片
**Clock Period:**工作时钟,根据DDR运行时钟和FPGA时钟进行选择(这里选择了一个极限时钟2500ps/400MHz)
**PHY to Controller Clock Ratio:**用户时钟和DDR时钟的比例关系,为4:1,那么用户时钟就是100MHz;
**Vccaux_io:**根据MIG性能设置的电压,默认1.8V;
**Memory Type: **类型默认为Components即可;
**Memory Part: **芯片选择,我使用的是nanya的128M16的芯片,因为里面没有,只要选择128M16的芯片即可(这里选择MT41J128M16XX-125);
**Data Width:**数据位宽是16位;
**ECC: **数据位宽必须是72位以上才能选择;
**Data Mask:**数据屏蔽,我没有使用到,如果需要可以勾选;
Number of Bank Machines: Bank的控制器,数值越大,性能越强,同时耗费资源越多,这里选择为4;
**ORDERING: **是否允许重排序,可以提高运行效率,允许就选择normal;
点击Next;
【FPGA】XILINX DDR3的MIG IP核的配置_第10张图片
【FPGA】XILINX DDR3的MIG IP核的配置_第11张图片
Input Clock Period:输入时钟,这里有个bug,理论应该是200M, 但是这里是400M,就算修改后面打开任然是400M,不会影响;
**Read Burst Type and Length:**读的类型,连续或者交替,这里选连续sequential;
**Output Driver lmpedance Control:**输出阻抗控制;
**RTT:**终结电阻,可进行动态控制。本次实验选择RZQ/4;
Controller Chips Select Pin: CS的片选信号,可以接出来,选择enable;
**Memory address Mapping Selection:**寻址方式,一般是bank过了行过了列;
点击Next;
【FPGA】XILINX DDR3的MIG IP核的配置_第12张图片
【FPGA】XILINX DDR3的MIG IP核的配置_第13张图片
**System Clock:**系统时钟是否需要添加缓存器,这里不需要,选择“No Buffer”;
**Reference Clock:**时钟是否需要添加缓存器,这里不需要,选择“No Buffer”;
**System Reset Polarity:**复位有效电平选择。本实验选择“ACTIVE LOW”低电平有效。
Debug Signals Control:该选项用于控制 该选项用于控制 该选项用于控制 该选项用于控制 MIG IP核是否把一些调试信号引出来,它会自动添加到 核是否把一些调试信号引出来,它会自动添加到 ILA, 这些 信号包括一DDR3芯片的校准状态信息。本实验选择“ OFF”,不需要让 IP核生产各种调试信 号。
**Sample Data Depth:**采样深度选择。当“ Debug Signals Control”选择“ OFF”时,所有采样深度是不 可选的。
Internal Vref:内部参考管脚,表示将某些当成普通的 输入来用。由于开发板IO资源 较为紧张,因此这里需要选择“ ON”,把参考管脚当做普通的输入来用。
IO Power Reduction: IO管脚节省功耗设置。本实验选择“ ON”,即开启。
XADC Instantiation: XADC模块例化。使用 MIG IP核运行的时候需要进温度补偿,可以直接选择 XADC模块的温度数据引到 MIG IP核来使用,否则需要额外提供温度数据所以本实验选择“ Enable”
点击Next;
【FPGA】XILINX DDR3的MIG IP核的配置_第14张图片
【FPGA】XILINX DDR3的MIG IP核的配置_第15张图片
**阻抗匹配设置:**默认50;
点击Next;
【FPGA】XILINX DDR3的MIG IP核的配置_第16张图片
**引脚模式选择:**第二个;
点击Next;
【FPGA】XILINX DDR3的MIG IP核的配置_第17张图片
**引脚配置:**这里可以直接选择第二个,"Read XDC"读取通过引脚分配文件读取引脚配置,也可以手动设置;
IO标准有三种:
SSTL15:速度快
DIFF_SSTL15:差分SSTL,速度快;
LVCMOS:噪声容限大;
点击Validate进行生效-OK
点击Next;
【FPGA】XILINX DDR3的MIG IP核的配置_第18张图片
【FPGA】XILINX DDR3的MIG IP核的配置_第19张图片
信息展示点击Next;
【FPGA】XILINX DDR3的MIG IP核的配置_第20张图片
【FPGA】XILINX DDR3的MIG IP核的配置_第21张图片
接受协议:
【FPGA】XILINX DDR3的MIG IP核的配置_第22张图片
【FPGA】XILINX DDR3的MIG IP核的配置_第23张图片
【FPGA】XILINX DDR3的MIG IP核的配置_第24张图片
点击生成
完成!!!

你可能感兴趣的:(fpga开发)