Giter VIP home page Giter VIP logo

systemc_examples's Introduction

Introduction to SystemC: Tutorial Project

Preface

Given exercises mostly were taken from the book of David Black "SystemC: From Ground Up" 2nd Edition. However, project includes instructions how to set up the SystemC working environment with manual build or using Conan, to be able to concentrate on studying framework and not spending much time for initial configuration.

Building SystemC from scratch

We use SystemC version 2.3.4, which could be cloned directly from the Accellera official repo

git clone --depth 1 --branch 2.3.4_pub_rev_20190614 https://github.com/accellera-official/systemc.git
mkdir build-cmake
cd build-cmake
cmake .. -DCMAKE_CXX_STANDARD=17 -DCMAKE_INSTALL_PREFIX="/usr/local"
cmake --build .
touch ../docs/tlm/ChangeLog
sudo make install

Using conan

Building the project from source is simple. First you need to install conan.io according to the instructions and setup the Minres remote:

pip install --user conan
conan profile new default --detect
export PATH=${PATH}:$HOME/.local/bin

Now install required packages from the conanfile (SystemC, CCI and SCV library), build it from sources if required, build the project and run it:

mkdir build-cmake
cd build-cmake
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build .
bin/systemc_example

If you would like to analyze the recording output further just download the latest release of SCViewer to open the transaction_example.txlog.

Notes

Don't forget to add '-s compiler.libcxx=libstdc++11' to the conan call or changing compiler.libcxx, otherwise you might have run into GCC ABI incompatibility, or add

compiler.libcxx=libstdc++11

to $HOME/.conan/profiles/default

systemc_examples's People

Contributors

yuchdev avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.