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
Cost: Members € 1100; Non-members € 1650
Course code: N/A
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.
- 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.
Essential C++ for SystemC (23 – 26 Mar, 4 days x 4 hours / day)
Differences between C and C++
Classes and Objects
Special Member Functions
Master the subtleties of object-oriented programming in C++
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
Learn to apply SystemC to modeling data, communication and busses
SystemC Data Types
Debugging and Tracing
Interfaces and Channels
Exploration of the application of Transaction-Level modeling
Introduction to Transaction Level Modeling, TLM-2.0
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.