Provided by: verilator_4.038-1_amd64 bug

NAME

       verilator_gantt - Create Gantt chart of multi-threaded execution

SYNOPSIS

       Creates a visual representation to help analyze Verilator multithreaded simulation performance, by
       showing when each macro-task starts and ends, and showing when each thread is busy or idle.

       The generated Gantt chart has time on the X-axis. Times shown are to the scale printed, i.e. a certain
       about of time for each character width.  The Y-axis shows threads, each thread's execution is shown on
       one line.  That line shows "[" at the position in time when it executes.

       Following the "[" is the cpu number the task executed on, followed by zero or more "-" to make the width
       of the characters match the scaled execution time, followed by a "]".  If the scale is too small, the cpu
       number and mtask number will not be printed.  If the scale is very small, a "&" indicates multiple mtasks
       started at that time position.

       Also creates a value change dump (VCD) format dump file which may be viewed in a waveform viewer (e.g.
       "GTKWave").  See below.

USAGE

         Build with --prof-threads.

         Run a sim with +verilator+prof+threads+window 2.

         This will create profile_threads.dat.

         Then run:

         verilator_gantt profile_threads.dat

         The report will be printed on standard output, this also generates
         profile_threads.vcd

         View profile_threads.vcd in a waveform viewer.

VCD SIGNALS

       In waveforms there are the following signals. Most signals the "decimal" format will remove the leading
       zeros and make the traces easier to read.

       parallelism: The number of mtasks active at this time, for best performance this will match the thread
       count. You may want to use an "analog step" format to view this signal.

       cpu#_thread: For the given CPU number, the thread number executing.

       mtask#_cpu; For the given mtask id, the CPU it is executing on.

       thread#_mtask: For the given thread number, the mtask id executing.

ARGUMENTS

       filename
           The filename to read data from, defaults to "profile_threads.dat".

       --help
           Displays this message and program version and exits.

       --scale n
           On  the X-axis of the generated Gantt chart, each character represents this many time units. (On x86,
           time units are rdtsc ticks.)  Defaults to 0, which will  automatically  compute  a  reasonable  scale
           where no two mtasks need to fit into same character width's worth of scaled time.

       --no-vcd
       --vcd filename
           Set output filename for vcd dump, or disable. Default is verilator_gantt.vcd.

DISTRIBUTION

       The latest version is available from <https://verilator.org>.

       Copyright  2018-2020  by  Wilson  Snyder.  This  program is free software; you can redistribute it and/or
       modify it under the terms of either the GNU Lesser General Public License Version 3 or the Perl  Artistic
       License Version 2.0.

       SPDX-License-Identifier: LGPL-3.0-only OR Artistic-2.0

AUTHORS

       Wilson Snyder <wsnyder@wsnyder.org>

SEE ALSO

       "verilator"

perl v5.30.3                                       2020-08-27                                 VERILATOR_GANTT(1)