LPDDR5电路设计的新功能

        最近因为需要使用到LPDDR5,快速地浏览了JEDEC标准文档,发现与前几代相比出现了一些新的电路设计功能,总结为如下三点:

        1. CK/WCK/RDQS时钟方案;

        2. 电源的PDN设计目标;

        3. DQ, DMI和RDQS的Rx端DFE均衡技术。

        本文就上述三种新功能进行了简述。

CK/WCK/RDQS时钟方案

        LPDDR5 SDRAM采用两种不同频率的时钟:WCK的频率是CK时钟频率的四倍或两倍,但是,为了实现无差错延迟控制,SDRAM内部的时延控制单元必须知道WCK是否与CK状态对齐。为此,LPDDR5 SDRAM通过一个称为WCK2CK同步的过程重置或检测其对齐状态,当控制器发出带有WCK2CK同步位的CAS命令时,控制器向SDRAM提供半频WCK脉冲来减缓码间干扰(ISI)以提高时间裕度,从而降低相位对齐的难度,该操作定义为“WCK2CK Synchronization”,对应的读写操作也产生了一些新的变化。

        如下图所示,写操作仍然由CS发起,CA总线在CK的双边沿完成采样,WCK的第一个有效的“锁存”边必须在完成写命令的CK_t上升沿之后再驱动WL * tCK + tWCK2CK,其中,写延迟(WL)被定义为从启动写命令的CK_t的上升沿到测量tWCK2DQI的CK_t的上升沿。

        另外,WCK必须在tWCK2DQI的时间步长之前到达SDRAM球,WCK由SDRAM控制tWCKPRE_Static+tWCKPRE_Toggle_WR时间量后在第一个有效的上升沿之前被驱动。

        换句话说,写操作中,CS和CA由CK进行采样,DQ由WCK进行采样。

        读操作有两种方式:

        在读命令的CK_t上升沿之后,经过RL * tCK + tWCK2CK + tWCK2DQO的时间量后的第一个有效DQ数据可用,其中,读延迟(RL)定义为从启动读命令的CK_t的上升沿到测量(tWCK2CK + tWCK2DQO)后的CK_t的上升沿,WCK在第一个有效的读数据开始之前,由SDRAM控制器经过tWCKPRE_Static+tWCKPRE_Toggle_RD时间量后被驱动。

        在高时钟频率下工作,可以将LPDDR5 SDRAM设置为RDQS模式,此模式下,读指令的时钟将由RDQS差分端口提供。启用RDQS模式时的读取时序如下图所示,除了额外的RDQS计时外,所有的计时都与前述的READ操作相同。 RDQS相关的参数:tDQSQ, tRPRE and tRPST,RDQS的第一个锁存边将迟于第一个有效DQ数据,具有“tDQSQ”延迟,tDQSQ是LPDDR4中的已知参数。RDQS需要在第一个锁存边(具有第一个有效数据的RDQS的上升边)之前预发送,并且在最后一个锁存边之后需要进行持续发送。前同步(tRPRE)和后同步(tRPST)时间长度定义为可以通过模式寄存器写(MRW)设置的参数。

电源的PDN设计目标

        这一代DDR首次引入了PDN的设计要求,可见,速率的提升必然带来电源纹波的激增,不过从其数据手册中,可以发现阻抗动态频率范围最高要求到20MHz,这还是板级SMT电容可以控制的范围,设计难度处于中等,难点可能出现在电容的数量和BGA区域的摆放空间。

Rx端DFE均衡技术

        LPDDR5支持6400Mbps以上的数据速率,为了补偿通道特性,首次采用了Rx端的均衡技术,可以支持到DQ, DMI和RDQS。当WCK高于800MHz时,DFE就可以启用。LPDDR5为DQ Rx提供了反馈判决均衡(DFE)功能,支持1抽头负反馈,通过寄存器配置可以为每个字节支持不同的反馈量。 DFE是一个可选特性,如下图所示,在写数据突发操作之前,启用DFE之前需要2UI DQ预驱至0(tDPRE),这种预驱动设置是DFE电路的前置条件。

参考文献

        JEDEC JESD209-5C

<think>我们正在讨论骁龙8系列芯片(特别是骁龙8 Gen 1或类似平台)的主板PCB设计,并关注LPDDR5内存接口的设计要点。根据用户需求,我们需要结合LPDDR5协议规范来阐述设计指南。 首先,我们需要明确几个关键点: 1. 骁龙8系列芯片(如骁龙8 Gen 1)通常支持LPDDR5/LPDDR5X内存。 2. PCB设计需要满足高速信号完整性的要求,特别是针对LPDDR5的高速率(如6400Mbps及以上)。 3. 设计需考虑电源完整性、时序约束以及布局布线规则。 以下内容将分为两部分:第一部分介绍LPDDR5协议的关键点(特别是与PCB设计相关的部分),第二部分提供骁龙8e主板PCB设计的具体指南。 --- ### 一、LPDDR5协议关键点(PCB设计相关) #### 1. **信号分组与拓扑结构** LPDDR5采用双通道设计(Channel A/B),每个通道包含: - 时钟对(CK_t/CK_c) - 命令/地址总线(CA) - 数据总线(DQ)及数据选通(DQS_t/DQS_c) 每组信号必须严格遵循以下规则: - **等长控制**:同一组内的信号线长度偏差不超过±5mil(0.127mm)[^2]。 - **差分对内部等长**:CK_t/CK_c、DQS_t/DQS_c的差分对内长度偏差不超过±2mil。 #### 2. **阻抗控制** - 单端信号(CA、DQ):$$Z_0 = 50 \Omega \pm 10\%$$ - 差分信号(CK、DQS):$$Z_{\text{diff}} = 100 \Omega \pm 10\%$$ #### 3. **ZQ校准电阻** LPDDR5要求使用外部高精度电阻(通常$$R_{ZQ} = 240 \Omega \pm 1\%$$)进行阻抗校准[^2]。该电阻必须: - 靠近处理器放置(距离<300mil)。 - 连接至处理器的ZQ引脚。 - 使用温漂系数低的电阻(如±25ppm/℃)。 #### 4. **时序参数** - **tDQSS**(DQS相对于CK的偏移):±0.1 UI(单位间隔)。 - **tDQS2DQ**(DQS与DQ之间的偏移):±0.05 UI。 > 以6400Mbps为例,1 UI = 156.25ps,因此tDQSS需控制在±15.625ps以内。 --- ### 二、骁龙8e主板PCB设计指南 #### 1. **叠层设计(推荐8层板)** | 层序 | 用途 | 备注 | |------|---------------------|--------------------------| | 1 | 信号层(LPDDR5) | 顶层,放置内存颗粒 | | 2 | GND | 完整地平面 | | 3 | 信号层(其他低速) | 避免穿越高速信号 | | 4 | 电源层(VDDQ) | 内存供电(1.1V) | | 5 | 电源层(VDD2/VDD1) | 内存控制器供电 | | 6 | GND | 完整地平面 | | 7 | 信号层(其他) | 避免与LPDDR5信号重叠 | | 8 | 信号层(LPDDR5) | 底层,放置处理器 | #### 2. **布局规则** - **处理器与内存距离**:≤35mm(推荐同面布局,避免打孔)。 - **ZQ电阻位置**:紧邻处理器ZQ引脚(<300mil),远离热源。 - **去耦电容**: - 每颗内存颗粒的VDD/VDDQ引脚:放置1个0.1μF+1个0.01μF电容。 - 处理器内存控制器电源引脚:每电源引脚1个1μF+2个0.1μF电容。 #### 3. **布线规则** - **线宽/间距**: | 信号类型 | 线宽(mil) | 间距(mil) | |----------------|------------|------------| | 单端(DQ/CA) | 4 | 4×线宽 | | 差分(CK/DQS) | 4/4 | 4 | - **长度匹配**: - 同一组DQ/DQS:长度偏差≤5mil。 - CK与CA组:相对长度偏差≤10mil。 - **过孔使用**:每个信号线过孔≤2个(推荐使用激光盲孔)。 #### 4. **电源完整性** - **目标阻抗**:$$Z_{\text{target}} \leq \frac{V_{\text{ripple}}}{\Delta I} = \frac{30\text{mV}}{2\text{A}} = 15\text{m}\Omega$$ - 实现方法: - 使用大面积铜皮铺电源。 - 在处理器和内存颗粒周围密集放置去耦电容。 #### 5. **仿真验证(必要步骤)** - **信号完整性(SI)**:眼图需满足: - 眼高 ≥ 0.2V(在1.1V电平下)。 - 眼宽 ≥ 0.7 UI。 - **电源完整性(PI)**:目标阻抗曲线在100MHz-3GHz范围内低于15mΩ。 ```bash # 使用仿真工具(如Ansys SIwave)执行 siwave --project=board.siw --simulate=ddr5 ``` --- ### 三、常见问题解决方案 | 问题 | 解决方法 | |-----------------------|--------------------------------------------------------------------------| | 读写不稳定 | 检查CK与DQS的时序关系,调整走线长度[^2] | | 高负载下数据错误 | 增加去耦电容数量,优化电源平面分割 | | ZQ校准失败 | 确保RZQ电阻精度达标(±1%)且靠近处理器放置 | --- ### 四、设计示例:4颗LPDDR5内存布局 ``` +------------------+ +------------------+ | 内存颗粒 U1 | | 内存颗粒 U2 | | DQ[0:7] |-----| DQ[8:15] | | DQS0_t/c | | DQS1_t/c | +------------------+ +------------------+ | | | 等长组1(长度偏差≤5mil) | | | +------------------+ +------------------+ | 处理器 | | 内存颗粒 U3/U4 | | (骁龙8e) |-----| (对称布局) | +------------------+ +------------------+ ``` > **关键提示**:使用“T型拓扑”时需在分支点加终端电阻($$R_{TT}=40\Omega$$),但LPDDR5通常采用点对点拓扑[^1]。 --- ### 相关问题 1. 如何优化LPDDR5在高频(>6400Mbps)下的信号完整性? 2. 骁龙8e的LPDDR5控制器有哪些特殊配置寄存器? 3. PCB叠层设计中如何平衡成本与信号质量? 4. LPDDR5X与LPDDR5在PCB设计上有何差异? 5. 如何通过仿真工具验证LPDDR5时序裕量? [^1]: LPDDR5X 规范文档 [^2]: LPDDR5协议解析 ZQ</think>### 骁龙8e主板PCB设计指南与LPDDR5协议规范 #### 一、LPDDR5协议核心要点 1. **ZQ校准机制** - 需在PCB上设置高精度外部电阻 $$ R_{ZQ} = 240\Omega \pm 1\% $$ - 电阻需满足温度稳定性(推荐±25ppm/℃温漂系数)[^2] - 布局位置需靠近SoC(<300mil),远离热源区域 2. **信号完整性要求** | 信号类型 | 阻抗要求 | 时序容差 | |----------|----------|----------| | 差分时钟(CK_t/CK_c) | $$100\Omega \pm 10\%$$ | ±0.1 UI | | 数据选通(DQS_t/DQS_c) | $$100\Omega \pm 10\%$$ | ±0.05 UI | | 单端信号(CA/DQ) | $$50\Omega \pm 10\%$$ | ±0.15 UI | 3. **关键时序参数** ```plaintext tDQSS (CK to DQS skew) ≤ ±0.1 UI tDQS2DQ (DQS to DQ skew) ≤ ±0.05 UI tQH (Data hold time) ≥ 0.4 UI ``` 以6400Mbps速率为例,1 UI = 156.25ps,需控制时序偏差在±7.8ps内[^1]。 --- #### 二、骁龙8e主板PCB设计指南 1. **叠层结构(推荐8层板)** | 层序 | 功能 | 厚度(mm) | 材质 | |------|---------------------|----------|------------------| | 1 | 信号层(LPDDR5) | 0.1 | FR4 低损耗 | | 2 | GND | 0.2 | 完整地平面 | | 3 | 信号层(其他) | 0.1 | | | 4 | 电源层(VDDQ) | 0.2 | 内存1.1V供电 | | 5 | 电源层(VDD2) | 0.2 | 内存控制器供电 | | 6 | GND | 0.2 | 完整地平面 | | 7 | 信号层(低速) | 0.1 | | | 8 | 信号层(LPDDR5) | 0.1 | | 2. **布线规则** - **长度匹配**: - 同组DQ/DQS偏差 ≤ 5mil - CK与CA组偏差 ≤ 10mil - **间距规则**: ```plaintext 信号线-地孔间距: ≥ 3×线宽 平行走线间距: ≥ 4×线宽(差分对间≥8×线宽) ``` - **过孔设计**: - 使用激光盲孔(直径8mil/焊盘12mil) - 每个信号线过孔≤2个 3. **电源完整性设计** - **去耦电容布局**: ```plaintext VDDQ: 每颗粒10×0.1μF MLCC + 2×1μF X5R VDD2: 每通道22μF钽电容 + 10×0.1μF MLCC ``` - **目标阻抗**: $$ Z_{\text{target}} = \frac{\Delta V}{\Delta I} \leq \frac{30\text{mV}}{2\text{A}} = 15\text{m}\Omega $$ 在100MHz-3GHz频段需保持阻抗低于此值[^1]。 --- #### 三、设计验证流程 1. **信号完整性仿真** ```python # 使用PyAEDT进行眼图仿真 import pyaedt hfss = pyaedt.Hfss() hfss.create_differential_pair("CK_t", "CK_c", impedance=100) hfss.analyze_eye_diagram(frequency=6400e6, data_rate="6400Mbps") ``` 2. **实测关键项** | 测试项 | 仪器 | 合格标准 | |--------|------|----------| | 信号抖动 | 示波器 | RJ < 1ps RMS | | 电源噪声 | 探头 | Pk-Pk < 30mV | | ZQ校准 | 万用表 | $$ R = 240\Omega \pm 2.4\Omega $$ | 3. **故障排查** - **DQS时序超标** → 检查长度匹配和终端电阻 - **VDDQ噪声过大** → 增加去耦电容密度 - **ZQ校准失败** → 验证电阻温漂特性[^2] --- #### 四、LPDDR5X升级要点 1. **速率提升** - LPDDR5: 6400Mbps → LPDDR5X: 8533Mbps - 阻抗公差需收紧至 $$ \pm 5\% $$ 2. **新特性支持** - Adaptive Clocking - Partial Array Self-Refresh - 需在PCB上预留XTAL引脚滤波电路 --- ### 相关问题 1. 如何优化LPDDR5在多层板中的跨分割问题? 2. 骁龙8e的DSP/GPU协同处理对内存带宽有何特殊要求? 3. LPDDR5X的PCB材料选择有哪些新标准? 4. 如何通过ZQ校准提升高速信号完整性5. 骁龙8e主板的热设计如何影响内存稳定性? [^1]: LPDDR5X 规范文档 [^2]: LPDDR5协议解析 ZQ
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只豌豆象

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值