Spartan6系列之SelectIO深入详解及高级应用简介

时间:2024-02-21 14:40:40

1.      什么是I/O Tile?

  对Spartan-6系列FPGA来说,一个IO Tile包括2个IOB、2个ILOGIC、2个OLOGIC、2个IODELAY。

 

 

图 1Spartan-6系列IO Tile结构图

 

图 2Spartan-6 FPGA I/O Banks

1.1.  IOB结构介绍

  每个IOB包含了输入、输出、三态驱动器;这些驱动器可以配置为不同的电平标准如LVTTL、LVCMOS等;差分IO会用到1个IO Tile里的两个IOB。

每个IOB都被直接连接到了ILOGIC和OLOGIC,ILOGIC和OLOGIC可以被配置成ISERDES或OSERDES,。

 

图 3基本IOB结构图

1.1.1.   IOB内部终端电阻

  高速IO电平标准的使用可以优化电平转换特性和信号完整性,在高速IO电平标准中往往需要使用终端电阻。终端电阻的位置应该距离接收器越近越好。

Spartan-6 FPGA为差分IO和单端IO提供了片内终端电阻,这个终端电阻位于IOB内部,使用这些终端电阻,可以避免FPGA外部再引脚处再接电阻。

  • 差分IO的终端电阻

    Spartan-6系列为差分IO提供了100Ω的终端电阻,差分引脚的终端电阻可以通过约束文件使之使能或不使能。

 

图 4差分引脚使能终端电阻

 

图 5差分引脚不使能终端电阻

  • 单端引脚终端电阻

    单端引脚的输入终端电阻和输出阻抗都是可编程控制的,如下图所示:左边FPGA的输出使能了50Ω的输出阻抗,右边的FPGA使能了输入50%分压电阻;在高速接口应用中,使能输出阻抗可以减少电磁反射,Spartan-6系列FPGA输出阻抗可选值为None、25Ω、50Ω、75Ω;输入阻抗可设置为25%、50%、75%分压。

 

 

图 6单向SSTL接口使用片上终端电阻

1.1.2.   IOB内部可例化的原语

  IOB内部有多种输入输出缓冲资源(buffer resource),他们可以原语的形式调用,在Spartan-6系列里,单端IO标准的原语如下5个:

        

原语

功能

IBUF

输入缓冲

IBUFG

时钟输入缓冲

OBUF

输出缓冲

OBUFT

输出三态缓冲

IOBUF

输入输出缓冲

     同时有7个差分IO标准的原语

原语

功能

IBUFDS

输入缓冲

IBUFGDS

时钟输入缓冲

IBUFDS_DIFF_OUT

取反输出缓冲

IBUFGDS_DIFF_OUT

时钟取反输出缓冲

OBUFDS

输出缓冲

OBUFTDS

三态输出缓冲

IOBUFDS

输入输出IO缓冲

 

1.1.3.   IOB内可用IO电平标准

  IOB支持多种电平标准,用户可以*灵活地为自己的设计选择合适的IO电平标准,Spartan-6系列支持的IO电平标准如下

 

 

标准

解释

用途及厂商

输入缓冲

输出缓冲

单端IO电平标准

LVTTL

Low Voltage TTL

General purpose

3.3V

LVTTL

Push-Pull

LVCMOS

Low Voltage CMOS

General purpose

CMOS

Push-Pull

PCI

Peripheral

Component

Interconnect

PCI bus

LVTTL

Push-Pull

I2C

Inter Integrated

Circuit

NXP

CMOS

Open drain

SMBUS

System Management

Bus

Intel

CMOS

Open drain

SDIO

Secure Digital Input

Output

SD Card Assoc,

Memory Card

CMOS

Push-Pull

Mobile DDR

Low Power DDR

 

CMOS

Push-Pull

HSTL

High-Speed

Transceiver Logic

Hitachi SRAM; IBM;

three of four classes

supported

Vref based

Push-Pull

HSTL18

High-Speed

Transceiver Logic

Hitachi SRAM; IBM;

three of four classes

supported

Vref based

Push-Pull

SSTL3

Stub Series

Terminated Logic for

3.3V

SDRAM bus; Hitachi

and IBM; two classes

Vref based

Push-Pull

SSTL2

SSTL for 2.5V

DDR SDRAM

Vref based

Push-Pull

SSTL18

SSTL for 1.8V

DDR SDRAM

Vref based

Push-Pull

SSTL15

SSTL for 1.5V

DDR SDRAM

Vref based

Push-Pull

差分IO电平标准

LVDS25

LVDS33

Low Voltage

Differential Signaling

High-speed

interface, backplane,

video; National, TI

Differential

Pair

Differential

Pair

BLVDS

Bus LVDS

Bidirectional,

multipoint LVDS

Differential

Pair

Pseudo

Differential

Pair

DISPLAY PORT

Auxiliary channel

interface for DISPLAY

PORT

Flat panel displays

Differential

Pair

Pseudo

Differential

Pair

LVPECL

Low Voltage Positive

ECL

High-speed clocks

Differential

Pair

N/A

MINI_LVDS

mini-LVDS

Flat panel displays

Differential

Pair

Differential

Pair

RSDS

Reduced Swing

Differential Signaling

Flat panel displays

Differential

Pair

Differential

Pair

TMDS

Transition Minimized

Differential Signaling

Silicon Image;

DVI/HDMI

Differential

Pair

Differential

Pair

PPDS

Point-to-Point

Differential Signaling

LCDs

Differential

Pair

Differential

Pair

Differential

Mobile DDR

Differential LPDDR

for CK/CK#

 

Differential

Pair

Pseudo

Differential

Pair

DIFF_HSTL_I

DIFF_HSTL_III

DIFF_HSTL_IV

DIFF_HSTL_I_18

DIFF_HSTL_III_18

DIFF_HSTL_IV_18

Pseudo Differential

HSTL

SRAM

Differential

Pair

Pseudo

Differential

Pair

DIFF_SSTL3_I

DIFF_SSTL3_II

DIFF_SSTL2_I

DIFF_SSTL2_II

DIFF_SSTL18_I

DIFF_SSTL18_II

DIFF_SSTL15_II

Pseudo Differential

SSTL

DDR, DDR2,

DDR3 SDRAM

Differential

Pair

Pseudo

Differential

Pair

 

 

1.1.4.   FPGA配置后未使用引脚状态

  在默认情况下,在FPGA配置完成后,所有未使用的引脚将被配置成输入,并在IOB内部经下拉电阻接地,这种未使用引脚在配置后的状态可以通过UnusedPin BitGen option进行设定。

1.2.  SelectIO 的逻辑资源

SelectIO的逻辑资源包括基本资源和高级资源,其中,基本资源包括:

  • Combinatorial input/output,组合输入/输出
  • 3-state output control,三态输出控制
  • Registered input/output,寄存器输入输出
  • Registered 3-state output control,寄存器三态输出控制
  • Double Data Rate (DDR) input/output,双倍数据率输入输出
  • DDR output 3-state control,双倍数据率三态输出控制

高级资源包括:

  • IODELAY2,为用户提供精准的延时控制
  • NONE, C0, and C1 output DDR mode,输出双倍数据输出
  • NONE, C0, and C1 input DDR mode,输入双倍数据输入
  • ISERDES,输入串并转换
  • OSERDES,输出并串转换

 

  selectIOn逻辑资源被组合在一个IO Tile内部,如下图所示,在单端模式中,master I/O buffer驱动P Pad,slave I/O buffer驱动N Pad;在差分模式中,master I/O buffer和slave I/O buffer组合起来使用,可以完成串并或者并串转换。

 

图 7一个I/OTile里的selectIO逻辑资源

 

1.3.  Selection资源中可用的时钟资源

  所有IO的数据采集和转换(包括串并转换和并串转换)、DDR传输等都需要一个内部SDR时钟,为了实现这些功能,I/O接口Tile需要一个本地的时钟倍频器来获取SDR时钟。

进行DDR传输的倍频器需要两个输入时钟,这两个输入时钟必须是下面三种情况之一:  

  • 一个全局时钟和它的局部(IO接口资源里)取反时钟
  • 两个相位相差180°的全局时钟
  • 两个相位相差180°的I/O时钟

 

图 8IO接口逻辑的时钟资源