Abstract:
A circuit design method, computer program product and chip design system embodying the method. A gate selected for static timing analysis (STA) from a circuit design. Initial performance characteristics (e.g., load and transition slew) are determined for the selected gate. A charge equivalent effective capacitance (C Qeff ) is determined for the gate from the initial performance characteristics. A gate delay is determined in a single pass for the gate using C Qeff  as an effective load for said selected gate. Optionally, if the total gate load capacitance (C tot ) exceeds C Qeff  by less than a minimum, the effective capacitance (C eff ) is determined and used for determining the gate delay instead.

Description:
CROSS REFERENCE TO RELATED APPLICATION  
       [0001]     The present invention is a continuation of Provisional U.S. Patent Application No. 60/628,849, entitled “Fast Timing Analysis for Gates” to Gary Ditlow et al., filed Nov. 17, 2004 assigned to the assignee of the present invention and is incorporated herein by reference. 
     
    
     BACKGROUND OF THE INVENTION  
       [0002]     1. Field of the Invention  
         [0003]     The present invention generally relates to physical circuit design and more particularly to reducing design to hardware time for Very Large Scale Integrated (VLSI) circuit designs, especially Very Deep Submicron (VDSM) VLSI.  
         [0004]     2. Background Description  
         [0005]     State of the art integrated circuit (IC) logic chips have logic that may be interactively placed and wired, principally, based upon logic timing. Generally, for a typical synchronous logic chip, logic paths are bracketed by flip flops or registers that are clocked by on-chip clocks, i.e., a clock sets a flip flop at the beginning of a path and after a given (clock) period, the results are locked in a second flip flop at the other end of the path. So, the time between clock edges determines how much time is available for a signal to propagate along the particular path. Since an initial placement is a coarse placement, it likely to include paths that would fail in hardware.  
         [0006]     In what is known as Static Timing Analysis (STA), path delays are calculated for the entire design, block-by-block, gate-by-gate, net wire-by-wire. After STA, the designer can identify any failing paths, i.e., where the path delay is longer than the available time. STA also identifies any extra time between the calculated propagation delay time and the clock period, which is known as slack. Normally by design, there is a required minimum amount of slack specified. Thus, after STA one may determine any path with less than that specified required amount of slack, i.e., what is known as a critical path. Critical paths are most sensitive to process, voltage or temperature variations or anything else that might change path timing, and so, most likely to encounter timing related problems.  
         [0007]     Thus, typically, chip design is iterative, with the designer using STA results from one iteration to determine each critical or failing path and its associated nets are, e.g., using what is known as a slack graph for the logic that indicates slack in individual paths. STA performs a gate-by-gate response analysis, iteratively for each gate determining an effective capacitance for the gate and a gate response to that effective capacitance. Typically, in each iteration an effective capacitance is calculated based on an output transition slew from the previous iteration and, a new output transition slew is determined, e.g., retrieved from a look up table. After determining a response for each gate, path delays may be determined as the sum of gate responses for each particular path. Only after determining path delays, may the designer identify design sensitivities or failures for the current chip design pass.  
         [0008]     After identifying design sensitivities or failures, the chip designer may adjust the design to eliminate both failing and, where possible, critical paths, e.g., by relocating some logic in the critical paths to non-critical paths. Normally, after identifying critical paths, only those critical path nets are considered for optimization to eliminate criticalities, e.g., re-locating cells, re-powering cells and in severe cases, redesigning logic for the critical path. This is a long arduous task. Further, redesigning one book or net in the critical path is not considered with respect to its affect on other nets in other critical paths that might also include the redesigned critical net. Consequently, redesigning one net in one critical path might help or hinder fixing other critical paths. So, after each re-design iteration the designer must again use STA to locate and eliminate critical paths.  
         [0009]     Accordingly, it is becoming increasingly important for design success to improve STA accuracy and efficiency, especially as technology dimensions reach very deep into the sub-micron and nanometer range. These smaller features increase the per unit gate density for logic chips, even as chip size is increasing. Thus, chip density is increasing geometrically. Consequently, even if the time to calculate each individual gate response is reduced, STA time is increasing dramatically.  
         [0010]     Thus, there is a need for an reducing chip design time and more particularly, for reducing the design time required for Static Timing Analysis (STA).  
       SUMMARY OF THE INVENTION  
       [0011]     It is therefore a purpose of the invention to reduce overall static timing analysis (STA) time in required for Integrated Circuit (IC) chip design;  
         [0012]     It is another purpose of this invention to optimize reduce the STA time required for each gate;  
         [0013]     It is yet another purpose of the invention to reduce the time in STA required for determining an effective capacitance for each gate of a chip design;  
         [0014]     It is yet another purpose of the invention to reduce the time in STA for Very Large Scale Integrated (VLSI), Very Deep Submicron (VDSM) VLSI chip designs by reducing the time required for determining an effective capacitance for each gate of a chip design, thereby reducing gate delay calculation time.  
         [0015]     The present invention is related to a circuit design method, computer program product and chip design system embodying the method. A gate selected for static timing analysis (STA) from a circuit design. Initial performance characteristics (e.g., load and transition slew) are determined for the selected gate. A charge equivalent effective capacitance (C Qeff ) is determined for the gate from the initial performance characteristics. A gate delay is determined in a single pass for the gate using C Qeff  as an effective load for said selected gate. Optionally, if the total gate load capacitance (C tot ) exceeds C Qeff  by less than a minimum, the effective capacitance (C eff ) is determined and used for determining the gate delay instead. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0016]     The foregoing and other objects, aspects and advantages will be better understood from the following detailed description of a preferred embodiment of the invention with reference to the drawings, in which:  
         [0017]      FIG. 1  shows a flow diagram example of application of preferred embodiment Static Timing Analysis (STA) according to the present invention.  
         [0018]     FIGS.  2 A-B show an example of a gate driving a RC-π load and its charge equivalent for STA.  
         [0019]     FIGS.  3 A-B show examples in more detail of the steps of calculating specific gate responses with and without optional filtering.  
     
    
     DESCRIPTION OF PREFERRED EMBODIMENTS  
       [0020]     Turning now to the drawings, and more particularly,  FIG. 1  shows a flow diagram example  100  of application of preferred embodiment Static Timing Analysis (STA) according to the present invention. STA time is dramatically reduced by reducing gate delay calculation time for each gate by providing a close approximation to effective load capacitance in a single pass with a single table look up instead multiple such look ups required by prior art approaches to finding effective load capacitance. Optionally, when the approximated effective load capacitance total is too close to gate load capacitance, the effective capacitance may be determined, selectively, and used for determining the gate delay instead.  
         [0021]     So, beginning in step  102  a circuit design is provided for STA, e.g., after place and wire, and in step  104  technology parameters are defined for the design, e.g., lookup tables for logic gates, and geometric characteristics for physical shapes. Then, beginning in step  106 , a gate is selected from the design. Then, in step  108  parameters are collected for the selected gate. Such parameters may include, for example, the slew for signals driving the gate, π resistance (R π ) and π capacitors with the π capacitors being differentiated as near the gate (C n ) and at the far end of the wire (C f ) and both separated from each other by R π . In step  110 , a charge equivalent effective load capacitance (C Qeff ) is determined, i.e., from the well-known fundamental relationship charge equals capacitance times voltage (Q=CV). Thus, C Qeff  is a pure capacitance that can replace the RC-π load during the gate delay calculation, such that both the RC-π load and C Qeff  store the same charge (Q) to a selected gate output voltage transition point (V), e.g., the 50% point of the output transition. In step  112 , the gate delay and output transition times are determined in a single pass from C Qeff  for the selected gate. In step  114 , the design is checked to determine if delays have been determined for all gates; and if not, returning to step  106  another gate is selected. Once delays have been determined for the last gate in step  114 , the design results  116  are checked in step  118  to determine if path delays are acceptable for all paths. If not, then in step  120 , the design is revised, e.g., re-locating cells, re-powering cells and in severe cases, redesigning logic for the failing/critical path(s). Then, the revised design is passed back to gate selection step  106 . However, if all path delays are acceptable in step  118 , STA is complete in step  122  and the finished design may be forwarded, e.g., for mask making and hardware fabrication.  
         [0022]     FIGS.  2 A-B show an example of a gate  130  driving a single RC-π load  132 , in this example, e.g., determined in step  106  of  FIG. 1 ; and its charge equivalent  134  for STA, determined according to a preferred embodiment of the present invention. Although this simple example shows a single RC-π load  132 , this is for example only. It is understood that a more complex, ladder type network of multiple series connected such RC-π structures may be required for a large net such as a global clock line spanning a chip with multiple branches connected to inputs to multiple local clock driver circuits. The gate  130  drives RC-π load  132 , which includes C n    136  and C f    138  at opposite ends of R π   140 . Thus, in  FIG. 2B , the gate  130  drives charge equivalent capacitor C Qeff    134  determined in step  110  from the RC-π load  132  for determining gate delay and output transition times in step  112 .  
         [0023]     So, for a particular gate the total capacitance (C tot ) for the RC-π load  132  is (C tot =C n +C f ). Thus, for example, the slew of typical output transition exhibits dominant characteristics at different points of the transition. For example, the transition is predominantly linear (ramps up or down) for the period of some δ prior to reaching the final steady state transition level (i.e., above ground for a high to low transition and below V dd  for a low to high transition) and predominantly exponential portion for that δ. A specific pure capacitance (C ramp  or C exp ) may be determined for each segment, i.e., prior to and after reaching that δ at some percentage (θ) of the delay. Thus, C ramp  and C exp  may be determined by: C ramp =C n +k ramp (θ)*C f  and C exp =C n +k exp (θ)*C f . So first, an initial slew may be determined based on C tot , and using the initial slew each pure capacitance C ramp , C Qexp    134  may be determined, each some value between C n    136  and C tot . Further, an overall C Qeff    134  may be determined from C ramp  and C exp . After C Qeff    134  is determined in step  110 , then in step  112  gate, slew and gate delays are determined from C Qeff    134  for the selected gate  130  in a single pass, e.g., retrieving corresponding values for each from a look up table. Of course, once the gate response has been determined, that response may be used, e.g., with the RC-π load  132  to determine wire delays for the net.  
         [0024]     Optionally, a determination that C Qeff    134  is sufficiently different from C tot , such that the ratio of C Qeff    134  to C tot  falls below some threshold value (η), may trigger a more rigorous, traditional determination of effective capacitance (C eff ). Thus, if this optional step is included gate  130  response is determined from C Qeff , unless η&gt;C Qeff /C tot . So, whenever the ratio fails to exceed η, C eff  is determined and used for determining gate delays and transition slew, in multiple passes (e.g., 4 passes), iteratively retrieving slew and delays, recalculating C eff  from the newly retrieved values and returning for another iteration until the recalculated value is substantially the same as the previous iteration.  
         [0025]     FIGS.  3 A-B show examples in more detail of the steps  110 - 112  of calculating specific gate responses with and without optional filtering according to a preferred embodiment of the present invention. For this example only, the output transition is treated as segmented with a ramp-equivalent portion prior to δ for a given transition voltage threshold or transition portion (i.e., θ is 50%) with a specific C ramp  effective capacitance; and, an exponential equivalent portion after that δ threshold with a specific C exp  for effective capacitance. So, in step  1080 , C tot  is determined from C n  and C f  for the output of the gate selected in step  106  of  FIG. 1 . Next, in step  1082  the transition slew is determined for the gate, based on C tot . The threshold point δ or θ may be determined from the initial slew, e.g., retrieved with gate characteristics. Alternately, a general global δ point may be provided with technology parameters (in step  104 ) or included in the design (in step  102 ). Then in step  1100 , the stepped loads, C ramp  and C exp , are determined for the selected gate. In step  1102  C Qeff  is determined from the stepped loads C ramp  and C exp . So for this example, in a single look up in step  112  slew and delays are determined from C Qeff  for the selected gate. As a result of reducing the number of table lookups, STA gate timing analysis is reduced to a little as one quarter of that required for prior art methods. Since on the average, about 60 percent of the CPU time during STA is devoted to gate timing analysis, reducing CPU time for gate timing analysis may reduce overall STA CPU time by almost 50%.  
         [0026]     In the optional example of  FIG. 3B , after determining C Qeff  in step  1102 , the ratio C Qeff /C tot  is checked in step  1104  to determine if it is above the minimum threshold, η, and if not, in step  1106 , C eff  is determined, typically, in several passes. Then, continuing to step  112 , slew and delays are determined from C eff  for the selected gate. Otherwise, if C Qeff /C tot &gt;η, C Qeff  is used in  112 . Further, actual STA could be a combination of both  FIGS. 3A and 3B , e.g., using the unfiltered C Qeff  estimate in step  110  of  FIG. 1  for one or more design iterations  100 , followed by the more rigorous and more precise optional variation of  FIG. 3B  for step  110  as the design converges on a final design.  
         [0027]     Advantageously, preferred embodiment STA dramatically reduces the gate delay and slew calculation, e.g., for Very Deep Submicron (VDSM) technology designs. In a single iteration only cut, charge equivalent effective capacitance, C Qeff , can be used instead of C tot , or, for more accurate gate timing analysis with a dramatic (experimentally, as high as 87%) reduction in STA gate delay calculation time and, correspondingly, dramatic (experimentally, as high as 51%) reduction in overall STA calculation time. Filtering may be applied to C Qeff , using unless it is significantly smaller than C tot , i.e., C Qeff /C tot &gt;η. Furthermore, the occasional instance where C eff  is required rather than C Qeff  is so infrequent that those instances do not add any significant time to the reduced (as a result of application of the present invention) STA time. Further, experimental results on two large industrial designs have also shown that C Qeff , both filtered and unfiltered, provides much higher gate delay accuracy as compared to C tot , with resulting errors of 1% that of using the longer, more complicated C eff  calculations, even while C Qeff  is nearly as efficient as just computing as C tot .  
         [0028]     While the invention has been described in terms of preferred embodiments, those skilled in the art will recognize that the invention can be practiced with modification within the spirit and scope of the appended claims. It is intended that all such variations and modifications fall within the scope of the appended claims. Examples and drawings are, accordingly, to be regarded as illustrative rather than restrictive.