Wilson Snyder
67f26508ba
Support `$sscanf %t`
2025-09-01 14:40:22 -04:00
Wilson Snyder
5f23bf95f6
Internals: Refactor V3EmitUtil to not be base class. No functional change.
2025-08-25 22:05:40 -04:00
Yilou Wang
10ac99ac05
Support randomization of scope variables with 'std::randomize()' ( #5438 ) ( #6185 )
2025-07-25 12:13:46 +02:00
Wilson Snyder
641e0e5672
Internals: Fix assertion if bad display
2025-07-19 21:12:10 -04:00
Todd Strader
d9534ec626
Fix x assign vs init randomization ( #6075 )
2025-06-09 17:59:01 -04:00
Todd Strader
4b041c636f
Fix --x-initial and --x-assign random stability ( #2662 ) ( #5958 ) ( #6018 ) ( #6025 )
2025-05-27 09:31:55 -04:00
Wilson Snyder
46c7b69c64
Internals: UINFO now includes newline itself. No functional change.
2025-05-22 20:29:32 -04:00
Wilson Snyder
640339ec36
Revert 'Fix --x-initial and --x-assign random stability ( #2662 ) ( #5958 ).' See ( #6018 ).
...
Reverts 4581023805 plus line in Changes file
2025-05-17 20:27:03 -04:00
Wilson Snyder
647404ec1e
Tests: Improve warning coverage
2025-05-17 16:28:09 -04:00
Todd Strader
4581023805
Fix --x-initial and --x-assign random stability ( #2662 ) ( #5958 )
2025-05-16 13:54:51 -04:00
Wilson Snyder
3658e5f0f1
Internals: Rename widthToFit, no functional change.
2025-04-28 21:54:58 -04:00
Wilson Snyder
c3d1c3b952
Fix vlSelf error on fork repeats ( #5927 ).
2025-04-26 09:52:44 -04:00
Yilou Wang
7fe51583e5
Fix foreach of assocArr inside a constraint block ( #5727 ) ( #5841 )
2025-03-11 13:32:34 -04:00
Wilson Snyder
3b98db17cc
Fix reset of automatic function variables ( #5747 ).
...
Also required V3Life optimize CRESET(x) ... ASSIGN(rhs, x) to remove the
extraneous CRESET to avoid creating new UNOPTFLAT situations.
2025-02-25 22:48:53 -05:00
Wilson Snyder
bed9aa9904
Internals: Cleanup std::string empty string constructors.
2025-01-24 07:47:32 -05:00
Wilson Snyder
8fbb725f34
Copyright year update.
2025-01-01 08:30:25 -05:00
Wilson Snyder
8707c88787
Tests: Close misc internal code coverage holes
2024-07-28 14:18:24 -04:00
Yangyu Chen
164a7a7c5d
Improve emitted code to use a reference for VlSelf ( #5254 )
2024-07-15 09:44:01 -04:00
Wilson Snyder
131623de34
Internals: Favor s string literals. No functional change.
2024-07-14 11:39:45 -04:00
Arkadiusz Kozdra
739be2f782
Support constrained randomization with external solvers ( #4947 )
2024-05-17 10:38:34 -04:00
Wilson Snyder
a84be1844f
MSVC fix, part of fix of null ( #4862 ).
2024-01-28 11:05:38 -05:00
Wilson Snyder
354a534d68
Add '--decorations node' for inserting debug comments into emitted code.
2024-01-24 21:51:47 -05:00
Wilson Snyder
a36a07c297
Internals: Favor UASSERT over v3fatalSrc. No functional change intended.
2024-01-05 18:00:06 -05:00
Wilson Snyder
e76f29e5ba
Copyright year update
2024-01-01 03:19:59 -05: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
Aleksander Kiryk
ad3bcbb1bb
Support `disable fork` ( #4125 ) ( #4569 )
2023-10-16 14:02:29 +02:00
Wilson Snyder
24ff3155ae
Support randc ( #4349 ).
2023-09-18 21:17:21 -04:00
Wilson Snyder
e6fb7e970d
Fix recursive display causing segfault ( #4480 ).
2023-09-16 10:10:21 -04:00
Krzysztof Bieganski
fb1fc46b06
Internals: Rework self pointers ( #4396 )
2023-09-08 07:34:35 -04:00
Krzysztof Boroński
4bdda3f240
Improve propagation of process requirement and decouple it from suspendability ( #4321 )
2023-07-14 17:12:02 +02:00
Ryszard Rozak
b517fb5ee3
Support some stream operations on queues ( #4292 )
2023-06-13 22:46:42 -04:00
Aleksander Kiryk
db7935faf3
Add std::process class ( #4212 )
2023-06-01 10:02:08 -04:00
Wilson Snyder
8caf9be3e6
Internals: Favor {} constructor syntax. No functional change intended.
2023-04-06 21:04:26 -04:00
Wilson Snyder
f2aac8c49a
Internals: Use VNVisitorConst where possible, for better performance. No functional change indended.
2023-03-18 12:23:17 -04:00
Wilson Snyder
5aa4f46101
Internals: Add some std::. No functional change intended.
2023-02-10 20:32:39 -05:00
Andrew Nolte
d3c14cc1ac
Split WIDTH warning into WIDTHEXPAND and WIDTHTRUNC ( #3900 )
2023-02-02 18:25:25 -05:00
Wilson Snyder
a19dddf05e
Fix real parameters of infinity and NaN.
2023-01-28 22:11:09 -05:00
Wilson Snyder
93517b8378
Support unpacked unions.
2023-01-27 22:41:12 -05:00
Wilson Snyder
b24d7c83d3
Copyright year update
2023-01-01 10:18:39 -05:00
Wilson Snyder
3ccb2e0f2d
Fix initiation of function variables ( #3815 ).
2022-12-23 10:51:52 -05:00
Krzysztof Bieganski
bb44d4e4f2
Support clocking blocks ( #3674 )
2022-12-23 07:34:49 -05:00
Aleksander Kiryk
c2b09e35f8
Support unpacked structs ( #3802 )
2022-12-20 19:22:42 -05:00
Ryszard Rozak
073dc03adc
Support super.new calls ( #3789 )
2022-11-30 06:42:48 -05:00
Wilson Snyder
f0a7abcef8
Internals: Use named accessors instead of op1p etc. No functional change intended.
2022-11-29 18:17:50 -05:00
Geza Lore
65e08f4dbf
Make all expressions derive from AstNodeExpr ( #3721 ).
...
Apart from the representational changes below, this patch renames
AstNodeMath to AstNodeExpr, and AstCMath to AstCExpr.
Now every expression (i.e.: those AstNodes that represent a [possibly
void] value, with value being interpreted in a very general sense) has
AstNodeExpr as a super class. This necessitates the introduction of an
AstStmtExpr, which represents an expression in statement position, e.g :
'foo();' would be represented as AstStmtExpr(AstCCall(foo)). In exchange
we can get rid of isStatement() in AstNodeStmt, which now really always
represent a statement
Peak memory consumption and verilation speed are not measurably changed.
Partial step towards #3420
2022-11-03 16:02:16 +00:00
Krzysztof Bieganski
fcf0d03cd4
Dynamic triggers for non-static contexts ( #3599 )
...
In non-static contexts like class objects or stack frames, the use of
global trigger evaluation is not feasible. The concept of dynamic
triggers allows for trigger evaluation in such cases. These triggers are
simply local variables, and coroutines are themselves responsible for
evaluating them. They await the global dynamic trigger scheduler object,
which is responsible for resuming them during the trigger evaluation
step in the 'act' eval region. Once the trigger is set, they await the
dynamic trigger scheduler once again, and then get resumed during the
resumption step in the 'act' eval region.
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2022-10-22 14:05:39 +00:00
Arkadiusz Kozdra
0e4da3b0bf
Support virtual interfaces ( #3654 )
2022-10-20 06:31:00 -04:00
Wilson Snyder
3cd2c8532d
Internals: Cleanup spacing of Vi for loops.
2022-10-15 18:47:10 -04:00