【学习笔记】LPDDR5相关容量计算和Layout规则

名字解释

CS: Chip Select: CS is part of the command code and is sampled on the rising (falling) edge of CK t(CK c) unless the device is in power-down or Deep Sleep mode where it becomes an asynchronous signal.

芯片选择:CS是命令代码的一部分,在CK t(CK c)的上升(下降)沿进行采样,除非设备处于断电或深度睡眠模式,此时它变成异步信号。

RDQS [1:0]:Read Data Strobe: RDQS t and RDQS c are the differential output clock signals used to strobe data during a READ operation. And RDQS t is also used as a Parity pin at Write with Link Protection enabled.

读取数据选通:RDQS t和RDQS c是用于在读取操作期间选通数据的差分输出时钟信号。RDQS t也用作启用链路保护的写入时的奇偶校验引脚。

DMI[1-0]:Data Mask Inversion: DMl achieves multiple function such as Data Mask (DM), Data Bus linversion (DBl), and Parity at read with ECC operation by setting the Mode Register and DMl is a bi-directional signal and each byte of data has a DMl signal.

数据掩码反转:DMl通过设置模式寄存器实现了多种功能,如数据掩码(DM)、数据总线反转(DBl)和ECC操作读取时的奇偶校验,DMl是一个双向信号,每个字节的数据都有一个DMl信号。

CK_T_A/CK_C_A
CK_T_B/CK_C_B
时钟
:CK_t和CK_c是差分时钟输入。所有地址、命令和控制输入信号在CK t的正边缘和CK c的负边缘的交叉处采样。CA参数的交流时序参考CK。每个通道(A&B)都有自己的时钟对。
 
CKE_A/CKE_B型
时钟启用:
CKE HIGH激活而CKE LOW停用内部时钟电路、输入缓冲器和输出驱动器。通过CKE转换进入和退出省电模式。
CKE是命令代码的一部分。每个通道(A&B)都有自己的CKE信号。
 
CS_A/CS_B型
芯片选择:
CS是命令代码的一部分。每个通道(A和B)都有自己的CS信号。
 
CA[5:0]_A/CA[5:0]_B
命令/地址输入:
CA信号根据表82提供命令和地址输入。每个通道(A&B)都有自己的CA信号。
 
ODT_CA_A/ODT_CA_B
CA ODT控制:
ODT CA引脚与模式寄存器一起使用,以打开/关闭CA引脚的on Die Termination。
 
DQ[15:0]_A/DQ[15:0:0]_B
数据输入输出:
双向数据总线。
 
DQS[1:0]_t_A/DQS[1:0]_C_A
DQS[1:0]_t_B/DQS[1:0]_C_B
数据选通:
DQS_t和DQS_c是双向差分输出时钟信号,用于在读取或写入期间选通数据。数据选通由DRAM生成用于读取,并与数据边缘对齐。数据选通由存储器控制器泛化用于写入,并且必须在数据之前到达。数据的每个字节都有一个数据选通信号对。每个通道(A&B)都有自己的DQS闪光灯。
 
DMI[1:0]_A/DMI[1:0]_B
数据掩码反转:
DMl是一种双向信号,当数据总线上的数据反转时,它被驱动为HlGH,或者当数据处于其正常状态时,被驱动为LOW。可以通过模式寄存器设置禁用数据反转。数据的每个字节都有一个DMl信号。每个通道(A和B)都有自己的DMl信号。该信号还与DQ信号一起用于向DRAM提供写入数据屏蔽信息。DMl引脚功能-数据反转或数据屏蔽-取决于模式寄存器设置


ZQ
校准基准:
用于校准输出驱动强度和端接电阻。每个模具有一个ZQ销。ZQ引脚应通过2400+1%电阻器连接到vDDQ。

容量计算

LPDDR4

bank地址线位宽为3,及bank数目为 2^3=8;

行地址线位宽位16,及A0...A15;

列地址线位宽为10,及A0...A9;

有 2^3 * 2^16 * 2^10 = 2^29= 512Mb;

再乘以数据线(共2个channel,每个channel数据线16bit),则容量为512Mbx16x2=16Gb=2GB;

为什么要乘以数据线,是因为访问一个地址,内存认为是访问16bit的数据。

即计算公式:存储单元数量=行数×列数xBank的数量x数据线

此外,内存芯片的容量通常以bit为单位表示,有时也会转换为更直观的单位,如MB或GB。例如,4Gbit的DDR3L内存可能会有以下三种组织方式之一:

  • 128 Meg x 4 x 8 banks
  • 64 Meg x 8 x 8 banks
  • 32 Meg x 16 x 8 banks

这里的参数分别表示每个bank中存储单元的个数(存储深度),数据线的位宽和bank的数量。例如,32 Meg x 16 x 8 banks表示每个bank中有32M个基本单元,每个基本单元存储16bit数据,即每个bank大小是32M x 16 bit = 64MB,所以总大小是32M x 16bit x 8 = 4Gbit 。

LPDDR5:

在容量计算方面,LPDDR5内存芯片的容量从2Gb到32Gb不等。每个Bank的行包含1KB(8192位)的数据,每行中的1KB被排列成64列,每列128位。因此,每次读取/写入访问时都会指定一个行地址和一个列地址,并且Bank返回128位的数据 。例如,如果一个LPDDR5内存芯片是2Gb容量,其地址映射可以通过以下方式计算得出:4个Bank Group(BG)× 4个Bank × 8192位(每行)× 64(每列)× 256位(每列)= 2,147,483,648位,即2Gb 。

此外,LPDDR5内存的Bank架构允许不同的配置方式,如Bank Group模式、16 Bank模式和8 Bank模式,这些模式影响着内存的访问速度和数据宽度 。在不同的模式下,页面大小也会有所不同,例如在16 Bank模式和Bank Group模式下,页面大小为2KB,而在8 Bank模式下,页面大小为4KB

举例:

4(BG)*4(Bank)*256*131072(ROW)*64=34359738368/1024=33554432kb/1024=32768Mb/1024=32Gb

引言:

通过逐步深入探讨LPDDR5内存的物理结构,到文章结束时,您将清晰了解与LPDDR5内存相关的关键术语,包括:

  • LPDDR5 IOs:命令总线(CA)、数据总线(DQ/DQS)、芯片选择(CS)、时钟(CK)
  • Bank和Bank组架构
  • Rank和页面大小
  • LPDDR5内存通道
  • x16/x32/x64宽度的解释

我们将从单个DRAM存储单元开始,逐步探索它是如何构成焊接在PCB上的完整内存封装的

LPDDR5内存芯片 单个存储单元

在最底层,一个位本质上是一个电容器,用于存储电荷,而晶体管则作为开关。由于电容器会随时间放电,信息最终会消失,除非电容器被定期“刷新”。

这就是DRAM中“D”的来源——它指的是“动态”,与SRAM中的“静态”相对应。

Bank, Rows and Columns

当你放大一级视图时,你会注意到存储单元被排列成行和列的网格状。这样的存储单元网格被称为一个Bank

在LPDDR5中,

  • 每个Bank的一行包含1KB(8192位)的数据。
  • 每行中的这1KB数据被排列成64列,每列128位。[64 x 128位 = 8192位]
  • 因此,每次读/写访问都会指定一个行地址和一个列地址,Bank会返回128位的数据
  • LPDDR5 Bank架构

再放大一级视图,每个LPDDR5芯片都有32个这样的Bank块。这32个块可以以3种不同的配置进行排列。

  • Bank组模式

也称为BG模式。在这里,32个Bank块被组织成2组,每组4个Bank组,每个Bank组包含4个Bank。[2x4x4=32]。

页大小(Page Size)

页大小是指当一行被激活时,加载到感测放大器中的位数。

  • 在16 Bank模式和Bank组模式下,页大小为2KB。
  • 在8 Bank模式下,页大小为4KB。
我们是如何得出这些数字的?

在图2中,我们看到Bank中的每一行存储1KB的数据(以64列、每列128位的方式排列);

并且,从图3中我们可以看到,在16 Bank模式和Bank组模式下,两行会同时被激活以总共获取256位的数据。因此,从内存芯片的角度来看,两行被激活,所以总页大小为2x1KB = 2KB。

由此推断,在8 Bank模式下,一次访问会激活4个Bank,因此页大小为4KB

密度

到目前为止,我们已经讨论了LPDDR5内存芯片的物理结构,但是内存芯片的容量是多少,它能存储多少位数据呢?

LPDDR5内存芯片是按照特定的容量制造的,从JEDEC规范中指定的2Gb到32Gb不等。

一个2Gb容量的芯片和一个32Gb容量的芯片之间的主要区别在于每个Bank中的行数

下表显示了以Bank组模式(BG模式)运行的内存所需的地址位数。

表1:x16 DQ 模式寻址

计算一个2Gb芯片的总密度:

4 (BG) x 4 (Banks) x 8192 (rows) x 64 (cols) x 256b (each col) = 2,147,483,648 = 2Gb

参数

DRAM芯片相当于一栋装满文件柜的大楼

  • Bank组(Bank Group)相当于楼层号,用于识别你需要的文件所在的楼层
  • Bank地址(Bank Address)相当于楼层内的文件柜编号,用于识别你需要的文件所在的具体文件柜
  • 行地址(Row Address)相当于文件柜中的抽屉编号,用于识别文件所在的具体抽屉。将数据读取到感测放大器(Sense Amplifiers)中相当于打开/抽出文件抽屉。
  • 列地址(Col Address)相当于抽屉内文件的编号,用于识别抽屉内具体文件的编号。
  • 当你想读取另一行数据时,你需要先将当前文件放回抽屉并关闭它,然后再打开下一个抽屉。这相当于预充电(PRECHARGE)操作。

LPDDR5 输入/输出(IOs)

秩(Ranks)、宽度级联(Width Cascading)和深度级联(Depth Cascading)

一个通道可以由一个或多个LPDDR5内存芯片组成。在下图中,我展示了如何配置多个2Gb内存芯片来增加通道中的总内存容量。

  • 2Gb通道容量:这很简单。只需将一个2Gb内存芯片连接到LPDDR5的IOs上。
  • 4Gb通道容量:在这里,我们有两个2Gb芯片,它们被“深度级联”,也称为2秩(Rank)配置。通过设置芯片选择0(CS0引脚)来访问芯片A,而芯片B则通过CS1引脚来选择。但是,由于一次只有一个芯片选择引脚处于活动状态,因此两个芯片共享相同的地址和数据总线。
  • 8Gb通道容量:在这里,我们有四个2Gb芯片。与4Gb容量类似,这里也有2秩。但在每个秩内部,我们有两个“宽度级联”的芯片,即每个芯片都被配置为x8宽度模式

LPDDR5的设计规范

1、Clock Signal Group

DDR[7:0]_CK_CHA, DDR[7:0]_CK_BAR_A ,

DDR[7:0]_CK_CHB, DDR[7:0]_CK_BAR_B,

Notes:

• 100-ohm differential trace impedance. (100欧姆的差分阻抗控制)

• + / - 5 mils differential pair skew .(差分线对内的误差+-5MIL,而且是不能在差分线段上去绕线的,只有在两端补偿的。)

•布线的时候允许的通孔的总的VIA数目一般是两个。(SOC和DDR颗粒那边各自只能打孔一次。)

• Maximum length (PCB + package) should not exceed 1500 mils.(最大长度(PCB+封装)不应超过1500MIL

• Trace spacing from other signal groups at least twice the trace width to minimize crosstalk.

(与其他信号组的迹线间距至少为迹线宽度的两倍,也即是3W原则,以尽量减少串扰)

•走线应有完整且连续的参考层平面,不能出现跨分割现象,走线距离周围避让的过孔的参考GND平面保持在6MIL以上,在特殊区域里面做不到的话尽量布线在两个过孔的中间也是可以的。

2、Command and Address Signal Group

DDR[7:0]_CA_[6:0]_CHA,

DDR[7:0]_CS[1:0]_CHA

Notes:

• 50-ohm trace impedance .(布线按照50欧姆的阻抗线来控制)

• Trace spacing from other signal groups at least twice the trace width to minimize crosstalk.

(与其他信号组的迹线间距至少为迹线宽度的两倍,以尽量减少串扰)

•绕线自身的串扰会影响信号延时,走线绕等长时建议 S≧3W。

•绕线的时候尽量是使用圆弧的绕线方式去优化。(地址线也可以不严格按照这个要求来,数据线的尽量还是满足这个要求吧,不过为了绕线的统一最好还是把地址和数据都按照这个要去做比较好一些)

•Signals on the inner layer propagate 27% slower than signals on the top and bottom layers. this delay difference must be considered during length matching.(内层的信号传播速度比顶层和底层的信号慢27%。在长度匹配过程中必须考虑这种延迟差异。)

(这种做的就比较好,在SOC和DDR颗粒那边表层几乎都是没有表层拉出一段走线的)

(这种做的就比较差,在SOC和DDR颗粒那边表层都有表层拉出一段走线的)

•布线的时候允许的通孔的总的VIA数目一般是两个。(SOC和DDR颗粒那边各自只能打孔一次。)

3、Data Strobe Signal Group


DDR[7:0]_WCK_[3:0], DDR[7:0]_WCK_BAR_[3:0]

DDR[7:0]_DQS_[3:0], DDR[7:0]_DQS_BAR_[3:0]

Notes:

• 100-ohm differential trace impedance.(100欧姆的差分阻抗控制)

• + / - 5 mils differential pair skew. (差分线对内的误差+-5MIL,而且是不能在差分线段上去绕线的,只有在两端补偿的。)

•差分线绕线自身的串扰会影响信号延时,走线绕等长时建议 S≧5W。目前差分线的线宽是2.8,现在才做到4W,还需要优化一些,还有就是单板上的DDR上所有的差分线绕线的时候都是需要满足这个要求的。

•Suggest routingDQS/WCK on the inner layers with good reference GND planes above and below. (议在内层上布线DQS,WCK,上下参考GND平面良好。)

•布线的时候允许的通孔的总的VIA数目一般是两个。(SOC和DDR颗粒那边各自只能打孔一次。)

4、Data Signal Group

DDR[7:0]_DQ_[31:0],

DDR[7:0]_DM_[3:0]

Notes:

• 50-ohm trace impedance. (布线按照50欧姆的阻抗线来控制)

• Trace spacing from other signal groups at least twice the trace width to minimize crosstalk. (与其他信号组的迹线间距至少为迹线宽度的两倍,以尽量减少串扰)

•布线的时候允许的通孔的总的VIA数目一般是两个。(SOC和DDR颗粒那边各自只能打孔一次。)

•绕线自身的串扰会影响信号延时,走线绕等长时建议 S≧3W。

•布线的时候一组数据线必须要使用同一层去布线,地址线可以不需要严格同组同层去布线。

•Suggest routing DQ / DM on the inner layers with good reference GND planes above and below. (议在内层上布线DQ/DM,上下参考GND平面良好。)

•绕线的时候尽量是使用圆弧的绕线方式去优化。(地址线也可以不严格按照这个要求来,数据线的尽量还是满足这个要求吧,不过为了绕线的统一最好还是把地址和数据都按照这个要去做比较好一些)

•布线的时候允许的通孔的总的VIA数目一般是两个。(SOC和DDR颗粒那边各自只能打孔一次。)

上面的设计要求包含了LPDDR5中所有信号的设计规范要求的了,不过不同SOC可能会要求不同的。对了还有一个比较重要的就是在打孔换层布线的时候,记得追加上GND回流孔,GND的过孔范围保持在25mil左右(过孔和过孔的中心间距),这样做可以改善我们换层信号回流路径,GND 过孔需要把信号换层前后 GND 参考平面连接起来。一 个信号过孔,至少要有一个 GND 回流过孔(1:1),尽可能增加 GND 回流过孔数量,可以进一步改善信号质量,实在是做不到的话可以按照2:1的比例去添加GND回流VIA。


像DQS,CLK ,WCK,这些差分信号换层的附近是一定要加上大孔的通孔或者是埋孔的GND网络的VIA,而且是要求在SOC和DDR颗粒那边是都要加的,而且是在差分线换层的两个信号孔附近都要加一对GND回流孔,不能是只加一个就好了。这个很重要的一条设计准则,千万不能省的

还有就是我们可以通过调整过孔位置,优化平面的裂缝,可以改善DDR信号回流路径,这个也是很重要的。.


                        
原文链接:https://blog.csdn.net/weixin_45223454/article/details/140555320

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值