+ All Categories
Home > Documents > Modulo-N Counters Module M10.4 Section 7.2. Counters Modulo-5 Counter 3-Bit Down Counter with Load...

Modulo-N Counters Module M10.4 Section 7.2. Counters Modulo-5 Counter 3-Bit Down Counter with Load...

Date post: 14-Dec-2015
Category:
Upload: mateo-fett
View: 250 times
Download: 2 times
Share this document with a friend
Popular Tags:
27
Modulo-N Counters Module M10.4 Section 7.2
Transcript
Page 1: Modulo-N Counters Module M10.4 Section 7.2. Counters Modulo-5 Counter 3-Bit Down Counter with Load and Timeout Modulo-N Down Counter.

Modulo-N Counters

Module M10.4

Section 7.2

Page 2: Modulo-N Counters Module M10.4 Section 7.2. Counters Modulo-5 Counter 3-Bit Down Counter with Load and Timeout Modulo-N Down Counter.

Counters

• Modulo-5 Counter

• 3-Bit Down Counter with Load and Timeout

• Modulo-N Down Counter

Page 3: Modulo-N Counters Module M10.4 Section 7.2. Counters Modulo-5 Counter 3-Bit Down Counter with Load and Timeout Modulo-N Down Counter.

CLK

D Q

!Q

CLK

D Q

!Q

CLK

D Q

!Q

Q0Q0.D

Q1

Q2

Q1.D

Q2.D

s0 0 0 0 0 0 1s1 0 0 1 0 1 0s2 0 1 0 0 1 1s3 0 1 1 1 0 0s4 1 0 0 0 0 0s5 1 0 1 X X Xs6 1 1 0 X X Xs7 1 1 1 X X X

State Q2 Q1 Q0 Q2.D Q1.D Q0.D

Modulo-5 Counter

Page 4: Modulo-N Counters Module M10.4 Section 7.2. Counters Modulo-5 Counter 3-Bit Down Counter with Load and Timeout Modulo-N Down Counter.

s0 0 0 0 0 0 1s1 0 0 1 0 1 0s2 0 1 0 0 1 1s3 0 1 1 1 0 0s4 1 0 0 0 0 0s5 1 0 1 X X Xs6 1 1 0 X X Xs7 1 1 1 X X X

State Q2 Q1 Q0 Q2.D Q1.D Q0.D

Modulo-5 Counter

Q2

Q1 Q000 01 11 10

0

1 X

1

Q2.D

Q2.D = Q1 & Q0

X X

Page 5: Modulo-N Counters Module M10.4 Section 7.2. Counters Modulo-5 Counter 3-Bit Down Counter with Load and Timeout Modulo-N Down Counter.

s0 0 0 0 0 0 1s1 0 0 1 0 1 0s2 0 1 0 0 1 1s3 0 1 1 1 0 0s4 1 0 0 0 0 0s5 1 0 1 X X Xs6 1 1 0 X X Xs7 1 1 1 X X X

State Q2 Q1 Q0 Q2.D Q1.D Q0.D

Modulo-5 Counter

Q2

Q1 Q000 01 11 10

0

1

1

XX

1

Q1.D

Q1.D = !Q1 & Q0 # Q1 & !Q0

X

Page 6: Modulo-N Counters Module M10.4 Section 7.2. Counters Modulo-5 Counter 3-Bit Down Counter with Load and Timeout Modulo-N Down Counter.

s0 0 0 0 0 0 1s1 0 0 1 0 1 0s2 0 1 0 0 1 1s3 0 1 1 1 0 0s4 1 0 0 0 0 0s5 1 0 1 X X Xs6 1 1 0 X X Xs7 1 1 1 X X X

State Q2 Q1 Q0 Q2.D Q1.D Q0.D

Modulo-5 Counter

Q2

Q1 Q000 01 11 10

0

1

1

X

1

Q0.D

Q0.D = !Q2 & ! Q0

X X

Note: On reset output pins are all high.Therefore, we need to include a clear input.

Page 7: Modulo-N Counters Module M10.4 Section 7.2. Counters Modulo-5 Counter 3-Bit Down Counter with Load and Timeout Modulo-N Down Counter.

Listing 7.7 mod5cnt.pld

Name mod5cnt;Partno OU0026;Revision 01;Date 8/06/91;Designer R. E. Haskell;Company Oakland University;Location Rochester, MI;Assembly CSE 171;Device G16V8;Format j;

/********************************************************//* This example demonstrates the use of D-type *//* flip-flops to design a modulo-5 counter *//********************************************************//* Target Device: G16V8 *//********************************************************/

mod5cnt.pld

Page 8: Modulo-N Counters Module M10.4 Section 7.2. Counters Modulo-5 Counter 3-Bit Down Counter with Load and Timeout Modulo-N Down Counter.

mod5cnt.abl

MODULE Mod5Cnt

TITLE ‘Modulo-5 Counter, A. Student, 7/20/02'

DECLARATIONS

“ INPUT PINS “

PB PIN 10; " push-button switch (clock)

Clear PIN 7; " Switch 2

" OUTPUT PINS "

Q2..Q0 PIN 37,36,35 ISTYPE 'reg buffer'; " LED 6..8

Q = [Q2..Q0]; " 3-bit output vector

[A,B,C,D,E,F,G,DP] PIN 15,18,23,21,19,14,17,24 ISTYPE 'com';

Segments = [A,B,C,D,E,F,G]; " 7-segment LED display

Page 9: Modulo-N Counters Module M10.4 Section 7.2. Counters Modulo-5 Counter 3-Bit Down Counter with Load and Timeout Modulo-N Down Counter.

mod5cnt.abl (cont’d)

Note !Clear

EQUATIONS

Q.c = PB;

Q0.d = !Clear & !Q2 & !Q0;

Q1.d = !Clear & !Q1 & Q0

# !Clear & Q1 & !Q0;

Q2.d = !Clear & Q1 & Q0;

DP = PB; " decimal point

@radix 16;

truth_table ( Q -> Segments ) " 7-segment display

Page 10: Modulo-N Counters Module M10.4 Section 7.2. Counters Modulo-5 Counter 3-Bit Down Counter with Load and Timeout Modulo-N Down Counter.

mod5cnt.abl (cont’d)

@radix 16;

truth_table ( Q -> Segments ) " 7-segment display

0 -> 7E;

1 -> 30;

2 -> 6D;

3 -> 79;

4 -> 33;

5 -> 5B;

6 -> 5F;

7 -> 70;

Page 11: Modulo-N Counters Module M10.4 Section 7.2. Counters Modulo-5 Counter 3-Bit Down Counter with Load and Timeout Modulo-N Down Counter.

mod5cnt.abl (cont’d)test_vectors([PB,Clear] -> Q)

[.c.,1] -> 0;

[.c.,0] -> 1;

[.c.,0] -> 2;

[.c.,0] -> 3;

[.c.,0] -> 4;

[.c.,0] -> 0;

[.c.,0] -> 1;

[.c.,0] -> 2;

[.c.,0] -> 3;

[.c.,0] -> 4;

[.c.,0] -> 0;

[.c.,0] -> 1;

[.c.,0] -> 2;

END

Page 12: Modulo-N Counters Module M10.4 Section 7.2. Counters Modulo-5 Counter 3-Bit Down Counter with Load and Timeout Modulo-N Down Counter.

Simulation File, mod5cnt.siListing 7.8 mod5cnt.si

Name mod5cnt;Partno OU0026;Revision 01;Date 8/06/91;Designer R. E. Haskell;Company Oakland University;Location Rochester, MI;Assembly CSE 171;Device G16V8;Format j;

/********************************************************//* This example demonstrates the use of D-type *//* flip-flops to design a modulo-5 counter *//********************************************************//* Target Device: G16V8 *//********************************************************/

CUPL SimulationFile

Page 13: Modulo-N Counters Module M10.4 Section 7.2. Counters Modulo-5 Counter 3-Bit Down Counter with Load and Timeout Modulo-N Down Counter.

ORDER: clock,%2,clear,%2,q0,%2,q1,%2,q2;

VECTORS:C1 LLLC0 HLLC0 LHLC0 HHLC0 LLHC0 LLLC0 HLLC0 LHLC0 HHLC0 LLHC0 LLLC0 HLLC0 LHLC0 HHLC0 LLH

Note: first test vector clears output

Back to LLL after 5 states

mod5cnt.si

CUPL SimulationFile

Page 14: Modulo-N Counters Module M10.4 Section 7.2. Counters Modulo-5 Counter 3-Bit Down Counter with Load and Timeout Modulo-N Down Counter.

CUPL SimulationOutput File

Page 15: Modulo-N Counters Module M10.4 Section 7.2. Counters Modulo-5 Counter 3-Bit Down Counter with Load and Timeout Modulo-N Down Counter.

Counters

• Modulo-5 Counter

• 3-Bit Down Counter with Load and Timeout

• Modulo-N Down Counter

Page 16: Modulo-N Counters Module M10.4 Section 7.2. Counters Modulo-5 Counter 3-Bit Down Counter with Load and Timeout Modulo-N Down Counter.

CLK

D Q

!Q

CLK

D Q

!Q

CLK

D Q

!Q

Q0Q0.D

Q1

Q2

Q1.D

Q2.D

s0 0 0 0 1 1 1s1 0 0 1 0 0 0s2 0 1 0 0 0 1s3 0 1 1 0 1 0s4 1 0 0 0 1 1s5 1 0 1 1 0 0s6 1 1 0 1 0 1s7 1 1 1 1 1 0

State Q2 Q1 Q0 Q2.D Q1.D Q0.D

3-Bit Down Counter

Page 17: Modulo-N Counters Module M10.4 Section 7.2. Counters Modulo-5 Counter 3-Bit Down Counter with Load and Timeout Modulo-N Down Counter.

3-Bit Down Counter

Q2

Q1 Q000 01 11 10

0

1 1 11

1

Q2.D

Q2.D = !Q2 & !Q1 & !Q0 # Q2 & Q1 # Q2 & Q0

s0 0 0 0 1 1 1s1 0 0 1 0 0 0s2 0 1 0 0 0 1s3 0 1 1 0 1 0s4 1 0 0 0 1 1s5 1 0 1 1 0 0s6 1 1 0 1 0 1s7 1 1 1 1 1 0

State Q2 Q1 Q0 Q2.D Q1.D Q0.D

Page 18: Modulo-N Counters Module M10.4 Section 7.2. Counters Modulo-5 Counter 3-Bit Down Counter with Load and Timeout Modulo-N Down Counter.

3-Bit Down Counter

Q2

Q1 Q000 01 11 10

0

1

1

11

1

Q1.D

Q1.D = !Q1 & !Q0 # Q1 & Q0

s0 0 0 0 1 1 1s1 0 0 1 0 0 0s2 0 1 0 0 0 1s3 0 1 1 0 1 0s4 1 0 0 0 1 1s5 1 0 1 1 0 0s6 1 1 0 1 0 1s7 1 1 1 1 1 0

State Q2 Q1 Q0 Q2.D Q1.D Q0.D

Page 19: Modulo-N Counters Module M10.4 Section 7.2. Counters Modulo-5 Counter 3-Bit Down Counter with Load and Timeout Modulo-N Down Counter.

3-Bit Down Counter

Q2

Q1 Q000 01 11 10

0

1

1

11

1

Q0.D

Q0.D = ! Q0

s0 0 0 0 1 1 1s1 0 0 1 0 0 0s2 0 1 0 0 0 1s3 0 1 1 0 1 0s4 1 0 0 0 1 1s5 1 0 1 1 0 0s6 1 1 0 1 0 1s7 1 1 1 1 1 0

State Q2 Q1 Q0 Q2.D Q1.D Q0.D

Page 20: Modulo-N Counters Module M10.4 Section 7.2. Counters Modulo-5 Counter 3-Bit Down Counter with Load and Timeout Modulo-N Down Counter.

dncnt3ld.abl

MODULE DnCnt3LD

TITLE '3-bit Down Counter with Clear and Load'

DECLARATIONS

" INPUT PINS "

PB PIN 10; " push-button switch (clock)

Clear PIN 7; " Switch 2

Load PIN 11; " Switch 3

X2..X0 PIN 71,66,70; " Switch 6..8

Data = [X2..X0]; " 3-bit input vector

" OUTPUT PINS "

LED1..LED2 PIN 44,43 ISTYPE 'com'; " LED 1..2

timeout PIN 41 ISTYPE 'com'; " LED 3

Q2..Q0 PIN 37,36,35 ISTYPE 'reg buffer'; " LED 6..8

Q = [Q2..Q0]; " 3-bit output vector

[A,B,C,D,E,F,G,DP] PIN 15,18,23,21,19,14,17,24 ISTYPE 'com';

Segments = [A,B,C,D,E,F,G]; " 7-segment LED display

If load = 1,Load Data to [q0..2]

timeout = 1 when [q0..2] = [0,0,0]

Page 21: Modulo-N Counters Module M10.4 Section 7.2. Counters Modulo-5 Counter 3-Bit Down Counter with Load and Timeout Modulo-N Down Counter.

dncnt3ld.abl (cont’d)EQUATIONS

LED1 = Clear; LED2 = Load; Q.c = PB;

WHEN Clear THEN Q.d = 0;

ELSE

{

WHEN Load THEN Q.d = Data;

ELSE

{

Q2.d = !Clear & !Q2 & !Q1 & !Q0

# !Clear & Q2 & Q1

# !Clear & Q2 & Q0;

Q1.d = !Clear & !Q1 & !Q0

# !Clear & Q1 & Q0;

Q0.d = !Clear & !Q0;

}

}

timeout = !Q0 & !Q1 & !Q2;

Page 22: Modulo-N Counters Module M10.4 Section 7.2. Counters Modulo-5 Counter 3-Bit Down Counter with Load and Timeout Modulo-N Down Counter.

Simulation File, dncnt3ld.siListing 7.10 dncnt3ld.si

Name dncnt3ld;Partno OU0029;Revision 01;Date 8/07/91;Designer R. E. Haskell;Company Oakland University;Location Rochester, MI;Assembly CSE 171;Device G16V8;Format j;

/********************************************************//* This is a 3-bit down counter *//* with clear and parallel load *//********************************************************//* Target Device: G16V8 *//********************************************************/

CUPL SimulationFile

Page 23: Modulo-N Counters Module M10.4 Section 7.2. Counters Modulo-5 Counter 3-Bit Down Counter with Load and Timeout Modulo-N Down Counter.

dncnt3ld.si

ORDER:clock,%2,clear,load,%3,I2..0,%3,q0,%2,q1,%2,q2,%2,timeout;

VECTORS:C10 XXX LLL H /* clear counter */C00 XXX HHH LC00 XXX LHH L

C00 XXX HLH LC00 XXX LLH LC00 XXX HHL LC01 101 HLH L /* load 101 into counter */C00 XXX LLH LC00 XXX HHL LC00 XXX LHL LC00 XXX HLL LC00 XXX LLL H /* timeout */C00 XXX HHH LC00 XXX LHH LC00 XXX HLH LC00 XXX LLH LC00 XXX HHL LC00 XXX LHL LC00 XXX HLL LC00 XXX LLL H /* timeout */C00 XXX HHH L

CUPL SimulationFile

Page 24: Modulo-N Counters Module M10.4 Section 7.2. Counters Modulo-5 Counter 3-Bit Down Counter with Load and Timeout Modulo-N Down Counter.

CUPL SimulationOutput File

Page 25: Modulo-N Counters Module M10.4 Section 7.2. Counters Modulo-5 Counter 3-Bit Down Counter with Load and Timeout Modulo-N Down Counter.

Counters

• Modulo-5 Counter

• 3-Bit Down Counter with Load and Timeout

• Modulo-N Down Counter

Page 26: Modulo-N Counters Module M10.4 Section 7.2. Counters Modulo-5 Counter 3-Bit Down Counter with Load and Timeout Modulo-N Down Counter.

3-Bit Down Counter with Load and Timeout

______________ | dncnt3ld |

clock x---|1 20|---x Vcc clear x---|2 19|---x q0 load x---|3 18|---x q1 I0 x---|4 17|---x q2 I1 x---|5 16|---x timeout I2 x---|6 15|---x x---|7 14|---x x---|8 13|---x x---|9 12|---x GND x---|10 11|---x |______________|

To make a Modulo-5 counter, connect [I2..0] to 100and connect timeout to load.

Page 27: Modulo-N Counters Module M10.4 Section 7.2. Counters Modulo-5 Counter 3-Bit Down Counter with Load and Timeout Modulo-N Down Counter.

CUPL SimulationOutput File


Recommended