LUT_OUTPUT Primitive

The LUT_OUTPUT buffer specifies a LUT function. The LUT_OUTPUT buffer works like a hard LCELL buffer with the additional detail of specifying the inputs and without the requirement that the LUT function will become a hard output. The LUT_INPUT buffer marks input signals for a LUT_OUTPUT buffer. The logical functionality of the LUT_OUTPUT and LUT_INPUT buffers is a simple wire, but together they identify LUT boundaries.

To make a LUT, you need to use both input and output buffers that bound a cone of logic, as in the following example.



FUNCTION lut_output (in) RETURNS (out);
FUNCTION lut_input (in) RETURNS (out);
 
 
SUBDESIGN   test
(
    ina     : INPUT ;
    inb     : INPUT ;
    inc     : INPUT ;
    ind     : INPUT ;
 
    outd    : OUTPUT ;
)
 
BEGIN
  outd = lut_output(
        lut_input (ina) &
        lut_input (inb) &
        lut_input (inc) &
        lut_input (ind)
  ) ;
 
END ; 
Note: For information about Quartus® Prime primitive instantiation, go to Using a Quartus® Prime Logic Function.