QUO VADIS, SLD? REASONING ABOUT THE TRENDS AND CHALLENGES OF SYSTEM - - PowerPoint PPT Presentation

quo vadis sld reasoning about the trends and challenges
SMART_READER_LITE
LIVE PREVIEW

QUO VADIS, SLD? REASONING ABOUT THE TRENDS AND CHALLENGES OF SYSTEM - - PowerPoint PPT Presentation

1 QUO VADIS, SLD? REASONING ABOUT THE TRENDS AND CHALLENGES OF SYSTEM LEVEL DESIGN Alberto Sangiovanni-Vincentelli Presentation by Michael Zimmer September 21 st , 2010 Current Problems 2 Exponentially rising complexity in circuits and


slide-1
SLIDE 1

QUO VADIS, SLD? REASONING ABOUT THE TRENDS AND CHALLENGES OF SYSTEM LEVEL DESIGN

Alberto Sangiovanni-Vincentelli

Presentation by Michael Zimmer September 21st, 2010

1

slide-2
SLIDE 2

Current Problems

 Exponentially rising complexity in circuits and

systems

 Functionality  Verification  Time-to-market  Productivity  Safety and Reliability

 Can traditional design flows (i.e. RTL) continue to

meet these demands?

 Embedded Systems more intricate

2

slide-3
SLIDE 3

Possible Solutions

 Raise level of abstraction

 For chips, this means going above RTL

 60% productivity increase? (International Technology

Roadmap for Semiconductors)

 New levels of design reuse  Need new “design science” for embedded system

design

 System Level Design

3

slide-4
SLIDE 4

Challenges

 Heterogeneity and Complexity of the Hardware

Platform

 Exponential complexity growth

 Transistors on a chip  Expanding use of embedded systems  More networking

 Custom hardware implementations costly

 Design reuse?

 Looks more like a system (integrating predesigned components)

4

slide-5
SLIDE 5

Challenges

 Embedded Software Complexity

 Reconfigurable and programmable hardware

platforms increase reliance on software

 1+ million lines of code in cell phone  100+ million lines of code in automobiles

 Embedded software requirements stricter

 Continuously react with environment  Safety and reliability

 How to verify?

 Tens of lines per day

5

slide-6
SLIDE 6

Challenges

 Integration Complexity

 Top-down approach?

 Requires knowledge of entire system for efficient

partitioning

 Integration of predesigned or independently designing

components?

 Need some way to standardize integration of components

(often from different suppliers)

6

slide-7
SLIDE 7

Challenges

 Industrial Supply Chain

 Health and efficiency essential  System design needs to be supported across entire

development

 Integration of tools and frameworks from separate

domains

 Information flow between companies  Can more efficiently meets demands (safety, cost, etc)

 Who benefits?

7

slide-8
SLIDE 8

Example: Mobile Communications Design Chain

 Application Developers  Sell software directly to customer or come bundled with service

provider

 Service Providers  Access to network infrastructure  Device Makers  Manufacture cell phones with significant software content and

hardware integration

 IP Providers  Provide components to design chain  Outsourcing Companies  Manufacturing, design, etc

8

slide-9
SLIDE 9

Example: Mobile Communications Design Chain

 Boundaries under stress

 SIM cards

 Cell phone locked to service provider, but cell phone can

still operate with different providers

 Standards

 Not locked to one IC provider, IC provider can provide to

multiple device makers

 Unified methodology and framework favors

balance that maximizes welfare of the system

9

slide-10
SLIDE 10

Example: Automotive Design Chain

 Car Manufactures (OEMs)

 GM, Ford, Toyota  Provide final product

 Tier 1 Suppliers

 Bosch, Contiteves, Siemens  Provide subsystems

 Tier 2 Suppliers

 Chip manufacturers, IP providers

 Manufacturing Suppliers

 Not as common for safety and liability reasons

10

slide-11
SLIDE 11

Example: Automotive Design Chain

 Sharing IP and standards could improve time-to-

market, development, and maintenance costs

 AUTOSAR, world-wide consortium, has this goal in mind

 Hard real time software hard to share

 Can’t just add tasks and not affect behavior  New, strong methodology needed that can guarantee

functionality and timing

 Would cause restructuring of industry

 Plug and play environment results in better solutions  Tier 1 suppliers?

11

slide-12
SLIDE 12

Needs of Supply Chain

 Design chains should connect seamlessly  Boundaries between companies are often not

clean

 Misinterpretations result in design errors

 Optimization hard beyond one boundary

12

slide-13
SLIDE 13

Platform Based Design

 Current approaches address either software or

hardware but not both

 Software approaches miss time and concurrency  Hardware approaches too specific for software  Don’t address all challenges

13

slide-14
SLIDE 14

Desired Methodology

 Hardware and embedded software design as two

faces of the same coin

 High levels of abstraction for initial design  Effective architectural design exploration  Detailed implementation by synthesis or manual

refinement

 Platform

 Reuse and facilitating adaptation of a common design

to various applications

14

slide-15
SLIDE 15

Conventional Use of Platform Concept

 IC Domain

 Flexible IC where customization is achieved by

programming components of the chip

 FPGA, DSP, MPU, etc  Can’t always fully optimize  Xilinx Virtex II

 FPGA with software programming IPs

 Converging?

 Semiconductor companies adding FPGA-like blocks  FPGA companies adding hard components

15

slide-16
SLIDE 16

Conventional Use of Platform Concept

 PC Domain

 Standard platforms have enabled quick and efficient

development

 X86 Instruction Set Architecture  Fully specified set of busses (USB, PCI, etc)  Full specification of I/O devices

 Allows hardware/software codesign

16

slide-17
SLIDE 17

Conventional Use of Platform Concept

 Systems Domain

 Platform allow quick development of new applications  Sharing subsystems

 Common mechanical features on automobiles like engines,

chassis, powertrains, etc

17

slide-18
SLIDE 18

Platform-Based Design Methodology

 Main Principles

 Start at highest level of abstraction  Hide unnecessary details of implementation  Summarize important parameters of implementation

in abstract model

 Limit design space exploration to available

components

 Carry out design as sequence of refinements from

initial specification to final implementation using platforms at various levels of abstraction

18

slide-19
SLIDE 19

Platform-Based Design Methodology

 Platform

 Library of components usable at current level of

abstraction

 Computational and communication blocks  Characterized by performance and functionality  Can have virtual components  Platform Instance

 Set of components selected with set parameters

 Mapping functionality to architecture

 Important to keep separate

19

slide-20
SLIDE 20

Platform-Based Design Process

 Meet-in-the-middle process

 Top-down: Map functionality into instance of platform

and propagate constants

 Bottom-up: Build a platform by choosing components

  • f the library

 Mapping becomes new functionality

20

slide-21
SLIDE 21

Fractal Nature of Design

21

slide-22
SLIDE 22

Platform-Based Design

 Partitioning of software and hardware is the

consequence of decisions at higher levels of abstraction

 Platforms should restrict design space  Establishing number, location, and components of

intermediate platforms is the essence of PBD

 Precisely defined layers

 Better reuse

22

slide-23
SLIDE 23

Example Application of PBD: Wireless Sensor Network Design

23

slide-24
SLIDE 24

Model-Driven (Software) Development

 Closely resembles Platform-Based Design  Model-Driven Architecture

 Platform-Independent Model  Platform-Specific Models  Interface definitions

 Separation of function and platform

24

slide-25
SLIDE 25

Domain-Specific Languages

 Vanderbilt University group evolved MDD for

embedded software design

 Because a single modeling language not suitable for all

domains

 But how to define and integrate various models?

 Interaction must be mathematically well characterized  This allows model transformations

25

slide-26
SLIDE 26

Remarks on Platform-Based Design

 Is being adopted  Well-defined layers of abstraction help supply

chain where performance and cost are the contract between companies

 Designers do need to be trained in PBD and have

supporting tools

26

slide-27
SLIDE 27

Overview

27

slide-28
SLIDE 28

Representing Functionality

 Need to capture at high level of abstraction without

assumptions about implementation

 Languages for Hardware Design

 Attempts to raise abstraction levels  SystemC

 C lacks concurrency and notion of time  Capture particular aspects of hardware  Used for simulation (not directly synthesizable or verifiable)

 SystemVerilog

 Extend Verilog (RTL) to higher abstraction level

28

slide-29
SLIDE 29

Representing Functionality

 Languages for Embedded System Design

 Want higher productivity and correctness guarantees  Synchronous Languages

 Strong formal semantics to make verification and code

generation possible

 Esterel, Lustre, Signal  Safety-critical domain

29

slide-30
SLIDE 30

Representing Functionality

 Models of Computation

 In traditional approaches, assumptions about

architecture embedded in formulation

 Want maximum flexibility while capturing design  Mathematically sound representations  Discrete Time

 Flexible model

 Finite State Machines

 Less flexible, but easier to analyze and synthesize

30

slide-31
SLIDE 31

Representing Functionality

 Heterogeneous Models of Computation

 Mixing models is not trivial  Numerous approaches

 LSV Model, Interface Automata  Environments for capturing designs

 Ptolemy II  ForSyDe and SML-Sys  Behavior-Interaction Priority Framework  Signal Processing Worksystem  Simulink  LabVIEW

31

slide-32
SLIDE 32

Representing Architecture

 Needs to be represented to enable mapping of

functionality

 Netlist that establishes how a set of components is

connected

 Capabilities should be included  “Cost” needs to be computed

 Time, Power, etc.

32

slide-33
SLIDE 33

Representing Architecture

 Software Architecture Description

 Unified Modeling Language (UML)

 Stresses successive refinement  Graphical nature  Too general? (difficult to express common programming

constructs)

 Profiles allow redefining for specific applications

 SysML, Rational, Rhapsody, Tau

 Eclipse

 Integrated Development Environment

33

slide-34
SLIDE 34

Representing Architecture

 Hardware Architecture Description

 Useful when providing model for performance and

property analysis

 Transaction Level Modeling

 Levels of abstraction above RTL, can it do better?

 Assembly Tools

 CoWare, Synopses, Mentor, and ARM all exploring model

creation, integration, simulation, and analysis

 Communication Based Design

 Design of interconnect infrastructure and IP interfaces  Network-on-Chip  Global Interconnect becoming dominant

34

slide-35
SLIDE 35

Representing Architecture

 Hardware Architecture Description (cont)

 Microprocessor Modeling

 Embedded systems normally contain software

programmable processors

 Tradeoff between speed and accuracy when modeling  Examples

 Virtual Processor Model  C-Source Back Annotation  Interpreted Instruction-Set Simulator  Compiled Code Instruction-Set Simulator  Worst Case Execution Time Estimation

35

slide-36
SLIDE 36

Mapping

 Mapping functional description to hardware

instance

 Mismatch of models of computation

 Asynchronous and synchronous  If forced to be the same, restricts design space

 Scheduling

 For example, concurrent processes onto processor  Static vs. dynamic

36

slide-37
SLIDE 37

Mapping

 Correct-by-Construction Mapping – Giotto

 Solve scheduling problem by forcing models of

computation to match

 Time-triggered architecture  Separates platform independent functionality and

timing from platform dependent scheduling

37

slide-38
SLIDE 38

Mapping

 Automatic Mapping with Heterogeneous Domains

 Needs to be a way to automate mapping process

 Like logic synthesis

 Need common mathematical language between

functionality and platform

 Tradeoffs in mapping

 Granularity vs. Optimality

38

slide-39
SLIDE 39

Metropolis Framework

 Unified framework for platform-based design  Allows for different levels of abstraction and

models of computation

 Metropolis Meta-Model

 Most models of computation and formal languages

can be translated into it

 Can be used to capture and analyze functionality, and

describe architectures and mapping

39

slide-40
SLIDE 40

Metropolis Framework

 Functional Model

 Functional netlist of a network of processes

 Architectural Model

 Architectural netlist is an interconnection of

computational and communication components

 Mapping

 Mapping netlist instantiates both functional and

architectural netlist with synchronization constraints

40

slide-41
SLIDE 41

Metropolis Framework

 Tool Support

 Allows for back-end tools for analysis  Simulator

 translates to SystemC

 Verification  Synthesis  Easy to incorporate external tools

41

slide-42
SLIDE 42

Metropolis Framework

 Related Work

 None support all the requirements of PBD  Polis System

 Co-Design Finite State Machines  Limitations of target architecture and model of computation

 VCC  Artemis Workbench  Mescal  CoFluent Studio  Simulink-Based Flows

42

slide-43
SLIDE 43

Metropolis Design Example: JPEG Encoder Design

 Goal: Map algorithm efficiently onto a

heterogeneous architecture

 Modeling and Design Space Exploration

 Architecture-independent model of JPEG Encoder in

Metropolis

 Processor modeled in Metropolis

 Design Space Exploration and Results

 Tried different mapping scenarios  Simulation close to actual implementation

43

slide-44
SLIDE 44

Conclusions

 Platform-Based Design is a unifying design

methodology for system design

 Promising achievements so far, but work still to be

done

 Better understand relationships in heterogeneous

environment

 More efficient algorithms and tools  More models must be developed  Industry must embrace new paradigms  Academia must develop new curricula

44