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 ;