DDR

DDR有三种频率:

核心频率:内部电容刷新频率,是内存的真是运行频率;

时钟频率:I/O Buffer输入输出缓冲的传输频率

等效频率:数据传输频率

预取频率:

预取1bit:时钟频率等于核心频率,只在上升沿/下降沿输出数据

预取2bit:时钟频率等于核心频率,双沿输出数据

预取4bit:时钟频率等于2倍核心频率,双沿输出数据

预取8bit:时钟频率等于4倍核心频率,双沿输出数据

单位:

MT/s:指每秒传输多少个数据(Mega-transfer per second);

MB/s:是兆字节每秒,指每秒传输的字节数量;

Mb/s:兆比特每秒,指每秒传输的位数量;

vivado的IP核MIG中的时钟意义:

如MT41K256M16XX-125,-125代表1600MT/S的传输速率,理论带宽为1600*16/8=3200MB/s。

在mig配置中有Clock Period这个选项,数据手册上说: This feature indicates the operating frequency for all of the controllers.
The frequency block is limited by factors such as the selected FPGA and device speed grade. 

还有PHY to Controller Clock Ratio这个选项,数据手册上说:This feature determines the ratio of the physical layer
(memory) clock frequency to the controller and user interface clock frequency. The 2:1 ratio lowers the maximum memory interface frequency due to FPGA logic timing limitations. The user interface data bus width of the 2:1 ratio is four times the width of the physical memory interface width, while the bus width of the 4:1 ratio is eight times the physical memory interface width. The 2:1 ratio has lower latency. The 4:1 ratio is necessary for the highest data rates.

Clock Period指的是I/O Buffer输入输出缓冲的传输频率,等效频率的一半;

PHY to Controller Clock Ratio指的是预读取位数;

如果PHY to Controller Clock Ratio是2:1,则时钟频率是核心频率的2倍,此时的预取位数为4;如果是4:1则时钟频率是核心频率的4倍,此时的预取位数为8位。如果芯片是16位的,则2:1的一个核心频率读取位数为16*4 = 64位,4:1的一个核心频率读取位数为16*8 = 128位。(预取技术-Prefetch)

如果设置Clock Period为400MHZ,PHY to Controller Clock Ratio为4:1,则表示时钟频率是核心频率的4倍,即核心频率为100MHZ,等效频率为800MHZ,传输实际带宽为800*16/8=1600MB/s(比理论最大带宽小1倍),预取位数为8bit,所以一次性读取位数为16*8=128位,所以最后IP核输出的用户频率ui_clk为1600*8/128=100MHZ。

你可能感兴趣的:(FPGA)