verilator/include
Geza Lore b51f887567
Perform VCD tracing in parallel when using --threads (#3449)
VCD tracing is now parallelized using the same thread pool as the model.
We achieve this by breaking the top level trace functions into multiple
top level functions (as many as --threads), and after emitting the time
stamp to the VCD file on the main thread, we execute the tracing
functions in parallel on the same thread pool as the model (which we
pass to the trace file during registration), tracing into a secondary
per thread buffer. The main thread will then stitch (memcpy) the buffers
together into the output file.

This makes the `--trace-threads` option redundant with `--trace`, which
now only affects `--trace-fst`. FST tracing uses the previous offloading
scheme.

This obviously helps a lot in VCD tracing performance, and I have seen
better than Amdahl speedup, namely I get 3.9x on XiangShan 4T (2.7x on
OpenTitan 4T).
2022-05-29 19:08:39 +01:00
..
gtkwave GTKWave header updates from upstream. 2022-02-09 21:56:22 -05:00
vltstd
.gitignore
verilated_config.h.in Add VERILATOR_VERSION_INTEGER for determining API (#3343). 2022-03-12 11:17:39 -05:00
verilated_cov_key.h
verilated_cov.cpp Internals: Cleanup some statics, trivial part towards (#3419) 2022-05-15 14:26:55 -04:00
verilated_cov.h Internals: Cleanup some defaults. No functional change. 2022-05-12 23:30:39 -04:00
verilated_dpi.cpp Commentary 2022-03-30 20:17:59 -04:00
verilated_dpi.h
verilated_fst_c.cpp Perform VCD tracing in parallel when using --threads (#3449) 2022-05-29 19:08:39 +01:00
verilated_fst_c.h Perform VCD tracing in parallel when using --threads (#3449) 2022-05-29 19:08:39 +01:00
verilated_fst_sc.cpp
verilated_fst_sc.h Internals: Add cpplint control file and related cleanups 2022-01-09 16:49:38 -05:00
verilated_funcs.h Deprecate 'vluint64_t' and similar types (#3255). 2022-03-27 15:27:40 -04:00
verilated_heavy.h
verilated_imp.h Internals: Use mutable for mutexes. No functional change. 2022-05-13 07:21:39 -04:00
verilated_intrinsics.h
verilated_profiler.cpp Make local function 'static' in verilated_profiler.h 2022-05-28 12:17:39 +01:00
verilated_profiler.h Internals: Cleanup some statics, trivial part towards (#3419) 2022-05-15 14:26:55 -04:00
verilated_save.cpp Deprecate 'vluint64_t' and similar types (#3255). 2022-03-27 15:27:40 -04:00
verilated_save.h Deprecate 'vluint64_t' and similar types (#3255). 2022-03-27 15:27:40 -04:00
verilated_sc.h Deprecate 'vluint64_t' and similar types (#3255). 2022-03-27 15:27:40 -04:00
verilated_sym_props.h Deprecate 'vluint64_t' and similar types (#3255). 2022-03-27 15:27:40 -04:00
verilated_syms.h
verilated_threads.cpp Deprecate 'vluint64_t' and similar types (#3255). 2022-03-27 15:27:40 -04:00
verilated_threads.h Internals: Use mutable for mutexes. No functional change. 2022-05-13 07:21:39 -04:00
verilated_trace_defs.h
verilated_trace_imp.h Perform VCD tracing in parallel when using --threads (#3449) 2022-05-29 19:08:39 +01:00
verilated_trace.h Perform VCD tracing in parallel when using --threads (#3449) 2022-05-29 19:08:39 +01:00
verilated_types.h Internals: Cleanup some statics, trivial part towards (#3419) 2022-05-15 14:26:55 -04:00
verilated_vcd_c.cpp Perform VCD tracing in parallel when using --threads (#3449) 2022-05-29 19:08:39 +01:00
verilated_vcd_c.h Perform VCD tracing in parallel when using --threads (#3449) 2022-05-29 19:08:39 +01:00
verilated_vcd_sc.cpp
verilated_vcd_sc.h Internals: Add cpplint control file and related cleanups 2022-01-09 16:49:38 -05:00
verilated_vpi.cpp Internals: Cleanup some statics, trivial part towards (#3419) 2022-05-15 14:26:55 -04:00
verilated_vpi.h Deprecate 'vluint64_t' and similar types (#3255). 2022-03-27 15:27:40 -04:00
verilated.cpp Add assert when VerilatedContext is mis-deleted (#3121). 2022-05-15 10:51:03 -04:00
verilated.h Perform VCD tracing in parallel when using --threads (#3449) 2022-05-29 19:08:39 +01:00
verilated.mk.in Add -DVM_TRACE_VCD in model builds with Make with --trace 2022-05-20 16:44:38 +01:00
verilated.v
verilatedos.h Perform VCD tracing in parallel when using --threads (#3449) 2022-05-29 19:08:39 +01:00