DSP

DDR3读写时序

2019-07-13 16:25发布

1.DDR3时序参数
意思是说,当我们选择了187E芯片的时候,他所能支持的最大速率是1066MT/s,即DDR3的时钟频率是533MHz。此时tRCD=7 tRP=7 CL=7。 时钟周期是1.87ns因此CL=1.87*7=13.1ns。 tRCD指的是从ACTIVATE到READ或WRITE的时间 tRP指的是PRECHARGE的时间 CL指的是从读命令发出到读数据出现的时间 后文还会有CWL,这个参数是指从写命令发出到写数据出现的时间     在DDR3的Features中有上面的描述,可见CL是可以设置为5~11之间的数值的。 而CL的设置是与tCK(DDR3时钟频率)紧密相关的。从表51中就可以看出两者之间的关系 芯片是187E时,tCK周期可以在1.875ns到3.3ns之间变化,这样DDR3的时钟频率的变化范围就是533.33MHz到303.03MHz之间变化。 如果采用的是spartan6芯片,那么CWL一定是5,CL可以是5或6   2.MR寄存器设置参数 在calibration期间,MCB会向DDR3的MR0-MR3中写入一些参数,这其中就包括了CL和CWL。     3.仿真时序   3.1 MRS时序 DDR3速度是800,时钟频率400MHz,周期2.5ns 四个寄存器的值分别是 MR0 : 13'h0520 MR1 : 13'h0004 MR2 : 13'h0040 MR3 : 13'h0000 CL设置为6,CWL设置为5 这两个值都是根据tCK的周期设定的   3.2 WR时序 从仿真图上可以看出 tRP=6CK tRCD=6CK CWL=5CK   3.3 RD时序 从仿真图上可以看出 tRP=6CK tRCD=6CK CL=6CK   3.3 时序分析 在仿真的时候,读写完一组之后没有auto-precharge,因此如果读写发生在不同的Row,读写穿插的时候,每次读写之前会有PRECHARGE+ACTIVATE的操作。 PRECHARGE命令先关闭先前打开的Row,ACTIVATE命令再打开需要读写的行 在表51中,tRCD和tRP只是规定了最小的时间,而没有规定最大的时间。从仿真上来看,这两个值都属于CL相同的。     4.自刷新时间   从上图可以看到,当使用1Gb容量的DDR3,温度在85°c以下时,每过7.8us都要自刷新一次,每次刷新时间在110ns到70200ns之间   上图是刷新时的仿真波形,REF命令之前现有一个PRE命令,当自刷新的时候,p3_cmd发出一个命令。REF命令110ns之后,出现ACT命令,这个是读命令之前必要的操作。因为之前所在bank中的row已经被关闭了。   5.bank row的打开与关闭时序 上图可见: 只有bank0中的row2048是打开的,读写操作连续访问这个地址。在读写交互的过程中,并没有PRECHARGE和ACTIVATE的时间,即读写可以连续进行。       上图可见: 在黄线之前,bank1中已经打开了row2048,在黄线位置,在bank0中代开了row4096。 可以在不同的bank中打开不同的行。     上图可见: 在黄线位置之前,在bank0中已经打开了row2048,在黄线的时候,打开了bank1中的row2048。在这一操作中,并没有关闭bank0中的row,可见可以在不同的bank中打开row。 而同一个row需要在不同bank中被打开。