DDR3读写模块

这篇具有很好参考价值的文章主要介绍了DDR3读写模块。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用xilinx官方提供的MIG IP核进行设计,接口协议为AXI,关于AXI协议的内容此处不做过多介绍。

MIG核配置

关于IP核个参数的介绍可以参考野火教程,以下为目前使用的通用配置。

mig ddr3用户接口一个地址表征多少字节,FPGA开发,fpga开发

mig ddr3用户接口一个地址表征多少字节,FPGA开发,fpga开发

mig ddr3用户接口一个地址表征多少字节,FPGA开发,fpga开发

mig ddr3用户接口一个地址表征多少字节,FPGA开发,fpga开发

mig ddr3用户接口一个地址表征多少字节,FPGA开发,fpga开发

一些参数的设置

DDR物理接口的位宽为32bit

DDR用户接口的位宽为64bit

MIG核的XADC是关闭的,需要外部模块例化XADC模块读取FPGA的内部温度,并将温度传递给IP核。

突发长度为8,突发宽度为64bit,也就是说突发一次,地址就要增加8*8=64,因为地址是按照字节计算的,64bit是8个字节,每次突发长度是8,所以每次突发是64字节。

若要使用DDR进行数据缓存,那么数据量必须要是64字节的倍数。

DDR的读写地址是按照字节计算的,如果数据宽度为16bit,则地址需要乘以2.

用户读写接口模块设计

写模块设计

写接口时序

序号

信号名

位宽

方向

说明

1

wr_req_i

1

input

写请求信号:在写DDR前需要先发送写请求信号,用于启动写状态机,在收到响应信号后清零此信号

2

wr_req_ack_o

1

output

写请求响应信号:在收到写请求信号后,状态机跳转到响应状态,发送响应信号,并检测写请求信号是否清零,若清零则清零此信号

3

wr_b_addr

32

input

写DDR开始地址

4

wr_e_addr

32

input

写DDR结束地址

5

user_wr_clk

1

input

写FIFO时钟:与DDR的ui_clk相同

6

data_wren

1

input

写FIFO写请求

7

data_wr

16

input

写FIFO写数据

mig ddr3用户接口一个地址表征多少字节,FPGA开发,fpga开发

mig ddr3用户接口一个地址表征多少字节,FPGA开发,fpga开发

写接口状态机

序号

状态名

说明

1

wr_st_idle

初始状态:等待写请求信号,收到后跳转

2

wr_st_ack

写响应状态:收到写请求后产生写响应信号,并将写地址进行锁存;等写请求信号清零后,跳转

3

wr_st_check_fifo

写FIFO检查状态:若此状态中再次收到写请求信号,则跳转到写响应状态;若FIFO中的可读数据(数量+2)大于等于一次写突发的长度,并且AXI接口写空闲,则产生写突发请求信号,并跳转

4

wr_st_wr_burst

写突发状态:当写突发完成后,清零写突发请求,写地址增加64字节,写数据计数器增加64,跳转

5

wr_st_wr_burst_end

写突发结束状态:若写数据计数器小于写长度,跳转到写FIFO检查状态,否则跳转到结束状态

6

wr_st_end

写结束状态

读模块设计

读模块时序

序号

信号名

位宽

方向

说明

1

rd_req_i

1

input

读请求信号:在读DDR前需要先发送读请求信号,用于启动读状态机,在收到响应信号后清零此信号

2

rd_req_ack_o

1

output

读请求响应信号:在收到读请求信号后,状态机跳转到响应状态,发送响应信号,并检测读请求信号是否清零,若清零则清零此信号

3

rd_b_addr

32

input

读DDR开始地址

4

rd_e_addr

32

input

读DDR结束地址

5

user_rd_clk

1

input

读FIFO时钟:与DDR的ui_clk相同

6

data_rden

1

input

读FIFO写请求

7

data_rd

16

output

读FIFO写数据

8

ddr_rd_valid

1

input

DDR读有效标志:表示将DDR中的数据成功读出,缓存在FIFO中

mig ddr3用户接口一个地址表征多少字节,FPGA开发,fpga开发

mig ddr3用户接口一个地址表征多少字节,FPGA开发,fpga开发

读接口状态机

序号

状态名

说明

1

rd_st_idle

初始状态:等待读请求信号,收到后跳转

2

rd_st_ack

读响应状态:收到读请求后产生读响应信号,并将读地址进行锁存;等读请求信号清零后,跳转

3

rd_st_check_fifo

读FIFO检查状态:若此状态中再次收到读请求信号,则跳转到读响应状态;若FIFO中的可写数据小于等于(10'd1000-DDR_RD_LEN),并且AXI接口读空闲,则产生读突发请求信号,并跳转

4

rd_st_rd_burst

读突发状态:当读突发完成后,清零读突发请求,读地址增加64字节,读数据计数器增加64,跳转

5

rd_st_rd_burst_end

读突发结束状态:若读数据计数器小于读长度,跳转到读FIFO检查状态,否则跳转到结束状态

6

rd_st_end

读结束状态文章来源地址https://www.toymoban.com/news/detail-769248.html

到了这里,关于DDR3读写模块的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用VIVADO中的MIG控制DDR3(AXI接口)一——AXI简介

            最近,因为需要,学习了AXI总线协议和DDR3相关的知识,花了很多的时间去找各种相关的资料,深刻明白查资料的不容易,这里将所学到的东西做一个总结,同时给需要的人提供一些便利,有问题的欢迎一起讨论学习、共同进步。          首先来说一下有关AXI总

    2024年02月08日
    浏览(50)
  • 超详细的FPGA使用MIG调用SODIMM DDR3内存条接口教程

    SODIMM 接口DDR3适配额外的内存条才能满足数据缓存的需求,这种需求一般用于高端项目,DDR3 SDRAM 常简称 DDR3, 是当今较为常见的一种储存器, 在计算机及嵌入式产品中得到广泛应用,特别是应用在涉及到大量数据交互的场合。 本文以XC7K325T-FFG900-2L为例,记录MIG的配置过程,

    2024年02月02日
    浏览(49)
  • FPGA入门 —— DDR3(MIG IP 核) 入门

    DDR 简介 DDR=Double Data Rate双倍速率同步动态随机存储器。严格的说DDR应该叫DDR SDRAM,人们习惯称为DDR,其中,SDRAM 是Synchronous Dynamic Random Access Memory的缩写,即同步动态随机存取存储器。而DDR SDRAM是Double Data Rate SDRAM的缩写,是双倍速率同步动态随机存储器的意思。 SDRAM在一个时

    2024年01月16日
    浏览(56)
  • 【Xilinx FPGA】DDR3 MIG IP 仿真

    Memory Interface Generator (MIG 7 Series)是 Xilinx 为 7 系列器件提供的 Memory 控制器 IP,使用该 IP 可以很方便地进行 DDR3 的读写操作。本文主要记录 Xilinx DDR3 MIG IP 的仿真过程,包括 IP 配置和 DDR3 读写仿真两部分内容。 目录 1 MIG IP 配置 2 DDR3 读写仿真         在 Vivado 开发平台 IP C

    2024年02月09日
    浏览(53)
  • 【Xilinx FPGA】DDR3 MIG 时钟管脚分配

    之前在验证 FPGA 板卡的芯片管脚时,所用的测试工程使用内部 PLL 生成的时钟作为 DDR3 的参考时钟。后来尝试将参考时钟改为外部 100M 晶振时钟,发现 MIG IP 配置工具找不到相应管脚,于是学习并梳理了 Xilinx DDR3 MIG IP 时钟管脚的分配规则,在这里做个记录。   目录 1 MIG 时钟

    2024年02月06日
    浏览(49)
  • 快速上手Xilinx DDR3 IP核----汇总篇(MIG) ?前言

            本文是 《快速上手Xilinx DDR3 IP核》 系列文章的汇总篇。         该系列介绍了Xilinx 控制DDR3的IP核----MIG IP核的基本构成和使用方法,在MIG 接口的基础上在外部封装了FIFO,使得操作时序更加简单,并用此方法实现了几个练手的小项目。         MIG IP核对外提供了两类

    2024年02月05日
    浏览(55)
  • DDR3(MIG核配置&官方demo&FPGA代码实现及仿真)

      由于直接对 DDR3 进行控制很复杂,因此一般使用 MIG IP 来实现,同时为了更简单地使用 MIG IP,我们采用 AXI4 总线协议进行控制。下面首先介绍 MIG IP 的配置,然后看看官方 demo (里面包含一个仿真要用到的 DDR3 模型)及其仿真结果,最后进行我们自己的控制代码实现。  

    2024年02月05日
    浏览(46)
  • DDR3 控制器 MIG IP 详解完整版 (VIVADO&Verilog)

    DDR系列文章分类地址: (1)DDR3 基础知识分享 (2)DDR3 控制器 MIG IP 详解完整版 (AXI4VivadoVerilog) (3)DDR3 控制器 MIG IP 详解完整版 (nativeVivadoVerilog) (4)基于 DDR3 的串口传图帧缓存系统设计实现 (5)基于 DDR3 的native接口串口局部传图缓存系统设计实现 (6)基于 DDR3 的

    2024年02月06日
    浏览(83)
  • Xilinx FPGA DDR3设计(三)DDR3 IP核详解及读写测试

    引言 :本文我们介绍下Xilinx DDR3 IP核的重要架构、IP核信号管脚定义、读写操作时序、IP核详细配置以及简单的读写测试。 7系列FPGA DDR接口解决方案如图1所示。 图1、7系列FPGA DDR3解决方案 1.1 用户FPGA逻辑(User FPGA Logic) 如图1中①所示,用户FPGA逻辑块是任何需要连接到外部

    2024年02月06日
    浏览(56)
  • 【FPGA】十三、Vivado MIG IP核实现DDR3控制器(1)

    文章目录 前言 一、DDR3基础知识 二、MIG  IP核的配置 三、DDR3 IP核用户端接口时序 1、DDR3 IP核接口说明 2、DDR3 IP核读写时序 ① 写命令时序:  ② 写数据时序:  ③ 读数据时序: 总结         我们在进行FPGA开发应用当中,经常会用到存储器来保存数据,常用的存储器有RO

    2024年02月16日
    浏览(82)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包