Method and apparatus for hierarchically restructuring portions of a hierarchical database based on selected attributes
AssigneeFreescale Semiconductor, Inc.
InventorJames T. Roberts
Life of this patent
Estimating the term…
Abstract
A method and apparatus for hierarchically restructuring at least a portion of a hierarchical database based on selected attributes. In one embodiment, a virtual cell (140) may use a virtual cell mapping function (130) to create a hierarchical netlist. Some embodiments may programmatically create a corresponding generated template to include in the netlist for each virtual cell. Some embodiments may generate multiple templates from the same cell. Some embodiments may generate multiple instances of different templates from the same instance in the database. One application of the present invention is for use in circuit simulation.
Claims32
A method for hierarchically restructuring portions of a hierarchical database comprising:
- selectively flattening a first portion of the hierarchical database based on a first predetermined attribute;
- and
- selectively reverse flattening a second portion of the hierarchical database based on a second predetermined attribute.
A method for creating a hierarchical netlist for a circuit, comprising:
- using a virtual cell to create the hierarchical netlist, wherein the virtual cell includes a section of code that programmatically describes a cell within the circuit using information that describes the cell at a predetermined level of the hierarchy.
A netlister stored via a computer readable medium, the netlister comprising:
- a virtual cell mapping function capable of receiving a cell corresponding to a circuit and an attribute corresponding to the cell, the attribute capable of having a plurality of values, the virtual cell mapping function capable of generating a first virtual cell based on the cell and a first value of the attribute and a second virtual cell based on the cell and a second value of the attribute;
- and
- a first plurality of instructions for using the first and second virtual cells to generate a hierarchical netlist.
A method for creating a netlist for a circuit, comprising:
- initializing a hierarchical database corresponding to the circuit;
- traversing the database to formulate a list of cells with corresponding attributes, wherein each of the cells may be one of a real cell or a virtual cell;
- for each real cell, obtaining a corresponding template from the database to include in the netlist;
- and
- for each virtual cell, programmatically creating a corresponding generated template to include in the netlist.
A method for generating templates for a circuit netlist, comprising:
- selecting a virtual cell having a corresponding attribute from a component list of a circuit, wherein the corresponding attribute is capable of having a plurality of attribute values;
- generating a first template based on the virtual cell and a first value of the corresponding attribute;
- and
- generating a second template, different from the first template, based on the virtual cell and a second value of the corresponding attribute.
A method for generating templates for a circuit netlist, comprising:
- selecting a virtual cell having a corresponding attribute from a component list of a circuit, wherein the corresponding attribute is capable of having a plurality of attribute values;
- generating a first instance based on the virtual cell and a first value of the corresponding attribute;
- and
- generating a second instance, different from the first instance, based on the virtual cell and a second value of the corresponding attribute.
Dependencies are inferred from the claim text.