Wilson Snyder
bcf9abf490
Internals: Var rename. No functional change.
2021-01-11 22:42:14 -05:00
Philipp Wagner
b7c26dbea9
Fix to include limits header for std::numeric_limits ( #2747 )
...
Code using `std::numeric_limits` wasn't including the limits header,
leading to a compilation error in Fedora Rawhide (GCC 11.0).
2021-01-11 11:23:54 -05:00
github action
4f1867a4f8
Apply clang-format
2021-01-11 03:55:27 +00:00
Wilson Snyder
bd551a7444
Internals: Convert bisonpre to python3
2021-01-10 22:53:59 -05:00
Paul Wright
769c0fa318
Fix to ignore coverage on real ports ( #2741 ) ( #2745 )
2021-01-10 12:40:03 -05:00
Julien Margetts
a11700271f
Add LATCH and NOLATCH warnings ( #1609 ) ( #2740 ).
2021-01-05 14:26:01 -05:00
Yutetsu TAKATSUKASA
5b280c1911
Fix hierarchical verilation with explicit setting of default parameter value ( #2738 )
...
* 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 ( #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
Yutetsu TAKATSUKASA
c0a6858c42
Refactor V3Param ( #2736 )
...
* Use unique_ptr to manage lifetime. Slightly changed variable name. No functional change is intended.
* Let ParameterizedHierBlocks::areSame() public. No functional change is intended.
2021-01-03 07:21:45 +09:00
Yutetsu TAKATSUKASA
7a18adc716
Emit timescale in hierarchical block only when timescale is specified ( #2735 )
...
* 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 ( #2729 ).
2020-12-28 11:13:58 -05:00
Wilson Snyder
84c323188e
Internals: yapf reformat vlcovgen. No functional change.
2020-12-23 19:17:46 -05:00
Wilson Snyder
9f8b17230a
Cleanup extra space on 'VlWide<...>>'
2020-12-23 18:09:12 -05:00
Wilson Snyder
93476a7372
Internals: Convert vlcovgen to python3. No functional change.
2020-12-23 16:54:05 -05:00
Wilson Snyder
922eab5f93
Internals: Convert config_rev, cppcheck_filtered, flexfix to python3
2020-12-23 15:41:14 -05:00
Wilson Snyder
b7a533109d
Fix cppcheck warnings. No functional change intended.
2020-12-23 15:22:02 -05:00
Wilson Snyder
28ff71b1bf
Internals: Misc refactoring from dcache branch. No functional change.
2020-12-19 20:46:10 -05:00
Wilson Snyder
b93e409f0e
Optimize additional display statements ( #2702 ).
2020-12-19 11:12:47 -05:00
Wilson Snyder
ec4e408b2b
Add yapf and reformat python code
2020-12-18 22:34:14 -05:00
Wilson Snyder
a16ebaf79c
Remove some stale and unsupported maintainer utilities
2020-12-18 21:57:48 -05:00
Wilson Snyder
c39a8b439a
Internals: Use emplace instead of insert(make_pair(...)). No functional change intended.
2020-12-18 18:24:47 -05:00
Todd Strader
a88965a124
Fix scope map for multiple construction ( #2710 )
2020-12-17 12:21:40 -05:00
James Hanlon
c18cbca813
Add support for package imports preceeding parameters in interfaces ( #2714 )
...
Co-authored-by: James Hanlon <mail@jameswhanlon.com>
2020-12-17 11:26:53 -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
Todd Strader
b75901b3eb
Fix VPI module tree ( #2704 )
2020-12-16 11:46:57 -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
Yutetsu TAKATSUKASA
7821da6ad5
Fix DPI-C and protect-lib if port is implicit logic ( #2699 )
2020-12-15 09:51:14 -05:00
Wilson Snyder
5ee30e271e
When combine functions, favor keeping non-slow name.
2020-12-13 21:53:55 -05:00
Wilson Snyder
4ce48788c5
Always use verilated_heavy ( #2701 ).
...
On test suite adds ~7% runtime but will simplify logic and enable some
future changes.
Most large designs I saw were already using verilated_heavy as were using
strings, queues, associative arrays, classes, $readmem, $writemem, or
$valueplusargs.
2020-12-13 19:40:05 -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
5898c22b3b
Internals: Cleanup variables for pin interconnection
2020-12-13 13:22:42 -05:00
Yutetsu TAKATSUKASA
13e88106da
Internals:Cleanup dpiTypesToStringConverter. No functional change is intended. ( #2698 )
2020-12-13 16:05:06 +09: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 ( #2095 ).
2020-12-12 22:26:50 -05:00
Wilson Snyder
fb689bbb19
Fix clang warning, recent change
2020-12-12 22:16:10 -05:00
Wilson Snyder
e2e3cc8463
Better error on inside on unpacked, queues, etc ( #2566 )
2020-12-12 21:20:42 -05:00
Wilson Snyder
18f8c8a14f
Fix error when dotted refers to missing module ( #2095 ).
2020-12-12 20:25:00 -05:00
Wilson Snyder
44765e03a3
Internals: clang-format
2020-12-12 20:22:28 -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
Wilson Snyder
0ca72f8098
For debug build, mv to prevent text busy error durring regression
2020-12-12 19:19:32 -05:00
Wilson Snyder
81ce2cbc05
Internals: Params cleanups in prep for dedot.
2020-12-12 15:48:10 -05:00
Wilson Snyder
d7af6436a2
Fix genblk naming to match IEEE ( #2686 ).
2020-12-12 12:57:11 -05:00
Wilson Snyder
82d8fe0c27
Internal coverage fixes
2020-12-10 22:01:56 -05:00
Wilson Snyder
a5fa468343
Fix cast from packed structs, broke with $cast ( #2684 )
2020-12-10 18:36:06 -05:00
Unai Martinez-Corral
d94a8a28fa
Fix Windows msys2, define WEXITSTATUS ( #2685 )
2020-12-10 12:20:54 -05:00
Wilson Snyder
af0e535015
Internals: Remove Xnor node type.
...
Convert to Not(Xor(x)) up front, to help code coverage and optimize out extra nots sooner.
2020-12-10 00:04:10 -05:00
Wilson Snyder
5b2844e1be
Fix instability in last commit from dangling deletes.
2020-12-09 23:57:40 -05:00
Wilson Snyder
53ce708294
Fix showing reference locations for BLKANDNBLK ( #2170 ).
2020-12-09 23:07:11 -05:00
Wilson Snyder
a1322635fd
Internal coverage improvements
2020-12-09 22:32:09 -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' ( #2680 )
...
* 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 ( #2672 )
...
* 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
8e06b1e925
Misc internal coverage cleanups
2020-12-07 23:15:29 -05:00
Wilson Snyder
47eeef485d
Report UNUSED on parameters, localparam and genvars ( #2627 ).
2020-12-07 19:49:50 -05:00
Wilson Snyder
251812638d
Internals: Rename accessor. No functional change.
2020-12-07 18:50:31 -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
570631380b
Internal: Misc cleanups. No functional change intended.
2020-12-06 13:49:44 -05:00
Wilson Snyder
74ef35d3b3
Support $cast and new CASTCONST warning.
2020-12-05 22:58:36 -05:00
Wilson Snyder
8b8ebb0e43
Internals: Use restorer. No functional change.
2020-12-05 22:21:30 -05:00
Yutetsu TAKATSUKASA
301b4ff1ad
Internals: Introduce TaskDpiUtils in V3Task ( #2670 )
...
* Internals:Simplify V3Task.cpp. no functional change intended
* Internals:Introduce TaskDpiUtils in V3Task.cpp. No functional change intended
2020-12-06 12:09:48 +09:00
Wilson Snyder
9c2785b49b
Internals: Swap lhs/rhs $cast args.
2020-12-05 17:11:00 -05:00
Wilson Snyder
8582aed66a
Add --top option as alias of --top-module.
2020-12-05 16:58:17 -05:00
Wilson Snyder
9bd5cd4ef3
Internals: Track null separately from '0
2020-12-05 16:49:10 -05:00
Wilson Snyder
f858dd44ac
Fix :: references to forward classes
2020-12-05 16:23:20 -05:00
Wilson Snyder
e69736124f
Debug: Less verbose link.
2020-12-05 16:16:37 -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
Yuri Victorovich
016611021d
Fix the default GNU Make executable name on FreeBSD ( #2553 )
2020-12-02 19:27:53 -05:00
Wilson Snyder
fa20614277
Fix Ubuntu 16.04 LTS warning
2020-12-02 19:20:03 -05:00
Wilson Snyder
1e69167191
Internals: Move function in V3Width. No functional change.
2020-12-02 18:51:29 -05:00
Wilson Snyder
faa5edc068
Add TspStateBase destructor ( #2620 ).
2020-12-02 07:37:34 -05:00
Wilson Snyder
b054d937cb
Rename static/thread misnamed variables. No functional change.
2020-12-01 19:01:20 -05:00
Wilson Snyder
212e8fb14b
Internals: Cleanup some inlines, use constexpr. No functional change intended.
2020-12-01 18:49:03 -05:00
Wilson Snyder
d21b4e3fc7
Internal cast preparatory cleanups.
2020-11-29 18:26:06 -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
aebb54444e
Internals: Favor NodeProcedure. No functional change intended.
2020-11-29 09:50:30 -05:00
Wilson Snyder
a54ac52a35
Internals: Use 'Bit' where mean 2-state type. No functional change.
2020-11-29 08:23:36 -05:00
Wilson Snyder
aa360052a8
Internals: Code movement, no functional change.
2020-11-28 22:01:11 -05:00
Wilson Snyder
e09f039a36
Internals: Remove dead code. No functional change.
2020-11-28 21:43:37 -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
e14319b401
Internals: Refactor V3Param through code movement only. No functional change intended.
2020-11-28 12:04:29 -05:00
Wilson Snyder
1299b70945
Internals: Pass class parameters through link.
2020-11-27 22:48:42 -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
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
cef7610b14
Fix crash on virtual interfaces.
2020-11-27 20:02:17 -05:00
Wilson Snyder
ed268805ce
Lint check for pure virtual in non-virtual class.
2020-11-27 19:53:04 -05:00
Wilson Snyder
123d1af29d
Fix crash on non-class static function
2020-11-27 14:58:50 -05:00
Wilson Snyder
963fd0664d
Fix class-in-module issues
2020-11-27 09:42:51 -05:00
Wilson Snyder
4643d6e883
Internals: Refactor V3Param through code movement only. No functional change intended.
2020-11-27 09:17:44 -05:00
Wilson Snyder
d89fc05da1
Internals: Refactor V3Param through code movement only. No functional change intended.
2020-11-27 09:04:56 -05:00
Wilson Snyder
84d7380588
Internals: Param immediate delete, in prep for next commit. No functional change intended.
2020-11-27 08:50:29 -05:00
Wilson Snyder
04febb1944
Internals: Move V3Param code. No functional change.
2020-11-26 15:03:55 -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
1a92a44c7d
Internals: Assert on misexpected 'new'.
2020-11-26 09:38:47 -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
380137a402
Fix internal pointer shown on CLKDATA warnings
2020-11-25 21:34:56 -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
f2d8e45d72
For performance, use unordered_set/map where possible. No functional change intended.
2020-11-25 20:57:30 -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' ( #2228 ).
2020-11-25 07:03:01 -05:00
Wilson Snyder
114ab1378f
Internals: Track class package on membersels
2020-11-24 23:36:09 -05:00
Wilson Snyder
8622c754b7
Fix unstable statistic
2020-11-24 23:35:44 -05:00
Wilson Snyder
bf24fa9478
Fix access to non-overridden base class variable ( #2654 ).
2020-11-24 22:46:02 -05:00
Wilson Snyder
e1c45440fc
Internals: Rename packagep(). No functional change.
2020-11-24 21:56:03 -05:00
Wilson Snyder
b0cb43b2f2
Fix not iterating some extended classes depending on declaration order.
2020-11-24 21:41:32 -05:00
Wilson Snyder
dc1f44840d
Internals: Fix not clearing packagep on some assignments. Should affect assertions only.
2020-11-24 21:34:11 -05:00
Wilson Snyder
fd21a41acd
Internals: Minor cleanups before class fix ( #2654 ). No functional change intended.
2020-11-24 21:28:26 -05:00
Wilson Snyder
dc306cf371
Internal debug: avoid segflt with gdb "pnt"
2020-11-24 18:35:12 -05:00
Wilson Snyder
35374f09b4
Add error on class extending itself
2020-11-24 18:15:49 -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
c371a63d41
Internals: Fix missing final. No functional change.
2020-11-19 08:23:15 -05:00
Yutetsu TAKATSUKASA
0102efd4ea
Support unpacked array in DPI-C ( #2648 )
...
* Add tests for unpacked array in DPI-C
* Add more generic parameter generator to AstNodes
* Supports multi dimensional array in DPI ( DPI argmuments <=> Verilator internal type conversion)
consider typedef in V3Task
fix export test
fix inout for scalar
support export func of time
* V3Premit does not show an error for wide words nor ArraySel
* Unnecessary pack func for unapcked array does not appear anymore
* Support unpacked array in runtime header
- Add an overload for lvalue VL_CVT_PACK_STR_NN
- Allow conversion from void *
* touch up tests for codacy advices
* resolve free functions. no functional change intended.
2020-11-19 22:02:58 +09:00
Wilson Snyder
abfee1270f
Improve internal code coverage
2020-11-18 22:21:48 -05:00
Wilson Snyder
5992d678be
Fix clang error, broke last commit.
2020-11-18 22:18:29 -05:00
Wilson Snyder
b6ded59c2b
Internals: Use and enforce class final for ~5% performance boost.
2020-11-18 21:32:16 -05:00
Wilson Snyder
c0888c1b0f
Internals: Use newline instead of endl to avoid unneeded flush.
2020-11-18 21:03:23 -05:00
Wilson Snyder
fa77141519
Fix unpacked array parameters near functions ( #2639 ).
2020-11-18 20:12:14 -05:00
Wilson Snyder
b3760911e7
Internals: Param minor cleanups. No functional change intended.
2020-11-18 19:50:47 -05:00
Wilson Snyder
e6f7510895
Add check for rand_mode/constraint_mode.
2020-11-17 22:14:18 -05:00
Wilson Snyder
2f718b9ea0
Show IEEE reference in array port message, plus internal cleanups.
2020-11-17 21:10:50 -05:00
Wilson Snyder
1e7c61b23e
Internals: Refactor huge func in V3Param. No functional change intended.
2020-11-16 22:35:51 -05:00
Wilson Snyder
1b0a48ea02
Internals: Use C++11 = default where obvious. No functional change intended.
2020-11-16 19:56:16 -05:00
Wilson Snyder
70b3a599ce
Fix trace signal names getting hashed ( #2643 ).
2020-11-16 18:11:27 -05:00
Wilson Snyder
26c0e6ba00
Fix missing array include.
2020-11-16 07:31:12 -05:00
Wilson Snyder
efc6fb7fc3
Internals: Better pack AstNode. No functional change.
2020-11-15 22:03:06 -05:00
Wilson Snyder
b68038a73f
clang-tidy fix. No functional change.
2020-11-15 17:23:02 -05:00
Wilson Snyder
f4ef4ad9f3
Internals: Favor std::array where easy. No functional change intended.
2020-11-15 16:21:26 -05:00
Wilson Snyder
f6f7684ccd
Internal member initialization. No functional change intended.
2020-11-15 15:40:35 -05:00
Wilson Snyder
e74cc32f2d
Add internal assertion that VarScopes properly formed.
2020-11-14 16:13:06 -05:00
Wilson Snyder
f94fcaa8e4
Move YYDEBUG into header. No functional change intended.
2020-11-14 10:20:27 -05:00
Wilson Snyder
3e7013af31
Internal scope cleanup. No functional change.
2020-11-13 21:12:18 -05:00
Wilson Snyder
f7a5883205
Internals: assert not double adding. No functional change intended.
2020-11-13 21:12:03 -05:00
Yutetsu TAKATSUKASA
e8c03650ae
Fix internal error if always block without begin-end has concat ( #2640 ) ( #2641 )
2020-11-13 09:50:09 -05:00