Introduction
Bucket is a functional coverage tool allowing for the creation of coverpoints, sampling of data, and viewing of collected coverage. It is written entirely in Python which allows for easy integration with cocotb and other Python-based testbenches.
Rather than binding coverage to each DUT monitor, Bucket creates a coverage tree which is to be instanced within your testbench. The testbench is expected to collate any data which is to be covered (normally a dataclass) and pass it to the top-level coverage instance via sample().
Since Bucket coverage is independent from the simulator, and the testbench, it can also be instanced separately to work with a model. Alternatively, if you have a log / test output parser, a trace object can be re-formed and passed to Bucket. This allows you to quickly iterate on building and debugging coverage without having to re-run lengthy simulations.
Prev: Index
Next: Coverpoints