Operator Library: Debugging
使用算子 ImageFlowControl,您可以控制从无限源接收的数据流。
在以下情况下,算子 ImageFlowControl 尤为有用:
- 设计由源源不断(无限)的源输入,且未采用基于 RAM 的图像缓冲区。
- 包含循环,且您希望检测并防止循环中出现数据丢失。
通过使用此算子,您可以确保后续管道中不会发生 FIFO 溢出。
该算子的工作原理类似于算子 ImageFifo —— 它内置一个 FIFO。
此外,该算子提供特定的溢出控制机制。如果发生溢出:
- 图像被截断(仅转发图像的前一部分)。
- 只要溢出情况持续存在,图像就会被丢弃。(当溢出情况结束后,传输将从下一帧的第一个像素开始。)
通过这种方式,该算子可确保设计能够正常运行。
特定的计数参数会告知您丢失了多少帧,以及由于在溢出情况下被截断而导致转发不完整的帧有多少。这使您能够追踪设计中(或例如在循环中)的数据 loss。
此外,可以使用具有可选宽度和高度的虚拟帧来补偿丢失的帧。在输出链路存在临时带宽限制的情况下,此功能有助于保持输入帧和输出帧的速率恒定。但是,只有当生成的虚拟帧的大小与丢失的帧相比足够小时,此功能才有效。
![]() |
运行时测试 |
|---|---|
|
此 operator 专为在运行时测试和分析您的设计而设计:您需要构建(综合)设计,将其加载到目标硬件上,并启动实际图像 processing,然后才能使用该 operator 进行调试。 该 operator 不适用于 VisualApplets 中的设计仿真。 |
| Property | 值 |
|---|---|
| Operator Type | M |
| 输入链路 | TerminateI(可选),外部终止信号输入。如果设置为 1,则当前输入图像将被终止,即该算子充当宿(sink)。可以通过 CompensateLostFrames 参数启用对丢失帧的补偿。 I,图像数据输入 |
| Output Links | O,图像数据输出 StatusO(可选),statusO 端口与图像数据输出端口 O 同步。该端口宽度为两位。位 0:如果设置,则表示当前帧被截断。位 1:如果设置,则表示这是一个虚拟帧。只需评估帧内的最后一个数据字。 |
| Link Parameter | 输入链路 TerminateI(可选) | Input Link I | Output Link O | 输出链路 StatusO(可选) |
|---|---|---|---|---|
| Bit Width | 1 | [1, 64] | as I | 2 |
| Arithmetic | 没有任何 | {unsigned, signed} | as I | as I |
| Parallelism | 没有任何 | any | as I | as I |
| Kernel Columns | 没有任何 | any | as I | as I |
| Kernel Rows | 没有任何 | any | as I | as I |
| Img Protocol | SIGNAL | VALT_IMAGE2D | as I | as I |
| Color Format | 没有任何 | any | as I | GRAY |
| Color Flavor | 没有任何 | any | as I | 没有任何 |
| Max. Img Width | 没有任何 | any | as I | as I |
| Max. Img Height | 没有任何 | any | as I | as I |
| EntitiesToStore | |
|---|---|
| 键入 | 静态写参数 |
| 默认 | 8 |
| 范围 | [1, (2^32)-1] |
|
要存储的 fifo 实体数量。 |
|
| EntitiesType | |
|---|---|
| 键入 | 静态写参数 |
| 默认 | LINE |
| 范围 | {FRAME, LINE, PIXEL} |
|
定义存储实体。 |
|
| ImplementationType | |
|---|---|
| 键入 | 静态写参数 |
| 默认 | AUTO |
| 范围 | {AUTO, BRAM, LUTRAM} |
|
定义 fifo 实现类型。 |
|
| FifoFillLevel | |
|---|---|
| 键入 | 动态写入参数 |
| 默认 | 0% |
| 范围 | [0%, 100%] |
|
Actual fifo Fill level in percent. |
|
| MaxFifoFillLevel | |
|---|---|
| 键入 | 动态写入参数 |
| 默认 | 0% |
| 范围 | [0%, 100%] |
|
Stores the maximum fifo Fill level ever reached. |
|
| CounterWidth | |
|---|---|
| 键入 | 静态写参数 |
| 默认 | 16 |
| 范围 | [8, 32] |
|
Sets the Bit Width of all Counter inside this operator. |
|
| LostFrameCount | |
|---|---|
| 键入 | 动态只读参数 |
| 默认 | 16 |
| 范围 | [0, (2^CounterWidth)-1] |
|
Counts whole frames which were lost due blocking of the output link or the optional TerminateI input.ra> |
|
| IncompleteFrameCount | |
|---|---|
| 键入 | 动态只读参数 |
| 默认 | 16 |
| 范围 | [0, (2^CounterWidth)-1] |
|
Counts incomplete frames which where prematurely terminated. |
|
| FullFrameCount | |
|---|---|
| 键入 | 动态只读参数 |
| 默认 | 16 |
| 范围 | [0, (2^CounterWidth)-1] |
|
Counts full frames which were passed through to the output link. |
|
| ClearStatus | |
|---|---|
| 键入 | 动态写入参数 |
| 默认 | 无 |
| 范围 | {Yes, No} |
|
If set to "yes" all Counter are cleared. |
|
| CompensateLostFrame | |
|---|---|
| 键入 | 动态写入参数 |
| 默认 | 无 |
| 范围 | {Yes, No} |
|
If set to Yes all lost frame are compensated through the insertion of dummy frames. |
|
| DummyFrameWidth | |
|---|---|
| 键入 | 动态写入参数 |
| 默认 | 1024 |
| 范围 | [2, MaxImageWidth] |
|
Width of the dummy frame to be generated. |
|
| DummyFrameHeight | |
|---|---|
| 键入 | 动态写入参数 |
| 默认 | 1 |
| 范围 | [1, MaxImageHeight] |
|
Height of the dummy frame to be generated. |
|
| DummyFrameCount | |
|---|---|
| 键入 | 动态只读参数 |
| 默认 | 0 |
| 范围 | [0,(2^CounterWidth)-1] |
|
Counts all generated dummy frames. |
|
| EofDifferenceFrameCount | |
|---|---|
| 键入 | 动态只读参数 |
| 默认 | 0 |
| 范围 | [-(2^CounterWidth), (2^CounterWidth)-1] |
|
出站和进站帧数之间的差值:OutgoingEofCounter-IncomingEofCounter。 |
|

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

