A 6-input LUT architecture includes 64 memory cells, which store 64
corresponding data values. A set of 64 transmission gates is configured
to receive the 64 four data values. A first input signal is applied to
the set of 64 transmission gates, thereby routing 32 of the 64 data
values. A set of 32 transmission gates is coupled to receive the 32 data
values routed by the set of 64 transmission gates. A second input signal
is applied to the set of 32 transmission gates, thereby routing 16 of the
32 data values. A 16:1 multiplexer receives the sixteen data values
routed by the set of 32 transmission gates. Third, fourth, fifth and
sixth input signals are applied to the 16:1 multiplexer, thereby routing
one of the 16 data values as the output of the LUT.