Contents. System Development Models and Methods. Design Abstraction and Views. Synthesis. Control/Data-Flow Models. System Synthesis Models



Similar documents
Contents. Introduction. Introduction and Motivation Embedded Systems (ES) Content of Lecture Organisational

Introduction to Digital System Design

Architectures and Platforms

Agenda. Michele Taliercio, Il circuito Integrato, Novembre 2001

ESE566 REPORT3. Design Methodologies for Core-based System-on-Chip HUA TANG OVIDIU CARNU

on-chip and Embedded Software Perspectives and Needs

Aims and Objectives. E 3.05 Digital System Design. Course Syllabus. Course Syllabus (1) Programmable Logic

Modeling a GPS Receiver Using SystemC

Digital Systems Design! Lecture 1 - Introduction!!

9/14/ :38

Hardware/Software Codesign

FPGA area allocation for parallel C applications

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

Codesign: The World Of Practice

Hardware/Software Codesign Overview

Optimizing Configuration and Application Mapping for MPSoC Architectures

ELEC 5260/6260/6266 Embedded Computing Systems

Introducción. Diseño de sistemas digitales.1

System-on. on-chip Design Flow. Prof. Jouni Tomberg Tampere University of Technology Institute of Digital and Computer Systems.

1. True or False? A voltage level in the range 0 to 2 volts is interpreted as a binary 1.

7a. System-on-chip design and prototyping platforms

Eingebettete Systeme. 4: Entwurfsmethodik, HW/SW Co-Design. Technische Informatik T T T

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

Networking Virtualization Using FPGAs

Chapter 2 Logic Gates and Introduction to Computer Architecture

NIOS II Based Embedded Web Server Development for Networking Applications

Eli Levi Eli Levi holds B.Sc.EE from the Technion.Working as field application engineer for Systematics, Specializing in HDL design with MATLAB and

Hardware Resource Allocation for Hardware/Software Partitioning in the LYCOS System

EEM870 Embedded System and Experiment Lecture 1: SoC Design Overview

Von der Hardware zur Software in FPGAs mit Embedded Prozessoren. Alexander Hahn Senior Field Application Engineer Lattice Semiconductor

Architectural Level Power Consumption of Network on Chip. Presenter: YUAN Zheng

CAD TOOLS FOR VLSI. FLOORPLANNING Page 1 FLOORPLANNING

What is a System on a Chip?

Introduction to System-on-Chip

Testing Automation for Distributed Applications By Isabel Drost-Fromm, Software Engineer, Elastic

System Interconnect Architectures. Goals and Analysis. Network Properties and Routing. Terminology - 2. Terminology - 1

FPGA Prototyping Primer

Best Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com

Gates, Circuits, and Boolean Algebra

Lecture 5: Gate Logic Logic Optimization

Fault Modeling. Why model faults? Some real defects in VLSI and PCB Common fault models Stuck-at faults. Transistor faults Summary

How To Test Automatically

System on Chip Design. Michael Nydegger

Power Reduction Techniques in the SoC Clock Network. Clock Power

Partial and Dynamic reconfiguration of FPGAs: a top down design methodology for an automatic implementation

A single register, called the accumulator, stores the. operand before the operation, and stores the result. Add y # add y from memory to the acc

ARM Microprocessor and ARM-Based Microcontrollers

Embedded Systems. introduction. Jan Madsen

Systems on Chip Design

Verification of Triple Modular Redundancy (TMR) Insertion for Reliable and Trusted Systems

Interconnection Networks Programmierung Paralleler und Verteilter Systeme (PPV)

CHAPTER 3 Boolean Algebra and Digital Logic

Lecture 1. Introduction to Embedded Computer Systems

A Mixed-Signal System-on-Chip Audio Decoder Design for Education

CoProcessor Design for Crypto- Applications using Hyperelliptic Curve Cryptography

Multiprocessor System-on-Chip

Computer organization

Programmable Logic Controllers Definition. Programmable Logic Controllers History

Defining Platform-Based Design. System Definition. Platform Based Design What is it? Platform-Based Design Definitions: Three Perspectives

Oracle BI EE Implementation on Netezza. Prepared by SureShot Strategies, Inc.

CFD Implementation with In-Socket FPGA Accelerators

Interconnection Networks. Interconnection Networks. Interconnection networks are used everywhere!

Introduction to Programmable Logic Devices. John Coughlan RAL Technology Department Detector & Electronics Division

Throughput constraint for Synchronous Data Flow Graphs

Value Paper Author: Edgar C. Ramirez. Diverse redundancy used in SIS technology to achieve higher safety integrity

Life Cycle of a Memory Request. Ring Example: 2 requests for lock 17

Introduction to Parallel Computing. George Karypis Parallel Programming Platforms

Hardware and Software

FPGA Implementation of Boolean Neural Networks using UML

Embedded Systems Engineering Certificate Program

THREE YEAR DEGREE (HONS.) COURSE BACHELOR OF COMPUTER APPLICATION (BCA) First Year Paper I Computer Fundamentals

Automotive Software Engineering

The 104 Duke_ACC Machine

Medical Device Design: Shorten Prototype and Deployment Time with NI Tools. NI Technical Symposium 2008

Bogdan Vesovic Siemens Smart Grid Solutions, Minneapolis, USA

Agenda. Capacity Planning practical view CPU Capacity Planning LPAR2RRD LPAR2RRD. Discussion. Premium features Future

Reviving smart card analysis

Timing Analysis of Real-Time Software

Chapter 4 Register Transfer and Microoperations. Section 4.1 Register Transfer Language

White Paper FPGA Performance Benchmarking Methodology

Design and Implementation of an On-Chip timing based Permutation Network for Multiprocessor system on Chip

CSCI 4717 Computer Architecture. Function. Data Storage. Data Processing. Data movement to a peripheral. Data Movement

1. Memory technology & Hierarchy

A Unified View of Virtual Machines

One LAR Course Credits: 3. Page 4

Machine Architecture and Number Systems. Major Computer Components. Schematic Diagram of a Computer. The CPU. The Bus. Main Memory.

Hunting Asynchronous CDC Violations in the Wild

FPGA Music Project. Matthew R. Guthaus. Department of Computer Engineering, University of California Santa Cruz

Chapter 12: Multiprocessor Architectures. Lesson 04: Interconnect Networks

Technical Training Module ( 30 Days)

Transcription:

System Development Models and Methods Dipl.-Inf. Mirko Caspar Version: 10.02.L.r-1.0-100929 Contents HW/SW Codesign Process Design Abstraction and Views Synthesis Control/Data-Flow Models System Synthesis Models CO mplex ncurrent rrect ordinated DESIGN 02-2 1

Designing Embedded Systems design structuring representation of requirements necessary for automation of design process chip - chip board board hardware software design steps scheduling allocation binding objects algorithms for HW and SW 02-3 HW/SW Codesign Process Specification System Synthesis SW Synthesis Interface- Synthesis HW Synthesis machine code netlist 02-4 2

Contents HW/SW Codesign Process Design Abstraction and Views Synthesis Control/Data-Flow Models System-Synthesis Models CO mplex ncurrent rrect ordinated DESIGN 02-5 Y-Chart Behavioural View Structural View Test View X-Chart Physical View 02-6 3

Example device: MP3 decoder ASIC (HW) system Behavioural View decode files with 32 256kBit, 32 Bit output quality, Structural View components for sample detection, configurable decoder, output registers algorithm description for each part, e.g. in C / Java detailed structure for different parts of system registertransfer complex modules and their data flow / communication register-transfer components and connections gate transistor differential equations transistors, resistors, wires, 02-7 Double-Roof-Model abstraction of Y/X-chart software hardware system module architecture block logic HW and SW design processes are equally structured 02-8 4

P-Chart dimension SW-Synthesis level system level algorithm level RT level view behaviour structure test geometry 02-9 Contents HW/SW Codesign Process Design Abstraction and Views Synthesis Control/Data-Flow Models System Synthesis Models CO mplex ncurrent rrect ordinated DESIGN 02-10 5

Synthesis software hardware behaviour system module architecture block logic structure synthesis = tasks for synthesis: allocation: select components binding: map functions to components scheduling: plan execution order 02-11 Example behaviour: Boolean equation synthesis f ab cd structure: netlist a b c d & & 1 f 02-12 6

Specification on System Level constraints task graph A B D C execution time < 200ms E 02-13 Allocation on System Level processor, dedicated hardware memory, I/O connection structures 02-14 7

Binding on System Level map tasks to resources A B C D E 02-15 Scheduling on System Level 02-16 8

Rating of Design Alternatives : criteria can not be improved without worsen another 1, 2, 4, 6 are 02-17 Contents HW/SW Codesign Process Design Abstraction and Views Synthesis Control/Data-Flow Models System Synthesis Models CO mplex ncurrent rrect ordinated DESIGN 02-18 9

Data Structures for algorithms (calculation l of optimisations) i are dedicated di d and formal models necessary data structures granularity detailing for optimisation parameters abstraction for manageability extendibility annotation by optimisation method output generation, if necessary for common optimisation 02-19 Graph modelling by graphs graph G = (V,E), E V x V set of vertices (nodes) V: operation, tasks, communication set of arcs (edges) E: dependencies between nodes example: G = (V,E) V = (A, B, C, D, E) E = ((A,B), (A,C), (B,E), (C,D), (D,E)) directed graph (A,B) (B,A) B A E D C 02-20 10

Control and Data Flow Models possible dependencies d to model by data structure t data dependency control dependency (caused by implementation) important models data flow graph (DFG) control flow graph (CFG) system modelling graphs (later) 02-21 Data Flow Graph (DFG) shows data dependencies between calculation or memory units (functions, variables, ALUs, ) directed edge, if a producer-consumer consumer relation between two nodes x = 3*a + b*b c; y = a + b*x; z = b c*(a + b); 02-22 11

Control Flow Graph (CFG) models control paths of algorithms directed graph with one start and one end node read(a,b) done = FALSE start instructions foo { read(a,b); done = false; repeat { if (a > b) a = a b; else if (b > a) b = b a; else done = true; } until done; write(a); } a = a-b a > b b > a b = b-a done!= TRUE write(a) done = TRUE true false branch end 02-23 Contents HW/SW Codesign Process Design Abstraction and Views Synthesis Control/Data-Flow Models System Synthesis Models CO mplex ncurrent rrect ordinated DESIGN 02-24 12

Models for System Synthesis problem graph nodes: functional and communication objects edges: dependencies architecture graph nodes: functional and communication resources edges: directed communication paths specification graph problem graph + architecture graph + 02-25 Problem Graph 1 2 1 2 5 3 3 6 7 4 communication nodes 4 DFG problem graph 02-26 13

Architecture Graph architecture architecture graph RISC RISC bus bus FPGA1 FPGA2 FPGA1 point-to-point link P2P communication resources FPGA2 02-27 Specification Graph weighting (different scenarios) 1 2 10 7 100 RISC 5 1 1 5 bus 3 6 5 3 100 FPGA1 7 P2P 4 problem graph possible mapping FPGA2 architecture graph specification graph 02-28 14

Example HW/SW partitioning ( ) HW HW bus bus processor processor architecture architecture graph only two blocks (HW and SW) 02-29 15