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接口逻辑的时钟资源

Spartan6系列之SelectIO深入详解及高级应用简介的更多相关文章

  1. ASP.NET MVC深入浅出系列(持续更新) ORM系列之Entity FrameWork详解(持续更新) 第十六节:语法总结(3)(C#6.0和C#7.0新语法) 第三节:深度剖析各类数据结构(Array、List、Queue、Stack)及线程安全问题和yeild关键字 各种通讯连接方式 设计模式篇 第十二节: 总结Quartz.Net几种部署模式(IIS、Exe、服务部署【借

    ASP.NET MVC深入浅出系列(持续更新)   一. ASP.NET体系 从事.Net开发以来,最先接触的Web开发框架是Asp.Net WebForm,该框架高度封装,为了隐藏Http的无状态模 ...

  2. Hexo系列(三) 常用命令详解

    Hexo 框架可以帮助我们快速创建一个属于自己的博客网站,熟悉 Hexo 框架提供的命令有利于我们管理博客 1.hexo init hexo init 命令用于初始化本地文件夹为网站的根目录 $ he ...

  3. RabbitMQ详解(一)------简介与安装(Docker)

    RABBITMQ详解(一)------简介与安装(DOCKER) 刚刚进入实习,在学习过程中没有接触过MQ,RabbitMQ 这个消息中间件,正好公司最近的项目中有用到,学习了解一下. 首先什么是MQ ...

  4. 官网实例详解-目录和实例简介-keras学习笔记四

    官网实例详解-目录和实例简介-keras学习笔记四 2018-06-11 10:36:18 wyx100 阅读数 4193更多 分类专栏: 人工智能 python 深度学习 keras   版权声明: ...

  5. yum的repo文件详解、以及epel简介、yum源的更换、常用yum命令

    https://www.cnblogs.com/nineep/p/6795692.html       yum的repo文件详解.以及epel简介.yum源的更换 常用命令如下: yum list  ...

  6. Signalr系列之虚拟目录详解与应用中的CDN加速实战

    目录 对SignalR不了解的人可以直接移步下面的目录 SignalR系列目录 前言 前段时间一直有人问我 在用SignalR 2.0开发客服系统[系列1:实现群发通讯]这篇文章中的"/Si ...

  7. 转载爱哥自定义View系列--文字详解

    FontMetrics FontMetrics意为字体测量,这么一说大家是不是瞬间感受到了这玩意的重要性?那这东西有什么用呢?我们通过源码追踪进去可以看到FontMetrics其实是Paint的一个内 ...

  8. 转载爱哥自定义View系列--Paint详解

    上图是paint中的各种set方法 这些属性大多我们都可以见名知意,很好理解,即便如此,哥还是带大家过一遍逐个剖析其用法,其中会不定穿插各种绘图类比如Canvas.Xfermode.ColorFilt ...

  9. kubernetes系列07—Pod控制器详解

    本文收录在容器技术学习系列文章总目录 1.Pod控制器 1.1 介绍 Pod控制器是用于实现管理pod的中间层,确保pod资源符合预期的状态,pod的资源出现故障时,会尝试 进行重启,当根据重启策略无 ...

随机推荐

  1. golang 跨平台编译——go 在windows上编译Linux平台的程序(Cross Compilation from Windows to Linux/Ubuntu)

    Go Cross Compilation from Windows to Linux/Ubuntu I have GO 1.7 installed on my Windows 10. I create ...

  2. SATA、SCSI、SAS

    目前,服务器市场上采用的硬盘主要有三种,SATA硬盘.SCSI硬盘以及SAS硬盘,其中SATA硬盘主要应用在低端服务器领域,而SCSI和SAS硬盘则面向中高端服务器.下面我们就SATA.SCSI以及S ...

  3. MySQL-数据表锁定

    MySQL允许客户端会话明确获取表锁,以防止其他会话在特定时间段内访问表.客户端会话只能为自己获取或释放表锁.它不能获取或释放其他会话的表锁. 创建一个数据表: CREATE DATABASE IF ...

  4. Restful WebService简介

    RESTful Web Services已经渐渐開始流行, 主要是用于解决异构系统之间的通信问题.非常多站点和应用提供的API,都是基于RESTful风格的Web Services,比較就有Googl ...

  5. c++运算符重载以及一些基本概念

    c++primer第四版435 1.赋值( = ), 下标( [ ] ) ,调用 (  ( )  ), 成员訪问箭头 (->)等操作符必须定义为成员,定义为非成员时,编译器报错 2. 像赋值一样 ...

  6. 后台发送http请求通用方法,包括get和post

    package com.examsafety.service.sh; import java.io.BufferedReader; import java.io.IOException; import ...

  7. SQL Server: Difference between PARTITION BY and GROUP BY

    https://stackoverflow.com/questions/2404565/sql-server-difference-between-partition-by-and-group-by ...

  8. Weex 和 React Native 的比较看这里

    写在前面 目前主流的应用大体分成三类:Native App, Web App, Hybrid App. Native App 特点: 性能好 完美的用户体验 开发成本高,无法跨平台 升级困难 (审核) ...

  9. shell脚本执行错误:#!/bin/bash: No such file or directory

    执行.sh脚本时控制台报错 : #!/bin/bash: No such file or directory 解决办法: cat -A 文件路径 会发现第一行有问题 M-oM-;M-?#!/bin/b ...

  10. softmax function in c++

    #include <iostream> #include <vector> #include <cmath> #include <algorithm> ...