Chapter 6 : Channel Refinement. SystemC Communication Refinement Vital part of overall system refinement: Add more details  To gain more precise analysis.

Slides:



Advertisements
Similar presentations
Construction process lasts until coding and testing is completed consists of design and implementation reasons for this phase –analysis model is not sufficiently.
Advertisements

SoC Challenges & Transaction Level Modeling (TLM) Dr. Eng. Amr T. Abdel-Hamid ELECT 1002 Spring 2008 System-On-a-Chip Design.
TOPIC : SYNTHESIS DESIGN FLOW Module 4.3 Verilog Synthesis.
ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
High Level Languages: A Comparison By Joel Best. 2 Sources The Challenges of Synthesizing Hardware from C-Like Languages  by Stephen A. Edwards High-Level.
Chapter 1 : SystemC Overview. What is SystemC Systemc is a modeling platform  A set C++ class library to add hardware modeling constructs  Simulation.
February 28 – March 3, 2011 Stepwise Refinement and Reuse: The Key to ESL Ashok B. Mehta Senior Manager (DTP/SJDMP) TSMC Technology, Inc. Mark Glasser.
Synchron’08 Jean-François LE TALLEC INRIA SOP lab, AOSTE INRIA SOP lab, EPI AOSTE ScaleoChip Company SoC Conception Methodology.
OBJECT ORIENTED PROGRAMMING M Taimoor Khan
Road Map Introduction to object oriented programming. Classes
Spec-C, Handel-C, SystemC : A Comparative Study By: Nikola Rank 13 March 2006.
Architectural Design Principles. Outline  Architectural level of design The design of the system in terms of components and connectors and their arrangements.
Chapter 7: Inheritance Abstract Data Types Object Hierarchy Inheritance of Methods Inheritance: implicit passing of information between program components.
Chapter 10 Class and Method Design
Dipartimento di Informatica - Università di Verona Networked Embedded Systems The HW/SW/Network Cosimulation-based Design Flow Introduction Transaction.
ECE Department: University of Massachusetts, Amherst Lab 1: Introduction to NIOS II Hardware Development.
Chapter 5. SystemC 1.0 Main Purpose  Model RTL Instruments  Support diverse data type  Execute concurrently by using METHODs.
Reconfigurable Computing S. Reda, Brown University Reconfigurable Computing (EN2911X, Fall07) Lecture 14: SystemC (2/3) Prof. Sherief Reda Division of.
Slide 1 Chapter 10 Class and Method Design. Slide 2 REVISITING THE BASIC CHARACTERISTICS OF OBJECT-ORIENTATION.
Reconfigurable Computing S. Reda, Brown University Reconfigurable Computing (EN2911X, Fall07) Lecture 13: SystemC (1/3) Prof. Sherief Reda Division of.
Yoshinori Takeuchi Osaka University 1MPSoC Osaka University  Expansion of multi-functional portable multimedia devices requires high performance.
SystemC: Introduction. SystemC  A C++ based class library and design environment for system-level design.  Suitable for functional description that.
1 Chapter 2. The System-on-a-Chip Design Process Canonical SoC Design System design flow The Specification Problem System design.
TM Efficient IP Design flow for Low-Power High-Level Synthesis Quick & Accurate Power Analysis and Optimization Flow JAN Asher Berkovitz Yaniv.
From Scenic to SystemC Mehrdad Abutalebi. Outline Introducing Scenic Scenic Implementation Modeling Reactivity A Simple example From Scenic to SystemC.
EECE **** Embedded System Design
Chapter 10 Introduction to Components. Process Phases Discussed in This Chapter Requirements Analysis Design Implementation ArchitectureFramework Detailed.
ESL: Panacea or Hype? FERMAT | Sandeep Shukla | June 2005 Acknowledgement: NSF, Project Tech, and the “Chip.
Chapter 5 Implementing UML Specification (Part II) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis H.K. Tsang, Clarence.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
Extreme Makeover for EDA Industry
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
SystemC and Levels of System Abstraction: Part I.
1 Freeha Azmat Saba Zia Dec 02, Agenda Installation Introduction From Verilog to SystemC Counter as an Example Complete SystemC Modeling 2.
Fast Simulation Techniques for Design Space Exploration Daniel Knorreck, Ludovic Apvrille, Renaud Pacalet
Winter-Spring 2001Codesign of Embedded Systems1 Reactivity, Ports, and Signals in SystemC Part of HW/SW Codesign of Embedded Systems Course (CE )
1 IMEC / KHBO June 2004 Micro-electronics SystemC Dorine Gevaert.
Winter-Spring 2001Codesign of Embedded Systems1 Methodology for HW/SW Co-verification in SystemC Part of HW/SW Codesign of Embedded Systems Course (CE.
Slide 1 Systems Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Haley Wixom, and David Tegarden Chapter 10: Class and Method.
GreenBus Extensions for System-On-Chip Exploration.
Chapter 5 Implementing UML Specification (Part II) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis H.K. Tsang, Clarence.
Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics VHDL register-transfer modeling: –basics using traffic light controller; –synthesis.
Overview The Basics – Python classes and objects Procedural vs OO Programming Entity modelling Operations / methods Program flow OOP Concepts and user-defined.
Introduction to VHDL Simulation … Synthesis …. The digital design process… Initial specification Block diagram Final product Circuit equations Logic design.
Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics Modeling with hardware description languages (HDLs).
Modern VLSI Design 3e: Chapter 8 Copyright  1998, 2002 Prentice Hall PTR Topics n Modeling with hardware description languages (HDLs).
1 ECSE-2610 Computer Components & Operations (COCO) Welcome to the world of Computers!
VHDL Discussion Subprograms IAY 0600 Digital Systems Design Alexander Sudnitson Tallinn University of Technology 1.
Bina Nusantara 19 C H A P T E R SYSTEM CONSTRUCTION AND IMPLEMENTATION.
Winter-Spring 2001Codesign of Embedded Systems1 Modules in SystemC Part of HW/SW Codesign of Embedded Systems Course (CE )
Chapter 7 Classes and Methods III: Static Methods and Variables Lecture Slides to Accompany An Introduction to Computer Science Using Java (2nd Edition)
A Fast SystemC Engine D. Gracia Pérez LRI, Paris South Univ. O. Temam LRI, Paris South Univ. G. Mouchard LRI, Paris South Univ. CEA.
5.1 Basics of defining and using classes A review of class and object definitions A class is a template or blueprint for an object A class defines.
ASIC/FPGA design flow. Design Flow Detailed Design Detailed Design Ideas Design Ideas Device Programming Device Programming Timing Simulation Timing Simulation.
1 Software Development Life cycle (SDLC). Phases of SDLC 2 Requirement Analysis (Defining Requirement) Designing (Design) Coding (Implementation) Software.
CIS 4930/6930 System-on-Chip Design Transaction-Level Modeling with SystemC Dr. Hao Zheng Comp. Sci & Eng. U of South Florida.
Chapter 12: Support for Object- Oriented Programming Lecture # 18.
CIS 4930/6930 System-on-Chip Design Introduction to SystemC Hao Zheng Computer Science & Engineering U of South Florida.
Standard UML: Communication and Dynamic Behavior
Topics Modeling with hardware description languages (HDLs).
12 Data abstraction Packages and encapsulation
Software Development Life cycle
Design Flow System Level
Topics Modeling with hardware description languages (HDLs).
Chapter 20 Object-Oriented Analysis and Design
VHDL Discussion Subprograms
VHDL Discussion Subprograms
Overview of C++ Polymorphism
Jiong Ou1, Farooq Muhammad1, Christoph Grimm1 and Martin Barnasconi2
Building Java Programs
Presentation transcript:

Chapter 6 : Channel Refinement

SystemC Communication Refinement Vital part of overall system refinement: Add more details  To gain more precise analysis results  Towards the final system implementation (e.g. HW synthesis) Map abstract communication to actual implementation for  More structural accuracy  More pin accuracy  More timing accuracy  More clock-cycle accuracy  More functional accuracy  More data organization accuracy  More communication protocol accuracy

Refinement Design Flow 1. Select and replace Select a refined implementation for a component (channel or module). Replace original  channel/module with the refined version. 2. Insert adapters and/or converters  To re-establish connections insert appropriate adapters and/or converters 3. Re-run simulation and analyze functionality/performance  Check for correct functionality of refined system (the behavior may have changed!) 4. (Optional) Ungroup hierarchy  Flatten wrapped channels to make adapters visible outside 5. (Optional) Wrap channels and adapters/converters  Create new hierarchy to encapsule instances 6. (Optional) Protocol inlining  Merge channels/modules with their adapters/converters 7. (Optional) Restructure control flow  Make inherent parallelism more explicit (see example later) 8. (Optional) Analyze implementation  E.g. run synthesis and back-annotate area/timing/power results into model

Design Example Goal: Refine a SystemC model with a synthesizable HW implementation  Original design is constructed with sc_fifo  Replace sc_fifo with hw_fifo

Design Example (cont.) Select and replace Insert adapters  A1 : hw_fifo write adapter  A2 : hw_fifo read adapter

SystemC HW-HW Comm. Refinement Adapter Adapter A1 : w_adapter  Needs to implement the all the virtual function and below is an example  Connects to the pin-level ports of hw_fifo class w_adapter : public sc_module, public sc_fifo_out_if { public: sc_in_clk clock; sc_out data_port; sc_out valid_port; sc_in ready_port; // blocking write void w_adapter::write(const int& data) { while( !(ready_port.read()) ) wait(clock.posedge_event()); data_port = data; valid_port = true; wait( clock.posedge_event()); valid_port = false; wait( clock.posedge_event()); } // constructor w_adapter(sc_module_name name) : sc_module(name){ valid.initialize(false); } };