FPGA - 7系列 FPGA内部结构之SelectIO -08- 高级逻辑资源之OSERDESE2(一)

简介: FPGA - 7系列 FPGA内部结构之SelectIO -08- 高级逻辑资源之OSERDESE2

前言


本文节选UG471的第三章,进行整理翻译,用于介绍高级SelectIO逻辑资源内部的OSERDESE2资源。

输出并串逻辑资源 (OSERDESE2)简介


7 系列器件中的 OSERDESE2 是专用的并串转换器,具有特定的时钟和逻辑资源,旨在促进高速源同步接口的实现。 每个 OSERDESE2 模块都包含一个用于数据和三态控制的专用串行器。 数据和三态串行器都可以配置为 SDR 和 DDR 模式。 数据序列化可高达 8:1(如果使用 OSERDESE2 宽度扩展,则为 10:1 和 14:1)。 三态序列化可高达 14:1。 有一个专用的 DDR3 模式来支持高速内存应用。

下图显示了 OSERDESE2 的框图,突出显示了该块的所有主要组件和特性。

image.png

数据并串转换器


一个 OSERDESE2 模块中的数据并串转换器从结构接收 2 到 8 位并行数据(如果使用 OSERDESE2 宽度扩展,则为 14 位),对数据进行串行化,并将其呈现给 IOB 通过 OQ 输出。 并行数据从最低位数据输入引脚串行化到最高位(即,D1 输入引脚上的数据是在 OQ 引脚上传输的第一位)。 数据并串转换器有两种模式:单数据速率 (SDR) 和双数据速率 (DDR)。

OSERDESE2 使用两个时钟 CLK 和 CLKDIV 进行数据速率转换。 CLK是高速串行时钟,CLKDIV是分频并行时钟。 CLK 和 CLKDIV 必须相位对齐。

使用前,必须对 OSERDESE2 进行复位。 OSERDESE2 包含一个控制数据流的内部计数器。 未能将复位取消断言与 CLKDIV 同步将产生意外的输出。

三态并串转换


除了数据的并串转换外,OSERDESE2 模块还包含一个用于对 IOB 进行三态控制的并串转换器。 与数据转换不同,三态转换器最多只能串行化四位并行三态信号。 三态转换器不能级联。

OSERDESE2 原语


OSERDESE2 原语框图如下图所示。

8e6e6b38bd0b5cfb71483b8cbdf5225f.png

OSERDESE2 端口

下表列出了 OSERDESE2 原语中的可用端口。

image.png

image.png

数据路径输出 - OQ


OQ 端口是 OSERDESE2 模块的数据输出端口。 输入端口 D1 的数据将首先出现在 OQ。 该端口将数据并串转换器的输出连接到 IOB 的数据输入。 该端口不能驱动ODELAYE2; 必须使用 OFB 引脚。

OSERDESE2 的输出反馈 - OFB


输出反馈端口 (OFB) 是 OSERDESE2 的串行(高速)数据输出端口,用于 ODELAYE2 原语,或者 OFB 端口可用于向 ISERDESE2 发送串行数据。

三态控制输出 - TQ


此端口是 OSERDESE2 模块的三态控制输出。 使用时,此端口将三态并串转换器的输出连接到 IOB 的控制/三态输入。

三态控制输出 - TFB


如果用户需要,此端口是 OSERDESE2 模块的三态控制输出,发送到结构。 它表明 OSERDESE2 是三态的。

高速时钟输入 - CLK


该高速时钟输入驱动并串转换器的串行端。

分频时钟输入 - CLKDIV


该分频高速时钟输入驱动并串转换器的并行端。 该时钟是连接到 CLK 端口的时钟的分频版本。

并行数据输入 - D1 到 D8


所有传入的并行数据通过端口 D1 到 D8 进入 OSERDESE2 模块。 这些端口连接到 FPGA 架构,可以配置为 2 到 8 位(即 8:1 串行化)。 在 SLAVE 模式下使用第二个 OSERDESE2 可以支持大于八位(10 和 14)的位宽。

复位输入 - RST


置位时,复位输入会导致 CLK 和 CLKDIV 域中的所有数据触发器的输出异步驱动为低电平**。 当与 CLKDIV 同步取消断言时,内部逻辑会将此取消断言重新计时到 CLK 的第一个上升沿。** 因此,多位输出结构中的每个 OSERDESE2 都应由相同的复位信号驱动,异步断言,并与 CLKDIV 同步取消断言,以确保所有 OSERDESE2 元素同步退出复位。 仅当已知 CLK 和 CLKDIV 稳定且存在时,才应取消置位复位信号。

输出数据时钟使能 - OCE


OCE 是数据路径的有效高时钟使能。

三态信号时钟使能 - TCE


TCE 是三态控制路径的有效高时钟使能。

并行三态输入 - T1 到 T4


所有并行三态信号通过端口 T1 到 T4 进入 OSERDESE2 模块。 端口连接到 FPGA 架构。 它们可以配置为一位、两位或四位,或被绕过。 这些端口的行为由 DATA_RATE_TQ 和 TRISTATE_WIDTH 属性控制。

OSERDESE2 属性


下表列出并描述了可用于 OSERDESE2 原语的各种属性。 该表包括默认值。

image.png

DATA_RATE_OQ 属性


DATA_RATE_OQ 属性定义数据是以单数据速率 (SDR) 还是双数据速率 (DDR) 处理。 此属性的允许值为 SDR 和 DDR。 默认值为 DDR。

DATA_RATE_TQ 属性


DATA_RATE_TQ 属性定义是将三态控制作为单数据速率 (SDR) 还是双数据速率 (DDR) 进行处理。 此属性的允许值为 SDR、DDR 或 BUF。 默认值为 DDR。 在 SDR 和 DDR 模式下,使用四个 T 输入,它们的行为可以通过 TRISTATE_WIDTH 属性进行配置。 在 BUF 模式下,SDR 和 DDR 模式寄存器被旁路,因此应使用 T1 输入。 施加到 T1 输入的信号与所有其他信号异步,因为它只是通过 OSERDESE2。

DATA_WIDTH 属性


DATA_WIDTH 属性定义并串转换器的并行数据输入宽度。 此属性的可能值取决于 DATA_RATE_OQ 属性。

当 DATA_RATE_OQ 设置为 SDR 时,DATA_WIDTH 属性的可能值为 2、3、4、5、6、7 和 8。当 DATA_RATE_OQ 设置为 DDR 时,DATA_WIDTH 属性的可能值为 4、6、8 、 10 和 14。

当 DATA_WIDTH 设置为大于 8 的宽度时,一对 OSERDESE2 必须配置为主从配置。

SERDES_MODE 属性


SERDES_MODE 属性定义 OSERDESE2 模块在使用宽度扩展时是主模块还是从模块。 可能的值为 MASTER 和 SLAVE。 默认值为 MASTER。

TRISTATE_WIDTH 属性


TRISTATE_WIDTH 属性定义了三态控制并串转换器的并行三态输入宽度。 此属性的可能值取决于 DATA_RATE_TQ 属性。 当 DATA_RATE_TQ 设置为 SDR 或 BUF 时,TRISTATE_WIDTH 属性只能设置为 1。当 DATA_RATE_TQ 设置为 DDR 时,TRISTATE_WIDTH 属性的可能值为 1 和 4。

TRISTATE_WIDTH 不能设置为大于 4 的宽度。当 DATA_WIDTH 大于 4 时,将 TRISTATE_WIDTH 设置为 1。

下表显示使用 OSERDESE2 的有效设置和组合。

image.png

OSERDESE2 时钟方法


CLK 和 CLKDIV 的相位关系在并串转换过程中很重要。 CLK 和 CLKDIV(理想情况下)在容差范围内相位对齐。

FPGA 内有多种时钟安排可帮助设计满足 CLK 和 CLKDIV 的相位关系要求。 OSERDESE2 唯一有效的时钟安排是:

  • CLK 由 BUFIO 驱动,CLKDIV 由 BUFR 驱动
  • 由同一个 MMCM 或 PLL 的 CLKOUT[0:6] 驱动的 CLK 和 CLKDIV。

当使用 MMCM 驱动 OSERDESE2 的 CLK 和 CLKDIV 时,不能混合提供 OSERDESE2 的缓冲器类型。 例如,如果 CLK 由 BUFG 驱动,则 CLKDIV 也必须由 BUFG 驱动。


目录
相关文章
|
6月前
|
存储 算法 数据处理
FPGA:可编程逻辑设备的领军者及其在数字信号处理中的应用
FPGA:可编程逻辑设备的领军者及其在数字信号处理中的应用
101 2
|
6月前
|
移动开发 开发框架 .NET
【机组】基于FPGA的32位算术逻辑运算单元的设计(EP2C5扩充选配类)
【机组】基于FPGA的32位算术逻辑运算单元的设计(EP2C5扩充选配类)
117 0
|
异构计算
fpga内嵌逻辑分析仪使用方法 1
fpga内嵌逻辑分析仪使用方法
86 0
|
4月前
|
异构计算
FPGA入门(4):时序逻辑(二)
FPGA入门(4):时序逻辑(二)
36 0
|
4月前
|
存储 异构计算
FPGA入门(4):时序逻辑(一)
FPGA入门(4):时序逻辑
44 0
|
4月前
|
存储 异构计算
FPGA入门(3):组合逻辑
FPGA入门(3):组合逻辑
45 0
|
6月前
|
编解码 算法 网络协议
FPGA:引领数字时代的可编程逻辑器件
FPGA:引领数字时代的可编程逻辑器件
99 4
|
6月前
|
存储 算法 计算机视觉
FPGA:可编程逻辑器件的探索与实践
FPGA:可编程逻辑器件的探索与实践
142 1
|
6月前
|
人工智能 算法 自动驾驶
FPGA:可编程逻辑器件的新篇章
FPGA:可编程逻辑器件的新篇章
|
异构计算
【FPGA】基本实验步骤演示 | Verilog编码 | 运行合成 | 设备/引脚分配 | 综合/实施 | 设备配置 | 以最简单的逻辑非为例
【FPGA】基本实验步骤演示 | Verilog编码 | 运行合成 | 设备/引脚分配 | 综合/实施 | 设备配置 | 以最简单的逻辑非为例
101 0

热门文章

最新文章