Operator Library: Debugging
Operator StreamAnaylzer는 데이터 흐름에 대한 정보를 제공합니다. 이미지 데이터를 변경하지 않습니다.
이 operator를 사용하여 차단(억제) 조건을 감지할 수 있습니다.
파이프라인에서 차단이 발생할 경우, 이 operator를 통해 프레임 내 어디서(어떤 픽셀에서) 차단이 발생했는지 확인할 수 있습니다.
또한 operator StreamAnalyzer는 파이프라인 용량 활용도에 대한 데이터(백분율로 표시된 유효 시간 비율, 유휴 시간 비율, 차단된 시간 비율)를 제공합니다.
내부 Counter가 오버플로되면 OverflowMask 파라미터에 해당 오버플로 비트가 설정되고 Counter가 중지됩니다.
![]() |
런타임 테스트 |
|---|---|
|
이 Operator는 런타임 중에 디자인을 테스트하고 분석하도록 설계되었습니다. 디자인을 빌드(합성)하고, 타겟 하드웨어에 로드한 후, 실제 이미지 처리를 시작해야 디버깅에 Operator를 사용할 수 있습니다. 이 Operator는 VisualApplets 내의 디자인 시뮬레이션용이 아닙니다. |
| Link Parameter | Input Link I | Output Link O |
|---|---|---|
| Bit Width | [1, 64] | as I |
| Arithmetic | {unsigned, signed} | as I |
| Parallelism | any | as I |
| Kernel Columns | any | as I |
| Kernel Rows | any | as I |
| Img Protocol | VALT_IMAGE2D, LINE1D, PIXEL0D | as I |
| Color Format | any | as I |
| Color Flavor | any | as I |
| Max. Img Width | any | as I |
| Max. Img Height | any | as I |
| ClearMode | |
|---|---|
| Type | dynamic write parameter |
| Default | ClearWithProcessStart |
| Range | {NoClearing, ClearWithProcessStart, ClearWithProcessReset, SendClearPulse} |
|
이 파라미터는 모든 read 파라미터의 리셋 동작을 정의합니다. NoClearing: 모든 읽기 파라미터의 값이 유지됩니다. ProcessEnable과 ProcessReset은 이러한 값에 영향을 미치지 않습니다. ClearWithProcessStart: 읽기 파라미터의 값은 ProcessEnable의 상승 에지에서만 지워집니다. ClearWithProcessReset: 읽기 파라미터의 값은 ProcessReset의 상승 에지에서만 지워집니다. SendClearPulse: 모든 읽기 파라미터 값을 온디맨드로 지웁니다. |
|
| MeasurementMode | |
|---|---|
| Type | dynamic write parameter |
| Default | AllCycles |
| Range | {AllCycles, FrameCyclesOnly, LineCyclesOnly} |
|
이 파라미터를 사용하면 MeasurementPeriod의 특정 구간을 분석할 수 있습니다: AllCycles: MeasurementPeriod 내의 모든 사이클에 걸쳐 성능을 측정합니다. FrameCyclesOnly: 프레임의 시작과 끝 사이의 모든 사이클에 걸쳐 성능을 측정합니다. 따라서 MeasurementPeriod 내의 프레임 간격은 제외됩니다. LineCyclesOnly: 라인의 시작과 끝 사이의 모든 사이클에 걸쳐 성능을 측정합니다. 따라서 MeasurementPeriod 내의 프레임 간격과 라인 간격은 제외됩니다. |
|
| MeasurementPeriod | |
|---|---|
| Type | dynamic write parameter |
| Default | 1000 |
| Range | [1, 65535] |
|
성능 측정을 위한 시간(밀리초). 측정 기간(MeasurementPeriod)의 정의는 시간 비율을 분석하고 평균값을 계산하는 데 중요합니다. |
|
| FrameCountWidth | |
|---|---|
| Type | static write parameter |
| Default | 24 |
| Range | [4, 63] |
|
프레임 Counter의 Bit Width를 설정합니다. (프레임 Counter는 CurrFrame 파라미터입니다). |
|
| CurrTime | |
|---|---|
| Type | 동적 읽기 파라미터 |
| Default | 0 |
| Range | [0, (2^32)-1] |
|
측정 기간 시작 이후 경과된 시간(밀리초). |
|
| CurrFrame | |
|---|---|
| Type | 동적 읽기 파라미터 |
| Default | 0 |
| Range | [0, (2^FrameCountWidth) -1] |
|
이 파라미터는 프레임 Counter 역할을 합니다. EndOfFrame 플래그로 종료된 모든 프레임을 카운트합니다. IMAGE-2D 모드에서만 사용할 수 있습니다. |
|
| CurrBlocked | |
|---|---|
| Type | 동적 읽기 파라미터 |
| Default | 0 |
| Range | [0, 1] |
|
1로 설정된 경우: 값 1은 이미지 흐름이 차단되었음을 나타냅니다. |
|
| BlockedCyclesPerFrame | |
|---|---|
| Type | 동적 읽기 파라미터 |
| Default | 0 |
| Range | [0, (2^(ImageWidthtBitwidth+4))-1] |
|
하나의 프레임이 통과하는 동안 이미지 흐름이 차단된 클록 사이클 수를 카운트합니다. A pixel gap always has exactly the length of the blocking which provokes the gap. However, the offset of the gap may differ from the offset of the blocking status. ![]() 버퍼 오퍼레이터가 처리 라인의 앞단에 구현된 경우, 차단 상태로 인해 전송할 수 없는 픽셀은 버퍼링됩니다. 버퍼 오퍼레이터가 처리 라인의 앞단에 구현되지 않은 경우, 차단 상태로 인해 전송할 수 없는 픽셀은 폐기됩니다. |
|
| FirstBlockedFrame | |
|---|---|
| Type | 동적 읽기 파라미터 |
| Default | 0 |
| Range | [0, (2^FrameCountWidth)-1] |
|
최초 차단이 발생한 프레임의 프레임 번호입니다. |
|
| LastBlockedFrame | |
|---|---|
| Type | 동적 읽기 파라미터 |
| Default | 0 |
| Range | [0, (2^FrameCountWidth)-1] |
|
마지막 차단이 발생한 프레임의 프레임 번호입니다. |
|
| FirstBlockedXPos | |
|---|---|
| Type | 동적 읽기 파라미터 |
| Default | 0 |
| Range | [0, (2^(ImageWidthBitWidth+4))-1] |
|
최초 차단이 나타난 수평 위치입니다. |
|
| LastBlockedXPos | |
|---|---|
| Type | 동적 읽기 파라미터 |
| Default | 0 |
| Range | [0, (2^(ImageWidthBitWidth+4))-1] |
|
현재까지 이미지 흐름이 차단되었던 마지막 수평 위치입니다. 예: 값이 7인 경우: 수평 위치 7은 현재까지 차단된 마지막 X 위치였습니다. 수평 위치 8은 발생한 마지막 차단 이후 차단되지 않은 첫 번째 위치입니다. |
|
| FirstBlockedYPos | |
|---|---|
| Type | 동적 읽기 파라미터 |
| Default | 0 |
| Range | [0, (2^(ImageWidthBitWidth+4))-1] |
|
최초 차단이 나타난 수직 위치입니다. |
|
| LastBlockedYPos | |
|---|---|
| Type | 동적 읽기 파라미터 |
| Default | 0 |
| Range | [0, (2^(ImageWidthBitWidth+4))-1] |
|
현재까지 이미지 흐름이 차단되었던 마지막 수직 위치입니다. 예: 값이 13인 경우: 수직 위치 13은 현재까지 차단된 마지막 Y 위치였습니다. 수직 위치 14는 발생한 마지막 차단 이후 차단되지 않은 첫 번째 위치입니다. |
|
| FirstBlockedTime | |
|---|---|
| Type | 동적 읽기 파라미터 |
| Default | 0 |
| Range | [0, (2^32)-1] |
|
최초 차단이 나타난 타임스탬프입니다. |
|
| LastBlockedTime | |
|---|---|
| Type | 동적 읽기 파라미터 |
| Default | 0 |
| Range | [0, (2^32)-1] |
|
마지막 차단이 나타난 시점의 타임스탬프입니다. 이 시점 이후 현재까지 추가적인 차단이 발생하지 않았습니다. |
|
| DataRate | |
|---|---|
| Type | 동적 읽기 파라미터 |
| Default | 0 |
| Range | |
|
초당 메가 픽셀 단위로 측정된 데이터 전송률입니다. |
|
| BlockedFraction | |
|---|---|
| Type | 동적 읽기 파라미터 |
| Default | 0 |
| Range | [0.0, 100.0] |
|
측정 기간 내 차단된 사이클의 백분율입니다(MeasurementPeriod 파라미터 참조). |
|
| IdleFraction | |
|---|---|
| Type | 동적 읽기 파라미터 |
| Default | 0 |
| Range | [0.0, 100.0] |
|
측정 기간 내 유휴 사이클의 백분율입니다(MeasurementPeriod 파라미터 참조). |
|
| ValidFraction | |
|---|---|
| Type | 동적 읽기 파라미터 |
| Default | 0 |
| Range | [0.0, 100.0] |
|
측정 기간 내 데이터를 전송하는 유효 사이클의 백분율입니다(MeasurementPeriod 파라미터 참조). |
|
| OverflowMask | |
|---|---|
| Type | 동적 읽기 파라미터 |
| Default | 0 |
| Range | [0, 511] |
|
Operator Control: 비트 인코딩된 오버플로 신호입니다. 설정된 비트는 다음 Counter에서 오버플로가 발생했음을 나타냅니다.
[0] = FrameCount [1] = PixelCount [2] = xPos [3] = yPos [4] = LinePeriod [5] = InhibitCount [6] = InhibitCountFrame [7] = IdleCount [8] = ValidCount |
|
다음 예제에서는 StreamAnalyzer 오퍼레이터의 사용법을 보여 줍니다.
-
예제 - 이미지 치수가 측정되며 디자인 흐름을 분석하는 데 사용할 수 있습니다.
-
예시 - 이미지 타이밍이 제너레이터에 의해 제공되는 동안 디자인의 데이터 흐름을 분석할 수 있습니다.

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

이전

