From 3097df46fa167745e17bad9c210ee55e26256031 Mon Sep 17 00:00:00 2001 From: Wilson Snyder Date: Sat, 7 Mar 2026 09:05:37 -0500 Subject: [PATCH] Change `--converge-limit` default to 10000 (#7209). Fixes #7209. --- Changes | 1 + docs/gen/ex_DIDNOTCONVERGE_msg.rst | 2 +- docs/gen/ex_DIDNOTCONVERGE_nodbg_msg.rst | 2 +- docs/guide/exe_verilator.rst | 2 +- src/V3Options.h | 2 +- test_regress/t/t_lint_didnotconverge_bad.out | 2 +- test_regress/t/t_lint_didnotconverge_nodbg_bad.out | 2 +- test_regress/t/t_unopt_converge_initial_run_bad.out | 2 +- test_regress/t/t_unopt_converge_ndbg_bad.out | 2 +- test_regress/t/t_unopt_converge_print_bad.out | 2 +- 10 files changed, 10 insertions(+), 9 deletions(-) diff --git a/Changes b/Changes index 918e59c8a..79cbea2af 100644 --- a/Changes +++ b/Changes @@ -28,6 +28,7 @@ Verilator 5.047 devel * Add --func-recursion-depth CLI option (#7175) (#7179). * Improve assignment-compatibility type check (#2843) (#5666) (#7052). [Pawel Kojma, Antmicro Ltd.] * Change array tracing to dump left index to right index (#7205). [Geza Lore, Testorrent USA, Inc.] +* Change `--converge-limit` default to 10000 (#7209). * Optimize size of trace declaration object code (#7150). [Szymon Gizler, Antmicro Ltd.] * Optimize function call return value temporaries (#7152). [Geza Lore, Testorrent USA, Inc.] * Optimize conditional merging across some impure statements (#7159). [Geza Lore, Testorrent USA, Inc.] diff --git a/docs/gen/ex_DIDNOTCONVERGE_msg.rst b/docs/gen/ex_DIDNOTCONVERGE_msg.rst index c792ab810..ad1f821c5 100644 --- a/docs/gen/ex_DIDNOTCONVERGE_msg.rst +++ b/docs/gen/ex_DIDNOTCONVERGE_msg.rst @@ -2,4 +2,4 @@ .. code-block:: -V{t#,#} 'stl' region trigger index 0 is active: @([hybrid] a) - %Error-DIDNOTCONVERGE: t/t_lint_didnotconverge_bad.v:7: Settle region did not converge after '--converge-limit' of 100 tries + %Error-DIDNOTCONVERGE: t/t_lint_didnotconverge_bad.v:7: Settle region did not converge after '--converge-limit' of 10000 tries diff --git a/docs/gen/ex_DIDNOTCONVERGE_nodbg_msg.rst b/docs/gen/ex_DIDNOTCONVERGE_nodbg_msg.rst index 4f3a63c82..ccee67b21 100644 --- a/docs/gen/ex_DIDNOTCONVERGE_nodbg_msg.rst +++ b/docs/gen/ex_DIDNOTCONVERGE_nodbg_msg.rst @@ -1,4 +1,4 @@ .. comment: generated by t_lint_didnotconverge_nodbg_bad .. code-block:: - %Error-DIDNOTCONVERGE: t/t_lint_didnotconverge_bad.v:7: Settle region did not converge after '--converge-limit' of 100 tries + %Error-DIDNOTCONVERGE: t/t_lint_didnotconverge_bad.v:7: Settle region did not converge after '--converge-limit' of 10000 tries diff --git a/docs/guide/exe_verilator.rst b/docs/guide/exe_verilator.rst index 0adc32b5e..ac7c6026f 100644 --- a/docs/guide/exe_verilator.rst +++ b/docs/guide/exe_verilator.rst @@ -276,7 +276,7 @@ Summary: .. option:: --converge-limit Rarely needed. Specifies the maximum number of runtime iterations before - creating a model failed to converge error. Defaults to 100. + creating a model failed to converge error. Defaults to 10000. .. option:: --coverage diff --git a/src/V3Options.h b/src/V3Options.h index 0262b5e6f..c8d52e44d 100644 --- a/src/V3Options.h +++ b/src/V3Options.h @@ -313,7 +313,7 @@ private: int m_buildJobs = -1; // main switch: --build-jobs, -j int m_coverageExprMax = 32; // main switch: --coverage-expr-max - int m_convergeLimit = 100; // main switch: --converge-limit + int m_convergeLimit = 10000; // main switch: --converge-limit int m_coverageMaxWidth = 256; // main switch: --coverage-max-width int m_debugAllocRandom = 0; // main switch: --debug-alloc-random int m_expandLimit = 256; // main switch: --expand-limit diff --git a/test_regress/t/t_lint_didnotconverge_bad.out b/test_regress/t/t_lint_didnotconverge_bad.out index 9f57e12a5..354730a84 100644 --- a/test_regress/t/t_lint_didnotconverge_bad.out +++ b/test_regress/t/t_lint_didnotconverge_bad.out @@ -1,3 +1,3 @@ -V{t#,#} 'stl' region trigger index 0 is active: @([hybrid] a) -%Error-DIDNOTCONVERGE: t/t_lint_didnotconverge_bad.v:7: Settle region did not converge after '--converge-limit' of 100 tries +%Error-DIDNOTCONVERGE: t/t_lint_didnotconverge_bad.v:7: Settle region did not converge after '--converge-limit' of 10000 tries Aborting... diff --git a/test_regress/t/t_lint_didnotconverge_nodbg_bad.out b/test_regress/t/t_lint_didnotconverge_nodbg_bad.out index 24eded329..71380e6df 100644 --- a/test_regress/t/t_lint_didnotconverge_nodbg_bad.out +++ b/test_regress/t/t_lint_didnotconverge_nodbg_bad.out @@ -1,2 +1,2 @@ -%Error-DIDNOTCONVERGE: t/t_lint_didnotconverge_bad.v:7: Settle region did not converge after '--converge-limit' of 100 tries +%Error-DIDNOTCONVERGE: t/t_lint_didnotconverge_bad.v:7: Settle region did not converge after '--converge-limit' of 10000 tries Aborting... diff --git a/test_regress/t/t_unopt_converge_initial_run_bad.out b/test_regress/t/t_unopt_converge_initial_run_bad.out index aa074a750..b55b359ae 100644 --- a/test_regress/t/t_unopt_converge_initial_run_bad.out +++ b/test_regress/t/t_unopt_converge_initial_run_bad.out @@ -1,3 +1,3 @@ -V{t#,#} 'stl' region trigger index 0 is active: @([hybrid] x) -%Error-DIDNOTCONVERGE: t/t_unopt_converge_initial.v:7: Settle region did not converge after '--converge-limit' of 100 tries +%Error-DIDNOTCONVERGE: t/t_unopt_converge_initial.v:7: Settle region did not converge after '--converge-limit' of 10000 tries Aborting... diff --git a/test_regress/t/t_unopt_converge_ndbg_bad.out b/test_regress/t/t_unopt_converge_ndbg_bad.out index 53f00719b..a4e2b86ed 100644 --- a/test_regress/t/t_unopt_converge_ndbg_bad.out +++ b/test_regress/t/t_unopt_converge_ndbg_bad.out @@ -1,2 +1,2 @@ -%Error-DIDNOTCONVERGE: t/t_unopt_converge.v:7: Settle region did not converge after '--converge-limit' of 100 tries +%Error-DIDNOTCONVERGE: t/t_unopt_converge.v:7: Settle region did not converge after '--converge-limit' of 10000 tries Aborting... diff --git a/test_regress/t/t_unopt_converge_print_bad.out b/test_regress/t/t_unopt_converge_print_bad.out index 555b85b4a..dff73fb66 100644 --- a/test_regress/t/t_unopt_converge_print_bad.out +++ b/test_regress/t/t_unopt_converge_print_bad.out @@ -1,3 +1,3 @@ -V{t#,#} 'stl' region trigger index 0 is active: @([hybrid] x) -%Error-DIDNOTCONVERGE: t/t_unopt_converge.v:7: Settle region did not converge after '--converge-limit' of 100 tries +%Error-DIDNOTCONVERGE: t/t_unopt_converge.v:7: Settle region did not converge after '--converge-limit' of 10000 tries Aborting...