diff --git a/src/Verilator.cpp b/src/Verilator.cpp index 57b8a90c0..1e98874b8 100644 --- a/src/Verilator.cpp +++ b/src/Verilator.cpp @@ -153,12 +153,6 @@ static void process() { // Remove parameters by cloning modules to de-parameterized versions // This requires some width calculations and constant propagation V3Param::param(v3Global.rootp()); - if (v3Global.opt.debugExitUvm()) { - V3Error::abortIfErrors(); - if (v3Global.opt.xmlOnly()) V3EmitXml::emitxml(); - cout << "--debug-exit-uvm: Exiting after UVM-supported pass\n"; - std::exit(0); - } V3LinkDot::linkDotParamed(v3Global.rootp()); // Cleanup as made new modules V3LinkLValue::linkLValue(v3Global.rootp()); // Resolve new VarRefs V3Error::abortIfErrors(); @@ -177,6 +171,12 @@ static void process() { return; } } + if (v3Global.opt.debugExitUvm()) { + V3Error::abortIfErrors(); + if (v3Global.opt.xmlOnly()) V3EmitXml::emitxml(); + cout << "--debug-exit-uvm: Exiting after UVM-supported pass\n"; + std::exit(0); + } // Calculate and check widths, edit tree to TRUNC/EXTRACT any width mismatches V3Width::width(v3Global.rootp()); diff --git a/test_regress/t/t_uvm_all.pl b/test_regress/t/t_uvm_all.pl index d4b291ae6..f61c40c4f 100755 --- a/test_regress/t/t_uvm_all.pl +++ b/test_regress/t/t_uvm_all.pl @@ -11,7 +11,9 @@ if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); di scenarios(vlt => 1); lint( - v_flags2 => ["-Wno-PKGNODECL -Wno-UNPACKED -Wno-RANDC -Wno-IMPLICITSTATIC -Wno-CONSTRAINTIGN -Wno-MISINDENT", + v_flags2 => ["--timing", + "-Wno-PKGNODECL -Wno-UNPACKED -Wno-RANDC -Wno-IMPLICITSTATIC -Wno-CONSTRAINTIGN -Wno-MISINDENT", + "-Wno-WIDTHEXPAND -Wno-WIDTHTRUNC -Wno-CASTCONST -Wno-REALCVT", "--error-limit 200 --debug-exit-uvm"], );