Geza Lore
decfa6bd7a
V3Order: Use unique ordinals per function name
...
This helps diffing generated code after reordering output, otherwise no
functional change.
2022-02-16 18:36:40 +00:00
github action
77fe7c426e
Apply 'make format'
2022-02-16 05:11:38 +00:00
Raynard Qiao
331c2244fc
Fixed signed number operation ( #3294 ) ( #3308 )
2022-02-16 00:10:34 -05:00
Wilson Snyder
77e68acf54
Suppress WIDTH warning on negate using carry bit ( #2395 ). [Peter Monsson]
2022-02-13 15:27:31 -05:00
Wilson Snyder
7a355d448a
Fix skipping public enum values with four-state values ( #3303 ).
2022-02-10 19:27:28 -05:00
Wilson Snyder
434c3c3ef3
Removed the deprecated "fl" attribute in XML output; use "loc" attribute instead.
2022-01-17 16:22:07 -05:00
Wilson Snyder
21e05c43dd
Removed the deprecated lint_off flag -msg; use -rule instead.
2022-01-17 16:04:06 -05:00
Wilson Snyder
48a098b041
Tests: Fix some force/release coverage holes.
2022-01-16 16:53:06 -05:00
Geza Lore
f8c0169e82
Implement 'forceable' attribute
...
Using the 'forceable' directive in a configuration file, or the /*
verilator forceable */ metacomment on a variable declaration will
generate additional public signals that allow the specified signals to
be forced/released from the C++ code.
2022-01-16 15:31:37 +00:00
Geza Lore
539c9d4c63
Merge alternate 'force'/'release' implementation
...
- Add more tests, including for tracing.
- Apply some cleaner, more generic abstractions in the implementation.
- Use clearer AstRelease which is not an assignment.
2022-01-16 15:31:37 +00:00
Geza Lore
b4d8220cbb
Deprecate --cdc ( #3279 )
2022-01-16 15:30:44 +00:00
Wilson Snyder
5eded789aa
Fix test
2022-01-09 19:29:30 -05:00
Wilson Snyder
441ecfedc9
Internals: Make all .h files compilable
2022-01-08 11:18:23 -05:00
Yutetsu TAKATSUKASA
4e5f30858b
Fix #3258 of internal error with inout port ( #3268 )
...
* Tests: Modify t_tri_inout to reproduce #3258
* Set direction of __en accorting to its main signal direction
* Update Changes
2022-01-05 08:37:20 +09:00
Wilson Snyder
b989ac6db5
Internals: Support linking recursive function calls (but not later stages)
2022-01-03 18:50:41 -05:00
Wilson Snyder
4d1f4bbf49
Backout last commit; is unstable.
2022-01-03 13:04:47 -05:00
Wilson Snyder
e9ad665d32
Internals: Support linking recursive function calls (but not later stages)
2022-01-03 12:25:50 -05:00
Wilson Snyder
78052f87bd
Tests: Update recursive function tests
2022-01-03 12:02:53 -05:00
Wilson Snyder
2e2b82c052
Support class static members ( #2233 ).
2022-01-02 15:09:07 -05:00
Wilson Snyder
028737cde8
Tests: Add unsupported t_class_static_member tests.
2022-01-02 09:43:26 -05:00
Wilson Snyder
bf972963f4
Misc internal and test work towards enum type checks ( #726 ).
2022-01-01 22:16:58 -05:00
Wilson Snyder
e4c5eb5e69
Fix spurious UNUSED by ignoring inout pin connections ( #3242 ).
2022-01-01 18:37:34 -05:00
Wilson Snyder
2e8cc22c54
Copyright year update.
2022-01-01 18:34:15 -05:00
Wilson Snyder
655910d486
Fix associative array first method as statement ( #3228 ).
2022-01-01 17:10:26 -05:00
Wilson Snyder
d679d50eca
Fix $random not updating seed ( #3238 ). [Julie Schwartz]
2022-01-01 16:43:06 -05:00
Wilson Snyder
65de118e51
Internals: Factor common V3Width function.
2022-01-01 16:15:53 -05:00
Wilson Snyder
4cd56b1fb9
Use C++11 standard types for MacOS portability ( #3254 ) ( #3257 ).
2022-01-01 16:04:20 -05:00
Wilson Snyder
f3945e7c02
Tests: Add t_class_param_pkg test.
2022-01-01 14:30:41 -05:00
Wilson Snyder
5ef982b4b5
Fix internal error on reference to typedef'ed class
2022-01-01 13:48:53 -05:00
Wilson Snyder
f96d336b97
Internals: Pre-elaboration progress towards class parameters.
2022-01-01 12:50:43 -05:00
Wilson Snyder
0c3ffa1841
Support force/release ( #2491 ) ( #2593 ).
2022-01-01 12:24:19 -05:00
Wilson Snyder
ca42be982c
Copyright year update.
2022-01-01 08:26:40 -05:00
Wilson Snyder
8952aa59ff
Tests: Add force/release tests.
2021-12-31 15:17:16 -05:00
Wilson Snyder
2966f03042
Tests: Enumerations supported
2021-12-31 15:10:29 -05:00
Yutetsu TAKATSUKASA
0658a7654f
Add tests of tracing SystemC model verilated with --hierarchical ( #3252 )
...
* Tests: Add t_hier_block_sc_trace(fst|vcd) that tests tracing hierarchical block on SystemC.
* Add a check that elaboration is done before a trace file is opened.
* Add a check that elaboration is done before trace() is called to verilated SystemC model.
* Tests: call sc_core::sc_start(sc_core::SC_ZERO_TIME) before opening a trace file
* Tests: Fix t_trace_two_sc to call sc_start before opening trace
* Use vl_fatal as suggested in PR review.
2021-12-23 08:41:11 +09:00
Wilson Snyder
7526151670
Fix bad ending address on $readmem ( #3205 ).
2021-12-21 19:55:04 -05:00
Wilson Snyder
560b59f97f
Use C++11 standard types for MacOS portability ( #3254 ).
2021-12-21 13:18:05 -05:00
Geza Lore
1de2de4bde
Fix splitting of large _eval and related functions
...
Fix bug that only used to measure size of first statement in functions
to determine if splitting was necessary. Measure whole function instead.
2021-12-20 11:24:11 +00:00
Geza Lore
ff425369ac
Reduce .rodata footprint of trace initialization ( #3250 )
...
Trace initialization (tracep->decl* functions) used to explicitly pass
the complete hierarchical names of signals as string constants. This
contains a lot of redundancy (path prefixes), does not scale well with
large designs and resulted in .rodata sections (the string constants) in
ELF executables being extremely large.
This patch changes the API of trace initialization that allows pushing
and popping name prefixes as we walk the hierarchy tree, which are
prepended to declared signal names at run-time during trace
initialization. This in turn allows us to emit repeat path/name
components only once, effectively removing all duplicate path prefixes.
On SweRV EH1 this reduces the .rodata section in a --trace build by 94%.
Additionally, trace declarations are now emitted in lexical order by
hierarchical signal names, and the top level trace initialization
function respects --output-split-ctrace.
2021-12-19 15:15:07 +00:00
Yutetsu TAKATSUKASA
30ccccdb67
Support FST tracing in hierarchical verilation ( #3251 )
...
* Rename t_hier_block_trace -> t_hier_block_trace_vcd
* Add t_hir_block_trace_fst test
* Support FST dump with hierarchical verilation
2021-12-18 16:57:28 +09:00
Wilson Snyder
f775feb7f0
Fix foreach on dotted reference.
2021-12-12 20:43:15 -05:00
Wilson Snyder
aa8423ba46
Tests: Add t_class_param_mod.pl
2021-12-12 19:49:06 -05:00
Wilson Snyder
d753f36ebc
Internals: Add missing broken assertions & cloneTrees
2021-12-12 18:10:52 -05:00
Wilson Snyder
55976dbc25
Tests: Add t_class_param_nconst_bad test.
2021-12-12 15:26:29 -05:00
Wilson Snyder
6b0601fd54
Support lower dimension looping in foreach loops ( #3172 ).
2021-12-11 20:39:58 -05:00
Wilson Snyder
740fee660e
Fix associative array foreach loop ( #3229 ).
2021-12-11 18:38:23 -05:00
Wilson Snyder
984ee624ed
Fix break under foreach loop ( #3230 ).
...
Internals: Move Foreach handling into V3Width.
2021-12-11 15:06:33 -05:00
Adrien Le Masle
00ef0519f5
Fix top level parameter overwrite when a package has same parameter ( #3241 ) ( #3247 )
2021-12-11 14:55:59 -05:00
Wilson Snyder
59d170c6f8
Support up to 64 bit enums for .next/.prev/.name ( #3244 ).
2021-12-11 11:29:01 -05:00
Wilson Snyder
9a722ccf62
Internals: Cleanup of InitArray stuff. No functional change intended.
2021-12-11 11:22:04 -05:00
Wilson Snyder
748fa4cb80
Fix coredump after huge enum warning.
2021-12-10 23:08:03 -05:00
Wilson Snyder
694cf371f9
Tests: Always failing tests
2021-12-10 21:22:23 -05:00
Wilson Snyder
8696e38e6f
Primary inputs and outputs (VL_INW/VL_OUTW) now use VlWide type ( #3236 ).
2021-12-09 19:41:33 -05:00
Adrien Le Masle
c3f17ce2c4
Fix VL_STREAML_FAST_QQI with 64 bit left-hand-side ( #3232 ) ( #3235 )
2021-12-09 17:30:04 -05:00
Wilson Snyder
41f29d2ce3
Tests ( #3230 )
2021-12-06 21:27:32 -05:00
Yutetsu TAKATSUKASA
1160dddc6d
Fix bit op tree optimization ( #3221 )
...
* Add a test to reproduce #3197
* Fix #3197 . Optimize correctly even if a variable is >32
* Quick exit instead of continue. No functional change is intended.
* Delete comment-out line.
* update per review comment
2021-11-30 23:20:00 +09:00
Wilson Snyder
ca09f73446
Tests: Fix open test on some automount cloud providers
2021-11-28 15:40:35 -05:00
Wilson Snyder
e814855357
Tests: Skip gdb tests if no gdb
2021-11-28 15:33:33 -05:00
Wilson Snyder
692306ef44
Optimize $random concatenates/selects ( #3114 ).
2021-11-28 14:17:28 -05:00
Wilson Snyder
04e0c7e4f1
Support tracing through --hierarchical/--lib-create libraries ( #3200 ).
2021-11-27 17:07:27 -05:00
Wilson Snyder
c6dae40cf6
Support task name in $display %m ( #3211 ).
2021-11-26 20:38:48 -05:00
Michaël Lefebvre
9bda2cb4ad
Fix some SliceSels not being constants ( #3186 ) ( #3218 ).
2021-11-26 10:51:11 -05:00
Wilson Snyder
62387a0e32
Fix display of empty string constant ( #3207 ) ( #3215 ).
2021-11-25 08:03:27 -05:00
Wilson Snyder
31079ca8b5
Fix $size on dynamic strings ( #3216 ).
2021-11-25 07:50:47 -05:00
Wilson Snyder
e7ebe0e280
Fix $fopen etc on integer arrays ( #3214 ).
2021-11-23 18:22:16 -05:00
Wilson Snyder
c14bbb9421
Fix incorrect width after and-or optimization ( #3208 ).
2021-11-23 18:15:21 -05:00
Wilson Snyder
b1b92b7dd4
Fix hang on recursive definition error ( #3199 ).
2021-11-23 07:27:41 -05:00
Wilson Snyder
2ccf49031b
Fix $display of signed/unsigned without format ( #3207 ).
2021-11-17 18:50:52 -05:00
Wilson Snyder
0abc856be9
Fix %0 format on $value$plusargs.
2021-11-17 17:54:07 -05:00
Wilson Snyder
d2a8fa7440
Fix display of empty string constant ( #3207 ).
2021-11-17 17:46:08 -05:00
Wilson Snyder
c0892dd11c
When using --lib-create, disable tracing hash/internals. Partial ( #3200 ).
2021-11-14 10:16:59 -05:00
Wilson Snyder
899de9a282
Add --lib-create, similar to --protect-lib but without protections ( #3200 ).
2021-11-14 09:39:31 -05:00
Wilson Snyder
28b6e79cf7
Tests: Rename t_lib_prot tests in prep for new options.
2021-11-14 08:58:04 -05:00
Wilson Snyder
c496649c49
Internals: Remove unused DfaGraph code.
2021-11-13 14:48:21 -05:00
Wilson Snyder
3a5cbd5b67
Internals: Untabify some embedded tabs.
2021-11-13 10:46:25 -05:00
Geza Lore
185e5d8f42
Make 'bit', 'logic' and 'time' types unsigned by default
...
IEEE 1800-2017 6.11.3 says these types are unsigned. Until now these
types were treated as not having a signedness (NOSIGN), and nodes having
these types were later resolved by V3Width to be unsigned. This is a bit
problematic when creating nodes of these types after V3Width. Treating
these types as unsigned from the get go is fine, and actually improves
generated code slightly.
2021-11-09 21:54:21 +00:00
Yutetsu TAKATSUKASA
b08c694cd6
Fix wrong bit op tree optimization ( #3185 )
...
* Add a test to reproduce bug3182. Run the same HDL with -Oo to confirm the result is same.
* Hopefully fix #3182 . The result can be 0 only when polarity is true (no AstNot is found during traversal).
2021-11-06 12:31:50 +09:00
Wilson Snyder
758264dc77
Fix nested generate if genblk naming ( #3189 ).
2021-11-01 08:59:00 -04:00
Teng Huang
fdbf465eda
Fix array method names with parens ( #3181 ) ( #3183 )
2021-10-26 12:20:45 -04:00
Yutetsu TAKATSUKASA
f3b10df454
Skip merging assign statements if a variable is marked split_var to fix #3177 ( #3179 )
...
* add tests to reproduce #3177 .
Any random test circuits can be added to t_split_var_4.v later because it uses CRC to check the result while
t_split_var_0.v has just barrel shifters.
* Fix #3177 . Don't merge assign statements if a variable is marked split_var.
2021-10-25 20:56:59 +09:00
Wilson Snyder
aa1a0b0f13
Tests: Fix numactl on WSL2
2021-10-19 21:24:22 -04:00
Wilson Snyder
371bf01957
Tests: Fix numactl on WSL2
2021-10-19 21:21:52 -04:00
Wilson Snyder
b8f6b262e4
Fix false EOFNEWLINE warning when DOS carriage returns present ( #3171 ).
2021-10-13 21:21:51 -04:00
Wilson Snyder
b64e89f7ed
Fix calling new with arguments in same class ( #3166 ).
2021-10-12 21:22:59 -04:00
Iru Cai
9731ec76e3
Fix $urandom_range when the range is 0 ... UINT_MAX ( #3161 )
2021-10-11 06:45:19 -06:00
Matthew Ballance
a9646cf45c
Fix constructor-parameter argument comma-separation in C++ ( #3162 )
2021-10-09 17:19:31 -06:00
Wilson Snyder
5f597dd9fc
Tests: Improve internal coverage holes
2021-10-05 22:02:37 -04:00
Wilson Snyder
4739956cfe
Internals: Add missing const. No functional change.
2021-10-05 21:20:22 -04:00
Wilson Snyder
e202a6324a
Tests: Improve internal coverage holes
2021-10-05 21:09:57 -04:00
Wilson Snyder
66d70c8b37
Internal coverage: Fix some test runs having conflicting sources.
2021-10-05 20:22:29 -04:00
Wilson Snyder
2560fc867f
verilator_gantt: Fix reading broken /cpu/procinfo reports
2021-10-02 11:10:43 -04:00
Wilson Snyder
f5c9deecb8
Tests: Add verilator_gantt no-proc test.
2021-10-02 10:05:59 -04:00
Zhanglei Wang
1c1c805b07
Fix internal error on bad widths ( #3140 ) ( #3145 )
2021-09-28 07:28:02 -04:00
Wilson Snyder
9029da5ab8
Add profile-guided optmization of mtasks ( #3150 ).
2021-09-26 22:51:11 -04:00
Wilson Snyder
44809f1843
Remove unused CFG_CXXFLAGS_STD_OLDEST
2021-09-26 16:01:25 -04:00
Wilson Snyder
741bb5328e
verilator_gantt: Fix argument report omitting last digits
2021-09-24 21:11:15 -04:00
Wilson Snyder
8ab51dbf22
Verilator_gantt: remove ASCII graphics
2021-09-24 08:48:20 -04:00
Wilson Snyder
fd4595d6b4
verilator_gantt: Add eval count to report
2021-09-24 08:48:20 -04:00
Wilson Snyder
c2819923c5
Verilator_gantt now shows the predicted mtask times, eval times, and additional statistics.
2021-09-23 22:59:36 -04:00
Keith Colbert
0defb61a18
Fix --waiver-output for multiline warnings ( #2429 ) ( #3141 )
2021-09-22 07:42:59 -04:00
Wilson Snyder
a7374e84a2
Tests: Some coverage improvements
2021-09-20 18:20:48 -04:00
Wilson Snyder
2418df7bb2
Commentary
2021-09-17 20:03:45 -04:00
Wilson Snyder
08c8b0d7d6
Fix removing if statement with side effect in condition ( #3131 ).
2021-09-13 15:52:53 -04:00
Wilson Snyder
d384a69877
Fix display has no time units on class function ( #3116 ).
2021-09-08 19:31:46 -04:00
github action
a8b480559d
Apply 'make format'
2021-09-08 22:46:27 +00:00
Wilson Snyder
f1b8b1d99b
Format: perltidy spacing cleanup. No functional change.
2021-09-08 18:45:25 -04:00
Wilson Snyder
4b274a8d4d
Convert verilator_gantt to python
2021-09-08 08:16:31 -04:00
Wilson Snyder
c678e7ec3e
Format: perltidy spacing cleanup. No functional change.
2021-09-07 23:50:28 -04:00
Wilson Snyder
2a79e46c46
Tests: Fix t_dist_fixme to detect later files.
2021-09-07 19:27:46 -04:00
Wilson Snyder
d09b6a7d2c
Include processor information in verilator_gantt data file.
2021-09-05 11:56:28 -04:00
Wilson Snyder
cac0b0f316
Tests: Fix t_gantt_io
2021-09-04 16:51:55 -04:00
Wilson Snyder
8519dc1383
Tests: Skip unstability
2021-09-04 13:48:16 -04:00
Wilson Snyder
72f198d79e
Tests: Add t_gantt_io test
2021-09-04 12:44:13 -04:00
Wilson Snyder
1cb8091125
verilator_profcfunc: Also allow eval_step.
2021-09-04 12:28:26 -04:00
Wilson Snyder
496b9f9c63
Tests: Add difftree test.
2021-09-04 08:27:59 -04:00
Wilson Snyder
56dc66d842
Fix verilator_profcfunc profile accounting ( #3115 ).
2021-09-03 19:59:10 -04:00
Iru Cai
4ed00c563c
Support displaying x and z in $display task ( #3107 ) ( #3109 )
2021-09-02 08:10:52 -04:00
Krzysztof Bieganski
cd9e9da4b5
Support assignment patterns as children of pins ( #3041 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2021-08-30 10:44:03 -04:00
Wilson Snyder
43aa3229fb
Support empty queue assignment to delete queue
2021-08-28 17:23:35 -04:00
Wilson Snyder
27d53691bd
Add header guards on Dpi.h generated files ( #2979 ).
2021-08-23 21:43:54 -04:00
Wilson Snyder
c3d64d9743
Fix internal error on wide -x-initial unique ( #3106 ).
2021-08-23 20:13:09 -04:00
Wilson Snyder
f9806595f2
Add error when constant function under a generate ( #3103 ).
2021-08-21 10:33:20 -04:00
Geza Lore
34a0bb448e
Improve V3MergeCond
...
- Merge AstNodeIf nodes as well (not just assignment from AstCond)
- Merge merged results recursively (optimizes nested conditionals/ifs)
- Only checking mergeability once per node.
- Don't add redundant masking
- Duplicate cheap statements in both branches, if doing so yields a
larger merge
- Include reduced nodes before the starting conditional in the merge
2021-08-19 18:55:39 +01:00
Geza Lore
8681861be9
Improve bitop tree optimization
...
- Remove redundant casting
- Cheaper final XOR parity flip (~/^1 instead of != 0)
- Support XOR reduction of ~XOR nodes
- Don't add redundant masking of terms
- Support unmasked terms
- Add cheaper implementation for single bit only terms
- Ensure result is clean under all circumstances (this fixes current bugs)
2021-08-18 22:00:13 +01:00
Geza Lore
c69ddc46f8
Fix bitop tree optimization dropping necessary cleaning AND ( #3097 )
...
Fixes #3096 .
2021-08-14 21:09:01 +01:00
Yutetsu TAKATSUKASA
4ec8bc3589
Fix op count and wrong optimization in bitop tree ( #3099 )
...
- Fix op calculation.
- Fix wrong optimization revealed by changing the op calculation:
Not(CCast(And(a, b))) must be frozen.
2021-08-14 12:28:47 +01:00
Geza Lore
536bdf506e
Fix re-evaluation of logic dependent on state set in DPI exports ( #3091 ).
...
Verilator should now correctly re-evaluate any logic that depends on
state set in a DPI exported function, including if the DPI export is
called outside eval, or if the DPI export is called from a DPI import.
Whenever the design contains a DPI exported function that sets a
non-local variable, we create a global __Vdpi_export_trigger flag, that
is set in the body of the DPI export, and make all variables set in any
DPI exported functions dependent on this flag (this ensures correct
ordering and change detection on state set in DPI exports when needed).
The DPI export trigger flag is cleared at the end of eval, which ensured
calls to DPI exports outside of eval are detected. Additionally the
ordering is modifies to assume that any call to a 'context' DPI import
might call DPI exports by adding an edge to the ordering graph from the
logic vertex containing the call to the DPI import to the DPI export
trigger variable vertex (note the standard does not allow calls to DPI
exports from DPI imports that were not imported with 'context', so we
do not enforce ordering on those).
2021-08-12 21:43:32 +01:00
Pieter Kapsenberg
d1836b7b6f
Traces show array instances using brackets instead of parens ( #3092 ) ( #3095 )
2021-08-12 20:40:44 +03:00
Geza Lore
00fe36f44c
Name temporary variables based on hash of related node.
...
This improves output stability by removing sequence numbers and hence
can improve ccache hit rate. No functional change intended.
2021-08-11 17:29:22 +01:00
Geza Lore
5adc856950
Tests: ignore all hashes in files_identical
...
Also add 'h' prefix to all printed hashes, to reduce ambiguity. No
functional change.
2021-08-11 16:55:11 +01:00
Geza Lore
2c8456ea75
Internals: Cleanup V3SplitVar
...
- Use C++11 initialization syntax
- Use C++11 for loops
- Add const
- Factor out repeated _->fileline() sub-expressions
- Factor out issuing warning message
No functional change.
2021-08-02 15:48:26 +01:00
Wilson Snyder
0f4daa12e4
Ignore sv-test's `pragma protect end
2021-07-29 09:00:10 -04:00
Wilson Snyder
6bad0e14ce
Support timeunit/timeprecision in $unit.
2021-07-29 08:40:41 -04:00
Geza Lore
cdeb6e792f
Add --instr-count-dpi option, change default to 200
...
This replaces the former static AstNode::INSTR_COUNT_DPI, and makes it
user adjustable to fit the design.
Fixes #3068 .
2021-07-25 16:40:12 +01:00
Wilson Snyder
f937e3282f
Tests: Ignore DepSet hash numbers. ( #3083 )
2021-07-25 11:20:19 -04:00
Steven Hugg
18b0f6387d
Add XML ccall, constpool, initarray, and if/while begins ( #3080 )
...
* EmitXml: Added <ccall>, <constpool>, <initarray>/<inititem>, wrapped children of <if> and <while> with <begin> elements to prevent ambiguity
* EmitXml: added signed="true" to signed basicdtypes
2021-07-24 21:06:06 -04:00
Wilson Snyder
b90fce55f4
Includes: Refactor verilated.h and deprecate verilated_heavy.h ( #2701 ).
2021-07-24 10:00:33 -04:00
Geza Lore
1de33b9fb7
Support localparams in tasks/functions
2021-07-23 20:34:49 +01:00
Geza Lore
90c917ee83
Enable now supported tests for string array initializers
...
Fixes #2895 .
2021-07-23 17:21:15 +01:00
Geza Lore
4ab4c0c8ba
Emit parameter values as 'static constexpr' instead of enum
...
All parameters that are required in the output are now emitted as
'static constexpr, except for string or array of strings parameters,
which are still emitted as 'static const' (required as std::string is
not a literal type, so cannot be constexpr). This simplifies handling
of parameters and supports 'real' parameters.
2021-07-23 17:20:26 +01:00
Wilson Snyder
13933743ad
Suppress creating change_request if not needed.
2021-07-22 20:50:03 -04:00
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
1166728a8d
Tests: make t_trace_*two* tests less sensitive to file names
...
No functional change intended
2021-07-19 17:48:41 +01:00
Geza Lore
17cc452f79
Add V3VariableOrder pass
...
A separate V3VariableOrder pass is now used to order module variables
before Emit. All variables are now ordered together, without
consideration for whether they are ports, signals form the design, or
additional internal variables added by Verilator (which used to be
ordered and emitted as separate groups in Emit). For single threaded
models, this is performance neutral. For multi-threaded models, the
MTask affinity based sorting was slightly modified, so variables with no
MTask affinity are emitted last, otherwise the MTask affinity sets are
sorted using the TSP sorter as before, but again, ports, signals, and
internal variables are not differentiated. This yields a 2%+ speedup for
the multithreaded model on OpenTitan.
2021-07-12 14:53:40 +01:00
Geza Lore
8a9d6d225b
Internals: Add source file/line info to BROKEN_RTN messages
2021-07-11 16:50:05 +01:00
Wilson Snyder
687dd440a9
Removed deprecated Verilator tarball generation makefile rules.
2021-07-11 10:25:24 -04:00
Wilson Snyder
f1bb0bb725
Tests: Whitespace check all git files
2021-07-11 10:25:13 -04:00
Wilson Snyder
f55177a49f
Tests: Fix coverage holes. No functional change.
2021-07-10 07:11:50 -04:00
Wilson Snyder
61e2e55ba5
Internals: Fix coverage holes. No functional change.
2021-07-09 18:11:59 -04: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
36599133bf
Add --prof-c to pass profiling to compiler ( #3059 ).
2021-07-07 19:12:52 -04:00
Dan Petrisko
8c705ee145
Support middle-of-design nested topmodules ( #3026 )
2021-07-07 15:00:29 -04:00
Dan Petrisko
c5c5f11e16
Tests: Adding failing test case for source synchronous signals ( #3038 )
2021-07-07 14:00:17 -04:00
Morten Borup Petersen
fd0446f481
Internals: Add .dot graph visualization of ThreadSchedule ( #3048 )
...
* Move MTaskState to ThreadSchedule
MTaskState does not concern itself with sandbagging, and thus solely contains information related to the finalized schedule, i.e., completion time, thread ID and next MTask on thread.
* Add .dot graph visualization of ThreadSchedule
Follow-up to #2779 .
This commit adds the creation of .dot files - used by GraphViz - to visualize how mtasks are statically scheduled across the set of specified threads.
We visualize each thread as a row, with nodes of a row being the mtasks scheduled for the given thread. The width of the mtask nodes are proportional to their cost. MTask dependencies are shown using an edge between the source and sink mtasks.
2021-07-06 07:06:00 -04:00
Geza Lore
fb56f4f880
Tests: make t_prot_lib*.pl name mangling deterministic
...
This is to facilitate diffing generated files in tests.
2021-07-02 00:21:24 +01:00
Geza Lore
d4e73e215e
Tests: fail test if vcddiff aborts, fix failing tests
...
Tests used to silently pass when vcddiff aborted. Now fixed. Updated
large array trace reference files for FST, added same reference files
for VCD.
Developers need to update their local vcddiff.
2021-07-01 23:22:25 +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
Morten Borup Petersen
2c813488f4
Tests: Add simulator benchmarking data option for regression tests ( #3054 )
...
This commit adds the '--simbenchmark' option to the regression test compile command.
The option is not intended as a fully-fledged benchmarking infrastructure, but rather a
utility for easily generating cycle- and execution time information when executing a verilated test.
As an example use case, the included test file shows how optimization level is varied across
three different builds+simulations, with the statistics for each run output to the same file in
the output directory.
Future work:
- 'sim_time' in the generated top-level main file should be a parameter.
- Given the above, the test execution script from verilog-sim-benchmark can be integrated
to generate better estimates of cycles/second through varying 'sim_time' over multiple executions.
2021-07-01 11:17:55 -04: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
2825940fad
Fix dtype when simplifying masked shift.
...
Fixes #3044
2021-06-25 18:06:43 +01:00
Geza Lore
a198a3c1e1
Add extern "C" to function declarations in VPI tests.
...
These are necessary to link the executables. So far we have been saved
by one of the generated headers forward declaring these functions with
extern "C", but changing that header would break these tests.
2021-06-24 16:48:58 +01:00
Yutetsu TAKATSUKASA
ec4eb18846
Fiix incorrect result by bit tree opt ( #3023 ) ( #3030 )
...
* Add a test to reproduce #3023 . Also applied verilog-mode formatting.
* use unique_ptr. No functional change is intended.
* Introduce restorer that reverts changes during iterate() if failed.
2021-06-21 07:28:39 +09:00
Wilson Snyder
2ee52222e2
Tests: Add test ( #2912 ).
2021-06-19 14:39:34 -04:00
Wilson Snyder
c11cd18491
In XML, show pinIndex information ( #2877 ).
2021-06-19 13:41:41 -04:00
Geza Lore
9eafca5e28
Remove deprecated --no-relative-cfuncs ( #3024 )
2021-06-16 23:17:43 -04:00
Geza Lore
a8f83d5758
Construct AstExecGraph implementation outside of V3EmitC. ( #3022 )
...
The goal of this patch is to move functionality related to constructing
the thread entry points and then invoking them out of V3EmitC (and into
V3Partition). The long term goal being enabling V3EmitC to emit
functions partitioned based on header dependencies. V3EmitC having to
deal with only AstCFunc instances and no other magic will facilitate
this.
In this patch:
- We construct AstCFuncs for each thread entry point in
V3Partition::finalize and move AstMTaskBody nodes under these functions.
- Add the invocation of the threads as text statements within the
AstExecGraph, so they are still invoked where the exec graph is located.
(the entry point functions are still referenced via AstCCall or
AstAddOrCFunc, so lazy declarations of referenced functions are created
automatically).
- Explicitly handle MTask state variables (VlMTaskVertex in
verilated_threads.h) within Verilator, so no need to text bash a lot of
these any more (some text refs still remain but they are all created
next to each other within V3Partition.cpp).
The effect of all this on the emitted code should be nothing but some
identifier/ordering changes. No functional change intended.
2021-06-16 12:18:56 +01:00
Geza Lore
c75a686081
Internals: Update to clang-format-11 ( #3021 )
2021-06-14 14:50:40 -04:00
Geza Lore
24b5215cf9
Add --enable-m32 to configure
2021-06-14 00:37:59 +01:00
Wilson Snyder
13ddd0bc1c
Fix error on unsupported recursive functions ( #2957 ).
2021-06-13 12:38:31 -04:00
Wilson Snyder
31121141db
Convert pipe filter example to python
2021-06-13 12:03:53 -04:00
Wilson Snyder
9d3e800311
Commentary
2021-06-13 12:03:53 -04:00
Geza Lore
7280307a39
Implement DPI import/export as loose functions
2021-06-13 15:06:28 +01: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
Geza Lore
c67fe02f06
Do not generate debug info in tests
...
Pointless and takes up a lot of cache space in CI, so remove -ggdb and
associated debug options from tests.
2021-06-13 02:55:29 +01:00
Geza Lore
5555f20bd2
Improve ccache-report
2021-06-09 19:14:11 +01:00
Geza Lore
0edf1f0c94
Add ccache-report target to standard Makefile ( #3011 )
...
Using the standard model Makefile, when in addition to an explicit
target, the target 'ccache-report' is also given, a summary of ccache
hits/misses during this invocation of 'make' will be prited at the end
of the build.
2021-06-07 00:56:30 +01: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
1f19e8e206
Tests: Add test case for #2895 .
2021-06-06 09:17:56 -04:00
Geza Lore
eea7e1bd2a
Do not emit leading spaces on blank lines ( #3007 )
2021-06-04 15:00:13 +01:00
Julien Margetts
1f331bd94f
Fix part select issues in LATCH warning. ( #2948 ) ( #2938 )
2021-06-01 09:01:18 -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
Wilson Snyder
aba3883092
Commentary on MULTIDRIVEN ( #2972 ).
2021-05-19 08:14:14 -04:00
Geza Lore
9699192de8
Don't merge bit select assignments in C code ( #2971 )
2021-05-18 14:28:48 -04:00
Yutetsu TAKATSUKASA
31779b8b8b
Format time string using integer ( #2940 )
...
Co-authored-by: Wilson Snyder <wsnyder@wsnyder.org>
2021-05-16 19:01:03 +09:00
Geza Lore
38cab569ed
Add --reloop-limit argument ( #2960 )
...
Add --reloop-limit argument
2021-05-15 18:04:40 +01:00
Yutetsu TAKATSUKASA
00cedf3797
Tests: Add a test to check if there is overflow or rounding ( #2945 )
2021-05-11 22:27:31 +09:00
Geza Lore
267c6f6dce
Improve Reloop to accept constant index offsets. ( #2939 )
...
V3Reloop now can roll up indexed assignments between arrays if there is a
constant offset between indices on the left and right hand sides, e.g.:
a[0] = b[2];
a[1] = b[3];
...
a[x] = b[x + 2];
2021-05-10 18:01:11 +01:00
Geza Lore
f6c0108c86
Optimize large lookup tables to static data ( #2926 )
...
Implements #2925
2021-05-08 20:04:56 +01:00
Jonathan Drolet
37d68d39c8
Support --trace-fst for SystemC with CMake ( #2927 )
2021-05-08 08:42:00 -04:00
Yutetsu TAKATSUKASA
5e56f4d11b
Tests: Enable undefined behavior sanitizor when --sanitize is set. ( #2923 )
2021-05-08 08:20:26 -04:00
Jonathan Drolet
2bf248bf60
Add TRACE_THREADS to CMake ( #2934 )
2021-05-08 08:18:08 -04:00
Yutetsu TAKATSUKASA
1e4839e5d1
Fix casting to integer not to cause integer overflow. ( #2930 )
2021-05-07 12:00:36 -04:00
Todd Strader
b2139f65d8
VPI memory access for packed arrays ( #2922 )
2021-05-07 07:17:54 -04:00
Yutetsu TAKATSUKASA
8624ce6a84
Stop checking dtype for better optimization chance in BitOpTree ( #2909 )
...
* Tests: Add more case that does not match native C++ width (8, 16, 32 or 64).
* Use AstVarRef::same() instead of AstNode::sameGateTree() because the latter checks dtype in addition to scope.
AstVarRef may have different minWidth in some cases,
but the difference should be ignored in the context of bitOpTree optimization.
2021-05-04 10:40:16 +09:00
Wilson Snyder
e68788d914
Fix initialization of assoc in assoc array ( #2914 ).
2021-05-03 19:37:04 -04:00
Krzysztof Bieganski
5290062549
Fix bounds check in VL_SEL_IWII ( #2910 )
2021-05-03 17:59:41 -04:00
Yutetsu TAKATSUKASA
d77c9da983
Tests: Add a case to cover the line using m_frozenNodes. ( #2915 )
2021-05-02 06:12:38 +09:00
Udi Finkelstein
422c076fec
Support ignoring "`pragma protect ..." ( #2886 )
...
This support code merely adds the capability to skip over the encrypted
parts. Many models have unencrypted module interfaces with ports, and
only encrypt the critical parts.
2021-04-26 18:16:24 -04:00
Todd Strader
12416bc0a3
Scope module fix ( #2893 )
2021-04-26 09:50:25 -04:00
Yutetsu TAKATSUKASA
4351abfe71
Fix assertion failure in bitOpTree opt ( #2899 )
...
* Tests: Add another testcase that triggers assertion failure in bitOpTree opt.
* Fix assertion failure in bitOpTree opt reported in #2891 . Consider the follwoing case.
CCast -> WordSel -> VarRef(leaf)
* Make sure that m_bitPolarity is expanded enough.
2021-04-25 11:46:05 +09:00
Wilson Snyder
aedd16225a
Tests: Don't expose version numbers
2021-04-24 10:33:49 -04:00
Wilson Snyder
8749f545b6
Partial fix to avoid init error on lint-only ( #2895 )
2021-04-24 09:49:23 -04:00
Todd Strader
f446295274
Public interface params ( #2901 )
2021-04-21 13:46:13 -04:00
Todd Strader
f450d51de1
expose packed vectors via the VPI ( #2900 )
2021-04-21 12:35:18 -04:00
Wilson Snyder
dd0c2cac9b
Fix V3Premit infinite loop on always read-and-write ( #2898 ).
2021-04-21 09:21:06 -04:00
Graham Rushton
6660627558
Fix concat of long hashed names in traces etc ( #2854 )
2021-04-20 09:08:29 -04:00
Wilson Snyder
c443e229ee
Fix URL references.
2021-04-18 11:52:29 -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
Yutetsu TAKATSUKASA
56dd58d259
Fix assertion failure in bitOpTree ( #2892 )
...
* Tests: Add a test to reproduce #2891
* Fix assertion failure in binary op tree opt.
2021-04-17 05:50:30 +09:00
Todd Strader
53a6830f71
Fix cast from packed, typedef'ed interface signal ( #2884 )
2021-04-16 15:25:47 -04:00
David Metz
f5ad5cf034
Fix dumping waveforms to multiple FST files ( #2889 )
2021-04-14 16:52:14 -04:00
Todd Strader
70c1eda174
Fix package reported as vpiModule ( #2885 )
2021-04-12 15:00:36 -04:00
Wilson Snyder
adce7ecf4b
Documentation has been rewritten into a book format.
2021-04-11 18:55:06 -04:00
Udi Finkelstein
23c243bb82
Add support for null ports ( #2875 )
2021-04-09 10:39:46 -04:00
Wilson Snyder
e2c11cceb8
Fix select of with index variable ( #2880 ).
2021-04-08 19:35:03 -04:00
Àlex Torregrosa
2b2680770b
Improve scope types in FST and VCD traces ( #2805 ).
2021-04-07 09:55:11 -04:00
Yutetsu TAKATSUKASA
6a31b19224
Tests: Add a test to improve code coverage of V3Const.cpp ( #2878 )
2021-04-07 22:37:31 +09:00
Yutetsu TAKATSUKASA
8d0f7cdac8
Tests: Add a test to check if shortcut operators are properly handled. ( #2869 )
2021-04-07 22:26:40 +09:00
Àlex Torregrosa
a29ac44af9
Add FST SystemC tracing ( #2806 )
2021-04-06 16:18:58 -04:00
Geza Lore
4f36e3e6c9
Fix incorrect condition in varNotReferenced ( #2873 )
...
The intention was to not merge impure assignments, but the actual
predicate failed if the assignment was indeed pure.
This fix gains 1.5% speed on SweRV EH1.
2021-04-03 12:57:06 -04:00
Wilson Snyder
273fcce095
Fix test error in last commit
2021-04-01 19:51:22 -04:00
Udi Finkelstein
0ea5af40c5
Add PINNOTFOUND warning in place of "Pin not found" error ( #2868 )
2021-04-01 18:17:42 -04:00
Wilson Snyder
a9f4129b6b
Tests: Add test for ( #1613 )
2021-04-01 09:03:38 -04:00
Wilson Snyder
c8d8e95d52
Tests: Honor make_top_shell=>0 ( #2847 ).
2021-04-01 08:52:48 -04:00
Wilson Snyder
c62546c761
Add --coverage-max-width ( #2853 ).
2021-03-29 18:54:51 -04:00
Wilson Snyder
6d3ec160e1
Internal coverage improvements
2021-03-28 20:30:22 -04:00
Wilson Snyder
f26a7c2a5d
Fix --comp-limit-parens with real data types
2021-03-28 20:18:18 -04:00
Wilson Snyder
2ca21c01d2
Internal coverage improvements
2021-03-28 20:03:08 -04:00
Rupert Swarbrick
d6c2e2faf6
Allow overlaps in priority case statements ( #2864 )
...
This will still warn if a case item is completely covered by previous
items, but will no longer complain about overlaps like this:
priority casez (foo_i)
2'b ?1: bar_o = 3'd0;
2'b 1?: bar_o = 3'd1;
Before, there was a warning for the second statement because the first
two patterns match 2'b11.
2021-03-28 19:57:36 -04:00
Wilson Snyder
05db4e41cd
Add better suggestions on some bad options.
2021-03-27 13:14:43 -04:00
Todd Strader
ee25114a00
interface localparam access ( #2859 )
2021-03-26 18:27:38 -04:00
Todd Strader
87728a9ee3
Fix --public-flat-rw / DPI issue ( #2858 )
2021-03-26 18:24:31 -04:00
Yutetsu TAKATSUKASA
4e41c13501
Structurize option parser ( #2809 )
...
Add V3OptionsParser that can suggest correct option.
Co-authored-by: Wilson Snyder <wsnyder@wsnyder.org>
Co-authored-by: github action <action@example.com>
2021-03-26 22:48:24 +09: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
29505ef013
Support arrayed parameter functions partial ( #2846 )
2021-03-19 18:44:26 -04:00
Wilson Snyder
a159c41219
Fix USERINFO etc to show message with no arguments
2021-03-18 18:46:07 -04:00
Wilson Snyder
07de647cd7
Tests: On first file_identical miscompare look for others
2021-03-18 18:45:34 -04:00
Wilson Snyder
334e42b38e
Cleanup REDEFMACRO to not show two separate warnings
2021-03-17 20:33:31 -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
38f6a467e9
Fix --timescale-override not suppressing TIMESCALEMOD ( #2838 ).
2021-03-16 22:44:13 -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
8350c381c2
Add EOFNEWLINE warning when missing a newline at EOF.
2021-03-14 21:23:48 -04:00
Wilson Snyder
ba1f53a070
Improve DEFPARAM warning text.
2021-03-14 20:37:50 -04:00
Wilson Snyder
9dcda6947d
Fix unpacked-in-class pattern assignment
2021-03-13 13:39:29 -05:00
Wilson Snyder
e3788e871e
Fix unpacked-in-class array reference assignments
2021-03-13 13:04:13 -05:00
Wilson Snyder
ce79c4ebf9
Fix class unpacked-array compile error ( #2774 ).
2021-03-13 12:47:19 -05:00
Wilson Snyder
67853e2f29
Tests: Add t_prof test.
2021-03-13 12:29:14 -05:00
Wilson Snyder
b201b6257b
Tests: Improve coverage when not expanding
2021-03-13 10:22:32 -05:00
Wilson Snyder
d1becbb793
Tests: Fix gmon file not always flushing
2021-03-12 23:05:56 -05:00
Wilson Snyder
21e9794fd7
Tests: Mark some tests lint only
2021-03-12 16:06:47 -05:00
Wilson Snyder
b52b063c16
Tests: Use common TEST_ error reporting.
2021-03-12 12:43:28 -05:00
Wilson Snyder
2feb46fc5d
Tests: Refactor t_vpi_time_cb to avoid shared object
2021-03-12 12:08:11 -05:00
Wilson Snyder
44478a53c2
comps
2021-03-12 09:44:21 -05:00
Wilson Snyder
29ed866061
Fix range inheritance on port without data type ( #2753 ).
2021-03-11 19:22:19 -05:00
Wilson Snyder
e88dff6929
Tests: Improve t_mod_interface_array4
2021-03-11 13:32:38 -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
9483ebefae
Internal code coverage cleanups.
2021-03-07 21:05:15 -05:00
Wilson Snyder
6ff1911110
Tests: Cover some internal code coverage issues
2021-03-07 13:52:37 -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
47dcbd4b8a
Internal: Remove deprecated/insecure functions. No functional change intended.
2021-03-06 10:34:03 -05:00
Wilson Snyder
92f02c9db7
Tests: Adjust eta
2021-03-03 18:58:17 -05:00
Wilson Snyder
4fa41c5dd8
Tests: Add default filename check to context tests
2021-03-02 20:31:49 -05:00
David Turner
e81abdb616
Fix slice-assign overflow bug ( #2803 ) ( #2811 )
2021-03-01 18:20:56 -05:00
Wilson Snyder
81417a2889
Tests: Misc test updates for context prep.
2021-02-28 10:48:27 -05:00
Wilson Snyder
dad86b9a84
Tests: Fix leak found by previous commit
2021-02-25 20:38:38 -05:00
Wilson Snyder
0b501df959
Tests: Rename
2021-02-25 20:05:54 -05:00
Wilson Snyder
57d1404f40
Tests: Cleanup to return instead of exit
2021-02-25 19:26:36 -05:00
Wilson Snyder
2f8fa75691
Tests: On format make tests executable
2021-02-25 19:24:41 -05:00
Wilson Snyder
00c3bafe7d
Tests: With --gdbsim build with ggdb
2021-02-25 19:20:11 -05:00
Wilson Snyder
c95e606c0a
Fix range inheritance on port without data type ( #2753 ).
2021-02-24 18:21:13 -05:00
Wilson Snyder
8c2ee6c5ab
With -DVL_NO_LEGACY hide all outdated API routines
2021-02-22 22:59:23 -05:00
Wilson Snyder
0f8e494c76
Tests: Add t_verilated_legacy
2021-02-21 21:49:55 -05:00
Wilson Snyder
9650aefa42
Internals: Cleanup unneeded {}. No functional change
2021-02-21 21:25:21 -05:00
Yutetsu TAKATSUKASA
bb5384bc50
Optimize bit op tree #2186 , #2632 , and #2633 ( #2751 )
...
* Tests:Add some more signals to t_const_opt_red.v
* Optimize bit op trees such as ~a[2] & a[1] & ~a[0] to 3'b010 == (3'111 & a)
* Update src/V3Const.cpp
Co-authored-by: Wilson Snyder <wsnyder@wsnyder.org>
* Update src/V3Const.cpp
Co-authored-by: Wilson Snyder <wsnyder@wsnyder.org>
* Update src/V3Const.cpp
Co-authored-by: Wilson Snyder <wsnyder@wsnyder.org>
* Apply clang-format
* Don't edit and-or tree.
* Call matchBitOpTree() after V3Expand does its job.
* Internals: Rename newNodep -> newp. No functional change is intended.
* Internals: Remove m_sels. No functional change is intended.
* Internals: Remove stringstream. No functional change is intended.
* Internals: Use V3Number::bitIs1(). No functional change is intended.
* Internals: Use V3Number instead of std::map. Resolved laek. Result should be same.
* Internals: Resolve overload of setPolarity. No functional change is intended.
* Internals: Pass failure reason. No functional change is intended.
* Internals: Add VNUser::toPtr(). No functional change is intended.
* Internals: Use user4 instead of std::map. No functional change is intended.
* Catch up with the AST style aftre V3Expand
* Internals: Rename Context to VarInfo. No functional change is intended.
* Add some more test case
* tests:Add stats to tests
Update stats in t_merge_cond.pl as matchBitopTree does some of them.
* insert CCast if necessary
* small optimization to remove redundant bit mask
* No quick exit even when unoptimizable node is found.
* Simplify removing redundant And
* simplify
* Revert "Internals: Add VNUser::toPtr(). No functional change is intended."
This reverts commit f98dce10db .
* Consider AstWordSel and cleanup
* Update test
* Update src/V3Const.cpp
Co-authored-by: Wilson Snyder <wsnyder@wsnyder.org>
* Update src/V3Const.cpp
Co-authored-by: Wilson Snyder <wsnyder@wsnyder.org>
* Update src/V3Const.cpp
Co-authored-by: Wilson Snyder <wsnyder@wsnyder.org>
* Update src/V3Const.cpp
Co-authored-by: Wilson Snyder <wsnyder@wsnyder.org>
* Update src/V3Const.cpp
Co-authored-by: Wilson Snyder <wsnyder@wsnyder.org>
* Update src/V3Const.cpp
Co-authored-by: Wilson Snyder <wsnyder@wsnyder.org>
* Apply clang-format
* Internals: rename variables. No functional change is intended.
Co-authored-by: Wilson Snyder <wsnyder@wsnyder.org>
Co-authored-by: github action <action@example.com>
2021-02-21 18:11:33 +09:00
Wilson Snyder
fd6edd90bc
Fix little endian interface pin swizzling ( #2475 ).
2021-02-20 22:11:20 -05:00
Wilson Snyder
191f76dd90
Increase LINE_TOKEN_MAX ( #2752 ).
2021-02-20 20:55:38 -05:00
Wilson Snyder
975c1b39a9
Fix little endian packed array pattern assignment ( #2795 ).
2021-02-20 20:29:28 -05:00
Wilson Snyder
aa99833580
Tests: Show (non-)per-instance coverage
2021-02-18 19:20:53 -05:00
Yutetsu TAKATSUKASA
c1b6faff6d
Add more patterns to t_const_opt_red.v ( #2792 )
2021-02-18 19:28:30 +09:00
Wilson Snyder
22e299e78e
Support concat selection ( #2721 ).
2021-02-17 23:03:47 -05:00
Wilson Snyder
d559190e9e
Tests for future concat select ( #2721 )
2021-02-17 22:57:52 -05:00
Wilson Snyder
c5e5be8e99
Commentary
2021-02-16 22:40:21 -05:00
Wilson Snyder
2b2fe13e79
Tests: Add unsupported test for interface typedef ( #2783 )
2021-02-16 22:31:30 -05:00
Wilson Snyder
95b0e9eef2
Tests: Add missing sc_time_stamp calls.
2021-02-16 20:34:44 -05:00
Wilson Snyder
e44563fddc
Tests: Use vl_time_stamp64 where reasonable
2021-02-16 20:14:30 -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
36eb952b60
Tests: Fix mising init
2021-02-03 19:43:29 -05:00
Wilson Snyder
99afffa949
Tests: Add some verbose statements.
2021-02-03 19:38:44 -05:00
Wilson Snyder
ae311200bf
Tests: Pass tool to allow ifdefs in VPI C code.
2021-02-03 19:29:24 -05:00
Wilson Snyder
828fa80afa
Tests: Add common use_libvpi for multiple simulators
2021-02-03 18:59:27 -05:00
Wilson Snyder
fe0a42eaa8
Tests: Cleanup some unused functions.
2021-02-03 18:50:23 -05:00
Wilson Snyder
153335ff35
Tests: Cleanup some DPI warnings.
2021-02-03 18:30:39 -05:00
github action
7bce15b065
Apply clang-format
2021-02-03 22:39:03 +00:00
Wilson Snyder
2225acd3ec
Tests: Avoid C++11 requirement in TestVpi.h
2021-02-03 17:37:31 -05:00
Àlex Torregrosa
e77e4e1fe6
Improve struct scopes when dumping structs to VCD ( #2776 )
2021-02-03 14:40:21 -05:00
Wilson Snyder
05bb24df6c
Fix $fread extra semicolon inside statements.
2021-01-26 22:20:16 -05:00
Wilson Snyder
31223d4058
Fix $ in filenames ( #2768 ).
2021-01-26 20:10:38 -05:00
Paul Wright
d891e5ac3a
Fix to exclude strings from toggle coverage ( #2766 ) ( #2767 )
2021-01-25 07:33:38 -05:00
Wilson Snyder
64941538b7
Fix TIMESCALE warnings on primitives ( #2763 ).
2021-01-23 10:31:41 -05:00
James Hanlon
fadc6776ec
For --flatten, override inlining of public and no_inline modules ( #2761 )
2021-01-18 08:03:18 -05:00
Pierre-Henri Horrein
3c849d7ce0
Generate SELRANGE instead of errors for potentially unreachable code ( #2625 ) ( #2754 )
...
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 #2625 .
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 ( #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
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 ( #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
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
cbd1bd5dad
Tests: Fix some VPI coverage holes
2020-12-23 19:15:00 -05:00
Wilson Snyder
97255dc835
Tests: Test future if condition optimization ( #2726 )
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 ( #2723 )
2020-12-22 07:52:38 -05:00
Wilson Snyder
b93e409f0e
Optimize additional display statements ( #2702 ).
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 ( #2706 ).
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 ( #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
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 ( #2708 )
...
* 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 ( #2704 )
2020-12-16 11:46:57 -05:00
Wilson Snyder
3039735648
Tests: Fix various test leaks ( #2703 ).
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 ( #2703 ).
2020-12-15 22:09:40 -05:00
Yutetsu TAKATSUKASA
d9ef4ac435
Rename --asan to --sanitize ( #2705 )
2020-12-15 21:07:27 -05:00
Yutetsu TAKATSUKASA
176cc5a196
Add --asan option that enables address sanitizer to the test driver ( #2700 )
...
* 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 ( #2699 )
2020-12-15 09:51:14 -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
Marlon James
457d1a66f2
Fix VPI memory word indexing ( #2695 )
...
* 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 ( #2095 ).
2020-12-12 22:26:50 -05:00
Wilson Snyder
e2e3cc8463
Better error on inside on unpacked, queues, etc ( #2566 )
2020-12-12 21:20:42 -05:00
Wilson Snyder
6061744c4d
Tests: Add t_dynarray_unpacked ( #2314 )
2020-12-12 20:56:35 -05:00
Wilson Snyder
18f8c8a14f
Fix error when dotted refers to missing module ( #2095 ).
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 ( #2694 )
2020-12-13 07:28:37 +09:00
Wilson Snyder
d7af6436a2
Fix genblk naming to match IEEE ( #2686 ).
2020-12-12 12:57:11 -05:00
Yutetsu TAKATSUKASA
c80ca8d03e
Test: Use non-blocking assignment as DRIVE macro does in t_prot_lib ( #2693 )
2020-12-12 23:07:12 +09:00
Marlon James
30546afdab
Fix VPI range iterator null return ( #2691 )
...
* 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 ( #2684 )
2020-12-10 18:36:06 -05:00
Wilson Snyder
2df1b72ce2
CI: Add separate contributors action ( #2689 )
2020-12-10 18:12:26 -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
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
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 ( #2627 ).
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 ( #2669 )
2020-12-05 21:55:56 -05:00
Yutetsu TAKATSUKASA
375ea169b9
Internals: Apply verilog-mode. No functional change is intended. ( #2671 )
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' ( #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
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
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
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
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
Marlon James
899e7bacb2
Fix VPI callback list iteration ( #2644 )
...
The end iterator always points to an element past the end of the list.
When new elements are added to the back of the list, they are inserted
before the end iterator.
Instead, track the last element in the list at the start of processing
and stop after it's been processed.
2020-11-17 17:19:51 -05:00
Tomasz Gorochowik
5b3717b369
Tests: Memory clean up in tests ( #2645 )
...
This patch normalizes what the tests do before exiting. After this
change each test should call final on the top module and explicitly
free the top module object before exiting.
2020-11-17 06:37:55 -05:00
Marlon James
0e1e380a55
Fix test for callCbs() so it can fail ( #2613 )
2020-11-16 21:00:09 -05:00
Wilson Snyder
70b3a599ce
Fix trace signal names getting hashed ( #2643 ).
2020-11-16 18:11:27 -05:00
Wilson Snyder
c64cc989f0
verilator_gantt: Show CPU physical info.
2020-11-14 12:22:15 -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
Wilson Snyder
7eac788306
Add error on using :: with module
2020-11-12 19:45:26 -05:00
Wilson Snyder
b49be06a5a
Tests: Standard wording.
2020-11-12 18:50:05 -05:00
Wilson Snyder
5634a18f78
Tests: Smaller t_vpi_var test
2020-11-11 20:57:24 -05:00
Wilson Snyder
b84c9bb4c0
Internals: Show scope debug information.
2020-11-11 19:00:10 -05:00
Wilson Snyder
6dfce882a1
Support $exit as alias of $finish
2020-11-10 22:49:48 -05:00
Wilson Snyder
6965e138aa
Add clearer unsupported message for inside on array ( #2566 )
2020-11-08 23:26:58 -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
9655e287ab
Tests: Travis regression fix
2020-11-08 17:06:03 -05:00
Wilson Snyder
917ca2bad7
Tests: Add t_const_opt_red ( #2632 ) ( #2633 )
2020-11-08 16:39:28 -05:00
Wilson Snyder
c3f5dd7414
Tests: Try to stabilize cron test.
2020-11-08 11:17:42 -05:00
Wilson Snyder
04c7fd1696
Tests: Add wire-or mux test for future optimization.
2020-11-07 21:57:31 -05:00
Wilson Snyder
152689776d
Report error on typedef referencing self ( #2539 ).
2020-11-07 15:41:37 -05:00
Wilson Snyder
778f133118
Fix dynamic new with init argument ( #2325 ).
2020-11-07 14:28:05 -05:00
Wilson Snyder
2a24bb4759
Fix queue poping wrong value when otherwise unused ( #2512 ).
2020-11-07 10:37:55 -05:00
Krzysztof Bieganski
7c4259bc0a
Support static methods and typedefs in classes ( #2615 )
2020-11-06 19:51:21 -05:00
Wilson Snyder
2aedc91151
Support queue and associative array 'with' statements. ( #2616 )
2020-11-01 10:56:07 -05:00
Wilson Snyder
c1e8337fc1
Support pattern assignment to dynamic arrays.
2020-11-01 10:18:32 -05:00
Wilson Snyder
1858cc8ff1
Fix test stability due to #2618 .
2020-11-01 09:26:55 -05:00
Wilson Snyder
5e6aca59ab
Fix test stability due to #2618 .
2020-11-01 09:14:45 -05:00
Wilson Snyder
726e78fdda
Add 'with' syntax checks.
2020-10-31 10:33:36 -04:00
Wilson Snyder
085e8454b8
Support 'with' into elaboration (only).
2020-10-31 10:00:55 -04:00
Wilson Snyder
0c328b6eaf
clang-format of test_regress. No functional change.
2020-10-28 18:42:36 -04:00
Wilson Snyder
f670eccf8c
Tests: $countbits
2020-10-28 07:39:13 -04:00
Wilson Snyder
d44426b3f3
clang-format. No functional change.
2020-10-27 20:33:45 -04:00
Yutetsu TAKATSUKASA
05ff96bea3
Fix SEGV when $fgets, $sscanf, or $fscanf is used with string ( #2604 )
...
* Add a test to use string for $fgets
* Use dedicated function for $fgets to std::string
* share the implementation of $fgets
* Pass -1 for bitwidth of std::string to distinguish from POD
* add checks for scanf with string
* apply clang-format
2020-10-28 08:37:12 +09:00
Marlon James
34b8ed4cf0
Return bool from callValueCbs() ( #2589 ) ( #2605 )
...
* Return bool from callValueCbs()
Returns true if any registered callback was called, else false.
* Add test for callCbs() and callValueCbs()
2020-10-26 21:55:27 -04:00
Wilson Snyder
95d1272269
Support associative array pattern assignments and defaults.
2020-10-25 21:05:22 -04:00
Wilson Snyder
046c0a7aa1
Fix queue assignment with different limits, negative indicies
2020-10-24 22:08:11 -04:00
Wilson Snyder
835905bdae
Convert cast tasks to assertions
2020-10-24 20:30:52 -04:00
Wilson Snyder
51d1235cda
Shorter stringify of empty queues, and better queue tests
2020-10-24 18:00:40 -04:00
Wilson Snyder
2f21b3385a
Tests: Casting.
2020-10-24 17:46:09 -04:00
Wilson Snyder
4cec3ff2a0
Fix WIDTH warnings on comparisons with nullptr ( #2602 ).
2020-10-22 17:27:23 -04:00
Wilson Snyder
25593c0ee2
Fix capitalization
2020-10-22 17:13:42 -04:00
Wilson Snyder
5d3dd52f13
Support queue slicing ( #2326 ).
2020-10-18 13:23:39 -04:00
Wilson Snyder
3d2503f9aa
Tests: Run execute on non-Verilator when unsupported test.
2020-10-17 21:31:58 -04:00
Wilson Snyder
4576644591
Prep for future queue slicing.
2020-10-17 21:09:10 -04:00
Wilson Snyder
964dcd5b7c
Tests: Add additional array method tests and error
2020-10-17 19:23:27 -04:00
Wilson Snyder
829db3eefa
Fix tick style on %p formats.
2020-10-16 19:26:04 -04:00
Wilson Snyder
4849c0530b
Fix class extends with typedef.
2020-10-16 18:25:32 -04:00
Wilson Snyder
48597bebaf
Tests: Better static tests
2020-10-15 20:44:51 -04:00
Wilson Snyder
3b9c8b64f7
Tests: Add unsupported queue method/slice testing.
2020-10-14 21:57:53 -04:00
Wilson Snyder
7e5f562500
Tests: Use internal sed as external croaks on binary.
2020-10-14 09:30:15 -04:00
Wilson Snyder
d4d3ae4dfc
Fix compile error.
2020-10-14 07:31:22 -04:00
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
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
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
a41cdf4cfb
Tests: Add driver_verilator_flags (for verilator_ext_tests)
2020-05-30 08:19:44 -04: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
Wilson Snyder
279f21bb5b
Configure now enables SystemC if it is installed as a system headers.
2020-05-28 18:51:46 -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
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
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
c18b0eb122
Internal coverage: Limit parallelism to core count.
2020-05-23 09:50:04 -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
Todd Strader
accf5a9a17
Check if Parallel::Forker is new enough ( #2343 )
2020-05-19 14:31:13 -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
9c0c6439cc
Clean additional objects.
2020-05-16 13:28:03 -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
2d11c2cbb3
Tests: Fix driver called with no tests
2020-05-15 22:33:35 -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
Wilson Snyder
7d7e67b49b
Show Verilog reference on V3Number asserts.
2020-05-04 19:57:21 -04:00
Wilson Snyder
a41ea180fa
Fix +: and -: on unpacked arrays. ( #2304 )
2020-05-04 19:40:50 -04:00
Wilson Snyder
98889b3f4e
Tests: Fix permission
2020-05-04 19:35:48 -04:00
Tim Snyder
83fbfa8c71
Fix /usr/bin/env perl in lieu of /usr/bin/perl ( #2307 )
...
Enables scripts to work where perl is not installed at /usr/bin/perl
2020-05-04 19:27:30 -04:00
Tim Snyder
a57262d6e7
Fix use /usr/bin/env perl in lieu of /usr/bin/perl ( #2306 )
...
Enables scripts to work where perl is not installed at /usr/bin/perl
2020-05-04 18:42:15 -04:00
Geza Lore
fe708f045a
Fix Travis oddity
2020-05-04 00:21:07 +01:00
Geza Lore
8afcd67a1f
Fix FST tracing of little endian vectors
2020-05-03 22:39:45 +01:00
Wilson Snyder
8f64e4a76f
Support $root, #2150 .
2020-05-02 08:29:20 -04:00
John Demme
6e9008fb5a
Fix VerilatedVarProps::totalSize missing the first unpacked dim ( #2296 )
2020-05-01 07:42:29 -04:00
Wilson Snyder
a6deee2083
Fix clock enables with bit-extends, #2299 .
2020-04-30 19:22:58 -04:00
Wilson Snyder
9fd4541069
Fix reduction OR on wide data, broke in v4.026, #2300 .
2020-04-30 17:53:54 -04:00
Geza Lore
849487da23
Modify --build to be a standalone option ( #2294 )
...
- Issue an error when --build is used together with --make
- When given --build, always use GNU Make to perform the build
- Update documentation (examples were good as they were)
- Remove the broken t_flag_build_cmake test
Fixes #2280
2020-04-30 12:54:50 +01:00
Geza Lore
aa9cde22c8
Use SIMD intrinsics to render VCD traces ( #2289 )
...
Use SIMD intrinsics to render VCD traces.
I have measured 10-40% single threaded performance increase with VCD
tracing on SweRV EH1 and lowRISC Ibex using SSE2 intrinsics to render
the trace. Also helps a tiny bit with FST, but now almost all of the FST
overhead is in the FST library.
I have reworked the tracing routines to use more precisely sized
arguments. The nice thing about this is that the performance without the
intrinsics is pretty much the same as it was before, as we do at most 2x
as much work as necessary, but in exchange there are no data dependent
branches at all.
2020-04-30 00:09:09 +01:00
Wilson Snyder
b44efe7ef7
Use 'suggest' for consistent wording.
2020-04-28 21:19:19 -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
Wilson Snyder
3b37b5b92d
Tests: Check output from some unsupported tests.
2020-04-24 08:22:19 -04:00
Geza Lore
10b4678ee6
Make vgen.pl deterministic
2020-04-24 04:53:33 +01:00
Geza Lore
27f4399c31
Fix tests failing on rerun after passing from clean. ( #2281 )
2020-04-23 21:27:06 -04:00
Wilson Snyder
f93ae707e0
Tests: Add bad option test.
2020-04-23 19:56:26 -04:00
Geza Lore
8208fe8a0e
Fix test failures on Ubuntu 20.04 ( #2278 )
...
- Packaged SystemC lives in /usr so needed to update regex in test
driver
- Clang 10 complains about mixed named and positional initializers in
struct definitions.
2020-04-23 17:29:37 -04:00
Wilson Snyder
ace35b3e81
Tests: Add -G test.
2020-04-23 08:05:14 -04:00
Wilson Snyder
2b58e834ee
Tests: Rename IVERILOG define for consistency. No functional change.
2020-04-23 08:05:14 -04:00
Wilson Snyder
7176aee852
Internals: Parse fork and delays, but then still report unsupported.
2020-04-22 21:31:40 -04:00
Wilson Snyder
77915f78db
Add experimental-only option.
2020-04-21 20:45:23 -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
Wilson Snyder
174fd1bf0e
Codacy cleanups. No functional change.
2020-04-20 22:01:47 -04:00
Wilson Snyder
b12413e42f
Tests: Reenable some tests incorrectly marked unsupported.
2020-04-20 21:55:23 -04:00
Wilson Snyder
15f7685755
Codacity cleanups. No functional change intended.
2020-04-20 21:43:05 -04:00
Wilson Snyder
fceedd9f4d
Tests: Update static test.
2020-04-19 21:18:57 -04:00
Wilson Snyder
4272f2116e
Tests: Update static test.
2020-04-19 20:10:07 -04:00
Geza Lore
6a54922044
Set FST timescale correctly. ( #2266 )
...
The FST trace timescale used to be set in the constructor via
set_time_unit, but at that point we haven't normally opened the
file yet so it was just dropped. On top of that, we actually want
to use set_time_resolution... FST trace timescales now match the VCD.
2020-04-19 08:47:22 -04:00
Wilson Snyder
466535abdc
Support direct class member init.
2020-04-18 20:20:17 -04:00
Geza Lore
efacac2e3d
Tests: Ignore SystemC file paths in expected test results ( #2265 )
2020-04-18 18:56:19 -04:00
Geza Lore
74e16d85c5
Fix FST trace initial time stamp. ( #2264 )
...
If the first dump was not at time zero, then the FST trace used
to contain the initial values as if they were set at time zero. Now
they only appear at the time the first dump call is actually made,
and hence match the VCD trace exactly.
2020-04-18 18:54:02 -04:00
Wilson Snyder
39d7cbf412
Fix arrayed instances connecting to slices, #2263 .
2020-04-17 19:30:53 -04:00
Wilson Snyder
8f7e463656
Tests: Fix makeflag test, was failing older makes.
2020-04-16 17:31:41 -04:00
Wilson Snyder
d4f7f5297a
Support IEEE time units and time precisions, #234 . ( #2253 )
...
Includes `timescale, $printtimescale, $timeformat.
VL_TIME_MULTIPLIER, VL_TIME_PRECISION, VL_TIME_UNIT have been removed
and the time precision must now match the SystemC time precision.
To get closer behavior to older versions, use e.g. --timescale-override
"1ps/1ps".
2020-04-15 19:39:03 -04:00
Wilson Snyder
58091edd68
Tests: Fix cmake -j unknown
2020-04-15 18:08:31 -04:00
Yutetsu TAKATSUKASA
18412f9322
Add --build option to call make/cmake as subprocess ( #2249 )
...
* Add --build, -j, -MAKEFLAGS, and --no-verilate options
* Verilator: Can build on both gmake and cmake
2020-04-15 17:44:21 -04:00
Geza Lore
1a64c7d232
Fix run-time formatting of variable wider than 1023 bits ( #2261 )
2020-04-15 17:26:15 -04:00
Geza Lore
08b74e5ab9
Fix crash when formatting constant wider than 1023 bits ( #2260 )
2020-04-14 18:07:09 -04:00
Geza Lore
dc5c259069
Improve tracing performance. ( #2257 )
...
* Improve tracing performance.
Various tactics used to improve performance of both VCD and FST tracing:
- Both: Change tracing functions to templates to take variable widths as
template parameters. For VCD, subsequently specialize these to the
values used by Verilator. This avoids redundant instructions and hard
to predict branches.
- Both: Check for value changes via direct pointer access into the
previous signal value buffer. This eliminates a lot of simple pointer
arithmetic instructions form the tracing code.
- Both: Verilator provides clean input, no need to mask out used bits.
- VCD: pre-compute identifier codes and use memory copy instead of
re-computing them every time a code is emitted. This saves a lot of
instructions and hard to predict branches. The added D-cache misses
are cheaper than the removed branches/instructions.
- VCD: re-write the routines emitting the changes to be more efficient.
- FST: Use previous signal value buffer the same way as the VCD tracing
code, and only call the FST API when a change is detected.
Performance as measured on SweRV EH1, with the pre-canned CoreMark
benchmark running from DCCM/ICCM, clang 6.0.0, Intel i7-3770 @ 3.40GHz,
and IO to ramdisk:
+--------------+---------------+----------------------+
| VCD | FST | FST separate thread |
| (--trace) | (--trace-fst) | (--trace-fst-thread) |
------------+-----------------------------------------------------+
Before | 30.2 s | 121.1 s | 69.8 s |
============+==============+===============+======================+
After | 24.7 s | 45.7 s | 32.4 s |
------------+--------------+---------------+----------------------+
Speedup | 22 % | 256 % | 215 % |
------------+--------------+---------------+----------------------+
Rel. to VCD | 1 x | 1.85 x | 1.31 x |
------------+--------------+---------------+----------------------+
In addition, FST trace size for the above reduced by 48%.
2020-04-14 00:13:10 +01:00
Wilson Snyder
dba88bae3c
Support class new.
2020-04-12 18:57:12 -04:00
Wilson Snyder
ea3acc2d3a
Fix --skip-identical broke recent commit.
2020-04-11 20:22:57 -04:00
Wilson Snyder
8e6674066f
Tests: Clean before rerunning failing test.
2020-04-11 11:40:15 -04:00
Wilson Snyder
15b40a97d9
Support `unconnected_drive
2020-04-09 23:26:03 -04:00
Wilson Snyder
608d5a87d1
tests: Avoid assuming a timescale.
2020-04-07 20:55:47 -04:00
Geza Lore
0cfa828572
Fix DPI import/export to be standard compliant, #2236 .
2020-04-07 19:07:47 -04:00
Wilson Snyder
b6c21ad21a
Fix duplicate traces with $dumpfile, part of #2237 .
2020-04-06 08:33:51 -04:00
Wilson Snyder
26301a4133
Commentary
2020-04-06 08:19:32 -04:00
Wilson Snyder
383f9832d4
Tests: Standardize verilog indentation.
2020-04-05 21:53:24 -04:00
Wilson Snyder
a331397954
Fix real conversion from constant with X/Z.
2020-04-05 11:56:15 -04:00
Wilson Snyder
a494ad5ec7
Support $ferror, #1638 .
2020-04-05 11:22:05 -04:00
Wilson Snyder
e55338f927
Support $fflush without arguments, #1638 .
2020-04-05 10:11:28 -04:00
Wilson Snyder
6eadb8e771
Add simplistic class support with many restrictions, see manual, #377 .
2020-04-05 09:30:23 -04:00
Wilson Snyder
bf17bb4648
Fix codacity warnings
2020-04-04 20:08:58 -04:00
Wilson Snyder
c288a7bfb9
Add GCC10-style line number prefix when showing source text for errors.
2020-04-03 20:07:46 -04:00
Marco Widmer
7f9aa057bf
Support split_var in vit files ( #2219 )
2020-04-03 08:08:23 -04:00
Wilson Snyder
dcde026bac
With --Wpedantic, report forward typedefs that are unused.
2020-04-02 07:39:14 -04:00
Wilson Snyder
926209706f
Report REALCVT on $display format mistakes.
2020-04-01 20:42:47 -04:00
Wilson Snyder
19abce5535
Suppress REALCVT for whole real numbers.
2020-04-01 18:43:53 -04:00
Wilson Snyder
e6beab4037
Fix implicit conversion of floats to wide integers.
2020-03-31 20:42:07 -04:00
Wilson Snyder
ebeb645539
Commentary
2020-03-30 20:09:55 -04:00
Wilson Snyder
5c72f01598
Fix assertions with unique case inside, #2199 .
2020-03-30 18:13:51 -04:00
Matthew Ballance
510be53521
Expose VPI cbNextDeadline via the public API ( #2212 )
...
Signed-off-by: Matthew Ballance <matt.ballance@gmail.com>
2020-03-28 13:47:21 -04:00
Wilson Snyder
4145a38c47
Fix duplicate typedefs in generate for, #2205 .
2020-03-26 18:10:20 -04:00
Wilson Snyder
590b1853d0
Fix packages as enum base types, #2202 .
2020-03-24 17:57:12 -04:00
Wilson Snyder
1e0e51edd3
Fix parameter type redeclaring a type, #2195 .
2020-03-21 12:13:55 -04:00
Wilson Snyder
0ca07e4d58
Tests: Remove t_emit_memb_limit/vltmt as slow
2020-03-21 12:08:38 -04:00
Wilson Snyder
1ce360ed5b
Add SPDX license identifiers. No functional change.
2020-03-21 11:24:24 -04:00
Wilson Snyder
5f63b24c50
Change --quiet-exit to also suppress 'Exiting due to N errors'.
2020-03-15 08:09:51 -04:00
Wilson Snyder
81c659957e
Add column numbers to errors and warnings.
2020-03-14 22:02:42 -04:00
Wilson Snyder
ee8dd32c04
Check and document error format, #2191 .
2020-03-14 21:48:26 -04:00
Wilson Snyder
0a755e6ecf
Tests: Favor use of expect_filename. No functional change.
2020-03-14 17:42:15 -04:00
Wilson Snyder
e6c91f59ab
Tests: Allow --numsets 2/2
2020-03-09 17:57:27 -04:00
Wilson Snyder
135ccf6595
Tests: Fix ormux on travis.
2020-03-08 09:48:13 -04:00
Wilson Snyder
9a2a3f8db7
Tests: Add t_gate_ormux, #2186 , #2187 .
2020-03-08 09:18:12 -04:00
Wilson Snyder
8ccc17f30b
Add setting VM_PARALLEL_BUILDS=1 when using --output-split, #2185 .
2020-03-08 09:03:29 -04:00
Wilson Snyder
328fef8190
Tests: Add driver --hashset for Travis.
2020-03-07 21:38:44 -05:00
Wilson Snyder
6c6d70a5e5
Fix FST when multi-model tracing.
2020-03-07 18:39:58 -05:00
Wilson Snyder
6f49f802b1
Tests: Add fst_identical.
2020-03-07 16:59:46 -05:00
Wilson Snyder
e70cba77e6
Add support for dynamic arrays, #379 .
2020-03-07 10:24:27 -05:00
Wilson Snyder
135cbcd79a
Internals: Move 'new' unsupported forward from parse into Ast.
2020-03-05 22:33:31 -05:00
Wilson Snyder
75ecad591a
Implement $displayb/o/h, $writeb/o/h, etc, Closes #1637 .
2020-03-05 21:49:25 -05:00
Wilson Snyder
dab1cb610a
Tests: Allow iv to run SystemVerilog tests
2020-03-05 18:12:10 -05:00
Wilson Snyder
30a33a6104
Add support for and , #2126 .
2020-03-01 21:39:23 -05:00
Wilson Snyder
0ca0e07354
Internals: Vcd doesn't need code when registering. No functional change intended.
2020-02-29 20:42:52 -05:00
Wilson Snyder
aac02acf92
Tests: Rename
2020-02-29 10:06:52 -05:00
Wilson Snyder
082c9e0b1d
Tests: Add two-design trace tests.
2020-02-29 09:44:51 -05:00
Wilson Snyder
a7bd934fe3
Tests: Cleanup false used as 0. No functional change.
2020-02-29 08:56:49 -05:00
David Stanford
e98a380b44
Tests: Update some tests to skip if prerequisites aren't installed ( #2181 )
2020-02-29 07:20:23 -05:00
Wilson Snyder
4878fe3a1f
Add split_var metacomment to assist UNOPTFLAT fixes, #2066 .
2020-02-28 19:15:08 -05:00
Wilson Snyder
991d81cd0a
Recommend -Os.
2020-02-27 07:46:34 -05:00
Wilson Snyder
68b6a0b667
Fix genblk naming with directly nested generate blocks, #2176 .
2020-02-25 22:21:16 -05:00
Wilson Snyder
93ac79981b
Tests: Rename t_var_dotted. No functional change.
2020-02-24 18:51:44 -05:00
Todd Strader
60f82961b4
De-tabify
2020-02-24 06:36:13 -05:00
Todd Strader
f7d1c6ca72
emacs verilog-batch-indent
2020-02-24 06:36:13 -05:00
Todd Strader
4b4f10f5e6
Follow other clock gating examples
2020-02-24 06:36:13 -05:00
Todd Strader
120f62fe85
Fix is probably to mark as a clock
2020-02-24 06:36:13 -05:00
Todd Strader
db6ecbd57e
Test for #2169
2020-02-24 06:36:13 -05:00
Wilson Snyder
28e19cef90
Fix undeclared VL_SHIFTR_WWQ, #2114 .
2020-02-23 19:33:37 -05:00
Tobias Wölfel
18f8cd0529
Allow assert disable ( #2168 )
...
* Add +verilator+noassert flag
This allows to disable the assert check per simulation argument.
* Add AssertOn check for assert
Insert the check AssertOn to allow disabling of asserts.
Asserts can be disabled by not using the `--assert` flag or by calling
`AssertOn(false)`, or passing the "+verilator+noassert" runtime flag.
Add tests for this behavior.
Bad tests check that the assert still causes a stop.
Non bad tests check that asserts are properly disabled and cause no stop
of the simulation.
Fixes #2162 .
Signed-off-by: Tobias Wölfel <tobias.woelfel@mailbox.org>
* Correct file location
Signed-off-by: Tobias Wölfel <tobias.woelfel@mailbox.org>
* Add description for single test execution
Without this description it is not obvious how to run a single test from
the regression test suite.
Signed-off-by: Tobias Wölfel <tobias.woelfel@mailbox.org>
2020-02-15 18:17:23 -06:00
Wilson Snyder
0d6ebf21b3
Suggest svSetScope, #2152 .
2020-02-07 17:59:02 -05:00
Todd Strader
77f1b3eef4
Support parameter access from arrays of interfaces, #2155 .
2020-02-06 19:19:23 -05:00
Wilson Snyder
20cc4e57d5
tests: Driver style fix.
2020-02-03 18:43:56 -05:00
Wilson Snyder
2576c136f6
Fix `pragma pedantic check to work with -E.
2020-02-01 22:03:18 -05:00
Yutetsu TAKATSUKASA
50fb7fc8b4
Tests: Resolve self assignment in t_unoptflat_simple_2, Closes #2149 .
2020-02-01 19:07:02 -05:00
Wilson Snyder
2d195ebae5
Cleanup IEEE references.
2020-01-30 20:23:57 -05:00
Wilson Snyder
d218f1746c
Add warning on genvar in normal for loop, #2143 .
2020-01-29 21:16:44 -05:00
Yutetsu TAKATSUKASA
8d8eb1b9f3
Tests: Resolve racing among initial blocks in t_display_signed.v, #2144 .
2020-01-29 17:07:45 -05:00
Wilson Snyder
d4614c290e
Fix WIDTH warning on </<= of narrower value, #2141 .
2020-01-28 20:10:10 -05:00
Tobias Rosenkranz
027cce35c0
Support enum.next(k) with constant k > 1, #2125 .
2020-01-27 17:25:25 -05:00
Wilson Snyder
9fd81b2c6b
Support string character access via indexing.
2020-01-26 16:38:22 -05:00
Wilson Snyder
5430e4ac9b
Cleanup more errors showing data types.
2020-01-26 15:54:57 -05:00
Wilson Snyder
619214b48f
Support $sampled.
2020-01-26 13:38:15 -05:00
Wilson Snyder
68fa82fb14
Support $typename, and use to cleanup error messages.
2020-01-26 13:21:25 -05:00
Wilson Snyder
cac50282eb
Fix pattern replication without key.
2020-01-26 11:38:34 -05:00
Wilson Snyder
b50ef9ff39
Tests: Disabled test for 5.9.
2020-01-26 11:23:52 -05:00
Wilson Snyder
8a8f1135b7
Support type(expression) operator, #1650 .
2020-01-26 10:28:13 -05:00
Wilson Snyder
708fd36563
Tests: Show entering/exit so goto-error works on compile errors.
2020-01-24 22:40:19 -05:00
Wilson Snyder
a4e8d39932
Spelling fixes
2020-01-24 20:10:44 -05:00
Wilson Snyder
8f0e8e0696
Fix FST tracing of enums inside structs.
2020-01-24 19:46:46 -05:00
Pieter Kapsenberg
957c1d606b
Add detailed XML location to cell elements, #2134 , #2122 .
...
This was accidentally omitted from the previous PR #2122 .
2020-01-22 07:18:50 -05:00
Stefan Wallentowitz
22088c907f
Set maximum number width ( #2128 )
...
Adjust the maximum number width to 64K. Add --max-num-width option to
adjust this setting.
Closes #2082
2020-01-21 12:17:31 +01:00
Pieter Kapsenberg
4a122fd0f2
Add detailed location to XML output ( #2122 )
...
* Add detailed location to XML output
* Fixing build failures
* less cryptic regulary expressions
* correcting typo in test
* Adding file letter to the location attribute, and cleaning up the regular expression in the tests.
* Add remaining test expected output files for XML changes
* spacing fix, adding documentation on changes
2020-01-20 14:08:13 -05:00
Wilson Snyder
7024ea8cb6
Cleaner tristate error. #2117 .
2020-01-18 07:56:50 -05:00
Wilson Snyder
623c4ec103
Internals: Create VL_DO_DANGLING. No functional change intended.
2020-01-16 20:17:11 -05:00
Pieter Kapsenberg
4443ab34fd
Support left justified . Closes #2101 .
2020-01-15 07:32:45 -05:00
Wilson Snyder
81e8127168
Add parameter values in XML. #2110 .
2020-01-14 18:51:20 -05:00
Wilson Snyder
47803c3591
Tests: Better message for contributors.
2020-01-14 17:49:04 -05:00
Wilson Snyder
af38e8d387
Improve error on > 127 char modnames. #2106 .
2020-01-14 07:33:12 -05:00
Wilson Snyder
918df2e618
Support / with assoc arrarys. Closes #2100 .
2020-01-14 07:01:17 -05:00
Wilson Snyder
7bed17b14b
Fix clang warning
2020-01-13 19:01:30 -05:00
Stefan Wallentowitz
fad465abf1
Add lint_off -match waivers ( #2102 )
...
* Add more directives to configuration files
Allow to set the same directives in configuration files that can also
be set by comment attributes (such as /* verilator public */ etc).
* Add support for lint messsage waivers
Add configuration file switch '-match' for lint_off. It takes a string
with wildcards allowed and warnings will be matched against it (if
rule and file also match). If it matches, the warning is waived.
Fixes #1649 and #1514
Closes #2072
2020-01-12 10:03:17 +01:00
Wilson Snyder
fe94f9891b
Add error on misused define.
2020-01-11 09:16:26 -05:00
Wilson Snyder
2638f9db19
Error cleanups.
2020-01-10 19:18:27 -05:00
Wilson Snyder
16bb97687a
Tests: Check for missing newlines at EOF.
2020-01-10 18:49:23 -05:00
Wilson Snyder
a2911ed933
Fix shebang breaking some shells. Closes #2067 .
2020-01-09 20:01:12 -05:00
Wilson Snyder
2a50fafef2
Fix %{number}s with strings. #2093 .
2020-01-09 19:39:27 -05:00
Wilson Snyder
06247686c5
Codacy cleanups
2020-01-08 19:33:47 -05:00
Wilson Snyder
9978cbfa5c
Fix tracing -1 index arrays. Closes #2090 .
2020-01-08 07:32:31 -05:00
Wilson Snyder
f23fe8fd84
Update copyright year.
2020-01-06 18:05:53 -05:00
Stefan Wallentowitz
37dc33a195
Deprecation ( #2088 )
...
* Add deprecation warning
* Deprecate -msg in configuration files
* Deprecate sc_clock
2020-01-03 17:27:51 +01:00
Stefan Wallentowitz
924fe235a9
No assign alias for unpacked public variables ( #2089 )
...
Public variables are all emitted in the C code and unpacked arrays
arrays are sliced up for this. After inlining public unpacked array
assignments should not be alias assignments but actual assignments, so
that they are sliced and hence emitted properly.
Fixes #2073
2020-01-03 13:44:45 +01:00
Stefan Wallentowitz
b7665a88db
Rename msg to rule in configuration files ( #2080 )
...
Rename the -msg switch to -rule in configuration files as it is more
clear.
resolves #2068
2019-12-30 19:15:43 +01:00
Wilson Snyder
a0d391d695
Tests: Less aggressive contributors check.
2019-12-23 19:01:29 -05:00
Wilson Snyder
f23a7bfdd7
Tests: Check for carriage returns
2019-12-23 17:34:43 -05:00
Peter Monsson
9b998cf6b3
Support implication operator "|->" in assertions, #2069 .
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-12-23 16:49:18 -05:00
Wilson Snyder
4afde8b478
Test class parsing (intended as part of last commit).
2019-12-23 15:18:55 -05:00
Wilson Snyder
2cbfe99ad5
Parse all class constructs, as still unsupported.
2019-12-23 15:03:04 -05:00
Peter Monsson
ea979c8f83
Fix disable iff in assertions. Closes #1404 .
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-12-22 15:49:10 -05:00
Stefan Wallentowitz
9a54b2144b
Fix queue issues, bug1643.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-12-18 18:17:18 -05:00
Stefan Wallentowitz
d738501c01
Fix queues as statements, bug1641.
2019-12-17 06:08:41 -05:00
Wilson Snyder
f514049c04
Add cleaner error on version control conflicts in sources.
2019-12-16 21:54:20 -05:00
Wilson Snyder
83a1bd0675
Support immediate cover statements & refactor coverage internals.
2019-12-16 21:44:20 -05:00
Yutetsu TAKATSUKASA
8cdc0c4e00
Support string putc, getc, substr, bug1606.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-12-15 08:09:52 -05:00
Wilson Snyder
460e0541f3
Add error when `resetall inside module
2019-12-14 22:04:58 -05:00
Wilson Snyder
2408de16a0
Support bounded queues.
2019-12-14 21:39:47 -05:00
Wilson Snyder
2a1c57ada6
With -Wpedentic, warn about bad `pragma
2019-12-14 10:13:38 -05:00
Stefan Wallentowitz
3ac6745658
Add vpiTimeUnit and allow to specify time as string, bug1636.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-12-13 19:11:37 -05:00
Wilson Snyder
39950d16d0
Ignore `uselib to end-of-line, bug1634.
2019-12-12 20:57:48 -05:00
Wilson Snyder
6046b06b17
Tests: Fix no-email contributors.
2019-12-11 18:56:10 -05:00
Julien Margetts
f7a06cb54a
Fix little endian cell ranges, bug1631.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-12-11 17:15:45 -05:00
Wilson Snyder
1c643916a3
Tests: Add copy_if_golden to harness.
2019-12-10 18:53:35 -05:00
Yutetsu TAKATSUKASA
c2037ddbc5
Support string compare, icompare, ato* methods, bug1606.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-12-09 19:17:52 -05:00
Wilson Snyder
ca1b083d5c
Fix clang warning.
2019-12-09 18:53:56 -05:00
Wilson Snyder
bd0eadb311
Fix handling user-botch of %d to print real.
2019-12-08 22:48:44 -05:00
Wilson Snyder
62b0d15d2e
Add lint check for bad enum 4-state values.
2019-12-08 22:26:54 -05:00
Wilson Snyder
700f2072c0
Framework for WDatas being vectors of 64-bit EDatas, but not supporting this at this time.
2019-12-08 21:36:38 -05:00
Wilson Snyder
cda5c53cf9
Add BOUNDED warning and promote bounded queues to unbounded.
2019-12-08 15:56:49 -05:00
Wilson Snyder
81fc1d48a6
Fix gate lvalue optimization error, bug831.
2019-12-07 16:49:11 -05:00
Wilson Snyder
10a6b566ef
Fix error on unpacked concatenations, bug1627.
2019-12-07 15:53:34 -05:00
Driss Hafdi
cff5485821
Tests: Unsupported test for bug1627.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-12-07 13:46:50 -05:00
Driss Hafdi
dcbdac1b81
Tests: Unsupported test for bug1626.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-12-07 13:46:29 -05:00
Driss Hafdi
a59777aa75
Tests: Unsupported test for bug1624.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-12-07 13:15:46 -05:00
Driss Hafdi
d82b9128d0
Tests: Unsupported test for bug1623.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-12-07 12:59:00 -05:00
Driss Hafdi
ab4f18c892
Tests: Unsupported test for bug1622.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-12-07 12:59:00 -05:00
Todd Strader
4480938b25
Fix interface reference tracing, bug1595.
2019-12-07 12:28:19 -05:00
Driss Hafdi
11a1b201a9
Tests: Unsupported on parameters in functions, bug1624.
2019-12-06 18:51:39 -05:00
Wilson Snyder
5c6d74cd80
Fix assertion on dotted parameter arrayed function, bug1620.
2019-12-04 19:25:45 -05:00
Wilson Snyder
fe684e8733
Allow redefining VL_PRINTF, bug1598.
2019-12-03 19:12:18 -05:00
Garrett Smith
96f8bbd023
Support float and shorts, bug1592, bug1619.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-12-03 18:26:22 -05:00
Wilson Snyder
ac4f0da9ee
Tests: Add output wire check.
2019-12-02 20:38:43 -05:00
Wilson Snyder
559852f60b
Add error when number missing value.
2019-12-02 20:21:24 -05:00
Wilson Snyder
b0669f3aca
Fix false unused message on __Vemumtab, msg3180.
2019-12-02 19:03:33 -05:00
Todd Strader
00979ede14
Fix overly aggressive --protect-lib check
2019-12-02 08:33:44 -05:00
Wilson Snyder
2076b0219d
Fix labels on functions with returns, bug1614.
2019-12-01 17:19:03 -05:00
Wilson Snyder
e28175108f
Support queues (excluding {} notation and pattern assignments), bug545.
2019-12-01 12:35:49 -05:00
Wilson Snyder
b81295230a
Support associative arrays.
2019-12-01 11:52:48 -05:00
Wilson Snyder
3d6e8e9eb0
Add -Wno-context.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-11-23 10:40:32 -05:00
Wilson Snyder
df192f2b61
Support / with warning.
2019-11-23 09:16:06 -05:00
Wilson Snyder
17ad59394f
Support shortreal as real, with a SHORTREAL warning.
2019-11-23 08:34:40 -05:00
Wilson Snyder
682c2a610f
Fix $display("%p") to be closer to IEEE.
2019-11-21 19:29:46 -05:00
Wilson Snyder
59782266b9
Tests: Fix uninitalized data in t_vpi_time tests, bug1612.
2019-11-21 18:42:40 -05:00
Wilson Snyder
4885bcb93c
Tests: Report core dumps on tests.
2019-11-21 18:42:40 -05:00
Wilson Snyder
99455a16bf
Fix // in filenames, bug1610.
2019-11-20 21:23:03 -05:00
Wilson Snyder
a86e1953eb
Tests: Fix object order dependence, bug1611.
2019-11-20 06:57:39 -05:00
Matthew Ballance
f63dfd7028
Fix VPI timed callbacks to be one-shot, pull5.
...
Signed-off-by: Matthew Ballance <matt.ballance@gmail.com>
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-11-19 22:44:33 -05:00
Matthew Ballance
7a413a121d
Tests: Fix modelsim driver, pull 5.
...
Signed-off-by: Matthew Ballance <matt.ballance@gmail.com>
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-11-19 21:53:17 -05:00
Wilson Snyder
0f6b625db8
Fix hang on concat error, bug1608.
2019-11-19 19:23:40 -05:00
Wilson Snyder
2ff22d9050
Fix earlier +verilated+error+count to do all .
2019-11-17 08:12:39 -05:00
Wilson Snyder
0c0198cf55
Support string.toupper and string.tolower.
2019-11-17 05:05:09 -05:00
Wilson Snyder
d480c2f033
Add +verilator+error+limit to see more assertion errors.
2019-11-16 18:25:47 -05:00
Wilson Snyder
8ebe86e54b
Fix color assertion on empty if, bug1604.
2019-11-16 17:23:51 -05:00
Wilson Snyder
3eb0ff8aa0
Detect wrong number of args on method calls.
2019-11-16 15:18:57 -05:00
Wilson Snyder
c36d9a68f5
Support $ungetc.
2019-11-16 12:55:10 -05:00
Wilson Snyder
8c5aa21a11
Support $rewind.
2019-11-16 12:21:35 -05:00
Wilson Snyder
47b5e36e60
Add -Wpedantic for compliance testing.
2019-11-16 11:59:21 -05:00
Wilson Snyder
a481638edb
Add error on redefining preprocessor directives.
2019-11-16 10:19:43 -05:00
Wilson Snyder
de7caad710
Fix signed wildcard comparisons.
2019-11-16 09:58:01 -05:00
Wilson Snyder
b1c14e485a
Fix capital S signed numbers.
2019-11-16 09:39:41 -05:00
Wilson Snyder
e9c4ffa04e
Fix for loop missing initializer, bug1605.
2019-11-15 18:24:55 -05:00
Sebastien Van Cauwenberghe
a250decfaa
Tests: Fix t_trace_cat when non-English sort.
2019-11-13 06:43:15 -05:00
Wilson Snyder
2b26ca2c07
Optimize mask/and above conditionals.
2019-11-10 13:17:29 -05:00
Wilson Snyder
ce178ec987
Optimize modulus by power-of-two constants.
2019-11-10 12:12:57 -05:00
Wilson Snyder
f87107e757
Tests etc: Cleanup some clang-format suggestions. No functional change.
2019-11-09 20:35:12 -05:00
Wilson Snyder
28cbf39995
Support some unpacked arrays in parameters, bug1315.
2019-11-09 18:31:24 -05:00
Todd Strader
abe95f3ab3
Add interface port visibility in traces, bug1594.
2019-11-08 08:26:48 -05:00
Wilson Snyder
2eda38c4d1
Update URLs to https://verilator.org
2019-11-07 22:41:34 -05:00
Wilson Snyder
5811ec07e6
Update URLs to https://verilator.org
2019-11-07 22:33:59 -05:00
Wilson Snyder
8043a9c666
Tests: Test for bug1593.
2019-11-07 18:15:55 -05:00
Wilson Snyder
f1b10e2b4c
Improve error messages on DIDNOTSETTLE, bug1556.
2019-11-06 19:47:34 -05:00
Wilson Snyder
2aed499e00
Fix detecting missing reg types, bug1570.
2019-11-05 21:15:44 -05:00
Todd Strader
9ef200d5a3
Fix --protect-lib test concurrency issue, bug1580.
2019-11-05 08:49:43 -05:00
Wilson Snyder
8a3227697e
Fix bad-syntax crashes, bug1579.
2019-11-04 22:00:20 -05:00
Wilson Snyder
530ab17c8b
Fix bad-syntax crashes, bug1586, bug1587.
2019-11-04 21:51:20 -05:00
Wilson Snyder
ca8da1f54f
Fix bad-syntax crashes, bug1589.
2019-11-04 21:16:07 -05:00
Wilson Snyder
cc4cb4e006
Avoid internal on unsupported; make tests more stable otherwise on internal.
2019-11-04 21:11:15 -05:00
Wilson Snyder
67a0ad02d2
Fix bad-syntax crasses, bug1591.
2019-11-04 19:27:31 -05:00
Wilson Snyder
67d52372e5
Fix bad-syntax crashes, bug1582.
2019-11-04 18:48:47 -05:00
Wilson Snyder
9ff5ef4ad5
Fix false CMPCONST/UNSIGNED warnings on inside, bug1581.
2019-11-02 16:56:37 -04:00
Wilson Snyder
7febeab275
Tests: Use standard verilator.mk rules for tests.
2019-11-02 11:15:58 -04:00
Wilson Snyder
f781085755
Add --xml-output option.
2019-10-31 21:17:05 -04:00
Wilson Snyder
8f6efdaf5c
Allow both -MMD and --no-MMD, and --no/--skip-identical to override default
2019-10-31 20:59:52 -04:00
Wilson Snyder
4b5f0fd173
Tests: Cleanup mis-die's
2019-10-31 20:45:17 -04:00
Wilson Snyder
1224c69126
Tests: Fix bad-syntax crashes, bug1577.
2019-10-31 19:34:13 -04:00
Wilson Snyder
63373f6f4c
Fix missing error when parameter assigned to type, bug1576.
2019-10-30 18:18:29 -04:00
Wilson Snyder
40bdd85a07
Fix minor output spacing issues.
2019-10-29 23:19:59 -04:00
Wilson Snyder
8ce60e955f
Fix missing error when parameter assigned to type, bug1575.
2019-10-29 18:38:59 -04:00
Wilson Snyder
171960635e
Add recursive define detection, bug1574.
2019-10-28 22:35:31 -04:00
Wilson Snyder
647c321437
Suppress 'command failed' on normal errors.
2019-10-27 17:34:04 -04:00
Wilson Snyder
2bbb9dccb1
Less verbose ar messages
2019-10-27 11:30:25 -04:00
Wilson Snyder
3ebd6915f3
Commentary
2019-10-27 10:29:19 -04:00
Wilson Snyder
f852ba8a33
Add --trace-coverage.
2019-10-27 09:27:18 -04:00
Wilson Snyder
352adbed74
Codacy/Cppcheck cleanups.
2019-10-24 22:40:15 -04:00
Wilson Snyder
0cbfd29ac5
Codacy/Cppcheck cleanups and badge.
2019-10-24 22:19:46 -04:00
Wilson Snyder
9f977ed419
Codacy/Cppcheck cleanups and badge.
2019-10-24 21:48:45 -04:00
Yves Mathieu
baa6a2c31a
Support quoted arguments in -f files, bug1535.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-10-24 07:33:19 -04:00
Todd Strader
3b33438e91
Benchmark --protect-lib runtime, bug1519.
2019-10-23 10:03:37 -04:00
Wilson Snyder
c9d000467b
Tests: Allow test-by-test verbose.
2019-10-19 07:14:13 -04:00
Wilson Snyder
71fa09a25b
Fix bad-syntax crashes, bug1563.
2019-10-18 21:30:34 -04:00
Wilson Snyder
89c3c5f952
Internals: Style cleanup. No functional change.
2019-10-18 20:28:59 -04:00
Patrick Stewart
1e4f471049
Add cmake support, bug1363.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-10-17 19:44:10 -04:00
Wilson Snyder
1232746395
Tests: Keep pass/unsup/skip count on retests.
2019-10-17 19:33:47 -04:00
Wilson Snyder
1852ae1cc8
Tests: Tweak driver to still print status every 15 seconds.
2019-10-16 23:17:31 -04:00
Todd Strader
46ab907f6a
Refactor Verilator building in Travis, bug1547.
2019-10-16 05:32:59 -04:00
Todd Strader
8700564197
Build examples using only their Makefiles.
2019-10-16 05:30:51 -04:00
Todd Strader
af8cc9127f
driver.pl: Report possibly stalled tests.
2019-10-16 05:28:27 -04:00
Wilson Snyder
c73336f8f5
Fix misc bad-syntax crashes, bug1548, bug1550-1553.
2019-10-15 19:06:00 -04:00
Patrick Stewart
4361fb838f
Tests: Minor testbench fixes to prepare for CMake.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-10-10 19:48:06 -04:00
Wilson Snyder
a7c2037b7a
Add --generate-key.
2019-10-09 18:53:30 -04:00
Todd Strader
da0da9e258
Add --protect-lib to create protected libraries, bug1490.
2019-10-09 06:47:26 -04:00
Wilson Snyder
58a42834a6
Tests: Remove some old makefile rules.
2019-10-08 19:12:33 -04:00
Patrick Stewart
68e5c95b82
Tests: Rename harness flag. No functional change.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-10-07 22:15:43 -04:00
Wilson Snyder
2f28c5f5b4
Increase case duplicate/incomplete to 16 bit tables, bug1545.
2019-10-07 07:38:40 -04:00
Wilson Snyder
91f1acd85f
Add --protect-ids to obscure information in objects, bug1521.
2019-10-06 13:24:21 -04:00
Wilson Snyder
ed1e5fb509
Tests: When doing extended tests, run most examples under harness for better parallelism.
2019-10-06 10:58:16 -04:00
Wilson Snyder
9bf6135f6d
Remove some output tabs.
2019-10-05 17:35:08 -04:00
Wilson Snyder
d472ef63e9
Internals: Cleanup some misnamed classes. No functional change.
2019-10-05 08:17:21 -04:00
Wilson Snyder
a9954a71c3
Fix case statements with strings, bug1536.
2019-10-04 19:13:39 -04:00
Stefan Wallentowitz
633131b984
Return vpiModule when it is the scope.
...
Return the vpiModule when it is searched for by name and not the vpiScope,
now that we actually have it (one step further to supporting vpiModule in
complete).
Signed-off-by: Stefan Wallentowitz <stefan@wallentowitz.de>
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-10-02 18:47:12 -04:00
Stefan Wallentowitz
045ff25f80
Support vpiModule, bug1469.
...
Add very basic support for vpiModule. Basically it allows to traverse
the module tree to find a variable etc. It does not support more than
vpi_iterate and vpi_scan for vpiModule along basic operations like
vpi_get_str on vpiModule.
The support is added non-intrusively to non-VPI verilator runs. It
essentially:
- Tracks the creation of cell instances and keeps them alive until
the emit phase. They are there converted to scopes if modules.
- Emits empty (don't add anything during construction)
VerilatedScopes for all inlined modules, only for those inlined
modules that are on the hierarchical path to public variables.
- Adds VerilatedHierarchy as abstraction to structure of the
scopes. It is only created for VPI designs. It allows to traverse
the hierarchy from the top (NULL).
Signed-off-by: Stefan Wallentowitz <stefan@wallentowitz.de>
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-10-01 21:57:45 -04:00
Wilson Snyder
66209d1114
Tests: Less verbose status.
2019-10-01 21:32:38 -04:00
Wilson Snyder
8b6fb26272
Return good exit status on --help.
2019-09-30 23:15:10 -04:00
Wilson Snyder
9eaec3b5c1
Fix misc bad-syntax crashes, bug1530.
2019-09-30 19:48:01 -04:00
Wilson Snyder
dd4aa948ae
Tests: Have driver report ETA.
2019-09-30 19:22:36 -04:00
Wilson Snyder
9d6b0d7dd6
Tests: Fix broken contributors check.
2019-09-30 18:56:04 -04:00
Wilson Snyder
a1405dac8e
Fix misc bad-syntax crashes, bug1532.
2019-09-30 18:50:27 -04:00
Todd Strader
9e64be71a7
Add XSim user run flags
2019-09-27 01:12:53 -04:00
Wilson Snyder
4f315d9078
Fix ugly error on interface misuse, bug1525.
2019-09-25 21:53:01 -04:00
Lukasz Dalek
d6ac351dcb
Add --public-flat-rw switch, bug1511.
...
This switch exposes VARs, PORTs and WIREs to C++ code. It must be use
with care as it has a significant performance impact and may result in
mis-simulation of generated clocks. Anyhow, it is prefered over
--public and useful for VPI.
Signed-off-by: Lukasz Dalek <ldalek@antmicro.com>
Signed-off-by: Stefan Wallentowitz <stefan@wallentowitz.de>
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-09-23 07:56:07 -04:00
Stefan Wallentowitz
502bd6cbd6
Tests: Set VM_PREFIX from test script.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-09-21 08:26:34 -04:00
Stefan Wallentowitz
96725b3431
Tests: To allow reuse of cpp files, allow to set the PLI filename.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-09-19 18:46:45 -04:00
Stefan Wallentowitz
8686ed9b00
Fix vpiType accessor, bug1510.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-09-18 12:24:19 -04:00
Wilson Snyder
900115bb2d
Fix false warning on backward indexing, bug1507.
2019-09-17 15:17:23 -04:00
Wilson Snyder
3469c78153
Fix bad module name.
2019-09-16 21:09:18 -04:00
Wilson Snyder
1471f5691a
Fix error on multidimensional cells, bug1505.
2019-09-12 19:06:26 -04:00
Todd Strader
c813026566
Make Syms file honor --output-split-cfuncs, bug1499.
2019-09-04 06:15:41 -04:00
Wilson Snyder
314cd92129
Support $fseek, $ftell, $frewind, bug1496.
2019-09-03 21:28:15 -04:00
Wilson Snyder
3bc260c55d
Fix make test with no VERILATOR_ROOT, bug1494.
2019-09-01 11:15:42 -04:00
Todd Strader
70cf2582d6
Add XSim support to driver.pl, bug1493.
2019-08-29 17:00:49 -04:00
Todd Strader
ec620387af
Add --dpi-hdr-only, bug1491.
2019-08-27 21:36:59 -04:00
Todd Strader
b947391662
Retain widthSized when simulating
2019-08-12 15:38:58 -04:00
Wilson Snyder
edc0f442e4
Tests: Add tests for bug1487.
2019-08-09 05:45:44 -04:00
Wilson Snyder
81e806e895
Fix elaboration time errors, bug1429.
2019-08-04 22:34:54 -04:00
Wilson Snyder
7d4958264a
Support arbitrary-argument $warning/$info etc
2019-08-04 21:50:08 -04:00
Wilson Snyder
88b87429dc
Tests: Add elaboration info test.
2019-08-04 21:31:06 -04:00
Wilson Snyder
a13d230d8c
Tests: Less verbosity
2019-08-04 15:04:34 -04:00
Wilson Snyder
1a36e05cc6
Fix core dump on v3Number replace'ed assertions.
2019-08-04 14:14:28 -04:00
Wilson Snyder
a95f58749f
Fix internal error on gate optimization of assign, bug1475.
2019-08-03 21:49:39 -04:00
Wilson Snyder
68b22a4a3d
Tests: Summarize any skips.
2019-07-30 22:20:37 -04:00
Maarten De Braekeleer
1332446f2a
Spelling fixes.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-07-30 18:27:36 -04:00
Wilson Snyder
ffa23b59b8
Tests: Add iff test, bug1482.
2019-07-26 19:31:02 -04:00
Todd Strader
4a14788c9b
When showing an error, show the instance location
2019-07-26 12:52:38 -04:00
Todd Strader
43ce048f9e
Add rr support
2019-07-25 21:34:09 -04:00
Todd Strader
b045111a67
Refactor SimulateVisitor to use AstConst
2019-07-23 13:58:17 -04:00
Todd Strader
a3fd105acb
Add more Travis coverage
2019-07-18 05:31:02 -04:00
Wilson Snyder
97561bf064
When showing an error, show source code.
2019-07-14 21:42:03 -04:00
Wilson Snyder
a4820fc700
Misc minor error cleanups from show-source branch.
2019-07-14 20:59:56 -04:00
Wilson Snyder
ee469eedaf
Fix some errors reporting wrong objects.
2019-07-14 15:06:49 -04:00
Wilson Snyder
a49d819437
Tests: Default test_regress to quiet
2019-07-14 15:04:19 -04:00
Wilson Snyder
cbb9288cb1
Fix some errors reporting wrong objects.
2019-07-14 12:21:39 -04:00
Wilson Snyder
173efbc829
Offer suggestions on bad identifier errors.
2019-07-14 10:08:53 -04:00
Wilson Snyder
0fef3b02ec
Fix some parse tokens having wrong fileline.
2019-07-13 12:01:26 -04:00
Wilson Snyder
b3eab9d78a
Tests: Move t_math_synmul to extended tests.
2019-07-12 19:35:28 -04:00
Wilson Snyder
defd05bdd7
Tests: Fix driver checking threads/gcc for extended tests.
2019-07-12 19:35:10 -04:00
Wilson Snyder
a7e5cccf33
In errors, single quote signals and other from-user data.
2019-07-11 22:36:32 -04:00
Wilson Snyder
0f857ce423
In errors, single quote signals and other from-user data.
2019-07-11 22:09:30 -04:00
Wilson Snyder
83cf1882de
Quote reserved word messages, and related internal cleanups.
2019-07-11 20:49:35 -04:00
Wilson Snyder
e17543d6d8
Tests: Fill in some missing error coverage holes.
2019-07-11 20:18:36 -04:00
Wilson Snyder
dacf45fea9
Fix error message continuations to avoid linenumber repetition
2019-07-11 19:15:40 -04:00
Wilson Snyder
2ca418288d
Fix enum values not being sized based on parent, bug1442.
2019-07-06 16:26:44 -04:00
Wilson Snyder
a5f2ce0dad
Tests: Disable t_leak on Travis-CI.
2019-07-06 13:47:17 -04:00
Wilson Snyder
7e54ff1b37
Additional lcov code coverage.
2019-07-05 22:30:19 -04:00
Wilson Snyder
a4b9745e6e
Fix lifetime opt dropping
2019-07-05 22:30:19 -04:00
Wilson Snyder
33ad834106
Tests: Close some test coverage holes.
2019-06-30 22:00:18 -04:00
Wilson Snyder
efe739c52f
Tests: Cover --error-limit and update docs (found via coverage).
2019-06-30 21:36:57 -04:00
Wilson Snyder
0e8dfdbb71
Tests: Less verbosity.
2019-06-30 17:45:42 -04:00
Wilson Snyder
ec32a9b976
Tests: Close some test coverage holes.
2019-06-30 17:38:41 -04:00
Wilson Snyder
f7641d2ecc
Change MULTITOP to warning to help linting, see manual.
2019-06-30 16:46:48 -04:00
Wilson Snyder
5f27c41ee3
Test driver: Cleanup rerun flags & status.
2019-06-29 21:36:33 -04:00
Wilson Snyder
51df77099a
Test driver: With --quiet print summary every 15sec or Travis barfs.
2019-06-29 15:58:00 -04:00
Wilson Snyder
b8b7e5c978
Test driver: Add --rerun and --quiet options
2019-06-29 15:24:56 -04:00
Wilson Snyder
dddcfeb482
Test driver: Move one_test, no functional change.
2019-06-29 13:37:01 -04:00
Wilson Snyder
8d63f83177
Tests: Reduce verbosity unless use --verbose
2019-06-29 13:11:30 -04:00
Wilson Snyder
d43e9aa2c5
Fix not in array context on non-power-of-two slices, msg2946.
2019-06-29 11:30:38 -04:00
Wilson Snyder
a2c1b7f827
Tests: Fix t_flag_csplit skip on old make.
2019-06-29 08:25:50 -04:00
Wilson Snyder
2fff92fe78
Tests: Add array MDA test.
2019-06-29 08:12:00 -04:00
Wilson Snyder
ba9af4aabf
For internal messages, use <command-line> and <built-in> to match GCC.
2019-06-29 07:39:34 -04:00
Wilson Snyder
ef02678305
tests: Fix default make test, broke earlier commit.
2019-06-29 07:22:19 -04:00
Wilson Snyder
af5616c077
Fix line number in dup vars.
2019-06-28 22:34:01 -04:00
Todd Strader
009f053d6e
Add initial Travis CI config
2019-06-27 11:26:25 -04:00
Wilson Snyder
6903c52ef7
Tests: Add coverage of missing include error.
2019-06-26 19:12:57 -04:00
Wilson Snyder
aa65dfb1bc
Tests: Use only 2 threads for t_gantt.
2019-06-26 19:06:52 -04:00
Wilson Snyder
84a2cd0ec7
Remove some old DIRPROJECT dead code.
2019-06-26 18:50:38 -04:00
Wilson Snyder
8e7559c6c9
Show included-from filenames in warnings, bug1439.
2019-06-22 17:01:39 -04:00
Wilson Snyder
951521320a
Warnings: Suppress dup lines, and use lowercase note: to match gcc
2019-06-22 16:12:17 -04:00
Wilson Snyder
5cb6474cc6
Fix not reporting some duplicate signals/ports, bug1462.
2019-06-22 12:43:48 -04:00
Wilson Snyder
b8eb6368e9
Tests: Fix up duplicate var declarations.
2019-06-22 12:32:13 -04:00
Wilson Snyder
6239deb1df
Tests: Disable t_flag_csplit with old make.
2019-06-19 08:44:40 -04:00
Wilson Snyder
0edd3c9e95
Tests: Support remote test obj_
2019-06-15 16:37:58 -04:00
Wilson Snyder
90af180ec1
Fix constant function return of function var, bug1467.
2019-06-15 08:03:39 -04:00
Wilson Snyder
0d71c1154d
Fix overshift error to have user's source line.
2019-06-15 07:44:03 -04:00
Alex Chadwick
5da5e32e86
Fix --savable invalid C++ on packed arrays, bug1465.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-06-14 18:42:27 -04:00
Wilson Snyder
b6c905dffc
Move files into docs directory.
2019-06-13 07:19:44 -04:00
Wilson Snyder
e4a3f9b38c
Tests: Remove tabs from golden-output tests. No functional change.
2019-06-12 22:41:51 -04:00
Wilson Snyder
b3e2d26e35
Tests: Remove tabs from golden-output tests. No functional change.
2019-06-12 22:22:36 -04:00
Wilson Snyder
79e9fbaeb7
Tests: Add additional .out files instead of expects.
2019-06-12 21:49:40 -04:00
Wilson Snyder
f5f5cd522b
Tests: Make standard lint() to replace inconsistent compile()
2019-06-12 21:05:02 -04:00
Wilson Snyder
e713c8ce57
Fix not reporting some duplicate signals, bug1462.
2019-06-12 19:17:10 -04:00
Wilson Snyder
ff360738b5
XML: Remove extranious space on dtypes.
2019-06-12 07:19:14 -04:00
Wilson Snyder
f7f73a0825
Internals: Standardize internal FileLine filenames.
2019-06-12 07:00:56 -04:00
Todd Strader
6f2f668449
Fix dotted references to type parameter sizes, bug1458.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-06-11 19:00:24 -04:00
Wilson Snyder
6c1782e4de
Add contributors and test.
2019-06-10 20:29:58 -04:00
Todd Strader
10e3cc6e3b
Tests: Better checking for type param hash fix.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-06-06 19:57:31 -04:00
Todd Strader
34424e70d8
Fix sameHash error on type parameters, bug1456.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-06-05 20:39:42 -04:00
Wilson Snyder
38ad8727af
Tests: Remove CRs.
2019-06-04 20:37:16 -04:00
Wilson Snyder
4e115d4b69
Fix performance when mulithreaded on 1 CPU, bug1455.
2019-06-03 19:13:03 -04:00
Wilson Snyder
f6f8073058
Support logical equivalence operator <->.
2019-06-01 19:40:06 -04:00
Wilson Snyder
97d9de3dad
Support deferred assertions, bug1449.
2019-05-31 07:33:57 -04:00
Todd Strader
97fef7c60b
Tests: Fix t_dist_whitespace.pl --golden, bug1451
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-05-30 20:36:13 -04:00
Wilson Snyder
a58e7d94ec
Error continuation lines no longer have %Error prefix.
2019-05-30 20:30:59 -04:00
Kanad Kanhere
72eb361131
Fix invalid XML output due to special chars, bug1444.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-05-29 18:41:03 -04:00
Wilson Snyder
59d7d9e8c3
Fix real parameter assignment, bug1427.
2019-05-17 20:50:57 -04:00
Wilson Snyder
01725f662f
Fix $display with string without %s, bug1441.
2019-05-16 21:21:38 -04:00
Wilson Snyder
d841e68f4f
Fix parameter function string returns, bug1441.
2019-05-16 21:16:20 -04:00
Wilson Snyder
13ecb8e177
Fix fault on with %t, bug1443.
2019-05-16 19:35:10 -04:00
Todd Strader
26436cf4dd
Tests: Fix files ignored by t_dist_manifest, bug1438.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-05-15 19:02:17 -04:00
Todd Strader
d0fbdfac07
Add --quiet-exit, bug1436.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-05-14 06:47:51 -04:00
Wilson Snyder
7777d10e9b
Tests: Check for and remove trailing newlines
2019-05-13 19:47:52 -04:00
Wilson Snyder
00214f738f
Tests: New scope-relevant tests, towards bug1305.
2019-05-13 19:31:24 -04:00
Wilson Snyder
5df3032b11
gtkwave: Merge from upstream.
2019-05-09 20:38:48 -04:00
Wilson Snyder
b23fc06388
Internals: Detab and fix spacing style issues in some include files. No functional change.
2019-05-07 23:30:24 -04:00
Wilson Snyder
f818ddc71c
Internals: Detab and fix spacing style issues in tests and scripts. No functional change.
2019-05-07 22:34:09 -04:00
Wilson Snyder
37c8cc82b2
Auto-extend and WIDTH warn on unsized X/Zs, bug1423.
2019-05-07 21:57:38 -04:00
Wilson Snyder
03ebd5554f
Fix table compile error with multiinterfaces, bug1431.
2019-05-06 19:33:54 -04:00
Wilson Snyder
55a25674a2
Add --trace-fst-thread.
2019-05-02 20:33:05 -04:00
Wilson Snyder
05c3d520a6
Test: Ignore tabs on new .out
2019-05-02 20:32:50 -04:00
Wilson Snyder
8d15276625
Tests: Use golden_filename consistently.
2019-05-02 19:02:40 -04:00
Todd Strader
354f107fed
Tests: Converting tests to golden files for bug1305.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-05-02 18:45:32 -04:00
Wilson Snyder
1ff55c20e0
Support "'dx" constants, bug1423.
2019-05-01 20:02:28 -04:00
Wilson Snyder
3acb85a005
Fix FST enums not displaying, bug1426.
2019-05-01 19:18:45 -04:00
Wilson Snyder
08d041cb93
Add error when use parameters without value, bug1424.
2019-04-30 19:16:41 -04:00
Wilson Snyder
6e333bd9ab
Fix test problems when missing fst2vcd, bug1417.
2019-04-10 20:51:38 -04:00
Wilson Snyder
3b64f54cea
Support '#' comments in , bug1411.
2019-03-27 07:40:14 -04:00
Wilson Snyder
2582a83376
Unsupported error on select of concatenation
2019-03-13 19:52:23 -04:00
Wilson Snyder
d9b33d74a4
Support void' cast on functions called as tasks, bug1383.
2019-03-10 15:12:20 -04:00
Wilson Snyder
539a773ea7
Add IGNOREDRETURN warning.
2019-03-10 14:57:01 -04:00
Wilson Snyder
b1831d7e33
Fix +1364-1995ext flags applying too late, bug1384.
2019-03-10 14:09:22 -04:00
Wilson Snyder
b8ccb7a4c1
Fix maintainer test when no Parallel::Forker, msg2630.
2019-03-10 12:14:58 -04:00
Wilson Snyder
4cc47e3297
Tests: Cleanup spacing/style. No functional change.
2019-03-10 09:25:23 -04:00
Wilson Snyder
7bf3366041
Support .
2019-03-07 20:56:53 -05:00
Wilson Snyder
c4b9f4bccf
Tests: Remove old verilator_file_descriptor
2019-03-07 18:29:44 -05:00
Wilson Snyder
ab3c6576ed
Report PORTSHORT errors on concat constants, bug 1400.
2019-02-27 21:06:07 -05:00
Wilson Snyder
42759e4011
Fix VERILATOR_GDB being ignored, msg2860.
2019-02-12 18:20:40 -05:00
Wilson Snyder
27fa19eb94
Add +verilator+seed, bug1396.
2019-02-04 20:28:17 -05:00
Wilson Snyder
46be6d32c9
Add unsupported for loops error, msg2692.
2019-01-22 19:25:00 -05:00
Wilson Snyder
f700a73b3e
Fix cygwin warning on fstapi, msg2770.
2019-01-20 14:16:09 -05:00
Wilson Snyder
60f2f176a2
Fix DPI export void compiler error, bug1391.
2019-01-16 00:38:42 -05:00
Wilson Snyder
ef884143d1
Add circular typedef error, bug1388.
2019-01-12 09:33:57 -05:00
Wilson Snyder
62a7d713a7
Fix internal error on xrefs into unrolled functions, bug1387.
2019-01-06 17:38:27 -05:00
Wilson Snyder
9b0f2cce86
Copyright year update
2019-01-05 05:46:23 -05:00
Wilson Snyder
8a4aeddbb0
Copyright year update.
2019-01-03 19:17:22 -05:00
Wilson Snyder
e8636f987f
Fix missing too many digits warning, bug1380.
2019-01-03 19:03:27 -05:00
Wilson Snyder
0198a2e9f3
Fix error when no modules in , bug1381.
2019-01-02 18:38:49 -05:00
Wilson Snyder
e01c9df35e
Fix error when pattern assignment has too few elements, bug1378.
2018-12-18 20:41:14 -05:00
Wilson Snyder
8f16557499
Tests: Less verbose
2018-12-12 22:19:33 -05:00
Wilson Snyder
89fb57e54f
For --xml, add additional information, bug1372.
2018-12-12 22:12:31 -05:00
Wilson Snyder
8a3e9748b3
For --xml, add additional information, bug1372.
2018-12-10 19:11:35 -05:00
Wilson Snyder
f0cdae129e
Removed --trace-lxt2, use --trace-fst instead.
2018-12-06 19:06:20 -05:00
Wilson Snyder
ede7236945
For --xml, add additional var information, bug1372.
2018-12-06 07:12:39 -05:00
Wilson Snyder
940dc98c66
Add CONTASSREG error on continuous assignments to regs, bug1369.
2018-12-01 10:12:10 -05:00
Wilson Snyder
49353784fd
Fix __Slow files getting compiled with OPT_FAST, bug1370.
2018-11-29 20:35:21 -05:00
Wilson Snyder
2e5919549c
Tests: Separate make_main flag from verilator_make_gcc flag.
2018-11-29 19:50:09 -05:00
Wilson Snyder
61e4b0a472
Add IMPORTSTAR warning on import::* inside scope.
2018-11-28 18:25:34 -05:00
Wilson Snyder
2a43410fa6
Tests: Fix buggy size test.
2018-11-26 18:22:20 -05:00
Wilson Snyder
5cc11839b5
Add PROCASSWIRE error on behavioral assignments to wires, msg2737.
2018-11-26 17:58:18 -05:00
Wilson Snyder
5cbf80918f
Tests: Favor golden files over long regexps. No functional change.
2018-11-03 14:59:04 -04:00
Wilson Snyder
196e3a9712
Tests: Reduce timeout when single-threaded testing.
2018-11-03 09:07:28 -04:00
Wilson Snyder
3798b80091
Tests: Fix test instability.
2018-11-03 09:07:11 -04:00
Wilson Snyder
689e4cf1d3
Tests: Have files_identical fail on error
2018-11-01 21:58:39 -04:00
Wilson Snyder
6cd2bd2972
Tests: Add golden_filename.
2018-11-01 21:04:19 -04:00
Wilson Snyder
d396c55e34
In --xml-only show module_files and cells ala Verilog-Perl vhier, msg2716.
2018-11-01 19:53:26 -04:00
Wilson Snyder
45c9939a5e
Fix hang on bad pattern keys, bug1364.
2018-11-01 19:03:52 -04:00
Wilson Snyder
ad2929dff0
Support "ref" and "const ref" pins and functions, bug1360.
2018-10-30 20:50:09 -04:00
Wilson Snyder
d3e1dfd3f5
Tests: Add VERILATOR_MAKE override variable.
2018-10-30 20:28:39 -04:00
Wilson Snyder
14b48140bd
In --xml-only show the original unmodified names, msg2716.
2018-10-30 18:17:37 -04:00
Wilson Snyder
b8098098d8
Internals: Refactor input/output to new class in prep for ref support.
2018-10-27 17:29:00 -04:00
Wilson Snyder
dc26815b1c
Tests: Report wide line numbers.
2018-10-27 17:21:07 -04:00
Wilson Snyder
06c7d8ce3b
Internals: Fix whitespace issues. No functional change, use -b to diff
2018-10-27 10:03:28 -04:00
Wilson Snyder
da1ebcb4e4
Add --pp-comments, msg2700.
2018-10-25 21:17:25 -04:00
Wilson Snyder
e0654dc218
Add --dump-defines.
2018-10-25 19:47:07 -04:00
Wilson Snyder
304a24d03a
Internals: Fix many clang-tidy issues. No functional change intended.
2018-10-14 18:39:33 -04:00
Wilson Snyder
d87b9d25ca
Internals: Cleanup and standardize include order. No functional change intended.
2018-10-14 13:59:40 -04:00
Wilson Snyder
cc45a3dd72
For --trace-fst, save enum decoding information, bug1358.
2018-10-08 07:21:22 -04:00
Wilson Snyder
870918a788
Tests: Dump and test FST trace attributes.
2018-10-07 22:04:49 -04:00
Wilson Snyder
8b738c0022
Compute struct/union/enum names from surrounding typedefs.
2018-10-07 18:07:42 -04:00
Wilson Snyder
98b0d19363
Tests: Add enum to trace test.
2018-10-05 18:38:52 -04:00
Wilson Snyder
d11592cadd
Support signal types in FST dumps, bug1358.
2018-10-04 20:24:41 -04:00
Sergi Granell
a5aa0e2b0a
Add GTKWave FST native tracing, bug1356.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2018-10-02 18:42:53 -04:00
Wilson Snyder
f8ae08c0c2
Internals: Fix whitespace.
2018-10-02 06:31:11 -04:00
Wilson Snyder
72f5d39ace
Rename include/lxt2 to include/gtkwave.
2018-10-01 18:29:04 -04:00
Wilson Snyder
3e39c55a97
Tests: Check mod-prefix subnames.
2018-09-27 19:58:13 -04:00
Wilson Snyder
9f8dbc91f2
Support restrict, bug1350.
2018-09-23 15:20:12 -04:00
Wilson Snyder
0e37747d2c
Support $past.
2018-09-23 15:20:01 -04:00
Wilson Snyder
4f98f84da9
Fix duplicate symbol error on generate tri, bug1347.
2018-09-14 06:56:59 -04:00
Wilson Snyder
3a6edae59d
Fix string ?: conditional type resolution, bug1345.
2018-09-12 19:20:15 -04:00
Wilson Snyder
24efa6c19a
Fix compile error on tracing of string arrays, bug1338.
2018-09-08 01:16:07 -04:00
Wilson Snyder
ef5c31b4c9
Fix first clock edge and --x-initial-edge, bug1327.
2018-08-30 20:05:13 -04:00
Wilson Snyder
9d21c5441b
tests: Fix strange verilated-debug flag
2018-08-30 20:04:55 -04:00
johnjohnlin
acf4a3fa99
Add GTKWave LXT2 native tracing, bug1333.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2018-08-28 06:41:17 -04:00
Wilson Snyder
aaac5d4685
Support string.atoi and similar methods, bug1289.
2018-08-25 13:49:37 -04:00
Wilson Snyder
80a269f49a
Tests: Add t_param_array3 test, bug1315
2018-08-25 10:36:31 -04:00
Wilson Snyder
75f28fd446
Internals: Fix spacing of function calls. No functional change.
2018-08-25 09:52:45 -04:00
Wilson Snyder
8f838433df
Internals: Fix spacing and style of v4 changes. No functional change.
2018-08-23 05:22:34 -04:00
Wilson Snyder
4d034d774d
Merge from master
2018-08-22 17:58:02 -04:00
Wilson Snyder
847dbbbaf0
Fix function inlining inside certain while loops, bug1330.
2018-08-21 18:09:40 -04:00