ImageMonitor 오퍼레이터

Operator Library: Debugging

Operator ImageMonitor는 사용자가 지정한 내부 파이프라인의 어느 지점에서든 이미지를 가져옵니다. 이미지가 해당 지점에 도달하기까지 어떤 과정을 거쳤는지 확인할 수 있으며, 이 정보를 디버깅에 활용할 수 있습니다.

ImageMonitor 연산자는 VisualApplets 에서 설계를 시뮬레이션할 때 사용하는 시뮬레이션 프로브와 같은 방식으로 작동합니다. 단, ImageMonitor 연산자는 런타임 중 테스트에 사용된다는 점이 다릅니다.

이 장치는 매우 간단한 이미지 판독 레지스터 인터페이스를 제공합니다. Mode 매개변수가 이미지 모니터링으로 설정되어 있을 경우, PixelData 레지스터만 읽어도 전체 이미지를 읽어올 수 있습니다.

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

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

PixelData의 마지막 3비트가 Valid, EndOfLine 및 EndOfFrame 플래그를 나타내기 때문에 지원되는 픽셀 너비는 61비트로 제한됩니다.

CurrXPos 및 CurrYPos 매개변수는 현재 활성화된 픽셀 위치를 가리킵니다. 이 정보를 사용하여 출력 픽셀을 필터링할 수 있습니다. 예를 들어, 매 두 번째 또는 세 번째 픽셀만 분석하는 데 활용할 수 있습니다.

[중요] 런타임 테스트

이 오퍼레이터는 런타임 중에 디자인을 테스트하고 분석하기 위해 설계되었습니다. 오퍼레이터를 디버깅에 사용하려면 먼저 디자인을 빌드(합성)하고, 타겟 하드웨어에 로드한 후, 실제 이미지 처리를 시작해야 합니다.

이 오퍼레이터는 VisualApplets 내에서의 디자인 시뮬레이션용이 아닙니다.

I/O Properties

Property Value
Operator Type M
입력 링크 I, 이미지 데이터 입력

지원되는 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 파라미터
Default UnlimitedSink
Range {UnlimitedSink, Monitor, MonitorFromLineStart, MonitorFromFrameStart}

이 매개변수는 작동 모드를 설정합니다.

UnlimitedSink = 모든 입력이 무시되므로 모니터링되지 않습니다.

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

MonitorFromLineStart = 현재 줄이 끝난 후 모니터링 모드로 전환합니다.

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

모니터링 준비 완료
Type dynamic read parameter
Default no
Range {yes, no}

PixelData 매개변수를 읽을 준비가 되었음을 나타냅니다. PixelData는 'yes'로 설정된 경우에만 읽어야 합니다.

PixelData
Type dynamic read parameter
Default
Range [1, 64]

현재 픽셀 값과 세 개의 픽셀 플래그가 포함됩니다. 유효 플래그가 설정되지 않은 경우, 픽셀 값은 무시됩니다.

PixelValue = PixelData[1, LinkBitWidth]

ValidFlag = PixelData[LinkBitWidth+1]

EndOfLineFlag =

PixelData[LinkBitWidth+2]

EndOfFrameFlag =

PixelData[LinkBitWidth+3]

CurrXPos
Type dynamic read parameter
Default 0
Range [0, MaxImageWidth-1]

현재 줄 위치를 표시합니다.

CurrYPos
Type dynamic read parameter
Default 0
Range [0, MaxImageHeight-1]

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

사용 예

다음 예제에서는 ImageMonitor 연산자의 사용법을 보여줍니다:

  • '이미지 모니터링'

    예시 - 디버깅을 위해 링크별 이미지 전송 상태를 확인할 수 있습니다.