学习笔记——SPARTAN 6 系列IO资源学习笔记

这篇具有很好参考价值的文章主要介绍了学习笔记——SPARTAN 6 系列IO资源学习笔记。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

学习笔记——SPARTAN 6 系列IO资源学习笔记

参考:《Spartan-6 FPGA SelectIO Resources》User Guide

1.IO资源介绍

所有Spartan-6 fpga都具有可配置的高性能SelectIO驱动器和接收器,支持各种标准接口。每个IOB都包含输入、输出和3态SelectIO驱动程序。这些驱动程序可以配置为各种I/O标准。
•单端I/O标准(LVCMOS, LVTTL, HSTL, SSTL, PCI)
•差分I/O标准(LVDS, RSDS, TMDS,差分HSTL和SSTL)
•差分和VREF输入由VCCAUX提供电源

电路设计为差分输入时,可以选择使用片上或者外部的终端电阻。当Vccaux = 3.3V时,片上差分终止指定为标称值100Ω,当VCCAUX = 2.5V时,可以使用片上差分端接,但需要指定更宽的电阻范围。具体数值请参见《Spartan-6 FPGA Data Sheet》。下图显示了为Spartan-6 fpga中实现的差分接收器使用可选差分终止或外部终止电阻的示例:
spartan-6,学习,笔记,fpga开发
Spartan-6 fpga只有Bank0和Bank2可以用作差分输出,所有Bank均可用作差分输入。
使用片上查分终止电阻原语:

NET<I/O_NAME> DIFF_TERM = "<TRUE/FALSE>";

Xilinx软件库包括一个广泛的原语列表,以支持各种I/O标准。下面是代表大多数可用的单端I/O标准的五个通用原语名称:
• IBUF (input buffer,输入缓冲器)
• IBUFG (clock input buffer,时钟输入缓冲器)
• OBUF (output buffer,输出缓冲器)
• OBUFT (3-state output buffer,三态输出缓冲器)
• IOBUF (input/output buffer,输入/输出缓冲器)
spartan-6,学习,笔记,fpga开发
大多数可用的差分I/O标准的五个通用原语名称:
• IBUFDS (input buffer)
• IBUFGDS (clock input buffer)
• IBUFDS_DIFF_OUT (input buffer with inverted output,带反向输出的输入缓冲器)
• IBUFGDS_DIFF_OUT (clock input buffer with inverted output)
• OBUFDS (output buffer)
• OBUFTDS (3-state output buffer)
• IOBUFDS (input/output buffer)
spartan-6,学习,笔记,fpga开发

2.管脚约束

2.1管脚绑定:

NET <I/O_NAME> LOC = "<EXTERNAL_PORT_IDENTIFIER>";				  //example: NET MY_IO LOC = R7;

2.2管脚电平标准约束:

NET <I/O_NAME> IOSTANDARD = ”< OSTANDARD VALUE>”;

IOSTANDARD对于单端I/O的默认值是LVCMOS25,对于差分I/O的默认值是LVDS_25。

2.3输出驱动强度属性

对于LVTTL和LVCMOS输出缓冲区(OBUF、OBUFT和IOBUF),可以使用drive属性指定所需的驱动器强度(mA)。
约束原语:

NET <I/O_NAME> DRIVE = "<DRIVE_VALUE>";			//DRIVE_VALUE = 2,4,6,8,12,16,24

LVCMOS12只支持2、4、6、8和12 mA DRIVE设置,LVCMOS15只支持2、4、6、8、12和16 mA DRIVE设置。

2.4 IBUF, OBUFT,和IOBUF的上拉/下拉/保持

当使用3态输出(OBUFT)或双向(IOBUF)缓冲器时,输出可以有一个弱的上拉电阻,一个弱的下拉电阻,或一个弱的“保持”电路。对于输入(IBUF)缓冲器,输入可以有一个弱的上拉电阻或一个弱的下拉电阻。

NET <I/O_NAME> <PULLUP/PULLDOWN/KEEPER>;

2.5 差分终端电阻

差分终止(DIFF_TERM)属性是为Spartan-6 FPGA支持的差分输入I/O标准设计的。它用于打开或关闭内置的100Ω差分终端。前面提到当VCCAUX = 2.5V时,可以使用片上差分端接。

NET <IO_NAME> DIFF_TERM = "<TRUE/FALSE>";

3. IOBs的供电电压

IOBs可以通过三个主要FPGA供电(VCCINT、VCCO和vccaux)的组合供电,有时也可以通过双用途VREF引脚供电。VCCO电源,每个I/O组一个,为输出驱动器和一些输入驱动器供电。VCCO引脚上的电压决定输出信号的电压摆幅。所有VCCO引脚应连接到电路板上的电源轨道。如果某个bank未使用,连接VCCO引脚到一个可用的VCCAUX或VCCO上。VCCINT是FPGA内部逻辑的主要电源,VCCINT还支持一些可用的输入驱动程序。VCCAUX是用于各种Spartan-6 FPGA功能的辅助电源,包括一些I/O电路。为了满足完整的直流电平并正确供电,一些输入和输出电路需要将VCCAUX限制在正确的VCCAUX电压电平。VCCAUX电压等级可设置为2.5V或3.3V。

CONFIG VCCAUX = “<2.5/3.3>”;

4.I/O标准bank的兼容性

Spartan-6 fpga允许在同一设备中组合多个I/O标准。虽然输出总是由VCCO供电,但在五个可能的VCCO值之一下可以使用多个标准。此外,输入通常不需要匹配施加到VCCO的电压,在单个器件中使用多个VCCO电平可以实现进一步的灵活性。

每组I/O具有独立的VCCO和VREF。这允许每个bank在VCCO和VREF水平上独立于其他bank的设置。VCCO主要为I/O输出缓冲区提供电源,VREF为HSTL和SSTL输入提供参考电压。VCCO引脚是专用的电源引脚,必须始终使用PCB上的电压轨供电。然而,VREF引脚是双重用途引脚,它们可以用作常规I/O引脚或VREF供电引脚。当某个bank使用VREF供电输入时(例如,对于SSTL或HSTL标准),设计必须使用VREF引脚为FPGA的内部VREF轨提供参考电压。如果SSTL或HSTL输入不用于组中,则该组中的VREF引脚可以用作常规I/O引脚。

4.1在分配I/Obank时,VCCO必须遵循以下规则:

  1. 必须连接FPGA上的所有VCCO引脚,即使一组未使用。
  2. 在一个组内关联的所有VCCO线路必须设置为相同的电压水平。
  3. 分配给任何给定bankI/O的所有标准所使用的VCCO水平必须一致,Xilinx开发软件对此进行检查。
  4. 如果bank没有VCCO要求,将VCCO连接到可用的电压上,如2.5V或3.3V。一些配置模式有额外的VCCO要求。

4.2当指定给bank输入的标准使用VREF时,则必须遵循以下附加规则:

  1. 所有VREF引脚必须在一个银行内连接。
  2. 与该bank相关的所有VREF线必须设置为相同的电压水平。
  3. 分配给bank输入的所有标准使用的VREF水平必须一致,Xilinx开发软件对此进行检查。

5.上电和配置时的I/O引脚

VCCINT (1.2V), VCCAUX和VCCO电源可以按任何顺序应用。在FPGA开始配置过程之前, VCCINT、VCCO Bank 2和VCCAUX必须达到数据表中所示的各自的最低推荐工作电平。此时,所有输出驱动器都处于高阻抗状态。VCCO Bank 2、VCCINT和VCCAUX作为内部上电复位(POR)电路的输入。

HSWAPEN引脚控制从上电到完成配置的所有用户I/O引脚上的内部上拉电阻。在配置过程中,应用于HSWAPEN引脚的低电平使能内部上拉电阻。HSWAPEN引脚本身包含一个内部上拉电阻,当悬空时默认为高。因此,为了在完成配置之前使能用户I/O引脚上的内部上拉电阻,必须将HSWAPEN引脚直接连接到GND,或者由板上的其他设备强制拉低。

一旦通电,FPGA就开始初始化其配置内存。同时,FPGA内部断言全局设置重置(GSR)异步重置所有IOB存储元素到默认的Low状态。

初始化完成并开始配置后,INIT_B输出高电平,对M0和M1输入进行采样以确定配置模式。然后将配置数据加载到FPGA中。在整个配置过程中,I/O驱动器保持在高阻抗状态(有或没有上拉电阻,由HSWAPEN输入决定)。

默认情况下,Xilinx ISE开发工具自动将所有未使用的I/O引脚配置为输入引脚,并带有单独的内部下拉电阻到GND。
在某些情况下,不使用FPGA中的一个或多个I/O组,在这些情况下,可能希望将bank相关的VCCO引脚断开连接,以释放一些PCB布局限制(减少焊盘对电源和接地平面的影响,减少信号进出引脚阵列的障碍,确保更多的铜面积)。让未使用的I/O组的VCCO引脚浮动会降低这些引脚和组中的I/O引脚上的ESD保护水平。为了在未使用的组中获得最大的ESD保护,该组中的所有VCCO和I/O引脚都应该连接到相同的电位上,无论是接地、有效的VCCO电压还是浮动平面。文章来源地址https://www.toymoban.com/news/detail-768655.html

6. 待续……

到了这里,关于学习笔记——SPARTAN 6 系列IO资源学习笔记的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • XILINX 7系列FPGA普通IO与差分IO

      🏡《Xilinx FPGA开发宝典》     本文介绍XILINX 7系列FPGA普通IO和差分IO的识别方法与注意事项。     7系列FPGA的绝大多数IO均支持差分,但是有些IO是不支持的,应注意不要用错差分IO的极性以及不要将普通非差分IO作为差分IO使用。     如下图所示差分IO的命名

    2024年02月11日
    浏览(41)
  • FPGA学习笔记-1 FPGA原理与开发流程

    注:笔记主要参考: B站 正点原子 教学视频“正点原子手把手教你学FPGA-基于达芬奇Pro开发板 Artix-7 XC7A35T/XC7A100T”。 小梅哥爱漂流 教学视频“【零基础轻松学习FPGA】小梅哥Xilinx FPGA基础入门到项目应用培训教程”。 B站搬运 “特权同学2020版《深入浅出玩转FPGA视频教程》

    2024年02月05日
    浏览(48)
  • xilinx 7系列FPGA时钟布线资源

    7系列FPGA拥有多种时钟路由资源,以支持各种时钟方案和需求,包括高扇出、短传播延迟以及极低的偏斜。为了最佳地利用时钟路由资源,需要了解如何将用户时钟从PCB传递到FPGA,确定哪种时钟路由资源最优,然后通过利用适当的I/O和时钟缓冲器来访问这些时钟路由资源。

    2024年04月22日
    浏览(57)
  • Xilinx 7系列FPGA局部时钟资源

    局部时钟网络是玩去哪独立于全局时钟网络的。与全局时钟不同,局部时钟信号(BUFR)的覆盖范围仅限于一个时钟区域。一个I/O时钟信号驱动单个时钟区域。这些网络对于源同步接口设计特别有用。在7系列器件中,I/O bank与局部时钟域的大小相同。 在7系列器件中,局部时钟

    2024年04月29日
    浏览(51)
  • FPGA在校学习记录系列---实验4不同状态的LED+开发板(Verilog HDL)

    此系列记录FPGA在学校的学习过程。 FPGA系列 需要用到的软硬件: 软件:Quartus II 15.0 (64-bit) 硬件: 5CEBA4F23C7芯片 链接: FPGA在校学习记录系列—新建一个FPGA工程编写程序并仿真(Verilog HDL) 创建的工程名字为:LED (这次不用仿真,直接用开发板验证) 编译文件 按键资源:

    2024年04月09日
    浏览(46)
  • FPGA - 7系列 FPGA内部结构之SelectIO -04- 逻辑资源之IDELAY和IDELAYCTRL

    本文节选UG471的第二章,进行整理翻译,用于介绍SelectIO资源内部的IDELAY资源和IDELAYCTRL资源。 每个 I/O 模块都包含一个称为 IDELAYE2 的可编程延迟原语。 IDELAY 可以连接到 ILOGICE2/ISERDESE2 或 ILOGICE3/ISERDESE2 块。 IDELAYE2 是一个 31 抽头、环绕式延迟原语,具有校准的抽头分辨率。它

    2023年04月08日
    浏览(39)
  • FPGA - 7系列 FPGA内部结构之SelectIO -08- 高级逻辑资源之OSERDESE2

    本文节选UG471的第三章,进行整理翻译,用于介绍高级SelectIO逻辑资源内部的OSERDESE2资源。 7 系列器件中的 OSERDESE2 是专用的并串转换器,具有特定的时钟和逻辑资源,旨在促进高速源同步接口的实现。 每个 OSERDESE2 模块都包含一个用于数据和三态控制的专用串行器。 数据和三

    2023年04月27日
    浏览(50)
  • [FPGA IP系列] FPGA常用存储资源大全(RAM、ROM、CAM、SRAM、DRAM、FLASH)

    本文主要介绍FPGA中常用的RAM、ROM、CAM、SRAM、DRAM、FLASH等资源。 RAM(Random Access Memory)是FPGA中最基本和常用的内部存储块,根据不同架构可以实现不同容量,最大可达几十Mb。 FPGA中的RAM主要包括: 分布式RAM:存在于逻辑块(LE)中的小容量RAM,通常为几百比特到几千比特。 块RAM:F

    2024年02月12日
    浏览(43)
  • 【Linux】RK3399平台开发系列——设备树的学习笔记

    设备树(Device Tree)是用于描述硬件设备和系统关系的树形数据结构,主要用于 Linux 操作系统中的设备驱动程序。在嵌入式系统中,由于硬件的多样性和复杂性,设备树变得越来越流行,用户可以用设备树来描述各种外设的属性和配置信息,以帮助内核识别和管理外设。 在

    2024年02月04日
    浏览(40)
  • java io流 学习笔记

    通过IO我们能对硬盘文件进行读和写。(网络数据的传输也涉及到io)。 按照 流的方向 进行分类:分为输入、输出流。 往内存中去:叫做 输入(Input) 。或者叫做 读(Read) 。 从内存中出来:叫做 输出(Output) 。或者叫做 写(Write) 。 按照 读取数据方式 不同进行分类: 按照 字节 的

    2024年02月14日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包