Change `--trace` to `--trace-vcd`.

This commit is contained in:
Wilson Snyder 2025-04-05 10:46:39 -04:00
parent d5077a9d35
commit 0984fd045f
137 changed files with 214 additions and 174 deletions

View File

@ -23,6 +23,7 @@ Verilator 5.035 devel
* Support command-line overriding `define (#5900) (#5908). [Brian Li]
* Support `$setuphold` (#5884). [Krzysztof Sychla]
* Support `systemc_interface and related inside `class`.
* Change `--trace` to `--trace-vcd`.
* Add multi-thread hierarchical simulation (#2583) (#5871). [Bartłomiej Chmiel, Antmicro Ltd.]
* Add check for `let` misused in statement context (#5733).
* Add used language to `--preproc-resolve` output (#5795). [Kamil Rakoczy, Antmicro Ltd.]

View File

@ -473,7 +473,7 @@ detailed descriptions of these arguments.
--timescale-override <timescale> Overrides all timescales
--top <topname> Alias of --top-module
--top-module <topname> Name of top-level input module
--trace Enable waveform creation
--trace Enable VCD waveform creation
--trace-coverage Enable tracing of coverage
--trace-depth <levels> Depth of tracing
--trace-fst Enable FST waveform creation
@ -483,6 +483,7 @@ detailed descriptions of these arguments.
--trace-saif Enable SAIF file creation
--trace-structs Enable tracing structure names
--trace-threads <threads> Enable FST waveform creation on separate threads
--trace-vcd Enable VCD waveform creation
--no-trace-top Do not emit traces for signals in the top module generated by verilator
--trace-underscore Enable tracing of _signals
-U<var> Undefine preprocessor define

View File

@ -1493,7 +1493,7 @@ Summary:
but may run in a multithreaded environment. With "--threads N",
where N >= 2, the model is generated to run multithreaded on up to N
threads. See :ref:`Multithreading`. This option also applies to
:vlopt:`--trace` (but not :vlopt:`--trace-fst`).
:vlopt:`--trace-vcd` (but not :vlopt:`--trace-fst`).
.. option:: --no-threads
@ -1574,26 +1574,19 @@ Summary:
.. option:: --trace
Adds waveform tracing code to the model using VCD format. This overrides
:vlopt:`--trace-fst`.
Deprecated; use :vlopt:`--trace-fst`, :vlopt:`--trace-saif` or
:vlopt:`--trace-vcd` instead.
Verilator will generate additional :file:`<prefix>__Trace*.cpp` files
must be compiled. In addition :file:`verilated_vcd_sc.cpp`
(for SystemC traces) or :file:`verilated_vcd_c.cpp` (for both) must be
compiled and linked in. If using the Verilator-generated Makefiles,
these files will be added to the source file lists for you. If you are
not using the Verilator Makefiles, you will need to add these to your
Makefile manually.
Using :vlopt:`--trace` without :vlopt:`--trace-fst` nor
:vlopt:`--trace-fst` requests VCD traces.
Having tracing compiled in may result in small performance losses,
even when tracing is not turned on during model execution.
Using :vlopt:`--trace` :vlopt:`--trace-fst` requests FST traces.
When using :vlopt:`--threads`, VCD tracing is parallelized, using the
same number of threads as passed to :vlopt:`--threads`.
Using :vlopt:`--trace` :vlopt:`--trace-saif` requests SAIF traces.
.. option:: --trace-coverage
With :vlopt:`--trace` and ``--coverage-*``, enable tracing to include a
With `--trace-*` and ``--coverage-*``, enable tracing to include a
traced signal for every :vlopt:`--coverage-line` or
:vlopt:`--coverage-user`\ -inserted coverage point, to assist in
debugging coverage items. Note :vlopt:`--coverage-toggle` does not get
@ -1673,6 +1666,24 @@ Summary:
underscore. Otherwise, these signals are not output during tracing. See
also :vlopt:`--coverage-underscore` option.
.. option:: --trace-vcd
Adds waveform tracing code to the model using VCD format.
Verilator will generate additional :file:`<prefix>__Trace*.cpp` files
must be compiled. In addition :file:`verilated_vcd_sc.cpp`
(for SystemC traces) or :file:`verilated_vcd_c.cpp` (for both) must be
compiled and linked in. If using the Verilator-generated Makefiles,
these files will be added to the source file lists for you. If you are
not using the Verilator Makefiles, you will need to add these to your
Makefile manually.
Having tracing compiled in may result in small performance losses,
even when tracing is not turned on during model execution.
When using :vlopt:`--threads`, VCD tracing is parallelized, using the
same number of threads as passed to :vlopt:`--threads`.
.. option:: -U<var>
Undefines the given preprocessor symbol.

View File

@ -619,7 +619,7 @@ or "`ifdef`"'s may break other tools.
Attached to a DPI import to indicate that function should be called when
initializing tracing. This attribute is indented only to be used
internally in code that Verilator generates when :vlopt:`--lib-create`
or :vlopt:`--hierarchical` is used along with :vlopt:`--trace`.
or :vlopt:`--hierarchical` is used along with :vlopt:`--trace-vcd`.
.. option:: /*verilator&32;tracing_off*/

View File

@ -128,7 +128,7 @@ How do I generate waveforms (traces) in C++?
See also the next question for tracing in SystemC mode.
A. Pass the :vlopt:`--trace` option to Verilator. Then you may use ``$dumpfile`` and
A. Pass the :vlopt:`--trace-vcd` option to Verilator. Then you may use ``$dumpfile`` and
``$dumpvars`` to enable traces, the same as with any Verilog simulator,
although Verilator ignores the arguments to ``$dumpvars``. See
``examples/make_tracing_c`` in the distribution.
@ -177,7 +177,7 @@ file.
How do I generate waveforms (traces) in SystemC?
""""""""""""""""""""""""""""""""""""""""""""""""
A. Pass the :vlopt:`--trace` option to Verilator, and in your top-level
A. Pass the :vlopt:`--trace-vcd` option to Verilator, and in your top-level
:code:`sc_main()`, call :code:`Verilated::traceEverOn(true)`. Then you
may use :code:`$dumpfile` and code:`$dumpvars` to enable traces, as
with any Verilog simulator; see the non-SystemC example in

View File

@ -65,9 +65,9 @@ For --cc/--sc, it creates:
* - *{prefix}*\ ___024root\ *{__DepSet_hash__n}*\ .cpp
- Infrequent cold routines (hashed to reduce build times)
* - *{prefix}*\ ___024root__Trace\ *{__n}*\ .cpp
- Wave file generation code (from --trace)
- Wave file generation code (from --trace-*)
* - *{prefix}*\ ___024root__Trace__Slow\ *{__n}*\ .cpp
- Wave file generation code (from --trace)
- Wave file generation code (from --trace-*)
* - *{prefix}*\ __Dpi.h
- DPI import and export declarations (from --dpi)
* - *{prefix}*\ __Dpi.cpp

View File

@ -488,7 +488,7 @@ $bits, $countbits, $countones, $finish, $isunknown, $onehot, $onehot0, $signed,
$dump/$dumpports and related
$dumpfile or $dumpports will create a VCD or FST file (based on
the :vlopt:`--trace` option given when the model was Verilated). This
the :vlopt:`--trace-vcd` option given when the model was Verilated). This
will take effect starting at the next eval() call. If you have multiple
Verilated designs under the same C model, this will dump signals
only from the design containing the $dumpvars.

View File

@ -221,7 +221,7 @@ model, it may be beneficial to performance to adjust the
influences the partitioning of the model by adjusting the assumed execution
time of DPI imports.
When using :vlopt:`--trace` to perform VCD tracing, the VCD trace
When using :vlopt:`--trace-vcd` to perform VCD tracing, the VCD trace
construction is parallelized using the same number of threads as specified
with :vlopt:`--threads`, and is executed on the same thread pool as the model.
@ -293,8 +293,8 @@ and must be called only by the eval thread.
If using :vlopt:`--sc`, the SystemC kernel is not thread-safe; therefore,
the eval thread and main thread must be the same.
If using :vlopt:`--trace`, the tracing classes must be constructed and
called from the main thread.
If using :vlopt:`--trace-vcd` or other trace options, the tracing classes
must be constructed and called from the main thread.
If using :vlopt:`--vpi`, since SystemVerilog VPI was not architected by
IEEE to be multithreaded, Verilator requires all VPI calls are only made
@ -457,8 +457,7 @@ SystemC include directories and link to the SystemC libraries.
.. describe:: TRACE
Optional. Enables VCD tracing if present, equivalent to "VERILATOR_ARGS
--trace".
Deprecated. Same as TRACE_VCD, which should be used instead.
.. describe:: TRACE_FST
@ -470,6 +469,11 @@ SystemC include directories and link to the SystemC libraries.
Optional. Enables SAIF tracing if present, equivalent to "VERILATOR_ARGS
--trace-saif".
.. describe:: TRACE_VCD
Optional. Enables VCD tracing if present, equivalent to "VERILATOR_ARGS
--trace-vcd".
.. describe:: VERILATOR_ARGS
Optional. Extra arguments to Verilator. Do not specify :vlopt:`--Mdir`

View File

@ -43,7 +43,7 @@ VERILATOR_FLAGS += -Wall
VERILATOR_FLAGS += -CFLAGS -DVL_TIME_CONTEXT
# Make waveforms
TOP_VERILATOR_FLAGS = $(VERILATOR_FLAGS) --trace
TOP_VERILATOR_FLAGS = $(VERILATOR_FLAGS) --trace-vcd
######################################################################
default: run

View File

@ -40,7 +40,7 @@ VERILATOR_FLAGS += -x-assign fast
# Warn abount lint issues; may not want this on less solid designs
VERILATOR_FLAGS += -Wall
# Make waveforms
VERILATOR_FLAGS += --trace
VERILATOR_FLAGS += --trace-vcd
# Check SystemVerilog assertions
VERILATOR_FLAGS += --assert
# Generate coverage analysis

View File

@ -41,7 +41,7 @@ VERILATOR_FLAGS += -x-assign fast
# Warn abount lint issues; may not want this on less solid designs
VERILATOR_FLAGS += -Wall
# Make waveforms
VERILATOR_FLAGS += --trace
VERILATOR_FLAGS += --trace-vcd
# Check SystemVerilog assertions
VERILATOR_FLAGS += --assert
# Generate coverage analysis

View File

@ -3038,7 +3038,7 @@ void VerilatedContext::trace(VerilatedTraceBaseC* tfp, int levels, int options)
if (m_ns.m_traceBaseModelCbs.empty())
VL_FATAL_MT("", 0, "",
"Testbench C call to 'VerilatedContext::trace()' requires model(s) Verilated"
" with --trace or --trace-vcd option");
" with --trace-fst or --trace-vcd option");
for (auto& cbr : m_ns.m_traceBaseModelCbs) cbr(tfp, levels, options);
}
void VerilatedContext::traceBaseModelCbAdd(traceBaseModelCb_t cb) VL_MT_SAFE {

View File

@ -15,9 +15,9 @@
/// \brief Verilated C++ tracing in SAIF format implementation code
///
/// This file must be compiled and linked against all Verilated objects
/// that use --trace.
/// that use --trace-saif.
///
/// Use "verilator --trace" to add this to the Makefile for the linker.
/// Use "verilator --trace-saif" to add this to the Makefile for the linker.
///
//=============================================================================

View File

@ -15,9 +15,9 @@
/// \brief Verilated C++ tracing in VCD format implementation code
///
/// This file must be compiled and linked against all Verilated objects
/// that use --trace.
/// that use --trace-vcd.
///
/// Use "verilator --trace" to add this to the Makefile for the linker.
/// Use "verilator --trace-vcd" to add this to the Makefile for the linker.
///
//=============================================================================

View File

@ -110,15 +110,15 @@ class CMakeEmitter final {
cmake_set_raw(*of, name + "_TIMING", v3Global.usesTiming() ? "1" : "0");
*of << "# Threaded output mode? 1/N threads (from --threads)\n";
cmake_set_raw(*of, name + "_THREADS", cvtToStr(v3Global.opt.threads()));
*of << "# VCD Tracing output mode? 0/1 (from --trace)\n";
cmake_set_raw(*of, name + "_TRACE_VCD",
(v3Global.opt.trace() && v3Global.opt.traceFormat().vcd()) ? "1" : "0");
*of << "# FST Tracing output mode? 0/1 (from --trace-fst)\n";
cmake_set_raw(*of, name + "_TRACE_FST",
(v3Global.opt.trace() && v3Global.opt.traceFormat().fst()) ? "1" : "0");
*of << "# SAIF Tracing output mode? 0/1 (from --trace-saif)\n";
cmake_set_raw(*of, name + "_TRACE_SAIF",
(v3Global.opt.trace() && v3Global.opt.traceFormat().saif()) ? "1" : "0");
*of << "# VCD Tracing output mode? 0/1 (from --trace-vcd)\n";
cmake_set_raw(*of, name + "_TRACE_VCD",
(v3Global.opt.trace() && v3Global.opt.traceFormat().vcd()) ? "1" : "0");
*of << "\n### Sources...\n";
std::vector<string> classes_fast;

View File

@ -584,7 +584,7 @@ class EmitCModel final : public EmitCFunc {
puts(/****/ "vl_fatal(__FILE__, __LINE__, __FILE__,\"'" + topClassName()
+ "::trace()' called on non-" + v3Global.opt.traceClassBase() + "C object;\"\n"
+ "\" use --trace-fst with VerilatedFst object,"
+ " and --trace with VerilatedVcd object\");\n");
+ " and --trace-vcd with VerilatedVcd object\");\n");
puts(/**/ "}\n");
puts(/**/ "stfp->spTrace()->addModel(this);\n");
puts(/**/ "stfp->spTrace()->addInitCb(&" + protect("trace_init")

View File

@ -551,14 +551,10 @@ public:
of.puts("VM_PARALLEL_BUILDS = ");
of.puts(v3Global.useParallelBuild() ? "1" : "0");
of.puts("\n");
of.puts("# Tracing output mode? 0/1 (from --trace/--trace-fst/--trace-saif)\n");
of.puts("# Tracing output mode? 0/1 (from --trace-fst/--trace-saif/--trace-vcd)\n");
of.puts("VM_TRACE = ");
of.puts(v3Global.opt.trace() ? "1" : "0");
of.puts("\n");
of.puts("# Tracing output mode in VCD format? 0/1 (from --trace)\n");
of.puts("VM_TRACE_VCD = ");
of.puts(v3Global.opt.trace() && v3Global.opt.traceFormat().vcd() ? "1" : "0");
of.puts("\n");
of.puts("# Tracing output mode in FST format? 0/1 (from --trace-fst)\n");
of.puts("VM_TRACE_FST = ");
of.puts(v3Global.opt.trace() && v3Global.opt.traceFormat().fst() ? "1" : "0");
@ -567,6 +563,10 @@ public:
of.puts("VM_TRACE_SAIF = ");
of.puts(v3Global.opt.trace() && v3Global.opt.traceFormat().saif() ? "1" : "0");
of.puts("\n");
of.puts("# Tracing output mode in VCD format? 0/1 (from --trace-vcd)\n");
of.puts("VM_TRACE_VCD = ");
of.puts(v3Global.opt.trace() && v3Global.opt.traceFormat().vcd() ? "1" : "0");
of.puts("\n");
of.puts("\n### Object file lists...\n");
for (int support = 0; support < 3; ++support) {

View File

@ -930,7 +930,7 @@ void V3Options::notify() VL_MT_DISABLED {
}
if (trace()) {
// With --trace, --trace-threads is ignored
// With --trace-vcd, --trace-threads is ignored
if (traceFormat().vcd()) m_traceThreads = 1;
}
@ -1671,6 +1671,10 @@ void V3Options::parseOptsList(FileLine* fl, const string& optdir, int argc,
});
DECL_OPTION("-no-trace-top", Set, &m_noTraceTop);
DECL_OPTION("-trace-underscore", OnOff, &m_traceUnderscore);
DECL_OPTION("-trace-vcd", CbCall, [this]() {
m_trace = true;
m_traceFormat = TraceFormat::VCD;
});
DECL_OPTION("-U", CbPartialMatch, &V3PreShell::undef);
DECL_OPTION("-underline-zero", OnOff, &m_underlineZero); // Deprecated

View File

@ -1036,7 +1036,7 @@ class VlTest:
if Args.rr:
verilator_flags += ["--rr"]
if Args.trace:
verilator_flags += ["--trace"]
verilator_flags += ["--trace-vcd"]
if Args.gdbsim or Args.rrsim:
verilator_flags += ["-CFLAGS -ggdb -LDFLAGS -ggdb"]
verilator_flags += ["--x-assign unique"] # More likely to be buggy

View File

@ -26,7 +26,7 @@ test.run(
],
verilator_run=True)
test.compile(verilator_flags2=[DEBUG_QUIET, "--trace"])
test.compile(verilator_flags2=[DEBUG_QUIET, "--trace-vcd"])
test.execute()

View File

@ -18,7 +18,7 @@ test.top_filename = "t/t_a1_first_cc.v"
DEBUG_QUIET = "--debug --debugi 0 --gdbbt --no-dump-tree"
test.compile(verilator_flags2=[DEBUG_QUIET, "-sc --trace"])
test.compile(verilator_flags2=[DEBUG_QUIET, "-sc --trace-vcd"])
test.execute()

View File

@ -11,7 +11,7 @@ import vltest_bootstrap
test.scenarios('simulator')
test.compile(verilator_flags2=["--trace --fno-split -x-assign 0"])
test.compile(verilator_flags2=["--trace-vcd --fno-split -x-assign 0"])
test.execute()

View File

@ -19,7 +19,7 @@ if not test.cfg_with_ccache:
for filename in glob.glob(test.obj_dir + "/*.o"):
test.unlink_ok(filename)
test.compile(verilator_flags2=['--trace'], make_flags=["ccache-report"])
test.compile(verilator_flags2=['--trace-vcd'], make_flags=["ccache-report"])
report = test.obj_dir + "/" + test.vm_prefix + "__ccache_report.txt"

View File

@ -11,7 +11,7 @@ import vltest_bootstrap
test.scenarios('simulator')
test.compile(verilator_flags2=["--trace"])
test.compile(verilator_flags2=["--trace-vcd"])
test.execute()

View File

@ -13,7 +13,7 @@ from pathlib import Path
test.scenarios('simulator')
test.top_filename = "t/t_cover_expr.v"
test.compile(verilator_flags2=['--cc', '--coverage-expr', '--trace'])
test.compile(verilator_flags2=['--cc', '--coverage-expr', '--trace-vcd'])
test.execute()

View File

@ -12,7 +12,8 @@ import vltest_bootstrap
test.scenarios('simulator')
test.top_filename = "t/t_cover_line.v"
test.compile(verilator_flags2=['--cc --coverage-line --trace --trace-coverage +define+ATTRIBUTE'])
test.compile(
verilator_flags2=['--cc --coverage-line --trace-vcd --trace-coverage +define+ATTRIBUTE'])
test.execute()

View File

@ -12,7 +12,7 @@ import vltest_bootstrap
test.scenarios('simulator')
test.top_filename = "t/t_cover_sva_notflat.v"
test.compile(verilator_flags2=['--assert --cc --coverage-user --trace --trace-coverage'])
test.compile(verilator_flags2=['--assert --cc --coverage-user --trace-vcd --trace-coverage'])
test.execute()

View File

@ -11,7 +11,7 @@ import vltest_bootstrap
test.scenarios('simulator')
test.compile(verilator_flags2=['--binary --coverage --trace-coverage --trace'])
test.compile(verilator_flags2=['--binary --coverage --trace-coverage --trace-vcd'])
test.execute(all_run_flags=["+verilator+coverage+file+" + test.obj_dir + "/coverage_renamed.dat"])

View File

@ -12,7 +12,7 @@ import vltest_bootstrap
test.scenarios('simulator')
test.top_filename = "t/t_cxx_equal_to.v"
test.compile(verilator_flags2=['--binary --trace'])
test.compile(verilator_flags2=['--binary --trace-vcd'])
test.execute()

View File

@ -13,6 +13,6 @@ test.scenarios('vlt')
test.compile(
# Check we can call dump() on graph, and other things
v_flags=["--trace --debug --debugi 0 --debugi-V3Trace 9"])
v_flags=["--trace-vcd --debug --debugi 0 --debugi-V3Trace 9"])
test.passes()

View File

@ -14,7 +14,7 @@ test.top_filename = "t/t_flag_make_cmake.v"
test.compile( # Don't call cmake nor gmake from driver.py
verilator_flags2=[
'--exe --cc --build -j 2', '../' + test.main_filename, '-MAKEFLAGS -p --trace'
'--exe --cc --build -j 2', '../' + test.main_filename, '-MAKEFLAGS -p --trace-vcd'
])
test.execute()

View File

@ -80,7 +80,7 @@ def check_gcc_flags(filename):
if not test.make_version or float(test.make_version) < 4.1:
test.skip("Test requires GNU Make version >= 4.1")
test.compile(v_flags2=["--trace",
test.compile(v_flags2=["--trace-vcd",
"--output-split 1",
"--output-split-cfuncs 1",
"--exe",

View File

@ -82,7 +82,7 @@ def check_gcc_flags(filename):
if not test.make_version or float(test.make_version) < 4.1:
test.skip("Test requires GNU Make version >= 4.1")
test.compile(v_flags2=["--trace",
test.compile(v_flags2=["--trace-vcd",
"--output-split 1",
"--output-groups 2",
"--output-split-cfuncs 1",

View File

@ -42,7 +42,7 @@ def check_gcc_flags(filename):
if not test.make_version or float(test.make_version) < 4.1:
test.skip("Test requires GNU Make version >= 4.1")
test.compile(v_flags2=["--trace --output-split 0 --exe ../" + test.main_filename],
test.compile(v_flags2=["--trace-vcd --output-split 0 --exe ../" + test.main_filename],
verilator_make_gmake=False)
# We don't use the standard test_regress rules, as want to test the rules

View File

@ -12,7 +12,7 @@ import vltest_bootstrap
test.scenarios('simulator')
test.top_filename = "t/t_force_release_net.v"
test.compile(verilator_flags2=['--trace'])
test.compile(verilator_flags2=['--trace-vcd'])
test.execute()

View File

@ -12,7 +12,7 @@ import vltest_bootstrap
test.scenarios('simulator')
test.top_filename = "t/t_force_release_var.v"
test.compile(verilator_flags2=['--trace'])
test.compile(verilator_flags2=['--trace-vcd'])
test.execute()

View File

@ -16,7 +16,7 @@ test.golden_filename = "t/t_forceable_net_trace.vcd"
test.compile(make_top_shell=False,
make_main=False,
verilator_flags2=['-DCMT=1', '--exe', '--trace', test.pli_filename])
verilator_flags2=['-DCMT=1', '--exe', '--trace-vcd', test.pli_filename])
test.execute()

View File

@ -14,10 +14,11 @@ test.pli_filename = "t/t_forceable_net.cpp"
test.top_filename = "t/t_forceable_net.v"
test.golden_filename = "t/t_forceable_net_trace.vcd"
test.compile(
make_top_shell=False,
make_main=False,
verilator_flags2=['--exe', '--trace', test.pli_filename, test.t_dir + "/t_forceable_net.vlt"])
test.compile(make_top_shell=False,
make_main=False,
verilator_flags2=[
'--exe', '--trace-vcd', test.pli_filename, test.t_dir + "/t_forceable_net.vlt"
])
test.execute()

View File

@ -16,7 +16,7 @@ test.golden_filename = "t/t_forceable_var_trace.vcd"
test.compile(make_top_shell=False,
make_main=False,
verilator_flags2=['-DCMT=1', '--exe', '--trace', test.pli_filename])
verilator_flags2=['-DCMT=1', '--exe', '--trace-vcd', test.pli_filename])
test.execute()

View File

@ -14,10 +14,11 @@ test.pli_filename = "t/t_forceable_var.cpp"
test.top_filename = "t/t_forceable_var.v"
test.golden_filename = "t/t_forceable_var_trace.vcd"
test.compile(
make_top_shell=False,
make_main=False,
verilator_flags2=['--exe', '--trace', test.pli_filename, test.t_dir + "/t_forceable_var.vlt"])
test.compile(make_top_shell=False,
make_main=False,
verilator_flags2=[
'--exe', '--trace-vcd', test.pli_filename, test.t_dir + "/t_forceable_var.vlt"
])
test.execute()

View File

@ -12,7 +12,7 @@ import vltest_bootstrap
test.scenarios('simulator')
test.top_filename = "t/t_func_public.v"
test.compile(verilator_flags2=["--trace"])
test.compile(verilator_flags2=["--trace-vcd"])
test.execute()

View File

@ -11,6 +11,6 @@ import vltest_bootstrap
test.scenarios('simulator')
test.compile(verilator_flags2=["--trace"])
test.compile(verilator_flags2=["--trace-vcd"])
test.passes()

View File

@ -22,7 +22,7 @@ test.clean_objs()
test.compile(v_flags2=['t/t_hier_block.cpp'],
verilator_flags2=[
'--sc', '--stats', '--hierarchical', '--CFLAGS', '"-pipe -DCPP_MACRO=cplusplus"',
"--CFLAGS", '"-O0 -ggdb"', "--trace"
"--CFLAGS", '"-O0 -ggdb"', "--trace-vcd"
],
threads=(6 if test.vltmt else 1))

View File

@ -21,7 +21,7 @@ test.compile(
verilator_flags2=[
'--hierarchical',
'--Wno-TIMESCALEMOD',
'--trace',
'--trace-vcd',
'--no-trace-underscore', # To avoid handle mismatches
],
threads=(6 if test.vltmt else 1))

View File

@ -12,8 +12,8 @@ import vltest_bootstrap
test.scenarios('simulator')
test.compile(verilator_flags2=[
'--trace', '-j 4', 't/t_hier_trace_sub/t_hier_trace.vlt', '--top-module t', '--hierarchical',
'-F t/t_hier_trace_sub/top.F'
'--trace-vcd', '-j 4', 't/t_hier_trace_sub/t_hier_trace.vlt', '--top-module t',
'--hierarchical', '-F t/t_hier_trace_sub/top.F'
])
test.execute(all_run_flags=['-j 4'])

View File

@ -13,8 +13,8 @@ test.scenarios('simulator')
test.top_filename = "t/t_hier_trace.v"
test.compile(verilator_flags2=[
'--trace', '-j 4', 't/t_hier_trace_sub/t_hier_trace.vlt', '--top-module t', '--hierarchical',
'--fno-inline', '-F t/t_hier_trace_sub/top.F'
'--trace-vcd', '-j 4', 't/t_hier_trace_sub/t_hier_trace.vlt', '--top-module t',
'--hierarchical', '--fno-inline', '-F t/t_hier_trace_sub/top.F'
])
test.execute(all_run_flags=['-j 4'])

View File

@ -12,7 +12,7 @@ import vltest_bootstrap
test.scenarios('simulator')
test.top_filename = "t/t_interface1_modport.v"
test.compile(verilator_flags2=['--trace'])
test.compile(verilator_flags2=['--trace-vcd'])
test.execute()

View File

@ -11,7 +11,7 @@ import vltest_bootstrap
test.scenarios('simulator')
test.compile(verilator_flags2=['--trace-structs --trace'])
test.compile(verilator_flags2=['--trace-structs --trace-vcd'])
test.execute()

View File

@ -13,7 +13,7 @@ test.scenarios('simulator')
test.top_filename = "t/t_interface_ref_trace.v"
test.golden_filename = "t/t_interface_ref_trace.out"
test.compile(v_flags2=['+define+NO_INLINE_A'], verilator_flags2=['--trace-structs --trace'])
test.compile(v_flags2=['+define+NO_INLINE_A'], verilator_flags2=['--trace-structs --trace-vcd'])
test.execute()

View File

@ -14,7 +14,7 @@ test.top_filename = "t/t_interface_ref_trace.v"
test.golden_filename = "t/t_interface_ref_trace.out"
test.compile(v_flags2=['+define+NO_INLINE_A +define+NO_INLINE_B'],
verilator_flags2=['--trace-structs --trace'])
verilator_flags2=['--trace-structs --trace-vcd'])
test.execute()

View File

@ -13,7 +13,7 @@ test.scenarios('simulator')
test.top_filename = "t/t_interface_ref_trace.v"
test.golden_filename = "t/t_interface_ref_trace.out"
test.compile(v_flags2=['+define+NO_INLINE_B'], verilator_flags2=['--trace-structs --trace'])
test.compile(v_flags2=['+define+NO_INLINE_B'], verilator_flags2=['--trace-structs --trace-vcd'])
test.execute()

View File

@ -15,7 +15,7 @@ test.top_filename = "t/t_interface_ref_trace.v"
# in a different order. Sadly vcddiff can't check equivalence
# test.golden_filename = "t/t_interface_ref_trace.out"
test.compile(verilator_flags2=['-fno-inline --trace-structs --trace'])
test.compile(verilator_flags2=['-fno-inline --trace-structs --trace-vcd'])
test.execute()

View File

@ -13,7 +13,7 @@ test.scenarios('vlt')
test.compile(
# No --lint-only as got compile error
verilator_flags2=["--trace"],
verilator_flags2=["--trace-vcd"],
fails=True,
expect_filename=test.golden_filename)

View File

@ -13,7 +13,7 @@ test.scenarios('simulator')
test.compile(
# Disable inlining, this test is trivial without it
verilator_flags2=["-fno-inline --trace"],
verilator_flags2=["-fno-inline --trace-vcd"],
verilator_flags3=[])
test.execute()

View File

@ -12,7 +12,7 @@ import vltest_bootstrap
test.scenarios('simulator')
test.top_filename = "t/t_mem_multidim.v"
test.compile(verilator_flags2=['--cc --trace'])
test.compile(verilator_flags2=['--cc --trace-vcd'])
test.execute()

View File

@ -11,7 +11,7 @@ import vltest_bootstrap
test.scenarios('simulator')
test.compile(verilator_flags2=["--trace", "--trace-structs", "--output-split-ctrace", "32"])
test.compile(verilator_flags2=["--trace-vcd", "--trace-structs", "--output-split-ctrace", "32"])
if test.vlt_all:
test.file_grep_count(test.obj_dir + "/V" + test.name + "__Trace__0.cpp",

View File

@ -14,7 +14,7 @@ test.top_filename = "t_trace_cat.v"
test.compile(make_top_shell=False,
make_main=False,
v_flags2=["--trace --no-trace-top --exe", test.pli_filename])
v_flags2=["--trace-vcd --no-trace-top --exe", test.pli_filename])
test.execute()

View File

@ -11,7 +11,7 @@ import vltest_bootstrap
test.scenarios('simulator')
test.compile(verilator_flags2=["-Wno-UNOPTTHREADS", "--stats", "--coverage", "--trace"])
test.compile(verilator_flags2=["-Wno-UNOPTTHREADS", "--stats", "--coverage", "--trace-vcd"])
test.execute()

View File

@ -17,7 +17,7 @@ test.scenarios('simulator')
# closely enough to pass the same test?
# If not -- probably we should switch this to be vlt-only.
test.compile(verilator_flags2=["--trace"])
test.compile(verilator_flags2=["--trace-vcd"])
test.execute()

View File

@ -11,7 +11,9 @@ import vltest_bootstrap
test.scenarios('vlt_all')
test.compile(make_top_shell=False, make_main=False, v_flags2=["--trace --exe", test.pli_filename])
test.compile(make_top_shell=False,
make_main=False,
v_flags2=["--trace-vcd --exe", test.pli_filename])
test.execute()

View File

@ -13,7 +13,7 @@ test.scenarios('vlt')
test.lint(
# Bug1575 required trace to crash
verilator_flags2=["--trace"],
verilator_flags2=["--trace-vcd"],
fails=True,
expect_filename=test.golden_filename)

View File

@ -13,7 +13,7 @@ test.scenarios('vlt')
test.lint(
# Bug1575 required trace to crash
verilator_flags2=["--trace --cc"],
verilator_flags2=["--trace-vcd --cc"],
fails=True,
expect_filename=test.golden_filename)

View File

@ -19,7 +19,7 @@ for filename in (glob.glob(test.obj_dir + "/*_PS*.cpp") + glob.glob(test.obj_dir
test.unlink_ok(filename)
test.compile(verilator_flags2=[
"--protect-ids", "--protect-key SECRET_KEY", "--trace", "--coverage", "-Wno-INSECURE",
"--protect-ids", "--protect-key SECRET_KEY", "--trace-vcd", "--coverage", "-Wno-INSECURE",
"t/t_protect_ids_c.cpp"
])

View File

@ -15,7 +15,7 @@ test.top_filename = "t/t_protect_ids.v"
test.compile(verilator_flags2=[
"--protect-ids",
"--protect-key SECRET_KEY",
"--trace",
"--trace-vcd",
"--debug-protect",
"--coverage",
"-Wno-INSECURE",

View File

@ -11,7 +11,9 @@ import vltest_bootstrap
test.scenarios('vlt_all')
test.compile(make_top_shell=False, make_main=False, v_flags2=["--trace --exe", test.pli_filename])
test.compile(make_top_shell=False,
make_main=False,
v_flags2=["--trace-vcd --exe", test.pli_filename])
test.execute()

View File

@ -15,7 +15,7 @@ test.top_filename = "t/t_split_var_0.v"
# CI environment offers 2 VCPUs, 2 thread setting causes the following warning.
# %Warning-UNOPTTHREADS: Thread scheduler is unable to provide requested parallelism; consider asking for fewer threads.
# So use 6 threads here though it's not optimal in performance, but ok.
test.compile(verilator_flags2=['--cc --trace --stats +define+TEST_ATTRIBUTES'],
test.compile(verilator_flags2=['--cc --trace-vcd --stats +define+TEST_ATTRIBUTES'],
threads=(6 if test.vltmt else 1))
test.execute()

View File

@ -11,7 +11,7 @@ import vltest_bootstrap
test.scenarios('simulator')
test.compile(verilator_flags2=['--trace'])
test.compile(verilator_flags2=['--trace-vcd'])
test.execute()
test.passes()

View File

@ -20,7 +20,7 @@ module t(/*AUTOARG*/
endmodule
// #5782 internal error with --trace. Bit range is not properly handled.
// #5782 internal error with --trace-vcd. Bit range is not properly handled.
module bug5782 (
output logic [31:0][15:0] data_out
);

View File

@ -12,7 +12,7 @@ import vltest_bootstrap
test.scenarios('simulator')
test.top_filename = "t/t_struct_init.v"
test.compile(verilator_flags2=['--cc --trace'])
test.compile(verilator_flags2=['--cc --trace-vcd'])
test.execute()

View File

@ -16,7 +16,7 @@ test.main_time_multiplier = 1e-3 / 10e-9
test.compile(
v_flags2=['+define+time_scale_units=1ms +define+time_scale_prec=10ns', test.pli_filename],
verilator_flags2=['--vpi --trace'])
verilator_flags2=['--vpi --trace-vcd'])
test.execute(expect_filename=test.golden_filename)

View File

@ -16,7 +16,7 @@ test.main_time_multiplier = 1e-9 / 1e-9
test.compile(
v_flags2=['+define+time_scale_units=1ns +define+time_scale_prec=1ns', test.pli_filename],
verilator_flags2=['--vpi --trace'])
verilator_flags2=['--vpi --trace-vcd'])
test.execute(expect_filename=test.golden_filename)

View File

@ -11,7 +11,7 @@ import vltest_bootstrap
test.scenarios('simulator')
test.compile(verilator_flags2=["--exe --main --timing --trace"], make_main=False)
test.compile(verilator_flags2=["--exe --main --timing --trace-vcd"], make_main=False)
test.execute()

View File

@ -11,7 +11,7 @@ import vltest_bootstrap
test.scenarios('simulator')
test.compile(verilator_flags2=["--exe --main --timing --trace -Wno-MINTYPMAXDLY"])
test.compile(verilator_flags2=["--exe --main --timing --trace-vcd -Wno-MINTYPMAXDLY"])
test.execute()

View File

@ -11,7 +11,7 @@ import vltest_bootstrap
test.scenarios('vlt_all')
test.compile(verilator_flags2=['--cc --trace'])
test.compile(verilator_flags2=['--cc --trace-vcd'])
test.execute(fails=True)

View File

@ -11,7 +11,7 @@ import vltest_bootstrap
test.scenarios('simulator')
test.compile(verilator_flags2=['--cc --trace --trace-structs'])
test.compile(verilator_flags2=['--cc --trace-vcd --trace-structs'])
test.execute()

View File

@ -13,7 +13,7 @@ test.scenarios('vlt')
test.top_filename = "t/t_trace_array.v"
test.golden_filename = "t/t_trace_array.out"
test.compile(verilator_flags2=['--cc --trace --trace-threads 1 --trace-structs'])
test.compile(verilator_flags2=['--cc --trace-vcd --trace-threads 1 --trace-structs'])
test.execute()

View File

@ -14,7 +14,7 @@ test.scenarios('simulator')
# CI environment offers 2 VCPUs, 2 thread setting causes the following warning.
# %Warning-UNOPTTHREADS: Thread scheduler is unable to provide requested parallelism; consider asking for fewer threads.
# Strangely, asking for more threads makes it go away.
test.compile(verilator_flags2=['--cc --trace --trace-params -Wno-ASCRANGE'],
test.compile(verilator_flags2=['--cc --trace-vcd --trace-params -Wno-ASCRANGE'],
threads=(6 if test.vltmt else 1))
test.execute()

View File

@ -11,7 +11,9 @@ import vltest_bootstrap
test.scenarios('vlt_all')
test.compile(make_top_shell=False, make_main=False, v_flags2=["--trace --exe", test.pli_filename])
test.compile(make_top_shell=False,
make_main=False,
v_flags2=["--trace-vcd --exe", test.pli_filename])
test.execute()

View File

@ -13,7 +13,9 @@ test.scenarios('vlt_all')
test.pli_filename = "t/t_trace_cat.cpp"
test.top_filename = "t/t_trace_cat.v"
test.compile(make_top_shell=False, make_main=False, v_flags2=["--trace --exe", test.pli_filename])
test.compile(make_top_shell=False,
make_main=False,
v_flags2=["--trace-vcd --exe", test.pli_filename])
test.execute()

View File

@ -13,7 +13,9 @@ test.scenarios('vlt_all')
test.pli_filename = "t/t_trace_cat.cpp"
test.top_filename = "t/t_trace_cat.v"
test.compile(make_top_shell=False, make_main=False, v_flags2=["--trace --exe", test.pli_filename])
test.compile(make_top_shell=False,
make_main=False,
v_flags2=["--trace-vcd --exe", test.pli_filename])
test.execute()

View File

@ -12,8 +12,8 @@ import vltest_bootstrap
test.scenarios('vlt')
test.compile(
# verilator_flags2 = ['--binary --trace'],
verilator_flags2=['--binary --trace'])
# verilator_flags2 = ['--binary --trace-vcd'],
verilator_flags2=['--binary --trace-vcd'])
test.execute()

View File

@ -11,7 +11,7 @@ import vltest_bootstrap
test.scenarios('simulator')
test.compile(verilator_flags2=['--cc --trace'])
test.compile(verilator_flags2=['--cc --trace-vcd'])
test.execute()

View File

@ -12,7 +12,7 @@ import vltest_bootstrap
test.scenarios('simulator')
test.top_filename = "t/t_trace_complex.v"
test.compile(verilator_flags2=['--cc --trace --no-trace-structs --trace-params'])
test.compile(verilator_flags2=['--cc --trace-vcd --no-trace-structs --trace-params'])
test.execute()

View File

@ -15,7 +15,7 @@ test.scenarios('vlt')
test.top_filename = "t/t_trace_complex.v"
test.golden_filename = "t/t_trace_complex.out"
test.compile(verilator_flags2=['--cc --trace -CFLAGS -DVL_PORTABLE_ONLY'])
test.compile(verilator_flags2=['--cc --trace-vcd -CFLAGS -DVL_PORTABLE_ONLY'])
test.execute()

View File

@ -12,7 +12,7 @@ import vltest_bootstrap
test.scenarios('simulator')
test.top_filename = "t/t_trace_complex.v"
test.compile(verilator_flags2=['--cc --trace --trace-structs --no-trace-params'])
test.compile(verilator_flags2=['--cc --trace-vcd --trace-structs --no-trace-params'])
test.execute()

View File

@ -13,7 +13,7 @@ test.scenarios('simulator')
test.top_filename = "t/t_trace_complex.v"
test.golden_filename = "t/t_trace_complex.out"
test.compile(verilator_flags2=['--cc --trace --trace-threads 1'])
test.compile(verilator_flags2=['--cc --trace-vcd --trace-threads 1'])
test.execute()

View File

@ -11,7 +11,7 @@ import vltest_bootstrap
test.scenarios('simulator')
test.compile(verilator_flags2=['--cc --trace --no-decoration'])
test.compile(verilator_flags2=['--cc --trace-vcd --no-decoration'])
test.execute()

View File

@ -13,7 +13,7 @@ test.scenarios('vlt_all')
test.pli_filename = "t/t_trace_dumpvars_dyn.cpp"
test.top_filename = "t/t_trace_dumpvars_dyn.v"
test.compile(make_main=False, verilator_flags2=["--trace --exe", test.pli_filename])
test.compile(make_main=False, verilator_flags2=["--trace-vcd --exe", test.pli_filename])
test.execute()

View File

@ -14,7 +14,7 @@ test.pli_filename = "t/t_trace_dumpvars_dyn.cpp"
test.top_filename = "t/t_trace_dumpvars_dyn.v"
test.compile(make_main=False,
verilator_flags2=["--trace --exe", test.pli_filename, "-CFLAGS -DVL_DEBUG"])
verilator_flags2=["--trace-vcd --exe", test.pli_filename, "-CFLAGS -DVL_DEBUG"])
test.execute()

View File

@ -11,7 +11,7 @@ import vltest_bootstrap
test.scenarios('simulator')
test.compile(verilator_flags2=['--trace'])
test.compile(verilator_flags2=['--trace-vcd'])
test.execute()

View File

@ -11,7 +11,7 @@ import vltest_bootstrap
test.scenarios('simulator')
test.compile(verilator_flags2=['--trace --binary'])
test.compile(verilator_flags2=['--trace-vcd --binary'])
test.execute()

View File

@ -11,7 +11,7 @@ import vltest_bootstrap
test.scenarios('vlt')
test.compile(verilator_flags2=['--trace'])
test.compile(verilator_flags2=['--trace-vcd'])
test.execute()

View File

@ -11,7 +11,7 @@ import vltest_bootstrap
test.scenarios('simulator')
test.compile(verilator_flags2=["--binary --main-top-name '-' --trace -Wno-MULTITOP"])
test.compile(verilator_flags2=["--binary --main-top-name '-' --trace-vcd -Wno-MULTITOP"])
test.execute()

View File

@ -13,7 +13,7 @@ test.scenarios('vlt')
test.pli_filename = "t/t_trace_no_top_name2.cpp"
test.top_filename = "t/t_trace_no_top_name2.v"
test.compile(make_main=False, verilator_flags2=["--trace --exe", test.pli_filename])
test.compile(make_main=False, verilator_flags2=["--trace-vcd --exe", test.pli_filename])
test.execute()

View File

@ -1,2 +1,2 @@
%Error: Testbench C call to 'VerilatedContext::trace()' requires model(s) Verilated with --trace or --trace-vcd option
%Error: Testbench C call to 'VerilatedContext::trace()' requires model(s) Verilated with --trace-fst or --trace-vcd option
Aborting...

View File

@ -11,7 +11,7 @@ import vltest_bootstrap
test.scenarios('vlt')
test.compile(verilator_flags2=["--cc --trace --exe", test.pli_filename],
test.compile(verilator_flags2=["--cc --trace-vcd --exe", test.pli_filename],
make_top_shell=False,
make_main=False)

View File

@ -11,7 +11,7 @@ import vltest_bootstrap
test.scenarios('simulator')
test.compile(v_flags2=["--trace"])
test.compile(v_flags2=["--trace-vcd"])
test.execute()

View File

@ -11,7 +11,7 @@ import vltest_bootstrap
test.scenarios('vlt_all')
test.compile(v_flags2=["--trace"])
test.compile(v_flags2=["--trace-vcd"])
test.execute()

View File

@ -11,7 +11,7 @@ import vltest_bootstrap
test.scenarios('simulator')
test.compile(verilator_flags2=["--exe --main --trace -GPOVERRODE=31"])
test.compile(verilator_flags2=["--exe --main --trace-vcd -GPOVERRODE=31"])
test.execute()

View File

@ -11,7 +11,7 @@ import vltest_bootstrap
test.scenarios('simulator')
test.compile(v_flags2=["--trace"])
test.compile(v_flags2=["--trace-vcd"])
test.execute()

Some files were not shown because too many files have changed in this diff Show More