PowerSC: a SystemC Framework for Power Estimation
|
|
- Calvin Johnston
- 6 years ago
- Views:
Transcription
1 6th NASCUG Meeting February, 2007 San Jose, CA PowerSC: a SystemC Framework for Power Estimation Felipe Klein (speaker) Guido Araujo Rodolfo Azevedo Computer Systems Laboratory Institute of Computing UNAMP 1
2 Outline The Power Consumption Concern PowerSC Methodology Power Modeling with PowerSC Technology Libraries Support Experimental Results Conclusions and Ongoing Work 2
3 Power Consumption: A Growing Concern SOC Consumer Stationary Power Consumption Trends Switching Power, Logic Leakage Power, Logic Switching Power, Memory Leakage Power, Memory Source: ITRS Update
4 PowerSC Overview SystemC has no support for power modeling Power aware extension of SystemC classes Constructs for power modeling Automatic gathering of switching activity transition density, static probability, spatial correlation 4
5 PowerSC Methodology Design Refinement PowerSC Library SystemC Design Config. Files SystemC Library C++ Compiler PowerSC Exec. Specification SystemC Exec. Specification Simulation for Power Usual Simulation Reports Reports 5
6 PowerSC Methodology Design Refinement SystemC Design PowerSC Library Config. Files SystemC Library C++ Compiler PowerSC Exec. Specification SystemC Exec. Specification Simulation for Power Usual Simulation Reports Reports PowerSC Flow 6
7 Using PowerSC is Painless No code rewriting sc to psc data types Include the powersc.h Set a compiler directive g++ DPOWER_SIM Call to some PSC_* macros 7
8 Usage Example main.cpp example.h #include "example.h" #include <systemc.h> #include <powersc.h> SC_MODULE(MyDesign) { sc_in<sc_uint<32> > input; sc_out<sc_uint<16> > output; sc_signal<sc_uint<32> > temp; }; SC_MODULE(testbench) { sc_in_clk clk; MyDesign *dut; sc_signal<sc_uint<32> > in; sc_signal<sc_uint<16> > out; SC_CTOR(testbench) { // instantiate and bind } }; void go(const char *infile) { sc_clock clk("clk", ); } testbench tb0("tb0"); tb0.clk(clk); sc_start( 1); int sc_main(int argc, char **argv) { const char *infile; PSC_FULL_SAMPLING; go(infile); PSC_REPORT_SWITCHING_ACTIVITY; PSC_REPORT_POWER; } 8
9 Usage Example example.h #include <systemc.h> #include <powersc.h> no data types main.cpp redeclared #include "example.h" SC_MODULE(MyDesign) { sc_in<sc_uint<32> > input; sc_out<sc_uint<16> > output; sc_signal<sc_uint<32> > temp; }; SC_MODULE(testbench) { sc_in_clk clk; MyDesign *dut; sc_signal<sc_uint<32> > in; sc_signal<sc_uint<16> > out; SC_CTOR(testbench) { // instantiate and bind } }; void go(const char *infile) { sc_clock clk("clk", ); } testbench tb0("tb0"); tb0.clk(clk); sc_start( 1); int sc_main(int argc, char **argv) { const char *infile; PowerSC PSC_FULL_SAMPLING; macros go(infile); PSC_REPORT_SWITCHING_ACTIVITY; PSC_REPORT_POWER; } 9
10 Usage Example (contd.) powersc.h #include "debug_power.h" #include "psc_uint.h" #include "psc_int.h" #include "psc_signal.h" using psc_dt::psc_uint; using psc_dt::psc_int; #ifdef POWER_SIM #define sc_uint psc_uint #define sc_int psc_int #define sc_signal psc_signal #define PSC_REPORT_SWITCHING_ACTIVITY \ psc_objinfo_base::repository.print_entries() #define PSC_REPORT_POWER \ psc_objinfo_base::cells.power_report() #else #define PSC_REPORT_SWITCHING_ACTIVITY #define PSC_REPORT_POWER #endif 10
11 Usage Example (contd.) powersc.h #include "debug_power.h" #include "psc_uint.h" #include "psc_int.h" #include "psc_signal.h" PowerSC flow g++ DPOWER_SIM using psc_dt::psc_uint; using psc_dt::psc_int; #ifdef POWER_SIM #define sc_uint psc_uint #define sc_int psc_int #define sc_signal psc_signal Usual flow g++ DNO_POWER_SIM #define PSC_REPORT_SWITCHING_ACTIVITY \ psc_objinfo_base::repository.print_entries() #define PSC_REPORT_POWER \ psc_objinfo_base::cells.power_report() #else #define PSC_REPORT_SWITCHING_ACTIVITY #define PSC_REPORT_POWER #endif 11
12 Power Modeling Support C++ classes for power modeling different levels of abstraction psc_macromodel: base class to be derived get_power() init_power_map() psc_macromodel_parms macromodeling technique specific PSC_* macros 12
13 Power Modeling Overview Base classes Modeling power for technique #1 Modeling power for technique #2 SystemC design 13
14 Power Modeling Overview Base classes Modeling power for technique #1 Modeling power for technique #2 SystemC design design instrumentation ~mydesign() { } repository registration 14
15 Macromodeling Example Add32 Add32 design #include "rtl_macromodel Add32.h" SC_MODULE(Add32) { sc_in<sc_uint<32> > a; sc_in<sc_uint<32> > b; sc_out<sc_uint<32> > out1; void thread_combo(); PSC_MACROMODEL_Add32; SC_CTOR(Add32); }; 15
16 Macromodeling Example Add32 Add32 design #include "rtl_macromodel Add32.h"defined within SC_MODULE(Add32) { sc_in<sc_uint<32> > a; sc_in<sc_uint<32> > b; sc_out<sc_uint<32> > out1; void thread_combo(); PSC_MACROMODEL_Add32; SC_CTOR(Add32); }; this file #ifdef POWER_SIM #define PSC_MACROMODEL_Add32\ static const char *celltype;\ static psc_macromodel_add32_eqtab power_model;\ ~Add32() #else #define PSC_MACROMODEL_Add32 #endif 16
17 Technology Libraries in C++ Goals: multiple levels of abstraction unified modeling framework power characterization process in SystemC Libraries in Synopsys Liberty format Helper tools for automatic translation 17
18 Tools for Automatic Conversion Tech. Library (e.g., tsmc.lib) tsmc.h lib2psclib tsmc.psclib psclib2sc tsmc.cpp Part Library Base Part Library SC_RTL vlog2sc SC_RTL SC_GATES V_GATES 18
19 SystemC Gate level Example Add32 #include "tsmc.h" technology library SC_MODULE(Add32) { sc_in<bool> a[32]; sc_in<bool> b[32]; sc_out<bool> out1[32]; xor2_1 *I330; and2_1 *I331; SC_CTOR(Add32) { I330 = new xor2_1( "I330" ); I330 >op( out1[0] ); I330 >ip1( a[0] ); I330 >ip2( b[0] ); more PSC macros cells from the technology library I331 = new and2_1( "I331" ); I331 >op( N305 ); I331 >ip1( b[0] ); I331 >ip2( a[0] ); } PSC_OBJ_ALIAS(N305, "N305"); }; #define Add32 Add32_wrapper 19
20 Experimental Results Design (RTL) Add32 MulS16 DiffEq Crossover1 Crossover2 Crossover3 Technique (Avg. Error) EqTab 3DTab ehd 15% 13% 25% 12% 24% 57% 16% 26% 87% 16% 21% 48% 13% 22% 61% 13% 21% 62% Gate level errors: ~4% for approximately 20 different FUs as compared to Synopsys Power Compiler Simulation overhead: ~7 times slower than pure functional descriptions 20
21 Conclusions Power consumption is a key metric for real life designs SystemC has been extended to support power modeling PowerSC A unified modeling framework was proposed Integration to ArchC simulators is an ongoing work 21
22 Thank You! By the way 1st LASCUG Meeting (tentative) co located with SBCCI September 2007 Rio de Janeiro Brazil 22
23 EXTRAS 23
24 Macromodeling Example (contd.) Specializing classes for a technique class psc_macromodel_parms_add32_eqtab : public psc_macromodel_parms { protected: double m_d_pin; double m_d_din; vector<double> m_bitwise_dens; }; parameters for this technique class psc_macromodel_add32_eqtab : public psc_macromodel { public: overloaded void init_power_map(); double get_power(const psc_macromodel_parms & p); methods }; continued from slide 16 24
25 Macromodeling Example (contd.) Repository registration upon destruction Add32::~Add32() { psc_macromodel_parms_add32_eqtab parms(pin, din, bitwise_dens); power = power_model.get_power(parms); psc_cell_power_info info(name(), celltype); info.set_level(psc_rt_level); info.set_power( power ); psc_pin_power_info pwr_a(_p_a >get_id()); psc_pin_power_info pwr_b(_p_b >get_id()); psc_pin_power_info pwr_out1(_p_out1 >get_id()); info.add(pwr_a); info.add(pwr_b); info.add(pwr_out1); } PSC_INSERT_CELL(info); 25
26 Gate level Add32_wrapper a multiport (one bit for each signal) Add32_wrapper a b a[0] a[31] Add32 (gates) exec_i b out1 exec_o 32 out1 32 a, b and out1 are declared as sc_uint<32>! Modules using Add32 cannot bind directly to the gate level description's ports! continued from slide 19 26
27 Modeling a SoC (Example) I Cache ASIP core SRAM Main Memory (DRAM) IP core Bus D Cache IP core Bus Processor (e.g., PowerPC Cache ArchC SystemC (TLM) SystemC (RTL/Behavioral) SystemC (TLM) 27
SystemCrafter SC User Manual
SystemCrafter SC User Manual Version 3.0.0 SystemCrafter, SystemCrafter SC, Bringing Hardware And Software Together, and the logos shown above are trademarks of SystemCrafter Ltd. All other trademarks
More informationSystemC Modules and Hierarchy. Rolf Drechsler Daniel Große University of Bremen
SystemC Modules and Hierarchy Rolf Drechsler Daniel Große University of Bremen Module Module Basic building block of design partitioned C++ Class, similar to entity (VHDL) or module (Verilog) SC_MODULE(module_name)
More informationArchC: A SystemC Based Architecture Description Language
ArchC: A SystemC Based Architecture Description Language S. Rigo, G. Araujo, R. Azevedo and P. Centoducatte {srigo, guido, rodolfo, ducatte} @ ic.unicamp.br Speaker: Rodolfo Azevedo Computer Systems Laboratory
More informationSoC Design. Prof. Dr. Christophe Bobda Institut für Informatik Lehrstuhl für Technische Informatik
SoC Design Prof. Dr. Christophe Bobda Institut für Informatik Lehrstuhl für Technische Informatik Chapter 3 SystemC Outline 1. Introduction 2. SystemC Overview 3. System Abstraction Level 4. Program Structure
More informationElectronic System Level Design Introduction to SystemC
Electronic System Level Design Introduction to SystemC Maziar Goudarzi Today Program SystemC (ver. 1.0) History Highlights Design methodology A simple SystemC example 2009 ESL Design 2 SystemC History
More informationSystemC 2 Verilog
SystemC 2 Verilog pablo.huerta@urjc.es javier.castillo@urjc.es www.escet.urjc.es/~jmartine Rev. 1.4 October, 2005 Revision History: Rev Date Author Description 1.0 3/10/2004 Javier Castillo Initial Release
More informationCoFluent Design FPGA. SoC FPGA. Embedded. Systems. HW/SW
CoFluent Design www.cofluentdesign.com Embedded HW/SW Systems SW SoC FPGA FPGA Integration Systems & Verification of GreenSocs Models in a CoFluent Testbench jerome.lemaitre@cofluentdesign.com NASCUG IX,
More informationAlgorithmic C synthesis (High-level synthesis)
Algorithmic C synthesis (High-level synthesis) Reminder System level design The complexity of digital systems grows exponentially because of technological improvements, and user demands. The design entries
More informationSystemC. Short Introduction
SystemC Short Introduction Karsten Einwich Fraunhofer IIS/EAS Dresden SystemC is a definition of C++ language constructs for the description of complex digital hardware systems on different abstraction
More informationIntroduction to SystemC
Introduction to SystemC Damien Hubaux - CETIC Outline?? A language A C++ library February 12, 2004 SystemC, an alternative for system modeling and synthesis? 2 Why SystemC? Needs Increasing complexity,
More informationECEN 468 Advanced Logic Design Department of Electrical and Computer Engineering Texas A&M University. Lab 1
ECEN 468 Advanced Logic Design Department of Electrical and Computer Engineering Texas A&M University (Lab exercise created by Jaeyeon Won and Jiang Hu) Lab 1 Introduction to SystemC and Simulator Purpose:
More informationLecture 14: Data Types in SystemC
Design & Co-design of Embedded Systems Lecture 14: Data Types in SystemC Sharif University of Technology Computer Engineering Dept. Winter-Spring 2008 Mehdi Modarressi Data Types SystemC data types Single-bit
More informationCo-design Methodology and Synthesis
Co-design Methodology and Synthesis Synthesis 1 SystemC 2 1 Introduction to SystemC 3 C++ C++ class library and a methodology create a cycle-accurate model of software algorithms hardware architecture,
More informationLG2: Lecture Group 2: SystemC. Topic: SystemC Overview. LG2.1 - SC SystemC Components. LG2.2 - SC Example (Counter)
LG2: Lecture Group 2: SystemC. Topic: SystemC Overview LG2.1 - SC SystemC Components LG2.2 - SC Example (Counter) LG2.3 - SC SystemC Structural Netlist LG2.4 - SC SystemC Signals LG2.5 - SC Threads and
More informationKDEC
KDEC Technical Seminar SystemC Overview & Example : 8-Bit RISC System Design KDEC http://asic.khu.ac.kr Kook,ilho goodkook@nms.anslab.co.kr AnsLab Co. http://www.anslab.co.kr 1 KDEC Technical Seminar SystemC
More informationESL design with the Agility Compiler for SystemC
ESL design with the Agility Compiler for SystemC SystemC behavioral design & synthesis Steve Chappell & Chris Sullivan Celoxica ESL design portfolio Complete ESL design environment Streaming Video Processing
More informationEEL 5722C Field-Programmable Gate Array Design
EEL 5722C Field-Programmable Gate Array Design Lecture 17: Describing Synthesizable RTL in SystemC* Prof. Mingjie Lin * 2001 Synopsys, Inc. 1 System-Level Design Specifying the system Verifying its functionality
More informationTEACHING COMPUTER ORGANIZATION AND ARCHITECTURE USING SYSTEMC *
TEACHING COMPUTER ORGANIZATION AND ARCHITECTURE USING SYSTEMC * Ed Harcourt Dept. Mathematics St. Lawrence University Canton, NY 13617 edharcourt@stlawu.edu ABSTRACT Hardware simulation is often used in
More informationEN2911X: Reconfigurable Computing Lecture 01: Introduction
EN2911X: Reconfigurable Computing Lecture 01: Introduction Prof. Sherief Reda Division of Engineering, Brown University Fall 2009 Methods for executing computations Hardware (Application Specific Integrated
More informationSystemC 1.3. Languages for Embedded Systems. Prof. Stephen A. Edwards Summer 2004 NCTU, Taiwan
SystemC 1.3 Languages for Embedded Systems Prof. Stephen A. Edwards Summer 2004 NCTU, Taiwan Designing Big Digital Systems Even Verilog or VHDL s behavioral modeling is not high-level enough People generally
More informationVersion 1.1 User s Guide
Version 1.1 User s Guide Synopsys, Inc. CoWare, Inc. Frontier Design, Inc. Copyright (c) 2000 Synopsys, Inc. CoWare, Inc. Frontier Design, Inc. Copyright Notice Copyright (c) 1988-2000 Synopsys Inc. All
More informationMETROII AND PTOLEMYII INTEGRATION. Presented by: Shaoyi Cheng, Tatsuaki Iwata, Brad Miller, Avissa Tehrani
METROII AND PTOLEMYII INTEGRATION Presented by: Shaoyi Cheng, Tatsuaki Iwata, Brad Miller, Avissa Tehrani INTRODUCTION PtolemyII is a tool for design of component-based systems using heterogeneous modeling
More informationParallel System Architectures 2016 Lab Assignment 1: Cache Coherency
Institute of Informatics Computer Systems Architecture Jun Xiao Simon Polstra Dr. Andy Pimentel September 1, 2016 Parallel System Architectures 2016 Lab Assignment 1: Cache Coherency Introduction In this
More informationVersion 2.0 User s Guide
Version 2.0 User s Guide Copyright (c) 1996-2001 by all Contributors. All Rights reserved. Copyright Notice Copyright (c) 1996-2001 by all Contributors. All Rights reserved. This software and documentation
More informationA UML Profile for SysML-Based Comodeling for Embedded Systems Simulation and Synthesis
A UML Profile for SysML-Based Comodeling for Embedded Systems Simulation and Synthesis Fabian Mischkalla, Da He, Wolfgang Mueller University of Paderborn/C-LAB, Paderborn, Germany Abstract After its wide
More informationJPEG Compression/Decompression using SystemC
JPEG Compression/Decompression using SystemC COE838: Systems-on-Chip Design http://www.ee.ryerson.ca/~courses/coe838/ Dr. Gul N. Khan http://www.ee.ryerson.ca/~gnkhan Electrical and Computer Engineering
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 informationG52CPP C++ Programming Lecture 9
G52CPP C++ Programming Lecture 9 Dr Jason Atkin http://www.cs.nott.ac.uk/~jaa/cpp/ g52cpp.html 1 Last lecture const Constants, including pointers The C pre-processor And macros Compiling and linking And
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 informationSystemC 1.3. Languages for Embedded Systems. Prof. Stephen A. Edwards. March Columbia University
SystemC 1.3 Languages for Embedded Systems Prof. Stephen A. Edwards Columbia University March 2009 Designing Big Digital Systems Even Verilog or VHDL s behavioral modeling is not high-level enough People
More informationIntro to High Level Design with SystemC
Intro to High Level Design with SystemC Aim To introduce SystemC, and its associated Design Methodology Date 26th March 2001 Presented By Alan Fitch Designer Challenges Design complexity System on Chip
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 informationC++ Important Questions with Answers
1. Name the operators that cannot be overloaded. sizeof,.,.*,.->, ::,? 2. What is inheritance? Inheritance is property such that a parent (or super) class passes the characteristics of itself to children
More informationInternational Training Workshop on FPGA Design for Scientific Instrumentation and Computing November 2013
2499-20 International Training Workshop on FPGA Design for Scientific Instrumentation and Computing 11-22 November 2013 High-Level Synthesis: how to improve FPGA design productivity RINCON CALLE Fernando
More informationAdvanced Systems Programming
Advanced Systems Programming Introduction to C++ Martin Küttler September 19, 2017 1 / 18 About this presentation This presentation is not about learning programming or every C++ feature. It is a short
More informationAgenda. How can we improve productivity? C++ Bit-accurate datatypes and modeling Using C++ for hardware design
Catapult C Synthesis High Level Synthesis Webinar Stuart Clubb Technical Marketing Engineer April 2009 Agenda How can we improve productivity? C++ Bit-accurate datatypes and modeling Using C++ for hardware
More informationHardware 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 informationHigh Level Power Modeling
High Level Power Modeling Jerry Frenkil (Sequence Design) David Hathaway (IBM) Nagu Dhanwada (IBM) Si2 LPC Modeling Working Group Interoperability Standards Collaborative Technology Innovation Through
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 informationFormal Techniques for SystemC Verification
Formal Techniques for SystemC Verification Moshe Y. Vardi Rice University What is the problem? HUGE gap between specification and implementation! Increased design complexity (pipelining, speculative execution,
More informationSynthesizable FPGA Fabrics Targetable by the VTR CAD Tool
Synthesizable FPGA Fabrics Targetable by the VTR CAD Tool Jin Hee Kim and Jason Anderson FPL 2015 London, UK September 3, 2015 2 Motivation for Synthesizable FPGA Trend towards ASIC design flow Design
More informationNetwork simulation with. Davide Quaglia
Network simulation with SystemC Davide Quaglia Outline Motivation Architecture Experimental results Advantages of the proposed framework 2 Motivation Network Networked Embedded Systems Design of Networked
More informationAugmenting a C++/PLI/VCS Based Verification Environment with SystemC
Augmenting a C++/PLI/VCS Based Verification Environment Dr. Ambar Sarkar Paradigm Works Inc. ambar.sarkar@paradigm-works.com ABSTRACT Due to increased popularity of high-level verification languages (HVLs)
More informationC++ Crash Kurs. Polymorphism. Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck
C++ Crash Kurs Polymorphism Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer C++ Polymorphism Major abstractions of C++ Data abstraction
More informationOutline. Catapult C Design Methodology. Design Steps with Catapult 1/31/12. System-on-Chip Design Methodologies
System-on-Chip Design Methodologies High-Level Synthesis using Catapult-C Olivier Sentieys IRISA/INRIA ENSSAT - Université de Rennes 1 Outline Introduction Design Flow and Tool Basics Data Types Writing
More informationSP3Q.3. What makes it a good idea to put CRC computation and error-correcting code computation into custom hardware?
Part II CST: SoC D/M: Quick exercises S3-S4 (examples sheet) Feb 2018 (rev a). This sheet contains short exercises for quick revision. Please also look at past exam questions and/or try some of the longer
More informationJava Basic Syntax. Java vs C++ Wojciech Frohmberg / OOP Laboratory. Poznan University of Technology
Java vs C++ 1 1 Department of Computer Science Poznan University of Technology 2012.10.07 / OOP Laboratory Outline 1 2 3 Outline 1 2 3 Outline 1 2 3 Tabular comparizon C++ Java Paradigm Procedural/Object-oriented
More informationSymbols, Compilation Units, and Pre-Processing
Symbols, Compilation Units, and Pre-Processing Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana March 2, 2015 Outline Compilation process Symbols: compilation units and linking
More informationImplementing Interfaces. Marwan Burelle. July 20, 2012
Implementing marwan.burelle@lse.epita.fr http://www.lse.epita.fr/ July 20, 2012 Outline 1 2 3 4 Quick Overview of System oriented programming language Variant of C with a rationnalized syntax. Syntactic
More informationProgrammazione. Prof. Marco Bertini
Programmazione Prof. Marco Bertini marco.bertini@unifi.it http://www.micc.unifi.it/bertini/ Hello world : a review Some differences between C and C++ Let s review some differences between C and C++ looking
More informationElectronic System Level Xperts
Using System C Exports and Hierarchical Channels for Efficient Data Conversion and Loopback Electronic System Level Xperts Rosamaria Carbonell Mann & David C Black www.eslx.com Info@ESLX.com Version 1.0
More informationChapter 2 Overview of SystemC
Chapter 2 Overview of SystemC The previous chapters gave a brief context for the application of SystemC. This chapter presents an overview of the SystemC language elements. Details are discussed in-depth
More informationDesign 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 informationDIGITAL VS. ANALOG SIGNAL PROCESSING Digital signal processing (DSP) characterized by: OUTLINE APPLICATIONS OF DIGITAL SIGNAL PROCESSING
1 DSP applications DSP platforms The synthesis problem Models of computation OUTLINE 2 DIGITAL VS. ANALOG SIGNAL PROCESSING Digital signal processing (DSP) characterized by: Time-discrete representation
More informationUSING THE SYSTEM-C LIBRARY FOR BIT TRUE SIMULATIONS IN MATLAB
USING THE SYSTEM-C LIBRARY FOR BIT TRUE SIMULATIONS IN MATLAB Jan Schier Institute of Information Theory and Automation Academy of Sciences of the Czech Republic Abstract In the paper, the possibilities
More informationHardware-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 informationWhat is Polymorphism? Quotes from Deitel & Deitel s. Why polymorphism? How? How? Polymorphism Part 1
Polymorphism Part 1 What is Polymorphism? Polymorphism refers to a programming language s ability to process objects differently depending on their data type or class. Number person real complex kid adult
More informationTransaction Level Modeling with SystemC. Thorsten Grötker Engineering Manager Synopsys, Inc.
Transaction Level Modeling with SystemC Thorsten Grötker Engineering Manager Synopsys, Inc. Outline Abstraction Levels SystemC Communication Mechanism Transaction Level Modeling of the AMBA AHB/APB Protocol
More informationSystemC: Co-specification and SoC Modeling
SystemC: Co-specification and SoC Modeling COE838: Systems-on-Chip Design http://www.ee.ryerson.ca/~courses/coe838/ Dr. Gul N. Khan http://www.ee.ryerson.ca/~gnkhan Electrical and Computer Engineering
More informationOCCN: A Network-On-Chip Modeling and Simulation Framework. M.Coppola, S.Curaba, M.Grammatikakis, R.Locatelli, G.Maruccia, F.Papariello, L.
OCCN: A Network-On-Chip Modeling and Simulation Framework M.Coppola, S.Curaba, M.Grammatikakis, R.Locatelli, G.Maruccia, F.Papariello, L.Pieralisi Outline Introduction SoC trends SoC: Towards a NoC centric
More informationSynthesizing Benchmarks for Predictive Modeling.
Synthesizing Benchmarks for Predictive Modeling http://chriscummins.cc/cgo17 Chris Cummins University of Edinburgh Pavlos Petoumenos University of Edinburgh Zheng Wang Lancaster University Hugh Leather
More informationBenefits of Embedded RAM in FLEX 10K Devices
Benefits of Embedded RAM in FLEX 1K Devices January 1996, ver. 1 Product Information Bulletin 2 Introduction Driven by the demand to integrate many more digital functions in a single device, custom logic
More informationPolymorphism Part 1 1
Polymorphism Part 1 1 What is Polymorphism? Polymorphism refers to a programming language s ability to process objects differently depending on their data type or class. Number person real complex kid
More informationOptimization of Behavioral IPs in Multi-Processor System-on- Chips
Optimization of Behavioral IPs in Multi-Processor System-on- Chips Yidi Liu and Benjamin Carrion Schafer # Department of Electronic and Information Engineering b.carrionschafer@polyu.edu.hk # Outline High-Level
More informationIntermediate Programming, Spring 2017*
600.120 Intermediate Programming, Spring 2017* Misha Kazhdan *Much of the code in these examples is not commented because it would otherwise not fit on the slides. This is bad coding practice in general
More informationStaffan Berg. European Applications Engineer Digital Functional Verification. September 2017
Portable Stimulus Specification The Next Big Wave in Functional Verification Staffan Berg European Applications Engineer Digital Functional Verification September 2017 AGENDA Why Portable Stimulus? What
More informationContents 1 Introduction 2 Functional Verification: Challenges and Solutions 3 SystemVerilog Paradigm 4 UVM (Universal Verification Methodology)
1 Introduction............................................... 1 1.1 Functional Design Verification: Current State of Affair......... 2 1.2 Where Are the Bugs?.................................... 3 2 Functional
More informationGetting Started with TLM-2.0
Getting Started with TLM-2.0 A Series of Tutorials based on a set of Simple, Complete Examples John Aynsley, Doulos, June 2008 Tutorial 1 Sockets, Generic Payload, Blocking Transport Introduction The TLM-2.0
More informationEvaluation of an Object-Oriented Hardware Design Methodology for Automotive Applications
Evaluation of an Object-Oriented Hardware Design Methodology for Automotive Applications N. Bannow, K.Haug Robert Bosch GmbH, Automotive Electronics Driver Assistance Systems Nico.Bannow@de.bosch.com,
More informationComputer Architecture s Changing Definition
Computer Architecture s Changing Definition 1950s Computer Architecture Computer Arithmetic 1960s Operating system support, especially memory management 1970s to mid 1980s Computer Architecture Instruction
More informationReducing DRAM Latency at Low Cost by Exploiting Heterogeneity. Donghyuk Lee Carnegie Mellon University
Reducing DRAM Latency at Low Cost by Exploiting Heterogeneity Donghyuk Lee Carnegie Mellon University Problem: High DRAM Latency processor stalls: waiting for data main memory high latency Major bottleneck
More informationEEL 5722C Field-Programmable Gate Array Design
EEL 5722C Field-Programmable Gate Array Design Lecture 15: Introduction to SystemC* (cont.) Prof. Mingjie Lin * SystemC Tutorial, Silvio Velo 1 Starting Example:Full Adder 2 Modules Example: 3 Processes
More informationOverview. Design flow. Principles of logic synthesis. Logic Synthesis with the common tools. Conclusions
Logic Synthesis Overview Design flow Principles of logic synthesis Logic Synthesis with the common tools Conclusions 2 System Design Flow Electronic System Level (ESL) flow System C TLM, Verification,
More informationLecture 41: Introduction to Reconfigurable Computing
inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture 41: Introduction to Reconfigurable Computing Michael Le, Sp07 Head TA April 30, 2007 Slides Courtesy of Hayden So, Sp06 CS61c Head TA Following
More informationCOMPREHENSIVE SYSTEMVERILOG-SYSTEMC-VHDL MIXED-LANGUAGE DESIGN METHODOLOGY
COMPREHENSIVE SYSTEMVERILOG-SYSTEMC-VHDL MIXED-LANGUAGE DESIGN METHODOLOGY Rudra Mukherjee Mentor Graphics Corporation rudra_mukherjee@mentor.com Gaurav Kumar Verma Mentor Graphics Corporation gaurav-kumar_verma@mentor.com
More information101-1 Under-Graduate Project Digital IC Design Flow
101-1 Under-Graduate Project Digital IC Design Flow Speaker: Ming-Chun Hsiao Adviser: Prof. An-Yeu Wu Date: 2012/9/25 ACCESS IC LAB Outline Introduction to Integrated Circuit IC Design Flow Verilog HDL
More informationThe following program computes a Calculus value, the "trapezoidal approximation of
Multicore machines and shared memory Multicore CPUs have more than one core processor that can execute instructions at the same time. The cores share main memory. In the next few activities, we will learn
More informationSimulation and Exploration of LAURA Processor Architectures with SystemC
Simulation and Exploration of LAURA Processor Architectures with SystemC M.Sc. thesis of Feraaz Imami July 9, 2009 Leiden Institute of Advanced Computer Science Leiden University Supervisor: Second reader:
More informationCheckers for SystemC Designs
Checkers for SystemC Designs Daniel Große Rolf Drechsler Institute of Computer Science University of Bremen 8359 Bremen, Germany {grosse, drechsle}@informatik.uni-bremen.de Abstract Today s complex systems
More informationSystemC based NoC (Network-on-Chip) Modeling Course Project
SystemC based NoC (Network-on-Chip) Modeling Course Project COE 838: Systems on Chip Design Department of Electrical and Computer Engineering Ryerson University COE838-Course Project Page 1/13 1. Introduction
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 informationVIRTUAL FUNCTIONS Chapter 10
1 VIRTUAL FUNCTIONS Chapter 10 OBJECTIVES Polymorphism in C++ Pointers to derived classes Important point on inheritance Introduction to virtual functions Virtual destructors More about virtual functions
More informationModeling with SystemC TM Workshop Version 1.4
Modeling with SystemC TM Workshop Version 1.4 An investment in continuing success! 2000 Author: Martin Wang 3 Days SystemC TM training based on SystemC Ver. 1.0 Author: Martin Wang of SLD Workshop Prerequisites
More informationLecture 4 Fundamentals of SystemC (Part II)
Lecture 4 Fundamentals of SystemC (Part II) Multimedia Architecture and Processing Laboratory 多媒體架構與處理實驗室 Prof. Wen-Hsiao Peng ( 彭文孝 ) pawn@mail.si2lab.org 2007 Spring Term 1 Acknowledgements This lecture
More informationG52CPP C++ Programming Lecture 7. Dr Jason Atkin
G52CPP C++ Programming Lecture 7 Dr Jason Atkin 1 This lecture classes (and C++ structs) Member functions inline functions 2 Last lecture: predict the sizes 3 #pragma pack(1) #include struct A
More informationModular SystemC. In-house Training Options. For further information contact your local Doulos Sales Office.
Modular SystemC is a set of modules related to SystemC TM (IEEE 1666-2005) aimed at fulfilling teambased training requirements for engineers from a range of technical backgrounds, i.e. hardware and software
More informationAdvanced Verification Topics. Bishnupriya Bhattacharya John Decker Gary Hall Nick Heaton Yaron Kashai Neyaz Khan Zeev Kirshenbaum Efrat Shneydor
шт Bishnupriya Bhattacharya John Decker Gary Hall Nick Heaton Yaron Kashai Neyaz Khan Zeev Kirshenbaum Efrat Shneydor Preface xv 1 Introduction to Metric-Driven Verification 1 1.1 Introduction 1 1.2 Failing
More informationSystem-Level Verification Platform using SystemVerilog Layered Testbench & SystemC OOP
, pp.221-230 http://dx.doi.org/10.14257/ijca.2014.7.2.21 System-Level Verification Platform using SystemVerilog Layered Testbench & SystemC OOP Young-Jin Oh and Gi-Yong Song * Department of Electronics
More informationExperience the Next ~Wave~ of Analog and Digital Signal Processing using SystemC AMS 2.0 Session 1: SystemC AMS Introduction
Experience the Next ~Wave~ of Analog and Digital Signal Processing using SystemC AMS 2.0 Session 1: SystemC AMS Introduction Karsten Einwich, Fraunhofer IIS/EAS Session 1 - Outline Session 1: SystemC AMS
More informationExperiences and Challenges of Transaction-Level Modelling with SystemC 2.0
Experiences and Challenges of Transaction-Level Modelling with SystemC 2.0 Alain CLOUARD STMicroelectronics Central R&D (Grenoble, France) STMicroelectronics TLM is useful SoC HW/SW design flow Standard
More informationCS 326 Operating Systems C Programming. Greg Benson Department of Computer Science University of San Francisco
CS 326 Operating Systems C Programming Greg Benson Department of Computer Science University of San Francisco Why C? Fast (good optimizing compilers) Not too high-level (Java, Python, Lisp) Not too low-level
More informationAdding a Java GUI to SystemC Simulation for Virtual Prototyping of Embedded Systems
Proceedings of the 5th WSEAS Int. Conf. on System Science and Simulation in Engineering, Tenerife, Canary Islands, Spain, December 16-18, 2006 136 Adding a Java GUI to SystemC Simulation for Virtual Prototyping
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 informationSymbols, Compilation Units, and Pre-Processing
Symbols, Compilation Units, and Pre-Processing Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana March 6, 2017 Outline Compilation process Symbols: compilation units and linking
More informationPhysical-Aware High Level Synthesis Congestion resolution for the realization of high-density and low-power
CDN Live Japan on July 18, 2014 Physical-Aware High Level Synthesis Congestion resolution for the realization of high-density and low-power Masato Tatsuoka SoC Front-End Design Dept. SoC Design Center
More informationSC32 SystemC Feasibility study including MIPSsim ISS Micronas GmbH Alessandro Ogheri, Jürgen Helmschmidt, Stefan Lüthin, Joachim Möderndorfer (April
SC32 SystemC Feasibility study including MIPSsim ISS Micronas GmbH Alessandro Ogheri, Jürgen Helmschmidt, Stefan Lüthin, Joachim Möderndorfer (April - June 2005) Agenda I. Idea & Plan (JH) II. Steps &
More informationGenerating High Coverage Tests for SystemC Designs Using Symbolic Execution. Bin Lin Department of Computer Science Portland State University
Generating High Coverage Tests for SystemC Designs Using Symbolic Execution Bin Lin Department of Computer Science Portland State University 1 Agenda Introduction Related work and Background Our Approach
More informationUniversal Verification Methodology(UVM)
Universal Verification Methodology(UVM) A Powerful Methodology for Functional Verification of Digital Hardware Abstract - With the increasing adoption of UVM, there is a growing demand for guidelines and
More informationModule Contact: Dr Anthony J. Bagnall, CMP Copyright of the University of East Anglia Version 2
UNIVERSITY OF EAST ANGLIA School of Computing Sciences Main Series UG Examination 2014/15 PROGRAMMING 2 CMP-5015Y Time allowed: 2 hours Answer four questions. All questions carry equal weight. Notes are
More informationOUTLINE Introduction Power Components Dynamic Power Optimization Conclusions
OUTLINE Introduction Power Components Dynamic Power Optimization Conclusions 04/15/14 1 Introduction: Low Power Technology Process Hardware Architecture Software Multi VTH Low-power circuits Parallelism
More information