Clock Tree Jitter Budget Calculator
Calculate clock tree timing budget for FPGA and SoC designs. Enter reference oscillator jitter, PLL noise floor, buffer stages, and target clock frequency to compute setup margin.
Formula
How It Works
This calculator estimates total clock jitter from multiple sources for digital timing analysis. FPGA engineers, high-speed digital designers, and system architects use it to verify timing margins in synchronous systems. Clock jitter directly consumes setup and hold timing budget: T_margin = T_period - T_setup - T_hold - T_jitter_total. Random jitter sources (oscillator phase noise, PLL noise floor, buffer additive jitter) combine as root-sum-of-squares: J_total = sqrt(J1^2 + J2^2 + ...). Deterministic jitter (trace length mismatch, SSO-induced supply bounce) adds linearly per IEEE 1149.11 and Xilinx/Intel timing guidelines. According to JEDEC JESD65C, clock jitter for DDR4 must stay below 3.5% of unit interval (35 ps at 3200 MT/s); for PCIe Gen4, maximum is 3 ps RMS at the receiver. Modern FPGAs specify MMCM/PLL jitter of 50-150 ps RMS per Xilinx UG472 and Intel timing closure documentation.
Worked Example
Problem: Calculate total jitter budget for a 200 MHz FPGA design with external TCXO, on-chip PLL, two clock buffers, and 50 ps trace skew.
Solution - Component specifications:
- TCXO (SiTime SiT8008): 50 ps RMS phase jitter (12 kHz - 20 MHz integration)
- FPGA MMCM (Xilinx 7-series): 100 ps RMS output jitter per UG472
- Clock buffers (TI CDCLVP1102): 25 ps RMS additive jitter each
- Trace length mismatch: 50 ps (deterministic, adds linearly)
- Two buffers in series: J_buf = sqrt(25^2 + 25^2) = 35.4 ps
- Total random: J_random = sqrt(50^2 + 100^2 + 35.4^2) = sqrt(2500 + 10000 + 1253) = 117.3 ps
- J_total = 117.3 + 50 = 167.3 ps
- Typical setup time (Xilinx 7-series IOB): 80 ps
- Typical hold time: 40 ps
- Available for data path: 5000 - 80 - 40 - 167 = 4713 ps
- Budget consumed by jitter: 167/5000 = 3.3%
- At 200 MHz with 4.7 ns data path budget, design has comfortable margin
- Could increase to 500 MHz (2000 ps period) with 1593 ps data path budget
- At 1 GHz (1000 ps), jitter alone consumes 17% of period - marginal
Practical Tips
- ✓Budget clock jitter at 2-5% of clock period for conservative timing closure. At 1 GHz (1000 ps period), allow 20-50 ps total jitter. At 200 MHz (5000 ps), 100-250 ps is acceptable. Exceeding 10% jitter consumption typically indicates clock architecture problems requiring redesign rather than optimization per Xilinx UG472.
- ✓Select clock sources by integrated jitter specification over 12 kHz - 20 MHz bandwidth (standard measurement band per JEDEC). A TCXO with 100 fs jitter in this band contributes negligibly to total budget; an MEMS oscillator with 1-3 ps is adequate for most digital applications; a standard crystal oscillator at 5-10 ps may dominate system jitter.
- ✓For high-speed SerDes (10+ Gbps), specify reference clock jitter below 1 ps RMS. IEEE 802.3 (Ethernet) and PCIe specifications allocate 3-5 ps total jitter budget at the receiver; half or more is consumed by channel and receiver CDR. Premium oscillators (SiTime Elite Platform, Abracon ASEMB) achieve 100-250 fs jitter for 25G+ applications.
- ✓Use the Xilinx/Intel timing analyzer jitter reports rather than manual calculation for production designs. Static timing analysis (STA) incorporates PLL jitter models, clock uncertainty, and temperature derating automatically. Manual calculation is valuable for architecture selection and debug, but STA is definitive per FPGA vendor methodology.
Common Mistakes
- ✗Adding jitter linearly instead of RSS for random sources - linear addition overestimates total jitter by sqrt(N) for N equal sources. Two 100 ps sources combine to 141 ps (RSS), not 200 ps (linear). Use RSS for independent random sources (oscillator noise, PLL noise floor, buffer thermal jitter); add linearly only for deterministic/correlated sources per Xilinx XAPP225.
- ✗Using peak-to-peak jitter specs directly in RSS calculations - datasheets often specify peak-to-peak jitter (6-sigma envelope for Gaussian). Convert to RMS by dividing by 6 for Gaussian jitter, or by 3 for bounded periodic jitter. Mixing RMS and p-p values without conversion causes 2-6x errors in total jitter estimates.
- ✗Ignoring PLL bandwidth effect on jitter transfer - a narrow-bandwidth PLL (10-100 kHz) filters reference jitter above its bandwidth but amplifies VCO phase noise below the bandwidth. Wide-bandwidth PLL (1-10 MHz) tracks reference jitter closely. Choose bandwidth based on whether reference or VCO dominates jitter per TI SNAS516.
- ✗Forgetting power supply noise coupling into PLLs - a 10 mV ripple on PLL analog supply (AVDD) can add 20-100 ps jitter depending on supply rejection ratio (PSRR). Decouple PLL supplies with 10 nF + 100 nF + 10 uF per Xilinx/Intel reference designs. Measure supply noise with oscilloscope (20 MHz+ bandwidth) during debug.
Frequently Asked Questions
Shop Components
As an Amazon Associate we earn from qualifying purchases.
Related Calculators
RF
Phase Noise to Jitter
Convert oscillator phase noise (dBc/Hz) to RMS jitter in ps and ADC SNR limit. Integrate over offset frequency range for clock design. Free, instant results.
Comms
UART Baud Rate
Calculate UART frame timing, throughput, and USART BRR register divisor from baud rate, data format, and MCU clock frequency. Identify baud rate error for reliable serial communication.
Comms
SPI Timing
Calculate SPI bus timing parameters including bit period, frame time, maximum clock frequency limited by trace capacitance, and signal slew rate
Comms
I2C Pull-Up
Calculate I2C pull-up resistor values for Standard (100 kHz), Fast (400 kHz), and Fast-Plus (1 MHz) modes. Derives minimum, maximum, and recommended resistance from supply voltage and bus capacitance per NXP UM10204.