3.2.3.1. Normal Mode
Normal mode allows you to implement two functions, or a single function of up to six inputs, per ALM.
Up to eight data inputs from the LAB local interconnect are inputs to the combinational logic.
The ALM can support certain combinations of completely independent functions and various combinations of functions that have common inputs. The Quartus® Prime Compiler automatically selects the inputs to the LUT. ALMs in normal mode support register packing.
This figure shows a combination of different input connections for the LUT mode. The Quartus® Prime software may assign different input naming during the compilation of your design.
Combinations of functions with fewer inputs than those shown are also supported. For example, combinations of functions with the following number of inputs are supported.
- 4 and 3
- 3 and 3
- 3 and 2
- 5 and 2
For the packing of two 5-input functions into one ALM, the functions must have at least two common inputs. The common inputs are dataa and datab. The combination of a 4-input function with a 5-input function requires one common input (either dataa or datab).
In a sparsely used device, functions that can be placed in one ALM may be implemented in separate ALMs by the Quartus® Prime software to achieve the best possible performance. As a device begins to fill up, the Quartus® Prime software automatically uses the full potential of the Agilex™ 5 ALM. The Quartus® Prime Compiler automatically searches for functions using common inputs or completely independent functions to be placed in one ALM to make efficient use of device resources. In addition, you can manually control resource use by setting location assignments.
You can implement any 3-input to 6-input function using the following inputs:
- datae
- datad0
- datac0
- datac1
- datad1
- dataf
- dataa and datab—whereby dataa and datab are shared across both LUTs to provide flexibility to implement a different function in each LUT.
Both dataa and datab inputs support the register packing feature. If you enable the register packing feature, both or either one of the dataa and datab inputs bypass the LUT and directly feed into the register, depending on the packed register mode used. Agilex™ 5 devices support the following types of packed register modes:
- 5-input LUT with 1 packed register path
- 5-input LUT with 2 packed register paths
- Two 3-input LUTs with 2 packed register paths
- 4-input LUT with 1 packed register path
The 3-input LUT with 2 packed register paths is illustrated in the 3-Input LUT Mode Function in Normal Mode figure. For Agilex™ 5 devices, the 6-input LUT mode does not support the register packing feature.