Microcircuit devices have become commonly used in a variety of products, from automobiles to microwaves to personal computers. As the importance of these devices grows, manufacturers continue to improve these devices. Each year, for example, microcircuit device manufacturers develop new techniques that allow microcircuit devices, such as programmable microprocessors, to be more complex and yet still smaller in size.
As microcircuit devices become more complex, they also become more difficult to design and test. A conventional microcircuit device, for example, may have many millions of connections, and each connection may cause the microcircuit to operate incorrectly or even fail if the connection is not properly designated. Not only must the connections be properly designated, but the time required for each circuit structure to process or transmit a signal must fall within a desired time constraint. If a circuit structure, such as a transistor gate, takes too long to process a signal, then another circuit structure may not receive the signal in time to operate properly. Similarly, if a circuit structure, such as a wiring line, takes too long to transmit a signal, then another circuit structure may not receive the signal in time to perform its intended task.
Accordingly, when designing or testing a microcircuit, it is often important to consider the timing characteristics of various structures in the circuit. Ideally, it would be desirable to determine the timing characteristics that each circuit structure would exhibit during actual operation with an input signal, sometimes referred to as Dynamic Timing Analysis (DTA). For a circuit of some complexity, however, calculating the dynamic timing for each circuit structure can be extremely time-consuming and impractical. Circuit designers and testers therefore will often try to calculate the timing characteristics that a circuit structure will exhibit without an input signal, sometimes referred to as Static Timing Analysis (STA).
For many years, the methodology used to perform Static Timing Analysis treated the electrical loads on a circuit structure as mere lumped capacitors. With the complexity of modern microcircuit devices, however, Static Timing Analysis is now being used to analyze distributed resistive-capacitive (RC) loads, and some versions even account for magnetic coupling and inductance. Typical Static Timing Analysis techniques perform this exacting interconnect analysis using capacitive characterization data for the output of a circuit with a load (hereafter generically referred to as a “cell” for convenience), driver, or active port of a block or subcircuit. More particularly, cell timing values for arbitrary loads are extrapolated from a sequence of measurements or simulations using only capacitive loads. A conventional Static Timing Analysis technique to achieve this extrapolation operates as follows. First, the load circuit or “cell,” however sprawling and complex, is replaced by a single, effective capacitance (referred to as Ceff). This value is then used to determine the cell's timing data for capacitive loads. Next, the cell itself is replaced by a Thevenin circuit or other simplified linear model that approximately reproduces the cell's timing behavior at Ceff. Finally, this proxy Thevenin circuit is used to simulate driving the actual load, and the relevant delays and slews for the proxy Thevenin circuit (and thus ideally for the actual cell) are computed.
The accuracy of this replacement strategy, however, depends critically on how well the Thevenin model can replicate the cell's timing behavior. With capacitively loaded circuits, for example, resistive shielding often hides some of the load capacitance, causing the effective capacitance used by the analysis process to be inaccurate. Similarly, the inductance of long connection routes may be significant, and yet may not be accounted for in conventional static timing analysis techniques. Accordingly, it would be desirable to provide static time analysis techniques that can more reliably and accurately predict the operating characteristics of a cell.