[DDR5 Jedec] 2-1 引脚与PCB布线规范

7500字,依公知及经验整理,原创保护,禁止转载。

专栏 《深入理解DDR》

1 DDR5 颗粒 X4 X8 X16

这里的 X8 or X16, 可以理解为一个DRAM芯片有几个存储阵列。“X几”。进行列寻址时会同时从几个阵列的同一个坐标位置读出数据bit来,X4 就读出4位,x8 就读出8位。
大白话就是: 就是几根数据线, x8,就是颗粒有8根数据线 (DQ0 ~ DQ7), X16 就是颗粒有16根数据线 (DQ0 ~ DQ15)。

这个数字越大,表示位宽越大, 同一时刻存取的数据就多了。
在这里插入图片描述

2 DDR5芯片引脚排布

DDR5芯片封装采用BGA封装。

X8 颗粒纵向有13 行(lin A ~ N), 横向有 9 列(1 ~ 9, 其中1/2/3 和 7/8/9 有填充锡球, 4/5/6 没有填充锡球)。
在这里插入图片描述在这里插入图片描述

3 引脚说明

下图的引脚行号和列号和上图对应,对照这个就知道每个引脚的功能。
在这里插入图片描述
数据线

3.1 DBI_n

是一个输入/输出,用于标识是存储/输出原始数据还是反转数据。翻转就是每个bit和原始数据反过来(0 -> 1, 1 -> 0),如果DBI_n为低电平,则数据将在 DDR5 SDRAM 内反转后存储/输出,如果DBI_n为高电平,则不会反转。

为什么要翻转?
通过发送端数据翻转使较少的数据位为低电平,从而使系统功耗更低。

3.2 DM_n

数据掩膜功能也称为部分写。只支持x8和x16配置。DM功能与DBI和TDQS功能共用相同的管脚。DM功能只用于写操作,且不能与写DBI功能同时使能。比如X16, host 每次发 16 bit, 但可能只想其中的 8 bit 写到内存,就可以带上 DM_n 实现部分写。
在这里插入图片描述

3.3 DQ

数据线, 可以输入输出, 是双向的
数据输入/输出:双向数据总线。

3.4 DQS_t、DQS_c、DQSU_t、DQSU_c、DQSL_t,DQSL_c

数据选通信号。DQS_t/DQS_c、DQSL_t/DQSL_c和DQSU_t/DQSU_c是三组差分对信号。

3.5 TDQS_t,TDQS_c

终端数据选通

命令/地址、控制、时钟

3.7 CK-t, CK-c

这是时钟信号, 这两个信号是差分信号,即CK_t 和 CK_c 永远是相反的。

差分信号(Differential signal)是指一对相互反向但又有关联的电信号。差分信号具有抗干扰、抑制共模干扰、提高信号完整性等优势,被广泛用于高速数据传输。

在这里插入图片描述

CK# (CK_c)的作用,是起到触发时钟校准的作用。由于数据是在 CK 的上下沿触发,要求 CK
的上下沿间距要有精确的控制。但因为温度、电阻性能的改变等原因,CK 上下沿间距可能发生变化,此时与其反相的 CK#就起到纠正的作用(CK
上升快下降慢,CK#则是上升慢下降快)。而由于上下沿触发的原因,也使 CL=1.5 和 2.5 成为可能,并容易实现。
原文: https://blog.csdn.net/xuhao0258/article/details/120306591

3.8 CS_n

片选信号,低电平选中。 引脚里带 “_n” 都是低电平有效, 反之高电平有效。当有多个RANK 时候, 可以通过 CS_n 选中不同 Rank

3.9CA

命令/地址输入,CA 信号根据命令真值表提供命令和地址输入。

3.10Reset_n

低电平硬件复位信号.

Reset_n将使DDR的初始化处理变得简单。
当Reset命令有效时,DDR5 内存将停止所有的操作,并切换至最少量活动的状态,以节约电力。
在Reset期间,DDR5内存将关闭内在的大部分功能,所有数据接收与发送器都将关闭,且所有内部的程序装置将复位。
原文: https://www.cnblogs.com/zhongguo135/p/8486979.html

3.11ALERT_n

警报,含有 CRC 或是命令、地址校验错误
具有CRC错误标志,命令和地址奇偶校验错误标志等多种功能作为输出信号。如果存在错误,则Alert_n变为 LOW。如果未作为信号连接,则ALERT_n引脚必须绑定到板载的 VDD。

3.12TEN

连接测试模式启用:它是一种CMOS轨到轨信号。该引脚可以通过一个弱下拉电阻器在内部将DRAM拉低至VSS。

3.13 MIR

通知系统此设备正在引脚镜像模式下运行, 而非标准模式下运行。如果不需要 CA 镜像,则 MIR 引脚必须绑定到 VSSQ。

从DDR5开始引入物理管脚来管理,通知DRAM颗粒它的双数CA和下一个单数CA进行了swap,
至于要做管脚mirror的原因,是两rank下fly by安装模式的时候,为了CA信号能够尽可能地走线短,减少绕线复杂度,优化信号质量。
原文链接:https://blog.csdn.net/m0_61126667/article/details/131947788

3.14 CAI

命令和地址翻转, 将CAI引脚连接到VDDQ后,DRAM在内部反转所有CA信号上的逻辑电平。

3.15 CA_ODT

(On-Die_Termination, 片内终结)如果引脚连接到 VDD, 启用CA_ODT, 如果引脚连接到 VSS, 禁用 CA_ODT.

电源和参考引脚

3.16 VDDQ

DQ 电源:1.1 V +/- 0.055 V

3.17 VSSQ

DQ接地

3.18 VDD

电源power supply, 1.1 V +/- 0.055 V

3.19 VSS

接地

3.20 VPP

DRAM 激活电源:标称 1.8V、最小值 1.71V、最大值 1.98V

3.21 ZQ

用于 ZQ 校准的参考引脚

ZQ 在ZQ这个引脚上接有一个 240 欧姆的低公差参考电阻。这个引脚通过一个命令集,通过片上校准引擎( ODCE
,On-DieCalibrationEngine )来自动校验数据输出驱动器导通电阻与 ODT 的终结电阻值。 当系统发出这一指令之后,
将用相应的时钟周期 (在加电与初始化之后用 512 个时钟周期,在退出自刷新操作后用 256 时钟周期、在其他情况下用
64个时钟周期)对导通电阻和 ODT 电阻进行重新校准。
  ODT是终端匹配,那就是要在你的信号线终端上拉一个电阻,但是这个内部电阻随着温度会有些细微的变化,为了保证信号被准确的进行终端匹配,就需要ZQ了,ZQ的作用就是使用你外面连接的,高精度240R电阻来对这个内部的电阻进行校准。
原文链接: https://blog.csdn.net/xuhao0258/article/details/120306591

在这里插入图片描述

4 DDR 布线

4.1 DDR 基本布线规则

布线规则节选自: 无线时代 https://www.witimes.com/ddr-layout-rules-processes/

第一步: 先要确定拓补结构,
拓补结构只影响地址线的走线方式,不影响数据线。常见 T 型(星型)结构和Fly_by拓扑(菊花链拓扑), 如下图。

在这里插入图片描述

T 拓扑布线方法在旧版本的 DDR 内存上效果良好,但它不能处理更高的 DDR3 ~ DDR5 信号速率。取而代之的是菊花链模式极大地改善了信号完整性。

第二步,元器件摆放
确定了DDR的拓补结构,就可以摆放元器件:

原则一,CPU地址线的位置,使得地址线有利于相应的拓补结构

原则二,地址线上的匹配电阻靠近CPU

原则三,数据线上的匹配电阻靠近DDR

原则四,将DDR芯片摆放并旋转,使得DDR数据线尽量短,也就是,DDR芯片的数据引脚靠近CPU

原则五,如果有VTT端接电阻,将其摆放在地址线可以走到的最远的位置。

原则六,DDR芯片的去耦电容放在靠近DDR芯片相应的引脚。

第三步,设置串联匹配电阻的仿真模型
参考原文: https://www.mr-wu.cn/ddr-layout-rules-processes/

第四步,设置线宽与线距

  1. DDR走线线宽与阻抗控制密切相关,经常可以看到很多同行做阻抗控制。对于纯数字电路,完全有条件针对高速线做单端阻抗控制;但对于混合电路,包含高速数字电路与射频电路,射频电路比数字电路要重要的多,必须对射频信号做50欧姆阻抗控制,同时射频走线不可能太细,否则会引起较大的损耗,所以在混合电路中,本人往往舍弃数字电路的阻抗控制。到目前为止,本人设计的混合电路产品中,最高规格的DDR是DDR2-800,未作阻抗控制,工作一切正常。

  2. DDR的供电走线,建议8mil以上,在Allegro可以针对一类线进行物理参数的同意设定,我本人喜欢建立PWR-10MIL的约束条件,并为所有电源网络分配这一约束条件。

  3. 线距部分主要考虑两方面,一是线-线间距,建议采用2W原则,即线间距是2倍线宽,3W很难满足;二是线-Shape间距,同样建议采用2W原则。对于线间距,也可以在Allegro中建立一种约束条件,为所有DDR走线(XNET)分配这样的约束条件。

  4. 还有一种可能需要的规则,就是区域规则。Allegro中默认的线宽线距都是5mil,在CPU引脚比较密集的时候,这样的规则是无法满足的,这就需要在CPU或DDR芯片周围设定允许小间距,小线宽的区域规则。

第五步,走线
走线就需要注意的内容比较多,这里只做少许说明。

所有走线尽量短
走线不能有锐角
尽量少打过孔
保证所有走线有完整的参考面,地平面或这电源平面都可以,对于交变信号,地与电源平面是等电位的
尽量避免过孔将参考面打破,不过这在实际中很难做到
走完地址线和数据后,务必将DDR芯片的电源脚,接地脚,去耦电容的电源脚,接地脚全部走完,否则在后面绕等长时会很麻烦的

DDR-Route-Done

第六步,设置等长规则
对于数据线,每个BYTE与各自的DQS,DQM等长,即DQ0:7与DQS0,DQM。等长,DQ8:15与DQS1,DQM1等长,以此类推。

地址线的等长往往需要过孔来配合,具体的规则均绑定在过孔上和VTT端接电阻上。可以看到,CPU的地址线到达过孔的距离等长,过孔到达VTT端接电阻的距离也等长。

第七步,绕等长
完成等长规则的设定后,最后一步也是工作量最大的一步:绕等长。

在这一步,我认为只有一点规则需要注意:尽量采用3倍线宽,45度角绕等长。

Routing-Tunning

绕等长完成后,最好把DDR相关网络锁定,以免误动。

自动布线
对于 PCB 设计工程师来说,要让布线符合时序要求,借助 CAD 软件的设计约束非常重要。可以将这些约束条件设置为符合特定的长度,并自动进行蛇形图案布线,以便将走线布置到正确的长度。
在这里插入图片描述

4.2 DDR5 布线规则

以下部分节选自: https://www.intel.com/content/www/us/en/docs/programmable/772538/24-1-6-1-0/ddr5-board-design-guidelines.html
为了支持最大数据速率操作,DDR5 板设计需要使用微型通孔、埋孔或堆叠通孔的高质量 PCB 堆叠,以减少串扰以实现高性能。缩短信号通孔的长度对于最大限度地减少信号之间的串扰至关重要。

DDR 接口中的 DQS 和 CLK 信号是差分信号,在 PCB 上必须作为差分信号, 应该采用对称布线。非对称布线会导致共模电压发生偏移,并导致接收器的时序裕量减小。下图显示了DQS/CLK信号在推荐的差分布线。
在这里插入图片描述DRAM器件将接地拼接通孔保持在距离信号转换80 mil以内,以实现信号通孔上的最佳回路并改善信号完整性。

DDR 接口PCB
对于但RANK, 数据组包括数据选通及其补充(DQS 和 DQS#)、数据 (DQ) 和数据掩码 (DM), 采用点对点连接。
在这里插入图片描述对于双 Rank, 数据组采用 fly-by(菊花拓扑)
在这里插入图片描述

对于地址,采用 fly-by(菊花拓扑)。以满足信号完整性性能并简化路由。DDR5 的端接方法是通过可编程片上端接 (ODT), 不需要PCB 板接。
单个Rank: Single Rank, DRAM x 8 bits, 40-bit Interface
在这里插入图片描述双Rank: Dual Rank, DRAM x 8 bits, 40-bit Interface
在这里插入图片描述fly-by路由从 控制器开始,然后是菊花链连接在一起的 DRAM 芯片

DDR5 内存路由指南:
在这里插入图片描述在上表中,信号走线的边缘到边缘的信号走线宽度和最小间距/间隙(以密耳为单位)。

DDR5 内存、1 位 x8 位配置的偏移匹配要求
在这里插入图片描述DDR5 内存的 DQ 路由小结
在这里插入图片描述
DDR5 PCB 布线实例
在这里插入图片描述
这种布局设计在厚PCB(120mil叠层)上,使用微通孔和带背钻的通孔。DDR5数据信号路由在上层,避免垂直串扰,实现高性能;CS/CTRL 信号可以在更深的层上路由。

4.2 仿真策略

仿真策略包括两部分:
数据信号 对数据组较差的信号完整性进行 DQS 信号完整性模拟(考虑信号之间的最长路由和最大垂直串扰)。
CS/CTRL/CMD 信号完整性模拟 CLK 信号的最差信号完整性(考虑信号之间的最长路由和最大垂直串扰)。

仿真后评估眼图,以确保设计两端都符合眼图规范。

5 DDR5 SDRAM Addressing 寻址

在这里插入图片描述BG Addess 表示哪个 Bank group, 若是 8 group, 需要 3 bit(BG0 ~ BG2) 表示, 000 表示 Bank Group 0, 001 表示 Bank Group 1, 以此类推。若是 4 group, 只需要 2 bit 表示。

Bank Address 表示 Bank group 里的哪个 bank.

为了实现平稳过渡从DDR4到DDR5,初始密度为8Gb的DDR5 SDRAM内部配置为16个Bank和8个bank group,每个bank group包括2个bank。

当行业转向更高的密度(>16Gb)时,Bank 资源将增加一倍,并且内部配置将变为32个bank group 和8个bank group,每个bank group包括4个bank。

在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述

参考

1https://community.cadence.com/cadence_blogs_8/b/pcbchn/posts/ddr
2https://www.intel.com/content/www/us/en/docs/programmable/772538/24-1-6-1-0/ddr5-board-design-guidelines.html
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/642096.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

三、自定义信号和槽函数(无参和有参)

需求: 下班后,小明说请小红吃好吃的,随便吃,吃啥买啥 无参:小红没有提出吃啥 有参:小红提出自己想吃的东西,吃啥取决于一时兴起(emit触发) 思路: 1&#xff…

【传知代码】用二维图像渲染3D场景视频-论文复现

文章目录 概述原理介绍模型介绍环境配置/部署方式安装环境准备数据训练(train)评估(eval)渲染(render) 小结 论文地址 本文涉及的源码可从用二维图像渲染3D场景视频该文章下方附件获取 概述 **NeRF&#…

学习使用博客记录生活

学习使用博客记录生活 新的改变 今天新的开始,让我用图片开始记录吧 看这个背景图片怎么样

【OpenCV】图像通道合并与分离,ROI

介绍可以实现图像通道合并与分离的API,这只是一种方式,后续还会介绍其他的合并与分离方法,以及ROI区域截取的方法。相关API: split() merge() Mat对象() 代码: #include "iostream" #include "ope…

JS(ES_6)_2

1.创建对象的6种方式&#xff1a; 1. obnew Object() ob.nameah ob.age18 2. ob{name:ah,gae:18} 3.工厂模式&#xff1a; 设计一个函数&#xff0c;专门生产Person类型的对象 <script>function createPerson(name,age,family) {var o new Object();o.name name;o.…

ACL组网实验(华为)

思科设备参考&#xff1a;ACL组网实验&#xff08;思科&#xff09; 更多内容参考&#xff1a;华为ACL配置&#xff08;基本ACL高级ACL综合应用&#xff09; 技术简介 ACL&#xff08;Access Control List&#xff09;技术是一种基于包过滤的流控制技术&#xff0c;主要用于…

深入解析编程逻辑中的关键字与逻辑运算

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、认识关键字及其重要性 二、逻辑运算的关键字 1. and、or 和 not 的运用 2. 逻辑运算的…

Redis机制-Redis缓存穿透,击穿,雪崩理解等问题的理解和学习

目录 一 缓存穿透问题 二 缓存击穿问题 三 缓存雪崩问题&#xff1a; 图1 正常的Redis缓存流程 一 缓存穿透问题 我们都知道Redis是一个存储键值对的非关系型数据库&#xff0c;那么当用户进行查询的时候&#xff0c;势必会从前端发起请求&#xff0c;从而数据从Redis缓存…

测试驱动编程(3)进阶单元测试(下)

文章目录 测试驱动编程(3)进阶单元测试&#xff08;下&#xff09;示例实战接收同事的需求开始迭代需求故事迭代1故事迭代2故事迭代3故事迭代4故事迭代5故事迭代6 测试驱动编程(3)进阶单元测试&#xff08;下&#xff09; 示例实战 接收同事的需求 你的同事正在开发一个远程…

速看!!!24上软考-信息系统项目管理师真题回忆,考点已更新

整理了24上半年软考高级信息系统项目管理师的考试真题&#xff0c;软考一个批次一套题&#xff0c;现在都是机考&#xff0c;收集题目比较困难&#xff0c;希望能给个小小的赞支持一下。 注意&#xff1a;当天考试的宝子们可以对答案预估分数&#xff01;后面场次的宝子可以提…

香农信息量/自信息、信息熵、相对熵/KL散度/信息散度、交叉熵

诸神缄默不语-个人CSDN博文目录 文章目录 1. 引言2. 什么是熵&#xff1f;3. 香农信息量/自信息香农信息量的定义香农信息量的含义香农信息量计算示例香农信息量与信息熵的关系 4. 信息熵信息熵的定义信息熵的计算公式信息熵计算示例 5. 衡量两个分布间的差异&#xff1a;相对熵…

ColossalAI Open-Sora 1.1 项目技术报告 (视频生成)

项目信息 项目地址&#xff1a;https://github.com/hpcaitech/Open-Sora技术报告&#xff1a; Open-Sora 1&#xff1a;https://github.com/hpcaitech/Open-Sora/blob/main/docs/report_01.mdOpen-Sora 1.1&#xff1a;https://github.com/hpcaitech/Open-Sora/blob/main/docs…

技术前沿 |【VL-BEIT:引领未来的极简单阶段多模态预训练方案】

VL-BEIT&#xff1a;引领未来的极简单阶段多模态预训练方案 引言一、VL-BEIT的基本介绍二、VL-BEIT的原理和工作方式三、VL-BEIT的特点四、VL-BEIT的应用场景五、总结与展望 引言 在人工智能蓬勃发展的今天&#xff0c;多模态预训练模型正逐渐成为研究和应用的热点。这些模型能…

C++高效死锁检测——实现原理与应用(基于强连通分量)

背景 在项目使用多进程、多线程过程中&#xff0c;因争夺资源而造成一种资源竞态&#xff0c;所以需加锁处理。如下图所示&#xff0c;线程 A 想获取线程 B 的锁&#xff0c;线程 B 想获取线程 C 的锁&#xff0c;线程 C 想获取线程 D 的锁&#xff0c; 线程 D 想获取线程 A 的…

视频号小店的保证金是多少钱?2024最新收费标准,一篇了解!

哈喽~我是电商月月 现实社会&#xff0c;干什么都需要交钱&#xff0c;就连上班&#xff0c;路费也得掏钱 想要入驻视频号小店&#xff0c;在视频号里卖货赚钱&#xff0c;就要缴纳类目保证金 那到底要缴多少钱呢&#xff1f; 今天&#xff0c;月月就把最新的收费标准分享给…

批量化处理和矩阵(torch)

左边是权重&#xff0c;右边是变量 高维可以看成二维的堆叠 总结&#xff1a;二维是一维的堆叠&#xff0c;三维是二维的堆叠。但似乎是为了引入矩阵&#xff0c;本来应该是左上角是第一组权重和第一组变量的乘积这种表示表示来着&#xff0c;最后成了和列向量乘积&#xff…

C# GDI+ 绘制文字不同的操作系统渲染文字大小不同

一、C# GDI 绘制文字不同的操作系统渲染文字大小不同 原因&#xff1a;使用Font 字体的时候&#xff0c;没有指定字体渲染的单位。 不同系统的默认字体单位会不同。 二、解决方案&#xff1a; 在指定字体的时候&#xff0c;指定字体大小&#xff0c;同时也要设置字体的单位 …

私域流量的真谛:构建并运营属于你自己的私域生态

大家好&#xff0c;我是来自一家专注于私域电商行业的软件开发公司的产品经理&#xff0c;拥有超过七年的行业经验。今天&#xff0c;我想和大家聊聊私域流量的真正含义&#xff0c;以及为何我们应该关注并努力打造属于自己的私域生态。 什么是私域流量&#xff1f; 私域流量&…

【机器学习】【深度学习】正则化(Regularization)

概念 正则化&#xff08;Regularization&#xff09;是在机器学习模型中避免过拟合的一种技术。它通过引入一个惩罚项&#xff08;即正则项&#xff09;来限制模型的复杂度&#xff0c;以此来提防模型过度依赖训练数据&#xff0c;捕获数据中的噪音信息而导致过拟合现象。简单…

10.3.k8s的附加组件-图形化管理工具dashboard

目录 一、dashboard介绍 二、部署安装dashboard组件 1.下载dashboard本地文件 2.修改nodeport的端口范围 3.创建和查看dashboard 4.电脑浏览器访问测试 5.token登录方式登录dashboard 5.1.查看dashboard的token 5.2.继续查看用户token的secrets资源详细信息 5.3.复制…