In
integrated circuit design, dynamic logic (or sometimes clocked logic) is a design methodology in
combinatory logic circuits, particularly those implemented in
MOS
MOS or Mos may refer to:
Technology
* MOSFET (metal–oxide–semiconductor field-effect transistor), also known as the MOS transistor
* Mathematical Optimization Society
* Model output statistics, a weather-forecasting technique
* MOS (filmm ...
technology. It is distinguished from the so-called static logic by exploiting temporary storage of information in stray and gate capacitances.
It was popular in the 1970s and has seen a recent resurgence in the design of high speed digital
electronics
The field of electronics is a branch of physics and electrical engineering that deals with the emission, behaviour and effects of electrons using electronic devices. Electronics uses active devices to control electron flow by amplification ...
, particularly
computer CPUs
A central processing unit (CPU), also called a central processor, main processor or just processor, is the electronic circuitry that executes instructions comprising a computer program. The CPU performs basic arithmetic, logic, controlling, and ...
. Dynamic logic circuits are usually faster than static counterparts, and require less surface area, but are more difficult to design. Dynamic logic has a higher
toggle rate
Toggle may refer to:
*Toggle mechanism
*Toggle switch
*Toggling harpoon, an ancient weapon and tool used in whaling to impale a whale when thrown
*A type of textile closure, like an elongated Button (clothing), button
*Toggle (Doonesbury character ...
than static logic
but the
capacitive loads being toggled are smaller
so the overall power consumption of dynamic logic may be higher or lower depending on various tradeoffs. When referring to a particular
logic family
In computer engineering, a logic family is one of two related concepts:
* A logic family of monolithic digital integrated circuit devices is a group of electronic logic gates constructed using one of several different designs, usually with compati ...
, the dynamic adjective usually suffices to distinguish the design methodology, e.g. ''dynamic
CMOS''
or ''dynamic
SOI
''Soi'' ( th, ซอย ) is the term used in Thailand for a side-street branching off a major street (''thanon'', th, ถนน). An alley is called a ''trok'' ( th, ตรอก).
Overview
Sois are usually numbered, and are referred to by th ...
'' design.
Dynamic logic is distinguished from so-called ''static logic'' in that dynamic logic uses a
clock signal in its implementation of
combinational logic
In automata theory, combinational logic (also referred to as time-independent logic or combinatorial logic) is a type of digital logic which is implemented by Boolean circuits, where the output is a pure function of the present input only. This ...
circuits. The usual use of a clock signal is to synchronize transitions in
sequential logic
In automata theory, sequential logic is a type of logic circuit whose output depends on the present value of its input signals and on the sequence of past inputs, the input history. This is in contrast to ''combinational logic'', whose output i ...
circuits. For most implementations of combinational logic, a clock signal is not even needed.
The static/dynamic terminology used to refer to combinatorial circuits should not be confused with how the same adjectives are used to distinguish memory devices, e.g.
static RAM from
dynamic RAM
Dynamic random-access memory (dynamic RAM or DRAM) is a type of random-access semiconductor memory that stores each bit of data in a memory cell, usually consisting of a tiny capacitor and a transistor, both typically based on metal-oxid ...
.
Terminology
In the context of logic design, the term ''dynamic logic'' is more commonly used as compared to ''clocked logic'', as it makes clear the distinction between this type of design and ''static logic''. To additionally confuse the matter, ''clocked logic'' is sometimes used as a synonym for
sequential logic
In automata theory, sequential logic is a type of logic circuit whose output depends on the present value of its input signals and on the sequence of past inputs, the input history. This is in contrast to ''combinational logic'', whose output i ...
. This usage is nonstandard and should be avoided.
Static versus dynamic logic
The largest difference between static and dynamic logic is that in dynamic logic, a
clock signal is used to evaluate
combinational logic
In automata theory, combinational logic (also referred to as time-independent logic or combinatorial logic) is a type of digital logic which is implemented by Boolean circuits, where the output is a pure function of the present input only. This ...
. In most types of logic design, termed ''static logic'', there is at all times some mechanism to drive the output either high or low. In many of the popular logic styles, such as
TTL
TTL may refer to:
Photography
* Through-the-lens metering, a camera feature
* Zenit TTL, an SLR film camera named for its TTL metering capability
Technology
* Time to live, a computer data lifespan-limiting mechanism
* Transistor–transistor lo ...
and traditional
CMOS, this principle can be rephrased as a statement that there is always a low-impedance DC path between the output and either the supply
voltage
Voltage, also known as electric pressure, electric tension, or (electric) potential difference, is the difference in electric potential between two points. In a static electric field, it corresponds to the work needed per unit of charge to ...
or the
ground. As a sidenote, there is of course an exception in this definition in the case of high
impedance outputs, such as a
tri-state buffer
In digital electronics, a tri-state or three-state buffer is a type of digital buffer that has three stable states: a high output state, a low output state, and a high-impedance state. In the high-impedance state, the output of the buffer is discon ...
; however, even in these cases, the circuit is intended to be used within a larger system where some mechanism will drive the output, and they do not qualify as distinct from static logic.
In contrast, in ''dynamic logic'', there is not always a mechanism driving the output high or low. In the most common version of this concept, the output is driven high or low during distinct parts of the clock cycle. During the time intervals when the output is not being actively driven, stray capacitance causes it to maintain a level within some tolerance range of the driven level.
Dynamic logic requires a minimum
clock rate
In computing, the clock rate or clock speed typically refers to the frequency at which the clock generator of a processor can generate pulses, which are used to synchronize the operations of its components, and is used as an indicator of the pr ...
fast enough that the output state of each dynamic gate is used or refreshed before the charge in the output capacitance leaks out enough to cause the digital state of the output to change, during the part of the clock cycle that the output is not being actively driven.
Static logic has no minimum
clock rate
In computing, the clock rate or clock speed typically refers to the frequency at which the clock generator of a processor can generate pulses, which are used to synchronize the operations of its components, and is used as an indicator of the pr ...
—the clock can be paused indefinitely. While it may seem that doing nothing for long periods of time is not particularly useful, it leads to three advantages:
* being able to pause a system at any time makes debugging and testing much easier, enabling techniques such as
single stepping.
* being able to run a system at extremely low
clock rate
In computing, the clock rate or clock speed typically refers to the frequency at which the clock generator of a processor can generate pulses, which are used to synchronize the operations of its components, and is used as an indicator of the pr ...
s allows
low-power electronics
Low-power electronics are electronics, such as notebook processors, that have been designed to use less electric power than usual, often at some expense. In the case of notebook processors, this expense is processing power; notebook processors usu ...
to run longer on a given battery.
* a fully-static system can instantly resume exactly where it left off; a person doesn't have to wait for the system to boot up or resume.
Being able to pause a system at any time for any duration can also be used to synchronize the CPU to an asynchronous event. While there are other mechanisms to do this, such as interrupts, polling loops, processor idling input pins (for example, RDY on the
6502
The MOS Technology 6502 (typically pronounced "sixty-five-oh-two" or "six-five-oh-two") William Mensch and the moderator both pronounce the 6502 microprocessor as ''"sixty-five-oh-two"''. is an 8-bit microprocessor that was designed by a small te ...
), or processor bus cycle extension mechanisms such as WAIT inputs, using hardware to gate the clock to a static-core CPU is simpler, is more temporally precise, uses no program code memory, and uses almost no power in the CPU while it is waiting. In a basic design, to start waiting, the CPU would write to a register to set a binary latch bit which would be ANDed or ORed with the processor clock, stopping the processor. A signal from a peripheral device would reset this latch, resuming CPU operation. The hardware logic must gate the latch control inputs as necessary to ensure that a latch output transition does not cause the clock signal level to instantaneously change and cause a clock pulse, either high or low, that is shorter than normal.
In particular, although many popular CPUs use dynamic logic, only
static core
Static core generally refers to a microprocessor (MPU) entirely implemented in static logic. A static core MPU may be halted by stopping the system clock oscillator that is driving it, maintaining its state and resume processing at the poin ...
s—CPUs designed with fully static technology—are usable in space satellites owing to their higher
radiation hardness
Radiation hardening is the process of making electronic components and circuits resistant to damage or malfunction caused by high levels of ionizing radiation (particle radiation and high-energy electromagnetic radiation), especially for environ ...
.
Dynamic logic, when properly designed, can be over twice as fast as static logic. It uses only the
faster N transistors, which improve transistor sizing optimizations. Static logic is slower because it has twice the
capacitive
A capacitor is a device that stores electrical energy in an electric field by virtue of accumulating electric charges on two close surfaces insulated from each other. It is a passive electronic component with two terminals.
The effect of a c ...
loading, higher
thresholds, and uses slow P transistors for logic. Dynamic logic can be harder to work with, but it may be the only choice when increased processing speed is needed. Most electronics running at over 2 GHz these days require the use of dynamic logic, although some manufacturers such as Intel have designed chips using completely static logic to reduce power consumption.
Note that reducing power use not only extends the running time with limited power sources such as batteries or solar arrays (as in spacecraft), but it also reduces the thermal design requirements, reducing the size of needed heatsinks, fans, etc., which in turn reduces system weight and cost.
In general, dynamic logic greatly increases the number of transistors that are switching at any given time, which increases power consumption over static CMOS.
There are several
powersaving techniques that can be implemented in a dynamic logic based system. In addition, each rail can convey an arbitrary number of bits, and there are no power-wasting glitches. Power-saving clock gating and asynchronous techniques are much more natural in dynamic logic.
Static logic example
As an example, consider the static logic implementation of a CMOS NAND gate:
This circuit implements the logic function
:
If ''A'' and ''B'' are both high, the output will be pulled low. Whereas if either ''A'' or ''B'' are low, the output will be pulled high. At all times, the output is pulled either low or high.
Dynamic logic example
Consider now a dynamic logic implementation of the same logic function:
The dynamic logic circuit requires two phases. The first phase, when ''Clock'' is low, is called the ''setup phase'' or the ''precharge phase'' and the second phase, when ''Clock'' is high, is called the ''evaluation phase''. In the setup phase, the output is driven high unconditionally (no matter the values of the inputs ''A'' and ''B''). The
capacitor
A capacitor is a device that stores electrical energy in an electric field by virtue of accumulating electric charges on two close surfaces insulated from each other. It is a passive electronic component with two terminals.
The effect of ...
, which represents the load capacitance of this gate, becomes charged. Because the transistor at the bottom is turned off, it is impossible for the output to be driven low during this phase.
During the ''evaluation phase'', ''Clock'' is high. If ''A'' and ''B'' are also high, the output will be pulled low. Otherwise, the output stays high (due to the load capacitance).
Dynamic logic has a few potential problems that static logic does not. For example, if the clock speed is too slow, the output will decay too quickly to be of use. Also, the output is only valid for part of each clock cycle, so the device connected to it must sample it synchronously during the time that it is valid.
Also, when both ''A'' and ''B'' are high, so that the output is low, the circuit will pump one capacitor-load of charge from Vdd to ground for each clock cycle, by first charging and then discharging the capacitor in each clock cycle. This makes the circuit (with its output connected to a high impedance) less efficient than the static version (which theoretically should not allow any current to flow except through the output), and when the ''A'' and ''B'' inputs are constant and both high, the dynamic NAND gate uses power in proportion to the
clock rate
In computing, the clock rate or clock speed typically refers to the frequency at which the clock generator of a processor can generate pulses, which are used to synchronize the operations of its components, and is used as an indicator of the pr ...
, as long as it functions correctly. The power dissipation can be minimized by keeping the load capacitance low, but this in turn reduces the maximum cycle time, requiring a higher minimum clock frequency; the higher frequency then increases power consumption by the relation just mentioned. Therefore, it is impossible to reduce the idle power consumption (when both inputs are high) below a certain limit which derives from an equilibrium between clock speed and load capacitance.
A popular implementation is
domino logic
Domino logic is a CMOS-based evolution of the dynamic logic techniques based on either PMOS or NMOS transistors. It allows a rail-to-rail logic swing. It was developed to speed up circuits, solving the premature cascade problem, typically by in ...
.
See also
*
Domino logic
Domino logic is a CMOS-based evolution of the dynamic logic techniques based on either PMOS or NMOS transistors. It allows a rail-to-rail logic swing. It was developed to speed up circuits, solving the premature cascade problem, typically by in ...
*
Sequential logic
In automata theory, sequential logic is a type of logic circuit whose output depends on the present value of its input signals and on the sequence of past inputs, the input history. This is in contrast to ''combinational logic'', whose output i ...
References
General references
* Chapter 9, "Dynamic logic circuits" (chapter 7 in the 2nd edition)
* Chapter 14, "Dynamic logic gates"
* Chapter 7, "Dynamic SOI Design"
External links
Introduction to CMOS VLSI Design – Lecture 9: Circuit Families– David Harris' lecture notes on the subject.
{{DEFAULTSORT:Dynamic Logic (Digital Logic)
Logic families