Upload
mihai-rapcea
View
212
Download
0
Embed Size (px)
Citation preview
H d S ft C d iHardware-Software Codesign
1 I t d ti1. Introduction
Lothar Thiele
1 - 1Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
ContentsContentsWhat is an Embedded System ?
Levels of Abstraction in Electronic System Design
Typical Design Flow of Hardware-Software Systems
1 - 2Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
Embedded SystemsEmbedded systems (ES) = information processing
t b dd d i t l d t
Embedded Systems
systems embedded into a larger product
Examples:p
Main reason for buying is not information processing
1 - 3Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
Embedded SystemsEmbedded Systems
external processhuman interfacehuman interface
embedded system sensors, actuatorse bedded syste
1 - 4Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
Parallel and Distributed Target PlatformsParallel and Distributed Target Platforms
ACC
ABSESP
ASR
enginegcontrol powertrain
control
1 - 5Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
Example: Cell ProcessorExample: Cell ProcessorCell Processor (IBM) combines general-purpose architecture core with coprocessing elements which greatly accelerate multimedia
and vector processing applications as well as many otherand vector processing applications, as well as many other forms of dedicated computation.
1 - 6Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
Communicating Embedded SystemsCommunicating Embedded Systems sensor networks (civil engineering, buildings, environmental
monitoring, traffic, emergency situations)monitoring, traffic, emergency situations) smart products, wearable/ubiquitous computing
MICSMICSMICSMICS
1 - 7Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
Trends in Information and Communicatione ds o at o a d Co u cat o
Large-scaleDistributed Systems
CentralizedSystems
NetworkedSystems
New Applications andInternet
1 - 8Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
System Paradigms
ComparisonComparisonEmbedded Systems General Purpose Computing Few applications that are
known at design-time. Not programmable by end
Broad class of applications.
Programmable by end userNot programmable by end user.
Fixed run-time requirements ( dditi l ti
Programmable by end user.
Faster is better.(additional computing power not useful).
Criteria: Criteria:• cost• power consumption
Criteria:• cost• average speed
• predictability• meeting time bounds•
1 - 9Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
• …
Design ChallengesDesign ChallengesChallenges in the design of embedded systems increasing application complexity even in standard and large
volume products• large systems with legacy functions• large systems with legacy functions• mixture of event driven and data flow tasks • examples: multimedia, automotive, mobile communication p , ,
increasing target system complexity• mixture of different technologies, processor types, and design styles• large systems-on-a-chip combining components from different
sources, distributed system implementations numerous constraints and design objectives numerous constraints and design objectives
• examples: cost, power consumption, timing constraints, dependability
1 - 10Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
Implementation AlternativesImplementation Alternatives
General-purpose processors
Application-specific instruction set processors (ASIPs)
• MicrocontrollerPerformance
Power Efficiency Flexibility
Microcontroller• DSPs (digital signal processors)
Programmable hardware
• FPGA (field-programmable gate arrays)
Application-specific integrated circuits (ASICs)
1 - 11Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
ContentsContentsWhat is an Embedded System ?
Levels of Abstraction in Electronic System Design
Typical Design Flow of Hardware-Software Systems
1 - 12Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
Abstraction, Models and SynthesisAbstraction, Models and SynthesisModel
F l d i ti f l t d ti f t b t Formal description of selected properties of a system or subsystem A model consists of data and associated methods
Classification of modelsClassification of models Degree of abstraction, granularity
• hardwarre: system architecture logic transistor• hardwarre: system, architecture, logic, transistor, • software: module, block/class, function/method, ...
View• behavior, structural, physical
Synthesis Linking adjacent levels of abstraction (refinement) Stepwise adding of structural information
1 - 13Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
Levels of AbstractionsLevels of Abstractions
B h iBehavior
SystemArchitectureProcess/Module
Structure
RTLFunction SW HWGate level models Structure
Object Code
Gate-level modelsSwitch-level modelsCircuit-level modelsDevice-level models
1 - 14Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
Device level modelsLayout models
ContentsContentsWhat is an Embedded System ?
Levels of Abstraction in Electronic System Design
Typical Design Flow of Hardware-Software Systems
1 - 15Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
System DesignSystem DesignSpecification
System Synthesis Estimation
SW-Compilation HW-SynthesisInstruction Set
IntellectualProp. Block
IntellectualProp. Code
Machine Code Net lists
1 - 16Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
Machine Code Net lists
Fixed Processor ArchitectureFixed Processor ArchitectureSpecification
System Synthesis Estimation
SW-Compilation HW-SynthesisInstruction Set
IntellectualProp. Block
IntellectualProp. Code
Machine Code Net lists
1 - 17Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
Machine Code Net lists
Application Specific HW BlockApplication Specific HW BlockSpecification
System Synthesis Estimation
SW-Compilation HW-SynthesisInstruction Set
IntellectualProp. Block
IntellectualProp. Code
Machine Code Net lists
1 - 18Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
Machine Code Net lists
Application-Specific Instruction Set ProcessorApplication Specific Instruction Set ProcessorSpecification
System Synthesis Estimation
SW-Compilation HW-SynthesisInstruction Set
IntellectualProp. Block
IntellectualProp. Code
Machine Code Net lists
1 - 19Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
Machine Code Net lists
System-Level DesignSystem Level DesignSystem-level design is a complex synthesis tasks software synthesis and code generation hardware synthesis
f interface and communication synthesis hardware/software partitioning and component selection
h d / ft h d li hardware/software scheduling
Major Components:Major Components: application specification design space exploration and system optimizationdesign space exploration and system optimization estimation
1 - 20Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
The Mapping ProblemThe Mapping Problem
1 - 21Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
HW/SW Mapping and SchedulingHW/SW Mapping and SchedulingHardware/software mapping
P titi i f t f ti t bl t Partitioning of system function to programmable components (software), hard-wired or parameterized components (hardware) or application specific instruction set processors.pp p p
Similarity to scheduling and load distribution problem in real-time operating systems time constraints, context switch and context switch overhead,
process synchronization and communication Differences to real-time operating systems larger design space with very different solutions high optimization requirements (motivation for hardware design) underlying hardware is not fixed
1 - 22Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
HW/SW Mapping and SchedulingHW/SW Mapping and SchedulingSimilarity to allocation (or load distribution) problem in high-l l h i ( l i i )level synthesis (or real-time operating systems)
dedicatedHWcomponentsP2
P1
P3
P4
SWSW(processors)
1 - 23Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
EstimationEstimationThe principle of synthesis based on abstraction only makes sense if there are powerful estimation methods available:sense if there are powerful estimation methods available: Estimate properties of the next layer(s) of abstraction. Design decisions are based on these estimated properties: If Design decisions are based on these estimated properties: If
the estimation is not correct (or not accurate enough), the design will be sub-optimal or even not working correctly.
Design SpaceExploration
TimelineofD iEstimation of
highabstraction
Design
Design SpaceE l ti
Estimation oflower layerproperties ...
Exploration
D i S l
1 - 24Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
Design SpaceExploration
lowabstraction