Global training solutions for engineers creating the world's electronics

Essential C++ for SystemC SELF-PACED

Foundation level - 16 hours (estimated completion time)
ENQUIRE NOW about this training »


PLEASE NOTE: This is a ONLINE SELF-PACED training.


Course Overview

Essential C++ for SystemC takes engineers who have a basic knowledge of the C programming language and gives them a fast-track way to acquire a good grounding in C++, which is an essential foundation for learning SystemC.

This self-paced training is only available via the Doulos Thinkific Learning Portal. Please contact your local Doulos team to discuss your training needs and how to access the course. 

Select the drop-down blocks below to find out more.

  • Hardware design engineers who wish to become skilled in the practical use of SystemC for modelling digital hardware
  • System engineers and architects who wish to become skilled in the practical use of SystemC for system level modelling
  • Software engineers who already have good knowledge of C/C++, but who wish to acquire some practical experience in the use of the SystemC class libraries
  • The C++ language features necessary to master SystemC
  • Object-oriented programming techniques as used by the SystemC class libraries
  • The SystemC core language, data types and channels
  • How to make best use of the SystemC simulator to debug and validate your models
  • How to move up from RTL modelling to transaction-level modelling
  • An introduction to the SystemC TLM-2.0 standard
  • An overview of high-level synthesis using SystemC (optional)
  • An overview of the SystemC Verification Library SCV (optional)

Essential C++ for SystemC attendees need basic knowledge of the C programming language, in particular familiarity with C functions, variables, data types, operators, and statements.

This training is suitable for people with no previous knowledge of C++, as a refresher for those with limited knowledge of C++, or for hardware engineers who are familiar with VHDL or Verilog®.

Please contact Doulos direct to discuss and assess your specific experience against the pre-requisites.

Doulos training materials are renowned for being the most comprehensive and user friendly available. Their style, content and coverage is unique in the EDA training world, and has made them sought after resources in their own right. Fees include

  • Fully indexed class notes creating a complete reference manual
  • Workbook full of practical examples and solutions to help you apply your knowledge
  • Access to course exercises and worked solutions on the free and open EDA Playground platform.  

Learn about the differences between C and C++

From C to C++

Header files • Function overloading • Operator overloading • Pass-by-reference • const reference • Default arguments • I/O streams • Namespaces • Stream manipulators • Stream operator overloading • Standard string class • Stringstreams • Static, automatic, and dynamic storage • new and delete

Classes and Objects

Learn the principles of object-based design • Classes and objects • Inline members versus separate compilation • Public and private class members • Member functions • Scope resolution

Special Member Functions

Constructors • Destructors • Copy constructors • Initialization versus assignment • Pointers versus objects • The assignment operator • this • Constant objects and members

Vectors

Learn to make the most of the built-in standard classes • The C++ standard library • Vectors versus arrays • Common vector operations • Iterators

 

Master the subtleties of object-oriented programming in C++

Subobjects

Class relationships • Subobjects versus pointers • Initializing members • Initializing const members

Inheritance

Learn to exploit the power of object-oriented programming • Derived classes • Inheritance • Protected members • Up- and down-casting

Virtual Functions

Delve deeper into object-oriented programming techniques • Overriding methods • Virtual functions • Polymorphism • Identifying types at run-time • Examples from SystemC • Abstract base classes

Templates and Conversions

Advanced C++ features used in the SystemC class libraries • Function templates • Class templates • Examples from SystemC • Implicit conversions • User-defined conversions

Extra Features

Friends • Static members • Order of initialization • Multiple inheritance • Exceptions

All trademarks are acknowledged as the property of their respective holders.

Looking for team-based training, or other locations?

Complete an enquiry form and a Doulos representative will get back to you.

Enquiry FormPrice on request