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]

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

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

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

使用示例

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