Multiple level spine routing
First Claim
Patent Images
1. A method for routing a plurality of nets, comprising:
- receiving, at one or more computer systems, information indicative of a specification of a plurality of nets;
receiving, at the one or more computer systems, a specification of a first set of routing tracks, wherein each of the routing tracks of the specification is assignable for a main spine wire of one of the nets;
based on the received information of the nets, the received specification of the first set of routing tracks, and a cost function, assigning, using the one or more computer systems, one of the assignable routing tracks to each of the nets, wherein the assigning of the assignable routing tracks to each of the nets is based on a solution to a Linear Assignment Problem; and
generating, using the one or more computer systems, a main spine wire for each of the nets, wherein the generated main spine wire for each particular net is placed in the routing track assigned for the particular net.
4 Assignments
0 Petitions
Accused Products
Abstract
Multiple level spine routing is disclosed. In some embodiments, in response to receiving a specification of a plurality of nets and a specification of a set of routing tracks available for main spines, a main spine routing track is assigned to each of the plurality of nets based at least in part on a cost function and main spine wires are generated on the assigned main spine routing tracks for each of the plurality of nets.
52 Citations
39 Claims
-
1. A method for routing a plurality of nets, comprising:
-
receiving, at one or more computer systems, information indicative of a specification of a plurality of nets; receiving, at the one or more computer systems, a specification of a first set of routing tracks, wherein each of the routing tracks of the specification is assignable for a main spine wire of one of the nets; based on the received information of the nets, the received specification of the first set of routing tracks, and a cost function, assigning, using the one or more computer systems, one of the assignable routing tracks to each of the nets, wherein the assigning of the assignable routing tracks to each of the nets is based on a solution to a Linear Assignment Problem; and generating, using the one or more computer systems, a main spine wire for each of the nets, wherein the generated main spine wire for each particular net is placed in the routing track assigned for the particular net. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A system for routing a plurality of nets, comprising:
-
a processor configured to; receive a specification of a plurality of nets; receive a specification of a first set of routing tracks, wherein each of the routing tracks of the specification is assignable for a main spine wire of one of the nets; based on the received information of the nets, the received specification of the first set of routing tracks, and a cost function, assign of the assignable routing tracks to each of the nets based on a solution to a Linear Assignment Problem; and generate a main spine wire for each of the nets, wherein the generated main spine wire for each particular net is placed in the routing track assigned to the particular net; and a memory coupled to the processor and configured to provide the processor with instructions. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. A computer program product for routing a plurality of nets, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:
-
receiving a specification of a plurality of nets; receiving a specification of a first set of routing tracks, wherein each of the routing tracks of the specification is assignable for a main spine wire of one of the nets; based on the received information of the nets, the received specification of the first set of routing tracks, and a cost function, assigning one of the assignable routing tracks to each of the nets based on a solution to a Linear Assignment Problem; and generating a main spine wire for each of the nets, wherein the generated main spine wire for each particular net is placed in the routing track assigned to the particular net. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39)
-
Specification