此篇讲解一下DDR3SDRAM 控制器的调试。Xilinx 提供了MIS (memory interface solu tions) ,专门针对DDR SDRAM 开发提供了控制器,FPGAer 可很轻松地实现DDRSDRAM 控制。 首先在vivado中进入MIG参数设置界面
因为不需要挂载到microblaze或者arm core上,取消勾选AXI4接口
选择当前使用的FPGA型号xc77a50ti-ftg256
选择控制器类型为DDR3SDRAM控制器
设置时钟频率400MHz,内存具体型号MT41K128M16XX-15E,电压1.5V,数据宽度16位
设置输入时钟频率200MHz
MIG控制器提供三种接口:1)AXI4接口;2)UI接口;3)native接口。其中AXI4是挂载到CPU核上的标准接口,如果FPGAer想使用纯逻辑连接MIG控制器,使用UI接口相对方便些。 如下是UI接口的信号: 写操作,需设置写命令,信号时序如下,必须在app_rdy有效时的写命令才有效
写操作的控制信号与写命令的时序关系如下,可提前一个时钟周期,或者同时,或者延时不超过两个时钟周期的写控制都是有效的
上板测试,时序如下:
读操作相对简单些,设置读命令后,控制器在一定延时后输出读取数据
读操作也可以连续,如下两个读操作流水线
上板测试,读操作时序如下,从读命令到读数据输出有46/2=23个UI时钟周期的延时 |