Topic 8 Counters

  • Uploaded by: safuan_alcatra
  • 0
  • 0
  • May 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Topic 8 Counters as PDF for free.

More details

  • Words: 3,216
  • Pages: 39
Topic 8: Sequential Logic Counters

FLB 20203 DIGITAL SYSTEMS

Asynchronous Counters with MOD number < 2^n

1

Counters

ƒ Introduction: Counters ƒ Asynchronous (Ripple) Counters ƒ Asynchronous Counters with MOD n

number < 2

ƒ Asynchronous Down Counters ƒ Cascading Asynchronous Counters FLB 20203 DIGITAL SYSTEMS

Asynchronous Counters with MOD number < 2^n

2

ƒ Synchronous (Parallel) Counters ƒ Up/Down Synchronous Counters ƒ Designing Synchronous Counters ƒ Decoding A Counter ƒ Counters with Parallel Load

FLB 20203 DIGITAL SYSTEMS

Asynchronous Counters with MOD number < 2^n

3

Introduction: Counters ƒ Counters are circuits that cycle through a specified number of states.

ƒ Two types of counters: ™ synchronous (parallel) counters ™ asynchronous (ripple) counters

ƒ Ripple counters allow some flip-flop outputs to be used as a source of clock for other flip-flops.

ƒ Synchronous counters apply the same clock to all flipflops.

FLB 20203 DIGITAL SYSTEMS

Asynchronous Counters with MOD number < 2^n

4

Asynchronous (Ripple) Counters ƒ Asynchronous counters: the flip-flops do not change states at exactly the same time as they do not have a common clock pulse.

ƒ Also known as ripple counters, as the input clock pulse “ripples” through the counter – cumulative delay is a drawback.

ƒ n flip-flops → a MOD (modulus) 2n counter. (Note: A MOD-x counter cycles through x states.)

ƒ Output of the last flip-flop (MSB) divides the input clock frequency by the MOD number of the counter, hence a counter is also a frequency divider. FLB 20203 DIGITAL SYSTEMS

Asynchronous Counters with MOD number < 2^n

5

Asynchronous (Ripple) Counters ƒ Example: 2-bit ripple binary counter. ƒ Output of one flip-flop is connected to the clock input of the next more-significant flip-flop. HIGH Q0

J C K

CLK

Q0

1

2

3

4

Q0

FLB 20203 DIGITAL SYSTEMS

C K FF1

FF0 CLK

Q1

J

Timing diagram

Q0

0

1

0

1

0

Q1

0

0

1

1

0

00 → 01 → 10 → 11 → 00 ...

Asynchronous Counters with MOD number < 2^n

6

Asynchronous (Ripple) Counters

ƒ Example: 3-bit ripple binary counter. HIGH Q0

J CLK

C K

C K

Q0

FF0

CLK

1

2

3

Q1

J

C K

Q1

FF2

FF1

4

5

Q2

J

6

7

8

Q0

0

1

0

1

0

1

0

1

0

Q1

0

0

1

1

0

0

1

1

0

Q2

0

0

0

0

1

1

1

1

0 Recycles back to 0

FLB 20203 DIGITAL SYSTEMS

Asynchronous Counters with MOD number < 2^n

7

Asynchronous (Ripple) Counters ƒ Propagation delays in an asynchronous (ripple-clocked) binary counter.

ƒ If the accumulated delay is greater than the clock pulse, some counter states may be misrepresented! CLK

1

2

3

4

Q0 Q1 Q2 tPLH (CLK to Q0)

FLB 20203 DIGITAL SYSTEMS

tPHL (CLK to Q0) tPLH (Q0 to Q1)

Asynchronous Counters with MOD number < 2^n

tPHL (CLK to Q0) tPHL (Q0 to Q1) tPLH (Q1 to Q2)

8

Asynchronous (Ripple) Counters ƒ Example: 4-bit ripple binary counter (negative-edge triggered). HIGH Q0

J CLK

Q1

J

C K

J

C K

FF0

C K FF2

FF1

Q2

J

Q3

C K FF3

CLK 1

2

3

4

5

6

7

8

9

10 11 12 13 14 15 16

Q0 Q1 Q2 Q3 FLB 20203 DIGITAL SYSTEMS

Asynchronous Counters with MOD number < 2^n

9

n

Asyn. Counters with MOD no. < 2

ƒ States may be skipped resulting in a truncated sequence.

ƒ Technique: force counter to recycle before going through all of the states in the binary sequence.

ƒ Example: Given the following circuit, determine the counting sequence (and hence the modulus no.) C

All J, K inputs are 1 (HIGH).

FLB 20203 DIGITAL SYSTEMS

Q

J

B

CLK K Q CLR

Q

J

CLK K Q CLR

A

Q

J

CLK K Q CLR

B C Asynchronous Counters with MOD number < 2^n

10

n

Asyn. Counters with MOD no. < 2 ƒ Example (cont’d): C

All J, K inputs are 1 (HIGH).

Clock

Q

B

J

Q

CLK K Q CLR

J

CLK K Q CLR

Q

J

CLK K Q CLR

B C 1

2

3

4

5

6

7

8

9

10 11 12

A B C NAND 1 Output 0 FLB 20203 DIGITAL SYSTEMS

A

Asynchronous Counters with MOD number < 2^n

MOD-6 counter produced by clearing (a MOD-8 binary counter) when count of six (110) occurs.

11

n

Asyn. Counters with MOD no. < 2

ƒ Example (cont’d): Counting sequence of circuit (in CBA order). 1

Temporary state

2

3

4

5

6

7

Clock A 0

1

0 1

0

1

0 1

B 0

0

1 1

0

0

0 0

C 0 NAND 1 Output 0

0

0 0

1

1

0 0

111

8

9

10 11 12

000 001

110

010 101

Counter is a MOD-6 counter.

011 100

FLB 20203 DIGITAL SYSTEMS

Asynchronous Counters with MOD number < 2^n

12

n

Asyn. Counters with MOD no. < 2

ƒ Exercise: How to construct an asynchronous MOD-5 counter? MOD-7 counter? MOD-12 counter?

ƒ Question: The following is a MOD-? counter? F

Q

J

Q

K CLR

E

D

Q

J

Q

K CLR

Q

J

Q

K CLR

C

Q

J

Q

K CLR

B

C D E F

FLB 20203 DIGITAL SYSTEMS

Asynchronous Counters with MOD number < 2^n

Q

J

Q

K CLR

A

Q

J

Q

K CLR

All J = K = 1.

13

n

Asyn. Counters with MOD no. < 2

ƒ Decade counters (or BCD counters) are counters with 10 states (modulus-10) in their sequence. They are commonly used in daily life (e.g.: utility meters, odometers, etc.).

ƒ Design an asynchronous decade counter. (A.C)' HIGH J CLK

FLB 20203 DIGITAL SYSTEMS

Q

D

J

Q

C

J

Q

B

J

Q

C

C

C

C

K CLR

K CLR

K CLR

K CLR

Asynchronous Counters with MOD number < 2^n

A

14

n

Asyn. Counters with MOD no. < 2

ƒ Asynchronous decade/BCD counter (cont’d). HIGH J CLK

Q

D

J

C K

C

J

C K

CLR

Clock

Q

2

J

C K

CLR

1

B

Q

4

5

A

(A.C)'

C K

CLR

3

Q

CLR

6

7

8

9

10

D 0

1

0

1

0

1

0

1

0

1

0

C 0

0

1

1

0

0

1

1

0

0

0

B 0

0

0

0

1

1

1

1

0

0

0

A 0

0

0

0

0

0

0

0

1

1

0

11

NAND output FLB 20203 DIGITAL SYSTEMS

Asynchronous Counters with MOD number < 2^n

15

Asynchronous Down Counters ƒ So far we are dealing with up counters. Down counters, on the other hand, count downward from a maximum value to zero, and repeat.

ƒ Example: A 3-bit binary (MOD-23) down counter. 1 J CLK

Q

Q0

J

Q

Q1

C K Q'

C Q' K

J

Q

Q2

C K Q'

3-bit binary up counter

1 J CLK

FLB 20203 DIGITAL SYSTEMS

Q

C Q' K

Q0

J

Q

C K Q'

Q1

J

Q

Q2

C K Q'

Asynchronous Counters with MOD number < 2^n

3-bit binary down counter

16

Asynchronous Down Counters ƒ Example: A 3-bit binary (MOD-8) down counter. 000 1 J CLK

111

001 Q0

Q

J

Q

Q1

J

C K Q'

C Q' K

Q

Q2

010

C K Q'

110 011

101 100

CLK

FLB 20203 DIGITAL SYSTEMS

1

2

3

4

5

6

7

8

Q0

0

1

0

1

0

1

0

1

0

Q1

0

1

1

0

0

1

1

0

0

Q2

0

1

1

1

1

0

0

0

0

Asynchronous Counters with MOD number < 2^n

17

Cascading Asynchronous Counters ƒ Larger asynchronous (ripple) counter can be constructed by cascading smaller ripple counters.

ƒ Connect last-stage output of one counter to the clock input of next counter so as to achieve higher-modulus operation.

ƒ Example: A modulus-32 ripple counter constructed from a modulus-4 counter and a modulus-8 counter. Q0 J CLK

Q

C Q' K

Q1 J

Q

C K Q'

Modulus-4 counter FLB 20203 DIGITAL SYSTEMS

Q2 J

J

Q

C Q' K

Q4

Q3 Q

C K Q'

J

Q

C K Q'

Modulus-8 counter

Asynchronous Counters with MOD number < 2^n

18

Cascading Asynchronous Counters ƒ Example: A 6-bit binary counter (counts from 0 to 63) constructed from two 3-bit counters. A0

Count pulse

FLB 20203 DIGITAL SYSTEMS

A1

A2

A3

3-bit binary counter

A4

A5

3-bit binary counter

A5

A4

A3

A2

A1

A0

0 0 0 0 0 0 :

0 0 0 0 0 0 :

0 0 0 0 1 1 :

0 0 : 1 0 0 :

0 0 : 1 0 0 :

0 1 : 1 0 1 :

Asynchronous Counters with MOD number < 2^n

19

Cascading Asynchronous Counters ƒ If counter is a not a binary counter, requires additional output.

ƒ Example: A modulus-100 counter using two decade counters.

1

CTEN Decade counter TC C Q3 Q2 Q1 Q0

CLK

freq/10

CTEN Decade freq/100 counter TC C Q3 Q2 Q1 Q0

freq

TC = 1 when counter recycles to 0000

FLB 20203 DIGITAL SYSTEMS

Asynchronous Counters with MOD number < 2^n

20

Synchronous (Parallel) Counters ƒ Synchronous (parallel) counters: the flip-flops are clocked at the same time by a common clock pulse.

ƒ We can design these counters using the sequential logic design process.

ƒ Example: 2-bit synchronous binary counter (using T flip-flops, or JK flip-flops with identical J,K inputs).

FLB 20203 DIGITAL SYSTEMS

00

01

11

10

Present state

Next state

Flip-flop inputs

A1 A0 0 0 0 1 1 0 1 1

A1+ A0+ 0 1 1 0 1 1 0 0

TA1 TA0 0 1 1 1 0 1 1 1

Asynchronous Counters with MOD number < 2^n

21

Synchronous (Parallel) Counters ƒ Example: 2-bit synchronous binary counter (using T flip-flops, or JK flip-flops with identical J,K inputs). Present state

Next state

Flip-flop inputs

A1 A0 0 0 0 1 1 0 1 1

A1+ A0+ 0 1 1 0 1 1 0 0

TA1 TA0 0 1 1 1 0 1 1 1

TA1 = A0 TA0 = 1

1 J

Q

C Q' K

A0

J

Q

A1

C K Q'

CLK

FLB 20203 DIGITAL SYSTEMS

Asynchronous Counters with MOD number < 2^n

22

Synchronous (Parallel) Counters ƒ Example: 3-bit synchronous binary counter (using T flip-flops, or JK flip-flops with identical J, K inputs). Present state A 2 A 1 A0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 A1

A2+ 0 0 0 1 1 1 1 0

Next state A1+ A0+ 0 1 1 0 1 1 0 0 0 1 1 0 1 1 0 0

1

A2

1

A0

TA2 = A1.A0 FLB 20203 DIGITAL SYSTEMS

A2

Flip-flop inputs TA2 TA1 TA0 0 0 1 0 1 1 0 0 1 1 1 1 0 0 1 0 1 1 0 0 1 1 1 1 A1 1

1

1

1

A2

A1 1

1

1

1

1

1

1

1

A0

A0

TA1 = A0

TA0 = 1

Asynchronous Counters with MOD number < 2^n

23

Synchronous (Parallel) Counters ƒ Example: 3-bit synchronous binary counter (cont’d). TA2 = A1.A0

TA1 = A0

J

TA0 = 1

A2

A1

A0

Q

Q

Q

K

J

K

J

K

CP 1

FLB 20203 DIGITAL SYSTEMS

Asynchronous Counters with MOD number < 2^n

24

Synchronous (Parallel) Counters ƒ Note that in a binary counter, the nth bit (shown underlined) is always complemented whenever 011…11 → 100…00 or

111…11 → 000…00

ƒ Hence, Xn is complemented whenever Xn-1Xn-2 ... X1X0 = 11…11.

ƒ As a result, if T flip-flops are used, then TXn = Xn-1 . Xn-2 . ... . X1 . X0

FLB 20203 DIGITAL SYSTEMS

Asynchronous Counters with MOD number < 2^n

25

Synchronous (Parallel) Counters ƒ Example: 4-bit synchronous binary counter. TA3 = A2 . A1 . A0 TA2 = A1 . A0 TA1 = A0 TA0 = 1 A1.A0

1 J

Q

C Q' K

A0

J

Q

C K Q'

A1

J

A2.A1.A0 Q

C K Q'

A2

J

Q

A3

C K Q'

CLK

FLB 20203 DIGITAL SYSTEMS

Asynchronous Counters with MOD number < 2^n

26

Synchronous (Parallel) Counters

ƒ Example:Clock Synchronous decade/BCD pulse Q Q Q Q counter.

FLB 20203 DIGITAL SYSTEMS

3

Initially 1 2 3 4 5 6 7 8 9 10 (recycle)

0 0 0 0 0 0 0 0 1 1 0

2

0 0 0 0 1 1 1 1 0 0 0

1

0 0 1 1 0 0 1 1 0 0 0

0

0 1 0 1 0 1 0 1 0 1 0

Asynchronous Counters with MOD number < 2^n

T0 = 1 T1 = Q3'.Q0 T2 = Q1.Q0 T3 = Q2.Q1.Q0 + Q3.Q0

27

Synchronous (Parallel) Counters ƒ Example: Synchronous decade/BCD counter (cont’d). T0 = 1 T1 = Q3'.Q0 T2 = Q1.Q0 T3 = Q2.Q1.Q0 + Q3.Q0 Q0 1

T C

Q Q'

T C

Q Q'

Q1

T C

Q Q'

Q2

T C

Q

Q3

Q'

CLK

FLB 20203 DIGITAL SYSTEMS

Asynchronous Counters with MOD number < 2^n

28

Up/Down Synchronous Counters ƒ Up/down synchronous counter: a bidirectional counter that is capable of counting either up or down.

ƒ An input (control) line Up/Down (or simply Up) specifies the direction of counting. ™ Up/Down = 1 → Count upward ™ Up/Down = 0 → Count downward

FLB 20203 DIGITAL SYSTEMS

Asynchronous Counters with MOD number < 2^n

29

Up/Down Synchronous Counters ƒ Example: A 3-bit up/down synchronous binary counter. Clock pulse 0 1 2 3 4 5 6 7

Up

Q2

Q1

Q0

0 0 0 0 1 1 1 1

0 0 1 1 0 0 1 1

0 1 0 1 0 1 0 1

TQ0 = 1 TQ1 = (Q0.Up) + (Q0'.Up' ) TQ2 = ( Q0.Q1.Up ) + (Q0'. Q1'. Up' ) FLB 20203 DIGITAL SYSTEMS

Down

Up counter TQ0 = 1 TQ1 = Q0 TQ2 = Q0.Q1

Asynchronous Counters with MOD number < 2^n

Down counter TQ0 = 1 TQ1 = Q0’ TQ2 = Q0’.Q1’ 30

Up/Down Synchronous Counters ƒ Example: A 3-bit up/down synchronous binary counter (cont’d).

TQ0 = 1 TQ1 = (Q0.Up) + (Q0'.Up' ) TQ2 = ( Q0.Q1.Up ) + (Q0'. Q1'. Up' )

Q0 1 Up

T C

Q Q'

Q1 T C

Q Q'

T C

Q

Q2

Q'

CLK

FLB 20203 DIGITAL SYSTEMS

Asynchronous Counters with MOD number < 2^n

31

Designing Synchronous Counters 000

ƒ Covered in Lecture #12. ƒ Example: A 3-bit Gray code

001

100 101

counter (using JK flip-flops).

011 111

010 110

Present state Q2 Q1 Q0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 FLB 20203 DIGITAL SYSTEMS

Q2+ 0 0 1 0 0 1 1 1

Next state Q1+ 0 1 1 1 0 0 1 0

Q0+ 1 1 0 0 0 0 1 1

JQ2 KQ2 0 X 0 X 1 X 0 X X 1 X 0 X 0 X 0

Asynchronous Counters with MOD number < 2^n

Flip-flop inputs JQ1 KQ1 JQ0 KQ0 0 X 1 X 1 X X 0 X 0 0 X X 0 X 1 0 X 0 X 0 X X 1 X 0 1 X X 1 X 0 32

Designing Synchronous Counters ƒ 3-bit Gray code counter: flip-flop inputs. Q2

Q1 Q0 00

01 11

0 1

X

X

X

10 1

Q2

X

Q2

00 0 X

01 11 X X

10 X

1 1

KQ2 = Q1'.Q0'

FLB 20203 DIGITAL SYSTEMS

00 0

01 11 1 X

10 X

1

X

X

JQ1 = Q2'.Q0

JQ2 = Q1.Q0' Q1 Q0

Q1 Q0

Q2

Q1 Q0 00 0 X

01 11 X

1 X

X

10

1

KQ1 = Q2.Q0

Asynchronous Counters with MOD number < 2^n

Q2

Q1 Q0 00 0 1

01 11 X X

10

1

X

1

X

JQ0 = Q2.Q1 + Q2'.Q1' = (Q2 ⊕ Q1)' Q2

Q1 Q0 00 0 X

01 11 1

10 X

1 X

1

X

KQ0 = Q2.Q1' + Q2'.Q1 = Q2 ⊕ Q1 33

Decoding A Counter ƒ Decoding a counter involves determining which state in the sequence the counter is in.

ƒ Differentiate between active-HIGH and active-LOW decoding.

ƒ Active-HIGH decoding: output HIGH if the counter is in the state concerned.

ƒ Active-LOW decoding: output LOW if the counter is in the state concerned.

FLB 20203 DIGITAL SYSTEMS

Asynchronous Counters with MOD number < 2^n

34

Decoding A Counter ƒ Example: MOD-8 ripple counter (active-HIGH decoding). Clock

0

1

2

3

4

5

6

7

8

9

10

A' B' C'

HIGH only on count of ABC = 000

A' B' C

HIGH only on count of ABC = 001

A' B C'

HIGH only on count of ABC = 010

. . . HIGH only on count of ABC = 111

A B C FLB 20203 DIGITAL SYSTEMS

Asynchronous Counters with MOD number < 2^n

35

Decoding A Counter ƒ Example: To detect that a MOD-8 counter is in state 0 (000) or state 1 (001). A' B' C' A' B' C

0

Clock

1

2

3

4

5

6

7

8

9

10

HIGH only on count of ABC = 000 or ABC = 001

A' B'

ƒ Example: To detect that a MOD-8 counter is in the odd states (states 1, 3, 5 or 7), simply use C. Clock

0

1

2

3

4

5

6

7

8

10

HIGH only on count of odd states

C

FLB 20203 DIGITAL SYSTEMS

9

Asynchronous Counters with MOD number < 2^n

36

Counters with Parallel Load

ƒ Counters could be augmented with parallel load capability for the following purposes: ™ To start at a different state ™ To count a different sequence ™ As more sophisticated register with

increment/decrement functionality.

FLB 20203 DIGITAL SYSTEMS

Asynchronous Counters with MOD number < 2^n

37

Counters with Parallel Load ƒ Different ways of getting a MOD-6 counter: A4 A3 A2 A1

Load I4 I3 I2 I1

A4 A3 A2 A1

Count = 1 Clear = 1 CP

Count = 1 Load = 0 CP

Clear I4 I3 I2 I1

Inputs = 0

Inputs have no effect

(a) Binary states 0,1,2,3,4,5.

(b) Binary states 0,1,2,3,4,5.

A4 A3 A2 A1

A4 A3 A2 A1

Carry-out Load

I4 I3 I2 I1

Count = 1 Clear = 1 CP

Load I4 I3 I2 I1

1 0 1 0

(c) Binary states 10,11,12,13,14,15. FLB 20203 DIGITAL SYSTEMS

Count = 1 Clear = 1 CP

0 0 1 1

(d) Binary states 3,4,5,6,7,8.

Asynchronous Counters with MOD number < 2^n

38

Counters with Parallel Load ƒ 4-bit counter with parallel load. Clear CP Load Count Function 0 X X X Clear to 0 1 X 0 0 No change 1 1 X Load inputs ↑ 1 0 1 Next state ↑

FLB 20203 DIGITAL SYSTEMS

Asynchronous Counters with MOD number < 2^n

39

Related Documents

Topic 8 Counters
May 2020 1
Counters
June 2020 12
Topic 8
May 2020 0
Dime Counters
April 2020 9
Teeth Counters
April 2020 7
Topic
May 2020 24