Commit Graph

647 Commits

Author SHA1 Message Date
Michael Bikovitsky
4202ec2ab2
Fix CMake builds to export VERILATOR_ROOT (#5063) 2024-04-26 19:29:10 -04:00
Todd Strader
25fd8ef5c0
Add VPI eval needed tracking (#5065) 2024-04-25 09:07:31 -04:00
Wilson Snyder
26a5729514 Add CITATION.cff (#5057) (#5058). 2024-04-19 20:33:11 -04:00
Paul Wright
a8b5738b44
Support __en/__out signals on top level inout ports (#4812) (#4856) 2024-04-11 09:02:58 -04:00
Wilson Snyder
28718f964a
Fix tracing replicated hierarchical models (#5027) (#5029) 2024-03-30 16:00:52 -04:00
Wilson Snyder
39ee522f92 Commentary: Changes update 2024-03-28 08:22:15 -04:00
Szymon Gizler
8301fdc6d3
Add JSON AST dumps (#5020) 2024-03-28 07:32:18 -04:00
Wilson Snyder
4df9e2e0e5
Add printing summary reports (#4909) (#5018) 2024-03-25 07:03:17 -04:00
Wilson Snyder
e67bdb4c08 Commentary 2024-03-24 09:23:37 -04:00
Geza Lore
494e05b326
Fix install instructions for attribute checks, do the same in CI (#4995)
On Ubuntu 22.04, pip install clang picks up a mismatched version by
default. There are 'apt' packages with correct dependencies, so use
those instead.
2024-03-17 12:10:13 +00:00
Kevin Nygaard
a5ad26cd28
Fix tests on macOS (#4984) (#4985) 2024-03-16 09:08:03 -04:00
Fuad Ismail
5802818b9a
Add error when pass net to function argument (#4132) (#4966) 2024-03-16 08:25:42 -04:00
Wilson Snyder
65c3cb4708 Tests: stop testing if --fail-max tests fail 2024-03-15 21:11:24 -04:00
Nolan Poe
04512e5d04
Add custom version for verilator --version packaging (#4954) 2024-03-09 16:44:25 -05:00
Wilson Snyder
3d57256070 Commentary: Changes update 2024-03-04 08:22:36 -05:00
Wilson Snyder
5dc8fb5b4f Commentary (#4930) 2024-03-04 08:04:39 -05:00
Kefa Chen
5f1dc73a1b
Support public packed struct / union (#860) (#4878) 2024-03-03 10:23:04 -05:00
Wilson Snyder
214173c6b8 Support 1800-2023 preprocessor ifdef expressions; add PREPROC zero warning. 2024-03-02 10:15:19 -05:00
Wilson Snyder
3786f59e03 Change to IEEE 1800-2023 warning mentions 2024-03-02 10:15:19 -05:00
Wilson Snyder
91dd3c5fac Support 1800-2023 keywords. 2024-03-02 10:15:19 -05:00
Wilson Snyder
e60f652a64 Commentary (#4936) 2024-03-01 17:32:26 -05:00
Yan Xu
b12f8b3d73
Fix V3Unknown unpacked struct x-assign (#4934) 2024-03-01 09:14:49 -05:00
Yutetsu TAKATSUKASA
51ae8e13fb
Add --assert-case option (#4919) 2024-02-23 23:05:53 +09:00
Jiangjie Weng
c3ff52208a Commentary: Fix typo in the call condition of designp->nextTimeSlot() (#4912) 2024-02-21 10:15:29 -05:00
Andrew Nolte
cfb73923bd
Test driver: Add -xrun Xcelium support (#4896)
Co-authored-by: Andrew Nolte <anolte@hudson-trading.com>
2024-02-20 14:41:05 -05:00
Yutetsu TAKATSUKASA
a951446f9b
Add --[no]-stop-fail option (#4904)
Co-authored-by: Wilson Snyder <wsnyder@wsnyder.org>
2024-02-19 21:26:58 +09:00
Wilson Snyder
a187a16e56 Commentary: Changes update 2024-02-13 21:47:09 -05:00
Geza Lore
cbc76a7816
Dump DFG patterns with --stats (#4889)
With --stats, we will print DFG pattern combinations, one per line, as
S-expressions to new stat files, together with their frequency, to aid
discovery of new peephole patterns.
2024-02-11 15:41:10 +00:00
Szymon Gizler
d667b73e8d Add --json-only and related JSON dumping (#4715) (#4831). 2024-02-09 17:50:09 -05:00
Wilson Snyder
7425037db6 Fix Copyright 2024-02-04 09:35:19 -05:00
Bartłomiej Chmiel
c702fc944e
Fix SystemC biguint sign desynchronization (#4870)
* Fix writing to SystemC values with `VL_ASSIGN_SBW`

Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
Co-authored-by: Bartłomiej Chmiel <bchmiel@antmicro.com>
2024-02-02 07:00:13 -05:00
Szymon Gizler
c715cfc254
Add --valgrind switch (#4828) 2024-01-29 07:50:05 -05:00
Wilson Snyder
d6f8ccd20b Add unroll_disable and unroll_full loop control metacomments (#3260). 2024-01-26 07:49:07 -05:00
Wilson Snyder
d4c8a15407 Add --runtime-debug for Verilated executable runtime debugging. 2024-01-25 07:34:30 -05:00
Wilson Snyder
354a534d68 Add '--decorations node' for inserting debug comments into emitted code. 2024-01-24 21:51:47 -05:00
Wilson Snyder
23836ee8d0 Document gprof steps better. Add t_prof_timing test to show GCC bug (#4858). 2024-01-24 17:55:23 -05:00
Jonathan Schröter
31262e81f9
Fix to not emit already waived warnings in waiver output (#4574) (#4818) 2024-01-24 07:45:38 -05:00
Paul Swirhun
6c0c88cfc4
Fix unsafe write in wide array insertion (#4850) (#4855) 2024-01-23 13:05:27 -05:00
Wilson Snyder
e3f3e3399f Commentary: Changes update 2024-01-21 13:50:27 -05:00
Wilson Snyder
1a92502788 Add --main support for dumping coverage, and +verilator+coverage+file runtime option. 2024-01-20 12:28:49 -05:00
Wilson Snyder
8b03f2d47b Commentary 2024-01-17 19:47:07 -05:00
Wilson Snyder
6f96c6763d Commentary 2024-01-17 08:25:54 -05:00
Adrian Sampson
2e999a5441
Fix too null pointer dereference (#4810) (#4825) 2024-01-13 20:52:50 -04:00
Wilson Snyder
27d906a6b3 Commentary: Changes update 2024-01-12 08:20:53 -05:00
Szymon Gizler
5f52c066e5
Internals: Add serializeOnly() and dumpTreeEitherLevel() (#4815) (#4715). No functional change intended. 2024-01-09 10:35:13 -05:00
Chykon
1a0c8f1573
Commentary: Add a link to Create-Binary Execution to the list of examples (#4802) 2024-01-04 10:47:22 -05:00
Wilson Snyder
2be6f03848 Commentary: runtime debugging 2024-01-03 21:03:17 -05:00
Pengcheng Xu
ec01008fe3
Change zero replication width error to ZEROREPL warning (#4753) (#4762) 2024-01-03 07:11:50 -05:00
Wilson Snyder
3eaed3b6f5
Remove deprecated 32-bit pointer mode (#4791). 2024-01-01 10:16:48 -05:00
Wilson Snyder
e76f29e5ba Copyright year update 2024-01-01 03:19:59 -05:00
Rasfunk
2d7e8b58e4
Require C++14 or newer (#4784) (#4786) 2023-12-29 10:39:00 -05:00
Wilson Snyder
f3a97841bd Commentary 2023-12-27 15:35:22 -05:00
Wilson Snyder
17b6ce1379 Commentary: Changes update 2023-12-27 10:15:29 -05:00
Wilson Snyder
14ac24cacc Commentary: sccache 2023-12-26 15:15:15 -05:00
Fan Shupei
540cd772e4
Add user C/C++ code to final achieve, and make a libmodel.a (#4749) (#4754) 2023-12-23 09:31:10 -05:00
Jordan McConnon
56d6791205
Support invoking interface methods on virtual interface variables (#4774) (#4775) 2023-12-21 07:49:07 -05:00
Wilson Snyder
f571181d36 Commentary: Changes update 2023-12-02 16:48:33 -05:00
Wilson Snyder
e5118661a7 Commentary 2023-11-24 13:02:05 -05:00
Wilson Snyder
ed05caec93 Rename __hier*.f files to match other generated files 2023-11-21 20:31:54 -05:00
Wilson Snyder
25ca965938 Commentary 2023-11-21 19:17:39 -05:00
Jinyan Xu
4650105d90
Fix conflicted namespace for coroutines (#4701) (#4707) 2023-11-20 21:02:10 -05:00
Wilson Snyder
673f086e87 Commentary: Update contributors. 2023-11-11 18:49:51 -05:00
Wilson Snyder
4103925835 Commentary: add docs/README.rst 2023-11-11 17:19:27 -05:00
Wilson Snyder
4286af3599 Commentary: Changes update 2023-11-11 10:38:37 -05:00
Anthony Donlon
ab06ace1f6
Fix trace when using SystemC with certain configurations (#4676) 2023-11-09 07:48:23 -05:00
David Ledger
9a65ed4ce2
Fix Mingw Compilation (#4675) 2023-11-08 06:27:56 -05:00
Geza Lore
dc346b7ffa
Remove deprecated options (#4663) 2023-11-04 17:28:36 +00:00
Wilson Snyder
2a57ead7e3 Commentary (#4517) 2023-11-01 17:43:11 -04:00
Wilson Snyder
c241ec90ec Commentary: Changes update 2023-10-30 22:10:03 -04:00
Ícaro Lima
1da15181da Update CONTRIBUTORS (#4641) 2023-10-29 16:44:42 -04:00
Geza Lore
3c144ada53
Delete AstNode user5 (#4638)
This saves about 5% memory. V3AstUserAllocator is appropriate for most use
cases, performance is marginally up as we are mostly D-cache bound on
large designs.
2023-10-29 01:12:27 +01:00
Geza Lore
de4c6065dc
make: add test-snap/test-diff targets (#4635) 2023-10-28 15:58:29 +01:00
Chih-Mao Chen
98252634fc
Include systemc instead of systemc.h in model header files (#4622) (#4623)
This may require that SystemC programs add:
using namespace sc_core;
using namespace sc_dt;
2023-10-26 14:36:18 -04:00
Geza Lore
d330100542 Create implicit nets for inputs of gate primitives.
Prior to this we failed to create implicit nets for inputs of gate
primitives, which is required by the standard (IEEE 1800-2017 6.10).
Note: outputs were covered due to being modeled as the LHS of
assignments, which do create implicit nets.
2023-10-21 22:45:26 +01:00
Geza Lore
4c0edd2efb Improve --prof-exec infrastructure and report
Again --prof-exec have bit-rotted a little with all the recent changes
to the structure of the generated code. This patch contains a few
improvements:
- Repalce the eval/evl_loop begin/end events with generic
  section_push/section_pop events, that can be arbitrarily sprinkled
  into the generate code (so long as they are matched correctly) to
  measure various sections. The report then contains a nested profile
  of the sections, and the VCD trace shows the section names.
- Better handling of exec graphs
- Clearer overall statistics
2023-10-21 21:09:03 +01:00
Wilson Snyder
eae942b91c Internals: Fix some lint-py warnings 2023-10-21 12:48:36 -04:00
Quentin Corradi
26e3785963
Fix PLI/DPI user defined system task/function grammar (#4587) (#4588)
According to 1800-2017 36.3, 1800-2017 A.9.3, 1364-2005 20.2 and 1364-2005 A.9.3, user defined system task and function identifiers can use the same character set for the second character as all the following characters.
2023-10-21 02:43:49 -04:00
Wilson Snyder
a773a52559 Cleanup some IEEE references 2023-10-19 19:26:36 -04:00
Wilson Snyder
c14eae6d56 Add SIDEEFFECT warning on mishandled side effect cases (#487 partial) 2023-10-15 06:44:35 -04:00
Gus Smith
a4b7c39a9a
Fix Verilated Makefile to get CXX etc. from enviorment (#4549) (#4554) 2023-10-10 17:53:02 -04:00
Wilson Snyder
472ad90d83 Change lint_off to not propagate upwards to files including where the lint_off is. 2023-10-09 04:12:01 -04:00
Wilson Snyder
7f38414276 Internals: Rename addIgnoreMatch. No functional change. 2023-10-08 01:02:23 -04:00
Wilson Snyder
25fa1d7c6a Commentary: Changes update 2023-10-04 20:17:14 -04:00
Wilson Snyder
45162652de Commentary 2023-10-04 20:13:59 -04:00
Justin Thiel
a948be184c Tests: Add t_interface_localparam_unsup (#3857 partial) (#3858) 2023-09-26 20:35:23 -04:00
Wilson Snyder
429cb1f7f7 Commentary (#4517) 2023-09-23 09:04:35 -04:00
Michal Czyz
b9ea249f81
Rewrite usage of annotation options (#4486) (#4504) 2023-09-19 09:08:17 -04:00
Wilson Snyder
24ff3155ae Support randc (#4349). 2023-09-18 21:17:21 -04:00
Wilson Snyder
b68f101e81 Support preprocessing __LINE__ 2023-09-17 19:49:38 -04:00
Wilson Snyder
10fbe74cef Commentary: Changes update 2023-09-15 23:25:28 -04:00
Wilson Snyder
10c1653e72 Fix ZERODLY to not warn on 'wait(0)'. 2023-09-15 08:53:29 -04:00
Kamil Rakoczy
6e977e1024
Generate compile_commands.json using bear (#4463) 2023-09-08 17:26:11 -04:00
Wilson Snyder
6cdf8da3f7 Fix documentation line wrap (#4456) 2023-09-05 07:25:33 -04:00
Wilson Snyder
5e6519c1b0 Commentary 2023-08-30 07:46:39 -04:00
Yinan Xu
b4b74d72f0
Add prepareClone and atClone APIs for Verilated models (#3503) (#4444)
This API is used if the user copies the process using `fork`
and similar OS-level mechanisms. The `at_clone` member function
ensures that all model-allocated resources are re-allocated, such
that the copied child process/model can simulate correctly.

A typical allocated resource is the thread pool, which every model
has its own pool.
2023-08-30 07:02:55 -04:00
Ethan Sifferman
8d1570db28
Add check for conflicting options e.g. binary+lintonly (#4409) 2023-08-29 19:55:37 -04:00
Wilson Snyder
77bd565ef6 Commentary: Changes update 2023-08-25 08:28:26 -04:00
Wilson Snyder
95f3dd0535 Commentary (#4429) 2023-08-21 06:23:35 -04:00
Frans Skarman
e9cc2786b7
Add --no-trace-top option (#4422) 2023-08-19 04:51:29 -04:00
Wilson Snyder
817ade27fb Commentary: Changes update 2023-08-05 03:18:00 -04:00
Andrew Miloradovsky
106a9fe67f
Fix config_build.h issues (#4380) (#4381) 2023-07-27 05:42:35 -04:00
Wilson Snyder
a5eccc199b Commentary: Changes update 2023-07-27 04:01:28 -04:00
Vito Gamberini
837d9f9d77
Require CMake config minimum version 3.13 (#4389) (#4390) 2023-07-26 17:54:18 -04:00
Anthony Donlon
959387b69f
Support property declaration with empty parentheses (#4313) (#4317) 2023-07-26 05:18:21 -04:00
Julian Daube
3ee9b33f8a
Fix cmake astgen for Rocky Linux 8.7 (#4343) 2023-07-09 06:02:21 +05:00
Wilson Snyder
5be0813893 Explicity reference std:: in header files (#4338). No functional change intended. 2023-07-08 13:20:40 -04:00
Wilson Snyder
5749662194 Documentation: Drop analytics_id unless VERILATOR_ANALYTICS_ID set (#4333)
Co-authored-by: Ahmed El-Mahmoudy <aelmahmoudy@users.sourceforge.net>
2023-07-07 10:44:33 -04:00
Wilson Snyder
dcbc0ccfdc Commentary: Revert lost name. 2023-07-05 13:55:47 -04:00
أحمد المحمودي
71df9e3381
Commentary: Fix typo of concurrent (#4332) 2023-07-02 16:12:09 -04:00
Wilson Snyder
3c964147be Add MISINDENT lint warning for misleading indentation. 2023-07-01 10:45:25 -04:00
Wilson Snyder
cff37f0775 Add GENUNNAMED lint warning.
Also fix generate-for blocks with empty statements getting lost.
2023-07-01 08:31:53 -04:00
Wilson Snyder
8b1cc3b303 Commentary: Changes update 2023-07-01 07:35:58 -04:00
Wilson Snyder
5bee8ef15b Remove long deprecated verilated_heavy.h 2023-06-17 08:45:13 -04:00
Wilson Snyder
e7de3d368f Commentary: Deprecation planned for 32-bit pointer -m32 mode (#4268). 2023-06-17 08:44:13 -04:00
Wilson Snyder
db7eb45433 Contributors: Add Krzysztof Boronski and re-sort 2023-06-14 18:53:44 -04:00
Krzysztof Boronski
21c01ba97b V3Fork - transform processes that can outlive their parents into separate tasks (#4253)
Signed-off-by: Krzysztof Boronski <kboronski@antmicro.com>
2023-06-14 20:44:53 +02:00
Wilson Snyder
01d0f0327b Commentary (#4254) 2023-06-13 08:22:57 -04:00
Wilson Snyder
70d26ec123 Commentary (#4211) (#4254) 2023-06-12 21:59:33 -04:00
Wilson Snyder
5cf9d78516 Commentary 2023-06-12 20:28:32 -04:00
Andrei Kostovski
d8c2ecaaf8 Commentary: Update install.rst for help2man (#4260) (#4261) 2023-06-03 10:31:17 -04:00
John Wehle
dc34968fe7
Add class specific same methods for AstVarScope, AstVar, and AstScope (#4203) (#4250) 2023-06-03 10:07:39 -04:00
Don Williamson
df2746de71
Add --main-top-name option for C main TOP name (#4235) (#4249) 2023-05-31 09:02:26 -07:00
Wilson Snyder
7f12ad9d91 Commentary: Changes update 2023-05-27 07:17:37 -04:00
Jiamin Zhu
bfa1f2d7ce
Fix missing assignment for wide unpacked structs (#4233) 2023-05-25 20:13:02 -04:00
Wilson Snyder
426069a4dd Configure for faster C++ linking using 'mold', if it is installed. 2023-05-23 21:26:29 -04:00
Krzysztof Bieganski
729f8b9334
Move suspendable detection to a separate visitor (#4208)
This makes the implementation of the detection and propagation of the
suspendable property simpler and easier to read. More importantly, there are no
more jumps around the AST with the `visit` functions, which in some cases could
result in incorrect visitor context while in the `visit` function. See the added
test, which would cause Verilator to segfault before this patch.

In testing, verilation performance was not shown to be affected by this change.
Though there is a slight performance improvement from this patch, due to adding
one more check before refreshing class member cache.

Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2023-05-17 17:09:33 +00:00
Aylon Chaim Porat
d5de67c6dc
Fix wide structure VL_TOSTRING_W generation (#4188) (#4189)
* V3Common.cpp::makeVlToString: fix `VL_TOSTRING_W` statement generation to include width argument

* fix contribution name

* add testcase for long struct `VL_TO_STRING_W` bug
2023-05-10 20:34:44 -04:00
Wilson Snyder
485e230dd8 Commentary (#4187) 2023-05-10 17:51:22 -04:00
Wilson Snyder
d269fbb446 Add creating __inputs.vpp file with --debug (#4177). 2023-05-07 17:58:14 -04:00
Wilson Snyder
c2a524d80b Commentary (#4175) 2023-05-07 08:36:03 -04:00
Wilson Snyder
4bb876aee5 Fix false IMPLICITSTATIC on package functions. 2023-05-06 19:48:22 -04:00
Wilson Snyder
76f5de6e54 Replace flake8 with ruff for Python linting 2023-05-06 06:08:32 -04:00
Wilson Snyder
1a1c5c5d44 Internals: Fix pylint warning 2023-05-06 06:05:11 -04:00
Ethan Sifferman
64ab537b68
Add NEWERSTD warning when using feature in newer language standard (#4168) (#4172). 2023-05-05 22:36:51 -04:00
Wilson Snyder
3bb4e34044 Commentary 2023-05-04 19:04:38 -04:00
Jose Loyola
d693dc85e4
Add Github action to build and push docker images (#4163) 2023-05-04 07:44:55 -04:00
Tudor Timi
d9b5680a45
Fix crash caused by $display() optimization (#4165) (#4166) 2023-05-03 17:04:18 -04:00
february cozzocrea
707f230353
Commentary: Update install.rst help2man dependency (#4161) 2023-05-02 14:32:24 -04:00
Hennadii Chernyshchyk
949be9d0a1
Optimize VPI callValueCbs (#4155)
Co-authored-by: Oleh Maks <olehmaksa@gmail.com>
2023-05-02 07:28:56 -04:00
Wilson Snyder
e15f5266a3 Commentary: Changes update 2023-04-29 22:16:53 -04:00
Toru Niina
9130eb8b99
Fix DPI function type alias (#4148) (#4149) 2023-04-28 07:21:09 -04:00
Risto Pejašinović
f794180865
Fix hier attribute of --xml-only cell section to respect begin blocks (#4129) (#4133)
Co-authored-by: Risto Pejasinovic <risto.pejasinovic@cern.ch>
2023-04-24 07:28:29 -04:00
Eyck Jentzsch
df86e39845
Fix systemc namespace issues (#4126) (#4127)
* replaces use of "systemc.h" with <systemc> to avoid default namespace import
2023-04-17 06:57:29 -03:00
Wilson Snyder
fa16eff003 Commentary (#4118) 2023-04-14 06:46:53 -04:00
Wilson Snyder
663d6a1c8d Commentary 2023-04-09 10:23:35 -04:00
Krzysztof Bieganski
cdb61842d6
Internals: Remove VlNow (#4089)
`VlNow{}` is completely unnecessary, as coroutines are always on the
heap (unless optimized out). Also fix access of var ref passed to forked processes.
2023-04-06 10:31:52 -04:00
Wilson Snyder
05660d1118 Add CONSTRAINTIGN warning when constraint ignored. Likewise ignore constraint_mode, rand_mode. 2023-04-05 21:27:37 -04:00
Robert Balas
fc5a5ea53d
Commentary: Fix spelling mistakes (#4080)
Co-authored-by: Robert Balas <bluewww@users.noreply.github.com>
2023-04-01 20:45:28 -04:00
Srinivasan Venkataramanan
2290e6ccf2 Fix info message prints under --assert (#4036) (#4053) 2023-03-24 19:22:48 -04:00
Josep Sans
449ac44131
Fix _Vilp used before declaration (#4057) (#4062) 2023-03-24 11:51:02 +01:00