当前位置:   article > 正文

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

ibufgds_diff_out

写在前面

攻其事必先利其器,本文主要翻译节选自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-20220601110903234

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

IBUF_IBUFDISABLE

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

image-20220601111237614

当 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-20220601111618447

当 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-20220601112539656

IBUFDS_DIFF_OUT and IBUFGDS_DIFF_OUT

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

image-20220601112738270

IBUFDS_DIFF_OUT_IBUFDISABLE

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

image-20220601112825394

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

IBUFDS_IBUFDISABLE

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

image-20220601112928405

当 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-20220601113057077

当 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-20220601113218879

当 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-20220601113412587

IOBUF_DCIEN

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

image-20220601113457583

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

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

IOBUFDS

下图显示了差分输入/输出缓冲器原语。 T引脚上的逻辑高电平禁用输出缓冲器。

image-20220601130325213

IOBUFDS_DCIEN

下图所示的 IOBUFDS_DCIEN 原语在 HP I/O bank 中可用。 它有一个 IBUFDISABLE 端口,可用于在不使用缓冲区期间禁用输入缓冲区。 IOBUFDS_DCIEN 原语还有一个 DCITERMDISABLE 端口,可用于手动禁用可选的 DCI 拆分终止功能。 有关详细信息,请参阅拆分终端 DCI(戴维宁等效终端到 VCCO/2)和 DCI 和三态 DCI (T_DCI)。

image-20220601130414766

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

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

IOBUFDS_DIFF_OUT

下图显示了具有互补输出(O 和 OB)的差分输入/输出缓冲器原语。 此原语仅推荐给经验丰富的 Xilinx 设计人员使用存储器接口应用。 T 引脚上的逻辑高电平禁用输出缓冲器。

image-20220601130521213

IOBUFDS_DIFF_OUT_DCIEN

下图所示的 IOBUFDS_DIFF_OUT_DCIEN 原语在 HP I/O bank 中可用。 它具有互补差分输出、一个 IBUFDISABLE 端口,可用于在不使用缓冲区期间禁用输入缓冲区,以及一个 DCITERMDISABLE 端口,可用于手动禁用可选的 DCI 分离终端功能。

image-20220601130559453

当 USE_IBUFDISABLE 属性设置为 TRUE 且 IBUFDISABLE 信号置为高电平时,IOBUFDS_DIFF_OUT_DCIEN 原语可以禁用输入缓冲器并强制 O 和 OB 输出到结构高电平。 如果 USE_IBUFDISABLE 设置为 FALSE,此输入将被忽略并应接地。 如果 I/O 正在使用分离端接 DCI 功能,只要 DCITERMDISABLE 信号被置为高电平,该原语就会禁用端接支路。 只有三态 DCI I/O 标准可用于双向信号。 对于三态 DCI I/O 标准,只要驱动器处于活动状态,DCI 终端支路就会关闭(对于 IO 输出,TS 为低电平,对于 IOB 输出,TM 为低电平)。 IOBUFDS_DIFF_OUT_DCIEN 原语还允许在 DCITERMDISABLE 信号被置为高电平时禁用终端支路。 只要输入空闲一段时间,这些功能可以结合起来降低功耗。

IOBUFDS_DIFF_OUT_INTERMDISABLE

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

image-20220601130725449

当 USE_IBUFDISABLE 属性设置为 TRUE 且 IBUFDISABLE 信号置为高电平时,IOBUFDS_DIFF_OUT_INTERMDISABLE 原语可以禁用输入缓冲区并强制 O 和 OB 输出到结构高电平。 如果 USE_IBUFDISABLE 设置为 FALSE,此输入将被忽略并应接地。 如果 I/O 使用可选的未校准分离端接功能 (IN_TERM),则只要驱动器处于活动状态,这些端接脚也会被禁用(IO 输出的 TS 为低电平,IOB 输出的 TM 为低电平)。 IOBUFDS_DIFF_OUT_INTERMDISABLE 原语还允许在 INTERMDISABLE 信号被置为高电平时禁用终端支路。只要输入空闲一段时间,这些功能就可以结合起来降低功耗。

IOBUFDS_INTERMDISABLE

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

image-20220601130846494

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

OBUF

必须使用输出缓冲器 (OBUF) 将信号从 7 系列器件驱动到外部输出焊盘。 通用 7 系列 FPGA OBUF 原语如下图所示。

image-20220601130946240

OBUFDS

下图显示了差分输出缓冲器原语。

image-20220601131118269

OBUFT

下图所示的通用三态输出缓冲器 OBUFT 通常实现三态输出或双向 I/O。

image-20220601131155783

OBUFTDS

下图显示了差分三态输出缓冲器原语。

image-20220601131240253

reference

  1. UG471
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/474799
推荐阅读
相关标签
  

闽ICP备14008679号