Operator LUT

Operator Library: Memory

Operator LUT는 동적 콘텐츠의 룩업 테이블입니다. 입력 링크의 값은 LUT의 주소를 정의합니다. 그런 다음 출력 링크는 이 주소에 저장된 값을 제공합니다. 입력 Bit Width는 LUT의 주소 수를 정의합니다. 출력 Bit Width는 각 LUT 엘리먼트의 값 범위를 정의합니다. 둘 다 임의의 값으로 설정할 수 있습니다. LUT 내용은 신테시스(Synthesis) 전이나 런타임 중에 동적으로 변경할 수 있습니다.

Operator 레이턴시에 대한 정보는 Table 46, 'Individual Latencies of the Operators in Library Memory'를 참조하십시오.

I/O Properties

Property Value
Operator Type O
Input Link I, image data input
Output Link O, 데이터 입력

Supported Link Format

Link Parameter Input Link I Output Link O
Bit Width [1, 16]1 [1, 63 unsigned / 64 signed]2
Arithmetic {unsigned} {63 bit unsigned, 64 bit signed}
Parallelism any as I
Kernel Columns any as I
Kernel Rows any as I
Img Protocol {VALT_IMAGE2D, VALT_LINE1D, VALT_PIXEL0D} as I
Color Format VAF_GRAY as I
Color Flavor FL_NONE as I
Max. Img Width any as I
Max. Img Height any as I

1

ImplementationType 파라미터를 URAM으로 설정한 경우, 입력 링크의 Bit Width는 1에서 14 사이의 값으로 설정해야 합니다.

URAM은 imaFlex CXP-12 Quad 및 imaFlex CXP-12 Penta 플랫폼에서만 사용할 수 있습니다.

2

ImplementationType 파라미터를 URAM으로 설정한 경우, 출력 링크의 Bit Width는 입력 링크의 Bit Width에 따라 달라집니다.

  • If the bit width of the input link <= 12, you can set any value.

  • 입력 링크의 Bit Width가 13 또는 14인 경우, 출력 링크의 Bit Width를 1에서 16 사이의 값으로 설정하십시오.

URAM은 imaFlex CXP-12 Quad 및 imaFlex CXP-12 Penta 플랫폼에서만 사용할 수 있습니다.

Parameters

LUTcontent
Type 동적/정적 읽기/쓰기 파라미터
Default 항등 함수
Range [0, 2^OuptuBitWidth-1]

이 필드 파라미터는 LUT 내용을 정의합니다. 필드 값의 수는 operator의 입력 Bit Width에 의해 정의됩니다.

'Parameter Editing'에서 필드 파라미터 구성 방법을 확인하십시오.

[참고] 입력 Bit Width 변경됨

입력 Bit Width가 변경되면 이 파라미터의 필드 엘리먼트 수도 변경됩니다. 입력 Bit Width가 줄어들면 값이 잘리거나 삭제됩니다. 입력 Bit Width가 늘어나면 새 필드 엘리먼트는 0으로 설정됩니다.

[참고] 경고 상태

BRAM이 25% 미만의 용량으로 작동하는 경우, LUTcontent 파라미터에 경고 상태가 발생할 수 있습니다.

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

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

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

AUTO: 연결된 링크의 파라미터 설정을 기반으로 최적의 구현 전략이 자동으로 선택됩니다. AUTO는 BRAM과 LUTRAM 간에만 선택합니다.

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

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

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

[참고] URAM의 가용성 및 제한 사항

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

URAM에는 다음과 같은 제한 사항이 있습니다.

  • 입력 링크의 Bit Width는 1에서 14 사이의 값으로 설정해야 합니다.

  • 출력 링크의 Bit Width는 입력 링크의 Bit Width에 따라 달라집니다.

    • If the bit width of the input link <= 12, you can set any value.

    • 입력 링크의 Bit Width가 13 또는 14인 경우, 출력 링크의 Bit Width를 1에서 16 사이의 값으로 설정하십시오.

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

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

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

사용 예제

Operator LUT의 사용법은 다음 예시에 나와 있습니다.

  • 'HSL Color Classification'

    예시 - HSL 이미지에서는 색상 분류가 매우 간단합니다. 애플릿은 RGB 이미지를 HSL 이미지로 변환하고 색상 분류를 수행합니다. 색상은 lookup table을 사용하여 필터링됩니다. 또한, 채도와 명도는 사용자 정의 임계값(threshold)을 사용하여 임계 처리됩니다.

  • 'Geometric Transformation and Distortion Correction'

    Examples- PixelReplicator를 이용한 Geometric Transformation and Distortion Correction

  • 'Distortion Correction'

    Examples- Distortion Correction

  • 'Scaling a Line Scan Image'

    예제 - 라인 스캔 이미지 Scaling

  • 'Camera Response Function을 이용한 High Dynamic Range 및 Low Dynamic Range 예제'

    예제 - Debevec 방식에 따른 High Dynamic Range

  • '가중선형 안자츠를 적용한 High Dynamic Range 및 Low Dynamic Range 예제'

    예제 - 선형 안자츠를 적용한 High Dynamic Range

  • 'Lookup Table 8 Bit'

    Examples - 8 Bit ~ 8 Bit 룩업 테이블 사용법을 보여줍니다.

  • 'Lookup Table 10 to 16 Bit'

    Examples - 10비트 입력과 16비트 출력을 사용하는 룩업 테이블의 사용법을 보여줍니다.

  • 'Knee-Lookup Table 24 Bit Color'

    예시 - 이 예시에서는 RGB 색상 보정을 위해 3개의 Lookup Table이 사용됩니다.

  • 'Block Flat Field Correction- Monochrome and Bayer'

    예제 - 이 예제들은 블록 단위 FFC(Flat Field Correction)의 구현을 보여줍니다. 보정 값은 LUT에 저장되며 DRAM 리소스가 필요하지 않습니다. 예제 버전 중 하나는 흑백 카메라용이며, 다른 하나는 베이어 포맷 카메라용입니다. 이 디자인을 통해 개별 요구 사항에 따라 블록 크기나 보정 모드와 같은 여러 파라미터를 설정할 수 있습니다. 또한 Python 기반 스크립트는 취득한 암전 및 명전 이미지로부터 보정 계수를 계산하는 방법을 보여줍니다. Block FFC 방식의 이론적 배경과 디자인 타임 및 하드웨어에서 applet을 사용하는 방법에 대한 자세한 설명은 예제 디자인의 주석 상자에서 확인할 수 있습니다. Block FFC 이론에 대한 추가 정보는 https://docs.baslerweb.com/frame-grabbers/flat-field-correction-ffc-imaflex의 향상된 표준 acquisition applet 설명서에 포함되어 있습니다.

  • '1D Shading Correction Using Block RAM'

    Examples - 이 예제는 1D Shading Correction을 보여줍니다. 보정 값은 블록 RAM 메모리에 저장됩니다.