![]() |
It takes a nonzero time for an input to change from one state to another. During this time, and briefly afterwards, the fundamentally analogue nature of the transistors implementing a logic element is revealed at its output, which is to be seen briefly at levels between attractor states, possibly even making multiple transitions before quickly settling into the appropriate attractor state (`switching transients').
In a digital circuit, made as a network of logic elements, precautions must be taken to ensure that switching transients do not affect the overall behaviour of the system. This is done by some method of phase control between parts of the system, so that a subcircuit is not allowed to use the output of another until it has settled at the correct attractor state. In asynchronous logic design, local handshaking signals are used between subcircuits [21]. In synchronous logic, one or more regular `clock' signals is used to control when subcircuits can communicate. The frequency of a clock is chosen such that the slowest subcircuit it controls has time for its output to settle at the correct state between `ticks'.
There are two main advantages to digital design. The first, to be elaborated in §II-C, is that most of the design can be considered at the level of logical algebra, without having to think about the physics of electronic devices. The second is that digital systems, especially binary ones, are extremely tolerant to corruption of the signals. This is because of the signal restoration to an attractor state at almost every opportunity. It is relatively easy to make binary digital circuits with a huge operational envelope. For example, if a signal is corrupted by noise, or an attractor state of an element's output drifts with temperature, there are large margins for error, as seen in Fig. 2. In synchronous circuits, there also needs to be a margin for error included in the clock period: the time for an output to be computed, stabilise, and be transferred to the next subcircuit may vary within the operational envelope.
These advantages come at a cost. The basic elements must all have the
signal-restoring property. The system must be broken down into subcircuits
that are simple
enough for internal transients not to be a problem. Usually this
means that the subcircuits are basically feedforward or `combinatorial'
(having no feedback or recurrent loops within them). The communications
between the subcircuits must be carefully regulated, usually by means of
registers that only load in new values when communications are to be
permitted (subcircuits have stabilised). Digital design, by using the
components only as switching devices, must impose these design constraints to
suppress the other aspects of the analogue, continuous-time reality.