Produce accurate truth tables for common combinational circuits – especially the half‑adder and full‑adder – translate Boolean expressions into gate‑level diagrams, simplify expressions with Karnaugh maps, implement using NAND‑only gates, and discuss propagation delay and gate count. Extend the knowledge to simple sequential circuits (flip‑flops) and link the hardware design to algorithmic thinking (AO2) and abstract data types (ADT).
1. The Six Fundamental Gates (Cambridge 9618)
Gate
Symbol
Boolean expression
Truth table
NOT
\(\lnot A\)
A
\(\lnot A\)
0
1
1
0
AND
\(A\cdot B\)
A
B
A·B
0
0
0
0
1
0
1
0
0
1
1
1
OR
\(A+B\)
A
B
A+B
0
0
0
0
1
1
1
0
1
1
1
1
NAND
\(\overline{A\cdot B}\)
A
B
\(\overline{A·B}\)
0
0
1
0
1
1
1
0
1
1
1
0
NOR
\(\overline{A+B}\)
A
B
\(\overline{A+B}\)
0
0
1
0
1
0
1
0
0
1
1
0
XOR
\(A\oplus B\)
A
B
A⊕B
0
0
0
0
1
1
1
0
1
1
1
0
2. Half‑Adder
Adds two single‑bit binary numbers (inputs \(A\) and \(B\)). Outputs are Sum and Carry‑out.
2.1 Boolean expressions
Sum \(S = A\oplus B\)
Carry \(C = A\cdot B\)
2.2 Truth table
A
B
Sum (A⊕B)
Carry (A·B)
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
2.3 Gate‑level diagram
Half‑adder built from one XOR gate and one AND gate.
First half‑adder produces an intermediate sum \(S_1\) and carry \(C_1\).
Second half‑adder adds \(S_1\) to \(C_{\text{in}}\) producing final sum \(S\) and carry \(C_2\).
Final carry‑out is \(C_{\text{out}} = C_1 + C_2\) (OR gate).
3.4 NAND‑only implementation
Replace every XOR, AND and OR with their NAND equivalents. The resulting circuit uses nine NAND gates.
Full‑adder using only NAND gates (9 NANDs).
3.5 Propagation delay & gate count
Standard gates: 2 XOR + 2 AND + 1 OR = 5 gates.
NAND‑only: 9 NAND gates.
Maximum propagation delay: 2 gate‑delays for the first XOR, 1 gate‑delay for the second XOR, and 1 gate‑delay for the final OR → typically 4 gate‑delays.
4. Simplifying the Carry‑Out with a Karnaugh Map
4.1 Original expression
\[
C_{\text{out}} = (A\cdot B) + \bigl(C_{\text{in}}\cdot (A\oplus B)\bigr)
\]
4.2 Karnaugh map (variables \(A,B\) across the top, \(C_{\text{in}}\) on the side)
\(C_{\text{in}}\)
AB
00
01
11
10
0
0
0
1
0
1
0
1
1
1
4.3 Grouping and simplified expression
Prime implicants: \(A\cdot B\), \(A\cdot C_{\text{in}}\), \(B\cdot C_{\text{in}}\)
5.3 1‑Bit Register (store the result of a half‑adder)
Connect the Sum output of a half‑adder to the data input of a JK flip‑flop (J = K = Sum). Clock the flip‑flop each time a new addition is performed. The register holds the Sum until the next clock pulse.
Simple 1‑bit register: the JK flip‑flop stores the Sum of a half‑adder.
5.4 Propagation delay in sequential circuits
Combinational part (adder) – as calculated above.
Flip‑flop – typical clock‑to‑Q delay of 1 gate‑delay (depends on technology).
6. Algorithmic View (AO2) – Pseudocode & Flowchart for a Full‑Adder
6.1 Pseudocode
READ A, B, Cin // three input bits
S ← A XOR B XOR Cin // Sum
C1 ← A AND B // first carry term
C2 ← Cin AND (A XOR B) // second carry term
Cout ← C1 OR C2 // Carry‑out
OUTPUT S, Cout
Complexity comment: All operations are elementary Boolean gates; the algorithm runs in constant time \(O(1)\) – a requirement for AO2.
6.2 Flowchart
Flowchart showing the step‑wise computation of Sum and Carry‑out.
7. Linking to Abstract Data Types (ADT) – Building a Multi‑Bit Ripple‑Carry Adder
ADT used: an array of bits to store the operands and the result.
Each array element corresponds to a bit position; the full‑adder circuit is instantiated for each position.
Algorithm (high‑level):
Load the two operand arrays \(A[0..n-1]\) and \(B[0..n-1]\).
Result array S[0..n‑1] holds the sum; Cin after the loop is the final carry‑out.
This demonstrates how a hardware design (full‑adder) maps onto a software‑oriented ADT (array) – a useful bridge for exam questions that ask you to “describe how a 4‑bit adder could be built using the half‑adder and full‑adder blocks”.
8. Practice K‑Map Exercise
Problem: Simplify the Boolean function
\(F(A,B,C) = \overline{A}B C + A\overline{B}C + A B\overline{C} + A B C\).
Solution steps (students should follow):
Write the truth table for the minterms (1 = \(\overline{A}BC\), 2 = \(A\overline{B}C\), 3 = \(AB\overline{C}\), 4 = \(ABC\)).
Plot the 1’s on a 3‑variable K‑map (A on the left, BC on the top).
Form the largest possible groups (a 4‑group covering minterms 2,3,4, and a 2‑group covering minterms 1 and 2).
Write the simplified expression: \(F = AC + AB\).
Students should verify the result by Boolean algebra.
9. Summary of Key Points for the Cambridge 9618 Exam
Know the symbols, Boolean expressions, and truth tables for the six basic gates.
Be able to construct and interpret truth tables for half‑adders and full‑adders.
Translate Boolean expressions into gate‑level diagrams; be comfortable with NAND‑only implementations.
Understand propagation delay and be able to count gates for a given circuit.
Use Karnaugh maps to simplify carry‑out (or any Boolean function) and justify the simplification algebraically.
Recognise SR and JK flip‑flops, draw their symbols, and write their characteristic equations.
Write clear pseudocode/flowcharts for the adder logic – demonstrate constant‑time complexity.
Link hardware designs to software concepts (arrays as ADTs) when describing multi‑bit adders.
References (Cambridge AS & A‑Level Computer Science 9618)
Section 15.2 – Boolean Algebra and Logic Circuits.
Your generous donation helps us continue providing free Cambridge IGCSE & A-Level resources,
past papers, syllabus notes, revision questions, and high-quality online tutoring to students across Kenya.