verilator/docs
Marco Brambilla 1f164d7ee0
Fix wait fork trigger temporary split across generated functions (#7985) (#7986)
splitCheck() cuts a function's top level statement list on node count
alone, ignoring AstVar declarations in that list. localizeVars() puts the
dynamic trigger temporaries there, which a 'wait fork' reaches, so the
declaration could land in one sub-function and its references in another.
Sub-functions are emitted as separate C++ functions, so the output failed
to compile:

    error: '__Vtrigprevexpr_h5d9da2ce__0' was not declared in this scope

V3InlineCFuncs could also inline the sub-function holding the declaration
and free the AstVar while other sub-functions still referenced it, which
--debug reports as a broken link and which segfaults an -O3 build.

The existing "Can't split function with local variables" assertion only
checked AstCFunc::varsp(), not declarations among the statements.

Only allow a sub-function boundary where it does not separate a local
declaration from a reference to it. This keeps the temporaries function
local, as #6859 requires, while restoring the guarantee #5822 made that
splitting cannot orphan them.

Signed-off-by: Marco Brambilla <marco@hairyotter.com>
2026-08-05 17:33:58 +01:00
..
_static Fix Codacy warnings. No functional change. 2021-07-07 19:42:49 -04:00
bin Add SPDX copyright identifiers, and get 'reuse' clean. No functional change. 2026-01-26 20:24:34 -05:00
gen Add MULTIDRIVENPROC warning for signals driven by multiple plain always blocks (#7968) 2026-07-24 08:54:09 -04:00
guide Add MULTIDRIVEN checks for clocking block outputs (#7987) 2026-08-03 04:54:43 -04:00
.gitignore Spelling fixes. 2022-05-14 16:12:57 -04:00
AGENTS.md CI: Autoformat markdown files 2026-06-15 17:44:50 -04:00
CONTRIBUTING.rst Commentary: Use standard multiline rst comments, other cleanups 2026-06-18 21:58:01 -04:00
CONTRIBUTORS Fix wait fork trigger temporary split across generated functions (#7985) (#7986) 2026-08-05 17:33:58 +01:00
Makefile Add SPDX copyright identifiers, and get 'reuse' clean. No functional change. 2026-01-26 20:24:34 -05:00
README.rst Commentary: Use standard multiline rst comments, other cleanups 2026-06-18 21:58:01 -04:00
internals.rst Commentary: Make RST documents round-trip clean. No output change intended. 2026-06-21 10:15:47 -04:00
security.rst Commentary: Use standard multiline rst comments, other cleanups 2026-06-18 21:58:01 -04:00
spelling.txt Commentary: Changes update 2026-07-03 13:01:05 -04:00
verilated.dox Cleanup missing copyrights and those on simply copied files. No functional change. 2023-01-20 20:42:30 -05:00

README.rst

..
   SPDX-FileCopyrightText: 2003-2026 Wilson Snyder
   SPDX-License-Identifier: LGPL-3.0-only OR Artistic-2.0

Verilator Documentation
=======================

This folder contains sources for Verilator documentation.

For formatted documentation see:

- `Verilator README <https://github.com/verilator/verilator>`_

- `Verilator installation and package directory structure
  <https://verilator.org/install>`_

- `Verilator manual (HTML) <https://verilator.org/verilator_doc.html>`_, or
  `Verilator manual (PDF) <https://verilator.org/verilator_doc.pdf>`_

- `Subscribe to Verilator announcements
  <https://github.com/verilator/verilator-announce>`_

- `Verilator forum <https://verilator.org/forum>`_

- `Verilator issues <https://verilator.org/issues>`_