EE249 Lab September 30 h, 2008 Hugo A. Andrade

Similar documents
EECS Berkeley EE249 LabVIEW Framework. Hugo A. Andrade Principal Architect LabVIEW Platform & Real Time Group

LabVIEW Statechart Module Tutorial

Graphical System Design. David Fuller LabVIEW R&D Section Manager

Graphical System Design:

Designing Real-Time Control Applications Using LabVIEW and CompactRIO. Developer Days 2009

FPGA design with National Instuments

Unified Modeling Language 2

Software Synthesis from Dataflow Models for G and LabVIEW

ANSI C CODE SYNTHESIS FOR MLDESIGNER FINITE STATE MACHINES

Functional Programming in Embedded System Design

State Machine Diagrams

Making the Most of your FPGA Design

System-level Synthesis of Dataflow Applications for FPGAbased Distributed Platforms

Exercise Unit 2: Modeling Paradigms - RT-UML. UML: The Unified Modeling Language. Statecharts. RT-UML in AnyLogic

Short Term Courses (Including Project Work)

Hardware Description Languages & System Description Languages Properties

States Transitions Connectors Esterel Studio

Concurrent Models of Computation

Introduction to LabVIEW and NI Hardware Platform

ReconOS: An RTOS Supporting Hardware and Software Threads

Agenda. Programming FPGAs Why Are They Useful? NI FPGA Hardware Common Applications for FPGAs How to Learn More

LabVIEW Based Embedded Design [First Report]

New Software-Designed Instruments

VHDL Essentials Simulation & Synthesis

Ingegneria del Software Corso di Laurea in Informatica per il Management

FPGA for Software Engineers

Hardware Description Languages & System Description Languages Properties

Meltem Özturan

Finite State Machine Modeling for Software Product Lines. Finite State Machines and Statecharts

Composition of State Machines

Code Generation for QEMU-SystemC Cosimulation from SysML

UNIT-4 Behavioral Diagrams

Tips for Code Re-Use. Rejwan Ali, Marketing Engineer NI Africa and Oceania

CA314 Object Oriented Analysis & Design - 7. File name: CA314_Section_07_Ver01 Author: L Tuohey No. of pages: 16

Codesign Framework. Parts of this lecture are borrowed from lectures of Johan Lilius of TUCS and ASV/LL of UC Berkeley available in their web.

Hardware/Software Co-design

High-Level Synthesis with LabVIEW FPGA

ECL: A SPECIFICATION ENVIRONMENT FOR SYSTEM-LEVEL DESIGN

Lecture 6B Hierarchical/Concurrent State Machine Models (HCFSM)

Updates on SCCharts Christian Motika Steven Smyth

Reliable Embedded Multimedia Systems?

Certified LabVIEW Associate Developer Exam. Test Booklet

Metaprogrammable Toolkit for Model-Integrated Computing

Contents Contents 1 Introduction Entity Types... 37

Increase Your Test Capabilities with Reconfigurable FPGA Technology

Executing SyncCharts with Ptolemy

NI LabView READ THIS DOCUMENT CAREFULLY AND FOLLOW THE INSTRIUCTIONS IN THE EXERCISES

Remote Control. IMMS.de

FPGA BASED SYSTEM DESIGN. Dr. Tayab Din Memon Lecture 1 & 2

EE414 Embedded Systems Ch 9. State Machines

HW/SW Co-design. Design of Embedded Systems Jaap Hofstede Version 3, September 1999

FlexRIO. FPGAs Bringing Custom Functionality to Instruments. Ravichandran Raghavan Technical Marketing Engineer. ni.com

S-Store: Streaming Meets Transaction Processing

Verilog Essentials Simulation & Synthesis

LabVIEW Graphical Programming

Experiences from the first step in designing an Architecture executing Executable UML semantics in Programmable Logic using VHDL

A Technical Approach to Streaming High Density PDV Data with PXI Express

An Overview of the Ptolemy Project. Organizational

Benefits of Programming Graphically in NI LabVIEW

Building Combinatorial Circuit Using Behavioral Modeling Lab

Benefits of Programming Graphically in NI LabVIEW

A Model-Driven Approach to Embedded Control System Implementation

Best Practices for Architecting Embedded Applications in LabVIEW Jacques Cilliers Applications Engineering

Computational Models for Concurrent Streaming Applications

Early design phases. Peter Marwedel TU Dortmund, Informatik /10/11. technische universität dortmund. fakultät für informatik informatik 12

Section 8. The Basic Step Algorithm

CS 310 Embedded Computer Systems DESIGN

Running OPAL-RT s ehs on National Instruments crio: Sub-microsecond power-electronic simulation

LabVIEW 2009 Real-Time & FPGA 最新技術剖析. National Instruments 美商國家儀器 行銷部技術經理吳維翰

ECU Measurement and Calibration in a Real-Time Test Environment. Roland Magolei National Instruments Engineering GmbH Embedded Networks

SDL. Jian-Jia Chen (slides are based on Peter Marwedel) TU Dortmund, Informatik 年 10 月 18 日. technische universität dortmund

FSMs & message passing: SDL

Communication Systems Design in Practice

Modern Embedded Systems Programming: Beyond the RTOS

Controller FSM Design Issues : Correctness and Efficiency. Lecture Notes # 10. CAD Based Logic Design ECE 368

Practical UML Statecharts in C/C++

By: Chaitanya Settaluri Devendra Kalia

Lecture 3: Modeling in VHDL. EE 3610 Digital Systems

LabVIEW programming II

Software Architecture

Experience in Developing Model- Integrated Tools and Technologies for Large-Scale Fault Tolerant Real-Time Embedded Systems

Graphical System Design for Machine Control

visualstate Reference Guide

Compute Node Design for DAQ and Trigger Subsystem in Giessen. Justus Liebig University in Giessen

Hierarchical FSMs with Multiple CMs

MULTILANGUAGE SPECIFICATION FOR SYSTEM DESIGN AND CODESIGN

Introduction to Software Testing Chapter 2, Sec#: 2.5 Graph Coverage for Specifications

Modern Embedded Systems Programming: Beyond the RTOS

EE382N.23: Embedded System Design and Modeling

7 The proposed domain specific language: operational level

Approach to Enable Real-Time HPC. President, CEO and Cofounder National Instruments

Digital Design LU. Lab Exercise 1

CHAPTER - 2 : DESIGN OF ARITHMETIC CIRCUITS

CISC836: Models in Software Development: Methods, Techniques and Tools

ModelicaML: Getting Started Issue April 2012

Chapter 8. FSM Model Specification

Squeezing the Most Out of a Dentifrice Filling Application

ni.com Best Practices for Architecting Embedded Applications in LabVIEW

The Generic Modeling Environment

Verilog Sequential Logic. Verilog for Synthesis Rev C (module 3 and 4)

Transcription:

High-Level Development Tools Data Flow C Code Textual Math Modeling Statechart EE249 Lab September 30 h, 2008 Hugo A. Andrade Graphical System Design Platform Linux Macintosh Windows Real-Time FPGA Micro Desktop Platform Embedded Platform

Virtual Instrumentation Hardware and Driver Software Application Software

Virtual Instrumentation

Graphical System Design Platform Configuration Graphical Programming Textual Math Statecharts Modeling & Simulation

Graphical System Design Platform

Graphical System Design Platform

Graphical System Design Platform Configuration Graphical Programming Textual Math Statecharts Modeling & Simulation

The G (LabVIEW) Language Model Homogenous dataflow language Structured case (switch, select) and loops Structured dataflow Run-time scheduling Explicit task level parallelism Implicit parallelism heuristically identified Synthesizable language To machine code on x86 and PPC processors To VHDL for FPGAs To C for embedded processors Turing complete

Evolution of LabVIEW Backend Technologies Intermediate Code Compiler Hardware Target None (Machine Code) LabVIEW Real-Time Wintel PowerPC VHDL OEM Synthesis PAR FPGA None (Object Library) LabVIEW DSP DSP C Any Any 32-bit MPU

What is LabVIEW FPGA LabVIEW FPGA Module Reconfigurable I/O (RIO) Hardware

Enforcing Dataflow in FPGA

Developing Applications with the NI LabVIEW Statechart Module

High-Level Development Tools Data Flow C Code Textual Math Modeling Statechart Graphical System Design Platform Linux Macintosh Windows Real-Time FPGA Micro Desktop Platform Embedded Platform

What are Statecharts? System Inputs Outputs Statecharts are visual representations of reactive (event-based) systems.

Differences between Statecharts and FSMs Both contain the same basic concepts: States Transitions Statechart adds additional concepts: Hierarchy Concurrency Event-based paradigm Pseudostates & Connectors H Button Press Based on the UML statechart diagram specification

Reactive Systems Communication systems Digital protocols Control applications Sequential logic Batch processing Event response Non-linear control State Machines User-interface implementation System modeling for virtual prototyping (simulation)

Statechart Benefits Abstraction Simple semantics to represent complex systems System-level view Self-documenting

Machine & Process Control hierarchy concurrency

FPGA Logic hierarchy

User Interfaces history

Statechart Benefits Abstraction Simple semantics to represent complex systems System-level view Self-documenting Scalability Easily extend applications Open software platform Automatic Code Generation LabVIEW Embedded Technology

LabVIEW Statechart Development 1. Build statechart 2. Define transitions and states 3. Generate statechart subvi 4. Place in LabVIEW block diagram

Example Ceiling Fan Triggers Power switch Fan toggle Light toggle Outputs Light Fan speed Power No Power Fan Light Fan Light High on medium off low off off

Example Ceiling Fan Triggers Power switch Fan toggle Light toggle Outputs Light Fan speed Power No Power Fan Light Fan Light on on off off off Internal Data Fan Speed

1. Build Statechart

1. Build Statechart

1. Build Statechart

2. Define Transitions and States Each Transition contains three components Trigger events that cause a transition Guard logic that can prevent a transition Action what happens when you transition If the doorbell rings and an adult is home, answer the door. Curr State DOOR CLOSED Trigger doorbell ring Guard adult home? Action open door New State DOOR OPEN

2. Define Transitions and States Each Transition contains three components Trigger events that cause a transition Guard logic that can prevent a transition Action what happens when you transition Each state contains three types of actions Entry what happens when you get there Exit what happens when you leave Static what happens while you are there

2. Define Transitions and States Trigger-Guard-Action Triggers

2. Define Transitions and States Static Reaction Trigger-Guard-Action Inputs State Data Outputs

3. Build Statechart SubVI

4. Place in LabVIEW Block Diagram Asynchronous Usage User interface Interruption handling Modeling event driven systems

4. Place in LabVIEW Block Diagram Synchronous Usage Embedded applications Communication protocols Control implementations

Statechart Execution Evaluate the trigger/guard logic for the transitions leaving the current state(s) On first valid transition: Execute the exit action(s) for the current state(s) Execute the transition action Execute the entry action(s) for all state(s) being transitioned to If no transitions are valid: Evaluate the trigger/guard logic for all static reactions configured for the current state Execute the action code for all valid reactions

Statechart Execution

DEMO

What to do next? Visit ni.com/statechart Demo videos Statecharts 101 whitepaper Statecharts with LabVIEW FPGA whitepaper Try the LabVIEW Statechart Module online Demonstration from local Field Engineer