Why Use a Timing Diagram Editor?Timing diagrams can be drawn using pencil and paper, but this is time consuming and error prone. Each of the delays, setups and holds must be calculated manually, and even though the underlying math is easy it keeps you from focusing on the true problems of your circuit design. And the worst part, happens after your timing diagram has shown you an error in your design, when you must then either scrap the picture or start erasing and redrawing to incorporate the fix. When you use a commercial timing diagram editor, you automatically get the redrawing features. Also most of the real engineering tools will calculate the minmax delay timing. Our favorite editors come from SynaptiCAD at www.syncad.com. Both the Timing Diagrammer Pro and WaveFormer Pro tools have full minmax timing calculations and advanced common delay removal. And, WaveFormer Pro comes with a logic simulator that lets you describe waveforms using Boolean and registered logic equations, which really saves a lot of time when initially drawing the diagram. Common Delay Removal The true power of a timing diagram comes from the ability to relate different signal transitions through timing parameters. Delays, setups, and holds are the three basic types of timing parameters. Other commonly used timing parameter types such as pulse width requirements can also be modeled using these three basic types. Using Equations to Generate Waveforms Sometimes a signal is an output of a digital logic circuit that is easily described using an equation, but would be a real pain to draw manually. Even simple circuits like a plain AND gate take some thought to get the output correct. But if you then buffer the signal with a common Dflipflop the problem gets even more challenging. With the WaveFormer Pro timing diagram editor, you can just type in the equation and automatically see the results instantaneously. That product takes VHDL and Verilog syntax but also has some special syntax for handling minmax delays. Below are some examples of equations that WaveFormer accepts: 
