cocotb-test
provides standard python unit testing capabilities for cocotb
- allow the look and feel of Python unit testing
- remove the need for Makefiles (includes Makefile compatibility mode)
- allow easy customization of simulation flow
- easy installation (especially on Windows)
- allow to use pytest-xdist or pytest-parallel for parallel runs
-
Install and use conda for Python (can be installed in user/local folder).
-
Install development tools for conda (Windows only):
conda install m2w64-gcc libpython
- Install simulator (for Icarus Verilog):
conda install -c conda-forge iverilog
- Install the package via pip:
pip install -v https://github.com/themperek/cocotb-test/archive/master.zip
or
git clone https://github.com/themperek/cocotb-test.git
pip install -v -e cocotb-test
- Create a
test_dff.py
file (check test folder for more examples):
from cocotb_test.run import run
def test_dff():
run(
verilog_sources=["dff.v"], # sources
toplevel="dff", # top level HDL
module="dff_cocotb" # name of cocotb test module
)
- Run pytest:
pytest -s
For cocotb tests/examples install cocotb in editable mode
git clone https://github.com/potentialventures/cocotb.git
pip install -e cocotb
SIM=icarus pytest -s --junitxml=test-results.xml --cocotbxml=test-cocotb.xml tests