/hwtSimApiVerilator

Verilator bindings for hwtSimApi

Primary LanguagePython

hwtSimApiVerilator

CircleCI Coverage Status PyPI version Documentation Status

This library contains Python/C++ bindigns for Verilator RTL simulator generator and for simulator binaries generated from it.

Installation

Linux (Ubuntu 19.10)

  • sudo apt install build-essential python3 cmake flex bison git libboost-dev libboost-all-dev
  • download verilator
  • apply patches from verilator_patches_tmp ( as it is done in .travis.yml)
  • install verilator
  • run sudo python3 setup.py install to install globally or python3 setup.py install --user to install to ~/.local/...
  • Or if you want to just test this library without any kind of installation use python3 setup.py build to build c extensions.

Windows

Using windows is not recomended with verilator. Asi it is more easy to use docker than tweak Verilator to run on Windows as desired.

  • install Python 3
  • install Visual Studio (C++)
  • install CMake
  • install boost
  • install Cygwin and save installer setup-x86_64.exe to cygwin root.
  • use ci_scripts/appveyor_install.sh to install this library and it's dependencies

After installation verilator has to run under cygwin, but python and this library are not restricted.

Similar software

  • cocotb - there is also WIP version of cocotb-verilator integration
  • cocotb-coverage - Functional Coverage and Constrained Randomization Extensions for Cocotb
  • chisel-testers
  • firesim
  • fli - using ModelSim Foreign Language Interface for c – VHDL
  • kratos - hardware generator/simulator
  • midas
  • py-hpi - Python/Simulator integration using procedure calls
  • PyVSC Python package providing a library for Verification Stimulus and Coverage
  • uvm-python - cocotb based python UVM