From a9eca3db7aab670925349c104e0ee10021993837 Mon Sep 17 00:00:00 2001 From: thomasabishop Date: Tue, 13 Dec 2022 07:30:05 +0000 Subject: [PATCH] Autosave: 2022-12-13 07:30:05 --- .../Digital_circuits/Three_bit_counter.md | 33 ++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/Electronics_and_Hardware/Digital_circuits/Three_bit_counter.md b/Electronics_and_Hardware/Digital_circuits/Three_bit_counter.md index 7b3ba14..c76709f 100644 --- a/Electronics_and_Hardware/Digital_circuits/Three_bit_counter.md +++ b/Electronics_and_Hardware/Digital_circuits/Three_bit_counter.md @@ -20,4 +20,35 @@ To demonstrate the use of [Flip-Flops](/Electronics_and_Hardware/Digital_circuit | 110 | 6 | | 111 | 7 | -The circuit will have three memory components, each representing one bit of the 3-bit number. When the clock pulses, the 3-bit number increments by one. We need to synchronise the operation with a clock because each bit by itself is meaningless, it only gains meaning by the relation it sustains to the other two bits hence it must be kept in sync with them. \ No newline at end of file +The circuit will have three memory components, each representing one bit of the 3-bit number. When the [clock pulses](/Electronics_and_Hardware/Digital_circuits/Clock_signals.md), the 3-bit number increments by one. We need to synchronise the operation with a clock because each bit by itself is meaningless, it only gains meaning by the relation it sustains to the other two bits hence it must be kept in sync with them. + +We can derive the circuit arrangement by analysing the outputs of a flipflop at each pulse: + +| Combined bits | Q2 | Q1 | Q0 | Decimal | +|--------------- |---- |---- |---- |--------- | +| 000 | 0 | 0 | 0 | 0 | +| 001 | 0 | 0 | 1 | 1 | +| 010 | 0 | 1 | 0 | 2 | +| 011 | 0 | 1 | 1 | 3 | +| 100 | 1 | 0 | 0 | 4 | +| 101 | 1 | 0 | 1 | 5 | +| 110 | 1 | 1 | 0 | 6 | +| 111 | 1 | 1 | 1 | 7 | + +If we look at the pattern of each flip-flops' output we notice the following: + +* _Q0_ toggles on every pulse +* _Q1_ toggles every time _Q0_ was previously 1 +* _Q2_ toggles when both _Q1_ and _Q0_ were previously 1 + +This means that to construct a circuit that displays this behaviour we just have to use a [T flip-flop](/Electronics_and_Hardware/Digital_circuits/Flip_flops.md#t-flip-flops) since the only state change we need is a single bit toggle three times that retains its value. + +Using these pulse patterns we can construct a circuit as follows: + + +This is how the circuit works: + +* All three flip-flops are connected to the same clock signal so that they are synchnonised +* Because _T0_ is connected to the voltage source _Q0_ toggles every time the clock pulses +* _T1_ is connected to _Q0_ so a clock pulse causes _Q1_ to toggle only when _Q0_ is high in line with the table +* _T2_ is connected to _Q0 AND Q1_ so _Q2_ only toggles on a clock pulse when _Q0_ and _Q1_ are both high