Xilinx可编程逻辑器件设计与开发(基础篇)连载25:Spartan
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有四种操作模式:分别是零保持时间延迟模
- 可编程逻辑控制器(PLC)基本操作及功能简介(03-07)
- 基于可编程逻辑器件的数字电路设计(10-16)
- 基于CPLD的机载雷达控保系统设计与实现(10-29)
- 德州仪器可编程逻辑和自动化控制器(PLC/PAC)解决方案(11-03)
- 基于Xilinx(赛灵思) CPLD的看门狗电路设计(10-09)
- 莱迪思技术专家分享:基于FPGA的视频监控时代(02-21)