1. A method of determining a configuration implementing a function for a set of at least two logic cells, the method comprising: (a) specifying an arrangement of a first and second logic cells, wherein the arrangement includes an output of the second logic cell connected with one of a first set of logic cell input ports of the first logic cell; (b) receiving a function including function inputs; (c) creating a partitioning of the function inputs into a first portion associated with a first logic cell and a second portion associated with a second logic cell; (d) screening the partitioning of the function inputs to determine if the partitioning is potentially acceptable; (e) in response to a determination that the partitioning of the function inputs is potentially acceptable: (1) creating an assignment of at least the first portion of function inputs to the first set of logic cell input ports; (2) creating an assignment of the second portion of function inputs to a second set of logic cell input ports of the second logic cell; (3) assigning variables to look-up table locations of the first and second logic cells; (4) determining a correspondence between function input values, function output values, the variables, and the look-up table locations based on the arrangement of the first and second logic cells and the assignments of the portions of the function inputs to the first and second sets of logic cell input ports; (5) applying Boolean tautology rules to the correspondence to create a simplified set of variables; (6) evaluating the simplified set of variables for consistency; and (7) in response to a determination that the simplified set of variables is consistent, outputting the configuration implementing the received function, wherein the configuration includes assignments of the portions of the function inputs to the first and second sets of logic cell input ports and look-up table data based on values of the simplified set of variables.