Skip to content
Documentation sections

Clock Tree Jitter Budget Calculator

POSThttps://rftools.io/api/py/v1/calculate

Slug clock-jitter. 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.

Inputs

Send every one of these in inputs, in the units shown. Most are required: a call without one is refused (400) and costs nothing; one the calculator can do without takes the default shown. An input outside its range is still computed and flagged in the provenance.

Inputs of clock-jitter
NameUnitRangeDefaultDescription
clockFreqMHznumberMHz0.001 … 10000200Target clock frequency at the destination register
setupTime_psnumberps0 … 500080From device datasheet — minimum setup time before clock edge
holdTime_psnumberps0 … 500040From device datasheet — minimum hold time after clock edge
refJitter_psnumberps0 … 1000050RMS jitter of TCXO or VCTCXO — from oscillator datasheet
pllJitter_psnumberps0 … 10000100RMS jitter added by PLL — from PLL datasheet or simulation
bufferJitter_psnumberps0 … 100025Additive jitter per clock buffer stage (e.g. CDCLVP1204: 20 ps)
bufferStagesnumbernone0 … 102Number of clock buffer/fanout stages between PLL and destination
traceDelay_psnumberps0 … 100020Clock tree routing skew — 150 ps/inch on FR4 at 6 mil trace
jitterTermsnumbernone0 … 60How many further jitter terms the clock path adds, each in quadrature (0–6)
term1Jitter_psnumberps0 … 100000RMS jitter added by another stage in the clock path, such as a different fanout buffer, a divider or a level translator
term2Jitter_psnumberps0 … 100000RMS jitter added by another stage in the clock path, such as a different fanout buffer, a divider or a level translator
term3Jitter_psnumberps0 … 100000RMS jitter added by another stage in the clock path, such as a different fanout buffer, a divider or a level translator
term4Jitter_psnumberps0 … 100000RMS jitter added by another stage in the clock path, such as a different fanout buffer, a divider or a level translator
term5Jitter_psnumberps0 … 100000RMS jitter added by another stage in the clock path, such as a different fanout buffer, a divider or a level translator
term6Jitter_psnumberps0 … 100000RMS jitter added by another stage in the clock path, such as a different fanout buffer, a divider or a level translator

Outputs

Returned in values, by key. A value that is unbounded or undefined is null.

Outputs of clock-jitter
FieldUnitDescription
setupMargin_psheadlinepsSetup Margin
totalJitter_pspsTotal Jitter
budgetUsed_pct%Budget Used
availableBudget_pspsAvailable Budget
periodPspsClock Period
bufferTotalJitter_pspsBuffer Total Jitter

Calling it

  • Calculate: one call, the request and response in full, and its errors.
  • Batch: this calculator with others, or a sweep, in one request.
  • Solve for a target: the value of one input that brings an output to a target.