Embedded System Design

Size: px
Start display at page:

Download "Embedded System Design"

Transcription

1 Modeling, Synthesis, Verification Daniel D. Gajski, Samar Abdi, Andreas Gerstlauer, Gunar Schirner 9/29/2011 Outline System design trends Model-based synthesis Transaction level model generation Application to platform mapping Platform generation Cycle-accurate model generation 9/29/2011 2

2 Traditional System Design Platform HW Dev. Board SW Dev. Board App. Dev. Prototype + BSP Hardware first approach Platform is defined by architect or based on legacy Designers develop and verify RTL model of platform Slow error prone process SW development after HW is finalized Debugging is complicated on the board due to limited observablity HW errors found during SW development are difficult to rectify Application is ported after system SW is finalized 9/29/ Virtual Platform based System Design VP SW Dev. Platform Platform Modeling Virtual Platform HW Dev. Board + BSP App. Dev. Prototype Virtual platform (VP) is a fast model of the HW platform Typically an instruction set simulator or C/C++ model of the processor Peripherals are modeled as remotely callable functions Executes several orders of magnitude faster than RTL SW and HW development are concurrent VP serves as the golden model for both SW and HW development SW development can start earlier HW designers can use SW for realistic test bench for RTL 9/29/2011 4

3 Model-based System Design SW Decisions Application Developer C/MoC Platform TLM Gen. SW Gen. TLM HW Gen. HW Decisions Board + BSP + App ASIC/ FPGA Tools Prototype Model based design gives control to application developers Application is captured as high level C/C++/UML specification Transaction level model (TLM) is used to verify and evaluate the design System synthesis The best platform for given application can be synthesized automatically For legacy platforms, application mapping can be generated automatically Cycle accurate SW/HW can be generated from TLM for implementation 9/29/ Outline System design trends Model-based synthesis Transaction level model generation Application to platform mapping Platform generation Cycle-accurate model generation 9/29/2011 6

4 Model Based Synthesis Specification Component Models System Synthesis TLM TLM TLMs Component Library Cycle-accurate SW/HW Synthesis CAM Synthesis of cycle-accurate model (CAM) from specification Process may be divided into several steps Specification is defined as application model and design constraints Several intermediate models, such as TLMs, may be used Platform component models are needed for TLM generation 9/29/ System Synthesis Inputs and Output Inputs Application Model Purely functional model Specified in a given model of computation (Stateflow, dataflow, CSP, MP) Component Models Data models of configurability and metrics Functional models of component services Examples: HW IP models (Processor, Peripheral, Bus), SW IP models (RTOS, Drivers) Constraints Bounds on metrics (Performance, area, power, reliability, security) Optimization goal as a cost function of metrics Output TLM of application mapped to HW/SW platform 9/29/2011 8

5 Three Models with Respect to OSI (Ref. Chapter 3) Cycle Accurate Model Transaction Level Model Specification Model 7. Application 6. Presentation 5. Session 4. Transport 3. Network 2 b. Link + Stream 2 a. Media Access Ctrl 2 a. Protocol 1. Physical Spec TLMs Address lines Data lines Control lines 7. Application 6. Presentation 5. Session 4. Transport 3. Network 2 b. Link + Stream 2 a. Media Access Ctrl 2 a. Protocol 1. Physical 9/29/ Outline System design trends Model-based synthesis Transaction level model generation Application to platform mapping Platform generation Cycle-accurate model generation 9/29/

6 Synthesis Case 1: Fixed Platform and Mapping Initial platform and mapping are given Optimization tools may modify spec under given constraints 9/29/ Tool support for Synthesis Case 1 GUI for application specification GUI for platform specification GUI for application to platform mapping TLM generation tool TLM-based metric estimation tools Constraint-based spec optimization tools 9/29/

7 C1 C1 Input: Application Model P1 P2 v1 C2 P3 P4 Application model consists of Processes for computation (eg. P1, P2, P3, P4) Channels for communication (eg. C1 between P1 and P3) Variables for storage (eg. v1) 9/29/ Application Model Objects Processes Symbolic representation of computation Contain C/C++ code imported from reference P1 P2 C2 v1 Process ports Symbolic representation of communication services required by processes Provide object orientation by allowing processes to connect to different channels Channels Symbolic representation of inter-process communication Implement communication services such as blocking, non-blocking, handshake, FIFO etc. Encapsulation for communication functions Variables Symbolic representation of data storage P3 P4 9/29/

8 Arbiter TX Arbiter TX Input: Platform Architecture CPU1 Mem OS1 Bus1 Bus2 OS2 HW CPU2 Platform consists of Hardware: PEs (eg. CPU1, HW), Buses (eg. Bus1), Memories (eg. Mem), Interfaces (eg. Transducer) Software: Operating systems (eg. OS1) on SW PEs 9/29/ Platform Objects Processing element (PE) Symbolic representation of computation resources Different types such as SW processors, HW IPs etc. CPU1 OS1 Mem Bus Symbolic representation of communication media Types include shared, point-to-point, link, crossbar etc. Bus1 Bus2 OS2 HW CPU2 Memory Symbolic representation of physical storage May contain shared variables or SW program/data Transducer For protocol conversion and store-forward routing Necessary for PEs with different bus protocols Operating system (OS) Software platform for individual PEs Needed for scheduling multiple processes on a PE 9/29/

9 Arbiter C1 TX Input: Mapping CPU1 P1 P2 Mem v1 Processes PEs Channels Routes Variables Memories OS C2 Bus1 Bus2 P3 OS P4 HW IP CPU2 9/29/ Mapping Rules Processes to PEs Each process in the application must be mapped to a PE Multiple processes may be mapped to SW PE with OS support Example: P1, P2 CPU1 Channels to Routes All channels between processes mapped to different PEs are mapped to routes in the platform Route consists of bus segments and interfaces Channel on each bus segment is assigned a unique address Variables to Memories Variables accessed by processes mapped to different PEs are mapped to shared memories All variables are assigned an address range depending on size 9/29/

10 Computation Timing Estimation BB1 RF al bl BB1 PC CMem CW const Mul BB2 N If Y BB3 OR offset AG Sum P status AR ALU Mem Add DR Processor Model wait(t1) N If Y BB2 BB3 wait(t2) wait(t3) N If Y Timing Estimation N If Y Process CDFG Timed Process Stochastic memory delay model DFG scheduling to compute basic block delay [DATE 08] RTOS model added for PEs with multiple processes 9/29/ Stochastic Memory Delay Model Assumption Cache and branch prediction hit rate available in data model Delay Estimation Operation access overhead = N op * ((1.0 HR i ) * (CD + L mem )) Data access overhead = N ld * ((1.0 HR d ) * (CD + L mem )) Branch prediction miss penalty = MP rate * Penalty 1: a = $i - 1 2: t1 = a + 2 3: t2 = $n * $m 4: t3 = t1 - t2 5: load b 6: t4 = b / 10 7: jmp LLVM Bytecode Cache D-Mapped 16K Icache: 97.79% Dcache: 69.96% Delay : 1 Memory Delay: 8 BrPredict Policy: Taken Penalty : % Memory/Branch Model Mem./Br. Delay Calcutation Mem. Overhead= 4.1 Branch Delay= 1.2 9/29/

11 Bus3 Processor Timing Estimation Assumptions In-order, single issue processor Optimistic during scheduling (100% cache hit) 1: a = $i - 1 2: t1 = a + 2 3: t2 = $n * $m 4: t3 = t1 - t2 5: load b 6: t4 = b / 10 7: jmp 8: wait 47*CT LLVM Bytecode Operations Add IF ID EX: int-alu IntAdd Sub IF ID EX: int-alu IntSub Pipeline Scheduling Datapath Int-ALU Qty: 1 IntAdd IntSub Lat: 1 Lat: 1 Processor Data Model Total BB delay= Op.+Mem.+Br. = 47.3 cycles Operation delay= 42 9/29/ Communication Timing Estimation Tx2 PE3 PE1 Bus1 Tx1 Bus2 PE2 p1 p2 Tx3 PE4 Write( ) { Get_Bus( ); Transfer( ); Release_Bus( ); } Untimed Bus1 Estimation Engine Write( ) { Get_Bus( ); wait (t1); Transfer( ); wait (t2); Release_Bus( ); wait (t3); } Application + Platform Protocol Model Timed Bus1 Protocol model used to estimate synchronization, arbitration and transfer Timing is annotated in bus channel 9/29/

12 CPU1 Output: SystemC Timed TLM P1 OS P2 Mem TX Bus1 Bus2 P3 HW IP TLM Generation Technique Application code sc_thread Processing element sc_module OS Model sc_module Bus sc_channel Memory Array inside sc_module Interface FIFO channel+sc_process CPU2 OS P4 9/29/ Outline System design trends Model-based synthesis Transaction level model generation Application to platform mapping Platform generation Cycle-accurate model generation 9/29/

13 Application to Platform Mapping Mapping is derived from Application and Platform Optimization loop is driven by estimation results and constraints Chapter 4: 4 System Synthesis 9/29/ Application Example Encoder LP_Analysis Open Loop Closed-loop Pitch search Codebook Search 2x per frame 2 sub frames Update GSM Encoder Compresses raw speech data frame-by-frame Over 10K lines of C code in specification 5 top level functions: LP, OP, CL, CB, UP Contains if-then-else and loop control flow 9/29/

14 Profiling Given input MoC, profile application for: Computation Number of operations (size) Operations type per data type and frequency of use Concurrency between modules and dependency Communication Volume, frequency of communication between modules Timing dependency Latency requirements Storage Instruction size Variable size Profiling Application Instrumentation Profiled App. Instr. Appl Simulation Basic Block Counters Static Analysis 9/29/ Profiled Statistics Encoder LP_Analysis 377.0MOp 0 8,802 Open Loop 337.1MOp 272 Closed-loop 478.7MOp 2x per frame others, (/, int), 4.10% 9.10% ,544 Codebook 646.5MOp 69, ,568 2 sub frames (+, int), 33.50% (*, int), 46.20% Update 43.6MOp Profiling helps select the appropriate components for implementation All fixed point ops No need for processors with floating point units Large number of multiplications Processor with HW multiplier is ideal CB is most computationally intensive Ideal for custom HW mapping 9/29/

15 Application Graph Encoder LP_Analysis 377.0MOp ,802 Open Loop 337.1MOp 272 Closed-loop 478.7MOp 79,544 Codebook 646.5MOp 315,568 2x per frame 2 sub frames Arbiter Interface LP OP CL UP 44 69,112 Update 43.6MOp CB Profile information is abstracted into a simplified graphical representation for synthesis algorithms Node tags = number of operations in the process (#ops) in millions Edge tags = kilobytes transferred between the processes Control dependencies are excluded for simplicity 9/29/ Platform Connectivity Graph CPU Mem M S S CPU 150 S Bus1 Bus2 M HW 200 DSP 100 HW IP DSP Platform architecture is abstracted into a connectivity graph showing possibility of inter-pe communication Node label = PE name Node tag = estimated computation speed of the PE in Million of Operations per second (Mops) Edge implies a communication path between PEs No edge between HW IP and DSP due to missing DMA on Bus1 9/29/

16 Load Balancing (LB) Algorithm Greedy heuristic to map processes to least busy PEs PE load = total time PE will be busy executing the mapped processes Defined as #ops(p) / Speed (PE), for all p mapped to PE Does not account for any communication time! Feasibility list defined for each process The set of PEs to which a process can be mapped such that the process communication requirements are not violated Let processes p & q are have an edge in the application graph Let q be already mapped to PE PE is in feasible(p) if there exists edge (PE, PE ) in platform graph Basic idea Map processes to least loaded feasible PE in decreasing order of #ops 9/29/ LB Algorithm in Action LP 8.8 OP CL UP CB (a) Application graph CL, LP CPU 150 CB,UP HW 200 DSP 100 OP (b) Platform connectivity graph w/ mapping 9/29/

17 Longest Processing Time (LPT) Algorithm Drawbacks of LB Does not account for communication May not terminate with a mapping if feasibility list is empty LPT accounts for communication and always produces a mapping Fully connected platform DMA is added to allow HW peripherals to communicate with processes and memories No need to evaluate feasibility of mapping Cost of mapping process to PE is defined Includes both communication and computation time Basic idea Map processes to least cost PE in decreasing order of #ops 9/29/ LPT Cost Function = max (T(PE), for all PEs) E(p, PE): Estimated time for running p on PE Mops(p) / Speed (PE) + time to send data to mapped processes C(p, PE) = T(PE) + E(p, PE) SystemEndTime PE with lowest execution time may not have the lowest cost E(p, PE3) > E(p, PE2), but C(p, PE3) < C(p, PE2) 9/29/

18 Arbiter Interface New Connectivity Graph of Updated Platform CPU Mem M S S CPU Bus1 Bus2 S M M HW DSP 100 Edge possible due to DMA HW DMA DSP Platform architecture is abstracted into a connectivity graph Node label= PE name, Node tag= estimated PE speed in Mops Edge = Connectivity between PEs Edge label = effective transaction speed between PEs in Kilobytes per second (Kbps): added for LPT algorithm 9/29/ LPT Algorithm in Action LP OP CL UP CB (a) Application graph CL, UP CPU CB HW DSP 100 LP (b) Platform connectivity graph w/ mapping 9/29/

19 Outline System design trends Model-based synthesis Transaction level model generation Application to platform mapping Platform generation Cycle-accurate model generation 9/29/ Platform Generation 9/29/

20 Component Database PE Type Cost Speed Capacity (Speed *6 sec) CPU DSP HW Timing constraint: Application must complete in <6 seconds. Database of processing elements used for component selection Characterized by type, cost and speed Cost includes IP licensing, development, manufacturing etc. PE Computation Capacity = PE speed (in Mops) * timing constraint Indicates number of operations (in millions) that may be mapped to a PE while still meeting the timing constraints 9/29/ Platform Generation Algorithm Greedy heuristic to minimize cost and meet timing constraint PE slack Capacity remaining on the PE Slack(PE) = Capacity(PE) ( #ops(p), for all p mapped to PE) Closeness factor of a process p to a PE Total communication data between p and all processes mapped to PE C(p, PE) = (Edge-weight(p, q) in app. graph), for all q mapped to PE Basic idea Iterate over processes (p) with in decreasing order of #ops Update slacks of allocated PEs Map p to closest PE with Slack(PE) #ops(p) Allocate least cost PE with Capacity #ops(p) if mapping fails 9/29/

21 Platform Generation Algorithm in Action LP 8.8 OP CL UP CB (a) Application graph LP CPU 100 CB,CL, UP HW 200 DSP 50 OP (b) Generated Platform w/ mapping 9/29/ Outline System design trends Model-based synthesis Transaction level model generation Application to platform mapping Platform generation Cycle-accurate model generation 9/29/

22 CPU1 CAM Generation SystemC TLM SW/RTOS Library SW Synthesis C RTL Interface Synthesis RTL IP Library OR Binary HW RTL IF RTL CA Sim. Tools Pin/Cycle Accurate Model (PCAM) Generator C/Verilog CAM FPGA Tools Bus Library Prototype 9/29/ Cycle-Accurate Software Synthesis (Chapter 5) Program EXE RTOS HAL Compile RTOS/ Driver Synthesis P1 P2 OS HAL Processes Compiled App. OS model Real OS HAL model Real HAL TX Bus1 Bus2 OS P4 Compile RTOS/ Driver Synthesis Program EXE RTOS HAL HW IP CPU2 9/29/

23 CPU1 Cycle-Accurate Hardware Synthesis (Chapter 6) Mem Process Synthesizable RTL High level synthesis for custom Replacement for HW IP TX Bus1 Bus2 Cycleaccurate Synthesis P3 HW IP (RTL) Processes in C CPU2 9/29/ Cycle-Accurate Interface Synthesis (Chapter 7) CPU1 IC Mem Sync. Model Interrupts Bus channel Arbiter + Signals Interface model RTL Channel access PE interface Arbiter TX Interface Synthesis HW IP CPU2 9/29/

24 CPU1 Cycle-Accurate Model Arbiter Program EXE RTOS HAL IC Mem Interface HW IP PCAM is downloaded automatically for fast prototyping with FPGAs or simulated using validation tools Program EXE RTOS HAL CPU2 9/29/ Summary Emergence of model-based system design Virtual platforms replace prototypes for early SW development Increasing adoption of TLMs for SW/HW design Challenges for synthesis of large system designs Manual model development is time consuming and error-prone Different platforms are needed for different application domains Mapping application to a multi-core platform is complicated Need for well defined model semantics is needed at TLM and cycle-accurate levels Enables automatic TLM generation System synthesis becomes possible Future of system synthesis Based on formalized system level models such as TLM Automatic mapping of application to platform Automatic generation of application specific platforms 9/29/

Embedded System Design Modeling, Synthesis, Verification

Embedded System Design Modeling, Synthesis, Verification Modeling, Synthesis, Verification Daniel D. Gajski, Samar Abdi, Andreas Gerstlauer, Gunar Schirner Chapter 4: System Synthesis Outline System design trends Model-based synthesis Transaction level model

More information

Lecture 3: Computation Modeling

Lecture 3: Computation Modeling COEN 691B: Embedded System Design Lecture 3: Computation Modeling Samar Abdi (slides courtesy of A. Gerstlauer, D. Gajski and R. Doemer) Assistant Professor Electrical and Computer Engineering Concordia

More information

ESE Back End 2.0. D. Gajski, S. Abdi. (with contributions from H. Cho, D. Shin, A. Gerstlauer)

ESE Back End 2.0. D. Gajski, S. Abdi. (with contributions from H. Cho, D. Shin, A. Gerstlauer) ESE Back End 2.0 D. Gajski, S. Abdi (with contributions from H. Cho, D. Shin, A. Gerstlauer) Center for Embedded Computer Systems University of California, Irvine http://www.cecs.uci.edu 1 Technology advantages

More information

SoC Design for the New Millennium Daniel D. Gajski

SoC Design for the New Millennium Daniel D. Gajski SoC Design for the New Millennium Daniel D. Gajski Center for Embedded Computer Systems University of California, Irvine www.cecs.uci.edu/~gajski Outline System gap Design flow Model algebra System environment

More information

Design Methodologies. Kai Huang

Design Methodologies. Kai Huang Design Methodologies Kai Huang News Is that real? In such a thermally constrained environment, going quad-core only makes sense if you can properly power gate/turbo up when some cores are idle. I have

More information

Cycle-approximate Retargetable Performance Estimation at the Transaction Level

Cycle-approximate Retargetable Performance Estimation at the Transaction Level Cycle-approximate Retargetable Performance Estimation at the Transaction Level Yonghyun Hwang Samar Abdi Daniel Gajski Center for Embedded Computer Systems University of California, Irvine, 92617-2625

More information

Automatic TLM Generation for Early Validation of Multicore Systems

Automatic TLM Generation for Early Validation of Multicore Systems Transaction-Level Validation of Multicore Architectures Automatic TLM Generation for Early Validation of Multicore Systems Samar Abdi Concordia University Yonghyun Hwang Qualcomm Gunar Schirner Northeastern

More information

The Use Of Virtual Platforms In MP-SoC Design. Eshel Haritan, VP Engineering CoWare Inc. MPSoC 2006

The Use Of Virtual Platforms In MP-SoC Design. Eshel Haritan, VP Engineering CoWare Inc. MPSoC 2006 The Use Of Virtual Platforms In MP-SoC Design Eshel Haritan, VP Engineering CoWare Inc. MPSoC 2006 1 MPSoC Is MP SoC design happening? Why? Consumer Electronics Complexity Cost of ASIC Increased SW Content

More information

Hardware/Software Co-design

Hardware/Software Co-design Hardware/Software Co-design Zebo Peng, Department of Computer and Information Science (IDA) Linköping University Course page: http://www.ida.liu.se/~petel/codesign/ 1 of 52 Lecture 1/2: Outline : an Introduction

More information

Fast and Accurate Source-Level Simulation Considering Target-Specific Compiler Optimizations

Fast and Accurate Source-Level Simulation Considering Target-Specific Compiler Optimizations FZI Forschungszentrum Informatik at the University of Karlsruhe Fast and Accurate Source-Level Simulation Considering Target-Specific Compiler Optimizations Oliver Bringmann 1 RESEARCH ON YOUR BEHALF Outline

More information

System Level Design with IBM PowerPC Models

System Level Design with IBM PowerPC Models September 2005 System Level Design with IBM PowerPC Models A view of system level design SLE-m3 The System-Level Challenges Verification escapes cost design success There is a 45% chance of committing

More information

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

EE382V: System-on-a-Chip (SoC) Design EE382V: System-on-a-Chip (SoC) Design Lecture 10 Task Partitioning Sources: Prof. Margarida Jacome, UT Austin Prof. Lothar Thiele, ETH Zürich Andreas Gerstlauer Electrical and Computer Engineering University

More information

SpecC Methodology for High-Level Modeling

SpecC Methodology for High-Level Modeling EDP 2002 9 th IEEE/DATC Electronic Design Processes Workshop SpecC Methodology for High-Level Modeling Rainer Dömer Daniel D. Gajski Andreas Gerstlauer Center for Embedded Computer Systems Universitiy

More information

System Level Design For Low Power. Yard. Doç. Dr. Berna Örs Yalçın

System Level Design For Low Power. Yard. Doç. Dr. Berna Örs Yalçın System Level Design For Low Power Yard. Doç. Dr. Berna Örs Yalçın References System-Level Design Methodology, Daniel D. Gajski Hardware-software co-design of embedded systems : the POLIS approach / by

More information

NGUYEN KHAC HIEU REVIEW OF SYSTEM DESIGN FRAMEWORKS. Master of Science thesis

NGUYEN KHAC HIEU REVIEW OF SYSTEM DESIGN FRAMEWORKS. Master of Science thesis NGUYEN KHAC HIEU REVIEW OF SYSTEM DESIGN FRAMEWORKS Master of Science thesis Examiner: Prof. Timo D. Hämäläinen Examiner and topic approved by the Faculty Council of the Faculty of Computing and Electrical

More information

Co-synthesis and Accelerator based Embedded System Design

Co-synthesis and Accelerator based Embedded System Design Co-synthesis and Accelerator based Embedded System Design COE838: Embedded Computer System http://www.ee.ryerson.ca/~courses/coe838/ Dr. Gul N. Khan http://www.ee.ryerson.ca/~gnkhan Electrical and Computer

More information

Transaction-Level Modeling Definitions and Approximations. 2. Definitions of Transaction-Level Modeling

Transaction-Level Modeling Definitions and Approximations. 2. Definitions of Transaction-Level Modeling Transaction-Level Modeling Definitions and Approximations EE290A Final Report Trevor Meyerowitz May 20, 2005 1. Introduction Over the years the field of electronic design automation has enabled gigantic

More information

HW/SW Design Space Exploration on the Production Cell Setup

HW/SW Design Space Exploration on the Production Cell Setup HW/SW Design Space Exploration on the Production Cell Setup Communicating Process Architectures 2009, Formal Methods Week Eindhoven University of Technology, The Netherlands, 04-11-2009 Marcel A. Groothuis,

More information

Network Synthesis for SoC

Network Synthesis for SoC Network Synthesis for SoC Dongwan Shin, Andreas Gerstlauer and Daniel Gajski Technical Report CECS-04-15 June 10, 2004 Center for Embedded Computer Systems University of California, Irvine Irvine, CA 92697-3425,

More information

Co-Design of Many-Accelerator Heterogeneous Systems Exploiting Virtual Platforms. SAMOS XIV July 14-17,

Co-Design of Many-Accelerator Heterogeneous Systems Exploiting Virtual Platforms. SAMOS XIV July 14-17, Co-Design of Many-Accelerator Heterogeneous Systems Exploiting Virtual Platforms SAMOS XIV July 14-17, 2014 1 Outline Introduction + Motivation Design requirements for many-accelerator SoCs Design problems

More information

System-On-Chip Architecture Modeling Style Guide

System-On-Chip Architecture Modeling Style Guide Center for Embedded Computer Systems University of California, Irvine System-On-Chip Architecture Modeling Style Guide Junyu Peng Andreas Gerstlauer Rainer Dömer Daniel D. Gajski Technical Report CECS-TR-04-22

More information

Communication Abstractions for System-Level Design and Synthesis

Communication Abstractions for System-Level Design and Synthesis Communication Abstractions for System-Level Design and Synthesis Andreas Gerstlauer Technical Report CECS-03-30 October 16, 2003 Center for Embedded Computer Systems University of California, Irvine Irvine,

More information

Embedded System Design

Embedded System Design Modeling, Synthesis, Verification Daniel D. Gajski, Samar Abdi, Andreas Gerstlauer, Gunar Schirner 7/8/2009 Modeling Abstract view of a design Representation of reality in each design step Apply analysis,

More information

Introduction to MLM. SoC FPGA. Embedded HW/SW Systems

Introduction to MLM. SoC FPGA. Embedded HW/SW Systems Introduction to MLM Embedded HW/SW Systems SoC FPGA European SystemC User s Group Meeting Barcelona September 18, 2007 rocco.le_moigne@cofluentdesign.com Agenda Methodology overview Modeling & simulation

More information

Abstraction Layers for Hardware Design

Abstraction Layers for Hardware Design SYSTEMC Slide -1 - Abstraction Layers for Hardware Design TRANSACTION-LEVEL MODELS (TLM) TLMs have a common feature: they implement communication among processes via function calls! Slide -2 - Abstraction

More information

Early Models in Silicon with SystemC synthesis

Early Models in Silicon with SystemC synthesis Early Models in Silicon with SystemC synthesis Agility Compiler summary C-based design & synthesis for SystemC Pure, standard compliant SystemC/ C++ Most widely used C-synthesis technology Structural SystemC

More information

Automatic Generation of Communication Architectures

Automatic Generation of Communication Architectures i Topic: Network and communication system Automatic Generation of Communication Architectures Dongwan Shin, Andreas Gerstlauer, Rainer Dömer and Daniel Gajski Center for Embedded Computer Systems University

More information

Pipelining. CSC Friday, November 6, 2015

Pipelining. CSC Friday, November 6, 2015 Pipelining CSC 211.01 Friday, November 6, 2015 Performance Issues Longest delay determines clock period Critical path: load instruction Instruction memory register file ALU data memory register file Not

More information

System Level Design Flow

System Level Design Flow System Level Design Flow What is needed and what is not Daniel D. Gajski Center for Embedded Computer Systems University of California, Irvine www.cecs.uci.edu/~gajski System Level Design Flow What is

More information

Multi-cycle Instructions in the Pipeline (Floating Point)

Multi-cycle Instructions in the Pipeline (Floating Point) Lecture 6 Multi-cycle Instructions in the Pipeline (Floating Point) Introduction to instruction level parallelism Recap: Support of multi-cycle instructions in a pipeline (App A.5) Recap: Superpipelining

More information

Embedded System Design and Modeling EE382V, Fall 2008

Embedded System Design and Modeling EE382V, Fall 2008 Embedded System Design and Modeling EE382V, Fall 2008 Lecture Notes 4 System Design Flow and Design Methodology Dates: Sep 16&18, 2008 Scribe: Mahesh Prabhu SpecC: Import Directive: This is different from

More information

The Nios II Family of Configurable Soft-core Processors

The Nios II Family of Configurable Soft-core Processors The Nios II Family of Configurable Soft-core Processors James Ball August 16, 2005 2005 Altera Corporation Agenda Nios II Introduction Configuring your CPU FPGA vs. ASIC CPU Design Instruction Set Architecture

More information

System-on-Chip Environment (SCE)

System-on-Chip Environment (SCE) System-on-Chip Environment (SCE) Tutorial Samar Abdi Junyu Peng Rainer Doemer Dongwan Shin Andreas Gerstlauer Alexander Gluhak Lukai Cai Qiang Xie Haobo Yu Pei Zhang Daniel Gajski Center for Embedded Computer

More information

Design of Transport Triggered Architecture Processor for Discrete Cosine Transform

Design of Transport Triggered Architecture Processor for Discrete Cosine Transform Design of Transport Triggered Architecture Processor for Discrete Cosine Transform by J. Heikkinen, J. Sertamo, T. Rautiainen,and J. Takala Presented by Aki Happonen Table of Content Introduction Transport

More information

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

EE382V: System-on-a-Chip (SoC) Design EE382V: System-on-a-Chip (SoC) Design Lecture 8 HW/SW Co-Design Sources: Prof. Margarida Jacome, UT Austin Andreas Gerstlauer Electrical and Computer Engineering University of Texas at Austin gerstl@ece.utexas.edu

More information

MOJTABA MAHDAVI Mojtaba Mahdavi DSP Design Course, EIT Department, Lund University, Sweden

MOJTABA MAHDAVI Mojtaba Mahdavi DSP Design Course, EIT Department, Lund University, Sweden High Level Synthesis with Catapult MOJTABA MAHDAVI 1 Outline High Level Synthesis HLS Design Flow in Catapult Data Types Project Creation Design Setup Data Flow Analysis Resource Allocation Scheduling

More information

System-level simulation (HW/SW co-simulation) Outline. EE290A: Design of Embedded System ASV/LL 9/10

System-level simulation (HW/SW co-simulation) Outline. EE290A: Design of Embedded System ASV/LL 9/10 System-level simulation (/SW co-simulation) Outline Problem statement Simulation and embedded system design functional simulation performance simulation POLIS implementation partitioning example implementation

More information

COMPUTER ORGANIZATION AND DESIGN. 5 th Edition. The Hardware/Software Interface. Chapter 4. The Processor

COMPUTER ORGANIZATION AND DESIGN. 5 th Edition. The Hardware/Software Interface. Chapter 4. The Processor COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle

More information

Automatic Instrumentation of Embedded Software for High Level Hardware/Software Co-Simulation

Automatic Instrumentation of Embedded Software for High Level Hardware/Software Co-Simulation Automatic Instrumentation of Embedded Software for High Level Hardware/Software Co-Simulation Aimen Bouchhima, Patrice Gerin and Frédéric Pétrot System-Level Synthesis Group TIMA Laboratory 46, Av Félix

More information

COE 561 Digital System Design & Synthesis Introduction

COE 561 Digital System Design & Synthesis Introduction 1 COE 561 Digital System Design & Synthesis Introduction Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals Outline Course Topics Microelectronics Design

More information

Early Performance-Cost Estimation of Application-Specific Data Path Pipelining

Early Performance-Cost Estimation of Application-Specific Data Path Pipelining Early Performance-Cost Estimation of Application-Specific Data Path Pipelining Jelena Trajkovic Computer Science Department École Polytechnique de Montréal, Canada Email: jelena.trajkovic@polymtl.ca Daniel

More information

Chapter 4. Instruction Execution. Introduction. CPU Overview. Multiplexers. Chapter 4 The Processor 1. The Processor.

Chapter 4. Instruction Execution. Introduction. CPU Overview. Multiplexers. Chapter 4 The Processor 1. The Processor. COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition Chapter 4 The Processor The Processor - Introduction

More information

COMPUTER ORGANIZATION AND DESIGN. 5 th Edition. The Hardware/Software Interface. Chapter 4. The Processor

COMPUTER ORGANIZATION AND DESIGN. 5 th Edition. The Hardware/Software Interface. Chapter 4. The Processor COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition Chapter 4 The Processor COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition The Processor - Introduction

More information

Design and Verification of FPGA Applications

Design and Verification of FPGA Applications Design and Verification of FPGA Applications Giuseppe Ridinò Paola Vallauri MathWorks giuseppe.ridino@mathworks.it paola.vallauri@mathworks.it Torino, 19 Maggio 2016, INAF 2016 The MathWorks, Inc. 1 Agenda

More information

System-on-Chip Environment

System-on-Chip Environment System-on-Chip Environment SCE Version 2.2.0 Beta Tutorial Samar Abdi Junyu Peng Haobo Yu Dongwan Shin Andreas Gerstlauer Rainer Doemer Daniel Gajski Center for Embedded Computer Systems University of

More information

System-on-Chip Environment

System-on-Chip Environment System-on-Chip Environment SCE Version 2.2.0 Beta Tutorial Samar Abdi Junyu Peng Haobo Yu Dongwan Shin Andreas Gerstlauer Rainer Doemer Daniel Gajski Center for Embedded Computer Systems University of

More information

NISC Application and Advantages

NISC Application and Advantages NISC Application and Advantages Daniel D. Gajski Mehrdad Reshadi Center for Embedded Computer Systems University of California, Irvine Irvine, CA 92697-3425, USA {gajski, reshadi}@cecs.uci.edu CECS Technical

More information

Cadence SystemC Design and Verification. NMI FPGA Network Meeting Jan 21, 2015

Cadence SystemC Design and Verification. NMI FPGA Network Meeting Jan 21, 2015 Cadence SystemC Design and Verification NMI FPGA Network Meeting Jan 21, 2015 The High Level Synthesis Opportunity Raising Abstraction Improves Design & Verification Optimizes Power, Area and Timing for

More information

Vivado HLx Design Entry. June 2016

Vivado HLx Design Entry. June 2016 Vivado HLx Design Entry June 2016 Agenda What is the HLx Design Methodology? New & Early Access features for Connectivity Platforms Creating Differentiated Logic 2 What is the HLx Design Methodology? Page

More information

Distributed Operation Layer Integrated SW Design Flow for Mapping Streaming Applications to MPSoC

Distributed Operation Layer Integrated SW Design Flow for Mapping Streaming Applications to MPSoC Distributed Operation Layer Integrated SW Design Flow for Mapping Streaming Applications to MPSoC Iuliana Bacivarov, Wolfgang Haid, Kai Huang, and Lothar Thiele ETH Zürich MPSoCs are Hard to program (

More information

Tim Kogel. June 13, 2010

Tim Kogel. June 13, 2010 Generating Workload Models from TLM-2 2.0-based Virtual Prototypes for Efficient Architecture Performance Analysis Tim Kogel NASCUG 13 June 13, 2010 1 Outline Motivation and TLM-2.0 Virtual Prototyping

More information

Software Defined Modem A commercial platform for wireless handsets

Software Defined Modem A commercial platform for wireless handsets Software Defined Modem A commercial platform for wireless handsets Charles F Sturman VP Marketing June 22 nd ~ 24 th Brussels charles.stuman@cognovo.com www.cognovo.com Agenda SDM Separating hardware from

More information

MIPS Pipelining. Computer Organization Architectures for Embedded Computing. Wednesday 8 October 14

MIPS Pipelining. Computer Organization Architectures for Embedded Computing. Wednesday 8 October 14 MIPS Pipelining Computer Organization Architectures for Embedded Computing Wednesday 8 October 14 Many slides adapted from: Computer Organization and Design, Patterson & Hennessy 4th Edition, 2011, MK

More information

Lecture 9: Case Study MIPS R4000 and Introduction to Advanced Pipelining Professor Randy H. Katz Computer Science 252 Spring 1996

Lecture 9: Case Study MIPS R4000 and Introduction to Advanced Pipelining Professor Randy H. Katz Computer Science 252 Spring 1996 Lecture 9: Case Study MIPS R4000 and Introduction to Advanced Pipelining Professor Randy H. Katz Computer Science 252 Spring 1996 RHK.SP96 1 Review: Evaluating Branch Alternatives Two part solution: Determine

More information

Chapter 4. The Processor

Chapter 4. The Processor Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware We will examine two MIPS implementations A simplified

More information

Hardware-Software Codesign

Hardware-Software Codesign Hardware-Software Codesign 4. System Partitioning Lothar Thiele 4-1 System Design specification system synthesis estimation SW-compilation intellectual prop. code instruction set HW-synthesis intellectual

More information

EE382N: Embedded System Design and Modeling

EE382N: Embedded System Design and Modeling EE382N: Embedded System Design and Modeling Lecture 9 Communication Modeling & Refinement Andreas Gerstlauer Electrical and Computer Engineering University of Texas at Austin gerstl@ece.utexas.edu Lecture

More information

Model Based Synthesis of Embedded Software

Model Based Synthesis of Embedded Software Model Based Synthesis of Embedded Software Daniel D. Gajski, Samar Abdi, Ines Viskic Center for Embedded Computer Systems University of California, Irvine, CA 92617 {gajski, sabdi, iviskic}@uci.edu Abstract.

More information

EEM870 Embedded System and Experiment Lecture 4: SoC Design Flow and Tools

EEM870 Embedded System and Experiment Lecture 4: SoC Design Flow and Tools EEM870 Embedded System and Experiment Lecture 4: SoC Design Flow and Tools Wen-Yen Lin, Ph.D. Department of Electrical Engineering Chang Gung University Email: wylin@mail.cgu.edu.tw March 2013 Agenda Introduction

More information

MoCC - Models of Computation and Communication SystemC as an Heterogeneous System Specification Language

MoCC - Models of Computation and Communication SystemC as an Heterogeneous System Specification Language SystemC as an Heterogeneous System Specification Language Eugenio Villar Fernando Herrera University of Cantabria Challenges Massive concurrency Complexity PCB MPSoC with NoC Nanoelectronics Challenges

More information

Hardware-Software Codesign. 6. System Simulation

Hardware-Software Codesign. 6. System Simulation Hardware-Software Codesign 6. System Simulation Lothar Thiele 6-1 System Design specification system simulation (this lecture) (worst-case) perf. analysis (lectures 10-11) system synthesis estimation SW-compilation

More information

Case study: Performance-efficient Implementation of Robust Header Compression (ROHC) using an Application-Specific Processor

Case study: Performance-efficient Implementation of Robust Header Compression (ROHC) using an Application-Specific Processor Case study: Performance-efficient Implementation of Robust Header Compression (ROHC) using an Application-Specific Processor Gert Goossens, Patrick Verbist, Erik Brockmeyer, Luc De Coster Synopsys 1 Agenda

More information

Chapter 2 M3-SCoPE: Performance Modeling of Multi-Processor Embedded Systems for Fast Design Space Exploration

Chapter 2 M3-SCoPE: Performance Modeling of Multi-Processor Embedded Systems for Fast Design Space Exploration Chapter 2 M3-SCoPE: Performance Modeling of Multi-Processor Embedded Systems for Fast Design Space Exploration Hector Posadas, Sara Real, and Eugenio Villar Abstract Design Space Exploration for complex,

More information

ECE 587 Hardware/Software Co-Design Lecture 12 Verification II, System Modeling

ECE 587 Hardware/Software Co-Design Lecture 12 Verification II, System Modeling ECE 587 Hardware/Software Co-Design Spring 2018 1/20 ECE 587 Hardware/Software Co-Design Lecture 12 Verification II, System Modeling Professor Jia Wang Department of Electrical and Computer Engineering

More information

Optimizing Cache Coherent Subsystem Architecture for Heterogeneous Multicore SoCs

Optimizing Cache Coherent Subsystem Architecture for Heterogeneous Multicore SoCs Optimizing Cache Coherent Subsystem Architecture for Heterogeneous Multicore SoCs Niu Feng Technical Specialist, ARM Tech Symposia 2016 Agenda Introduction Challenges: Optimizing cache coherent subsystem

More information

Model-Based Design for effective HW/SW Co-Design Alexander Schreiber Senior Application Engineer MathWorks, Germany

Model-Based Design for effective HW/SW Co-Design Alexander Schreiber Senior Application Engineer MathWorks, Germany Model-Based Design for effective HW/SW Co-Design Alexander Schreiber Senior Application Engineer MathWorks, Germany 2013 The MathWorks, Inc. 1 Agenda Model-Based Design of embedded Systems Software Implementation

More information

Pilot: A Platform-based HW/SW Synthesis System

Pilot: A Platform-based HW/SW Synthesis System Pilot: A Platform-based HW/SW Synthesis System SOC Group, VLSI CAD Lab, UCLA Led by Jason Cong Zhong Chen, Yiping Fan, Xun Yang, Zhiru Zhang ICSOC Workshop, Beijing August 20, 2002 Outline Overview The

More information

Outline Review: Basic Pipeline Scheduling and Loop Unrolling Multiple Issue: Superscalar, VLIW. CPE 631 Session 19 Exploiting ILP with SW Approaches

Outline Review: Basic Pipeline Scheduling and Loop Unrolling Multiple Issue: Superscalar, VLIW. CPE 631 Session 19 Exploiting ILP with SW Approaches Session xploiting ILP with SW Approaches lectrical and Computer ngineering University of Alabama in Huntsville Outline Review: Basic Pipeline Scheduling and Loop Unrolling Multiple Issue: Superscalar,

More information

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Hardware Design Environments Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Outline Welcome to COE 405 Digital System Design Design Domains and Levels of Abstractions Synthesis

More information

Hardware-Software Codesign. 9. Worst Case Execution Time Analysis

Hardware-Software Codesign. 9. Worst Case Execution Time Analysis Hardware-Software Codesign 9. Worst Case Execution Time Analysis Lothar Thiele 9-1 System Design Specification System Synthesis Estimation SW-Compilation Intellectual Prop. Code Instruction Set HW-Synthesis

More information

Embedded Systems. 7. System Components

Embedded Systems. 7. System Components Embedded Systems 7. System Components Lothar Thiele 7-1 Contents of Course 1. Embedded Systems Introduction 2. Software Introduction 7. System Components 10. Models 3. Real-Time Models 4. Periodic/Aperiodic

More information

Previous Exam Questions System-on-a-Chip (SoC) Design

Previous Exam Questions System-on-a-Chip (SoC) Design This image cannot currently be displayed. EE382V Problem: System Analysis (20 Points) This is a simple single microprocessor core platform with a video coprocessor, which is configured to process 32 bytes

More information

NetSpeed ORION: A New Approach to Design On-chip Interconnects. August 26 th, 2013

NetSpeed ORION: A New Approach to Design On-chip Interconnects. August 26 th, 2013 NetSpeed ORION: A New Approach to Design On-chip Interconnects August 26 th, 2013 INTERCONNECTS BECOMING INCREASINGLY IMPORTANT Growing number of IP cores Average SoCs today have 100+ IPs Mixing and matching

More information

Please state clearly any assumptions you make in solving the following problems.

Please state clearly any assumptions you make in solving the following problems. Computer Architecture Homework 3 2012-2013 Please state clearly any assumptions you make in solving the following problems. 1 Processors Write a short report on at least five processors from at least three

More information

Making the Most of your MATLAB Models to Improve Verification

Making the Most of your MATLAB Models to Improve Verification Making the Most of your MATLAB Models to Improve Verification Verification Futures 2016 Graham Reith Industry Manager: Communications, Electronics & Semiconductors Graham.Reith@mathworks.co.uk 2015 The

More information

4 th European SystemC Users Group Meeting

4 th European SystemC Users Group Meeting 4 th European SystemC Users Group Meeting http://www-ti.informatik.uni-tuebingen.de/systemc Copenhagen October 5 th, 2001, 1100-1600 SystemC 2.0 Tutorial Thorsten Grötker R & D Manager Synopsys, Inc. Motivation

More information

University of Western Ontario, Computer Science Department CS3350B, Computer Architecture Quiz 1 (30 minutes) January 21, 2015

University of Western Ontario, Computer Science Department CS3350B, Computer Architecture Quiz 1 (30 minutes) January 21, 2015 University of Western Ontario, Computer Science Department CS3350B, Computer Architecture Quiz (30 minutes) January 2, 205 Student ID number: Student Last Name: Exercise. In the following list of performance

More information

CAD for VLSI 2 Pro ject - Superscalar Processor Implementation

CAD for VLSI 2 Pro ject - Superscalar Processor Implementation CAD for VLSI 2 Pro ject - Superscalar Processor Implementation 1 Superscalar Processor Ob jective: The main objective is to implement a superscalar pipelined processor using Verilog HDL. This project may

More information

Computer and Hardware Architecture I. Benny Thörnberg Associate Professor in Electronics

Computer and Hardware Architecture I. Benny Thörnberg Associate Professor in Electronics Computer and Hardware Architecture I Benny Thörnberg Associate Professor in Electronics Hardware architecture Computer architecture The functionality of a modern computer is so complex that no human can

More information

A Process Model suitable for defining and programming MpSoCs

A Process Model suitable for defining and programming MpSoCs A Process Model suitable for defining and programming MpSoCs MpSoC-Workshop at Rheinfels, 29-30.6.2010 F. Mayer-Lindenberg, TU Hamburg-Harburg 1. Motivation 2. The Process Model 3. Mapping to MpSoC 4.

More information

Assembling and Debugging VPs of Complex Cycle Accurate Multicore Systems. July 2009

Assembling and Debugging VPs of Complex Cycle Accurate Multicore Systems. July 2009 Assembling and Debugging VPs of Complex Cycle Accurate Multicore Systems July 2009 Model Requirements in a Virtual Platform Control initialization, breakpoints, etc Visibility PV registers, memories, profiling

More information

ECE 3055: Final Exam

ECE 3055: Final Exam ECE 3055: Final Exam Instructions: You have 2 hours and 50 minutes to complete this quiz. The quiz is closed book and closed notes, except for one 8.5 x 11 sheet. No calculators are allowed. Multiple Choice

More information

Unit 2: High-Level Synthesis

Unit 2: High-Level Synthesis Course contents Unit 2: High-Level Synthesis Hardware modeling Data flow Scheduling/allocation/assignment Reading Chapter 11 Unit 2 1 High-Level Synthesis (HLS) Hardware-description language (HDL) synthesis

More information

SPARK: A Parallelizing High-Level Synthesis Framework

SPARK: A Parallelizing High-Level Synthesis Framework SPARK: A Parallelizing High-Level Synthesis Framework Sumit Gupta Rajesh Gupta, Nikil Dutt, Alex Nicolau Center for Embedded Computer Systems University of California, Irvine and San Diego http://www.cecs.uci.edu/~spark

More information

Digital Systems Design. System on a Programmable Chip

Digital Systems Design. System on a Programmable Chip Digital Systems Design Introduction to System on a Programmable Chip Dr. D. J. Jackson Lecture 11-1 System on a Programmable Chip Generally involves utilization of a large FPGA Large number of logic elements

More information

Lecture 20: High-level Synthesis (1)

Lecture 20: High-level Synthesis (1) Lecture 20: High-level Synthesis (1) Slides courtesy of Deming Chen Some slides are from Prof. S. Levitan of U. of Pittsburgh Outline High-level synthesis introduction High-level synthesis operations Scheduling

More information

Instruction Pipelining Review

Instruction Pipelining Review Instruction Pipelining Review Instruction pipelining is CPU implementation technique where multiple operations on a number of instructions are overlapped. An instruction execution pipeline involves a number

More information

Technical Report: Communication SW Generation from TL to PCA Level

Technical Report: Communication SW Generation from TL to PCA Level Technical Report: Communication SW Generation from TL to PCA Level for MPSoC Ines Viskic, Samar Abdi and Daniel D. Gajski Center for Embedded Computer Systems University of California, Irvine, CA 92617

More information

Delhi Noida Bhopal Hyderabad Jaipur Lucknow Indore Pune Bhubaneswar Kolkata Patna Web: Ph:

Delhi Noida Bhopal Hyderabad Jaipur Lucknow Indore Pune Bhubaneswar Kolkata Patna Web:     Ph: Serial : 2BS_CS_C_Computer Orgnisation_248 Delhi Noida Bhopal Hyderabad Jaipur Lucknow Indore Pune Bhubaneswar Kolkata Patna Web: E-mail: info@madeeasy.in Ph: -452462 CLASS TEST 28- COMPUTER SCIENCE &

More information

Appendix SystemC Product Briefs. All product claims contained within are provided by the respective supplying company.

Appendix SystemC Product Briefs. All product claims contained within are provided by the respective supplying company. Appendix SystemC Product Briefs All product claims contained within are provided by the respective supplying company. Blue Pacific Computing BlueWave Blue Pacific s BlueWave is a simulation GUI, including

More information

Appendix C: Pipelining: Basic and Intermediate Concepts

Appendix C: Pipelining: Basic and Intermediate Concepts Appendix C: Pipelining: Basic and Intermediate Concepts Key ideas and simple pipeline (Section C.1) Hazards (Sections C.2 and C.3) Structural hazards Data hazards Control hazards Exceptions (Section C.4)

More information

Fast and Accurate Processor Models for Efficient MPSoC Design

Fast and Accurate Processor Models for Efficient MPSoC Design Fast and Accurate Processor Models for Efficient MPSoC Design Gunar Schirner University of California, Irvine Andreas Gerstlauer University of Texas at Austin and Rainer Dömer University of California,

More information

Modeling and Simulation of System-on. Platorms. Politecnico di Milano. Donatella Sciuto. Piazza Leonardo da Vinci 32, 20131, Milano

Modeling and Simulation of System-on. Platorms. Politecnico di Milano. Donatella Sciuto. Piazza Leonardo da Vinci 32, 20131, Milano Modeling and Simulation of System-on on-chip Platorms Donatella Sciuto 10/01/2007 Politecnico di Milano Dipartimento di Elettronica e Informazione Piazza Leonardo da Vinci 32, 20131, Milano Key SoC Market

More information

COSC4201. Prof. Mokhtar Aboelaze York University

COSC4201. Prof. Mokhtar Aboelaze York University COSC4201 Chapter 3 Multi Cycle Operations Prof. Mokhtar Aboelaze York University Based on Slides by Prof. L. Bhuyan (UCR) Prof. M. Shaaban (RTI) 1 Multicycle Operations More than one function unit, each

More information

Final Exam Fall 2007

Final Exam Fall 2007 ICS 233 - Computer Architecture & Assembly Language Final Exam Fall 2007 Wednesday, January 23, 2007 7:30 am 10:00 am Computer Engineering Department College of Computer Sciences & Engineering King Fahd

More information

Validation Strategies with pre-silicon platforms

Validation Strategies with pre-silicon platforms Validation Strategies with pre-silicon platforms Shantanu Ganguly Synopsys Inc April 10 2014 2014 Synopsys. All rights reserved. 1 Agenda Market Trends Emulation HW Considerations Emulation Scenarios Debug

More information

Hardware/Software Codesign

Hardware/Software Codesign Hardware/Software Codesign 3. Partitioning Marco Platzner Lothar Thiele by the authors 1 Overview A Model for System Synthesis The Partitioning Problem General Partitioning Methods HW/SW-Partitioning Methods

More information

COMPUTER ORGANIZATION AND DESIGN

COMPUTER ORGANIZATION AND DESIGN COMPUTER ORGANIZATION AND DESIGN 5 Edition th The Hardware/Software Interface Chapter 4 The Processor 4.1 Introduction Introduction CPU performance factors Instruction count CPI and Cycle time Determined

More information

Distributed Operation Layer

Distributed Operation Layer Distributed Operation Layer Iuliana Bacivarov, Wolfgang Haid, Kai Huang, and Lothar Thiele ETH Zürich Outline Distributed Operation Layer Overview Specification Application Architecture Mapping Design

More information

System Level Design Technologies and System Level Design Languages

System Level Design Technologies and System Level Design Languages System Level Design Technologies and System Level Design Languages SLD Study Group EDA-TC, JEITA http://eda.ics.es.osaka-u.ac.jp/jeita/eda/english/project/sld/index.html Problems to Be Solved 1. Functional

More information