System Synthesis for Multiprocessor Embedded Applications Flávio R. Wagner Marcio Oyamada Luigi Carro Marcio Kreutz Universidade Federal do Rio Grande.

Slides:



Advertisements
Similar presentations
Digital System Design Subject Name : Digital System Design Course Code : IT-314.
Advertisements

Embedded System, A Brief Introduction
ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
ICS103 Programming in C Lecture 1: Overview of Computers & Programming
Lecture 1: Overview of Computers & Programming
Copyright © 2002 W. A. Tucker1 Chapter 1 Lecture Notes Bill Tucker Austin Community College COSC 1315.
Evolution and History of Programming Languages Software/Hardware/System.
Mahapatra-Texas A&M-Fall'001 Cosimulation II Cosimulation Approaches.
© Janice Regan Problem-Solving Process 1. State the Problem (Problem Specification) 2. Analyze the problem: outline solution requirements and design.
Characteristics of Realtime and Embedded Systems Chapter 1 6/10/20151.
COMM 1 Nataliya Mulyar Laci Posta Coupling Of Multidisciplinary Models.
1 HW/SW Partitioning Embedded Systems Design. 2 Hardware/Software Codesign “Exploration of the system design space formed by combinations of hardware.
High-level System Modeling and Power Management Techniques Jinfeng Liu Dept. of ECE, UC Irvine Sep
Presenter : Shih-Tung Huang Tsung-Cheng Lin Kuan-Fu Kuo 2015/6/15 EICE team Model-Level Debugging of Embedded Real-Time Systems Wolfgang Haberl, Markus.
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.
Java for High Performance Computing Jordi Garcia Almiñana 14 de Octubre de 1998 de la era post-internet.
Define Embedded Systems Small (?) Application Specific Computer Systems.
Hier wird Wissen Wirklichkeit Computer Architecture – Part 5 – page 1 of 25 – Prof. Dr. Uwe Brinkschulte, Prof. Dr. Klaus Waldschmidt Part 5 Fundamentals.
State Machines Timing Computer Bus Computer Performance Instruction Set Architectures RISC / CISC Machines.
Outline Chapter 1 Hardware, Software, Programming, Web surfing, … Chapter Goals –Describe the layers of a computer system –Describe the concept.
Evolution of Digital-Design: Past, Present, and Future Design & Co-design of Embedded Systems Maziar Goudarzi.
Mahapatra-Texas A&M-Fall'001 Codesign Framework Parts of this lecture are borrowed from lectures of Johan Lilius of TUCS and ASV/LL of UC Berkeley available.
Educational Computer Architecture Experimentation Tool Dr. Abdelhafid Bouhraoua.
ECE 232 L1 Intro.1 Adapted from Patterson 97 ©UCBCopyright 1998 Morgan Kaufmann Publishers ECE 232 Hardware Organization and Design Lecture 1 Introduction.
Using UML Models for the Performance Analysis of Network Systems Nico de Wet and Pieter Kritzinger Department of Computer Science University of Cape Town.
(1) Introduction © Sudhakar Yalamanchili, Georgia Institute of Technology, 2006.
© 2011 Xilinx, Inc. All Rights Reserved Intro to System Generator This material exempt per Department of Commerce license exception TSU.
1 Presenter: Ming-Shiun Yang Sah, A., Balakrishnan, M., Panda, P.R. Design, Automation & Test in Europe Conference & Exhibition, DATE ‘09. A Generic.
Web-based design Flávio Rech Wagner UFRGS, Porto Alegre, Brazil SBCCI, Manaus, 24/09/00 Informática UFRGS.
EECE **** Embedded System Design
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
Trigger design engineering tools. Data flow analysis Data flow analysis through the entire Trigger Processor allow us to refine the optimal architecture.
ECE-777 System Level Design and Automation Introduction 1 Cristinel Ababei Electrical and Computer Department, North Dakota State University Spring 2012.
Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 1 Hardware/Software Codesign of Embedded Systems DESIGN METHODOLOGIES Voicu.
CAD Techniques for IP-Based and System-On-Chip Designs Allen C.-H. Wu Department of Computer Science Tsing Hua University Hsinchu, Taiwan, R.O.C {
Principles Of Digital Design Chapter 1 Introduction Design Representation Levels of Abstraction Design Tasks and Design Processes CAD Tools.
Models of Computation: FSM Model Reading: L. Lavagno, A.S. Vincentelli and E. Sentovich, “Models of computation for Embedded System Design”
Extreme Makeover for EDA Industry
High Performance Embedded Computing © 2007 Elsevier Lecture 3: Design Methodologies Embedded Computing Systems Mikko Lipasti, adapted from M. Schulte Based.
System Design with CoWare N2C - Overview. 2 Agenda q Overview –CoWare background and focus –Understanding current design flows –CoWare technology overview.
High Performance Embedded Computing © 2007 Elsevier Chapter 1, part 2: Embedded Computing High Performance Embedded Computing Wayne Wolf.
IEEE ICECS 2010 SysPy: Using Python for processor-centric SoC design Evangelos Logaras Elias S. Manolakos {evlog, Department of Informatics.
Hardware/Software Co-design Design of Hardware/Software Systems A Class Presentation for VLSI Course by : Akbar Sharifi Based on the work presented in.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
System synthesis and processor selection in the SES environment in the S 3 E 2 S environment Márcio Kreutz, Luigi Carro, Flávio Wagner, Marcio Oyamada.
- 1 - EE898_HW/SW Partitioning Hardware/software partitioning  Functionality to be implemented in software or in hardware? No need to consider special.
Computer Architecture And Organization UNIT-II General System Architecture.
MILAN: Technical Overview October 2, 2002 Akos Ledeczi MILAN Workshop Institute for Software Integrated.
6. A PPLICATION MAPPING 6.3 HW/SW partitioning 6.4 Mapping to heterogeneous multi-processors 1 6. Application mapping (part 2)
FPL Sept. 2, 2003 Software Decelerators Eric Keller, Gordon Brebner and Phil James-Roxby Xilinx Research Labs.
SIMOO A Platform for Object-Oriented Design and Simulation of Embedded Electronic Systems and Real-Time Automation Systems Flávio R. Wagner Universidade.
1 Copyright  2001 Pao-Ann Hsiung SW HW Module Outline l Introduction l Unified HW/SW Representations l HW/SW Partitioning Techniques l Integrated HW/SW.
High Performance Embedded Computing © 2007 Elsevier Chapter 7, part 3: Hardware/Software Co-Design High Performance Embedded Computing Wayne Wolf.
Chapter 1 : Overview of Computer and Programming By Suraya Alias
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Software Systems Division (TEC-SW) ASSERT process & toolchain Maxime Perrotin, ESA.
Hardware/Software Co-Design of Complex Embedded System NIKOLAOS S. VOROS, LUIS SANCHES, ALEJANDRO ALONSO, ALEXIOS N. BIRBAS, MICHAEL BIRBAS, AHMED JERRAYA.
Visual Basic.NET Comprehensive Concepts and Techniques Chapter 1 An Introduction to Visual Basic.NET and Program Design.
Computer Architecture Organization and Architecture
Intelligent Control Grant Agreement No LLP UK-LEONARDO-LMP Project acronym: CLEM Project title: Cloud services for E-Learning in Mechatronics.
Sung-Dong Kim, Dept. of Computer Engineering, Hansung University Java - Introduction.
System-on-Chip Design
Andreas Hoffmann Andreas Ropers Tim Kogel Stefan Pees Prof
ICS103 Programming in C Lecture 1: Overview of Computers & Programming
课程名 编译原理 Compiling Techniques
An Introduction to Visual Basic .NET and Program Design
IP – Based Design Methodology
from classroom to research: providing different
Introduction to cosynthesis Rabi Mahapatra CSCE617
Presentation transcript:

System Synthesis for Multiprocessor Embedded Applications Flávio R. Wagner Marcio Oyamada Luigi Carro Marcio Kreutz Universidade Federal do Rio Grande do Sul Porto Alegre, Brazil DATE´2000, Paris, Frande, March 2000 UFRGS Informática

Outline 1. Introduction 2. Modeling and simulation infra-structure 3. Hardware-software co-design methodology 4. Co-simulation 5. Example 6. Synthesis 7. Final remarks

1. Introduction embedded electronic systems: control of physical processes and equipments target architecture –off-the-shelf or dedicated processors (DSP, RISC, microcontrollers) –software –dedicated analog and digital hardware requirements for a design environment –appropriate specification mechanisms for various abstraction levels –stepwise refinement process –co-simulation

Motivation existing approaches for design environments –single language / computation model for high-level specifications –multi-language environments –object-oriented design our solution combines benefits from all these approaches –object-oriented specification and simulation –single environment for the whole design process –various types of models are possible single, high-level abstract specification –computation model: procedural, state machines co-specification and co-simulation: discrete, analog, VHDL

2. Modeling and simulation infra-structure SIMOO environment object-oriented modeling and simulation of discrete systems multiparadigm modeling –each object in the model may follow a different paradigm –paradigm is a combination of aspects for the behavior description visual interactive simulation graphical description of the static structure behavior described in C++ or state diagrams annotated with C++ –simulation library implements the multiple paradigms

SIMOO: software architecture Model Editor Tool library of autonomous objects C++ code SIMOO class library executable code compiler default user interface automatically added to all models querying models, tracking and steering experiments interface objects visualization of results, data collection, interactive data input

3. Hw-sw codesign methodology initial abstract specification –C++ or state diagrams annotated with C++ objects corresponding to the physical world may be modeled by a continuous behavior design proceeds through a stepwise refinement –hierarchical refinement: same abstraction level –abstraction refinement: design decisions are taken abstract objects are mapped into objects of a target architecture –digital or analog hardware, software validation of all possible models by co-simulation

Library-based synthesis selection of hardware objects from a previously built library of classes for the possible target architectures digital hardware objects previously described in VHDL –no automatic synthesis from C++ to VHDL software objects may be automatically generated from the abstract specification –from C to assembly languages of the selected processors

4. Co-simulation co-simulation for the validation of the initial specification –discrete behavior - algorithms or state diagrams –continuous behavior - physical environment co-simulation for the validation of possible implementations –discrete behavior - algorithms or state diagrams for parts that have not been yet refined for software parts –continuous behavior for the physical environment for analog hardware –VHDL for digital hardware

Coupling SIMOO and VHDL SIMOO simulatorVHDL simulator

Coupling SIMOO and VHDL interfaces in both domains are automatically generated –C-file in the VHDL domain –interface object in the SIMOO domain interfaces are responsible for... –communication - exchange of data and format conversion –synchronization between simulators conservative approach communication between simulators by sockets distributed simulation is possible –SIMOO currently runs on Windows –VSS runs on Unix workstations

Hybrid discrete-continuous simulation objects with analog behavior –modeled by a set of differential equations –implement the numerical integration method –object attribute defines integration time step signal-flow approach –mathematical functions from inputs to outputs –appropriate for objects that... don´t have a physical implementation yet model the physical environment are modeled at a higher abstraction level than basic components (PID controllers, converters, filters)

Hybrid discrete-continuous simulation current situation –differential equations directly described in C++ –integration time step must be defined by the programmer scheduling the execution of analog objects –if there are more than one AO and they communicate with each other, they must be scheduled at each time step and exchange messages –if not, an AO may be scheduled at intervals that depend on the discrete objects and then execute several integration steps future work –better modeling environment –better time advancement mechanism, including automatic time step definition –integration with Matlab / Simulink

5. Example benchmark for specification of heterogeneous systems physical plant: crane with a load, moving along a track control –assures smooth movement, without bumps and oscillations –verifies if displacement does not exceed limits and if angle of the load is acceptable (emergency break) –auto-test of sensors

First modeling of the crane physical plant drives the dc motor (speed), control breaks and emergency break checks plausibility of car position and load angle controls car movement, sensor checking, output forces to Actuators

First modeling of the crane physical plant Plant_rk is an object with continuous behavior all other objects have discrete behavior M_Control combines two computation models –control algorithm for movement is a discrete computation of the state-variable method q n+1 =A*q n + B*[Motor_Voltage Car_Position] T at each 10 ms –sensor checking is an FSM Diagnosis is an FSM Actuators is an algorithm

Second modeling of the crane main control algorithm, arithmetic operations M_Control split into two objects FSM for sensor checking

Third modeling of the crane FSMs (Job_Control and Diagnosis) merged into a single object to be implemented as digital hardware and modeled in VHDL

6. Synthesis library of previously characterized processors characterization by attributes size of binary word types of instructions memory operand addressing modes execution time (in clock cycles) of each instruction number of busses to access memory type of memory number of registers use of pipeline and depth of eventual pipeline use of harvard architecture current library: C25, 8051, RISCO

Characterizing the application APP = P P + M + C APC = C P + M + C APM = M P + M + C C++CDFG machine- independent 3-address code application is characterized as: - data-dominated - memory-dominated - control-dominated machine-independent code is fitted to each type of processor architecture: RISC, DSP, microcontroller

Selecting the processor performance profiles measure, for the given application, the relative cost of the processor for each aspect (data, control, memory) selection algorithm –analyzes the application and performance profiles –chooses the processor best suited for the application –currently: measure of the mean geometric distance between the desired application profiles and the performance profiles PPP i = PiPi P i + M i + C i PPC i = CiCi P i + M i + C i PPM i = MiMi P i + M i + C i

Selecting the processor ProcessorAPMAPCAPPPPMPPCPPPDistance Control RISCO C examples from the crane modeling ProcessorAPMAPCAPPPPMPPCPPPDistance Multiplication RISCO C

7. Final remarks SIMOO is used as a high-level modeling and verification front-end co-simulation: SIMOO used as a seamless environment for validating both high-level designs and implementations –stepwise refinement: progressive replacement of abstract descriptions by implementation descriptions synthesis –target architecture is a multiprocessor platform –semi-automatic selection of the processors that best match the desired design requirements for the given objects

Future work basic modeling and simulation infra-structure –optimize the hybrid modeling and simulation mechanisms –distributed simulation with an optimistic protocol –multi-language approach: integrate other languages synthesis –communication synthesis –find optimal selection algorithms and consider other requirements (cost, area, power) –explore partitioning of objects into processors –model larger examples where multiprocessor platforms are needed