Hardware-Software Co-Design Cosynthesis and Partitioning

Similar documents
Lecture 1: Introduction to Digital System Design & Co-Design

Hardware/Software Codesign - introducing an interdisciplinary course

Digital Systems Design

EE382V: Embedded System Design and Modeling

Hardware-Software Codesign. 0. Organization

Lecture 1. Tinoosh Mohsenin

RESPONSIBILITY OF THE SEMICONDUCTOR DESIGN INFRASTRUCTURE

5G R&D at Huawei: An Insider Look

Advanced FPGA Design. Tinoosh Mohsenin CMPE 491/691 Spring 2012

Hardware/Software Codesign of Real-Time Systems

Computer Aided Design of Electronics

EE382V: Embedded System Design and Modeling

By the end of this chapter, you should: Understand what is meant by engineering design. Understand the phases of the engineering design process.

Introduction to co-simulation. What is HW-SW co-simulation?

Policy-Based RTL Design

PLATEFORME SYSTEMES EMBARQUES

APPLYING A NEW HYBRID MODEL OF EMBEDDED SYSTEM DEVELOPMENT METHODOLOGY ON A FLOOD DETECTION SYSTEM

PoC #1 On-chip frequency generation

RECONFIGURABLE RADIO DESIGN AND VERIFICATION

Datorstödd Elektronikkonstruktion

MEDEA+ and Embedded Systems

Low Power VLSI Circuit Synthesis: Introduction and Course Outline

A Framework for Fast Hardware-Software Co-simulation

UNIT-III LIFE-CYCLE PHASES

When to use an FPGA to prototype a controller and how to start

Topics for Project, Diploma, Bachelor s, and Master s Theses

Pure Versus Applied Informatics

Scheduling and Communication Synthesis for Distributed Real-Time Systems

EE 434 ASIC & Digital Systems

(VE2: Verilog HDL) Software Development & Education Center

MODELING AND SIMULATION FOR RF SYSTEM DESIGN

WHITEPAPER MULTICORE SOFTWARE DESIGN FOR AN LTE BASE STATION

ASIC Computer-Aided Design Flow ELEC 5250/6250

Computer Science as a Discipline

Socware, Pacwoman & Flexible Radio. Peter Nilsson. Program Manager Socware Research & Education

Tutorial: Using the UML profile for MARTE to MPSoC co-design dedicated to signal processing

INTRODUCTION TO CHANNELIZATION ALGORITHMS IN SDR AND COMPARISON OF THEM

Hardware Implementation of Automatic Control Systems using FPGAs

Course Outcome of M.Tech (VLSI Design)

CHAPTER 4 FIELD PROGRAMMABLE GATE ARRAY IMPLEMENTATION OF FIVE LEVEL CASCADED MULTILEVEL INVERTER

THE ASSERT SET OF TOOLS FOR ENGINEERING (TASTE): DEMONSTRATOR, HW/SW CODESIGN, AND FUTURE

A Balanced Introduction to Computer Science, 3/E

Agenda. 9:30 Registration & Coffee Networking and Sponsor Table-tops Welcome and introduction

EECS150 - Digital Design Lecture 28 Course Wrap Up. Recap 1

Wireless In Vivo Communications and Networking

Design and Implementation of Signal Processing Systems: An Introduction

Cosimulating Synchronous DSP Applications with Analog RF Circuits

Computer engineering - Wikipedia, the free encyclopedia

Model Based Design Of Medical Devices

Real-Time Testing Made Easy with Simulink Real-Time

Introduction to Systems Engineering

SW simulation and Performance Analysis

Ted F Bowlds, PhD Candidate

ASICs Concept to Product

Yet, many signal processing systems require both digital and analog circuits. To enable

Area Efficient and Low Power Reconfiurable Fir Filter

Object-oriented Analysis and Design

LOW-POWER SOFTWARE-DEFINED RADIO DESIGN USING FPGAS

CSE 435: Software Engineering

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

An Agent-based Heterogeneous UAV Simulator Design

CS 6135 VLSI Physical Design Automation Fall 2003

Experience Report on Developing a Software Communications Architecture (SCA) Core Framework. OMG SBC Workshop Arlington, Va.

High Performance Computing for Engineers

EE382N-20 Computer Architecture Parallelism and Locality Lecture 1

Panel: Future SoC Verification Methodology: UVM Evolution or Revolution?

EMBEDDED systems are those computing and control

STM RH-ASIC capability

Audio Sample Rate Conversion in FPGAs

Best practice in participation in ECSEL Calls. Recommendations to prospective Bulgarian participants.

Mid Term Exam SES 405 Exploration Systems Engineering 3 March Your Name

Creating the Right Environment for Machine Learning Codesign. Cliff Young, Google AI

MOBY-DIC. Grant Agreement Number Model-based synthesis of digital electronic circuits for embedded control. Publishable summary

Data Word Length Reduction for Low-Power DSP Software

Hardware Trigger Processor for the MDT System

Systems Engineering Overview. Axel Claudio Alex Gonzalez

Project Abstract Submission : Entry # 456. Part 1 - Team. Part 2 - Project. Team Leader Name. Maroua Filali. Team Leader .

Harnessing the Power of AI: An Easy Start with Lattice s sensai

Design of Multiplier Less 32 Tap FIR Filter using VHDL

Model-Based Design for Sensor Systems

Very Large Scale Integration (VLSI)

Self-Aware Adaptation in FPGAbased

AGENT PLATFORM FOR ROBOT CONTROL IN REAL-TIME DYNAMIC ENVIRONMENTS. Nuno Sousa Eugénio Oliveira

FOR SEMICONDUCTORS 2005 EDITION DESIGN

Von der Idee bis zur Umsetzung in einer Entwicklungsumgebung State of the Art von Dr. Simon Ginsburg

Séminaire Supélec/SCEE

EMBEDDED SYSTEM DESIGN

Lecture #2 Solving the Interconnect Problems in VLSI

Complex Systems and Microsystems Design: The Meet-in-the-Middle Approach

NATecS 2017 May, 16 th 17 th. Presentation #22 Opportunities for SDR

Flexible and Modular Approaches to Multi-Device Testing

Simulation Performance Optimization of Virtual Prototypes Sammidi Mounika, B S Renuka

Creating Intelligence at the Edge

Single Chip FPGA Based Realization of Arbitrary Waveform Generator using Rademacher and Walsh Functions

SDR Applications using VLSI Design of Reconfigurable Devices

Lies, Damned Lies and Hardware Verification. Mike Bartley, Test and Verification Solutions

Intelligent Power Economy System (Ipes)

Curriculum Vitae. Education. Distinctions. Personal info

Design of Mixed-Signal Microsystems in Nanometer CMOS

Laurea Specialistica in Ingegneria. Ingegneria dell'automazione: Sistemi in Tempo Reale

Transcription:

Hardware-Software Co-Design Cosynthesis and Partitioning EE8205: Embedded Computer Systems http://www.ee.ryerson.ca/~courses/ee8205/ Dr. Gul N. Khan http://www.ee.ryerson.ca/~gnkhan Electrical and Computer Engineering Ryerson University Overview Traditional Embedded System Design Hardware-Software (HW/SW) Co-design Co-specification and Cosynthesis HW/SW Partitioning Introductory Articles on Hardware-Software Codesign available at the course webpage, Part of Chapter 7 of the Text by Wolf EE8205: Embedded Computer Systems: Hardware-Software Co-design Page: 1

Introduction Embedded computers are the processing devices. Home appliances and entertainment units Transportation including automobiles Medical instrumentation Wireless communication devices, Jet engines and other aerospace/space application Industrial control, nuclear systems and many more By many estimates embedded computers make up 99% of worldwide computers Embedded Computer Systems are the ideal candidate for hardware-software codesign. EE8205: Embedded Computer Systems: Hardware-Software Co-design Page: 2

Embedded System Design Separate HW and SW design has been explored and examined very thoroughly Joint design remains an area of rapidly growing study Old embedded devices always built from scratch within reasonable amount of time Components - smaller and faster - IP cores Tools required for the product engineer. EE8205: Embedded Computer Systems: Hardware-Software Co-design Page: 3

Embedded System Architecture Design Real-time System Design Performance analysis Scheduling and allocation Accelerated systems Use additional computational unit dedicated to some functions? Hardwired Logic e.g. FPGA Multiple processing elements (PEs) or an extra CPU Hardware/software co-design: a joint design of hardware and software architectures of Embedded System. EE8205: Embedded Computer Systems: Hardware-Software Co-design Page: 4

Traditional Design Practices Performance Requirements make it impossible to execute entire application in software Intensive portions are extracted and realized as custom hardware Early Design Cycle Partitioning Design Space is not fully Explored High Cost Design Inefficient EE8205: Embedded Computer Systems: Hardware-Software Co-design Page: 5

Traditional Embedded System Design HW/SW Partitioning performed at an early stage. Design mistakes have huge negative effect Inability to correct mistakes performed at the partitioning phase EE8205: Embedded Computer Systems: Hardware-Software Co-design Page: 6

Traditional Design Practice Requirements Definition Architecture Definition 6-12 Months Hardware Design Software Design Interface Design 25-49 Months Hardware Manufacture and Test Software Code and Test Hardware Software Implementation and Test Deliverables Documentation 6-12 Months Deployment Field Test EE8205: Embedded Computer Systems: Hardware-Software Co-design Page: 7

Advancements VLSI Technology Smaller, Faster IP Cores Reconfigurable Logic Matured Hardware Design Methodology Matured Software Design Methodology Joint design Still in Infancy but popular! EE8205: Embedded Computer Systems: Hardware-Software Co-design Page: 8

Hardware-Software Co-design An approach utilizing the maximum efficiency of Hardware and Software is needed Recent developments in CAD Tools Result -- Hardware Software Codesign A unified approach Large Design Space Exploration Improved Time to Market EE8205: Embedded Computer Systems: Hardware-Software Co-design Page: 9

Codesign Methodology EE8205: Embedded Computer Systems: Hardware-Software Co-design Page: 10

Hardware-Software Codesign System (Embedded) Functional Exploration Architectural Mapping Hardware-Software Partitioning Hardware Implementation System Integration Software Implementation Functional exploration: Define a desired product's requirements and produce a specification of the system behavior. Map this specification onto various hardware and software architectures. Partition the functions between silicon and code; and map them directly to hardware or software components. Integrate system for prototype test. EE8205: Embedded Computer Systems: Hardware-Software Co-design Page: 11

HW/SW-Codesign Co-design of (embedded) computer systems encompassing the following parts: Co-Specification: Describe system functionality at the abstract level System description is converted into a task graph representation HW-SW Partitioning: Take the task graph and decide which components are implemented where/how? i.e. Dedicated hardware, Software -- one CPU or multiple CPUs EE8205: Embedded Computer Systems: Hardware-Software Co-design Page: 12

HW/SW-Codesign HW-SW Co-Synthesis: Analyze the task graph and decide on the system architecture. (incorporates HW/SW partitioning as heart of cosynthesis process) HW-SW Co-Simulation: Simulate embedded device s functionality before prototype construction. Simultaneous simulation of hardware and software. Co-Verification: Mathematical or simulation based verification that device meets requirements. EE8205: Embedded Computer Systems: Hardware-Software Co-design Page: 13

HW/SW Co-Specification Model the (embedded) system functionality from an abstract level. Developing system specification that describes hardware, software modules and relationship (interface) between the hardware and software. No concept of hardware or software yet. Common environment SystemC: based on C++. Specification is analyzed to generate a task graph representation of the system functionality. EE8205: Embedded Computer Systems: Hardware-Software Co-design Page: 14

Hardware-Software Co-Synthesis Four Principle Phases of Co-synthesis: Partitioning Dividing the functionality of an embedded system into units of computation. Scheduling Choosing time at which various computation units will occur. Allocation Determining the processing elements (PEs) on which computations will occur. Mapping Choosing particular component types for the allocated units (of computations). EE8205: Embedded Computer Systems: Hardware-Software Co-design Page: 15

HW/SW Co-Synthesis Automatic and semi-automatic design of hardware and software modules to meet the specification. Automatically derive the system architecture. Tightly coupled with HW/SW Partitioning along with: Allocation: select the number and type of communication links and processing elements for the target system. Assignment (Mapping): Mapping tasks to processing elements. Scheduling: Timing of task execution and communications. EE8205: Embedded Computer Systems: Hardware-Software Co-design Page: 16

Common Co-Synthesis Structure EE8205: Embedded Computer Systems: Hardware-Software Co-design Page: 17

System Partitioning Introduces a design methodology that uses several techniques: Partition the system specification into processes/tasks The best way to partition a specification depends on the characteristics of the underlying hardware platform Determine the performance of the function when executed on the hardware platform We usually rely on approximating Allocate processes onto various processing elements EE8205: Embedded Computer Systems: Hardware-Software Co-design Page: 18

HW/SW Partitioning An area of significant research Analyzes task graph to determine each task s placement (HW or SW) Many algorithms have been developed. Major problem involves the computation time of partitioning algorithm EE8205: Embedded Computer Systems: Hardware-Software Co-design Page: 19

Hardware-Software Partitioning Hardware/Software System Design involve: Modeling, Validation and Implementation System implementation involves: Hardware-Software Partitioning Finding those parts of the model best implemented in hardware & those best implemented in software. Such partitions can be decided by the designer with successive refinements or determined by the CAD tools EE8205: Embedded Computer Systems: Hardware-Software Co-design Page: 20

Hardware-Software Partitioning For embedded systems, such partitioning represents a physical partition of the system functionality into: Hardware Software executing on one or more CPUs Various formation of the Partitioning Problem that are based on: Architectural Assumptions Partitioning Goals Solution Strategies COWARE: A design environment for application specific architectures targets telecom applications EE8205: Embedded Computer Systems: Hardware-Software Co-design Page: 21

Partitioning Techniques Hardware-Software Homogeneous System Model => Task Graph For each node of the task graph, determine implementation choices (HW or SW): Keep the scheduling of nodes at the same time Meet real-time constraints There is intimate relationship between partitioning and scheduling. Wide variation in timing properties of the hardware and software implementation of a task. That effects the overall latency significantly EE8205: Embedded Computer Systems: Hardware-Software Co-design Page: 22