13

LJgibbs · 2024年10月14日 · 广东

DDR 学习时间 (Part A - 6):DDR4 板级设计和信号完整性验证面临的挑战

image.png

本期我们学习一篇讨论 DDR4 板级设计和信号完整性验证面临的挑战的论文,由来自西门子、富士通以及美光等公司的作者联合完成。

本文将主要是这篇文章第一部分的翻译与润色,以及附带少量编者的注释,翻译由 Kimi 完成。第一部分讨论了对 DDR4 伪开漏驱动器(pseudo open drain driver)的研究,及其对功耗和接收器的参考电平(Vref Level) 的影响。

申明:本文可能含有一些 AI 辅助创作。

引文

DDR4 是 JEDEC 的 DRAM 系列器件的最新一代(译注:当时而言)。DDR4 的开发旨在满足市场对更高速度和更低功耗的 DRAM 需求。这些因素促成了 DDR4 引入的新特性,以及在设计 DDR4 系统时需要考虑的新要求。

这篇论文最初在 DesignCon 上发表,并被提名为最佳论文奖,它包括了对 DDR4 伪开漏驱动器(pseudo open drain driver)的研究,及其对功耗和接收器的参考电平(Vref Level) 的影响。这篇论文还举了检查一个 DDR4 系统设计的例子,以及在同时开关噪声特性化(simultaneous switching noise characterization)时,使用 IBIS 功耗感知模型与晶体管级模型进行模拟的必要性。

POD 相比 SSTL 的优势

DRAM 行业面临的主要市场发展需求之一是对内存设备功耗降低的需求。为此,DDR4 采用了一种新的驱动标准,称为伪开漏(pseudo open drain),或简称 POD。在 POD 中,接收器将信号终结(terminated)到 VDD 的高电平,而不是终结到一半的 VDD 电压。

要了解终结方案对总功耗的影响,可以比较低电平和高电平状态下的电流消耗。在低电平状态下,SSTL 和 POD 都有电流消耗。实际上,POD 可能会消耗略高的电流,因为其终结电压是 VDD 电压,而SSTL的终结电压仅为 VDD 电压的一半。这在一定程度上被 DDR4 稍低的电源电压所抵消。(译注:DDR4 VDD 电压为 1.2V,比 DDR3 的 1.5V 显著降低)

image.png

这两种驱动选项之间的主要区别在驱动高电平时突显出来。当驱动高电平时,SSTL 继续以大约等于驱动低电平时的速率消耗电流,而 POD 在驱动高电平时不消耗功率。

因此,降低 DDR4 系统功耗的方法是最大化驱动高电平的数量。这时,数据总线反转(DBI)功能就派上了用场。如果在一个 8 位通道中至少有 5 个DQ信号被驱动到低电平,那么所有位都被切换,数据总线反转(DBI)信号被拉低以指示发生了反转。这样,在总共 9 个信号中(8 个 DQ 信号和一个 DBI 信号),至少有五个被驱动到高电平。如果原始数据中有四个或更多DQ信号被驱动到高电平,那么DBI信号被拉高,再次确保至少有 5 个位被驱动到高电平。这样每次传输中,至少有 5 个位被驱动到功耗降低的高电平状态。

image.png

Vref 电平的计算

在 DDR3 中,使用外部参考电压来比较输入信号,以确定输入的是高电平还是低电平信号。这种外部电压通常由电阻分压电路生成,或者由外部精密电压调节器(LDO/DCDC)提供。然而,DDR4 要求 Vref 在 DRAM 内部(译注:以及驱动 DRAM 的 DDR PHY/控制器内部)生成可调节的电压值。每次启动时,Vref都会被设置为一个适合当前系统的特定值。

为什么 DDR4 需要动态调节的 Vref

为了强调为什么 DDR4 中需要这个可变的 Vref,可以通过一个简单的 DDR3 和 DDR4 驱动器模型来理解,它们驱动一个终结电阻(Rtt)分别达到所需的高低电平电压值。分别计算被驱动到高电平和低电平时接收器处的电压,计算高低电平得到的平均值将是理想参考阈值电压,因为这个电压值与高电平和低电平电压值差值相等。

为了计算这个中心电压,分析了一个简单的由驱动器和终结电阻组成的模型。为了简化计算,假设传输线非常短,并且假设驱动器在驱动高电平和低电平时的驱动强度相等。

image.png

首先,我们计算 DDR3 的 Vref 电平,当驱动高电平时,接收器处的电压将是两个电压源 VDD/2 和 VDD 的叠加值。

image.png

当驱动低电平时,接收器处的电压将是一个简单的电压分压器。

然后可以通过取两个结果的平均值来获得这个DDR3设置的中心电压。可以看到,中心电压值总是电源电压的一半。它与模型其他所有因素无关,包括终结电压值或驱动强度。

image.png

然后我们考虑 DDR4 的情况,并应用与上述相同的计算方法。当 DDR4 被驱动高时,由于终结电阻和驱动器都被连接到 VDD,接收器处的电压基本上可以认为是 VDD。DDR4 驱动低电平时,类似于 DDR3 驱动低电平时,接收器电压是电压分压器的结果。同样,接收器眼图中心将是两个值的平均值。

image.png

可以注意到,DDR4 中心电压值不仅取决于供电电压 VDD,还取决于发射器和接收器的阻抗特性。这意味着接收器处使用的理想中心阈值电压将取决于具体电路阻抗值、读/写操作以及其他系统变量。

image.png

为了观察这些影响,我们可以考虑一个简单的驱动器、传输线、接收器模型。变化接收器的终结电阻,以观察 DDR3 和 DDR4 眼图的效果。

首先,对于 DDR3,当接收器终结从 40 欧姆减弱到 60 欧姆再到 120 欧姆时,信号被允许自由地走向更大的极端——无论是高电平还是低电平。然而,所有三个设置的眼图中心始终固定在 VDD/2。

image.png

对于 DDR4 ,接收器 ODT 从 40 变化到 60 再到 80 欧姆。随着终结强度的减弱,低电平被允许更低,但高电平值大体上保持固定(VDD)。这导致眼图的中心值随着终结强度的增加(欧姆值降低)而增加。

image.png

Vref 计算算法比较

现在,由于引脚和布局之间存在一些微小变化,给定设备上的每个引脚可能对参考电压有不同的要求。然而,无论是芯片设计还是功耗方面考量,为每个引脚单独设置一个参考电压的成本都太高了。因此,需要计算一个共同的参考电压,以优化使用这个参考电压的所有引脚的响应。我们将在下面比较计算这个共同参考电压的两种选择。

生成参考电压的第一个选项是取所有信号的平均值。第二个选项只取信号上最大和最小的数值计算平均值。

例如,如果一个 8 个引脚设备在 8 个引脚上接收到的最佳参考电压分别为 800mV、750mV、730mV、725mV、720mV、710mV、705mV 和 700mV,那么设备的 Vref 将如下所示:

image.png

为了分析使用这两种选项的影响,我们首先考虑使用每种选项时设备接收信号的平均裕度损失。

考虑设备 ‘d’ 中的引脚 ‘x’。该引脚的接收器眼图可能存在一个最佳的中心电压 Vx。然而,设备使用一个不同的参考电压 Vd 作用于该设备中的多个引脚。对应于这两个参考电压的将分别有一组高和低阈值电平。

现在,对于一个给定的信号(下图中以红色显示),从阈值电平出发的最佳裕度是 Mp。由于实际用于阈值的电压可能不是最佳的,实际的裕度由Md给出。

image.png

注意,损失的裕度可能是负数,这意味着裕度增益。对于高侧的裕度损失,低侧将损失等效的裕度,反之亦然。

接下来,我们可以比较使用两种不同算法确定 Vref 时的平均裕度损失。

选项 1 使用所有信号的平均值作为参考电压。

image.png

由于参考电压是使用所有信号计算得到的,因此平均裕度损失为零,因为对于每个引脚,损失的裕度将由另一组引脚的增益裕度所抵消。

现在,考虑选项 2,设备的参考电压取最高和最低电压的平均值。

image.png

导致,

image.png

平均裕度损失不为零。无论是在高侧还是低侧,平均裕度损失都将大于零。然而,尽管看起来选项 1 可能是更好的选择,但实际上在考虑极端信号时,选项 2 的结果更好。

以 DDR4 的眼图掩模要求为例。眼图掩模高度要求为 136mV,或阈值 ±68mV。

image.png

所以,如果使用选项 1,则信号的要求将是 730±68,或低侧 662mV 和高侧 798mV。类似地,使用选项2时,信号的要求将是 750±68,或低侧 682mV 和高侧 818mV。

接下来,我们可以考虑一个最佳中心为 800mV 的引脚,并比较使用选项 1 和选项 2 的参考电压的结果。假设到达该引脚的信号具有 260mV 的峰峰值摆动,或 800±130mV(高侧730mV和低侧670mV)。如果选取了正确的优化阈值,这个眼图应该能够 PASS 所有信号。

如下图表所示,使用选项1(730mV)作为 Vref 的信号在高侧有很大的裕度,但在低侧会失效。但是,使用选项 2(750mV)作为 Vref 的信号,会在高侧只有较小的裕度,但在低侧也能够 PASS。

一般来说,如果设备所有引脚的极端高低电平电压值要求由 Vh 和 Vl 给出,那么如果使用共同的参考电压,传入的眼图需要至少有 Vh-Vl 的眼高。在这种情况下,假设高低电平电压与阈值的差值相等,阈值设置在 (Vh+Vl)/2,这仅考虑了两个极端信号,而不是其他信号。阈值设置在任何其他水平可能会导致一些问题,即使眼图开口最小值满足 Vh-Vl 的要求。

通过在计算要使用的参考电压时仅考虑极端信号,可能会减少剩余信号的裕度。然而,通过确保极端的高和低信号通过,将确保所有其他信号也通过。

image.png

产生 DDR4 数据眼图

DDR4 借鉴了 SerDes 技术的眼图掩模概念来验证接收器信号,如图11所示。然而,与 SerDes 信号不同,DDR4 信号的数据流中并没有内置时钟。数据是由外部时钟信号控制的——DQS 用于数据时钟,CLK 用于地址/命令总线时钟。

因此,在进行仿真或在示波器上测量时,眼图绝不能通过在固定的比特周期内将 DQ 波形自身 Wrapping 来生成。由于 DQ 信号是使用明确的 DQS 进行采样的,眼图必须通过围绕 DQS 进行采样来形成。这将考虑 DQS 信号的不规则性。

一种可行的方法如图 13 所示,在每个差分 DQS 脉冲交叉(crossing)的预定时间窗口内对数据信号进行采样。如果脉冲提前,那么数据信号的某些部分可能会发生移位。如果脉冲延迟,可能会有一部分数据在窗口中不可见。这就是实际设备的采样方式的体现,DQS 的任何偏移确实都会影响到信号的采样。

image.png

为了说明这一点,下面是一个 DQS 和 DQ 的仿真。DQS 差分对之间故意不匹配,以便在接收器处创建一个非理想的脉冲。信号以 2400Mbps 速率运行。

image.png

如果接收器信号简单地在 416.67ps(2400Mbps 的一个 UI)处 wrapping 起来,那么眼图的抖动大约为 12ps。然而,如果眼图是通过在 DQS 脉冲周围采样信号来创建的,那么即使不考虑初始脉冲瞬态引起的短小信号,数据信号所看到的抖动也会增加到 20ps。

image.png

Kimi 注: 这意味着,通过考虑 DQS 信号的实时特性来生成眼图,可以更准确地反映数据信号在接收器端的实际表现。在高速 DDR4 系统中,这种精确的眼图生成方法对于确保数据完整性和信号完整性至关重要,因为它能够捕捉到由于 DQS 和数据信号之间的相互作用而可能产生的额外抖动。

END

来源:知乎

相关文章推荐

更多FPGA干货请关注FPGA的逻辑技术专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。
推荐阅读
关注数
10617
内容数
589
FPGA Logic 二三事
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息