Operator LUT

Operator Library: Memory

The operator LUT is a lookup table of dynamic content. The values of the input link define the addresses of the LUT. The output link will then provides the value stored at this address. The input bit width defines the number of addresses in the LUT. The output bit width defines the value range of each LUT element. Both can be set to any value. The LUT content can be changed before synthesis or dynamic during runtime.

For information on the latency of the operator, see Table 42, '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, data input

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

If you have set parameter ImplementationType to URAM, the Bit Width of the input link must be set to 14.

URAM is only available for the imaFlex CXP-12 Quad platform.

2

If you have set parameter ImplementationType to URAM, the Bit Width of the output link must be set to 16.

URAM is only available for the imaFlex CXP-12 Quad platform.

Parameters

LUTcontent
Type dynamic/static read/write parameter
Default identity function
Range [0, 2^OuptuBitWidth-1]

This field parameter defines the LUT content. The number of field values is defined by the operator's input bit width.

Learn on how to configure field parameters in 'Parameter Editing'.

[Note] Input Bit Width Changed

If the input bit width is changed, the number of field elements in this parameter changes. If the input bit width is reduced, values are truncated and deleted. If the input bit width is increased, the new field elements are set to 0.

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

Parameter ImplementationType influences the implementation strategy of the operator, i.e., which memory elements are used for implementing the operator.

You can select one of the following values:

AUTO: The optimal implementation strategy is selected automatically based on the parametrization of the connected links. AUTO only selects between BRAM and LUTRAM.

BRAM: The operator uses the Block RAM of the FPGA.

LUTRAM: The operator uses the LUT RAM of the FPGA.

URAM: The operator uses the UltraRAM of the FPGA.

[Note] Availability and Limitations of URAM

The value URAM is only available on the imaFlex CXP-12 Quad platform.

URAM has the following limitations:

  • The Bit Width of the input link must be set to 14.

  • The Bit Width of the output link must be set to 16.

[Note] Use AUTO in General

Normally, the parameter should be set to AUTO. In special cases, i.e., if one kind of FPGA resource runs short in a design, you can manually influence the FPGA resource management using the values BRAM, LUTRAM, or URAM (URAM is only available for the imaFlex CXP-12 Quad platform).

AUTO only selects between BRAM and LUTRAM.

Examples of Use

The use of operator LUT is shown in the following examples: