SystemC Training Program

Kasura has the distinction of training more than 300 professionals of the semiconductor industry through its SystemC training programs. Kasura’s SystemC training course has been prepared with the needs of the target audience in mind. While engineers who are novices in C/C++ and SystemC can start out with the two day SystemC Basic Training course, those who are familiar with and have used SystemC or have worked in C++ based modeling can opt for the three day SystemC Advanced Training course. At the end of the training course, the candidate will be able to comprehend most of the constructs in SystemC and TLM2 library with fair amount of hands on experience on applying SystemC to simple hardware designs through the work exercises. The candidate will also be familiar with the terminologies of system level simulation and virtual prototyping domains.

Kasura has kept in mind the amount of information that can be grasped by candidates in the duration of a day and has accordingly come out with the training itinerary. Each typical training day consists of a morning theory session wherein candidates are presented with SystemC and TLM concepts via a slide presentation and an afternoon hands-on working session in which the candidate applies the concepts presented in the morning session in the form of coding exercise. This ensures that not only the candidate gets to understand the concepts but also can check for himself/herself the depth of his/her understanding. The sessions are expected to be interactive in which the audience can proactively query the instructor for more details and examples. Case studies are showcased in the course to help the participant better appreciate the constructs and concepts.

The details of the training courses in SystemC offered by Kasura are as below -

SystemC Basic Training Course [2 days]

Course Highlights:

  • Revision of C++ concepts
  • Introduction to SystemC language and virtual prototyping,
  • SystemC basics , Processes and events, Ports and Signals, Interface and channels
  • SystemC Datatypes
  • Hands on sessions for the above topics

Course Requirements:

  • Good knowledge of hardware concepts and designs is mandatory
  • Understanding or experience with C or C++ is desirable

Course Contents:

Day1: SystemC basic blocks

Day 2: SystemC communication

  1. Introduction
  2. SystemC basics: Modules and Hierarchy
    1. Module Ports and Signals
    2. Processes
    3. Module Constructors
  3. Processes and Events
    1. Basics
    2. Method and Thread Process
  4. Lab Session
  1. Ports and Signals
    1. Reading and Writing Ports and Signals
    2. Signal binding
    3. Clocks
  2. Interface and channels
  3. Data Types
    1. Bit Type and Arbitrary width Bit Type
    2. Logic Type and Arbitrary width Logic Type
    3. User-Defined Data Types
  4. Waveforms and Monitoring Behaviour
  5. Lab Session


SystemC Advanced Training Course [3 days]

Course Highlights:

  • Revision of SystemC
  • Introduction to TLM2.0 and usage
  • TLM2.0 Core Interfaces
  • TLM2.0 Coding Styles
  • TLM2.0 Sockets and Extensions
  • Hands on sessions for the above topics

Course Requirements:

  • Good knowledge of hardware concepts and designs is mandatory
  • Basic knowledge and hands on experience with SystemC is mandatory

Course contents:

Day1: SystemC TLM 2.0 basic blocks

  1. Introduction
  2. TLM 2.0 Core Interfaces
  3. Generic Payload
  4. Sockets
  5. Lab Session

Day2: SystemC TLM 2.0 Coding Styles

  1. Loosely-Times Coding Style
    1. Temporal Decoupling
    2. Quantum Keeper
  2. Approximately-times Coding Style
    1. Phases
    2. Payload event queue
  3. Lab Session

Day 3: SystemC TLM 2.0 Extensions

  1. Convenience Sockets
  2. Extensions
  3. Analysis Interfaces and Analysis Ports
  4. Case Study
  5. Lab Session