Patent ID: 7480884

Claim:
A method of assigning input/output (I/O) objects of a circuit design to banks of a target device using integer linear programming, the method comprising: assigning the I/O objects of the circuit design to I/O groups according to compatibility among each I/O object, wherein compatibility is determined according to an I/O standard associated with each I/O object; establishing a plurality of relationships regulating assignment of the I/O objects of I/O groups to banks of the target device, wherein the plurality of relationships allow different numbers of the I/O objects to be assigned to different banks of the target device; and determining whether a feasible solution exists for assignment of the I/O objects of the circuit design to banks of the target device by minimizing an objective function while observing the plurality of relationships, wherein establishing a plurality of relationships further comprises defining a plurality of resource constraints, the constraints being enabled to be expressed as ∑ p = 1 N ⁢ X ip = N i , wherein X ip indicates a number of I/O objects from a selected I/O group G i that are allocated to a selected bank B p , N i represents a total number of I/O objects in I/O group G i , and N represents a total number of banks in the target device.