- DDR3的内存空间计算:DDR3分为行地址、列地址、Bank地址三个,除此之外还有数据线,对此对于DDR3的内存空间计算为(2^Row_addr x 2 ^Column_addr x 2 ^Bank_addr)*data_num。如行地址为16,列地址为11,Bank个数为3,数据线为8的DDR的内存空间为:2 ^16 x 2 ^11 x 2 ^3=2 ^30= 1073741824=1024M=1 Gb。再与数据线相乘为8Gb,为1GB。
- 对于DDR的驱动时钟为400M时,时钟分频系数设置为4:1时,此时对于4片8Gb的DDR来说,对应数据位宽为32,而一个时钟周期内传输的数据bit为400x2x32=100*x;等式中的数据:400对应DDR3的驱动时钟为400M,2代表DDR的数据传输时双沿传输(上升沿和下降沿),32代表每次传输的数据位宽。等式右边的100代表DDR分频的用户时钟信号为100M,x代表在100M的时钟下每个单沿传输的数据位宽,依据等式可以算得x=256,因此在用户层面每次传输的数据位宽为256bit,而对于DDR而言每次传输的数据位宽为32位,即每个地址存放的数据时32位,需要将256个数据放在8个地址空间内,数据才能锁存成功,因此每次在用户端对于DDR3的传输地址控制为每次加8;
- 对于上述8Gb的DDR而言,地址分为行地址、列地址、Bank个数,总的地址为宽为30位,如果全是高电平,对应的16进制数为3FFF,FFFF。而每次传输的数据个数为8个,放置在8个地址空间内。因此遍历一个DDR3的地址空间需要向DDR3里面写入3FFF,FFFF/8次数据,才能将整个地址空间存满。
FPGA DDR3测试
于 2023-04-28 15:27:09 首次发布