Operator ImageMonitor

Operator Library: Debugging

Operator ImageMonitor는 내부 파이프라인에서 사용자가 정의한 임의의 지점에서 이미지를 가져옵니다. 이미지가 해당 지점에 도달할 때까지 어떤 일이 발생했는지 확인할 수 있으며, 이 정보를 디버깅에 사용할 수 있습니다.

Operator ImageMonitor는 VisualApplets에서 디자인을 시뮬레이션할 때 사용하는 Simulation Probe와 유사하게 작동하지만, 오직 Operator ImageMonitor는 런타임 중 테스트 용도로 사용됩니다.

이 Operator는 매우 간단한 이미지 판독 레지스터 인터페이스를 제공합니다. Mode 파라미터가 image monitoring으로 설정된 경우, PixelData 레지스터만 읽어 전체 이미지를 읽을 수 있습니다.

이는 제한된 DMA 채널 중 하나를 사용하지 않고도 이미지 데이터를 모니터링할 수 있으므로 매우 유용합니다.

디자인 내의 ImageMonitor Operator 인스턴스 수는 이론적으로 무제한입니다. 그러나 판독 중 데이터 흐름을 일시 중지하기 위한 추가 FPGA 로직이 도입되므로 리소스를 절약하기 위해 이 Operator를 신중하게 사용해야 합니다. 또한 이는 무한 소스(infinite sources)를 모니터링하는 데 이 Operator를 사용할 수 없음을 의미합니다.

PixelData의 마지막 세 비트가 Valid, EndOfLine 및 EndOfFrame 플래그를 전달하므로 지원되는 픽셀 너비는 61비트로 제한됩니다.

CurrXPos 및 CurrYPos 파라미터는 현재 활성 상태인 픽셀 위치를 가리킵니다. 이 정보는 출력을 필터링하는 데 사용할 수 있습니다(예: 2번째 또는 3번째 픽셀마다 분석).

[중요] 런타임 테스트

이 Operator는 런타임 중에 디자인을 테스트하고 분석하도록 설계되었습니다. 디자인을 빌드(합성)하고, 타겟 하드웨어에 로드한 후, 실제 이미지 처리를 시작해야 디버깅에 Operator를 사용할 수 있습니다.

이 Operator는 VisualApplets 내의 디자인 시뮬레이션용이 아닙니다.

I/O Properties

Property Value
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

Parameters

Mode
Type dynamic write parameter
Default UnlimitedSink
Range {UnlimitedSink, Monitor, MonitorFromLineStart, MonitorFromFrameStart}

이 파라미터는 작업 모드를 설정합니다.

UnlimitedSink = 모든 입력이 폐기되므로 모니터링을 수행하지 않습니다.

Monitor = 즉시 모니터링 모드로 전환됩니다.

MonitorFromLineStart = 현재 라인이 끝난 후 모니터링 모드로 전환됩니다.

MonitorFromFrameStart = 현재 프레임이 끝난 후 모니터링 모드로 전환됩니다.

ReadyForMonitoring
Type 동적 읽기 파라미터
Default 표시된 패킷 크기 값은 카메라에
Range {yes, no}

PixelData 파라미터를 읽을 준비가 되었음을 나타냅니다. PixelData는 yes로 설정된 경우에만 읽어야 합니다.

PixelData
Type 동적 읽기 파라미터
Default
Range [1, 64]

현재 픽셀 값과 세 개의 픽셀 플래그가 포함됩니다. valid 플래그가 설정되지 않은 경우 픽셀 값은 폐기됩니다.

PixelValue = PixelData[1, LinkBitWidth]

ValidFlag = PixelData[LinkBitWidth+1]

EndOfLineFlag =

PixelData[LinkBitWidth+2]

EndOfFrameFlag =

PixelData[LinkBitWidth+3]

CurrXPos
Type 동적 읽기 파라미터
Default 0
Range [0, MaxImageWidth-1]

현재 라인 위치를 표시합니다.

CurrYPos
Type 동적 읽기 파라미터
Default 0
Range [0, MaxImageHeight-1]

현재 이미지 높이 위치를 표시합니다.

사용 예제

ImageMonitor 오퍼레이터의 사용법은 다음 예시에서 확인할 수 있습니다.

  • 'Image Monitoring'

    예시 - 디버깅 목적을 위해 링크상의 이미지 전송 상태를 조사할 수 있습니다.