StreamAnalyzer Operator

Operator Library: Debugging

Operator StreamAnaylzer는 데이터 흐름에 대한 정보를 제공합니다. 이미지 데이터를 변경하지 않습니다.

이 operator를 사용하여 차단(억제) 조건을 감지할 수 있습니다.

파이프라인에서 차단이 발생할 경우, 이 operator를 통해 프레임 내 어디서(어떤 픽셀에서) 차단이 발생했는지 확인할 수 있습니다.

또한 operator StreamAnalyzer는 파이프라인 용량 활용도에 대한 데이터(백분율로 표시된 유효 시간 비율, 유휴 시간 비율, 차단된 시간 비율)를 제공합니다.

내부 Counter가 오버플로되면 OverflowMask 파라미터에 해당 오버플로 비트가 설정되고 Counter가 중지됩니다.

[중요] 런타임 테스트

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

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

I/O Properties

Property Value
Operator Type O
Input Link I, 이미지 데이터 입력
Output Link O, 이미지 데이터 출력

Supported Link Format

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

Parameters

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 오퍼레이터의 사용법을 보여 줍니다.

  • 'Image Dimension Test'

    예제 - 이미지 치수가 측정되며 디자인 흐름을 분석하는 데 사용할 수 있습니다.

  • 'Image Timing Generator'

    예시 - 이미지 타이밍이 제너레이터에 의해 제공되는 동안 디자인의 데이터 흐름을 분석할 수 있습니다.