网站大量收购独家精品文档,联系QQ:2885784924

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

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
存储器类型综述及DDR接口设计实现

存储器类型综述及DDR接口设计实现    用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的实现。    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。          自动的时钟极性控制    在一个典型的DDR存储器接口设计中,经延时的输入DQS选通信号和内部系统时钟(在读周期中)之间的相位关系是未知的。许多FPGA器件将这个问题留给用户解决。LatticeEC系列拥有专用电路来决定这个必要的系统时钟的极性,实现这个选者并且实施这些域之间的数据传送。为了防止在DQS(经延时的)和系统时钟域间转换时建立和保持时间的冲突,采用了一个时钟极性选择器。这需要在每个读周期开始时进行计算来确定正确的FPGA系统时钟极性(图14)。DDR存储器中读操作之前,DQS是三态的(由终端决定)。三态之后,在前同步状态中DDR存储器间把DQS置为低电平。一个专用的电路来检测这种变化并产生一个信号指出FPGA系统时钟所需的极性(DDRCLKPOL)。这个信号用来控制送到同步寄存器的时钟的极性。       读时序波形    图15和16展示了基于时钟极性选择逻辑的两种情况下的读数据的传送。

文档评论(0)

130****9768 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档