Cross function block partitioning and placement of a circuit design onto reconfigurable logic devices
First Claim
1. A method comprising:
- receiving a first and a second netlist of a first and a second function block of a circuit design;
correspondingly partitioning said first and second netlists of said first and second function blocks into at least a first and a second partition, and a third and a fourth partition respectively for correspondingly determining placement of constituting elements of said first and second netlists on logic devices, with the first partition having a majority of the constituting elements of said first netlist, the second partition having a minority of the constituting elements of said first netlist, the third partition having a majority of the constituting elements of said second netlist, and the fourth partition having a minority of the constituting elements of said second netlist;
merging said second and fourth partitions having minorities of the constituting elements of said first and second netlists to form a first composite partition of minority constituting elements of said first and second netlists of said first and second function blocks; and
partitioning said first composite partition for jointly determining placement of these minority constituting elements of said first and second netlists of said first and second function blocks on logic devices.
3 Assignments
0 Petitions
Accused Products
Abstract
A first and a second netlist of a first and a second function block of a circuit design are correspondingly partitioned into at least a first and a second partition, and a third and a fourth partition respectively. The first and third partitions include majorities of the constituting elements of the first and second netlists respectively. The second and fourth partitions include minorities of the constituting elements of the first and second netlists. Placements of the constituting elements of the first and third partitions are correspondingly determined. The second and fourth partitions are merged to form a composite partition, which in turn is partitioned for joint determination of placement of these minority constituting elements of the first and second netlists of the first and second function blocks on logic devices. In one embodiment, the second and fourth partitions operate in the one clock domain, while the first and third partitions operate in one or more other clock domains.
-
Citations
21 Claims
-
1. A method comprising:
-
receiving a first and a second netlist of a first and a second function block of a circuit design;
correspondingly partitioning said first and second netlists of said first and second function blocks into at least a first and a second partition, and a third and a fourth partition respectively for correspondingly determining placement of constituting elements of said first and second netlists on logic devices, with the first partition having a majority of the constituting elements of said first netlist, the second partition having a minority of the constituting elements of said first netlist, the third partition having a majority of the constituting elements of said second netlist, and the fourth partition having a minority of the constituting elements of said second netlist;
merging said second and fourth partitions having minorities of the constituting elements of said first and second netlists to form a first composite partition of minority constituting elements of said first and second netlists of said first and second function blocks; and
partitioning said first composite partition for jointly determining placement of these minority constituting elements of said first and second netlists of said first and second function blocks on logic devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
placing said constituting elements onto logic devices, including interconnecting elements of the logic devices employed to place said constituting elements.
-
-
7. The method as set forth in claim 1, wherein said logic devices are electrically reconfigurable logic devices.
-
8. The method as set forth in claim 7, wherein said electrically reconfigurable logic devices are field programmable gate arrays.
-
9. The method as set forth in claim 1, wherein
said partitioning of said first and second netlists further results in a fifth and a sixth partition of the constituting elements of the first and second netlists respectively, with said fifth partition also having a minority of the constituting elements of said first netlist and said sixth partition also having a minority of the constituting elements of said second netlist; -
said merging further comprises merging said fifth and said sixth partitions having minorities of the constituting elements of the first and second netlists to form a second composite partition of minority constituting elements of the first and second netlists of the first and second function blocks; and
said partitioning performed after said merging further comprises partitioning said second composite partition of minority constituting elements of said first and second netlists of said first and second function blocks for jointly determining placement of these minority constituting elements of said first and second netlists of said first and second function blocks.
-
-
10. The method as set forth in claim 9, wherein the constituting elements of the first partition are to operate in a first clock domain, the constituting elements of the third partition are to operate in a second clock domain, the constituting elements of the second and fourth partitions are to operate in a common third clock domain, and the constituting elements of the second and fourth partitions are to operate in a common fourth clock domain.
-
11. An apparatus comprising:
-
storage medium having stored therein a plurality of programming instructions designed to operate the apparatus to;
receive a first and a second netlist of a first and a second function block of a circuit design, correspondingly partition said first and second netlists of said first and second function blocks into at least a first and a second partition and a third and a fourth partition respectively for determining placement of constituting elements of said first and second netlists on logic devices, with the first partition having a majority of the constituting elements of said first netlist, the second partition having a minority of the constituting elements of said first netlist, the third partition having a majority of the constituting elements of said second netlist, and the fourth partition having a minority of the constituting elements of said second netlist, merge said second and fourth partitions having minorities of the constituting elements of said first and second netlists to form a fifth partition of minority constituting elements of said first and second netlists of said first and second function blocks, and partition said fifth partition for jointly determining placement of these minority constituting elements of said first and second netlists of said first and second function blocks on logic devices; and
one or more processors coupled to the storage medium to execute said programming instructions. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
said partitioning of said first and second netlists further results in a fifth and a sixth partition of the constituting elements of the first and second netlists respectively, with said fifth partition also having a minority of the constituting elements of said first netlist and said sixth partition also having a minority of the constituting elements of said second netlist; said programming instructions are further designed to operate the apparatus to further merge said fifth and said sixth partitions having minorities of the constituting elements of the first and second netlists to form a second composite partition of minority constituting elements of the first and second netlists of the first and second function blocks; and
said programming instructions are further designed to operate the apparatus to further partition said second composite partition of minority constituting elements of said first and second netlists of said first and second function blocks for jointly determining placement of these minority constituting elements of said first and second netlists of said first and second function blocks.
-
-
20. The apparatus as set forth in claim 19, wherein the constituting elements of the first partition are to operate in a first clock domain, the constituting elements of the third partition are to operate in a second clock domain, the constituting elements of the second and fourth partitions are to operate in a common third clock domain, and the constituting elements of the second and fourth partitions are to operate in a common fourth clock domain.
-
21. The apparatus as set forth in claim 11, wherein said apparatus is a selected one of a workstation and a networked server.
Specification