引言:本文我们介绍下Xilinx SelectIO资源内部IDELAYE2资源应用。IDELAYE2原句配合IDELAYCTRL原句主要用于在信号通过引脚进入芯片内部之前,进行延时调节,一般高速端口信号由于走线延时等原因,需要通过IDELAYE2原语对数据做微调,实现时钟与数据的源同步时序要求。
1. IDELAYE2在SelectIO中的位置
7系列FPGA SelectIO中HR Bank和HP bank中都有IDELAYE2模块,其在SelectIO路径位置如下图所示。

图1:7系列FPGA HP Bank I/O Tile

图2:7系列FPGA HR Bank I/O tile
2. IDELAYE2延迟特性
Kintex-7器件DC and AC 开关特性手册中介绍了IDELAY延迟分辨率及最大工作时钟,如下图所示。
表1:IDELAY延迟分辨率及最大工作时钟

根据上图延迟分辨率,例如当参考时钟为200MHz时,根据公式计算:
平均抽头延迟单位为Tidelayresoluion=1/(32×2×200MHz)≈78ps。
需要说明的一点是:
当抽头系数Tap=0时,输入和输出延迟时间并非为0ps,而是600ps;
当抽头系数Tap=1~31时,TapDelayTime=600ps+Tidelayresoluion*Tap。
3. IDELAYE2原句
在Vivado Language Templates中搜索IDELAY,在Verilog目录中根据工程器件家族Kintex-7选择IDELAYE2原句模板,如下图所示。

图3:IDELAYE2语句模板
(* IODELAY_GROUP = <iodelay_group_name> *) // Specifies group name for associated IDELAYs/ODELAYs and IDELAYCTRL
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("FIXED"), // 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).
.S

最低0.47元/天 解锁文章
798

被折叠的 条评论
为什么被折叠?



