SystemC Evolution Fika
Stay tuned for the next date - TBA
The SystemC Evolution will not stop!
It will continue, with a planned SystemC Evolution Day for 2021, but it will also take a more regular shape, in the form of smaller, regular, workshops. We refer to each of these events as a fika, to honor the fika tradition of sharing a coffee, slowing down a bit, and talking about things that we care about.
The first SystemC Evolution Fika took place on March 17, 2021. These virtual events are free of charge. Two presentations were given; one on SystemC and Python and one about the Intel SystemC Compiler. See the abstracts and slides below.
March 17, 2021 Presentations
16:00 - 17:00 - Python and SystemC
Rocco Jonack, Arteris; Eyck Jentzsch, MINRES Technologies
Scripting is commonly used in today's applications and EDA tools. For SystemC various proprietary and open source solutions are available. All of them impose various constraints on SystemC users and often restrict the visibility of C++ components to Python. We present a novel approach of integrating SystemC. It does not require any instrumentation or manual preparation and exposes all SystemC types and functions as well as components provided by other libraries, i.e. IP libraries (even in binary form). It allows calling Python from SystemC modules e.g. to implement scriptable components for verification purposes. The session will outline how this can be used to implement interactive and dynamic tools to assemble Virtual prototypes (VP) easily as well as control their simulation. This is especially useful in HW/SW unit testing and FW verification where the dynamic nature of Python allows to select various test cuts of the VP to ease the tasks.
17:00 - 18:00 - Intel Compiler for SystemC
Mikhail Moiseev, Intel
Intel® Compiler for SystemC (ICSC) translates synthesizable SystemC design to synthesizable SystemVerilog design.
ICSC supports SystemC synthesizable subset in method and thread processes and arbitrary C++ code in module constructors. The tool produces human-readable SystemVerilog for complex multi-module designs in tens of seconds. This tool is focused on improving productivity of design and verification engineers and leaves optimization work for an underlying logic synthesis tool. It performs design checks to detect non-synthesizable code and common coding mistakes. ICSC is based on LLVM/Clang frontend, that allows to support modern C++ standards.
ICSC has a common library which includes collections of FIFOs, clock gate cells, zero-delay channels and others. ICSC supports SystemC immediate and temporal assertions translation into SystemVerilog Assertions (SVA).
The Intel® Compiler for SystemC is available at https://github.com/intel/systemc-compiler
See the past SystemC Evolution Day Events
- SystemC Evolution Day 2020
- SystemC Evolution Day 2019
- SystemC Evolution Day 2018
- SystemC Evolution Day 2017
- SystemC Evolution Day 2016