如何实现FPGA到DDR3 SDRAM存储器的连接

采用90nm工艺制造的DDR3 SDRAM存储器架构支持总线速率为600 Mbps-1.6 Gbps (300-800 MHz)的高带宽,工作电压低至1.5V,因此功耗小,存储密度更可高达2Gbits。该架构无疑速度更快,容量更大,单位比特的功耗更低,但问题是如何实现DDR3 SDRAM DIMM与FPGA的接口呢?

关键词——均衡!

如果没有将均衡功能直接设计到FPGA I/O架构中,那么任何设备连接到DDR3 SDRAM DIMM都将是复杂的,而且成本还高,需要大量的外部元器件,包括延时线和相关的控制。

什么是均衡?为什么如此重要?

为了在支持更高频率时提高信号完整性,JEDEC委员会定义了一个fly-by(飞越式)端接方案,该方案采用了时钟和命令/地址总线信号来改善信号完整性以支持更高的性能。当时钟和地址/命令通过DIMM时,fly-by拓扑结构通过故意引起每个DRAM上的时钟和数据/选通之间的飞行时间偏移(flight-time skew)来减小并发开关噪声(SNN),如图1所示。

飞行时间偏移可能高达0.8 tCK,当该偏移被扩展得足够宽时,将不知道数据在两个时钟周期中的哪个内返回。因此,均衡功能可以使控制器通过调节每个字节通道内的时序来补偿这一偏移。最新的FPGA能够为各种应用提供与双倍数据率SDRAM存储器接口的许多功能。但是,要与最新的DDR3 SDRAM一道使用,还需要更鲁棒的均衡方案。

FPGA I/O结构

像Altera Stratix III系列高性能FPGA提供的I/O速度高达400 MHz (800 Mbps),还具有很高的灵活性,能够支持现有的和新兴的外部存储器标准,如DDR3。

图1:DDR3 SDRAM DIMM:飞行时间偏移降低了SSN,数据必须被控制器调高到两个时钟周期。

读均衡

在读取操作中,存储器控制器必须补偿由飞越存储器拓扑引起的、影响读取周期的延时。均衡可以被视作为出现在数据通道上的比I/O本身延时还要大的延时。每个DQS都要求一个同步时钟位置的独立相移(经过了工艺、电压和温度(PVT)补偿)。图2显示出同一读取命令下从DIMM返回的两个DQS组。

图2:I/O单元中的1T、下降沿和均衡寄存器。

一开始,每个分开的DQS被移相90度,从而捕获与该组相关的DQ数据。然后用一个自由运行的再同步时钟(频率和相位与DQS相同)将数据从捕获域转移到图2所示用粉红色和橙色连线表示的均衡电路中。在这个阶段,每个DQS组都有一个独立的再同步时钟。

接着DQ数据被送到1T寄存器。图2中给出了一个1T寄存器实例,在上层通道中需要用这个1T寄存器对特定DQS组中的DQ数据位进行延时。注意在该例中,下层通道不需要1T寄存器。通过该过程开始对齐上层和下层通道。任何一个指定的通道是否需要1T寄存器是自动确定的,这是免费物理层IP内核中校准方案的一部分功能。

随后两个DQS组被传送到下降沿寄存器。如果需要的话,还可以在启动时通过自动校准过程把可选寄存器切换进来或切换出去。最后是将上层和下层通道对齐到同一再同步时钟上,这样就形成了一个将完全对齐的或经过均衡的单倍数据率(SDR)数据传递到FPGA结构的源同步接口。

写均衡

与读均衡类似,不过方向相反,DQS组在不同的时刻发出信号,以便与到达DIMM上的器件的时钟一致,并且必须满足tDQSS参数要求的+/- 0.25 tCK。控制器必须通过创建反馈环路来调整DQS与CK的关系,在此过程中,控制器会将数据写入DRAM,再通过顺序相位进行扫描读回,直到发现写入窗的终点。为了更好的建立和保持余量,数据应该在好窗口的中间点发出。

来源:维库开发网


微信扫描分享本文到朋友圈
扫码关注5G通信官方公众号,免费领取以下5G精品资料
  • 1、回复“YD5GAI”免费领取《中国移动:5G网络AI应用典型场景技术解决方案白皮书
  • 2、回复“5G6G”免费领取《5G_6G毫米波测试技术白皮书-2022_03-21
  • 3、回复“YD6G”免费领取《中国移动:6G至简无线接入网白皮书
  • 4、回复“LTBPS”免费领取《《中国联通5G终端白皮书》
  • 5、回复“ZGDX”免费领取《中国电信5GNTN技术白皮书
  • 6、回复“TXSB”免费领取《通信设备安装工程施工工艺图解
  • 7、回复“YDSL”免费领取《中国移动算力并网白皮书
  • 8、回复“5GX3”免费领取《R1623501-g605G的系统架构1
  • 本周热点本月热点

     

      最热通信招聘

      最新招聘信息

    最新技术文章

    最新论坛贴子