DDR存储器,也称双倍数据率同步动态随机存储器,常用于高级嵌入式电路系统的设计,包括计算机、交通运输、家庭娱乐系统、医疗设备和消费类电子产品。 DDR的广泛采用也推动着DDR存储器自身的研发,在DDR 1和DDR 2逐渐得到普及并成熟运用于某些行业的同时,新的DDR技术也开始出现在电子产品设计中,如DDR3(第三代DDR技术)和LPDDR(低功耗DDR技术)器件,它们能提供更高的性能。你可能认为DDR存储器的设计非常简明,但事实上,这些存储器件中更高的数据率和更低的电压常常会令你感到很难有设计裕量。此外,DDR接口是最为复杂的高速接口之一,因为每个存储器件上都有很多引脚;DDRII/III DQS、DQ等信号线不是简单的逻辑1和逻辑0,还包括高阻态;高速数据传输速率已经达到USB2.0和PCI -Express等串行技术的数百兆位每秒水平。这样一来,验证DDR接口成为一项繁杂的任务。虽然示波器广泛用于DDR接口的高性能物理层验证,但 DDR存储器技术的复杂性使常规示波器的验证和调试成为一项挑战。它可能会限制你进一步测量的能力,如读写数据分离、命令触发、状态机解码和协议调试。针对此,本文将重点介绍常规示波器验证过程中所遭遇的挑战,以及MSO如何应对这些挑战。
验证挑战
DDR存储器接口的复杂,不仅体现在它是并行接口,每一根数据信号的传输率达几百兆甚至超过1G比特每秒,而且还体现在DDR存储器控制器和 DDR芯片间大量的信号互连。一个典型DDR器件有20个以上的信号,包括时钟、6个控制信号、12个地址信号、1个选通信号和8个数据信号。当启动一项操作时,存储器控制器要通过输出至DDR芯片的控制信号发布命令。传统示波器只有4个模拟输入通道,而您可能需要同时连接所有6个控制信号,来确定发送至 DDR接口的命令类型,更不用说很多时候设计人员需要同时观察时钟、数据选通和数据信号。
即使设计人员能根据有限的控制信号推导出命令或状态,但依据每一控制信号的高低状态解码当前命令,并回溯至DDR规范的真值表仍很困难。即使有可能实现,这也会是极为费时和容易出现人为错误的任务。解码成百,甚至上千的长波形迹线并保持跟踪则会是一场噩梦。由于示波器不能自动提供实时信息,手动查错工作将因费时费力而失去效率和效果。
由于受示波器通道数的限制,设计人员也许不能对所关注的信号作任何有意义的测量。例如当把示波器通道接至一个时钟信号和三个控制信号后,就已经用完了所有的示波器通道。因此不能查看存储器控制器要访问的地址信号,或是正在DDR总线上传输的数据信号。
对于存储器控制器和DDR芯片的验证来说,隔离读写操作的能力至关重要。由于DDR总线上的读和写操作使用相同的数据选通和数据信号进行通信,没有将读和写操作区分开来分析的能力意味着示波器捕获的波形将是混乱的,不能有效表征存储器控制器和DDR芯片的性能特性。要隔离读写操作,就需要用有限的示波器通道隔离用于读写命令的控制信号,但这是非常艰巨的任务。是否有隔离读写操作的更有效方法呢?
如果上述挑战对你来说还是可以应对的,别忘了你还需要花时间验证JEDEC规范定义的每一项测试参数。由于测试列表可能很长,因此往往难以全面表征每一项测试。进行手动测量并不可取,而更不可取的是测试报告必须人工记录和编制报告格式。有没有可用于执行测量的已开发工具呢?最重要的是物理层和协议层的查错极为棘手。通常情况下要同时使用逻辑分析仪和示波器,但这将增加成本和学习时间。上述所有对传统示波器的挑战导致出现了对全新示波器的巨大需求,这种示波器应有不止4 个输入通道,还具备适用于验证和调试DDR接口的新能力。
图1:混合信号示波器(MSO9000A)上的模拟通道和逻辑通道提供复杂的触发、状态机解码和协议测量,以超出传统示波器的能力完成复杂的DDR验证和调试。