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

2007-09-13 16:16:42来源: 赛灵思公司
提要

本应用指南介绍了在 VirtexTM-4 器件中实现存储器接口的直接时钟控制数据采集技术。直接时钟控制方案利用了 Virtex-4 系列所独有的某些架构特性(例如,每个 I/O 模块 (IOB) 中均具备一个 64-tap 的绝对延迟线)。

简介

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

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

选通脉冲边沿检测

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

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

表1 描述了各类 tap 数量。

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

实现选通脉冲边沿检测

由于具有专用的 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。

DELAY_RST

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

IDLE

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

DELAY_INC

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

DETECT_EDGE

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

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

数据采集与二次采集

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

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

读时序分析

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

此时序分析中考虑的外部存储器参数有:
 TAC - 读取数据 (DQ) 的存取时间(以 FPGA 传递给存储器的时钟为参照)
 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 的余量。

参考设计

存储器接口生成器 (MIG) 工具中集成了直接时钟控制数据采集技术的参考设计。该工具已被集成到 Xilinx Core Generator 工具中。最新版参考设计,可从 Xilinx 网站下载 IP 更新:http://www.xilinx.com/cn/xlnx/xil_sw_updates_home.jsp

结论

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

 IDELAY 模块 - 连续校准的 tap 延时很小的延迟元件。
 FIFO16 primitive - 用作 FIFO 的 Block RAM,无需使用生成状态标志所需的其他 CLB 资源。
 高速差分全局时钟资源提供了更好的占空比。差分时钟减少了参考设计所需的全局时钟资源数量。

如欲了解更多赛灵思技术文档,请访问http://china.xilinx.com/china/documentation/

关键字:脉冲  延迟  采样  转换

编辑: 引用地址:http://www.eeworld.com.cn/gykz/QTJS/200709/3837.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
脉冲
延迟
采样
转换

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved