Xilinx FPGA平台DDR3设计保姆式教程(6)DDR高级篇

本文转载自:FPGA大叔的博客

实验目的:

为了更方便的对DDR读写,我们对DDR再次封装成可复用的读写模块。

一、前言
因为DDR3是半双工,所以DDR读写模块应该包括三部分内容:

ddr3_top.v :

1. ddr3读操作子模块
2. ddr3写操作子模块
3. ddr3读/写仲裁模块

但是在实际项目使用时,DDR都要根据实际需求来进行读写操作,所以本文旨在提供一种思路,将读/写/仲裁合在一个模块,实际使用当结合具体情况而定。

实现目标: 给出(写请求、写长度、写数据、写地址)就写入ddr3,给出(读请求、读长度、读地址)就从ddr3读相应数量的数据出来。

二、方案设计
2.1 系统框图

2.2设计状态机

2.3代码实现
代码都是浮云~

记得带我入门的老师傅说过:只写代码,那是码农干的~

重点是方案,是思路~

2.4仿真验证
写入200个数,1-200;

读出100个数,1-100;

验证成功。

三、其他
本章写的比较简略,主要参考黑金教程而来。实际使用正如文章开始所说,视具体情况而定。

1. ddr读写大都以FIFO作衔接,方便操作;
2. 读写操作按照时序图操作就ok,主要设计读写仲裁方案。

3.1后记
本章确实写的比较简陋,原因一是使用情况具体分析;二是时间耽搁太久了,还有很多东西需要学习;先把DDR放一放,后面有更深的理解的时候再来补充。

DDR3系列算是笔者第一个完整的系列文章,整理的同时顺便加深自己理解,有点爱上写博客了~

终于结束这个篇章了,这周末开始GTX接口系列文章的整理!

最新文章