Claims Analysis
Total Claims: 41
Claim 1
Independent Claim
342 words
In a compiler that compiles an electronic design to define a fitting of the electronic design on one or more target hardware devices, the electronic design having a logical hierarchical structure including parent logical entities and children logical entities, a method of compiling with parallel processing, the method comprising: providing a compilation project including (i) a first compilation task associated with a first child logical entity and (ii) a second compilation task associated with the second child logical entity; allocating a first processing resource for running the first compilation task; allocating a second processing resource, which is separate from the first processing resource, for running the second compilation task; and contemporaneously running the fit compilation task on the first processing resource and running the second compilation task on the second processing resource, wherein the first compilation task associated with the first child logical entity comprises: (a) mapping the first child logical entity into a plurality of logic cells representing discrete units of logic to be implemented on discrete logic elements on the one or more target hardware devices, (b) providing a partitioning project for grouping the individual logic cells into blocks of proximate logic elements, the partitioning project including (i) a first partitioning task including performing a bipartitioning routine on a fist pair of blocks of the logic elements of the one or more target hardware devices and (ii) a second partitioning task including performing said bipartitioning routine on a second pair of blocks, different from the first pair, of the logic elements of the one or more target hardware devices, and (c) contemporaneously running the first and second partitioning tasks, wherein the bipartitioning algorithm includes swapping the logic cells between individual blocks of the pairs of blocks to reduce the number of signal crossings between blocks, and wherein the first and second child logical entities are (i) isolated from one another by one or more resisters, (ii) represent separate stages of pipelined logic, (iii) are separated by a state machine, or (iv) are separate regions identified for resynthesis during incremental compilation.
Claim 2
Dependent Claim
342 words
In a compiler that compiles an electronic design to define a fitting of the electronic design on one or more target hardware devices, the electronic design having a logical hierarchical structure including parent logical entities and children logical entities, a method of compiling with parallel processing, the method comprising: providing a compilation project including (i) a first compilation task associated with a first child logical entity and (ii) a second compilation task associated with the second child logical entity; allocating a first processing resource for running the first compilation task; allocating a second processing resource, which is separate from the first processing resource, for running the second compilation task; and contemporaneously running the fit compilation task on the first processing resource and running the second compilation task on the second processing resource, wherein the first compilation task associated with the first child logical entity comprises: (a) mapping the first child logical entity into a plurality of logic cells representing discrete units of logic to be implemented on discrete logic elements on the one or more target hardware devices, (b) providing a partitioning project for grouping the individual logic cells into blocks of proximate logic elements, the partitioning project including (i) a first partitioning task including performing a bipartitioning routine on a fist pair of blocks of the logic elements of the one or more target hardware devices and (ii) a second partitioning task including performing said bipartitioning routine on a second pair of blocks, different from the first pair, of the logic elements of the one or more target hardware devices, and (c) contemporaneously running the first and second partitioning tasks, wherein the bipartitioning algorithm includes swapping the logic cells between individual blocks of the pairs of blocks to reduce the number of signal crossings between blocks, and wherein the first and second child logical entities are (i) isolated from one another by one or more resisters, (ii) represent separate stages of pipelined logic, (iii) are separated by a state machine, or (iv) are separate regions identified for resynthesis during incremental compilation.
Claim 3
Dependent Claim
19 words
The method of claim 1, wherein the first compilation task includes synthesizing logic of the first child logical entity.
Claim 4
Dependent Claim
13 words
The method of claim 2, wherein the logic being synthesized comprises a netlist.
Claim 5
Dependent Claim
21 words
The method of claim 1, wherein the first compilation task includes netlist extraction of logic for the first child logical entity.
Claim 6
Dependent Claim
60 words
The method of claim 1, further comprising: determining that a third compilation task exists within the first compilation task; allocating a third processing resource, separate from the first processing resource, for running the third compilation task; and running the third compilation task on the third processing resource contemporaneously with running of the first compilation task on the first processing resource.
Claim 7
Dependent Claim
30 words
The method of claim 1, wherein at least one of the first and second processing resources comprises at least one of a central processing unit and a reconfigurable processing resource.
Claim 8
Dependent Claim
18 words
A programmable logic device containing the electronic design as compiled according to the method recited in claim 1.
Claim 9
Dependent Claim
315 words
In a compiler that compiles an electronic design to define a partitioning of the electronic design on one or more target hardware devices, a method of compiling with parallel processing, the method comprising: mapping a logic design into a plurality of logic cells representing discrete units of logic to be implemented on discrete logic elements on the one or more target hardware devices; defining first and second independent regions of the electronic design; providing a partitioning project for grouping the individual logic cells into regions of proximate logic elements, the partitioning project including (i) a first compilation task including performing a bipartitioning routine on a first pair of regions of the logic elements within the first independent region of the one or more target hardware devices and (ii) a second compilation task including performing said bipartitioning routine on a second pair of regions, different from the first pair, of the logic elements within the second independent region of the one or more target hardware devices; allocating a first processing resource for running the first compilation task; allocating a second processing resource, which is separate from the first processing resource, for determining the second compilation task; contemporaneously running the first compilation task on the first processing resource and running the second compilation task on the second processing resource, wherein the bipartitioning algorithm includes swapping the logic cells between individual regions of the pairs of regions to reduce the number of signal crossings between regions; and fitting the logic cells that have been partitioned, into regions of the one or more target hardware devices corresponding to the pairs of regions of the electronic design, wherein the first and second independent regions are (i) isolated from one another by one or more registers, (ii) represent separate stages of pipelined logic, (iii) are separated by a state machine, or (iv) are separate regions identified for resynthesis during incremental compilation.
Claim 10
Dependent Claim
315 words
In a compiler that compiles an electronic design to define a partitioning of the electronic design on one or more target hardware devices, a method of compiling with parallel processing, the method comprising: mapping a logic design into a plurality of logic cells representing discrete units of logic to be implemented on discrete logic elements on the one or more target hardware devices; defining first and second independent regions of the electronic design; providing a partitioning project for grouping the individual logic cells into regions of proximate logic elements, the partitioning project including (i) a first compilation task including performing a bipartitioning routine on a first pair of regions of the logic elements within the first independent region of the one or more target hardware devices and (ii) a second compilation task including performing said bipartitioning routine on a second pair of regions, different from the first pair, of the logic elements within the second independent region of the one or more target hardware devices; allocating a first processing resource for running the first compilation task; allocating a second processing resource, which is separate from the first processing resource, for determining the second compilation task; contemporaneously running the first compilation task on the first processing resource and running the second compilation task on the second processing resource, wherein the bipartitioning algorithm includes swapping the logic cells between individual regions of the pairs of regions to reduce the number of signal crossings between regions; and fitting the logic cells that have been partitioned, into regions of the one or more target hardware devices corresponding to the pairs of regions of the electronic design, wherein the first and second independent regions are (i) isolated from one another by one or more registers, (ii) represent separate stages of pipelined logic, (iii) are separated by a state machine, or (iv) are separate regions identified for resynthesis during incremental compilation.
Claim 11
Dependent Claim
90 words
The method of claim 8, wherein the compilation project includes partitioning the electronic design between at least three regions of the one or more target hardware devices, and wherein the first compilation task includes performing a bipartitioning routine on a first pair of the at least three regions of the one or more target hardware devices, and wherein the second compilation task includes performing said bipartitioning routine on a second pair, different from the first pair, of the at least three regions of the one or more target hardware devices.
Claim 12
Dependent Claim
83 words
The method of claim 8, wherein the compilation project includes fitting portions of the electronic design onto at least two regions of the one or more target hardware devices, and wherein the first compilation task includes fitting a first portion of the electronic design on a first region of the one or more target hardware devices, and wherein the second compilation task includes fitting a second portion of the electronic design on a second region of the one or more target hardware devices.
Claim 13
Dependent Claim
45 words
The method of claim 10, wherein the first region of the one or more target hardware device is a first row of a target hardware device, and wherein the second region of the target hardware device is a second row of the target hardware device.
Claim 14
Dependent Claim
39 words
The method of claim 10, wherein the first region of the one or more target hardware device is a first target hardware device, and wherein the second region of the target hardware device is a second target hardware device.
Claim 15
Dependent Claim
14 words
The method of claim 8, wherein the target hardware device has a hierarchical architecture.
Claim 16
Dependent Claim
14 words
The method of claim 8, wherein the target hardware device has a flat architecture.
Claim 17
Dependent Claim
30 words
The method of claim 8, wherein at least one of the first and second processing resources comprises at least one of a central processing unit and a reconfigurable processing resource.
Claim 18
Dependent Claim
17 words
A programmable logic device implementing the electronic design compiled according to the method recited in claim 8.
Claim 19
Dependent Claim
27 words
The method of claim 8, wherein fitting the logic cells comprises fitting logic cells from a first partition contemporaneously with fitting logic cells from a second partition.
Claim 20
Dependent Claim
291 words
In a compiler that compiles an electronic design to define a fitting of the electronic design on one or more target hardware devices, the electronic design having a logical structure including independent regions of logic isolated from one another, a method of compiling with parallel processing, the method comprising: defining first and second independent regions of the electronic design; providing a compilation project including (i) a first compilation task associated with the first independent region of the electronic design and (ii) a second compilation task associated with the second independent region of the electronic design, wherein the first and second compilation tasks each comprise first mapping the design into a plurality of logic cells representing discrete units of logic to be implemented on discrete logic elements on the one or more target hardware devices, then partitioning, and then fitting the independent regions of logic to the one or more target hardware devices; allocating a first processing resource for running the first compilation task; allocating a second processing resource, which is separate from the first processing resource, for running the second compilation task; and contemporaneously running the first compilation task on the first processing resource and running the second compilation task on the second processing resource, wherein the first and second independent regions are (i) isolated from one another by one, or more registers, (ii) represent separate stages of pipelined logic, (iii) are separated by a state machine, or (iv) are separate regions identified for resynthesis during incremental compilation; and wherein the partitioning comprises performing a bipartitioning algorithm that groups the individual logic cells into blocks of proximate logic elements by swapping the logic cells between individual blocks of the pairs of blocks to reduce the number of signal crossings between blocks.
Claim 21
Dependent Claim
291 words
In a compiler that compiles an electronic design to define a fitting of the electronic design on one or more target hardware devices, the electronic design having a logical structure including independent regions of logic isolated from one another, a method of compiling with parallel processing, the method comprising: defining first and second independent regions of the electronic design; providing a compilation project including (i) a first compilation task associated with the first independent region of the electronic design and (ii) a second compilation task associated with the second independent region of the electronic design, wherein the first and second compilation tasks each comprise first mapping the design into a plurality of logic cells representing discrete units of logic to be implemented on discrete logic elements on the one or more target hardware devices, then partitioning, and then fitting the independent regions of logic to the one or more target hardware devices; allocating a first processing resource for running the first compilation task; allocating a second processing resource, which is separate from the first processing resource, for running the second compilation task; and contemporaneously running the first compilation task on the first processing resource and running the second compilation task on the second processing resource, wherein the first and second independent regions are (i) isolated from one another by one, or more registers, (ii) represent separate stages of pipelined logic, (iii) are separated by a state machine, or (iv) are separate regions identified for resynthesis during incremental compilation; and wherein the partitioning comprises performing a bipartitioning algorithm that groups the individual logic cells into blocks of proximate logic elements by swapping the logic cells between individual blocks of the pairs of blocks to reduce the number of signal crossings between blocks.
Claim 22
Dependent Claim
26 words
The method of claim 18, wherein the first and second independent regions of the electronic design are isolated from one another by one or more registers.
Claim 23
Dependent Claim
17 words
The method of claim 18, wherein the first and second independent regions include stages of pipelined logic.
Claim 24
Dependent Claim
18 words
The method of claim 18, wherein the first and second independent regions are separated by a state machine.
Claim 25
Dependent Claim
21 words
The method of claim 18, wherein the first and second independent regions are separate regions identified for resynthesis during incremental compilation.
Claim 26
Dependent Claim
30 words
The method of claim 18, wherein at least one of the first and second processing resources comprise at least one of a central processing unit and a reconfigurable processing resource.
Claim 27
Dependent Claim
18 words
A programmable logic device implementing the electronic design as compiled according to the method recited in claim 18.
Claim 28
Dependent Claim
351 words
A machine readable medium containing instructions for controlling a compiler that compiles an electronic design to define a fitting of the electronic design on one or more target hardware devices, the electronic design having a logical hierarchical structure including parent logical entities and children logical entities, the instructions specifying a method of compiling with parallel processing which comprises: providing a compilation project including (i) a first compilation task associated with a first child logical entity and (ii) a second compilation task associated with the second child logical entity; allocating a first processing resource for running the first compilation task; allocating a second processing resource, which is separate from the first processing resource, for running the second compilation task; and contemporaneously running the first compilation task on the first processing resource and running the second compilation task on the second processing resource, wherein the first compilation task associated with the first child logical entity comprises: (a) mapping the first child logical entity into a plurality of logic cells representing discrete units of logic to be implemented on discrete logic elements on the one or more target hardware devices, (b) providing a partitioning project for grouping the individual logic cells into blocks of proximate logic elements, the partitioning project including (i) a first partitioning task including performing a bipartitioning routine on a first pair of blocks of the logic elements of the one or more target hardware devices and (ii) a second partitioning task including performing said bipartitioning routine on a second pair of blocks, different from the first pair, of the logic elements of the one or more target hardware devices, and (c) contemporaneously running the first and second partitioning tasks, wherein the bipartioning algorithm includes swapping the logic cells between individual blocks of the pairs of blocks to reduce the number of signal crossings between blocks, and wherein the first and second child logic entities are (i) isolated from one another by one or more registers, (ii) represent separate stages of pipelined logic, (iii) are separated by a state machine, or (iv) are separate regions identified for resynthesis during incremental compilation.
Claim 29
Dependent Claim
351 words
A machine readable medium containing instructions for controlling a compiler that compiles an electronic design to define a fitting of the electronic design on one or more target hardware devices, the electronic design having a logical hierarchical structure including parent logical entities and children logical entities, the instructions specifying a method of compiling with parallel processing which comprises: providing a compilation project including (i) a first compilation task associated with a first child logical entity and (ii) a second compilation task associated with the second child logical entity; allocating a first processing resource for running the first compilation task; allocating a second processing resource, which is separate from the first processing resource, for running the second compilation task; and contemporaneously running the first compilation task on the first processing resource and running the second compilation task on the second processing resource, wherein the first compilation task associated with the first child logical entity comprises: (a) mapping the first child logical entity into a plurality of logic cells representing discrete units of logic to be implemented on discrete logic elements on the one or more target hardware devices, (b) providing a partitioning project for grouping the individual logic cells into blocks of proximate logic elements, the partitioning project including (i) a first partitioning task including performing a bipartitioning routine on a first pair of blocks of the logic elements of the one or more target hardware devices and (ii) a second partitioning task including performing said bipartitioning routine on a second pair of blocks, different from the first pair, of the logic elements of the one or more target hardware devices, and (c) contemporaneously running the first and second partitioning tasks, wherein the bipartioning algorithm includes swapping the logic cells between individual blocks of the pairs of blocks to reduce the number of signal crossings between blocks, and wherein the first and second child logic entities are (i) isolated from one another by one or more registers, (ii) represent separate stages of pipelined logic, (iii) are separated by a state machine, or (iv) are separate regions identified for resynthesis during incremental compilation.
Claim 30
Dependent Claim
21 words
The machine readable medium of claim 25, wherein the first compilation task includes synthesizing logic of the first child logical entity.
Claim 31
Dependent Claim
23 words
The machine readable medium of claim 25, wherein the first compilation task includes netlist extraction of logic for the first child logical entity.
Claim 32
Dependent Claim
324 words
A machine readable medium containing instructions for controlling a compiler that compiles an electronic design to define a partitioning of the electronic design on one or more target hardware devices, the instructions specifying a method of compiling with parallel processing which comprises: mapping a logic design into a plurality of logic cells representing discrete units of logic to be implemented on discrete logic elements on the one or more target hardware devices; defining first and second independent regions of the electronic design; providing a partitioning project for grouping the individual logic cells into regions of proximate logic elements, the partitioning project including (i) a first compilation task including performing a bipartitioning routine on a first pair of regions of the logic elements within the first independent region of the one or more target hardware devices and (ii) a second compilation task including performing said bipartitioning routine on a second pair of regions, different from the first pair, of the logic elements within the second independent region of the one or more target hardware devices; allocating a first processing resource for running the first compilation task; allocating a second processing resource, which is separate from the first processing resource, for running the second compilation task; contemporaneously running the first compilation task on the first processing resource and running the second compilation task on the second processing resource, wherein the bipartitioning algorithm includes swapping the logic cells between individual regions of the pairs of regions to reduce the number of signal crossings between regions; and fitting the logic cells that have been partitioned, into regions of the one or more target hardware devices corresponding to the pairs of regions of the electronic design, wherein the first and second independent regions are (i) isolated from one another by one or more registers, (ii) represent separate stages of pipelined logic, (iii) are separated by a state machine, or (iv) are separate regions identified for resynthesis during incremental compilation.
Claim 33
Dependent Claim
324 words
A machine readable medium containing instructions for controlling a compiler that compiles an electronic design to define a partitioning of the electronic design on one or more target hardware devices, the instructions specifying a method of compiling with parallel processing which comprises: mapping a logic design into a plurality of logic cells representing discrete units of logic to be implemented on discrete logic elements on the one or more target hardware devices; defining first and second independent regions of the electronic design; providing a partitioning project for grouping the individual logic cells into regions of proximate logic elements, the partitioning project including (i) a first compilation task including performing a bipartitioning routine on a first pair of regions of the logic elements within the first independent region of the one or more target hardware devices and (ii) a second compilation task including performing said bipartitioning routine on a second pair of regions, different from the first pair, of the logic elements within the second independent region of the one or more target hardware devices; allocating a first processing resource for running the first compilation task; allocating a second processing resource, which is separate from the first processing resource, for running the second compilation task; contemporaneously running the first compilation task on the first processing resource and running the second compilation task on the second processing resource, wherein the bipartitioning algorithm includes swapping the logic cells between individual regions of the pairs of regions to reduce the number of signal crossings between regions; and fitting the logic cells that have been partitioned, into regions of the one or more target hardware devices corresponding to the pairs of regions of the electronic design, wherein the first and second independent regions are (i) isolated from one another by one or more registers, (ii) represent separate stages of pipelined logic, (iii) are separated by a state machine, or (iv) are separate regions identified for resynthesis during incremental compilation.
Claim 34
Dependent Claim
92 words
The machine readable medium of claim 28, wherein the compilation project includes partitioning the electronic design between at least three regions of the one or more target hardware devices, and wherein the first compilation task includes performing a bipartitioning routine on a first pair or the at least three regions of the one or more target hardware devices, and wherein the second compilation task includes performing said bipartitioning routine on a second pair, different from the first pair, of the at least three regions of the one or more target hardware devices.
Claim 35
Dependent Claim
85 words
The machine readable medium of claim 28, wherein the compilation project includes fitting portions of the electronic design onto at least two regions of the one or more target hardware devices, and wherein the first compilation task includes fitting a first portion of the electronic design on a first region of the one or more target hardware devices, and wherein the second compilation task includes fitting a second portion of the electronic design on a second region of the one or more target hardware devices.
Claim 36
Dependent Claim
41 words
The machine readable medium of claim 28, wherein the first region of the one or more target hardware device is a first target hardware device, and wherein the second region of the target hardware device is a second target hardware device.
Claim 37
Dependent Claim
299 words
A machine readable medium containing instructions for controlling a compiler that compiles an electronic design to define a fitting of the electronic design on one or more target hardware devices, the electronic design having a logical structure including independent regions of logic isolated from one another, the instructions specifying a method of compiling with parallel processing which comprises: defining first and second independent regions of the electronic design; providing a compilation project including (i) a first compilation task associated with the first independent region of the electronic design and (ii) a second compilation task associated with the second independent region of the electronic design, wherein the first and second compilation tasks each comprise first mapping the design into a plurality of logic cells representing discrete units of logic to be implemented on discrete logic elements on the one or more target hardware devices, then partitioning, and then fitting the independent regions of logic to the one or more target hardware devices; allocating a first processing resource for running the first compilation task; allocating a second processing resource, which is separate from the first processing resource, for running the second compilation task; and contemporaneously running the first compilation task on the first processing resource and running the second compilation task on the second processing resource, wherein the first and second independent regions are (i) isolated from one another by one or more registers, (ii) represent separate stages of pipelined logic, (iii) are separated by a state machine, or (iv) are separate regions identified for resynthesis during incremental compilation. wherein the partitioning comprises performing a bipartitioning algorithm that groups the individual logic cells into blocks of proximate logic elements by swapping the logic cells between individual blocks of the pairs of blocks to reduce the number of signal crossings between blocks.
Claim 38
Dependent Claim
299 words
A machine readable medium containing instructions for controlling a compiler that compiles an electronic design to define a fitting of the electronic design on one or more target hardware devices, the electronic design having a logical structure including independent regions of logic isolated from one another, the instructions specifying a method of compiling with parallel processing which comprises: defining first and second independent regions of the electronic design; providing a compilation project including (i) a first compilation task associated with the first independent region of the electronic design and (ii) a second compilation task associated with the second independent region of the electronic design, wherein the first and second compilation tasks each comprise first mapping the design into a plurality of logic cells representing discrete units of logic to be implemented on discrete logic elements on the one or more target hardware devices, then partitioning, and then fitting the independent regions of logic to the one or more target hardware devices; allocating a first processing resource for running the first compilation task; allocating a second processing resource, which is separate from the first processing resource, for running the second compilation task; and contemporaneously running the first compilation task on the first processing resource and running the second compilation task on the second processing resource, wherein the first and second independent regions are (i) isolated from one another by one or more registers, (ii) represent separate stages of pipelined logic, (iii) are separated by a state machine, or (iv) are separate regions identified for resynthesis during incremental compilation. wherein the partitioning comprises performing a bipartitioning algorithm that groups the individual logic cells into blocks of proximate logic elements by swapping the logic cells between individual blocks of the pairs of blocks to reduce the number of signal crossings between blocks.
Claim 39
Dependent Claim
28 words
The machine readable medium of claim 32, wherein the first and second independent regions of the electronic design are isolated from one another by one or more registers.
Claim 40
Dependent Claim
19 words
The machine readable medium of claim 32, wherein the first and second independent regions include stages of pipelined logic.
Claim 41
Dependent Claim
20 words
The machine readable medium of claim 32, wherein the first and second independent regions are separated by a state machine.