SYSTEMS AND METHODS FOR REDUCING WIRING VIAS DURING SYNTHESIS OF ELECTRONIC DESIGNS
First Claim
1. An electronic design via reduction method, comprising:
- marking a plurality of nets, each net having at least two pin connection as unprocessed;
determining whether there are further unprocessed nets;
selecting one of the plurality of nets and marking the net as processed;
sorting pairs of pins on the net by a displacement;
selecting an unprocessed pin pair having the smallest displacement relative to other of the plurality of unprocessed pin pairs;
selectively removing a via between the pins;
determining whether there are any further unprocessed pin pairs; and
determining whether there are any further unprocessed nets.
3 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for reducing wire vias during synthesis of electronic designs. Exemplary embodiments include an electronic design via reduction method, including marking a plurality of nets, each net having at least two pin connections as unprocessed, determining whether there are further unprocessed nets, selecting one of the plurality of nets and marking the net as processed, sorting pairs of pins on the net by a displacement, selecting an unprocessed pin pair having the smallest displacement relative to other of the plurality of unprocessed pin pairs, selectively removing a via between the pins, determining whether there are any further unprocessed pin pairs and determining whether there are any further unprocessed nets.
29 Citations
20 Claims
-
1. An electronic design via reduction method, comprising:
-
marking a plurality of nets, each net having at least two pin connection as unprocessed; determining whether there are further unprocessed nets; selecting one of the plurality of nets and marking the net as processed; sorting pairs of pins on the net by a displacement; selecting an unprocessed pin pair having the smallest displacement relative to other of the plurality of unprocessed pin pairs; selectively removing a via between the pins; determining whether there are any further unprocessed pin pairs; and determining whether there are any further unprocessed nets. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer readable medium having computer executable instructions for performing an electronic design via reduction method, comprising:
-
marking a plurality of nets, each net having at least two pin connections as unprocessed; determining whether there are further unprocessed nets; selecting one of the plurality of nets and marking the net as processed; sorting pairs of pins on the net by a displacement; determining that there are no further unprocessed pin pairs; selecting an unprocessed pin pair having the smallest displacement relative to other of the plurality of unprocessed pin pairs. defining a identification procedure to determine whether the pin pairs are in at least one of fixed and in the same circuit row; recursively using said identification procedure until no further pin pairs are identifies as at least one of fixed and in the same circuit row; computing a displacement N between the pins of the pin pair; defining a displacement procedure to determine if N has exceeded a predetermined threshold; recursively using said displacement procedure while N has not exceeded the predetermined threshold; defining a constraints procedure that includes; defining a move interval; recursively applying the constrains procedure to determine a location for the leftmost box and shifting the leftmost box along the move interval until it aligns with the rightmost box; recursively applying the constraints procedure to determine a location for the rightmost box and shifting the rightmost box along the move interval until it aligns with the leftmost box; determining whether the leftmost and rightmost boxes are positioned in locations within bounds of pre-determined constraints; and determining if there are any further unprocessed nets.
-
-
13. A method for reducing vias during synthesis of electronic designs, the method comprising:
-
selecting a plurality of nets, each net having at least two pin connections; counting a total number of vias for boxes to which all the pins on the nets are attached; determining a slack and violation ration on each of the plurality of nets; ranking pairs of pins on each net by an offset of a horizontal position of the pins; recursively selecting pins in an order of increasing offset, wherein the offset determines a window in which boxes may be positioned; selectively sliding rightmost and leftmost boxes to determine an alignment of the boxes within pre-determined constraints; selecting the window such that it is within a predetermined displacement; and determining that the pins are in alignment within the predetermined constraints. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification