-4 PCB走线)使得PCB布局成为挑战。而且,将一个
DDR接口置入一个灵活的FPGA结构,使得设计者在一个固有的不确定的布线结构中满足极为临界和紧绷的时序的工作变得相对复杂。当试图在FPGA中实现一个高速的DDR接口时,习惯于FPGA的高速和灵活性的设计者经常会惊讶地发现他们有可能遇到了困难。这些困难不是来自功能性的问题,而是来自在FR4和FPGA布线中信号传播速度的数量级下和数据窗口打交道的自然结果。由工艺、温度和电压引起的不同逻辑速度使得这些时序要求更为复杂。与通用时钟信号相比,需要对选通信号进行控制和预处理使得DDR设计的实现进一步复杂化。设计工程师不能再指望简单地将数据和地址线连接起来得到一个可靠的高速
存储器接口了。

图4 每一个FPGA供应商都已着手用自
己的方法处理DDR存储器接口的问题。一方面,由于I/O块中的资源是有限的,数据多路分解和/或时钟转换逻辑必须在FPGA核心逻辑中实现,设计者可能不得不对接口逻辑进行手工布线以确保临界时序。而另一方面,莱迪思半导体公司最近推出的EC和ECP系列在I/O块中提供了纯粹的硬线接口来处理与DDR接口有关的所有功能和时序问题(包括温
度和电压补偿),避免了在FPGA核心布线资源中满足时序要求的问题。后一种方法确保了设计的成功。
鉴于DDR存储器设计的复杂性,详细地考虑这种接口的某些方面是很有裨益的。
DDR SDRAM接口综述 在一个典型的非DDR系统中,无论控制器还是存储器,都用一个单一的系统时钟来发送和捕捉数据(图 5)。设计者渐渐熟悉了这些系统中的时序约束。随着时间的推移,伴随时钟速度的提高,这些约束变得更为苛刻。

图5 下述的同步公共时钟系统的典型时序预算包括:
·存储器访问时间(tAC)
·数据传播延时(tPROP)
·从控制器到存储器的时钟歪斜(tSKEW)
·温度、电压下的数据至时钟的时间
当设计者在这些系统中改用双倍数据速率实现时,系统的位速率增加到了两倍。这实实在在地将数据窗口减小了一半。尽管在老的公共时钟系统中数据窗口有6ns或更长一些,在DDR系统中设计者将面临3ns或更短的数据窗口。速度增加的改进,通常是由设计者所依赖的、来改善性能的、更小尺寸的工艺来取得的,但是它现在已经不足以补偿减半的数据窗口了。更为复杂的是,现在这些时间已经接近信号在FR4和FPGA走线中的传播时间。另外,一个存储周期的时序预算实际上被物理板走线的延时所占用,并且随温度和电压的不同而不同,这个现象没有因硅片尺寸的减小而得到改进。

图6 图6是一个典型的DDR传送过程中的3ns窗口的紧迫的时序。显然当今的存储器访问和传播时间使得在单一时钟控制的数据传送和捕捉系统中的DDR传送成为可能。要一个DDR系统工作,存储器件在同一时刻发送数据使之成为一个有效数据信号的能力是必需的。这将有效地在时序预算中消除存储器访问时间和数据传播时间(选通和数据信号将有相同的传播时间),并极大地拓展有效数据窗口。在拥有同时(tALIGN)发送数据选通和数据的能力下,这种方法仅有的歪斜将是细小而差异有限的(图7)。

图7 一个替代的方法 要实现这种数据传送的方法,DDR SDRAM接口得依靠采用一个叫做DQS的数据选通信号。DQS由一个送入DDR存储器的差分时钟产生,且使用DDR存储器中的一个DLL生成DQS,并使之与输出数据对齐。虽然DDR存储器不用差分输入时钟来发送或捕捉数据,但是所用的DQS信号与输入时钟的频率有关。图8举例说明了基于DQS读的数据窗口的新的时序参数。如上所述,DQS开始与下一个数据(DQ)变为有效之间有一个有限的歪斜。这个"数据有效至数据"对齐的误差称为tDQSQ。这个延时缩小了数据有效窗口。在此系统中,还有一个有限的第一个数据线有效和最后一个数据线有效之间的对齐延时。这个参数称为tQH。通过计算实际的数据有效窗口后,我们得到:
tValid = tQH-tDQSQ

图8 读操作的接口时序要求 但一个读操作实施后,DDR存储器输出互相对齐了的数据和DQS。为了控制器(FPGA)输入寄存器能够以正确的建立和保持时间来捕捉数据,来自存储器的DQS需要移相90度。其结果是DQS的边沿对准数据窗口的中心,提供了最大限度的建立和保持时间。图9说明了所需的DQS相对于数据的移相。

图9 很显然,现在有一个合理的数据窗口用以捕捉数据。
此DQS信号有几个特性:
·DQS是双向的
·产生的一根DQS线用于8根来自DDR存储器的数据线
·DQS相对于数据的相位取决于实施的操作(读或写)
·DQS不可以自由地工作
·在存储器件中,DQS由DLL产生以使其和数据之间的歪斜最小化
·当信号结束三态后,DQS有一个前同步状态,其变为低。
·当返回三态前,DQS有一个后同步状态,