A Python package to interface with SystemC library and script SystemC simulations
Go to file
2021-03-14 09:33:54 +01:00
pysysc remove cci global broker instantiation 2021-03-14 09:33:54 +01:00
tests add license identifier 2021-01-04 19:54:53 +00:00
.gitignore Initial commit 2018-12-31 16:18:02 +01:00
.project Initial commit 2018-12-31 16:18:02 +01:00
.pydevproject update packaging and test 2020-12-23 09:17:31 +01:00
LICENSE Updated license formatting 2018-12-31 16:32:38 +01:00
MANIFEST.in update packaging and test 2020-12-23 09:17:31 +01:00
NOTES.md Added support for SCV & CCI, updated notes 2019-01-06 15:21:33 +01:00
PyScModule.cpp adapt paths for include and lib dirs 2021-02-05 10:34:24 +00:00
PyScModule.h add license identifier 2021-01-04 19:54:53 +00:00
README.md updated some instructions installation 2021-02-09 11:27:30 +00:00
setup.py adapt paths for include and lib dirs 2021-02-05 10:34:24 +00:00

PySysC

A Python 3 package to use SystemC from Python

How to setup the environment

The installation for PySysC is as follows (using bash shell). The process has been tested under CentOS7 and Ubuntu 20.04. Make sure a newer version of gcc is in your path (tested with gcc-6.3.0). Also the SystemC installation has to be reference with the environment variable SYSTEMC_HOME.

If you get an error complaining about missing Python.h, you need to install Python development headers. See the articel under https://blog.ducthinh.net/gcc-no-such-file-python-h.

# create virtual environment
python3 -m venv pysysc-env
# and enable it
. pysysc-env/bin/activate
# install needed packages
pip install --upgrade pip
python3 -m pip install wheel
# install cppyy, C++ std version needs to match the version used to build the SystemC library
STDCXX=11 python3 -m pip install cppyy
# clone of PySysC
git clone https://git.minres.com/SystemC/PySysC.git
# install PySysC, for development PySysC use 'python3 -m pip install -e`
python3 -m pip install -e PySysC

Testing (preliminary)

To use the tests you also need to clone and build the PySysC-SC repo as sibling of PySysC. It contains the the code and libraries being used in the test.

TODO

  • pythonize sc_module with iteration protocol (__next__ and StopIteration exception)