Bit stack wiring channel optimization with fixed macro placement and variable pin placement
First Claim
1. A computer implemented method of very large scale integrated (VLSI) circuit design which, for a given fixed ordering of a set of bit stack macros and a definition of interconnected nets, determines a pin placement and channel allocation within bit stack macros such that a minimum number of wiring channels are consumed, said method comprising the steps of:
- prioritizing nets by length with longest nets having highest priority;
routing nets between appropriate macros according to their priority; and
dynamically assigning pin rails as the nets are being placed with a preference towards a nearest edge of a macro in order to minimize net length and maximize sharing of wiring channels among multiple nets.
1 Assignment
0 Petitions
Accused Products
Abstract
Wiring channel assignment in very large scale integrated (VLSI) bit stack macros is optimized for fixed macro placement and variable pin placement. Nets are first prioritized by length with the longest nets having highest priority. Nets are then routed between the appropriate macros according to their priority. Pin rails or position are assigned dynamically, rather than being predetermined, as the nets are being placed with a preference towards the nearest edge of the macro, in order to minimize net length and maximize sharing of wiring channels among multiple nets.
31 Citations
13 Claims
-
1. A computer implemented method of very large scale integrated (VLSI) circuit design which, for a given fixed ordering of a set of bit stack macros and a definition of interconnected nets, determines a pin placement and channel allocation within bit stack macros such that a minimum number of wiring channels are consumed, said method comprising the steps of:
-
prioritizing nets by length with longest nets having highest priority; routing nets between appropriate macros according to their priority; and dynamically assigning pin rails as the nets are being placed with a preference towards a nearest edge of a macro in order to minimize net length and maximize sharing of wiring channels among multiple nets. - View Dependent Claims (2)
-
-
3. A computer implemented method for automatically optimizing bit stack channel wiring for very large scale integrated (VLSI) bit stack design comprising the steps of:
-
constructing a list of bit stack macros, ordered by relative position from bottom-most position macro to top-most position macro in said list; constructing a list of pin-pairs based on nets connecting between bit stack macros and other stack macros such that all pin-pairs should contain at least one pin which is a member of a bit stack macro; prioritizing the pin-pairs by length such that pin-pairs separated by the largest distance have highest priority; constructing a bit stack matrix used to describe macro placements, pin positions and wiring channel assignments; and iteratively assigning each pin from each pin-pair to a macro placement, as needed, and assigning a net corresponding to each pin-pair to a wiring channel, as needed. - View Dependent Claims (4, 5)
-
-
6. A method for automatically optimizing bit stack channel wiring for very large scale integrated (VLSI) bit stack design on a computer comprising the steps of:
-
inputting data files defining bit stack macros of a VLSI chip; constructing a bit stack macro list sorted by y-axis position in the VLSI bit stack design; constructing a net list including each pin in an overall VLSI bit stack design; defining a VLSI chip structure to represent a problem space using two layers, one for pins and the other for wiring channels, the problem space being defined as an N×
M bit stack matrix, where N is the number of nets and M is the number of pins;assigning routing channels and pin placements in the bit stack matrix by determining whether pins already exist in the chip structure for each pin-pair in the priority queue, and if pins already exist, then creating pin rails for each pin and routing with a "pattern matching" router to obtain a shortest connecting path; and generating an output results file by writing a net map, including wires and pins, and writing net wires. - View Dependent Claims (7, 8, 9, 10, 11)
-
-
12. A computer system for very large scale integrated (VLSI) circuit design which, for a given fixed ordering of a set of bit stack macros and a definition of interconnected nets, determines a pin placement and channel allocation within bit stack macros such that a minimum number of wiring channels are consumed, said computer system comprising:
-
means for prioritizing nets by length with longest nets having highest priority; means for routing nets between appropriate macros according to their priority; and means for dynamically assigning pin rails as the nets are being placed with a preference towards a nearest edge of a macro in order to minimize net length and maximize sharing of wiring channels among multiple nets. - View Dependent Claims (13)
-
Specification