StreamAnalyzer 오퍼레이터

Operator Library: Debugging

StreamAnaylzer 연산자는 데이터 흐름에 대한 정보를 제공합니다. 이 연산자는 이미지 데이터 자체에는 영향을 미치지 않습니다.

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

파이프라인에서 블로킹이 발생하면, 이 연산자를 사용하여 프레임의 어느 부분(어떤 픽셀)에서 블로킹이 발생했는지 확인할 수 있습니다.

또한, StreamAnalyzer 연산자는 파이프라인 용량 활용도에 대한 데이터 (유효 비율, 유휴 비율, 차단 비율(시간 기준, 백분율))을 제공합니다.

내부 카운터가 오버플로우되면, OverflowMask 매개변수에서 해당 오버플로우 비트가 설정되고 카운터가 정지합니다.

[중요] 런타임 테스트

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

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

I/O Properties

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

지원되는 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 파라미터
Default 프로세스 시작 시 지우기
Range {NoClearing, ClearWithProcessStart, ClearWithProcessReset, SendClearPulse}

이 매개변수는 모든 읽기 매개변수에 대한 재설정 동작을 정의합니다.

NoClearing: 읽은 모든 매개변수의 값이 유지됩니다. ProcessEnable 및 ProcessReset은 이러한 값에 영향을 미치지 않습니다.

ClearWithProcessStart: 읽기 매개변수의 값은 ProcessEnable 신호의 상승 에지에서만 초기화됩니다.

ClearWithProcessReset: 읽기 매개변수의 값은 ProcessReset 신호의 상승 에지에서만 초기화됩니다.

SendClearPulse: 읽은 모든 매개변수 값을 수동으로 초기화합니다.

측정 모드
Type dynamic write 파라미터
Default AllCycles
Range {AllCycles, FrameCyclesOnly, LineCyclesOnly}

이 매개변수를 사용하면 MeasurementPeriod의 특정 구간을 분석할 수 있습니다:

AllCycles: 성능은 MeasurementPeriod 내의 모든 사이클에 걸쳐 측정됩니다.

FrameCyclesOnly: 성능은 프레임의 시작부터 끝까지의 모든 사이클을 기준으로 측정됩니다. 따라서 MeasurementPeriod 내의 프레임 간 공백은 제외됩니다.

LineCyclesOnly: 성능은 라인의 시작과 끝 사이의 모든 사이클에 걸쳐 측정됩니다. 따라서 측정 기간(MeasurementPeriod) 내의 프레임 간격과 라인 간격은 제외됩니다.

측정 기간
Type dynamic write 파라미터
Default 1000
Range [1, 65535]

성능 측정을 위한 시간(밀리초 단위).

측정 기간을 정의하는 것은 시간 비율을 분석하고, 평균값을 산출하는 데 중요합니다.

FrameCountWidth
Type 정적 쓰기 파라미터
Default 24
Range [4, 63]

프레임 카운터의 비트 폭을 설정합니다. (프레임 카운터는parameterCurrFrame입니다).

CurrTime
Type dynamic read parameter
Default 0
Range [0, (2^32)-1]

측정 기간이 시작된 이후로 경과한 시간(밀리초 단위).

CurrFrame
Type dynamic read parameter
Default 0
Range [0, (2^FrameCountWidth) - 1]

이 매개변수는 프레임 카운터 역할을 합니다. EndOfFrame 플래그로 종료되는 모든 프레임이 집계됩니다. IMAGE-2D 모드에서만 사용할 수 있습니다.

CurrBlocked
Type dynamic read parameter
Default 0
Range [0, 1]

1로 설정된 경우: 값 1은 이미지 흐름이 차단되었음을 나타냅니다.

프레임당 차단된 사이클 수
Type dynamic read parameter
Default 0
Range [0, (2^(이미지 너비 × 비트폭 + 4)) - 1]

한 프레임이 처리되는 동안 이미지 흐름이 차단된 클럭 사이클의 수를 계산합니다.

픽셀 갭의 길이는 항상 그 갭을 유발한 블로킹의 길이와 정확히 일치합니다. 그러나 갭의 오프셋은 블로킹 상태의 오프셋과 다를 수 있습니다.

처리 라인의 앞단에서 버퍼 연산자가 이미 구현된 경우, 차단 상태로 인해 전송할 수 없는 픽셀은 버퍼에 저장됩니다.

처리 라인의 앞 단계에서 버퍼 연산자가 구현되지 않은 경우, 차단 상태로 인해 전송할 수 없는 픽셀은 버려집니다.

첫 번째 차단된 프레임
Type dynamic read parameter
Default 0
Range [0, (2^FrameCountWidth)-1]

첫 번째 차단이 발생한 프레임의 프레임 번호.

마지막 차단된 프레임
Type dynamic read parameter
Default 0
Range [0, (2^FrameCountWidth)-1]

마지막 블로킹이 발생한 프레임의 프레임 번호.

FirstBlockedXPos
Type dynamic read parameter
Default 0
Range [0, (2^(이미지 너비 × 비트 폭 + 4)) - 1]

첫 번째 차단이 발생한 수평 위치.

마지막 차단된 X 좌표
Type dynamic read parameter
Default 0
Range [0, (2^(이미지 너비 × 비트 폭 + 4)) - 1]

지금까지 이미지 흐름이 차단되었던 마지막 수평 위치.

예시: 값이 7인 경우: 가로 위치 7은 지금까지 차단되었던 마지막 X 위치였습니다. 가로 위치 8은 마지막으로 차단된 후 처음으로 차단이 해제된 위치였습니다.

FirstBlockedYPos
Type dynamic read parameter
Default 0
Range [0, (2^(이미지 너비 × 비트 폭 + 4)) - 1]

첫 번째 차단이 발생한 수직 위치.

LastBlockedYPos
Type dynamic read parameter
Default 0
Range [0, (2^(이미지 너비 × 비트 폭 + 4)) - 1]

지금까지 이미지 흐름이 차단되었던 마지막 수직 위치.

예시: 값이 13인 경우: 수직 위치 13은 지금까지 차단되었던 마지막 Y 위치입니다. 수직 위치 14는 마지막으로 차단이 발생한 후 차단되지 않은 첫 번째 위치입니다.

첫 차단 시간
Type dynamic read parameter
Default 0
Range [0, (2^32)-1]

첫 번째 차단이 발생한 시점의 타임스탬프.

마지막 차단 시간
Type dynamic read parameter
Default 0
Range [0, (2^32)-1]

마지막 차단이 발생한 시점의 타임스탬프.

이 시점 이후로는 지금까지 더 이상 차단이 발생하지 않았습니다.

데이터 전송 속도
Type dynamic read parameter
Default 0
Range

측정된 데이터 전송 속도는 초당 메가픽셀 단위입니다.

차단된 비율
Type dynamic read parameter
Default 0
Range [0.0, 100.0]

측정 기간 내 차단된 사이클의 비율(매개변수 MeasurementPeriod 참조).

유휴 비율
Type dynamic read parameter
Default 0
Range [0.0, 100.0]

측정 기간 내 유휴 사이클의 비율 (매개변수 MeasurementPeriod 참조).

유효한 분수
Type dynamic read parameter
Default 0
Range [0.0, 100.0]

측정 기간(매개변수 MeasurementPeriod 참조) 내에 데이터를 포함하는 유효 사이클의 비율.

오버플로우 마스크
Type dynamic read parameter
Default 0
Range [0, 511]

운영자 제어:

비트 인코딩 방식의 오버플로 신호. 비트가 설정되어 있으면 다음 카운터에서 오버플로가 발생했음을 나타냅니다:

[0] = 프레임 수

[1] = 픽셀 수

[2] = xPos

[3] = yPos

[4] = 선 기간

[5] = 억제 횟수

[6] = InhibitCountFrame

[7] = 유휴 횟수

[8] = 유효 개수

사용 예

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

  • '이미지 크기 테스트'

    예시 - 이미지의 크기를 측정하여 설계 흐름을 분석하는 데 활용할 수 있습니다.

  • 'Image Timing Generator'

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