Project

General

Profile

[logo] 
 
Home
News
Activity
About/Contact
Major Tools
  Dinotrace
  Verilator
  Verilog-mode
  Verilog-Perl
Other Tools
  IPC::Locker
  Parallel::Forker
  Voneline
General Info
  Papers

FST dumping 100x slower than VCD

Added by Stan Sokorac about 1 year ago

I gave FST dumping a shot today... but the simulation speed was quite dramatically impacted -- well over 100x slowdown. The file did dump correctly, and GTKWave opens it fine -- and it does so very quickly, must faster than VCD, so I have further motivation to start using FST files :).

Has anyone else seen a similar slowdown with FST dumping? Any pointers to what I could try, what might be happening? All I've done was to replace --trace with --trace-fst, and all references to VerilatedVcdC to VerilatedFstC. This is on OSX.


Replies (8)

RE: FST dumping 100x slower than VCD - Added by Wilson Snyder about 1 year ago

Check you compiled all code including the gtkwave/*.c files with -O3. Assuming still bad, please compile and link with debug and profiling (-ggdb -gprof) and make a gprof dump.

RE: FST dumping 100x slower than VCD - Added by David Stanford about 1 year ago

I'm working on a similar issue, and noticed that the documentation says for benchmarking purposes, pass --x-initial=fast --x-assign=fast. It might be a quirk of our build system, but that fails with an error saying that --x-initial=fast is an invalid option. After some experimentation, I believe --x-initial fast and --x-assign fast does work.

RE: FST dumping 100x slower than VCD - Added by Wilson Snyder about 1 year ago

David, Fixed documentation in git, thanks for the note.

RE: FST dumping 100x slower than VCD - Added by Jérémie Chabloz about 1 year ago

Would it be also possible for your usage to use the Gtkwave "vcd2fst" utility? I regularly use it since it provides a very significant compression factor... (and then delete the .vcd file).

RE: FST dumping 100x slower than VCD - Added by Todd Strader 11 months ago

What is the expected performance delta between VCD and FST tracing? Given sane and consistent compile flags between a VCD and FST build, should one expect the runtimes to be similar? Or is FST always doing more work and therefore always slower?

RE: FST dumping 100x slower than VCD - Added by Wilson Snyder 11 months ago

Looked at some benchmarks and there's certainly some inefficiencies, maybe 10x, but a 100x slower would be unexpected.

Actions: 1. Time is being wasted in converting to ascii then back to binary, the GTKWave author is looking at improving this. 2. GTKWave supports threading and Verilator can add a option to support this, this will help but is at most a 2x improvement. I'll look at this. 3. The code generally needs to be profiled and analyzed for improvements. Anyone interested in this?

RE: FST dumping 100x slower than VCD - Added by Wilson Snyder 11 months ago

Git towards 4.014 adds LZ4 compression which is faster, and --trace-fst-thread (#2 above). Later fixes will do #1 and #3 described above.

RE: FST dumping 100x slower than VCD - Added by Wilson Snyder 6 months ago

Added bug1566 so this is tracked.

    (1-8/8)