Operator ImageTimingGenerator

Operator Library: Debugging

算子 ImageTimingGenerator 允许您在生产系统中仿真与实际相机相同的图像时序。

该算子创建一个黑色图像输出。它提供了许多参数,使您能够定义图像输出的时序行为。

使用此算子可测试后续图像处理管道能否处理特定数据流时序。

您可以了解特定的时序行为是否会导致瓶颈,或者您的设计管道是否能够在存在时序偏差的情况下处理图像。

行生成设置和帧生成设置支持四种不同的生成模式:

  • FreeRun:FreeRun 模式可实现最快的生成速度。
  • JitterMode:JitterMode 的工作方式与 FreeRun 模式类似,但允许您为时序生成定义抖动。
  • FixedFreqency:FixedFreqency 生成模式允许您设置固定的时序。
  • ExternalTrigger:如果希望使用输入信号来触发行和/或帧生成,可以将行和/或帧生成设置设为 ExternalTrigger 模式。

此外,您还可以测试设计对图像高度、图像宽度、行间隙和帧间隙变化的反应。您可以通过查找表和可变抖动设置来定义这些参数。

您还可以调整像素占空比,以模拟虚拟像素时钟的减慢。

ImageHeightJitter 和 FrameGapJitter 仅在 FrameGenerationMode 设置为 JitterMode 时才处于活动状态(可使用)。同样,ImageWidthJitter 和 LineGapJitter 仅在 LineGenerationMode = JitterMode 期间处于活动状态。

帧生成参数以及 ImageHeight 参数仅适用于 VALT_IMAGE2D 图像输出协议。此外,所有行生成参数以及 ImageWidth 参数也仅适用于 VALT_IMAGE2D 或 VALT_LINE1D 图像输出协议。

[注意] 设计仿真期间的行为(构建前)

在设计仿真期间,仅使用参数 ImageHeightLut、ImageWidthLut、MaxImageSequenceLength 和 ImageSequenceLength。该算子的所有其他算子参数和 LUT 条目对仿真图像没有影响。这意味着在仿真期间,算子 ImageTimingGenerator 的行为类似于算子 CreateBlackImage。

该算子的所有其他算子参数和 LUT 条目对仿真图像没有影响(即在仿真期间,算子 ImageTimingGenerator 的行为类似于算子 CreateBlackImage)。

[重要] 运行时测试

此 operator 专为在运行时测试和分析您的设计而设计:您需要构建(综合)设计,将其加载到目标硬件上,并启动实际图像 processing,然后才能使用该 operator 进行调试。

I/O Property

Property 值
Operator Type M
输入链路 TriggerLineI(可选),可选的外部行触发信号输入。如果不用,请接地。
TriggerFrameI(可选),可选的外部帧触发信号输入。如果不用,请接地。
Output Link O,图像数据输出

Supported Link Format

Link Parameter 输入链路 TriggerLineI(可选) 输入链路 TriggerFrameI(可选) Output Link O
Bit Width 1 1 1
Arithmetic 没有任何 没有任何 unsigned
Parallelism 没有任何 没有任何 any
Kernel Columns 没有任何 没有任何 1
Kernel Rows 没有任何 没有任何 1
Img Protocol SIGNAL SIGNAL {VALT_IMAGE2D, VALT_LINE1D, VALT_PIXEL0D}
Color Format 没有任何 没有任何 GRAY
Color Flavor 没有任何 没有任何 没有任何
Max. Img Width 没有任何 没有任何 any
Max. Img Height 没有任何 没有任何 any

参数

MaxImageSequenceLength
键入 静态写参数
默认 1
范围 [1, (2^14)-1]

定义 ImageHeightLUT、ImageWidthLUT、FrameGapLUT 和 LineGapLUT 的 LUT 大小。

ImageSequenceLength
键入 动态写入参数
默认 1
范围 [1, (2^MaxImageSequenceLength)-1 ]

设置从 LUT 中使用的条目数。 如果设置为 1,则仅使用每个 LUT 的第一个条目。 例如,如果设置为 4,而 MaxImageSequenceLength 设置为(例如)7, 则所有 LUT 中的前四个条目将以轮询(round-robin)方式使用。

ImageHeightLUT
键入 动态写入参数
默认 1024
范围 [1, MaxImageHeight]

此 LUT 存储用于生成输出图像的图像高度值。在生成过程中,将以循环(round robin)方式读取 LUT 值。

ImageHeightJitter
键入 动态写入参数
默认 0
范围 [0, MaxImageHeightBitwidth-2]

允许在图像生成期间发生抖动的 ImageHeightLUT 值的最低有效位数。仅当参数 FrameGenerationMode 设置为 JitterMode 时使用。

ImageWidthLUT
键入 动态写入参数
默认 1024
范围 [1, MaxImageWidth]

此 LUT 存储用于生成输出图像的图像宽度值。在生成过程中,将以循环(round robin)方式读取 LUT 值。

ImageWidthJitter
键入 动态写入参数
默认 0
范围 [0, MaxImageWidthBitwidth-2]

允许在图像生成期间发生抖动的 ImageWidthLUT 值的最低有效位数。仅当参数 LineGeneration Mode 设置为 JitterMode 时使用。

PixelDutyCycle
键入 动态写入参数
默认 100
范围 [1, 100]

输出流的像素占空比。100% 意味着每个时钟周期对应一个输出像素。如果设置了 20% 的像素占空比,则每五个时钟周期生成一个输出像素。

FrameGenerationMode
键入 动态写入参数
默认 FreeRun
范围 {FreeRun, JitterMode, FixedFrequency, ExternalTrigger}

选择帧生成模式。

FreeRun:基于 ImageHeight 和 FrameGap 的最快图像生成模式。参数 FrameRate 将被忽略。

JitterMode:与 FreeRun 相同,但使用 FrameGapJitter 参数。

FixedFrequency:生成通过 FrameRate 参数设置的固定频率图像速率。

ExternalTrigger:可选的外部触发输入 TriggerFameI 用于触发新图像帧生成的开始。仅在启用端口 FrameTriggerI 时可用。

如果在当前图像生成结束之前触发了新图像的开始,则该请求将被忽略,并且 Counter 将递增。这适用于所有帧生成模式。

FrameRate
键入 动态写入参数
默认 10
范围 [0.5, 1048576.0]

目标图像频率(以 Hz 为单位)。仅当参数 FrameGenerationMode 设置为 FixedFrequency 时使用。最大 FrameRate 受 LineRate 和 ImageHeight 的限制。

FrameGapLUT
键入 动态写入参数
默认 1024
范围 [1, 67108863]

查找表条目定义了两个图像帧之间的间距。帧间距值定义为时钟周期的间距。在 FixedFreqency 生成模式下,此参数会被忽略。

FrameGapJitter
键入 动态写入参数
默认 0
范围 [0, FrameGapBitwidth-2]

在图像生成过程中允许发生抖动的 FrameGapLUT 值最低有效位的数量。仅在 JitterMode 图像生成期间使用。

LineGenerationMode
键入 动态写入参数
默认 FreeRun
范围 {FreeRun, JitterMode, FixedFrequency, ExternalTrigger}

选择行生成模式。

FreeRun:基于 ImageWidth 和 LineGap 的最快图像生成模式。参数 LineRate 将被忽略。

JitterMode:与 FreeRun 相同,但使用了 LineGapJitter 参数。

FixedFrequency:生成通过 LineRate 参数设置的固定频率行速率。

ExternalTrigger:可选的外部触发输入 TriggerLineI 用于触发新行生成的开始。仅在启用端口 LineTriggerI 时可用。

如果当前的行生成尚未结束且触发了新行的开始,则此请求将被忽略,并且 SkippedLine Counter 将递增。这适用于所有行生成模式。

LineRate
键入 动态写入参数
默认 10
范围 [0.5, 1048576.0]

目标行频率(以 Hz 为单位)。仅在 FixedFrequency 行生成模式下使用。最大 LineRate 受 LineGap 和 ImageWidth 的限制。

LineGapLUT
键入 动态写入参数
默认 1024
范围 [1, 67108863]

查找表条目定义了两行之间的间隙。行间隙值将间隙定义为两行之间的像素数。在 FixedFrequency 行生成模式下,此参数会被忽略。

LineGapJitter
键入 动态写入参数
默认 0
范围 [0, LineGapBitwidth-2]

在图像生成过程中允许发生抖动的 LineGapLUT 值最低有效位的数量。仅在 JitterMode 行生成期间使用。

SkippedLine
键入 动态只读参数
默认 0
范围 [0, 65535]

这是一个错误 Counter,用于指示行生成模式中的冲突设置。

如果当前的行生成尚未结束且触发了新行的开始,则此请求将被忽略,并且 SkippedLine Counter 将递增。这适用于所有行生成模式。

SkippedFrame
键入 动态只读参数
默认 0
范围 [0, 65535]

这是一个错误 Counter,用于指示帧生成模式中的冲突设置。

如果当前的图像生成尚未结束且触发了新图像的开始,则此请求将被忽略,并且 SkippedFrame Counter 将递增。这适用于所有帧生成模式。

LinesToSimulate
键入 静态写参数
默认 1
范围 [1, (2^32) - 1]

If the output link image protocol is set to VALT_LINE1D, it is required to specify the number of lines for simulation. This parameter is used to specify the simulation image height. See 'Simulation' for more information on 1D simulations. This parameter can only be changed if the output image protocol is set to VALT_LINE1D.

PixelsToSimulate
键入 静态写参数
默认 1
范围 [1, (2^32) - 1],步长 = output Parallelism

如果输出链路图像协议设置为 VALT_PIXEL0D,则需要指定用于模拟的像素流大小。此参数用于指定模拟像素流宽度。有关 0D 模拟的更多信息,请参见“Simulation”。只有在输出图像协议设置为 VALT_PIXEL0D 时,才可以更改此参数。

使用示例

以下示例展示了算子 ImageTimingGenerator 的用法: