Verilator_gantt creates a visual representation to help analyze Verilator multithreaded simulation performance by showing when each macro-task starts, ends, and when each thread is busy or idle.
For an overview of the use of verilator_gantt, see Code Profiling.
Gantt Chart VCD¶
Verilated_gantt creates a value change dump (VCD) format dump file which may be viewed in a waveform viewer (e.g., C<GTKWave>):
The viewed waveform chart has time on the X-axis, with one unit for each time tick of the system’s high-performance counter.
Gantt Chart VCD Signals¶
In waveforms, there are the following signals. In GTKWave, use “decimal” data format to remove the leading zeros and make the traces easier to read.
Shows the name of the current top of the execution section stack. Set GTKWave data format to “ASCII”.
Shows the depth of the execution section stack. Set GTKWave data format to “Analog”.
The number of mtasks active at this time, for best performance, this will match the thread count. In GTKWave, use a data format of “analog step” to view this signal.
The number of mtasks Verilator predicted would be active at this time, for best performance this will match the thread count. In GTKWave, use a data format of “analog step” to view this signal.
For the given CPU number, the thread number measured to be executing.
For the given mtask id, the CPU it was measured to execute on.
For the given thread number, the mtask id it was executing.
For the given thread number, the mtask id Verilator predicted would be executing.
The filename to read data from; the default is “profile_exec.dat”.
Displays a help summary, the program version, and exits.
Disables creating a .vcd file.
Sets the output filename for vcd dump; the default is “verilator_gantt.vcd”.