Loading revision…
Loading revision…
Syllabus: Number Representations: Binary, integer and floating-point numbers. Combinatorial circuits: Boolean algebra, minimization of functions using Boolean identities and Karnaugh map, logic gates and their static CMOS implementations, arithmetic circuits, code converters, multiplexers, decoders.
12 hand-picked visual resources on this topic, 3 of them little-known gems — under each card, look for See it. Every link is checked against the live site before it ships.
Identities that actually get used
Absorption and the second distributive law collapse most expressions in one step. The distributive form has no counterpart in ordinary algebra, which is why it is easy to miss.
absorption
See it
K-maps and essential prime implicants
A prime implicant is a group that cannot be enlarged. It is essential when some minterm is covered by it alone — find those minterms first and the rest of the cover follows.
check each minterm's alternatives
Where marks are lost
A large group is not automatically essential — if every one of its minterms is covered elsewhere, it is redundant.
See it
Multiplexers as function generators
With the select lines driven by the variables, the data inputs of a MUX are literally the truth-table column of the function you want.
Static CMOS gates
The pull-up network is the dual of the pull-down: series in one becomes parallel in the other. Static CMOS draws no steady current in either state — power is dissipated only while switching.
Number representations and complements
Two's complement is used because addition and subtraction become the same operation and there is only one zero. Its range is asymmetric — one more negative value than positive — and that asymmetry is what most questions turn on.
Adders and arithmetic circuits
A ripple-carry adder is slow for the same reason it is simple: bit cannot settle until bit has. Carry look-ahead breaks the chain by computing every carry directly from generate and propagate terms.
Decoders, encoders and code converters
A decoder generates every minterm of its inputs, so a decoder plus an OR gate implements any function directly from its truth table. An encoder does the reverse and needs a priority scheme, because two simultaneous inputs would otherwise produce a meaningless code.
active-low outputs make it a NAND array, and the OR becomes a NAND
the distributive law unique to Boolean algebra
De Morgan
XOR is
or variables with one inverter
switching power
dual networks
See it
range to
a carry out is not overflow in signed arithmetic
one bit changes between consecutive codes
1 sign + 8 exponent (bias 127) + 23 mantissa; the leading 1 is implicit
Where marks are lost
The 1's-complement system has two zeros ( and ) and needs an end-around carry. Only 2's complement avoids both, which is why nothing else is used in practice.
full adder
no carry in — two half adders plus an OR make a full adder
delay grows linearly with word length
carry look-ahead: two gate delays regardless of
one adder does both, with the XOR gates controlled by the subtract line
Array multiplier gate count.
See it
put variables on the selects and on the data inputs
The highest active input wins; a separate valid flag is what distinguishes an all-zero input from an all-zero code.
the usual counting question