Xilinx DDR3控制器接口带宽利用率测试(一)
 
- UID
- 1023229
- 来自
- 中国
|

Xilinx DDR3控制器接口带宽利用率测试(一)
前言:
对于DDR3的使用,相信大家都不会陌生。由于高带宽、大容量、廉价的特点,DDR3(颗粒或DIMM)常应用于存储数据、建立表项等场合。但是,在我们的应用中DDR3的接口带宽(即接口速率)利用率有多高呢?这是个棘手的问题,至少在此次测试之前博主本人是没有一个明确的答案的。如果不考虑开销,单纯从时钟和数据位宽的角度看,一个工作时钟为533M,数据总线位宽为64bits的DIMM,由于接口是DDR(Double Data Rate,双倍数据速率),那么这样一个DIMM的理论最大带宽为8.528GB/s。但是,DDR3的读写共用同一组数据总线,同时DDR3内部是以BANK/行/列的形式组织起来的,一个DDR3包含若干个BANK(4/8个),一个BANK包含若干行,一行包括若干列。读写切换、同BANK不同行间切换都需要比较长的切换时间,同时不同指令之间也有各种时间间隙要求。根据应用模式的不同,DDR3的接口带宽利用率差异非常大。
本次测试的目的是为了获得Xilinx的DDR3控制器与DDR3芯片配合时的带宽利用率等数据,用于发现现有设计的缺陷,并寻求解决和规避的办法。本次测试按照使用情形的不同,构造不同的测试条件对被测对象进行测试。本次测试计算带宽效率的方式是,往Xilinx的DDR3控制器中输入指定的激励,观察DDR3芯片接口上的有效数据所占的比例,由此计算出有效带宽。在本测试报告中主要图表为Modelsim上的截图,反应的是DDR3芯片接口上的时序图。
本次测试的全部内容会以五篇博文的形式分享给大家。
图表说明:
表1 Modelsim截图中信号描述
信号名
| 描述
| ddr3_sram_a_dq
| DDR3的64位输入输出数据总线
| ddr3_sram_a_addr
| DDR3的行/列地址输入总线
| ddr3_sram_a_ba
| DDR3的Bank地址输入总线
| ddr3_sram_a_ras_n
| DDR3命令输入线(行地址片选,低有效)
| ddr3_sram_a_cas_n
| DDR3命令输入线(列地址片选,低有效)
| ddr3_sram_a_we_n
| DDR3命令输入线(读写选择,低有效)
| ddr3_sram_a_reset_n
| DDR3复位输入(低有效)
| ddr3_sram_a_cs_n
| DDR3芯片片选输入
| ddr3_sram_a_odt
| DDR3 ODT控制输入
| ddr3_sram_a_cke
| DDR3时钟使能
| ddr3_sram_a_dm
| DDR3数据掩码输入线
| ddr3_sram_a_dqs_p
| DDR3数据锁存信号输入输出线(组随路时钟P端)
| ddr3_sram_a_dqs_n
| DDR3数据锁存信号输入输出线(组随路时钟N端)
| ddr3_sram_a_ck_p
| DDR3差分时钟输入(P端)
| ddr3_sram_a_ck_n
| DDR3差分时钟输入(N端)
| 表2 DDR3接口输入指令格式
指令类型
| CS# | RAS# | CAS# | WE# | BA | A12 | A10 | 单Bank precharge | L | L | H | L | BA | V | L | 8Banks precharge | L | L | H | L | V | V | H | Bank active | L | L | H | H | BA | Row address | Write BL8 MRS | L | H | L | L | BA | V | L | Write BL8 MRS (auto precharge) | L | H | L | L | BA | V | H | Read BL8 MRS | L | H | L | H | BA | V | L | Read BL8 MRS (auto precharge) | L | H | L | H | BA | V | H |

图1 仿真波形对应信号名 来源: http://blog.163.com/fpga_ip/blog/static/204443024201291612352592/ |
|
|
|
|
|