SoC Architecture/Design : Clock Sources.
-Aviral Mittal (avimit att yhaoo dat cam)

Connect @

This Page is about Source of Clocks on a typical low power small SoC.

Typically a Small SoC may have the following clock source(s)
  • Crystal Oscillator also called XTAL : Typical frequency provided will be in MHz, e.g 32 MHz xtal is a very commonly used XTAL.
  • RC-Oscillators : (RCO) Fast RC-Oscillators e.g. providing MHz clock(s) say 32 MHz, or 64 MHz, the Slow RC-Oscillators may provide in KHz say, 32 KHz
  • Clock doublers or Clock triplers.
  • PLLs.
What is their purpose, why so many?
There are a number of factors which influence the choice for the soruce of clock on a low-power small SoC.
Power, accuracy, startup-time, max freq etc are a few factors which affect the choices.

For example, Crystal Oscillators take relatively longer time to stablize.
This means, after power up, the SoC must wait till it is stable.
Typically the statup-time for XTALs is in milli-seconds for slow xtals and in micro-seconds for fast crystals.
Hence the SoCs tends to use RC-Oscillators from power up till the point XTAL becomes stable.
But then why not continue with RC-Oscillators alone?
Well RC-Oscillators do not provide the quality of the clock produced by Crystal Oscillators.
So if the SoC needs accurate time-keeping, RC-Oscillators will fail to provide that, hence XTAL will be needed.

What about PLLs?
PLLs are needed to provide very high frequency clocks typically hundreds of MHz till GHz ranges.
A clock which is that fast cannot be supplied by any external source becasue the SoC I/O pads pose their limitation.
Hence a high frequency clock is internally generated by a PLL.
A PLL needs a referece clock input, this can be provied either by an XTAL or by an RC-Oscillator.
A PLL may need 100s of uAmps of current to run. Typically for 250 MHz clock the figure could be 150 uA for 22 nm technology. (just the ball park figure).
Typical Lock times of PLL can be in micro-seconds. e.g ~50us.

OK then why a Slow RC-Oscillator.
A SoC may have a very low power sleep state, where the SoC is waiting for some external activity to happen.
But the SoC still needs a clock to do things. Here a slow RC-Oscillator e.g. producing KHz clock is very useful.
This slow clock will help the SoC to reduce power consumption in sleep state, and yet keep the functionality alive.

Clock Doublers or Clock Triplers
At times, there may not be a need of a very high frequency clock, but 32 MHz clock provided by XTAL is a bit too slow.
May be the SoC needs something like 64 MHz or 96 MHz etc. This can be supplied by PLL in theory, but PLL consumes
a lot of power. Typically a PLL can consume 100s of uAmps of current depending upon the frequency which it is supplying.
Hence if the requirment isn't there for too high frequency of operation, using a digital clock doubler or a clock tripler may
be advantageous, as it can meet the clock demands with low power consumption.


Advantages : Very accurate clock frequency, low power consumption
Disadvantages : Large start-up times, typically in 100s of us (micro seconds). Max frequency is limited, as these are typically off-chip.

Advantages : Low startup times. Clock available immediately after power-up.
Disadvantages : Inaccurate clock frequencies. Very sensitive to temperature.

Advantages : Very accurate clock frequency. Can provide very high clock frequencies.
Disadvantages: Power consumption.

As can be seen from above, a typical low power small SoC may have multiple clock sources, and each of them may run
or may be stopped depending upon the use cases of the SoC.
A SoC may use an RCO at start-up and then switch to XTAL once XTAL clock is stable. The SoC may then switch to RCO
in the use cases which do not need very accurate clock frequency.

<= BACK                            NEXT =>
Date last modified : 06 April 2021.

SoC Architecture/Design Clock sources.