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.

Slides:



Advertisements
Similar presentations
Embedded System, A Brief Introduction
Advertisements

ES Seminar1 Communicating Transaction Processes P.S. Thiagarajan National University of Singapore Joint Work with: Abhik Roychoudhury; ……
Hardware/ Software Partitioning 2011 年 12 月 09 日 Peter Marwedel TU Dortmund, Informatik 12 Germany Graphics: © Alexandra Nolte, Gesine Marwedel, 2003 These.
ECE-777 System Level Design and Automation Hardware/Software Co-design
ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
ECE Synthesis & Verification - Lecture 2 1 ECE 667 Spring 2011 ECE 667 Spring 2011 Synthesis and Verification of Digital Circuits High-Level (Architectural)
Evolution and History of Programming Languages Software/Hardware/System.
Background information Formal verification methods based on theorem proving techniques and model­checking –to prove the absence of errors (in the formal.
CS 151 Digital Systems Design Lecture 37 Register Transfer Level
Extensible Processors. 2 ASIP Gain performance by:  Specialized hardware for the whole application (ASIC). −  Almost no flexibility. −High cost.  Use.
The Design Process Outline Goal Reading Design Domain Design Flow
1 HW/SW Partitioning Embedded Systems Design. 2 Hardware/Software Codesign “Exploration of the system design space formed by combinations of hardware.
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.
Review of “Embedded Software” by E.A. Lee Katherine Barrow Vladimir Jakobac.
Define Embedded Systems Small (?) Application Specific Computer Systems.
Models of Computation for Embedded System Design Alvise Bonivento.
November 18, 2004 Embedded System Design Flow Arkadeb Ghosal Alessandro Pinto Daniele Gasperini Alberto Sangiovanni-Vincentelli
Trend towards Embedded Multiprocessors Popular Examples –Network processors (Intel, Motorola, etc.) –Graphics (NVIDIA) –Gaming (IBM, Sony, and Toshiba)
Describing Syntax and Semantics
George Mason University ECE 448 – FPGA and ASIC Design with VHDL Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts,
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.
Models of Computation Reading Assignment: L. Lavagno, A.S. Vincentelli and E. Sentovich, “Models of computation for Embedded System Design”
UML for Embedded Systems Development— Extensions; Hardware-Software CoDesign.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
(1) Introduction © Sudhakar Yalamanchili, Georgia Institute of Technology, 2006.
1  Staunstrup and Wolf Ed. “Hardware Software codesign: principles and practice”, Kluwer Publication, 1997  Gajski, Vahid, Narayan and Gong, “Specification,
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
Computer-Aided Co-design Methods and Tools
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 {
Models of Computation: FSM Model Reading: L. Lavagno, A.S. Vincentelli and E. Sentovich, “Models of computation for Embedded System Design”
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
Extreme Makeover for EDA Industry
Automated Design of Custom Architecture Tulika Mitra
Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.
Configurable, reconfigurable, and run-time reconfigurable computing.
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.
Chonnam national university VLSI Lab 8.4 Block Integration for Hard Macros The process of integrating the subblocks into the macro.
CprE / ComS 583 Reconfigurable Computing Prof. Joseph Zambreno Department of Electrical and Computer Engineering Iowa State University Lecture #21 – HW/SW.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Mahapatra-Texas A&M-Fall'001 How to plan on project work? An attempt to consolidate your thought to gear up project activities.
- 1 - EE898_HW/SW Partitioning Hardware/software partitioning  Functionality to be implemented in software or in hardware? No need to consider special.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
Lecture 12: Reconfigurable Systems II October 20, 2004 ECE 697F Reconfigurable Computing Lecture 12 Reconfigurable Systems II: Exploring Programmable Systems.
System-level power analysis and estimation September 20, 2006 Chong-Min Kyung.
ECE-C662 Lecture 2 Prawat Nagvajara
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.
Digital Design Using VHDL and PLDs ECOM 4311 Digital System Design Chapter 1.
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
FPGA-Based System Design Copyright  2004 Prentice Hall PTR Topics n Modeling with hardware description languages (HDLs).
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
ASIC/FPGA design flow. Design Flow Detailed Design Detailed Design Ideas Design Ideas Device Programming Device Programming Timing Simulation Timing Simulation.
Hardware/Software Co-Design of Complex Embedded System NIKOLAOS S. VOROS, LUIS SANCHES, ALEJANDRO ALONSO, ALEXIOS N. BIRBAS, MICHAEL BIRBAS, AHMED JERRAYA.
Embedded Real-Time Systems
Programmable Logic Devices
Programmable Hardware: Hardware or Software?
ASIC Design Methodology
Introduction to cosynthesis Rabi Mahapatra CSCE617
Reconfigurable Computing
332:437 Lecture 7 Verilog Hardware Description Language Basics
Lesson 4 Synchronous Design Architectures: Data Path and High-level Synthesis (part two) Sept EE37E Adv. Digital Electronics.
ECE-C662 Introduction to Behavioral Synthesis Knapp Text Ch
332:437 Lecture 7 Verilog Hardware Description Language Basics
HIGH LEVEL SYNTHESIS.
332:437 Lecture 7 Verilog Hardware Description Language Basics
ECE 448 Lecture 6 Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL code ECE 448 – FPGA and ASIC Design.
Digital Designs – What does it take
Presentation transcript:

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.

Mahapatra-Texas A&M-Spring'042 Embedded Processor Types General Purpose –Expensive, requires more support logics, unpredictable Controllers –Control flow dominated, bit-level operation emphasized Field Programmable Gate Arrays –Configurable, replaces processors and drivers to itself DSP –Based upon multiply-add module to suit DSP algorithms

Mahapatra-Texas A&M-Spring'043 Domain specific processors Network processors –Array processors (16-256) to process internet packets on a single chip –High-end routers Media processors –SIMD or vector processor (RISC,VLIW) with multimedia instruction extensions –Digital camera, DVD player etc.

Mahapatra-Texas A&M-Spring'044 System Design What is System Design? “Is the process of implementing a desired functionality using a set of components”

Mahapatra-Texas A&M-Spring'045 System Design contd. Step1 Design must begin with specifying the desired functionality

Mahapatra-Texas A&M-Spring'046 Specification For precise specification, we need to - think the system to be a collection of simpler subsystems - a method (rules) to compose these pieces

ASV/LL UCB7 Functions vs. Computation Functions specify only a relation between two sets of variables (input and output) Computation describe how the output variables can be derived from the value of input variable

Mahapatra-Texas A&M-Spring'048 Essential Issues Modeling –System description –System behavior Validation (verification) Performance estimation Partitioning and mapping Synthesis: – Software synthesis – Hardware synthesis – Interface synthesis

Lilius of TUCS9 A Co-design framework System description Compiler System behavior Partitionning and mapping Partitioned specification SW synthesisHw synthesisInterface synthesis C-codeVHDL Prototype Validation Evaluation Performance estimation ASSUMPTION: Homogenous model of computation

Mahapatra-Texas A&M-Spring'0410 Model The method or rules to compose the pieces of subsystems to create a system functionality is usually called a Model.

Mahapatra-Texas A&M-Spring'0411 Model Model should be… formal : no ambiguity complete : with sets of properties, performance indices and constraints comprehensive and easy to modify natural to understand

Mahapatra-Texas A&M-Spring'0412 Model What is a model? Model is a formal system consisting of objects and composition rules, and is used for describing a system’s characteristics.

Lilius of TUCS13 Modeling Modeling digital systems is often complicated by the heterogeneity of its components. Distinguish between: –models of computation –hardware/software (specification) languages. A language may imply many models: –UML State Machines: synchronous behavior within a state machine asynchronous behavior between state machines

ASV/LL UCB14 Model of Computation A MoC is a framework in which to express what sequence of actions must be taken to complete a computation An instance of a model of computation is a representation of a function under a particular interpretation of its constituents. Not necessarily a bijection (almost never!)

Lilius of TUCS15 Models of Computation Often existing models belong to several categories –Finite state machines: totally ordered discrete events –Petri nets: partially ordered events –Synchronous data-flow: multirate discrete time partially-ordered events

Mahapatra-Texas A&M-Spring'0416 why different Models? Various models have certain strong properties that might be useful for some applications Some problems might be un-decidable

Lilius of TUCS17 Specification languages Finite-state based –synchronous communication: Statecharts, Esterel –asynchronous communication: SDL Partial orders of tasks: –VHDL at behavioral level Discrete time, cycle based: –VHDL at RTL level Synchronous data-flow: Silage, DFL, Lustre

Lilius of TUCS18 Specification languages No perfect language exists! – Control (software): asynchronous (fsm) – DSP: data-flow – Hardware: synchronous  Force user to think in terms of: –one model of computation system: POLIS –many models of computation: PTOLEMY

19 A Co-design framework System description Compiler System behavior Partitionning and mapping Partitioned specification SW synthesisHw synthesisInterface synthesis C-codeVHDL Prototype Validation Evaluation Performance estimation ASSUMPTION: Homogenous model of computation

Lilius of TUCS20 Validation System-level validation (co-validation): –Methods for gaining reasonable certainty that the design is free from errors. Methods: – Verification – (Co-)Simulation – Emulation

Lilius of TUCS21 Verification Specification verification Is the specification consistent? Does it have the required properties? Implementation verification Have we implemented the specification? Checking of: safety: nothing bad ever happens liveness: something good eventually happens

Mahapatra-Texas A&M-Spring'0422 Weakly heterogeneous systems One or more processors, some dedicated hardware, and several software layers. Desired features of simulator: adequate timing accuracy fast execution visibility of internal registers for debugging purposes Problems: One step in program is equivalent to many steps in hardware  long running times  Availability of hardware models with the required abstraction level.

Mahapatra-Texas A&M-Spring'0423 Highly heterogeneous systems Specialized simulators: – PTOLEMY (U.C. Berkeley)

24 A Co-design framework System description Compiler System behavior Partitionning and mapping Partitioned specification SW synthesisHw synthesisInterface synthesis C-codeVHDL Prototype Validation Evaluation Performance estimation ASSUMPTION: Homogenous model of computation

Lilius of TUCS25 Partitioning Input: functional specification Output: –an architecture composed of hardware black boxes, software black boxes and interconnection media and mechanisms –a mapping function that assigns functional units to architectural units

Lilius of TUCS26 Partitioning Construction of mapping is an optimization problem: –mapping function optimizes Cost, time, area, communication What is the architecture? –Automated synthesis of custom architectures difficult, common restrictions: limited to a library of predefined choices communication mechanisms are standardized

27 A Co-design framework System description Compiler System behavior Partitionning and mapping Partitioned specification SW synthesisHw synthesisInterface synthesis C-codeVHDL Prototype Validation Evaluation Performance estimation ASSUMPTION: Homogenous model of computation

Lilius of TUCS28 Hardware synthesis Well established research field Several commercial tools exist Levels of abstraction: – Behavioral synthesis : algorithmic synthesis – Register-Transfer level synthesis : VHDL, Verilog – Logic level synthesis : netlist Research issue: reuse of hardware

Lilius of TUCS29 Software synthesis Difficult problem for general purpose computing For embedded system much more constrained: no swapping devices no stacks only polling and static variables Simple algorithms –Translating FSMs to programs especially simple Specification consists of concurrent tasks –Problem: How do we find a linear execution order that satisfies the timing constraints? Use scheduling theory.

Mahapatra-Texas A&M-Spring'0430 Interface synthesis Interface between processor and ASIC –synthesis of software –synthesis of ”glue logic” Automatic generation of bus interfaces –PCI, VME Packet routing against wires Interfacing of sensors and actuators

Mahapatra-Texas A&M-Spring'0431 Existing Tools Academic: –POLIS: U.C. Berkeley –PTOLEMY: U.C. Berkeley –VULCAN: Stanford U. (Hardware C) –CHINOOK: U. of Washington (VHDL) –COSYMA: U. of Braunschweig (C*) –MEIJE: INRIA and others (Esterel, Lustre, Signal) Commercial: –Arexys: SDL, VHDL, C –CoWare: C/C++ –LavalLogic: Java to Verilog –Cynlib: C++ to Verilog –Art, Algorithm to RT: C++ to RTL –SUPERLOG: System level description language

Mahapatra-Texas A&M-Spring'0432 Available tools Synopsis Tool set including CoCentric INRIA CADP Xtensa from Tensilica VxWorks, Montavista RTOS IBM PowerPC development platform Xilinx’s FPGA Express Ptolemy, Polis environment Code Composer from TI

Mahapatra-Texas A&M-Spring'0433 POLIS Specification: FSM-based languages (Esterel,...) Internal Representation: CFSM network Validation: high-level co-simulation FSM-based formal verification Partitioning: by hand, based on co-simulation estimates Scheduling: classical real-time algorithms Synthesis: S-graph-based code synthesis for software logic synthesis for hardware Main emphasis on unbiased verifiable specification

Mahapatra-Texas A&M-Spring'0434 PTOLEMY Specification: Data flow graph Internal representation: DFG Validation: multi-paradigm co-simulation (DF, discrete events,...) Partitioning: greedy, based on scheduling Scheduling: linear, sorting blocks by ``criticality'' Synthesis: –DSP code –custom DSP synthesis for hardware Main emphasis on heterogeneous computation models

Mahapatra-Texas A&M-Spring'0435 Projects Power aware codesign – Low-Power Scheduling NoC, Communication synthesis in SoC DSP algorithms on FPGA Network & Multimedia processor design Distributed Embedded systems Novel design methodology Your own project

Mahapatra-Texas A&M-Spring'0436 Project (contd.) Pre-proposal Proposal Mid-term Report Final Report