Procedure for incorporating timing parameters in the synthesis of logic circuit designs
First Claim
1. A method of incorporating timing information in a circuit synthesis procedure performed by a data processing system having a memory, the procedure using a circuit representation, stored in the memory, which includes a main input terminal, a main output terminal, and a plurality of interconnected circuit locations including a plurality of model instances, having at least one input terminal and at least one output terminal associated therewith, wherein the timing information is stored in the memory and includes, for at least one input terminal and one output terminal of each of the plurality of selected circuit locations of the circuit representation, at least one predetermined model instance delay value representing a timing delay within a model instance of the circuit representation and at least one predetermined media delay value representing a timing delay between terminals of different model instances of the circuit representation, the method comprising the steps, performed by the data processing system, of:
- calculating, by the data processing system, for a first one of the terminals of each selected circuit location, a forward timing delay according to each model instance and media delay value located between the first terminal and the main input terminal, wherein the forward timing delay represents a time required for a signal to travel between the main input terminal of the circuit representation and the first terminal;
assigning, by the data processing system, for the main output terminal of the circuit representation, a budget timing delay value representing a maximum acceptable time delay for a signal travelling from the main input terminal to the main output terminal;
calculating, by the data processing system, for the first terminal of each selected circuit location, a derived budget timing delay constant by subtracting each model instance and media delay value between the first terminal and the main output terminal from the budget timing delay value;
calculating, by the data processing system, for the first terminal of each selected circuit location, a timing debt by subtracting the derived budget timing delay constant of the first terminal from the forward timing delay of the first terminal;
determining, by the data processing system, whether the circuit representation should be modified based on a value of at least one of the calculated timing debts; and
modifying, by the data processing system, the circuit representation stored in the memory in accordance with the value of at least one of the calculated timing debts when the determining step determines that the circuit representation should be modified.
2 Assignments
0 Petitions
Accused Products
Abstract
The invention comprises a method for the synthesis of a logic circuit by a data processing system in which a plurality of circuit components are examined and are changed in accordance with preestablished rules, and in which timing parameters are estimated for selected circuit locations. Forward timing delays are determined by adding the timing delays associated with the intervening circuit components and media paths between an input terminal or latch component output terminals and successive locations on the signal path. Similarly, a derived budget timing delay constant is calculated by designating a budget or design delay at any location in the circuit and by subtracting timing delays associated with the intervening components between that location and the previous location along the signal path in the reverse direction. The derived budget timing delay constant is subtracted from the forward timing delay at each selected location to derive a timing debt for each selected location. The timing debt can be used as a criterion to determine when the implementation of circuit component should be changed. The timing information is stored in data structures associated with terminals of components and can include data with respect to a multiplicity of designated paths.
44 Citations
17 Claims
-
1. A method of incorporating timing information in a circuit synthesis procedure performed by a data processing system having a memory, the procedure using a circuit representation, stored in the memory, which includes a main input terminal, a main output terminal, and a plurality of interconnected circuit locations including a plurality of model instances, having at least one input terminal and at least one output terminal associated therewith, wherein the timing information is stored in the memory and includes, for at least one input terminal and one output terminal of each of the plurality of selected circuit locations of the circuit representation, at least one predetermined model instance delay value representing a timing delay within a model instance of the circuit representation and at least one predetermined media delay value representing a timing delay between terminals of different model instances of the circuit representation, the method comprising the steps, performed by the data processing system, of:
-
calculating, by the data processing system, for a first one of the terminals of each selected circuit location, a forward timing delay according to each model instance and media delay value located between the first terminal and the main input terminal, wherein the forward timing delay represents a time required for a signal to travel between the main input terminal of the circuit representation and the first terminal; assigning, by the data processing system, for the main output terminal of the circuit representation, a budget timing delay value representing a maximum acceptable time delay for a signal travelling from the main input terminal to the main output terminal; calculating, by the data processing system, for the first terminal of each selected circuit location, a derived budget timing delay constant by subtracting each model instance and media delay value between the first terminal and the main output terminal from the budget timing delay value; calculating, by the data processing system, for the first terminal of each selected circuit location, a timing debt by subtracting the derived budget timing delay constant of the first terminal from the forward timing delay of the first terminal; determining, by the data processing system, whether the circuit representation should be modified based on a value of at least one of the calculated timing debts; and modifying, by the data processing system, the circuit representation stored in the memory in accordance with the value of at least one of the calculated timing debts when the determining step determines that the circuit representation should be modified. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. In a data processing system having a memory, a method of designing a circuit to be fabricated, the method comprising the steps, performed by the data processing system, of:
-
generating, by the data processing system, a circuit representation corresponding to the circuit to be fabricated and storing the circuit representation in the memory, the circuit representation including a plurality of main input terminals, a plurality of main output terminals, a plurality of start references each having at least one point, and a plurality of interconnected model instances each having at least one input terminal and at least one output terminal; storing, by the data processing system, in the memory of the data processing system, timing information related to the circuit representation, the timing information including, for at least one input terminal and at least one output terminal of each of the plurality of model instances of the circuit representation, at least one predetermined model instance delay value representing a timing delay within the model instance and at least one predetermined media delay value representing a timing delay between terminals of different ones of the model instances of the circuit representation; calculating, by the data processing system, forward timing delays for a first one of the terminals of each model instance, each of the forward timing delays including the model instance and media delay values located between a respective one of the points in a given one of the start references and the first terminal of the model instance, wherein each forward timing delay represents a time required for a signal to travel between the respective one of the points in the given start reference and the first terminal of the model instance; assigning, by the data processing system, for each main output terminal of the circuit representation, a budget timing delay value representing a maximum acceptable time delay for a signal travelling from any of the main input terminals to the main output terminal; calculating, by the data processing system, derived budget timing delay constants for the first terminal of each model instance, each derived budget timing delay constant being calculated by subtracting each model instance and media value between one of the main output terminals and the first terminal of the model instance from the budget timing delay value assigned to the main output terminal; calculating, by the data processing system, timing debts for the first terminal of each model instance, each timing debt being calculated by subtracting one of the derived budget timing delay constants of the first terminal of the model instance from a corresponding one of the forward timing delays of the first terminal of the model instance; selecting, by the data processing system, one of the timing debts of the first terminal; determining, by the data processing system, whether the circuit representation should be modified based on a value of at least the selected timing debt; and modifying, by the data processing system, the circuit representation stored in the memory in accordance with the value of at least the selected timing debt when the determining step determines from the value of at least the selected timing debt that the circuit representation should be modified. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. In a data processing system having a memory, a method of designing a circuit to be fabricated, the method comprising the steps, performed by the data processing system, of:
-
generating, by the data processing system, a circuit representation corresponding to the circuit to be fabricated and storing the circuit representation in the memory, the circuit representation including a main input terminal, a main output terminal, and a plurality of interconnected model instances each having at least one input terminal and at least one output terminal; storing, by the data processing system, in the memory of the data processing system, timing information related to the circuit representation, the timing information including, for at least one input terminal and at least one output terminal of each of the plurality of model instances of the circuit representation, at least one predetermined model instance delay value representing a timing delay within the model instance and at least one predetermined media delay value representing a timing delay between terminals of different ones of the model instances of the circuit representation; calculating, by the data processing system, for a first one of the terminals of each model instance, a forward timing delay including each model instance and media delay value located between the first terminal of the model instance and the main input terminal, wherein the forward timing delay represents a time required for a signal to travel between the main input terminal of the circuit representation and the first terminal of the model instance; assigning, by the data processing system, for the main output terminal of the circuit representation, a budget timing delay value representing a maximum acceptable time delay for a signal travelling from the main input terminal to the main output terminal; calculating, by the data processing system, for the first terminal of each model instance, a derived budget timing delay constant by subtracting each model instance and media value between the first terminal of the model instance and the main output terminal from the budget timing delay value; calculating, by the data processing system, for the first terminal of each model instance, a timing debt by subtracting the derived budget timing delay constant of the first terminal of the model instance from the forward timing delay of the first terminal; determining, by the data processing system, whether the circuit representation should be modified based upon a value of at least one of the calculated timing debts; and modifying, by the data processing system, the circuit representation stored in the memory in accordance with the value of at least one of the calculated timing debts when the determining step determines from the value of at least one of the calculated timing debts that the circuit representation should be modified. - View Dependent Claims (16, 17)
-
Specification