目录
一、问题背景
给出一个DDR访问latency,以及主频等信息,怎么计算用户可以拿到的带宽?
二、计算公式
Bandwidth = Outstanding * (TransSize * Bus_Frequence)/Latency
三、公式解释
Bandwidth:带宽(单位:MBps)
TransSize=BurstLength*BurstSize(单位:Byte,例如Burst8*128bits=128Byte)
Bus_Frequence:主频(单位:MHz)
Latency:访问延迟(单位:Cycle)
四、举例说明
假设我的IP配置outstanding为8,每次支持burst 16访问,总线位宽为128,DDR系统工作频率为1GHz,DDR典型访问延迟为1500 cycle 。
IP可以拿到带宽为:
Bandwidth = 8 * (16*(128/8)*1000)/1500
= 1365 MBps
五、总结
上述公式是业内通用公式,十分有效;我曾探索公式来源,无功而返。