A method of calibrating a phase-locked loop (PLL) by a calibration engine of the PLL, the PLL having one or more adjustable oscillators and a threshold window generation circuit, each of the adjustable oscillators providing a different output frequency, the threshold window generation circuit having a first configurable transistor bank configured to generate an upper threshold for a selected threshold window, a second configurable transistor bank configured to generate a lower threshold for the selected threshold window, a demultiplexer configured to generate a first control signal based on a control value of the calibration engine, the first control signal provided to the second configurable transistor bank, an inverter configured to generate a second control signal based on the first control signal, the second control signal provided to the first configurable transistor bank, a first comparator for comparing the upper threshold value to the control signal value, and a second comparator for comparing the lower threshold value to the control signal value, wherein the outputs of the first and second comparators are provided to the calibration engine, the method comprising:
- entering a calibration mode of the PLL;
- setting the PLL to an initial state, by:
- selecting one of the adjustable oscillators for calibration;
- selecting an initial threshold window;
- and
- selecting an initial tuning band of the selected adjustable oscillator;
- determining whether a control signal of the selected adjustable oscillator is within the initial threshold window;
- and
- if the control signal is not within the initial threshold window:
- iteratively adjusting at least one of:
- (i) the selected tuning band of the selected adjustable oscillator, (ii) the selected adjustable oscillator, and (iii) the selected threshold window until the control signal of the selected adjustable oscillator is within the adjusted threshold window;
- if the control signal is below the selected threshold window and (i) the lowest tuning band of the selected adjustable oscillator is selected, and (ii) the one of the adjustable oscillators of the PLL having the lowest operating frequency is selected:
- selecting a next larger threshold window if the largest threshold window of the PLL is not currently selected;
- if the control signal is above the selected threshold window and (i) the highest tuning band of the selected adjustable oscillator is selected, and (ii) the one of the adjustable oscillators of the PLL having the highest operating frequency is selected:
- selecting a next larger threshold window if the largest threshold window of the PLL is not currently selected;
- otherwise, if the control signal is within the initial threshold window:
- storing the one or more calibration settings of the PLL in a memory.