DDR4 FPGA verilog驱动逻辑管理

本文介绍了一种利用DDR4作为缓存的方法,通过将内存划分为多个等份并使用FIFO缓存来简化用户接口。文章讨论了如何管理DDR4读取延迟,并提供了实际项目中的观察结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前写过一个DDR4的配置博客https://blog.youkuaiyun.com/jingjiankai5228/article/details/104282707 ,简单的说了一下MIG核的基本配置以及示例工程的搭建。
实际使用过程中可能通过DDR4来缓存不同数据,我个人一般的使用的方式可以将DDR分为若干等分的存储空间,前端使用FIFO缓存,从而简化用户接口,基本框架大致如下图,由于时间有限就直接用画图
在这里插入图片描述
最终可以通过FIFO进行分流数据,程序框架如下入所示:

值得注意的就是,DDR读出数据是存在延迟的,为了方便数据分流,在读出过程中可以做一个长点的延时等待,这个延时需要大于DDR4的最大读出时间,从而将数据分流出去,最终达到的效果就是数据从fifo_in0进的数据自然就会从fifo_out0端口流出,此外再进行FSM状态管理时,应该根据实际 项目中的数据流情况,实时的将数据写入DDR4和读出DDR4
可以参考以下之前写的一篇EMMC和DDR3的管理思路
https://blog.youkuaiyun.com/jingjiankai5228/article/details/103792934

实际上板观测情况如下图所示:
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值