Embedded System Design
|
|
- Spencer Strickland
- 5 years ago
- Views:
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
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 informationLecture 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 informationESE 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 informationSoC 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 informationDesign 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 informationCycle-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 informationAutomatic 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 informationThe 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 informationHardware/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 informationFast 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 informationSystem 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 informationEE382V: 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 informationSpecC 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 informationSystem 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 informationNGUYEN 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 informationCo-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 informationTransaction-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 informationHW/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 informationNetwork 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 informationCo-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 informationSystem-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 informationCommunication 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 informationEmbedded 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 informationIntroduction 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 informationAbstraction 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 informationEarly 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 informationAutomatic 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 informationPipelining. 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 informationSystem 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 informationMulti-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 informationEmbedded 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 informationThe 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 informationSystem-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 informationDesign 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 informationEE382V: 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 informationMOJTABA 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 informationSystem-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 informationCOMPUTER 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 informationAutomatic 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 informationCOE 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 informationEarly 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 informationChapter 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 informationCOMPUTER 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 informationDesign 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 informationSystem-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 informationSystem-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 informationNISC 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 informationCadence 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 informationVivado 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 informationDistributed 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 informationTim 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 informationSoftware 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 informationMIPS 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 informationLecture 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 informationChapter 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 informationHardware-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 informationEE382N: 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 informationModel 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 informationEEM870 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 informationMoCC - 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 informationHardware-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 informationCase 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 informationChapter 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 informationECE 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 informationOptimizing 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 informationModel-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 informationPilot: 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 informationOutline 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 informationHardware 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 informationHardware-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 informationEmbedded 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 informationPrevious 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 informationNetSpeed 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 informationPlease 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 informationMaking 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 information4 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 informationUniversity 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 informationCAD 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 informationComputer 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 informationA 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 informationAssembling 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 informationECE 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 informationUnit 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 informationSPARK: 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 informationDigital 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 informationLecture 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 informationInstruction 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 informationTechnical 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 informationDelhi 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 informationAppendix 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 informationAppendix 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 informationFast 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 informationModeling 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 informationCOSC4201. 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 informationFinal 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 informationValidation 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 informationHardware/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 informationCOMPUTER 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 informationDistributed 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 informationSystem 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