Consistent hierarchical timing model with crosstalk consideration
A method and apparatus to provide a hierarchical timing model with crosstalk consideration is provided. In one embodiment, the method comprises performing block level analysis of a circuit, in one or a plurality of iterations, and storing per iteration data. The method further comprises, in one embodiment, utilizing the per iteration data in performing top level analysis of the circuit.
1. A method for hierarchical static timing analysis comprising:
performing one or more iterations in static timing analysis on a lower-level block;
storing intermediate data of the static timing analysis of the lower-level block for an iteration, including simplified representations of aggressor effects, the simplification based on an plurality aggressor types; and
loading and utilizing the stored intermediate data in performing static timing analysis on an upper-level block.
2. The method of claim 1 , wherein the intermediate data of the lower-level block analysis for the iteration is stored to a data storage device.
3. The method of claim 1 , further comprising:
marking and representing aggressors in a circuit;
evaluating a victim net impacted by one or more aggressors;
classifying the one or more aggressors into one of a plurality of aggressor types; and
simplifying the aggressor representation based on the determined aggressor type.
4. A method for hierarchical static timing analysis comprising:
performing one or more iterations in static timing analysis on a lower-level block;
storing intermediate data of the static timing analysis of the lower-level block for an iteration, wherein the intermediate data comprises marking data and a representation of the aggressors in the lower-level block;
loading and utilizing the stored intermediate data in performing static timing analysis on an upper-level block.
5. The method of claim 4 , wherein the intermediate data of the lower-level block analysis for the iteration is stored to a data storage device.
6. The method of claim 5 , wherein the intermediate data of the lower-level block analysis for the iteration is loaded from the data storage device to perform the static timing analysis on the upper-level block.
7. The method of claim 4 , wherein the intermediate data of the lower-level block analysis for the iteration is utilized in the upper-level iteration.
8. A method of marking and modeling aggressors in a circuit, the method comprising:
evaluating a victim net in the circuit impacted by one or more aggressors, including marking and representing aggressors in a circuit;
classifying the one or more aggressors into types; and
simplifying aggressor representation based on the determined type, wherein the simplified aggressor representation is derived from an iteration of a block level static timing analysis on a lower level block.
9. The method of claim 8 , wherein the plurality of aggressor types comprise: low level, medium level, and high level aggressors.
10. The method of claim 9 , wherein a medium level aggressor of a victim is abstracted by a lumped macro-model.
11. The method of claim 10 , wherein the lumped macro-model comprises of a Thevenin driver model and lumped aggressor net resistance, ground and coupling capacitance values.
12. The method of claim 9 , wherein a high level aggressor of a victim is abstracted by a reduced complexity model.
13. The method of claim 12 , wherein, drivers of the aggressor is reduced to represent only the worst case switching scenario.
14. The method of claim 12 , wherein, receivers of the aggressor are reduced to pin capacitors.
15. The method of claim 9 , wherein a low level aggressor of a victim is abstracted by a delta delay and slew.
16. The method of claim 8 , further comprising:
storing the simplified aggressor representation; and
using the simplified aggressor representation in an iteration of the static timing analysis in an upper level upper-level block.
17. A system to enable hierarchical static timing analysis, comprising a computer system including a processor, memory and hard disk, the system comprising:
the processor to perform iterative static timing analysis on a lower-level block;
a data storage device to store intermediate data of the static timing analysis of the lower-level block for each iteration, including simplified representations of aggressor effects, the simplification based on an plurality aggressor types;
a volatile memory to store a retrieved intermediate data from the analysis of the lower-level block on a per iteration basis; and
the processor to utilize the intermediate data of the iteration in the volatile memory to perform static timing analysis on an upper-level block.
18. The system of claim 17 , wherein the intermediate data a simplified representation of aggressors, the simplification based on a plurality aggressor types.
19. An article of manufacture comprising a machine-accessible non-transitory medium including data that, when accessed by a machine, cause the machine to perform operations comprising:
performing one or more iterations in static timing analysis on a lower-level block, the lower level block;
storing intermediate data of the static timing analysis of the lower-level block for an iteration, including simplified representations of aggressor effects, the simplification based on an plurality aggressor types; and
loading and utilizing the stored intermediate data in performing static timing analysis on an upper-level block.
20. The article of manufacture of claim 19 , wherein the simplified representations of aggressor effects are generated by:
marking and representing aggressors in a circuit;
evaluating a victim net impacted by one or more aggressors;
classifying the one or more aggressors into one of a plurality of aggressor types;
simplifying the aggressor representation based on the determined aggressor type.
21. The article of manufacture of claim 20 , wherein the data causing the machine to perform mark one or more aggressors comprises data that, when accessed by the machine, cause the machine to perform operations comprising:
evaluating a victim net impacted by one or more aggressors;
classifying the one or more aggressors into types;
simplifying aggressor representation based on the determined type.