Commit Graph

1841 Commits

Author SHA1 Message Date
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
698e0fbbd1 configure: Try compiler flags to get to C++11 (#2502) 2020-08-17 07:40:07 -04: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
Geza Lore
09806d7576 Update fstapi.c to latest (fix undefined thread behaviour) 2020-06-30 19:50:41 +01: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
378d947702 Travis: Add FreeBSD build + portability fixes 2020-06-28 15:37:24 +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
Geza Lore
6ddd92c0a1
Travis: Use workspaces and per job persistent ccache (#2399)
Change the Travis builds to use workspaces and persistent ccache

We proceed in 2 stages (as before, but using workspaces for
persistence):
1. In the 'build' stage, we clone the repo, build it and
   save the whole checkout ($TRAVIS_BUILD_DIR) as a workspace
2. In the 'test' stage, rather than cloning the repo, multiple jobs
   pull down the same workspace we built to run the tests from

This enables:
- Reuse of the build in multiple test jobs (this is what we used the Travis
  cache for before)
- Each job having a separate persistent Travis cache, which now only
  contains the ccache. This means all jobs, including 'build' and 'test'
  jobs can make maximum use of ccache across runs. This drastically cuts
  down build times when the ccache hits, which is very often the case for
  'test' jobs. Also, the separate caches only store the objects build by
  the particular job that owns the cache, so we can keep the per job
  ccache small.

If the commit message contains '[travis ccache clear]', the ccache will
be cleared at the beginning of the build. This can be used to test build
complete within the 50 minute timeout imposed by Travis, even without a
persistent ccache.
2020-06-03 21:10:13 +01:00
Tomasz Gorochowik
277dee109c
Fix Ariane issues with PostAdd nodes (#2400) 2020-06-03 12:50:24 -04:00
Wilson Snyder
c3271aa891 Fix duplicate VLCOVGEN short code 2020-06-02 21:42: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