Hardware/Software Co-design

Size: px
Start display at page:

Download "Hardware/Software Co-design"

Transcription

1 Hardware/Software Co-design Zebo Peng, Department of Computer and Information Science (IDA) Linköping University Course page: 1 of 52

2 Lecture 1/2: Outline : an Introduction Course Content Schedule, Organization, etc. 2 of 52

3 : the Goal Computer aided hardware/software engineering of embedded systems Produce heterogeneous (hardware/software) systems which meet certain system-level objectives. Reduce system development time. 3 of 52

4 Topics of the Early Days Implementation independent specification and modeling Hardware/Software partitioning Concurrent design refinement of hardware and software components: coordination consistency control Cosimulation, Coverification 4 of 52

5 Traditional Design Flow Informal Specification, Requirements Software model Hardware model Scheduling, Software Generation Testing Hardware Synthesis Software blocks Communication Synthesis Hardware blocks Prototyping Product Fabrication 5 of 52

6 Hw/Sw Co-Design Flow System specification Hardw/Softw Partitioning Partitioned model Scheduling Part. model, Schedule Communication Synthesis Hardw./Softw. Cosimulation System Level Software model Hardw./Softw. Cosimulation Hardware model Software Generation Software blocks Hardw./Softw. Cosimulation Emulation, Prototyping Hardware Synthesis Hardware blocks Lower Levels Product Fabrication 6 of 52

7 A Typical Target Architecture - The Early Days µprocessor Hardware Accelerator Memory Specification: a simple program Main goal: software acceleration Architecture is simple Main issues Hardw./Softw. partitioning Communication Synthesis Cosimulation 7 of 52

8 Particularly Interesting: Reconfigurable Systems Programmable Hardware Circuits: They implement arbitrary combinational or sequential circuits and can be configured by loading a local memory that determines the interconnection among logic blocks. Reconfiguration can be applied an unlimited number of times. Main applications: Software acceleration Prototyping 8 of 52

9 Temporal&Spacial Partitioning at t 3 at t 4 at t 1 at t 2 µprocessor FPGA Accelerator temporally partitioned Memory 9 of 52

10 Reconfigurable Processors System on Chip with dynamically reconfigurable datapath C code On chip mem. CPU Reconfigurable datapath Profiling & Kernel extraction Kernels Hw/Sw partitioning Datapath synthesis C code 10 of 52

11 It Can Be more Complicated Applications are heterogeneous and complex; specifications as well. Not only! Specification: a simple program Main goal: acceleration Architecture is simple Architecture is very complex! 11 of 52

12 Distributed Embedded System (Automotive Application) Actuators Sensors Input/Output FPGA RAM TASKS CPU FLASH OS CACHE Network Interf. Gateway Gateway 12 of 52

13 System on Chip (Telecommunication Component) application program & I/O drivers set of tasks & real-time kernel RF A/D & D/A DSP core RAM RISC core RAM High-Speed DSP Blocks Control Logic Interface LAN 13 of 52

14 The Typical Embedded Application Applications are heterogeneous: hardware and software components are mixed; in both hardware and software:control dominated and dataflow components; digital and analog components interact. Specifications are multi-language/multi-model. Target architectures are complex (often distributed). 14 of 52

15 Design Constraints/Requirements Legacy hardware/software Time constraints Quality of service Fault tolerance Cost Power consumption Flexibility Time to Market of 52

16 System Design Flow Informal Specification, Constraints System Level Arch. Selection System architecture Estimation not OK Modeling System model Mapping Scheduling Mapped and scheduled model OK not OK Functional Formal Verification Formal Verification Softw. model Hardw. model Softw. Generation Hardw. Synthesis Lower Levels Softw. blocks not OK Testing OK Prototype Hardw. blocks Fabrication 16 of 52

17 System Design (cont d) Given a certain application, perform design space exploration and find an efficient implementation in terms of underlying architecture and the software running on it. Hw/Sw codesign design of embedded systems. 17 of 52

18 Some Issues Distributed Systems & System on chip Processor design & Reconfigurable systems Compiling (software synthesis) Low power IP-based design (reuse) System specification Formal methods Verification and testing Real-time Systems 18 of 52

19 Distributed Real-Time Systems Classical real-time research Covers only a limited part of the design flow Assumptions are often unrealistic Task models are too simple The underlying architecture is assumed fixed and is not considered as part of the global design/optimization problem; The same for the communication infrastructure. Emphasis on the worst case of 52

20 System on Chip Analog and digital on the same chip µprocessor Cache DMA Memory Interconnection Network Problems related to interconnections are becoming dominant. Timing closure. Bus-based architectures will be AD/DA Reconfigurable logic Peripheral replaced by networks on chip. Customized cashes and memories. Testability! of 52

21 Processor Design Partitioning across the horizontal line, as opposed to... see next slide Profiling, Analysis Software Hardware (ASIP) Instruction set A main issue: compilers and programming environments! 21 of 52

22 Processor Design (cont d) Partitioning across the vertical line Partitioning &mapping Software (µprocessor) Software (µprocessor) Software (µprocessor) Hardware (ASIC) Hardware (ASIC) 22 of 52

23 Parameterized Platforms Application development (on ref. chip) µprocessor Cache DMA Memory Bridge Detailed structural model System bus Peripheral bus Reconfigurable logic Peripheral Parameter optimization (sim. & estim.) New System generation Product 23 of 52

24 Software Synthesis What makes software synthesis for embedded systems different? The need of highly optimized code in order to make use of the particular features of the underlying architecture. Large compilation times can be tolerated. Time constraints have to be considered during compilation. Scheduling aspects: at instruction level; at task level. The need of performant easy-to-use retargetable compilers. 24 of 52

25 Software Synthesis (cont d) What makes it a Hardware/Software problem? The hardware support has to be considered during software generation. Efficient retargetable compilers are important tools for concurrent development of software and of the underlying hardware (for example ASIPs). Hardware Specification is an important aspect of retargetable compiling. 25 of 52

26 Low Power order of magnitude order of magnitude energy consumed high med. low GP proc. ASIP FPGA ASIC Trade-offs: flexibility, power, performance, time to market. There is an obvious trend towards software implementation. Because of power/performance, part of the functionality is implemented with ASIC/FPGA/ASIP. This makes the difference! low med. high flexibility 26 of 52

27 Low Power (cont d) Power optimization at circuit and gate level Power optimization at system level Dynamic power management - shutdown of idle resources - variable supply voltage Mapping and scheduling with power optimization Code generation for low power Customized cache memory (to reduce memory access and bus traffic) Information encoding 27 of 52

28 Reuse - IP Based Design IP based design is the process of composing a new system design by reusing existing components. Problem: How to specify an existing core for the reuse library? functionality timing interface properties power consumption,... Some essential design issues in this context: specification, simulation, estimation, exploration integration (interfaces) verification, testing 28 of 52

29 System requirements Hardware model Preliminary specification Executable model Functional test (refine model) DESIGN SPACE EXPLORATION Architecture & mapping Define interfaces Hardw./Softw. Cosimulation Arch. selection Partitioning Scheduling Estimation Component library (hardware/software cores) Software model Specify -new blocks- Instantiate -lib. blocks- Develop -new modules- Instantiate -lib. modules- Block level synthesis& verification Hardware blocks Hardw./Softw. Cosimulation Emulation& Prototyping Product Fabrication Block level synthesis& verification Software modules 29 of 52

30 Reuse - IP Based Design (cont d) Interface (Communication) - Based Design Interfaces Design Behaviours 30 of 52

31 Specification/Modeling/Verification Embedded systems are inherently heterogeneous Specification imperative FSMs dataflow discrete event Refinement partitioning compiling softw. synth HLS LS Lower level of abstraction SW processor model SW processor model ASIC glue logic 31 of 52

32 Specification/Modeling/Verification (cont d) A formal model (possibly more) has to be part of a design methodology. Allows unambiguous specification and analysis of the design. The effect of transformations on the design is well-defined. It is possible to formally reason about correctness. Complexity! 32 of 52

33 Specification/Modeling/Verification (cont d) Co-design Finite State Machines (CFSM) is a realistic FSM-based model for Hardware/Software systems [Balarin et al, Kluwer 1997]: One CFSM is an extended FSM; a system is described as a network of communicating CFSMs. The CFSM model is locally synchronous and globally asynchronous. Ptolemy is an environment which accepts specifications of complex systems which are designed heterogeneously [Buck et al, Int. Jrn. of Comp. Sim. 94]: Different parts of the system can be specified according to different computation models: data-flow, finite-state, communicating sequential processes, event-driven, etc. 33 of 52

34 Specification Languages A single specification language can be used for the whole system; does not necessarily mean that we have a homogeneous specification: Several languages can be used for system specification specific languages for the hardware and software part; different languages can be used, depending on the selected model of computation or because of other reasons. How to perform (co)simulation? 34 of 52

35 Specification Languages (cont d) General purpose languages (Ada, C, C++, SystemC, Java, UML, Matlab) Hardware description languages (VHDL, Verilog) Synchronous languages (FSM based): Esterel, Lustre, Signal, StateCharts. Networks of communicating processes: CSP, Lotos, SDL. Data-flow languages: Silage Functional programming languages: Haskell, SML. Algebraic notations: VDM, Z, B. Will we get the System Specification Language? Will multi-language specification become (remain) the standard? 35 of 52

36 Verification and Testing System specification Hardware synthesis System-level synthesis model_h Ref_step_h 1 model_h 1 Ref_step_h m model_h m Ref_step 1 model 1 Ref_step 2 model 2 Ref_step n system architecture model_s Ref_step_s 1 model_s 1 Ref_step_s k model_s k Software synthesis DESIGN VALIDATION formal verification & simulation (looks for errors in specification&design) Fabrication PRODUCT PRODUCT TESTING looks for: design errors fabrication defects physical failures 36 of 52

37 Verification and Testing Informal Specification, Constraints System Level Arch. Selection System architecture Estimation not OK Modeling System model Mapping Scheduling Mapped and scheduled model OK not OK Functional Formal Verification Formal Verification Softw. model Hardw. model Softw. Generation Hardw. Synthesis Lower Levels Softw. blocks not OK Testing OK Prototype Hardw. blocks 37 of 52

38 Final Remarks The real issue here is design of embedded systems Start from the specification at high abstraction level Consider complex trade-offs Concentrate on early design steps Hardware architecture and software are jointly developed Keep a global view and master heterogeneity Important progress has been achieved on certain particular aspects. Some progress towards a methodology and supporting tools. 38 of 52

39 Lecture 1&2 of Embedded Systems: Introduction and Course Organization Difficulties with the design of heterogeneous Hw/Sw systems Requirements of modern embedded systems Embedded system design flow Research issues Course topics 39 of 52

40 Lecture 3&4 System Modelling. Models of Computation and System Specification Languages Models of Computation - Basic models, specific features, comparison - Multimodel specification Specification Languages - Spec. Languages and their relation to models of computation - Multilanguage specification and Cosimulation Formal verification - Formal verification approaches - Model checking 40 of 52

41 Lecture 3&4 Informal Specification, Constraints System Level Arch. Selection System architecture Estimation not OK Modeling System model Mapping Scheduling Mapped and scheduled model OK not OK Functional Formal Verification Formal Verification Softw. model Hardw. model Softw. Generation Hardw. Synthesis Lower Levels Softw. blocks not OK Testing OK Prototype Hardw. blocks 41 of 52

42 Lecture 5&6 Processors and Architectures for Embedded Systems General Purpose vs. Application Specific Processors - Instruction set, Memory, Interconnect and control - DSPs, Microcontrollers, VLIW processors - Design Challenges Core (IP) - based design - Reusable components - Communication-based design - Platform-based design Reconfigurable Systems - Hardware/Software partitioning with reconfigurable processors - Dynamically reconfigurable systems 42 of 52

43 Lecture 5&6 Informal Specification, Constraints System Level Arch. Selection System architecture Estimation not OK Modeling System model Mapping Scheduling Mapped and scheduled model OK not OK Functional Formal Verification Formal Verification Softw. model Hardw. model Softw. Generation Hardw. Synthesis Lower Levels Softw. blocks not OK Testing OK Prototype Hardw. blocks 43 of 52

44 Lecture 7&8 Code Generation and Retargetable Compilers Compiler Generators and Retargetable Compilers - Front end processing - Back end processing - Processor modeling Specific issues related to embedded processor architectures - DSP processors - SIMD instructions - VLIW processors 44 of 52

45 Lecture 7&8 Informal Specification, Constraints System Level Arch. Selection System architecture Estimation not OK Modeling System model Mapping Scheduling Mapped and scheduled model OK not OK Functional Formal Verification Formal Verification Softw. model Hardw. model Softw. Generation Hardw. Synthesis Lower Levels Softw. blocks not OK Testing OK Prototype Hardw. blocks 45 of 52

46 Lecture 9 Software Performance Estimation by Static Analysis Program path analysis Microarchitecture modeling - Cache memory - Pipeline architecture - Branch prediction 46 of 52

47 Lecture 9 Informal Specification, Constraints System Level Arch. Selection System architecture Estimation not OK Modeling System model Mapping Scheduling Mapped and scheduled model OK not OK Functional Formal Verification Formal Verification Softw. model Hardw. model Softw. Generation Hardw. Synthesis Lower Levels Softw. blocks not OK Testing OK Prototype Hardw. blocks 47 of 52

48 Lecture 10&11 System-Level Power/Energy Optimization Main issues in system-level power/energy optimization - System modeling - Hardware and software implementation - Dynamic power management - Computing, memory, communication Dynamic power management - Modeling issues - Predictive, adaptive, and stochastic techniques Power estimation and low power software generation Low power/energy scheduling for real-time systems - Variable voltage systems - Static and dynamic approaches - Energy efficient priority-based scheduling 48 of 52

49 Lecture 10&11 Informal Specification, Constraints System Level Arch. Selection System architecture Estimation not OK Modeling System model Mapping Scheduling Mapped and scheduled model OK not OK Functional Formal Verification Formal Verification Softw. model Hardw. model Softw. Generation Hardw. Synthesis Lower Levels Softw. blocks not OK Testing OK Prototype Hardw. blocks 49 of 52

50 Lecture 12&13 Environments The Cosyma System The Cosmos Environment The SpecSyn Environment Synthesis of Distributed Embedded Systems The POLIS Environment The CoWare Environment 50 of 52

51 Lecture X (X 14) Guest Lecturer from Ericsson 51 of 52

52 Requirements for the 4 Points Participation at the lectures Presentation at one of the lectures Reading of the mandatory literature indicated for each topic and preparation of an one page position report to be handed in before (at) the lecture. 52 of 52

System Design and Methodology/ Embedded Systems Design (Modeling and Design of Embedded Systems)

System Design and Methodology/ Embedded Systems Design (Modeling and Design of Embedded Systems) Design&Methodologies Fö 1&2-1 Design&Methodologies Fö 1&2-2 Course Information Design and Methodology/ Embedded s Design (Modeling and Design of Embedded s) TDTS07/TDDI08 Web page: http://www.ida.liu.se/~tdts07

More information

Codesign Framework. Parts of this lecture are borrowed from lectures of Johan Lilius of TUCS and ASV/LL of UC Berkeley available in their web.

Codesign Framework. Parts of this lecture are borrowed from lectures of Johan Lilius of TUCS and ASV/LL of UC Berkeley available in their web. Codesign Framework Parts of this lecture are borrowed from lectures of Johan Lilius of TUCS and ASV/LL of UC Berkeley available in their web. Embedded Processor Types General Purpose Expensive, requires

More information

Embedded Systems. Information. TDDD93 Large-Scale Distributed Systems and Networks

Embedded Systems. Information. TDDD93 Large-Scale Distributed Systems and Networks TDDD93 Fö Embedded Systems - TDDD93 Fö Embedded Systems - 2 Information TDDD93 Large-Scale Distributed Systems and Networks Lectures on Lecture notes: available from the course page, latest 24 hours before

More information

Hardware Software Codesign of Embedded Systems

Hardware Software Codesign of Embedded Systems Hardware Software Codesign of Embedded Systems Rabi Mahapatra Texas A&M University Today s topics Course Organization Introduction to HS-CODES Codesign Motivation Some Issues on Codesign of Embedded System

More information

Hardware-Software Codesign. 1. Introduction

Hardware-Software Codesign. 1. Introduction Hardware-Software Codesign 1. Introduction Lothar Thiele 1-1 Contents What is an Embedded System? Levels of Abstraction in Electronic System Design Typical Design Flow of Hardware-Software Systems 1-2

More information

System Synthesis of Digital Systems

System Synthesis of Digital Systems System Synthesis Introduction 1 System Synthesis of Digital Systems Petru Eles, Zebo Peng System Synthesis Introduction 2 Literature: Introduction P. Eles, K. Kuchcinski and Z. Peng "System Synthesis with

More information

Hardware Software Codesign of Embedded System

Hardware Software Codesign of Embedded System Hardware Software Codesign of Embedded System CPSC489-501 Rabi Mahapatra Mahapatra - Texas A&M - Fall 00 1 Today s topics Course Organization Introduction to HS-CODES Codesign Motivation Some Issues on

More information

HW/SW Co-design. Design of Embedded Systems Jaap Hofstede Version 3, September 1999

HW/SW Co-design. Design of Embedded Systems Jaap Hofstede Version 3, September 1999 HW/SW Co-design Design of Embedded Systems Jaap Hofstede Version 3, September 1999 Embedded system Embedded Systems is a computer system (combination of hardware and software) is part of a larger system

More information

COMPLEX EMBEDDED SYSTEMS

COMPLEX EMBEDDED SYSTEMS COMPLEX EMBEDDED SYSTEMS Embedded System Design and Architectures Summer Semester 2012 System and Software Engineering Prof. Dr.-Ing. Armin Zimmermann Contents System Design Phases Architecture of Embedded

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

MULTILANGUAGE SPECIFICATION FOR SYSTEM DESIGN AND CODESIGN

MULTILANGUAGE SPECIFICATION FOR SYSTEM DESIGN AND CODESIGN MULTILANGUAGE SPECIFICATION FOR SYSTEM DESIGN AND CODESIGN A.A. JERRAYA, M. ROMDHANI, PH. LE MARREC, F. HESSEL, P. COSTE, C. VALDERRAMA, G.F. MARCHIORO, J.M.DAVEAU, N.-E. ZERGAINOH TIMA Laboratory 46 avenue

More information

Hardware Description Languages & System Description Languages Properties

Hardware Description Languages & System Description Languages Properties Hardware Description Languages & System Description Languages Properties There is a need for executable specification language that is capable of capturing the functionality of the system in a machine-readable

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

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

Hardware Description Languages & System Description Languages Properties

Hardware Description Languages & System Description Languages Properties Hardware Description Languages & System Description Languages Properties There is a need for executable specification language that is capable of capturing the functionality of the system in a machine-readable

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

Hardware/Software Codesign Hardware/Software Codesign SS 2016 Prof. Dr. Christian Plessl High-Performance IT Systems group University of Paderborn Version 2.2.0 2016-04-08 how to design a "digital TV set top box" Motivating Example

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

ECE 448 Lecture 15. Overview of Embedded SoC Systems

ECE 448 Lecture 15. Overview of Embedded SoC Systems ECE 448 Lecture 15 Overview of Embedded SoC Systems ECE 448 FPGA and ASIC Design with VHDL George Mason University Required Reading P. Chu, FPGA Prototyping by VHDL Examples Chapter 8, Overview of Embedded

More information

Hardware-Software Codesign. 1. Introduction

Hardware-Software Codesign. 1. Introduction Hardware-Software Codesign 1. Introduction Lothar Thiele 1-1 Contents What is an Embedded System? Levels of Abstraction in Electronic System Design Typical Design Flow of Hardware-Software Systems 1-2

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

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

Ptolemy Seamlessly Supports Heterogeneous Design 5 of 5

Ptolemy Seamlessly Supports Heterogeneous Design 5 of 5 In summary, the key idea in the Ptolemy project is to mix models of computation, rather than trying to develop one, all-encompassing model. The rationale is that specialized models of computation are (1)

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

EEL 5722C Field-Programmable Gate Array Design

EEL 5722C Field-Programmable Gate Array Design EEL 5722C Field-Programmable Gate Array Design Lecture 19: Hardware-Software Co-Simulation* Prof. Mingjie Lin * Rabi Mahapatra, CpSc489 1 How to cosimulate? How to simulate hardware components of a mixed

More information

Part 2: Principles for a System-Level Design Methodology

Part 2: Principles for a System-Level Design Methodology Part 2: Principles for a System-Level Design Methodology Separation of Concerns: Function versus Architecture Platform-based Design 1 Design Effort vs. System Design Value Function Level of Abstraction

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

Introduction to Embedded Systems

Introduction to Embedded Systems Introduction to Embedded Systems Outline Embedded systems overview What is embedded system Characteristics Elements of embedded system Trends in embedded system Design cycle 2 Computing Systems Most of

More information

Long Term Trends for Embedded System Design

Long Term Trends for Embedded System Design Long Term Trends for Embedded System Design Ahmed Amine JERRAYA Laboratoire TIMA, 46 Avenue Félix Viallet, 38031 Grenoble CEDEX, France Email: Ahmed.Jerraya@imag.fr Abstract. An embedded system is an application

More information

Hardware Design and Simulation for Verification

Hardware Design and Simulation for Verification Hardware Design and Simulation for Verification by N. Bombieri, F. Fummi, and G. Pravadelli Universit`a di Verona, Italy (in M. Bernardo and A. Cimatti Eds., Formal Methods for Hardware Verification, Lecture

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

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

Embedded Systems: Hardware Components (part I) Todor Stefanov

Embedded Systems: Hardware Components (part I) Todor Stefanov Embedded Systems: Hardware Components (part I) Todor Stefanov Leiden Embedded Research Center Leiden Institute of Advanced Computer Science Leiden University, The Netherlands Outline Generic Embedded System

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

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

SYSTEMS ON CHIP (SOC) FOR EMBEDDED APPLICATIONS

SYSTEMS ON CHIP (SOC) FOR EMBEDDED APPLICATIONS SYSTEMS ON CHIP (SOC) FOR EMBEDDED APPLICATIONS Embedded System System Set of components needed to perform a function Hardware + software +. Embedded Main function not computing Usually not autonomous

More information

Challenges. Shift to Reuse Strategy Higher Level of Abstractions Software!!!

Challenges. Shift to Reuse Strategy Higher Level of Abstractions Software!!! Challenges Shift to Reuse Strategy Higher Level of Abstractions Software!!! 1 PERCENT OF TRANSISTORS WITHIN EMBEDDED IP (EXCLUDES MEMORY) 100 Random Logic Transistors Transistors (%) Transistors Within

More information

Hardware/Software Co-Design/Co-Verification

Hardware/Software Co-Design/Co-Verification Hardware/Software Co-Design/Co-Verification Sungho Kang Yonsei University Outline Introduction Co-design Methodology Partitioning Scheduling Co-Simulation Systems Timed Co-simulation Multimedia Examples

More information

Design Space Exploration of Systems-on-Chip: DIPLODOCUS

Design Space Exploration of Systems-on-Chip: DIPLODOCUS Design Space Exploration of Systems-on-Chip: DIPLODOCUS Ludovic Apvrille Telecom ParisTech ludovic.apvrille@telecom-paristech.fr May, 2011 Outline Context Design Space Exploration Ludovic Apvrille DIPLODOCUS

More information

Hardware Modeling using Verilog Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Hardware Modeling using Verilog Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Hardware Modeling using Verilog Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture 01 Introduction Welcome to the course on Hardware

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

Hardware Software Codesign of SOC 晶片系統之軟硬體共同設計

Hardware Software Codesign of SOC 晶片系統之軟硬體共同設計 Hardware Software Codesign of SOC 晶片系統之軟硬體共同設計 李宗演國立台北科技大學電子工程系 tylee@ntut.edu.tw http://www.ntut.edu.tw/~tylee/ 1 Contents Introduction SoC Models, Architectures, Languages SoC HW-SW Partitioning Function-Architecture

More information

Introduction. Definition. What is an embedded system? What are embedded systems? Challenges in embedded computing system design. Design methodologies.

Introduction. Definition. What is an embedded system? What are embedded systems? Challenges in embedded computing system design. Design methodologies. Introduction What are embedded systems? Challenges in embedded computing system design. Design methodologies. What is an embedded system? Communication Avionics Automobile Consumer Electronics Office Equipment

More information

Embedded Systems: Hardware Components (part II) Todor Stefanov

Embedded Systems: Hardware Components (part II) Todor Stefanov Embedded Systems: Hardware Components (part II) Todor Stefanov Leiden Embedded Research Center, Leiden Institute of Advanced Computer Science Leiden University, The Netherlands Outline Generic Embedded

More information

Design and Synthesis for Test

Design and Synthesis for Test TDTS 80 Lecture 6 Design and Synthesis for Test Zebo Peng Embedded Systems Laboratory IDA, Linköping University Testing and its Current Practice To meet user s quality requirements. Testing aims at the

More information

Controller Synthesis for Hardware Accelerator Design

Controller Synthesis for Hardware Accelerator Design ler Synthesis for Hardware Accelerator Design Jiang, Hongtu; Öwall, Viktor 2002 Link to publication Citation for published version (APA): Jiang, H., & Öwall, V. (2002). ler Synthesis for Hardware Accelerator

More information

Bibliography. Measuring Software Reuse, Jeffrey S. Poulin, Addison-Wesley, Practical Software Reuse, Donald J. Reifer, Wiley, 1997.

Bibliography. Measuring Software Reuse, Jeffrey S. Poulin, Addison-Wesley, Practical Software Reuse, Donald J. Reifer, Wiley, 1997. Bibliography Books on software reuse: 1. 2. Measuring Software Reuse, Jeffrey S. Poulin, Addison-Wesley, 1997. Practical Software Reuse, Donald J. Reifer, Wiley, 1997. Formal specification and verification:

More information

Design of Embedded Systems

Design of Embedded Systems Design of Embedded Systems An Introduction http://www.cs.lth.se/edan15 Krzysztof Kuchcinski Krzysztof.Kuchcinski@cs.lth.se Department of Computer Science Lund Institute of Technology Sweden February 24,

More information

Platform-based Design

Platform-based Design Platform-based Design The New System Design Paradigm IEEE1394 Software Content CPU Core DSP Core Glue Logic Memory Hardware BlueTooth I/O Block-Based Design Memory Orthogonalization of concerns: the separation

More information

Design methodology for multi processor systems design on regular platforms

Design methodology for multi processor systems design on regular platforms Design methodology for multi processor systems design on regular platforms Ph.D in Electronics, Computer Science and Telecommunications Ph.D Student: Davide Rossi Ph.D Tutor: Prof. Roberto Guerrieri Outline

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

Software Driven Verification at SoC Level. Perspec System Verifier Overview

Software Driven Verification at SoC Level. Perspec System Verifier Overview Software Driven Verification at SoC Level Perspec System Verifier Overview June 2015 IP to SoC hardware/software integration and verification flows Cadence methodology and focus Applications (Basic to

More information

An Overview of the Ptolemy Project. Organizational

An Overview of the Ptolemy Project. Organizational An Overview of the Ptolemy Project Edward A. Lee Professor and Principal Investigator UC Berkeley Dept. of EECS Copyright 1997, The Regents of the University of California All rights reserved. Organizational

More information

System-Level Modeling Environment: MLDesigner

System-Level Modeling Environment: MLDesigner System-Level Modeling Environment: MLDesigner Ankur Agarwal 1, Cyril-Daniel Iskander 2, Ravi Shankar 1, Georgiana Hamza-Lup 1 ankur@cse.fau.edu, cyril_iskander@hotmail.com, ravi@cse.fau.edu, ghamzal@fau.edu

More information

Designing and Prototyping Digital Systems on SoC FPGA The MathWorks, Inc. 1

Designing and Prototyping Digital Systems on SoC FPGA The MathWorks, Inc. 1 Designing and Prototyping Digital Systems on SoC FPGA Hitu Sharma Application Engineer Vinod Thomas Sr. Training Engineer 2015 The MathWorks, Inc. 1 What is an SoC FPGA? A typical SoC consists of- A microcontroller,

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

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

Interface-Based Design Introduction

Interface-Based Design Introduction Interface-Based Design Introduction A. Richard Newton Department of Electrical Engineering and Computer Sciences University of California at Berkeley Integrated CMOS Radio Dedicated Logic and Memory uc

More information

Contemporary Design. Traditional Hardware Design. Traditional Hardware Design. HDL Based Hardware Design User Inputs. Requirements.

Contemporary Design. Traditional Hardware Design. Traditional Hardware Design. HDL Based Hardware Design User Inputs. Requirements. Contemporary Design We have been talking about design process Let s now take next steps into examining in some detail Increasing complexities of contemporary systems Demand the use of increasingly powerful

More information

Hardware/Software Codesign Overview

Hardware/Software Codesign Overview Hardware/Software Codesign Overview Education & Facilitation Program Module 14 Version 3.00 All rights reserved. This information is copyrighted by the SCRA, through its Advanced Technology Institute,

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

Digital Design Methodology (Revisited) Design Methodology: Big Picture

Digital Design Methodology (Revisited) Design Methodology: Big Picture Digital Design Methodology (Revisited) Design Methodology Design Specification Verification Synthesis Technology Options Full Custom VLSI Standard Cell ASIC FPGA CS 150 Fall 2005 - Lec #25 Design Methodology

More information

Digital Design Methodology

Digital Design Methodology Digital Design Methodology Prof. Soo-Ik Chae Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008, John Wiley 1-1 Digital Design Methodology (Added) Design Methodology Design Specification

More information

Code Generation for QEMU-SystemC Cosimulation from SysML

Code Generation for QEMU-SystemC Cosimulation from SysML Code Generation for QEMU- Cosimulation from SysML Da He, Fabian Mischkalla, Wolfgang Mueller University of Paderborn/C-Lab, Fuerstenallee 11, 33102 Paderborn, Germany {dahe, fabianm, wolfgang}@c-lab.de

More information

Programming in the Brave New World of Systems-on-a-chip

Programming in the Brave New World of Systems-on-a-chip Programming in the Brave New World of Systems-on-a-chip Arvind Computer Science & Artificial Intelligence Lab Massachusetts Institute of Technology The 25th International Workshop on Languages and Compilers

More information

Digital Hardware-/Softwaresystems Specification

Digital Hardware-/Softwaresystems Specification Digital Hardware-/Softwaresystems Specification Seminar Architecture & Design Methods for Embedded Systems Summer Term 2006 University of Stuttgart Faculty of Computer Science, Electrical Engineering and

More information

1. a) Draw the block diagram of DSP systems and write advantages & disadvantages? 6M b) Find the convolution of given sequences:

1. a) Draw the block diagram of DSP systems and write advantages & disadvantages? 6M b) Find the convolution of given sequences: Code : 1PB323 DSP PROCESSORS AND ARCHITECTURES ( Common to Embedded Systems & VLSISD ) 1. a) Draw the block diagram of DSP systems and write advantages & disadvantages? b) Find the convolution of given

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

Overview of SOC Architecture design

Overview of SOC Architecture design Computer Architectures Overview of SOC Architecture design Tien-Fu Chen National Chung Cheng Univ. SOC - 0 SOC design Issues SOC architecture Reconfigurable System-level Programmable processors Low-level

More information

Contents Part I Basic Concepts The Nature of Hardware and Software Data Flow Modeling and Transformation

Contents Part I Basic Concepts The Nature of Hardware and Software Data Flow Modeling and Transformation Contents Part I Basic Concepts 1 The Nature of Hardware and Software... 3 1.1 Introducing Hardware/Software Codesign... 3 1.1.1 Hardware... 3 1.1.2 Software... 5 1.1.3 Hardware and Software... 7 1.1.4

More information

Design Issues in Hardware/Software Co-Design

Design Issues in Hardware/Software Co-Design Volume-2, Issue-1, January-February, 2014, pp. 01-05, IASTER 2013 www.iaster.com, Online: 2347-6109, Print: 2348-0017 ABSTRACT Design Issues in Hardware/Software Co-Design R. Ganesh Sr. Asst. Professor,

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

Embedded System Design

Embedded System Design 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

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

Design Space Exploration Using Parameterized Cores

Design Space Exploration Using Parameterized Cores RESEARCH CENTRE FOR INTEGRATED MICROSYSTEMS UNIVERSITY OF WINDSOR Design Space Exploration Using Parameterized Cores Ian D. L. Anderson M.A.Sc. Candidate March 31, 2006 Supervisor: Dr. M. Khalid 1 OUTLINE

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

Verilog. What is Verilog? VHDL vs. Verilog. Hardware description language: Two major languages. Many EDA tools support HDL-based design

Verilog. What is Verilog? VHDL vs. Verilog. Hardware description language: Two major languages. Many EDA tools support HDL-based design Verilog What is Verilog? Hardware description language: Are used to describe digital system in text form Used for modeling, simulation, design Two major languages Verilog (IEEE 1364), latest version is

More information

System on Chip (SoC) Design

System on Chip (SoC) Design System on Chip (SoC) Design Moore s Law and Technology Scaling the performance of an IC, including the number components on it, doubles every 18-24 months with the same chip price... - Gordon Moore - 1960

More information

A Unified HW/SW Interface Model to Remove Discontinuities between HW and SW Design

A Unified HW/SW Interface Model to Remove Discontinuities between HW and SW Design A Unified HW/SW Interface Model to Remove Discontinuities between HW and SW Design Ahmed Amine JERRAYA EPFL November 2005 TIMA Laboratory 46 Avenue Felix Viallet 38031 Grenoble CEDEX, France Email: Ahmed.Jerraya@imag.fr

More information

ECE 111 ECE 111. Advanced Digital Design. Advanced Digital Design Winter, Sujit Dey. Sujit Dey. ECE Department UC San Diego

ECE 111 ECE 111. Advanced Digital Design. Advanced Digital Design Winter, Sujit Dey. Sujit Dey. ECE Department UC San Diego Advanced Digital Winter, 2009 ECE Department UC San Diego dey@ece.ucsd.edu http://esdat.ucsd.edu Winter 2009 Advanced Digital Objective: of a hardware-software embedded system using advanced design methodologies

More information

Outline. SLD challenges Platform Based Design (PBD) Leveraging state of the art CAD Metropolis. Case study: Wireless Sensor Network

Outline. SLD challenges Platform Based Design (PBD) Leveraging state of the art CAD Metropolis. Case study: Wireless Sensor Network By Alberto Puggelli Outline SLD challenges Platform Based Design (PBD) Case study: Wireless Sensor Network Leveraging state of the art CAD Metropolis Case study: JPEG Encoder SLD Challenge Establish a

More information

Prof. Steven Nowick. Chair, Computer Engineering Program

Prof. Steven Nowick. Chair, Computer Engineering Program Prof. Steven Nowick (nowick@cs.columbia.edu) Chair, Computer Engineering Program Overview of 4000-/6000-Level Comp Eng Courses Selective survey of some key computer engineering courses Focus: COMS (i.e.

More information

Hardware-Software Codesign

Hardware-Software Codesign Hardware-Software Codesign 8. Performance Estimation Lothar Thiele 8-1 System Design specification system synthesis estimation -compilation intellectual prop. code instruction set HW-synthesis intellectual

More information

Computer Hardware Requirements for Real-Time Applications

Computer Hardware Requirements for Real-Time Applications Lecture (4) Computer Hardware Requirements for Real-Time Applications Prof. Kasim M. Al-Aubidy Computer Engineering Department Philadelphia University Real-Time Systems, Prof. Kasim Al-Aubidy 1 Lecture

More information

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

01 1 Electronic Design Automation (EDA) the correctness, testability, and compliance of a design is checked by software

01 1 Electronic Design Automation (EDA) the correctness, testability, and compliance of a design is checked by software 01 1 Electronic Design Automation (EDA) 01 1 Electronic Design Automation (EDA): (Short Definition) The use of software to automate electronic (digital and analog) design. Electronic Design Automation

More information

RTL Coding General Concepts

RTL Coding General Concepts RTL Coding General Concepts Typical Digital System 2 Components of a Digital System Printed circuit board (PCB) Embedded d software microprocessor microcontroller digital signal processor (DSP) ASIC Programmable

More information

Specification and Validation for Heterogeneous MP-SoCs

Specification and Validation for Heterogeneous MP-SoCs Specification and Validation for Heterogeneous MP-SoCs Gabriela Nicolescu Ecole Polytechnique de Montréal Tel : (514) 340 4711 ext 5434 Fax: (514) 340 3240 Email : gabriela.nicolescu@polymtl.ca Heterogeneous

More information

Lecture 7: Introduction to Co-synthesis Algorithms

Lecture 7: Introduction to Co-synthesis Algorithms Design & Co-design of Embedded Systems Lecture 7: Introduction to Co-synthesis Algorithms Sharif University of Technology Computer Engineering Dept. Winter-Spring 2008 Mehdi Modarressi Topics for today

More information

Introduction to Formal Methods

Introduction to Formal Methods 2008 Spring Software Special Development 1 Introduction to Formal Methods Part I : Formal Specification i JUNBEOM YOO jbyoo@knokuk.ac.kr Reference AS Specifier s Introduction to Formal lmethods Jeannette

More information

ECL: A SPECIFICATION ENVIRONMENT FOR SYSTEM-LEVEL DESIGN

ECL: A SPECIFICATION ENVIRONMENT FOR SYSTEM-LEVEL DESIGN / ECL: A SPECIFICATION ENVIRONMENT FOR SYSTEM-LEVEL DESIGN Gerard Berry Ed Harcourt Luciano Lavagno Ellen Sentovich Abstract We propose a new specification environment for system-level design called ECL.

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

Documentation Programmer-Oriented

Documentation Programmer-Oriented Documentation Programmer-Oriented Volume 3 Programmer s Manual software organization writing stars infrastructure data types Tcl/Tk domains code generation Volume 4 Kernel Manual detailed documentation

More information

Verification Futures The next three years. February 2015 Nick Heaton, Distinguished Engineer

Verification Futures The next three years. February 2015 Nick Heaton, Distinguished Engineer Verification Futures The next three years February 2015 Nick Heaton, Distinguished Engineer Let s rewind to November 2011 2 2014 Cadence Design Systems, Inc. All rights reserved. November 2011 SoC Integration

More information

Park Sung Chul. AE MentorGraphics Korea

Park Sung Chul. AE MentorGraphics Korea PGA Design rom Concept to Silicon Park Sung Chul AE MentorGraphics Korea The Challenge of Complex Chip Design ASIC Complex Chip Design ASIC or FPGA? N FPGA Design FPGA Embedded Core? Y FPSoC Design Considerations

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

Instruction Encoding Synthesis For Architecture Exploration

Instruction Encoding Synthesis For Architecture Exploration Instruction Encoding Synthesis For Architecture Exploration "Compiler Optimizations for Code Density of Variable Length Instructions", "Heuristics for Greedy Transport Triggered Architecture Interconnect

More information

Embedded Systems CS - ES

Embedded Systems CS - ES Embedded Systems - 1 - Synchronous dataflow REVIEW Multiple tokens consumed and produced per firing Synchronous dataflow model takes advantage of this Each edge labeled with number of tokens consumed/produced

More information

Hardware in the Loop Functional Verification Methodology

Hardware in the Loop Functional Verification Methodology OMG's Third Software-Based Communications Workshop: Realizing the Vision Hardware in the Loop Functional Verification Methodology by Pascal Giard Jean-François Boland, Jean Belzile M.Ing. Student École

More information