Combinational Logic Circuits

Sum of Products (SOP) & Product of Sums (POS)

Sum of Products (SOP)

  • SOP is a standard form of Boolean expression where the output is a sum (OR) of product (AND) terms

  • Each product term is a minterm, representing a specific combination of inputs where the function equals 1

  • Example: For variables \(A, B\), SOP expression: \(F = A'B + AB'\)

  • Minterms for a 3-variable function (\(A, B, C\)):

    • \(m_0 = A'B'C'\), \(m_1 = A'B'C\), \(m_2 = A'BC'\), \(m_3 = A'BC\)

    • \(m_4 = AB'C'\), \(m_5 = AB'C\), \(m_6 = ABC'\), \(m_7 = ABC\)

  • General form: \(F = \sum m_i\) where \(m_i\) are the required minterms

Product of Sums (POS)

  • POS is a standard form where the output is a product (AND) of sum (OR) terms

  • Each sum term is a maxterm, representing combinations where the function equals 0

  • Example: For variables \(A, B\), POS expression: \(F = (A + B)(A' + B')\)

  • Maxterms for a 3-variable function (\(A, B, C\)):

    • \(M_0 = A + B + C\), \(M_1 = A + B + C'\), \(M_2 = A + B' + C\), \(M_3 = A + B' + C'\)

    • \(M_4 = A' + B + C\), \(M_5 = A' + B + C'\), \(M_6 = A' + B' + C\), \(M_7 = A' + B' + C'\)

  • General form: \(F = \prod M_i\) where \(M_i\) are the required maxterms

SOP vs POS: Example

  • Consider a 2-variable function with truth table:

A B F
0 0 1
0 1 0
1 0 1
1 1 0
  • SOP form: \(F = A'B' + AB' = B'(A' + A) = B'\)

  • POS form: \(F = (A' + B')(A + B') = B'\)

  • Both forms simplify to the same expression: \(F = B'\)

Karnaugh Maps (K-Maps)

Karnaugh Maps: Introduction

  • A graphical method to simplify Boolean expressions systematically

  • Reduces the number of terms and operations in a Boolean function

  • Organizes minterms in a grid to identify patterns for simplification

  • Adjacent cells differ by only one variable (Gray code ordering)

  • Commonly used for 2, 3, and 4 variables

Key Rules:

  • Group adjacent 1s in powers of 2 (1, 2, 4, 8, ...)

  • Larger groups lead to greater simplification

  • Groups can wrap around edges

2-Variable K-Map

  • For variables \(A, B\), a 2×2 grid is used

  • Each cell represents a minterm

2-variable K-map
2-variable K-map

Example: If \(F = A'B' + A'B\), we get:

  • Group cells \(m_0\) and \(m_1\) (top row)

  • Simplified form: \(F = A'\)

3-Variable K-Map

  • For variables \(A, B, C\), a 2×4 grid is used

  • Columns follow Gray code: \(B'C', B'C, BC, BC'\)

3-variable K-map
3-variable K-map

Note: Adjacent cells horizontally and vertically differ by one variable

4-Variable K-Map

  • For variables \(A, B, C, D\), a 4×4 grid is used

  • Both rows and columns follow Gray code ordering

4-variable K-map
4-variable K-map

Remember: Corner cells are also adjacent (wrap-around effect)

K-Map Simplification Example

Example: Simplify \(F(A,B,C) = \sum m(1,3,5,7)\)

Example - K-map simplification
Example - K-map simplification
  • Group the four 1s in the middle columns

  • The group eliminates variables \(A\) and \(B'\) vs \(B\)

  • Simplified expression: \(F = C\)

Combinational Logic Components

Multiplexers (MUX)

  • A multiplexer selects one of many input signals and forwards it to a single output

  • Structure: \(2^n\) input lines, \(n\) select lines, 1 output

  • Also called "data selector"

Multiplexer structure
Multiplexer structure

4:1 MUX Truth Table

\(S_1\) \(S_0\) Output
0 0 \(I_0\)
0 1 \(I_1\)
1 0 \(I_2\)
1 1 \(I_3\)

Demultiplexers (DEMUX)

  • A demultiplexer takes a single input and routes it to one of \(2^n\) outputs

  • Structure: 1 input, \(n\) select lines, \(2^n\) outputs

  • Also called "data distributor"

Demultiplexer structure
Demultiplexer structure

Applications: Data routing, memory addressing, LED displays

Encoders

  • Converts multiple input lines into fewer output lines (binary code)

  • \(2^n\) inputs \(\to\) \(n\) outputs

  • Only one input should be active at a time

Encoder structure
Encoder structure

Truth Table:

\(I_3\) \(I_2\) \(I_1\) \(I_0\) \(Y_1\) \(Y_0\)
0 0 0 1 0 0
0 0 1 0 0 1
0 1 0 0 1 0
1 0 0 0 1 1

Priority Encoder

  • Handles multiple simultaneous inputs by assigning priorities

  • Higher-numbered inputs have higher priority

  • Includes a valid output to indicate if any input is active

4:2 Priority Encoder Truth Table:

\(I_3\) \(I_2\) \(I_1\) \(I_0\) \(Y_1\) \(Y_0\) \(V\)
0 0 0 0 X X 0
0 0 0 1 0 0 1
0 0 1 X 0 1 1
0 1 X X 1 0 1
1 X X X 1 1 1

Applications: Interrupt handling, data compression

Decoders

  • Converts binary input into multiple output lines

  • \(n\) inputs \(\to\) \(2^n\) outputs

  • Only one output is active (HIGH) for each input combination

Decoder structure
Decoder structure

Truth Table:

\(A_1\) \(A_0\) \(Y_3\) \(Y_2\) \(Y_1\) \(Y_0\)
0 0 0 0 0 1
0 1 0 0 1 0
1 0 0 1 0 0
1 1 1 0 0 0

Applications & Summary

Applications of Combinational Circuits

Multiplexers

  • Data routing in communication systems

  • Function generators using MUX

  • CPU data path selection

Decoders:

  • Memory address decoding

  • 7-segment display drivers

  • Instruction decoding in processors

Encoders:

  • Keyboard input encoding

  • Priority interrupt systems

  • Data compression

Summary

Key Concepts Covered:

  • SOP & POS: Standard forms for Boolean expressions

  • K-Maps: Graphical method for Boolean simplification

  • MUX/DEMUX: Data selection and distribution

  • Encoders/Decoders: Code conversion circuits

Important Points:

  • K-Maps provide systematic simplification for up to 4 variables

  • Combinational circuits have no memory - output depends only on current inputs

  • These building blocks form the foundation of digital systems

Next: Sequential Logic Circuits (Flip-flops, Counters, Registers)