Mahapatra-A&M-Fall'001 Co-design Finite State Machines Many slides of this lecture are borrowed from Margarida Jacome.

Slides:



Advertisements
Similar presentations
Embedded System, A Brief Introduction
Advertisements

Modelos de Computação Básicos Prof. Dr. César Augusto Missio Marcon Parcialmente extraído de trabalhos de Axel Jantch, Edward Lee e Alberto Sangiovanni-Vincentelli.
Finite State Machines (FSMs)
The cardiac pacemaker – SystemJ versus Safety Critical Java Heejong Park, Avinash Malik, Muhammad Nadeem, and Zoran Salcic. University of Auckland, NZ.
PROTOCOL VERIFICATION & PROTOCOL VALIDATION. Protocol Verification Communication Protocols should be checked for correctness, robustness and performance,
Lecture 8: Three-Level Architectures CS 344R: Robotics Benjamin Kuipers.
Network Protocols Dr. Eng Amr T. Abdel-Hamid NETW 703 Winter 2006 Finite State Machines (FSMs)
Concurrency: mutual exclusion and synchronization Slides are mainly taken from «Operating Systems: Internals and Design Principles”, 8/E William Stallings.
1Outline u Part 3: Models of Computation s FSMs s Discrete Event Systems s CFSMs s Data Flow Models s Petri Nets s The Tagged Signal Model.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Concurrency: Mutual Exclusion and Synchronization Why we need Mutual Exclusion? Classical examples: Bank Transactions:Read Account (A); Compute A = A +
1 Concurrency: Mutual Exclusion and Synchronization Chapter 5.
Implementing Constructive Synchronous Programs on POLIS CFSM Networks G.Berry E.Sentovich Ecole des Mines de Paris / INRIA Cadence Berkeley Labs.
Distributed systems Module 2 -Distributed algorithms Teaching unit 1 – Basic techniques Ernesto Damiani University of Bozen Lesson 3 – Distributed Systems.
1 Discrete Event u Explicit notion of time (global order…) u DE simulator maintains a global event queue (Verilog and VHDL) u Drawbacks s global event.
A denotational framework for comparing models of computation Daniele Gasperini.
Overview Finite State Machines - Sequential circuits with inputs and outputs State Diagrams - An abstraction tool to visualize and analyze sequential circuits.
Review of “Embedded Software” by E.A. Lee Katherine Barrow Vladimir Jakobac.
AR vs. CFSM Abdallah Tabbara. CFSM Overview 4 CFSM has: –a finite state machine part –a data computation part –a locally synchronous behavior transitions.
Software Engineering, COMP201 Slide 1 Protocol Engineering Protocol Specification using CFSM model Lecture 30.
Models of Computation for Embedded System Design Alvise Bonivento.
Contemporary Logic Design Finite State Machine Design © R.H. Katz Transparency No Chapter #8: Finite State Machine Design Finite State.
1 System Modeling. Models of Computation. System Specification Languages Alexandru Andrei.
Mahapatra-A&M-Sprong'021 Co-design Finite State Machines Many slides of this lecture are borrowed from Margarida Jacome.
VLSI DSP 2008Y.T. Hwang3-1 Chapter 3 Algorithm Representation & Iteration Bound.
1/26/2007CSCI 315 Operating Systems Design1 Processes Notice: The slides for this lecture have been largely based on those accompanying the textbook Operating.
Rensselaer Polytechnic Institute CSC 432 – Operating Systems David Goldschmidt, Ph.D.
Models of Computation Reading Assignment: L. Lavagno, A.S. Vincentelli and E. Sentovich, “Models of computation for Embedded System Design”
Asynchronous Counters
CS3350B Computer Architecture Winter 2015 Lecture 5.2: State Circuits: Circuits that Remember Marc Moreno Maza [Adapted.
- 1 - Embedded Systems—State charts Specifications.
Introduction Distributed Algorithms for Multi-Agent Networks Instructor: K. Sinan YILDIRIM.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Benjamin Gamble. What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2.
CS4730 Real-Time Systems and Modeling Fall 2010 José M. Garrido Department of Computer Science & Information Systems Kennesaw State University.
ECE 551 Digital System Design & Synthesis Fall 2011 Midterm Exam Overview.
- 1 - Embedded Systems - SDL Some general properties of languages 1. Synchronous vs. asynchronous languages Description of several processes in many languages.
Lecture 3 Process Concepts. What is a Process? A process is the dynamic execution context of an executing program. Several processes may run concurrently,
CprE / ComS 583 Reconfigurable Computing Prof. Joseph Zambreno Department of Electrical and Computer Engineering Iowa State University Lecture #21 – HW/SW.
Ch. 2. Specification and Modeling 2.1 Requirements Describe requirements and approaches for specifying and modeling embedded systems. Specification for.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
1 CSE370, Lecture 17 Lecture 17 u Logistics n Lab 7 this week n HW6 is due Friday n Office Hours íMine: Friday 10:00-11:00 as usual íSara: Thursday 2:30-3:20.
3.1 Silberschatz, Galvin and Gagne ©2013 Operating System Concepts Essentials – 9 th Edition Interprocess Communication Processes within a system may be.
Operating Systems David Goldschmidt, Ph.D. Computer Science The College of Saint Rose CIS 432.
Concurrency: Mutual Exclusion and Synchronization Chapter 5.
Chapter 5 Concurrency: Mutual Exclusion and Synchronization Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
Communicating Real-Time State Machines (CRSM) State machines that communicate synchronously Unique unidirectional channels are used for the communication.
CE Operating Systems Lecture 2 Low level hardware support for operating systems.
Chapter 5 Concurrency: Mutual Exclusion and Synchronization Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee.
CS4730 Real-Time Systems and Modeling Fall 2010 José M. Garrido Department of Computer Science & Information Systems Kennesaw State University.
Winter 2007SEG2101 Chapter 111 Chapter 11 Implementation Design.
© S. Ramesh / Kavi Arya / Krithi Ramamritham 1 IT-606 Embedded Systems (Software ) S. Ramesh Kavi Arya Krithi Ramamritham KReSIT/ IIT Bombay.
Lecture 11: FPGA-Based System Design October 18, 2004 ECE 697F Reconfigurable Computing Lecture 11 FPGA-Based System Design.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
CE Operating Systems Lecture 2 Low level hardware support for operating systems.
Royal Institute of Technology System Specification Fundamentals Axel Jantsch, Royal Institute of Technology Stockholm, Sweden.
Digital System Design using VHDL
Real-time aspects Bernhard Weirich Real-time Systems Real-time systems need to accomplish their task s before the deadline. – Hard real-time:
Chapter 5 Concurrency: Mutual Exclusion and Synchronization Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee.
 Process Concept  Process Scheduling  Operations on Processes  Cooperating Processes  Interprocess Communication  Communication in Client-Server.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
High Performance Embedded Computing © 2007 Elsevier Lecture 4: Models of Computation Embedded Computing Systems Mikko Lipasti, adapted from M. Schulte.
CPE555A: Real-Time Embedded Systems
Asynchronous Counters
Discrete Event Explicit notion of time (global order…)
ECE-C662 Introduction to Behavioral Synthesis Knapp Text Ch
Subsuption Architecture
Lecture 19 Logistics Last lecture Today
Instructor: Michael Greenbaum
Presentation transcript:

Mahapatra-A&M-Fall'001 Co-design Finite State Machines Many slides of this lecture are borrowed from Margarida Jacome

Mahapatra-A&M-Fall'002 Summary of Dataflow Network Model Partially ordered tags Explicit concurrency Blocking read (non-reactive) Fundamentally deterministic No input or output choice

Mahapatra-A&M-Fall'003 Summary of FSM Reactive synchronous operation –All states change state simultaneously syntactic determinism

Mahapatra-A&M-Fall'004 Synchrony Basics operation: At each clock tick, each module reads input, computes and produces outputs simultaneously.  zero delay calculations, infinite time between ticks.(no cyclic dependencies among values of events with same tag) Triggering and ordering: All modules are triggered to compute at every clock tick. At each clock tick, there is no ordering of reading of inputs, computation or writing outputs. However, an ordering can be imposed with delta step (delay) concept.  zero time that passes between events at the same clock tick and that serves simply to order events.

Mahapatra-A&M-Fall'005 Synchrony System Solution: This is the output reaction to a set of inputs. Unique solution is desirable at each clock tick. This way, easy to analyze and verify. –However, there are cyclic dependencies among values of events (due to selection of models and languages) that makes it difficult. Implementation cost: –For hardware, one must ensure the clock period is higher than the maximum possible computation time for a synchronous block, clock rate is much slower than that might otherwise achieved. –For software, ensure that invoked process completes before process changes its input.

Mahapatra-A&M-Fall'006 Asynchrony Basic operation: Events have non-zero time between them. Individual process runs whenever change in its input and can take arbitrary (bounded) time to complete its computation. Triggering and ordering: Triggered to run when input changes. There is no a priori ordering processes among triggered modules. System solution: Difficult to analyze due to solution depends on input signals and its timing. Cost: Less expensive.

7

8

9

Mahapatra-A&M-Fall'0010 CFSM Overview A FSM part: that contains set of inputs, outputs, and states, a transition relation and an output relation. A data computation part: references in transition relation to external, instantaneous (combinational) function. A locally synchronous behavior: Execute transition by producing a single output reaction based on a single, snap-shot input assignment in zero time. (synchronous from its own perspective) A globally asynchronous behavior: Each CFSM reads inputs, execute a transition, and produce outputs in an unbounded but finite time as seen by the rest of the system. This is asynchronous interaction from the system perspective.

Mahapatra-A&M-Fall'0011 Communication primitives Data buffer Event buffer Single input, single output communication process event emitted by sender (CFSM1) setting the event buffer to 1. Putting signal value in data buffer. Consumed by receiver (CFSM2) after detection of 1in event buffer. Then set “0” to event buffer. 1-place buffer CFSM1 CFSM2 connection

12

Mahpatra-A&M-Fall'0013 CFSM Networks Net: set of connections on the same output signal. Network: a set of CFSMs and nets. Example: – set of CFSMs in software (e.g. C), a compiler, an operating system, and a microprocessor (software domain), –a set of CFSMs in hardware (e.g. gates mapped to an FPGA), a hardware initialization scheme and the interface between them (polling or interrupt).

14

15

16

17

18

19

20

21

22

23