Operator ImageValve

연산자 라이브러리: 동기화

이 오퍼레이터는 입력 링크의 데이터 흐름을 제어하기 위한 밸브로 사용할 수 있습니다. 신호 입력 OpenValve은 밸브를 제어하는 데 사용됩니다. 따라서 이 오퍼레이터를 통해 I와 O 사이의 픽셀, 라인, 프레임 데이터 흐름에 영향을 줄 수 있습니다. 최대 대역폭 제한이 이 오퍼레이터의 주요 목적입니다. 일반적으로 이 오퍼레이터는 이미지 처리 속도를 차단하고 제어하는 데 사용됩니다. 예를 들어, 이 오퍼레이터를 CreateBlankImage와 함께 사용하여 출력 프레임 속도를 제어할 수 있는 이미지 생성기를 구현할 수 있습니다.

밸브가 닫히면 VisualApplets 흐름 제어가 모든 수신 데이터를 차단합니다. 그러면 입력 파이프라인이 차단됩니다. 처리를 중지할 수 없는 오퍼레이터를 사용하는 경우 충분한 크기의 버퍼가 사용되는지 확인하십시오. 프레임 그래버에 연결된 프리런닝 카메라가 그 예입니다. 후속 오퍼레이터에 의해 오퍼레이터의 출력이 차단되면 오퍼레이터는 이 차단을 입력으로 전달합니다. 이 경우 밸브 개방은 아무런 영향이 없습니다. 밸브를 게이트와 혼동하지 마십시오. 게이트 오퍼레이터는 닫혀 있는 동안 입력 데이터를 폐기합니다.

밸브는 신호 입력 OpenValve 및 오퍼레이터의 파라미터에 의해 제어됩니다. OpenValve이 1로 설정되면, 오퍼레이터는 Mode의 파라미터 설정에 따라 SequenceLength만큼의 픽셀, 라인 또는 프레임의 통과를 허용합니다.

만약 OpenValve이 상수 1로 설정되면, 오퍼레이터는 입력 링크 I에서 출력 링크 O로 이미지 데이터가 차단 없이 통과하도록 허용합니다. 즉, 밸브가 항상 열려 있는 상태가 됩니다.

오퍼레이터의 밸브가 여전히 열려 있고 시퀀스가 처리되는 동안 OpenValve에 두 번째 펄스가 설정되면 해당 펄스는 무시됩니다. 시퀀스가 처리되는 도중 파라미터 SequenceLength를 사용하여 시퀀스 길이를 변경하면, 오퍼레이터는 먼저 이전 시퀀스를 완료한 후 새 값을 사용합니다.

VisualApplets의 고수준 시뮬레이션에서는 타이밍이 시뮬레이션되지 않으므로 모든 입력 이미지를 출력으로 직접 전달합니다. 입력 링크 OpenValve의 모든 값은 무시됩니다.

I/O Properties

Property Value
Operator Type M
Input Links I, 데이터 입력
OpenValve, 제어 신호 입력
Output Link O, data output

Supported Link Format

Link Parameter Input Link I 입력 링크 OpenValve Output Link O
Bit Width [1, 64]1 1 as I
Arithmetic {unsigned, signed} unsigned as I
Parallelism any 1 as I
Kernel Columns any 1 as I
Kernel Rows any 1 as I
Img Protocol {VALT_IMAGE2D, VALT_LINE1D, VALT_PIXEL0D} VALT_SIGNAL as I
Color Format any VAF_GRAY as I
Color Flavor any FL_NONE as I
Max. Img Width any any as I
Max. Img Height any any as I

1

부호 없는 입력의 경우 입력 Bit Width 범위는 [1, 64]입니다. 부호 있는 입력의 경우 범위는 [2, 64]입니다. 부호 없는 컬러 입력의 경우 범위는 [3, 63]이며, 부호 있는 컬러의 경우 범위는 [6, 63]입니다.

동기 및 비동기 입력

  • 모든 입력은 서로 비동기식입니다.

Parameters

Mode
Type 동적/정적 읽기/쓰기 파라미터
Default FRAME
Range {PIXEL, LINE, FRAME}

오퍼레이터의 모드를 설정합니다. 이 파라미터에 따라 밸브가 SequenceLength 픽셀, 라인 또는 프레임 동안 열립니다.

LINE 및 FRAME 모드의 사용 가능 여부는 입력 링크 I의 이미지 프로토콜에 따라 다릅니다.

SequenceLengthBits
Type static parameter
Default 10
Range [1, 64]

시퀀스 길이를 표현할 비트 수를 설정합니다.

이 파라미터는 파라미터 SequenceLength가 dynamic으로 설정된 경우에만 활성화됩니다.

SequenceLength
Type 동적/정적 읽기/쓰기 파라미터
Default 1
Range dynamic: [1, 2^SequenceLengthBits - 1], static: [1, 2^64 - 1]

시퀀스 길이를 설정합니다. 오퍼레이터가 열림 상태인 경우, 오퍼레이터는 파라미터 Mode에 따라 지정된 수의 픽셀, 라인 또는 프레임을 출력합니다.

Mode가 PIXEL로 설정된 경우, 값은 Parallelism으로 나누어 떨어져야 합니다.

ImplementationType
Type static write parameter
Default AUTO
Range (AUTO, EmbeddedALU, LUT)

파라미터 ImplementationType은 오퍼레이터의 구현 전략, 즉 오퍼레이터를 구현하는 데 어떤 로직 요소가 사용되는지에 영향을 줍니다.

다음 값 중 하나를 선택할 수 있습니다.

AUTO: 오퍼레이터가 인스턴스화되면 SequenceLengthBits 파라미터를 기반으로 최적의 구현 전략이 자동으로 선택됩니다.

EmbeddedALU: LUT 기반이 아닌 FPGA의 임베디드 산술 로직 요소를 연산자가 사용합니다.

LUT: 연산자가 FPGA의 LUT 로직을 사용합니다.

[참고] 일반적으로 AUTO 사용

일반적으로 이 파라미터는 AUTO로 설정해야 합니다. 특별한 경우, 즉 디자인에서 특정 종류의 FPGA 리소스가 부족한 경우 EmbeddedALU 또는 LUT 값을 사용하여 FPGA 리소스 관리에 수동으로 영향을 줄 수 있습니다. 디자인에 타이밍 문제가 있는 경우 LUT를 사용하여 타이밍을 개선하십시오.

사용 예제

ImageValve 오퍼레이터의 사용법은 다음 예시에 나와 있습니다:

  • 'Hardware Test'

    DMA, RAM, GPIO, 트리거 및 LED의 하드웨어 자체 테스트 예시.

  • 'Image Flow Control'

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