This commit is contained in:
Geza Lore 2026-02-15 18:55:09 +00:00
parent a37af8b2d9
commit 76fb800d7f
4 changed files with 31 additions and 5 deletions

View File

@ -487,6 +487,7 @@ detailed descriptions of these arguments.
--runtime-debug Enable model runtime debugging
--savable Enable model save-restore
--sc Create SystemC output
--sched-zero-delay Specify #0 delay support
--no-skip-identical Disable skipping identical output
--stats Create statistics file
--stats-vars Provide statistics on variables

View File

@ -1594,6 +1594,21 @@ Summary:
Specifies SystemC output mode; see also :vlopt:`--cc` option.
.. option:: --sched-zero-delay
Specifies if the generated code should support ``#0`` delays with full IEEE
1800 standard scheduling semantics. Full ``#0`` support has a simulation
performance cost. If :vlopt:`--sched-zero-delay` is used, the generated code
will fully support ``#0`` delays. If :vlopt:`--no-sched-zero-delay` is used,
the generated code will not support ``#0` delays, and simulation will fail
at runtime if a ``#0`` delay is executed. If no option is given, Verilator
will generate code with proper ``#0`` support if the input contains either a
``#0``, or a ``#(expression)`` with a delay value unknown at compile time.
Option :vlopt:`--no-sched-zero-delay` can be used if the input contains
``#0`` delays, but they are known to be not executed at runtime. This can
improve simulation performance.
.. option:: --skip-identical
.. option:: --no-skip-identical

View File

@ -121,11 +121,6 @@ as well as all flavors of ``fork``.
Compiling a Verilated design that uses these features requires a compiler
with C++20 coroutine support, e.g. Clang 5, GCC 10, or newer.
``#0`` delays cause Verilator to issue the :option:`ZERODLY` warning, as
they work differently than described in the LRM. They do not schedule
process resumption in the Inactive region, though the process will get
resumed in the same time slot.
Rising/falling/turn-off delays are currently unsupported and cause the
:option:`RISEFALLDLY` warning.

View File

@ -2592,6 +2592,21 @@ List Of Warnings
.. option:: ZERODLY
Since version 5.046:
Issued if neither :vlopt:`--sched-zero-delay`, nor
:vlopt:`--sched-zero-delay` is used on the command line, and the input does
not contain a compile time known ``#0`` delay, but does contain a
``#(expressin)`` where the delay value cannot be determined at compile time.
Passing :vlopt:`--no-sched-zero-delay` can improve runtime performance if
variable delays are all known to be non-zero at runtime.
Also issued if :vlopt:`--no-sched-zero-delay` is used on the command line,
but the input contains a compile time known ``#0`` delay. This is safe to
ignore if the reported delay is known to be not executed at runtime.
Before version 5.046:
Warns that `#0` delays do not schedule the process to be resumed in the
Inactive region. Such processes do get resumed in the same time slot
somewhere in the Active region. Issued only if Verilator is run with the