freechipsproject / chisel-testers

Provides various testers for chisel users
Apache License 2.0
98 stars 50 forks source link

g++ compile error while adding --trace-fst to verilator options #292

Open hukangha opened 4 years ago

hukangha commented 4 years ago

Hi, Trying to get fst waveform instead of vcd waveform from verilator so that the execution time and waveform data size can be reduced. (currently runs hours and generates a 30GB vcd file) Added --trace-fst to execute option array:

Driver.execute( Array("--generate-vcd-output","off","--backend-name",s"$backendName",
      "--more-vcs-flags","--trace-fst --trace-depth 5 --x-initial unique"),
      ()=>new DMANetworkWithMem(memAddrWidth,memDataWidth)(nocDataWidth)(nNodesX,nNodesY)(nVCs)){
      c => new DMANetworkRWTest(c)

It reports an make error:

/home/hukang/data/work/noc/test_run_dir/noc.DMANetworkRWTester1555730092/DMANetworkWithMem-harness.cpp: In function ‘int main(int, char, char)’: /home/hukang/data/work/noc/test_run_dir/noc.DMANetworkRWTester1555730092/DMANetworkWithMem-harness.cpp:673:23: error: no matching function for call to ‘VDMANetworkWithMem::trace(VerilatedVcdC&, int)’ top->trace(tfp, 99); ^ In file included from :0:0: ./VDMANetworkWithMem.h:651:10: note: candidate: void VDMANetworkWithMem::trace(VerilatedFstC, int, int) void trace(VerilatedFstC tfp, int levels, int options = 0); ^~~~~ ./VDMANetworkWithMem.h:651:10: note: no known conversion for argument 1 from ‘VerilatedVcdC’ to ‘VerilatedFstC*’ At global scope: cc1plus: warning: unrecognized command line option ‘-Wno-undefined-bool-conversion’ make: [DMANetworkWithMem-harness.o] Error 1 make: Waiting for unfinished jobs....

and the test crushes. This seems an unsupported feature, do we need extra effert to generate fst waveform ?