Automatic back annotation of a functional definition of an integrated circuit design based upon physical layout
AssigneeInternational Business Machines Corporation
InventorsMark S. Fredrickson, Glen Howard Handlogten, Chad B. McBride
Life of this patent
Estimating the term…
Abstract
An apparatus, program product and method automatically back annotate a functional definition of a circuit design based upon the physical layout generated from the functional definition. A circuit design may be back annotated, for example, by generating a plurality of assignments between a plurality of circuit elements in the circuit design and a plurality of signals defined for the circuit design using a physical definition of the circuit design that has been generated from the functional definition, and modifying the functional definition of the circuit design to incorporate the plurality of assignments into the functional definition.
Claims18
A method of annotating a functional definition of a circuit design, the method comprising:
- using a physical definition of the circuit design that has been generated from the functional definition, generating a plurality of assignments between a plurality of circuit elements in the circuit design and a plurality of signals defined for the circuit design;
- and
- automatically modifying the functional definition of the circuit design to incorporate the plurality of assignments into the functional definition;
- wherein the plurality of assignments includes a first assignment configured to couple a first circuit element among the plurality of circuit elements to a first signal among the plurality of signals, wherein the first circuit element is defined in a first HDL file among a plurality of HDL files in the functional definition, and wherein modifying the functional definition of the circuit design to incorporate the plurality of assignments into the functional definition includes, for at least the first assignment:
- storing a record associated with the first assignment in a first data structure associated with the first HDL file, wherein the first data structure is among a plurality of data structures respectively associated with the plurality of HDL files;
- associating a stage identifier with the record in the first data structure, wherein the stage identifier identifies an initial execution stage among a plurality of execution stages;
- processing the record by retrieving the record from the first data structure and passing the record to the execution stage among the plurality of execution stages that is identified by the stage identifier for the record;
- and
- after processing the record, and until the stage identifier for the record indicates that the record has been processed by all of the execution stages, repeatedly:
- incrementing the stage identifier for the record to identify a next execution stage among the plurality of execution stages;
- storing the record back in the first data structure;
- and
- repeating processing of the record by retrieving the record from the first data structure and passing the record to the execution stage among the plurality of execution stages that is identified by the stage identifier for the record.
A computer-implemented method of applying common changes to a plurality of records, the method comprising, for each of a plurality of records:
- storing the record in a selected data structure among a plurality of data structures;
- associating a stage identifier with the record in the selected data structure, wherein the stage identifier identifies an initial execution stage among a plurality of execution stages;
- processing the record by retrieving the record from the selected data structure and passing the record to the execution stage among the plurality of execution stages that is identified by the stage identifier for the record;
- and
- after processing the record, and until the stage identifier for the record indicates that the record has been processed by all of the execution stages, repeatedly:
- incrementing the stage identifier for the record to identify a next execution stage among the plurality of execution stages;
- storing the record back in the selected data structure;
- and
- repeating processing of the record by retrieving the record from the selected data structure and passing the record to the execution stage among the plurality of execution stages that is identified by the stage identifier for the record,
- wherein the record is associated with an assignment made between a circuit element and a signal defined in a circuit design, and wherein at least a subset of the plurality of execution stages are configured to modify a functional definition of the circuit design to incorporate the assignment into the functional definition.
Dependencies are inferred from the claim text.