Operator ImageFifo

操作员Library: Memory

此算子可用于在基于 FPGA 的 Memory 中缓存相对少量的像素。 该算子不需要 RAM 类型的 VisualApplets 资源。 相反,该算子使用 FPGA 内部 Memory。 这可以是 FPGA 内部块 RAM、FPGA 分布式 RAM (LUT RAM) 或 UltraRAM memory(URAM 仅适用于 imaFlex CXP-12 Quad 和 imaFlex CXP-12 Penta 平台)。具体使用哪种 Memory 可以通过参数 ImplementationType 手动设置,或者由算子根据其配置自动选择。

ImageFifo 算子通常用于在同步之前缓存行或像素。 由于 FPGA 内部 Memory 有限,在不超出可用资源的情况下缓存全分辨率帧的可能性不大。

有关运算符延迟的信息,请参阅表 46,“库内存中运算符的各个延迟” 。

参数 EntitiesToStore 和 EntityType 用于定义最大可用缓冲区大小。 该算子是一种先进先出 Memory (FIFO)。 任何输入数据都会立即转发到输出端。 但是,如果输出端被阻塞(例如因为后续算子无法处理输入带宽),算子将存储数据。 因此,只有在算子无法输出数据时,才会填充 Memory。

为了测量缓冲区的 Fill 级别,算子提供了参数 FillLevel。 FillLevel 显示 Fifo 的百分比 Fill 级别。

参数 InfiniteSource 用于指定算子是直接连接到相机还是与其他 Memory 算子串联。 如果禁用 InfiniteSource,算子就不会进入溢出状态。 请参阅 'Infinite Sources / Connecting Cameras' 了解更多信息。

参数 ImplementationType 允许指定算子要使用的硬件 Memory。

I/O Properties

财产 值
操作员类型 M
Input Link I,图像数据输入
输出链接 O,数据输出

Supported Link Format

链接参数 输入链路 I 输出链路 O
Bit Width [1, 64]1 as I
Arithmetic {unsigned, signed} as I
Parallelism 任何 as I
内核列 1 as I
内核行 1 as I
图像协议 {VALT_IMAGE2D, VALT_LINE1D, VALT_PIXEL0D} as I
Color Format 任何 as I
颜色口味 任何 as I
Max. Img Width 任何 as I
Max. Img Height 任何 as I

1

对于无符号输入,输入 Bit Width 的范围是 [1, 64]。 对于有符号输入,范围是 [2, 64]。 对于无符号彩色输入,范围是 [3, 63],而对于有符号彩色输入,范围是 [6, 63]。

参数

EntitiesToStore
键入 静态参数
默认 1
范围 任何

此参数定义最多需要存储多少个像素、行或帧。 实体类型使用参数 EntityType 进行定义。

EntityType
键入 静态参数
默认 FRAME
范围 {FRAME, LINE, PIXEL}

此参数定义要存储的实体类型。 该参数可以缓存 EntitiesToStore 个 EntityType 单位。

仅当输入链接图像协议为 VALT_IMAGE2D 时才能选择 FRAME。 协议 VALT_LINE2D 和 VALT_LINE1D 可以选择 LINE,而 PIXEL 则始终处于启用状态。

ImplementationType
键入 静态写入参数
默认 AUTO
范围 (AUTO, BRAM, LUTRAM, URAM)

参数 ImplementationType 影响算子的实现策略,即用于实现算子的 Memory 元素。

您可以选择以下值之一:

AUTO: 根据所连 link 的参数配置,自动选择最佳实现策略。

BRAM: 算子使用 FPGA 的 Block RAM。

LUTRAM: 算子使用 FPGA 的 LUT RAM。

URAM: 算子使用 FPGA 的 UltraRAM。

[注意] URAM 的可用性

ImplementationType 参数的 URAM 值仅在 imaFlex CXP-12 Quad 和 imaFlex CXP-12 Penta 平台上可用。

[注意] 通常使用 AUTO

通常,该参数应设置为 AUTO。在特殊情况下(例如,设计中的某种 FPGA 资源短缺),您可以使用 BRAM、LUTRAM 或 URAM 手动干预 FPGA 资源管理(URAM 仅适用于 imaFlex CXP-12 Quad 和 imaFlex CXP-12 Penta 平台)。

AUTO 仅在 BRAM 和 LUTRAM 之间进行选择。

FillLevel
键入 动态读取参数
默认 0
范围 [0%, 100%]

此参数提供缓冲区的 Fill 级别。 算子会高效利用 FPGA 资源。在某些配置中,缓冲区中存储的数据量可能会超过 100%。

InfiniteSource
键入 静态参数
默认 ENABLED
范围 {ENABLED, DISABLED}

该参数激活对相机等无限源运算符的支持。 有关更多信息,请参阅 '无限源 / 连接相机'。

Examples of Use

以下示例展示了 ImageFifo 算子的使用方法: