Related Concepts: 5.02 Code Converters & Data Routing Implementations | 5.03 Tree Networks (Cascading MUX, Decoders & DeMUX) | 5.04 Programmable Logic Devices (ROM & PLA)

5.01 Arithmetic Circuits, Multipliers & Comparators

Combinational Arithmetic Building Blocks

Combinational Arithmetic Circuits form the core of a CPU’s Arithmetic Logic Unit (ALU). Because combinational circuits have no memory elements, their outputs are functions solely of their present inputs.

graph TD
    subgraph 3 Half-Adder Functional Generator
        InA[Inputs A, B] --> HA1[Half-Adder 1: S1 = A ⊕ B, C1 = AB]
        HA1 & InC[Input C] --> HA2[Half-Adder 2: S2 = A ⊕ B ⊕ C = D, C2 = S1 • C = E]
        HA1 & InC --> HA3[Half-Adder 3: S3 = C1 ⊕ C = F, C3 = C1 • C = G]
    end

1. The Combinational Circuit Design Blueprint

To design any combinational circuit from scratch (especially when resolving 14-mark word problems), engineers follow a structured 5-step blueprint:

+-----------------------------------+
|  1. Analyze Word Problem & Rules   |
+-----------------------------------+
                  |
                  v
+-----------------------------------+
|  2. Draw Truth Table (I/O Mapping)|
+-----------------------------------+
                  |
                  v
+-----------------------------------+
|  3. Simplify Outputs via K-Maps   |
+-----------------------------------+
                  |
                  v
+-----------------------------------+
|  4. Write Minimized Equations      |
+-----------------------------------+
                  |
                  v
+-----------------------------------+
|  5. Draw Schematic Gate Diagram   |
+-----------------------------------+

Step 1: Variable Identification

Determine the number of input variables and output variables from the problem specification. Assign distinct letter symbols (e.g., inputs , outputs ) to each.

Step 2: Truth Table Construction

List all possible binary combinations for the input variables. Determine the required output value (1 or 0) for each row based on the system rules. If certain input states are physically impossible or will never occur, mark those output states as Don’t Cares (X).

Step 3: K-map Optimization

Plot a separate K-map for each output variable. Place 1s, 0s, and Xs in their corresponding cells, and group them to obtain the simplest expressions.

Step 4: Logic Equation Extraction

Write down the minimized Sum-of-Products (SOP) or Product-of-Sums (POS) algebraic equations for each output.

Step 5: Schematic Drafting

Draw the physical logic gate circuit. Ensure inputs flow from left to right, gates are drawn cleanly, and all lines and connections are clearly labeled.


2. The 4-Function Half-Adder Cascading Puzzle

Major Exam Problem (PYQ 2015 — 12 marks; 2018 — 10 marks; 2019 — 12 marks)

Question (verbatim): Implement the four Boolean functions listed below using three half-adder circuits:

Word-for-word identical in all three papers. The trick is recognising that each function is already the sum or carry output of a half-adder — do not build them from scratch with gates.

Solution Step-by-Step:

  1. Half-Adder 1 (HA1): Inputs and .

    • Sum Output:
    • Carry Output:
  2. Half-Adder 2 (HA2): Inputs and .

    • Sum Output:
    • Carry Output:
  3. Half-Adder 3 (HA3): Inputs and .

    • Sum Output:
    • Carry Output:

3. Full-Adder to Full-Subtractor Conversion

The Single Inverter Trick (PYQ 2020 — 10 marks)

Question (verbatim): Show that a full adder can be converted full subtractor with the addition of one inverter gate.

  • Standard Full-Adder (FA): ,
  • Standard Full-Subtractor (FS): ,

Solution:

Connect an inverter to the Minuend input () before it enters the Full-Adder.

  1. Input to FA becomes .
  2. Carry Out becomes: (matches Full-Subtractor Borrow Out).
  3. Note: The Sum output becomes (complement of Difference).

4. Carry Look-Ahead Mathematical Proof & Parallelism

In a standard Ripple Carry Adder, the propagation delay accumulates as carries ripple sequentially through each stage. A Carry Look-Ahead (CLA) Adder eliminates this sequential bottleneck by calculating all carry signals in parallel.

4.1 Derivation of the Carry Equation

Carry Equation Proof (PYQ 2018 — 10 marks)

Question (verbatim): Show that the output carry in a full-adder circuit can be expressed as for the full adder circuit shown in Fig. 3(c).

  1. Standard Full-Adder carry-out logic equation:
  2. Factor out the carry-in :
  3. Define Carry Generate (): A carry is generated internally if both inputs are 1, regardless of carry-in:
  4. Define Carry Propagate (): An input carry is propagated to the output if either input is 1 (commonly implemented using XOR for sum generation):
  5. Substituting and back into the carry equation:

The second half of the 2018 question

The printed paper continues: "". As printed this second expression is not equal to — it is a garbled transcription of the complement form. If you meet it, prove the first equality cleanly (steps 1–5 above), then add one line noting that the second expression as printed does not follow, and give the correct complement instead: That final form matches the printed characters exactly — so the paper almost certainly meant , not . Stating this explicitly is safer than either ignoring it or trying to force a false equality.


4.2 Parallel Carry Generation (Look-Ahead Formulas)

By expanding the recurrence relation, we express every carry signal solely in terms of the initial carry-in and the primary input variables ( and , which generate and instantly at the first gate level):

  • (Stage 1 Carry):
  • (Stage 2 Carry):
  • (Stage 3 Carry):
  • (Stage 4 Carry):

Propagation Delay Analysis

Since all and terms are computed simultaneously at the first gate level, all carry signals ( to ) are generated in parallel with a flat delay of only two gate levels (one level of ANDs, one level of ORs). This eliminates the ripple carry delay, keeping the addition speed independent of the word size.


5. 2-Bit Binary Multiplier Circuit Design

Not examined 2015–2025 — foundational only

No past paper has asked for a binary multiplier design. It is included because it is the natural application of the half-adder cascade in §2 and appears in the Week 2 syllabus. Read it once; do not prioritise it over the code-converter and ROM/PLA questions that recur every year.

Method Demonstration:

Inputs: and . Outputs: .

graph TD
    subgraph Multiplier Architecture
        P0[P0 = A0 • B0]
        AND1[A1 • B0] & AND2[A0 • B1] --> HA1[Half-Adder 1: Sum = P1, Carry = C1]
        AND3[A1 • B1] & HA1 --> HA2[Half-Adder 2: Sum = P2, Carry = P3]
    end
  • Hardware Required: 4 AND gates and 2 Half-Adders.

6. Magnitude Comparator Design & Mathematics

Not examined 2015–2025 — foundational only

Despite appearing in some checklists as a 2023/2024/2025 question, no magnitude comparator question exists in any paper from 2015 to 2025. The equality logic below is still worth knowing — the XNOR-equality trick reappears inside code converters and in the divisibility word problem (2022) — but treat this section as background, not as a predicted question.

A magnitude comparator is a combinational circuit that compares two multi-bit binary numbers ( and ) to determine their relative magnitude (, , or ).

6.1 Bit Equivalence Coefficient ()

To compare two numbers, we first define an equivalence coefficient for each individual bit position using the XNOR gate:

  • if bit is equal to bit .
  • if bit is not equal to bit .

6.2 Equality Condition ()

For the entire 4-bit numbers and to be equal, every single bit position must be equal simultaneously:

Hardware Implementation: Four 2-input XNOR gates feeding into a single 4-input AND gate.


6.3 Inequality Conditions ( and )

To determine if is greater than or less than , we compare bits starting from the Most Significant Bit (MSB, position 3) down to the Least Significant Bit (LSB, position 0).

1. The Logic Equation

if the MSB of is and is . If they are equal, we check the next bit down, and so on:

2. The Logic Equation

Similarly, if the MSB of is and is . If they are equal, we check the next bit down:

Hardware Implementation: Utilizes the existing XNOR equivalence outputs along with AND gates and a final multi-input OR gate to evaluate the conditions.


7. BCD Adder Design & Operation

Not examined 2015–2025 — foundational only

The BCD adder has not appeared as a question in any paper. It is retained because the ” correction” rule is the same one used in BCD addition in 2.01 BCD & Weighted Digital Codes, and because it demonstrates the adder-plus-correction-logic pattern that the code-converter questions rely on.

A BCD Adder is a digital circuit that adds two BCD digits in parallel and produces a BCD sum digit.

The Correction Logic

The sum of two BCD digits () plus a carry-in () can range from to .

  • Standard 4-bit binary addition handles sums up to 15 without a carry-out.

  • To convert a binary sum ( with carry ) into a valid BCD digit (where values must generate a decimal carry and be offset by ), we define a correction detection logic function .

  • Detection Rule: An overflow (sum ) occurs if:

    1. (the binary sum is ).
    2. (the binary sum is or ).
    3. (the binary sum is or ).

  • If , we add binary to the sum. The output carry for the next decimal stage is .

Hardware Block Diagram:

graph TD
    subgraph BCD Adder Architecture
        InA[BCD Input A] & InB[BCD Input B] --> Adder1[4-Bit Binary Adder 1]
        Cin[Carry In] --> Adder1
        Adder1 --> BinSum[Binary Sum: S3 S2 S1 S0]
        Adder1 --> CarryK[Carry K]
        
        BinSum & CarryK --> Detect[Detection Logic: F = K + S3•S2 + S3•S1]
        
        Detect -->|F| CorrectionBit[Correction Value: 0 F F 0]
        
        BinSum & CorrectionBit --> Adder2[4-Bit Binary Adder 2]
        Adder2 --> BCDOut[Final BCD Sum Output]
        Detect --> CarryOut[Final BCD Carry Out Cout = F]
    end

Past Year Questions (PYQs)

Question (as asked)YearsMarksSolved in
Implement the four Boolean functions using three half-adder circuits2015, 2018, 201910–12§2
Show that the output carry in a full-adder can be expressed as 201810§4.1
Show that a full adder can be converted to a full subtractor with the addition of one inverter gate202010§3
Implement a full-adder circuit with a decoder and two OR gates2019115.02 Code Converters & Data Routing Implementations
Implement a full-adder with two multiplexers202175.02 Code Converters & Data Routing Implementations

Pattern to notice: the three-half-adder question is the reliable one here — three appearances, identical wording, 10–12 marks. It looks like a design problem but is really a recognition problem: each of is already a half-adder sum or carry, so the answer is a wiring diagram, not a K-map exercise.

Two adder questions live in the next note because they are really data-routing problems: the 2019 decoder implementation and the 2021 MUX implementation both use the full-adder truth table as input to a MUX/decoder technique.

Sections not examined (2015–2025): the 2-bit multiplier (§5), the magnitude comparator (§6), and the BCD adder (§7) have never been asked. They are foundational background — some checklists tag them with years, but those tags do not survive a check against the question bank. Spend the time on the code converter (six appearances) and ROM/PLA (five and four) instead.