Functional timing analysis for characterization of virtual component blocks
First Claim
1. A method of analyzing timing in a circuit model, said circuit model including a plurality of inputs and one or more outputs, said plurality of inputs divided into a set of one or more data inputs and a set of one or more control inputs, said method comprising the steps of:
- (a) identifying a set of modes, each of said modes corresponding to a unique combination of control input values for the circuit model;
(b) applying the combination of control input values for one of said modes to the circuit model;
(c) for each data input, calculating a maximum delay for each input/output path not passing through a blocked circuit node for the applied combination of control input values;
(d) recording the maximum delay for each input/output path not passing through a blocked circuit node for the applied combination of control input values; and
(e) repeating steps (b) through (d) for each of the remaining combinations of control inputs within the set of control inputs.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for performing a timing analysis on virtual component blocks or other circuit models is provided wherein functional information obtained from the circuit'"'"'s control inputs and their useful combinations is used to improve accuracy. The control inputs and data inputs for a circuit block are identified. Each functionally meaningful or useful control input combination is applied to the circuit block, and the topological delay for the data inputs are determined only along the paths that are not blocked by the control inputs. The delays along paths that are blocked are ignored. The analysis is further augmented by determining the topological delay for all paths originating at control inputs, without regard to blocking of paths, so as to reduce the chance for possible underestimation of delays from the data inputs. A final timing model may include the combination of maximum delays along data paths for each combination of control inputs, and maximum delays along paths originating from each of the control inputs. The delay analysis may account for different input slews and load capacitances, and the results may be expressed in tabular or matrix form. A useful technique for condensing time delay information (whether scalar or tabular in form) is also provided, to simplify timing characterization of a virtual component block or circuit model. Delay tables or matrixes that are “close” (i.e., within a specified tolerance) may be combined into a single table or matrix.
-
Citations
12 Claims
-
1. A method of analyzing timing in a circuit model, said circuit model including a plurality of inputs and one or more outputs, said plurality of inputs divided into a set of one or more data inputs and a set of one or more control inputs, said method comprising the steps of:
-
(a) identifying a set of modes, each of said modes corresponding to a unique combination of control input values for the circuit model;
(b) applying the combination of control input values for one of said modes to the circuit model;
(c) for each data input, calculating a maximum delay for each input/output path not passing through a blocked circuit node for the applied combination of control input values;
(d) recording the maximum delay for each input/output path not passing through a blocked circuit node for the applied combination of control input values; and
(e) repeating steps (b) through (d) for each of the remaining combinations of control inputs within the set of control inputs. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method of analyzing timing in a circuit model, said circuit model including a plurality of inputs, one or more outputs, and a plurality of input/output paths between said plurality of inputs and said one or more outputs, said method comprising the steps of:
-
(a) dividing a plurality of inputs for the circuit model into a set of one or more data inputs and a set of one or more control inputs;
(b) identifying a set of modes, each of said modes corresponding to a unique combination of control input values for the circuit model;
(c) applying the combination of control input values for one of said modes to the circuit model;
(d) for each data input, calculating a maximum delay for each input/output path not passing through a blocked circuit node for the applied combination of control input values;
(e) recording the maximum delay for each input/output path not passing through a blocked circuit node for the applied combination of control input values; and
(f) repeating steps (c) through (e) for each of the remaining combinations of control inputs within the set of control inputs. - View Dependent Claims (7, 8)
-
-
9. A computer readable medium having stored therein one or more sequences of instructions for analyzing timing in a circuit model, said circuit model including a plurality of inputs, one or more outputs, and a plurality of input/output paths between said plurality of inputs and said one or more outputs, said one or more sequences of instructions causing one or more processors to perform a plurality of acts, said acts comprising:
-
(a) receiving a circuit model;
(b) receiving a set of modes each corresponding to a unique combination of control input values for the circuit model;
(c) applying the combination of control input values for one of said modes to the circuit model;
(d) for each data input, calculating a maximum delay for each input/output path not passing through a blocked circuit node for the applied combination of control input values;
(e) recording, in a data structure, the maximum delay for each input/output path not passing through a blocked circuit node for the applied combination of control input values; and
(f) repeating steps (c) through (d) for each of the remaining combinations of control inputs within the set of control inputs. - View Dependent Claims (10, 11, 12)
-
Specification