I installed the latest Verilator 3.875 from trunk on Ubuntu 14.04 64bit. I also installed SYSTEMC, VerilogPerl and SystemPerl as required in documentation
1. When I run make test in the verilator folder, it reports that tests are passed, but I see no coverage info in the test_sc/logs folder. 2. I'm running verilator in the C++ environment. When I add the following lines to my main.cpp,
//inside main.cpp mkdir("logs", 0777); #if VM_COVERAGE SpCoverage::write(); // Writes logs/coverage.pl #endifI get compilation error:
../main.cpp: In function ‘int main(int, char**, char**)’: ../main.cpp:130:5: error: ‘SpCoverage’ has not been declared SpCoverage::write(); // Writes logs/coverage.pl ^ At global scope: cc1plus: warning: unrecognized command line option "-Wno-parentheses-equality" [enabled by default]
I believe there's something wrong with the coverage feature. Please fix it or write a clear guide how to add coverage to C++ environments.
Also available in: Atom