Systems and methods are described for creating a netlist abstraction that provides full-chip context for performing circuit design floorplanning. The netlist abstraction can include a top-level netlist abstraction that corresponds to the top-level portion of the netlist, and a physical block netlist abstraction for each physical block in the circuit design. Each physical block netlist abstraction can retain macros that are in the physical block.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method, comprising: receiving a plurality of block abstractions in a circuit abstraction, wherein a first block abstraction of the plurality of block abstractions includes a plurality of logical netlist abstractions and a macro with fixed pin locations, and wherein each logical netlist abstraction has an area that is substantially equal to a total area of cells abstracted by the logical netlist abstraction; receiving move bound information which specifies spatial boundaries within the first block abstraction where the plurality of logical netlist abstractions and the macro are permitted to be placed; and performing, by a processor, placement on the first block abstraction based on the move bound information and interconnectivity between the plurality of logical netlist abstractions and the macro.
2. The method of claim 1 , wherein each block abstraction in the plurality of block abstractions retains macros that are part of a corresponding physical block.
3. The method of claim 1 , further comprising: receiving a top-level abstraction in the circuit abstraction; and wherein the performing placement comprises performing placement on the top-level abstraction and the first block abstraction based on the move bound information and the interconnectivity between the top-level abstraction, the plurality of logical netlist abstraction, and the macro.
4. The method of claim 3 , wherein the top-level abstraction retains macros that are part of a corresponding top-level netlist.
5. The method of claim 1 , wherein the performing placement comprises using a cost function that includes a weighted sum of electrical connection lengths between a first set of ports and other circuit objects.
6. A non-transitory computer-readable storage medium storing instructions, which when executed by a processor, cause the processor to: receive a plurality of block abstractions in a circuit abstraction, wherein a first block abstraction of the plurality of block abstractions included a plurality of logical netlist abstractions and a macro with fixed pin locations, and wherein each logical netlist abstraction has an area that is substantially equal to a total area of cells abstracted by the logical netlist abstraction; receive move bound information which specifies spatial boundaries within the first block abstraction where the plurality of logical netlist abstraction and the macro are permitted to be placed; and perform placement on the first block abstraction based on the move bound information and interconnectivity between the plurality of logical netlist abstractions and the macro.
7. The non-transitory computer-readable storage medium of claim 6 , wherein each block abstraction in the plurality of block abstractions retains macros that are part of a corresponding physical block.
8. The non-transitory computer-readable storage medium of claim 6 , which when executed by the processor, cause the processor to: receive a top-level abstraction in the circuit abstraction; and wherein the performing placement comprises performing placement on the top-level abstraction and the first block abstraction based on the move bound information and the interconnectivity between the top-level abstraction, the plurality of logical netlist abstractions, and the macro.
9. The non-transitory computer-readable storage medium of claim 8 , wherein the top-level abstraction retains macros that are part of a corresponding top-level netlist.
10. The non-transitory computer-readable storage medium of claim 6 , wherein the performing placement comprises using a cost function that includes a weighted sum of electrical connection lengths between a first set of ports and other circuit objects.
11. An apparatus, comprising: a processor; and a non-transitory computer-readable storage medium storing instructions that, when executed by the processor, cause the processor to: receive a plurality of block abstractions in a circuit abstraction, wherein a first block abstraction of the plurality of block abstractions include a plurality of logical netlist abstractions and a macro with fixed pin locations and wherein each logical netlist abstraction has an area that is substantially equal to a total area of cells abstracted by the logical netlist abstraction; move bound information which specifies spatial boundaries within the first block abstraction where the plurality of logical netlist abstraction and the macro are permitted to be placed; and perform placement on the first block abstraction based on the move bound and interconnectivity between the plurality of logical netlist abstractions and the macro.
12. The apparatus of claim 11 , wherein each block abstraction in the plurality of block abstractions retains macros that are part of a corresponding physical block.
13. The apparatus of claim 11 , wherein the instructions, when executed by the processor, cause the processor to: receive a top-level abstraction in the circuit abstraction; and wherein the performing placement comprises performing placement on the top-level abstraction and the first block abstraction bases on the move bound information and the interconnectivity between the top-level abstraction, the plurality of logical netlist abstractions, and the macro.
14. The apparatus of claim 13 , wherein the top-level abstraction retains macros that are part of a corresponding top-level netlist.
15. The apparatus of claim 11 , wherein the performing placement comprises using a cost function that includes a weighted sum of electrical connection lengths between a first set of ports and other circuit objects.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
June 17, 2019
January 19, 2021
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.