Wilson Snyder
e3cf5c07e4
Internal coverage improvements. No functional change.
2020-10-13 21:13:52 -04:00
Wilson Snyder
8750352495
Internal coverage: Cleanup some savable errors and coverage.
2020-10-13 19:26:16 -04:00
Wilson Snyder
e25a6334cf
Support repeated forward typedefs.
2020-10-10 11:29:10 -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
Victor Besyakov
222ca4b009
Tests: Add t_stream_integer_type ( #2547 ) ( #2548 ) ( #2573 )
2020-09-27 19:25:53 -04:00
James Pallister
e3a1954e20
Fix hierarchical references used inside a function ( #2267 ) ( #2572 )
2020-09-27 10:10:44 -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
Yutetsu TAKATSUKASA
157948c552
Fix cmake build with --hierarchical option ( #2560 )
...
* hier_block with cmake test doesn't assume prefix now.
* Add space between files
* don't set -Mdir on cmake build as it will be set by DIRECTORY option
* Use top target name instead of prefix
2020-09-20 07:48:05 +09:00
Wilson Snyder
1a127a479c
Internal coverage improvements
2020-09-19 10:30:31 -04:00
Wilson Snyder
87e4a86fbb
Internal coverage improvements
2020-09-18 21:27:36 -04:00
Yutetsu TAKATSUKASA
1c1b95161b
Load source file of the hier_block explicitly ( #2559 )
...
* Add a test to make sure that lib modules (loaded via -y option) can be a hier_block.
* Add HDL file of the hier_block to the source list if the module is loaded via -y option.
(Each hier_block is treated as a top module when processing the hier_block.)
* Use "\n" for delimiter as the other files
2020-09-19 08:13:49 +09:00
Wilson Snyder
66d1754d19
Fix constant x propagation of xor.
2020-09-18 17:47:22 -04:00
Yutetsu TAKATSUKASA
e48a859b86
Add timescale directive for hier_block if the original design has it ( #2554 )
...
* add timescale directive to a test to reproduce #2544
* add timescale directive to hierarchy blocks
2020-09-17 06:09:29 +09: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
993115d30a
Cleanup and test EmitV for internal coverage
2020-09-07 12:58:30 -04:00
Peter Monsson
627d83e807
Add support for assume property ( #2531 )
2020-09-03 12:38:48 -04:00
Peter Monsson
80f5738544
Tests: Move t_rose t_fell and t_stable to a single test ( #2530 )
2020-09-03 08:09:47 -04:00
Wilson Snyder
600641b4a1
Tests: Add process test #2527
2020-08-31 19:02:58 -04:00
Yutetsu TAKATSUKASA
70eb99b050
Fix double-free on shared protect-lib ( #2526 )
...
* Add a test to use shared object of protect-lib
* Add a guard to call ctor/dtor just once even when a protec-lib is shared object.
* Pass .a to linker in leaf-last order for older ld.
* Add -flat_namespace for mac
2020-08-31 08:22:31 -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
45eccaecaf
Fix Travis/GCC warnings.
2020-08-27 18:48:26 -04:00
Yutetsu TAKATSUKASA
ef04ada12b
Fix test failure on FreeBSD ( #2521 )
...
* Don't use thin-archive to merge multiple archives because it is gnu-ar specific.
* remove -time option that may caues -Wunused-command-line-argument warning
2020-08-27 07:52:48 +09:00
Wilson Snyder
4265f9499d
Support dotted references in foreach in early parsing (for UVM)
2020-08-24 19:33:26 -04:00
Yutetsu TAKATSUKASA
6acd5847e7
Fix range check in V3SplitVar to be consistent with #2507 ( #2511 )
...
* test:Add more tests for checking split_var for unpacked array.
* Fix range calculation of SliceSel and change to UASSERT_OBJ because the range check is done in V3Width beforehand.
2020-08-24 19:11:20 -04:00
Wilson Snyder
3ad3944f2c
Fix Travis/GCC warnings. For VPI/DPI still avoid C++11.
2020-08-24 18:49:36 -04:00
Wilson Snyder
f7f3d3fd43
Fix splitting eval functions with --output-split-cfuncs ( #2368 ).
2020-08-23 22:21:40 -04:00
Wilson Snyder
4003e01283
Commentary
2020-08-23 20:58:23 -04:00
Wilson Snyder
917d3b0fb3
Support virtual class
2020-08-23 20:27:25 -04:00
Wilson Snyder
20206b1e2e
Support simple class extends.
2020-08-23 19:37:56 -04:00
Wilson Snyder
fefe731105
Tests: Better virtual test
2020-08-23 11:50:42 -04:00
Wilson Snyder
1dce6b2500
Support $stable
2020-08-23 11:34:19 -04:00
Wilson Snyder
d2fac4aa2f
Internals: Add --debug-exit-uvm
2020-08-23 09:05:18 -04:00
Wilson Snyder
132cc1d068
Parser: Move timing control unsupported message
2020-08-23 08:56:35 -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
8455ee7091
Optimize one-statement fork/join into begin
2020-08-22 20:04:02 -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
2abbd5c145
Convert unnamed error to new PKGNODECL error.
2020-08-22 16:37:49 -04:00
Wilson Snyder
583605b218
Parser: Move extern decl unsupported message
2020-08-22 16:24:29 -04:00
Yutetsu TAKATSUKASA
f632ea500c
Fix slice of unpacked array calculation (Issue #2506 ) ( #2507 )
...
Fixes Issue #2506 by shifting index as ArraySel does
2020-08-22 15:23:26 +09:00
Wilson Snyder
3c1ed075e5
tests: Disable wide line test as breaks user commits.
2020-08-16 14:57:16 -04:00
Wilson Snyder
ee9d6dd63f
C++11: Favor auto, range for. 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
Yutetsu TAKATSUKASA
953a442827
Support hierarchical verilation using protect lib ( #2206 )
2020-08-15 09:43:53 -04:00
Peter Monsson
4a5e4b04f3
Support $rose and $fell. ( #2148 ) ( #2501 )
2020-08-14 07:37:10 -04:00
Edgar E. Iglesias
5d98035170
Fix sc names ( #2500 )
...
cint.mainInt(nodep) walks the tree and populates m_ctorVarsVec.
Reuse EmitCImp cint for the slow mainImp() emition steps to make sure
we emit constructor calls to setup SystemC sc_module names.
2020-08-13 08:23:02 -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
Wilson Snyder
2bc813da4a
Refactor and test VL_MULS_MAX_WORDS
2020-08-03 22:12:24 -04:00
James Hanlon
555408b5d3
Fix V3Unknown from running with flat XML output ( #2494 )
...
* Prevent V3Unknown pass from being run
Co-authored-by: James Hanlon <mail@jameswhanlon.com>
2020-08-03 11:44:47 -04:00
Yutetsu TAKATSUKASA
c85589371a
Fix protect-lib without sequential logic ( #2492 )
...
* add a test for protect-lib without sequential logic that cause the follwoing error.
%Error: obj_vlt/t_prot_lib_comb/secret/secret.sv:78:14: syntax error, unexpected ')'
78 | always @() begin
| ^
* protect-lib wrapper must contain sequential signal related statements
only if the protected design is a sequential logic.
Diff looks big, but actually just add "if (m_hasClk)" condition.
Signed-off-by: Yutetsu TAKATSUKASA <y.takatsukasa@gmail.com>
2020-08-01 07:16:15 -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
edf6a40f19
Fix VL_CONSTHI truncation ( #2473 )
2020-07-18 17:35:20 -04:00
Wilson Snyder
1488f9130d
Enable simple function localparams ( #2461 )
2020-07-15 19:31:19 -04:00
Josh Redford
a18d8cbe86
Test for arrayed interfaces ( #2469 ).
2020-07-15 17:58:59 -04:00
Wilson Snyder
ced1af8cb8
Parser: Move extends param class unsupported message
2020-07-11 19:53:41 -04:00
Wilson Snyder
f0a6e4c2b2
Parser: Move scoped id unsupported messages down out of parser
2020-07-11 19:11:58 -04:00
Wilson Snyder
9e5cd463e5
Parser: Move class parameter unsupported messages down out of parser
2020-07-11 18:39:01 -04:00
Wilson Snyder
7e7447812c
Fix modulus exception ( #2460 )
2020-07-11 08:17:16 -04:00
Wilson Snyder
af3ab13012
Tests: Fix 64-bit code coverage, part of last commit
2020-07-10 22:38:08 -04:00
Wilson Snyder
b35b5aacfa
Fix division exception ( #2460 )
2020-07-10 22:28:02 -04:00
Wilson Snyder
9c01665078
Tests: Fix bison stability.
2020-07-10 22:05:51 -04:00
Wilson Snyder
0674267333
Parser: Test and handle semaphore, mailbox and process.
2020-07-09 20:04:22 -04:00
Wilson Snyder
b968f57711
Suppress unsupported constraint, as implied by unsupported randomize.
2020-07-02 21:10:05 -04:00
Wilson Snyder
ee7b399bf5
Parser: Move 'static' unsupported messages down out of parser.
2020-07-02 21:02:49 -04:00
Wilson Snyder
50c28fa9d3
Parser: Move 'pure virtual' and 'extern' unsupported messages down out of parser.
2020-07-02 08:24:50 -04:00
Geza Lore
a17f51eac0
Improve V3MergeCond
...
- Do try to merge after assignment to condition when possible.
- Do not try to merge reduced form if not the expected statement.
This used to cause a crash.
2020-07-02 13:13:51 +01:00
Wilson Snyder
9d1a39a5e4
Parser: Move 'with' block unsupported messages down out of parser
2020-07-02 07:36:15 -04:00
Fan Shupei
04c96694e6
Add $writememb support ( #2450 )
2020-07-01 17:32:15 -04:00
Wilson Snyder
4d5e448664
Parser: Move member qualifier unsupporteds out of parser.
2020-07-01 07:31:53 -04:00
Wilson Snyder
236c2141e3
Parser: Move 'with' block unsupported messages down out of parser
2020-06-30 21:37:11 -04:00
Wilson Snyder
788fe3dc27
Tests: Ignore gtkwave spaces.
2020-06-30 21:36:39 -04:00
Wilson Snyder
0b09636c58
Support for-loop increments with commas.
2020-06-29 21:18:41 -04:00
Wilson Snyder
af197f2ceb
Parser: Move 'virtual class' block unsupported messages down out of parser
2020-06-29 21:03:14 -04:00
Wilson Snyder
748c818ccb
Parser: Move 'wait' block unsupported messages down out of parser
2020-06-29 20:39:39 -04:00
Wilson Snyder
ad55564905
Parser: Move disable fork and wait fork down into elaborate stage
2020-06-29 20:22:39 -04:00
Wilson Snyder
ad2cb45a14
Parser: Move unsupported error detection of 'this'/'super' down into link stage
2020-06-29 20:02:15 -04:00
Wilson Snyder
277fd9197f
Tests: Add number case for #2432 .
2020-06-29 18:03:16 -04:00
Geza Lore
7342cf278a
Travis: Add 32-bit build on focal
2020-06-28 20:11:22 +01:00
Geza Lore
5a4cc333fb
Travis: Add OS X build ( #2440 )
2020-06-22 10:13:54 +01:00
Geza Lore
aa595d40de
Do not fold IF with 'bx condition before V3Unknown ( #2438 )
...
Fixes #2425
2020-06-20 04:16:07 +01:00
Yutetsu TAKATSUKASA
19c2906a64
Improve code coverage of V3SplitVar.cpp ( #2418 )
2020-06-13 04:45:47 -04:00
Ludwig Rogiers
c367b671b6
Support VPI parameter and localparam ( #2370 )
2020-06-12 18:38:01 -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
Conor McCullough
f40f0464e2
Fix replaceMulShift optimization ( #2413 )
2020-06-11 07:42:25 -04:00
Wilson Snyder
262ed9c03a
Tests: Avoid using std. No functional change.
2020-06-10 08:04:34 -04:00
Yutetsu TAKATSUKASA
a7edf13d62
Fix V3SplitVar test stability ( #2408 )
2020-06-09 22:39:10 -04:00
Wilson Snyder
6e57076726
Support --bbox-unsup parsing of nested foreach.
2020-06-09 22:05:06 -04:00
Wilson Snyder
cef56c6fca
Support --bbox-unsup parsing of class extend typedefs
2020-06-09 20:59:45 -04:00
Wilson Snyder
3c8953fec2
Fix $sformat with non-constant string first argument
2020-06-09 19:40:49 -04: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
d42f9c095b
Delay parsing of associative arrays until dtypes known.
2020-06-09 07:13:40 -04:00
Wilson Snyder
46e10173f8
Support --bbox-unsup parsing of class extern function/task.
2020-06-08 22:33:57 -04:00
Wilson Snyder
6e2d8df9e5
Tests: Add --debug-exit-parse
2020-06-08 22:10:55 -04:00
Wilson Snyder
e2b40195b4
Tests: Reference issue #2410 .
2020-06-08 20:58:04 -04:00
Wilson Snyder
541f983dba
Merge tests from issue-2409-timing (but disabled mostly)
2020-06-08 20:36:22 -04:00
Wilson Snyder
47f040a5fd
Internals: Do data type elaboration always as child node, before movement to symbol table.
2020-06-08 06:47:18 -04:00
Wilson Snyder
4984d19ae9
Support --bbox-unsup parsing :: referencing typedef in class
2020-06-07 19:59:03 -04:00
Wilson Snyder
305448ea86
Cleanup parser errors to identify packages by :: instead of symbol table
2020-06-07 16:54:25 -04:00
Wilson Snyder
b469feb44b
Fix some syntax error context by splitting internal parse and lex filelines
2020-06-07 13:45:50 -04:00
Wilson Snyder
820a4dbbdd
Internals: Pass fileline directly. No functional change intended.
2020-06-07 10:53:21 -04:00
Wilson Snyder
418b36ea71
Internals: Pass fileline directly and avoid yyerror
2020-06-07 10:17:50 -04:00
Wilson Snyder
05e51d0d18
Tests: Excempt some wide files
2020-06-07 09:59:09 -04:00
Wilson Snyder
0098e67e59
Tests: Use lint in many negative tests to avoid running under both vlt and vltmt
2020-06-07 07:15:07 -04:00
Wilson Snyder
5cd5c05c05
Support --bbox-unsup parsing of event control expressions
2020-06-06 15:54:44 -04:00
Wilson Snyder
933e796cc2
Support $swrite with arbitrary arguments
2020-06-06 14:47:54 -04:00
Wilson Snyder
ae701e014d
Support --bbox-unsup parsing of for with multiple increments
2020-06-06 13:55:15 -04:00
Wilson Snyder
3a0b8c8870
Fix parsing parameter type with assignment and no type keyword.
2020-06-06 13:44:45 -04:00
Wilson Snyder
4862916f39
Support --bbox-unsup parsing of 'constraint', 'dist', 'solve'
2020-06-06 12:08:36 -04:00
Wilson Snyder
870ec27b73
Support --bbox-unsup parsing of 'randomize'
2020-06-06 11:22:48 -04:00
Wilson Snyder
a21947d887
Support --bbox-unsup parsing of 'with'
2020-06-06 11:11:23 -04:00
Wilson Snyder
893dee3434
Support --bbox-unsup parsing of forward defed class calls
2020-06-06 10:21:16 -04:00
Wilson Snyder
f083805ab5
Support --bbox-unsup parsing of parameterized classes
2020-06-06 10:06:32 -04:00
Wilson Snyder
1eaec2aa8a
Support --bbox-unsup of $cast
2020-06-06 09:30:11 -04:00
Wilson Snyder
4c7d5a1dc0
Fix --bbox-unsup to bypass more parser unsupported errors.
2020-06-06 08:50:47 -04:00
Wilson Snyder
48740a0dba
Tests: Add t_param_type
2020-06-05 22:22:44 -04:00
Wilson Snyder
ff41701ddc
Fix crash on undeclared packages.
2020-06-05 18:50:06 -04:00
Wilson Snyder
5a622fd9db
Tests: Temporary fix for ( #2407 )
2020-06-05 07:28:51 -04:00
Wilson Snyder
7fe49de420
Tests: Tests to fix misc internal coverage holes.
2020-06-04 20:23:55 -04:00
Wilson Snyder
d7cc1e6844
Tests: Use lint in many negative tests to avoid running under both vlt and vltmt
2020-06-03 20:05:13 -04:00
Wilson Snyder
42312101b5
Tests: Add array OOB tests as unsupported ( #792 )
2020-06-03 19:36:50 -04:00
Wilson Snyder
329f5b712a
Tests: Add alias tests as unsupported ( #697 )
2020-06-03 19:27:22 -04:00
Tomasz Gorochowik
277dee109c
Fix Ariane issues with PostAdd nodes ( #2400 )
2020-06-03 12:50:24 -04:00
Ludwig Rogiers
2b6353b36e
Support vpi_handle type vpiLeftRange and vpiRightRange for vpiRange objects ( #2395 )
...
* Implement vpi_handle type vpiLeftRange and vpiRightRange for vpiRange objects
* Change VerilatedVpioConst type to vpiConstant
2020-06-02 08:04:22 -04:00
Wilson Snyder
8b647f0977
Fix error on UNPACKED in parser. ( #1541 )
2020-06-02 08:00:37 -04:00
Wilson Snyder
a57826b125
Line Coverage now tracks all statement lines, not just branch lines.
2020-05-31 15:52:17 -04:00
Michael Killough
047852eb08
Fix OpenBSD make in tests. ( #2388 )
2020-05-31 09:03:51 -04:00
Geza Lore
fe306a36b8
Add MergeCond pass to combine assignments with ?: on rhs ( #2376 )
...
This provides minor simulation performance benefit, but can provide
large C++ compilation time improvement, notably with Clang (4x).
This patch implements #2366 .
2020-05-30 21:09:05 +01:00
Wilson Snyder
fbc814b54a
Internal code coverage fixes
2020-05-29 19:35:54 -04:00
Tomasz Gorochowik
a4a1c7a384
Fix swerv issues with Increment nodes ( #2380 )
2020-05-29 13:03:04 -04:00
Wilson Snyder
5089ac6119
Remove VL_ULL as ULL now in MSVC & C++11
2020-05-28 20:32:07 -04:00
Maciej Sobkowski
9d48ff7745
Support pre/postifx incrementation/decrementation in array index ( #2223 )
2020-05-28 18:08:15 -04:00
Wilson Snyder
41e362b580
Tests: Remove some old conditional-fail checks.
2020-05-27 21:44:28 -04: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
Wilson Snyder
978c35995a
Support const cast (ignored since not linting const yet)
2020-05-26 20:44:20 -04: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
Stefan Wallentowitz
68a2ed6776
Fix output of loops on waiving ( #2355 )
...
When an unopt loop is waived, we also don't want the loop's example
path being plot.
Signed-off-by: Stefan Wallentowitz <stefan.wallentowitz@hm.edu>
2020-05-26 08:45:57 +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
Geza Lore
72858175a2
Only emit VM_PARALLEL_BUILDS=1 iff --output-split caused a split.
...
Previously we set VM_PARALLEL_BUILDS=1 if the --output-split option was
provided. Now we only do it iff it actually causes a split.
2020-05-26 01:22:10 +01:00
Geza Lore
9d7086067c
Rework serial/parallel build mode
...
Instead of __ALLfast.cpp and __ALLslow.cpp, we now create only a single
__ALL.cpp and compile it with OPT_FAST, this speeds up small builds
where the C compiler does not dominate. A separate patch will follow
turning VM_PARALLEL_BUILDS on by default at a certain size.
Given this change to the build there is now no point in emitting both
fast and slow routines into the same .cpp file when --output-split is
not set as they will be just included in the same __ALL.cpp file. To
keep things simpler and the output easier to comprehend, V3EmitC has
also been changed to always emit the fast and slow files separately.
Also change verilated.mk to apply OPT_SLOW to all slow files, not just
ones called *__Slow.cpp. This change in particular ensures __Syms.cpp
is build as slow.
Part of #2360 .
2020-05-26 01:22:10 +01:00
Wilson Snyder
abc3c216f8
Internal code coverage: Better support fastcov [still not default].
2020-05-25 10:50:46 -04:00
Wilson Snyder
c9e59e767a
Tests: Add setenv method.
2020-05-23 22:24:26 -04:00
Vassilis Papaefstathiou
a7432bdea7
Support wide operands in queues and dynamic arrays ( #2352 )
2020-05-23 21:59:56 -04:00
Wilson Snyder
3097d5e093
Commentary
2020-05-23 21:56:56 -04:00
Wilson Snyder
57621a93ad
Internals: Move PLI errors into linker, and better test.
2020-05-23 11:55:34 -04:00
Wilson Snyder
6a882f9dc6
Internal code coverage improvements. No functional change intended.
2020-05-23 10:34:58 -04:00
Wilson Snyder
5c11de1663
Tests: Check queue typedef.
2020-05-22 22:14:26 -04:00
Wilson Snyder
01f3e81a36
Internals: Parse extend/implements/etc using generic identifiers.
2020-05-21 21:31:15 -04:00
Wilson Snyder
7834028842
Tests: Skip genhtml if too old
2020-05-19 08:24:21 -04:00
Geza Lore
d20a4db773
Fix regression due to early constant folding in +: and -: ( #2338 )
2020-05-18 18:46:00 +01:00
Stephen Henry
ba3930777a
Support display/scan %u/%z ( #2324 ) ( #2332 )
2020-05-18 08:10:32 -04:00
Geza Lore
9c054a5774
Optimize trace activity flags a bit more
...
- Improve flag pruning heuristic
- Set all trace activity flags in slow code. This in turns enables us
to remove checking the slow flag on the fast path.
2020-05-17 19:41:24 +01:00
Wilson Snyder
4773a1e77c
Misc internal coverage improvements.
2020-05-17 11:06:14 -04:00
Geza Lore
dc25e9b949
Optimize fine grained trace activity flags ( #2336 )
...
Firstly, we always use a byte array for fine grained activity flags
instead of a bit vector (we used to use a byte array only if we had
parallel mtasks). The byte vector can be set more cheaply in eval,
closing about 1/3 of the gap in performance between compiling with
or without --trace on SweRV EH1. The speed of tracing itself is not
measurably different.
Secondly, we prune the activity tracking such that if a set of activity
flag combinations only guard a small number of signals, we will turn
those signals into awayls traced signals. This avoids code which
sometimes tests dozens of activity flags just to subsequently check one
signal and dump it if it's value changed. We can just check the signal
state straight instead, and not bother with the flags. This removes
about 30% of activity flags in SweRV EH1, and makes both single threaded
VCD and FST tracing 8-9% faster.
2020-05-17 13:53:02 +01:00
Wilson Snyder
17e7da77f0
Misc internal coverage improvements.
2020-05-16 18:02:54 -04:00
Wilson Snyder
d33d0301f8
Support verilator_coverage --write-info for lcov HTML reports.
2020-05-16 09:18:35 -04:00
Wilson Snyder
ffd461dcf8
Tests: Check need -cc message
2020-05-16 07:10:44 -04:00
Wilson Snyder
1d0a726437
Update internal code coverage framework.
2020-05-16 06:15:25 -04:00
Wilson Snyder
2edbcce032
Tests: Need only one run of t_trace_c_api.pl
2020-05-15 22:33:20 -04:00
Wilson Snyder
35a53d9adb
Add t_trace_c_api test.
2020-05-15 20:38:08 -04:00
Wilson Snyder
85de3048a5
Tests: Avoid poluting non-obj_ files.
2020-05-14 18:50:49 -04:00
Stephen Henry
1a0da2e4ec
Support multi-channel descriptor (MCD) I/O ( #2197 )
2020-05-14 18:03:00 -04:00
Wilson Snyder
148762364b
Tests: Complicated for loops long ago supported.
2020-05-13 20:53:55 -04:00
Wilson Snyder
f005b7fd87
Support scan %* format
2020-05-11 22:13:59 -04:00
Stephen Henry
484b574cef
Fix crash on self-referential enum type. ( #2319 )
2020-05-11 18:44:28 -04:00
Wilson Snyder
29695adf70
Fix 10s/100s timeunits.
2020-05-11 08:15:52 -04:00
Wilson Snyder
fac43811fd
Commentary
2020-05-10 21:26:09 -04:00
Wilson Snyder
15f63d12d5
Fix message for seeded random.
2020-05-10 21:15:48 -04:00
Wilson Snyder
ba7b3fd60f
Support $display(,,).
2020-05-10 20:48:18 -04:00
Wilson Snyder
897b9ccfe2
Fix display of huge double.
2020-05-10 16:03:46 -04:00
Wilson Snyder
b97e1aa9fe
Support cast to string
2020-05-10 15:42:16 -04:00
Wilson Snyder
d4a631446b
Fix crash in unroller on increment-only while loops.
2020-05-10 15:26:41 -04:00
Wilson Snyder
a2cc053c6f
Tests: Fix t_math_svl.pl
2020-05-10 15:19:38 -04:00
Wilson Snyder
8998ffc4e5
Support reporting some fork syntax errors.
2020-05-10 15:01:43 -04:00
Wilson Snyder
629dd16714
Tests: Rename t_delay_func_bad
2020-05-10 14:28:42 -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
feb1e2bd48
Commentary
2020-05-10 11:01:57 -04:00
Wilson Snyder
a7e17a8855
Fix double conversion on half of conditional.
2020-05-08 21:35:45 -04:00
Wilson Snyder
60fa1db731
Tests: Trivial cleanup
2020-05-08 21:35:45 -04:00
Geza Lore
ac09ad3ffd
Minor improvements to DPI open array handling ( #2316 )
...
- Allow arbitrary number of open array dimensions, not just 3. Note
right now this only works with the array querying functions specified
in IEEE 1800-2017 H.12.2
- Issue error when passing dynamic array or queue as DPI open array
(currently unsupported)
- Also tweaked AstVar::vlArgTypeRecurse, which should now error or fail
for unsupported types.
2020-05-08 18:22:44 +01:00
Wilson Snyder
27953e26b6
Backout example change.
2020-05-08 07:35:54 -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
8850ca962e
Fix newish error to use standard parens to ref IEEE.
2020-05-07 21:12:58 -04:00
Wilson Snyder
5f7ae1fbce
wip
2020-05-07 21:04:26 -04:00
Wilson Snyder
b56a25e89c
Fix newish error to use standard parens to ref IEEE.
2020-05-07 18:21:11 -04:00
Wilson Snyder
ca77a93214
Add lint check for bad delay locations.
2020-05-06 19:25:13 -04:00
Yutetsu TAKATSUKASA
aa86e0bbc0
Support 'E', 'p', and 'P' when overriding floating point parameter. ( #2310 )
2020-05-06 07:45:07 -04:00