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 Midterm 2 Information Midterm 2: Tuesday March 17 th , 17:00 to 18:15 A to K: WOOD 2 L to S: CIRS 1250 T to Z: ESB 1013 Modules 5 to 9 (up to the end of Friday's class) + Labs 4


slide-1
SLIDE 1

CPSC 121: Models of Computation

Module 9: Sequential Circuits

slide-2
SLIDE 2

CPSC 121 – 2019W T2 2

Midterm 2 Information

Midterm 2:

Tuesday March 17th, 17:00 to 18:15

A to K: WOOD 2 L to S: CIRS 1250 T to Z: ESB 1013

Modules 5 to 9 (up to the end of Friday's class) + Labs 4 to 7. Go to Resources → Practice Material for old quizzes and midterm exams.

slide-3
SLIDE 3

CPSC 121 – 2019W T2 3

Midterm 2 Information

Midterm 2:

You should bring

Your UBC Card (we will be checking IDs) Your CS ID (we will upload the exams to Gradescope) A dark pen (exams too light to scan well make up grumpy) A ruler (to draw straight wires)

Anything with electronics in it must remain in your bag.

So no calculator, laptop, smart phone, smart watch, etc.

slide-4
SLIDE 4

CPSC 121 – 2019W T2 4

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-5
SLIDE 5

CPSC 121 – 2019W T2 5

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-6
SLIDE 6

CPSC 121 – 2019W T2 6

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

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-7
SLIDE 7

CPSC 121 – 2019W T2 7

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-8
SLIDE 8

CPSC 121 – 2019W T2 8

Module 9: Sequential Circuits

Announcements:

Pre-class quiz #10 is due Sunday March 15th at 19:00. Textbook sections:

Epp, 4th or 5th edition: 5.1 to 5.4 Epp, 3rd edition: 4.1 to 4.4 Rosen, 6th edition: 4.1, 4.2 Rosen, 7th edition: 5.1, 5.2

Assignment #4 is due Sunday at 19:00.

slide-9
SLIDE 9

CPSC 121 – 2019W T2 9

Module 9: Sequential Circuits

Announcements (continued):

Pre-class quiz #11 is tentatively due Sunday March 29th at 19:00. Textbook sections:

Epp, 4th or 5th edition: remainder of 6.1, 7.1 Epp, 3rd edition: remainder of 5.1, 6.1 Rosen, 6th edition: remainder of 2.1, 2.3 up to the top of page 136. Rosen, 7th edition: remainder of 2.1, 2.3 down to the bottom of page 141.

slide-10
SLIDE 10

CPSC 121 – 2019W T2 10

Module 9: Sequential Circuits

Module Summary

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

slide-11
SLIDE 11

CPSC 121 – 2019W T2 11

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-12
SLIDE 12

CPSC 121 – 2019W T2 12

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-13
SLIDE 13

CPSC 121 – 2019W T2 13

Module 9.1: Latches, toggles and flip-flops

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

? ?

slide-14
SLIDE 14

CPSC 121 – 2019W T2 14

Module 9.1: Latches, toggles and flip-flops

What signal does the button generate?

low high

slide-15
SLIDE 15

CPSC 121 – 2019W T2 15

Module 9.1: Latches, toggles and flip-flops

Complete the circuit...

Circuit to calculate the next state

slide-16
SLIDE 16

CPSC 121 – 2019W T2 16

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-17
SLIDE 17

CPSC 121 – 2019W T2 18

Module 9.1: Latches, toggles and flip-flops

This toll booth has a similar problem.

From MIT 6.004, Fall 2002

slide-18
SLIDE 18

CPSC 121 – 2019W T2 19

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-19
SLIDE 19

CPSC 121 – 2019W T2 20

Module 9.1: Latches, toggles and flip-flops

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

slide-20
SLIDE 20

CPSC 121 – 2019W T2 21

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-21
SLIDE 21

CPSC 121 – 2019W T2 22

Module 9.1: Latches, toggles and flip-flops

Observe that the two select input are never the same.

1 1

slide-22
SLIDE 22

CPSC 121 – 2019W T2 23

Module 9.1: Latches, toggles and flip-flops

Now the clock goes high:

1 1

slide-23
SLIDE 23

CPSC 121 – 2019W T2 24

Module 9.1: Latches, toggles and flip-flops

Now the clock goes low again:

1 1

slide-24
SLIDE 24

CPSC 121 – 2019W T2 25

Module 9.1: Latches, toggles and flip-flops

Finally we set d = 1:

1 1 1 1

slide-25
SLIDE 25

CPSC 121 – 2019W T2 26

Module 9.1: Latches, toggles and flip-flops

And we get the following improved circuit for

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

CPSC 121 – 2019W T2 27

Module 9: Sequential Circuits

Module Summary

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

slide-27
SLIDE 27

CPSC 121 – 2019W T2 28

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-28
SLIDE 28

CPSC 121 – 2019W T2 29

Module 9.2: Analyzing sequential circuits

Example: consider the following circuit:

Time t = 0

1 1 1

slide-29
SLIDE 29

CPSC 121 – 2019W T2 30

Module 9.2: Analyzing sequential circuits

Example: consider the following circuit:

Time t = 0.5

1 1 1 1 1 1 1

slide-30
SLIDE 30

CPSC 121 – 2019W T2 31

Module 9.2: Analyzing sequential circuits

Example: consider the following circuit:

Time t = 1.0

1 1 2 1 3 1 1

slide-31
SLIDE 31

CPSC 121 – 2019W T2 32

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-32
SLIDE 32

CPSC 121 – 2019W T2 33

Module 9.2: Analyzing sequential circuits

3 2 1 3

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

Time t = 1.5

1 1

slide-33
SLIDE 33

CPSC 121 – 2019W T2 34

Module 9.2: Analyzing sequential circuits

3 1 1 3 4

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

Time t = 2.0

1 1

slide-34
SLIDE 34

CPSC 121 – 2019W T2 35

Module 9.2: Analyzing sequential circuits

1 4 1 1 3 4

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

Time t = 2.5

1 1

slide-35
SLIDE 35

CPSC 121 – 2019W T2 36

Module 9.2: Analyzing sequential circuits

1 4 2 4 6

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

Time t = 3.0

1 1

slide-36
SLIDE 36

CPSC 121 – 2019W T2 37

Module 9.2: Analyzing sequential circuits

6 2 4 6

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

Time t = 3.5

11

slide-37
SLIDE 37

CPSC 121 – 2019W T2 38

Module 9.2: Analyzing sequential circuits

6 1 1 6 7

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

Time t = 4.0

11

slide-38
SLIDE 38

CPSC 121 – 2019W T2 39

Module 9.2: Analyzing sequential circuits

1 7 1 1 6 7

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

Time t = 4.5

1 111

slide-39
SLIDE 39

CPSC 121 – 2019W T2 40

Module 9.2: Analyzing sequential circuits

1 7 2 7 9

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

Time t = 5.0

111 1

slide-40
SLIDE 40

CPSC 121 – 2019W T2 41

Module 9: Sequential Circuits

Module Summary

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

slide-41
SLIDE 41

CPSC 121 – 2019W T2 42

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-42
SLIDE 42

CPSC 121 – 2019W T2 43

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.