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'.
Property | Value |
---|---|
Operator Type | O |
Input Link | I, image data input |
Output Link | O, data input |
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. |
|
If you have set parameter ImplementationType to URAM, the Bit Width of the output link depends on the bit width of the input link:
URAM is only available for the imaFlex CXP-12 Quad and the imaFlex CXP-12 Penta platforms. |
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'.
|
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.
|
The use of operator LUT is shown in the following examples:
-
Examples - Color Classification is very simple on HSL images. The applet converts the RGB image into an HSL image and performs a color classification. The hue is filtered using a lookup table. Moreover, the saturation and lightness is thresholded using custom threshold values.
-
'Geometric Transformation and Distortion Correction'
Examples- Geometric Transformation and Distortion Correction using PixelReplicator
-
Examples- Distortion Correction
-
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
-
Examples - Shows the use of a 8 Bit to 8 Bit lookup table.
-
Examples - Shows the use of a lookup table with 10 bit input and 16 bit output.
-
'Knee-Lookup Table 24 Bit Color'
Examples - In this example three lookup tables are used for RGB color correction.
-
'1D Shading Correction Using Block RAM'
Examples - The example shows an 1D shading correction. The correction values are stored in block RAM memory.