Operator ImageFlowControl

Operator Library: Debugging

ImageFlowControl 오퍼레이터를 사용하면 무한 소스에서 수신되는 데이터 흐름을 제어할 수 있습니다.

ImageFlowControl 오퍼레이터는 다음과 같은 경우에 특히 유용합니다.

  • 설계에 중단 없는(무한) 소스가 입력되고 RAM 기반 이미지 버퍼를 사용하지 않는 경우
  • 루프가 포함되어 있으며 루프 내 데이터 손실을 감지하고 방지하려는 경우

이 오퍼레이터를 사용하여 후속 파이프라인에서 FIFO 오버플로가 발생하지 않도록 할 수 있습니다.

이 오퍼레이터는 ImageFifo 오퍼레이터와 유사하게 작동하며 내장 FIFO를 가지고 있습니다.

또한 이 오퍼레이터는 특정 오버플로 제어 메커니즘을 제공합니다. 오버플로가 발생할 경우

  • 이미지가 잘립니다(이미지의 첫 부분만 전달됨).
  • 오버플로 상황이 지속되는 동안 이미지가 폐기됩니다. (오버플로 상황이 끝나면 다음 프레임의 첫 번째 픽셀부터 전송이 시작됩니다.)

이러한 방식으로 오퍼레이터는 설계를 원활하게 실행할 수 있도록 보장합니다.

특정 카운트 파라미터를 통해 오버플로 상황에서 잘린 프레임으로 인해 손실된 프레임 수와 불완전하게 전달된 프레임 수를 확인할 수 있습니다. 이를 통해 설계(또는 루프 등)에서의 데이터 손실을 추적할 수 있습니다.

또한, 너비와 높이를 선택할 수 있는 더미 프레임으로 손실된 프레임을 보상할 수 있습니다. 이 기능을 사용하면 출력 링크에서 일시적인 대역폭 제한이 발생할 경우 들어오고 나가는 프레임의 속도를 일정하게 유지할 수 있습니다. 그러나 이는 생성된 더미 프레임의 크기가 손실된 프레임에 비해 충분히 작은 경우에만 작동합니다.

[중요] 런타임 테스트

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

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

I/O Properties

Property Value
Operator Type M
Input Links TerminateI(선택 사항), 외부 종료 신호 입력. 1로 설정하면 현재 입력 이미지의 처리가 종료되며, 즉 오퍼레이터가 싱크(sink) 역할을 합니다. 손실된 프레임의 보상은 CompensateLostFrames 파라미터를 통해 활성화할 수 있습니다.
I, 이미지 데이터 입력
Output Links O, 이미지 데이터 출력
StatusO(선택 사항), statusO 포트는 이미지 데이터 출력 포트 O와 동기화됩니다. 이 포트의 너비는 2비트입니다. 비트 0: 설정된 경우 현재 프레임의 잘림을 신호로 알립니다. 비트 1: 설정된 경우 더미 프레임을 신호로 알립니다. 프레임 내의 마지막 데이터 워드만 평가해야 합니다.

Supported Link Format

Link Parameter 입력 링크 TerminateI(선택 사항) Input Link I Output Link O 출력 링크 StatusO(선택 사항)
Bit Width 1 [1, 64] as I 2
Arithmetic 없음 {unsigned, signed} as I as I
Parallelism 없음 any as I as I
Kernel Columns 없음 any as I as I
Kernel Rows 없음 any as I as I
Img Protocol SIGNAL VALT_IMAGE2D as I as I
Color Format 없음 any as I GRAY
Color Flavor 없음 any as I 없음
Max. Img Width 없음 any as I as I
Max. Img Height 없음 any as I as I

Parameters

EntitiesToStore
Type static write parameter
Default 8
Range [1, (2^32)-1]

저장할 fifo 엔티티 수입니다.

EntitiesType
Type static write parameter
Default LINE
Range {FRAME, LINE, PIXEL}

스토리지 엔티티를 정의합니다.

ImplementationType
Type static write parameter
Default AUTO
Range {AUTO, BRAM, LUTRAM}

fifo 구현 유형을 정의합니다.

FifoFillLevel
Type dynamic write parameter
Default 0%
Range [0%, 100%]

백분율로 표시되는 실제 fifo 채움 수준입니다.

MaxFifoFillLevel
Type dynamic write parameter
Default 0%
Range [0%, 100%]

도달한 적이 있는 최대 fifo Fill 레벨을 저장합니다.

CounterWidth
Type static write parameter
Default 16
Range [8, 32]

이 오퍼레이터 내의 모든 카운터의 Bit Width를 설정합니다.

LostFrameCount
Type 동적 읽기 파라미터
Default 16
Range [0, (2^CounterWidth)-1]

출력 링크 또는 선택적 TerminateI 입력의 차단으로 인해 손실된 전체 프레임을 카운트합니다.ra>

IncompleteFrameCount
Type 동적 읽기 파라미터
Default 16
Range [0, (2^CounterWidth)-1]

조기에 종료된 불완전한 프레임을 카운트합니다.

FullFrameCount
Type 동적 읽기 파라미터
Default 16
Range [0, (2^CounterWidth)-1]

출력 링크로 통과된 전체 프레임을 카운트합니다.

ClearStatus
Type dynamic write parameter
Default No
Range {Yes, No}

Yes로 설정하면 모든 카운터가 지워집니다.

CompensateLostFrame
Type dynamic write parameter
Default No
Range {Yes, No}

Yes로 설정하면 더미 프레임을 삽입하여 손실된 모든 프레임을 보상합니다.

DummyFrameWidth
Type dynamic write parameter
Default 1024
Range [2, MaxImageWidth]

생성할 더미 프레임의 너비입니다.

DummyFrameHeight
Type dynamic write parameter
Default 1
Range [1, MaxImageHeight]

생성할 더미 프레임의 높이입니다.

DummyFrameCount
Type 동적 읽기 파라미터
Default 0
Range [0,(2^CounterWidth)-1]

생성된 모든 더미 프레임을 카운트합니다.

EofDifferenceFrameCount
Type 동적 읽기 파라미터
Default 0
Range [-(2^CounterWidth), (2^CounterWidth)-1]

나가는 프레임 수와 들어오는 프레임 수의 차이: OutgoingEofCounter-IncomingEofCounter.

사용 예제

ImageFlowControl operator 사용법은 다음 예시와 같습니다.

  • 'Image Flow Control'

    예제 - 하드웨어에서 내부 데이터 흐름 제어를 디버깅하고 보정하기 위한 목적입니다.