Digital Electronics · Chapter 1

Introduction to Digital Electronics

Part 1 · Why a circuit that recognises only two voltages turned out to be more accurate, more repeatable and cheaper than one that tries to represent every value.

Dr. Mithun MondalEngineering DevotionDigital Textbook
i Learning Objectives

By the end of this chapter you should be able to:

  • Explain why a two-valued representation is more robust than a continuous one, in terms of how errors accumulate along a signal path.
  • Read the logic levels \(V_{OH}\), \(V_{OL}\), \(V_{IH}\) and \(V_{IL}\) off a gate's transfer characteristic, and calculate both noise margins from a data sheet.
  • Work out how many bits a quantity needs from its range and resolution, and use the terms bit, nibble, byte and word precisely.
  • Distinguish positive from negative logic and convert a truth table between the two conventions.
  • Identify the combinational and sequential parts of a digital system block diagram.
  • State the effect of propagation delay on the maximum usable clock frequency, and estimate a CMOS gate's dynamic power from its load, supply and switching rate.

Every quantity an electrical engineer measures — a temperature, a shaft speed, a line voltage — varies continuously. Yet almost every instrument that now records those quantities, and every controller that acts on them, works internally with circuits that recognise only two voltages. That looks like a step backwards. A circuit that can represent any value between 0 V and 5 V ought to carry more information than one that insists on being near 0 V or near 5 V and nothing in between.

It carries more information in principle and far less in practice, and the whole of digital electronics follows from why. This chapter sets out that argument, fixes the vocabulary the remaining chapters use, and states the two numbers — noise margin and propagation delay — that decide whether a design correct on paper will work on a board.

Four ideas introduced here recur in every later part: the regenerative property of a switching stage, the arithmetic that fixes how many bits a quantity needs, the timing sum that limits a clock, and the split between logic that only combines and logic that also remembers. The final section maps them onto the six parts of the syllabus, and so explains the order of the chapters.

The whole subject rests on one property. An analog stage must reproduce its input exactly; any error it adds is passed on and added to by the next stage. A digital stage only has to decide which of two states its input is nearer to, and then it regenerates a clean output. Noise does not accumulate along a digital chain — it is discarded at every gate, provided it never grows large enough to change the decision.

1 Analog and Digital Representation

An analog signal represents a quantity by a voltage or current proportional to it. A thermocouple that produces 41 µV per °C is analog: the information is in the exact value. A digital signal represents a quantity by a group of two-valued symbols. The same temperature might be carried as the twelve-bit pattern 0100 1011 0110, in which no individual wire means anything by itself; read as a binary integer that pattern is 1206, and Section 3 shows how a range and a resolution decide that twelve wires were the right number.

The difference that matters is what happens to an error. Suppose each stage in a chain adds 1 % of noise. After ten analog stages the accumulated error is 3 % if the contributions are independent and 10 % if they are correlated, and nothing downstream can remove it, because the receiving stage has no way to tell signal from noise — both are just voltage. After ten digital stages the error is zero, provided the noise at each input stayed below the threshold that separates the two states. Each gate makes a decision and drives a fresh, full-amplitude output.

ANALOG — noise becomes part of the signalDIGITAL — noise is discarded at every gatethresholdAny level above the threshold is read as 1, any level below it as 0 — and a clean edge is regenerated.
Figure 1.1 — Why two states beat a continuum

This is not an argument that digital is better in every respect. A digital representation of a continuous quantity is always an approximation: twelve bits divide a range into 4096 steps and nothing finer, and that quantisation error is the price paid; Chapter 29 returns to it. The point is only that quantisation error is bounded and known at design time, whereas accumulated analog error is neither.

2 Why Two States Rather Than Ten

Nothing in the argument above requires exactly two states. A circuit with ten distinguishable levels would represent a decimal digit on one wire and need far fewer wires. Such circuits have been built. They are not used, for three reasons.

  • Noise tolerance falls as levels are added. Spread \(N\) levels over a supply \(V\) and they sit \(V/(N-1)\) apart, so a receiver tolerates half that gap, \(V/2(N-1)\), before it picks the wrong neighbour. On 5 V, two levels tolerate 2.5 V of interference and ten only 0.28 V — nine times worse.
  • Two states match the devices. A transistor makes an excellent switch and a mediocre precision amplifier. Saturated and cut off are states it holds naturally, with no trimming and little sensitivity to temperature or device spread — the very drifts that ten levels would have to be held against.
  • Two-valued algebra already existed. Boole published his algebra in 1854, and Shannon showed in 1937 that it describes relay switching networks exactly. A ten-valued logic has no equally simple algebra behind it.

So binary it is, and the cost is more wires. Representing the decimal range 0–999 needs three decimal digits or ten bits. That is the trade the whole industry accepted.

The second reason is worth following, because the history of the subject is the history of that one requirement. The relay came first, the network Shannon analysed, switching in about 10 ms on a coil that takes a watt. The vacuum valve switched a thousand times faster with no moving part; ENIAC, of 1946, used 17,468 of them and drew about 150 kW. The transistor, demonstrated in 1947, did the same work in milliwatts. The integrated circuit — Kilby in 1958, Noyce's planar process the year after — changed not the switch but the cost of adding another one, so that what a designer economises on becomes the package and the pin. Parts came to be classified by how much logic one package holds, in names still in daily use:

ScaleGates per packageTypical partsWhere in this course
SSI — small-scaleup to about 127400 quad NAND, 7404 hex inverterChapters 5–11, drawn one gate at a time
MSI — medium-scaleabout 12 to 1007483 adder, 74138 decoder, 74163 counterChapters 16–26, the standard blocks
LSI — large-scale100 to 10,000small memories, PAL and PLA partsChapters 27–28
VLSI — very large-scaleabove 10,000FPGAs, converters, processorsChapters 28–30

The boundaries are conventional, but the trend they record is not: a relay switched in about 10 ms and a present-day gate switches in about 10 ps, a factor of \(10^{9}\). None of that altered a single result in Chapters 5 to 11, because the algebra of a two-valued system does not know what the switch is made of — which is why this course takes the abstraction first and the technology in Part 3.

3 Bits, Bytes and Word Length

One two-valued signal carries one bit — a contraction of "binary digit", coined by J. W. Tukey and made standard by Shannon's 1948 paper. One wire distinguishes two things; two wires distinguish four, since each pattern on the first pairs with either pattern on the second; three distinguish eight; and the doubling gives the counting law the rest of the course uses without comment:

\[\text{patterns} = 2^{n}, \qquad n = \lceil \log_2 M \rceil\]

An \(n\)-bit group takes \(2^{n}\) patterns and as an unsigned integer covers 0 to \(2^{n}-1\); conversely, if \(M\) values must be told apart, the word length is \(\log_2 M\) rounded up, since a fraction of a bit cannot be wired.

Groups of bits have names, and the names are not interchangeable. A nibble is four bits, exactly one hexadecimal digit and the reason hexadecimal is convenient at all. A byte is eight bits and therefore 256 patterns, the unit in which memory is addressed in Chapter 27. A word is the width the machine's registers and datapath work in — 8, 16, 32 or 64 bits — a property of a design rather than a universal constant, so it needs a machine attached to it before it means anything.

What a pattern means is a matter of code, not of wires: the same eight lines carry 0 to 255 unsigned, \(-128\) to \(+127\) in two's complement, two BCD digits or one ASCII character, and nothing electrical tells them apart.

1 Worked Example 1.1 — How many bits does a temperature channel need?

A furnace thermocouple channel must cover 0 °C to 150 °C and resolve steps of 0.1 °C. How many bits must the code carry, and what resolution does that word length deliver?

Counting the endpoints, the number of readings to be told apart is

\[M = \frac{150 - 0}{0.1} + 1 = 1501\]
\[n = \lceil \log_2 1501 \rceil = \lceil 10.55 \rceil = 11\ \text{bits}\]

Or, checking against the powers of two, \(2^{10} = 1024 < 1501 \le 2048 = 2^{11}\). Ten bits would give \(150/1023 = 0.147\ ^\circ\text{C}\) per step, coarser than asked for; eleven give

\[\Delta = \frac{150}{2^{11}-1} = \frac{150}{2047} = 0.0733\ ^\circ\text{C}\]

The extra resolution is not waste; it is what a whole number of bits delivers. In practice the part settles it, since a converter of standard width would be specified — and Chapter 29 runs the calculation the other way round, from the converter to the quantisation error.

The same law answers the question that arises whenever decimal and binary meet: a \(d\)-digit decimal number needs \(n = \lceil 3.32\,d \rceil\) bits, so three digits need ten — \(2^{10} = 1024 \ge 1000\), the figure quoted in the previous section — and a bus of \(k\) address lines reaches \(2^{k}\) locations, the arithmetic behind every memory expansion in Chapter 27.

Chapter 2 then does base conversion properly, Chapter 3 adds signs and the range \(-2^{n-1}\) to \(2^{n-1}-1\), and Chapter 4 covers codes chosen for a property other than arithmetic. All three come before Boolean algebra for one reason: you cannot minimise a function until you can say what its inputs mean.

4 Logic Levels, the Transfer Characteristic and Noise Margin

A gate does not produce or expect ideal 0 V and 5 V, and the levels it does guarantee are read off one curve. Sweep the input of an inverting gate slowly from 0 V to the supply and plot the output against it: that is the voltage transfer characteristic, and everything the gate does at DC is in it.

V₍DD₎V₍OH₎V₍OL₎00V₍IL₎V₍IH₎V₍DD₎V outV ininput state undefined|A| ≈ 0|A| ≈ 0steep: |A| ≫ 1slope = −1slope = −1
Figure 1.2 — The transfer characteristic, and where the four logic levels come from

The curve has three parts. Near either rail the slope is almost zero, so a disturbance on the input produces almost none at the output; between them the gate is a high-gain inverting amplifier whose output crosses the whole range for a small change of input.

Where does LOW stop and HIGH begin? Every manufacturer uses the unity-gain criterion: \(V_{IL}\) is the input at the lower point where the slope is \(-1\), and \(V_{IH}\) the input at the upper such point. Displace an input by \(\Delta V_{in}\) and the output moves by \(|A|\,\Delta V_{in}\), where \(A\) is the local slope: where \(|A| < 1\) the disturbance shrinks and dies away along a chain of gates, and where \(|A| > 1\) it grows. The unity-gain points are the boundary between an input a gate can clean up and one it will amplify into an error — the electrical statement of Section 1's argument. The output levels follow, \(V_{OH}\) measured at the \(V_{IL}\) point and \(V_{OL}\) at the \(V_{IH}\) point under worst-case load.

Why gain matters to a logic designer
The steeper the transition, the wider the usable bands either side of it

The flat regions restore a degraded signal; the steep region is what creates them. A stage whose maximum gain was below unity would have no unity-gain points at all, so no valid input bands and nothing to hold a chain of gates away from the middle of the range. High gain also narrows the transition: a 74HC04 typically swings its 5 V output for an input change of about 200 mV, a gain near \(5/0.2 = 25\). The guaranteed bands are wider than any single measurement, since they cover every device and temperature.

The data sheet compresses that whole curve into four numbers:

  • \(V_{OH}\) — the minimum voltage an output guarantees when driving HIGH;
  • \(V_{OL}\) — the maximum it guarantees when driving LOW;
  • \(V_{IH}\) — the minimum an input is guaranteed to accept as HIGH;
  • \(V_{IL}\) — the maximum an input is guaranteed to accept as LOW.

The margins are the gaps between what the driver promises and what the receiver demands:

\[NM_H = V_{OH(\min)} - V_{IH(\min)}, \qquad NM_L = V_{IL(\max)} - V_{OL(\max)}\]

A noise margin is the interference that can be added on the wire between two gates before the receiving gate might read it wrongly, and the smaller of the two limits the design.

DRIVER OUTPUTRECEIVER INPUTlogic 1 outlogic 0 outread as 1FORBIDDENstate undefinedread as 0V₍OH₎V₍IH₎V₍IL₎V₍OL₎NM_HNM_L
Figure 1.3 — Logic level bands and the two noise margins
2 Worked Example 1.2 — Noise margins of 74LS TTL

A 74LS gate specifies \(V_{OH(\min)} = 2.7\ \text{V}\), \(V_{OL(\max)} = 0.5\ \text{V}\), \(V_{IH(\min)} = 2.0\ \text{V}\) and \(V_{IL(\max)} = 0.8\ \text{V}\). Find both noise margins and state which limits the design.

\[NM_H = 2.7 - 2.0 = 0.7\ \text{V}\]
\[NM_L = 0.8 - 0.5 = 0.3\ \text{V}\]

The LOW-state margin of 0.3 V is the smaller and therefore governs. A 400 mV ground bounce on the return path — entirely possible when several outputs switch together — would push a valid LOW above \(V_{IL(\max)}\) and could be read as a 1, which is why the ground return is usually the first thing to look at when a TTL board misbehaves.

Compare that with 5 V CMOS, where \(V_{OH(\min)} = 4.44\ \text{V}\), \(V_{IH(\min)} = 3.5\ \text{V}\), \(V_{IL(\max)} = 1.5\ \text{V}\) and \(V_{OL(\max)} = 0.33\ \text{V}\), giving margins of 0.94 V and 1.17 V — three to four times better, and about 40 % of the \(V_{DD}/2\) that a gate of infinite gain driving fully to the rails would achieve. Chapter 12 develops this comparison properly.

5 Positive and Negative Logic

Assigning the symbol 1 to the more positive voltage is a convention, not a law. In positive logic the higher voltage is 1; in negative logic the higher voltage is 0. The same physical circuit therefore implements two different functions depending on which convention the reader applies.

Take a gate whose output is at the low voltage only when both inputs are at the high voltage. Read as positive logic, that is an AND function of the two inputs, inverted — a NAND gate. Read as negative logic, the same electrical behaviour is a NOR gate. Nothing about the silicon changed; only the labels did.

Duality of convention
A positive-logic AND is a negative-logic OR

Interchanging the two voltage assignments turns every AND into an OR and every OR into an AND, leaving inversions unchanged. This is the same duality that Chapter 6 derives algebraically as De Morgan's theorem — here it appears as a matter of naming rather than of algebra.

Positive logic is assumed everywhere in this course unless a chapter says otherwise. The convention still matters in practice: active-LOW control signals are ubiquitous, which is why a data sheet writes \(\overline{CS}\) or CS# for a chip select that is asserted by pulling it low.

Two ideas are easily confused here. Negative logic is a global reassignment, in which every signal on the drawing changes meaning together; an active-LOW signal is a local decision about one wire inside an otherwise positive-logic system, usually taken because an output sinks current more comfortably than it sources it. Chapter 10 develops the mixed-logic notation in which a bubble states an assertion level rather than an operation.

6 Propagation Delay, Power and the Speed Limit

No gate responds instantly. The propagation delay \(t_{pd}\), measured between the half-way points of the input and output edges, is the second number — after noise margin — that decides whether a design works. A data sheet quotes it twice, as \(t_{PLH}\) and \(t_{PHL}\), which are rarely equal. The cause of the delay is the load: the output charges the capacitance of the track and of every input hanging on it through a finite on-resistance, so an edge is an \(RC\) exponential rather than a step — and that same charge is where the power goes.

Delays add along a path. A ripple-carry adder of \(n\) stages waits for the carry to cross every stage, so its worst-case delay is proportional to \(n\); Chapter 16 shows how carry-look-ahead breaks that dependence. In a clocked system the longest combinational path between two flip-flops — one-bit memories that all sample together on a clock edge, built in Chapter 21 — sets the shortest usable clock period, and each flip-flop adds two numbers of its own: the delay \(t_{pd(\text{FF})}\) from clock edge to output, and the setup time \(t_{su}\) for which its input must be steady beforehand.

\[T_{\min} = t_{pd(\text{FF})} + t_{\text{logic(max)}} + t_{su}, \qquad f_{\max} = \frac{1}{T_{\min}}\]
3 Worked Example 1.3 — Maximum clock frequency

Flip-flops in a design have a clock-to-output delay of 8 ns and a setup time of 3 ns. The longest combinational path between any two flip-flops passes through four gates of 5 ns each. Find \(f_{\max}\).

\[t_{\text{logic(max)}} = 4 \times 5 = 20\ \text{ns}\]
\[T_{\min} = 8 + 20 + 3 = 31\ \text{ns}\]
\[f_{\max} = \frac{1}{31 \times 10^{-9}} = 32.3\ \text{MHz}\]

Note where the time goes: two-thirds of the period is spent in combinational logic. Removing one gate level from that path would raise \(f_{\max}\) to \(1/26\ \text{ns} = 38.5\ \text{MHz}\), a 19 % gain — which is why the minimisation techniques of Chapters 8 and 9 are worth the effort: they do not only save gates, they shorten the critical path.

Power is the third parameter, and it trades against the other two. A CMOS gate draws almost no current while it sits in either state, since one of the complementary devices is always off; what it costs is the charge moved when it switches. A full cycle takes \(CV^{2}\) from the supply, half dissipated in the pull-up as the load charges and half in the pull-down as it discharges, so a node switching \(f\) times a second dissipates

\[P_{\text{dyn}} = C V^{2} f\]

Here \(f\) is that node's own switching rate and not the clock frequency, since most nodes change far less often than the clock; Chapter 14 derives the expression and turns the difference into an activity factor.

4 Worked Example 1.4 — Dynamic power of one CMOS gate

A 74HC gate drives 10 pF of track and fan-out capacitance from 5 V, completing a full output cycle 10 million times a second. Find the energy per cycle and the average power, compare with its quiescent 25 µW, and repeat at 3.3 V.

\[E = CV^{2} = 10 \times 10^{-12} \times 5^{2} = 250\ \text{pJ per cycle}\]
\[P_{\text{dyn}} = CV^{2}f = 250 \times 10^{-12} \times 10 \times 10^{6} = 2.5\ \text{mW}\]

Switching has multiplied the gate's dissipation by \(2.5\ \text{mW}/25\ \mu\text{W} = 100\), and a thousand such gates would draw 2.5 W that no DC calculation predicts. Now drop the supply to 3.3 V:

\[P_{\text{dyn}} = 10 \times 10^{-12} \times (3.3)^{2} \times 10 \times 10^{6} = 1.09\ \text{mW}\]

a saving of 56 % for no change to the logic, since \((3.3/5)^{2} = 0.436\). It is not free: the lower supply shrinks both noise margins in proportion and slows the gate down, because less voltage drives less current into the same capacitance.

The three parameters are not independent, and no family optimises all of them: a faster family draws more current, a lower supply saves power quadratically but shrinks the margin, and a bigger transistor drives its load faster while loading the gate before it. Chapter 12 defines the speed–power product, the energy per operation in picojoules — the 250 pJ above is exactly such a figure — which is the fair way to compare families.

7 The Structure of a Digital System, and the Shape of This Course

Every digital system in this course decomposes into two kinds of block, and the distinction organises the rest of the syllabus.

COMBINATIONALoutput = f(present inputs)MEMORYflip-flops, clockedinputsoutputspresent state (feedback)clock
Figure 1.4 — Combinational logic, memory, and the feedback that makes a circuit sequential

A combinational circuit's output depends only on the inputs applied at that moment. Given the input pattern, the output is fully determined; the circuit has no memory of anything earlier. Chapters 5 to 20 are entirely about combinational circuits — how to express them, how to minimise them, and the standard blocks built from them.

A sequential circuit adds storage, and its output depends on the present inputs and on the stored state left by earlier inputs. That feedback path in Figure 1.4 is the whole difference. Chapters 21 to 26 develop it, from the single latch through to the formal design of a machine with a specified state sequence.

One further convention makes the structure tractable, and almost every circuit in this course obeys it. In a synchronous system a single clock reaches every memory element, so all of them sample at the same instant and the state changes only then. Between two edges the combinational block may settle slowly or glitch on the way and none of it matters, provided it has finished before the next edge — which is what reduces a timing analysis to the single inequality of Section 6.

With those two blocks and one clock, the shape of the course follows. Each part takes an idea from this chapter and makes a subject of it.

  1. Part 1, Number Systems and Codes (Chapters 2–4). The word-length arithmetic of Section 3 done properly: base conversion, signed representation, and codes chosen for a property other than arithmetic.
  2. Part 2, Combinational Logic and Minimisation (Chapters 5–11). The upper block of Figure 1.4: the gates, the algebra that manipulates them, and three methods of reducing an expression — the motive being the critical path of Section 6 as much as gate count.
  3. Part 3, Logic Families (Chapters 12–15). The transfer characteristic, noise margins, delay and power of Sections 4 and 6 measured on real families, and what happens where one drives another.
  4. Part 4, Combinational Building Blocks (Chapters 16–20). The same block at a coarser grain — adders, decoders, multiplexers, the arithmetic logic unit — the MSI parts of Section 2.
  5. Part 5, Sequential Logic (Chapters 21–26). The memory block and the feedback path: setup and hold times become design constraints, and a word statement becomes a state machine and then gates.
  6. Part 6, Memories, Programmable Logic and Converters (Chapters 27–30). Many bits stored and reached by an address, logic configured rather than wired, and the return to the continuous world of Section 1.

Read that list backwards and it is a dependency chain: you cannot describe a state machine in VHDL without knowing what a flip-flop is, nor choose one without the parameters of Part 3, nor design the logic that feeds it without Part 2.

8 Summary and Key Results

Chapter 1 — the parameters that recur throughout the course
QuantityDefinitionWhy it matters
\(2^{n}\)Distinct patterns in an \(n\)-bit wordWord length follows from range and resolution: \(n = \lceil \log_2 M \rceil\)
Unity-gain pointsInputs where \(|dV_{out}/dV_{in}| = 1\)Define \(V_{IL}\) and \(V_{IH}\); a steep transition buys wide margins
\(NM_H\)\(V_{OH(\min)} - V_{IH(\min)}\)Interference tolerated on a HIGH signal before a misread
\(NM_L\)\(V_{IL(\max)} - V_{OL(\max)}\)Interference tolerated on a LOW signal; usually the smaller for TTL
\(t_{pd}\)Input change to output changeAccumulates along a path; sets the critical path delay
\(f_{\max}\)\(1/(t_{pd(\text{FF})} + t_{\text{logic}} + t_{su})\)Highest clock a synchronous design will tolerate
\(P_{\text{dyn}}\)\(CV^{2}f\)Dominates in CMOS; falls with the square of the supply voltage
CombinationalOutput = f(present inputs)No memory; Chapters 5–20
SequentialOutput = f(present inputs, stored state)Has memory; Chapters 21–26

9 Common Mistakes

! Treating the forbidden region as "about half the supply"

The undefined band runs from \(V_{IL(\max)}\) to \(V_{IH(\min)}\), and for 74LS TTL that is 0.8 V to 2.0 V — nowhere near symmetrical about 2.5 V. The thresholds are the unity-gain points of the transfer characteristic, and for a bipolar input stage that curve is lopsided, its switching point set by base-emitter drops. Assuming the threshold sits at half the supply is what makes an interfacing calculation come out wrong, and Chapter 15 shows how badly when a CMOS output drives a TTL input.

! Adding noise margins from the two states

\(NM_H\) and \(NM_L\) are not cumulative and there is no such thing as a total noise margin. A signal is either HIGH or LOW at any instant, so only one margin applies at a time, and the design is governed by the smaller of the two. Averaging them hides the state that will fail.

! Quoting propagation delay as a single number

A data sheet gives \(t_{PLH}\) and \(t_{PHL}\) separately, and they are rarely equal. Using the average is fine for a rough estimate but wrong for a worst-case timing analysis, where the larger of the two must be used on every stage of the critical path. Take the figures from the maximum column too: a typical value is a measurement, not a guarantee.

10 Chapter Review

  1. 1. A gate has \(V_{OH(\min)} = 3.4\ \text{V}\), \(V_{IH(\min)} = 2.0\ \text{V}\), \(V_{OL(\max)} = 0.4\ \text{V}\) and \(V_{IL(\max)} = 0.8\ \text{V}\). Which state is more vulnerable to noise, and by how much?

    \(NM_H = 3.4 - 2.0 = 1.4\ \text{V}\) and \(NM_L = 0.8 - 0.4 = 0.4\ \text{V}\). The LOW state is the vulnerable one, tolerating 1.0 V less interference than the HIGH state, and it is the 0.4 V figure that governs the design.

  2. 2. (a) Why does a ten-level logic system have poorer noise immunity than a two-level one on the same supply? (b) How many bits does a three-digit decimal number need, and how many decimal digits will a 16-bit word hold?

    (a) Spread \(N\) levels over a supply \(V\) and adjacent levels are \(V/(N-1)\) apart, so a receiver tolerates half that gap, \(V/2(N-1)\). On 5 V that is 2.5 V for two levels and \(5/18 = 0.28\ \text{V}\) for ten — nine times worse. (b) Three decimal digits means 1000 values, and \(\lceil \log_2 1000 \rceil = 10\) bits, since \(2^{10} = 1024 \ge 1000\). A 16-bit word holds \(2^{16} = 65{,}536\) values, which covers every four-digit number but not every five-digit one.

  3. 3. A circuit produces a LOW output only when all three inputs are HIGH. Name the function under positive logic and under negative logic.

    Under positive logic it is a three-input NAND. Under negative logic the voltage assignments invert, and the same circuit reads as a three-input NOR: swapping the mapping from voltage to symbol interchanges AND with OR and leaves the inversion alone.

  4. 4. The longest path in a synchronous design has six gates of 4 ns; the flip-flops have \(t_{pd} = 6\ \text{ns}\) and \(t_{su} = 2\ \text{ns}\). (a) Find \(f_{\max}\). (b) One gate on that path drives 12 pF from a 5 V supply and its output completes a full cycle at 10 MHz. Find its dynamic power.

    (a) \(T_{\min} = 6 + (6 \times 4) + 2 = 32\ \text{ns}\), so \(f_{\max} = 1/32\ \text{ns} = 31.25\ \text{MHz}\). (b) \(P = CV^{2}f = 12 \times 10^{-12} \times 25 \times 10 \times 10^{6} = 3\ \text{mW}\), against a quiescent dissipation of tens of microwatts — in CMOS almost all of the power is spent moving charge, not holding a level.

  5. 5. Which block in Figure 1.4 makes the circuit sequential, and what would remain if it were removed?

    The memory block together with the feedback path from its state output back to the combinational input. Remove it and the output depends only on the present inputs, leaving a purely combinational circuit — and with it goes every timing question involving the clock, since no instant remains at which state is captured.