Spartan6系列之GTP Transceiver的介绍与使用
1. 什么是GTP transceiver?
GTP transceiver是FPGA里一种线速度达500Mb/sà6.6Gb/s的收发器,利用FPGA内部可编程资源可对其进行灵活地配置,使其适合不同的需要如以太网、SATA1.0接口等,它的作用是各种高速串行接口的物理层。对Spartan6系列而言,GTPA1_DUAL包含两个GTP transceiver,或者说包含两个通道。
下图是GTPA1_DUAL的内部结构图,图的下半部分是receiver,receiver在对串行输入的比特流并行化后,对其进行Sync原语丢失检测、COMMA字符的检测、8B/10B解码等;图的上半部分是transmitter,transmitter的串行输出则有着与receiver接收相反的过程。

图 1Spartan-6 FPGA GTP Transceiver 框图
下图是GTPA1_DUAL在FPGA里的位置图,实际上,FPGA的高速接口一般都存在于FPGA的TOP部分,GTPA1_DUAL是高速接口,它的摆放位置就在FPGA的顶部。

图 2GTP Transceiver在Spartan6LX45T FPGA内的位置图
图3所示:一个GTP DUAL包含两个GTP
Transceiver GTP0和GTP1和两个PLL;在生成GTP Core的时候,其PLL的输入参考时钟是可选的。

图
3Two GTP Transceivers in One GTPA1_DUAL Tile
如图 4所示,GTPA1_DUAL内部的PLL0和PLL1可以分别连接不同的时钟源,也可以连接同一个时钟源如图 5所示。两个PLL可以产生两个不同的时钟供GTPA1_DUAL使用,也就是说,GTPA1_DUAL的两个Transceiver是可以运行于不同的频率的。它们的协议可以不一样,如GTPA1_DUAL的一个Transceiver运行PCIE协议,另一个运行SATA协议。

图 4GTP Transceiver参考时钟原理图1

图 5GTP Transceiver参考时钟原理图2
1.1.
GTP Transceiver使用中必须明白的几个概念
Spartan6系列的GTP Transceiver是被放在专门的Bank里,也就是说,在Spartan6系列里,如果一个Bank里有GTP引脚,那么这个Bank将不包含Select IO等引脚。
1个发送器、1个接收器、1个PLL组成1个GTP Lane;
两个GTP Lane组成一个GTP_DUAL;
两个GTP_DUAL组成1个Bank;
1.2.
GTP Transceiver的复位
GTP Transceiver的复位有两个办法:1是FPGA烧写完后的上电复位;2是直接驱动GTPRESET,使其为高电平一段时间。下图是GTP Transceiver内部复位的顺序图。

图
6 GTPA1_DUAL Reset Hierarchy
GTPRESET有效,使得RESETDONE立刻无效(变低),在GTP
Transceiver复位完成后,RESETDONE有效(变高)。

图
7Reset 时序图
1.3.
GTP Transceiver的专用引脚功能描述
GTP Transceiver从本质上来说是一种模拟电路,为了能够更好的对它进行PCB等的设计,必须深刻理解其引脚的功能。
表格
1GTP引脚描述表
|
Pins |
Dir |
Description |
|
MGTAVCC |
In |
1.2V,是GTP Transceiver的内部模拟和数字电路的供电电压 |
|
MGTAVCCPLL0 |
In |
1.2V,不但为PLL0供电,也为GTPA1_DUAL的Lane0供电,所以只要用到了Lane0,就需要给这个电压引脚供电 |
|
MGTAVCCPLL1 |
In |
1.2V,不但为PLL1供电,也为GTPA1_DUAL的Lane1供电,所以只要用到了Lane1,就需要给这个电压引脚供电 |
|
MGTAVTTRCAL |
In |
为终端电阻校准电路供电,属于基本供电单元,该引脚不但要与MGTAVTTTX相连,还要连接一个50Ω精密电阻后与MGTRREF相连。 |
|
MGTAVTTRX |
In |
1.2V,接收器的终端电路供电 |
|
MGTAVTTTX |
In |
1.2V,发送终端的供电电压引脚 |
|
MGTREFCLK0P MGTREFCLK0N |
In |
GTPA1_DUAL的差分输入时钟,如果没有,则需要接地 |
|
MGTREFCLK1P MGTREFCLK1N |
In |
GTPA1_DUAL的差分输入时钟,如果没有,则需要接地 |
|
MGTRREF |
In |
连接一个50Ω的电阻后与MGTAVTTRCAL相连 |
|
MGTRXP0/MGTRXN0 MGTRXP1/MGTRXN1 |
In |
差分数据输入引脚,如果不使用,则应接地 |
|
MGTTXP0/MGTTXN0 MGTTXP1/MGTTXN1 |
Out |
差分数据输出引脚,如果不使用,则应悬空 |
下图描述了GTP Transceiver的电源的推荐连接方式,选择该连接的原因(原理)参考表1。

图
8一种参考的电源连接方式
Spartan6系列之GTP Transceiver的介绍与使用的更多相关文章
- Spartan6系列之器件详细介绍、选型参考
1. 概述 Spartan6系列是一类低成本高容量的FPGA,采用45nm低功耗敷铜技术,能在功耗.性能.成本之间很好地平衡:Spartan6系列内部采用双寄存器.6输入的LUT,还有一系列 ...
- Spartan6系列之器件引脚功能详述
1. Spartan-6系列封装概述 Spartan-6系列具有低成本.省空间的封装形式,能使用户引脚密度最大化.所有Spartan-6 LX器件之间的引脚分配是兼容的,所有Spartan-6 L ...
- Spartan6系列之SelectIO深入详解及高级应用简介
1. 什么是I/O Tile? 对Spartan-6系列FPGA来说,一个IO Tile包括2个IOB.2个ILOGIC.2个OLOGIC.2个IODELAY. 图 1Spartan-6系列 ...
- Spartan6系列之Spartan6系列之芯片时钟资源深入详解
1. 时钟资源概述 时钟设施提供了一系列的低电容.低抖动的互联线,这些互联线非常适合于传输高频信号.最大量减小时钟抖动.这些连线资源可以和DCM.PLL等实现连接. 每一种Spartan-6芯片提 ...
- Spartan6系列之芯片配置模式详解
1. 配置概述 Spartan6系列FPGA通过把应用程序数据导入芯片内部存储器完成芯片的配置.Spart-6 FPGA可以自己从外部非易失性存储器导入编程数据,或者通过外界的微处理器.DSP等对 ...
- Java 集合系列05之 LinkedList详细介绍(源码解析)和使用示例
概要 前面,我们已经学习了ArrayList,并了解了fail-fast机制.这一章我们接着学习List的实现类——LinkedList.和学习ArrayList一样,接下来呢,我们先对Linked ...
- Java 集合系列07之 Stack详细介绍(源码解析)和使用示例
概要 学完Vector了之后,接下来我们开始学习Stack.Stack很简单,它继承于Vector.学习方式还是和之前一样,先对Stack有个整体认识,然后再学习它的源码:最后再通过实例来学会使用它. ...
- Java 集合系列10之 HashMap详细介绍(源码解析)和使用示例
概要 这一章,我们对HashMap进行学习.我们先对HashMap有个整体认识,然后再学习它的源码,最后再通过实例来学会使用HashMap.内容包括:第1部分 HashMap介绍第2部分 HashMa ...
- Java 集合系列11之 Hashtable详细介绍(源码解析)和使用示例
概要 前一章,我们学习了HashMap.这一章,我们对Hashtable进行学习.我们先对Hashtable有个整体认识,然后再学习它的源码,最后再通过实例来学会使用Hashtable.第1部分 Ha ...
随机推荐
- python实现同服站点地址获取
说明:程序使用http://s.tool.chinaz.com/same此站点查询的结果.使用python简单的实现抓取结果 先随便查询一个结果,抓包分析,如图: 使用python模仿post表单,使 ...
- jQuery整理笔记七----几个经典表单应用
1.文本框获得(失去)焦点 当文本框获得输入焦点时,将该文本框高亮显示,算不得一个应用,仅仅是一个小技巧,能够提高用户体验. <!DOCTYPE html PUBLIC "-//W3C ...
- frameset怎样实现整个页面的跳转
登录页面login.jsp,系统登录成功后展示mainLayout.jsp, 我如今用frameset框架把页面mainLayout.jsp分为三部分,head.jsp..left.jsp.right ...
- TFLearn 在给定模型精度时候提前终止训练
拿来主义:看我的代码,我是在模型acc和验证数据集val_acc都达到99.8%时候才终止训练. import numpy as np import tflearn from tflearn.laye ...
- [Codeforces Round 486A] Fair
[题目链接] https://codeforces.com/contest/986/problem/A [算法] 用dist(i,j)表示第i种食物运到第j个城市需要的最小代价 将所有特产为第i中食物 ...
- pyhon-----安装yaml踩过的坑以及正解
之前在网上找了各种资料,cmd安装yaml,网上大部分写的都是pip install yaml 可是,执行完就变成Could not find a version that satisfies the ...
- 论如何O(1)快速乘
然而并没有什么好论的... 直接贴代码算了... ll Mul(ll x,ll y,ll Mod){ x=(x%Mod+Mod)%Mod;y=(y%Mod+Mod)%Mod; return (x*y- ...
- 51Nod 1450 闯关游戏 —— 期望DP
题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1450 期望DP: INF 表示这种情况不行,转移时把不行的概率也转 ...
- VS2015 framework4.5代码提示英文切换为中文
输入下面的地址,复制里面所有的文件 C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0 ...
- UVaLive 6680 Join the Conversation (DP)
题意:给出n条发言,让你求最大的交流长度并输出标记顺序. 析:这个题要知道的是,前面的人是不能at后面的人,只能由后面的人at前面的,那就简单了,我们只要更新每一层的最大值就好,并不会影响到其他层. ...