MPHS_2

download MPHS_2

of 9

Transcript of MPHS_2

  • 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