Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

RTL simulator API

Project description


Build Status Coverage Status PyPI version ROADMAP

This is a library which contains bindigns for RTL simulators and provides UVM like environment which simplifies feeding and checking the circuit running in RTL simulator. Goal of this library is to remove obscurity and support code reuse. Each simulation is just python object without special properties. This allows also integration with existing test frameworks and better test automation and debugging.


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 install --verilator to install globally or python3 install --user --verilator to install to ~/.local/...
  • Or if you want to just test this library without any kind of installation use python3 build --verilator to build c extensions.


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/ to install this library and it's dependencies

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

Current state - alfa

  • experimental UVM like environment
  • experimental Python <-> Verilator RTL simulator binding (pycocotb.verilator)
  • experimental Python based RTL simulator (pycocotb.basic_hdl_simulator)
  • some examples in tests

Similar software

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pycocotb, version 0.4
Filename, size File type Python version Upload date Hashes
Filename, size pycocotb-0.4.tar.gz (38.1 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page