FPGA - 7系列 FPGA内部结构之SelectIO -02- 源语简介(一)

简介: FPGA - 7系列 FPGA内部结构之SelectIO -02- 源语简介

写在前面


攻其事必先利其器,本文主要翻译节选自UG471,主要对7系列的xilinx FPGA IO资源的buffer源语进行简要说明,了解buffer的基本结构。

7 系列 FPGA SelectIO原语


Xilinx 软件库包含大量原语,以支持 7 系列 FPGA I/O 原语中可用的各种 I/O 标准。 以下通用原语都可以支持大多数可用的单端 I/O 标准。

  • IBUF(输入缓冲器)
  • IBUF_IBUFDISABLE(具有缓冲器禁用控制的输入缓冲器)
  • IBUF_INTERMDISABLE(具有缓冲器禁用和IN_TERM禁用控制的输入缓冲器)
  • IBUFG(时钟输入缓冲器)
  • IOBUF(双向缓冲器)
  • IOBUF_DCIEN(具有DCI禁用的双向缓冲器 和输入缓冲器禁用)
  • IOBUF_INTERMDISABLE(双向缓冲器,带有 IN_TERM 禁用和输入缓冲器禁用)
  • OBUF(输出缓冲器)
  • OBUFT(三态输出缓冲器)

这八个通用原语都可以支持大多数可用的差分 I/O 标准:

  • IBUFDS(差分输入缓冲器)
  • IBUFDS_DIFF_OUT(具有互补输出的差分输入缓冲器)
  • IBUFDS_DIFF_OUT_IBUFDISABLE(具有互补输出和缓冲器禁用的差分输入缓冲器)
  • IBUFDS_DIFF_OUT_INTERMDISABLE(具有互补输出、缓冲器禁用和 IN_TERM 禁用的差分输入缓冲器)
  • IBUFDS_IBUFDISABLE ( 带缓冲器禁用控制的差分输入缓冲器)
  • IBUFDS_INTERMDISABLE(不同 具有缓冲器禁用和 IN_TERM 禁用的 ial 输入缓冲器)
  • IBUFGDS(差分时钟输入缓冲器)
  • IBUFGDS_DIFF_OUT(具有互补输出的差分时钟输入缓冲器)
  • IOBUFDS(差分双向缓冲器)
  • IOBUFDS_DCIEN(具有 DCI 禁用和输入缓冲器禁用的差分双向缓冲器 )
  • IOBUFDS_DIFF_OUT(具有来自输入缓冲器的互补输出的差分双向缓冲器)
  • IOBUFDS_DIFF_OUT_DCIEN(具有来自输入缓冲器的互补输出的差分双向缓冲器,具有 DCI 禁用和输入缓冲器禁用)
  • IOBUFDS_DIFF_OUT_INTERMDISABLE(具有来自输入缓冲器的互补输出的差分双向缓冲器 带 IN_TERM 禁用和缓冲器禁用)
  • IOBUFDS_INTERMDISABLE(带缓冲器禁用和 IN_TERM 禁用的差分双向缓冲器)
  • OBUFDS(差分输出缓冲器)
  • OBUFTDS(差分三态输出缓冲器)

IBUF and IBUFG


用作 7 系列设备输入的信号必须使用输入缓冲器 (IBUF)。 通用 7 系列 FPGA IBUF 原语如下图所示。

image.png

IBUF 和 IBUFG 原语是相同的。 当输入缓冲器用作时钟输入时使用 IBUFG。 在赛灵思软件工具中,一个 IBUFG 自动放置在时钟输入位置。

IBUF_IBUFDISABLE


下图所示的 IBUF_IBUFDISABLE 原语是一个带有禁用端口的输入缓冲器,可在不使用输入时用作额外的节能功能。

image.png

当 USE_IBUFDISABLE 属性设置为 TRUE 并且 IBUFDISABLE 信号被置为高电平时,IBUF_IBUFDISABLE 原语可以禁用输入缓冲器并强制到结构的 O 输出为逻辑高电平。 如果 USE_IBUFDISABLE 设置为 FALSE,此输入将被忽略并应接地。 此功能可用于在 I/O 空闲时降低功耗。 使用 VREF 电源轨(如 SSTL 和 HSTL)的输入缓冲器从 IBUFDISABLE 设置为 TRUE 中获益最多,因为它们往往具有比非 VREF 标准(如 LVCMOS 和 LVTTL)更高的静态功耗。

IBUF_INTERMDISABLE


下图中所示的 IBUF_INTERMDISABLE 原语在 HR I/O bank 中可用,它与 IBUF_IBUFDISABLE 原语相似,因为它有一个 IBUFDISABLE 端口,可用于在不使用缓冲区期间禁用输入缓冲区 . IBUF_INTERMDISABLE 原语还有一个 INTERMDISABLE 端口,可用于禁用可选的未校准拆分终端功能。

image.png

当 USE_IBUFDISABLE 属性设置为 TRUE 并且 IBUFDISABLE 信号置为高电平时,IBUF_INTERMDISABLE 原语可以禁用输入缓冲器并强制到结构的 O 输出为逻辑高电平。 如果 USE_IBUFDISABLE 设置为 FALSE,此输入将被忽略并应接地。 如果 I/O 使用可选的未校准拆分终端功能 (IN_TERM),则只要驱动器处于活动状态(T 为低电平),这些终端脚就会被禁用。 IBUF_INTERMDISABLE 原语还允许在 INTERMDISABLE 信号被置为高电平时禁用终端支路。

每当输入空闲时,这些功能可以结合起来降低功耗。 使用 VREF 电源轨(如 SSTL 和 HSTL)的输入缓冲器从 IBUFDISABLE 信号设置为 TRUE 中获益最多,因为它们往往具有比非 VREF 标准(如 LVCMOS 和 LVTTL)更高的静态功耗。

IBUFDS and IBUFGDS


差分原语对应的用法和规则与单端 SelectIO 原语类似。 差分 SelectIO 基元有两个引脚与器件焊盘相连,以显示差分对中的 P 和 N 通道引脚。 N 通道引脚具有 B 后缀。 IBUFDS 和 IBUFGDS 原语相同,当差分输入缓冲器用作时钟输入时使用 IBUFGDS。下图显示了差分输入缓冲器原语。

image.png

IBUFDS_DIFF_OUT and IBUFGDS_DIFF_OUT


下图显示了具有互补输出(O 和 OB)的差分输入缓冲器原语。 IBUFDS_DIFF_OUT 和 IBUFGDS_DIFF_OUT 原语相同,IBUFGDS_DIFF_OUT 用于时钟输入。 这些原语仅推荐给有经验的赛灵思设计人员使用。

image.png

IBUFDS_DIFF_OUT_IBUFDISABLE


下图中所示的 IBUFDS_DIFF_OUT_IBUFDISABLE 原语是一个差分输入缓冲器,具有互补差分输出和一个禁用端口,可在不使用输入时用作额外的节能功能。

image.png

当 USE_IBUFDISABLE 属性设置为 TRUE 且 IBUFDISABLE 信号置为高电平时,IBUFDS_DIFF_OUT_IBUFDISABLE 原语可以禁用输入缓冲器并强制 O 和 OB 输出到结构高电平。 如果 USE_IBUFDISABLE 设置为 FALSE,此输入将被忽略并应接地。 此功能可用于在 I/O 空闲时降低功耗。

IBUFDS_IBUFDISABLE


下图所示的 IBUFDS_IBUFDISABLE 原语是一个差分输入缓冲器,带有一个禁用端口,可在不使用输入时用作额外的节能功能。

image.png

当 USE_IBUFDISABLE 属性设置为 TRUE 并且 IBUFDISABLE 信号被置为高电平时,IBUFDS_IBUFDISABLE 原语可以禁用输入缓冲器并强制到架构的 O 输出为逻辑高电平。 如果 USE_IBUFDISABLE 设置为 FALSE,此输入将被忽略并应接地。 此功能可用于在 I/O 空闲时降低功耗。

IBUFDS_INTERMDISABLE


下图中所示的 IBUFDS_INTERMDISABLE 原语在 HR I/O bank 中可用,它与 IBUFDS_IBUFDISABLE 原语类似,因为它有一个 IBUFDISABLE 端口,可用于在缓冲区未运行期间禁用输入缓冲区 用过的。 IBUFDS_INTERMDISABLE 原语还有一个 INTERMDISABLE 端口,可用于禁用可选的未校准拆分终端功能。

image.png

当 USE_IBUFDISABLE 属性设置为 TRUE 并且 IBUFDISABLE 信号置为高电平时,IBUFDS_INTERMDISABLE 原语可以禁用输入缓冲区并强制 O 输出到结构高电平。 如果 USE_IBUFDISABLE 设置为 FALSE,则 IBUFDISABLE 输入将被忽略并应接地。 如果 I/O 使用可选的未校准拆分终端功能 (IN_TERM),则只要 INTERMDISABLE 信号置为高电平,此原语就会禁用终端支路。 每当输入空闲时,这些功能都可以结合起来降低功耗。

IBUFDS_DIFF_OUT_INTERMDISABLE


下图中显示的 IBUFDS_DIFF_OUT_INTERMDISABLE 原语在 HR I/O bank 中可用,它与 IBUFDS_IBUFDISABLE 原语相似,因为它有一个IBUFDISABLE 端口,可用于在不使用缓冲区期间禁用输入缓冲区。 IBUFDS_DIFF_OUT_INTERMDISABLE 原语还有一个 INTERMDISABLE 端口,可用于禁用可选的未校准拆分终端功能。

image.png

当 USE_IBUFDISABLE 属性设置为 TRUE 并且 IBUFDISABLE 信号置为高电平时,IBUFDS_DIFF_OUT_INTERMDISABLE 原语可以禁用输入缓冲区并强制 O 和 OB 输出到结构高电平。 如果 USE_IBUFDISABLE 设置为 FALSE,则 IBUFDISABLE 输入将被忽略并应接地。 如果 I/O 使用可选的未校准拆分终端功能 (IN_TERM),则只要 INTERMDISABLE 信号置为高电平,此原语就会禁用终端支路。每当输入空闲时,这些功能都可以结合起来降低功耗。

IOBUF


当双向信号需要输入缓冲器和具有高电平有效三态 T 引脚的三态输出缓冲器时,需要 IOBUF 原语。 下图显示了一个通用的 7 系列 FPGA IOBUF。 T 引脚上的逻辑高电平禁用输出缓冲器。

image.png

IOBUF_DCIEN


下图所示的 IOBUF_DCIEN 原语在 HP I/O bank 中可用。 它有一个 IBUFDISABLE 端口,可用于在不使用缓冲区期间禁用输入缓冲区。 IOBUF_DCIEN 原语还有一个 DCITERMDISABLE 端口,可用于手动禁用可选的 DCI 拆分终止功能。

image.png

当 USE_IBUFDISABLE 属性设置为 TRUE 且 IBUFDISABLE 信号置为高电平时,IOBUF_DCIEN 原语可以禁用输入缓冲器并强制到架构的 O 输出为逻辑高电平。 如果 USE_IBUFDISABLE 设置为 FALSE,此输入将被忽略并应接地。 如果 I/O 使用分离端接 DCI 功能,则只要 DCITERMDISABLE 信号被置为高电平,该原语就会禁用端接支路。 只有三态 DCI I/O 标准可用于双向信号。

使用三态 DCI I/O 标准,只要驱动器处于活动状态,DCI 终端支路就会关闭。 IOBUF_DCIEN 原语还允许在 DCITERMDISABLE 信号被置为高电平时禁用终端支路。 只要输入空闲一段时间,这些功能就可以结合起来降低功耗。

目录
相关文章
|
4月前
|
C语言 芯片 异构计算
FPGA新起点V1开发板(六-语法篇)——verilog简介+基础语法
FPGA新起点V1开发板(六-语法篇)——verilog简介+基础语法
|
算法 关系型数据库 MySQL
FPGA:Verilog HDL程序的基本结构
FPGA:Verilog HDL程序的基本结构
161 0
FPGA:Verilog HDL程序的基本结构
|
存储 异构计算 内存技术
|
算法 异构计算
m基于FPGA的分布式FIR滤波器verilog设计,对比普通结构以及DA结构
m基于FPGA的分布式FIR滤波器verilog设计,对比普通结构以及DA结构
184 0
m基于FPGA的分布式FIR滤波器verilog设计,对比普通结构以及DA结构
|
移动开发 算法 异构计算
m基于FPGA的半带滤波器verilog设计,对比普通结构以及乘法器复用结构
m基于FPGA的半带滤波器verilog设计,对比普通结构以及乘法器复用结构
291 0
m基于FPGA的半带滤波器verilog设计,对比普通结构以及乘法器复用结构
|
存储 算法 芯片
FPGA:硬件描述语言简介
FPGA:硬件描述语言简介
249 0
FPGA:硬件描述语言简介
|
人工智能 算法 Serverless
阿里云 FaaS (FPGA as a Service) 舜天平台简介|学习笔记
快速学习阿里云 FaaS (FPGA as a Service) 舜天平台简介
393 0
阿里云 FaaS (FPGA as a Service) 舜天平台简介|学习笔记
|
存储 异构计算
FPGA - 7系列 FPGA内部结构之CLB -01- CLB资源概述
本文节选UG474进行整理翻译,用于对CLB进行简单介绍,同时简单介绍了下针对逻辑资源设计的推荐流程。
458 0
FPGA - 7系列 FPGA内部结构之CLB -01- CLB资源概述
|
存储 Java 异构计算
FPGA - 7系列 FPGA内部结构之Clocking -01- 时钟架构概述(二)
FPGA - 7系列 FPGA内部结构之Clocking -01- 时钟架构概述
688 0
FPGA - 7系列 FPGA内部结构之Clocking -01- 时钟架构概述(二)
|
20天前
|
算法 数据安全/隐私保护 异构计算
基于FPGA的64QAM基带通信系统,包含testbench,高斯信道模块,误码率统计模块,可以设置不同SNR
本文介绍了基于FPGA的64QAM调制解调通信系统的设计与实现,包括信号生成、调制、解调和误码率测试。系统在Vivado 2019.2中进行了仿真,通过设置不同SNR值(15、20、25)验证了系统的性能,并展示了相应的星座图。核心程序使用Verilog语言编写,加入了信道噪声模块和误码率统计功能,提升了仿真效率。
38 4