FPGA DDR4多通道管理控制器设计

DDR4控制器一般采用自带的MIG控制器,用户控制主要是基于MIG IP核进行设计

实际工程项目中可能只挂载了一组DDR,但是用户数据可能有很多种,用户通过给每种数据划分特定地址进行存储,如何实现灵活管理成为设计的关键

为了方便后端数据分流,可以通过缓存FIFO进行数据分流处理,示意图如下图所示,从FIFO_in0进入的数据最终输出到FIFO_out0通道,这样前端数据可以同时到达,只要数据的总带宽不大于DDR4的理论带宽,就不会发生数据丢失,从宏观上看,DDR4是可以完成读写同时的,只要用户数据不够突发长度,即可发起DDR4的读操作

程序设计过程中,为了随意裁剪通道数,尽量采用generate例化方式

通过parameter决定实际使用的通道数

上图为8通道例化

4通道例化

上图为2通道例化模式

测试过程通过产生一个递增数,然后输出添加对应的校验模块

实际测试

通过统计错误数据个数,监测内部数据有无读写错误

测试下来DDR4的读写同时效率基本可以保证在75%左右

相关推荐
1560820721914 小时前
基于7VX690T FPGA实现万兆TCP/IP资源和性能测试
网络协议·tcp/ip·fpga开发
nuoxin1141 天前
GSV1011-富利威-HDMI芯片选型
arm开发·驱动开发·fpga开发·ffmpeg·射频工程
ChipCamp1 天前
FPGA开发入门----1. Mux的三种写法,RTL的认知大提升!
fpga开发·时序逻辑·组合逻辑
XINVRY-FPGA2 天前
XCVP1802-2MSILSVC4072 AMD Xilinx Versal Premium Adaptive SoC FPGA
人工智能·嵌入式硬件·fpga开发·数据挖掘·云计算·硬件工程·fpga
9527华安2 天前
国产安路FPGA开发设计培训课程,提供开发板+工程源码+视频教程+技术支持
fpga开发·fpga·安路·视频教程·培训·安路fpga
UVM_ERROR3 天前
硬件设计实战:解决Valid单拍采样失效问题(附非阻塞赋值与时序对齐核心要点)
驱动开发·fpga开发·github·芯片
brave and determined3 天前
可编程逻辑器件学习(day36):从沙粒到智能核心:芯片设计、制造与封装的万字全景解析
fpga开发·制造·verilog·fpga·芯片设计·硬件设计·芯片制造
步达硬件3 天前
【FPGA】FPGA开发流程
fpga开发
我爱C编程4 天前
【仿真测试】基于FPGA的完整16QAM通信链路实现,含频偏锁定,帧同步,定时点,Viterbi译码,信道,误码统计
fpga开发·16qam·帧同步·卷积编码·viterbi译码·维特比译码·频偏锁定
s09071365 天前
ZYNQ DMA to UDP 数据传输系统设计文档
网络协议·fpga开发·udp