Part2 Synchronous Counters
Part2 Synchronous Counters
Part2 Synchronous Counters
1. Introduction
• Counters discussed so far are called asynchronous or ripple counters. In general they are
constructed with T-FFs and triggered in series.
• Their main advantage is design simplicity.
• Their major disadvantage is the accumulation of flip flop delays. This latter limits the
speed of counting.
• For proper counter operation we need
TClk ≥ n * tpd
Where TClk is the period of the clock, Clk, n is the number of cascaded flip-flops and tpd
the propagation delay of one flip-flop. The maximum frequency of counting is therefore
given by
fmax ≤ 1/(n * tpd)
It is clear that when the number of FFs in the counter increases, the total propagation
delay increases and fmax decreases.
For example, a 10-bit asynchronous counter that uses FFs with a tpd = 50 ns, then the
maximum frequency that can be applied is
fmax ≤ 1/(10 * 50*10-9) = 2 MHz
Asynchronous counters are not suitable at very high frequencies, especially for counters
with a large numbers of bits.
• This limitation can be overcome with the use of synchronous or parallel counters.
• In this arrangement, ALL flip-flops are clocked simultaneously by the same clock signal.
Combinational logic must be provided (calculated) attached to the flip-flop inputs to
produce the desired sequence. Figure 1 illustrates the general block diagram of a
synchronous counter
• Due to its parallel arrangement, a synchronous counter can operate at a much higher
frequency; the circuitry however is more complex compared to a ripple counter.
• Moreover, in this mode, it is possible to design a counter that can scan through any
sequence and possibly have more than 2-different directions of counting.
Q
Counting
Mode
Combinational
Q
Logic
Q’s ●
Q
●
Clock
1
In the above arrangement, any type of flip-flop can be involved in the design of synchronous
sequential counters
This section presents a systematic technique for designing synchronous sequential counters that
follow arbitrary sequence(s). The procedure can be used for any flip-flop type.
Procedure
1. Draw a state graph (state diagram) that specifies the desired sequence(s) of the counter
2. Determine the number of flip-flops required.
i- If the counter is a Mod-N, then k ≥ log2 N
ii- If the sequence is irregular, than determine the number of bits required to
represent the largest count in the sequence(s)
3. Select the type of flip-flop to be used
4. Construct a transition table from the state diagram
5. Reduce each flip-flop input variable to its minimal expression using K_Map
6. Draw the corresponding logic circuit
Example 1
Design a synchronous Mod-6 UP counter using negative edge-triggered D-FFs provided with
active LOW PR and CLR.
Provide a mean to preset the counter to 3 at any instant of time.
Show whether the resulting counter is self-starting or not.
Solution
1. State diagram
2
6. The logic circuit
Q BQC + Q A QC DA Q QA
● ●
Q A Q B QC + Q B QC
DB Q QB
Provide a mean to preset the counter to 3 at any ●
instant of time.
At any instant of time means independent of the
clock, i.e., asynchronous mode.
3 = 011, we therefore use PR inputs of FF_B and
FF_C (to preset them to 1), and use CLR of FF_C QC DC Q QC
to reset it to 0.
●
When the PB is released, the counter is in the
synchronous mode (counting), when we depress
it, we assert the asynchronous inputs. Clk
3
Example 2 Design a synchronous UP/DN counter
Using positive edge-triggered JK-FFs, design a Mod-5 UP/DN counter.
Solution
1. State diagram
JA = UD Q B QC + UD Q B QC
Similarly, we obtain the remaining expressions
KA = 1 JC = Q B + UD Q A + UD Q A
JB= UD Q A + UD QC KC = 1
KB = UD QC + UD QC
Draw the corresponding logic circuit.
4
Example 3 Irregular sequence
Using positive edge-triggered D-FFs, design a synchronous counter to cycle through the
following sequence.
Solution
This counter requires 3 FFs (largest count in the sequence is 7 = (111)2.
Transition table
Q1 D2 Q Q2
Q 2 + Q1 Q0 D1 Q Q1
●
Q 2 Q0 + Q1 Q0 D0 Q Q0
●
Clk
5
Exercises
Using positive edge-triggered JK-FFs provided with active LOW asynchronous inputs PR and
CLR, design a synchronous sequential circuit that will cycle through the following sequence.
0, 2, 3, 5, 6, 7, 0, 2, …
Provide a mean to preset your counter to 5 at any instant of time
Check whether your counter is self-staring or not.