Importing Verilator Coverage
Verilator writes coverage data in the SystemC::Coverage-3 text format
(usually coverage.dat). PyUCIS imports both functional coverage
(covergroups, coverpoints, bins) and code coverage (line, branch, toggle).
Basic Import
ucis convert --input-format vltcov coverage.dat -o coverage.xml
To convert directly to an SQLite database (faster for large files):
ucis convert --input-format vltcov --output-format sqlite \
coverage.dat -o coverage.ucisdb
Merging Multiple Runs
ucis merge --input-format vltcov \
test1/coverage.dat test2/coverage.dat test3/coverage.dat \
-o merged.xml
Generating Verilator Coverage
Enable coverage when compiling and running your simulation:
# Compile with coverage instrumentation
verilator --coverage --coverage-func --coverage-line -cc design.v
# Run (generates coverage.dat in the working directory)
make -C obj_dir -f Vdesign.mk
./obj_dir/Vdesign
Next Steps
Merging Coverage — combine runs into a single database
Exploring Coverage with TUI — explore coverage interactively
Interactive HTML Report — generate an HTML report