What Are Clock Signals in Digital Circuits, and How Are They Produced? | Symmetry Blog
Timing components are one of the most ubiquitous components in electronics. They are needed in nearly every complex design and all our electronics wouldn’t work without them. We previously discussed how to design a clock tree, but understanding how the clock works is crucial to understanding how your design operates. After all, it’s not magic, and when it comes down to it, it’s actually pretty simple.
In this article, I will be explaining the different kinds of timing components available and just why clocks are so important in digital electrical circuits. Keep reading to learn why clocks are required in digital circuits.
What is a clock signal?
We can define a clock signal as a particular type of signal that oscillates between a high and a low state. The signal acts like a metronome, which the digital circuit follows in time to coordinate its sequence of actions. Digital circuits rely on clock signals to know when and how to execute the functions that are programmed.
If the clock in a design is like the heart of an animal, then clock signals are the heartbeats that keep the system in motion.
How are clock signals produced?
There are different ways a clock signal can to be produced, but they all start off with the crystal resonator. A crystal resonator is commonly referred to as a crystal. In order to operate, crystals are combined with an amplifier circuit to apply voltage to an electrode near or on the crystal.
The quartz crystal is a tiny slit of quartz with each of the two surfaces metalized and attached with an electrical connection. It’s important the physical size and shape of the quartz crystal are precisely cut because this determines the frequency of oscillations produced from the crystal. Once the crystal is cut and shaped, it cannot be used at any other frequency. Quartz crystals are more commonly used since the frequency generated from quartz crystals are more resistant to changes in temperature. If an internal RC resonator was used instead, changes in temperature would affect the behavior of the oscillator, leading to changes in the output frequency.
Crystal Oscillator
Crystals have a sinusoidal output and are typically used if the target IC has an integrated oscillator and on-chip phase locked loops (PLLs) for internal timing. When a crystal and oscillation circuit are combined in the same package, it is commonly referred to as a crystal oscillator. This quartz piezo-electric oscillator outputs a usable oscillating signal, most commonly a square wave with 50% duty cycle. Usually, this clock signal is fixed at a constant frequency and synchronization may become active at either the rising or falling edge of each clock cycle.
Clock Generator
A clock generator combines an oscillator with one or more PLLs, output dividers and output buffers. Clock generators and clock buffers are useful when several frequencies are required and the target ICs are all on the same board or in the same FPGA. In some applications, FPGA/ASICs have multiple time domains for the data path, control plane and memory controller interface, and as a result, require multiple unique reference frequencies. In most cases, the oscillator is external to the clock generator, although it is becoming more common that oscillators are combined into the same package as the clock generator in an effort to consolidate bill of material cost and complexity, alongside other advantages. There are many different types of clock generators and each is optimized for different performance and cost targets depending on the application.
Synchronous and free-running designs:
Systems and their combination of various subsystems may require a timing architecture that is free-running or synchronous.
If a system is free-running, independent clocks can be used without any special phase-lock or synchronization requirements. Examples include standard processors, memory controllers, SoCs and peripheral components (e.g., USB, PCI Express switches).
An example of a complex IC everyone is familiar with would be the microcontroller. Microcontrollers rely on a clock from a crystal oscillator to function with an exception for when used in asynchronous circuits, like in the case of asynchronous CPUs. Most common microcontrollers contain an internal R-C oscillator that is good enough for things like UART communication, although external crystal oscillators are necessary for other types of communication like USB or ethernet.
Conversely, synchronous timing systems require continuous communication and network-level synchronization across all associated systems. In these applications, low-bandwidth PLL-based clocks provide jitter filtering to ensure that network-level synchronization is maintained. For example, synchronizing all SerDes (serialization-deserialization) reference clocks to a highly accurate network reference clock (e.g., Stratum 3 or GPS) guarantees synchronization across all system nodes.
Examples of synchronous clock trees include Optical Transport Networking (OTN), SONET/SDH, Mobile backhaul, Synchronous Ethernet and HD SDI video transmission. There are various applications that require accurate frequency or timing other than communications, though. Some applications require long-term synchronization between two subsystems that are not connected to one another. If an oscillator used as the basis for a real-time clock was off just 0.1%, a week later the clock would be almost 10 minutes off. Long-term accuracy might also be needed without having to know real time.
For example, suppose you want several Bluetooth modules to wake up once every hour to exchange data for a few seconds and then go back to sleep, in order to preserve battery power. A standard 20ppm oscillator would be off just fractions of a second per hour, whereas a 1% RC resonator could be off by half a minute. If the RC resonator is used, the Bluetooth modules would have to remain on for longer periods of time in order to communicate with one another, thus wasting battery power.
Internal and external oscillators:
Internal oscillators are commonly used to provide timing for MCUs that don’t require accurate timing. Internal oscillators are good enough for low-baud UART communication, although external crystals and oscillators are required for communication protocols such as CAN, USB or Ethernet which have stricter timing accuracy requirements.
Using an external oscillator allows a wider range of frequencies where the internal oscillator(s) are typically one frequency with a handful of clock prescaler options. In electronics, time is a property that can be measured accurately and cheaply, so often times a problem is transformed into one of measuring time or producing pulses with accurate timing.
Some advantages of external clocks and oscillators include:
- Precision - internal clocks are not precise and can be affected by noise
- Temperature independence - oscillators and clocks (especially temperature compensating oscillators) can be used in low or high-temperature applications or where the temperature varies greatly. With changes in temperature, the oscillation frequency can remain relatively the same.
- Speed - internal oscillators might not reach the highest speed of the IC, in which case an external oscillator is required
- Voltage - The speed of an internal oscillator may be dependent on the voltage that it is being run at. If an oscillator drives equipment that may generate radio-frequency interference, adding a varying voltage to its control input can disperse the interference spectrum making it closer to ideal. In this example, only an external, voltage-controller oscillator could provide that capability
- Multiple clocks required - if many subsystems need to operate in sync and are connected to one another, a single external clock generator can be used to replace each subsystem’s free-running timing component
This table summarizes the features between the different timing components.
Function | Crystal | XO | Clock Generator | Clock Buffer | Jitter Attenuator |
Free-run operation | No | Yes | Yes | Yes | Yes |
Synchronous operation | No | No | Yes | Yes | Yes |
Clock multiplication | No | No | Yes | No | Yes |
Clock division | No | No | Yes | Yes | Yes |
Jitter cleaning | No | No | No | No | Yes |
Design complexity | Low | Low | Medium | Low | Medium |
Integration | Low | Low | High | High | High |
Key features that simplify clock tree design | Small form factor | Any-frequency, any-output | Formal/level translation | Any-frequency clock synthesis | |
Placement next to IC | Format translation | Integrated output mix | Integrated loop filter | ||
Glitchless switching between clocks at different frequencies | Output voltage translation | Hitless switching | |||
VDD level translation | Synchronous output clock disable | Hold over on lock loss |
Silicon Labs is the preferred supplier for high-quality timing components.
Silicon Labs offers a variety of oscillators, clock generators, jitter attenuators, and clock buffers to support a variety of design needs.
Why use a Silicon Labs clock?
- Guaranteed end-to-end jitter performance
- Easy interoperability
- Simplified procurement
- Bundled clock tree pricing
- One-stop shop
- Powerful software tools like the ClockBuilder web utility and Oscillator Phase Noise Look-Up Tool are available
Using an FPGA?
Silicon Labs provides reference designs for Broadcom, Cavium, Intel/Altera, NXP/Freescale, Xilinx, Marvell and Lattice.
You can find a wide array of timing solutions for your design needs on Symmetry's online store. Symmetry Electronics is an authorized Silicon Labs distributor.