Wilson Snyder
fa99cbbc73
Commentary: Fix mis-sorted option names. No functional change.
2022-06-21 19:28:26 -04:00
Wilson Snyder
49455721a3
Commentary
2022-06-21 19:28:23 -04:00
Unai Martinez-Corral
11032b1936
Fix bisonpre for MSYS2 ( #3471 )
2022-06-20 11:59:27 -04:00
Wilson Snyder
f2fba51fe2
devel release
2022-06-19 15:13:29 -04:00
Wilson Snyder
7c79f0d431
Version bump (Changes update)
2022-06-19 15:10:23 -04:00
Wilson Snyder
41b9b30b9b
Version bump
2022-06-19 15:01:17 -04:00
Wilson Snyder
1fa82ffb7b
Commentary: Update ChangeLog
2022-06-19 15:00:10 -04:00
Wilson Snyder
4f93ac6477
Internals: Style modernization. No functional change intended.
2022-06-15 18:49:32 -04:00
Krzysztof Bieganski
f7533010c6
Internals: Add setNoopt()
function to LifeVisitor
( #3468 )
2022-06-15 18:11:03 -04:00
Todd Strader
47b650d821
Fix public unpacked input ports ( #3465 )
2022-06-15 07:41:59 -04:00
Geza Lore
0c2c097377
Add -fno-merge-cond-motion option
...
This disables code motion during V3MergeCond, for debugging.
2022-06-13 14:16:11 +01:00
Geza Lore
d721f70690
Commentary
2022-06-13 12:14:37 +01:00
Kevin Kiningham
ea8aaa21e8
Fix compile error under strict C++11 mode ( #3463 )
2022-06-13 12:14:02 +01:00
Kamil Rakoczy
660d1059b0
With --no-decoration, remove output whitespace ( #3460 )
...
Signed-off-by: Kamil Rakoczy <krakoczy@antmicro.com>
2022-06-10 07:26:33 -04:00
Wilson Snyder
e7dc2de14b
Fix BLKANDNBLK on $readmem/$writemem ( #3379 ).
2022-06-04 12:43:18 -04:00
Wilson Snyder
32100a3c91
Tests: Fix racy tests for develop-v5.
2022-06-04 12:17:04 -04:00
Wilson Snyder
67f7432dd7
Commentary ( #3436 ).
2022-06-04 08:37:42 -04:00
Wilson Snyder
59dc2853e3
Support concat assignment to packed array ( #3446 ).
2022-06-03 21:32:13 -04:00
Wilson Snyder
ada58465b2
Add -f<optimization> options to replace -O<letter> options ( #3436 ).
2022-06-03 20:43:16 -04:00
Wilson Snyder
173f57c636
Changed --no-merge-const-pool to -fno-merge-const-pool ( #3436 ).
2022-06-03 19:41:59 -04:00
Wilson Snyder
1f3e8640f7
Examples: -Os should be a compile flag, not Verilator flag.
2022-06-03 18:45:39 -04:00
Wilson Snyder
6039e9dcc3
Commentary
2022-06-02 21:32:22 -04:00
Yutetsu TAKATSUKASA
d64f979f99
Fix BitOpTree optimization to consider polarity of frozen node ( #3445 ) ( #3459 )
...
* Tests: add a test to another failing case of #3445
* Consider polarity as lsb in BitOpTree optimization.
2022-06-01 09:26:16 +09:00
Huanghuang Zhou
0c53d19113
Commentary: InstrCountVisitor
documentation ( #3457 )
...
Signed-off-by: huanghuang.zhou <huanghuang.zhou@terapines.com>
2022-05-31 07:10:58 -04:00
Geza Lore
c64a07fd09
CI: fix cache keys in test jobs
2022-05-30 18:35:59 +01:00
Geza Lore
694919b9d1
CI: add ubuntu-22.04 regressions
2022-05-30 18:34:41 +01:00
Geza Lore
606b35853b
Configure and compile with C++17 on Ubuntu 22.04
...
The packaged libsystemc on Ubuntu 22.04 uses C++17, so default to that
on that platform. Keep C++14 elsewhere.
2022-05-30 18:34:41 +01:00
Yutetsu TAKATSUKASA
26b7452178
Fix #3445 of BitOpTreeOpt ( #3453 )
...
* Tests: Check BitOpTree statistics in t_const_opt.
* Tests: Add a test to reproduce #3445
* Fix #3445 . Don't forget LSB of frozen node in BitOpTreeOpt.
* Apply suggestions from code review
Co-authored-by: Geza Lore <gezalore@gmail.com>
2022-05-30 19:33:06 +09:00
Geza Lore
b51f887567
Perform VCD tracing in parallel when using --threads ( #3449 )
...
VCD tracing is now parallelized using the same thread pool as the model.
We achieve this by breaking the top level trace functions into multiple
top level functions (as many as --threads), and after emitting the time
stamp to the VCD file on the main thread, we execute the tracing
functions in parallel on the same thread pool as the model (which we
pass to the trace file during registration), tracing into a secondary
per thread buffer. The main thread will then stitch (memcpy) the buffers
together into the output file.
This makes the `--trace-threads` option redundant with `--trace`, which
now only affects `--trace-fst`. FST tracing uses the previous offloading
scheme.
This obviously helps a lot in VCD tracing performance, and I have seen
better than Amdahl speedup, namely I get 3.9x on XiangShan 4T (2.7x on
OpenTitan 4T).
2022-05-29 19:08:39 +01:00
Geza Lore
c4b8675d77
Always inline some small, hot trace routines
2022-05-28 12:47:09 +01:00
Geza Lore
a7cd7a1ed9
Initialize VerilatedTrace members in class
2022-05-28 12:47:07 +01:00
Geza Lore
a48c779367
Rename verilated_trace_imp.cpp -> verilated_trace_imp.h
...
Also fix file header to describe purpose of this file.
2022-05-28 12:20:35 +01:00
Geza Lore
cf1eccc24f
Make local function 'static' in verilated_profiler.h
2022-05-28 12:17:39 +01:00
Geza Lore
d45caca011
Remove legacy VCD tracing API
...
This has not been used by Verilator for a while, but was kept for
compatibility with some external code. Now removed.
2022-05-28 12:07:24 +01:00
Geza Lore
0722f47539
Improve V3MergeCond by reordering statements ( #3125 )
...
V3MergeCond merges consecutive conditional `_ = cond ? _ : _` and
`if (cond) ...` statements. This patch adds an analysis and ordering
phase that moves statements with identical conditions closer to each
other, in order to enable more merging opportunities. This in turn
eliminates a lot of repeated conditionals which reduced dynamic branch
count and branch misprediction rate. Observed 6.5% improvement on
multi-threaded large designs, at the cost of less than 2% increase in
Verilation speed.
2022-05-27 16:57:51 +01:00
github action
a372e010bd
Apply 'make format'
2022-05-25 04:51:51 +00:00
Wilson Snyder
530817191e
Support non-ANSI interface port declarations ( #3439 ).
2022-05-25 00:50:50 -04:00
Geza Lore
1282548a1c
Only consider definitions in t_flag_csplit
2022-05-20 18:02:00 +01:00
Geza Lore
c7610ed044
Fix FST tracing thread in CMake build
2022-05-20 17:04:46 +01:00
Geza Lore
ffc1c51526
Commentary
2022-05-20 16:44:53 +01:00
Geza Lore
b130a8cfeb
Add -DVM_TRACE_VCD in model builds with Make with --trace
2022-05-20 16:44:38 +01:00
Geza Lore
551bd284dd
Rename some internals related to multi-threaded tracing
...
Rename the implementation internals of current multi-threaded tracing to
be "offload mode". No functional change, nor user interface change
intended.
2022-05-20 16:44:35 +01:00
Krzysztof Bieganski
9edccfdffa
Initial support for intra-assignment timing controls, net delays ( #3427 )
...
This is a pre-PR to #3363 .
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2022-05-17 19:19:44 +01:00
Geza Lore
1a056f6db9
Fix invalid conditional merging when starting at 'c = c ? a : b'
...
Fixes #3409 .
2022-05-17 18:36:40 +01:00
Krzysztof Bieganski
e018eb7bac
Support AstClass::repairCache() after V3Class ( #3431 )
...
This is a pre-PR to #3363 .
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2022-05-17 09:22:43 -04:00
Krzysztof Bieganski
0a91ddf38a
Tests: Better grep check in t_foreach ( #3435 )
...
This is a pre-PR to #3363 .
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2022-05-17 09:20:59 -04:00
Krzysztof Bieganski
67bb2c640e
Tests: Rename t_timing_clkgen to t_timing_clkgen1 ( #3430 )
...
This is a pre-PR to #3363 , which will introduce more clock gen tests.
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2022-05-17 09:19:51 -04:00
Krzysztof Bieganski
561eaa311d
Tests: Enable CI testing with GCC 10 ( #3432 )
...
This is a pre-PR to #3363 .
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2022-05-17 09:19:06 -04:00
Krzysztof Bieganski
3f7a248ed4
Refactor some of the Begin handling to a separate function ( #3426 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2022-05-16 20:45:33 +01:00
Krzysztof Bieganski
ecaa07a72a
Rename AstTimingControl to AstEventControl ( #3425 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2022-05-16 20:44:41 +01:00