FPGA与DDR3 SDRAM的接口设计
扫描二维码
随时随地手机看文章
DDR3 SDRAM内存的总线速率达到600 Mbps to 1.6 Gbps (300 to 800 MHz),1.5V的低功耗工作电压,采用90nm制程达到2Gbits的高密度。这个架构毫无疑问更快、更大,每比特的功耗也更低,但是如何实现FPGA和DDR3 SDRAM DIMM条的接口设计呢?
关键字:均衡(leveling)
如果FPGA I/O结构中没有包含均衡功能,那么它与DDR3的连接将会很复杂,需要有很多外围器件包括延迟线及相关控制。
均衡的定义和重要性
为了提高高速电路的信号完整性,JEDEC通过时钟和命令/地址线定义了fly-by端接方案,它通过在时钟和数据间人为的加入走线摆率(flight-time skew)来降低共同切换噪声(SSN)。
走线摆率可以达到0.8tCK,这个宽度导致无法确定在哪两个时钟周期获取数据,因此,JEDEC为DDR3定义了校准功能,它可以使控制器通过调整每byte的时序来补偿走线摆率。
目前的FPGA在连接双倍速SDRAM内存时都有很多功能,但是如何与最新的DDR3连接还需要一个新的调整方案。
FPGA I/O结构
高性能的Altera Stratix III 系列FPGA的I/O速率最高可以达到400MHz(800Mbps)。
读均衡
读操作时内存控制器必须补偿fly-by内存拓扑所引起的延时,此时不仅仅要考虑数据通路上的I/O延时,还需要1T(用来保存一个完整双数据周期数据的寄存器)和负沿寄存器来对准和调整所有的数据。每一个DQS需要独立去调整resync时钟的相移。
最初,每一个独立的DQS看上去相移90°并捕获到相应的DQ数据;接下来,一个自由振荡resync时钟将数据将数据从捕获区转移到均衡电路,此时每一个DQS组有独立的Resynd时钟。
然后,DQ数据进入1T寄存器。此时1T寄存器就可以对特定DQS组的DQ数据按照需要进行延时处理,对于给定通道是否进行处理可以由PHY IP核中的均衡方案自动确定。
最后,所有DQS组进入负沿寄存器。同样的,由自动均衡方案可确定有哪些寄存器参与工作。至此,可以把上下两个通道的数据同步在同一个resync时钟上,实现了一个源同步的接口,FPGA可以得到一个完全对齐或均衡的单速率数据。
写均衡
写均衡和读过程方向相反,过程类似。DQS组为了统一时钟在不同时刻启动工作,它们必须满足tDQSS参数±0.25 tCK。控制器通过建立反馈回路来调整DQS-to-CK的关系,数据捕获点为了最佳建立和保持时间就在写周期的中间位置。
FPGA I/O的其它创新点
高端FPGA在I/O特性上还有许多创新点可以用来简化和增强内存接口设计,比如动态片内端接(OCT),可变I/O延时以及半数据率功能。
FPFA 晶圆和封装的设计必须考虑到在高速内存接口设计时所需的信号完整性。另外,FPGA除了具有可编程的驱动能力来匹配不同的标准外,还应该能够提供动态的OCT和可变摆率,以此来管理信号的上升和下降时间。
结论
DDR3在未来即将超越DDR2的使用,高端FPGA提供的低成本、高效能、高密度和良好的信号完整性方案必须满足JEDEC读写均衡要求。