EECS 20 Chapter 3 Sections 3.1-3.21 Defining Signals and Systems Last time we Found ways to define functions and systems Defined many example systems Today.

Slides:



Advertisements
Similar presentations
General Sequential Design
Advertisements

Variants of Turing machines
CS 208: Computing Theory Assoc. Prof. Dr. Brahim Hnich Faculty of Computer Sciences Izmir University of Economics.
Nondeterministic Finite Automata CS 130: Theory of Computation HMU textbook, Chapter 2 (Sec 2.3 & 2.5)
TOPIC : Finite State Machine(FSM) and Flow Tables UNIT 1 : Modeling Module 1.4 : Modeling Sequential circuits.
A. Abhari CPS2131 Sequential Circuits Most digital systems like digital watches, digital phones, digital computers, digital traffic light controllers and.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 5 – Sequential Circuits Part 1 – Storage.
Finite Automata with Output
CS 151 Digital Systems Design Lecture 21 Analyzing Sequential Circuits.
Finite state machines.
EECS 20 Lecture 14 (February 16, 2001) Tom Henzinger Nondeterminism.
ECE 331 – Digital System Design
EECS 20 Chapter 5 Part 11 Linear Infinite State Systems Last time we Looked at state machines with feedback Considered state machines with constant or.
Week 2/3 1.System interconnections (block diagrams) 2.Finite State Machines (Chapter 3)
EECS 20 Chapter 21 Defining Signals and Systems Last time we Introduced mathematical notation to help define sets Learned the names of commonly used sets.
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.
1 COMP541 State Machines Montek Singh Feb 6, 2007.
EECS 20 Chapter 4 Sections Connecting State Machines Last time we Introduced the nondeterministic state machine Highlighted differences between.
Lecture Slides Elementary Statistics Twelfth Edition
Copyright © Cengage Learning. All rights reserved.
Digital Logic Design Lecture 26. Announcements Exams will be returned on Thursday Final small quiz on Monday, 12/8. Final homework will be assigned Thursday,
ECE 301 – Digital Electronics Introduction to Sequential Logic Circuits (aka. Finite State Machines) and FSM Analysis (Lecture #17)
ECE 331 – Digital Systems Design Introduction to Sequential Logic Circuits (aka. Finite State Machines) and FSM Analysis (Lecture #19)
EECS 20 Chapter 3 Sections State Machines Continued Last time we Introduced the deterministic finite state machine Discussed the concept of state.
9/15/09 - L22 Sequential Circuit Design Copyright Joanne DeGroat, ECE, OSU1 Sequential Circuit Design Creating a sequential circuit to address a.
Lecture 10 Topics: Sequential circuits Basic concepts Clocks
Finite Impuse Response Filters. Filters A filter is a system that processes a signal in some desired fashion. –A continuous-time signal or continuous.
Sets, Combinatorics, Probability, and Number Theory Mathematical Structures for Computer Science Chapter 3 Copyright © 2006 W.H. Freeman & Co.MSCS SlidesProbability.
1 Signals & Systems Spring 2009 Week 3 Instructor: Mariam Shafqat UET Taxila.
Finite State Machines – Page 1CSCI 1900 – Discrete Structures CSCI 1900 Discrete Structures Graphs and Finite State Machines Reading: Kolman, Sections.
Rosen 5th ed., ch. 11 Ref: Wikipedia
1 COMP541 State Machines Montek Singh Feb 8, 2012.
Nondeterministic Finite Automata CS 130: Theory of Computation HMU textbook, Chapter 2 (Sec 2.3 & 2.5)
Probability and Independence 1 Krishna.V.Palem Kenneth and Audrey Kennedy Professor of Computing Department of Computer Science, Rice University.
Copyright © 2010 Pearson Education, Inc. All rights reserved Sec
Moore machine and Mealy machine (P.274)
1.3 Simulations and Experimental Probability (Textbook Section 4.1)
CPEN Digital System Design Chapter 5 - Sequential Circuits Sequential Circuit Design C. Gerousis © Logic and Computer Design Fundamentals, 4 rd Ed.,
1 Lecture 22 Sequential Circuits Analysis. 2 Combinational vs. Sequential  Combinational Logic Circuit  Output is a function only of the present inputs.
Introduction to State Machine
DLD Lecture 26 Finite State Machine Design Procedure.
ANALYSIS OF SEQUENTIAL CIRCUITS by Dr. Amin Danial Asham.
CS1Q Computer Systems Lecture 11 Simon Gay. Lecture 11CS1Q Computer Systems - Simon Gay 2 The D FlipFlop The RS flipflop stores one bit of information.
Com Functional Programming Lexical Analysis Marian Gheorghe Lecture 15 Module homepage Mole & ©University of Sheffieldcom2010.
Registers; State Machines Analysis Section 7-1 Section 5-4.
Digital System Design using VHDL

MATH 256 Probability and Random Processes Yrd. Doç. Dr. Didem Kivanc Tureli 14/10/2011Lecture 3 OKAN UNIVERSITY.
Lecture 22: Finite State Machines with Output. Moore Machine - A Moore machine is a 6-tuple (Q, , , , q 0,  ) where, (1) Q is a finite set of states.
December 3, 2009Theory of Computation Lecture 21: Turing Machines III 1 Simulation of T in L Now the MIDDLE section of Q can be generated by replacing.
Common Elements in Sequential Design. Lecture 3 topics  Registers and Register Transfer  Shift Registers  Counters Basic Counter Partial sequence counters.
Akram Salah ISSR Basic Concepts Languages Grammar Automata (Automaton)
COMBINATIONAL AND SEQUENTIAL CIRCUITS Guided By: Prof. P. B. Swadas Prepared By: BIRLA VISHVAKARMA MAHAVDYALAYA.
Chapter 3 Boolean Algebra and Digital Logic T103: Computer architecture, logic and information processing.
Finite Impuse Response Filters. Filters A filter is a system that processes a signal in some desired fashion. –A continuous-time signal or continuous.
Lecture 14: Theory of Automata:2014 Finite Automata with Output.
Lecture #4 Thinking of designing an abstract machine acts as finite automata. Advanced Computation Theory.
1 COMP541 Sequential Logic – 2: Finite State Machines Montek Singh Feb 29, 2016.
Finite Automata (FA) with Output FA discussed so far, is just associated with R.Es or language. Is there exist an FA which generates an output string corresponding.
Theory of Computation Automata Theory Dr. Ayman Srour.
ANALYSIS OF SEQUENTIAL CIRCUITS
Finite Automata a b A simplest computational model
Theory of Computation Lecture 22: Turing Machines III
Finite State Machines.
Copyright © Cengage Learning. All rights reserved.
Deterministic Finite Automaton (DFA)
ECE 352 Digital System Fundamentals
Theory of Computation Lecture 23: Turing Machines III
What is it? The term "Automata" is derived from the Greek word "αὐτόματα" which means "self-acting". An automaton (Automata in plural) is an abstract self-propelled.
Presentation transcript:

EECS 20 Chapter 3 Sections Defining Signals and Systems Last time we Found ways to define functions and systems Defined many example systems Today we will Introduce a particular system called a finite state machine Talk about the parts and behaviors of state machines Find ways to define state machines Discuss the concept of state Concentrate on deterministic state machines Revisit last slide from last lecture

EECS 20 Chapter 3 Sections Defining Systems: Block Diagrams Suppose I want the computer to automatically make the digital recording louder if it senses that my voice is too soft. A feedback signal called Volume could be added to tell the computer to scale the digital samples to reach a specified average volume: VoiceMicOutput DigitizedSound Microphone Computer Volume Adjustor DigitizedSound cannot be written directly as a function of Voice. An implicit definition like the differential equation can be used to define DigitizedSound in terms of the input Voice and the systems: DigitizedSound = Computer(Microphone(Voice),VolumeAdjustor(DigitizedSound))

EECS 20 Chapter 3 Sections Defining Systems: State Machines Consider a system which takes a sequence of elements as input, and provides a sequence of elements as output. To define the system, we must specify the sequence of outputs produced by a given sequence of inputs. It is often convenient to define such a system using the concept of system state. The state of a system represents the history of input elements. A state machine tells us which output element is produced, given an input element & the system state (history of input elements).

EECS 20 Chapter 3 Sections State Machines: Operation Roughly speaking, a state machine operates as follows: 1)An element from the input sequence, x(n), is considered. 2)Based on x(n) and the current state, s(n), the state machine generates an output y(n). 3)Based on x(n) and the current state, s(n), the state machine generates a new state s(n+1). This is called a state transition. 4)Return to step 1), consider x(n+1). In this way, the state machine specifies a sequence of outputs for a sequence of inputs.

EECS 20 Chapter 3 Sections State Machines: Parts A state machine has several components: States Set of possible states (called state space) Inputs Set of possible input elements (called input alphabet) Outputs Set of possible output elements (called output alphabet) update: States × Inputs  States × Outputs the update function The update function defines the new state and output given the current state and input. initialState The initial state Thus, a state machine can be described as a 5-tuple: (States, Inputs, Outputs, update, initialState)

EECS 20 Chapter 3 Sections State Machine: Stuttering We define a special “do nothing” input called absent. When x(n) = absent, the state does not change, so s(n+1) = s(n); the output is also “nothing”, i. e. y(n) = absent. This symbol, absent, is called the stuttering symbol. Note that this symbol is always a possible input and output, so absent Î Inputsabsent Î Outputs

EECS 20 Chapter 3 Sections Defining State Machines To define a state machine, define all 5 elements of the 5-tuple (States, Inputs, Outputs, update, initialState) Example: Suppose I am playing a game by tossing a coin. If I toss 3 heads in a row, I win. If I toss a tail before tossing three heads, I lose. States = {0_heads, 1_head, 2_heads} Inputs = {head, tail, absent} Outputs = {win, lose, absent} initialState = 0_heads

EECS 20 Chapter 3 Sections Defining State Machines: Table The function update can be defined using a table: (s(n+1), y(n)) = update(s(n), x(n)) x(n) = headx(n) = tail s(n) = 0_heads s(n) = 1_head s(n) = 2_heads There is a more visually appealing way to define the update function: a state diagram. (1_head, absent)(0_heads, lose) (2_heads, absent)(0_heads, lose) (0_heads, win)(0_heads, lose)

EECS 20 Chapter 3 Sections Defining State Machines: State Diagram To create a state diagram for a state machine, first draw circles representing the states. 0_heads 1_head2_heads For each combination of input and state, draw an arrow from the current state to the next state. Label the arrow with the input and output that create the transition as shown: “input/output” head / absent tail / lose head / win

EECS 20 Chapter 3 Sections State Machines: State Response The state response is sequence of states resulting from a particular input sequence. Example: Find the state response and output sequence for x = 0_heads 1_head2_heads head / absent tail / lose head / win tailhead tail

EECS 20 Chapter 3 Sections Facts About State Machines The state machines addressed here are called Mealy machines. Mealy machines generate outputs during state transitions. Moore machines generate output while the system is in a particular state (output depends on state only). Each transition and output depends only on the current state and current input. Previous input elements only affect the transitions and output insofar as they determine the current state. A transition will be defined for every possible combination of input and current state. If a transition is not shown for a particular input, assume the transition is to the same state and the output is absent.

EECS 20 Chapter 3 Sections Facts About State Machines Consider the transition labels, “input/output”. If more than one input leads to the same transition and output, the label may contain a set of inputs. In the transition label “input/output”, the set of inputs is called a guard. The input must mach the guard for the transition to take place. For the state machines studied in this lecture, there is exactly one possible transition for each combination of current state and input. These state machines are called deterministic. Sometimes it is useful to model a system using a state machine that has more than one possible transition for each combination of current state and input. These state machines are called non-deterministic.