nickg / nvc

VHDL compiler and simulator
https://www.nickg.me.uk/nvc/
GNU General Public License v3.0
627 stars 77 forks source link

Implement UCIS coverage API export #933

Open Blebowski opened 1 month ago

Blebowski commented 1 month ago

The current coverage data format is not usable with other HW tools. To tackle the interoperability, Accelera released UCIS (Unified Coverage Interoperabiliy Standard): https://www.accellera.org/downloads/standards/ucis

The aim of this issue is to extend --cover-export command to allow exporting also to UCIS format.

nickg commented 1 month ago

I actually started doing this last year but didn't get very far. Either we could export using the UCIS C API (which would allow us to write directly to ModelSim's ucdb database if we linked against their library), or export directly to XML similar to the Cobertura exporter. The disappointing thing about the XML format is that it doesn't seem to be widely adopted by vendors: ModelSim only allows import not export, and RiveraPro exports to XML but the schema is totally different to the standard (?!).

Blebowski commented 1 month ago

I don't know, I only started looking at the standard now, last time we chatted about it, I only briefly skimmed through.

As of the C API export I think:

Sure, both XML and C API would be best. Import and Export by NVC would be best, but that is a lot of work and lot of maintenance then.

I think highest priority would be to write XML exporter to --cover-export and later see how to proceed.

nickg commented 3 weeks ago

I added a simple XML format for debug/testing in 0a433ca9bc89. I also pushed my earlier attempt to implement the UCIS C API to the ucis branch (a5205c1).