JESD79-4 第4章 SDRAM命令描述与操作(4.10)

来源:互联网 发布:智能导游app 知乎 编辑:程序博客网 时间:2024/06/05 07:15

4.10 多功能寄存器(MPR)


4.10.1 使用MPR的DQ训练

DDR4 SDRAM包含了4个8bit的MPR寄存器用来存储DQ数据。这些一次性编程的寄存器可通过MRS命令来激活。在DQ总线连接性训练过程中可使用MPR所存储的数据位。在MPR使能模式下,DDR4 SDRAM仅支持如下命令:MRS, RD, RDA WR, WRA, DES, REF与RESET。

需要注意的是在MPR模式下,RDA和WRA命令的功能与READ和WRITE命令的功能是相同的,也就是说,在MPR模式下RDA和WRA的自动充电部分是被忽略的。在MPR模式下,RESET命令后的tRFC时间内仅允许1x Refrsh命令发送。在MPR操作中,所有的读写命令都必须在Refresh命令之前完成。

4.10.2 MPR的定义

MR3寄存器控制了训练过程中的MPR寄存器的使用。MR3寄存器可通过将CS_n, RAS_n/A16,CAS_n/A15与WE_n/A14驱动至低电平, 将ACT_n, BA0与BA1驱动至高电平,以及 将BG11和BG0驱动至低电平。控制状态与地址引脚可参考下图。
这里写图片描述

4.10.3 MPR读

DDR4 SDRAM支持BC4与BL8模式读取MPR寄存器的操作,且不支持BC4 OTF模式来读取MPR寄存器。BC4读取MPR寄存器时,BA0与BA1表示了MPR的中选中页的地址,A10、BG0、BG1以及其他的地址总线都是不关心的。使用BC4读MPR寄存器时,列地址的A2:A0仅能取“000”或“001”这两个值中间的一个。

在MPR读操作中,DBI功能是不可用的。

DDR4 MPR模式是通过将A2写为1来使能的,读返回的时间来自于MPR寄存器内的特殊位置。MPR的位置是由Bank地址BA0与BA1来确定的。每一个MPR位置都是8-bits宽的。

步骤:
1.若MR1[A0=1],DLL使能情况下,在进行MPR读操作之前DLL必须已经完成LOCK。
2. 执行Precharge ALL命令
3. 等待tPR时间满足
4. 执行MRS命令,将MR3寄存器A2写1,将所有读写DDR4 SDRAM的操作目的修改为MPR位置。
5. 等待tMRD与tMOD时间满足
6. 读操作:

  • A[0:1]固定为“00”
  • A[2]为“0”,在 BL8时,burst序列为固定0,1,2,3,4,5,6,7;在BC4时,burst序列固定为0,1,2,3,x,x,x,x
  • A[2]为“1”,BL8不支持,BC4burst序列固定为4,5,6,7,x,x,x,x
  • A[12]/BC为“0”或“1”时,不支持BC4 OTF。当MR0[A1:A0]为“01”,在MPR读操作过程中A[12]/BC必须为“1”
  • BA0与BA1表示了MPR内的位置
  • A10、BG0、BG1以及其他的地址总线都是不关心的

7.在RL=AL+CL之后,DRAM会将MPR的数据输出返回,返回数据的格式会在后面的图中进行描述,并受MR3寄存器中A0、A1、A11与A12的控制。控制器通过不断重复读取MPR寄存器的值来优化整条读通路,在读MPR时可通过读命令实现读取不同MPR地址的读取。在MPR读数据返回完之后需要满足tMPRR时间满足,
8. 执行MRS命令,将MR3寄存器A2写0,将所有读写DDR4 SDRAM的操作目的修改为DRAM阵列。
9. 等待tMRD与tMOD时间满足
10. 继续执行正常的DRAM命令,类似于Activate等。

MPR Read Timing
MPR Back to Back Read Timing
MPR Read to Write Timing

4.10.4 MPR写

DDR4允许8-bits写到MPR内的位置,使用A7:A0作为数据总线。如下表所示。
UI and Address Mapping for MPR Location

步骤:
1、若MR1[A0=1],DLL使能情况下,在进行MPR写操作之前DLL必须已经完成LOCK。
2、执行Precharge ALL命令
3、等待tPR时间满足
4、执行MRS命令,将MR3寄存器A2写1,将所有读写DDR4 SDRAM的操作目的修改为MPR位置。
5、等待tMRD与tMOD时间满足
6、写操作:

  • BA0与BA1表示了MPR内的位置
  • A7:A0作为写MPR寄存器的数据

7、等待tWR_MPR时间满足,此时DRAM已经满足一次MPR写操作
8、控制器通过不断重复写入与读取MPR寄存器的值来优化整个通路。在MPR读数据返回完之后需要满足tMPRR时间满足,
8. 执行MRS命令,将MR3寄存器A2写0,将所有读写DDR4 SDRAM的操作目的修改为DRAM阵列。
9. 等待tMRD与tMOD时间满足
10. 继续执行正常的DRAM命令,类似于Activate等。

MPR Write Timing and Write to Read Timing
MPR Back to Back Write Timing
Refresh Command Timing
Read to Refresh Command Timing
Write to Refresh Command Timing

4.10.5 MPR写数据格式

MR3[A12:A11]是位模式,用来选择MPR读操作返回数据的格式。在所有的返回数据格式中,DRAM都会驱动相应的选通信号匹配读数据。
如下表所示,串行返回模式表示所有的DQ位都是返回的相同的数据。在串行返回模式中,数据可来自于MPR寄存器的第0,1,2,3页中。在以下例子中,MPR[7:0]中预定义了数据“0111 1111”。
这里写图片描述
这里写图片描述
并行返回模式表示每一根DQ线上在一个burst中将返回MPR寄存器的第一个UI的数据,且每一个DQ都是相同的。可使用MPR寄存器的第0页,但不可使用第1,2,3页中的数据。在如下例子中,MPR寄存器的第0页[7:0]已预定义为“0111 1111”。在x4设备中,仅能返回[7:4]“0111”,在x16设备中,会将低8位的数据复制到高8位。
这里写图片描述
这里写图片描述
第三种模式为交错模式,在使用这种模式读取MPR时,MPR0-3的数值会轮流出现在DQ总线上。在此模式中MPR的第1,2,3页是不可用的。
在x4模式中,若读取MPR0地址,则MPR0出现在DQ0上,MPR1将出现在DQ1上,MPR2与MPR3分别出现在DQ2、DQ3上。若此时读取MPR1地址,则MPR1出现在DQ0上,MPR2出现在DQ1上,如下图所示。
staggering mode on x4 device
在DDR4 SDRAM上提供了一种背靠背的读取MPR寄存器的方法,此方式可以在任何频率下进行操作,且可产生一种无气泡或空闲时钟的数据流。在此方式下,控制器需连续的发送如下命令序列:RD
MPR0, RD MPR1, RD MPR2, RD MPR3, RD MPR0, RD MPR1, RD MPR2 and RD MPR3
Data Stream With No Bubble
在x8与x16设备上,交错模式的数据格式如下所示。
Staggering Mode in x8 & x16
下表中列出了MPR模式中对页的操作方法。
MPR page definition
在DDR4 SDRAM提供的MPR寄存器中,Page 0是可读可写的,而Page1,2,3是只读的。在所有的MPR0-3中,Page 0在三种模式下都是可以读取的,而其他三个页仅在串行模式下可以读取。
在上电之后,MPR寄存器内的值必须如下图所示,MPR第0页仅在控制器发出写MPR命令时可被改写。在没有MPR写命令时,DRAM必须永久保持MPR内的数据,并不得以任何原因修改其数值。
MPR data format0
MPR data format1

0 0
原创粉丝点击