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.

Similar documents
Hardware/Software Co-design

EE382V: System-on-a-Chip (SoC) Design

Hardware Software Codesign of Embedded Systems

Intro to High Level Design with SystemC

System Design and Methodology/ Embedded Systems Design (Modeling and Design of Embedded Systems)

System-level simulation (HW/SW co-simulation) Outline. EE290A: Design of Embedded System ASV/LL 9/10

System Level Design Technologies and System Level Design Languages

Hardware-Software Codesign. 1. Introduction

Hardware Software Codesign of Embedded System

Introduction to Embedded Systems

Hardware-Software Codesign. 1. Introduction

Design Issues in Hardware/Software Co-Design

Hardware Description Languages & System Description Languages Properties

EEL 5722C Field-Programmable Gate Array Design

ECE 111 ECE 111. Advanced Digital Design. Advanced Digital Design Winter, Sujit Dey. Sujit Dey. ECE Department UC San Diego

Hardware Description Languages & System Description Languages Properties

Cosimulation II. Cosimulation Approaches

EEM870 Embedded System and Experiment Lecture 4: SoC Design Flow and Tools

MULTILANGUAGE SPECIFICATION FOR SYSTEM DESIGN AND CODESIGN

System-Level Modeling Environment: MLDesigner

Extending POLIS with User-Defined Data Types

Ptolemy Seamlessly Supports Heterogeneous Design 5 of 5

Hardware Design and Simulation for Verification

Introduction to Electronic Design Automation. Model of Computation. Model of Computation. Model of Computation

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

Anand Raghunathan

Long Term Trends for Embedded System Design

Part 2: Principles for a System-Level Design Methodology

ECE 448 Lecture 15. Overview of Embedded SoC Systems

Lecture 7: Introduction to Co-synthesis Algorithms

System Level Design with IBM PowerPC Models

Cosimulation II. How to cosimulate?

Specifications Part 1

Hardware Software Codesign of SOC 晶片系統之軟硬體共同設計

Does FPGA-based prototyping really have to be this difficult?

Hardware-Software Codesign. 6. System Simulation

System Level Design Flow

RTL Coding General Concepts

Hardware/Software Codesign Overview

Outline. SLD challenges Platform Based Design (PBD) Leveraging state of the art CAD Metropolis. Case study: Wireless Sensor Network

An introduction to CoCentric

Comparison of models. Peter Marwedel Informatik 12, TU Dortmund, Germany 2010/11/07. technische universität dortmund

COMPLEX EMBEDDED SYSTEMS

The Use Of Virtual Platforms In MP-SoC Design. Eshel Haritan, VP Engineering CoWare Inc. MPSoC 2006

FPGA-Based Rapid Prototyping of Digital Signal Processing Systems

Appendix SystemC Product Briefs. All product claims contained within are provided by the respective supplying company.

Contents 1 Introduction 2 Functional Verification: Challenges and Solutions 3 SystemVerilog Paradigm 4 UVM (Universal Verification Methodology)

ECE 459/559 Secure & Trustworthy Computer Hardware Design

EE382V: System-on-a-Chip (SoC) Design

FSMs & message passing: SDL

Challenges. Shift to Reuse Strategy Higher Level of Abstractions Software!!!

A Rapid Prototyping Methodology for Algorithm Development in Wireless Communications

System Synthesis of Digital Systems

System Level Design For Low Power. Yard. Doç. Dr. Berna Örs Yalçın

fakultät für informatik informatik 12 technische universität dortmund Modeling levels Peter Marwedel TU Dortmund, Informatik /11/07

Software Driven Verification at SoC Level. Perspec System Verifier Overview

Design Space Exploration for Hardware/Software Codesign of Multiprocessor Systems

Co-synthesis and Accelerator based Embedded System Design

SYSTEMS ON CHIP (SOC) FOR EMBEDDED APPLICATIONS

Hardware/Software Codesign

Contents Part I Basic Concepts The Nature of Hardware and Software Data Flow Modeling and Transformation

Digital System Design Lecture 2: Design. Amir Masoud Gharehbaghi

Development of Integrated Hard- and Software Systems: Tasks and Processes

Development of Integrated Hard- and Software Systems: Tasks and Processes

Overview. CSE372 Digital Systems Organization and Design Lab. Hardware CAD. Two Types of Chips

ESL design with the Agility Compiler for SystemC

An Overview of the Ptolemy Project. Organizational

ECE 587 Hardware/Software Co-Design Lecture 12 Verification II, System Modeling

Chapter 1 Overview of Digital Systems Design

A Deterministic Flow Combining Virtual Platforms, Emulation, and Hardware Prototypes

A Survey of Co-Design Ideas and Methodologies

The Future of the Ptolemy Project

Design Methodologies. Kai Huang

Xtensa. Andrew Mihal 290A Fall 2002

Overview of SOC Architecture design

SoC Design for the New Millennium Daniel D. Gajski

Embedded Systems Design Prof. Anupam Basu Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

FPGA Based Digital Design Using Verilog HDL

Embedded Systems. 7. System Components

Programmable Logic Devices II

HW/SW Co-Design for Embedded Systems

Contemporary Design. Traditional Hardware Design. Traditional Hardware Design. HDL Based Hardware Design User Inputs. Requirements.

Synthesizable Verilog

Key technologies for many core architectures

Hardware Modelling. Design Flow Overview. ECS Group, TU Wien

Embedded Systems CS - ES

Topics. Verilog. Verilog vs. VHDL (2) Verilog vs. VHDL (1)

VHX - Xilinx - FPGA Programming in VHDL

What is Xilinx Design Language?

Introduction to Formal Methods

Network on Chip round table European Space Agency, ESTEC Noordwijk / The Netherlands 17 th and 18 th of September 2009

An Introduction to Network Simulation Using Ptolemy Software Tool

Platform-based Design

FPGA briefing Part II FPGA development DMW: FPGA development DMW:

Digital Systems Design. System on a Programmable Chip

Specifications and Modeling

Design Methodologies and Tools. Full-Custom Design

DIGITAL VS. ANALOG SIGNAL PROCESSING Digital signal processing (DSP) characterized by: OUTLINE APPLICATIONS OF DIGITAL SIGNAL PROCESSING

Bibliography. Measuring Software Reuse, Jeffrey S. Poulin, Addison-Wesley, Practical Software Reuse, Donald J. Reifer, Wiley, 1997.

DISTRIBUTED CO-SIMULATION TOOL. F.Hessel, P.Le Marrec, C.A.Valderrama, M.Romdhani, A.A.Jerraya

Transcription:

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.

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'04 2

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'04 3

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

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

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

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 ASV/LL UCB 7

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

A Co-design framework System description ASSUMPTION: Homogenous model of computation Compiler System behavior Validation Partitionning and mapping Partitioned specification Performance estimation Evaluation SW synthesis Interface synthesis Hw synthesis C-code VHDL VHDL Prototype Lilius of TUCS 9

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'04 10

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'04 11

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. Mahapatra-Texas A&M-Spring'04 12

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 Lilius of TUCS 13

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!) ASV/LL UCB 14

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 Lilius of TUCS 15

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

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 TUCS 17

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 Lilius of TUCS 18

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

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 TUCS 20

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 Lilius of TUCS 21

Weakly heterogeneous systems One or more processors, some dedicated hardware, and several software layers. Desired features of simulator: Problems: adequate timing accuracy fast execution visibility of internal registers for debugging purposes 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'04 22

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

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

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 TUCS 25

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 Lilius of TUCS 26

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

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 TUCS 28

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. Lilius of TUCS 29

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'04 30

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'04 31

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'04 32

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'04 33

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'04 34

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'04 35

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