Xilinx UltraScale+DDR4项目开发(三)——DDR4器件选型与MIG IP的配置

在这里插入图片描述

本节目录

一、DDR4器件选型与MIG IP的配置
二、DDR4参数值含义
三、DDR4器件容量计算
四、往期文章链接

本节内容

一、DDR4器件选型与MIG IP的配置

DDR4器件选型,需要根据项目中内存的容量需求,读写速率,成本等各方面考虑,对于FPGA开发者,需要根据DDR4 MIG的IP控制器的性能进行选型,并配置。当然,若IP的库中有对应的DDR4型号,则可以直接选择;若没有硬件采购的DDR4型号,则需要根据DDR4器件手册进行MIG IP的定制化。
DDR4器件的芯片手册中,FPGA开发者需要关注哪些参数?比如:容量配置,封装型号,速度等级以及对应版本等等。这些参数不仅与业务紧密结合,同时与硬件也息息相关。这些参数也会在Vivado的DDR4 MIG IP核的界面进行选择,适配不同硬件的DDR4接口,从而在FGPA内部实现对DDR4的读写控制。
在这里插入图片描述

容量配置上来看,支持的521 Meg8和256 Meg16两种参数配置,对应的DDR4的物理接口是不相同的。通常是Bank group的差异,也就是bank groups的数量上的差异。
在这里插入图片描述

速度等级,直接体现了DDR4的数据传输效率。时钟频率,I/O buffer(输入/输出缓冲)的传输频率TCK,0.625ns/0.750ns/0.833ns。数据在时钟的双边沿采样,故有效数据传输频率为时钟频率的两倍,数据传送频率(等效频率),实际应用中测试时关注的时钟频率,下图中的3200MHz/2666MHz/2400MHz。
在这里插入图片描述

DDR4 MIG的IP中选择型号为MT40A512M16HA-083E,此时CL即Cas Latency选择12/16。
在这里插入图片描述
在这里插入图片描述

二、DDR4参数值含义

在这里插入图片描述

tCK=833,内存时钟频率为833ps,1200Mhz,其他的参数都是以tCK为基准来描述的。
tRFC=421833ps=350ns,REF命令到ACT或REF命令时间,从手册参数可以看出,8Gb对应的数值为350ns。
tREFI=9363
833ps=7799.379ns=7.8us,平均定期刷新时间间隔,从手册参数可以看出,温度在-40℃到85℃之间,8Gb对应的数值为7.8us。
tRP=16833ps=13.328ns,预充电指令周期,DDR4-2400-083E的tRP最小值为13.32ns。
tRCD=16
833ps=13.328ns,激活到内部的读取或写入延迟时间,DDR4-2400-083E的tRCD最小值为13.32ns。
tRAS=39,启动到预充入的命令周期,DDR4-2400-083E的tRAS最小值为32。
在这里插入图片描述

tRTP=10833ps=8.3ns,读至预充电时间,DDR4-2400-083E的tRTP最小值为4个tCK或者7.5ns。
tWR=20
833ps=16.66ns,写入恢复时间,DDR4-2400-083E的tWR最小值15ns。
在这里插入图片描述

至于其他参数,FPGA开发者可以根据所使用的DDR4器件手册进行对比,实际开发中并不需要如此,但是可以学习了解。

三、DDR4器件容量计算

AXIfull接口,通常需要对DDR4的内存地址进行映射处理,ddr4的axifull分配的地址内存空间大小为4G字节,也就是32Gb。但是IP核里面8Gb,这两者之间是如何转换计算的?
在这里插入图片描述
在这里插入图片描述

先了解下8Gb的计算方法,从DDR4器件型号来看,MT40A512M16HA-083,其中容量表示512M16HA,即512Mb * 16=8Gb。从内存的16bit位宽,Row=16,Column=10,Bank=2和Bank Group=1来计算,
2 ^ 16 * 2 ^ 10 * 2 ^ 2 * 2 * 16=8Gb。
在这里插入图片描述

那么问题来了,8Gb=1GB,为什么AXIfull的地址内存为4GB?
这个跟硬件上DDR4的颗粒有关系了,在上面IP配置中,数据位宽选择64,也就是4 * 16,硬件上使用了4个DDR4颗粒,故4 * 1GB=4GB,是DDR4的内存总容量。
在这里插入图片描述

四、往期文章链接

UltraScale+FPGA中Serdes的多lane对齐异常解决方案
vivado时序报告中slack是如何计算的?如何优化时序?
UltraScale+FPGA中GTY的TX路径时钟详解——以40G的ETH MAC IP为例
vivado时序优化——约束异步时钟组set_clock_groups
基于FDMA和AXI4接口的DDR4遍历读写测试
基于fpga的图像处理之3x3_5x5算子模板设计
基于fpga的图像处理之3x3_5x5算子模板中值排序
基于fpga的图像处理之图像灰度化处理(Vivado+Modelsim+Matlab联合仿真验证)
AXI协议之AXILite开发设计(一)
AXI协议之AXILite开发设计(二)
AXI协议之AXILite开发设计(三)
AXI协议之AXILite开发设计(四)
AXI协议之AXILite开发设计(五)
FPGA和Matlab的FFT功能验证(一)
FPGA和Matlab的FFT功能验证(二)
FPGA和Matlab的FFT功能验证(三)
跟小灰灰一起学vivado:7系列FPGA的MultiBoot和Fallback功能更新固件
跟小灰灰一起学vivado:7系列FPGA配置模式之配置数据文件格式和配置时序步骤
跟小灰灰一起学vivado:7系列FPGA配置模式之主SPI四路(x4)
跟小灰灰一起学vivado:PCIe XDMA实现远程更新FPGA固件
Xilinx UltraScale+DDR4项目开发(一)——DDR4 MIG的ip接口信号
Xilinx UltraScale+DDR4项目开发(二)——DDR4 MIG的时钟网络
Xilinx UltraScale+DDR4项目开发(三)——DDR4器件选型与MIG IP的配置
低速接口项目之串口Uart开发(一)——串口UART
低速接口项目之串口Uart开发(二)——FIFO实现串口数据的收发回环测试
低速接口项目之串口Uart开发(三)——串口发送模块和接收模块
低速接口项目之串口Uart开发(四)——UART串口实现FPGA内部AXILITE寄存器的读写控制
低速接口项目之串口Uart开发(五)——QT实现Uart串口寄存器读写工具
低速接口项目之串口Uart开发(六)——zynq系列ps-pl端uart实现共享Axilite内部寄存器的读写
低速接口项目之串口Uart开发(七)——如何在FPGA项目中实现自适应波特率串口功能
低速接口项目之串口Uart开发(八)——如何通过ps侧的串口实现zynq的在线升级(一)
低速接口项目之串口Uart开发(九)——如何通过ps侧的串口实现zynq的在线升级(二)
低速接口项目之串口Uart开发(十)——基于EMIO的自定义PL串口实现zynq的在线升级

### MIG DDR4 内存读写速度计算方法 MIG (Multi-Instance GPU) 技术允许将单个 NVIDIA A100 或其他支持的 GPU 划分为多个独立实例,从而提高资源利用率并优化工作负载分配。对于 DDR4 内存而言,其读写速度通常由以下几个因素决定: #### 1. 数据传输速率 DDR4 的数据传输速率基于时钟频率和突发长度来定义。标准公式如下: \[ \text{理论带宽} = (\text{总线宽度}/8) \times \text{有效频率} \times 2 \] 其中,“\(2\)" 表示 DDR(Double Data Rate)技术可以在每个时钟周期内完成两次数据传输[^1]。 例如,如果 DDR4 使用的是 \(2666\) MT/s (兆转换每秒),并且具有 \(64\)-bit 总线宽度,则可以得出以下结果: ```python bus_width_bits = 64 effective_frequency_MHz = 2666 theoretical_bandwidth_GB_per_s = (bus_width_bits / 8) * effective_frequency_MHz / 1000 * 2 print(f"Theoretical Bandwidth: {theoretical_bandwidth_GB_per_s:.2f} GB/s") ``` 运行上述代码会得到大约 \(42.66\) GB/s 的理论带宽。 #### 2. 实际性能影响因素 尽管有理论上的最大带宽,实际应用中的内存读写速度可能会受到多种因素的影响,包括但不限于: - **延迟**:访问时间直接影响整体吞吐量。 - **控制器效率**:CPU 或 SoC 中集成的内存控制器设计会影响最终表现。 - **并发请求管理**:多任务环境下的竞争可能导致瓶颈效应。 因此,在具体场景下测量真实世界里的 DDR4 存储子系统的效能非常重要。 #### 3. 测量工具和技术 为了精确评估某款特定硬件配置下的 DDR4 内存性能,可采用专门软件如 AIDA64 Extreme Edition 进行基准测试;或者编写自定义程序利用循环缓冲区填充清空操作模拟连续 IO 负载模式,并记录耗时时长进而推导出平均传输率。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小灰灰的FPGA

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值