-
5.1.6 SelectIO
模块
Virtex-6
每个
I/O
< br>片(
I/O Tile
)包含两个
IOB
、两个
ILOGIC
、两个<
/p>
OLOGIC
和
两个
< br>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
标准(
p>
LVCMOS
、
HSTL
< br>、
SSTL
)和差分
I/O <
/p>
标准(
LVDS
、
HT
、
LVPECL
、
BLVDS
、差分
HSTL
和
SSTL
)。
注意:差分输入和
VREF
相关输入由
VCCAUX
供电。
IOB
、引脚及内部逻辑的连接如图
5-25
所示。
图
5-25
IOB
、引脚及内部逻辑连接图
IOB
直接连接
ILOGIC/OLOGIC
对,该逻辑对包含输入和输出逻辑资源,可实
现数据和三态控制。
ILOGIC
和
OLOGIC
可分
别配置为
ISERDES
和
OSERD
ES
。
Xilinx
软件库提供了大量与
I/O
相关的原语,在例化这些原
语时,可以指定
I/O
标准。与单端
I
/O
相关的原语包括
IBUF
(输入缓
冲器)、
IBUFG
(时钟输入缓
冲器
)、
OBUF
(输出缓冲器)、
OBU
FT
(三态输出缓冲器)和
IOBUF
(输入
/
输出缓冲器)。与差分
I/O
相关的原语包括
IBUFDS
(输入缓
冲器)、
IBUFGDS
(时钟输入缓冲器)
< br>、
OBUFDS
(输出缓冲器)
、
OBUFTDS
(三态输出缓冲器)
、
IOBUFDS
(输入
/
输出缓冲器)、
IBUFDS_DIFF_OUT
(输入缓冲器)和
IOBUFDS_DIFF_OUT
(输入<
/p>
/
输出缓冲器)。
二、
SelectIO
的逻辑资源
SelectIO
的逻辑资源主要是指
ILO
GIC
和
OLOGIC
资源,它们完成
了
FPGA
引
脚到内部逻辑的连接功能
,包括组合输入
/
输出、三态输出控制、寄存器输入
/
输
出、寄存器三态输出控制、
< br>DDR
输入
/
输出、
DDR
输出三态控制、
IODELAYE1
高分辨率可调整延迟单元及其控制模块。
下
面简要介绍
ILOGIC
和
OLOGI
C
功能。
(1)
ILOGIC
。
图
5-26
ILOGIC
内部逻辑
ILOGIC
的内部逻辑如图
5-26
所示,
可以实现的操作包括:
异步
/
组合逻辑、
DDR
模式(
OPPOSITE_EDGE
、
SAM
E_EDGE
或
SAME_EDGE_PIPELINED
p>
)、
电平敏感型锁存器和边沿触发
D
型触发器。
?
<
/p>
异步
/
组合逻辑。
用来创建输入驱动器与
FPGA
内部资源之间的直接连接。当输入数据与
FPGA
内部逻辑之间
存在直接
(非寄存)
连接,
或者当
p>
“
将
I/O
寄存器
/
锁存器合并到
IOB
中
”
的设置为
OFF
时,此通路被自动使用。
?
输入
DD
R
(
IDDR
)。
Virtex-6
器件的
IL
OGIC
中有专用寄存器来实现输入双倍数据速率(
DDR
p>
)。可
以通过例化
IDDR
的原语来使用此功能。
IDDR
只有一个时钟输入,下
降沿数据
由输入时钟的反相版本(在
ILOGIC
内完成反相)进行时钟控制。所有输入
I/O
模块的
时钟均为完全多路复用,即
ILOGIC
或
OLOGIC
模块之间不共用时钟。
IDDR
支持以下三种操作模式:
OPPOSITE_ED
GE
模式、
SAME_EDGE
模式和
SAME_EDGE_PIPELINED
模
< br>式。
SAME_EDGE
和<
/p>
SAME_EDGE_PIPELINED
与
Virtex-5
一样。
这些模式允许设
< br>计人员在
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
。
I
ODELAYE1
可以连接到
ILOGIC/ISERDES<
/p>
或
OLOGIC/OSERDES
模块,
也可同时连接到
这两个模块。
IOD
ELAYE1
是具有
32
个
tap
的环绕延迟单元,具有标定的
tap
分辨率。请参
考附带光盘中的《
Virtex
-6 IO
用户手册》。
IODELAYE1
< br>可用于组合输入通路、
寄存输入通路、组合输出通路或寄存输出通路,还可以在内
部资源中直接使用。
IODELAYE1
允许各输入信号有独立
的延迟。通过在《
Virtex-6
用户手册》中规
定的范围内选择
IDELAYCTRL
参考时钟,
可以改变
tap
延迟分辨率。
IODE
LAYE1
资源可用作
IDELAY
、
ODELAY
或组合延迟。
.IDELAYE1
允许各输入信号有独立的延迟。延迟单元可以被校验
到一个绝对延
时固定值
(TIDELAYRESOLUTION
)
,这个值不随工艺,电压和温度的变化而改
变。
IODELAYE1
有四种操作模式:分别是零保
持时间延迟模式
(
IDELAY_TYPE=DEFAULT<
/p>
)、固定延迟模式(
IDELAY_TYPE=FIXED
)、
可变延迟模式(
IDELAY_TYPE
=VARIABLE
)和可装载的可变延时模式
(
IDELAY_TYPE=VAR_LOADABLE
)。零保持时间延迟模
式允许向后兼容,
以使用
Virtex-5
器件中的零保持时间延迟功能的设计,
在这种模式下使用时,
不
需要例化
IDELAYCTRL
的
原语。在固定延迟模式,延迟值由属性
IDELAY_VALUE
确定的
tap
数决定,此值配置后不可更改,此模式必须例化
IDELAYCTRL
的原语。在可变延迟模式,配置后通过控
制信号
CE
和
INC
< br>来改
变延迟值,
此模式必须例化
IDELAYCTRL
的原语。
在可装载的可变延时模式下,<
/p>
IDELAY TAP
可以通过
FPGA
逻辑相连的
5
位
CNTVALUEIN<4:0>
装载。当配
置为此模式时,
也必须例化
IDELAYCTRL
原语。
?
IDELAYCTRL
延时控制模块。
当
IDELAYE1
或
ISERDES
的原语中的
IOBDELAY_TYP
E
属性设置为
FIXED
、
VARIABLE
或者
VAR_LOADABLE
时,都必须例化
IDELAYCTRL
。
IDELAYCTRL
模块连续校验
IODELAYE1
的延时环节,以减少工艺、电压和温
度的影
响。
(2)
OLOGIC
资源。
OLOGIC<
/p>
由两个主要模块组成,分别是输出数据通路和三态控制通路。这两个
模块具有共同的时钟(
CLK
),但具有不同的使能信号
p>
OCE
和
TCE
。
输出通路和三态通路可独立配置为边沿触发的
D
型触发器、电平敏感锁存器、
异步
< br>/
组合逻辑或者
DDR
模式。<
/p>
?
组合数据输出和三态控制路径。
组
合输出通路用来实现从
FPGA
内部逻辑到输出驱动器或输出驱
动器控制端的
直接连接。当
FPGA
的
内部逻辑与输出数据或三态控制之间存在直接(不寄存)
连接,或者当
< br>“
将
I/O
寄存器
/
锁存器合并到
IOB
中<
/p>
”
的设置为
OFF
时,此路径被
使用。
?
输出
DD
R
(
ODDR
)。
Virtex-6
器件的
OL
OGIC
中具有专用寄存器,用来实现
DDR
< br>功能。要使用此功
能,只需要例化
ODDR
。
ODDR
只有一个时钟输入,下降沿数据由输入时
钟的
反相时钟控制。
ODDR
支持两种
操作模式:
OPPOSITE_EDGE
模式和
SAME_EDGE
模式。
SAME_EDGE
模式允许在
ODDR
时钟的上升沿将两个数<
/p>
据送至
ODDR
,以节省
CLB
和时钟资源并提高性能。
OPPOSITE_E
DGE
模式
使用时钟的两个沿以两倍吞吐量从
< br>FPGA
内部采集数据,两个输出都送至
IOB
的数据输入或三态控制输入。图
5-30
所示为
使用
OPPPOSITE_EDGE
模式时
输出
DDR
的时序图。图
5-31
所示为使用
SAME_EDGE
模式时
输出
DDR
的时
序图。