1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe...

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

Transcript of 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe...

Page 1: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

1

Synchronous Sequential LogicPart I

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

[email protected]

Page 2: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

Machine

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

8

Page 9: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

Representation with State Diagramx1 x2 xi xl

d1

d2

di dj ,z

dr-1

dr

9

Page 10: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

Assign a Node to Each State

di

xk/zk

dj

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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

Example - Fill out the rest

0 1

A E, 0 D, 1

B F, 0 D, 0

C E, 0 B, 1

D F, 0 B, 0

E C, 0 F, 1

F B, 0 C, 0

A E

D C

B F

12

Page 13: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

Example

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

• I5 follower of C is F

0 1

A E, 0 D, 1

B F, 0 D, 0

C E, 0 B, 1

D F, 0 B, 0

E C, 0 F, 1

F 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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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 0

1 1

Characteristic Table14

Page 15: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

Timing Diagram of D Flip-Flop

Page 16: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

17

JK Flip-Flops

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

J Q

C

K

J K Q(t+1) next state

0 0 Q(t) no change

0 1 0 Reset

1 0 1 Set

1 1 Q’(t) Complement

Characteristic Table

Page 18: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

18

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

T Q

C

T Q(t+1) next state

0 Q(t) no change

1 Q’(t) Complement

Characteristic Table

• Characteristic equation– Q(t+1) =

J Q

C

K

T D Q

C

T

Page 19: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

Analyze the circuit

Page 27: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

Run it and check the timing diagram

Page 28: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

30

Flip Flop Input Equations

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

Page 31: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

40

State Table & Diagram

Present state inpu

t

Next state output

A B x A B y1 y0

0 0 0 0 0 0 0

0 0 1 0 1 0 0

0 1 0 0 1 0 1

0 1 1 1 0 0 1

1 0 0 1 0 1 0

1 0 1 1 1 1 0

1 1 0 1 1 1 1

1 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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

Design Example - 1

• Implement the following state diagram with D FFs.

00/0

1

1/0 1/1

0/1

44

Page 45: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

Design Example - 1

• Implement the following state diagram with D FFs.

00/0

1

1/0 1/1

0/1

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

0 0

0 1

1 0

1 1

45

Page 46: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

Design Example - 1

• Implement the following state diagram with D FFs.

00/0

1

1/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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

Design Example - 1

• Implement the following state diagram with D FFs.

00/0

1

1/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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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

0 0 1 0 0

0 1 0 0 1

0 1 1 1 0

1 0 0 0 1

1 0 1 1 0

1 1 0 1 1

1 1 1 0 0

50

Page 51: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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

0 0 1 0 0 0

0 1 0 0 1 X

0 1 1 1 0 X

1 0 0 0 1 0

1 0 1 1 0 1

1 1 0 1 1 X

1 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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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

0 0 1 0 0 0 X

0 1 0 0 1 X 1

0 1 1 1 0 X 0

1 0 0 0 1 0 X

1 0 1 1 0 1 X

1 1 0 1 1 X 0

1 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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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

0 0 1 0 0 0 X X

0 1 0 0 1 X 1 1

0 1 1 1 0 X 0 X

1 0 0 0 1 0 X 1

1 0 1 1 0 1 X X

1 1 0 1 1 X 0 1

1 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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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 X

0 0 1 0 0 0 X X 1

0 1 0 0 1 X 1 1 X

0 1 1 1 0 X 0 X 1

1 0 0 0 1 0 X 1 X

1 0 1 1 0 1 X X 1

1 1 0 1 1 X 0 1 X

1 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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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 X

0 0 1 0 0 0 X X 1

0 1 0 0 1 X 1 1 X

0 1 1 1 0 X 0 X 1

1 0 0 0 1 0 X 1 X

1 0 1 1 0 1 X X 1

1 1 0 1 1 X 0 1 X

1 1 1 0 0 X 1 X 1

ABx 00 01 11 10

0 1 0 X X

1 0 1 X X

ABx 00 01 11 10

0 X X 0 1

1 X X 1 055

Page 56: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

Design Example - 2

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

56

Page 57: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

Design Example - 3

57

Page 58: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

Design Example - 3

000 001 010 011 100 10158

Page 59: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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 0

1 X X X X

BCA 00 01 11 10

0 X X X X

1 0 1 X X

JA=BC KA=C64

Page 65: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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 X

1 0 0 X X

BCA 00 01 11 10

0 X X 1 0

1 X X X X

JB=A’C KB=C65

Page 66: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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 X

1 1 X X X

BCA 00 01 11 10

0 X 1 1 X

1 X 1 X X

JC=1 KC=166

Page 67: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

Design Example - 3

JA QA

C

KA

JB QB

C

KB

JC QC

C

KC

67

Page 68: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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=C

JB=A’C KB=C

JC=1 KC=1

68

Page 69: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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=C

JB=A’C KB=C

JC=1 KC=1

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

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

C(t+1)=C’

69

Page 70: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

Design Example - 3

• Repeat your design with D FFs

71

Page 72: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

Design Example - 4

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

73

Page 74: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

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: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

Design Example - 4AB

x 00 01 11 10

0 0 1 X X

1 0 0 X X

ABx 00 01 11 10

0 X X 0 1

1 X X 1 0

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

ABx 00 01 11 10

0 0 X X 0

1 1 X X 1

ABx 00 01 11 10

0 X 1 1 X

1 X 0 0 X

JB=x KB=x’

78

Page 79: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

Design Example - 4

JA QA

C

KA

JB QB

C

KB

79

Page 80: 1 Synchronous Sequential Logic Part I Mantıksal Tasarım – BBM231 M. Önder Efe onderefe@cs.hacettepe.edu.tr.

Design Example - 4

DA QA

C

DB QB

C

80