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 내의 디자인 시뮬레이션용이 아닙니다. |
| 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 |
| 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 오퍼레이터의 사용법은 다음 예시에서 확인할 수 있습니다.
-
예시 - 디버깅 목적을 위해 링크상의 이미지 전송 상태를 조사할 수 있습니다.

![[중요]](../common/images/admon/important.png)
이전

