1. A method for hierarchical static timing analysis 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.