首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

用中档FPGA实现高速DDR3存储器控制器

用中档FPGA实现高速DDR3存储器控制器

引言   由于系统带宽不断的增加,因此针对更高的速度和性能,设计人员对存储技术进行了优化。下一代双数据速率(DDR)SDRAM芯片是DDR3 SDRAM。 DDR3 SDRAM具有比DDR2更多的优势。这些器件的功耗更低,能以更高的速度工作,有更高的性能(2倍的带宽),并有更大的密度。与DDR2相比,DDR3器件的功耗降低了30%,主要是由于小的芯片尺寸和更低的电源电压(DDR3 1.5V而DDR2  1.8V)。 DDR3器件还提供其他的节约资源模式,如局部刷新。与DDR2相比,DDR3的另一个显著优点是更高的性能/带宽,这是由于有更宽的预取缓冲(与4位的DDR2相比,DDR3为8位宽),以及更高的工作时钟频率。然而,设计至DDR3的接口也变得更具挑战性。在FPGA中实现高速、高效率的DDR3控制器是一项艰巨的任务。直到最近,只有少数高端(昂贵)的FPGA有支持与高速的DDR3存储器可靠接口的块。然而,现在新一代中档的FPGA提供这些块、高速FPGA架构、时钟管理资源和需要实现下一代DDR3控制器的I/O结构。本文探讨设计所遇到的挑战,以及如何用一个特定的FPGA系列LatticeECP3实现DDR3存储器控制器。
  DDR3存储器控制器的挑战
  针对存储器控制器,DDR3器件面临一系列的挑战。DDR3的工作频率起始于DDR2的更高的工作频率,然后趋于更高的频率。 DDR3接口需要的时钟速度超过400 MHz。这是对FPGA架构的一个重大挑战。针对DDR3存储器控制器的架构,fly-by结构和读写调整变得更加复杂。
  不同于DDR2的T型分支拓扑结构,DDR3采用了fly-by拓扑结构,以更高的速度提供更好的信号完整性。fly-by信号是命令、地址,控制和时钟信号。如图1所示,源于存储器控制器的这些信号以串行的方式连接到每个DRAM器件。通过减少分支的数量和分支的长度改进了信号完整性。然而,这引起了另一个问题,因为每一个存储器元件的延迟是不同的,取决于它处于时序的位置。通过按照DDR3规范的定义,采用读调整和写调整技术来补偿这种延迟的差异。fly-by拓扑结构在电源开启时校正存储器系统。这就要求在DDR3控制器中有额外的信息,允许校准工作在启动时自动完成。

图1 针对DDR3的Fly-by结构

  读和写调整
  在写调整期间,存储器控制器需要补偿额外的跨越时间偏移(对每个存储器器件,信号延迟是不同的),这是由于fly-by拓扑结构及选通和时钟引入的。如图2所示,源CK和DQS信号到达目的地有延迟。对于存储器模块的每个存储器元件,这种延迟是不同的,必须逐个芯片进行调整,如果芯片有多于一个字节的数据,甚至要根据字节来进行调整。该图说明了一个存储器元件。存储器控制器延迟了DQS,一次一步,直到检测到CK信号从0过渡到到1。这将再次对齐DQS和CK,以便DQ总线上的目标数据可以可靠地被捕获。由于这是由DDR3存储器控制器自动做的,电路板设计人员无须担心实施的细节。设计人员会从额外的裕度中得到好处,这是由DDR3存储器控制器中的写调整的特性所创建的。

图2 写调整的时序图

  DDR3存储器时钟资源和接口模块
  LatticeECP3 FPGA的I/O有专门的电路支持高速存储器接口,包括DDR、DDR2和DDR3 SDRAM存储器接口。如图3所示,ECP3系列还有专用的时钟资源,以支持下一代DDR3高速存储器控制器。边缘时钟(ECLK1,ECLK2)是高速,低相偏的时钟,用于时钟控制数据高速地进出器件。在DQS的通道提供时钟输入(DQS)和与该时钟相关的多达10个输入数据位。DQSBUF服务于每个DQS通道,以控制时钟访问和延迟。DQSDLL支持DQS通道(每个器件的左侧和右侧都有一个)。DQSDLL是专门用于构建90度时钟延迟的DLL。 

图3 LatticeECP3 DDR存储器时钟资源
返回列表