存储器类型综述及DDR接口设计的实现

技术分类: 微处理器与DSP  | 2004-12-30
Laxmi Vishwanathan;Dan Schaffer;Jock Tomlinson,莱迪思半导体公司

其变为低。
  图10描述了一个DDR存储器和FPGA控制器及其相关的数据和控制线。请再次注意DQS是双向的。注意提供给存储器的时钟信号是差分的(CLKP和CLKN),以使得工作周期之间的差异最小。理解用于捕捉/发送数据到/来自存储器的并非时钟信号,这一点很重要。DDR存储器还需要一个数据屏蔽(DM)信号,用来在写周期时屏蔽数据位。这样仅允许用一个周期中的两个DQS边沿中的一个来写存储器。
典型的DDR接口
图10 典型的DDR接口


  图 11显示了一个DDR接口的写时序。在此,我们关注离开FPGA控制器时的信号。注意FPGA控制器发送与数据窗口中心对齐的DQS。这与前面所提到的来自存储器的边沿对齐的情形不同。还得注意一个要求:所有数据(用于DDR333)必须满足相对于所有DQS边沿的0.45ns的建立和保持时间。
写过程中的DQ-DQS
图11 写过程中的DQ-DQS


  典型的SDRAM接口实现方式是每个DQS信号控制8、16或32位。注意DQS和数据位的比率独立于存储器总的位宽。一个8位接口将有一个DQS信号。
  用FPGA器件实现DDR存储器接口
  现在我们已经详细说明了一个典型的DDR接口的要求,我们能够转而在一个FPGA
中实现这一DDR存储器接口了。
  存储器读的实现
  在这里我们将检查一下设计一个读接口要遇到的挑战以及可获取的解决方案。
  在存储器读时FPGA遇到的挑战
  1.DQS-DQ 的对齐 - 在狭窄的数据有效窗口中,DQS必须重新对齐(移相90度)来捕捉数据。系统歪斜和多个DQ线之间的歪斜必须得到处理。
  2.数据多路合成和多路分解 - 在读期间,DDR输入数据必须多路分解成两个SDR流。
  时钟域转换 - 数据经多路分解后,它必须和一个公共时钟边沿对齐,然后和一个无关的FPGA系统时钟同步。这个到FPGA时钟域的转换必须考虑DQS选通信号和FPGA系统时钟间的相对相位以避免建立和保持时间的冲突。
  解决方案
  FPGA包含简化DDR接口的读部分实现的特点。它们包括:
  ·经DLL补偿的DQS延时单元
  ·DDR输入寄存器
  ·半时钟传送寄存器
  ·自动的DQS到系统时钟域的转换电路
  DDR输入电路
  一个完整的DDR收发器或者输入接口的实现需要所有上述所列的部件。 图12描述了将所有这些部件连接在一起实现DDR存储器接口读的一个FPGA的实现。
DDR输入电路
图12 DDR输入电路


  DQS延时块接收来自存储器的、经边沿对齐的DQS信号,并且将它移相90度。这个经过移相的DQS信号现在可以被FPGA输入寄存器用来捕捉和多路分解上升和下降沿的数据。注意接下来捕捉上升沿数据的寄存器是一个下降沿触发器。这个半时钟传输寄存器用DQS的下降沿传送来自第一个寄存器的上升沿数据,以使得数据的上升和下降沿部分现在用相同的DQS的下降沿被送到下一级寄存器。最终,最后一级寄存器现在能够用同一个FPGA系统时钟边沿来驱动这两组半个的数据。然而,为了在数据从DQS域转换到FPGA系统时钟域的传送过程中获得最佳的建立和保持时间,这个边沿必须经过仔细的选择。这就是上面所示的时钟边沿多路选择器的用途。这种时钟极性选择的方法在后面详细说明。
  最糟糕的细节
  这是很重要的一点:请注意与一个高速DDR恢复模块的输入部分中的5个寄存器相关的时序是非常紧迫的。在3纳秒(甚至更小)的建立和保持时间的数据窗口情况下,设计者通常的布线和逻辑延时会压垮系统的时序要求。如果设计要在高速的情况下工作,许多FPGA结构要求设计者手工地对这些寄存器进行布局和布线。即便如此,在工作温度和电压下,设计者仍然难以达到DDR333的速度。
  现在莱迪思半导体公司提供在一个硬I/O块(IOB)中集成了所有5个输入寄存器和相关布线的FPGA。这样保证了设计的性能和成功。设计者只需简单地把I/O块和DQS子模块连接起来而得到确保可以工作的接口。
  片上的DLL校准
  由于时序非常紧迫, DQS延时模块的歪斜和实际的延时必须得到仔细地控制。一个低成本的解决方案可能为DQS延时采用一个开环的固定延时块。然而,这种方案的性能将随温度和电压的变化而变化。这将限制最高可达到的DDR接口速度。在一个更加完整的解决方案中,用一个闭环方法来补偿影响DQS延时块的温度、电压和工艺的差异。该方法采用FPGA中专用的DLL单元,将校准数据(6位总线)送到每个延时单元。更进一步,一个系统有两个DLL,每一个位于器件相对的一边,能够提供相关延时块的更为精准的补偿数据。图13说明了这类系统的DLL补偿方法。这个对齐后的DQS被分配到输入寄存器。每个DQS支持多达8个DQ。
采用片上DLL的DQS对齐
图13 采用片上DLL的DQS对齐


  自动的时钟极性控制
  在一个典型的DDR存储器接口设计中,经延时的输入DQS选通信号和内部系统时钟(在读周期中)之间的相位关系是未知的。许多FPGA器件
1
0
(请您对文章做出评价)
1】【2】【3】【4
加载中

对文章的评论

更多评论

剩余字数:  

浏览该文章的用户还看过...

  • 文 章

  • 论 坛

  • 博 客

  • 小 组

  • 博客推荐

  • 论坛推荐

  • 在线研讨会