我是靠谱客的博主 眯眯眼店员,最近开发中收集的这篇文章主要介绍FPGA - 7系列 FPGA内部结构之SelectIO -05- 逻辑资源之OLOGIC前言OLOGIC 资源简介输出 DDR 概述 (ODDR)输出 DDR 原语 (ODDR)OLOGIC 时序模型reference,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前言

本文节选UG471的第二章,进行整理翻译,用于介绍SelectIO资源内部的OLOGIC资源。

OLOGIC 资源简介

OLOGIC 块位于 I/O 块 (IOB) 旁边。 OLOGIC 是一个专用的同步块,通过 IOB 从 FPGA 发送数据。 OLOGIC 资源的类型是 OLOGICE2(HP I/O bank)和 OLOGICE3(HR I/O bank)。 除非明确说明,否则 OLOGICE2 和 OLOGICE3 在功能上是相同的,它们的端口也是如此。

OLOGICE2 和 OLOGICE3 不是原语,因为它们不能被实例化。 它们在布局和布线之后包含用户实例化的元素,例如输出触发器 (OFD) 或输出 DDR 元素 (ODDR)。

OLOGIC 由两个主要模块组成,一个用于配置输出数据路径,另一个用于配置三态控制路径。 这两个模块有一个共同的时钟 (CLK) 但不同的使能信号,OCE 和 TCE。 两者都具有由独立 SRVAL 属性控制的异步和同步设置和复位(S/R 信号)。

输出和三态路径可以独立配置为以下模式之一。

  • 边沿触发 D 型触发器

  • DDR 模式(SAME_EDGE 或 OPPOSITE_EDGE)

  • 电平敏感锁存器

  • 异步/组合

下图 2-17 说明了 OLOGIC 块中的各种逻辑资源

image-20220613133213692

下面讨论使用 OLOGIC 资源可用的各种功能。

组合输出数据和三态控制路径

组合输出路径创建从 FPGA 逻辑到输出驱动器或输出驱动器控制的直接连接。 在以下情况下,软件会自动使用这些路径:

  1. FPGA 逻辑中的逻辑资源与输出数据或三态控制之间存在直接(未注册)连接。
  2. pack I/O register/latch into IOBs软件映射指令设置为OFF。

输出 DDR 概述 (ODDR)

7 系列器件在 OLOGIC 中有专用寄存器来实现输出 DDR 寄存器。 实例化 ODDR 原语时可访问此功能。 使用 OLOGIC 时,DDR 多路复用是自动的。 不需要手动控制多路选择。 这个控制是从时钟产生的。

ODDR 原语只有一个时钟输入。 下降沿数据由输入时钟的本地反相版本提供时钟。 输入 I/O 块的所有时钟都是完全多路复用的,即 ILOGIC 或 OLOGIC 块之间没有时钟共享。

ODDR 原语支持以下操作模式:

  • OPPOSITE_EDGE 模式。
  • SAME_EDGE 模式。

SAME_EDGE 模式允许设计人员在 ODDR 时钟的上升沿将两个数据输入呈现给 ODDR 原语,从而节省 CLB 和时钟资源,并提高性能。 此模式使用 DDR_CLK_EDGE 属性实现。 它也支持三态控制。 以下部分详细介绍了每种模式。

OPPOSITE_EDGE 模式

在 OPPOSITE_EDGE 模式下,时钟 (CLK) 的两个边沿都用于以两倍的吞吐量从 FPGA 逻辑捕获数据。 两个输出都提供给 IOB 的数据输入或三态控制输入。 使用 OPPOSITE_EDGE 模式的输出 DDR 时序图如下图所示。

image-20220613133749226

SAME_EDGE 模式

在 SAME_EDGE 模式下,数据可以在同一个时钟边沿提供给 IOB。在同一时钟沿向 IOB 提供数据可避免设置时间违规,并允许用户以最小的寄存器到寄存器延迟执行更高的 DDR 频率,而不是使用 CLB 寄存器。 下图显示了使用 SAME_EDGE 模式的输出 DDR 的时序图。

image-20220613133840210

时钟转发输出

DDR 可以将时钟的副本转发到输出。 这对于传播具有相同延迟的时钟和 DDR 数据以及多时钟生成非常有用,其中每个时钟负载都有一个独特的时钟驱动器。 这是通过将 ODDR 原语的 D1 输入连接为高电平和 D2 输入为低电平来实现的。 Xilinx 建议使用此方案将时钟从 FPGA 逻辑转发到输出引脚。

输出 DDR 原语 (ODDR)

下图显示了 ODDR 原语框图。 不支持同时设置和重置。

image-20220613134119243

下表 列出了ODDR 端口信号。

Port NameFunctionDescription
QData output (DDR)ODDR 寄存器输出
CClock input portCLK 引脚代表时钟输入引脚。
CEClock enable portCE 代表时钟使能引脚。 当置为低电平时,此端口禁用端口 Q 上的输出时钟。
D1 and D2Data inputsODDR 寄存器输入
S/RSet/Reset同步/异步设置/复位引脚。 置位/复位被断言为高电平。

下表描述了 ODDR 原语的各种可用属性和默认值。

Attribute NameDescriptionPossible Values
DDR_CLK_EDGE设置相对于时钟边沿的 ODDR 操作模式OPPOSITE_EDGE (default), SAME_EDGE
INIT设置 Q 端口的初始值0 (default), 1
SRTYPE相对于时钟 © 的设置/复位类型ASYNC, SYNC (default)

OLOGIC 时序模型

本节讨论与 OLOGIC 模块相关的所有时序模型。 下表描述了 7 系列 FPGA 数据手册中 OLOGIC 开关特性的功能和控制信号。

Setup/Hold

SymbolDescription
TODCK/TOCKDD1/D2 pins Setup/Hold with respect to CLK
TOOCECK/TOCKOCEOCE pin Setup/Hold with respect to CLK
TOSRCK/TOCKSRS/R pin Setup/Hold with respect to CLK
TOTCK/TOCKTT1/T2 pins Setup/Hold with respect to CLK
TOTCECK/TOCKTCETCE pin Setup/Hold with respect to CLK

Clock to Out

SymbolDescription
T OCKQCLK to OQ/TQ out
T RQS/R pin to OQ/TQ out

时序特性

OLOGIC 输出寄存器时序

下图说明了 OLOGIC 输出寄存器时序。时序类似OLOGIC输入寄存器时序。

image-20220613134905712

时钟事件 1

在时钟事件1 之前的时间TOOCECK 处,输出时钟使能信号在输出寄存器的OCE 输入处变为有效高电平,从而为输入数据启用输出寄存器。

在时钟事件 1 之前的时间 TODCK 处,输出信号在输出寄存器的 D1 输入处变为有效高电平,并在时钟事件 1 之后的时间 TOCKQ 处反映在 OQ 输出上。

时钟事件 4

在时钟事件 4 之前的时间 TOSRCK,S/R 信号(在这种情况下配置为同步复位)变为有效高电平,复位输出寄存器并在时钟事件 4 之后的时间 T RQ 反映在 OQ 输出。

OLOGIC ODDR 寄存器时序

下图说明了 OLOGIC ODDR 寄存器时序,此时OLOGIC 工作在OPPOSITE_EDGE 模式。

image-20220613135101079

时钟事件 1

在时钟事件1 之前的TOOCECK 时间,ODDR 时钟使能信号在ODDR 的OCE 输入处变为高电平有效,从而为传入数据启用ODDR。 必须注意在 CLK 的上升沿和下降沿之间切换 ODDR 寄存器的 OCE 信号,并满足相对于两个时钟沿的寄存器建立时间。

在时钟事件 1 之前的时间 TODCK(CLK 的上升沿),数据信号 D1 在 ODDR 寄存器的 D1 输入变为有效高电平,并在时钟事件 1 之后的时间 T OCKQ 反映在 OQ 输出上。

时钟事件 2

在时钟事件 2 之前的时间 TODCK(CLK 的下降沿),数据信号 D2 在 ODDR 寄存器的 D2 输入变为有效高电平,并在时钟事件 2 之后的时间 T OCKQ 反映在 OQ 输出上(无 在这种情况下改变 OQ 输出)。

时钟事件 9

在时钟事件 9 之前的时间 TOSRCK(CLK 的上升沿),S/R 信号(在这种情况下配置为同步复位)变为有效高电平复位 ODDR 寄存器,在时钟事件之后的时间 TRQ 处反映在 OQ 输出 9(在这种情况下 OQ 输出没有变化)和复位 ODDR 寄存器,反映在时钟事件 10 之后的时间 TRQ 处的 OQ 输出(在这种情况下 OQ 输出没有变化)。

OLOGIC 三态寄存器时序

下图说明了 OLOGIC 三态寄存器时序。

image-20220613135516344

时钟事件 1

在时钟事件1 之前的时间TOTCECK,三态时钟使能信号在三态寄存器的TCE 输入处变为有效高电平,从而使三态寄存器能够接收输入数据。

在时钟事件 1 之前的时间 TOTCK,三态信号在三态寄存器的 T 输入变为有效高电平,在时钟事件 1 之后的时间 TOCKQ 使焊盘返回高阻抗。

时钟事件 2

在时钟事件 2 之前的时间 TOSRCK,S/R 信号(在这种情况下配置为同步复位)变为有效高电平,在时钟事件 2 之后的时间 TRQ 复位三态寄存器。

IOB DDR 三态寄存器时序

此时图说明了 IOB DDR 三态寄存器时序。 此示例显示在对边模式下使用 DDR。 对于其他模式,添加适当的延迟。

image-20220613135930780

时钟事件 1

在时钟事件1 之前的时间TOTCECK,三态时钟使能信号在三态ODDR 寄存器的TCE 输入处变为有效高电平,从而使它们能够用于输入数据。 必须注意在 CLK 的上升沿和下降沿之间切换三态 ODDR 的 TCE 信号,并满足相对于两个时钟沿的寄存器建立时间。

在时钟事件 1 之前的时间 TOTCK(CLK 的上升沿),三态信号 T1 在三态寄存器的 T1 输入处变为有效高电平,并在时钟事件 1 之后的时间 T OCKQ 反映在 TQ 输出上。

时钟事件 2

在时钟事件 2 之前的时间 TOTCK(CLK 的下降沿),三态信号 T2 在三态寄存器的 T2 输入处变为有效高电平,并在时钟之后的时间 T OCKQ 反映在 TQ 输出上 事件 2(在这种情况下 TQ 输出没有变化)。

时钟事件 9

在时钟事件 9 之前的时间 TOSRCK(CLK 的上升沿),S/R 信号(在这种情况下配置为同步复位)变为有效高电平复位三态寄存器,在时间 TRQ 处反映在 TQ 输出 在时钟事件 9 之后(在这种情况下 TQ 输出没有变化)并复位三态寄存器,在时钟事件 10 之后的时间 TRQ 处反映在 TQ 输出上(在这种情况下 TQ 输出没有变化)。

reference

  1. UG471

最后

以上就是眯眯眼店员为你收集整理的FPGA - 7系列 FPGA内部结构之SelectIO -05- 逻辑资源之OLOGIC前言OLOGIC 资源简介输出 DDR 概述 (ODDR)输出 DDR 原语 (ODDR)OLOGIC 时序模型reference的全部内容,希望文章能够帮你解决FPGA - 7系列 FPGA内部结构之SelectIO -05- 逻辑资源之OLOGIC前言OLOGIC 资源简介输出 DDR 概述 (ODDR)输出 DDR 原语 (ODDR)OLOGIC 时序模型reference所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(75)

评论列表共有 0 条评论

立即
投稿
返回
顶部