DDR3系列-ODT-差分电容-容性补偿
DDR3 之 ODT
ODT 是 On Die Termination 的缩写,又叫片内端接,顾名思义,就是将外部端接电阻放在了芯片内部,这个功能只有在 DDR2 以上的数据信号才有,DDR没有ODT。
有了这个功能,原本需要在 PCB 板上加串阻的数据信号,就不用再额外添加端接了,因为芯片内部可以打开这个 ODT 端接功能,而且端接电阻值还可调。
下面是 ODT 的端接示意图。
图一 ODT 端接示意图
1、当数据读操作的时候,主控(FPGA 或 CPU)读取 Memory 颗粒的数据,此时主控为接收端,可以根据需要选择是否打开 ODT;
2、当数据写操作的时候,主控(FPGA 或 CPU)将数据写入到Memory 颗粒,此时颗粒为接收端,也可以根据需要选择是否打开 ODT,这种操作可以在寄存器
内部实现控制。
既然 ODT 功能这么好,为什么只有数据信号才有 ODT 功能呢?
后续更新该问题
DDR3 系列之时钟信号的差分电容
差分电容,见下图
确实,它只不过是一个普普通通的电容罢了!
上图,图一是 Intel 平台设计指导上经常可以看到的 DDR3 时钟拓扑结构,我们也经常会在仿真实践中去人为的添加这个差分电容,如下图二时钟信号一拖四所示为我们在设计中看到的一个真实案例。
上图,图二 无差分电容的时钟信号拓扑及波形虽然看起来这个波形还凑合,没有太大的问题,但还是有优化的余地。可以通过在前端并联一个电容来优化,如下图三所示为并联了 2.2pF 差分电容后的拓扑结构和仿真波形。
图三 有差分电容的拓扑结构和波形
在前端加了差分电容后,虽然上升沿有微小的变缓,但波形真的是呈现了一个完美的正弦波曲线,振荡消除了。此优化设计也已经投入使用,在加了这个电容后系统能稳定运行在800MHz 的频率,如果没有焊接这个电容,系统只能稳定运行在 667MHz,运行到 800MHz 时系统时有错误发生。
看到这里,一些脑洞大开的工程师可能会问,这个电容的位置有什么讲究吗?我可不可以把这个电容放在最后面那个颗粒?
首先看看将电容放在第一个颗粒处的仿真结果,如下图四所示。
图四、电容在第一个颗粒处的拓扑和波形
可以看出此时波形已经没有放在前端(靠近发送芯片端)时的完美了,甚至出现了振荡的小苗头。接着把电容放在最后一片颗粒处,仿真结果如下图五所示。
图五 电容在最后处的拓扑和波形
此时波形振荡甚至比没有电容的效果还明显,仿真结果表明此电容还是不要放在末端为好,最好的位置还是靠近发送端吧。
DDR3 系列之容性负载补偿
容性负载?是负载呈容性,还是带容性的负载?其实是一个意思。
负载怎么会呈容性呢?这个主要是在多负载的情况下,如下图一所示,由于分支和负载较多,不可避免的会增加过孔来连通信号,普通过孔是呈容性的,其次还有芯片封装上的寄生电容(约 0.33~0.44pF),另外还有 Die 上的寄生电容(约
0.77~2.12pF),所有的这些电容会降低信号线的有效特征阻抗。
图一
过孔为什么会呈现容性?这和其本身的结构及尺寸有关,请看下面的近似计算。
以 8mil 孔径,18mil pad,27mil 反焊盘,1.6mm 通孔为例计算过孔的参数。
• 过孔寄生电容 :
• 过孔寄生电感 :
• 那么过孔的近似特征阻抗为:
此公式是将过孔等效为传输线的模型来计算的,如果常规我们单端信号是 50 欧姆的特征阻抗,过孔的阻抗如上计算约为 45 欧姆,拉低了整体的特征阻抗,所以说呈现容性效应。
同样,如果再考虑封装电容及 Die 电容的容性,那么整个负载的有效阻抗就会更低于 PCB 的设计阻抗,这样就会导致整体的阻抗不连续。
通常我们有两种方法来进行容性负载的补偿(相对于单端 50 欧姆的目标阻抗来说),其一是减小主干线路(变粗)的阻抗,其二是加大分支处(变细)的线路阻抗,使得整体的负载阻抗维持在 50 欧姆左右。
举例说明:
还是拿芯片行业的龙头老大来举例,如果大家经常看 Intel 的设计指导,就会看到他们关于DDR3 的主干线路阻抗(40 欧姆左右)控制都比 50 欧姆小,而且通常这样的设计负载又很多(DIMM 条就更不用说了),这个不正是降低主干线路阻抗的一种印证嘛!请看如下表所示。
第二种处理方式就是内存条的设计了,如下图二为内存条的设计图。
图二 内存条设计
从上图可以看到,地址信号的主干线路线宽为 7.5mil,而到了颗粒端就变成了 3mil,除了布线密度上面的考虑外,主要还是为了补偿容性负载。
同时,高速先生也做了仿真来验证容性负载补偿是否真的有效,拓扑结构如下图三所示。
图三 仿真拓扑结构
在正常控制 PCB 板上阻抗为 50 欧姆的情况下(不做容性负载补偿),仿真波形如下图所示。
将主干线路的阻抗控制为 42 欧姆(有容性负载补偿),仿真波形如下图所示。
为了方便比较所以采用眼图的方法,可知做了补偿的眼图有更大的眼高,两者相差 180mV 左右,相当于提升了 12%的系统裕量。
注:此文章来源于高速先生其中一起的高速案例,摘抄整理一下分享给大家,如有侵权,请及时反馈。
相关文章
- Java NIO系列教程(十一) Pipe
- 补习系列(18)-springboot H2 迷你数据库
- Spark修炼之道系列教程预告
- 密码学系列——常见的加密方式(c#代码实操)
- 【云原生 | Kubernetes 系列】---Ceph Crush
- SAP ABAP实用技巧介绍系列之 ABAP XSLT 定义变量
- 【“计算机科学与技术”专业小白成长系列】SICP 读书笔记: The Elements of Programming
- 玩转华为ENSP模拟器系列 | 配置基于接口划分VLAN示例
- 玩转华为数据中心交换机系列 | 配置M-LAG双归接入普通以太网络示例
- 华为防火墙基础自学系列 | Hub Spoke IPsec VdPdNd
- FPGA-xilinx系列芯片的复位,你真的明白吗?
- 【元宇宙系列】元宇宙中的逍遥游(Mateverse)
- RK3399平台开发系列讲解(设备树篇)设备树的详解 - 视频介绍
- Docker重学系列之基础知识回顾
- 【牛客网刷题系列 之 Verilog快速入门】~ 优先编码器电路①
- vulnhub靶场实战系列(一)之vulnhub靶场介绍