Spartan-6每个I/O片(TIle)包含两个IOB、两个ILOGIC2、两个OLOGIC2和两个IODELAY2,见图2-37。
在这一小节里,分以下几个方面介绍Spartan-6的SelecTIO资源。
SelecTIO的电气特性。
SelectIO的逻辑资源(ILOGIC2、OLOGIC2)。
SelectIO的高级逻辑资源(ISERDES、OSERDES、Bitslip)。
图2-37 I/O片结构图
一、 SelectIO IOB的电气特性所有的Spartan-6 FPGA有高性能的可配置SelectIO驱动器与接收器,支持非常广泛的接口标准。可以通过编程控制I/O的输出强度、斜率以及片上终端OCT。
每个IOB包含输入、输出和三态SelectIO驱动器。这些驱动器可以按照各种I/O标准配置。
单端I/O标准(LVCMOS、LVTTL、HSTL、SSTL、PCI)。
差分I/O标准(LVDS、RSDS、TMDS、差分HSTL和SSTL)。
注意:差分输入和VREF相关输入是由VCCAUX供电。
Xilinx软件库提供了很多Spartan-6 I/O的原语,包括用于单端信号的IBUF(输入缓冲器)、IBUFG(时钟输入缓冲器)、OBUF(输出缓冲器)、OBUFT(三态输出缓冲器)和IOBUF(输入/输出缓冲器);以及用于差分信号的IBUFDS(输入缓冲器)、IBUFGDS(时钟输入缓冲器)、OBUFDS(输出缓冲器)、OBUFTDS(三态输出缓冲器)和IOBUFDS(输入/输出缓冲器)。
二、 SelectIO的逻辑资源SelectIO的逻辑资源是指I/O驱动器与接收器之后的逻辑,包含了Spartan-6 FPGA的所有基本I/O逻辑资源,如图2-38所示。其中包括的资源如下。
组合输入/输出。
三态输出控制。
寄存器输入/输出。
寄存器三态输出控制。
双倍数据速率(DDR)输入/输出。
DDR输出三态控制。
IODELAY2提供对高分辨率可调延迟单元的控制。
支持NONE、C0和C1三种对齐模式的DDR输出。
支持NONE、C0和C1三种对齐模式的DDR输入。
ISERDES。
OSERDES。
图2-38 I/O片内的SelectIO逻辑资源
一个I/O片(IOI)管理两个IOB。IOI包含两个单端输入/输出,或者一个差分输入/输出的完整电路和一个内部互联模块。两个IOB组合在一起是为支持高速的差分接口。
在单端模式下,主IOB驱动引脚P,从IOB驱动引脚N。在差分模式下,主从IOB组合在一起可以实现串并转换,其数据速率是单端模式下的1~2倍。每个I/O支持3种配置模式:锁存型I/O、非锁型I/O和寄存器型I/O。I/O还可以配置为2:1/3:1/4:1的SERDES。锁存/寄存器时钟来自GCLK驱动的全局时钟网络或者高速I/O时钟网络。
IODELAY2是一种可选资源,设计者可以根据需要在输入/输出路径上加入此延时模块,IODELAY2的延时是可编程的,可以通过DRP指定或者通过例化IODELAY2原语指定。此延时可以是固定延时,也可以是可变延时。
三、 ILOGIC2资源图2-39所示为ILOGIC2逻辑框图,它可支持以下功能。
边沿触发D型触发器。
IDDR(NONE、C0或C1)模式。
锁存器。
异步/组合逻辑。
图2-39 ILOGIC2逻辑框图
(1) 异步/组合逻辑。
当有下列情况之一时,软件会自动生成组合通路,使输入驱动器与FPGA内部逻辑资源直接连接。
FPGA的输入数据与内部逻辑直接相连,而没有用寄存器。
“打包I/O寄存器/锁存器到IOB中”的属性设置为OFF。
(2) IDDR模式。
Spartan-6器件的ILOGIC2中有专用寄存器来实现输入双倍数据速率(DDR)寄存器。可以通过例化IDDR2的原语来使用此功能。
IDDR2的属性DDR_ALIGNMENT有3种模式:NONE、C0和C1。
在NONE模式下,输入DDR时序如图2-40所示。寄存器在C0上升沿将输入数据D寄存到Q0,C1上升沿将下一输入数据D寄存到Q1。
图2-40 DDR_ALIGNMENT=NONE时输入DDR时序示意图
在某些情况下,输入数据必须同步到一个时钟域里,通常C0同步。但是在频率比较高的情况下,这种同步相对比较困难,因为有效时间仅为时钟周期的一半(50%占空比的情况下)。Spartan-6器件中的IDDR2包含了专用的逻辑,可以在ILOGIC2内部进行时钟域的同步。
当DDR_ALIGNMENT为C0(或C1),信号Q0(Q1)在C1(C0)再次寄存,通过内部互联将输入数据同步到同一时钟域。时序图如图2-41所示。
图2-41 DDR_ALIGNMENT=C0\C1 的输入DDR
IDDR 的原语如图2-42 所示。
图2-42 IDDR2 的原语
四、 OLOGIC2 资源如图2-43所示,OLOGIC2主要由两部分组成,分别是输出数据路径和三态控制路径。
这两个部分可以配置成以下模式。
边沿触发D 型触发器。
DDR 模式(NONE、C0 或C1 同步方式)。
电平敏感锁存器。
异步/组合逻辑。
图2-43 OLOGIC2 逻辑模块
(1) 组合数据输出和三态控制路径。
当有下列情况之一时,软件会自动生成组合通路,将FPGA 内部数据直接输出到输出驱动器或驱动器的控制端。
FPGA 内部逻辑数据直接输出到输出驱动器或驱动器的三态控制端,而没有经过寄存器。
“打包I/O 寄存器/锁存器到IOB 中”的属性设置为OFF。
(2) ODDR模式。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)