Models of Computation: FSM Model Reading: L. Lavagno, A.S. Vincentelli and E. Sentovich, “Models of computation for Embedded System Design”

Slides:



Advertisements
Similar presentations
TOPIC : SYNTHESIS DESIGN FLOW Module 4.3 Verilog Synthesis.
Advertisements

10/2/0810/2/2008ECE 561 -ECE Lecture 51 State Machine Implementation 10/2/20081ECE Lecture 5.
General Sequential Design
Finite State Machines (FSMs)
Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
TOPIC : Finite State Machine(FSM) and Flow Tables UNIT 1 : Modeling Module 1.4 : Modeling Sequential circuits.
Digital Design - Sequential Logic Design Chapter 3 - Sequential Logic Design.
ECE 331 – Digital System Design
Sequential Logic Design Process A sequential circuit that controls Boolean outputs and a specific time- ordered behavior is called a controller. StepDescription.
Behavioral Design Outline –Design Specification –Behavioral Design –Behavioral Specification –Hardware Description Languages –Behavioral Simulation –Behavioral.
Mahapatra-Texas A&M-Fall'001 cosynthesis Introduction to cosynthesis Rabi Mahapatra CPSC498.
Dr. Turki F. Al-Somani VHDL synthesis and simulation – Part 3 Microcomputer Systems Design (Embedded Systems)
Give qualifications of instructors: DAP
Models of Computation for Embedded System Design Alvise Bonivento.
1 COMP541 State Machines Montek Singh Feb 6, 2007.
Overview Finite State Machines - Sequential circuits with inputs and outputs State Diagrams - An abstraction tool to visualize and analyze sequential circuits.
Spring 2002EECS150 - Lec15-seq2 Page 1 EECS150 - Digital Design Lecture 15 - Sequential Circuits II (Finite State Machines revisited) March 14, 2002 John.
Basic Register Typically, we store multi-bit items
1 System Modeling. Models of Computation. System Specification Languages Alexandru Andrei.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 3 – Combinational Logic Design Part 1 –
ENEE 408C Lab Capstone Project: Digital System Design Fall 2005 Sequential Circuit Design.
Overview Finite State Machines
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)
Models of Computation Reading Assignment: L. Lavagno, A.S. Vincentelli and E. Sentovich, “Models of computation for Embedded System Design”
Controller Design Five step controller design process.
Midterm Wednesday Chapter 1-3: Number /character representation and conversion Number arithmetic CMOS logic elements Combinational logic elements and design.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 3 – Combinational Logic Design Part 1 –
Basics of State Machine Design
1 COMP541 State Machines Montek Singh Feb 8, 2012.
1. 2 Purpose of This Presentation ◆ To explain how spacecraft can be virtualized by using a standard modeling method; ◆ To introduce the basic concept.
ECE 2372 Modern Digital System Design
Combinational Logic Design BIL- 223 Logic Circuit Design Ege University Department of Computer Engineering.
1 H ardware D escription L anguages Modeling Digital Systems.
1/8/ L20 Project Step 8 - Data Path Copyright Joanne DeGroat, ECE, OSU1 State Machine Design with an HDL A methodology that works for documenting.
Ch. 2. Specification and Modeling 2.1 Requirements Describe requirements and approaches for specifying and modeling embedded systems. Specification for.
Introduction to Sequential Logic Design Finite State-Machine Design.
EEE2243 Digital System Design Chapter 4: Verilog HDL (Sequential) by Muhazam Mustapha, January 2011.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 3 – Combinational Logic Design Part 1 –
Finite State Machines CT101 – Computing Systems. FSM Overview Finite State Machine is a tool to model the desired behavior of a sequential system. The.
Module : FSM Topic : types of FSM. Two types of FSM The instant of transition from the present to the next can be completely controlled by a clock; additionally,
Introduction to State Machine
Module 1.2 Introduction to Verilog
Computer Organization & Programming Chapter 5 Synchronous Components.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
FINITE STATE MACHINES (FSMs)
1 Finite State Machines (FSMs) Now that we understand sequential circuits, we can use them to build: Synchronous (Clocked) Finite State Machines Finite.
Introduction to VHDL Simulation … Synthesis …. The digital design process… Initial specification Block diagram Final product Circuit equations Logic design.
Hardware Description Languages Digital Logic Design Instructor: Kasım Sinan YILDIRIM.
ECE-C662 Lecture 2 Prawat Nagvajara
1 COMP541 Finite State Machines - 1 Montek Singh Sep 22, 2014.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Chapter 11: System Design Methodology Digital System Designs and Practices Using Verilog HDL and 2008, John Wiley11-1 Chapter 11: System Design.
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
Hardware/Software Co-Design of Complex Embedded System NIKOLAOS S. VOROS, LUIS SANCHES, ALEJANDRO ALONSO, ALEXIOS N. BIRBAS, MICHAEL BIRBAS, AHMED JERRAYA.
1 COMP541 Sequential Logic – 2: Finite State Machines Montek Singh Feb 29, 2016.
Combinational Design, Part 2: Procedure. 2 Topics Positive vs. negative logic Design procedure.
Lecture #17: Clocked Synchronous State-Machine Analysis
Digital Design - Sequential Logic Design
Combinational Logic Design
Introduction Introduction to VHDL Entities Signals Data & Scalar Types
Learning Outcome By the end of this chapter, students are expected to be able to: Design State Machine Write Verilog State Machine by Boolean Algebra and.
COMP541 Sequential Logic – 2: Finite State Machines
Overview Part 1 – Design Procedure Beginning Hierarchical Design
ECE-C662 Introduction to Behavioral Synthesis Knapp Text Ch
Chapter 3 – Combinational Logic Design
Introduction to Sequential Circuits
State Machine Design with an HDL
Digital Designs – What does it take
Presentation transcript:

Models of Computation: FSM Model Reading: L. Lavagno, A.S. Vincentelli and E. Sentovich, “Models of computation for Embedded System Design”

Mahapatra-Texas A&M2 Our Design Approach Start design process before hw-sw partitioning Sequence of steps are vital –system specification unbiased to implementation describe system behavior at high level –Initial functional design –verification –mapping to target architecture Thus, function-architecture codesign is key approach

Mahapatra-Texas A&M3 Proposed design strategy Behaviorial Library Capture Behavior Verify behavior Architecture Libraries Verify architecture Behavioral Library Map behavior to Architecture Verify performance Refine HW/SW micro-architect Link to HW/SW implementation Link to micro- arch verification Performance Back Annotation Capture behavior Capture Architecture Functional Level Mapping Level Taken from Ref. Of reading assignment. Architecture Level

Mahapatra-Texas A&M4 Design conception to design description At functional level, behavior of a system to be implemented is selected and analyzed against a set of specifications –Specifications vs.. behavior? Specs:I/O relation, set of constraints, system goals behavior: algorithm to realize the function -Specs: algorithm itself! (another view) Purists view: Algorithm is the result of implementation decision

Mahapatra-Texas A&M5 Examples Example1: Let f(x) = 0 is a system to be implemented. It is a design decision to use either Newton-Raphson or Gauss-SeidelS relaxation algorithm! Example2: MPEG Encoder design Spec: Encoding of compressed stream of data. Any implementation that creates it from the stream is correct. Here the design decision is already there.

Mahapatra-Texas A&M6 Algorithm Design and Analysis Algorithm development: Key aspect of system design at functional level Little work has been done on selection of algorithm based on specifications Requires strong correctness properties in critical operations Algorithm analysis is more general concept than simulation Important to decide on mathematical model for designer that will support algorithm analysis

Mahapatra-Texas A&M7 Algorithm Implementation Need of intermediate step: transform an algorithm to a set of tractable functional components The functional components are to be formally defined to capture the algorithm’s properties MoC is key answer to the above! Selection of MoC is to be done carefully. (FSM, DF, DES, Comm Seq. Process)

Mahapatra-Texas A&M8 MoCs Basic Concepts MoC is composed of a description mechanism (syntax) and rules for computation of behavior given the syntax (semantics) It is chosen for its suitability: compactness, ability to synthesize, optimize the behavior of implementation Most MoCs Permit distributed system of description ( a collection of communicating modules), and gives rules of computation of each module (function), and how they communicate.

Mahapatra-Texas A&M9 MoC Primitives Functions: combination of Boolean functions and synchronous state machines Communications: queues, buffers, and schedulers

Finite State Machine (FSM) Mahapatra-Texas A&M10

Mahapatra-Texas A&M11

Mahapatra-Texas A&M12

FSM Finite ‐ State Machine (FSM) -A way to describe desired behavior of Sequential circuit –Akin to Boolean equations for Combinational behavior –List states, and transitions among states Mahapatra-Texas A&M13

14 Capturing Sequential Circuit Behavior as FSM Toggle switch example: List states, and transitions among states –Example: Toggle x every clock cycle –Two states: “Lo” (x=0), and “Hi” (x=1) –Transition from Lo to Hi, or Hi to Lo, on rising clock edge (clk^) –Arrow points to initial state (when circuit first starts) Lo Hi Lo Hi Lo Hi Lo Hi cycle 1cycle 2cycle 3cycle 4 clk Lo Hi state x Outputs: :x HiLo x=0x=1 clk ^ ^ a Depicting multi- bit or other info in a timing diagram

15 FSM Example: Three Cycles High System Want 0, 1, 1, 1, 0, 1, 1, 1,... –For one clock cycle each Capture as FSM –Four states: 0, first 1, second 1, third 1 –Transition on rising clock edge to next state Off On1 On2 On3 Off clk x State Outputs: : x On1OffOn2On3 clk ^ ^ ^ x=1 x=0x=1 clk ^ a a

16 Three-Cycles High System with Button Input Four states Wait in “Off” while b is 0 (b’*clk^) When b is 1 (b*clk^), transition to On1 –Sets x=1 –Next two clock edges, transition to On2, then On3 So x=1 for three cycles after button pressed Off On1Off On2On3Off clk State Outputs: Inputs: x b Inputs: bOutputs: x On2On1On3 Off clk ^ ^ x=1 x=0 clk ^ b'*clk ^ b*clk ^

17 FSM Simplification: Rising Clock Edges Implicit Every edge ANDed with rising clock edge What if we wanted a transition without a rising edge We don’t consider such asynchronous FSMs – less common, and advanced topic Only consider synchronous FSMs – rising edge on every transition Note: Transition with no associated condition thus transistions to next state on next clock cycle On2On1On3 Off x=1 x=0 b’ b Inputs: b; Outputs: x On2On1On3 Off x=1 x=0 b’ clk ^ ^ ^ *clk ^ ^ b Inputs: b; Outputs: x a

18 FSM Definition FSM consists of –Set of states Ex: {Off, On1, On2, On3} –Set of inputs, set of outputs Ex: Inputs: {b}, Outputs: {x} –Initial state Ex: “Off” –Set of transitions Each with condition Describes next states Ex: Has 5 transitions –Set of actions Sets outputs in each state Ex: x=0, x=1, x=1, and x=1 Inputs: b; Outputs: x On2On1On3 Off x=1 x=0 b’ b We often draw FSM graphically, known as state diagram Can also use table (state table), or textual languages

Modeling & Testing FSM Example of “Three Cycle High Laser Controller” Impl. the FSM in Verilog (High level IP) Test using Verilog Testbench for functional verification Use of tools to create FSM and generate Verilog Module Mahapatra-Texas A&M19

Assignment 1(practice problem) “Three Cycle High Laser Controller” Use Fizzim tool editor to create FSM from a given specification. (manual process) Use Fizzim to generate high-level IP written in Verilog HDL. Write testbench to verify functionality of the module. Use ModelSim for verification. Ref. Laser Controller Tutorial. Mahapatra-Texas A&M20

Assignment 1 (Things to do) Consider Interrupt Handler (IH) problem. –Ref: Tutorial on Interrupt Handler Specify the requirements/steps at high level Create FSM, and generate Verilog IH-IP module using Fizzim tools. Verify IH-IP module using ModelSim. –Modelsim.com student version free Mahapatra-Texas A&M21

Administration Group of two students with ECE and CS backgrounds Credits after successful demonstration. You may have choice to pick up another controller problem but with advanced notice to the instructor. Will show the valid results during demonstration. Mahapatra-Texas A&M22

Last slide Questions? Mahapatra-Texas A&M23