Patent ID: 8010924

Claim:
A method of assigning a plurality of input/output (I/O) objects of a circuit design to configurable banks of an integrated circuit (IC) using integer linear programming, the method comprising: storing a plurality of constraints that depend upon a plurality of variables, wherein the plurality of constraints regulate assignment of each of the plurality of I/O objects to banks of the integrated circuit; storing a linear function that depends upon the plurality of constraints and a plurality of cost metrics, wherein each cost metric imposes a penalty when a selected I/O object of the circuit design is assigned to a bank of the integrated circuit that is different from a bank to which the selected I/O object is assigned within a reference solution that is infeasible; determining, using a processor, a result indicating whether a feasible solution exists for assignment of the plurality of I/O objects of the circuit design to banks of the target programmable IC by minimizing the linear function subject to the plurality of constraints; and outputting the result.