1 standard sequential modules registers shift registers … · registers shift registers...

56
1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES BASIC USES HOW TO IMPLEMENT LARGER MODULES Introduction to Digital Systems 11 – Standard Sequential Modules

Upload: others

Post on 21-Aug-2020

54 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

1STANDARD SEQUENTIAL MODULES

• REGISTERS

• SHIFT REGISTERS

• SYNCHRONOUS COUNTERS

• FOR EACH MODULE WE SHOW:

• SPECIFICATION

• IMPLEMENTATION WITH FFs AND GATES

• BASIC USES

• HOW TO IMPLEMENT LARGER MODULES

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 2: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

2REGISTERS

CLK

CLR (Clear)

LD (Load)

n

n

Data input x

Data output z

REGISTER

Control inputs

Figure 11.1: n-BIT REGISTER MODULE

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 3: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

3REGISTER: HIGH-LEVEL SPECIFICATION

INPUTS: x = (xn−1, . . . , x0), xi ∈ {0, 1}LD, CLR ∈ {0, 1}

OUTPUTS: z = (zn−1, . . . , z0), zi ∈ {0, 1}STATE: s = (sn−1, . . . , s0), si ∈ {0, 1}

FUNCTION: STATE TRANSITION AND OUTPUT FUNCTIONS

s(t + 1) =

x(t) if LD(t) = 1 and CLR(t) = 0s(t) if LD(t) = 0 and CLR(t) = 0(0 . . . 0) if CLR(t) = 1

z(t) = s(t)

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 4: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

4IMPLEMENTATION OF 4-BIT REGISTER

z3

x3

z2

x2

z1

x1

z0

x0

CLR

CLK

LD

DQQ’

DQQ’

DQQ’

DQQ’

01MUX

01MUX

01MUX

01MUX

Figure 11.2: IMPLEMENTATION OF 4-BIT REGISTER.

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 5: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

5TIME-BEHAVIOR OF REGISTER

Clock CLK

Input

Load LD

Output

tp

z

x

propagation delay

setup timetsu

Figure 11.3: TIME-BEHAVIOR OF REGISTER.

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 6: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

6USES OF REGISTERS: Example 11.1

INPUT: x ∈ {0, 1}OUTPUT: (z1, z0), zi ∈ {0, 1}STATE: (s1, s0), si ∈ {0, 1}INITIAL STATE: (s1, s0) = (0, 0)

FUNCTION: STATE TRANSITION AND OUTPUT FUNCTIONS:

PS Inputx = 0 x = 1

00 00 0101 01 1111 11 1010 10 00

NS

z(t) = s(t)

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 7: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

7CANONICAL IMPLEMENTATION

Y1 = y1x′ y0x Y0 = y0x

′ y′1x

y’1y1x’x

CLK

y1

x’

y0

x

y0

x’

x

Y1

Y0

y1

y0

(a)

D flip-flops

y’1

Figure 11.4: NETWORKS FOR Example 11.1: a) NETWORK WITH STATE CELLS;

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 8: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

8IMPLEMENTATION WITH REGISTER

Y1 = y0 Y0 = y′1 LD = x

(b)

CLKCLR

LDY1

Y0

y1

y0

x

0

Reg

iste

r

Figure 11.4: NETWORKS for Example 11.1: b) NETWORK WITH STANDARD REGISTER MODULE

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 9: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

9SHIFT REGISTERS

CLK

CTRL

n

n

SHIFT REGISTER

Serial data input(left shift)

Serial data input(right shift)

xlxr

2

Parallel data input x

zParallel data output

Figure 11.5: SHIFT REGISTER

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 10: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

10

PARALLEL-IN/PARALLEL-OUT BIDIRECTIONAL SHIFT REGISTER

CLK

CTRL

xr

2

xln-1

xn-1

zn-1

n-2

xn-2

zn-2

0

x0

z0

Figure 11.6: PARALLEL-IN/PARALLEL-OUT BIDIRECTIONAL SHIFT REGISTER

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 11: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

11HIGH-LEVEL SPECIFICATION

INPUTS: x = (xn−1, . . . , x0), xi ∈ {0, 1}xl, xr ∈ {0, 1}CTRL ∈ {LOAD, LEFT, RIGHT, NONE}

STATE: s = (sn−1, . . . , so), si ∈ {0, 1}OUTPUT: z = (zn−1, . . . , z0), zi ∈ {0, 1}

FUNCTIONS: STATE TRANSITION AND OUTPUT FUNCTIONS:

s(t + 1) =

s(t) if CTRL = NONEx(t) if CTRL = LOAD(sn−2, . . . , s0, xl) if CTRL = LEFT(xr, sn−1, . . . , s1) if CTRL = RIGHT

z = s

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 12: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

12SHIFT REGISTER CONTROL

Control s(t + 1) = z(t + 1)

NONE 0101LOAD 1110LEFT xl = 0 1010LEFT xl = 1 1011RIGHT xr = 0 0010RIGHT xr = 1 1010

CTRL c1 c0

NONE 0 0LEFT 0 1RIGHT 1 0LOAD 1 1

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 13: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

134-BIT BIDIRECTIONAL SHIFT-REGISTER

01

MUX

23 01

MUX

23 01

MUX

23 01

MUX

23

c1c0

DQ

DQ

DQ

DQ

xr

CK

x3 x2 x1 x0xl

z3 z2 z1 z0

Figure 11.7: IMPLEMENTATION OF A 4-BIT BIDIRECTIONAL SHIFT REGISTER WITH D FLIP-FLOPS.

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 14: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

14

SERIAL-IN/SERIAL-OUT UNIDIRECTIONAL SHIFT REGISTER

z(t) = x(t − n)

CLK

CTRL

n-1 n-2 0

z

xr

(a)Figure 11.8: COMMON UNIDIRECTIONAL SHIFT REGISTERS: a) SERIAL-IN/SERIAL-OUT

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 15: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

15

PARALLEL-IN/SERIAL-OUT UNIDIRECTIONAL SHIFT REGISTER

CLK

CTRL2

n-1

xn-1

n-2

xn-2

0

x0

z(b)

Figure 11.8: COMMON UNIDIRECTIONAL SHIFT REGISTERS: b) PARALLEL-IN/SERIAL-OUT

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 16: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

16

SERIAL-IN/PARALLEL-OUT UNIDIRECTIONAL SHIFT REGISTER

CLKCTRL

n-1

zn-1

n-2

zn-2

0

z0

xr

(c)

Figure 11.8: COMMON UNIDIRECTIONAL SHIFT REGISTERS: c) SERIAL-IN/PARALLEL-OUT

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 17: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

17SUMMARY OF SHIFT-REGISTER TYPES

CLK

CTRL2

n-1

xn-1

n-2

xn-2

0

x0

z

CLK

CTRL

n-1 n-2 0

z

xr

CLKCTRL

n-1

zn-1

n-2

zn-2

0

z0

xr

(a)

(b)

(c)

Figure 11.8: COMMON UNIDIRECTIONAL SHIFT REGISTERS: a) SERIAL-IN/SERIAL-OUT; b) PARALLEL-IN/SERIAL-OUT; c)SERIAL-IN/PARALLEL-OUT

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 18: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

18USES OF SHIFT REGISTERS

• SERIAL INTERCONNECTION OF SYSTEMS

CLK

CTRL2

n-1

xn-1

n-2

xn-2

0

x0

System A

CLK

CTRL

n-1

zn-1

n-2

zn-2

0

z0

System B

xr

z

Figure 11.9: SERIAL INTERCONNECTION OF SYSTEMS USING SHIFT REGISTERS

• BIT-SERIAL OPERATIONS

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 19: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

19

CLK

CTRL2

31

x31

30

x30

0

x0

FA

DQ

Q’

CLK

2

31

y31

30

y30

0

y0

CLK31

z31

30

z30

0

z0

carry-in

carry-out sum

Operand X

Operand Y

Result Z

ClockCycle Action

1 Load, clear carry FF

2-33 Add and shift

CTRL

CLR

Figure 11.10: BIT-SERIAL ADDER.

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 20: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

20USES OF SHIFT REGISTERS: STATE REGISTER

sn−1(t + 1) = x(t)

si(t + 1) = si+1(t) for i = n − 2, . . . , 0

• FINITE-MEMORY SEQUENTIAL SYSTEM

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 21: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

21Example 11.2: SHIFT REGISTER AS STATE REGISTER

s7(t + 1) = x(t)

si(t + 1) = si+1(t) for i = 6, . . . , 0

z(t) = x(t)s0(t)

x(t) x(t-8)

z(t)

CLK

8-bit SHIFT REGISTERCTRL

Figure 11.11: IMPLEMENTATION OF NETWORK IN Example 11.2

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 22: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

22Example 11.3: SHIFT REGISTER AS STATE REGISTER

z(t) =

1 if s(t) = 01101110 and x(t) = 10 otherwise

8-BIT SHIFT REGISTER

x

z

CTRL

CLK

Figure 11.12: IMPLEMENTATION OF NETWORK IN Example 11.3

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 23: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

23NETWORKS OF SHIFT REGISTERS

8-BIT SHIFT REGISTER

07

8-BIT SHIFT REGISTER

07

8-BIT SHIFT REGISTER

07

8-BIT SHIFT REGISTER

07

CTRL

CLK

serial-in (right shift)

serial-in (left shift)

serial-out(left shift)

serial-out(right shift)

Figure 11.13: NETWORK OF SERIAL-INPUT/SERIAL-OUTPUT SHIFT REGISTER MODULES

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 24: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

24COUNTERS

• MODULO-p COUNTER

s(t + 1) = (s(t) + x) mod p

0/01/0

1/11/0

0/0

2/21/0

0/0

p-1/p-1

1/1

0/0x/TC = 0/0

s/z(state/output)

(input/terminal count)

Figure 11.14: STATE DIAGRAM OF A MODULO-p COUNTER

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 25: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

25A HIGH-LEVEL DESCRIPTION OF A MODULO-p COUNTER

INPUT: x ∈ {0, 1}OUTPUTS: z ∈ {0, 1, . . . , p − 1}

TC ∈ {0, 1}STATE: s ∈ {0, 1, . . . , p − 1}

FUNCTION: STATE TRANSITION AND OUTPUT FUNCTIONS

s(t + 1) = (s(t) + x) mod pz(t) = s(t)

TC(t) =

1 if s(t) = p − 1 and x(t) = 10 otherwise

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 26: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

26TYPES OF COUNTERS

• UP or DOWN COUNTERS

State Binary BCD Excess-3 Gray Ring Twisted Tail

0 000 0000 0011 000 00000001 00001 001 0001 0100 001 00000010 00012 010 0010 0101 011 00000100 00113 011 0011 0110 010 00001000 01114 100 0100 0111 110 00010000 11115 101 0101 1000 111 00100000 11106 110 0110 1001 101 01000000 11007 111 0111 1010 100 10000000 10008 1000 10119 1001 1100

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 27: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

27RING and TWISTED-TAIL COUNTERS

(a)

State = 2

LOAD

xl3

z3

2

z2

0

z0

1

z1

0 0 0 1

CLK

(COUNT)

x

0 1 0 0

(b)

State = 2

LOAD

xl3

z3

2

z2

0

z0

1

z1

0 0 0 0

CLK

(COUNT)

x

0 0 1 1

Figure 11.15: a) MODULO-4 RING COUNTER; b) MODULO-8 TWISTED-TAIL COUNTER

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 28: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

28BINARY COUNTER WITH PARALLEL INPUT

INPUTS: I = (I3, . . . , I0), Ij ∈ {0, 1}, I ∈ {0, 1..., 15}CLR, LD, CNT ∈ {0, 1}

STATE: s = (s3, . . . , s0), sj ∈ {0, 1}, s ∈ {0, 1, ..., 15}OUTPUT: s = (s3, . . . , s0), sj ∈ {0, 1}, s ∈ {0, 1, ..., 15}

TC ∈ {0, 1}

FUNCTION: STATE-TRANSITION AND OUTPUT FUNCTIONS

s(t + 1) =

0 if CLR = 1I if LD = 1(s(t) + 1) mod 16 if CNT = 1 and LD = 0s(t) otherwise

TC =

1 if s(t) = 15 and CNT = 10 otherwise

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 29: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

29MODULO-16 COUNTER

MODULO-16 COUNTER CLK

S3 S2 S1 S0

Outputs

I3 I2 I1 I0

Inputs

TC

Terminalcount

LD

Load inputs

CLR

Clear

CNTCount enable

Figure 11.16: A MODULO-16 BINARY COUNTER WITH PARALLEL INPUT

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 30: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

30

MODULO-k COUNTER (1 ≤ k ≤ 16)

CNT = x

LD =

1 if (s = k − 1) and (x = 1)0 otherwise

I = 0

TC = LD

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 31: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

31

MODULO-k COUNTER (1 ≤ k ≤ 16)(cont.)

01/0

11/0

0/0

1/1

0/0

0/0

(a)

(b)

k-1

0/0

k

0/0

141/0

0/0

15

0/0

MODULO-16 COUNTER CLK

S3 S2 S1 S0

I3 I2 I1 I0

TC

LD

CLR

CNT

0 0 0 0

x

s0s1

s3

clear

CLK

State 9 10 11 0 1

LD(TC)

Figure 11.17: a) STATE DIAGRAM OF MODULO-k COUNTER (1 ≤ k ≤ 16); b) MODULO-12 COUNTER AND ITS TIMEBEHAVIOR (x = 1)

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 32: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

32

a-to-b COUNTER (0 ≤ a, b ≤ 15)

CNT = x

LD =

1 if (s = b) and (x = 1)0 otherwise

I = a

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 33: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

33

(a)

MODULO-16 COUNTER CLK

S3 S2 S1 S0

I3 I2 I1 I0 LD

CLR

CNT

0 0 0 1

x

s2s3

clear

TC

(b)

a1/0

0/0

a+11/0

0/01/1

b

0/0

1/0

0

0/0

1/014

0/0

1/015

0/0

b+1

0/0

Figure 11.18: a) STATE DIAGRAM OF a-to-b COUNTER; b) A 1-to-12 COUNTER

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 34: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

34

MODULO-k FREQUENCY DIVIDER (1 ≤ k ≤ 16)

CNT = x

LD =

1 if TC = 10 otherwise

I = 16 − k

z = TC

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 35: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

35

16-k1/0

0/0

141/0

0/01/1

15

0/0

0

0/0

1/0

(a)

MODULO-16 COUNTER CLK

S3 S2 S1 S0

I3 I2 I1 I0

z

LD

CLR

CNT

0 1 1 1

x

clear

TC

(b)

13 14 15 7

CLK

State 13 14 15 7 8

z(TC)

Figure 11.19: a) STATE DIAGRAM OF MODULO-k FREQUENCY DIVIDER; b) MODULO-9 FREQUENCY DIVIDER AND ITSTIME BEHAVIOR (x = 1)

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 36: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

36USES OF COUNTERS

• COUNT THE NUMBER OF TIMES THAT A CERTAIN EVENT TAKESPLACE;

• CONTROL A FIXED SEQUENCE OF ACTIONS

• GENERATE TIMING SIGNALS

• GENERATE CLOCKS OF DIFFERENT FREQUENCIES

• STATE REGISTER

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 37: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

37

FREE SPACE

<

MAX NUMBEROF SPACES

ENTRANCESENSOR

EXITSENSOR

UP

DOWN

COUNTER

COMPARATOR

LOT FULL

>

Sequence of actions:

0: CLEAR ALL REGISTERS1: INPUT A2: INPUT B3: COMPUTE4: COMPUTE5: OUTPUT C

CLEAR

INPUT A

INPUT B

COMPUTE

OUTPUT C

mod

ulo-

6C

OU

NT

ER

BIN

AR

YD

EC

OD

ER

01

3

45

2

(a)

(b)

CLK

CLK

Figure 11.20: a) EXAMPLE OF EVENT COUNTER; b) EXAMPLE OF CONTROLLER.

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 38: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

38

USES OF COUNTERS (cont.)

S

R

Q

Q’

S

R

Q

Q’

S

R

Q

Q’

0

1

2

3

4

5

6

7

Mod

ulo-

8B

inar

y C

ount

er

BIN

AR

Y D

EC

OD

ER

CLK

TS0

TS1

TS2

S0

S1

S2

State0 1 2 3 4 5 6 7 07

TS1

TS2

TS0

(a)

Mod

ulo-

4B

inar

y C

ount

er S0

S1

CLK

CLK0

CLK2

CLK4

CLK0

CLK2

CLK4

CLK

(b)

Figure 11.21: EXAMPLES OF NETWORKS FOR GENERATING a) TIMING SIGNALS; b) CLOCKS WITH DIFFERENT FREQUEN-CIES.

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 39: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

39COUNTER AS STATE REGISTER

Counting s(t + 1) = (s(t) + 1) mod pNo change s(t + 1) = s(t)Arbitrary s(t + 1) 6= (s(t) + 1) mod p and s(t + 1) 6= s(t)

CNT

LD

CLK

CombinationalNetwork for

Parallel Inputs

CombinationalNetwork forLD(Load)

CombinationalNetwork forCNT(Count)

OutputCombinational

Network

n

n

z

Ix

Modulo- 2Counter

n

s

Figure 11.22: IMPLEMENTATION OF SEQUENTIAL SYSTEM WITH COUNTER AND COMBINATIONAL NETWORKS.

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 40: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

40

COUNTER AS STATE REGISTER (cont.)

CNT =

1 if s(t + 1) = (s(t) + 1) mod p and x = 10 otherwise

LD =

1 if s(t + 1) 6= s(t) ands(t + 1) 6= (s(t) + 1) mod p and x = 1

0 otherwise

I =

s(t + 1) if LD = 1− otherwise

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 41: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

41Example 11.4

S0

S1

S2

S3 S4

S5

S6

a’/0

b/0

b’/0

a/0

c/0

c’/0

b/0b’/1

-/0 -/0

-/0

Figure 11.23: STATE DIAGRAM for Example 11.4

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 42: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

42

Example 11.4 (cont.)

CNT = S0a S1 S2 S3b S4c′ S5

LD = CNT ′

(I3, I2, I1, I0) =

(0, 0, 0, 0) if S0a′ S6b

(0, 0, 0, 1) if S4c S6b′

(0, 0, 1, 1) if S3b′

SWITCHING EXPRESSIONS FOR PARALLEL INPUTS

I3 = 0

I2 = 0

I1 = Q0

I0 = Q0 Q2Q′1 Q2b

OUTPUT zz = Q1Q0b

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 43: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

43

Modulo- 16CounterCNT

LD

CK

Q3

Q2

Q1

Q0

I3

I2

I1

I0

0 0

Q2

Q1

Q0

0

1

2

3

4

5

6

72 1 0

MUXb

c’

a

1

1

1

0

d.c.

Q1

Q0

b’z

Q2

Q’1

Q0

b’

Figure 11.24: SEQUENTIAL NETWORK FOR Example 11.4

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 44: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

44NETWORKS OF COUNTERS

• CASCADE COUNTERS

TC =

1 if (s = p − 1) and (CNT = 1)0 otherwise

• FOR THE i-th MODULE

CNT i =

1 if (s(j) = p − 1) and (x = 1)( for all j < i)

0 otherwise

where s(j) is the state of counter j.

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 45: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

45

CASCADE COUNTERS (cont.)

Q

I

CNT

LDk-1

Q

I

CNT

LDk-2

Q

I

CNT

LD0

TC TCTC x

CLKLOAD

Figure 11.26: CASCADE IMPLEMENTATION OF A MODULO-pk COUNTER

• THE WORST-CASE DELAY

Tworst−case = (k − 1)ttc + tsu + tp

• THE MAXIMUM CLOCK FREQUENCY POSSIBLE

fmax = 1/[(k − 1)ttc + tsu + tp]

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 46: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

46Example 11.5

tsu = 4.5[ns] (including the delay of the gates usedto produce the inputs to the cells)

tp = 2[ns]ttc = 3.5[ns]

MIN CLOCK PERIOD:

with one module T = 6.5[ns] (153[MHz])

with 8 modules T = 31[ns] (32[MHz])

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 47: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

47FASTER COUNTERS

• INTRODUCE CEF (Count Enable First)

s(t + 1) =

(s(t) + 1) mod p if CEF = 1 and CNT = 1s(t) otherwise

• TC SIGNAL NOT INFLUENCED BY CEF ,

TC =

1 if (s(t) = p − 1) and (CNT = 1)0 otherwise

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 48: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

48FASTER CASCADE COUNTER

Q

ICNTLD

k-1

Q

ICNTLD

k-2TC

CLK LOAD

Q

ICNTLD

1TC xQ

ICNTLD

0TCCEF CEF CEF CEF 1

"1"

Figure 11.27: A FASTER VERSION OF A CASCADE COUNTER

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 49: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

49WORST-CASE DELAY

Tworst−case = (k − 2)ttc + tsu + tp

⇒ SMALL REDUCTION IN THE DELAY

* Note: propagation of TC can span several clock cycles

CONSEQUENTLY, IF T IS THE CLOCK PERIOD,

pT ≥ (k − 2)ttc + tsu + tp

T ≥ ttc + tsu + tp

COMBINING

T ≥ max(ttc + tsu + tp, ((k − 2)ttc + tsu + tp)/p)

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 50: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

50

p-2 p-1 0 1 2 p-2 p-1 0 1 2

p-2 p-1 0

Time available to propagate TCr r+1

Q (0)

Q (1)

Q(k-1)

TC (0)

TC (1)

tsupt

= CEF

p-2 p-1 0 1Q (0)

Time available to propagate TC

r r+1

Q(k-1)

TC (0)

tsu

pt

CNT (k-1)

p-1 0Q (1)

p-1 0

Q (k-2)

(a)

(b)

CNT (k-1)

Figure 11.28: TIMING RELATIONS: a) Without CEF ; b) With CEF

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 51: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

51PARALLEL COUNTERS

Modulo-504 counter: 7 × 8 × 9 states

000, 111, 222, 333, 444, 555, 666, 077, 108, 210, 321, 432, ...

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 52: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

52

PARALLEL MODULO-(7 × 8 × 9) COUNTER

Modulo-7 COUNTER

CNT

3

Modulo-8COUNTER

CNT

4

Modulo-9COUNTER

CNT

4

Modulo-(7x8x9)COUNTER

CLK

x

Figure 11.29: PARALLEL IMPLEMENTATION OF MODULO-(7 × 8 × 9) COUNTER.

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 53: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

53MULTIMODULE SYSTEMS

• Complex sequential system ⇒ several interacting sequential subsystems

Example 11.6: BLOCK PATTERN RECOGNIZER

• INPUT SEQUENCE: blocks of k symbols

• FUNCTION: check for pattern P in each block

• IMPLEMENTATION: counter + recognizer

• OUTPUT OF THE COUNTER:

TC(t) =

1 if t mod k = k − 1 and check = 10 otherwise

• OUTPUT OF THE SYSTEM: z(t) = p(t) · TC(t)

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 54: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

54

MODULO - k COUNTER

PATTERNRECOGNIZER

INITIALIZE

CLK

checkTC

p

z(t)

x(t)

(a)

Figure 11.30: BLOCK PATTERN RECOGNIZER

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 55: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

55Example 11.6: ILLUSTRATION

t 0 1 2 3 4 5 6 7 8 9 10 11x 5 3 7 4 1 0 3 7 4 3 7 4

TC 0 0 1 0 0 1 0 0 1 0 0 1p 0 0 0 1 0 0 0 0 1 0 0 1z 0 0 0 0 0 0 0 0 1 0 0 1

Introduction to Digital Systems 11 – Standard Sequential Modules

Page 56: 1 STANDARD SEQUENTIAL MODULES REGISTERS SHIFT REGISTERS … · REGISTERS SHIFT REGISTERS SYNCHRONOUS COUNTERS FOR EACH MODULE WE SHOW: SPECIFICATION IMPLEMENTATION WITH FFs AND GATES

56Example 11.7

• count the number of instances of pattern P in blocks of k symbols

MODULO - k COUNTER

PATTERNRECOGNIZER

INITIALIZE

CLK

checkTC

p

Countof instances of P

x(t)

MODULO - NCOUNTER

z(t)

(b)

Figure 11.30: BLOCK PATTERN RECOGNIZER.

Introduction to Digital Systems 11 – Standard Sequential Modules