| US 7,590,960 B1 | ||
| Placing partitioned circuit designs within iterative implementation flows | ||
| Raymond Kong, San Francisco, Calif. (US); Navaratnasothie Selvakkumaran, Campbell, Calif. (US); and Kamal Chaudhary, San Jose, Calif. (US) | ||
| Assigned to Xilinx, Inc., San Jose, Calif. (US) | ||
| Filed on Apr. 18, 2007, as Appl. No. 11/787,925. | ||
| Int. Cl. G06F 17/50 (2006.01) | ||
| U.S. Cl. 716—9 [716/7; 716/8; 716/10; 716/11; 716/12; 716/16; 716/17] | 19 Claims |

| 1. A computer-implemented method of placing circuit elements of a partitioned circuit design on a target programmable logic
device (PLD), the method comprising:
executing a program by a computer system to perform functions including:
mapping circuit elements of the circuit design to corresponding partitions of the circuit design;
defining a plurality of logic boundaries on the target PLD, wherein each logic boundary is defined by a plurality of logic
cells directly connected to a routing matrix that is programmable to connect the logic cells;
selecting a circuit element of the circuit design;
selecting a candidate location within a logic boundary on the target PLD;
wherein the candidate location is one the logic cells connected the routing matrix of the logic boundary;
validating the candidate location for the selected circuit element, at least in part, according to whether the selected circuit
element belongs to a same partition of the circuit design as at least one other circuit element already placed within the
logic boundary;
selectively placing the selected circuit element at the candidate location according to the validation;
repeating the steps of selecting a circuit element, selecting a candidate location, validating, and selectively placing for
each unplaced circuit element, wherein a placed circuit design is generated once all circuit elements have been placed; and
outputting the placed circuit design.
|