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. win7如何更改语言教程

    一.首先从桌面左下角的开始菜单中找到“控制面板”,然后打开,如下图所示: 打开电脑控制面板 二.进入控制面板之后,我们再进入“时钟.语言和区域”设置,如下图所示: 电脑语言改成英文方法 三.进入电脑语 ...

  2. 11种常见sqlmap使用方法

    sqlmap是渗透中常用的一个注入工具,其实在注入工具方面,一个sqlmap就足够用了,只要你用的熟,秒杀各种工具,只是一个便捷性问题. 一.SQLMAP用于Access数据库注入 (1) 猜解是否能 ...

  3. Hibernate学习笔记(六) — Hibernate的二级缓存

    我们知道hibernate的一级缓存是将数据缓存到了session中从而降低与数据库的交互.那么二级缓存呢? 一.应用场合 比方.在12306购票时.须要选择出发地与目的地,假设每点一次都与数据库交互 ...

  4. java 翻页工具类

    Pagination类 package com.paic.bics.core.mybatis.page; import java.util.List; @SuppressWarnings(" ...

  5. JavaScript基础 -- BOM

    JavaScript三大核心: 1)核心(ECMAScript):描述了JS的语法和基本对象 2)文档对象模型(DOM):处理网页内容的方法和接口 3)浏览器对象模型(BOM):与浏览器交互的方法和接 ...

  6. 使用 dva + antd 快速开发react应用

    使用 dva + antd 快速开发react应用 版本说明: 注意:dva的版本是0.9.2 $ node -v v10.2.1 $ npm -v $ dva -v dva-cli version ...

  7. Node.js+Express搭建博客系统基本环境安装

    1.下载安装node.js 官网下载地址:https://nodejs.org/en/download/ 2.安装express. 打开node命令行工具,在命令行中输入:npm install -g ...

  8. iOS方法重写

    在O-C中子类可以继承父类的方法 ,而不需要从新编写相同的方法,但是有有时候子类并不想原封不动的继承父类的方法,而且是想做一些修改,这就采用啦方法的重写,方法从写有叫做方法覆盖,若子类的中的方法与父类 ...

  9. 【BZOJ 3732】 Network

    [题目链接] 点击打开链接 [算法] 求出这个图的最小生成树,对于每次询问,用倍增法求出最近公共祖先,查询最小生成树上两点路径上的最大值 算法的正确性?            假设x和y在最小生成树中 ...

  10. angularJs模版注入的两种方式

    一,声名式注入 1:app.js: var myApp = angular.module("myApp",["ngRoute"]); 2:controller. ...