DDR3基础知识
1、什么是DDR
DDR即DDR SDRAM,英文全称为:Double Data Rate Synchronous Dynamic Random Access Memory即双倍速率同步动态随机存取储存器。
DDR的前身SDRAM最开始是时钟下降沿采样,单沿采样,数据传输速率和频率是1:1关系,即一个周期可传输1bit数据。从DDR1开始就变成双沿采样了。DDR1一个时钟周期可传输2bit数据,这个时候,就叫预取2bit,DDR2,预取4bit,DDR3,预取8bit。(预取:预取bit的意思,我理解就是一个时钟周期时间内,从DDR存储cell能够做到取出多少bit数据)
DDR主要用于处理器的临时数据存储,高速率,大带宽,对系统性能有极大的影响。
2、DDR3、DDR3L与LPDDR3之间的区别
从DDR的输入电压上也可以判断DDR的类型,如下图所示
DDR3的输入电压为1.5V,所以如果DDR芯片上输入电压为1.5V就可以确定为DDR3了。
LPDDR3、DDR3和DDR3L三种都是DDR3,但是区别主要在于工作电压。
LPDDR3即低功耗内存,没什么厂商用,但DS176手册给出了方案
DDR3L全称“DDR3 Low Voltage”(低电压版DDR3),DDR3L为1.35V,米联客ZYNQ7100就是使用的DDR3L,如图所示:
正点原子领航者7020的DDR也是DDR3L,如图所示:
而ZYNQ7020项目板和野火升腾Pro A7就是DDR3
3、DDR3存储大小计算
DDR3的储存大小可以从命名上入手,如米联客的ZYNQ7100中的DDR3型号为MT41K256M16TW-107,MT41K为型号类型,256M16就可以看出DDR3储存大小,16为该DDR3数据引脚有多少根,也就是256M*16对应的是bit,所以要算DDR3存储大小,就应该是256M*16/8=512MB。
4、DDR3引脚
DDR3的引脚基本分为地址信号、数据信号、控制信号、时钟信号、电源和地。DDR3原理图如图所示
5、DDR3硬件设计
5.1、PL端DDR3
下面以米联客ZYNQ7100的PL端DDR3与FPGA做讲解ZYNQ7100的PL有4颗DDR3。
1、如果要使用多个bank,需要bank号连续,控制管脚必须位于多个bank的中间,所有控制管脚在同一个bank上。ZYNQ7100使用了bank33-35,控制管脚就放在bank34中。
2、确定好DDR3要占用的banks,使用1.5v供电,记住bank位置每组DDR3 只能使用同一个column。(一个组(lane)每个lane即DQ0-7+DMx+差分 DQS+VREF共12个pin,即一个DQS组。如第一组为DQ0-7、DM0、DQS0_P、DQS0_N、VREF;第一组为DQ8-15、DM1、DQS1_P、DQS1_N、VREF;)
不论是哪一款DDR,DQ在组内都是可以互换的, 因为数据的具体内容只要 读入和读出一致即可。下图的DQ也确实做了调换,方便走线。
下图为单颗DDR3的画法
5.2、PS端DDR3
与PL端的DDR3不同,PS端的DDR是放在bank502上。
PS单颗DDR3:
PS双颗DDR3:
5.3、差分时钟阻抗
Xilinx官方推荐DDR3时钟单端走线阻抗为40、差分为80
如果完全按照官方参考来,应该没什么问题,但是实际走线阻抗多用50R,时钟差分也多用100R,一是更通用,二是阻抗更大在叠层设计时走线可以控制得更细、更合理,如一般板厂6层PCB的叠层结构下top计算50欧线宽大概5-6mil,如果40欧则外层来到8-9mil,内层线宽将更大,会让本就不富裕的空间雪上加霜。
像米联客7100、正点原子领航者7020都是遵照官方选用常见的80.6R电阻。
而野火升腾Pro A7就选用的是100R
6、MIG IP核设置
在进入MIG设置前,需要知道DDR3的带宽换算公式
MIG核有一个MMCM和一个PLL生成时钟,官方规定外部需要输入一个200M的参考时钟进入MIG核。所以有两种方案,一种是系统时钟经过一个PLL生成一个200M时钟进入MIG核,另外一种是直接在外部输入一个200M晶振。然后MIG生成一个200M的用户时钟,以及一个800M的差分时钟给DDR3芯片。又因为DDR3为双沿采样,所以实际运行时钟就达到1600M。
以米联客的ZYNQ7100为例,PL端有4颗DDR3,那么DDR3的带宽就是800*2*64/8=12800MB/S,而用户时钟为200M,为了保持带宽一致,那么用户的数据位宽就应该800*2*64/200=512bit。
下面正式进入MIG核设置,添加MIG IP核后,进入设置界面,选择创建IP,zynq芯片兼容随意,选择DDR3 SDRAM。
这里以米联客ZYNQ7100为例,DDR3运行时钟选择默认的800M,然后根据原理图选择DDR3芯片型号。因为是4颗DDR3,1颗数据位宽为16,4颗就是64,所以选择64。
这里的数据位宽就是根据带宽一致原则,系统默认给你选择了512
这里就是要进入MIG核的参考时钟,我们选择200M
下一页,就需要根据你参考时钟的形式选择了,如是第一种以PLL生成200M的形式,则System Clock选择NO Buffer,因为经过PLL的时钟是不用调用任何BUFF原语的,同时因为进入的参考时钟是200M,所以直接使用System Clock。复位我们这选择低电平复位,其他保持默认。
如果时外部进入进来的时钟直接进入MIG核这就需要过一个IBUFF了,如果是单端时钟就选Single-Ended,如果是差分就选Differential。因为系统时钟是200M,所以这里我们也直接使用系统时钟。
这里也可以从手册UG586上可以看出,当系统时钟也就是进入MIG的参考时钟为200M时,这两个可以用一样的。
下一页直接默认,然后就到绑定DDR3引脚了,第一个是指根据电路图手动绑定
第二个是指用UCF文件直接绑定,这里我们也不看电路图,直接用米联客官方的UCF文件直接绑定。最好一直下一步确定,就完成MIG的设置了。
7、APP接口
DDR3 APP接口生成的IP核接口如图所示
Memory interface ports为FPGA与DDR3之间的接口,这些接口可以分为三类,分别为地址信号、数据信号、控制信号、时钟信号。
地址信号:
ddr3_addr:行、列地址线,米联客的DDR芯片为MT41K256M16TW-107,地址共15bit;
ddr3_ba:bank选择信号;
ddr3_cas_n:列选通信号,低电平有效;
时钟信号:
ddr3_ck_n:端口差分时钟的N端;
ddr3_ck_p:端口差分时钟的P端;
ddr3_cke:时钟使能引脚,高电平有效;
ddr3_ras_n:行选通信号,低电平有效;
控制信号:
ddr3_reset_n:复位信号,低电平有效;
ddr3_we_n:写使能信号,低电平有效;
ddr3_cs_n:片选信号,低电平有效;
ddr3_dm:输入数据掩膜信号,高电平有效;
ddr3_odt:ODT引脚;
数据信号:
ddr3_dq:双向数据信号;
ddr3_dqs_n:数据选通差分信号的N端;
ddr3_dqs_p:数据选通差分信号的P端;
这些引脚的绑定会在生成MIG IP核的时候自动绑定,所以绑定不需要XDC文件上再添加。
下面最重要的是APP接口信号,这是FPGA控制DDR读写的信号。
init_calib_complete:初始化完成信号,当这个信号拉高时,才能对DDR经行读写操作;
app_addr:地址信号,给定初始地址,并在之后的每个周期,地址需要加8;
app_en:读写指令使能信号,配合app_rdy同步拉高;
app_wdf_data:写数据;
app_wdf_end:突发时写入最后一次数据,这里的突发是指DDR长度为8的突发;
app_wdf_wren:写数据使能信号,高电平有效
app_rd_data:读数据;
app_rd_data_end:突发时读出最后一次数据;也是指DDR长度为8的突发;
app_rd_data_valid:读数据有效指示信号;
app_rdy:MIG IP空闲指示信号;
app_wdf_rdy:MIG IP写数据空闲指示信号;
app_wdf_mask:写数据掩膜信号,一般都是给0;
请求信号:一般不管,输入直接给0;
8、DDR的突发与预读取
在DDR3 SDRAM时代,内部配置采用了8n prefetch(预取)来实现高速读写.这也导致了DDR3的Burst Length一般都是8;
一次从存储单元预取8-bit的数据,在I/O端口处上下沿触发传输,8-bit需要4个时钟周期完成,所以DDR3的I/O时钟频率是存储单元核心频率的4倍,由于是上下沿都在传输数据,所以实际有效的数据传输频率达到了核心频率的8倍。比如,核心频率为200MHz的DDR3-1600,其I/O时钟频率为800MHz,有效数据传输频率为1600MHz。
以MT41K256M16TW-107为例,下图为MT41K256M16TW-107内部结构
DDR的内部缓存单位是128bit为1单位,而输出为16bit,所以IO为发送八个数据,内部缓存单位再改变1单位。所以I/O的时钟是DDR内部时钟的8倍。
这也是为什么地址app_addr为什么默认加8的原因,同时如果I/O时钟是用户时钟的4倍时,app_wdf_end与app_wdf_wren是相同的。
如果是2:1则app_wdf_end需要每隔1个周期拉高一次。
9、DDR操作时序
写操作
读操作
标签:知识点,ddr3,DDR,app,MIG,DDR3,时钟 From: https://blog.csdn.net/m0_74164388/article/details/142920834