快捷搜索:  as

Spartan-3的FPGA与DDR2 SDRAM的接口实现

概述: 本利用文档描述了赛灵思斯巴达3系列FPGA与DDR2 SDRAM接口实现。本文档供给了DDR2 SDRAM的简述,然后一个存储器接口实现的具体描述。

DDR2 设备概述:DDR2 SDRAM接口是源同步、支持双速度传输。比如DDR SDRAM ,应用SSTL 1.8V/IO电气标准,该电气标准具有较低的功耗。与TSOP比起来,DDR2 SDRAM的FBGA封装尺寸小得多。经由过程时钟上升下降沿的数据集采集,DDR2 SDRAM可以得到高速传输。存储器应用节制器的差分时钟。在每个时钟的上升沿寄存敕令旌旗灯号,双向数据选通旌旗灯号DQS与数据旌旗灯号一同传输。在读阶段,DQS由DDR2 SDRAM 设备孕育发生,并且与数据旌旗灯号边缘对齐;在写阶段,DQS由节制器孕育发生,并且与数据旌旗灯号中间对齐。对DDR2 SDRAM的读写操作都是突发模式。操作是由激活敕令后紧跟一读写敕令组成的。

接口模式:

DDR2 SDRAM 节制器模块:

节制器:

节制器支持4或者8字节长度的突发传输,三个CAS延时。节制器在加载敕令时初始化EMR2、EMR3寄存器并孕育发生差分数据选通旌旗灯号。节制器吸收用户敕令,对用户敕令译码并孕育发生读、写和刷新敕令。节制器同时孕育发生其他模块的接口旌旗灯号。

数据路径:数据路径模块认真与存储器进行数据的发送和接管。主要功能包括:

# 写数据到存储器

#从存储器读数据

#将存储器时钟域数据转到FPGA时钟域

写数据和选通旌旗灯号由FPGA扇出,选通旌旗灯号与数据旌旗灯号中间对齐。对付DDR2 SDRAM存储器来说,选通旌旗灯号长短自由运行。为了满意这些要求,应用FPGA主时钟移相90和270度将写数据扇出。存储器读数据和源同步时钟边缘对齐。

读数据捕获:

在读数据阶段,DDR2设备发送DQS选通旌旗灯号和数据旌旗灯号到FPGA。DQS与数据DQ边缘对齐。数据在每个时钟边缘更新,在FPGA逻辑中,应用DQS延时旌旗灯号去捕获数据DQ旌旗灯号。在FPGA中不应用IOB寄存数据而是用基于LUT的双端口专用RAM用于数据捕获。这是最简单的数据捕获模式,不必要在系统时钟域进行二次采集。LUT RAM设置设置设备摆设摆设为成FIFO对,每个数据都被写入到两个FIFO。如图3。这些16比特深度的FIFO是异步操作且与读写端口自力。

读数据时钟:

在延时的DQS上升沿从DDR的读取数据写到FIFO_0,鄙人降沿将数据写到FIFO_1。而数据却能同时从FIFO中读出。

FIFO写指针由延时的DQS驱动。FIFO的读指针是由FPGA内部时钟驱动。当FIFO写使能为高时,FIFO可以被写入数据。FIFO写使能旌旗灯号由RST_DQS_DIV在每个DQS前导旌旗灯号孕育发生。

RST_DQS_DIV旌旗灯号驱动到IOB并且输出,颠末一个回环延时后输入到输入缓冲器。环路延时的长度即是前向的时钟旌旗灯号长度加上DQS的长度。LUT延时电路用于延时DQS。这就包管了RST_DQS_DIV和DQS延时电路在进入FIFO之前具有相同的路径和相似的延时。

写使能孕育发生:

FIFO_0写使能旌旗灯号是RST_DQS_DIV和存的RST_DQS_DIV旌旗灯号的逻辑“或”输出。FIFO_1在DQS旌旗灯号第一个正沿后使能。这个逻辑打消了虚假的数据旌旗灯号被锁存到FIFO傍边,同时也打消了写指针的差错增添。

RST_DQS_DIV无效时的前导周期,锁存的输出使能FIFO和FIFO指针。在DQS着末一个边沿旌旗灯号,锁存的RST_DQS_DIV标记被清除,此时FIFO和FIFO写指针被禁止。

图6显示了DQS_DIV_RST, RST_DQS_DIV和FIFO写使能旌旗灯号的时序图。RST_DQS_DIV和FIFO写使能旌旗灯号的总延时不能跨越一个存储器时钟周期。MIG对象天生必须的DQS_DIV_RST,RST_DQS_DIV以及FIFO写使能旌旗灯号约束(UCF)。

当延时的DQS有效时,数据被锁存到FIFO。FIFO_0、FIFO_1写指针使能当RST_DQS_DIV 有效的时刻。数据在延时的DQS上升沿时写入FIFO_0,同时写指针增添。鄙人降沿数据锁存到FIFO_1,同时FIFO_1写指针增添。

布局:

顶层布局模块孕育发生FPGA时钟旌旗灯号和复位旌旗灯号。DCM用于孕育发生CLK0和CLK90.一个延时校准电路实现这个功能。

延时校准电路:

有几个身分可以影响在DQ数据有效窗口中的DQS中间。因为进程、电压、温度变更、LUT延时可能在250~625pS中变更。在抽头延时电路中,LUT延时可以丈量

每个抽头延时都有输入反向。一样平常XC3S700-5FG484的LUT延时为620ps。对付一个166MHZ的设计,大年夜约有5个或者6个LUT在时钟相位里边。边缘行径(10101101011010或者0101001010010)从抽头电路中孕育发生。

延时电路:

选通旌旗灯号应用内部延时元件孕育发生,延时元件由LUT和其他资本组成。

您可能还会对下面的文章感兴趣: