Skip to main content

PyCOCOTB

Build Status Coverage Status PyPI version

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.

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

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
  • used in HWT, many example hardware tests can be found in hwtLib

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

Metadata

Release files for pycocotb 1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pycocotb 1.1
File Size Uploaded
pycocotb-1.1.tar.gz 40.1 kB Details

Release files / pycocotb-1.1.tar.gz

Download URL pycocotb-1.1.tar.gz
Size 40.1 kB
Tags Source
SHA-256 checksum
How to use checksums
b72adf9808c905e09ef174089048a481b8b312d29490d3a9f4bdaa3f589af59d
BLAKE2b-256 checksum
How to use checksums
5f44106ffe9635312d7693f05a23278170d9adfb0449e4b7b621c16ee7a73558
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.1.0 requests-toolbelt/0.9.1 tqdm/4.55.0 CPython/3.7.1

Release history Release notifications | RSS feed

This release

1.1 This release

1 release file

1.0

1 release file

0.9

1 release file

0.8

1 release file

0.7

1 release file

0.6

1 release file

0.5

1 release file

0.4

1 release file

0.3

1 release file

0.2

1 release file

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page