首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
FPGA/CPLD可编程逻辑
» 《Xilinx可编程逻辑器件设计与开发(基础篇)》连载15:Spartan-6的SelectIO资源
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
《Xilinx可编程逻辑器件设计与开发(基础篇)》连载15:Spartan-6的SelectIO资源
发短消息
加为好友
pengpengpang
(pengpengpang)
当前离线
UID
1023229
帖子
6106
精华
0
积分
3055
阅读权限
90
来自
中国
在线时间
156 小时
注册时间
2013-12-20
最后登录
2016-7-3
论坛元老
UID
1023229
来自
中国
1
#
打印
字体大小:
t
T
pengpengpang
发表于 2014-10-28 11:41
|
只看该作者
《Xilinx可编程逻辑器件设计与开发(基础篇)》连载15:Spartan-6的SelectIO资源
开发
,
连载
,
资源
2.1.6 SelectIO资源
Spartan-6有丰富的I/O资源,包括SelectIO和RocketIO。
Spartan-6每个I/O片(Tile)包含两个IOB、两个ILOGIC2、两个OLOGIC2和两个IODELAY2,见图2-37。
在这一小节里,分以下几个方面介绍Spartan-6的SelectIO资源。
SelectIO的电气特性。SelectIO的逻辑资源(ILOGIC2、OLOGIC2)。SelectIO的高级逻辑资源(ISERDES、OSERDES、Bitslip)。
图2-37 I/O片结构图
一、 SelectIO IOB的电气特性
所有的Spartan-6 FPGA有高性能的可配置SelectIO驱动器与接收器,支持非常广泛的接口标准。可以通过编程控制I/O的输出强度、斜率以及片上终端OCT。
每个IOB包含输入、输出和三态SelectIO驱动器。这些驱动器可以按照各种I/O标准配置。
单端I/O标准(LVCMOS、LVTTL、HSTL、SSTL、PCI)。差分I/O标准(LVDS、RSDS、TMDS、差分HSTL和SSTL)。注意:差分输入和VREF相关输入是由VCCAUX供电。
Xilinx软件库提供了很多Spartan-6 I/O的原语,包括用于单端信号的IBUF(输入缓冲器)、IBUFG(时钟输入缓冲器)、OBUF(输出缓冲器)、OBUFT(三态输出缓冲器)和IOBUF(输入/输出缓冲器);以及用于差分信号的IBUFDS(输入缓冲器)、IBUFGDS(时钟输入缓冲器)、OBUFDS(输出缓冲器)、OBUFTDS(三态输出缓冲器)和IOBUFDS(输入/输出缓冲器)。
二、 SelectIO的逻辑资源
SelectIO的逻辑资源是指I/O驱动器与接收器之后的逻辑,包含了Spartan-6 FPGA的所有基本I/O逻辑资源,如图2-38所示。其中包括的资源如下。
组合输入/输出。三态输出控制。寄存器输入/输出。寄存器三态输出控制。双倍数据速率(DDR)输入/输出。DDR输出三态控制。IODELAY2提供对高分辨率可调延迟单元的控制。支持NONE、C0和C1三种对齐模式的DDR输出。支持NONE、C0和C1三种对齐模式的DDR输入。ISERDES。OSERDES。
图2-38 I/O片内的SelectIO逻辑资源
一个I/O片(IOI)管理两个IOB。IOI包含两个单端输入/输出,或者一个差分输入/输出的完整电路和一个内部互联模块。两个IOB组合在一起是为支持高速的差分接口。
在单端模式下,主IOB驱动引脚P,从IOB驱动引脚N。在差分模式下,主从IOB组合在一起可以实现串并转换,其数据速率是单端模式下的1~2倍。每个I/O支持3种配置模式:锁存型I/O、非锁型I/O和寄存器型I/O。I/O还可以配置为2:1/3:1/4:1的SERDES。锁存/寄存器时钟来自GCLK驱动的全局时钟网络或者高速I/O时钟网络。
IODELAY2是一种可选资源,设计者可以根据需要在输入/输出路径上加入此延时模块,IODELAY2的延时是可编程的,可以通过DRP指定或者通过例化IODELAY2原语指定。此延时可以是固定延时,也可以是可变延时。
三、 ILOGIC2资源
图2-39所示为ILOGIC2逻辑框图,它可支持以下功能。
边沿触发D型触发器。IDDR(NONE、C0或C1)模式。锁存器。异步/组合逻辑。
图2-39 ILOGIC2逻辑框图
(1) 异步/组合逻辑。
当有下列情况之一时,软件会自动生成组合通路,使输入驱动器与FPGA内部逻辑资源直接连接。
FPGA的输入数据与内部逻辑直接相连,而没有用寄存器。“打包I/O寄存器/锁存器到IOB中”的属性设置为OFF。(2) IDDR模式。
Spartan-6器件的ILOGIC2中有专用寄存器来实现输入双倍数据速率(DDR)寄存器。可以通过例化IDDR2的原语来使用此功能。
IDDR2的属性DDR_ALIGNMENT有3种模式:NONE、C0和C1。
在NONE模式下,输入DDR时序如图2-40所示。寄存器在C0上升沿将输入数据D寄存到Q0,C1上升沿将下一输入数据D寄存到Q1。
图2-40 DDR_ALIGNMENT=NONE时输入DDR时序示意图
在某些情况下,输入数据必须同步到一个时钟域里,通常C0同步。但是在频率比较高的情况下,这种同步相对比较困难,因为有效时间仅为时钟周期的一半(50%占空比的情况下)。Spartan-6器件中的IDDR2包含了专用的逻辑,可以在ILOGIC2内部进行时钟域的同步。
当DDR_ALIGNMENT为C0(或C1),信号Q0(Q1)在C1(C0)再次寄存,通过内部互联将输入数据同步到同一时钟域。时序图如图2-41所示。
图2-41 DDR_ALIGNMENT=C0\C1 的输入DDR
IDDR 的原语如图2-42 所示。
图2-42 IDDR2 的原语
四、 OLOGIC2 资源
如图2-43所示,OLOGIC2主要由两部分组成,分别是输出数据路径和三态控制路径。
这两个部分可以配置成以下模式。
边沿触发D 型触发器。DDR 模式(NONE、C0 或C1 同步方式)。电平敏感锁存器。异步/组合逻辑。
图2-43 OLOGIC2 逻辑模块
(1) 组合数据输出和三态控制路径。
当有下列情况之一时,软件会自动生成组合通路,将FPGA 内部数据直接输出到输出驱动器或驱动器的控制端。
FPGA 内部逻辑数据直接输出到输出驱动器或驱动器的三态控制端,而没有经过寄存器。“打包I/O 寄存器/锁存器到IOB 中”的属性设置为OFF。(2) ODDR模式。
Spartan-6器件的OLOGIC2中具有专用寄存器,用来实现DDR输出寄存器。例化ODDR2原语可以使用此功能。当使用OLOGIC2时,会自动使用多路复用器,多路复用器的控制端产生于时钟信号,不需要手动控制。ODDR2 有两个时钟输入,相位差180°。
ODDR2 支持以下操作模式。
NONE 模式:允许设计人员在C0 和C1 时钟的上升沿将两个数据通过DDR多路复用器送至输出引脚,如图2-44所示。
图2-44 DDR_ALIGNMENT=NONE 下的ODDR2
C0模式:在时钟C0上升沿时,将两个数据通过DDR多路复用器送至输出引脚。C1模式:在时钟C1上升沿时,将两个数据通过DDR多路复用器送至输出引脚。ODDR原语如图2-45所示。
图2-45 ODDR原语
五、 可编程延迟单元IODELAY2
每个IOB包含一个延时单元,可以配置成输入延时或者输出延时,当引脚用作双向口时,还可以通过T端来控制输入/输出延时的切换。Spartan-6中IODELAY2的延时不会自动补偿温度或电压带来的延时差异,但是用户可以通过精确计算,来设置IODELAY2的具体延时值。
图2-46所示为延时单元的结构图。8位延时值对应0~255个延时Tap,该延时值最低三位控制RING晶振的起始点。该晶振由输入信号触发,经过0~7个Tap的延时之后,其输出作为时钟,用来钟控5位计数器。5位计数器中装载了延时值的高5位,它会一直在0~31循环,直到它的输出翻转到最初输入到该模块时的输入值Data Input。延时精度范围为1~255TAP。
图2-46 延时单元的结构图
此延时单元有两个局限,第一,延时最大值为1个位周期,超过此限制,接收数据会出错;第二,在下一个边沿到来之前,必须完成对第一个边沿的处理,这种情况会发生在接收高速数据流时。
如何避免上述两个局限呢?
对于第一个限制,通过确保延时值小于一个输入数据的位周期(1UI)就可以避免,通常设置为0.5UI,使数据采样点位于眼图的中心。
对于第二个限制,可以通过图2-47所示的两个延时链解决。一个延迟链延时输入数据的正值部分,另一个延时链延时输入数据的负值部分,这个处理机制的价值在于:通过设置两个延迟链的不同延时值,校正了输入数据的占空比。读者可以在设计中调用IODRP2原语使用此功能。
图2-47 每个延时模块使用两个延时链
六、 SelectIO的高级特性
除了上述SelectIO资源之外,Spartan-6还提供了更高级的逻辑特性,介绍如下。
(1) 串并转换器ISERDES2。
图2-48和图2-49分别为ISERDES2接收串行数据时的逻辑框图和时序图,利用ISERDES2将串行数据接收为4位并行数据。从时序图中可以看到,Bitslip为4位数据的同步使能控制信号。
图2-48 ISERDES2逻辑框图
图2-49 ISERDES2时序图(1:4)
ISERDES2可以实现1:2、1:3或1:4串并转换器功能,而且通过级联的方式还可以实现1:5、1:6、1:7、1:8串并转换器功能。
(2) 并串转换器OSERDES2。
图2-50与图2-51分别为OSERDES2的逻辑框图和时序图,利用OSERDES2将4位并行数据转换为串行数据输出。
一个OSERDES2可以实现2:1、3:1、4:1并口转换功能。当用差分输出时,相关的2个IOB中的OSERDES2可以级联,从而可以实现5:1、6:1、7:1和8:1并串转换功能。
设计者可以在HDL设计中,例化ISERDES2/OSERDES2原语来实现输入数据解串和输出数据串行化操作。
利用这些资源,可以很方便地实现高速串行数据的收发,例如用它实现LVDS接口。
更多资料请参考附带光盘中的《Spartan-6 IO资源用户手册》。
图2-50 OSERDES2逻辑框图
图2-51 OSERDES2时序图(4:1)
收藏
分享
评分
记录学习中的点点滴滴,让每一天过的更加有意义!
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议