RTL simulator API
Project description
PyCOCOTB
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 orpython3 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
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file pycocotb-1.1.tar.gz
.
File metadata
- Download URL: pycocotb-1.1.tar.gz
- Upload date:
- Size: 40.1 kB
- Tags: Source
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b72adf9808c905e09ef174089048a481b8b312d29490d3a9f4bdaa3f589af59d |
|
MD5 | be9168adafc981614d2ec3aa8fb8e714 |
|
BLAKE2b-256 | 5f44106ffe9635312d7693f05a23278170d9adfb0449e4b7b621c16ee7a73558 |