SYNAPTICADcolon
 

Top-Down Timing Design

by Brian Hoyer and Donna Mitchell

Appeared in Integrated System Design magazine, July 1997

Download article in Acrobat format

What isTop-Down Timing Design?

Generally when a design is started, a designer is given high level timing requirements that must be met by his design. Examples of high-level timing requirements include computational throughput (e.g. millions of instructions per second), data transmission rates (e.g. megabytes per second), and response latencies to requests from external systems. A designer takes these times and converts them into cycle times (for example, 10 MIPS = 100ns per instruction). These cycle times serve as "timing budgets" for the designer that he must work within during the design of his system. As the design is broken down into smaller and smaller subsystems, the cycle times are subdivided and assigned to each subsystem. The process of moving through each successive level of timing is top-down timing design.

How does Top-Down Timing Design differ from Back-End Timing Analysis?

The key feature of a top-down timing design methodology is an upfront analysis of system timing (usually using timing diagrams) right at the beginning of the design cycle where errors can be quickly corrected. Back-end timing analyzers such as digital simulators and static timing analyzers require the designer to have already committed to a specific circuit implementation (usually specified as a schematic or HDL netlist with associated simulations models). This requirement for a nearly completed design prior to beginning timing analysis means that any timing errors discovered during a back-end analysis may result in a significant redesign effort. In addition, when timing or logic errors are found at this stage, any circuit changes must be reflected in many different places: the schematic, model descriptions, test bench stimulus for the simulator or timing analyzer, and documentation accompanying the design. Top-down timing design helps the designer discover timing errors earlier in the design cycle, resulting in fewer changes and faster product development.

Back-end timing analyzers are most useful as design sign-off validators rather than as design aids. It is difficult to use a back-end timing analyzer to maximize design speed because most of the design decisions have been made by the time a back-end timing analysis begins. Examination of significantly different design choices is not possible because each design alternative requires too much front-end design time before its performance can be analyzed. Front-end timing analyzers such as WaveFormer Pro by SynaptiCAD Inc. (see Figure 1), excel at timing optimization because comparatively little design information needs to be entered in order to analyze system performance.

Front end timing analyzers don't invalidate the use of back-end timing analyzers. While front end timing analyzers are quicker and require less design entry, back-end timing analyzers benefit from having complete design information and generally perform a more exhaustive, brute force analysis of a design's performance that can detect errors that a designer may have neglected to check for during a front-end timing analysis. In fact, one of the biggest challenges of using a back-end timing analyzer is sifting through the data generated by the analysis to discover real timing errors. Nonetheless, the additional security provided by a back-end timing analysis prior to design sign-off argues for the combined use of a front and back-end timing analyzer when using a top-down design approach.

Benefits of timing diagram analysis

Designer's have traditionally used hand-drawn timing diagrams to perform their initial timing analysis. Timing diagrams offer the advantage of being able to see the effects of timing constraints on a system's signals. With a timing diagram, the cause-effect relationships between signal transitions are shown by timing parameters such as delays, setups, and holds, providing a designer with more insight into the operation of a system. This is particularly helpful because timing errors are found early in the design cycle. Also critical paths that cause errors can be analyzed visually by following delay chains back through the diagram. Each delay in a critical path suggests a point at which a circuit change could alleviate a timing error or increase system performance.

Figure 1

Figure 1. Timing diagram used for top down timing design. The screeen capture of WaveFormer Pro shows margin calculations and delay parameters.

Timing diagram analysis also gives you the advantage of being able to account for min/max delay tolerances at the same time. This is critical for asynchronous designs such as bus transaction protocols because most simulators can only simulate at the extreme timing end points, but not over the entire operational range of the design.

Many designs are never given a thorough timing diagram analysis, despite the benefits, because of the amount of time required to perform such an analysis manually. Drawing timing diagrams by hand is a difficult and error prone task and the resulting diagrams are generally messy and hard to understand and analyze. The messiness is compounded when timing errors are discovered and fixed causing the hand drawn timing diagrams to be erased and redrawn. In addition, the timing analysis of manually generated timing diagrams is usually overly pessimistic because it is difficult to find and remove common delays from setup and hold calculations.

Timing diagram editors such as WaveFormer eliminate the need to manually generate timing diagrams, making it easy to create and change timing diagrams and reducing the chance for error in timing calculations. Timing diagrams can be created with a combination of point-and-click drawing, Boolean and temporal equations, and auto-generated clocks and busses. Designers can analyze system performance using just the timing parameter information available in data books without the need for schematic netlists and complex simulation models. Timing calculations are performed interactively, so it is easy to quickly assess the impact of a change in a timing parameter by updating the parameter's value or switching to a different part library.


Timing diagram editors can provide several types of timing and logic analysis:

  • Automatic calculation of critical paths and constraint checking (setup and hold margins)
  • Common delay removal
  • Delay correlation calculations
  • Combinatorial logic analysis using Boolean equations
  • Temporal equations for DSP analysis
  • Reuse of timing during simulation

Calculation of Critical Paths and Constraint Checking

Timing calculations in a timing diagram analyzer are performed using true min/max timing, and calculations are automatically adjusted to account for subtle timing effects such as reconvergent fanout. With timing diagram editor output, it is easier to see timing relationships between signal transitions than with a simulator, because the timing parameters (propagation delays, setup times, and hold times) graphically specify cause/effect relationships between signal transitions and timing constraints that must be met by the system. This is one reason engineers still draw timing diagrams by hand even when they have access to powerful simulators. Timing diagram editors also allow designers to verify min-max timing simultaneously so that the overall impact of IC timing tolerances on a system.s performance can be properly assessed.

Reconvergent Fanout

Margin calculations in some circuits can be overly pessimistic if all the uncertainty times in a timing path are included in the calculations. For instance, if two signal transitions B1 and B2 are caused by the same transition A (see Figure 2), then margin calculations between B1 and B2 should not include the uncertainty of transition A, because no matter when A transitions it will occur at the same time for both B1 and B2. When this happens the circuit is said to have reconvergent fanout, because this typically occurs when two signals diverge (fanout) from a common source and reconverge at the inputs of a gate. The adjustment of timing calculations to account for reconvergent fanout is referred to as common delay removal, because the uncertainty created by delays common to both timing paths is removed. The ability to recognize and remove the pessimistic effects of reconvergent fanout is especially important for circuits with demanding timing requirements. Performing common delay removal on manually drawn timing diagrams is tedious and error prone, but ignoring this effect can lead to sub-optimal designs.

Figure 2

Figure 2. Reconvergent fanout example. Reconvergent fanout adjustment removes common delays from calculation margin and distance values.

Delay Correlation

Another effect that is rarely accounted for in digital designs that can lead to overly pessimistic margin calculations is delay correlation. Delay correlation allows the designer to specify that the degree of variation in gate delays on a single chip is smaller than the variation of gate delays across multiple chips. This lower variation in on-chip delays makes it possible for designs to meet setup and hold time requirements that could not be met using just the min/max delay values.

Delay correlation is expressed as a percentage value. By default, delays in WaveFormer Pro are considered uncorrelated (delay correlation = 0%). 100% delay correlation between a group of gates would mean that all the gates are guaranteed to have exactly the same propagation delay time. Note that this delay time could be anywhere between the min and max time of the delay parameter, but whatever the value it would be the same of all the gates. For example, two gates with a min/max delay = 5-15 ns and a correlation of 90% could have delay values anywhere in the range between 5 and 15 nanoseconds, but the delays of the gates are guaranteed to be within 1 nanosecond ( (15ns - 5ns)*90% = 1ns) of each other.

Process and temperature variations across ICs account for the increased variation in across-chip gate delays. IC manufacturers do not generally publish delay correlation values for most standard TTL and CMOS parts, but they do publish delay correlation values for clock buffer ICs (correlation between clock delays is more important than absolute delay for clock trees as uncorrelated delays increase clock skew). Clock buffer delay correlation is usually specified indirectly as a min/max delay and an on-chip delay variation often called skew (e.g clock buffer with delay = 5-10 ns and on-chip skew = 1ns has a delay correlation of 80% ( 100% - 1ns / (10ns - 5ns) = 80%).

Designers using ASICs and FPGAs will benefit the most from taking advantage of delay correlation in their designs, since most of the delays in these designs are correlated. If your gate array or FPGA manufacturer doesn.t publish this information in their data books, you should ask your manufacturer directly as they probably have the information available internally. The primary reason delay correlation information hasn.t been published much in the past has been the lack of EDA tools that can take advantage of it.

Correlation factors in WaveFormer Pro are specified by first creating a correlation group name and assigning it a correlation percentage. Next all the correlated delays (e.g. all the delays on the chip) are added to the correlation group. For gate array designers, WaveFormer Pro supports a default correlation group which applies to all delays in a design. After delay correlations are specified WaveFormer Pro automatically adjusts all timing margins in a design.

Combinatorial Logic Analysis

Early in the top-down design cycle, after the original timing interface has been analyzed, different parts of the circuit will start to take shape. WaveFormer Pro helps you in this phase by supporting interactive Boolean simulation (see Figure 3). Designers can enter Boolean equations that describe their design and immediately assess the impact of modifying logic, state, and timing information without having to change a schematic or create simulation models. The Boolean simulator includes support for propagation and interconnect delays allowing any combinatorial logic to be modeled. Below is an example of a Boolean equation that models an AND gate with an input delay of 20ns on one input and 10ns on the other input: SIG3 = (SIG0 delay 20ns) and (SIG1 delay 10ns)

Figure 3

Figure 3. Interactive Boolean simulator example. Interactive Boolean simulation aids in top-down timing analysis.

Temporal equations for describing DSP waveforms

Many waveforms are difficult to draw and work with because of the precise edge placement necessary to convey circuit information. For instance, a waveform that alternates between a frequency of 25MHz and 50Mhz for 10 cycles would be very tedious to attempt to draw by hand. These types of waveforms can be described in WaveFormer Pro using temporal equations. The waveform described above could be generated using the following temporal equation:

CK25_50 ( (20=H 20=L)*20 (10=H 10=L)*20 )*10

Reuse timing diagrams during Simulation

WaveFormer Pro can be used as a stand-alone design verification tool or in conjunction with a digital simulator. All simulators need input stimulus to perform a simulation. With WaveFormer Pro, waveform data can be saved to different simulator formats for driving simulations (e.g. VHDL, Verilog, Spice, Mentor's Quick Sim II, Viewlogic, OrCAD, Model Tech V-System, and Accolade PeakVHDL formats). In addition, WaveFormer Pro supports the import of waveforms from other tools, so it can serve as a translator between different waveform formats. WaveFormer Pro uses a scripting language based on Perl (Practical Extraction and Report Language) to import and export waveform stimulus. The use of a scripting language means users can modify the output of existing translation scripts and even create their own scripts to support waveform formats used by custom test equipment and internally developed software.

Summary

Top down design is the process of starting from a high-level specification of a system and moving down through successive level of detail until a design is completed. Top down timing analysis is a natural design paradigm which fits well with interface specifications and component information taken from data books. Top-down timing analysis is difficult and error prone when performed using manually generated timing diagrams, but timing diagram editors such as SynaptiCAD's WaveFormer Pro make timing diagram analysis a rapid and relatively painless process. Timing diagram editors allows the generation of detailed timing diagrams that are vastly easier to create and maintain than those that can be generated using conventional drawing packages. Rapid design entry and rapid feedback on system functionality makes timing diagram software ideal tool for the iterative process of designing digital circuits and examining design tradeoffs in a "what-if" fashion. Some useful analysis features of timing diagram editors can include: Boolean equation simulation, critical path analysis, setup/hold margin calculation, removal of common delays from margin calculations (reconvergent fanout analysis), and timing adjustment for delay correlation.

Top-down timing analysis using a timing diagram editor provides benefits throughout the design process. As a system specification and analysis tool, a timing diagram editor is particularly useful for pre-schematic analysis before simulation is possible. During the design phase a timing diagram editor can serve in a dual role as timing analyzer and test bench generator for simulations. During the documentation phase of a design, the timing diagrams generated during the top-down design process serve as a useful adjunct to schematics and other design documentation.

Bryan Hoyer is president of Boulder Creek Engineering, Saratoga CA, the makers of the Pod-A-Lyzer. He has over 20 years of experience designing digital and analog systems.

Donna Mitchell is vice president of marketing for SynaptiCAD Inc.

Technical Paper Home Page