1
0
mirror of https://github.com/verilator/verilator.git synced 2025-04-16 01:26:54 +00:00
Commit Graph

2043 Commits

Author SHA1 Message Date
James Hanlon
fadc6776ec
For --flatten, override inlining of public and no_inline modules () 2021-01-18 08:03:18 -05:00
Pierre-Henri Horrein
3c849d7ce0
Generate SELRANGE instead of errors for potentially unreachable code () ()
When using a "if" statement inside an always block, part of the code may
be unreachable. This can be used to avoid errors, but it generated an
error, this commit demotes this to a warning. Partly fixes .
2021-01-15 07:31:48 -05:00
Wilson Snyder
3bb8fbe73b Internal coverage improvements 2021-01-13 20:01:10 -05:00
Wilson Snyder
ab5d4bd51d Tests: Abstract out common test comparison 2021-01-12 18:31:23 -05:00
Paul Wright
769c0fa318
Fix to ignore coverage on real ports () () 2021-01-10 12:40:03 -05:00
Julien Margetts
a11700271f
Add LATCH and NOLATCH warnings () (). 2021-01-05 14:26:01 -05:00
Wilson Snyder
6d80e8f856 Test update 2021-01-05 09:04:31 -05:00
Yutetsu TAKATSUKASA
5b280c1911
Fix hierarchical verilation with explicit setting of default parameter value ()
* Test hierarchical block that is explicitly set its default parameter value.

* Fix hierarchical verilation when a hierarchical block is instantiated with explicit setting of the default value.

Parameterized hierarchical block must have mangled name even when all parameters have default value,
otherwise the parameterized module will be hidden by protect-lib wrapper.

* rename variable names. No functional change is intended.
2021-01-03 12:19:37 +09:00
Wilson Snyder
1a073fbf5e Fix vpiLeftRange on little-endian memories (). 2021-01-02 22:00:13 -05:00
Wilson Snyder
83d978c2cd Fix generate for unrolling to be signed (). 2021-01-02 21:43:13 -05:00
Yutetsu TAKATSUKASA
7a18adc716
Emit timescale in hierarchical block only when timescale is specified ()
* Add a test for hierarchical verilation without timescale

* Emit timeunit in hierarchical wrapper only when it is specified in the input design or command line option.

* Update src/V3AstNodes.h

Co-authored-by: Wilson Snyder <wsnyder@wsnyder.org>

Co-authored-by: Wilson Snyder <wsnyder@wsnyder.org>
2021-01-02 08:31:27 +09:00
Wilson Snyder
bd602d0e2d Copyright year update 2021-01-01 10:29:54 -05:00
Wilson Snyder
72b2df30f8 Fix tracing empty sc module (). 2020-12-28 11:13:58 -05:00
Wilson Snyder
cbd1bd5dad Tests: Fix some VPI coverage holes 2020-12-23 19:15:00 -05:00
Wilson Snyder
97255dc835 Tests: Test future if condition optimization () 2020-12-23 18:23:47 -05:00
Wilson Snyder
b8b9170f9d Remove Unix::Processors dependency 2020-12-23 16:07:14 -05:00
Nandu Raj
1124829500
Fix $urandom_range maximum value () 2020-12-22 07:52:38 -05:00
Wilson Snyder
b93e409f0e Optimize additional display statements (). 2020-12-19 11:12:47 -05:00
Wilson Snyder
ca9bdc6e70 Tests: Ignore github action commits 2020-12-18 23:06:42 -05:00
Wilson Snyder
1e34ae31d2 Fix vpi_release_handle to be called implicitly per IEEE (). 2020-12-18 21:16:57 -05:00
Wilson Snyder
d0c4aee7b5 Tests: clang-format 2020-12-17 22:44:50 -05:00
Todd Strader
a88965a124
Fix scope map for multiple construction () 2020-12-17 12:21:40 -05:00
James Hanlon
c18cbca813
Add support for package imports preceeding parameters in interfaces ()
Co-authored-by: James Hanlon <mail@jameswhanlon.com>
2020-12-17 11:26:53 -05:00
Wilson Snyder
deb5531e54 Tests: Make explicit some IEEE-mandated freeing of VPI handles 2020-12-16 20:57:02 -05:00
Wilson Snyder
9bb353c577 Tests: Make explicit some IEEE-mandated freeing of VPI handles 2020-12-16 20:36:04 -05:00
Wilson Snyder
a816c2b75e Tests: Fix hardcoded path in last test 2020-12-16 19:38:35 -05:00
Wilson Snyder
ff702174d8 Report double calls to vpi_release_handle when using VL_DEBUG 2020-12-16 19:10:17 -05:00
Wilson Snyder
0abf18f618 Fix supporting begin_keywords 1364-2001-noconfig 2020-12-16 18:40:45 -05:00
Wilson Snyder
6adda241c9 Fix $urandom_range with no second argument 2020-12-16 18:34:49 -05:00
Yutetsu TAKATSUKASA
ce9293fcb3
Fix memory leaks found in trace related tests ()
* Fix memory leak of t_trace_cat and t_trace_cat_renew

* Fix memory leak of t_trace_c_api

* Fix memory leak in t_trace_public_func and t_trace_public_func_vlt

* Fix memory leaks in t_flat_build (and probably more).

* Use unique_ptr in testcases
2020-12-17 08:31:47 +09:00
Todd Strader
b75901b3eb
Fix VPI module tree () 2020-12-16 11:46:57 -05:00
Wilson Snyder
3039735648 Tests: Fix various test leaks (). 2020-12-15 23:12:13 -05:00
Wilson Snyder
c00c26c705 Remove some comments emitted in output.
* Comments were disabling some optimizations.
* Suspect rarely referred to.
* Sometimes incorrectly placed due to other optimizations.
2020-12-15 22:55:17 -05:00
Wilson Snyder
084ba6711b Tests: Fix various test leaks (). 2020-12-15 22:09:40 -05:00
Yutetsu TAKATSUKASA
d9ef4ac435
Rename --asan to --sanitize () 2020-12-15 21:07:27 -05:00
Yutetsu TAKATSUKASA
176cc5a196
Add --asan option that enables address sanitizer to the test driver ()
* Experimentally add --vltasan which enables address sanitizer

Co-authored-by: Wilson Snyder <wsnyder@wsnyder.org>
2020-12-16 07:33:26 +09:00
Yutetsu TAKATSUKASA
7821da6ad5
Fix DPI-C and protect-lib if port is implicit logic () 2020-12-15 09:51:14 -05:00
Wilson Snyder
882b310897 Fix little endian packed array counting (). 2020-12-13 16:23:59 -05:00
Wilson Snyder
82fc142c1c Add error on real to non-real output pins (). 2020-12-13 13:33:48 -05:00
Marlon James
457d1a66f2
Fix VPI memory word indexing ()
* Test that indexing into memory word fails

* VPI: don't index into memory word

Memory and memory words share a VerilatedVar, so check for memory word before attempting to index.
2020-12-12 22:47:47 -05:00
Wilson Snyder
b04a1caeac In warnings, rename cells to instances to match IEEE 2020-12-12 22:43:55 -05:00
Wilson Snyder
53c4c7d540 Fix error format (). 2020-12-12 22:26:50 -05:00
Wilson Snyder
e2e3cc8463 Better error on inside on unpacked, queues, etc () 2020-12-12 21:20:42 -05:00
Wilson Snyder
6061744c4d Tests: Add t_dynarray_unpacked () 2020-12-12 20:56:35 -05:00
Wilson Snyder
18f8c8a14f Fix error when dotted refers to missing module (). 2020-12-12 20:25:00 -05:00
Wilson Snyder
3f119f5647 Fix --no-decoration to turn off DPI import/export locations 2020-12-12 19:33:18 -05:00
Wilson Snyder
517fdb7587 Support queue of arrays 2020-12-12 19:19:32 -05:00
Yutetsu TAKATSUKASA
28d139149a
Test: Add unpacked array of 1 bit wire to DPI tests () 2020-12-13 07:28:37 +09:00
Wilson Snyder
d7af6436a2 Fix genblk naming to match IEEE (). 2020-12-12 12:57:11 -05:00
Yutetsu TAKATSUKASA
c80ca8d03e
Test: Use non-blocking assignment as DRIVE macro does in t_prot_lib () 2020-12-12 23:07:12 +09:00
Marlon James
30546afdab
Fix VPI range iterator null return ()
* Test that range iterator exhausts after 1 dimension

* Separate range iterator from range object

Range iterators should return NULL after all ranges have been returned
2020-12-12 08:11:08 -05:00
Wilson Snyder
a5fa468343 Fix cast from packed structs, broke with $cast () 2020-12-10 18:36:06 -05:00
Wilson Snyder
2df1b72ce2
CI: Add separate contributors action () 2020-12-10 18:12:26 -05:00
Wilson Snyder
53ce708294 Fix showing reference locations for BLKANDNBLK (). 2020-12-09 23:07:11 -05:00
Wilson Snyder
ab4ad9965c Fix DPI open array handling issues, and do internal coverage (). 2020-12-09 22:15:34 -05:00
Wilson Snyder
7d05be802d Misc internal coverage hole and related bug fixes 2020-12-09 19:18:12 -05:00
Krzysztof Bieganski
5e7b0d526d
Support 'randc' as alias to 'rand' ()
* Add alias 'randc' to 'rand'

* Make the 'RANDC' warning; add tests
2020-12-09 19:17:30 -05:00
Yutetsu TAKATSUKASA
ff3d35ca61
Support unpacked array port in protect-lib and hierarchical verilation ()
* Add a test to use unpacked array port in hierarchical verilation and protect-lib.

* V3EmitV supports unpacked array variables

* Can Emit local unpacked array properly

* Update golden of t_debug_emitv

* Support unpacked array port in protect-lib

* Remove t_prot_lib_unpacked_bad test as unpacked array is supported now.
2020-12-09 08:29:45 +09:00
Wilson Snyder
c23de458ed Misc internal coverage cleanups 2020-12-08 08:40:22 -05:00
Wilson Snyder
7892c5af13 Tests: Fix fstrobe instability 2020-12-08 07:49:48 -05:00
Wilson Snyder
8e06b1e925 Misc internal coverage cleanups 2020-12-07 23:15:29 -05:00
Wilson Snyder
3c680ddf22 Tests: Test some warnings without tests. 2020-12-07 20:30:16 -05:00
Wilson Snyder
47eeef485d Report UNUSED on parameters, localparam and genvars (). 2020-12-07 19:49:50 -05:00
Krzysztof Bieganski
cf7ea06b5d
Support randomize() class method and rand 2020-12-07 17:55:22 -05:00
Wilson Snyder
cd248f6bd7 Internals: Make consistent left/right/lo/hi accessors to ranges.
Change order of Range to store always left:right.
XML output changes to now show left:right (previously info was lost), no other change intended.
2020-12-06 21:13:56 -05:00
Wilson Snyder
b32d530000 Error message cleanup 2020-12-06 20:33:08 -05:00
Wilson Snyder
d5f88cbf78 Tests: Rename some tests. 2020-12-06 11:37:56 -05:00
Wilson Snyder
74ef35d3b3 Support $cast and new CASTCONST warning. 2020-12-05 22:58:36 -05:00
Yutetsu TAKATSUKASA
5476ff93e2
Ignore some files generated by modelsim () 2020-12-05 21:55:56 -05:00
Yutetsu TAKATSUKASA
375ea169b9
Internals: Apply verilog-mode. No functional change is intended. () 2020-12-05 21:55:06 -05:00
Wilson Snyder
8582aed66a Add --top option as alias of --top-module. 2020-12-05 16:58:17 -05:00
Wilson Snyder
f858dd44ac Fix :: references to forward classes 2020-12-05 16:23:20 -05:00
Wilson Snyder
f0e691a1b8 Handle unsupported parameters through link phase 2020-12-05 11:30:14 -05:00
Wilson Snyder
5fb834e41e Fix passing parameter type instantiations by position number. 2020-12-05 11:00:30 -05:00
Wilson Snyder
80564a8f89 Remove vgen test to avoid Bit::Vector for testing. 2020-12-02 20:06:07 -05:00
Wilson Snyder
d21b4e3fc7 Internal cast preparatory cleanups. 2020-11-29 18:26:06 -05:00
Wilson Snyder
0818d88113 Tests: Cast enum test 2020-11-29 16:59:08 -05:00
Wilson Snyder
77ec2dc875 Internals: Rename some CI comments 2020-11-29 15:06:29 -05:00
Wilson Snyder
665e8edaff Support $monitor and $strobe. 2020-11-29 11:31:38 -05:00
Wilson Snyder
67103d346b Fix $fwriteh/$fwriteo 2020-11-29 10:53:44 -05:00
Wilson Snyder
ff262fc4fb Support type(t) static casting 2020-11-28 17:29:21 -05:00
Wilson Snyder
9a9931fb9d Support complex function arguments. 2020-11-28 13:46:14 -05:00
Wilson Snyder
30686d8550 Support passing of objects to functions 2020-11-28 12:43:24 -05:00
Wilson Snyder
05f3fd7c6e Fix class new with math. 2020-11-28 12:26:44 -05:00
Wilson Snyder
1299b70945 Internals: Pass class parameters through link. 2020-11-27 22:48:42 -05:00
Wilson Snyder
d77beecc6e Fix $countbits(..., 'z) 2020-11-27 21:34:40 -05:00
Wilson Snyder
0c6bd42da3 Fix $countbits(..., 'x) 2020-11-27 20:51:32 -05:00
Wilson Snyder
5091298fae Internals: Cleanup V3Unknown. No functional change intended. 2020-11-27 20:25:02 -05:00
Wilson Snyder
ed268805ce Lint check for pure virtual in non-virtual class. 2020-11-27 19:53:04 -05:00
Wilson Snyder
cc307626c0 Tests: Add class name test. 2020-11-27 10:34:31 -05:00
Wilson Snyder
d56b923eaa Fix 'randomize() with {}' crash 2020-11-26 11:50:50 -05:00
Wilson Snyder
a37866ee92 Support 'super'. 2020-11-26 11:06:59 -05:00
Wilson Snyder
60a1d25a96 Fix extern function member references. 2020-11-26 08:55:32 -05:00
Wilson Snyder
ad21f2e850 Fix 'this' in extern functions. 2020-11-26 08:28:53 -05:00
Wilson Snyder
ffbae97a3d Tests: Make t_lint_syncasyncnet_bad etc tolerate -Oi. 2020-11-25 21:54:50 -05:00
Wilson Snyder
380137a402 Fix internal pointer shown on CLKDATA warnings 2020-11-25 21:34:56 -05:00
Wilson Snyder
ac2058c7ec Tests: Fix t_unopt_combo_waive with -Oi 2020-11-25 21:18:13 -05:00
Wilson Snyder
de931d6a97 Fix LHS is not a lvalue when using tristate with -Oi. 2020-11-25 21:09:25 -05:00
Wilson Snyder
085ef5fc05 Fix extern function var refs getting errors. 2020-11-25 20:05:44 -05:00
Wilson Snyder
6095efd84e Check for proper 'local' and 'protected' (). 2020-11-25 07:03:01 -05:00