运算符 Library: Synchronization
该运算符可用作阀门,以控制输入链路的数据流。 信号输入 OpenValve 用于控制阀门。 因此,该运算符允许影响 I 和 O 之间的像素、行和帧的数据流。 限制最大带宽是该运算符的主要目的。 广义上讲,该运算符用于阻塞并控制图像处理的速度。 例如,该运算符可与 CreateBlankImage 结合使用,以实现一个 输出帧率可控的图像生成器。
如果阀门关闭,VisualApplets 流控制将阻塞所有传入数据。 输入流水线随后将被阻塞。 如果使用的运算符无法停止其处理,请确保使用足够大小的缓冲区。连接到图像采集卡的自由运行相机便是一个例子。 如果该运算符的输出被任何后续运算符阻塞,则该运算符 会将此阻塞转发给输入。 在这种情况下,阀门的打开没有影响。 切勿将阀门与门(gate)混淆。门运算符在关闭时会丢弃输入数据。
该阀门由信号输入 OpenValve 和运算符的参数控制。 如果 OpenValve 设置为 1,则该运算符允许通过 SequenceLength 个像素、行或帧,具体取决于 Mode 的参数设置。
如果 OpenValve 设置为恒定的 1,则该运算符允许来自输入链路 I 的图像数据不受阻碍地传递到输出链路 O,即阀门始终处于打开状态。
如果在运算符的阀门仍然打开且正在处理序列时将第二个脉冲设置为 OpenValve,则该脉冲将被忽略。 如果当前正在处理序列时使用参数 SequenceLength 更改序列长度, 则该运算符将首先完成前一个 序列,并在随后使用新值。
由于未模拟计时,VisualApplets 中的高级仿真会将所有输入图像 直接传递到输出。 输入链路 OpenValve 处的任何值都将被忽略。
|
对于无符号输入,输入 Bit Width 的范围是 [1, 64]。 对于有符号输入,范围是 [2, 64]。 对于无符号彩色输入,范围是 [3, 63],对于有符号彩色输入,范围是 [6, 63]。 |
同步和异步输入
- 所有输入彼此异步。
| 模式 | |
|---|---|
| 键入 | 动态/静态读/写参数 |
| 默认 | FRAME |
| 范围 | {PIXEL, LINE, FRAME} |
|
设置运算符的模式。 根据此参数,阀门将为 SequenceLength 个像素、行或帧打开。 模式 LINE 和 FRAME 的可用性取决于输入链路 I 的图像协议。 |
|
| SequenceLengthBits | |
|---|---|
| 键入 | static 参数 |
| 默认 | 10 |
| 范围 | [1, 64] |
|
Set the number of bits to represent the sequence length. 仅当参数 SequenceLength 设置为动态时,此参数才会被激活。 |
|
| SequenceLength | |
|---|---|
| 键入 | 动态/静态读/写参数 |
| 默认 | 1 |
| 范围 | dynamic: [1, 2^SequenceLengthBits - 1], static: [1, 2^64 - 1] |
|
设置序列长度。 如果算子处于开启状态, 算子将根据参数 Mode 输出给定数量的像素、 行或帧。 如果 Mode 设置为 PIXEL,则该值必须能被 Parallelism 整除。 |
|
| ImplementationType | ||||
|---|---|---|---|---|
| 键入 | 静态写参数 | |||
| 默认 | AUTO | |||
| 范围 | (AUTO, EmbeddedALU, LUT) | |||
|
参数 ImplementationType 影响算子的实现策略,即 使用哪些逻辑元件来实现算子。 您可以选择以下值之一: AUTO: 实例化算子时,系统会根据参数 SequenceLengthBits 自动选择最佳实现策略。 EmbeddedALU:算子使用 FPGA 中非基于 LUT 的嵌入式算术逻辑元素。 LUT:算子使用 FPGA 的 LUT 逻辑。
|
||||
以下示例展示了 ImageValve 算子的用法:
-
DMA、RAM、GPIO、触发和 LED 硬件自检的示例。
-
示例 - 用于在硬件中调试设计内部数据流控制及可能的补偿。


![[注意]](../common/images/admon/note.png)
上一页

