TxImageLink 算子

Operator Library: Synchronization

TxImageLink运算符允许在设计中的任何位置向RxImageLink运算符发送图像。这两个运算符无需链路即可建立连接。

通过在 TxImageLink 和 RxImageLink 算子之间传输图像, 可以在设计中实现循环。

[注意] 循环需要数据缓冲策略

TxImageLink 和 RxImageLink 算子 不缓冲数据。因此,在实现循环时,您需要特别注意数据缓冲,以避免 死锁。

支持的所有图像格式VisualApplets 一般情况下都受支持。图像格式保持不变,即 RxImageLink 的输出格式与TxImageLink接收的输入格式相同。

参数Channel_ID定义了用于寻址接收RxImageLink操作符的通道 ID。该参数值必须唯一,且不得被设计中的任何其他 TxImageLink 操作符使用。

设计中必须存在一个RxImageLink操作符,它使用相同的通道 ID 并接收图像数据。

设计中的每个 TxImageLink 算子都通过一个通道 ID 与恰好一个 RxImageLink 算子相连。 在 VisualApplets 的 Resource Dialog 中,您可以看到每个 TxImageLink-RxImageLink 连接都使用了一个 ImageChannel 资源。 资源 ImageChannel 允许控制单个 TxImageLink 算子到单个 RxImageLink 算子的分配。 关于可用 ImageChannel 资源的数量 (这也定义了设计中允许的最大 TxImageLink 和 RxImageLink 算子数量), 请参阅 Device Resources。

[重要] 循环中链路格式的参数化

一旦打开链路属性对话框, “自动更新”功能就会根据算子链的配置调整链路属性(例如 Bit Width 或图像尺寸)。TxImageLink 的输入格式 始终定义了 RxImageLink 的输出格式(100% 自动一致性)。 因此,当您使用算子 TxImageLink 和 RxImageLink 来实现循环时,您需要特别注意链路格式的参数化。

示例

错误实现,链路参数 Bit Width 的值 在循环的每一次迭代中都会变大:

正确实现,算子 CastBitWidth 在循环的每一次迭代中 将链路参数 Bit Width 的值 改回原始值:

[重要] 同步不同分层设计级别之间的通道

如果使用 TxImageLink/RxImageLink 对在不同的层级设计之间建立数据传输通道,则此连接将被视为 M 操作符。因此,您可能需要实现额外的同步元件(而直接连接则不需要)。

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
内核列 任何 as I
内核行 任何 as I
图像协议 {VALT_IMAGE2D、VALT_LINE1D、VALT_PIXEL0D、VALT_SIGNAL} 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]。

参数

Channel_ID
键入 静态参数
默认 0
范围 [0, 1023]

图像链路的通道 ID。 请参阅上述说明。

Examples of Use

以下示例展示了 TxImageLink 运算符的用法: