State Machines The first problem set is now online! (Due on Jan. 31st, 2011)

Slides:



Advertisements
Similar presentations
(Synchronous) Finite State Machines
Advertisements

Part 4: combinational devices
Sequential Logic Circuits. Set-Reset Latch The Set-Reset latch or bistable is a simple sequential logic circuit that remembers what has happened to the.
Datorteknik DigitalCircuits bild 1 Combinational circuits Changes at inputs propagate at logic speed to outputs Not clocked No internal state (memoryless)
Sequential Circuits1 DIGITAL LOGIC DESIGN by Dr. Fenghui Yao Tennessee State University Department of Computer Science Nashville, TN.
CSCE 211: Digital Logic Design. Chapter 6: Analysis of Sequential Systems.
Introduction to CMOS VLSI Design Lecture 14: CAMs, ROMs, and PLAs Credits: David Harris Harvey Mudd College (Material taken/adapted from Harris’ lecture.
Memory; Sequential & Clocked Circuits; Finite State Machines COS 116: 3/25/2008 Sanjeev Arora.
CAMs, ROMs, and PLAs. 2 Outline  Content-Addressable Memories  Read-Only Memories  Programmable Logic Arrays.
1 COMP541 State Machines Montek Singh Feb 6, 2007.
Lecture 20: CAMs, ROMs, PLAs. CMOS VLSI DesignCMOS VLSI Design 4th Ed. 20: CAMs, ROMs, and PLAs2 Outline  Content-Addressable Memories  Read-Only Memories.
CSCI 3301 Transparency No. 9-1 Chapter #9: Finite State Machine Optimization Contemporary Logic Design.
Sequential Circuit  It is a type of logic circuit whose output depends not only on the present value of its input signals but on the past history of its.
Lecture 10 Topics: Sequential circuits Basic concepts Clocks
Chapter 3 Digital Logic Structures. Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 3-2 Building Functions.
Clocked Synchronous State Machine Design
How circuits acquire memory: Sequential & Clocked Circuits. COS 116, Spring 2011 Sanjeev Arora.
1 COMP541 State Machines Montek Singh Feb 8, 2012.
Circuit, State Diagram, State Table
EKT 221/4 DIGITAL ELECTRONICS II  Registers, Micro-operations and Implementations - Part3.
Digital Logic Design Lecture # 21 University of Tehran.
1 Arithmetic Logic Unit ALU. 2 The Bus Concept 3 CPU Building Blocks  Registers (IR, PC, ACC)  Control Unit (CU)  Arithmetic Logic Unit (ALU)
Announcements Assignment 8 posted –Due Friday Dec 2 nd. A bit longer than others. Project progress? Dates –Thursday 12/1 review lecture –Tuesday 12/6 project.
Introduction to State Machine
A relation is an operation, or series of operations, that maps one number onto another.
Chapter 3 Digital Logic Structures. 3-2 Combinational vs. Sequential Combinational Circuit always gives the same output for a given set of inputs  ex:
SEQUENTIAL LOGIC By Tom Fitch. Types of Circuits Combinational: Gates Combinational: Gates Sequential: Flip-Flops Sequential: Flip-Flops.
Digital Logic Design Lecture # 19 University of Tehran.
MicroComputer Engineering DigitalCircuits slide 1 Combinational circuits Changes at inputs propagate at logic speed to outputs Not clocked No internal.
Source Cards. Getting Started: This Power Point will help take you through the process of writing your source cards and making sure they are perfect.
1 COMP541 Finite State Machines - 1 Montek Singh Sep 22, 2014.
CMPSC 16 Problem Solving with Computers I Spring 2014 Instructor: Tevfik Bultan Lecture 4: Introduction to C: Control Flow.
LECTURE 4 Logic Design. LOGIC DESIGN We already know that the language of the machine is binary – that is, sequences of 1’s and 0’s. But why is this?
CS151 Introduction to Digital Design Chapter 5: Sequential Circuits 5-1 : Sequential Circuit Definition 5-2: Latches 1Created by: Ms.Amany AlSaleh.
Chapter 3 Boolean Algebra and Digital Logic T103: Computer architecture, logic and information processing.
TOPIC : Introduction to Sequential Circuits UNIT 1: Modeling and Simulation Module 4 : Modeling Sequential Circuits.
1 COMP541 Sequential Logic – 2: Finite State Machines Montek Singh Feb 29, 2016.
Lecture 1 Gunjeet kaur Dronacharya group of institutions.

Introduction to CMOS VLSI Design Lecture 14: CAMs, ROMs, and PLAs
Combinational circuits
Introduction to CMOS VLSI Design Lecture 14: CAMs, ROMs, and PLAs
Computer Organization
EKT 221 : Digital 2 Serial Transfers & Microoperations
COMP541 Sequential Logic – 2: Finite State Machines
Lecture 23 Logistics Last lecture Today HW7 due Friday Lab8 going on
Instructor: Alexander Stoytchev
ESE535: Electronic Design Automation
Digital Logic Structures Logic gates & Boolean logic
Instructor: Alexander Stoytchev
L10 – additional State Machine examples
Lecture 15 Logistics Last lecture Today HW4 is due today
Lecture 24 Logistics Last lecture Today HW7 due today
Lecture 23 Logistics Last lecture Today HW7 due Friday Lab8 going on
Implement FSM with fewest possible states • Least number of flip flops
Guest Lecture by David Johnston
ESE535: Electronic Design Automation
Lecture 21 Logistics Last lecture Today HW7 due Wednesday
CSE 370 – Winter Sequential Logic-2 - 1
ECE 352 Digital System Fundamentals
Lecture 24 Logistics Last lecture Today HW7 due today
Binary Adder/Subtractor
Lecture 20 Logistics Last lecture Today Graded HW back today
ECE 352 Digital System Fundamentals
Lecture 20: CAMs, ROMs, PLAs
Announcements Assignment 7 due now or tommorrow Assignment 8 posted
Lecture 19 A bigger FSM example: Hungry Robot Ant in Maze.
Introduction to CMOS VLSI Design Lecture 18: CAMs, ROMs, and PLAs
Presentation transcript:

State Machines The first problem set is now online! (Due on Jan. 31st, 2011)

Review Much of what we call “computation” involves looking answers up in a table - Reminiscent of those Flash Cards from grade school - KEY IDEA: Discretize the space of allowable inputs and outputs - DIGITAL: The ultimate discretization-- binary, only two choices, 0 and 1 - Enumerate all possible input combinations, and “memo”ize the answers (outputs) - Leads to COMPOSABLE system blocks (i.e. gates, adders, multipliers, etc.)

Composition The key to building large systems... Boxes around boxes....

One More Trick With Tables Feedback - Feed some of our system’s outputs back as inputs How do we make sure outputs are settled and ready to go? We GATE them with a special STATE block... – On the transition of a control signal, it simultaneously copies its inputs to it output – This control signal is called the SYSTEM CLOCK... a.k.a. the “*Hertz” specification you’ve heard about

State = Sequential Logic This is one of the BIG ideas behind computers. State allows us to control sequences of events since the outputs aren’t merely functions of the inputs, but also of the current state. Example: Digital combination lock w/ 3 buttons (“start”, “0” and “1”): Information remembered between steps is called state. Might be just what step we’re on, or might include results from earlier steps we’ll need to complete a later step.

Implementing a State Machine We can easily extend our Lookup table approach to include state machines by 1) Adding a new input called the “CURRENT” State 2) Adding a new output called the “NEXT” state

Example State Machine: Roboant SENSORS: antennae L and R, each 1 if in contact with something. ACTUATORS: Forward Step F, ten-degree turns TL and TR (left, right) GOAL: Make our ant smart enough to get out of a maze like: STRATEGY: "Right antenna to the wall"

Lost in Space Action: Go forward until we hit something.

Bonk! Action: Turn left (CCW) until we don’t touch anymore

A Little to the Right… Action: Step and turn right a little, look for wall

Then a Little to the Left Action: Step and turn left a little, till not touching (again)

Dealing with Corners Action: Step and turn right until we hit perpendicular wall

Equivalent State Reduction Observation: Si ≡ Sj if 1. States have identical outputs; AND 2. Every input → equivalent states. Reduction Strategy: Find pairs of equivalent states, MERGE them.

An Evolutionary Step Merge equivalent states Wall1 and Corner into a single new, combined state. Behaves exactly as previous (5-state) state machine!

An Ant Schematic Are you telling me that my essence amounts to no more than 15 gates!

Super Roboant Featuring an improved Roboant that can add crumbs (M), erase crumbs (E), and sense (S) crumbs along its path.