Dan Ruelas-Petrisko
394d9cf168
Support `-libmap` ( #5891 partial) ( #6764 )
2025-12-16 11:21:46 -05:00
Geza Lore
9dc0cf5a7c
Internals: Use a V3Graph for the hierarchical plan ( #6545 )
...
I stared this because the emitted makefiles for hierarchical verilation
were non-deterministic (iterating unordered_map indexed by pointers).
Then I realized that the V3HierPlan is just a dependency graph encoded
in a slightly idiosyncratic way. We do have a data structure to use for
that instead.
With that the output should always be deterministic + have nicer dumps.
2025-10-09 21:41:23 +02:00
Wilson Snyder
a7e6efb4c0
Internals: Some prep from branch towards multitrace ( #5813 prep)
2025-09-27 20:54:26 -04:00
Wilson Snyder
580a843474
Fix randomize inside module without any classes
2025-09-20 17:13:54 -04:00
Geza Lore
57d8bb5d1f
Internals: Always attempt to release resources on termination ( #6416 )
...
Replace std::exit with v3Global.exit, and make V3Error::vlAbort call
v3Global.shutdown. This gives us an opportunity to release resources to
facilitate leak checking even when exiting early on an error.
Note we still don't release most resources by default without
VL_LEAK_CHECKS, so there is no behaviour change there.
2025-09-10 13:20:19 -04:00
Geza Lore
dd11d5a598
Fix memory leaks - batch 1 ( #6411 )
2025-09-09 22:39:44 +01:00
Geza Lore
056c3ee331
Testing: Add --enable-asan configure option to compile with AddressSanitizer ( #6404 )
2025-09-09 08:55:49 +01:00
Geza Lore
327d55d13d
Internals: Fix remaining cppcheck errors ( #6319 )
...
Fixed the non const-related issue and added suppressions for the const
ones. With that `make cppcheck` should be clean.
2025-08-21 09:43:37 +01:00
Wilson Snyder
916a89761e
Add `--work` library-selection option ( #5891 partial).
2025-06-29 20:17:27 -04:00
Wilson Snyder
0c8c7fb03c
Remove symbol table from parser: Support redeclaring type as non-type; major parsing change ( #2412 ).
2025-05-18 07:13:37 -04:00
Wilson Snyder
a094fd954b
Internals: Remove duplication in verilated.cpp file lists. No functional change intended.
2025-04-08 22:30:44 -04:00
Kamil Rakoczy
2e1fa8f338
Add `--preproc-resolve` for modules in preprocessor output ( #5789 )
...
Signed-off-by: Kamil Rakoczy <krakoczy@antmicro.com>
2025-02-22 04:47:54 +10:00
Wilson Snyder
8fbb725f34
Copyright year update.
2025-01-01 08:30:25 -05:00
Wilson Snyder
aa2b653c71
Internals: With `--dumpi-tree >= 9`, create pre-sort cells.tree
2024-12-01 17:38:02 -05:00
Wilson Snyder
3ffea76e11
Add `--no-std-waiver` and default reading of standard lint waivers file ( #5607 ).
2024-11-12 22:11:19 -05:00
Wilson Snyder
7c8ff1d19c
Add `--no-std-package` as subset-alias of `--no-std`.
2024-11-11 08:30:07 -05:00
Wilson Snyder
e566b5a4f5
Change .vlt config files to be read before .v files ( #5185 ).
2024-09-09 20:18:54 -04:00
Bartłomiej Chmiel
ffe76717c6
Thread pool rewrite ( #5161 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
Signed-off-by: Bartłomiej Chmiel <bchmiel@antmicro.com>
Signed-off-by: Arkadiusz Kozdra <akozdra@antmicro.com>
Co-authored-by: Krzysztof Bieganski <kbieganski@antmicro.com>
Co-authored-by: Arkadiusz Kozdra <akozdra@antmicro.com>
Co-authored-by: Wilson Snyder <wsnyder@wsnyder.org>
2024-08-23 08:36:49 -04:00
Bartłomiej Chmiel
a730daabef
Support 'parameter type' in hierarchical blocks ( #5309 ) ( #5333 )
2024-08-21 05:30:59 -04:00
Szymon Gizler
8301fdc6d3
Add JSON AST dumps ( #5020 )
2024-03-28 07:32:18 -04:00
Szymon Gizler
d667b73e8d
Add --json-only and related JSON dumping ( #4715 ) ( #4831 ).
2024-02-09 17:50:09 -05:00
Wilson Snyder
e76f29e5ba
Copyright year update
2024-01-01 03:19:59 -05:00
Wilson Snyder
7167d4bdc0
Fix shift of > 32-bit number ( #4719 ).
2023-11-27 21:41:32 -05:00
Wilson Snyder
1986e62477
Internals: Remove unused append dumpTreeFile option
2023-11-21 22:32:13 -05:00
Geza Lore
d60f180f43
Avoid double traversal of maps
...
The typical find/if-not-exists-insert pattern can be achieved with 1
lookup instead of 2 using emplace with a sentinel value. Also maps value
initialize their values when inserted with the [] operator, this is
defined and so there is no need to explicitly insert zeroes for integer
values.
2023-10-28 13:41:43 +01:00
Geza Lore
30318a6654
C++11 cleanup
2023-10-28 11:26:48 +01:00
Wilson Snyder
b5828a7ce9
Fix header order botched by clang-format in recent commit.
2023-10-18 06:37:46 -04:00
github action
770cd24f27
Apply 'make format'
2023-10-18 02:50:27 +00:00
Wilson Snyder
431bb1ed16
Support compiling Verilator with gcc/clang precompiled headers ( #4579 )
2023-10-17 22:49:28 -04:00
Wilson Snyder
2530cda507
Fix debug crash when no std:: used
2023-04-06 21:43:39 -04:00
Wilson Snyder
8caf9be3e6
Internals: Favor {} constructor syntax. No functional change intended.
2023-04-06 21:04:26 -04:00
Aleksander Kiryk
31130c4b4a
Fix std:: to be parsed first ( #3864 ) ( #3928 )
2023-02-03 09:04:16 -05:00
Geza Lore
a168d593eb
Fix some front-end memory leaks
2023-01-01 15:31:29 +00:00
Geza Lore
6ab47f799b
Actually delete the netlist when VL_LEAK_CHECKS
2023-01-01 15:31:29 +00:00
Wilson Snyder
b24d7c83d3
Copyright year update
2023-01-01 10:18:39 -05:00
Wilson Snyder
84c7368621
Rename std.sv and add to install.
2022-12-03 11:31:26 -05:00
Larry Doolittle
f27cf4c804
Commentary: Fix spelling in C++ comments ( #3797 ) ( #3798 )
2022-12-02 18:46:38 -05:00
Krzysztof Bieganski
68e1b473e2
Support `std::semaphore` and typed `std::mailbox` ( #3708 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2022-11-28 16:53:55 +01:00
Wilson Snyder
21d80cdfa1
Internals: Fix constructor style.
2022-11-19 14:45:38 -05:00
Marcel Chang
526e6b9fc7
Add --dump-tree-dot to enable dumping Ast Tree .dot files ( #3636 )
2022-10-01 11:05:33 -04:00
Wilson Snyder
ea55db7286
Internals: Cleanup some string constructors. No functional change.
2022-08-30 01:02:39 -04: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
Geza Lore
3bd830eacf
Minor clean up of initialization
2022-07-13 18:24:48 +01:00
Wilson Snyder
e6857df5c6
Internals: Rename Ast on non-node classes ( #3262 ). No functional change.
...
This commit has the following replacements applied:
s/\bAstUserInUseBase\b/VNUserInUseBase/g;
s/\bAstAttrType\b/VAttrType/g;
s/\bAstBasicDTypeKwd\b/VBasicDTypeKwd/g;
s/\bAstDisplayType\b/VDisplayType/g;
s/\bAstNDeleter\b/VNDeleter/g;
s/\bAstNRelinker\b/VNRelinker/g;
s/\bAstNVisitor\b/VNVisitor/g;
s/\bAstPragmaType\b/VPragmaType/g;
s/\bAstType\b/VNType/g;
s/\bAstUser1InUse\b/VNUser1InUse/g;
s/\bAstUser2InUse\b/VNUser2InUse/g;
s/\bAstUser3InUse\b/VNUser3InUse/g;
s/\bAstUser4InUse\b/VNUser4InUse/g;
s/\bAstUser5InUse\b/VNUser5InUse/g;
s/\bAstVarType\b/VVarType/g;
2022-01-02 14:03:20 -05:00
Wilson Snyder
ca42be982c
Copyright year update.
2022-01-01 08:26:40 -05:00
Wilson Snyder
05e12ab60e
Internals: More const. No functional change intended.
2021-11-26 10:52:45 -05:00
Geza Lore
c207e98306
Implement a distinct constant pool ( #3013 )
...
What previously used to be per module static constants created in
V3Table and V3Prelim are now merged globally within the whole model and
emitted as part of a separate constant pool. Members of the constant
pool are global variables which are declared lazily when used (similar to
loose methods).
2021-06-13 15:05:55 +01:00
Wilson Snyder
47dcbd4b8a
Internal: Remove deprecated/insecure functions. No functional change intended.
2021-03-06 10:34:03 -05:00
Wilson Snyder
bd602d0e2d
Copyright year update
2021-01-01 10:29:54 -05:00
Wilson Snyder
fac04521db
Internals: Fix VL_LEAK_CHECK ( #2542 ).
2020-09-11 11:52:30 -04:00