IODELAY输入输出延迟单元
XILINX fpga开发中,使用IODELAY模块控制信号的输入和输出延迟过程端口名称方向功能DATAOUT输出来自三个数据输入端口【 IDATA|N、 ODATAIN、DATA|N之一的延迟数据IDATAIN输入来自0B的 DELAY的数据输入ODATAIN输人来自 OSERDES/OLOGIC的| ODELAY的数据输入DATAIN输入来自FGA内部资源的 ODELAY的数据输入输入三态输入控制端口。此端口动态确定| ODELAY是用作IDELAY还是用作 ODELAYCE输入启用递增/递减功能INO输入Tap延迟的递增/递减数RST输入将 DELAY单元复位到预设定值输入可变模式下使用的时钟输入端口来自的数据输入输入由相应的驱动。在模式下,可以将数据驱动到模块或直接驱动到内部资源中,也可以通过端口按照由设置的延迟将数据同时驱动到这二者。来自内部资源的数据输入输入由驱动。在模式下,按照由设置的延迟驱动连接到的端口。来自内部资源的的数据输入输入直接内部资源驱动,以提供一条可访问内部资源逻辑的延迟线数据按照由设置的延迟通过端口返回到内部资源中可以在芯片内反转。数据不能驱动到数据输出来自三个数据输入端口的延迟数据连接到内部资源(模式)或模式),或冋时连接到这二者(双向延迟模式)。如果在双向延迟模式下使用,则端∏在和通路之间动态切换,根据来自模块的三态信号所指示的方向交替提供输入输入延迟。三态输入这是三态输入控制端口。对于双向操作,引脚信号还控制的引脚。时钟输入对基元的所有控制输入(和)均与时钟输入()同步。当配冒成可变模式时,必须将一个时钟连接到此端口。可以在芯片内反转。模块复位复位信号将延迟单元复位到由或属性设置的值。如果未指定这些属性,则假定该值为零。信号是高有效复位,与输入时钟信号()同步。表概述了控制引脚的功能。表:控制引脚描述引脚类型值描述IN输入1Tap延迟的递增/递减数CE输入启用递增/递减功能RST输入1/将延迟单元复位到预设定的值。如果没有预设定值则复位到0递增递减信号递增递诚由使能信号()控制。当时,此接山只可用模式只要保持为就会每时钟()周期按递增或递减。的状态桷定是递增还是递减:为递增,为递减,与时钟()同步。如果为,则通过的延迟不变,与的状态无关。当转为时,在下一个时钟上升沿上开始递埤递减操作。当转为时在下一个时钟上升沿上停止递增递减操作。是环绕可编程延迟单元。当达到延迟单元的末尾()时,随后的递增功能就会返回到同样的规则也适用于递减功能,即低于零的递减会转到表概述了递增递减操作,表:递增递减操作操作RSTINC复位到 DELAY VALUE递增tap数Cx11递减tap数无变化0注1.RST优先于CE和INC属性表列出了的属性。表属性概述属性值默认值描述IDELAY TYPE得串DEFAULT设置tap延迟线的类型。默认延迟用于保证零俣EFAULT、持时间,盂定逛迟用于设置静态廷迟值,可变廷XED或迟用于动态调整延迟值。VARIABL-IDELAY VALUE整数:0到6指定固定模式下的固定延迟tap数或可变模式下的初始tap数输入通路)。ODELAY VALUE整数:0到630指定固定延迟tap数(输出通路)HIGH PERFORMANCE MODE布尔值FALSE当设置为TFLE时,此属性减少输出抖动。ALSE、TRJESIGNAL PATTERN宇符串:DATA、|DATA时钟和数据信号具有不司的哇气特征曲线,因止在 IODELAY链中累计的抖动量不同。通过设置此属性,用户可以令时喜分析器在计算时序时计入相应的抖动。时钟信号具有周期性,没有1或0的连续长序列;而数据具有随机性,可以有1和0的长短序列属性值默认值描迷REFCLK FREOUENCY实数:1900到|200DELAYCTRL参考时钟频率(MHz)210.0DELAY SFC字符:1、O、|DATA: IODELAY链输入是| CATAINO或DATAⅣN: CDELAY链输A是 ODATAINO:|LLAY链翰入是DAAN和 ODATAIN由T控制DATAIN: IODELAY链输入是 DATAIN属性属性设置所用延迟的类型。此属性的值是和。当设置成时,选择零保持时间延迟单元。当在没有的情况下使用全局时钟采集数据(引脚到引脚参数)时,用这种延迟单元提供非正保持时间。当设冒成时,延迟值固定为由属性设置确定的数。此值是预设置的,蓖置后不可更改。当设置成时,选择可变延迟单元。延迟可以通过设置递增,或通过设置和递减。递增递减操作与输入时钟信号同步属性属性指定初始延迟数。可能的值是到之间的任意整数。默认值是零。当延迟复位时,延迟值恢复到。在可变模式下,此属性确定延迟线的初始设置。属性指定延迟数。可能的值是到之间的任意整数。默认值是零当延迟复位时,延迟值恢复到属性当设置为时,此属性减少输出抖动。输出抖动减少导致单元的功率耗散略有上升属性属性致使时序分析器计入数据或时钟通路中的相应延迟链抖动星。时序表为开关特性表开关特性符号描述TIDELAYRESOLUTIONDELAY的ap分辨率ICECKICKCE相对于C的CE引脚建立/保持IINCCKLICKINC相对于C的IC引脚建立/保持TIRSTCKTICKRST相对于C的RST引脚建立/保持图所示为时序图。假设LRSTCEINCTap OTap 1图时序图时钟事件在的上升沿上检测到复位,致使输山选择为链的输出(假设时钟事件在的上升沿上检测到和的脉冲。这说明是递增操作。输出从到无毛刺变化。请见“递增递减操作后的稳定性”。时钟事件至此,输岀已经稳定在,因而完成了递増操作。输岀无限期地保持在,直到或引脚上有进一步活动递增递减操作后的稳定性图显示了输出从一个向另一个变化时的不稳定时段。显然,当处的数据值与处的数据值不同时,输出必须改变状态。然而,如果和处的数据值相同(例如两者都是或),则从到的过渡就不会在输出上造成毛刺或混乱。这概念可以通过设想的链中的接收器数据信号来理解。如果和都靠近接收器数据眼的中心,则在处采样的数据应与在处采样的数据没有区别。在这种情况下,从到的过渡不会引起输出变化。为了确保这种情况,的递增递减操作设计成了无毛刺操作。在活动用户数据通过单元时,用户可以实时动态调整的设置,不会扰乱活动用户数据。当在时钟信号通路中使用单元时,也适用无毛剌行为。调整设置不会在输出上引起毛刺或混乱。可以调整时钟通路中单元的设置,不会扰乱可能正在该时钟上运行的状态机概述如果用设置为或的属性例化或基元,则必须在代码中例化模块模块在其区域内连续标定各延迟单元()(见图),以减少随工艺、电压和温度变化的影响。模块使用用户提供的标定基元图所示为基元IDELAYCTRLREFCLK RDYRST基元端口复位复位输入引脚()是有效异步复位。在配置(以及信号稳定)之后必须复位,以确保操作正常。要求复位脉冲宽度为(详见附图)。在配置后必须复位。参考时钟参考时钟)提供对的时间参考,以标定同区域中的所有模块。此时钟必须由全局时钟缓冲器()驱动。必须是指定的容差(),以保证指定分辨率可以由用户提供的信号源直接提供,必须在全局时钟缓冲器上传输就绪就绪)信号指示特定区域内的模块标定完毕。如果在或几个时钟周期内保持为或则信号置为无效。如果置为无效,模块必须复位。实现L具允许不连接忽略。图所示为与之间的时序关系时序表所小为开关特性表川关特性符号描述IDELAYCTRL REFREFCLK频率DELAYCTRL_REF_PRECISIONREFCLK精度IDELAYCTRLCO RDYIDELAYCTRL从复位/启动到就绪的时间如下图所示,是边沿触发信号。REFCLKST-I TIDEL AYCTRLCO BDYRDY图与之间的时序关系位置每个时钟区域的每个列中都有模块。一个模块标定其时钟区域内的所有模块。图所示为各模块的相对位置Left loCenter loRight vOColumnColumncolumnCMT1 Clock RegionIDELAYCTRLContigurationCMT图:各模块相对位置用法及设计指导原则木部分讲述模块的使用、设计指导原则和推荐用法。例化无约束的当例化无约束的时,用户在设计代码中必须只例化一个实例。实现工具将实例自动复制到舉个器件,甚至复制到未使用延迟单元的时钟区域中。这样做资源占用率较高,在每个时钟区域内都要使用一个全局时钟资源,并且使用布线资源较多,因此功耗较大。(注:在简单工程中对基元是否制定约束,通过用工具对功耗进行佔算对比发现,是否制定对功耗影响不大或者几乎无影响,但在大规模工程中,会由于约束的指定带来功耗的额外增加)已例化实例的和输入端∏和所复制实例的对应输入端口相连接有两个特例、当忽略端口时,所有被复制的实例的信号均不连接。对于例化无约束的基元并且不连接输出端∏的情况,《库指南》中提供了和使用模型。图所示为例化组件后形成的电路。Instantiated by userREFCLKREECLKIDELAYCTRLRSTRSTREFCLKIDELAYCTRLHDY signal ignoredT口新口all IDE LAYCTRLtosREFCLKRDFDELAYCTRLAuto-generated bytool图:例化无约束的不连接当连接端口时,例化一个宽度等于时钟区域数的与门,并且将例化和复制的实例的输出端口连接到与门的输入。工具将连接到已例化实例的端口的信号名称赋予与门的输出对于例化无约束的基元并且连接端凵的情况,《库指南》中提供了和使用模型。图所示为例化组什后形成的电路Instantiated by userREFCLKREFCLKRDYIDELAYCTRLRSTBSTREFCLKRDYRDYIDELAYCTRLRepl cated foralL DELAYCTRLsHeREFCLKRDYIDELAYCTRLAuto-generated byHST图:例化无约束的连接例化有位置()约束的使用模块的最有效方法是定义并锁定设计中所用每个实例的位置。具体做法是例化有位置()约束的实例。用户必须在用延迟单元时定义并锁定所有和组件的位置。(属性设置
用户评论