Upload
gideontargrave7
View
218
Download
1
Tags:
Embed Size (px)
DESCRIPTION
ll
Citation preview
Hardware/Software Codesign
Jun.-Prof. Dr. Christian Plessl
SS 2012
Custom Computing University of Paderborn
Version 1.0.3 13.04.2012
2
motivation and introduction goals and main questions in HW/SW codesign
course synopsis
lecture organization
Overview
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
Performance vs. size trade-offs for cryptography
soft- and hardware implementations of different cryptography algorithms
4 Schaumont 2010
Power efficiency of AES encryption
5
same application / different implementations vastly different power efficiency depending on specialization/
generality
Schaumont 2010
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 operating system support
low energy efficiency IP protection
sweet spot
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
Example: SoC for mobile computer system
8
TI OMAP 4430 system-on-chip
Texas Instruments
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
inpu
t/out
put c
ontro
llers
display controllers
inpu
t/out
put c
ontro
llers
input/output controllers
Texas Instruments
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
inpu
t/out
put c
ontro
llers
display controllers
inpu
t/out
put c
ontro
llers
input/output controllers
Texas Instruments
HW/SW codesign issues:
how to design such a platform?
how to partition the applications functionality to components?
how to determine if a particular mapping is good?
how to generate tools that support such a platform?
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)
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)
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
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
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
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
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
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: [email protected]
office: 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
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)
Jrgen 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
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