Optimizing placement of circuit resources using a globally accessible placement memory

US9703914B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9703914-B2
Application numberUS-201615187856-A
CountryUS
Kind codeB2
Filing dateJun 21, 2016
Priority dateMar 24, 2015
Publication dateJul 11, 2017
Grant dateJul 11, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method, executed by one or more processors, for optimizing placement of a logic network, includes partitioning a logic network into a set of logic partitions, launching a set of placement optimization threads that correspond to the logic partitions, and allocating memory that is accessible to the placement optimization threads to provide a globally accessible placement memory for reserving placement locations on the integrated circuit. Each placement optimization thread may be configured to conduct the operations of determining a desired location for a logic element, reserving a set of potential locations for the logic element, determining a best location from the set of potential locations, and placing the logic element to the best location. Each placement optimization thread may also be configured to release each of the potential locations that are not the best location. A corresponding computer program product and computer system are also disclosed herein.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, executed by one or more processors, for optimizing placement of a logic network, the method comprising: determining, by the one or more processors, a resource for placement and a desired location for the resource; reserving, by the one or more processors, via a placement memory, a plurality of potential locations for the logic element that are proximate to the desired location; determining, by the one or more processors, a best location from the plurality of potential locations; and placing, by the one or more processors, the logic element at the best location. 2. The method of claim 1 , wherein reserving a potential location of the plurality of potential locations comprises inserting a thread identifier within at least one entry of an owning thread array stored within the placement memory. 3. The method of claim 1 , wherein reserving a potential location of the plurality of potential locations comprises inserting at least one bit within a reserved locations bitmap stored within the placement memory. 4. The method of claim 1 , wherein reserving a potential location of the plurality of potential locations comprises locking and unlocking at least a portion of the placement memory. 5. The method of claim 1 , freeing, by the one or more processors, a placement location for a deleted logic element via the placement memory. 6. The method of claim 1 , reserving, by the one or more processors, a placement location for an added logic element via the placement memory. 7. The method of claim 1 , wherein the logic element is within a logic partition that corresponds to a placement optimization thread. 8. The method of claim 1 , further comprising releasing, by the one or more processors, each of the plurality of potential locations that are not the best location. 9. A computer program product for optimizing placement of a logic network, the computer program product comprising: at least one computer readable storage medium that is not a transitory signal per se and program instructions stored on the at least one computer readable storage medium, the program instructions comprising instructions to perform operations comprising: determining a resource for placement and a desired location for the resource; reserving, via a placement memory, a plurality of potential locations for the logic element that are proximate to the desired location; determining a best location from the plurality of potential locations; and placing the logic element at the best location. 10. The computer program product of claim 9 , wherein reserving a potential location of the plurality of potential locations comprises inserting a thread identifier within at least one entry of an owning thread array stored within the placement memory. 11. The computer program product of claim 9 , wherein reserving a potential location of the plurality of potential locations comprises inserting at least one bit within a reserved locations bitmap stored within the placement memory. 12. The computer program product of claim 9 , wherein reserving a potential location of the plurality of potential locations comprises locking and unlocking at least a portion of the placement memory. 13. The computer program product of claim 9 , wherein the operations further comprise freeing a placement location for a deleted logic element via the placement memory. 14. The computer program product of claim 9 , wherein the operations further comprise reserving a placement location for an added logic element via the placement memory. 15. The computer program product of claim 9 , wherein the operations further comprise releasing each of the plurality of potential locations that are not the best location. 16. A computer system for optimizing placement of a logic network, the computer system comprising: one or more computers; at least one computer readable storage medium that is not a transitory signal per se and program instructions stored on the at least one computer readable storage medium, the program instructions comprising instructions to perform operations comprising: determining a resource for placement and a desired location for the resource; reserving, via a placement memory, a plurality of potential locations for the logic element that are proximate to the desired location; determining a best location from the plurality of potential locations; and placing the logic element at the best location. 17. The computer system of claim 16 , wherein reserving a potential location of the plurality of potential locations comprises inserting a thread identifier within at least one entry of an owning thread array stored within the placement memory. 18. The computer system of claim 16 , wherein reserving a potential location of the plurality of potential locations comprises inserting at least one bit within a reserved locations bitmap stored within the placement memory. 19. The computer system of claim 16 , wherein reserving a potential location of the plurality of potential locations comprises locking and unlocking at least a portion of the placement memory. 20. The computer system of claim 16 , wherein the operations further comprise freeing a placement location for a deleted logic element via the placement memory.

Assignees

Inventors

Classifications

  • CAD in a network environment, e.g. collaborative CAD or distributed simulation · CPC title

  • Design verification, e.g. functional simulation or model checking · CPC title

  • Physics · mapped topic

  • Physics · mapped topic

  • Physics · mapped topic

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9703914B2 cover?
A method, executed by one or more processors, for optimizing placement of a logic network, includes partitioning a logic network into a set of logic partitions, launching a set of placement optimization threads that correspond to the logic partitions, and allocating memory that is accessible to the placement optimization threads to provide a globally accessible placement memory for reserving pl…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F17/5072. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 11 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).