From 65aa539ff073265ebb38469f6621e116a2382840 Mon Sep 17 00:00:00 2001 From: Geza Lore Date: Sun, 15 Feb 2026 17:47:21 +0000 Subject: [PATCH] Review fixes --- src/V3Options.cpp | 2 +- src/V3Options.h | 4 +- src/V3Sched.cpp | 4 +- src/V3Timing.cpp | 77 +++++++++---------- .../t/t_flag_runtime_zero_delay_none_bad.out | 17 ---- .../t/t_flag_runtime_zero_delay_off_run.out | 6 -- .../t_flag_runtime_zero_delay_off_run_bad.out | 2 - .../t/t_flag_sched_zero_delay_none_bad.out | 17 ++++ ...py => t_flag_sched_zero_delay_none_bad.py} | 0 ...d.v => t_flag_sched_zero_delay_none_bad.v} | 0 ...ut => t_flag_sched_zero_delay_off_bad.out} | 4 +- ....py => t_flag_sched_zero_delay_off_bad.py} | 2 +- ...ad.v => t_flag_sched_zero_delay_off_bad.v} | 0 .../t/t_flag_sched_zero_delay_off_run.out | 6 ++ ....py => t_flag_sched_zero_delay_off_run.py} | 2 +- ...un.v => t_flag_sched_zero_delay_off_run.v} | 0 .../t/t_flag_sched_zero_delay_off_run_bad.out | 2 + ...=> t_flag_sched_zero_delay_off_run_bad.py} | 4 +- ...ay_on.py => t_flag_sched_zero_delay_on.py} | 2 +- ...elay_on.v => t_flag_sched_zero_delay_on.v} | 0 .../t/t_fork_block_item_declaration.py | 2 +- test_regress/t/t_timing_timescale.py | 2 +- test_regress/t/t_timing_wait_long.py | 2 +- .../t/t_var_extern_method_lifetime.py | 2 +- 24 files changed, 77 insertions(+), 82 deletions(-) delete mode 100644 test_regress/t/t_flag_runtime_zero_delay_none_bad.out delete mode 100644 test_regress/t/t_flag_runtime_zero_delay_off_run.out delete mode 100644 test_regress/t/t_flag_runtime_zero_delay_off_run_bad.out create mode 100644 test_regress/t/t_flag_sched_zero_delay_none_bad.out rename test_regress/t/{t_flag_runtime_zero_delay_none_bad.py => t_flag_sched_zero_delay_none_bad.py} (100%) rename test_regress/t/{t_flag_runtime_zero_delay_none_bad.v => t_flag_sched_zero_delay_none_bad.v} (100%) rename test_regress/t/{t_flag_runtime_zero_delay_off_bad.out => t_flag_sched_zero_delay_off_bad.out} (51%) rename test_regress/t/{t_flag_runtime_zero_delay_off_bad.py => t_flag_sched_zero_delay_off_bad.py} (88%) rename test_regress/t/{t_flag_runtime_zero_delay_off_bad.v => t_flag_sched_zero_delay_off_bad.v} (100%) create mode 100644 test_regress/t/t_flag_sched_zero_delay_off_run.out rename test_regress/t/{t_flag_runtime_zero_delay_off_run.py => t_flag_sched_zero_delay_off_run.py} (94%) rename test_regress/t/{t_flag_runtime_zero_delay_off_run.v => t_flag_sched_zero_delay_off_run.v} (100%) create mode 100644 test_regress/t/t_flag_sched_zero_delay_off_run_bad.out rename test_regress/t/{t_flag_runtime_zero_delay_off_run_bad.py => t_flag_sched_zero_delay_off_run_bad.py} (78%) rename test_regress/t/{t_flag_runtime_zero_delay_on.py => t_flag_sched_zero_delay_on.py} (87%) rename test_regress/t/{t_flag_runtime_zero_delay_on.v => t_flag_sched_zero_delay_on.v} (100%) diff --git a/src/V3Options.cpp b/src/V3Options.cpp index f8b369267..f2b160962 100644 --- a/src/V3Options.cpp +++ b/src/V3Options.cpp @@ -1700,7 +1700,6 @@ void V3Options::parseOptsList(FileLine* fl, const string& optdir, int argc, if (m_reloopLimit < 2) fl->v3error("--reloop-limit must be >= 2: " << valp); }); DECL_OPTION("-report-unoptflat", OnOff, &m_reportUnoptflat); - DECL_OPTION("-runtime-zero-delay", OnOff, &m_runtimeZeroDelay); DECL_OPTION("-rr", CbCall, []() {}); // Processed only in bin/verilator shell DECL_OPTION("-runtime-debug", CbCall, [this, fl]() { decorations(fl, "node"); @@ -1717,6 +1716,7 @@ void V3Options::parseOptsList(FileLine* fl, const string& optdir, int argc, m_outFormatOk = true; m_systemC = true; }); + DECL_OPTION("-sched-zero-delay", OnOff, &m_schedZeroDelay); DECL_OPTION("-skip-identical", OnOff, &m_skipIdentical); DECL_OPTION("-stats", OnOff, &m_stats); DECL_OPTION("-stats-vars", CbOnOff, [this](bool flag) { diff --git a/src/V3Options.h b/src/V3Options.h index 230d743e8..52b01c2ac 100644 --- a/src/V3Options.h +++ b/src/V3Options.h @@ -284,8 +284,8 @@ private: bool m_quietStats = false; // main switch: --quiet-stats bool m_relativeIncludes = false; // main switch: --relative-includes bool m_reportUnoptflat = false; // main switch: --report-unoptflat - VOptionBool m_runtimeZeroDelay; // main switch: --runtime-zero-delay bool m_savable = false; // main switch: --savable + VOptionBool m_schedZeroDelay; // main switch: --sched-zero-delay bool m_stdPackage = true; // main switch: --std-package bool m_stdWaiver = true; // main switch: --std-waiver bool m_structsPacked = false; // main switch: --structs-packed @@ -492,6 +492,7 @@ public: bool underlineZero() const { return m_underlineZero; } bool systemC() const VL_MT_SAFE { return m_systemC; } bool savable() const VL_MT_SAFE { return m_savable; } + VOptionBool schedZeroDelay() const { return m_schedZeroDelay; } bool stats() const { return m_stats; } bool statsVars() const { return m_statsVars; } bool stdPackage() const { return m_stdPackage; } @@ -583,7 +584,6 @@ public: bool quietExit() const VL_MT_SAFE { return m_quietExit; } bool quietStats() const VL_MT_SAFE { return m_quietStats; } bool reportUnoptflat() const { return m_reportUnoptflat; } - VOptionBool runtimeZeroDelay() const { return m_runtimeZeroDelay; } bool verilate() const { return m_verilate; } bool vpi() const { return m_vpi; } bool waiverMultiline() const { return m_waiverMultiline; } diff --git a/src/V3Sched.cpp b/src/V3Sched.cpp index e79e692ad..bef68595f 100644 --- a/src/V3Sched.cpp +++ b/src/V3Sched.cpp @@ -690,8 +690,8 @@ void createEval(AstNetlist* netlistp, // const std::string& line = std::to_string(locp->lineno()); stmtp->add( "VL_FATAL_MT(\"" + V3OutFormatter::quoteNameControls(file) + "\", " + line - + ", \"\", \"ZERODLY: Design verilated with '--no-runtime-zero-delay', " - + "but #0 delay encountered at runtime\");"); + + ", \"\", \"ZERODLY: Design Verilated with '--no-sched-zero-delay', " + + "but #0 delay executed at runtime\");"); return stmtp; } }()); diff --git a/src/V3Timing.cpp b/src/V3Timing.cpp index 16eaacb61..6f6a31b52 100644 --- a/src/V3Timing.cpp +++ b/src/V3Timing.cpp @@ -946,35 +946,35 @@ class TimingControlVisitor final : public VNVisitor { // Simplify valuep = V3Const::constifyEdit(valuep); } - // Check if a #0 delay is used - if (AstConst* const constp = VN_CAST(valuep, Const)) { - // Delay statically known constant. Check if zero - if (constp->num().isEqZero()) { - m_hasStaticZeroDelay = true; - if (v3Global.opt.runtimeZeroDelay().isSetFalse()) { - // User promised there will not be #0 delays executed at runtime. - // Trust them but warn a #0 delay statically exists. - nodep->v3warn( - ZERODLY, - "Static #0 delay exists, but '--no-runtime-zero-delay' was given.\n" - << nodep->warnMore() // - << "... Can proceed, but this will fail at runtime if executed."); - } else { - // Sadly we have a #0 - v3Global.setUsesZeroDelay(); - } + + if (v3Global.opt.schedZeroDelay().isSetTrue()) { + // User said to schedule for #0 support, nothing else to do + v3Global.setUsesZeroDelay(); + } else if (v3Global.opt.schedZeroDelay().isSetFalse()) { + // User said to schedule without #0 support. Still warn if a static #0 delay exists + if (valuep->isZero()) { + nodep->v3warn( + ZERODLY, + "Static #0 delay exists, but '--no-sched-zero-delay' was given.\n" + << nodep->warnMore() // + << "... Can proceed, but this will fail at runtime if executed."); } } else { - // Delay is not statically known - if (v3Global.opt.runtimeZeroDelay().isSetFalse()) { - // User promised there will not be #0 delays executed at runtime, trust them. - } else { - // Record location. We will warn if no static #0 delays used. - m_unknownDelayFlps.push_back(nodep->fileline()); - // Assume it can be a #0 + // User did not express preference, decide based on presence of delays + if (valuep->isZero()) { + // Statically known #0 delay exists, schedule for #0 support v3Global.setUsesZeroDelay(); + m_hasStaticZeroDelay = true; + // Don't warn on variable delays, as no point + m_unknownDelayFlps.clear(); + } else if (!VN_IS(valuep, Const)) { + // Delay is not known at compiile time. Conservatively schedule for #0 support, + // but warn if no static #0 delays used as performance might be improved + v3Global.setUsesZeroDelay(); + if (!m_hasStaticZeroDelay) m_unknownDelayFlps.push_back(nodep->fileline()); } } + // Replace self with a 'co_await dlySched.delay()' AstCMethodHard* const delayMethodp = new AstCMethodHard{ flp, new AstVarRef{flp, getCreateDelayScheduler(), VAccess::WRITE}, @@ -1366,24 +1366,19 @@ public: iterate(nodep); // If there is no static #0 in the design, but an unknown delay was found, - // and '--runtime-zero-delay' was not given, then warn on all unknown delays + // and the user did not specify preference, then warn on all unknown delays // as we will be assuming they can be #0, which can cause performance degradation. - if (!m_hasStaticZeroDelay // - && !v3Global.opt.runtimeZeroDelay().isSetTrue() // - && !m_unknownDelayFlps.empty()) { - UASSERT_OBJ(v3Global.usesZeroDelay(), nodep, "Should have assumed can be #0"); - for (FileLine* const flp : m_unknownDelayFlps) { - flp->v3warn(ZERODLY, - "Value of # delay control statically unknown. Assuming it can be #0.\n" - << flp->warnMore() // - << "... If all # delays are non-zero at runtime,\n" - << flp->warnMore() // - << "... use '--no-runtime-zero-delay' for improved performance.\n" - << flp->warnMore() // - << "... If a real #0 is expected at runtime,\n" - << flp->warnMore() // - << "... use '--runtime-zero-delay' to suppress this warning."); - } + for (FileLine* const flp : m_unknownDelayFlps) { + flp->v3warn(ZERODLY, + "Value of # delay control statically unknown. Assuming it can be #0.\n" + << flp->warnMore() // + << "... If all # delays are non-zero at runtime,\n" + << flp->warnMore() // + << "... use '--no-sched-zero-delay' for improved performance.\n" + << flp->warnMore() // + << "... If a real #0 is expected at runtime,\n" + << flp->warnMore() // + << "... use '--sched-zero-delay' to suppress this warning."); } } ~TimingControlVisitor() override = default; diff --git a/test_regress/t/t_flag_runtime_zero_delay_none_bad.out b/test_regress/t/t_flag_runtime_zero_delay_none_bad.out deleted file mode 100644 index 82c11c195..000000000 --- a/test_regress/t/t_flag_runtime_zero_delay_none_bad.out +++ /dev/null @@ -1,17 +0,0 @@ -%Warning-ZERODLY: t/t_flag_runtime_zero_delay_none_bad.v:12:5: Value of # delay control statically unknown. Assuming it can be #0. - : ... If all # delays are non-zero at runtime, - : ... use '--no-runtime-zero-delay' for improved performance. - : ... If a real #0 is expected at runtime, - : ... use '--runtime-zero-delay' to suppress this warning. - 12 | #a; - | ^ - ... For warning description see https://verilator.org/warn/ZERODLY?v=latest - ... Use "/* verilator lint_off ZERODLY */" and lint_on around source to disable this message. -%Warning-ZERODLY: t/t_flag_runtime_zero_delay_none_bad.v:14:5: Value of # delay control statically unknown. Assuming it can be #0. - : ... If all # delays are non-zero at runtime, - : ... use '--no-runtime-zero-delay' for improved performance. - : ... If a real #0 is expected at runtime, - : ... use '--runtime-zero-delay' to suppress this warning. - 14 | #a; - | ^ -%Error: Exiting due to diff --git a/test_regress/t/t_flag_runtime_zero_delay_off_run.out b/test_regress/t/t_flag_runtime_zero_delay_off_run.out deleted file mode 100644 index db76d0864..000000000 --- a/test_regress/t/t_flag_runtime_zero_delay_off_run.out +++ /dev/null @@ -1,6 +0,0 @@ -%Warning-ZERODLY: t/t_flag_runtime_zero_delay_off_run.v:17:9: Static #0 delay exists, but '--no-runtime-zero-delay' was given. - : ... Can proceed, but this will fail at runtime if executed. - 17 | #0; - | ^ - ... For warning description see https://verilator.org/warn/ZERODLY?v=latest - ... Use "/* verilator lint_off ZERODLY */" and lint_on around source to disable this message. diff --git a/test_regress/t/t_flag_runtime_zero_delay_off_run_bad.out b/test_regress/t/t_flag_runtime_zero_delay_off_run_bad.out deleted file mode 100644 index aef3d6ee7..000000000 --- a/test_regress/t/t_flag_runtime_zero_delay_off_run_bad.out +++ /dev/null @@ -1,2 +0,0 @@ -%Error-ZERODLY: t/t_flag_runtime_zero_delay_off_bad.v:9: Design verilated with '--no-runtime-zero-delay', but #0 delay encountered at runtime -Aborting... diff --git a/test_regress/t/t_flag_sched_zero_delay_none_bad.out b/test_regress/t/t_flag_sched_zero_delay_none_bad.out new file mode 100644 index 000000000..6ca898a42 --- /dev/null +++ b/test_regress/t/t_flag_sched_zero_delay_none_bad.out @@ -0,0 +1,17 @@ +%Warning-ZERODLY: t/t_flag_sched_zero_delay_none_bad.v:12:5: Value of # delay control statically unknown. Assuming it can be #0. + : ... If all # delays are non-zero at runtime, + : ... use '--no-sched-zero-delay' for improved performance. + : ... If a real #0 is expected at runtime, + : ... use '--sched-zero-delay' to suppress this warning. + 12 | #a; + | ^ + ... For warning description see https://verilator.org/warn/ZERODLY?v=latest + ... Use "/* verilator lint_off ZERODLY */" and lint_on around source to disable this message. +%Warning-ZERODLY: t/t_flag_sched_zero_delay_none_bad.v:14:5: Value of # delay control statically unknown. Assuming it can be #0. + : ... If all # delays are non-zero at runtime, + : ... use '--no-sched-zero-delay' for improved performance. + : ... If a real #0 is expected at runtime, + : ... use '--sched-zero-delay' to suppress this warning. + 14 | #a; + | ^ +%Error: Exiting due to diff --git a/test_regress/t/t_flag_runtime_zero_delay_none_bad.py b/test_regress/t/t_flag_sched_zero_delay_none_bad.py similarity index 100% rename from test_regress/t/t_flag_runtime_zero_delay_none_bad.py rename to test_regress/t/t_flag_sched_zero_delay_none_bad.py diff --git a/test_regress/t/t_flag_runtime_zero_delay_none_bad.v b/test_regress/t/t_flag_sched_zero_delay_none_bad.v similarity index 100% rename from test_regress/t/t_flag_runtime_zero_delay_none_bad.v rename to test_regress/t/t_flag_sched_zero_delay_none_bad.v diff --git a/test_regress/t/t_flag_runtime_zero_delay_off_bad.out b/test_regress/t/t_flag_sched_zero_delay_off_bad.out similarity index 51% rename from test_regress/t/t_flag_runtime_zero_delay_off_bad.out rename to test_regress/t/t_flag_sched_zero_delay_off_bad.out index b344e8e25..d2834c15e 100644 --- a/test_regress/t/t_flag_runtime_zero_delay_off_bad.out +++ b/test_regress/t/t_flag_sched_zero_delay_off_bad.out @@ -1,5 +1,5 @@ -%Warning-ZERODLY: t/t_flag_runtime_zero_delay_off_bad.v:10:11: Static #0 delay exists, but '--no-runtime-zero-delay' was given. - : ... Can proceed, but this will fail at runtime if executed. +%Warning-ZERODLY: t/t_flag_sched_zero_delay_off_bad.v:10:11: Static #0 delay exists, but '--no-sched-zero-delay' was given. + : ... Can proceed, but this will fail at runtime if executed. 10 | initial #0; | ^ ... For warning description see https://verilator.org/warn/ZERODLY?v=latest diff --git a/test_regress/t/t_flag_runtime_zero_delay_off_bad.py b/test_regress/t/t_flag_sched_zero_delay_off_bad.py similarity index 88% rename from test_regress/t/t_flag_runtime_zero_delay_off_bad.py rename to test_regress/t/t_flag_sched_zero_delay_off_bad.py index 76ac341cf..7168a0155 100755 --- a/test_regress/t/t_flag_runtime_zero_delay_off_bad.py +++ b/test_regress/t/t_flag_sched_zero_delay_off_bad.py @@ -11,7 +11,7 @@ import vltest_bootstrap test.scenarios('vlt') -test.compile(verilator_flags2=["--binary", "--no-runtime-zero-delay"], +test.compile(verilator_flags2=["--binary", "--no-sched-zero-delay"], fails=True, expect_filename=test.golden_filename) diff --git a/test_regress/t/t_flag_runtime_zero_delay_off_bad.v b/test_regress/t/t_flag_sched_zero_delay_off_bad.v similarity index 100% rename from test_regress/t/t_flag_runtime_zero_delay_off_bad.v rename to test_regress/t/t_flag_sched_zero_delay_off_bad.v diff --git a/test_regress/t/t_flag_sched_zero_delay_off_run.out b/test_regress/t/t_flag_sched_zero_delay_off_run.out new file mode 100644 index 000000000..8a4ff622a --- /dev/null +++ b/test_regress/t/t_flag_sched_zero_delay_off_run.out @@ -0,0 +1,6 @@ +%Warning-ZERODLY: t/t_flag_sched_zero_delay_off_run.v:17:9: Static #0 delay exists, but '--no-sched-zero-delay' was given. + : ... Can proceed, but this will fail at runtime if executed. + 17 | #0; + | ^ + ... For warning description see https://verilator.org/warn/ZERODLY?v=latest + ... Use "/* verilator lint_off ZERODLY */" and lint_on around source to disable this message. diff --git a/test_regress/t/t_flag_runtime_zero_delay_off_run.py b/test_regress/t/t_flag_sched_zero_delay_off_run.py similarity index 94% rename from test_regress/t/t_flag_runtime_zero_delay_off_run.py rename to test_regress/t/t_flag_sched_zero_delay_off_run.py index 1f838cf2b..208f69c94 100755 --- a/test_regress/t/t_flag_runtime_zero_delay_off_run.py +++ b/test_regress/t/t_flag_sched_zero_delay_off_run.py @@ -12,7 +12,7 @@ import vltest_bootstrap test.scenarios('vlt') test.compile(verilator_flags2=[ - "--timing", "--main", "--exe", "--no-skip-identical", "--no-runtime-zero-delay", "-Wno-fatal" + "--timing", "--main", "--exe", "--no-skip-identical", "--no-sched-zero-delay", "-Wno-fatal" ], expect_filename=test.golden_filename) diff --git a/test_regress/t/t_flag_runtime_zero_delay_off_run.v b/test_regress/t/t_flag_sched_zero_delay_off_run.v similarity index 100% rename from test_regress/t/t_flag_runtime_zero_delay_off_run.v rename to test_regress/t/t_flag_sched_zero_delay_off_run.v diff --git a/test_regress/t/t_flag_sched_zero_delay_off_run_bad.out b/test_regress/t/t_flag_sched_zero_delay_off_run_bad.out new file mode 100644 index 000000000..471817f17 --- /dev/null +++ b/test_regress/t/t_flag_sched_zero_delay_off_run_bad.out @@ -0,0 +1,2 @@ +%Error-ZERODLY: t/t_flag_sched_zero_delay_off_bad.v:9: Design Verilated with '--no-sched-zero-delay', but #0 delay executed at runtime +Aborting... diff --git a/test_regress/t/t_flag_runtime_zero_delay_off_run_bad.py b/test_regress/t/t_flag_sched_zero_delay_off_run_bad.py similarity index 78% rename from test_regress/t/t_flag_runtime_zero_delay_off_run_bad.py rename to test_regress/t/t_flag_sched_zero_delay_off_run_bad.py index 5bbcb58a8..af4e99e4c 100755 --- a/test_regress/t/t_flag_runtime_zero_delay_off_run_bad.py +++ b/test_regress/t/t_flag_sched_zero_delay_off_run_bad.py @@ -11,9 +11,9 @@ import vltest_bootstrap test.scenarios('vlt') -test.top_filename = "t_flag_runtime_zero_delay_off_bad.v" +test.top_filename = "t_flag_sched_zero_delay_off_bad.v" -test.compile(verilator_flags2=["--binary", "--no-runtime-zero-delay", "-Wno-fatal"]) +test.compile(verilator_flags2=["--binary", "--no-sched-zero-delay", "-Wno-fatal"]) test.execute(fails=True, expect_filename=test.golden_filename) diff --git a/test_regress/t/t_flag_runtime_zero_delay_on.py b/test_regress/t/t_flag_sched_zero_delay_on.py similarity index 87% rename from test_regress/t/t_flag_runtime_zero_delay_on.py rename to test_regress/t/t_flag_sched_zero_delay_on.py index d5526db6b..38a84cb84 100755 --- a/test_regress/t/t_flag_runtime_zero_delay_on.py +++ b/test_regress/t/t_flag_sched_zero_delay_on.py @@ -11,7 +11,7 @@ import vltest_bootstrap test.scenarios('vlt') -test.compile(verilator_flags2=["--binary", "--runtime-zero-delay"]) +test.compile(verilator_flags2=["--binary", "--sched-zero-delay"]) test.execute(check_finished=True) diff --git a/test_regress/t/t_flag_runtime_zero_delay_on.v b/test_regress/t/t_flag_sched_zero_delay_on.v similarity index 100% rename from test_regress/t/t_flag_runtime_zero_delay_on.v rename to test_regress/t/t_flag_sched_zero_delay_on.v diff --git a/test_regress/t/t_fork_block_item_declaration.py b/test_regress/t/t_fork_block_item_declaration.py index 4f9081a6d..4b9293add 100755 --- a/test_regress/t/t_fork_block_item_declaration.py +++ b/test_regress/t/t_fork_block_item_declaration.py @@ -11,7 +11,7 @@ import vltest_bootstrap test.scenarios('simulator') -test.compile(verilator_flags2=["--binary", "--no-runtime-zero-delay"]) +test.compile(verilator_flags2=["--binary", "--no-sched-zero-delay"]) test.execute() diff --git a/test_regress/t/t_timing_timescale.py b/test_regress/t/t_timing_timescale.py index 4b3c0bda2..bf27a0db2 100755 --- a/test_regress/t/t_timing_timescale.py +++ b/test_regress/t/t_timing_timescale.py @@ -11,7 +11,7 @@ import vltest_bootstrap test.scenarios('simulator') -test.compile(verilator_flags2=["--binary", "--no-runtime-zero-delay"]) +test.compile(verilator_flags2=["--binary", "--no-sched-zero-delay"]) test.execute(expect_filename=test.golden_filename) diff --git a/test_regress/t/t_timing_wait_long.py b/test_regress/t/t_timing_wait_long.py index 4b3c0bda2..bf27a0db2 100755 --- a/test_regress/t/t_timing_wait_long.py +++ b/test_regress/t/t_timing_wait_long.py @@ -11,7 +11,7 @@ import vltest_bootstrap test.scenarios('simulator') -test.compile(verilator_flags2=["--binary", "--no-runtime-zero-delay"]) +test.compile(verilator_flags2=["--binary", "--no-sched-zero-delay"]) test.execute(expect_filename=test.golden_filename) diff --git a/test_regress/t/t_var_extern_method_lifetime.py b/test_regress/t/t_var_extern_method_lifetime.py index 4f9081a6d..4b9293add 100755 --- a/test_regress/t/t_var_extern_method_lifetime.py +++ b/test_regress/t/t_var_extern_method_lifetime.py @@ -11,7 +11,7 @@ import vltest_bootstrap test.scenarios('simulator') -test.compile(verilator_flags2=["--binary", "--no-runtime-zero-delay"]) +test.compile(verilator_flags2=["--binary", "--no-sched-zero-delay"]) test.execute()