Merging coverage reports is supported by nvc but trying it in my run.py gives me RuntimeError: This simulator does not support merging coverage.
I was able to do it manually with:
nvc -c --merge=output.covdb input1.covdb input2.covdb input3.covdb
edit: there does seem to be a bug in nvc where only results from input1.covdb are included in the generated HTML report, but the size of the merged .covdb file indicates that it really does contain all the coverage data. VUnit should still support this command