扒一扒DDR4的新功能和PCB设计上的一些注意事项--转
扒一扒DDR4的新功能和PCB设计上的一些注意事项
转自 http://www.elecfans.com/d/906656.html
DDR4新增了许多功能,这对于我们之前信手拈来的内存PCB设计又带来了一些新的挑战,虽然说之前的一些规范可以用,但还是有很多不一样的地方,如果依然按照之前的设计方法来做,说明你还不了解DDR4,一准入坑。今天咱们就来扒一扒它的新功能和PCB设计上的一些注意事项。
DDRX发展趋势及参数对比
DDR4信号引脚功能
DDR4新增pin
DDR4新增功能
(1)新的JEDEC POD12接口标准(工作电压1.2V) ;
(2)DBI:可以降低功耗并且提升数据信号完整性;
(3)Bank群组结构:是个8n预取群组结构,它可以使用两个或者四个Bank组,这允许DDR4内存在每个Bank群组单独被激活、读取、写入或刷新操作,这样可以带来更高的内存速度和带宽;
(4)取消了Derating,时序仿真计算不再繁琐;
(5)DQ动态确定Vref ( V_ center ) ,增加了眼图要求;
(5)新的终止调度:在DDR4中DQ bus可以转移终止到VDDQ ,这样即使VDD电压降低的情况下也能保证稳定;
(6)新的数据总线CRC技术,可以进行传输过程中的错误侦测,特别对非ECC内存进行写入操作时有帮助;
(7)针对命令和地址总线的新的CA奇偶校验;突发长度和突发停止长度分别为8和4 ;
(8)正常和动态的ODT :改进ODT协议,并且采用新的Park Mode模式可以允许正常终结和动态吸入终结,而不需要去驱动ODT Pin
(9)Differential Signaling(差分信号技术)
信号分组
DDR3数据信号的分组
DDR4数据信号的分组
DDR3地址信号的分组
DDR4地址信号的分组
布局要求
(1)地址线布局布线需使用Fly-by的拓扑结构,不可使用T型,拓扑过孔到管脚的长度尽量短,长度在150mil左右
(2)VTT上拉电阻放置在相应网络的末端,即靠近最后一个DDR4颗粒的位置放置;注意VTT上拉电阻到DDR4颗粒的走线越短越好,走线长度小于500mil;每个VTT上拉电阻对应放置一个VTT的滤波电容(最多两个电阻共用一个电容)
(3)CPU端和DDR4颗粒端,每个引脚对应一个滤波电容,滤波电容尽可能靠近引脚放置。线短而粗,回路尽量短;CPU和颗粒周边均匀摆放一些储能电容,DDR4颗粒每片至少有一个储能电容。
阻抗控制
(1)单端线:50ohm
(2)差分线:100ohm
带状线和平面
(1)除了从焊盘到过孔之间的短线外,所有的走线都必须走带状线,即内层走线
(2)所有的内层走线都要求夹在两个参考平面之间,即相邻层不要有信号层,这样可以避免串扰和跨分割走线,走线到平面的边缘必须保持4mil以上的间距;
(3)数据线参考平面优先两边都是GND,接受一边地,一边自身电源,但是到GND平面的距离要比到电源平面的距离要近;对于地址线,控制信号,CLK来说,参考面首选GND和VDD,也可以选GND和GND。
容性负载补偿
flyby拓扑要求stub走线很短,当stub走线相对于信号边沿变化率很短时,stub支线和负载呈容性。负载引入的电容,实际被分摊到了走线上,所以造成走线的单位电容增加,从而降低了走线的有效阻抗。所以在设计中,我们应该将负载部分的走线设计为较高阻抗,最直接有效的方式就是减小支线线宽。经过负载电容的平均后,负载部分的走线才会和主线阻抗保持一致,从而达到阻抗连续,降低反射的效果。
PCB叠层设计
(1)所有的DQ线必须同组同层。
(2)地址线是否同层不做要求。
(3)为了减少过孔产生的Stub,强烈建议在同一层中优先布DQ, DQS,CLK等信号。如果所有的BGA都在top层,data线尽量的靠近bottom层走,而地址,控制线则可以靠近top层走;当BGA在top层时,越靠近bottom层,过孔产生的stub越短,信号质量越好。
走线线宽和线间距
(1)线宽和线间距必须满足阻抗控制,即单端线50ohm,差分线100ohm。ZQ属于模拟信号,布线尽可能短,并且阻抗越低越好,所以尽可能的把线走宽一点,建议3倍50ohm阻抗控制的线宽;
(2)DQ和DBI数据线,组内要求满足3W间距,与其他组外信号之间保持至少4W;
(3)DQS和CLK距离其他信号间距做到5W以上;
(4)在过孔比较密集的BGA区域,同组内的数据线,地址线的间距可以缩小到2W,但是要求这样的走线尽可能的短,并且尽可能的走直线;
(5)如果空间允许,所有的信号线走线之间的间距尽可能的保证均匀美观;
(6)内存信号与其他非内存信号之间应该保证4倍的介质层高的距离。
等长要求
(1)数据走线尽量短,不要超过2000mil,分组做等长,组内等长参考DQS误差范围控制在+/-5mil;
(2)地址线、控制线、时钟线作为一组等长,组内等长参考CLK误差范围控制在+/-10mil;
(3)DQS、时钟差分线对内误差范围控制在+/-2mil;
(4)RESET和ALERT不需要做等长控制
(5)信号实际长度应当包括零件管脚的长度,尽量取得零件管脚长度,并导入软件中;
(6)因有些IC内核设计比较特别,按新品设计指导书或说明按参考板做,特别是Intel,AMD的芯片,请特别留意芯片手册要求;
电源处理
(1)VDD(1.2V)电源是DDR3的核心电源,其引脚分布比较散,且电流相对会比较大,需要在电源平面分配一个区域给VDD(1.2V);VDD的容差要求是5%,详细在JEDEC里有叙述。通过电源层的平面电容和专用的一定数量的去耦电容,可以做到电源完整性。
(2)VTT(0.6V)电源,它不仅有严格的容差性,而且还有很大的瞬间电流;可以通过增加去耦电容来实现它的目标阻抗;由于VTT是集中在上拉电阻处,不是很分散,且对电流有一定的要求,在处理VTT电源时,一般是在元件面同层通过铺铜直接连接,铜皮要有一定宽度(120mil)。
(3)VREF(0.6V)VREF要求更加严格的容差性,但是它承载的电流比较小。它不需要非常宽的走线,且通过一两个去耦电容就可以达到目标阻抗的要求。因其相对比较独立,电流也不大,布线处理时建议用与器件同层的铜皮或走线直接连接,无须再电源平面层为其分配电源。注意铺铜或走线时,要先经过电容再接到芯片的电源引脚,不要从分压电阻那里直接接到芯片的电源引脚。
(4)VPP(2.5V)内存的激活供电,容差相对宽松,最小2.375V,最大2.75V。电流也不是很大,一般走根粗线或者画块小铜皮即可。
以下参考:https://www.cnblogs.com/zhongguo135/p/8486961.html
A[17:0] | input |
为激活命令提供行地址,为读、写命令地址输入:提供列地址,也为模式寄存器设 置提供操作码,A[16]只用于8Gb和16Gb,A[17]只用于16Gb,另外 (A10/AP, A12/BC_n, WE_n/A14, CAS_n/A15, RAS_n/A16还有一些别 的功能) |
A10/AP | input |
自预充电(Auto precharge):在读写命令期间采样A10,决定是 否对访问的Bank在读写操作之后进行Auto Precharge,高电平表示进 行Auto Precharge,低电平表示不进行Auto Precharge。 另外PRECHARGE命令期间也会对A10进行采样,来决定是对一个(A10为 低电平)Bank进行还是对所有的Banks(A10为高电平)进行PRECHARGE, 如果选择一个,则选择的Bank由Bank组和Bank地址决定 |
A12/BC_n | input |
突发突变(Burst chop):在读和写命令期间对A12/BC_n进行采样, 来决定是否进行突发突变,高电平表示进行,低电平表示不进行.具体 可以查看命令真值表 |
ACT_n | input |
命令输入(command input):ACT_n用于指示激活命令。当ACT_n(与CS_n)是低电平时,输入RAS_n/A16,CAS_n/A15, 和WE_n/A14 看作行地址用于激活命令。 当ACT_n为高电平(CS_n为低)时,RAS_n/ A16, CAS_n/A15, and WE_n/A14,用作RAS_n, CAS_n,和WE_n |
BA[1:0] | input |
Bank地址输入(bank address inputs):指示被ACTIVTE,READ, WRITE或者PRECHARGE命令操作的Bank。另外用作指示在MODE REGISTER SET命令期间要访问的模式寄存器 |
BG[1:0] | input |
Bank组地址输入(Bank group address inputs):指示被ACTIVTE, READ,WRITE或者PRECHARGE命令操作的Bank组。另外用作指示在MODE REGISTER SET命令期间要访问的模式寄存器,BG[1:0]用于x4和x8配 置,而BG[1]不用于x16配置 |
C0/CKE1, C1/CS1_n, C2/ODT1 |
input | Stack address inputs: |
CK_t, CK_c, |
input |
时钟:差分时钟输入,所有的地址,命令和控制输入信号在CK_t和 CK_c的低电平被采样 |
CKE | input |
时钟使能:高电平激活,低电平禁止内部时钟信号,输入缓存和输 出驱动。拉低CKE提供PRECHARGE,POWER_DOWN和SELF REFRESH操作。 CKE在读写期访问期间必须保持HIGH, |
CS_n | input | 片选 |
DM_n, UDM_n, LDM_n |
input |
输入数据Mask:用于写数据,DM在DQS的双沿采样,DM不支持x4配置, UDM_n用于x16的高8位,LDM_n用于x16低8位, |
ODT |
input |
On-die termination:ODT为高电平时使能内部终端电阻到DDR4.当使 能时,ODT(Rtt)只用于x4和x8的DQ, DQS_t,DQS_c, DM_n/DBI_n/TDQS_t, 和TDQS_c信号(当TDQS功能通过模式寄存器 使能)。对于x16配置,Rtt应用于DQ, DQSU_t, DQSU_c, DQSL_t, DQSL_c, UDM_n,和 LDM_n信号,如果模式寄存器禁止Rtt,ODT脚将 被忽略。 |
PAR | INPUT | |
RAS_n/A16, CAS_n/A15, WE_n/A14 |
INPUT |
命令输入: |
RESET_n |
input | 低电平异步复位: |
TEN |
input | 连通性测试模式:高电平有效,低电平无效 |
DQ |
IO |
数据输入输出 :对于x4,x8和x16分别代表DQ[3:0],DQ[7:0]和 DQ[15:0].如果在模式寄存器中使能了写CRC,写CRC会添加在写 突发的后面 |
DBI_n, UDBI_n, LDBI_n |
I/O |
DBI输入输出:数据总线翻转。DBI_n用于x8,UDBI_n用于x16的 高8位,LDBI_n用于x16的低8位。不支持x4。通过模式寄存器可 以配置DBI用于读和写操作。 |
DQS_t, DQS_c, DQSU_t, DQSU_c, DQSL_t, DQSL_c, |
IO |
数据选通:输入用于写数据输出用于读数据。与输出数据边沿对 齐,与输入数据中心对齐,DQS用于x4,x8,DQSU用于x16高8位, DQSL用于x16低8位。DDR4只支持差分数据选通,不支持单端数据 选通道。 |
ALERT_n |
||
TDQS_t, TDQS_c |
output |
终端数据选通道:TDQS只用于x8 DRMAs.如果在模式寄存器使能该功能,DRAM会在TDQS_t和TDQS_c使能与DQS_t和DQS_c同样 的Rtt终端电阻。当TDQS功能通过模式寄存器禁止,DM/TDQS_t脚会提供DATA MASK(DM)功能,TDQS_c脚不使用。对于x4和x16模式, 必须禁止TDQS功能。DM功能只支持x8和x16配置 |
ZQ |
参考 | 外部通过240欧姆电阻连接到VssQ |
Bank与Bank 组的区分
这是从DDR4框图中截取的一部分。该DDR总共有16个Bank,每4个Bank组成一个Bank组。
Bank与Bank 组的区分
READ Buust操作
DDR4 读命令支持突发长度为BL8,BC4两种,或者OTF(实时修改BL8和BC4)。这由A12来控制
.A12 = 0 ,BC4(BC4 = burst chop)
.A12 = 1 ,BL8
扒一扒DDR4的新功能和PCB设计上的一些注意事项--转相关推荐
- SAP 电商云 Spartacus UI 支持延迟加载的新功能的入口设计
假设我们要为 Spartacus UI 开发一个新功能,首先,这个新功能,应该放到 feature library 文件夹里: 这个新功能的入口,放置到 Feature Module 中. 新功能通过 ...
- android模仿唱吧榜单界面,唱吧上线弹唱新功能,界面设计被指像素级抄袭唱鸭...
1月10日消息,日前,有多家媒体报道称,唱吧即将上线弹唱功能,目前正在测试中,并且已经有用户上传弹唱作品.与此同时,唱吧还将正式对外宣布上亿规模的音乐创作者分成计划.不过,有网友发现,唱吧上线的新功能 ...
- 微信大改版!新功能被网友骂上热搜!
点击上方"逆锋起笔",公众号回复 pdf 领取大佬们推荐的学习资料 微信版本更新又上热搜了!深夜里阅读量就飙到了3.8亿,这是有大变动?! 很多细心的朋友已经发现,自己的微信个人资 ...
- 苹果新功能惹网友众怒,还有隐私可言吗?
编译 | 禾木木 出品 | AI科技大本营(ID:rgznai100) 大部分人选择 iPhone 的一大理由就是信息安全,这家公司对于个人隐私的保护一直为人称赞. 最近苹果公司宣布,为了让儿童能够更 ...
- 苹果新功能惹众怒,4000 多家组织和个人签署公开信,敦促苹果放弃“儿童安全”功能...
[CSDN 编者按]大部分人选择iPhone的一大理由就是信息安全,这家公司对于个人隐私的保护一直为人称赞.最近苹果公司宣布,为了让儿童能够更加安全地上网,他们决定在iOS 15.iPadOS ...
- 战神4 幕后花絮 概念艺术_Java 9幕后花絮:新功能从何而来?
战神4 幕后花絮 概念艺术 找出Java幕后发生的事情,以及新功能如何实现 在上一篇文章中,我们介绍了即将发布的Java 9版本的新功能和尚待解决的功能,并简要提到了将新功能添加到下一个版本之前要经历 ...
- Java 9幕后花絮:新功能从何而来?
找出Java幕后发生的事情,以及新功能如何实现 在上一篇文章中,我们介绍了即将发布的Java 9版本的新功能和尚待解决的功能,并简要提到了将新功能添加到下一个版本之前要经历的过程. 由于此过程几乎影响 ...
- 苹果新功能惹众怒,4000多家组织和个人签署公开信 敦促苹果放弃“儿童安全”功能...
[CSDN 编者按]大部分人选择iPhone的一大理由就是信息安全,这家公司对于个人隐私的保护一直为人称赞.最近苹果公司宣布,为了让儿童能够更加安全地上网,他们决定在iOS 15.iPadOS 15. ...
- 马化腾“扛不住了”?微信“跟风”推出新功能,像极了当年的QQ
微信"跟风"推出新功能 微信虽然本质上只是一款社交软件,但是经过了将近10年的发展后,它早已成为了很多国人的生活必需品.如今无论是学习还是工作,亦或者是其它事宜,基本上都离不开微信 ...
最新文章
- 关于PKI架构(使用证书)保护Web访问的安全实现SSL的基本理论
- NOI 2015 滞后赛解题报告
- 架构师成长之路:如何提升技术掌控力?
- Apache连接和访问控制
- Win10专业版系统PyCharm专业版使用WSL(ubuntu20.04 LTS)配置Docker解释器配置环境详细教程
- linux sed 冒号,linux sed 总结
- python的基础_python基础知识,python必背内容,一、python的基
- 利用sql语句实现到datagridview显示的转换
- RabbitMQ的基本概念
- III.Data Modeling and Aggregation(数据模型和整合)
- F23. Makefile教程
- 基于PHP使用thinkphp开发的教学管理系统
- 学习笔记---高等数学前置知识---约分、通分
- 学习笔记之 初试Linux遇到的问题
- LeetCode算法解析之“箭爆气球问题”
- Pizza店(JAVA程序设计)
- S3C2440的裸奔--内存篇(非MMU)--------转的网友 泠瑛 的博客文章在此谢过!
- Linux input子系统上报键值失败问题
- MOSFET的SOA
- windows上查看u盘ext4分区数据