xilinx FPGA SelectIO模块

更新时间:2023-12-08 13:21:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

5.1.6 SelectIO模块

Virtex-6每个I/O片(I/O Tile)包含两个IOB、两个ILOGIC、两个OLOGIC 和两个IODELAY,如图5-24 所示。

图5-24 I/O 片结构图

本小节就以下几个方面介绍Virtex-6 的SelectIO 资源。

(1) SelectIO 的电气特性。

(2) SelectIO 的逻辑资源——ILOGIC 资源和OLOGIC 资源。

(3) SelectIO 的高级逻辑资源——ISERDES 资源、OSERDES 资源和Bitslip。 一、 SelectIO IO 的电气特性

所有的Virtex-6 FPGA 有高性能的可配置SelectIO 驱动器与接收器,支持非常广泛的接口标准。强大的功能SelectIO 包括输出强度和斜率的可编程控制以及使用数控阻抗(DCI)的片上终端。

IOB 包含输入、输出和三态SelectIO 驱动器。支持单端I/O 标准(LVCMOS、HSTL、SSTL)和差分I/O 标准(LVDS、HT、LVPECL、BLVDS、差分HSTL 和SSTL)。

注意:差分输入和VREF 相关输入由VCCAUX 供电。 IOB、引脚及内部逻辑的连接如图5-25 所示。

图5-25 IOB、引脚及内部逻辑连接图

IOB 直接连接ILOGIC/OLOGIC 对,该逻辑对包含输入和输出逻辑资源,可实现数据和三态控制。ILOGIC和OLOGIC可分别配置为ISERDES和OSERDES。 Xilinx软件库提供了大量与I/O相关的原语,在例化这些原语时,可以指定I/O标准。与单端I/O相关的原语包括IBUF(输入缓冲器)、IBUFG(时钟输入缓冲器)、OBUF(输出缓冲器)、OBUFT(三态输出缓冲器)和IOBUF(输入/输出缓冲器)。与差分I/O相关的原语包括IBUFDS(输入缓冲器)、IBUFGDS(时钟输入缓冲器)、OBUFDS(输出缓冲器)、OBUFTDS(三态输出缓冲器)、IOBUFDS(输入/输出缓冲器)、IBUFDS_DIFF_OUT(输入缓冲器)和IOBUFDS_DIFF_OUT(输入/输出缓冲器)。 二、 SelectIO的逻辑资源

SelectIO的逻辑资源主要是指ILOGIC和OLOGIC资源,它们完成了FPGA引脚到内部逻辑的连接功能,包括组合输入/输出、三态输出控制、寄存器输入/输出、寄存器三态输出控制、DDR输入/输出、DDR输出三态控制、IODELAYE1高分辨率可调整延迟单元及其控制模块。 下面简要介绍ILOGIC和OLOGIC功能。

(1) ILOGIC。

图5-26 ILOGIC内部逻辑

ILOGIC的内部逻辑如图5-26所示,可以实现的操作包括:异步/组合逻辑、DDR模式(OPPOSITE_EDGE、SAME_EDGE或SAME_EDGE_PIPELINED)、电平敏感型锁存器和边沿触发D型触发器。

?

异步/组合逻辑。

用来创建输入驱动器与FPGA内部资源之间的直接连接。当输入数据与FPGA内部逻辑之间存在直接(非寄存)连接,或者当“将I/O寄存器/锁存器合并到IOB中”的设置为OFF时,此通路被自动使用。

?

输入DDR(IDDR)。

Virtex-6器件的ILOGIC中有专用寄存器来实现输入双倍数据速率(DDR)。可以通过例化IDDR的原语来使用此功能。IDDR只有一个时钟输入,下降沿数据由输入时钟的反相版本(在ILOGIC内完成反相)进行时钟控制。所有输入I/O模块的时钟均为完全多路复用,即ILOGIC或OLOGIC模块之间不共用时钟。IDDR支持以下三种操作模式:

OPPOSITE_EDGE模式、SAME_EDGE模式和SAME_EDGE_PIPELINED模式。

SAME_EDGE和SAME_EDGE_PIPELINED与Virtex-5一样。这些模式允许设计人员在ILOGIC模块内部将下降沿数据转移到上升沿时钟域,以节省CLB和时钟资源并提高性能。这些模式是用DDR_CLK_EDGE属性实现的。 各模式下时序图请参考图5-27、图5-28和图5-29。

图5-27 OPPOSITE_EDGE模式下的输入双倍数据速率

图5-28 SAME_EDGE模式下的输入双倍数据速率

图5-29 SAME_EDGE_PIPELINED模式下的输入双倍数据速率

?

可编程绝对延迟单元IODELAYE1。

每个I/O模块包含一个可编程绝对延迟单元,称为IODELAYE1。IODELAYE1可以连接到ILOGIC/ISERDES或OLOGIC/OSERDES模块,也可同时连接到这两个模块。

IODELAYE1是具有32个tap的环绕延迟单元,具有标定的tap分辨率。请参考附带光盘中的《Virtex-6 IO用户手册》。IODELAYE1可用于组合输入通路、寄存输入通路、组合输出通路或寄存输出通路,还可以在内部资源中直接使用。IODELAYE1允许各输入信号有独立的延迟。通过在《Virtex-6用户手册》中规定的范围内选择IDELAYCTRL参考时钟,可以改变tap延迟分辨率。IODELAYE1资源可用作IDELAY、ODELAY或组合延迟。

.IDELAYE1允许各输入信号有独立的延迟。延迟单元可以被校验到一个绝对延时固定值(TIDELAYRESOLUTION),这个值不随工艺,电压和温度的变化而改变。

IODELAYE1有四种操作模式:分别是零保持时间延迟模式

(IDELAY_TYPE=DEFAULT)、固定延迟模式(IDELAY_TYPE=FIXED)、可变延迟模式(IDELAY_TYPE=VARIABLE)和可装载的可变延时模式

(IDELAY_TYPE=VAR_LOADABLE)。零保持时间延迟模式允许向后兼容,以使用Virtex-5器件中的零保持时间延迟功能的设计,在这种模式下使用时,不需要例化IDELAYCTRL的原语。在固定延迟模式,延迟值由属性

IDELAY_VALUE确定的tap数决定,此值配置后不可更改,此模式必须例化IDELAYCTRL的原语。在可变延迟模式,配置后通过控制信号CE和INC来改变延迟值,此模式必须例化IDELAYCTRL的原语。在可装载的可变延时模式下,IDELAY TAP可以通过FPGA逻辑相连的5位CNTVALUEIN<4:0>装载。当配置为此模式时,也必须例化IDELAYCTRL原语。

一个OSERDES 模块中的数据并串转换器接收来自内部逻辑的二到六位并行数据,将数据串行化,然后通过OQ 输出将数据送至IOB。并行数据串行化是按照从数据输入引脚的最低位到最高的顺序进行的(即D1 输入引脚上的数据传输到OQ 引脚的首位)。

OSERDES 使用CLK 和CLKDIV 两个时钟进行数据速率转换。CLK 是高速串行时钟;CLKDIV 是分频并行时钟。

图5-35 OSERDES的结构框图

?

三态并串转换。

除了数据的并串转换,OSERDES模块还包含一个三态并串转换器,三态并串转换器最多只能串行化四位并行三态信号。三态转换器不能级联。 OSERDES的原语如图5-36所示。

图5-36 OSERDES的原语

本文来源:https://www.bwwdw.com/article/5p3t.html

Top