Operator ImageMonitor

Operator Library: Debugging

Operator ImageMonitor 可为您从内部流水线中您定义的任意位置获取图像。 您可以看到图像到达该位置之前的处理情况,并利用此信息进行调试。

Operator ImageMonitor 的工作方式类似于在 VisualApplets 中仿真设计时使用的 Simulation Probe —— 不同之处在于,Operator ImageMonitor 用于运行时的测试。

该算子提供了一个非常简单的图像读出寄存器接口。当将参数 Mode 设置为 image monitoring 时, 只需读取 PixelData 寄存器即可读取整幅图像。

这非常有用,因为您无需占用有限的 DMA 通道即可监控图像数据。

设计中 ImageMonitor 算子实例的数量理论上是无限的。 但是,您应该谨慎使用该算子以节省资源,因为为了在读出期间暂停数据流,引入了额外的 FPGA 逻辑。 这也意味着该算子不能用于监控无限源。

支持的像素位宽限制为 61 位,因为 PixelData 的最后三位带有 Valid、EndOfLine 和 EndOfFrame 标志。

CurrXPos 和 CurrYPos 参数指向当前活动的像素位置。此信息可用于过滤输出像素,例如, 仅分析每隔一个或两个像素。

[重要] 运行时测试

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

该 operator 不适用于 VisualApplets 中的设计仿真。

I/O Property

Property 值
Operator Type M
Input Link I, image data input

Supported Link Format

Link Parameter Input Link I
Bit Width [1, 61]
Arithmetic {unsigned, signed}
Parallelism any
Kernel Columns 1
Kernel Rows 1
Img Protocol {VALT_IMAGE2D, VALT_LINE1D}
Color Format any
Color Flavor any
Max. Img Width any
Max. Img Height any

参数

模式
键入 动态写入参数
默认 UnlimitedSink
范围 {UnlimitedSink, Monitor, MonitorFromLineStart, MonitorFromFrameStart}

此参数用于设置工作模式。

UnlimitedSink = 无监控,因为所有输入都会被丢弃。

Monitor = 立即切换到监控模式。

MonitorFromLineStart = 在当前行结束后切换到监控模式。

MonitorFromFrameStart = 在当前帧结束后切换到监控模式。

ReadyForMonitoring
键入 动态只读参数
默认 没有
范围 {yes, no}

指示读取 PixelData 参数的就绪状态。只有在设置为 yes 时才能读取 PixelData。

PixelData
键入 动态只读参数
默认
范围 [1, 64]

包含当前像素值和三个像素标志。当 valid 标志未设置时,像素值将被丢弃。

PixelValue = PixelData[1, LinkBitWidth]

ValidFlag = PixelData[LinkBitWidth+1]

EndOfLineFlag =

PixelData[LinkBitWidth+2]

EndOfFrameFlag =

PixelData[LinkBitWidth+3]

CurrXPos
键入 动态只读参数
默认 0
范围 [0, MaxImageWidth-1]

显示当前行位置。

CurrYPos
键入 动态只读参数
默认 0
范围 [0, MaxImageHeight-1]

显示当前图像高度位置。

使用示例

以下示例展示了 ImageMonitor 算子的使用方法:

  • '图像监控'

    示例 - 出于调试目的,可以检查链接上的图像传输状态。