verilator/docs/guide
Geza Lore 708abe0dd1 Introduce model interface class, make $root part or Syms (#3036)
This patch implements #3032. Verilator creates a module representing the
SystemVerilog $root scope (V3LinkLevel::wrapTop). Until now, this was
called the "TOP" module, which also acted as the user instantiated model
class. Syms used to hold a pointer to this root module, but hold
instances of any submodule. This patch renames this root scope module
from "TOP" to "$root", and introduces a separate model class which is
now an interface class. As the root module is no longer the user
interface class, it can now be made an instance of Syms, just like any
other submodule. This allows absolute references into the root module to
avoid an additional pointer indirection resulting in a potential speedup
(about 1.5% on OpenTitan). The model class now also contains all non
design specific generated code (e.g.: eval loops, trace config, etc),
which additionally simplifies Verilator internals.

Please see the updated documentation for the model interface changes.
2021-06-30 16:35:40 +01:00
..
figures Fix duplicate figures in sphinx docs 2021-04-11 21:14:25 -04:00
changes.rst Documentation has been rewritten into a book format. 2021-04-11 18:55:06 -04:00
conf.py Internals: Fix some pylint warnings 2021-05-21 20:47:53 -04:00
connecting.rst Introduce model interface class, make $root part or Syms (#3036) 2021-06-30 16:35:40 +01:00
contributing.rst Documentation has been rewritten into a book format. 2021-04-11 18:55:06 -04:00
contributors.rst Documentation has been rewritten into a book format. 2021-04-11 18:55:06 -04:00
copyright.rst Documentation has been rewritten into a book format. 2021-04-11 18:55:06 -04:00
deprecations.rst Remove deprecated --inhibit-sim (#3035) 2021-06-21 12:38:42 -04:00
environment.rst Documentation has been rewritten into a book format. 2021-04-11 18:55:06 -04:00
example_cc.rst Documentation has been rewritten into a book format. 2021-04-11 18:55:06 -04:00
example_common_install.rst Fix whitespace 2021-04-11 22:22:43 -04:00
example_dist.rst Documentation has been rewritten into a book format. 2021-04-11 18:55:06 -04:00
example_sc.rst Documentation has been rewritten into a book format. 2021-04-11 18:55:06 -04:00
examples.rst Documentation has been rewritten into a book format. 2021-04-11 18:55:06 -04:00
exe_sim.rst Documentation has been rewritten into a book format. 2021-04-11 18:55:06 -04:00
exe_verilator.rst Remove deprecated --inhibit-sim (#3035) 2021-06-21 12:38:42 -04:00
exe_verilator_coverage.rst Documentation has been rewritten into a book format. 2021-04-11 18:55:06 -04:00
exe_verilator_gantt.rst Documentation has been rewritten into a book format. 2021-04-11 18:55:06 -04:00
exe_verilator_profcfuncs.rst Documentation has been rewritten into a book format. 2021-04-11 18:55:06 -04:00
executables.rst Documentation has been rewritten into a book format. 2021-04-11 18:55:06 -04:00
extensions.rst Emit model implementation as loose methods. (#3006) 2021-06-13 14:33:11 +01:00
faq.rst Add ccache-report target to standard Makefile (#3011) 2021-06-07 00:56:30 +01:00
files.rst Introduce model interface class, make $root part or Syms (#3036) 2021-06-30 16:35:40 +01:00
index.rst Fix edit-on-git in sphinx docs 2021-04-11 20:52:40 -04:00
install.rst Internals: Update to clang-format-11 (#3021) 2021-06-14 14:50:40 -04:00
languages.rst Documentation has been rewritten into a book format. 2021-04-11 18:55:06 -04:00
overview.rst Documentation has been rewritten into a book format. 2021-04-11 18:55:06 -04:00
simulating.rst Add ccache-report target to standard Makefile (#3011) 2021-06-07 00:56:30 +01:00
verilating.rst Add TRACE_THREADS to CMake (#2934) 2021-05-08 08:18:08 -04:00
warnings.rst Internals: Fix some pylint warnings 2021-05-21 20:47:53 -04:00