利用直接时钟控制技术实现存储器接口数据采集

发布时间:2010-9-27 17:38    发布者:conniede
关键词: 存储器 , 控制技术 , 数据采集 , 直接时钟
1 简介

大多数存储器接口都是源同步接口,从外部存储器器件传出的数据和时钟/ 选通脉冲是边沿对齐的。在 Virtex-4 器件采集这一数据,需要延迟时钟/ 选通脉冲或数据。利用直接时钟控制技术,数据经延迟,并与内部 FPGA 时钟实现中心对齐。在这个方案中,内部 FPGA 时钟采集传出的数据。存储器传出的时钟/ 选通脉冲用于决定与数据位相关的延迟值。因此,与选通脉冲相关的数据位的数量不受限制。由于无需将选通脉冲分配给相关数据位,所以不需要其他时钟资源。

时钟/ 选通脉冲和数据位使用的 Virtex-4 资源是一条 64-tap 绝对延迟线。该 64-tap 绝对延迟线可利用 IDELAY 和 IDELAYCTRL primitive 实现。时钟/ 选通脉冲和数据位均通过此 64-tap绝对延迟线来布线。虽然选通脉冲不 用于采集数据,但它用于确定数据与内部 FPGA 时钟实现中心对齐所需的 tap 数量。以下部分将详细解释直接时钟控制技术方案的设计及实现。

2 选通脉冲边沿检测

与时钟/ 选通脉冲相关的数据位的延迟值就是内部 FPGA 时钟上升沿与时钟/ 选通脉冲中心之间的相位差。假设时钟/ 选通脉冲和数据实现了边沿对齐。要确定这个相位差,时钟/ 选通脉冲通过 IOB 内的 64-tap 绝对延迟线输入,并利用内部 FPGA 时钟在增量 tap 输出端对其进行采样。

要确定时钟/ 选通脉冲的中心,至少需要检测到时钟/ 选通脉冲的两个边沿或转换。检测出第二次转换所需的 tap 数(即第二个边沿的 tap)和检测出第一次转换所需的 tap 数(即第一个边沿的 tap)之差,即为时钟/ 选通脉冲宽度。这个差值的二分之一就是脉冲中心(即脉冲中心的 tap)。从内部 FPGA 时钟上升沿到时钟/ 选通脉冲中心之间的 tap 数,即为第一个边沿的tap 数与脉冲中心的 tap 数之和。

表1 描述了各类 tap 数量。

图1 说明了通过使数据延迟相应的 tap 数,让数据与内部 FPGA 时钟实现中心对齐的两种情况。第 1 种情况所示为,由于时钟/ 选通脉冲的下降沿是被检测到的第一个边沿,因此内部FPGA 时钟的上升沿位于延迟数据的中心。第 2 种情况所示为,由于时钟/ 选通脉冲的上升沿是检测到的第一个边沿,因此内部 FPGA 时钟下降沿位于延迟数据的中心。


3 实现选通脉冲边沿检测

由于具有专用的 IDELAY 和 IDELAY_CTRL 电路,所以可以轻松地在 Virtex-4 器件中实现确定延迟值的电路。实现确定延迟值电路的结构图如图2 所示。


利用一个简单的算法检测存储器时钟/ 选通脉冲的边沿。将初始值为 0 的时钟/ 选通脉冲输入IDELAY 模块。时钟/ 选通脉冲将不停地增加 1 tap 的延迟,直到检测到第一个边沿。然后记录下检测出第一个边沿所需的 tap 数。在检测到第二个边沿之前,时钟/ 选通脉冲仍然不停地增加 1 tap 的延迟。然后记录下检测出第二个边沿所需的 tap 数。根据两次记录的值,计算出脉冲宽度。在用 tap 数确定时钟/ 选通脉冲宽度后,除以 2 即得到中间值。中间值与检测出第一个边沿所需的 tap 数之和为延迟数据所需的 tap 数。

IDELAY 模块可用的 tap 总数为64。因此,当频率为 200 MHz 或以下时,将无法检测出两个边沿。如果在 64 tap 结束后仅检测出一个边沿,那么延迟数据所需的 tap 数应为,检测出第一个边沿所需的 tap 数减去 16 tap (约 1.25 ns,每个 tap 的延时约为 75 ps)。一个 200 MHz 时钟/ 选通脉冲周期的四分之一约为 16 tap。根据时序分析,该值也适用于更低的频率,最低可达 110 MHz。当频率低于 110 MHz 时,如果在 64 tap 结束后未检测出任何边沿,那么延迟数据所需的 tap 数应为 32 tap(约 2.5 ns,每个 tap 的延时约为 75 ps)。该值足以使内部 FPGA时钟边沿位于数据窗口内。

检测第一个和第二个边沿仅需一个小型状态机。只有在为确定数据延迟 tap 数而发出的虚读操作过程中,才启用该状态机。在正式工作之前,发送至外部存储器器件的虚读操作命令包含多条背靠背读命令。状态机将控制输入 IDELAY 电路的信号,即DLYRST、DLYCE 和 DLYINC。

DLYRST - 延迟线复位信号,将延迟线中的 tap 数重设为按 IOBDELAY_VALUE 属性设置的值。本设计中被设为 "0"。


DLYCE - 延迟线使能信号,确定何时激活延迟线递增/ 递减信号。

DLYINC - 延迟线递增/ 递减信号,可增加或减少延迟模块中的 tap 数。表2 描述了延迟线的运行模式。


用于控制这些延迟模块输入的状态图如图3 所示。该状态机的四种状态分别为:

DELAY_RST、IDLE、DELAY_INC 和 DETECT_EDGE。


1)DELAY_RST

该状态是发起虚读操作时启用的状态机的第一个状态。在这种状态下,延迟模块被重设为“0”tap。该状态之后是多个 IDLE 状态。

2)IDLE

在这种状态下,延迟模块保持“无变化”运行模式。除 IDLE 状态之外,每种状态结束后都会出现数个 IDLE 状态,以便处理 tap 输出值。IDLE 状态之后是另一个 IDLE、DELAY_INC 或DETECT_EDGE 状态。

3)DELAY_INC

这个状态使延迟模块 tap 数加 1。该状态之后是数个IDLE 状态。

4)DETECT_EDGE

在这种状态下,比较延迟模块的输出及其上一个值,用于检测信号边沿或转换,同时,延迟模块 tap 数加 1。该状态之后是数个 IDLE 状态。

在确定了延迟数据所需的 tap 数后,将启用数据 IDELAY 电路,并增加到这一数值。按照所需的 tap 数,使数据 IDELAY 电路增加相同的时钟周期。数据 IDELAY 电路的读/ 写数据通路结构图如图4 所示。

  
3.1 数据采集与二次采集

如图4 所示,利用内部 FPGA 时钟,在输入 DDR 触发器中采集延迟数据。然后,把这些触发器的输出存储到两个 FIFO 中;一个代表上升沿数据,另一个代表下降沿数据。这些 FIFO 是利用 LUT RAM 实现的,其写使能操作由控制器生成的读使能信号提供,并在数据格式校准的基础上与采集的读取数据对齐。

DDR2 SDRAM 器件并未随读取数据一同提供读有效或读使能信号。因此,控制器将根据 CAS延迟和突发长度,生成这个读使能信号。在开始执行读取操作时,必须令该读使能信号有效,并在选通脉冲的最后一个上升沿结束后使其无效。在 IDDR 触发器的输出端,该读使能信号必须与采集到的读取数据对齐。为了实现读使能对齐,在数据与 FPGA 时钟对齐后,将已知数据格式写入存储器。然后读回已知数据格式,并在读使能信号与采集到的读取数据对齐之前,利用移位寄存器延迟读使能信号。每字节数据都会生成一个读使能信号。图5 为读使能对齐的时序图。


3.2 读时序分析

这一部分介绍了利用直接时钟控制技术实现的读时序分析。直接在 FPGA 时钟域内采集读取数据,因此,用于数据有效窗口分析的存储器参数就是存取时间 (TAC)。下面简要介绍了此时序分析中使用的各个参数。

此时序分析中考虑的外部存储器参数有:

TAC - 读取数据 (DQ) 的存取时间(以 FPGA 传递给存储器的时钟为参照)

3.3 TDCD - DCM 输出占空比失真

利用 FPGA 时钟而非存储器时钟/ 选通脉冲 (DQS),来采集读取数据 (DQ) ;因此,该分析考虑了 TAC (以时钟为参照的数据存取时间)。在此分析中,未考虑 DQS - DQ 存储器参数,如TDQSQ 和 TQHS,因为 TAC 比这两个参数更重要。

此时序分析中考虑的 FPGA 参数有:

TCLOCK_TREE-SKEW - 紧密放置在该组中的 IOB 触发器的全局时钟树歪斜

TPACKAGE_SKEW - 特定器件/ 封装的封装歪斜

TSAMP - Virtex-4 源同步数据手册中规定的采样窗口

TIDELAYPAT_JIT - Virtex-4 数据手册中规定的每个 IDELAY tap 的数据格式抖动

通过检测 DQS 边沿,计算出与 DQS 相关的数据位延迟。利用全局时钟在 I/O 触发器中采集DQS 来进行检测。因此,最终得到的数据延迟值已经包含了 I/O 触发器的建立时间和保持时间。在进行最差情况分析时,需要考虑 I/O 触发器固有的建立时间和保持时间。

此外,计算数据位和相关选通脉冲之间的歪斜也需要考虑 PCB 布局歪斜。

表3 所示为在205 MHz 频率下,对DDR2 接口执行的读时序分析。全部参数单位均为皮秒。

TDATA_PERIOD 是时钟周期的二分之一减去TMEM_DCD。TDATA_PERIOD 与不确定值之和的差,就是有效数据窗口 (43 ps)。因此,在 205 MHz 频率下,-11Virtex-4 器件将产生 43 ps 的余量。  

4 结论

Virtex-4 I/O 架构增强了源同步存储器接口的实现。本应用指南及参考设计中使用的架构特性包括:

IDELAY 模块 - 连续校准的 tap 延时很小的延迟元件。

FIFO16 primitive - 用作 FIFO 的 Block RAM,无需使用生成状态标志所需的其他 CLB 资源。

高速差分全局时钟资源提供了更好的占空比。差分时钟减少了参考设计所需的全局时钟资源数量。
本文地址:https://www.eechina.com/thread-29690-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

相关视频

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表