Patent ID: 7194723

Claim:
A method for mapping a user function for a programmable integrated circuit to a plurality of lookup tables, the method comprising: providing a plurality of logic blocks, each configurable to operate as any one of the following: one N-input lookup table, wherein N is an integer; and at least two lookup tables, each having less than N inputs and an output; based on an amount of variables input to the user function, determining a set of available lookup table configurations that potentially implement the user function, wherein a lookup table configuration specifies the number of the lookup tables and the number of inputs for each logic block; decomposing the user function into a first set of decomposed functions, the user function receiving input variables; determining whether the first set of decomposed functions can be implemented by one of the set of lookup table configurations for the programmable integrated circuit; and if none of the set of lookup table configurations can implement the first set of decomposed functions, rotating at least two of the input variables of the user function.