Hardware/Software Codesign SS 2012 Jun.-Prof. Dr. Christian Plessl - - PowerPoint PPT Presentation

hardware software codesign
SMART_READER_LITE
LIVE PREVIEW

Hardware/Software Codesign SS 2012 Jun.-Prof. Dr. Christian Plessl - - PowerPoint PPT Presentation

Hardware/Software Codesign SS 2012 Jun.-Prof. Dr. Christian Plessl Custom Computing University of Paderborn Version 1.0.3 13.04.2012 Overview motivation and introduction goals and main questions in HW/SW codesign course synopsis


slide-1
SLIDE 1

Hardware/Software Codesign

Jun.-Prof. Dr. Christian Plessl

SS 2012

Custom Computing University of Paderborn

Version 1.0.3 – 13.04.2012

slide-2
SLIDE 2

2

  • motivation and introduction

– goals and main questions in HW/SW codesign

  • course synopsis
  • lecture organization

Overview

slide-3
SLIDE 3

HW/SW codesign

  • what is HW/SW codesign?

– integrated design of computer systems that consist of hardware and software components – supported by a systematic computer-aided design process

  • objectives

– handle increasing complexity of computer systems – find better solutions than with a manual process – reduce design time and validation time/cost – explore design trade-offs (performance vs. energy efficiency vs. … )

3

slide-4
SLIDE 4

Performance vs. size trade-offs for cryptography

  • soft- and hardware implementations of different cryptography

algorithms

4

Schaumont 2010

slide-5
SLIDE 5

Power efficiency of AES encryption

5

  • same application / different implementations
  • vastly different power efficiency depending on specialization/

generality

Schaumont 2010

slide-6
SLIDE 6

General purpose vs. application specific

6

performance energy efficiency effort to change application development effort RISC DSP ASIP FPGA ASIC concerns extremely high NRE cost high volume/fixed function only high engineering effort high unit-cost high production cost competition from off-the-shelf SoC competition from RISC processors

  • perating system support

low energy efficiency IP protection sweet spot

slide-7
SLIDE 7

Mix of technologies in most systems

  • no “one-size fits all” solution for economical and technological

reasons

– different requirements – reuse hard- and software implementations – distribute development cost over a variety of products

  • majority of computer systems use a variety of HW and SW

technologies

– programmable processing cores (RISC, DSP, uC, …) – fixed co-processors/accelerators (e.g., cryptography, multimedia, …) – reconfigurable accelerators (FPGA, coarse-grained arrays)

  • designing and programming such platforms is challenging

– HW/SW codesign addresses this challenge in a systematic way – example: Texas Instruments OMAP processor (system on chip for mobile computing systems)

7

slide-8
SLIDE 8

Example: SoC for mobile computer system

8

TI OMAP 4430 system-on-chip

Texas Instruments

slide-9
SLIDE 9

Example: SoC for mobile computer system

9

TI OMAP 4430 system-on-chip

dual core ARM embedded RISC GPU multimedia co-processor DSP security co-processor memory controllers memory controllers input/output controllers display controllers input/output controllers input/output controllers

Texas Instruments

slide-10
SLIDE 10

Example: SoC for mobile computer system

10

TI OMAP 4430 system-on-chip

dual core ARM embedded RISC GPU multimedia co-processor DSP security co-processor memory controllers memory controllers input/output controllers display controllers input/output controllers input/output controllers

Texas Instruments

  • HW/SW codesign issues:
  • how to design such a platform?
  • how to partition the application’s functionality to

components?

  • how to determine if a particular mapping is good?
  • how to generate tools that support such a platform?
slide-11
SLIDE 11

HW/SW codesign space

11

Application C C/ASM C/HDL C/HDL HDL FPGA ASIP DSP RISC ASIC software hardware (platform) platform programming application mapping platform selection max flexibility min efficiency min flexibility max efficiency general purpose application specific domain specific

Schaumont 2010 (adapted)

slide-12
SLIDE 12

Driving factors in HW/SW codesign

12

improve performance improve energy efficiency reduce power density manage design complexity decrease time-to-market reduce design & verification cost implement more in hardware implement more in software

Schaumont 2010 (adapted)

slide-13
SLIDE 13

Main questions in HW/SW codesign

  • hardware/software partitioning

– what functionality should be programmable? – what functionality should be implemented in fixed in hardware? – how to create tools (compilers) that can exploit fixed functions?

  • system partitioning

– how to distribute functions to different components?

  • design space exploration

– what system implementation alternatives exist? – what are their characteristics (performance, power, cost)

  • architecture synthesis

– how to translate software to hardware?

13

slide-14
SLIDE 14

General approach

  • abstract and model

– treat design of HW/SW system as optimization problem – abstract and formalize problem and design options (e.g., using graph problems, integer linear programing, dynamic programming, …)

  • optimize or …

– exact or heuristic methods – determine optimal parameter settings and their sensitivity

  • … explore

– explore design space and trade-offs – computer aided design automation guided by human decisions

14

slide-15
SLIDE 15

Topics we will look at in this lecture

  • introduction

– target architectures – introduction to compilers

  • high-level hardware architecture synthesis
  • partitioning

– hardware/software partitioning – system partitioning

  • design space exploration

– estimation of design parameters

  • instruction set extension

15

slide-16
SLIDE 16

Relation to other lectures in CS curriculum

  • Bachelor level courses

– GRA/GTI

§ fundamentals of digital logic and computer architecture

– Embedded processors

§ architecture of embedded processors, micro controllers and DSPs § compilers for special purpose processors

– Embedded Systems

§ modeling languages, hardware verification

  • Master level courses

– Reconfigurable Computing

§ FPGA technology (architecture, methods and applications)

– Architektur Paralleler Rechnersysteme

§ parallel programming models and languages, high-performance computing

16

slide-17
SLIDE 17

Benefits from attending this course

  • Learn about

– challenges and approaches in modern system design – target architectures – useful optimization methods – a current and active research area

17

slide-18
SLIDE 18

18

Course Organization

  • Lecture

Friday, 11:15-12:45, O1.267

  • Exercises

Friday, 13:15-14:00, O1.267

– mix of pencil and paper and programming exercises – try to solve the problems yourself – discussion of the problems in the exercises

  • Contact:

Christian Plessl

email: christian.plessl@uni-paderborn.de

  • ffice: O3.110, phone: 60-5399
  • Web page

http://homepages.uni-paderborn.de/plessl/lectures/2012-Codesign

  • Course Materials on the web

– lecture slides, exercise sheets, selected papers

slide-19
SLIDE 19

Literature and acknowledgements

  • this course is based on materials from the following books…

– Patrick R. Schaumont, A practical Introduction to Hardware/Software

  • Codesign. Springer 2010. doi:10.1007/978-1-4419-6000-9

(available in full text within UPB network) – Jürgen Teich and Christian Haubelt. Digitale Hardware/Software-Systeme. Synthese und Optimierung. Springer, 2007. doi:10.1007/978-3-540-46824-0 (available in full text within UPB network) – Giovanni De Micheli, Synthesis and Optimization of Digital Circuits. McGraw-Hill, 1994.

  • … and on lecture materials from the Bachelor-level lecture “HW/

SW Codesign”

– taught by Christian Plessl (2009-2010) and previously by Marco Platzner

19

slide-20
SLIDE 20

Changes

  • v1.0.3 (2012-04-14)

– corrected minor typos

  • v1.0.2 (2012-04-10)

– updated for SS2012

  • v1.0.1 (2011-04-01)

– added more slides illustrating the FPGA toolflow

20