Kevin Walsh CS 3410, Spring 2010 Computer Science Cornell University State & Finite State Machines See: P&H Appendix C.7. C.8, C.10, C.11.

Slides:



Advertisements
Similar presentations
Lab 2: Finite State Machines CS 3410 Spring 2015.
Advertisements

Prof. Kavita Bala and Prof. Hakim Weatherspoon CS 3410, Spring 2014 Computer Science Cornell University See P&H Appendix B.7. B.8, B.10, B.11.
State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.
Changes in input values are reflected immediately (subject to the speed of light and electrical delays) on the outputs Each gate has an associated “electrical.
Introduction to Sequential Logic Design Latches. 2 Terminology A bistable memory device is the generic term for the elements we are studying. Latches.
CHAPTER 3 Sequential Logic/ Circuits.  Concept of Sequential Logic  Latch and Flip-flops (FFs)  Shift Registers and Application  Counters (Types,
Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and.
CPS3340 COMPUTER ARCHITECTURE Fall Semester, /23/2013 Lecture 7: Computer Clock & Memory Elements Instructor: Ashraf Yaseen DEPARTMENT OF MATH &
Sequential Circuits1 DIGITAL LOGIC DESIGN by Dr. Fenghui Yao Tennessee State University Department of Computer Science Nashville, TN.
Multiplexors Sequential Circuits and Finite State Machines Prof. Sin-Min Lee Department of Computer Science.
Introduction to Sequential Logic Design Bistable elements Latches.
ReturnNext  Latch : a sequential device that watches all of its inputs continuously and changes its outputs at any time, independent of a clocking signal.
1 Sequential Circuits –Digital circuits that use memory elements as part of their operation –Characterized by feedback path –Outputs depend not only on.
Circuits require memory to store intermediate data
Dr. ClincyLecture1 Appendix A – Part 2: Logic Circuits Current State or output of the device is affected by the previous states Circuit Flip Flops New.
State and Finite State Machines
Sequential Circuit Analysis & Design Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals Dr. Aiman H. El-Maleh.
Prof. Hakim Weatherspoon CS 3410, Spring 2015 Computer Science Cornell University See P&H Appendix B.7. B.8, B.10, B.11.
Prof. Hakim Weatherspoon CS 3410, Spring 2015 Computer Science Cornell University See P&H Appendix B.7. B.8, B.10, B.11.
Arithmetic Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H 2.4 (signed), 2.5, 2.6, C.6, and Appendix C.6.
How Computers Work Lecture 6 Page 1 How Computers Work Lecture 6 Finite State Machines.
Hakim Weatherspoon CS 3410, Spring 2011 Computer Science Cornell University Memory See: P&H Appendix C.8, C.9.
1 Sequential logic networks I. Motivation & Examples  Output depends on current input and past history of inputs.  “State” embodies all the information.
ENGIN112 L20: Sequential Circuits: Flip flops October 20, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 20 Sequential Circuits: Flip.
Give qualifications of instructors: DAP
11/10/2004EE 42 fall 2004 lecture 301 Lecture #30 Finite State Machines Last lecture: –CMOS fabrication –Clocked and latched circuits This lecture: –Finite.
CS 151 Digital Systems Design Lecture 20 Sequential Circuits: Flip flops.
A clocked synchronous state-machine changes state only when a triggering edge or “tick” occurs on the clock signal. ReturnNext  “State-machine”: is a.
State & Finite State Machines Hakim Weatherspoon CS 3410, Spring 2011 Computer Science Cornell University See P&H Appendix C.7. C.8, C.10, C.11.
1 Chapter 5: Datapath and Control CS 447 Jason Bakos.
SEQUENTIAL CIRCUITS Introduction
Astable: Having no stable state. An astable multivibrator oscillates between two quasistable states. Asynchronous Having no fixed time relationship Bistable.
Elevator Controller We’re hired to design a digital elevator controller for a four-floor building st try: Design a counter that counts up.
Flip-flops, Latches and State Prof. Sirer COMP 303 Koç University.
Sequential Logic Materials taken from: Digital Design and Computer Architecture by David and Sarah Harris & The Essentials of Computer Organization and.
Chapter 2Basic Digital Logic1 Chapter 2. Basic Digital Logic2 Outlines  Basic Digital Logic Gates  Two types of digital logic circuits Combinational.
Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University Memory See: P&H Appendix C.8, C.9.
Memory Hakim Weatherspoon CS 3410, Spring 2013 Computer Science Cornell University.
Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University Memory See: P&H Appendix C.8, C.9.
Introduction to Sequential Logic Design Flip-flops FSM Analysis.
Introduction to Sequential Logic Design Finite State-Machine Design.
ECE 3130 – Digital Electronics and Design Lab 6 State Machines Fall 2012 Allan Guan.
Sequential Logic Combinatorial components: the output values are computed only from their present input values. Sequential components: their output values.
CS 352 : Computer Organization and Design University of Wisconsin-Eau Claire Dan Ernst Latches & Flip-Flops.
Introduction to Sequential Logic Design Bistable elements.
DLD Lecture 26 Finite State Machine Design Procedure.
Digital Logic Design.
Sequential logic circuits
Synchronous Sequential Logic Part I
Chapter 6 – Digital Electronics – Part 1 1.D (Data) Flip Flops 2.RS (Set-Reset) Flip Flops 3.T Flip Flops 4.JK Flip Flops 5.JKMS Flip Flops Information.
Prof. Kavita Bala and Prof. Hakim Weatherspoon CS 3410, Spring 2014 Computer Science Cornell University See P&H Appendix B.8 (register files) and B.9.
Prof. Kavita Bala and Prof. Hakim Weatherspoon CS 3410, Spring 2014 Computer Science Cornell University See P&H Appendix B.7. B.8, B.10, B.11.
Introduction to Sequential Logic Design Finite State-Machine Analysis.
Flip Flops 3.1 Latches and Flip-Flops 3 ©Paul Godin Created September 2007 Last Edit Aug 2013.
Counters and registers Eng.Maha Alqubali. Registers Registers are groups of flip-flops, where each flip- flop is capable of storing one bit of information.
Memory Elements. Outline  Introduction  Memory elements.
Presentation on Digital Door Lock Digital System Design Presenter: Subash Chandra Pakhrin 072MSI616 MSC in Information and Comm. Engineering Pulchowk Campus.
Chapter #6: Sequential Logic Design
Introduction to Sequential Logic Design
Computer Architecture & Operations I
State & Finite State Machines
Digital Design Lecture 9
Latches and Flip-flops
Sequential logic circuits
CS Fall 2005 – Lec. #5 – Sequential Logic - 1
Hakim Weatherspoon CS 3410 Computer Science Cornell University
Hakim Weatherspoon CS 3410 Computer Science Cornell University
CSE 370 – Winter Sequential Logic - 1
SEQUENTIAL CIRCUITS __________________________________________________
Hakim Weatherspoon CS 3410 Computer Science Cornell University
Presentation transcript:

Kevin Walsh CS 3410, Spring 2010 Computer Science Cornell University State & Finite State Machines See: P&H Appendix C.7. C.8, C.10, C.11

2 Prelim 1: 3/18/2010 (evening) Prelim 2: 4/27/2010 (evening)

3 Unstable Devices B A C

4 Bistable Devices Stable and unstable equilibria? B A

5 Summary So far: Current output depends only on current input (no internal state) Need a way to record data … a way to build stateful circuits … a state-holding device Inputs Combinational circuit Outputs N M

6 SR Latch Set-Reset (SR) Latch Stores a value Q and its complement Q SRQQ S R Q Q S R Q Q

7 Unclocked D Latch Data (D) Latch DQQ 0 1 S R D Q Q

8 D Latch with Clock S R D clk Q Q D Q Level Sensitive D Latch Clock high: set/reset (according to D) Clock low: keep state (ignore D)

9 Clocks Clock helps coordinate state changes Usually generated by an oscillating crystal Fixed period; frequency = 1/period 1 0

10 Edge-Triggered D Flip-Flop D Flip-Flop Edge-Triggered Data is captured when clock is high Outputs change only on falling edges DQ Q DQ Q c F LL clk D F Q c Q Q D

11 Clock Disciplines Level sensitive State changes when clock is high (or low) Edge triggered State changes at clock edge positive edge-triggered negative edge-triggered

12 Registers Register D flip-flops in parallel shared clock extra clocked inputs: write_enable, reset, … clk D0 D3 D1 D bit reg

13 Metastability and Asynchronous Inputs 1-bit reg Clk

14 Metastability and Asynchronous Inputs Q: What happens if input is changes near clock edge? A: Google “Buridan’s Principle” by Leslie Lamport 1-bit reg Clk 0 1

15 An Example 32-bit reg Clk +1 Run WER Reset

16 Clock Methodology Negative edge, synchronous –Signals must be stable near falling clock edge Positive edge synchronous Asynchronous, multiple clocks,... clk computesave t setup t hold computesavecompute t combinational

17 Voting Machine mux reg detect enc 3 decoder (3-to-8) 32 LED dec 3 WE +1 reg WE reg WE reg WE mux D V

18 Automata Model Finite State Machine inputs from external world outputs to external world internal state combinational logic Next State Current State Input Output Registers Comb. Logic

19 FSM Example Legend state input/output start state A B CD down/on up/off down/on down/off up/off down/off up/off Input: up or down Output: on or off States: A, B, C, or D

20 FSM Example Details Legend S1S0S1S0 i0i1i2…/o0o1o2…i0i1i2…/o0o1o2… S1S0S1S /11/1 0/00/0 1/11/1 1/01/0 0/00/0 1/01/0 0/00/0 0/00/0 Input: 0=up or 1=down Output: 1=on or 1=off States: 00=A, 01=B, 10=C, or 11=D

21 General Case: Mealy Machine Outputs and next state depend on both current state and input Mealy Machine Next State Current State Input Output Registers Comb. Logic

22 Moore Machine Special Case: Moore Machine Outputs depend only on current state Next State Current State Input Output Registers Comb. Logic

23 Moore Machine Example Legend state out input start out A off B on C off D on down up down up down up Input: up or down Output: on or off States: A, B, C, or D

24 Digital Door Lock Inputs: keycodes from keypad clock Outputs: “unlock” signal display how many keys pressed so far

25 Door Lock: Inputs Assumptions: signals are synchronized to clock Password is B-A-B K A B KABMeaning 000Ø (no key) 110‘A’ pressed 101‘B’ pressed

26 Door Lock: Outputs Assumptions: High pulse on U unlocks door U D3D2D1D0D3D2D1D0 4 LED dec 8

27 Door Lock: Simplified State Diagram Idle G1 ”0” Ø G2 G3 B1B2 ”1””2” ”3”, U ”1””2” ØØ ØØ “B” “A”“B” else any else B3 ”3” else

28 Door Lock: Simplified State Diagram Idle G1 ”0” Ø G2 G3 B1B2 ”1””2” ”3”, U ”1””2” ØØ ØØ “B” “A”“B” else any else

29 Door Lock: Simplified State Diagram Idle G1 ”0” Ø G2 G3 B1B2 ”1””2” ”3”, U ”1””2” ØØ ØØ “B” “A”“B” else any else Cur. State Output Cur. State Output Idle“0” G1“1” G2“2” G3“3”, U B1“1” B2“2”

30 Door Lock: Simplified State Diagram Idle G1 ”0” Ø G2 G3 B1B2 ”1””2” ”3”, U ”1””2” ØØ ØØ “B” “A”“B” else any else Cur. StateInputNext State Cur. StateInputNext State IdleØ “B”G1 Idle“A”B1 G1Ø “A”G2 G1“B”B2 G2ØB2 G2“B”G3 G2“A”Idle G3anyIdle B1Ø KB2 Ø KIdle

31 Cur. StateInputNext State IdleØ “B”G1 Idle“A”B1 G1Ø “A”G2 G1“B”B2 G2ØB2 G2“B”G3 G2“A”Idle G3anyIdle B1Ø KB2 Ø KIdle State Table Encoding Cur. StateOutput Idle“0” G1“1” G2“2” G3“3”, U B1“1” B2“2” U D3D2D1D0D3D2D1D0 4 dec 8 D3D3 D2D2 D1D1 D0D0 U R P Q KABMeaning 000Ø (no key) 110‘A’ pressed 101‘B’ pressed KAB xxx 000 1xx 000 1xx S2S2 S1S1 S0S StateS2S2 S1S1 S0S0 Idle000 G1001 G2010 G3011 B1100 B2101 S2S2 S1S1 S0S0 S’ 2 S’ 1 S’

32 Door Lock: Implementation 4 dec 3bit Reg clk U D 3-0 S 2-0 S’ 2-0 S 2-0 A B C Strategy: (1) Draw a state diagram (e.g. Moore Machine) (2) Write output and next-state tables (3) Encode states, inputs, and outputs as bits (4) Determine logic equations for next state and outputs

33 Summary We can now build interesting devices with sensors Using combinational logic We can also store data values Stateful circuit elements (D Flip Flops, Registers, …) Clock to synchronize state changes But be wary of asynchronous (un-clocked) inputs State Machines or Ad-Hoc Circuits