赞
踩
(1)IDELAY必须与IDELAYCTRL搭配使用,IDELAYCTRL主要用于给出参考时钟,进而得到延迟抽空的分辨率。
(2)IDELAYCTRL与IDELAY不需要连接。
(3)当有多个IDELAYCTRL时综合时可能会有冲突,最后统一为一个IDELAYCTRL或者选择不同的BANK的IDELAYCTRL。
延迟时间=设置的抽头数×分辨率,其中分辨率=1/(32×参考时钟频率×2),注意有仿真表明一旦使用IDELAY,都会先增加一个0.6ns的延时,因此总延迟时间=延迟时间+0.6ns。
参考下面代码,将IDELAY原语参数说明如下:
(1)CINVCTRL_SEL:是否动态地反转时钟信号C的极性。
(2)DELAY_SRC :延时信号来源,内部信号(DATAIN)或来自管脚信号(IDATAIN)。
(3)HIGH_PERFORMANCE_MODE:TURE减小抖动,FLASE降低功耗。
(4)IDELAY_TYPE:包括FIXED, VARIABLE, VAR_LOAD, VAR_LOAD_PIPE四种模式。
(5)IDELAY_VALUE:延时值,在FIXED模式下有用。
(6)PIPE_SEL:VAR_LOAD_PIPE 模式下有用。
(7)REFCLK_FREQUENCY:参考时钟。
(8)SIGNAL_PATTERN:确定延时的是时钟还是数据,以确定不同路径上的抖动。
// receive frame interface, ibuf -> iddr IBUFDS i_rx_frame_ibuf (.I(rx_frame_in_p),.IB(rx_frame_in_n),.O(rx_frame_ibuf_s)); IDELAYE2 #( .CINVCTRL_SEL ("FALSE" ),// Enable dynamic clock inversion (FALSE, TRUE) .DELAY_SRC ("IDATAIN" ),// Delay input (IDATAIN, DATAIN) .HIGH_PERFORMANCE_MODE("FALSE" ),// Reduced jitter ("TRUE"), Reduced power ("FALSE") .IDELAY_TYPE ("VAR_LOAD" ),// FIXED, VARIABLE, VAR_LOAD, VAR_LOAD_PIPE .IDELAY_VALUE (0 ),// Input delay tap setting (0-31) .PIPE_SEL ("FALSE" ),// Select pipelined mode, FALSE, TRUE .REFCLK_FREQUENCY (200.0 ),// IDELAYCTRL clock input frequency in MHz (190.0-210.0, 290.0-310.0). .SIGNAL_PATTERN ("DATA" ) // DATA, CLOCK input signal ) IDELAYE2_F ( .CNTVALUEOUT ( ),// 5-bit output: Counter value output .DATAOUT (rx_frame_idelay ),// 1-bit output: Delayed data output .C (clk200 ),// 1-bit input: Clock input .CE (1'b0 ),// 1-bit input: Active high enable increment/decrement input .CINVCTRL ( ),// 1-bit input: Dynamic clock inversion input .CNTVALUEIN (idly_d ),// 5-bit input: Counter value input .DATAIN ( ),// 1-bit input: Internal delay data input .IDATAIN (rx_frame_ibuf_s ),// 1-bit input: Data input from the I/O .INC (1'b0 ),// 1-bit input: Increment / Decrement tap delay input .LD (idly_en[6] ),// 1-bit input: Load IDELAY_VALUE input .LDPIPEEN ( ),// 1-bit input: Enable PIPELINE register to load data input .REG
(1)DATAOUT:延时数据。
(2)CNTVALUEOUT:用于查看延时系数。
(1)DATAIN , IDATAIN:延时数据输入信号,DATAIN是内部数据, IDATAIN是来自管脚的数据。
(2)C:时钟信号,当不是FIXED模式时,需要提供时钟信号,用于更新延时抽头系数。
(3)REGRST:复位信号,只有在VAR_LOAD_PIPE 模式下有效。
(4)CINVCTRL:允许更改时钟极性,即时钟极性反转。
(5)CNTVALUEIN:动态更改抽头系数值。
(6)LDPIPEEN:将输入的延时值加载到流水线当中。
(7)CE, INC, LD:在VAR_LOAD模式下,通过LD信号可以动态多次加载CNTVALUEIN抽头系数值,当CE为高电平时,如果INC为高电平,抽头系数值CNTVALUEIN当前值+1,如果INC为高电平,抽头系数值CNTVALUEIN当前值-1,如下图。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。