Hardware/Software Codesign
Jun.-Prof. Dr. Christian Plessl
SS 2012
Custom Computing University of Paderborn
Version 1.0.3 – 13.04.2012
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
Jun.-Prof. Dr. Christian Plessl
Custom Computing University of Paderborn
Version 1.0.3 – 13.04.2012
2
– goals and main questions in HW/SW codesign
– integrated design of computer systems that consist of hardware and software components – supported by a systematic computer-aided design process
– 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
algorithms
4
Schaumont 2010
5
generality
Schaumont 2010
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
low energy efficiency IP protection sweet spot
reasons
– different requirements – reuse hard- and software implementations – distribute development cost over a variety of products
technologies
– programmable processing cores (RISC, DSP, uC, …) – fixed co-processors/accelerators (e.g., cryptography, multimedia, …) – reconfigurable accelerators (FPGA, coarse-grained arrays)
– HW/SW codesign addresses this challenge in a systematic way – example: Texas Instruments OMAP processor (system on chip for mobile computing systems)
7
8
TI OMAP 4430 system-on-chip
Texas Instruments
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
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
components?
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)
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)
– what functionality should be programmable? – what functionality should be implemented in fixed in hardware? – how to create tools (compilers) that can exploit fixed functions?
– how to distribute functions to different components?
– what system implementation alternatives exist? – what are their characteristics (performance, power, cost)
– how to translate software to hardware?
13
– 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, …)
– exact or heuristic methods – determine optimal parameter settings and their sensitivity
– explore design space and trade-offs – computer aided design automation guided by human decisions
14
– target architectures – introduction to compilers
– hardware/software partitioning – system partitioning
– estimation of design parameters
15
– 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
– Reconfigurable Computing
§ FPGA technology (architecture, methods and applications)
– Architektur Paralleler Rechnersysteme
§ parallel programming models and languages, high-performance computing
16
– challenges and approaches in modern system design – target architectures – useful optimization methods – a current and active research area
17
18
Friday, 11:15-12:45, O1.267
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
Christian Plessl
email: christian.plessl@uni-paderborn.de
http://homepages.uni-paderborn.de/plessl/lectures/2012-Codesign
– lecture slides, exercise sheets, selected papers
– Patrick R. Schaumont, A practical Introduction to Hardware/Software
(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.
SW Codesign”
– taught by Christian Plessl (2009-2010) and previously by Marco Platzner
19
– corrected minor typos
– updated for SS2012
– added more slides illustrating the FPGA toolflow
20