SystemC Summer of Code 2025
Accellera Systems Initiative will host the SystemC Summer of Code (SSoC) 2025 program and invites students to sign-up for a 12 week C++-based programming assignment during the summer period. This page lists some suggested projects by Accellera, and students are encouraged to improve and enrich these proposals!
Application process
If you are interest to contribute to the evolution of the SystemC ecosystem, please submit your project proposal along with your resume to ssoc@lists.accellera.org starting March 5. The application deadline is April 4.
Students are encouraged to apply quickly, as there are limited seats available. Students are notified not later than April 7.
Submitted applications should be based on the use of Accellera’s SystemC reference implementation or any of the SystemC extensions for Analog/Mixed-Signal (AMS), Control and Inspection (CCI), Common Practices, or Verification.
Timeline
- February 24: SystemC Summer of Code (SSoC) 2025 program and project proposals announced
- March 5: Start submitting your application to ssoc@lists.accellera.org
- April 4: Application deadline
- May – August: Coding period
- September – October: Wrap-up and hand-over project to the Accellera working groups
2025 Project proposals
This section lists the suggested projects by Accellera, and students are encouraged to improve and enrich these proposals!
- Advancing the SystemC build and test flow using Continuous Integration (CI)
- Thread-safe SystemC reference implementation
- SystemC Control Interface
- Federated Simulation including SystemC
Advancing the SystemC build and test flow using Continuous Integration (CI)
This project focuses on the improvement of the overall quality of Accellera’s SystemC reference implementation and Configuration, Control and Inspection (CCI) library with the aim to lower the barriers to start using these libraries. As of now, a Continuous Integration (CI) build and test flow exists for the SystemC CCI library. For the SystemC reference implementation, a very basic CI/CD build flow is available. Furthermore, both the SystemC and SystemC CCI library need a upgrade of the CMake-based build system to ease integration into other CMake projects. Also the regression environment requires a major upgrade, replacing the old Perl runners by a more modern test infrastructure like GoogleTest.
- Skills required: C++, SystemC, CMake, Git, Github Actions, Perl, GoogleTest
- Mentors: will be announced later
- Expected duration: 480h (12 weeks)
- Level of difficulty: Low
- Expected outcome: CI/CD build flow for SystemC and CCI including improved CMake build, test coverage, release automation and visualization
Thread-safe SystemC reference implementation
This project proposal is to upgrade the existing SystemC reference implementation and make it thread-safe. Thread-safety is important to be able to use SystemC in a multi-threading environment, and improvements are required in the underlying simulation engine as well as in the SystemC data types. The latest SystemC standard, IEEE Std. 1666-2023, defines C++17 as baseline language, which enables the use of C++17 language capabilties and features to upgrade the simulation engine. Note however that enhancements should not alter the public API, to maintain compatible with the existing SystemC standard.
- Skills required: C++, SystemC, Git, multi-thread applications
- Mentors: will be announced later
- Expected duration: 480h (12 weeks)
- Level of difficulty: Medium
- Expected outcome: Thread-safe SystemC reference implementation leveraging C++17 language constructs and features.
SystemC Control Interface
This project proposal is to develop a control interface as part of the Configuration, Control and Inspection (CCI) library. The control interface should offer an interactive API to control the simulator (e.g., start, stop, pause), offer means to access parameters (e.g., set, get, inspect) and offer a light-weight interactive API to enable inspection and debug. Implementation of such API could be implemented as command-line interface (CLI) or might use web-techologies such as a REST-API.
- Skills required: C++, SystemC, CCI, Git
- Mentors: will be announced later
- Expected duration: 480h (12 weeks)
- Level of difficulty: Medium
- Expected outcome: SystemC CCI control API
Federated simulation including SystemC
Federated simulation targets an efficient integration of multiple system-level models and/or simulation environments into a distributed and orchestrated simulation framework. It should enable multi-domain simulation where different models-of-computation are integrated and synchronized. Accellera has started the Federated Simulation Working Group and User Group to address the interoperability and standardization aspects to enable combining existing standards and technologies such as SystemC TLM, FMI, QEMU and Zenoh. This project aims at building a demonstrator where different simulation and modeling technologies like SystemC and FMI are combined and interconnected via an existing transport layer (e.g. DDS, SilKit or Zenoh).
- Skills required: C++, SystemC, FMI, QEMU, (DDS | Zenoh | Silkit)
- Mentors: will be announced later
- Expected duration: 480h (12 weeks)
- Level of difficulty: Hard
- Expected outcome: Demonstrator showing intercommunication between two or more simulation engines containing models implemented in e.g. SystemC TLM, FMI, QEMU