1. DDR概述
如今,存储器件在计算机、汽车与消费电子产品上可谓无所不在。其中 DDR SDRAM(双数据率同步动态随机存取存储器)是最常用的存储器设计技术之一,而随着该技术的发展,其传输速率在日益加快,功耗在日益降低。
传输速度加快使得此类存储器的验证难度呈指数上升。存储系统要准确工作,其信号完整性必须满足某种最低要求。因为信号完整性对系统互通性而言非常关键,或者说只有保持信号完整性才能保证不同厂商生产的器件在一起使用时能够很好地结合。信号完整性问题会引发包括时序冲突、协议背离、时钟抖动以及由其他总线引发的错误等其它问题。本文介绍了DDR信号的测量方法,DDR信号验证中面临的挑战,并针对其调试方法给出了相关建议。文中提到的方法适用于DDR、DDR2、 DDR3 和 SDRAM这一类全缓冲的DIMM系统调试。为简单起见,这些内存技术在下文中统称为DDR。
2.测量方法
JEDEC规范定义了 DRAM的引脚或球必须满足的电气与定时方面的要求。一些较新的DDR DRAM采用了精细球栅阵列(FBGA)封装,此封装下的焊接球很难接触。因此,我们建议测量时
,探头应尽可能接近DRAM的球状焊点。通常,我们可以在与焊接球相连的过孔上或与其相连的电阻靠近DRAM一侧的焊盘上测量。
目前最高级的差分有源电压探头能在探头顶端容性负载低于0.22pF的情况下达到高达13GHz的测量带宽。此类工具对DDR信号(通常为单端信号)的影响非常小,很适合DDR测量,强烈建议大家使用。由于DDR信号对噪声非常敏感,因此建议在测量此类信号时采用带宽足够大的示波器,以避免示波器的噪声影响测量。有些示波器具备带宽压缩功能,能调节至恰好适合测量的带宽,以实现最精确和可重复的测量。图1所示为13 GHz差分有源探头连接到DDR2 DIMM的过孔上的情形。
13 GHz差分有源探头连接到DDR2 DIMM的过孔上的情形
3.信号验证所面临的挑战
同一根数据总线上的DDR数据传输是双向的。这使DDR信号验证变得非常困难,因为我们首先必须分离数据总线上复杂的数据流才能对其进行信号完整性测量。而要想独立分析(由存储控制器和DDR芯片驱动的)信号完整性和定时关系,也必须分离数据流。
在探头和数据总线上存在三种状态,读操作(输出信号)、写操作(输入信号)和高阻(空闲状态)。8条数据总线构成一个数据群,这个数据群与一个选通信号实现源同步。读信号与写信号之间有一个重要差异:写信号与选通信号的边沿有90度相差,而读信号与选通信号的边沿是对齐的。
由于DDR信令比较复杂,因此为了能快速测试、调试和解决信号上的问题,我们希望能简单地分离读/写比特。此时,最常用的是通过眼图分析来帮助检查DDR信号是否满足电压、定时和抖动方面的要求。
3.1 利用前导宽度触发器分离读/写信号
我们可以利用读/写前导的宽度来触发示波器,实现读/写信号分离。根据JEDEC规范,读前导的宽度为0.9到1.1个时钟周期,而写前导的宽度规定为大于0.35个时钟周期,没有上限。于是,我们在设置触发条件之前,首先要确定读/写前导的宽度。由于读前导和写前导各自有不同的宽度,因此可利用这一点分离读出的数据和写入的数据。
但这种方法在使用过程中也存在问题。首先,JEDEC规范中对前导宽度的定义比较松散,而且不同 ASIC/ DRAM厂商在这方面的定义也不尽相同。此外,由于写前导的上限没有定义,因此它也有可能与读前导宽度相同,而如果二者的值过于接近,那么要想分离读信号与写信号就十分困难了。
第二,如果写前导的宽度为0.5个时钟周期,与一个数据比特的宽度相当,那么硬件触发器就无法区分写前导比特与正常数据比特。
第三,随着DDR数据率变高,时钟周期将变得越来越窄。而随着时钟周期变窄,写信号的前导宽度也会大幅缩小。以DDR3-1600为例,其最小前导宽度只有大约200ps。示波器的硬件触发器有可能无法被如此窄的脉宽触发。
3.2 利用更大的信号幅度触发方法分离读/写信号
通常,读/写信号的信号幅度是不同的,因此我们可以通过在更大的信号幅度上触发示波器来实现两者的分离。然而,幅度更大的信号并不一定是读信号或是写信号,因此,我们虽然可以区分幅度更大的信号,但却无法控制所分析的是读信号还是写信号。当读/写信号幅度接近时则会发生类似的问题。
图2:利用DQS信号的前导位触发来分离读/写信号。
图3:利用MSO实现控制信号触发并分离读/写信号。
图4:解码表。总线1为指令,总线2为控制总线和信号总线上传送的数据。
3.3 有限的示波器通道问题
在进行DDR测量时至少需要5到6个示波器通道,因此示波器通道有限这一事实会大大降低测量效率。至少需要3个通道才能保证控制信号能在读操作或写操作时被触发,而时钟信号、选通信号和数据信号又另外需要3个通道。时钟信号、选通信号和数据信号之间的定时关系在JEDEC规范中十分重要,必须用3个探头同时测量这三个信号才能检查它们之间的定时关系是否符合规范。
4. 克服DDR信号验证挑战的建议
新型示波器为我们解决当前DDR信号验证方法中存在的问题提供了新的方法。
4.1 利用混合信号示波器( MSO)分离读/写周期并进行协议解码
DDR信号由一系列控制信号线组成,将这些控制信号连接到MSO的数字输入口,就可以让示波器在不同的工作状态(读、写等)下触发。每种状态下不同控制信号线都有各自的标识。因此,将示波器设置为在读操作或写操作上触发后,我们就可以观察此时连接到示波器模拟输入通道的选通信号和数据信号。
MSO示波器还有一个功能,就是帮助进行协议解码和分析定时冲突。MSO往往具备用户可配置的总线解码功能,因此可以输入某种操作的解码,这种解码就代表了执行该操作时总线上的数据。通过将控制信号集中到一条总线上,MSO还可以在信号传输过程中解码DDR操作,因此无需再对操作进行人工解码。
MSO还允许将数字信号集中到4条不同的总线上,然后从解码表中读取总线信息。解码表上显示了每条总线上的数据,如果在配置表中定义了解码规则,解码表上还会显示解码后的信息。利用这一功能,我们可以将控制信号和数据信号集中到2条总线上,控制总线显示目前进行的DDR操作,数据总线则显示正在传输的数据。当我们需要对每种操作状态下的DDR协议冲突或定时冲突进行调试时,这一功能非常有用。
总的来说,MSO对DDR信号验证和调试而言是十分完美的一种解决方案。但由于MSO的模拟带宽往往较低,因此只适合DDR1或较慢的DDR2信号测量。
4.2 区域触发功能使DDR验证变得更轻松
区域触发允许我们在示波器屏幕上选定并绘制一个区域以直观地确定触发事件的识别条件。利用区域触发功能,我们可以根据信号波形是否与选定的区域有交叉来跟踪我们感兴趣的信号。
图5:写信号成功地从复杂的读/写波形中分离出来。
图5中所示为示波器在无限保持模式下测量得到的一个独特的读/写信号波形。黄色的是DQS信号,绿色的是DQ信号。当示波器设置为在DQS信号上触发时,DQ波形显示,读/写信号波形相互重叠。因此,如果能够在有特点的波形上设置恰当的触发区域,我们就能利用区域触发功能轻松地分离读/写波形。至于如何使用区域触发方法来分离读/写信号,并没有确切的规定,而应根据信号特点决定。
有了这种区域触发功能,验证DDR信号是否符合JEDEC规范就不再需要超过4个示波器通道了。
5. 本文小结
随着DDR存储技术的不断发展,DDR信号的完整性问题也日益突出。要想在测量中得到最佳结果,必须采用恰当的测量方法。本文所建议的利用MSO分离读/写周期并进行协议解码,以及利用区域触发功能分离读/写信号的方法在解决DDR信号完整性测量中的问题时,一定会给大家带来很大帮助。