80
1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe [email protected]

Synchronous Sequential Logic Part I

  • Upload
    leyna

  • View
    54

  • Download
    0

Embed Size (px)

DESCRIPTION

Synchronous Sequential Logic Part I. Mantıksal Tasarım – BBM231 M. Önder Efe [email protected]. Sequential Logic. Digital circuits we have learned, so far, have been combinational no memory, outputs are entirely defined by the “current” inputs - PowerPoint PPT Presentation

Citation preview

Page 1: Synchronous Sequential Logic Part I

1

Synchronous Sequential LogicPart I

Mantıksal Tasarım – BBM231M. Önder Efe

[email protected]

Page 2: Synchronous Sequential Logic Part I

2

Sequential Logic

• Digital circuits we have learned, so far, have been combinational– no memory,– outputs are entirely defined by the “current” inputs

• However, many digital systems encountered everyday life are sequential (i.e. they have memory)– the memory elements remember past inputs– outputs of sequential circuits are not only dependent on the

current input but also the state of the memory elements.

Page 3: Synchronous Sequential Logic Part I

3

Sequential Circuits Model

Combinational Circuit

inputs outputs

Memory Elements

currentstate

nextstate

current state is a function of past inputs and initial state

Page 4: Synchronous Sequential Logic Part I

4

Classification 1/2• Two types of sequential circuits1. Synchronous– Signals affect the memory elements at discrete instants of

time.– Discrete instants of time requires synchronization.– Synchronization is usually achieved through the use of a

common clock.– A “clock generator” is a device that generates a periodic

train of pulses.

Page 5: Synchronous Sequential Logic Part I

5

Classification 2/2

1. Synchronous• The state of the memory elements are updated with the arrival

of each pulse• This type of logical circuit is also known as clocked sequential

circuits.2. Asynchronous

• No clock• behavior of an asynchronous sequential circuits depends upon

the input signals at any instant of time and the order in which the inputs change.

• Memory elements in asynchronous circuits are regarded as time-delay elements

Page 6: Synchronous Sequential Logic Part I

6

Clocked Sequential Circuits• Memory elements are flip-flops which are logic devices, each of

which is capable of storing one bit of information.

Combinational Circuit

Flip-Flops

inputs outputs

currentstate

nextstate

clock

Page 7: Synchronous Sequential Logic Part I

7

Clocked Sequential Circuits

• The outputs of a clocked sequential circuit can come from the combinational circuit, from the outputs of the flip-flops or both.

• The state of the flip-flops can change only during a clock pulse transition – i.e. low-to-high and high-to-low– clock edge

• When the clock maintains its value, the flip-flop output does not change

• The transition from one state to the next occurs at the clock edge.

Page 8: Synchronous Sequential Logic Part I

Machine

• Machine(Inputs {X},States {D},Outputs {Z},Output Function {F : XDZ},Next State Function {G : XDD})

8

Page 9: Synchronous Sequential Logic Part I

Representation with State Diagramx1 x2 xi xl

d1

d2

di dj ,zdr-1

dr

9

Page 10: Synchronous Sequential Logic Part I

Assign a Node to Each State

di

xk/zkdj

xp/zp

• Machine is at state di, input xk comes, the next state will be di and the output is zk

• Machine is at state di, input xp comes, the next state will be dj and the output is zp

10

Page 11: Synchronous Sequential Logic Part I

Notation

• Let Ik be an input sequence with length equals to k, i.e. Ik = x1x2…xk

• f(Ik,di) = z1z2…zk is an output sequence• g(Ik,di) = di1di2…dik is a state sequence• di Ik dik Follower of di after the input

sequence Ik

11

Page 12: Synchronous Sequential Logic Part I

Example - Fill out the rest

0 1A E, 0 D, 1B F, 0 D, 0C E, 0 B, 1D F, 0 B, 0E C, 0 F, 1F B, 0 C, 0

A E

D C

B F

12

Page 13: Synchronous Sequential Logic Part I

Example

• Let I5=10110, find g(I5,C) and f(I5,C)

• I5 follower of C is F

0 1A E, 0 D, 1B F, 0 D, 0C E, 0 B, 1D F, 0 B, 0E C, 0 F, 1F B, 0 C, 0

I5 1 0 1 1 0g(I5,C) C B F C B Ff(I5,C) 1 0 0 1 0

13

Page 14: Synchronous Sequential Logic Part I

D Flip-Flop

• Characteristic equation– Q(t+1) = D

D FF

D Q

clk C

Positive edge-triggeredD Flip-Flop

D Q(t+1)0 01 1

Characteristic Table14

Page 15: Synchronous Sequential Logic Part I

Timing Diagram of D Flip-Flop

Page 16: Synchronous Sequential Logic Part I

16

Other Flip-Flops• D flip-flop is the most common– since it requires the fewest number of gates to

construct.• Two other widely used flip-flops– JK flip-flops – T flip-flops

• JK flip-flops– Three FF operations

1. Set2. Reset 3. Complement

Page 17: Synchronous Sequential Logic Part I

17

JK Flip-Flops

• Characteristic equation– Q(t+1) = JQ’(t) + K’Q(t)

J Q

C

K

J K Q(t+1) next state0 0 Q(t) no change0 1 0 Reset1 0 1 Set1 1 Q’(t) Complemen

tCharacteristic Table

Page 18: Synchronous Sequential Logic Part I

18

T (Toggle) Flip-Flop• Complementing flip-flop

T Q

C

T Q(t+1) next state0 Q(t) no change1 Q’(t) Complemen

tCharacteristic Table

• Characteristic equation– Q(t+1) =

J Q

C

K

T D Q

C

T

Page 19: Synchronous Sequential Logic Part I

19

Characteristic Equations

• The logical properties of a flip-flop can be expressed algebraically using characteristic equations

• D flip-flop– Q(t+1) = D

• JK flip-flop– Q(t+1) = JQ’(t) + K’Q(t)

• T flip-flop– Q(t+1) = Q(t) T

Page 20: Synchronous Sequential Logic Part I

What if we have Q(t+1) and Q(t), and looking for J and K values?

00 01 11 100,X 1,X X,0 X,1

Q(t)Q(t+1)Q(t+1) Q(t)=0X Q(t)=1J=

Q(t+1)’ Q(t)=1X Q(t)=0K=

20

J,K

Page 21: Synchronous Sequential Logic Part I

What if we have Q(t+1) and Q(t), and looking for D value?

00 01 11 100 1 1 0

Q(t)Q(t+1)

D= Q(t+1)

21

Page 22: Synchronous Sequential Logic Part I

What if we have Q(t+1) and Q(t), and looking for T value?

00 01 11 100 1 0 1

Q(t)Q(t+1)

T= Q(t+1) Q(t)

22

Page 23: Synchronous Sequential Logic Part I

23

Asynchronous Inputs of Flip-Flops• They are used to force the flip-flop to a particular

state independent of clock– “Preset” (direct set) set FF state to 1– “Clear” (direct reset) set FF state to 0

• They are especially useful at startup.– In digital circuits when the power is turned on, the state

of flip-flops are unknown.– Asynchronous inputs are used to bring all flip-flops to a

known “starting” state prior to clock operation.

Page 24: Synchronous Sequential Logic Part I

24

Asynchronous Inputs

reset C D Q Q’

1 X X 0 1

0 0 0 1

0 1 1 0

Starting State

D Q

C

data

reset

R

clk

D

Q

reset

Page 25: Synchronous Sequential Logic Part I

25

Analysis of Clocked Sequential Circuits

• Goal:– to determine the behavior of clocked sequential circuits– “Behavior” is determined from

• Inputs• Outputs • State of the flip-flops

– We have to obtain• Boolean expressions for output and next state

– output & state equations• (state) table• (state) diagram

Page 26: Synchronous Sequential Logic Part I

Analyze the circuit

Page 27: Synchronous Sequential Logic Part I

Run it and check the timing diagram

Page 28: Synchronous Sequential Logic Part I

28

State Equations• Also known as “transition equations”– specify the next state as a function of the present state and

inputs• Example

A(t+1)

B(t+1)

D Q

C

D Q

C

A

A’

B

B’

x

y

clk

Page 29: Synchronous Sequential Logic Part I

29

Output and State Equations• A(t+1) =• B(t+1) =• y =

A(t+1)

B(t+1)

D Q

C

D Q

C

A

A’

B

B’

x

y

clk

Page 30: Synchronous Sequential Logic Part I

30

Flip Flop Input Equations

• Flip-Flop input (excitation) equations• Same as the state equations in D flip-flops

Page 31: Synchronous Sequential Logic Part I

31

Example: State (Transition) Table

100000011000001000

111011101001110010

010100000000yBAxBA

outputNext stateinputPresent state

A sequential circuit with m FFs and n inputs needs 2m+n rows in the transition table

A(t+1) = B(t+1) = y =

Page 32: Synchronous Sequential Logic Part I

32

Example: State Diagram

00

01 10

0/0

1/0 0/0

1/0

1/1

0/0

11

1/0

State diagram provides the same information as state table

0/0

What is this circuit doing?

Present state

input Next state

output

A B x A B y

0 0 0 0 0 0

0 0 1 0 1 0

0 1 0 0 0 0

0 1 1 1 0 0

1 0 0 0 0 0

1 0 1 1 1 0

1 1 0 0 0 0

1 1 1 0 0 1

Page 33: Synchronous Sequential Logic Part I

33

Analysis with JK Flip-Flops• For a D flip-flop, the state equation is the same

as the flip-flop input equation– Q(t+1) = D

• For JK flip-flops, situation is different– Goal is to find state equations– Method

1. determine flip-flop input equations2. List the binary values of each input equation3. Use the corresponding flip-flop characteristic table to

determine the next state values in the state table

Page 34: Synchronous Sequential Logic Part I

34

Example: Analysis with JK FFs

• Flip-flop input equations– JA = and KA =

– JB = and KB =

JA

KA

JB

KB

J Q

C

D Q

C

A

B

x

clk

K

J Q

C

K1

y

Page 35: Synchronous Sequential Logic Part I

35

Example: Analysis with JK FFs• JA = Bx and KA = x’+B• JB = x and KB = 1

0

0

1

0

1

0

0

0

0

1

0

0

0

1

00

111

101

110

101

111

101

110

101

1

0

0

0

1

0

0

0

111

011

101

001

110

010

100

000

KBJBKAJABAxBA

FF inputsnext stateinputpresent State

Page 36: Synchronous Sequential Logic Part I

36

Example: Analysis with JK FFs

• Characteristic equations– A(t+1) = JAA’ + K’AA

– B(t+1) = JBB’ + K’BB

• Input equations– JA = Bx and KA = x’+B

– JB = x and KB = 1

• State equations– A(t+1) = =– B(t+1) =

Page 37: Synchronous Sequential Logic Part I

37

State Diagram

00

01 10

0/0

1/0 0/0

1/0

1/1

0/0

11

1/0

0/0

What is the circuit doing?

Present state

input Next state

output

A B x A B y

0 0 0 0 0 0

0 0 1 0 1 0

0 1 0 0 0 0

0 1 1 1 0 0

1 0 0 0 0 0

1 0 1 1 1 0

1 1 0 0 0 0

1 1 1 0 0 1

Page 38: Synchronous Sequential Logic Part I

38

Analysis with T Flip-Flops• Method is the same• Example

TA = TB =

y1 = A

y0 = B

TA

TB

T Q

C

D Q

C

A

B

x

clkT Q

C

reset

y0

y1

Page 39: Synchronous Sequential Logic Part I

39

Example: Analysis with T Flip-Flops

• Characteristic equation– A(t+1) = TA A– B(t+1) = TB B

• Input equations– TA = xB– TB = x

• Output equations– y1 = A – y0 = B

• State equations– A(t+1) =– B(t+1) =

Page 40: Synchronous Sequential Logic Part I

40

State Table & Diagram

Present state inpu

t

Next state output

A B x A B y1 y0

0 0 0 0 0 0 00 0 1 0 1 0 00 1 0 0 1 0 10 1 1 1 0 0 11 0 0 1 0 1 01 0 1 1 1 1 01 1 0 1 1 1 11 1 1 0 0 1 1

• A(t+1) = xB A• B(t+1) = x B• y1 = A; y0 = B

00/00

0 0

00

1

101/01

1

10/101

11/11

Page 41: Synchronous Sequential Logic Part I

41

Mealy and Moore Models

• There are two models for sequential circuits– Mealy – Moore

• They differ in the way the outputs are generated– Mealy:• output is a function of both present states and inputs

– Moore• output is a function of present state only

Page 42: Synchronous Sequential Logic Part I

42

Example: Mealy and Moore Machines

D Q

C

xy

S

clock

reset

C

Mealy machine

• External inputs, x and y, are asynchronous • Thus, outputs may have momentary (incorrect) values• Inputs must be synchronized with clocks• Outputs must be sampled only during clock edges

Page 43: Synchronous Sequential Logic Part I

43

Example: Moore Machines

• Outputs are already synchronized with clock.• They change synchronously with the clock edge.

T Q

C

D Q

C

A

B

x

clkT Q

C

reset

y

Page 44: Synchronous Sequential Logic Part I

Design Example - 1

• Implement the following state diagram with D FFs.

00/0

1

1/0 1/1

0/1

44

Page 45: Synchronous Sequential Logic Part I

Design Example - 1

• Implement the following state diagram with D FFs.

00/0

11/0 1/1

0/1

x Q(t) Q(t+1) D Z

0 0

0 1

1 0

1 1

45

Page 46: Synchronous Sequential Logic Part I

Design Example - 1

• Implement the following state diagram with D FFs.

00/0

11/0 1/1

0/1

x Q(t) Q(t+1) D Z

0 0 0 0

0 1 0 1

1 0 1 0

1 1 1 1

46

Page 47: Synchronous Sequential Logic Part I

Design Example - 1

• Implement the following state diagram with D FFs.

00/0

11/0 1/1

0/1

x Q(t) Q(t+1) D Z

0 0 0 0 0

0 1 0 0 1

1 0 1 1 0

1 1 1 1 1

D Qx Zclk

47

Page 48: Synchronous Sequential Logic Part I

Design Example - 2

• Design a sequential circuit that counts up (00, 01, 10, 11,00,…) when x=1, and counts down (00,11,10,01,00,…) when x=0. Use JK FFs.

48

Page 49: Synchronous Sequential Logic Part I

Design Example - 2

• Design a sequential circuit that counts up (00, 01, 10, 11,00,…) when x=1, and counts down (00,11,10,01,00,…) when x=0. Use JK FFs.

00 01

1011

x=1

x=1

x=1

x=1 x=0

49

Page 50: Synchronous Sequential Logic Part I

Design Example - 2

00 01

1011

x=1

x=1

x=1

x=1 x=0

x A B A(t+1) B(t+1) JA KA JB KB

0 0 0 1 10 0 1 0 00 1 0 0 10 1 1 1 01 0 0 0 11 0 1 1 01 1 0 1 11 1 1 0 0

50

Page 51: Synchronous Sequential Logic Part I

Design Example - 2

00 01

1011

x=1

x=1

x=1

x=1 x=0

x A B A(t+1) B(t+1) JA KA JB KB

0 0 0 1 1 10 0 1 0 0 00 1 0 0 1 X0 1 1 1 0 X1 0 0 0 1 01 0 1 1 0 11 1 0 1 1 X1 1 1 0 0 X

Q(t+1) Q(t)=0X Q(t)=1J=

Q(t+1)’ Q(t)=1X Q(t)=0K=

51

Page 52: Synchronous Sequential Logic Part I

Design Example - 2

00 01

1011

x=1

x=1

x=1

x=1 x=0

x A B A(t+1) B(t+1) JA KA JB KB

0 0 0 1 1 1 X0 0 1 0 0 0 X0 1 0 0 1 X 10 1 1 1 0 X 01 0 0 0 1 0 X1 0 1 1 0 1 X1 1 0 1 1 X 01 1 1 0 0 X 1

Q(t+1) Q(t)=0X Q(t)=1J=

Q(t+1)’ Q(t)=1X Q(t)=0K=

52

Page 53: Synchronous Sequential Logic Part I

Design Example - 2

00 01

1011

x=1

x=1

x=1

x=1 x=0

x A B A(t+1) B(t+1) JA KA JB KB

0 0 0 1 1 1 X 10 0 1 0 0 0 X X0 1 0 0 1 X 1 10 1 1 1 0 X 0 X1 0 0 0 1 0 X 11 0 1 1 0 1 X X1 1 0 1 1 X 0 11 1 1 0 0 X 1 X

Q(t+1) Q(t)=0X Q(t)=1J=

Q(t+1)’ Q(t)=1X Q(t)=0K=

53

Page 54: Synchronous Sequential Logic Part I

Design Example - 2

00 01

1011

x=1

x=1

x=1

x=1 x=0

x A B A(t+1) B(t+1) JA KA JB KB

0 0 0 1 1 1 X 1 X0 0 1 0 0 0 X X 10 1 0 0 1 X 1 1 X0 1 1 1 0 X 0 X 11 0 0 0 1 0 X 1 X1 0 1 1 0 1 X X 11 1 0 1 1 X 0 1 X1 1 1 0 0 X 1 X 1

Q(t+1) Q(t)=0X Q(t)=1J=

Q(t+1)’ Q(t)=1X Q(t)=0K=

54

Page 55: Synchronous Sequential Logic Part I

Design Example - 2

00 01

1011

x=1

x=1

x=1

x=1 x=0

x A B A(t+1) B(t+1) JA KA JB KB

0 0 0 1 1 1 X 1 X0 0 1 0 0 0 X X 10 1 0 0 1 X 1 1 X0 1 1 1 0 X 0 X 11 0 0 0 1 0 X 1 X1 0 1 1 0 1 X X 11 1 0 1 1 X 0 1 X1 1 1 0 0 X 1 X 1

ABx 00 01 11 10

0 1 0 X X1 0 1 X X

ABx 00 01 11 10

0 X X 0 11 X X 1 0

55

Page 56: Synchronous Sequential Logic Part I

Design Example - 2

• JA=xB+x’B’• KA=xB+x’B’• JB=1• KB=1• Draw the circuit

56

Page 57: Synchronous Sequential Logic Part I

Design Example - 3

57

Page 58: Synchronous Sequential Logic Part I

Design Example - 3

000 001 010 011 100 10158

Page 59: Synchronous Sequential Logic Part I

Design Example - 3A(t) B(t) C(t) A

(t+1)B

(t+1)C

(t+1) z1 z2 z3 z4 z5 z6 JA KA JB KB JC KC0 0 0 0 0 1 1 1 1 0 0 0            0 0 1 0 1 0 0 1 1 1 0 0            0 1 0 0 1 1 0 0 1 1 1 0            0 1 1 1 0 0 0 0 0 1 1 1            1 0 0 1 0 1 0 0 1 1 1 0            1 0 1 0 0 0 0 1 1 1 0 0            

000 001 010 011 100 101

Q(t+1) Q(t)=0X Q(t)=1J=

Q(t+1)’ Q(t)=1X Q(t)=0K=

59

Page 60: Synchronous Sequential Logic Part I

Design Example - 3A(t) B(t) C(t) A

(t+1)B

(t+1)C

(t+1) z1 z2 z3 z4 z5 z6 JA KA JB KB JC KC0 0 0 0 0 1 1 1 1 0 0 0 0   0 10 0 1 0 1 0 0 1 1 1 0 0 0   10 1 0 0 1 1 0 0 1 1 1 0 0   10 1 1 1 0 0 0 0 0 1 1 1 1  1 0 0 1 0 1 0 0 1 1 1 0     0 11 0 1 0 0 0 0 1 1 1 0 0     0

000 001 010 011 100 101

Q(t+1) Q(t)=0X Q(t)=1J=

Q(t+1)’ Q(t)=1X Q(t)=0K=

60

Page 61: Synchronous Sequential Logic Part I

Design Example - 3A(t) B(t) C(t) A

(t+1)B

(t+1)C

(t+1) z1 z2 z3 z4 z5 z6 JA KA JB KB JC KC0 0 0 0 0 1 1 1 1 0 0 0 0   0 10 0 1 0 1 0 0 1 1 1 0 0 0   1 X0 1 0 0 1 1 0 0 1 1 1 0 0   X 10 1 1 1 0 0 0 0 0 1 1 1 1   X X1 0 0 1 0 1 0 0 1 1 1 0  X   0 11 0 1 0 0 0 0 1 1 1 0 0  X   0 X

000 001 010 011 100 101

Q(t+1) Q(t)=0X Q(t)=1J=

Q(t+1)’ Q(t)=1X Q(t)=0K=

61

Page 62: Synchronous Sequential Logic Part I

Design Example - 3A(t) B(t) C(t) A

(t+1)B

(t+1)C

(t+1) z1 z2 z3 z4 z5 z6 JA KA JB KB JC KC0 0 0 0 0 1 1 1 1 0 0 0 0   0 10 0 1 0 1 0 0 1 1 1 0 0 0   1 X 10 1 0 0 1 1 0 0 1 1 1 0 0   X 0 10 1 1 1 0 0 0 0 0 1 1 1 1   X 1 X 11 0 0 1 0 1 0 0 1 1 1 0  X  0 0 11 0 1 0 0 0 0 1 1 1 0 0  X  1 0 X 1

000 001 010 011 100 101

Q(t+1) Q(t)=0X Q(t)=1J=

Q(t+1)’ Q(t)=1X Q(t)=0K=

62

Page 63: Synchronous Sequential Logic Part I

Design Example - 3A(t) B(t) C(t) A

(t+1)B

(t+1)C

(t+1) z1 z2 z3 z4 z5 z6 JA KA JB KB JC KC0 0 0 0 0 1 1 1 1 0 0 0 0  X 0 X 1 X0 0 1 0 1 0 0 1 1 1 0 0 0  X 1 X X 10 1 0 0 1 1 0 0 1 1 1 0 0  X X 0 1 X0 1 1 1 0 0 0 0 0 1 1 1 1  X X 1 X 11 0 0 1 0 1 0 0 1 1 1 0  X  0 0 X 1 X1 0 1 0 0 0 0 1 1 1 0 0  X  1 0 X X 1

000 001 010 011 100 101

Q(t+1) Q(t)=0X Q(t)=1J=

Q(t+1)’ Q(t)=1X Q(t)=0K=

63

Page 64: Synchronous Sequential Logic Part I

Design Example - 3A(t) B(t) C(t) A

(t+1)B

(t+1)C

(t+1) z1 z2 z3 z4 z5 z6 JA KA JB KB JC KC0 0 0 0 0 1 1 1 1 0 0 0 0  X 0 X 1 X0 0 1 0 1 0 0 1 1 1 0 0 0  X 1 X X 10 1 0 0 1 1 0 0 1 1 1 0 0  X X 0 1 X0 1 1 1 0 0 0 0 0 1 1 1 1  X X 1 X 11 0 0 1 0 1 0 0 1 1 1 0  X  0 0 X 1 X1 0 1 0 0 0 0 1 1 1 0 0  X  1 0 X X 11 1 0 X X X X X X1 1 1 X X X X X X

BCA 00 01 11 10

0 0 0 1 01 X X X X

BCA 00 01 11 10

0 X X X X1 0 1 X X

JA=BC KA=C64

Page 65: Synchronous Sequential Logic Part I

Design Example - 3A(t) B(t) C(t) A

(t+1)B

(t+1)C

(t+1) z1 z2 z3 z4 z5 z6 JA KA JB KB JC KC0 0 0 0 0 1 1 1 1 0 0 0 0  X 0 X 1 X0 0 1 0 1 0 0 1 1 1 0 0 0  X 1 X X 10 1 0 0 1 1 0 0 1 1 1 0 0  X X 0 1 X0 1 1 1 0 0 0 0 0 1 1 1 1  X X 1 X 11 0 0 1 0 1 0 0 1 1 1 0  X  0 0 X 1 X1 0 1 0 0 0 0 1 1 1 0 0  X  1 0 X X 11 1 0 X X X X X X1 1 1 X X X X X X

BCA 00 01 11 10

0 0 1 X X1 0 0 X X

BCA 00 01 11 10

0 X X 1 01 X X X X

JB=A’C KB=C65

Page 66: Synchronous Sequential Logic Part I

Design Example - 3A(t) B(t) C(t) A

(t+1)B

(t+1)C

(t+1) z1 z2 z3 z4 z5 z6 JA KA JB KB JC KC0 0 0 0 0 1 1 1 1 0 0 0 0  X 0 X 1 X0 0 1 0 1 0 0 1 1 1 0 0 0  X 1 X X 10 1 0 0 1 1 0 0 1 1 1 0 0  X X 0 1 X0 1 1 1 0 0 0 0 0 1 1 1 1  X X 1 X 11 0 0 1 0 1 0 0 1 1 1 0  X  0 0 X 1 X1 0 1 0 0 0 0 1 1 1 0 0  X  1 0 X X 11 1 0 X X X X X X1 1 1 X X X X X X

BCA 00 01 11 10

0 1 X 1 X1 1 X X X

BCA 00 01 11 10

0 X 1 1 X1 X 1 X X

JC=1 KC=166

Page 67: Synchronous Sequential Logic Part I

Design Example - 3

JA QA

C

KA

JB QB

C

KB

JC QC

C

KC

67

Page 68: Synchronous Sequential Logic Part I

Design Example - 3A(t) B(t) C(t) A

(t+1)B

(t+1)C

(t+1) z1 z2 z3 z4 z5 z6 JA KA JB KB JC KC0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 1 10 0 1 0 1 0 0 1 1 1 0 0 0 1 1 1 1 10 1 0 0 1 1 0 0 1 1 1 0 0 0 0 0 1 10 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 11 0 0 1 0 1 0 0 1 1 1 0 0 0 0 0 1 11 0 1 0 0 0 0 1 1 1 0 0 0 1 0 1 1 11 1 0 0 0 0 0 1 11 1 1 1 1 0 1 1 1

JA=BC KA=CJB=A’C KB=CJC=1 KC=1

68

Page 69: Synchronous Sequential Logic Part I

Design Example - 3A(t) B(t) C(t) A

(t+1)B

(t+1)C

(t+1) z1 z2 z3 z4 z5 z6 JA KA JB KB JC KC0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 1 10 0 1 0 1 0 0 1 1 1 0 0 0 1 1 1 1 10 1 0 0 1 1 0 0 1 1 1 0 0 0 0 0 1 10 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 11 0 0 1 0 1 0 0 1 1 1 0 0 0 0 0 1 11 0 1 0 0 0 0 1 1 1 0 0 0 1 0 1 1 11 1 0 1 1 1 0 0 0 0 1 11 1 1 0 0 0 1 1 0 1 1 1

JA=BC KA=CJB=A’C KB=CJC=1 KC=1

A(t+1)=BCA’+C’AB(t+1)=A’CB’+C’B

C(t+1)=C’

69

Page 70: Synchronous Sequential Logic Part I

Design Example - 3A(t) B(t) C(t) A

(t+1)B

(t+1)C

(t+1) z1 z2 z3 z4 z5 z6 JA KA JB KB JC KC0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 1 10 0 1 0 1 0 0 1 1 1 0 0 0 1 1 1 1 10 1 0 0 1 1 0 0 1 1 1 0 0 0 0 0 1 10 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 11 0 0 1 0 1 0 0 1 1 1 0 0 0 0 0 1 11 0 1 0 0 0 0 1 1 1 0 0 0 1 0 1 1 11 1 0 1 1 1 0 0 0 0 1 11 1 1 0 0 0 1 1 0 1 1 1

000 001 010 011 100 101

111 11070

Page 71: Synchronous Sequential Logic Part I

Design Example - 3

• Repeat your design with D FFs

71

Page 72: Synchronous Sequential Logic Part I

Design Example - 3A(t) B(t) C(t) A

(t+1)B

(t+1)C

(t+1) z1 z2 z3 z4 z5 z6 DA DB DC0 0 0 0 0 1 1 1 1 0 0 0 10 0 1 0 1 0 0 1 1 1 0 0 10 1 0 0 1 1 0 0 1 1 1 0 1 10 1 1 1 0 0 0 0 0 1 1 1 11 0 0 1 0 1 0 0 1 1 1 0 1 11 0 1 0 0 0 0 1 1 1 0 01 1 0 1 1 1 1 1 11 1 1 0 0 0

A(t+1)=BCA’+C’A = DA

B(t+1)=A’CB’+C’B = DB

C(t+1)=C’ = DC

72

Page 73: Synchronous Sequential Logic Part I

Design Example - 4

• Design a logic circuit that detects the sequence 1011 and outputs 1 in that case, 0 otherwise.

73

Page 74: Synchronous Sequential Logic Part I

Design Example - 4

I.C. 1 10 101

0/0

1/0 0/0

1/0

0/0

1/0

0/0

1/1

74

Page 75: Synchronous Sequential Logic Part I

Design Example - 4

00 01 10 11

0/0

1/0 0/0

1/0

0/0

1/0

0/0

1/1

75

Page 76: Synchronous Sequential Logic Part I

Design Example - 4

x(t) A(t) B(t) A(t+1)

B(t+1) Z JA KA JB KB

0 0 0 0 0 0        0 0 1 1 0 0        0 1 0 0 0 0        0 1 1 1 0 0        1 0 0 0 1 0        1 0 1 0 1 0        1 1 0 1 1 0        1 1 1 0 1 1        

76

Page 77: Synchronous Sequential Logic Part I

Design Example - 4

x(t) A(t) B(t) A(t+1)

B(t+1) Z JA KA JB KB

0 0 0 0 0 0 0 X 0  X0 0 1 1 0 0 1 X X  10 1 0 0 0 0  X 1 0  X0 1 1 1 0 0  X 0 X  11 0 0 0 1 0  0  X 1  X1 0 1 0 1 0  0  X X  01 1 0 1 1 0  X  0 1  X1 1 1 0 1 1  X  1 X  0

77

Page 78: Synchronous Sequential Logic Part I

Design Example - 4AB

x 00 01 11 100 0 1 X X1 0 0 X X

ABx 00 01 11 10

0 X X 0 11 X X 1 0

JA=x’B KA=xB+x’B’AB

x 00 01 11 100 0 X X 01 1 X X 1

ABx 00 01 11 10

0 X 1 1 X1 X 0 0 X

JB=x KB=x’78

Page 79: Synchronous Sequential Logic Part I

Design Example - 4

JA QA

C

KA

JB QB

C

KB

79

Page 80: Synchronous Sequential Logic Part I

Design Example - 4

DA QA

C

DB QB

C

80