Testing¶
All block-level tests use cocotb, with first class support for cocotb 2.0.
All inter-IP dependencies should be kept to a minimum and dependency on the
project structure as well. Practically, this means if use of $ROOT
can be
avoided, it should be.
Cores should follow a structure like:
.
└── core_a/
├── hdl/
│ ├── a.v
│ └── b.v
├── sim/
│ └── <simulation output>
├── tests/
│ ├── test_a.py
│ ├── test_b.py
│ └── <additional testcase data>
└── fpga/
└── Makefile