Skip to content

This tool translates synthesizable SystemC code to synthesizable SystemVerilog.

License

Notifications You must be signed in to change notification settings

intel/systemc-compiler

Repository files navigation

Intel® Compiler for SystemC*

*Other names and brands may be claimed as the property of others.

Introduction

Intel® Compiler for SystemC* (ICSC) translates synthesizable SystemC design into equvivalent SystemVerilog code.

ICSC checks a SystemC design for common coding mistakes and generates human-readable SystemVerilog code. The tool supports SystemC synthesizable subset in method and thread processes, and arbitrary C++ code in module constructors. ICSC is based on Clang/LLVM 15.0.7 and includes SystemC 3.0.0.

See more information at Intel Compiler for SystemC wiki.

Common SystemC Library

Common SystemC Library consists of types, modules and functions which could be used in SystemC designs and testbench code. The main part of the library are communication channels including Target/Initiator, FIFO, Register and others. The channels have functional interfaces similar to TLM 1.0.

There are Communication channels training slides.

See more information at Common SystemC Library .

License

ICSC is distributed under the Apache License v2.0 with LLVM Exceptions.

Getting started

ICSC is based on Clang/LLVM frontend and can be installed at most Linux OS. There is install.sh script that downloads and builds ICSC and the required dependencies at SLES12, Ubuntu 22.04, and Ubuntu 20.04.

An instruction how to install and run ISCS is given at Getting started.

Documentation

User guide document describes installation procedure, run tool options, preparation of SystemC design for synthesis, tool extensions and advanced verification features.

ICSC supports SystemC Synthesizable Subset. Details of SystemC/C++ subset supported are described at SystemC/C++ supported.

Publications

Help

To get help please submit your question or issue