Timing Analysis Option SynatiCAD's timing analysis engine uses sophisticated algorithms to detect both timing violations and overly pessimistic assumptions about system performance. The timing analysis engine accounts for timing effects that are difficult to compute manually such as delay correlation, reconvergent fan-out, and jitter and buffering in clock trees. The timing analysis engine comes standard with WaveFormer Pro, Timing Diagrammer Pro, and DataSheet Pro. It can also be purchased as an option to upgrade the waveform editor in VeriLogger Pro, BugHunter Pro, or WaveFormer Lite. In addition, WaveFormer includes an HDL simulation engine which allows it to quickly model multi-bit register and latch circuits, along with the ability to simulate behavioral HDL code blocks, which are features that are not available in any other timing diagram editor. Reconvergent Fanout (Common Delay Removal) SynaptiCAD's timing diagram editors automatically remove common delays from margin and distance calculations by using an exhaustive multi-path timing analysis algorithm. Common delay removal happens in timing paths which share a common transition early in the circuit, diverge through different circuit paths, and then "re-converge" at the inputs to a device. When two timing paths share a common transition, the uncertainty of that transition should not affect distance and margin constraints between transitions further down on the timing paths. This is because the common transition occurs at the same time for both timing paths. (It does not matter where in the uncertainty region the transition occurs because it is the exact same time for both timing paths). This effect is called reconvergent fanout because it usually occurs when a signal fans out to multiple gates and the outputs of these gates reconverge as inputs to a common gate. If the effects of reconvergent fanout were ignored, a good design might seem to violate a timing parameter because the margin calculations were overly pessimistic. The timing diagram editor automatically accounts for reconvergent fanout effects, correctly calculating margins and distances for parameters. Reconvergent fanout does not change the uncertainties of individual transitions so they are not visible on the timing diagram itself (except for constraint margins and distance values). Example: In the above example, a NAND gate has an uncertainty region of 10ns and is represented by CommonDelay. The NAND output fans out to two signal paths, Fan1 and Fan2, that go through some gates and reconverge at the data and clock inputs of a D Flip-Flop. The difference in arrival times of the two paths should just be the delay and uncertainties of the two paths. The 10ns uncertainty of the NAND gate should not affect the difference in arrival times because both signals will start at the same time (somewhere in the uncertainty region of the NAND gate). So the setup time for the CommonDelay path is satisfied. The SameDelay to D1 path, has the same timing as the CommonDelay to Fan1 path, however since SameDelay could occur at any time during its uncertainity region regardless of where CommonDelay triggers, the 10ns can not be removed in this case. The setup time for the SameDelay path fails. Delay Correlation SynaptiCAD's timing diagram editors support delay correlation for all delays and clock buffer delays within a timing diagram. Delay correlation is a method of relating two or more delays that are found within the same IC. This relationship accounts for the likelihood that if one of these delays falls at the high or low end of its tolerance, the other delay(s) will as well. The successful use of this information can allow circuits to be designed that run at higher clock speeds. It can also help to prevent timing violations. Delay correlation is particularly useful for speeding up FPGA and ASIC designs. The uncertainty regions for an FPGA or ASIC must be broad enough to account for IC process variations in chips that are produced in different lots. However the actual skew between delays on the same chip have a much smaller divergence then is specified in the chip's data sheet. With SynaptiCAD's delay correlation feature you can create groups of delays who's uncertainties will vary by a defined percentage. For example if the correlation is 100% then all delay uncertainty is removed. If Correlation is 0% then no delay uncertainty is removed. If Correlation is 50% then half of the delay uncertainty is removed. The timing diagrams are still entered with the entire data sheet uncertainty region, and delay correlation automatically adjusts margin and distance calculations to account for these effects. Delay correlation like Reconvergent Fanout adjusts the margin and distance calculations so that circuit timing can be optimized. The main difference is that reconvergent fanout removes 100% of common delay, where as delay correlation can remove a percentage of uncertainty from different delays in the converging paths. Delay correlation is extremely powerful because it can model the timing effects of on-chip delays. SynaptiCAD's timing diagram editors allows you to analyze virtually any combination of delays using correlation. Delay correlation effects are computed any time you place a setup, hold, or distance calculation in your timing diagram. The timing diagram editor will first verify that delays exist on either end of the setup or hold distance calculation and then perform the calculation that uses delay correlation. Clock Timing Effects SynaptiCAD's timing diagram editors support Clocks, Sub-clocks, and Clocks with formulas, which allow you to accurately model derived clocks and clocks that have jitter and buffer delay parameters. Regular clocks are special repetitive signals that draw themselves based on their attributes: period, frequency, duty cycle, edge jitter, offset, and other parameters. Clocks can be related to other clocks by using the Reference Clock Property or by using formulas that reference another clock's attributes like period, offset, and jitter. SynaptiCAD models two types of clock timing effects: jitter and clock buffer delay. Both of these effects add uncertainty to the clock edges but they are handled differently by the reconvergent fanout and delay correlation calculators. Jitter models the effects of random crystal oscillations from a clock generator circuit. Jitter shows the uncertainty region around where a perfect clock edge would appear. Therefore, clock jitter effects can not be removed by reconvergent fanout calculations or included in a delay correlation group. Since the whole point of modeling clock jitter is to model the worst possible behavior of the clock oscillator, this is the correct way to perform the calculations. Clock buffer delay models the effects of sticking a buffer between the clock source and the rest of the circuit. Clock buffer delay is treated like a regular delay placed from a perfect clock to a regular signal. The advantage of using the Clock buffer delay is that the user does not have draw the output clock and setup all the delays between the signals. Clock buffer delays are removed by the reconvergent fanout calculator. Also the clock buffer delay has a delay correlation group already defined and setup in the Clock dialog. By default the correlation factor is 100% so all delay is removed. But any percentage between 0 and 100 can be added to the correlation group. |