DDR3频率自适应 FRC理解!
参考来源:http://www.cnblogs.com/TFH-FPGA/archive/2012/08/31/2665759.html
转帖注意:
uniphy:IP核设置步骤:
Memory clock frequency:给DDR的时钟频率
1、对FPGA PHY设置
PLL reference clock frequency:FPGA时钟引脚输入的时钟,供DDR的PLL使用时钟频率(关键设置)。工程用27MHZ
Full or half rate on Avalon-MM interface: FULL---verilog逻辑部分数据位宽X2,速度/2,,达到了降频的目的(关键设置)。但工程用Half
Additional address/command clock phase:是否允许地址、控制信号有相位的移动(一般要设置,否则时钟采样有问题)。工程未选择
PLL sharing mode:指是否与IP核外部的PLL共用,如果共用的话会有相应的引脚从IP核引出----一般选择NO SHARE 不共用,使用单独的
PLL sharing mode:同上
OCT sharing mode:同上
2、对DDR 设置
memory vendor:厂家。工程用Nanya
memory format:discrete 分立器件(设计为单片DDDR) DIMM 内存条()
memory device speed grade :DDR2:速度等级,根据DDR 手册。工程用6。我怎么觉得是看工程选择器件的速度等级,如ArriaV中我用的芯片速度等级是6
total interface with:数据位宽度(根据设计填写)。工程用128。DDR3芯片中DQ引脚总数。
DQ/DQS groups:一般8
number of chip selects CS: 片选的个数 一般为1个
ROW address width:行地址个数 13 (根据DDR 手册)
column address width:列地址个数(根据DDR 手册)
bank-address width:bank个数(根据DDR 手册)
ddr寄存器设置
mode register 0
burst length:突发长度
read bust type:突发类型--sequence顺序的--interle断续的(交错的) 一般为sequence
CAS latency :CAS延时参数设置。工程用7。
mode register 1
output drive strength :输出电流强度(对信号的阻抗匹配有帮助)
memory ODT:设置DDR2的片上电阻值
到此-----------------------------------------------------------------
自己定制的DDR2/DDR3控制器就完成了-----------可以进行编译了-------------其中红色为关键设置
注意:随着IP核会产生很多tcl文件--------------必须运行引脚分配约束的TCL 否则无法编译通过
------------------
DIY:QuartusII
Abstract
在Arria V板子上学习DDR3 SDRAM Controller with UniPHY
Introduction
使用环境:Quartus II 12.0
开始慢慢熟悉DDR3。
参考emi_tut_qdr.pdf 中第6/70页。其中,1Gb DDR3 SDRAM Component : MT41J64M16L-15E
本文采用的是DRAM NT5CB64M16DP-CF 1Gb BGA-96 南亚科技DDR3 SDRAM颗粒NT5CB64M16DP-CF即1Gb DDR3 SDRAM Component : NT5CB64M16DP-CF。此资料可以从英文版的google中快速下载到。
在av_51001.pdf(Arria V Device Overview)中第4/28页
Figure 1 shows sample ordering code and lists the options available for Arria V GX devices.—Preliminary
ArriaV: 5AGXFB3H6F35C6ES,由上图可知该芯片的Speed Grade是6。其中,开发板的输入时钟是27MHZ
av_52007_External Memory Interfaces in Arria V.pdf P24/28
Figure 7–17shows a simplified diagram of the Arria V hard memory controller with the multiport logic.
参考emi_tut_qdr.pdf 中第6/70页。其中,1Gb DDR3 SDRAM Component : MT41J64M16L-15E
本文采用的是DRAM NT5CB64M16DP-CF 1Gb BGA-96 南亚科技DDR3 SDRAM颗粒NT5CB64M16DP-CF即1Gb DDR3 SDRAM Component : NT5CB64M16DP-CF
对下面每个参数的具体含义请查看《ext_mem_if_handbook.pdf》第309/764开始介绍。在第8章实现和实例化存储器IP核。重点看Parameterizing Memory Controllers with UniPHY IP中DDR3 SDRAM的设计。
Table 1–2. Parameter Values for DDR3 SDRAM with UniPHY
Parameter |
DDR3 SDRAM |
DDR3 SDRAM |
Presets |
NT5CB64M16DP-CF |
MT41J64M16L-15E |
PHY Settings |
||
Speed Grade |
6(Arria V) 根据FPGA芯片 |
2(Stratix IV) |
Memory clock frequency |
300 MHz 给DDR3的时钟频率 |
533 MHz |
PLL reference clock frequency |
27 MHz FPGA时钟引脚 |
50MHz |
Full or half rate on Avalon-MM interface |
Half |
Half |
Advanced clock phase control |
Turn off |
Turn on |
Additional address and command clock phase |
-- |
0 |
I/O standard |
-- |
-- |
Supply Voltage |
1.5V DDR3 |
-- |
PLL/DLL/OCT sharing mode |
No sharing |
--- |
Memory Parameters |
||
Memory vendor |
Nanya 根据DDR3厂家 |
Micron |
Memory format |
Discrete Device 通用 |
Discrete Device |
Memory device speed grade |
666.66 MHz |
666.66 MHz |
Total interface width |
128 根据实际需要 |
64 |
DQ/DQS group size |
8 通用 |
8 |
Number of DQS groups |
-- |
1 |
Number of chip selects |
1 通用 |
1 |
Number of clocks per chip select |
2 CK, #CK差分对存在 |
1 |
Row address width |
13 根据DDR3手册 |
13 |
Column address width |
10 根据DDR3手册 |
10 |
Bank address width |
3 根据DDR3手册 |
3 |
Memory Initialization Options (基本采用默认值,无需设置) |
||
Read Burst Type |
Sequential 通用 |
未说 |
DLL precharge power down |
DLL on 通用 |
未说 |
Memory CAS latency setting |
7 |
8 |
Output drive strength setting |
RZQ/6 |
RZQ/7 |
ODT Rtt nominal value |
RZQ/4(三种都可以) |
RZQ/4 |
Memory write CAS latency setting |
6 |
6 |
Dynamic ODT (Rtt_WR) value |
Dynamic ODT off |
RZQ/4 |
Memory Timing: NT5CB64M16DP-CF和MT41J64M16L-15E类似,因此我直接选择MT41J64M16L-15E器件进行应用。一般要根据芯片手册来设置。 |
||
Board Settings:采用默认设置 |
||
Controller Settings:(Avalon设置) |
||
Maximum Avalon-MM burst length |
64 影响突发长度AVL_SIZE_WIDTH值 |
64 |
Enable Avalon-MM byte-enable signal |
选择 |
No select |
Local-to-Memory Address Mapping |
CHIP-ROW-BANK-COL |
未说 |
Command Queue Look-Ahead Depth |
8(范围从1-16,折中选择) |
未说 |
Diagnostics:默认设置 |
Memory format : Unbuffered DIMM (无缓冲DIMM),Discrete Device(分立器件)
DLL 的任务是根据外部时钟动态修正内部时钟的延迟来实现与外部时钟的同步。DLL 功能在DDR SDRAM中可以被禁止,但仅限于除错与评估操作,正常工作状态是自动有效的。
选择MICRON MT41J64M16LA-15E进行应用,就可以得到相关参数的值,工程中采用的芯片NT5CB64M16DP-CF,其实时间参数要求同所选芯片类似。Board Settings标签的设置采用默认值,即为Use Altera’s default settings.
highlight: Avalon Interface address width is 24 bits and Avalon Interface data width is 512 bits.程序中采用的是Avalon总线突发传输模式。
Diagnostics标签的设置采用默认值,即为Use Altera’s default settings.