Placing partitioned circuit designs within iterative implementation flows
First Claim
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.
1 Assignment
0 Petitions
Accused Products
Abstract
A method of placing circuit elements of a partitioned circuit design on a target programmable logic device (PLD) can include mapping circuit elements of the circuit design to corresponding partitions of the circuit design, selecting a circuit element of the circuit design, and selecting a candidate location within a logic boundary on the target PLD. The method also can include 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. The selected circuit element can be selectively placed at the candidate location according to the validation.
-
Citations
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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
9. 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; 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; determining partition membership for circuit elements of the circuit design; selecting a circuit element of the circuit design and 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; determining whether the logic boundary comprises at least one previously placed circuit element belonging to a partition; generating a placed circuit design by placing the circuit element at the candidate location when, a partition to which the selected circuit element belongs is the same partition to which the at least one previously placed circuit element belongs, or the logic boundary comprises no previously placed circuit elements; and outputting the placed circuit design. - View Dependent Claims (10, 11)
-
12. A computer program product, comprising:
a computer-usable storage device having computer-usable program code that generates a placed version of a circuit design having partitions for a target programmable logic device (PLD), the program code when executed by a processor causing the processor to perform the operations 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 operations 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. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
Specification