Operator LUT

Operator Library: Memory

오퍼레이터 LUT는 동적 콘텐츠의 룩업 테이블입니다. 입력 링크의 값은 LUT의 주소를 정의합니다. 그런 다음 출력 링크는 이 주소에 저장된 값을 제공합니다. 입력 Bit Width는 LUT의 주소 수를 정의합니다. 출력 Bit Width는 각 LUT 요소의 값 범위를 정의합니다. 두 값 모두 임의의 값으로 설정할 수 있습니다. LUT 콘텐츠는 합성 전이나 런타임 중에 동적으로 변경할 수 있습니다.

오퍼레이터의 지연 시간에 대한 정보는 표 46, '메모리 라이브러리의 오퍼레이터별 지연 시간'을 참조하십시오.

I/O Properties

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

지원되는 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 dynamic/static 읽기/쓰기 파라미터
Default 항등 함수
Range [0, 2^OuptuBitWidth-1]

이 필드 파라미터는 LUT 콘텐츠를 정의합니다. 필드 값의 수는 오퍼레이터의 입력 bit width에 의해 정의됩니다.

필드 파라미터 구성 방법에 대한 자세한 내용은 'Parameter Editing'에서 확인하세요.

[참고] 입력 Bit Width 변경됨

입력 bit width가 변경되면 이 파라미터의 필드 요소 수가 변경됩니다. 입력 bit width가 줄어들면 값이 잘리거나 삭제됩니다. 입력 bit width가 늘어나면 새 필드 요소가 0으로 설정됩니다.

[참고] 경고 상태

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

ImplementationType
Type 정적 쓰기 파라미터
Default AUTO
Range (AUTO, BRAM, LUTRAM, URAM)

ImplementationType 파라미터는 오퍼레이터의 구현 전략, 즉 오퍼레이터 구현에 어떤 메모리 요소가 사용되는지에 영향을 줍니다.

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

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

BRAM: 오퍼레이터가 FPGA의 블록 RAM을 사용합니다.

LUTRAM: 이 operator는 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 중에서만 선택합니다.

사용 예

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

  • 'HSL Color Classification'

    Examples - HSL 이미지에서는 컬러 분류가 매우 간단합니다. 이 앱릿은 RGB 이미지를 HSL 이미지로 변환하고 컬러 분류를 수행합니다. 색조(hue)는 룩업 테이블을 사용하여 필터링됩니다. 또한 채도와 명도는 사용자 지정 임계값을 사용하여 임계값 처리가 수행됩니다.

  • 'Geometric Transformation and Distortion Correction'

    Examples- Geometric Transformation and Distortion Correction using PixelReplicator

  • 'Distortion Correction'

    Examples- Distortion Correction

  • 'Scaling a Line Scan Image'

    Examples - Scaling A Line Scan Image

  • 'High Dynamic Range and Low Dynamic Range Example Using Camera Response Function'

    Examples - High Dynamic Range According to Debevec

  • 'High Dynamic Range and Low Dynamic Range Example with a Weighted Linear Ansatz'

    Examples - High Dynamic Range with Linear Ansatz

  • 'Lookup Table 8 Bit'

    예시 - 8 Bit에서 8 Bit로의 룩업 테이블 사용법을 보여줍니다.

  • 'Lookup Table 10 to 16 Bit'

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

  • 'Knee-Lookup Table 24 Bit Color'

    예제 - 이 예제에서는 RGB 색상 보정을 위해 3개의 룩업 테이블이 사용됩니다.

  • 'Block Flat Field Correction- Monochrome and Bayer'

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

  • '블록 RAM을 사용한 1D Shading Correction'

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