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 43, '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 a value between 1 and 14.

URAM is only available for the imaFlex CXP-12 Quad and the imaFlex CXP-12 Penta platforms.

2

If you have set parameter ImplementationType to URAM, the Bit Width of the output link depends on the bit width of the input link:

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

  • If the bit width of the input link = 13 or 14, set the bit width of the output link to a value between 1 and 16.

URAM is only available for the imaFlex CXP-12 Quad and the imaFlex CXP-12 Penta platforms.

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.

[Note] Warning Status

If the BRAM is operated at less than 25% capacity, the LUTcontent parameter can go into warning status.

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

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 and the imaFlex CXP-12 Penta platforms.

URAM has the following limitations:

  • The Bit Width of the input link must be set to values between 1 and 14.

  • The Bit Width of the output link depends on the bit width of the input link:

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

    • If the bit width of the input link = 13 or 14, set the bit width of the output link to a value between 1 and 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 and the imaFlex CXP-12 Penta platforms).

AUTO only selects between BRAM and LUTRAM.

Examples of Use

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