Comprehensive SystemC

Start date: 23 March 2021

Duration: 23 - 26 Mar: 9am - 1pm each day C++ & 29 March – 1 April: 9am - 3pm each day SystemC

Location: Online course

Certificate: N/A

Cost: Members € 1100; Non-members € 1650

Course code: N/A

Programme overview

Comprehensive SystemC is a training class introducing SystemC, a C++ class library for system-level modelling. SystemC is typically used to model systems that have both hardware and software content at the transaction level of abstraction.
Essential C++ for SystemC (sessions 1-4) 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.
Fundamentals of SystemC (session 5-8) builds on the foundation laid by Essential C++ to prepare the engineer for the practical use of SystemC for transaction-level modelling. The class describes the core SystemC v2.2 class library and its application for system modelling, virtual platforms, and hardware implementation. An introduction to the SystemC TLM-2.0 standard is included.
It will be delivered as an interactive remote learning course with a maximum of 12 participants to maintain high quality training.

Learning outcomes

  • 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

Who is the course for?

  • 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

Delegates need basic knowledge of the C programming language, in particular familiarity with C functions, variables, data types, operators, and statements.

Schedule

Essential C++ for SystemC (23 – 26 Mar, 4 days x 4 hours / day)
Differences between C and C++
Classes and Objects
Special Member Functions
Vectors
Master the subtleties of object-oriented programming in C++
Subobjects
Inheritance
Virtual Functions
Templates and Conversions

Fundamentals of SystemC (29 March – 1 April: 4 days x 6 hours / day)
Become proficient in using the features of SystemC
Introduction to System
Getting Started, compiling and executing a SystemC model
Modules and Channels
Processes and Time
The Scheduler
Learn to apply SystemC to modeling data, communication and busses
SystemC Data Types
Debugging and Tracing
Interfaces and Channels
Bus modeling
Exploration of the application of Transaction-Level modeling
Additional Features
Introduction to Transaction Level Modeling, TLM-2.0
Further TLM-2.0

Trainer Profile

Dr. David Long  specialises in Hardware Description Language-based design and verification training. As well as developing, writing and presenting training courses in leading-edge methodologies for FPGA, ASIC and SoC design and verification, David regularly contributes to technical papers, tutorials and conference presentations at major industry events world-wide.
David was co-author of the IEEE Standard 1666-2005 SystemC Language Reference Manual and has written the draft LRM for the SystemC Control, Configuration and Inspection (CCI) working group. 

Email Gerry.Byrne@midasireland.ie for bookings and queries