Geza Lore
ab4063f098
Emit implementations into separate files based on required headers.
...
This patch partitions AstCFuncs under an AstNodeModule based on which
header files they require for their implementation, and emits them
into separate files based on the distinct dependency sets. This helps
with incremental recompilation of the output C++.
2021-07-22 18:01:07 +01:00
Geza Lore
a4f5d95648
Fix -G to treat simple integer literals as signed ( #3060 )
...
The -G option now correctly parses simple integer literals as signed
numbers, which is in line with the standard and is significant when
overriding parameters without a type specifier.
Fixes #3060
2021-07-08 13:42:25 +01:00
Wilson Snyder
3ed2af638b
devel release
2021-07-07 20:50:11 -04:00
Wilson Snyder
8e2ba6a003
Version bump
2021-07-07 20:43:07 -04:00
Wilson Snyder
36599133bf
Add --prof-c to pass profiling to compiler ( #3059 ).
2021-07-07 19:12:52 -04:00
Wilson Snyder
941f96c913
Commentary
2021-07-07 17:59:22 -04:00
Geza Lore
2ebed755e6
V3Simulate: Avoid copying while managing free list.
...
V3Simulate reuses allocated AstConst nodes for efficiency, however this
used to be implemented in a way that required a deep copy of a
std::unorderd_map<_, std::deque<_>>, which was quite inefficient when it
grew large. The free list is now managed without any copying. This takes
the V3Table pass from taking 12s to 0.2s on SweRV EH1.
2021-07-05 17:07:33 +01:00
Geza Lore
af27702188
Fix type parameter resolution with hash collision.
...
We incorrectly treated two different struct types the same when passed
as an actual parameter to a `parameter type` parameter in an instance,
if the actual parameter expression both hash to the same value and the
structs have the same struct name. This is now corrected.
Fixes #3055 .
2021-07-01 16:52:29 +01:00
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
Geza Lore
ec1c112791
Remove deprecated --inhibit-sim ( #3035 )
2021-06-21 12:38:42 -04:00
Wilson Snyder
c11cd18491
In XML, show pinIndex information ( #2877 ).
2021-06-19 13:41:41 -04:00
Wilson Snyder
8d737271ca
Allow configure override of AR program ( #2999 ).
2021-06-19 10:00:31 -04:00
Geza Lore
e5e5bc0fa3
Localize variables used in multiple functions
...
Teach V3Localize how to localize variables that are used in multiple
functions, if in all functions where they are used, they are always
written in whole before being consumed. This allows a lot more variables
to be localized (+20k variables on OpenTitan - when building without
--trace), and can cause significant performance improvement (OpenTitan
simulates 8.5% - build single threaded and withuot --trace).
2021-06-18 16:22:51 +01:00
Geza Lore
9eafca5e28
Remove deprecated --no-relative-cfuncs ( #3024 )
2021-06-16 23:17:43 -04:00
Wilson Snyder
13ddd0bc1c
Fix error on unsupported recursive functions ( #2957 ).
2021-06-13 12:38:31 -04: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
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
f0f68f42d1
devel release
2021-06-12 13:05:33 -04:00
Wilson Snyder
e3341e9a7c
Verison bump
2021-06-12 12:36:03 -04:00
Wilson Snyder
b976b8dac9
Fix slowdown in elaboration ( #2911 ).
2021-06-06 22:09:30 -04:00
Wilson Snyder
31bb73e3de
Fix MCD close also closing stdout ( #2931 ).
2021-06-06 19:32:48 -04:00
Wilson Snyder
1e89392e76
Add --expand-limit argument ( #3005 ).
2021-06-06 10:27:01 -04:00
Wilson Snyder
9f5eb8f66e
Commentary
2021-06-03 21:15:42 -04:00
Wilson Snyder
2143bcfad5
Fix constant function calls with uninit value ( #2995 ).
2021-05-31 22:46:41 -04:00
Geza Lore
e1f9fffb42
Fix --protect-ids when using SV classes ( #2994 )
...
A few names were incorrectly mangled, which made --protect-ids produce
invalid output when certain SV class constructs were uses. Now fixed and
added a few extra tests to catch this.
2021-05-31 13:40:22 +01:00
Geza Lore
a44d2b2570
Move unreleased changes in right place in Changelog
2021-05-20 11:30:44 +01:00
Geza Lore
9699192de8
Don't merge bit select assignments in C code ( #2971 )
2021-05-18 14:28:48 -04:00
Geza Lore
38cab569ed
Add --reloop-limit argument ( #2960 )
...
Add --reloop-limit argument
2021-05-15 18:04:40 +01:00
Geza Lore
1422c23434
Split procedures to better respect --output-split-cfuncs ( #2942 )
...
CFuncs only used to be split at procedure (always/initial/final block),
which on occasion can still yield huge output files if they have large
procedures. This patch make CFuncs split at statement boundaries within
procedures. This has the potential to help a lot, but still does not
help if there are huge statements within procedures.
2021-05-11 07:44:07 -04:00
Geza Lore
f6c0108c86
Optimize large lookup tables to static data ( #2926 )
...
Implements #2925
2021-05-08 20:04:56 +01:00
Wilson Snyder
e68788d914
Fix initialization of assoc in assoc array ( #2914 ).
2021-05-03 19:37:04 -04:00
Wilson Snyder
490f9f757d
devel release
2021-05-03 19:37:04 -04:00
Wilson Snyder
15f7741eaf
Version bump
2021-04-24 10:34:05 -04:00
Wilson Snyder
15802dadf1
Commentary
2021-04-24 09:23:53 -04:00
Wilson Snyder
dd0c2cac9b
Fix V3Premit infinite loop on always read-and-write ( #2898 ).
2021-04-21 09:21:06 -04:00
Wilson Snyder
2e9e4ae110
Add an URL on warnings to point to the manual's description.
2021-04-18 10:17:05 -04:00
Wilson Snyder
39d9ecfe51
Fix cmake version number ( #2881 )
2021-04-13 09:10:29 -04:00
Wilson Snyder
adce7ecf4b
Documentation has been rewritten into a book format.
2021-04-11 18:55:06 -04:00
Wilson Snyder
e2c11cceb8
Fix select of with index variable ( #2880 ).
2021-04-08 19:35:03 -04:00
Wilson Snyder
5658d7238d
Commentary
2021-04-03 13:11:26 -04:00
Wilson Snyder
c62546c761
Add --coverage-max-width ( #2853 ).
2021-03-29 18:54:51 -04:00
Wilson Snyder
e0808bcd15
Commentary
2021-03-26 23:05:04 -04:00
Wilson Snyder
4155de721b
Fix Cygwin example compile issues ( #2856 ).
2021-03-26 23:01:58 -04:00
Wilson Snyder
7ea014dab5
Fix false WIDTHCONCAT on casted constant ( #2849 ).
2021-03-23 19:49:57 -04:00
Wilson Snyder
b6c393e9f0
Add VerilatedCovContext::forcePerInstance ( #2793 ).
2021-03-19 22:24:00 -04:00
Wilson Snyder
96f9f8558b
Mark --no-relative-cfuncs as scheduled for deprecation.
2021-03-17 18:59:45 -04:00
Wilson Snyder
c20bced485
Fix --output-split with class extends ( #2839 ).
2021-03-17 18:25:54 -04:00
Wilson Snyder
dfab80fab1
Fix false TIMESCALEMOD on generate-ignored instances ( #2838 ).
2021-03-16 22:52:29 -04:00
Wilson Snyder
26c0fa0a6a
Fix --timescale-override not suppressing TIMESCALEMOD ( #2838 ).
2021-03-16 22:42:28 -04:00
Wilson Snyder
12eb4e85ac
Changed TIMESCALEMOD from error into a warning. ( #2838 )
2021-03-16 21:58:15 -04:00
Wilson Snyder
f79e59b226
Commentary
2021-03-16 21:17:55 -04:00
Wilson Snyder
8350c381c2
Add EOFNEWLINE warning when missing a newline at EOF.
2021-03-14 21:23:48 -04:00
Wilson Snyder
50866e470a
Commentary: Convert Changes to RST format
2021-03-14 14:12:58 -04:00
Wilson Snyder
e6b19d557e
Fix false $dumpfile warning on model save ( #2834 ).
2021-03-14 09:08:17 -04:00
Wilson Snyder
6a189a1f81
Fix exceeding command-line ar limit ( #2834 ).
2021-03-13 15:09:10 -05:00
Wilson Snyder
ce79c4ebf9
Fix class unpacked-array compile error ( #2774 ).
2021-03-13 12:47:19 -05:00
Wilson Snyder
1b4a82acde
Verilated signals now use VlUnpacked in place of C arrays. ( #2774 ) partial.
2021-03-13 12:37:19 -05:00
Wilson Snyder
1b985da2a1
devel release
2021-03-12 15:52:35 -05:00
Wilson Snyder
1b18a85e76
Version bump
2021-03-12 15:48:31 -05:00
Wilson Snyder
5022e81af7
Commentary
2021-03-12 14:14:21 -05:00
Wilson Snyder
c99f01b7fe
Converted Asciidoc documentation into reStructuredText (RST) format.
2021-03-12 13:52:47 -05:00
Wilson Snyder
29ed866061
Fix range inheritance on port without data type ( #2753 ).
2021-03-11 19:22:19 -05:00
Wilson Snyder
7469166c38
Fix or-reduction on different scopes broken in 4.110 ( #2828 ).
2021-03-10 18:08:11 -05:00
Wilson Snyder
a9d61a8bff
Increase devel version as next release will be 4.200
2021-03-07 11:40:10 -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
fec5e69ec5
--inhibit-sim is planned for deprecation, file a bug if this is still being used.
2021-02-28 09:26:06 -05:00
Wilson Snyder
dfd54a6abf
devel release
2021-02-25 21:52:04 -05:00
Wilson Snyder
17b75c6428
Version bump
2021-02-25 21:43:33 -05:00
Wilson Snyder
1a5f599626
Commentary
2021-02-24 18:32:21 -05:00
Wilson Snyder
c95e606c0a
Fix range inheritance on port without data type ( #2753 ).
2021-02-24 18:21:13 -05:00
Wilson Snyder
fd6edd90bc
Fix little endian interface pin swizzling ( #2475 ).
2021-02-20 22:11:20 -05:00
Wilson Snyder
975c1b39a9
Fix little endian packed array pattern assignment ( #2795 ).
2021-02-20 20:29:28 -05:00
Wilson Snyder
22e299e78e
Support concat selection ( #2721 ).
2021-02-17 23:03:47 -05:00
Wilson Snyder
43cf5693d1
Fix shifts by > 32 bit values ( #2785 ).
2021-02-14 11:15:12 -05:00
Wilson Snyder
20b3f0efa0
Fix class extends with VM_PARALLEL_BUILDS ( #2775 ).
2021-02-13 17:29:34 -05:00
Wilson Snyder
2b72218dd8
Fix examples not flushing vcd ( #2787 ).
2021-02-13 17:06:53 -05:00
Wilson Snyder
05bb24df6c
Fix $fread extra semicolon inside statements.
2021-01-26 22:20:16 -05:00
Wilson Snyder
64941538b7
Fix TIMESCALE warnings on primitives ( #2763 ).
2021-01-23 10:31:41 -05:00
Wilson Snyder
945496d6d9
devel release
2021-01-10 13:36:46 -05:00
Wilson Snyder
484b76e5b3
Version bump
2021-01-10 13:34:59 -05:00
Wilson Snyder
801d850724
Commentary
2021-01-10 13:14:25 -05:00
Wilson Snyder
1a073fbf5e
Fix vpiLeftRange on little-endian memories ( #2696 ).
2021-01-02 22:00:13 -05:00
Wilson Snyder
83d978c2cd
Fix generate for unrolling to be signed ( #2730 ).
2021-01-02 21:43:13 -05:00
Wilson Snyder
bd602d0e2d
Copyright year update
2021-01-01 10:29:54 -05:00
Wilson Snyder
72b2df30f8
Fix tracing empty sc module ( #2729 ).
2020-12-28 11:13:58 -05:00
Wilson Snyder
1e34ae31d2
Fix vpi_release_handle to be called implicitly per IEEE ( #2706 ).
2020-12-18 21:16:57 -05:00
Wilson Snyder
882b310897
Fix little endian packed array counting ( #2499 ).
2020-12-13 16:23:59 -05:00
Wilson Snyder
82fc142c1c
Add error on real to non-real output pins ( #2690 ).
2020-12-13 13:33:48 -05:00
Wilson Snyder
8e25d2c61d
Commentary ( #2095 ).
2020-12-12 20:26:50 -05:00
Wilson Snyder
18f8c8a14f
Fix error when dotted refers to missing module ( #2095 ).
2020-12-12 20:25:00 -05:00
Wilson Snyder
d7af6436a2
Fix genblk naming to match IEEE ( #2686 ).
2020-12-12 12:57:11 -05:00
Wilson Snyder
53ce708294
Fix showing reference locations for BLKANDNBLK ( #2170 ).
2020-12-09 23:07:11 -05:00
Wilson Snyder
ab4ad9965c
Fix DPI open array handling issues, and do internal coverage ( #2350 ).
2020-12-09 22:15:34 -05:00
Wilson Snyder
47eeef485d
Report UNUSED on parameters, localparam and genvars ( #2627 ).
2020-12-07 19:49:50 -05:00
Wilson Snyder
74ef35d3b3
Support $cast and new CASTCONST warning.
2020-12-05 22:58:36 -05:00
Wilson Snyder
8582aed66a
Add --top option as alias of --top-module.
2020-12-05 16:58:17 -05:00
Wilson Snyder
5fb834e41e
Fix passing parameter type instantiations by position number.
2020-12-05 11:00:30 -05:00
Wilson Snyder
38c6085f54
devel release
2020-12-02 20:19:04 -05:00
Wilson Snyder
b350b6a0ff
Version bump
2020-12-02 20:09:23 -05:00
Wilson Snyder
665e8edaff
Support $monitor and $strobe.
2020-11-29 11:31:38 -05:00
Wilson Snyder
9a9931fb9d
Support complex function arguments.
2020-11-28 13:46:14 -05:00
Wilson Snyder
cf2810db8b
Change -sv option to select 1800-2017 instead of 1800-2005.
2020-11-27 21:49:47 -05:00
Wilson Snyder
a37866ee92
Support 'super'.
2020-11-26 11:06:59 -05:00
Wilson Snyder
6095efd84e
Check for proper 'local' and 'protected' ( #2228 ).
2020-11-25 07:03:01 -05:00
Wilson Snyder
bf24fa9478
Fix access to non-overridden base class variable ( #2654 ).
2020-11-24 22:46:02 -05:00
Wilson Snyder
e85a2e860e
Support 'with item.index'.
2020-11-23 23:18:58 -05:00
Wilson Snyder
b684995292
Support $random and $urandom seeds.
2020-11-19 21:32:33 -05:00
Wilson Snyder
fa77141519
Fix unpacked array parameters near functions ( #2639 ).
2020-11-18 20:12:14 -05:00
Wilson Snyder
70b3a599ce
Fix trace signal names getting hashed ( #2643 ).
2020-11-16 18:11:27 -05:00
Wilson Snyder
297b297bc7
devel release
2020-11-14 10:00:01 -05:00
Wilson Snyder
02cb3d17a2
Version bump
2020-11-14 09:50:30 -05:00
Wilson Snyder
c3cfaf55ed
Commentary
2020-11-14 09:26:38 -05:00
Wilson Snyder
fc52fb9093
Fix arrays of modport interfaces ( #2614 ).
2020-11-08 22:43:32 -05:00
Wilson Snyder
d78941885b
Fix cast width propagation ( #2597 ).
2020-11-08 19:07:33 -05:00
Wilson Snyder
152689776d
Report error on typedef referencing self ( #2539 ).
2020-11-07 15:41:37 -05:00
Wilson Snyder
602750b1ee
Commentary
2020-11-07 10:49:54 -05:00
Wilson Snyder
2a24bb4759
Fix queue poping wrong value when otherwise unused ( #2512 ).
2020-11-07 10:37:55 -05:00
Wilson Snyder
2aedc91151
Support queue and associative array 'with' statements. ( #2616 )
2020-11-01 10:56:07 -05:00
Wilson Snyder
95d1272269
Support associative array pattern assignments and defaults.
2020-10-25 21:05:22 -04:00
Wilson Snyder
4cec3ff2a0
Fix WIDTH warnings on comparisons with nullptr ( #2602 ).
2020-10-22 17:27:23 -04:00
Wilson Snyder
5d3dd52f13
Support queue slicing ( #2326 ).
2020-10-18 13:23:39 -04:00
Wilson Snyder
470859f929
devel release
2020-10-15 08:26:36 -04:00
Wilson Snyder
77553d23fc
Version bump
2020-10-15 08:21:57 -04:00
Wilson Snyder
79b1b07fcd
Commentary
2020-10-14 07:30:15 -04:00
Wilson Snyder
215d3614c0
Fix preprocessor stringify of undefined macro.
2020-10-09 18:53:09 -04:00
Rafal Kapuscik
7be343fd7c
Support 'this' ( #2585 ).
2020-10-08 07:54:01 -04:00
Wilson Snyder
efbcb094ca
Fix flushCall for backward compatibility ( #2580 ).
2020-10-04 07:47:25 -04:00
Wilson Snyder
4ba2637360
Fix class wide member display ( #2567 ).
2020-09-25 07:37:38 -04:00
Wilson Snyder
6430743b6f
Fix method calls to package class functions ( #2565 ). [Peter Monsson]
2020-09-22 09:09:10 -04:00
Wilson Snyder
0c49cca527
Fix $urandom_range passed variable ( #2563 ).
2020-09-22 08:44:51 -04:00
Wilson Snyder
7a9e79ea79
Fix -G dropping public indication ( #2561 ).
2020-09-21 08:29:57 -04:00
Wilson Snyder
430238a6b4
Support # as a comment in -f files ( #2497 ).
2020-09-15 20:12:08 -04:00
Peter Monsson
d0819f156f
Add support for |=> inside properties ( #1292 ).
2020-09-10 06:49:04 -04:00
Wilson Snyder
30f3774134
Support const object new() assignments.
2020-09-07 17:26:53 -04:00
Wilson Snyder
c1d35c8622
devel release
2020-09-07 09:42:13 -04:00
Wilson Snyder
16fba59480
Version bump
2020-09-07 09:26:03 -04:00
Peter Monsson
627d83e807
Add support for assume property ( #2531 )
2020-09-03 12:38:48 -04:00
Wilson Snyder
ba5779c69e
Fix queues as class members ( #2525 ).
2020-08-29 12:56:43 -04:00
Wilson Snyder
069eb97eca
SystemC 2.3.0 or newer (SYSTEMC_VERSION >= 20111121) is now required.
2020-08-29 10:45:47 -04:00
Wilson Snyder
f7f3d3fd43
Fix splitting eval functions with --output-split-cfuncs ( #2368 ).
2020-08-23 22:21:40 -04:00
Wilson Snyder
917d3b0fb3
Support virtual class
2020-08-23 20:27:25 -04:00
Wilson Snyder
f4a72946eb
Support $urandom, $urandom_range without stability.
2020-08-23 08:42:50 -04:00
Wilson Snyder
4e6d2cfe38
Fix class constructor error on assignments to const.
2020-08-22 22:44:00 -04:00
Wilson Snyder
7f3a73e314
Fix naming of "id : begin" blocks.
2020-08-22 22:21:37 -04:00
Wilson Snyder
9702d11657
Support class extern.
2020-08-22 19:46:21 -04:00
Wilson Snyder
2d7d2c5992
Fix false DECLFILENAME on black-boxed modules ( #2430 ).
2020-08-22 16:56:21 -04:00
Wilson Snyder
27181d534e
Commentary
2020-08-17 07:57:38 -04:00
Wilson Snyder
7a33fe2bf2
devel release
2020-08-15 09:20:50 -04:00
Wilson Snyder
bdecf6c4e1
Version bump
2020-08-15 09:14:36 -04:00
Wilson Snyder
6fcf05e2b6
Commentary
2020-08-15 09:12:36 -04:00
Peter Monsson
4a5e4b04f3
Support $rose and $fell. ( #2148 ) ( #2501 )
2020-08-14 07:37:10 -04:00
Wilson Snyder
20c906261b
Fix casting non-self-determined subexpressions ( #2493 ).
2020-08-09 20:59:06 -04:00
Wilson Snyder
98cd925fda
Fix non-32 bit conversion to float ( #2495 ).
2020-08-06 21:56:43 -04:00
Peter Monsson
1280070abb
Support $stable ( #2488 )
2020-07-28 18:26:24 -04:00
Wilson Snyder
a52f975bd7
Fix combining different-width parameters ( #2484 ).
2020-07-26 17:54:23 -04:00
Wilson Snyder
bfea4b7f99
Fix arrayed interfaces, broke in 4.038 ( #2468 ).
2020-07-15 17:58:26 -04:00
Wilson Snyder
1194dbf19c
devel release
2020-07-11 09:18:40 -04:00
Wilson Snyder
0cd4a57ad9
Version bump
2020-07-11 09:05:24 -04:00
Wilson Snyder
1bd1e21a69
Change --enable-prec11 to --enable-prec11-final and give stronger warning
2020-07-11 08:56:40 -04:00
Wilson Snyder
b35b5aacfa
Fix division exception ( #2460 )
2020-07-10 22:28:02 -04:00
Wilson Snyder
8cdecd5668
Commentary: Changes update
2020-07-10 18:18:02 -04:00
Wilson Snyder
0b09636c58
Support for-loop increments with commas.
2020-06-29 21:18:41 -04:00
Stefan Wallentowitz
8006b5479c
Missing entry in Changes for VPI parameters ( #2417 )
2020-06-13 05:22:12 -04:00
Wilson Snyder
35226d5e1a
Commentary
2020-06-12 08:12:54 -04:00
Geza Lore
fac89c5d62
Close trace on vl_fatal/vl_finish ( #2414 )
...
This is required to get the last bit of FST trace and close the FST file
properly on $stop or assertion failure.
2020-06-12 07:15:42 +01:00
Wilson Snyder
6de78d58fa
Add new UNSUPPORTED error code to replace most previous Unsupported: messages.
2020-06-09 19:20:16 -04:00
Wilson Snyder
a21947d887
Support --bbox-unsup parsing of 'with'
2020-06-06 11:11:23 -04:00
Wilson Snyder
aae2bf872c
devel release
2020-06-06 07:51:54 -04:00
Wilson Snyder
04c0fc8aa7
Version bump
2020-06-06 07:48:47 -04:00
Wilson Snyder
a57826b125
Line Coverage now tracks all statement lines, not just branch lines.
2020-05-31 15:52:17 -04:00
Wilson Snyder
2e32387e5c
Fix GCC false warning on array bounds. ( #2386 )
2020-05-30 13:47:53 -04:00
Wilson Snyder
279f21bb5b
Configure now enables SystemC if it is installed as a system headers.
2020-05-28 18:51:46 -04:00
Wilson Snyder
b6d4899d3f
Commentary
2020-05-28 18:09:31 -04:00
Wilson Snyder
cbafff8a71
Commentary
2020-05-27 21:52:55 -04:00
Geza Lore
622f59ad65
Set OPT_FAST=-Os as default ( #2374 )
2020-05-28 00:57:49 +01:00
Geza Lore
d737266f64
Add OPT_GLOBAL to use for run-time library ( #2373 )
...
This allows compiling the run-time library with optimization even when OPT_FAST is not used in order to imporove model build speed, possibly during debug cycles.
2020-05-27 01:52:08 +01:00
Stefan Wallentowitz
dc90e6c3c3
Generate file with waivers ( #2354 )
...
This adds the flag --generate-waivefile <filename>. This will generate
a verilator config file with the proper lint_off statemens to turn off
warnings emitted during this particular run.
This feature can be used to start with using Verilator as linter and
systematically capture all known lint warning for further
elimination. It hopefully helps people turning of -Wno-fatal or
-Wno-lint and gradually improve their code base.
Signed-off-by: Stefan Wallentowitz <stefan.wallentowitz@hm.edu>
2020-05-26 20:38:14 +02:00
Geza Lore
7b683fe258
Use sane --output-split values by default to help large builds
...
--output-split is now on by default with value 20000.
--output-split-cfuncs and --output-split-ctrace now defaults to the
value of --output-split unless explicitly specified.
2020-05-26 01:22:10 +01:00
Vassilis Papaefstathiou
a7432bdea7
Support wide operands in queues and dynamic arrays ( #2352 )
2020-05-23 21:59:56 -04:00
Wilson Snyder
d33d0301f8
Support verilator_coverage --write-info for lcov HTML reports.
2020-05-16 09:18:35 -04:00
Wilson Snyder
c1a9fe07e9
Support multi channel descriptor I/O ( #2190 )
...
clang-format and Changes update. No functional change.
2020-05-14 18:14:50 -04:00
Yossi Nivin
f9a0cf0cff
Support $countbits ( #2287 )
2020-05-10 14:27:22 -04:00
Wilson Snyder
070bcddf5a
Support unpacked array .sum and .product.
2020-05-10 12:48:33 -04:00
Wilson Snyder
9375d9f603
Fix $isunknown with constant Zs.
2020-05-07 21:40:08 -04:00
Wilson Snyder
72bd91c7f1
Support $isunbounded and parameter $. ( #2104 )
2020-05-07 21:12:58 -04:00
Wilson Snyder
a41ea180fa
Fix +: and -: on unpacked arrays. ( #2304 )
2020-05-04 19:40:50 -04:00
Geza Lore
8afcd67a1f
Fix FST tracing of little endian vectors
2020-05-03 22:39:45 +01:00
Wilson Snyder
16e258eb4c
Commentary: reformat changes, relocate announcements
2020-05-03 16:10:02 -04:00
Wilson Snyder
d6fbbddac9
devel release
2020-05-03 11:18:53 -04:00
Wilson Snyder
9dc65df982
Version bump
2020-05-03 11:14:37 -04:00
Wilson Snyder
8f64e4a76f
Support $root, #2150 .
2020-05-02 08:29:20 -04:00
Wilson Snyder
5ded80cf79
Fix MacOs Homebrew by removing default LIBS, #2298 .
2020-04-30 19:53:21 -04:00
Wilson Snyder
a6deee2083
Fix clock enables with bit-extends, #2299 .
2020-04-30 19:22:58 -04:00
Wilson Snyder
e1f45dd84a
Commentary
2020-04-30 18:52:32 -04:00
Wilson Snyder
9fd4541069
Fix reduction OR on wide data, broke in v4.026, #2300 .
2020-04-30 17:53:54 -04:00
Wilson Snyder
15ad3f46be
Fix logical not optimization with empty begin, #2291 .
2020-04-28 21:15:20 -04:00
Wilson Snyder
910803e6db
Fix error on unpacked connecting to packed, #2288 .
2020-04-27 18:38:54 -04:00
Wilson Snyder
87e1c36e4a
Support event data type (with some restrictions).
2020-04-25 15:37:46 -04:00
Geza Lore
c52f3349d1
Initial implementation of generic multithreaded tracing ( #2269 )
...
The --trace-threads option can now be used to perform tracing on a
thread separate from the main thread when using VCD tracing (with
--trace-threads 1). For FST tracing --trace-threads can be 1 or 2, and
--trace-fst --trace-threads 1 is the same a what --trace-fst-threads
used to be (which is now deprecated).
Performance numbers on SweRV EH1 CoreMark, clang 6.0.0, Intel i7-3770 @
3.40GHz, IO to ramdisk, with numactl set to schedule threads on different
physical cores. Relative speedup:
--trace -> --trace --trace-threads 1 +22%
--trace-fst -> --trace-fst --trace-threads 1 +38% (as --trace-fst-thread)
--trace-fst -> --trace-fst --trace-threads 2 +93%
Speed relative to --trace with no threaded tracing:
--trace 1.00 x
--trace --trace-threads 1 0.82 x
--trace-fst 1.79 x
--trace-fst --trace-threads 1 1.23 x
--trace-fst --trace-threads 2 0.87 x
This means FST tracing with 2 extra threads is now faster than single
threaded VCD tracing, and is on par with threaded VCD tracing. You do
pay for it in total compute though as --trace-fst --trace-threads 2 uses
about 240% CPU vs 150% for --trace-fst --trace-threads 1, and 155% for
--trace --trace threads 1. Still for interactive use it should be
helpful with large designs.
2020-04-21 23:49:07 +01:00
James Hanlon
97cbc10925
Add --flaten for use with --xml-only ( #2270 ).
2020-04-21 18:14:08 -04:00