![](http://img4.cpooo.com/files/201905/30/p/5/1207632_1559181202.jpg)
F3XH04-3N
横河YOKOGAWAF3XH04-3N横河YOKOGAWAF3XH04-3N横河YOKOGAWAF3XH04-3N-------------------------------------------------------------------------------------------------------------------提要本应用指南介绍了在VirtexTM-4器件中实现存储器接口的直接时钟控制数据采集技术。直接时钟控制方案利用了Virtex-4系列所独有的某些架构特性(例如,每个I/O模块(IOB)中均具备一个64-tap的***延迟线)。简介大多数存储器接口都是源同步接口,从外部存储器器件传出的数据和时钟/选***冲是边沿对齐的。在Virtex-4器件采集这一数据,需要延迟时钟/选***冲或数据。利用直接时钟控制技术,数据经延迟,并与内部FPGA时钟实现中心对齐。在这个方案中,内部FPGA时钟采集传出的数据。存储器传出的时钟/选***冲用于决定与数据位相关的延迟值。因此,与选***冲相关的数据位的数量不受限制。由于无需将选***冲分配给相关数据位,所以不需要其他时钟资源。时钟/选***冲和数据位使用的Virtex-4资源是一条64-tap***延迟线。该64-tap***延迟线可利用IDELAY和IDELAYCTRLprimitive实现。时钟/选***冲和数据位均通过此64-tap***延迟线来布线。虽然选***冲不用于采集数据,但它用于确定数据与内部FPGA时钟实现中心对齐所需的tap数量。以下部分将详细解释直接时钟控制技术方案的设计及实现。选***冲边沿检测与时钟/选***冲相关的数据位的延迟值就是内部FPGA时钟上升沿与时钟/选***冲中心之间的相位差。假设时钟/选***冲和数据实现了边沿对齐。要确定这个相位差,时钟/选***冲通过IOB内的64-tap***延迟线输入,并利用内部FPGA时钟在增量tap输出端对其进行采样。要确定时钟/选***冲的中心,至少需要检测到时钟/选***冲的两个边沿或转换。检测出第二次转换所需的tap数(即第二个边沿的tap)和检测出***次转换所需的tap数(即***个边沿的tap)之差,即为时钟/选***冲宽度。这个差值的二分之一就是脉冲中心(即脉冲中心的tap)。从内部FPGA时钟上升沿到时钟/选***冲中心之间的tap数,即为***个边沿的tap数与脉冲中心的tap数之和。图1说明了通过使数据延迟相应的tap数,让数据与内部FPGA时钟实现中心对齐的两种情况。第1种情况所示为,由于时钟/选***冲的下降沿是被检测到的***个边沿,因此内部FPGA时钟的上升沿位于延迟数据的中心。第2种情况所示为,由于时钟/选***冲的上升沿是检测到的***个边沿,因此内部FPGA时钟下降沿位于延迟数据的中心。通过使数据延迟相应的tap数,让数据与内部FPGA时钟实现中心对齐的两种情况实现选***冲边沿检测由于具有专用的IDELAY和IDELAY_CTRL电路,所以可以轻松地在Virtex-4器件中实现确定延迟值的电路。实现确定延迟值电路的结构图如图2所示。实现确定延迟值电路的结构图利用一个简单的算法检测存储器时钟/选***冲的边沿。将初始值为0的时钟/选***冲输入IDELAY模块。时钟/选***冲将不停地增加1tap的延迟,直到检测到***个边沿。然后记录下检测出***个边沿所需的tap数。在检测到第二个边沿之前,时钟/选***冲仍然不停地增加1tap的延迟。然后记录下检测出第二个边沿所需的tap数。根据两次记录的值,计算出脉冲宽度。在用tap数确定时钟/选***冲宽度后,除以2即得到中间值。中间值与检测出***个边沿所需的tap数之和为延迟数据所需的tap数。IDELAY模块可用的tap总数为64。因此,当频率为200MHz或以下时,将无法检测出两个边沿。如果在64tap结束后仅检测出一个边沿,那么延迟数据所需的tap数应为,检测出***个边沿所需的tap数减去16tap(约1.25ns,每个tap的***约为75ps)。一个200MHz时钟/选***冲周期的四分之一约为16tap。根据时序分析,该值也适用于更低的频率,***低可达110MHz。当频率低于110MHz时,如果在64tap结束后未检测出任何边沿,那么延迟数据所需的tap数应为32tap(约2.5ns,每个tap的***约为75ps)。该值足以使内部FPGA时钟边沿位于数据窗口内。检测***个和第二个边沿仅需一个小型状态机。只有在为确定数据延迟tap数而发出的虚读操作过程中,才启用该状态机。在正式工作之前,发送至外部存储器器件的虚读操作命令包含多条背靠背读命令。状态机将控制输入IDELAY电路的信号,即DLYRST、DLYCE和DLYINC。DLYRST-延迟线复位信号,将延迟线中的tap数重设为按IOBDELAY_VALUE属性设置的值。本设计中被设为"0"。DLYCE-延迟线使能信号,确定何时***延迟线递增/递减信号。DLYINC-延迟线递增/递减信号,可增加或减少延迟模块中的tap数。表2描述了延迟线的运行模式。ABB?sc510?3BSE003832R1ABB?SC520?3BSE003816R1ABB?pm511vDSDI110***13BSE018295R1DSDO115A3BSE018298R1DSDO11557160001-NFDSAI130D3BSE003127R1DSDP17057160001-ADFDSBC1763BSE019216R1DSAO120A3BSE018293R1DSDP15057160001-GFDSAI1463BSE007949R1PM511V083BSE011180R1DSQC60DSQC6581747-ACNR151756-OB16E1769-IA161769-OA161756-IF161756-OB16I5X00119G015X00121G01125760-01125768-01128229-013500/203500/42M1747-L5141756-IB16PR6423/003-030P0400YDIC670MDL241IC670ALG630IC670ALG320IC670GBI0021786-TPS1756-TBNH1756-TBCHABB?nioc-01cABBNDCU-51CABBSB510ABBSDCS-IOE-2ABBAC-IOE-2CABBHIEE300888R0001ABBSR5113BSE000863R1ABBDSTX170ABBSDCS-PIN-41AABBSDCS-PIN-51ABBTC520ABB3BHE004573R0143ABB3BHE005555R0101LDSYN-101ABBLDMUI-01REXROTHVT-VRPA1-50-11REXROTHVT-VSPA2-50-10/T551304453-10051305890-17551305907-17551204166-12551204172-1251756-L61F32361PR9268/201-0001794-IA81794-TB207kt982DSDI110ADSAO120ADSAI130DDSBC176DSDO115ADSAI146DSDP150SC5203BSE003816R1SC5103BSE003832R1PM511V08SDCS-CON-23ADT309600R1AMC-DC3ADT309900R1DSTX170MPC270P0922YU1756-0B16EKJ3222X1-BA1KJ3221X1-BA1KJ3202X1-BA107DI9207AI911756-CNBR/E)