Parallel incremental global routing
First Claim
1. A computer-implemented method of performing global routing during integrated circuit fabrication, the method comprising:
- performing a design change in a portion of an integrated circuit design as a thread using a processor, wherein each of two or more of the threads operates on a respective one of the portions of the integrated circuit design;
determining using the processor, whether the design change requires rerouting;
requesting, using the processor, a global routing lock based on the determining indicating that the design change requires the rerouting, wherein the global routing lock maintains a network list for every portion of the integrated circuit design as static;
providing, using a router, control of the global routing lock to one of the two or more of the threads that request the global routing lock;
performing, using the router, global routing for all of the two or more of the threads in parallel during the control of the global routing lock by the one of the two or more of the threads and updating the network list based on the global routing for all of the two or more of the threads with consideration of all modifications of the network list for all of the two or more of the threads; and
fabricating a physical implementation of the integrated circuit design based on the global routing.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method perform global routing during integrated circuit fabrication. The method includes performing a design change in a portion of an integrated circuit design using a processor, determining whether the design change requires rerouting, and requesting a global routing lock based on determining that the design change requires the rerouting. The method also includes a router providing control of the global routing lock to one of two or more of the threads that request the global routing lock, and performing global routing for all of the two or more of the threads in parallel. A physical implementation of the integrated circuit design is obtained.
-
Citations
20 Claims
-
1. A computer-implemented method of performing global routing during integrated circuit fabrication, the method comprising:
-
performing a design change in a portion of an integrated circuit design as a thread using a processor, wherein each of two or more of the threads operates on a respective one of the portions of the integrated circuit design; determining using the processor, whether the design change requires rerouting; requesting, using the processor, a global routing lock based on the determining indicating that the design change requires the rerouting, wherein the global routing lock maintains a network list for every portion of the integrated circuit design as static; providing, using a router, control of the global routing lock to one of the two or more of the threads that request the global routing lock; performing, using the router, global routing for all of the two or more of the threads in parallel during the control of the global routing lock by the one of the two or more of the threads and updating the network list based on the global routing for all of the two or more of the threads with consideration of all modifications of the network list for all of the two or more of the threads; and fabricating a physical implementation of the integrated circuit design based on the global routing. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system to perform global routing during integrated circuit fabrication, the system comprising:
-
a processor configured to perform a design change in a portion of an integrated circuit design as a thread, wherein each of two or more of the threads operates on a respective one of the portions of the integrated circuit design, determine whether the design change requires rerouting, and request a global routing lock based on determining that the design change requires the rerouting, wherein the global routing lock maintains a network list for every portion of the integrated circuit design as static; and a router configured to provide control of the global routing lock to one of two or more of the threads that request the global routing lock, and perform global routing for the design changes of all of the two or more of the processors in parallel during the control of the global routing lock by the one of the two or more of the threads and updating the network list based on the global routing for all of the two or more of the threads with consideration of all modifications of the network list for all of the two or more of the threads, wherein, based on the global routing, the integrated circuit design is provided to fabricate a physical implementation of the integrated circuit design. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer program product for performing design of a portion of an integrated circuit, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by one or more processors to perform a method comprising:
-
performing a design change in the portion of an integrated circuit design as a thread, wherein each of two or more of the threads operates on a respective one of the portions of the integrated circuit design; determining whether the design change requires rerouting; requesting, from a router, a global routing lock based on the determining indicating that the design change requires the rerouting, wherein the global routing lock maintains a network list for every portion of the integrated circuit design as static; and determining, upon obtaining the global routing lock, whether global routing for the design change was completed by the router during control of the global routing lock by another thread associated with another portion of the integrated circuit design, wherein, based on the global routing, the integrated circuit design is provided for physical implementation. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification