Clock gating

Clock gating

Clock gating is a power-saving technique used in many synchronous circuits

Description

Clock gating is a popular technique used in many synchronous circuits for reducing dynamic power dissipation. Clock gating saves power by adding more logic to a circuit to prune the clock tree. Pruning the clock disables portions of the circuitry so that the flip-flops in them do not have to switch states. Switching states consumes power. When not being switched, the switching power consumption goes to zero, and only leakage currents are incurred.[1]

Clock gating works by taking the enable conditions attached to registers, and uses them to gate the clocks. Therefore it is imperative that a design must contain these enable conditions in order to use and benefit from clock gating. This clock gating process can also save significant die area as well as power, since it removes large numbers of muxes and replaces them with clock gating logic. This clock gating logic is generally in the form of "Integrated clock gating" (ICG) cells. However, note that the clock gating logic will change the clock tree structure, since the clock gating logic will sit in the clock tree.

Clock gating logic can be added into a design in a variety of ways:

  1. Coded into the RTL code as enable conditions that can be automatically translated into clock gating logic by synthesis tools (fine grain clock gating).
  2. Inserted into the design manually by the RTL designers (typically as module level clock gating) by instantiating library specific ICG (Integrated Clock Gating) cells to gate the clocks of specific modules or registers.
  3. Semi-automatically inserted into the RTL by automated clock gating tools. These tools either insert ICG cells into the RTL, or add enable conditions into the RTL code. These typically also offer sequential clock gating optimisations.

Note: Any RTL modifications to improve clock gating will result in functional changes to the design (since the registers will now hold different values) which need to be verified.

Sequential clock gating is the process of extracting/propagating the enable conditions to the upstream/downstream sequential elements, so that additional registers can be clock gated.

Although asynchronous circuits by definition do not have a "clock", the term perfect clock gating is used to illustrate how various clock gating techniques are simply approximations of the data-dependent behavior exhibited by asynchronous circuitry. As the granularity on which you gate the clock of a synchronous circuit approaches zero, the power consumption of that circuit approaches that of an asynchronous circuit: the circuit only generates logic transitions when it is actively computing.[2]

Chip families such as OMAP3, with a cell phone heritage, support several forms of clock gating. At one end is the manual gating of clocks by software, where a driver enables or disables the various clocks used by a given idle controller. On the other end is automatic clock gating, where the hardware can be told to detect whether there's any work to do, and turn off a given clock if it is not needed. These forms interact with each other and may be part of the same enable tree. For example, an internal bridge or bus might use automatic gating so that it is gated off until the CPU or a DMA engine needs to use it, while several of the peripherals on that bus might be permanently gated off if they are unused on that board.

References

  1. ^ Power-efficient System Design, Preeti Ranjan Panda, Aviral Shrivastava, P.R. PANDA, B. v. n. Silpa, Krishnaiah Gummidipudi, Springer; 1st Edition. edition (September 17, 2010), Page 25,73, ISBN 978-1441963871
  2. ^ Multiprocessor System-on-Chip: Hardware Design and Tool Integration, Michael Hübner, Jürgen Becker, Springer; 1st Edition. edition (December 3, 2010), Page 176, ISBN 978-1441964595

Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Look at other dictionaries:

  • Clock gating — технология уменьшения энергопотребления в цифровых системах за счёт запрета подачи тактовых сигналов на неиспользуемые цепи схемы, исключая расходование энергии на бесполезное переключение их элементов. Размеры отключаемых цепей могут находиться… …   Википедия

  • Clock gating — En électronique numérique, et plus particulièrement lors de la conception de circuit (CPU, GPU, contrôleur mémoire, périphériques), le clock gating est une méthode de réduction de la consommation dynamique d un circuit. Principe L arbre d’horloge …   Wikipédia en Français

  • Clock distribution network — In a synchronous digital system, the clock signal is used to define a time reference for the movement of data within that system. The clock distribution network (or clock tree, when this network forms a tree) distributes the clock signal(s) from… …   Wikipedia

  • Clock signal — In electronics and especially synchronous digital circuits, a clock signal is a particular type of signal that oscillates between a high and a low state and is utilized like a metronome to coordinate actions of circuits. Although the word signal… …   Wikipedia

  • Clock rate — Clocking redirects here. For tampering with vehicle odometers, see Odometer fraud. The clock rate is the rate in cycles per second (measured in hertz) or the frequency of the clock in any synchronous circuit, such as a central processing unit… …   Wikipedia

  • Central processing unit — CPU redirects here. For other uses, see CPU (disambiguation). An Intel 80486DX2 CPU from above An Intel 80486DX2 from below …   Wikipedia

  • Comparison of AMD graphics processing units — For information on Nvidia graphics processing units, see Comparison of Nvidia graphics processing units. This page contains general information about the GPUs and video cards by Advanced Micro Devices (AMD), including those by ATI Technologies… …   Wikipedia

  • List of electronics topics — Alphabetization has been neglected in some parts of this article (the b section in particular). You can help by editing it. This is a list of communications, computers, electronic circuits, fiberoptics, microelectronics, medical electronics,… …   Wikipedia

  • Unidad central de procesamiento — Oblea de un microprocesador Intel 80486DX2 (tamaño: 12×6,75 mm) en su empaquetado. La unidad central de procesamiento, UCP o CPU (por el acrónimo en inglés de central processing unit), o simplemente el procesador o microprocesador, es el… …   Wikipedia Español

  • Xtensa — is a 32 bit microprocessor core designed by Tensilica.Tensilica describes it as a configurable, extensible and synthesizable processor core ... the first microprocessor architecture designed specifically to address embedded System On Chip (SOC)… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”