PLL / MMCM Calculator

Compute MMCM/PLL settings for Xilinx 7-series: multiply/divide values for a target output frequency, VCO legality check, error in ppm, alternative settings, and a ready MMCME2_BASE/PLLE2_BASE Verilog instantiation.

Results

M / D / O
11.875 / 1 / 9.5
VCO
1187.50 MHz (range 600-1200)
Actual output
125 MHz
Error
+0.0 ppm

Best settings (top 5)

MDOVCOOutputError
11.87519.51187.50 MHz125 MHz+0.0 ppm
46.87549.3751171.88 MHz125 MHz+0.0 ppm
23.12529.251156.25 MHz125 MHz+0.0 ppm
45.62549.1251140.62 MHz125 MHz+0.0 ppm
11.25191125.00 MHz125 MHz+0.0 ppm

Notes

Verilog instantiation
// MMCME2_BASE: 100 MHz in, CLKOUT0 = in * 11.875 / (1 * 9.5)
// Generated by libfpga.com/tools/pll-calculator
MMCME2_BASE #(
    .CLKIN1_PERIOD    (10.000),
    .CLKFBOUT_MULT_F  (11.875),      // M
    .DIVCLK_DIVIDE    (1),        // D
    .CLKOUT0_DIVIDE_F (9.5),      // O
    .BANDWIDTH        ("OPTIMIZED")
) mmcm_inst (
    .CLKIN1   (clk_in),
    .CLKFBIN  (clkfb),
    .CLKFBOUT (clkfb),
    .CLKOUT0  (clk_out_unbuf),
    .LOCKED   (locked),
    .RST      (rst),
    .PWRDWN   (1'b0)
);
BUFG bufg_out (.I(clk_out_unbuf), .O(clk_out));
// Feedback needs no BUFG when only used internally like this.

This exact result is bookmarkable — the URL contains all your inputs. Need it in a script? Append &format=json (API docs).

About this tool

An MMCM or PLL multiplies the input clock up to a VCO frequency (f_in × M / D) and divides it back down per output (÷O). The catch is that the VCO must stay inside a datasheet window that depends on primitive and speed grade, and the phase detector input (f_in / D) has its own limits — so not every ratio is reachable, and some reachable ratios have several solutions that differ in jitter (higher VCO is generally better). This calculator searches the legal space, ranks by frequency error then VCO, and emits the matching MMCME2_BASE/PLLE2_BASE instantiation. Same math the Clocking Wizard does, without opening Vivado. UltraScale note: ranges differ (e.g. MMCME3/4 VCO 800-1600 MHz), so re-check before porting.

Related tools