1 - 1Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
Hardware-Software Codesign
1. Introduction
Lothar Thiele
1 - 2Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
ContentsWhat is an Embedded System ?
Levels of Abstraction in Electronic System Design
Typical Design Flow of Hardware-Software Systems
1 - 3Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
Main reason for buying is not information processing
Embedded systems (ES) = information processing systems embedded into a larger product
Examples:
Embedded Systems
1 - 4Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
Embedded Systems
external process
embedded system
human interface
sensors, actuators
1 - 5Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
Parallel and Distributed Target Platforms
ACC
ABSESP
ASR
enginecontrol powertrain
control
1 - 6Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
Examples
AMD multicore RYZEN
1 - 7Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
Examples
Intel Xeon Phi 7290(8 Billion transistors,14nm technology, ~ 650mm2 die area,
1.5 GHZ clock frequency)
1 - 8Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
Embedded Multicore ExampleRecent development: Specialize multicore processors towards real-time processing
and low power consumption Target domains:
1 - 9Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
Multiprocessor systems-on-a-chip (MPSoCs)Samsung Galaxy S6
– Exynos 7420 System on a Chip (SoC)– 8 ARM Cortex processing cores
(4 x A57, 4 x A53)– 30 nanometer: transistor gate width
1 - 10Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
Multiprocessor systems-on-a-chip (MPSoCs)Samsung Galaxy S6
– Exynos 7420 System on a Chip (SoC)– 8 ARM Cortex processing cores
(4 x A57, 4 x A53)– 30 nanometer: transistor gate width
Exynos 5422
1 - 11Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
Zero Power Systems and Sensors
1 - 12Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
Zero Power Systems and Sensors
IEEE JOURNAL OF SOLID-STATE CIRCUITS, VOL. 48, NO. 1, JANUARY 2013
1 - 13Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
ComparisonEmbedded Systems Few applications that are
known at design-time. Not programmable by end
user. Fixed run-time requirements
(additional computing power not useful).
Criteria: • cost• power consumption• predictability• meeting time bounds• …
General Purpose Computing Broad class of applications.
Programmable by end user.
Faster is better.
Criteria:• cost• average speed
1 - 14Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
Design ChallengesChallenges in the design of embedded systems increasing application complexity even in standard and large
volume products• large systems with legacy functions• mixture of event driven and data flow tasks (see next chapter) • examples: multimedia, automotive, mobile communication
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
• examples: cost, power consumption, timing constraints, temperature
1 - 15Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
Implementation Alternatives
PerformancePower Efficiency Flexibility
Application-specific integrated circuits (ASICs)
Application-specific instruction set processors (ASIPs)
• Microcontroller• DSPs (digital signal processors)
General-purpose processors
Programmable hardware
• FPGA (field-programmable gate arrays)
1 - 16Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
ContentsWhat is an Embedded System ?
Levels of Abstraction in Electronic System Design
Typical Design Flow of Hardware-Software Systems
1 - 17Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
Abstraction, Models and SynthesisModel Formal description of selected properties of a system or subsystem A model consists of data and associated methods
Classification of models Degree of abstraction, granularity
• hardware: 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 - 18Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
Structure
Behavior
Levels of Abstractions
SystemArchitecture
RTL
Process/Module
Function SW HW
Object Code
Gate-level modelsSwitch-level modelsCircuit-level modelsDevice-level modelsLayout models
1 - 19Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
ContentsWhat is an Embedded System ?
Levels of Abstraction in Electronic System Design
Typical Design Flow of Hardware-Software Systems
1 - 20Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
SW-Compilation HW-Synthesis
System DesignSpecification
System Synthesis
Machine Code Net lists
Estimation
Instruction Set
IntellectualProp. Block
IntellectualProp. Code
1 - 21Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
Fixed Processor Architecture
SW-Compilation HW-Synthesis
Specification
System Synthesis
Machine Code Net lists
Estimation
Instruction Set
IntellectualProp. Block
IntellectualProp. Code
1 - 22Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
Application Specific HW Block
SW-Compilation HW-Synthesis
Specification
System Synthesis
Machine Code Net lists
Estimation
Instruction Set
IntellectualProp. Block
IntellectualProp. Code
1 - 23Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
Application-Specific Instruction Set Processor
SW-Compilation HW-Synthesis
Specification
System Synthesis
Machine Code Net lists
Estimation
Instruction Set
IntellectualProp. Block
IntellectualProp. Code
1 - 24Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
The System Design Problem
1 - 25Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
HW/SW Mapping and SchedulingHardware/software mapping Partitioning of system function to programmable components
(software), hard-wired or parameterized components (hardware) or application specific instruction set processors.
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 - 26Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
HW/SW Mapping and SchedulingSimilarity to allocation (or load distribution) problem in high-level synthesis (or real-time operating systems)
dedicated HWcomponents
P1
P3
P2P4
SW(processors)
1 - 27Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
EstimationThe principle of synthesis based on abstraction only makes 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
the estimation is not correct (or not accurate enough), the design will be sub-optimal or even not working correctly.
Design SpaceExploration
TimelineofDesign
Design SpaceExploration
Design SpaceExploration
Estimation oflower layerproperties
highabstraction
lowabstraction
...
1 - 28Swiss FederalInstitute of Technology
Computer Engineeringand Networks Laboratory
Review: Course SynopsisSpecification and Models of Computation (Section 2) State-Charts Kahn Process Networks
System Design Mapping (Section 3) Partitioning (Section 4) Multi-Criteria Optimization (Section 5) Design Space Exploration (Section 7)
Estimation Simulation-based Methods (Section 6) Performance Estimation (Section 8) Worst-Case Execution Time Analysis (Section 9) Performance Analysis of Distributed Systems (Section 10) Thermal-aware Design (Section 11)
Top Related