Using machine trained network during routing to modify locations of vias in an ic design
Abstract
Some embodiments use a machine-trained network during routing to provide the router with sufficient information to improve the quality of routes generated by a router. This machine-trained network in some embodiments is referred to as the “digital twin” of a lengthy design and/or manufacturing process that produces the design of an IC layout and/or manufactures an IC based on a designed IC layout. The digital twin in some embodiments provides information regarding parasitics, regarding redundant vias for insertion or regarding complexity of subsequent manufacturing processes used to manufacture an IC based on the IC design layout.
Claims
exact text as granted — not AI-modified1 . A method of performing routing to define a plurality of routes for a plurality of nets in an integrated circuit (IC) design layout, the method comprising:
performing a first routing operation to define a first set of one or more routes for a first set of one or more nets; supplying the first set of routes to a machine-trained network (MTN) to identify, in the design layout, one or more via locations for a group of one or more routes in the set of routes to modify; and modifying the one or more identified via locations in each route in the group of routes.
2 . The method of claim 1 , wherein the MTN identifies each via that needs modification, the method further comprising performing, after obtaining the MTN's identification of the set of via locations, a via modification process that for each identified via on each route, inserts one or more additional vias as redundant vias for the identified via, or moves the identified via to another location on the route.
3 . The method of claim 2 , wherein a via is moved to another location on the route by discarding the via and inserting another via at the other location in route.
4 . The method of claim 2 , wherein the MTN is trained in a training process that uses a first plurality of known input design layouts with a first plurality of known output design layouts that identify one or more vias in the input design layouts that need to be modified, said known input design layouts fed through the MTN during training to produce a second plurality of output design layouts that identify one or more vias in the input design layouts that need to be modified and that are used in conjunction with the first plurality of known output design layouts to generate a loss function value, which is used to adjust a set of trainable parameters of the MTN.
5 . The method of claim 1 , wherein supplying the first set of routes comprises supplying a portion of the IC design layout that contains the first set of routes to the MTN, which identifies in the IC design portion one or more via-hotspot regions that should be further analyzed by a via modification process.
6 . The method of claim 5 further comprising after obtaining the MTN's set of via-hotspot regions, performing the via modification process that moves one or more vias in one or more hotspots, or identifies one or more redundant vias to insert for one or more vias contained in the hotspot regions.
7 . The method of claim 6 , wherein a via is moved to another location on the route by discarding the via and inserting another via at the other location in route.
8 . The method of claim 5 , wherein the MTN is trained in a training process that uses a first plurality of known input design layouts with a first plurality of known output design layouts that have one or more via hot-spot regions that contain at least one via that needs to be removed or moved or that needs one or more redundant vias, said known input design layouts fed through the MTN during training to produce a second plurality of output design layouts that have via hotspot regions, and that are used in conjunction with the first plurality of known output design layouts to generate a loss function value, which is used to adjust a set of trainable parameters of the MTN.
9 . The method of claim 1 , wherein first set of routes comprises a first plurality of routes, and said supplying is performed as part of a rip-up-and-reroute operation that analyzes the first plurality of routes that are defined after the first routing operation to determine whether any via associated with any route in the first plurality of routes needs to be modified.
10 . The method of claim 9 further comprising:
discarding a particular route, for a particular net, in the first plurality of routes after failing to identify an acceptable modification for a via that is used by the particular route and that is at a via location identified by the MTN; and
performing a second routing operation to define a new route for the particular net.
11 . The method of claim 1 , wherein first set of routes consists of a first route, and said supplying is performed after the first routing operation identifies the first route, in order to determine whether any via used by the first route needs to be modified.
12 . The method of claim 1 , wherein supplying the first set of routes comprises supplying a portion of the IC design layout that contains the first set of routes to the MTN.
13 . A non-transitory machine readable medium storing a program which when executed by at least one processing unit performs routing to define a plurality of routes for a plurality of nets in an integrated circuit (IC) design layout, the program comprising sets of instructions for:
performing a first routing operation to define a first set of one or more routes for a first set of one or more nets; supplying the first set of routes to a machine-trained network (MTN) to identify, in the design layout, one or more via locations for a group of one or more routes in the set of routes to modify; and modifying the one or more identified via locations in each route in the group of routes.
14 . The non-transitory machine readable medium of claim 13 , wherein the MTN identifies each via that needs modification, the program further comprises a set of instructions for performing, after obtaining the MTN's identification of the set of via locations, a via modification process that for each identified via on each route, inserts one or more additional vias as redundant vias for the identified via, or moves the identified via to another location on the route.
15 . The non-transitory machine readable medium of claim 14 , wherein a via is moved to another location on the route by discarding the via and inserting another via at the other location in route.
16 . The non-transitory machine readable medium of claim 14 , wherein the MTN is trained in a training process that uses a first plurality of known input design layouts with a first plurality of known output design layouts that identify one or more vias in the input design layouts that need to be modified, said known input design layouts fed through the MTN during training to produce a second plurality of output design layouts that identify one or more vias in the input design layouts that need to be modified and that are used in conjunction with the first plurality of known output design layouts to generate a loss function value, which is used to adjust a set of trainable parameters of the MTN.
17 . The non-transitory machine readable medium of claim 13 , wherein the set of instructions for supplying the first set of routes comprises a set of instructions for supplying a portion of the IC design layout that contains the first set of routes to the MTN, which identifies in the IC design portion one or more via-hotspot regions that should be further analyzed by a via modification process.
18 . The non-transitory machine readable medium of claim 17 , wherein the program further comprises after obtaining the MTN's set of via-hotspot regions, a set of instructions for performing the via modification process that moves one or more vias in one or more hotspots, or identifies one or more redundant vias to insert for one or more vias contained in the hotspot regions.
19 . The non-transitory machine readable medium of claim 18 , wherein a via is moved to another location on the route by discarding the via and inserting another via at the other location in route.
20 . The non-transitory machine readable medium of claim 17 , wherein the MTN is trained in a training process that uses a first plurality of known input design layouts with a first plurality of known output design layouts that have one or more via hot-spot regions that contain at least one via that needs to be removed or moved or that needs one or more redundant vias, said known input design layouts fed through the MTN during training to produce a second plurality of output design layouts that have via hotspot regions, and that are used in conjunction with the first plurality of known output design layouts to generate a loss function value, which is used to adjust a set of trainable parameters of the MTN.Join the waitlist — get patent alerts
Track US2023385514A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.