五,DDR控制器设计及MIG控制器使用
1,DDR简述
SDRAM:称为动态随机访问存储器,通过电容保存信息。
SDR : 单速率,单端,LVCMOS标准;
DDR : 双速率,差分电路,SSTL标准;
2,SDRAM控制器设计
(1)上电初始化;
(2) 预充电;
(3) 读写
操作命令如下,
初始化配置行参数说明如下:
上电初始化顺序:
预充电: SDRAM为电容模式,如果不进行预充电,随着时间,他内部数据就会丢失,因此每间隔时段时间对DDR芯片就要进行充电造成.该操作通过命令完成。
读写时序:读写时序需要主要的是潜伏期;设计SDRAM控制器时,速率不是很高,只有100M因此,在初始化时配置潜伏期为2.数据完成数据读写
3,MIG控制器(以XC7K325T-FFG900为例)
DDR3因为速率较高突发长度为固定的8.
MIG为XILINX的DDR控制器,如图为ds182中对控制器DDR速率说明:
MIG控制器配置流程及说明:
(1)打开控制器,可以选择控制器数量最大为8个,用户端口可选择使用axi4或普通的地址数据,命令端口控制;具体如图
(2)选择FPGA芯片,选择DDR控制器类型(DDR3,DDR2)
(3)选择DDR芯片型号,配置速率,数据位宽,电平标准,Bank个数;
4:1说明: 时钟800M,4:1 关系下用户时钟为200M;DDR数据位宽为64bit,用户数据为宽为8:1关系,因为DDR双所以在4:1关系上x2.用户数据位宽为64*4*2=512bit
(4)根据4:1关系,下图用户数据位宽应为512bit
(5)如下图该处配置MIG输入时钟,(根据配置的DDR速率,会有可选的时钟输入,选择合适的输入时钟),
(6)配置系统时钟和参考时钟,系统复位,如果系统时钟输入为为199M到201M时,参考时钟可用系统时钟,此处可看ug586第396页.
(7)配置DDR管脚,如果已有原理图,可导出UCF文件,通过第二种配置方式选择导入文件,配置管脚.如没有原理图,可选择第一种新的设计来完成自动配置DDR管脚
(8)完成后,一直下一步,到最后.完成MIG配置。
4,MIG控制器用户接口控制实现
(1)使用普通用户端口控制,
写命令时序如下:
写数据时序如下:
读数据时序如下:
(2)通过AXI端口做用户数据端口,端口完全匹配AXI协议。
献上一份AXI接口控制MIG设计,链接:https://download.****.net/download/weixin_41838250/12883455