Process for managing complex pre-wired net segments in a VLSI design
AssigneeInternational Business Machines Corporation
InventorsChristopher J. Berry, Michael A. Bowen, Michael R. Scheuermann, Michael H. Wood
Life of this patent
Estimating the term…
Abstract
A method for pre-wiring through multiple levels of metal using flues includes steps of: receiving information comprising flue geometries and flue properties; producing multiple routing patterns of a design for the flues; identifying macro instance terminals to be pre-wired in the design; selecting at least one of the routing patterns for the macro instance terminals in the design to avoid blockage; and instantiating the design such that the flues can be manipulated as vias.
Claims15
A method for pre-wiring comprising steps of:
- using an input/output interface for receiving information about a plurality of flues that traverse a plurality of layers of an interconnect, the information comprising a data file specifying flue geometries and flue properties, said data file comprising lines wherein each line of the data file represents a single flue;
- using a parser to execute a step of parsing each line of the data file for information on the single flue;
- using a data storage device for storing the line comprising the flue geometries and properties of the flue;
- using a processor device for generating the flues using the flue geometries and the flue properties;
- and
- using the processor device for:
- producing data structures that group the flues based on similar physical structures;
- producing a plurality of routing patterns for a pre-wiring net design for the flues using the data structures, wherein said pre-wiring net design comprises nets that define connections of instance terminals, wherein said instance terminals comprise physical locations and wire layer definitions;
- identifying the instance terminals to be pre-wired in the pre-wiring net design;
- identifying a list of the flues for each identified instance terminal;
- checking each identified flue for legality on its associated instance terminal, producing an updated list of available flues;
- grouping the instance terminals to prevent flue-to-flue problems;
- identifying an optimal flue for each instance terminal from the updated list of available flues, taking into consideration other instance terminals in the group;
- selecting the routing patterns for the macro instance terminals with the optimal flue in the pre-wiring net design to avoid blockage;
- and
- instantiating the pre-wiring net design using the selected routing pattern such that the flues are manipulated as vias for the macro instance terminals through multiple levels of the interconnect.
A system for fabricating pre-wired net segments, the system comprising:
- an input/output interface configured for receiving net segment information comprising a data file specifying flue geometries and flue properties, said data file comprising lines wherein each line of the data file represents a single flue;
- a memory for storing the net segment information;
- an editor for parsing the net segment information by parsing each line of the data file;
- a processor configured to:
- produce data structures that group the flues based on similar physical structures;
- produce a plurality of routing patterns of a design for the net segments using the data structures, wherein said net segments define connections of instance terminals, wherein said instance terminals comprise physical locations and wire layer definitions;
- identify macro instance terminals to be pre-wired in the design;
- identify a list of the flues for each identified macro instance terminal;
- check each identified flue for legality on its associated macro instance terminal to produce an updated list of available flues;
- identify an optimal flue for each instance terminal from the updated list of available flues;
- and
- select the routing pattern with the optimal flue for the macro instance terminals in the design to avoid blockage.
A computer program product embodied on a computer readable storage medium and comprising code that, when executed, causes a computer to perform the following:
- receive information about a plurality of flues that traverse a plurality of layers of an interconnect, said information comprising a data file specifying flue geometries and flue properties, said data file comprising lines wherein each line of the data represents a single flue;
- produce data structures that group the flues based on similar physical structures;
- produce a plurality of routing patterns for a flue design using the data structures, wherein said flue design comprises nets that define connections of macro instance terminals, wherein said instance terminals comprise physical locations and wire layer definitions;
- identify the macro instance terminals to be pre-wired in the flue design;
- identify a list of the flues for each identified instance terminal;
- check each identified flue for legality on its associated instance terminal producing an updated list of available flues;
- identifying an optimal flue for each instance terminal from the updated list of available flues;
- and
- select a routing pattern for the macro instance terminals with the optimal flue in the flue design to avoid blockage.
Dependencies are inferred from the claim text.