【DDR3 控制器设计】系列博客汇总篇(附直达链接)

写在前面

本篇为 DDR3 控制器设计系列博客的汇总篇,此系列包含 DDR3 的相关实验:认识 MIG、初始化、读写操作、FIFO 接口等,并附上直达链接。

目前只更新了部分文章,持续学习更新中。。。


博客汇总

 Project 1:【DDR3 控制器设计】(1)MIG IP 核的详解与配置

对 DDR3 进行读写等操作时,由于接口信号众多,直接对 DDR3 操作较为复杂,可以借助 Xilinx 官方提供的 MIG IP 核对 DDR3 进行间接操作,本篇详细介绍了 DDR3-MIG-USER 的整体框架,并对 MIG IP 核的配置进行了详细说明。

 Project 2:【DDR3 控制器设计】(2)DDR3 初始化测试

 由于在使用 DDR3 控制器 MIG 时,在刚上电的时候不能立即进行读写操作,而是要等待一段时间(大概100us),等待 DDR3 控制器 MIG IP核初始化完成后,才可以开始进行读写操作,这个实验的目的就是对 DDR3 控制器进行初始化测试。

 Project 3:【DDR3 控制器设计】(3)DDR3 的写操作设计

直接对 DDR3 进行读写时序控制是比较困难的,接口复杂且多,但是通过调取 DDR3 控制器 MIG IP 核,间接的对 DDR3 进行控制就会方便很多,控制器给用户端预留了接口,通过查看 MIG IP 核用户手册,对 IP 核进行写控制。

 Project 4:【DDR3 控制器设计】(4)DDR3 的读操作设计

直接对 DDR3 进行读写时序控制是比较困难的,接口复杂且多,但是通过调取 DDR3 控制器 MIG IP 核,间接的对 DDR3 进行控制就会方便很多,控制器给用户端预留了接口,通过查看 MIG IP 核用户手册,对 IP 核进行读控制。

 Project 5:【DDR3 控制器设计】(5)DDR3 的仲裁读写操作设计

由于设计的框架是写命令和读命令分开执行的,当写命令和读命令同时执行时就会出错,并且现在的写和读命令总线是两根独立的总线,可以将其整合到一条总线上。因此可以添加一个仲裁模块,基本思路就是优先写操作,当写使能为高时,命令总线为写命令,否则为读命令。这样写读操作就可以有条不紊的进行啦!

 Project 6:【DDR3 控制器设计】(6)DDR3 的读写模块添加 FIFO 接口设计

在项目的前几部分对 DDR3 完成写读控制以及仲裁写读控制,成功解决了在指令端口同时下达写指令和读指令是出错的问题,但是读写控制仍然存在一个问题,那就是当进行写/读操作的过程中,再来一条写/读指令,此时控制器是无法执行的,也就是此时的设计只能完成单次读写指令,这对于在实际场景使用是极其不便利的,每次只能完成一次突发读写操作,这样效率太低了!因此设计加上 FIFO 作为缓冲器,满足连续读写操作的需要。

 Project 7:【DDR3 控制器设计】(7)DDR3 的用户端口读写模块设计

 进一步的简化用户端口的信号,方便使用!


本系列博客持续更新中,目标在一个月之内完成~

你可能感兴趣的:(总线接口协议,#,DDR,SDRAM,fpga开发,Verilog,DDR3,MIG,Xilinx)