Table of Contents

A combinational logic circuit is a digital circuit whose outputs at any instant of time depend solely on the present combination of inputs, without relying on past inputs or stored memory states. Mathematically, for an input vector , the output vector is given by .

In this note, we cover the design, gate-level implementation, universal functional completeness, and modular cascading formulas for all major combinational building blocks tested in GATE CS & DA.


1. Arithmetic Building Blocks (Adders & Subtractors)


1.1 Half Adder (HA) and Full Adder (FA)

1. Half Adder (HA)

A Half Adder adds two 1-bit inputs and , producing a Sum () and a Carry ().

  • Boolean Expressions:
  • Gate Realization: 1 XOR gate + 1 AND gate.
  • NAND/NOR Count: Requires 5 NAND gates or 5 NOR gates.

2. Full Adder (FA)

A Full Adder adds three 1-bit inputs: , , and an input carry .

  • Boolean Expressions:

  • Building a Full Adder from Half Adders: A Full Adder can be constructed using 2 Half Adders + 1 OR gate.

Placeholder: Full Adder Circuit from Half Adders

Student Image Note: Place an image named full-adder-circuit.png in the imgs/ directory. Search description: “Full adder logic diagram constructed using two half adders and one OR gate showing inputs A B Cin and outputs Sum and Carry out”.

  • NAND/NOR Count: 1 Full Adder requires 9 NAND gates or 9 NOR gates.

1.2 Half Subtractor (HS) and Full Subtractor (FS)

1. Half Subtractor (HS)

Subtracts 1-bit from (), producing Difference () and Borrow ().

  • Boolean Expressions:

2. Full Subtractor (FS)

Subtracts and input borrow from ().

  • Boolean Expressions:
  • Building a Full Subtractor: Constructed using 2 Half Subtractors + 1 OR gate.

1.3 Propagation Delay Analysis: Ripple Carry Adder vs. Carry Lookahead Adder

When cascading 1-bit Full Adders to form an -bit parallel adder:

1. Ripple Carry Adder (RCA)

Carries ripple sequentially from LSB to MSB stage by stage.

  • Worst-case Propagation Delay: Where is the delay of a single FA carry generation stage.

2. Carry Lookahead Adder (CLA)

To eliminate sequential carry propagation delay, CLA generates all carry signals simultaneously in parallel using two auxiliary terms:

  • Carry Generate (): (generates carry regardless of input carry).
  • Carry Propagate (): (propagates input carry ).

Carry equations:

  • Propagation Delay: All carries are generated in 2 gate delays () regardless of word length !
  • Trade-off: Requires hardware complexity / gate fan-in as grows.

2. Multiplexers (MUX - Data Selectors)

A Multiplexer (MUX) is a combinational circuit that routes one of several data inputs () to a single output line based on select lines.


2.1 Internal Logic & Expressions

2:1 Multiplexer

  • Inputs: ; Select: .
  • Boolean Expression:

Placeholder: 2 to 1 MUX Circuit Diagram

Student Image Note: Place an image named mux-2to1-circuit.png in the imgs/ directory. Search description: “2 to 1 Multiplexer logic circuit diagram with select line S0 inputs I0 I1 and output Y”.

4:1 Multiplexer

  • Inputs: ; Selects: .
  • Boolean Expression:

2.2 Universal Function Implementation using MUX

A Multiplexer is a universal logic element. Any arbitrary -variable Boolean function can be implemented using a MUX without any external logic gates!

Method 1: Using MUX (Standard Efficient Method)

  1. Connect variables to the Select Lines ().
  2. The remaining variable () is connected to the MUX Data Inputs () in one of 4 possible forms: , or .

TIP

GATE Shortcut Method: Build a implementation table with 2 rows ( in row 1, in row 2) and columns corresponding to minterms:

  • If neither minterm in a column is in .
  • If both minterms in a column are in .
  • If only top row minterm () is in .
  • If only bottom row minterm () is in .

2.3 Implementing Basic Gates using 2:1 MUX

A single 2:1 MUX () can realize basic gates by configuring inputs:

Target GateExpressionSelect Line ()Input Input 2:1 MUX Count
NOT1
AND1
OR1
NAND2
NOR2
XOR2
XNOR2

3. Decoders & Demultiplexers (DEMUX)

3.1 Decoders ()

A Decoder converts an -bit binary code into at most unique output lines. Exactly one output line is active ( for active-high, for active-low) for any given input combination.

2-to-4 Active-High Decoder with Enable ()

  • Outputs: .

3.2 Function Realization using Decoders

Since an decoder generates all minterms of variables:

  1. Active-High Decoder: Connect desired minterm outputs to an OR gate .
  2. Active-Low Decoder: Connect desired minterm outputs to a NAND gate .

3.3 Demultiplexers ()

A Demultiplexer (DEMUX) takes input line and routes it to of output lines based on select lines.

  • Equivalence: A Decoder with an Enable pin () behaves identically to a Demultiplexer where !

4. Encoders & Priority Encoders

4.1 Binary Encoder ()

An Encoder performs the inverse operation of a decoder. It accepts input lines and outputs an -bit binary code.

  • Limitation: Standard encoders fail if more than one input line is active simultaneously, or if all inputs are zero.

4.2 Priority Encoder

A Priority Encoder resolves input conflicts by assigning strict priority to input lines (typically higher index = higher priority).

4-to-2 Priority Encoder Truth Table ( highest priority, lowest)

Output Output Valid Flag ()
0000XX0
0001001
001X011
01XX101
1XXX111
  • Boolean Expressions:

5. Magnitude Comparators

A Magnitude Comparator compares two -bit numbers and and outputs three binary signals: , , and .

1-Bit Comparator

  • :
  • :
  • :

2-Bit Comparator ( vs )

  • Equality Condition ():
  • Greater Than ():

6. Modular Expansion & Cascading Formulas (Building from )

In GATE exams, questions frequently ask for the minimum number of smaller modules () required to build a larger target module (). Use these exact formulas:


6.1 MUX Tree Expansion Formula

To build a MUX using smaller MUXes ():

Stage-by-Stage Calculation Algorithm:

  1. Stage 1 MUX count .
  2. Stage 2 MUX count .
  3. Repeat division until the result is .
  4. Sum the counts across all stages.

Example 1: How many 2:1 MUXes () are needed to build a 64:1 MUX ()?

Example 2: How many 4:1 MUXes () are needed to build a 64:1 MUX ()?

  • Stage breakdown: Stage 1 ; Stage 2 ; Stage 3 . Total .

6.2 Decoder Tree Expansion Formula

To build an Decoder using smaller Decoders with enable pins ():

For 2-Stage Expansion:

  • First Stage (Outputs): decoders of size .
  • Second Stage (Enable Control): decoder of size .
  • Total Decoders:

Example: How many 2-to-4 decoders () are needed to build a 4-to-16 decoder ()?

  • First stage: decoders (handling inputs ).
  • Control stage: decoder (handling inputs to enable one of the 4 decoders).
  • Total decoders.

6.3 Master Gate-Count & Module Reference Matrix

This matrix provides the minimum gate count to implement standard combinational circuits:

Target CircuitMin NAND GatesMin NOR GatesMin 2:1 MUXesMinimal Building Block Equivalent
Half Adder (HA)5521 XOR + 1 AND
Full Adder (FA)9972 HA + 1 OR
Half Subtractor (HS)5521 XOR + 1 AND ()
Full Subtractor (FS)9972 HS + 1 OR
2:4 Decoder4434 AND + 2 NOT
4:1 MUX7733 (2:1 MUXes)
8:1 MUX151577 (2:1 MUXes)

7. GATE PYQ-Style Solved Questions

Q1) How many 4:1 multiplexers are required to construct a 256:1 multiplexer?

Sol - Target MUX size: . Available MUX size: .

Using the MUX Tree Expansion Formula:

Verification by stages:

  • Stage 1: MUXes.
  • Stage 2: MUXes.
  • Stage 3: MUXes.
  • Stage 4: MUX.
  • Total .


Q2) A 4-bit Ripple Carry Adder (RCA) is constructed using 4 Full Adders. Each Full Adder has a sum propagation delay of 20 ns and a carry propagation delay of 15 ns. What is the total time required to obtain the final sum and carry out?

Sol - Let (sum delay) and (carry delay).

For an -bit Ripple Carry Adder:

  • The carry must propagate through all initial stages: .
  • At the -th (final) stage, both final sum and final carry are evaluated:
    • Final Carry delay .
    • Final Sum delay .

Total time to obtain all valid outputs is bounded by the max delay:


Q3) Implement the Boolean function F(A, B, C) = \sum m(1, 3, 4, 6) using an 8:1 MUX and a 4:1 MUX.

Sol -

  1. Using 8:1 MUX:

    • Connect to select lines .
    • Data inputs , and .
  2. Using 4:1 MUX:

    • Connect to select lines .
    • Construct implementation table for remaining variable :
SelectMinterms ()Mux Input
00
01
10
11
  • MUX Data Inputs: .