banner_BiCounter.gif (9379 bytes)

 

Bidirectional counters, also referred to as UP/DOWN counters, are capable of progressing in either direction through any given count sequence. Recall that in general, bidirectional counters can be reversed at any point in their count sequence. Let us now examine the design of a synchronous 3-bit binary bidirectional counter.

  1. The state transition diagram in Figure 3c shows the count sequence information, note that because the counter can be reversed at any point in its count sequence a double headed arrow is used to represent the state transitions.

fig3c.gif (5506 bytes)

Figure 3c: State Diagram for 3-bit bidirectional counter

 

  1. The present state-next state information, which is extracted from the state transition diagram, is indicated in the table below.

undown_table.gif (17953 bytes)

 

  1. Using the present state inputs the logic functions for the flip-flop inputs are determined. For example lets consider how J2 is determined.

Q2

Q1

Q0

Y

Flop-Flop present state

0=down 1=up     

J2K2

J1K1

J0K0

0 -> 1

0 -> 1

0 -> 1

0

1X

1X

1X

0 -> 0

0 -> 0

0 -> 1

1

0X

0X

1X

0 -> 0

0 -> 0

1 -> 0

0

0X

0X

X1

0 -> 0

0 -> 1

1 -> 0

1

0X

1X

X1

0 -> 0

1 -> 0

0 -> 1

0

0X

X1

1X

0 -> 0

1 -> 1

0 -> 1

1

0X

X0

1X

0 -> 0

1 -> 1

1 -> 0

0

0X

X0

X1

0 -> 1

1 -> 0

1 -> 0

1

1X

X1

X1

1 -> 0

0 -> 1

0 -> 1

0

X1

1X

1X

1 -> 1

0 -> 0

0 -> 1

1

X0

0X

1X

1 -> 1

0 -> 0

1 -> 0

0

X0

0X

X1

1 -> 1

0 -> 1

1 -> 0

1

X0

1X

X1

1 -> 1

1 -> 0

0 -> 1

0

X0

X1

1X

1 -> 1

1 -> 1

0 -> 1

1

X0

X0

1X

1 -> 1

1 -> 1

1 -> 0

0

X0

X0

X1

1 -> 0

1 -> 0

1 -> 0

1

X1

X1

X1

Based on the groupings in the K-Map we get:

 

 undown_Kmap.gif (28016 bytes)

Using the same approach for all the input variables we ultimately determine that:

 

  1. Finally, we may now design the logic circuit for the bidirectional counter as shown below. NB:

undown_circuit.gif (54325 bytes)

 

 

 

back2.gif (5659 bytes)next2.gif (4645 bytes)

 


Copyright © Adrian Als , 1999
This page was last modified: Wednesday, April 12, 2000