Functional timing analysis for characterization of virtual component blocks
First Claim
1. A method of merging a set of delay tables, each of said delay tables comprising as elements a plurality of delay values, said method comprising the steps of:
- merging into a new delay table a group of delay tables whose elements fall within a specified tolerance of the elements in similar relative positions of all other delay tables within the group, wherein said delay tables are merged based on a closeness with respect to the specified tolerance;
selecting as elements for the new delay table a maximum of all the elements in similar relative positions of all the delay tables in the group;
calculating, individually for each delay table, an aggregate sum of all of the elements in the delay table; and
selecting a set of closeness candidates for a given delay table based upon said specified tolerance and a size of said given delay table, said set of closeness candidates including said group of delay tables.
0 Assignments
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.
14 Citations
19 Claims
-
1. A method of merging a set of delay tables, each of said delay tables comprising as elements a plurality of delay values, said method comprising the steps of:
-
merging into a new delay table a group of delay tables whose elements fall within a specified tolerance of the elements in similar relative positions of all other delay tables within the group, wherein said delay tables are merged based on a closeness with respect to the specified tolerance; selecting as elements for the new delay table a maximum of all the elements in similar relative positions of all the delay tables in the group; calculating, individually for each delay table, an aggregate sum of all of the elements in the delay table; and selecting a set of closeness candidates for a given delay table based upon said specified tolerance and a size of said given delay table, said set of closeness candidates including said group of delay tables. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of merging a set of tables into a reduced set of tables, each of said tables comprising a plurality of elements, said method comprising the steps of:
-
comparing each element of a given table to a corresponding element in a same relative position in one or more of said set of tables; merging said given table with one or more of said set of tables when all elements of said given table fall within a specified tolerance of the corresponding element in the same relative position in one or more of said set of tables, wherein the tables are merged based on a closeness with respect to the specified tolerance, thereby generating a merged table; selecting elements of said merged table from said given table and one or more of said set of tables merged with said given table, the selected elements comprising either each element having a maximum value when compared against elements in the same relative position in said given table and one or more of said set of tables, or else each having a minimum value when compared against elements in the same relative position in said given table and one or more of said set of tables; calculating for said given table, an aggregate sum of all of the elements in the given delay table; and selecting a set of closeness candidates for said given delay table based upon said specified tolerance and a size of said given delay table, said set of closeness candidates including said set of tables. - View Dependent Claims (8, 9, 10)
-
-
11. A computer readable medium having stored therein one or more sequences of instructions for merging delay tables, each of said delay tables comprising as elements a plurality of delay values, said one or more sequences of instructions causing one or more processors to perform a plurality of acts, said acts comprising:
-
receiving said delay tables; merging into a new delay table a group of delay tables whose elements fall within a specified tolerance of the elements in similar relative positions of all other delay tables within the group, wherein the delay tables are merged based on a closeness with respect to the specified tolerance; selecting as elements for the new delay table a maximum of all the elements in similar relative positions of all the delay tables in the group; calculating, individually for each delay table, an aggregate sum of all of the elements in the delay table; and selecting a set of closeness candidates for a given delay table based upon said specified tolerance and a size of said given delay table, said set of closeness candidates including said group of delay tables. - View Dependent Claims (12, 13, 14)
-
-
15. An apparatus for merging a set of delay tables, each of said delay tables comprising as elements a plurality of delay values, said apparatus comprising:
-
means for merging into a new delay table a group of delay tables whose elements fall within a specified tolerance of the elements in similar relative positions of all other delay tables within the group, wherein the delay tables are merged based on a closeness with respect to the specified tolerance; means for selecting as elements for the new delay table a maximum of all the elements in similar relative positions of all the delay tables in the group;
means for calculating, individually for each delay table, an aggregate sum of all of the elements in the delay table; andmeans for selecting a set of closeness candidates for a given delay table based upon said specified tolerance and a size of said given delay table, said set of closeness candidates including said group of delay tables. - View Dependent Claims (16, 17, 18, 19)
-
Specification