Operator ImageFifo

Operator Library: Memory

이 연산자는 FPGA 기반 메모리에 비교적 적은 수의 픽셀을 버퍼링하는 데 사용할 수 있습니다. 이 연산자는 RAM 유형의 VisualApplets 리소스가 필요하지 않습니다. 대신 FPGA 내부 메모리를 사용합니다. 이 메모리는 FPGA 내부 블록 RAM, FPGA 분산형 RAM(LUT RAM) 또는 UltraRAM 메모리(URAM은 imaFlex CXP-12 Quad 및 imaFlex CXP-12 Penta 플랫폼에서만 지원됨) 중 하나일 수 있습니다. 둘 중 어떤 것을 사용할지는 ImplementationType 파라미터를 통해 수동으로 설정하거나 연산자 구성에 따라 연산자가 자동으로 선택합니다.

ImageFifo 연산자는 동기화 전에 라인이나 픽셀을 버퍼링하는 데 자주 사용됩니다. FPGA 내부 메모리가 제한되어 있으므로, 사용 가능한 리소스를 초과하지 않고 전체 해상도의 프레임을 버퍼링하기는 어렵습니다.

연산자 지연 시간에 대한 정보는 '표 46: Library Memory의 연산자별 지연 시간'을 참조하십시오.

EntitiesToStore 및 EntityType 파라미터는 최대 사용 가능한 버퍼 크기를 정의합니다. 이 연산자는 선입선출(FIFO) 메모리입니다. 모든 입력 데이터는 즉시 출력으로 전달됩니다. 그러나 후속 연산자가 입력 대역폭을 처리할 수 없어 출력이 차단되는 등의 이유로 출력이 막히면 연산자가 데이터를 저장합니다. 따라서 메모리는 연산자가 데이터를 출력할 수 없는 경우에만 채워집니다.

버퍼의 Fill 레벨을 측정하기 위해 연산자는 FillLevel 파라미터를 제공합니다. FillLevel은 Fifo의 채워진 비율(%)을 보여줍니다.

InfiniteSource 파라미터는 연산자가 카메라에 직접 연결되어 있는지 또는 다른 메모리 연산자와 시퀀스로 연결되어 있는지 지정하는 데 사용됩니다. InfiniteSource가 비활성화된 경우 연산자는 오버플로 상태에 빠질 수 없습니다. 자세한 내용은 'Infinite Sources / Connecting Cameras'를 확인하십시오.

Parameter ImplementationType을 사용하면 연산자가 사용할 하드웨어 Memory를 지정할 수 있습니다.

I/O Properties

Property Value
Operator Type M
Input Link I, image data input
Output Link O, data output

Supported Link Format

Link Parameter Input Link I Output Link O
Bit Width [1, 64]1 as I
Arithmetic {unsigned, signed} as I
Parallelism any as I
Kernel Columns 1 as I
Kernel Rows 1 as I
Img Protocol {VALT_IMAGE2D, VALT_LINE1D, VALT_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

1

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

Parameters

EntitiesToStore
Type static parameter
Default 1
Range any

이 파라미터는 최대 몇 개의 픽셀, 라인 또는 프레임을 저장해야 하는지 정의합니다. 엔티티 유형은 EntityType 파라미터를 사용하여 정의됩니다.

EntityType
Type static parameter
Default FRAME
Range {FRAME, LINE, PIXEL}

이 파라미터는 저장할 엔티티의 유형을 정의합니다. 이 파라미터는 EntityType의 EntitiesToStore 단위를 버퍼링할 수 있습니다.

FRAME은 입력 링크 이미지 프로토콜이 VALT_IMAGE2D인 경우에만 선택할 수 있습니다. LINE은 프로토콜 VALT_LINE2D 및 VALT_LINE1D용으로 선택할 수 있으며, PIXEL은 항상 활성화됩니다.

ImplementationType
Type static write parameter
Default AUTO
Range (AUTO, BRAM, LUTRAM, URAM)

ImplementationType 파라미터는 연산자의 구현 전략, 즉 연산자를 구현하는 데 어떤 Memory 요소가 사용되는지에 영향을 미칩니다.

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

AUTO: 연결된 링크의 파라미터 설정을 바탕으로 최적의 구현 전략이 자동으로 선택됩니다.

BRAM: 연산자가 FPGA의 Block RAM을 사용합니다.

LUTRAM: 연산자가 FPGA의 LUT RAM을 사용합니다.

URAM: 연산자가 FPGA의 UltraRAM을 사용합니다.

[참고] URAM 가용성

ImplementationType 파라미터의 URAM 값은 imaFlex CXP-12 Quad 및 imaFlex CXP-12 Penta 플랫폼에서만 사용할 수 있습니다.

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

일반적으로 이 파라미터는 AUTO로 설정해야 합니다. 디자인에서 특정 종류의 FPGA 리소스가 부족해지는 등의 특별한 경우에는 BRAM, LUTRAM 또는 URAM 값을 사용하여 FPGA 리소스 관리에 수동으로 영향을 줄 수 있습니다(URAM은 imaFlex CXP-12 Quad 및 imaFlex CXP-12 Penta 플랫폼에서만 사용할 수 있습니다).

AUTO는 BRAM과 LUTRAM 사이에서만 선택합니다.

FillLevel
Type 동적 읽기 파라미터
Default 0
Range [0%, 100%]

이 파라미터는 버퍼의 Fill 레벨을 제공합니다. 연산자는 FPGA 리소스를 효율적으로 사용합니다. 일부 구성에서는 버퍼에 100%를 초과하여 저장하는 것이 가능합니다.

InfiniteSource
Type static parameter
Default ENABLED
Range {ENABLED, DISABLED}

이 파라미터는 카메라 연산자와 같은 무한 소스 연산자에 대한 지원을 활성화합니다. 자세한 내용은 'Infinite Sources / Connecting Cameras'를 참조하십시오.

사용 예제

ImageFifo 연산자의 사용법은 다음 예시와 같습니다: