Wilson Snyder
0c820c3068
Internals: Standardize template argument names. No functional change.
2024-11-29 20:20:38 -05:00
Wilson Snyder
ce174743bb
Fix some MSVC warnings
2024-01-28 14:47:14 -05:00
Wilson Snyder
3a5248a919
Internals: Mark structs final/VL_NOT_FINAL. No functional change intended.
2024-01-20 15:06:46 -05:00
Wilson Snyder
e76f29e5ba
Copyright year update
2024-01-01 03:19:59 -05:00
Mariusz Glebocki
949be301de
Internals: Fix unbalanced V3LockGuard locking ( #4193 )
2023-05-13 10:32:33 -04:00
Wilson Snyder
b24d7c83d3
Copyright year update
2023-01-01 10:18:39 -05:00
Wilson Snyder
218dd4322b
Fix C++11 warnings
2022-11-12 16:03:13 -05:00
Kamil Rakoczy
d6126c4b32
Remove --no-threads; require --threads 1 for single threaded ( #3703 ).
2022-11-05 08:47:34 -04:00
Geza Lore
38a8d7fb2e
Remove redundant 'inline' keywords from definitions
...
Also add checks to t/t_dist_cppstyle
2022-09-16 15:52:25 +01:00
Geza Lore
96a4b3e5a5
Update clang-format config and apply
...
- Regroup and sort #include directives (like we used to, but automatic)
- Set AlwaysBreakTemplateDeclarations to true
2022-08-05 12:00:24 +01:00
Wilson Snyder
a2d26b45bb
Internals: Fix some clang-tidy issues. No functional change intended.
2022-07-30 11:54:28 -04:00
Geza Lore
f4038e3674
Move thread pool and execution profiler into the context. ( #3477 )
...
Fixes #3454
2022-07-12 11:41:15 +01:00
Geza Lore
1bb6433649
Improve worker thread shutdown.
...
Always ensure worker thread task queue is drained before shutting down.
2022-06-27 15:03:36 +01:00
Wilson Snyder
fc4d6a62af
Remove VL_PROFILER ifdef. Partial ( #3454 ).
2022-06-22 20:06:23 -04:00
Wilson Snyder
f6035447ae
Internals: Use mutable for mutexes. No functional change.
2022-05-13 07:21:39 -04:00
Wilson Snyder
e02f97854c
Deprecate 'vluint64_t' and similar types ( #3255 ).
2022-03-27 15:27:40 -04:00
Geza Lore
b1b5b5dfe2
Improve run-time profiling
...
The --prof-threads option has been split into two independent options:
1. --prof-exec, for collecting verilator_gantt and other execution
related profiling data, and
2. --prof-pgo, for collecting data needed for PGO
The implementation of execution profiling is extricated from
VlThreadPool and is now a separate class VlExecutionProfiler. This means
--prof-exec can now be used for single-threaded models (though it does
not measure a lot of things just yet). For consistency VerilatedProfiler
is renamed VlPgoProfiler. Both VlExecutionProfiler and VlPgoProfiler are
in verilated_profiler.{h/cpp}, but can be used completely independently.
Also re-worked the execution profile format so it now only emits events
without holding onto any temporaries. This is in preparation for some
future optimizations that would be hindered by the introduction of function
locals via AstText.
Also removed the Barrier event. Clearing the profile buffers is not
notably more expensive as the profiling records are trivially
destructible.
2022-03-27 15:57:30 +02:00
Guokai Chen
818aaa8b89
Fix macOS arm64 build by excluding x86 only cpuid header ( #3285 ) ( #3291 )
...
Signed-off-by: Guokai Chen <chenguokai17@mails.ucas.ac.cn>
2022-01-23 09:15:09 -05:00
Wilson Snyder
ca42be982c
Copyright year update.
2022-01-01 08:26:40 -05:00
Wilson Snyder
e87a726989
Internals: More const. No functional change intended.
2021-11-25 09:05:50 -05:00
Wilson Snyder
c2819923c5
Verilator_gantt now shows the predicted mtask times, eval times, and additional statistics.
2021-09-23 22:59:36 -04:00
Wilson Snyder
68f1432a68
Gantt: Subtract common start in slowpath to reduce collection measurement error.
2021-09-23 19:43:20 -04:00
Wilson Snyder
ab13a2ebdc
Internals: Use C++11 const and initializers. No functional change intended.
2021-07-24 08:36:11 -04:00
Wilson Snyder
52cde49a6f
Internals: Add more const. No functional change.
2021-06-18 22:24:08 -04:00
Geza Lore
60d5f0e86b
Emit model implementation as loose methods. ( #3006 )
...
This patch introduces the concept of 'loose' methods, which semantically
are methods, but are declared as global functions, and are passed an
explicit 'self' pointer. This enables these methods to be declared
outside the class, only when they are needed, therefore removing the
header dependency. The bulk of the emitted model implementation now uses
loose methods.
2021-06-13 14:33:11 +01:00
Wilson Snyder
2e158d88c1
Commentary. Remove dox comments from private members,
2021-03-20 21:11:53 -04:00
Wilson Snyder
a1ab295b74
Commentary: Cleanup all include/* header comments.
2021-03-20 17:46:00 -04:00
Wilson Snyder
3a55600913
Internals: Restyle with C++11 using replacing typedef
2021-03-12 18:10:45 -05:00
Wilson Snyder
404b323f8c
Internals: Remove some unnecessary typedefs. No functional change.
2021-03-12 17:26:53 -05:00
Wilson Snyder
2cad22a22a
Add simulation context (VerilatedContext) ( #2660 ). ( #2813 )
...
** Add simulation context (VerilatedContext) to allow multiple fully independent
models to be in the same process. Please see the updated examples.
** Add context->time() and context->timeInc() API calls, to set simulation time.
These now are recommended in place of the legacy sc_time_stamp().
2021-03-07 11:01:54 -05:00
Wilson Snyder
8c3ad591ae
Internals: Add additional mutex exclusion checks. No functional change.
2021-03-06 18:29:11 -05:00
Wilson Snyder
018d994781
Convert VPI to singleton, part of ( #2660 ).
2021-03-04 19:23:40 -05:00
Wilson Snyder
be31fdcfe4
Use Google-style-guide header guard naming, to avoid __ prefix.
2021-03-03 21:57:07 -05:00
Wilson Snyder
bd602d0e2d
Copyright year update
2021-01-01 10:29:54 -05:00
Wilson Snyder
b6ded59c2b
Internals: Use and enforce class final for ~5% performance boost.
2020-11-18 21:32:16 -05:00
Wilson Snyder
1b0a48ea02
Internals: Use C++11 = default where obvious. No functional change intended.
2020-11-16 19:56:16 -05:00
Rafal Kapuscik
7be343fd7c
Support 'this' ( #2585 ).
2020-10-08 07:54:01 -04:00
Wilson Snyder
5033c906fd
Commentary ( #2577 )
2020-09-30 16:55:26 -04:00
Wilson Snyder
72d2cff0a1
C++11: Use member declaration initalizations. No functional change intended.
2020-08-16 11:44:06 -04:00
Wilson Snyder
c0127599df
C++11: Use nullptr. No functional change.
2020-08-16 11:44:05 -04:00
Wilson Snyder
773ed97504
Internals Most VerilatedLockGuard can be const. No functional change intended.
2020-05-28 18:23:46 -04:00
Wilson Snyder
5c966ec510
clang-format many files. No functional change.
...
Use nodist/clang_formatter to reformat files that are now clean.
2020-04-13 22:52:23 -04:00
Wilson Snyder
e07e9390f6
Internals: clang-format cleanups. No functional change.
2020-04-04 14:09:21 -04:00
Wilson Snyder
1ce360ed5b
Add SPDX license identifiers. No functional change.
2020-03-21 11:24:24 -04:00
Wilson Snyder
f23fe8fd84
Update copyright year.
2020-01-06 18:05:53 -05:00
Wilson Snyder
700f2072c0
Framework for WDatas being vectors of 64-bit EDatas, but not supporting this at this time.
2019-12-08 21:36:38 -05:00
Wilson Snyder
f87107e757
Tests etc: Cleanup some clang-format suggestions. No functional change.
2019-11-09 20:35:12 -05:00
Patrick Stewart
0ed58a4217
Fix multithreaded yield behavior when no work.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-10-07 19:27:31 -04:00
Patrick Stewart
8e6d68147c
Support multithreading on Windows.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-10-07 19:23:06 -04:00
Wilson Snyder
307549e8a6
Internals: Fix some cppcheck warnings.
2019-10-06 08:20:02 -04:00