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 进行调试。 |
| Property | 值 |
|---|---|
| Operator Type | M |
| 输入链路 | TriggerLineI(可选),可选的外部行触发信号输入。如果不用,请接地。 TriggerFrameI(可选),可选的外部帧触发信号输入。如果不用,请接地。 |
| Output Link | O,图像数据输出 |
| 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 的用法:
-
示例 - 当由发生器提供图像时序时,可以分析设计的数据流。
-
示例 - 用于在硬件中调试设计内部数据流控制及可能的补偿。

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

