CPSC 121: Models of Computation Module 9: Sequential Circuits - - PowerPoint PPT Presentation

cpsc 121 models of computation
SMART_READER_LITE
LIVE PREVIEW

CPSC 121: Models of Computation Module 9: Sequential Circuits - - PowerPoint PPT Presentation

CPSC 121: Models of Computation Module 9: Sequential Circuits Module 9: Sequential Circuits By the start of class, you should be able to Trace the operation of a DFA (deterministic finite- state automaton) represented as a diagram on an input,


slide-1
SLIDE 1

CPSC 121: Models of Computation

Module 9: Sequential Circuits

slide-2
SLIDE 2

CPSC 121 – 2019W T2 2

Module 9: Sequential Circuits

By the start of class, you should be able to

Trace the operation of a DFA (deterministic finite- state automaton) represented as a diagram on an input, and indicate whether the DFA accepts or rejects the input. Deduce the language accepted by a simple DFA after working through multiple example inputs.

slide-3
SLIDE 3

CPSC 121 – 2019W T2 3

Module 9: Sequential Circuits

Quiz 9 feedback:

Well done. Many fine answers to the push-button light question. We will revisit this problem soon.

slide-4
SLIDE 4

CPSC 121 – 2019W T2 4

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

CPSC 121: the BIG questions:

  • 1. How can we build a computer that is able to

execute a user-defined program?

a) Computers execute instructions one at a time. b) They need to remember values, unlike the circuits you designed in labs 1, 2, 3 and 4. c) That is, a computer is a very large and very complicated sequential circuit.

Module 9: Sequential Circuits

slide-5
SLIDE 5

CPSC 121 – 2019W T2 5

Module 9: Sequential Circuits

By the end of this module, you should be able to:

Translate a DFA into a sequential circuit that implements the DFA (lab 8). Explain how and why each part of the resulting circuit works.

slide-6
SLIDE 6

CPSC 121 – 2019W T2 6

Module 9: Sequential Circuits

Announcements:

Pre-class quiz #10 is due Monday November 16

th at

19:00. Textbook sections:

Epp, 4

th or 5 th edition: 5.1 to 5.4

Epp, 3

rd edition: 4.1 to 4.4

Rosen, 6

th edition: 4.1, 4.2

Rosen, 7

th edition: 5.1, 5.2

Assignment #4 is also due November 16

th at 19:00.

slide-7
SLIDE 7

CPSC 121 – 2019W T2 7

Module 9: Sequential Circuits

Announcements (continued):

Pre-class quiz #11 is tentatively due Monday November 30th at 19:00. Textbook sections:

Epp, 4

th or 5 th edition: remainder of 6.1, 7.1

Epp, 3

rd edition: remainder of 5.1, 6.1

Rosen, 6

th edition: remainder of 2.1, 2.3 up to the top of

page 136. Rosen, 7

th edition: remainder of 2.1, 2.3 down to the

bottom of page 141.

slide-8
SLIDE 8

CPSC 121 – 2019W T2 8

Module 9: Sequential Circuits

Module Summary

Latches, toggles and flip-flops. Analyzing sequential circuits. Other problems and exercises.

slide-9
SLIDE 9

CPSC 121 – 2019W T2 9

Module 9.1: Latches, toggles and flip-flops

A circuit that implements a finite state machine

  • f either type needs to remember the current

state:

It needs memory.

A latch A flip-flop A register (multiple side by side flip-flops with a common clock)

b0 b1 b2 b3

slide-10
SLIDE 10

CPSC 121 – 2019W T2 10

Module 9.1: Latches, toggles and flip-flops

Recall the latch from lab #5: When en is low, the MUX retains its current value. When en is high, it changes its value to d instead.

slide-11
SLIDE 11

CPSC 121 – 2019W T2 11

Module 9.1: Latches, toggles and flip-flops

Problem: Design a circuit that changes state every time a button is pushed.

? ?

slide-12
SLIDE 12

CPSC 121 – 2019W T2 12

Module 9.1: Latches, toggles and flip-flops

What signal does the button generate?

low high

slide-13
SLIDE 13

CPSC 121 – 2019W T2 13

Module 9.1: Latches, toggles and flip-flops

Complete the circuit...

Circuit to calculate the next state

slide-14
SLIDE 14

CPSC 121 – 2019W T2 14

Module 9.1: Latches, toggles and flip-flops

What is wrong with our solution?

a) We should have used XOR instead of NOT. b) The light will be in a random, unpredictable state. c) The delay introduced by the NOT gate is too long. d) There is some other problem with the circuit. e) Nothing is wrong.

slide-15
SLIDE 15

CPSC 121 – 2019W T2 16

Module 9.1: Latches, toggles and flip-flops

This toll booth has a similar problem.

From MIT 6.004, Fall 2002

slide-16
SLIDE 16

CPSC 121 – 2019W T2 17

Module 9.1: Latches, toggles and flip-flops

Instead use this:

From MIT 6.004, Fall 2002 P.S. Call this a “bar”, not a “gate”,

  • r we'll tie ourselves in (k)nots.
slide-17
SLIDE 17

CPSC 121 – 2019W T2 18

Module 9.1: Latches, toggles and flip-flops

The circuit version of this improved tollbooth is called a flip-flop:

slide-18
SLIDE 18

CPSC 121 – 2019W T2 19

Module 9.1: Latches, toggles and flip-flops

Assume the value stored in the flip-flop is 1 and d = 0. As long as the clock remains low:

1 1

slide-19
SLIDE 19

CPSC 121 – 2019W T2 20

Module 9.1: Latches, toggles and flip-flops

Observe that the two select input are never the same.

1 1

slide-20
SLIDE 20

CPSC 121 – 2019W T2 21

Module 9.1: Latches, toggles and flip-flops

Now the clock goes high:

1 1

slide-21
SLIDE 21

CPSC 121 – 2019W T2 22

Module 9.1: Latches, toggles and flip-flops

Now the clock goes low again:

1 1

slide-22
SLIDE 22

CPSC 121 – 2019W T2 23

Module 9.1: Latches, toggles and flip-flops

Finally we set d = 1:

1 1 1 1

slide-23
SLIDE 23

CPSC 121 – 2019W T2 24

Module 9.1: Latches, toggles and flip-flops

And we get the following improved circuit for

  • ur button and light problem:
slide-24
SLIDE 24

CPSC 121 – 2019W T2 25

Module 9: Sequential Circuits

Module Summary

Latches, toggles and flip-flops. Analyzing sequential circuits. Other problems and exercises.

slide-25
SLIDE 25

CPSC 121 – 2019W T2 26

Module 9.2: Analyzing sequential circuits

How does a sequential circuit work?

When the clock is low, the “bar” on every flip-flop and register is down – they do not take on a new value. Values propagate everywhere else in the circuit. When the clock goes from low to high, the “bars” go up, and the values sitting at the D inputs of flip-flops and registers go into them. The “bars” then come back down, and the process is repeated.

slide-26
SLIDE 26

CPSC 121 – 2019W T2 27

Module 9.2: Analyzing sequential circuits

Example: consider the following circuit:

Time t = 0

1 1 1

slide-27
SLIDE 27

CPSC 121 – 2019W T2 28

Module 9.2: Analyzing sequential circuits

Example: consider the following circuit:

Time t = 0.5

1 1 1 1 1 1 1

slide-28
SLIDE 28

CPSC 121 – 2019W T2 29

Module 9.2: Analyzing sequential circuits

Example: consider the following circuit:

Time t = 1.0

1 1 2 1 3 1 1

slide-29
SLIDE 29

CPSC 121 – 2019W T2 30

Module 9.2: Analyzing sequential circuits

What will be the state of the circuit at time t = 5.0?

Time t = 1.0

1 1 2 1 3 1 1

slide-30
SLIDE 30

CPSC 121 – 2019W T2 31

How do you design a sequential circuit?

Figure out which state it needs to perform its task.

Add one or more flip-flops or registers to store it.

Determine how each part of the state changes from

  • ne clock cycle to the next.

Add gates to compute the new value of each part of the state from the old state information.

Module 9.2: Analyzing sequential circuits

slide-31
SLIDE 31

CPSC 121 – 2019W T2 32

Module 9: Sequential Circuits

Module Summary

Latches, toggles and flip-flops. Analyzing sequential circuits. Other problems and exercises.

slide-32
SLIDE 32

CPSC 121 – 2019W T2 33

Module 9.3: Other problems and exercises

Real numbers:

We can write numbers in decimal using the format

(-)? d+ (.d+)?

where the ( )? mean that the part in parentheses is

  • ptional, and d+ stands for “1 or more digits”.

Design a DFA that will accept input strings that are valid real numbers using this format.

You can use else as a label on an edge instead of listing every character that does not appear on another edge leaving from a state.

slide-33
SLIDE 33

CPSC 121 – 2019W T2 34

Module 9.3: Other problems and exercises

Real numbers (continued)

Then design a circuit that turns a LED on if the input is a valid real number, and off otherwise.

Hint: Logisim has a keyboard component you can use. Hint: my DFA for this problem has 6 states.

Design a DFA for a vending machine that sells

  • ne of three items (lemon juice, whiteboard

markers, and corn flour) for 35¢ each. It should accept 5¢, 10¢ and 25¢ coins, and does not need to return change.