<<

EE382V-ICS: System-on-Chip (SoC) Lecture 8

EE382V-ICS: System-on-a-Chip (SoC) Design

Lecture 8 - System Design Methodology

with sources from: Christian Haubelt, Univ. of Erlangen-Nuremberg

Andreas Gerstlauer Electrical and Computer University of Texas at Austin [email protected]

SoC Design Flow

Start Analyze results

MRD Functionality No Met? No PRD Modify Yes Product Model? Yes Map, Model & Validation Simulate in SPW or Matlab or C System No Loop or C++ BOM Costs Met?

Yes Mapping to No Platform or Components Power No Complete? Req. Met?

Design Yes Yes Convergence and Analyze results Verification Schedule No Loop Req. Met? No Metrics Met? Yes

Yes Platform Freeze No Req. Met?

Yes No MRD Met? Return

Yes EE382V-ICS: SoC Design, Lecture 8Done © 2010 A. Gerstlauer 2

© 2010 A. Gerstlauer 1 EE382V-ICS: System-on-Chip (SoC) Lecture 8 Design

Design Convergence

FrontFront EndEnd DesignDesign ImplementationImplementation

Reduced convergence time due to minimal data Convergence time increases due to more design data

Reduced convergence time due to reduced solution

Convergence time increases due to transition phase

Reduced convergence time due to reduced solution space

Design Converges # Optimization Solutions # Optimization # Optimization Solutions # Optimization

Rapid Exploration Rapid Traversal

EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 3

Design Challenges

• Complexity • High degree of parallelism at Applications various levels

• Heterogeneity Programming • Of components Model? • Of tools

• Low- communication mechanisms

• Programming model

Source: C. Haubelt, Univ. of Erlangen-Nuremberg

EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 4

© 2010 A. Gerstlauer 2 EE382V-ICS: System-on-Chip (SoC) Lecture 8 Design

Complexity Forces

Functionality Cost Compatibility

Capacity Security

Availability Reliability

Performance Throughput

Technology churn Robustness

“The challenge over the next 20 years will not be speed or cost or performance; it will be a question of complexity.” Bill Raduchel, Chief Strategy Officer, Sun Microsystems

EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 5

Multi-Processor System-on-Chip (MPSoC)

System Memory Micro- ASIP Local RAM Memory Controller Controller

Controller Bus

Hardware DSP DSP RAM Accelerator

Bridge DSP Bus

Shared Hardware Video RAM Accelerator Front End

Local Bus Source: C. Haubelt, Univ. of Erlangen-Nuremberg EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 6

© 2010 A. Gerstlauer 3 EE382V-ICS: System-on-Chip (SoC) Lecture 8 Design

MPSoC Terminology

• Multi-processor • Heterogeneous, asymmetric multi-processing (AMP) • Distributed memory and operating system

• Multi-core • Homogeneous, symmetric multi-processing (SMP) • Shared memory and operating system  Multi-core processors in a multi-processor system

• Many-core • > 10 cores per processor…

EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 7

Processor Implementation Options

Source: T. Noll, RWTH Aachen, via R. Leupers, “From ASIP to MPSoC”, Computer Engineering Colloquium, TU Delft, 2006

EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 8

© 2010 A. Gerstlauer 4 EE382V-ICS: System-on-Chip (SoC) Lecture 8 Design

Lecture 8: Outline

 Introduction

• System design methodology • Electronic system-level design (ESL/SLD)

• ESL design • Modeling •Synthesis • Verification

• ESL landscape

• Summary and conclusions

EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 9

System Design

System-level design

Hardware Software development development Integration & Verification

EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 10

© 2010 A. Gerstlauer 5 EE382V-ICS: System-on-Chip (SoC) Lecture 8 Design

Classical System Design Flow

System requirement specification system design System architecture design

Modeling

Hardware design

hardware softwareSoftware development development development integrationIntegration & Verification & verificationSystem

manual (semi)automatic

EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 11

Hardware-Centric Design Cycle

Task

Specification Fixes in specification

HW design Fixes in hardware

HW verification

SW design Fixes in software

SW verification

Integration & verification

Time

EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 12

© 2010 A. Gerstlauer 6 EE382V-ICS: System-on-Chip (SoC) Lecture 8 Design

Hardware-Centric Design Cycle but you want to know here … and here Task … and here

Specification Fixes in specification ✘ HW design Fixes in hardware ✘ HW verification

SW design Fixes in software ✘ SW verification

Integration & verification ✘

Time

known if project is successful

EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 13

Electronic System-Level (ESL) Design Flow

System requirement specification system design High-level model

System-level design

Hardware design Software development hardware software development development integrationIntegration & Verification & verificationSystem implementation

manual (semi)automatic

EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 14

© 2010 A. Gerstlauer 7 EE382V-ICS: System-on-Chip (SoC) Lecture 8 Design

New ESL Design Cycle

Task Specification (high-level & arch. models) Fixes in specification

HW design Fixes in hardware

HW verification

SW design Fixes in software

SW verification

Integration & verification

Time

Find good design options here

EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 15

Double Roof Model

Software Hardware

system

Specification task component

instruction architecture logic

ISA RTL

Arch Implementation gate

Source: A. Gerstlauer, C. Haubelt, A. Pimentel, et al., “Electronic System-Level Synthesis Methodologies,“ TCAD, 2009. EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 16

© 2010 A. Gerstlauer 8 EE382V-ICS: System-on-Chip (SoC) Lecture 8 Design

Design Methodologies

 Set of models and design steps (transformations) • Top down design • Platform based design • Starts with functional system • Starts with architecting a specification processing platform for a given – Application behavior vertical application space – Models of Computation (MoC) – Semiconductor, ASSP vendors • Successive refinement • Enables rapid creation and • Connect the hardware and verification of sophisticated SoC teams earlier in variants the design cycle. • PBD uses predictable and pre- • Allows hardware and software to verified firm and hard blocks be developed concurrently • PBD reduces overall time-to- • Goes through architectural market mapping – Shorten verification time • The hardware and software parts • Provides higher productivity are either manually coded or through design reuse obtained by refinement from • PBD allows derivative designs higher model with added functionality • Ends with HW-SW co-verification • Allows the user to focus on the and System Integration part that differentiate his design

Source: Coware, Inc., 2005 EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 17

Top-Down ESL Design Environment

Primarily Primarily Virtual PROTOTYPING ENVIRONMENT Physical

HW HW DESIGN FAB INTEG. System Function SL & TEST Def. Design Design SW SW HW & SW DESIGN CODING CODESIGN

Cost Models

Copyright © 1995-1999 SCRA Used with Permission

EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 18

© 2010 A. Gerstlauer 9 EE382V-ICS: System-on-Chip (SoC) Lecture 8 Design

Platform-Based Design (PBD)

Performance models: Models of Emb. SW, Comm. Computation and Comp. resources

System System Behavior Platform Model Checking HW/SW Partitioning, Behavior Scheduling & Estimation Mapping Verification

Performance Architecture Analysis and Simulation Refinement

Synthesis Flow To Implementation & Coding

Source: UC Berkeley, EECS249

EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 19

System Design Languages

• Netlists • Structure only: components and connectivity  Gate-level [EDIF], system-level [SPIRIT/XML] • Hardware description languages (HDLs) • Event-driven behavior: signals/wires, clocks • Register-transfer level (RTL): boolean logic  Discrete event [VHDL, Verilog] • System-level design languages (SLDLs) • Software behavior: sequential functionality/programs  C-based [SpecC, SystemC, SystemVerilog]

EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 20

© 2010 A. Gerstlauer 10 EE382V-ICS: System-on-Chip (SoC) Lecture 8 Design

Lecture 8: Outline

 Introduction

 System design flow

• ESL design • Modeling •Synthesis • Verification

• ESL landscape

• Summary and conclusions

EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 21

System Modeling

• Design models as abstraction of a design instance • Representation for validation and analysis • Specification for further implementation  Documentation & specification

 Systematic modeling flow and methodology • Set of models • Set of design steps  From specification to implementation

 Well-defined, rigorous system-level semantics • Unambiguous, explicit abstractions, models – Objects and composition rules  Synthesis and verification

EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 22

© 2010 A. Gerstlauer 11 EE382V-ICS: System-on-Chip (SoC) Lecture 8 Design

Modeling Guidelines

• A model should capture exactly the aspects required by the system, and no more. • There is not one model/algorithm/tool that fits all.

• Being formal is a prerequisite for algorithmic analysis. • Formality means having a mathematical definition (semantics) for the properties of interest.

• Being compositional is a prerequisite for scalability. • Compositionality is the ability of breaking a task about A||B into two subtasks about A and B, respectively.

Source: UC Berkeley, EECS249

EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 23

Separation of Concerns

Managing Complexity

Orthogonalizing concerns Behavior across Computation Vs. multiple levels Vs. Architecture of Communication abstraction

Source: UC Berkeley, EECS249

EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 24

© 2010 A. Gerstlauer 12 EE382V-ICS: System-on-Chip (SoC) Lecture 8 Design

System Design Flow

• Abstraction based on level of detail & granularity • Computation and communication  System design flow  Path from model A to model F

Cycle- timed D F

A. System specification model B. Timed functional model Approximate- C. Transaction-level model (TLM) timed C E D. Bus cycle-accurate model (BCAM) E. Computation cycle-accurate model (CCAM) F. Cycle-accurate model (CAM) Communication

Un- timed A B Un- Approximate- Cycle- Computation timed timed timed

Source: L. Cai, D. Gajski. “Transaction level modeling: An overview”, ISSS 2003

EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 25

Computation vs. Communication

• Separation of concerns • Flexibility in modeling • IP reuse

Bus Model Device Model

Communication Computation Must be synchronized get a; get b; c = a * b; send c;

Communication can be described in a Behavior can be described wide range of , from high-level algorithmically, without the burden of messages, to detailed signal level the handshaking and control logic handshakes without impacting the associated with bus communication. behavior description. Source: Coware, Inc., 2005 EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 26

© 2010 A. Gerstlauer 13 EE382V-ICS: System-on-Chip (SoC) Lecture 8 Design

Computation Models

Process B1() • Application model { … waitfor(15000); • Model of Computation (MoC) … – Process-/state-based [KPN, SDF, FSM, …] waitfor(25000); … }; • Back-annotated execution timing – Timing granularity (basic block level) • Processor model

CPU • Operating system B1 B2 – Real-time multi-tasking (RTOS), drivers

OS • Hardware abstraction layer (HAL) – Media accesses HAL Drv ISR • Processor hardware – Bus I/O & interrupts

Bus • Instruction-set model • Instruction-set or micro-architecture Interrupts – Down to cycle-accurate behavior

EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 27

Communication Models

• Pin-Accurate Model (PAM) MEM CPU • Redundant RTL complexity results in slow simulation • Each device interface must Pin/Cycle BUS implement the bus protocol Accurate • Each device on the bus has a pin-accurate interface Clk Req Periph Sel Grnt • Transaction-Level Model (TLM) Addr Data • Less code, no wires, fewer events yield faster simulation • Protocol is modeled as a single bus model instead of in each device MEM CPU • Each device communicates via transaction-level API

TLM API TLM API Transactions  100x-10,000x faster than BUS (Function Calls) PAM TLM API HREQ ReqTrf Transaction Grant HGRANT Trf Periph HADDR AddrTrf

HWDATA WriteDataTrf

HREADY EotTrf HRESP Source: Coware, Inc., 2005 EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 28

© 2010 A. Gerstlauer 14 EE382V-ICS: System-on-Chip (SoC) Lecture 8 Design

Transaction Level Modeling

Initiator Communication Target channel

TLM read(addr) read(addr) TLM write(addr, data) write(addr, data) API API

The transaction level is a higher level of abstraction for communication

For SoC, communication is often the bottleneck

Source: Coware, Inc., 2005 EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 29

TLM Details • Abstracted communication • Detailed signal handshaking is reduced to series of generic events called “transactions”. • Blocks are interconnected via a bus model, and communicate through an API. • The bus model handles all the timing, and events on the bus can be used to trigger action in the peripherals. Event timing can Bus trigger actions. Initiator addressEvent() Model dataEvent() Target

Address Data sendAddress() sendData()

Bus Model keeps Initiator and target use track of timing. an API to communicate via transfers.

Source: Coware, Inc., 2005 EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 30

© 2010 A. Gerstlauer 15 EE382V-ICS: System-on-Chip (SoC) Lecture 8 Design

SystemC/TLM 2.0

• Pointer to transaction object is passed from module to module using forward and backward paths • Transactions are of generic payload type

Forward path Interconnect Forward path Initiator Initiator/ Target Target Backward path Backward path

Command Address Data Byte enables Response status Extensions

Source: OSCI TLM-2.0

EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 31

SystemC/TLM 2.0 Coding Styles

• Loosely-timed BEGIN • Sufficient timing detail to boot OS and simulate multi-core systems END • Each transaction has 2 timing points: begin (call) and end (return) Initiator Target

• Approximately-timed BEGIN_REQ • Cycle-approximate or cycle-count- END_REQ accurate • Sufficient for architectural exploration BEGIN_RESP • Each transaction has at least END_RESP 4 timing points Initiator Target

Source: OSCI TLM-2.0

EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 32

© 2010 A. Gerstlauer 16 EE382V-ICS: System-on-Chip (SoC) Lecture 8 Design

Blocking and Non-Blocking Transports

• Blocking transport interface • Typically used with loosely-timed coding style • tlm_blocking_transport_if void b_transport(TRANS&, sc_time&);

• Non-blocking transport interface • Typically used with approximately-timed coding style • Includes transaction phases • tlm_fw_nonblocking_transport_if tlm_sync_enum nb_transport_fw(TRANS&, PHASE&, sc_time&);

• tlm_bw_nonblocking_transport_if tlm_sync_enum nb_transport_bw(TRANS&, PHASE&, sc_time&);

Source: OSCI TLM-2.0

EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 33

Blocking Transport

Initiator Target

Simulation time 0ns call b_transport(t, 0ns); b_transport(t, 0ns); return Simulation time 0ns call b_transport(t, 0ns);

Simulation time wait(30ns); 30ns

b_transport(t, 0ns); return

Source: OSCI TLM-2.0

EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 34

© 2010 A. Gerstlauer 17 EE382V-ICS: System-on-Chip (SoC) Lecture 8 Design

Non-Blocking Transport

Initiator Target

nb_transport(-, BEGIN_REQ, 0ns);

nb_transport(TLM_ACCEPTED, -, -);

nb_transport(-, END_REQ, 0ns);

nb_transport(TLM_ACCEPTED, -, -);

nb_transport(-, BEGIN_RESP, 0ns);

nb_transport(TLM_ACCEPTED, -, -);

nb_transport(-, END_RESP, 0ns);

nb_transport(TLM_ACCEPTED, -, -);

Source: OSCI TLM-2.0 EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 35

Virtual Platform Prototyping

Computation refinement

Untimed TLM (LT/AT) PCAM

Virtual Prototype

Communication refinement

EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 36

© 2010 A. Gerstlauer 18 EE382V-ICS: System-on-Chip (SoC) Lecture 8 Design

Abstraction Levels

Functional Validation Processor Interconnect Peripheral Emb.Emb. System System Modeling Modeling Host-compiled Not Modeled -Executable-Executable spec. spec. capture capture -Point to point -Functional testing -Functional testing -Memory-mapped Instruction Loosely Timed Architectural Validation Accurate TLM Untimed SystemSystem Partitioning Partitioning and and AssemblyAssembly -Exploration-Exploration and and analysis analysis Approximately Timed Timed TLM Bus-Functional Hardware Refinement Cycle RTLRTL Design Design & & Verification Verification Accurate -Block-Block design design and and unit unit test test Cycle-Accurate -Validation in the system RTL TF -Validation in the system TLM (DUT) (rest) (Transfer Level) RTL Verification

SystemSystem-level-level Verification Verification Performance Simulation Increasing Performance Simulation Increasing RTL RTL Scope for Relative Optimization Increasing Scope for Relative Optimization Increasing -Complete-Complete design design at at RTL RTL -System-System-level-level testbench testbench RTL

Source: Coware, Inc., 2005 EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 37

Speed vs. Accuracy

ESL UT Architectural Host-based IA ISS Design LT 10MIPS TLM Bus SystemC 3 Mcps Executable TLM Re-use for 1MIPS Early Software Cycle Development Accurate CA 100Kcps -TLM 150 kps

10Kcps Re-use for Pin-accurate PAM+RTL System-level w/RTL 15 kps Log E D S P Log Hardware 1Kcps Verification RTL

100cps Log A C C U R A C Y

EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 38

© 2010 A. Gerstlauer 19 EE382V-ICS: System-on-Chip (SoC) Lecture 8 Design

Lecture 8: Outline

 Introduction

 System design methodology

• ESL design Modeling •Synthesis • Verification

• ESL landscape

• Summary and conclusions

EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 39

Design Automation

• Synthesis = Decision making + model refinement

GUI GUI SpecificationSpecification model model

Model n Model n

Optim.Optim. algorithm algorithm

Refinement DB Design decisions Refinement DB

ModelModel n n+1+1

Implementation model Implementation model

 Successive, stepwise model refinement  Layers of implementation detail

EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 40

© 2010 A. Gerstlauer 20 EE382V-ICS: System-on-Chip (SoC) Lecture 8 Design

X-Chart

Application Platform Behavior Constraints

Synthesis Decision Refinement making

Quality Structure numbers Transaction Latency, Area, Level Model Throuput, etc

Source: A. Gerstlauer, C. Haubelt, A. Pimentel, et al., “Electronic System-Level Synthesis Methodologies,“ TCAD, 2009. EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 41

Platform-Based System Synthesis

Application Platform

Optimal Mapping ?

EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 42

© 2010 A. Gerstlauer 21 EE382V-ICS: System-on-Chip (SoC) Lecture 8 Design

Resource Allocation

• Resource allocation, i.e., select resources from a platform for implementing the application

EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 43

Process Binding

• Process mapping, i.e., bind processes onto allocated computational resources

EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 44

© 2010 A. Gerstlauer 22 EE382V-ICS: System-on-Chip (SoC) Lecture 8 Design

Channel Routing

• Channel mapping, i.e., assign channels to paths over busses and address spaces

EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 45

Design Space Exploration

• Design Space Exploration is an iterative process: • How can a single design point be evaluated? • How can the design space be covered during the exploration process?

Evaluating Covering the design points design space

EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 46

© 2010 A. Gerstlauer 23 EE382V-ICS: System-on-Chip (SoC) Lecture 8 Design

Optimization Approaches

• Exact methods • Enumeration, (Integer) Linear Programs • Heuristics • Constructive – Random mapping, hierarchical clustering • Iterative – Random search, simulated annealing, min-cut (Kernighan-Lin) • Set-based (“intelligent” randomized search) – Evolutionary Algorithms (EA), Particle Swarm Optimization (PSO), Ant Colony Optimization (ACO)  Exact, constructive & iterative methods are prohibitive  Large design space, multiple objectives, dynamic behavior  Set-based approaches  Randomized, problem independent (black box), Pareto set

EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 47

Evaluation Approaches

• Dynamic simulation • Profiling, ISS/RTL co-simulation  Long simulation times, corner cases • Static analysis • Component-level estimation [Worst-Case Execution Time (WCET)] • System-level cost functions, real-time calculus [Modular Performance Analysis (MPA)]  Inaccurate bounds, manual interference (false paths)  Combinations • Host-compiled simulation • Trace-driven simulation  Tradeoff between accuracy and speed

EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 48

© 2010 A. Gerstlauer 24 EE382V-ICS: System-on-Chip (SoC) Lecture 8 Design

Lecture 8: Outline

 Introduction

 System design methodology

• ESL design Modeling Synthesis • Verification

• ESL landscape

• Summary and conclusions

EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 49

Design Verification Methods

• Simulation based methods • Specify input test vector, output test vector pair • Run simulation and compare output against expected output

• Formal Methods • Check equivalence of design models or parts of models • Check specified properties on models

• Semi-formal Methods • Specify inputs and outputs as symbolic expressions • Check simulation output against expected expression

EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 50

© 2010 A. Gerstlauer 25 EE382V-ICS: System-on-Chip (SoC) Lecture 8 Design

Simulation

• Create test vectors and simulate model • Simulation, debugging and tools [Synopsys VCS, Mentor ModelSim, Cadence NC-Sim] Specification

DUT Stimulus Monitors • Inputs • Specification – Used to create interesting stimuli and monitors • Model of DUT – Typically written in HDL or C or both • Output • Failed test vectors – Pointed out in different design representations by debugging tools

EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 51

Equivalence Checking

• LEC uses boolean algebra to check for logic equivalence

1 inputs

2 outputs 1 = 1’ ? Equivalence 2 = 2’ ? result 1’ 2’ inputs outputs

• SEC uses FSMs to check for sequential equivalence x xy r xx pr ps pt xy x p a a × y s = aa y b b b bb q yx qr qs qt yy t y yy bb

EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 52

© 2010 A. Gerstlauer 26 EE382V-ICS: System-on-Chip (SoC) Lecture 8 Design

Model Checking

• Model M satisfies property P? [Clarke, Emerson ’81] • Inputs • State transition system representation of M • Temporal property P as formula of state properties • Output • True (property holds) • False + counter-example (property does not hold)

P = P2 always leads to P4 P1 s1 s2 P2

s4 s3 Model True / Checker False + counter-example P4 M P3

EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 53

Lecture 8: Outline

 Introduction

 System design methodology

 ESL design

• ESL landscape • Commercial tools • Academic tools

• Summary and conclusions

EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 54

© 2010 A. Gerstlauer 27 EE382V-ICS: System-on-Chip (SoC) Lecture 8 Design

Electronic System-Level (ESL) Landscape

CPU Mem B1 B2 v1 Computation & MARTE (UML) Communication SPIRIT/IP-XACT Matlab/Simulink,C2 C1 Arbiter (XML) Bridge LabView, …

B3 B4 HW IP SystemSystem Synthesis Synthesis Platform library Front-EndFront-End Application specification Academic Tools System-Level Design Languages (SLDLs) SystemC,

VaST, OVP Transaction-Level Models C-based RTL Virtutech,… CoWare, … TLMTLMTLMTLMn C/C++ code Software / Hardware Software / Hardware Mentor Catapult, Green Hills, Synthesis Instruction-Set Simulator (ISS) Synthesis gcc, VxWorks, … Forte, … Back-EndBack-End Tensilica

Software HardwareSynopsys Design Object Code VHDL/VerilogCompiler, …

EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 55

ESL Tools

• Electronic System-Level (ESL) terminology • Often single hardware unit only – C-to-RTL high-level synthesis (HLS) [Mentor Catapult, Forte Cynthesizer] • System-level across hardware and software boundaries • System-level frontend • Hardware and software synthesis backend

 Commercial tools for modeling and simulation • Algorithmic modeling (MoC) [UML, Matlab/Simulink, Labview] • Virtual system prototyping (TLM) [Coware, VaST, Virtutech]  Only horizontal integration across models / components  Academic tools for synthesis and verification • MPSoC synthesis [SCE, Metropolis, SCD, PeaCE, Deadalus]  Vertical integration for path to implementation

EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 56

© 2010 A. Gerstlauer 28 EE382V-ICS: System-on-Chip (SoC) Lecture 8 Design

Academic MPSoC Design Tools

Approach DSE Comp. Comm. Comp. Comm. decision decision refine refine Daedalus ∙ ∙ ∘ ∙ ∘ Koski ∙ ∙ ∘ ∙ ∘ Metropolis ∘ ∘ PeaCE/HoPES ∘ ∘ ∙ ∘ SCE ∙ ∙ SystemCoDesigner ∙ ∙ ∙ ∘

Source: A. Gerstlauer, C. Haubelt, A. Pimentel, et al., “Electronic System-Level Synthesis Methodologies,“ TCAD, 2009. EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 57

System Design Flow Summary

Embedded System Requirements

Platform Platform Platform Functional Function Architecture Architecture IP IP Configuration C/C++ CPU/DSP …at the SDL System Integration RTOS un-clocked, timing- SPW Bus, Memory aware Simulink HW system level SW Performance Analysis and Platform Configuration

Communication Design Export Refinement, Integration & … after initial platform Synthesis configuration through design refinement and Hardware Software communication synthesis Assembly Assembly

Implementation Level Verification

Synthesis / Place & Route etc.

EE382V-ICS: SoC Design, Lecture 8 © 2010 A. Gerstlauer 58

© 2010 A. Gerstlauer 29