Spartan6系列之SelectIO深入详解及高级应用简介
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深入详解及高级应用简介的更多相关文章
- 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的无状态模 ...
- Hexo系列(三) 常用命令详解
Hexo 框架可以帮助我们快速创建一个属于自己的博客网站,熟悉 Hexo 框架提供的命令有利于我们管理博客 1.hexo init hexo init 命令用于初始化本地文件夹为网站的根目录 $ he ...
- RabbitMQ详解(一)------简介与安装(Docker)
RABBITMQ详解(一)------简介与安装(DOCKER) 刚刚进入实习,在学习过程中没有接触过MQ,RabbitMQ 这个消息中间件,正好公司最近的项目中有用到,学习了解一下. 首先什么是MQ ...
- 官网实例详解-目录和实例简介-keras学习笔记四
官网实例详解-目录和实例简介-keras学习笔记四 2018-06-11 10:36:18 wyx100 阅读数 4193更多 分类专栏: 人工智能 python 深度学习 keras 版权声明: ...
- yum的repo文件详解、以及epel简介、yum源的更换、常用yum命令
https://www.cnblogs.com/nineep/p/6795692.html yum的repo文件详解.以及epel简介.yum源的更换 常用命令如下: yum list ...
- Signalr系列之虚拟目录详解与应用中的CDN加速实战
目录 对SignalR不了解的人可以直接移步下面的目录 SignalR系列目录 前言 前段时间一直有人问我 在用SignalR 2.0开发客服系统[系列1:实现群发通讯]这篇文章中的"/Si ...
- 转载爱哥自定义View系列--文字详解
FontMetrics FontMetrics意为字体测量,这么一说大家是不是瞬间感受到了这玩意的重要性?那这东西有什么用呢?我们通过源码追踪进去可以看到FontMetrics其实是Paint的一个内 ...
- 转载爱哥自定义View系列--Paint详解
上图是paint中的各种set方法 这些属性大多我们都可以见名知意,很好理解,即便如此,哥还是带大家过一遍逐个剖析其用法,其中会不定穿插各种绘图类比如Canvas.Xfermode.ColorFilt ...
- kubernetes系列07—Pod控制器详解
本文收录在容器技术学习系列文章总目录 1.Pod控制器 1.1 介绍 Pod控制器是用于实现管理pod的中间层,确保pod资源符合预期的状态,pod的资源出现故障时,会尝试 进行重启,当根据重启策略无 ...
随机推荐
- win7如何更改语言教程
一.首先从桌面左下角的开始菜单中找到“控制面板”,然后打开,如下图所示: 打开电脑控制面板 二.进入控制面板之后,我们再进入“时钟.语言和区域”设置,如下图所示: 电脑语言改成英文方法 三.进入电脑语 ...
- 11种常见sqlmap使用方法
sqlmap是渗透中常用的一个注入工具,其实在注入工具方面,一个sqlmap就足够用了,只要你用的熟,秒杀各种工具,只是一个便捷性问题. 一.SQLMAP用于Access数据库注入 (1) 猜解是否能 ...
- Hibernate学习笔记(六) — Hibernate的二级缓存
我们知道hibernate的一级缓存是将数据缓存到了session中从而降低与数据库的交互.那么二级缓存呢? 一.应用场合 比方.在12306购票时.须要选择出发地与目的地,假设每点一次都与数据库交互 ...
- java 翻页工具类
Pagination类 package com.paic.bics.core.mybatis.page; import java.util.List; @SuppressWarnings(" ...
- JavaScript基础 -- BOM
JavaScript三大核心: 1)核心(ECMAScript):描述了JS的语法和基本对象 2)文档对象模型(DOM):处理网页内容的方法和接口 3)浏览器对象模型(BOM):与浏览器交互的方法和接 ...
- 使用 dva + antd 快速开发react应用
使用 dva + antd 快速开发react应用 版本说明: 注意:dva的版本是0.9.2 $ node -v v10.2.1 $ npm -v $ dva -v dva-cli version ...
- Node.js+Express搭建博客系统基本环境安装
1.下载安装node.js 官网下载地址:https://nodejs.org/en/download/ 2.安装express. 打开node命令行工具,在命令行中输入:npm install -g ...
- iOS方法重写
在O-C中子类可以继承父类的方法 ,而不需要从新编写相同的方法,但是有有时候子类并不想原封不动的继承父类的方法,而且是想做一些修改,这就采用啦方法的重写,方法从写有叫做方法覆盖,若子类的中的方法与父类 ...
- 【BZOJ 3732】 Network
[题目链接] 点击打开链接 [算法] 求出这个图的最小生成树,对于每次询问,用倍增法求出最近公共祖先,查询最小生成树上两点路径上的最大值 算法的正确性? 假设x和y在最小生成树中 ...
- angularJs模版注入的两种方式
一,声名式注入 1:app.js: var myApp = angular.module("myApp",["ngRoute"]); 2:controller. ...