Circuits
Reference · Boolean Algebra · Always free
Design and analyze combinational digital circuits
Overview
From Expressions to Circuits
A combinational circuit is a network of logic gates with no feedback loops. Given a Boolean expression, we can directly build the corresponding circuit, and vice versa. Understanding this connection is key to digital systems design.
Definition
Combinational Circuit
A combinational circuit has: • Inputs: binary values (0 or 1) • Logic gates: connected in a directed acyclic graph • Outputs: determined entirely by the current inputs (no memory)
The output of any combinational circuit can be described by a Boolean expression.
Example
Full Adder
A full adder takes three 1-bit inputs: x, y, and carry-in (Cᵢₙ), and produces a sum bit S and carry-out Cₒᵤₜ.
S = x ⊕ y ⊕ Cᵢₙ Cₒᵤₜ = (x · y) + (Cᵢₙ · (x ⊕ y))
By chaining n full adders, we build an n-bit ripple-carry adder that adds two n-bit binary numbers.
Definition
Multiplexer (MUX)
A multiplexer selects one of several input signals based on a selector input.
2-to-1 MUX: output = s̄ · I₀ + s · I₁ When s = 0, output = I₀. When s = 1, output = I₁.
A 2ⁿ-to-1 MUX uses n selector bits to choose from 2ⁿ inputs.
Definition
Decoder
An n-to-2ⁿ decoder takes n input bits and activates exactly one of 2ⁿ output lines.
2-to-4 decoder with inputs x, y: Output 0 = x̄ · ȳ (active when xy = 00) Output 1 = x̄ · y (active when xy = 01) Output 2 = x · ȳ (active when xy = 10) Output 3 = x · y (active when xy = 11)
Decoders are used in memory address selection and instruction decoding.
Note
Circuit Optimization
When designing circuits, we optimize for: • Gate count: fewer gates = cheaper to manufacture • Depth: fewer levels of gates = faster computation • Fan-out: each gate output drives a limited number of inputs
Boolean simplification (algebraic or K-map) directly reduces gate count. Multi-level optimization can further reduce complexity by sharing common sub-expressions.