mphs_2
TRANSCRIPT
-
8/12/2019 MPHS_2
1/9
1
Hardware-Software Co-DesignAn introduction
1
The slides contain revisited materials from: Peter Marwedel, TU Dortmund Lothar Thiele, ETH Zurich Frank Vahid, University of California, Riverside
Contents
! What is an Embedded System ?
! Levels of Abstraction in Electronic System Design
! Typical Design Flow of Hardware-Software Systems
2
Embedded Systems
3
A short list of embedded systems
4
Embedded System
5
Parallel and Distributed Target Platforms
6
-
8/12/2019 MPHS_2
2/9
2
Example: CELL processor
! Cell Processor (IBM) combines" general-purpose architecture core with" coprocessing elements which greatly accelerate multimedia and
vector processing applications, as well as many other forms ofdedicated computation
7
Communicating Embedded Systems
! sensor networks (civil engineering, buildings,environmental monitoring, traffic, emergency situations)
! smart products, pervasive/ubiquitous computing(information anytime, anywhere)
8
Trends in Information and Communication
9
Comparison
Embedded Systems! Few applications that are known
at design-time! Not programmable by end user! Fixed run-time requirements
(additional computing power notuseful)
! Criteria:" Cost" Power/Energy consumption" Predictability" Meeting time bounds" Reliability/Availability" SW code size" Security"
General Purpose Computing! Broad class of applications
! Programmable by end user! Faster is better
! Criteria:" Cost" Average speed
" (now) Power
10
Design Challenges
Challenges 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" 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,dependability
11
Moores LAW
12
-
8/12/2019 MPHS_2
3/9
3
Design Productivity Gap
13
Implementation Alternatives
14
Contents
! What is an Embedded System ?
! Levels of Abstraction in Electronic System Design
! Typical Design Flow of Hardware-Software Systems
15
Abstraction, Models and Synthesis
! Model" 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
system, architecture, logic, transistor, module, block, function, ...
" View behavior, structural, physical
! Synthesis" Linking adjacent levels of abstraction (refinement)" Stepwise adding of structural information
16
Levels of Abstractions
17
Levels of hardware modeling
Possible set of levels (others exist)
" System level" Algorithmic level
" Instruction set level" Register-transfer level (RTL)" Gate-level models
" Switch-level models" Circuit-level models" Device-level models
" Layout models" Process and device models
Accuracyand
ModelingEffort
-
8/12/2019 MPHS_2
4/9
4
System level
" Term not clearly defined." Here: denotes the entire embedded system,
system into which information processing is embedded,and possibly also the environment.
" Models may include mechanics + informationprocessing.May be difficult to find appropriate simulators.Solutions: VHDL-AMS, SystemC or MATLAB.MATLAB+VHDL-AMS support partial differentialequations.
" Challenge to model information processing parts of thesystem such that the simulation model can be used forthe synthesis of the embedded system.
Algorithmic level
" Simulating the algorithms that we intend to use withinthe embedded system.
" No reference is made to processors or instruction sets." Data types may still allow a higher precision than the
final implementation." If data types have been selected such that every bit
corresponds to exactly one bit in the finalimplementation, the model is said to be bit-true.non-bit-true ! bit-true should be done with toolsupport.
" Single process or sets of cooperating processes.
Algorithmic level: Example: -MPEG-4 full motion search -
for (z=0; z
-
8/12/2019 MPHS_2
5/9
5
Register transfer level: example (MIPS) Gate-level models
" Models contain gates as the basic components." Information about signal transition probabilities can be
used for power estimations." Delay calculations can be more precise than for RTL.
Typically no information about the length of wires(still estimates).
" Term sometimes also denotes Boolean functions(No physical gates; only considering the behavior of thegates).
Such models should be called Boolean functionmodels .
Gate-level models: Example
source: http://geda.seul.org/screenshots/screenshot-schem2.png
Switch-level models
" Switch level models use switches (transistors) as their basiccomponents.
" Switch level models use digital values models." In contrast to gate-level models, switch level models are capable
of reflecting bidirectional transfer of information.
Circuit level models: Example
" Models circuit theory. Its components (current and voltagesources, resistors, capacitances, inductances and possibly macro-models of semiconductors) form the basis of simulations at thislevel.
Simulations involve partialdifferential equations.Linear if and only if thebehavior of semiconductorsis linearized.
Ideal MOSFET
Transistor model
Circuit level models: SPICE
The most frequently usedsimulator at this level is SPICE[Vladimirescu, 1987] and itsvariants.
Example:
-
8/12/2019 MPHS_2
6/9
6
Circuit level models: sample simulation results Device level
! Simulation of a single device (such as a transistor)
Measured and simulated currents
Layout models
" Reflect the actual circuit layout," include geometric information," cannot be simulated directly:
behavior can be deduced by correlating the layoutmodel with a behavioral description at a higher level orby extracting circuits from the layout.
" Length of wires and capacitances frequently extractedfrom the layout, back-annotated to descriptions athigher levels (more precision for delay and powerestimations).
Layout models: Example
din
powlo
powhi
dout
Mosis (http://www.mosis.org/Technical/Designsupport/
polyflowC.html);Tool: Cadence
Process models
! Model of fabrication process; Example [IMEC]:Doping as a function of the distance from the surface
Simulated
Measured
Movie (German)
Levels covered by the different languages
-
8/12/2019 MPHS_2
7/9
7
Contents
! What is an Embedded System ?
! Levels of Abstraction in Electronic System Design
! Typical Design Flow of Hardware-Software Systems
37
System Design
38
Key Design Technologies! Technology : a manner to accomplishing a task especially using
technical processes, methods or knowledge! Processor design technology for embedded systems
39
Processor Technology
40
General-Purpose Processors (SW)
41
Fixed Processor Architecture
42
-
8/12/2019 MPHS_2
8/9
8
Single-Purpose Processors (HW)
43
Application Specific HW Block
44
Application-Specific Processors (HW/SW)
45
ASIPs
! Customized instruction sets! Require specific compilers
! Advantages" Programmability" Eases portability" Higher performances" Lower power dissipation
! Disadvantages:" Require development of a dedicated software environment (e.g.
compiler)" Longer time-to-market than standard processors
46
Application-Specific Instruction Set Processor
47
Comparison
48
-
8/12/2019 MPHS_2
9/9
9
System-Level Design
! System-level design is a complex synthesis tasks" software synthesis and code generation" hardware synthesis" interface and communication synthesis" hardware/software partitioning and component selection" hardware/software scheduling
! Major Components:" application specification" design space exploration and system optimization" estimation
49
The Mapping Problem
50
HW/SW Mapping and Scheduling
! Hardware/software mapping" Partitioning of system function to programmable components (software), hard-
wired or parameterized components (hardware) or application specific instructionset processors
! Similarity to scheduling and load distribution problem in realtime operatingsystems
" time constraints, context switch and context switch overhead, processsynchronization 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
51
Estimation/Optimization Loop
! The principle of synthesis based on abstraction only makes sense ifthere 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.
52