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

实验目的:

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


汇总篇:

Xilinx FPGA平台DDR3设计保姆式教程(汇总篇)——看这一篇就够了


目录

一、前言

二、方案设计

2.1 系统框图

2.2设计状态机

 2.3代码实现

2.4仿真验证

三、其他

3.1后记


一、前言

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

ddr3_top.v  :

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

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

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

二、方案设计

2.1 系统框图

Xilinx FPGA平台DDR3设计保姆式教程(6)DDR高级篇_第1张图片

2.2设计状态机

Xilinx FPGA平台DDR3设计保姆式教程(6)DDR高级篇_第2张图片

 2.3代码实现

代码都是浮云~

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

重点是方案,是思路~

2.4仿真验证

写入200个数,1-200;

读出100个数,1-100;

验证成功。

三、其他

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

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

3.1后记

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

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

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

奥利给!

Xilinx FPGA平台DDR3设计保姆式教程(6)DDR高级篇_第3张图片

你可能感兴趣的:(FPGA接口篇,嵌入式硬件,fpga,ddr)