Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
VERILATOR_GANTT(1)    User Contributed Perl Documentation   VERILATOR_GANTT(1)

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.32.0			  2020-07-10		    VERILATOR_GANTT(1)

NAME | SYNOPSIS | USAGE | VCD SIGNALS | ARGUMENTS | DISTRIBUTION | AUTHORS | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=verilator_gantt&sektion=1&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help