Boolean algebra and simplification
Every Boolean function over n variables can be expressed as a sum of minterms or product of maxterms. Karnaugh maps group adjacent cells sharing a common literal; each group of 2^k cells eliminates k variables. Verify the simplified expression against the original truth table.
Check yourself: Does every minterm in the original function belong to at least one group?
Combinational circuits
A multiplexer selects one of 2^n data inputs using n select lines. A decoder maps an n-bit input to one of 2^n output lines. Propagation delay determines the time between input change and stable output; hazards are transient glitches during this window.
Check yourself: Are the select and enable signals correctly connected?
Number representation and arithmetic
Two's complement represents signed integers: the most significant bit has a negative weight. For n bits, the range is −2^(n−1) to 2^(n−1) − 1. Overflow occurs when the result exceeds this range, not merely when a carry exists.
Check yourself: Does the sign bit of the result correctly reflect the operands' signs?
Sequential circuits and flip-flops
A D flip-flop samples its input at the active clock edge and holds the value until the next edge. A JK flip-flop toggles when both J and K are high. Counters chain flip-flops; synchronous counters clock all flip-flops simultaneously while asynchronous counters propagate the clock through each stage.
Check yourself: Is the data stable for the required setup window before the clock edge?
Logic families and interfacing
CMOS consumes negligible static power but has dynamic power proportional to switching frequency and load capacitance. Fan-out limits how many gate inputs one output can drive. Noise margin is the difference between the specified output level and the required input level. Mixing logic families requires checking voltage compatibility.
Check yourself: Is the output high level above the input high threshold of the driven gate?