You are viewing a free preview of this lesson.
Subscribe to unlock all 10 lessons in this course and every other course on LearningBro.
A logic circuit (also called a logic diagram or combinational logic circuit) is a diagram showing how logic gates are connected together to process inputs and produce outputs. In your GCSE exam, you must be able to read logic circuit diagrams, trace values through them, write their Boolean expressions and construct their truth tables.
A logic circuit is a visual representation of a Boolean expression using standard logic gate symbols. It shows:
Logic circuits are read from left to right — inputs enter on the left, pass through one or more gates, and the final output exits on the right.
Before working with circuits, make sure you can recognise each gate symbol:
Key identifiers:
To find the output of a logic circuit for given inputs, work through the circuit gate by gate, from left to right.
Consider this circuit where inputs A and B pass through an AND gate, and the result passes through a NOT gate:
graph LR
A(["A"]) --> AND["AND gate"]
B(["B"]) --> AND
AND --> NOT["NOT gate"]
NOT --> Q(["Q"])
Boolean expression: Q = ¬(A ∧ B)
This is equivalent to a single NAND gate.
Truth table:
| A | B | A ∧ B | Q = ¬(A ∧ B) |
|---|---|---|---|
| 0 | 0 | 0 | 1 |
| 0 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 0 |
graph LR
A(["A"]) --> AND["AND gate"]
B(["B"]) --> AND
C(["C"]) --> NOT["NOT gate"]
AND --> OR["OR gate"]
NOT --> OR
OR --> Q(["Q"])
Boolean expression: Q = (A ∧ B) ∨ ¬C
The same circuit drawn as a flow diagram:
graph LR
A((A)) --> AND["AND"]
B((B)) --> AND
C((C)) --> NOT["NOT"]
AND --> OR["OR"]
NOT --> OR
OR --> Q((Q))
Truth table (8 rows for 3 inputs):
| A | B | C | A ∧ B | ¬C | Q = (A ∧ B) ∨ ¬C |
|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 1 | 1 |
| 0 | 0 | 1 | 0 | 0 | 0 |
| 0 | 1 | 0 | 0 | 1 | 1 |
| 0 | 1 | 1 | 0 | 0 | 0 |
| 1 | 0 | 0 | 0 | 1 | 1 |
| 1 | 0 | 1 | 0 | 0 | 0 |
| 1 | 1 | 0 | 1 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 | 1 |
To draw a logic circuit from a Boolean expression:
graph LR
A(["A"]) --> OR["OR gate"]
B(["B"]) --> OR
A --> NOT["NOT gate"]
OR --> AND["AND gate"]
NOT --> AND
AND --> Q(["Q"])
Note that input A is used twice — once going into the OR gate and once into the NOT gate. In circuit diagrams, a wire can split (branch) to feed multiple gates.
To write the expression from a circuit:
Alternatively, work forwards:
A half adder adds two single-bit binary numbers:
graph LR
A(["A"]) --> XOR["XOR gate"]
B(["B"]) --> XOR
A --> AND["AND gate"]
B --> AND
XOR --> SUM(["Sum (A ⊕ B)"])
AND --> CARRY(["Carry (A ∧ B)"])
An alarm sounds when a sensor detects motion AND the system is armed:
graph LR
SENSOR(["Sensor"]) --> AND["AND gate"]
ARMED(["Armed"]) --> AND
AND --> ALARM(["Alarm"])
A device turns on when the normal switch is on OR when the override switch is on:
graph LR
NORMAL(["Normal"]) --> OR["OR gate"]
OVERRIDE(["Override"]) --> OR
OR --> DEVICE(["Device"])
Exam Tip: When tracing a circuit, use a highlighter or pencil to mark the value on each wire as you work through it. This prevents errors caused by losing track of which wire carries which value.
A logic circuit takes inputs A and B. A passes through a NOT gate to give ¬A. ¬A and B feed an AND gate, producing Q.
Boolean expression: Q = ¬A ∧ B.
Truth table:
Subscribe to continue reading
Get full access to this lesson and all 10 lessons in this course.