Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] master from verilator:master #614

Merged
merged 133 commits into from
Nov 21, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
133 commits
Select commit Hold shift + click to select a range
4e2c63c
Support concatenation of unpacked arrays (#4558)
yTakatsukasa Oct 15, 2023
4427f03
Fix error message for invalid parameter overrides (#4559)
donlon Oct 15, 2023
4fdaa46
Fix using functions/tasks following class definition inside module (#…
donlon Oct 15, 2023
bba3487
Internals: Fix hash and comparison function for AstBasicDType (#4564)
donlon Oct 15, 2023
25dde58
Internals: Use VN_AS instead of static_cast. Fix some wrong types. (#…
yTakatsukasa Oct 16, 2023
ad3bcbb
Support `disable fork` (#4125) (#4569)
kiryk Oct 16, 2023
bc9ff6d
Fix interface comparison (#4570)
kbieganski Oct 16, 2023
99ea16d
Fix dynamic triggers for named events (#4571)
kbieganski Oct 16, 2023
e99fd28
Make VNDeleter a member of VNVisitor. No function change. (#4573)
RRozak Oct 17, 2023
45edcbb
Fix logical expressions with class objects - caching in v3Const (#4552)
RRozak Oct 17, 2023
3bb9c7e
Fix dictionaries with keys of class types (#4576)
RRozak Oct 17, 2023
431bb1e
Support compiling Verilator with gcc/clang precompiled headers (#4579)
wsnyder Oct 18, 2023
770cd24
Apply 'make format'
Oct 18, 2023
13989b9
Tests: Add --binary with split, to check parallel builds
wsnyder Oct 18, 2023
3914176
Internals: Remove unused IGNORED to fix MSVC warning. No functional c…
wsnyder Oct 18, 2023
2862545
Fix MSVC makefile list (part of previous commit)
wsnyder Oct 18, 2023
51a1822
cmake: Fix missing headers
wsnyder Oct 18, 2023
b5828a7
Fix header order botched by clang-format in recent commit.
wsnyder Oct 18, 2023
8b44a54
Support Verilated precompiled header compilations (#4580)
wsnyder Oct 18, 2023
493f1da
Fix compile warning on unused member function variable (#4567).
wsnyder Oct 18, 2023
263697e
Commentary (#4580)
wsnyder Oct 18, 2023
8720841
Fix to not remap local assign intravals in forks (#4583)
kbieganski Oct 18, 2023
b7233d0
Internals: Fix same() called outside of sameTree (#4561).
wsnyder Oct 18, 2023
0c2bab1
Fix method narrowing conversion compiler error (#4568).
wsnyder Oct 18, 2023
5af271c
Fix display optimization ignoring side effects (#4585).
wsnyder Oct 19, 2023
a773a52
Cleanup some IEEE references
wsnyder Oct 19, 2023
4cc4213
Internals: Rename some parser rules. No functional change.
wsnyder Oct 20, 2023
05bb7fa
Tests: Use UVM with UVM_NO_DPI defined
wsnyder Oct 20, 2023
83a0085
Support `wait fork` (#4586)
kiryk Oct 20, 2023
c7a0613
Support Clang 16 (#4592)
mglb Oct 20, 2023
7b12f6a
Support NBAs in non-inlined functions/tasks (#4496) (#4572)
kbieganski Oct 21, 2023
f8b7fb7
Fix fault on empty clocking block (#4593).
wsnyder Oct 21, 2023
26e3785
Fix PLI/DPI user defined system task/function grammar (#4587) (#4588)
dwRchyngqxs Oct 21, 2023
cbc2f9e
Do not overwrite LD_LIBRARY_PATH in t_flag_ldflags
gezalore Oct 21, 2023
d1c7875
Fix conditionals on obsolete --threads 0
gezalore Oct 21, 2023
332a687
Commentary
wsnyder Oct 21, 2023
afaa027
CI: Increase CCACHE_MAXSIZE (#4595)
wsnyder Oct 21, 2023
1075b00
Consider children of AstConcat in V3InstrCount
gezalore Oct 21, 2023
eae942b
Internals: Fix some lint-py warnings
wsnyder Oct 21, 2023
b78ea06
Make VL_LOCK_SPINS configurable
gezalore Oct 21, 2023
10d3323
Do not merge entry/exit MTasks during coarsening
gezalore Oct 21, 2023
a09506a
Trivial simplification of V3EmitCModel
gezalore Oct 21, 2023
52f2b9e
Remove pointless test
gezalore Oct 21, 2023
146cdc0
Remove V3AstConstOnly.h
gezalore Oct 21, 2023
4c0edd2
Improve --prof-exec infrastructure and report
gezalore May 10, 2023
d330100
Create implicit nets for inputs of gate primitives.
gezalore Oct 21, 2023
978d900
Simplify and fix code stats
gezalore Oct 21, 2023
8256569
test driver.pl: don't redirect to STDOUT of interactive GDB
gezalore Oct 21, 2023
5bda901
Internals: Fix stats report to include main AstCFile made
wsnyder Oct 22, 2023
bcbe505
Internal: V3Graph style cleanup. No functional change
wsnyder Oct 22, 2023
b83b997
Fix gcc -O0 incompatible allocator warning
wsnyder Oct 22, 2023
33c5b5f
Add sv_vpi_user.h from IEEE 1800-2017 Annex M (#4606)
marlonjames Oct 23, 2023
774c103
Fix try_put method of unbounded mailbox (#4608)
RRozak Oct 23, 2023
165a2ef
Separate tracing of const values from non-const values
gezalore Oct 23, 2023
1bd3174
Apply 'make format'
Oct 23, 2023
d1b6224
Associate trace codes with function indices (#4610)
gezalore Oct 23, 2023
17721af
Remove unused IMPLICITWIRE var type
gezalore Oct 24, 2023
84125d7
Fix virtual methods (#4616)
RRozak Oct 24, 2023
95c4ade
Unify code generation for trace declarations in both trace formats (#…
gezalore Oct 24, 2023
cf6e362
Support VPI variables of real and string data types (#4594)
marlonjames Oct 25, 2023
f91259f
Fix insertion at queue's end (#4619)
kboronski-ant Oct 25, 2023
34708bb
Respect --dump-tree-addrids in tree dumps
gezalore Oct 25, 2023
a87fb57
Allow assigning events (#4403)
kboronski-ant Oct 26, 2023
9825263
Include systemc instead of systemc.h in model header files (#4622) (#…
PkmX Oct 26, 2023
64af831
Fix rand fields of reference types (#4627)
RRozak Oct 26, 2023
7395213
Tests: Fix clang_check_attributes missing dataclass decorator (#4604)…
kamilrakoczy Oct 27, 2023
e613598
Fix dynamic casts of null values (#4631)
RRozak Oct 27, 2023
89743aa
Fix stable name generation in V3Fork (#4615) (#4624)
kboronski-ant Oct 27, 2023
2cba167
Make eval loop construction more unified and the output more readable
gezalore Oct 28, 2023
a5951ba
test: make output deterministic
gezalore Oct 28, 2023
d842041
test: fix FST trace file names
gezalore Oct 28, 2023
30318a6
C++11 cleanup
gezalore Oct 28, 2023
d60f180
Avoid double traversal of maps
gezalore Oct 28, 2023
de4c606
make: add test-snap/test-diff targets (#4635)
gezalore Oct 28, 2023
e708670
Minor memory optimizatoin of AstUser*Allocator
gezalore Oct 28, 2023
7ba6647
Internals: Cleanup some V3Graph constructors/funcs and docs. No funct…
wsnyder Oct 29, 2023
3c144ad
Delete AstNode user5 (#4638)
gezalore Oct 29, 2023
3c6b755
Tests: Rename t_opt_dead
wsnyder Oct 29, 2023
1da1518
Update CONTRIBUTORS (#4641)
Icaro-Lima Oct 29, 2023
15046c6
Commentary: Icarus URL (#4639)
wsnyder Oct 30, 2023
c1c8b30
CI: Add lint-py action (#4640)
wsnyder Oct 30, 2023
f789d28
Fix signals read via virtual iface optimized out (#4645)
kbieganski Oct 31, 2023
c241ec9
Commentary: Changes update
wsnyder Oct 31, 2023
a27abab
Fix PCH to recompile on version change
wsnyder Oct 31, 2023
a764c70
Fix handling of static keyword in methods (#4649)
RRozak Oct 31, 2023
5901888
Commentary: Changes update
wsnyder Oct 31, 2023
67dfa37
Version bump
wsnyder Oct 31, 2023
839315b
devel release
wsnyder Oct 31, 2023
2a57ead
Commentary (#4517)
wsnyder Nov 1, 2023
8a77af7
Remove redundant user*ClearTree calls
gezalore Nov 2, 2023
ae6ec41
Remove dead code from V3EmitV
gezalore Nov 2, 2023
2733d43
Fix identifiers that end with '_' on Windows (#4655)
donlon Nov 2, 2023
d0d39c1
Fix linking parameterized hierarchical blocks and recursive hierarchi…
donlon Nov 3, 2023
eace1d9
Internals: Use UINFO for preproc debug, to avoid stderr/cout output r…
wsnyder Nov 4, 2023
88fcbf5
Fix interface parameters used in loop generate constructs (#4664) (#4…
donlon Nov 4, 2023
dc346b7
Remove deprecated options (#4663)
gezalore Nov 4, 2023
b110c55
Fix a memory leak in V3Fork (#4628)
kboronski-ant Nov 5, 2023
c563175
Fix scheduling of external force signals (#4668)
gezalore Nov 5, 2023
27102ea
CI: Combine lint and build workflows (#4671)
wsnyder Nov 6, 2023
dc10118
Fix C++20 compilation errors (#4670)
wsnyder Nov 6, 2023
5ba7084
Fix VPI TOP level variable iteration (#3919) (#4618)
marlonjames Nov 7, 2023
9a65ed4
Fix Mingw Compilation (#4675)
seppeon Nov 8, 2023
ab06ace
Fix trace when using SystemC with certain configurations (#4676)
donlon Nov 9, 2023
6566e85
Support ccache when compiling Verilator with CMake (#4678)
donlon Nov 10, 2023
f3ae4b8
Fix spelling
wsnyder Nov 11, 2023
9a0254a
Optimize timing-delayed queue (#4584). (#4669)
wsnyder Nov 11, 2023
4286af3
Commentary: Changes update
wsnyder Nov 11, 2023
706534f
Fix 'for' loop with outside variable reference (#4660).
wsnyder Nov 11, 2023
a64bdf5
Commentary
wsnyder Nov 11, 2023
4636a7f
Internals: Fix uninitalized variables (#4636)
wsnyder Nov 11, 2023
cad2780
Fix display with no % printing assoc array (#4376).
wsnyder Nov 11, 2023
4103925
Commentary: add docs/README.rst
wsnyder Nov 11, 2023
673f086
Commentary: Update contributors.
wsnyder Nov 11, 2023
99dbd23
Support passing constraints to --xml-only output (still otherwise uns…
wsnyder Nov 12, 2023
9d7f5bd
Internals: Dump CFunc entry points.
wsnyder Nov 12, 2023
4a10c9e
Internals: Rename. No functional change.
wsnyder Nov 12, 2023
91d0f25
Internals: Fix style of iterator. No functional change.
wsnyder Nov 12, 2023
30a0d62
Fix assignment of class reference to itself causing double free.
wsnyder Nov 12, 2023
eff2d97
Fix mis-elimination of variables across randomize()
wsnyder Nov 12, 2023
671a857
Fix compiler warning on 'wait' with non-zero constant.
wsnyder Nov 12, 2023
bea82de
Add node memory usage info to V3Stats (#4684)
gezalore Nov 12, 2023
b07ffb3
Cleanup V3Gate (#4667) (#4685)
gezalore Nov 12, 2023
1c0af6c
Reduce peak memory use of V3Subst (#4687)
gezalore Nov 12, 2023
47588f3
astgen: Enforce the use of aliased operand accessors (#4688)
gezalore Nov 12, 2023
2882737
V3Const: Fix select into And/Or/Xor pattern (#4689)
gezalore Nov 12, 2023
ee3ba7c
Internals: Use faster VNVisitorConst where able. No functional change…
wsnyder Nov 12, 2023
c8063e5
Internals: Misc cleanups in V3Graph and V3Dead. No functional change.
wsnyder Nov 13, 2023
9fd5634
Internals: Remove unneeded private's. No functional change
wsnyder Nov 14, 2023
2dba76a
Fix access type of function arguments (#4692) (#4694)
RRozak Nov 14, 2023
cc982ec
Fix range access to fields under classes that depend on parameter res…
kboronski-ant Nov 15, 2023
b8417ab
Fix dynamic NBAs with automatic vars (#4696)
kbieganski Nov 16, 2023
4650105
Fix conflicted namespace for coroutines (#4701) (#4707)
Phantom1003 Nov 21, 2023
ead27db
Apply 'make format'
Nov 21, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 2 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,8 @@ ForEachMacros:
SortIncludes: true
IncludeBlocks: Regroup
IncludeCategories:
- Regex: '"V3Pch.*\.h"'
Priority: -2 # Precompiled headers
- Regex: '"(config_build|verilated_config|verilatedos)\.h"'
Priority: -1 # Sepecials before main header
- Regex: '(<|")verilated.*'
Expand Down
31 changes: 29 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ jobs:
CC: ${{ matrix.compiler.cc }}
CXX: ${{ matrix.compiler.cxx }}
CACHE_BASE_KEY: build-${{ matrix.os }}-${{ matrix.compiler.cc }}-m32=${{ matrix.m32 }}
CCACHE_MAXSIZE: 250M # Per build matrix entry (2000M in total)
CCACHE_MAXSIZE: 1000M # Per build matrix entry (* 5 = 5000M in total)
VERILATOR_ARCHIVE: verilator-${{ github.sha }}-${{ matrix.os }}-${{ matrix.compiler.cc }}${{ matrix.m32 && '-m32' || '' }}.tar.gz
steps:

Expand Down Expand Up @@ -136,7 +136,7 @@ jobs:
CC: ${{ matrix.compiler.cc }}
CXX: ${{ matrix.compiler.cxx }}
CACHE_BASE_KEY: test-${{ matrix.os }}-${{ matrix.compiler.cc }}-m32=${{ matrix.m32 }}-${{ matrix.suite }}
CCACHE_MAXSIZE: 64M # Per build matrix entry (2160M in total)
CCACHE_MAXSIZE: 100M # Per build per suite (* 5 * 5 = 2500M in total)
VERILATOR_ARCHIVE: verilator-${{ github.sha }}-${{ matrix.os }}-${{ matrix.compiler.cc }}${{ matrix.m32 && '-m32' || '' }}.tar.gz
steps:

Expand Down Expand Up @@ -167,3 +167,30 @@ jobs:
env:
TESTS: ${{ matrix.suite }}
run: ./ci/ci-script.bash

lint-py:
runs-on: ubuntu-22.04
name: Lint Python
env:
CI_BUILD_STAGE_NAME: build
CI_RUNS_ON: ubuntu-22.04
CI_M32: 0
steps:
- name: Checkout
uses: actions/checkout@v3
with:
path: repo

- name: Install packages for build
run: ./ci/ci-install.bash

# We use specific version numbers, otherwise a Python package
# update may add a warning and break our build
- name: Install packages for lint
run: sudo pip3 install pylint==3.0.2 ruff==0.1.3 clang sphinx sphinx_rtd_theme sphinxcontrib-spelling breathe ruff

- name: Configure
run: autoconf && ./configure --enable-longtests --enable-ccwarn

- name: Lint
run: make -k lint-py
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -43,3 +43,4 @@ verilator-config-version.cmake
/.vscode/
/.idea/
/cmake-build-*/
/test_regress/snapshot/
25 changes: 23 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
cmake_minimum_required(VERSION 3.15)
cmake_policy(SET CMP0091 NEW) # Use MSVC_RUNTIME_LIBRARY to select the runtime
project(Verilator
VERSION 5.017
VERSION 5.019
HOMEPAGE_URL https://verilator.org
LANGUAGES CXX
)
Expand All @@ -35,7 +35,7 @@ if (NOT WIN32)
message(WARNING "CMake support on Linux/OSX is experimental.")
endif()

if (MSVC)
if (WIN32)
if (DEFINED ENV{WIN_FLEX_BISON})
set(WIN_FLEX_BISON "$ENV{WIN_FLEX_BISON}")
endif()
Expand All @@ -48,6 +48,27 @@ if (MSVC)
set(CMAKE_CXX_STANDARD 20)
endif()

set(OBJCACHE "" CACHE STRING "Path for ccache, auto-detected if empty")
option(OBJCACHE_ENABLED "Compile Verilator with ccache" ON)

if (OBJCACHE_ENABLED)
if (OBJCACHE STREQUAL "")
find_program(OBJCACHE_PATH ccache)
if (OBJCACHE_PATH STREQUAL "OBJCACHE_PATH-NOTFOUND")
set(OBJCACHE_PATH "")
endif()
else()
set(OBJCACHE_PATH "${OBJCACHE}")
endif()
if (NOT OBJCACHE_PATH STREQUAL "")
execute_process(COMMAND "${OBJCACHE_PATH}" --version
OUTPUT_VARIABLE objcache_version)
string(REGEX MATCH "[^\n\r]+" objcache_version "${objcache_version}")
message(STATUS "Found ccache: ${OBJCACHE_PATH} (\"${objcache_version}\")")
set(CMAKE_CXX_COMPILER_LAUNCHER "${OBJCACHE_PATH}")
endif()
endif()

find_package(BISON)
find_package(FLEX)

Expand Down
121 changes: 95 additions & 26 deletions Changes
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,66 @@ The changes in each Verilator version are described below. The
contributors that suggested a given feature are shown in []. Thanks!


Verilator 5.017 devel
Verilator 5.019 devel
==========================

**Major:**

* Support compilation with precompiled headers with Make and GCC or CLang.
* Change include of systemc instead of systemc.h (#4622) (#4623). [Chih-Mao Chen]
This may require that SystemC programs add 'using namespace sc_core', 'using namespace sc_dt'.

**Minor:**

* Support ccache when compiling Verilator with CMake (#4678). [Anthony Donlon]
* Support passing constraints to --xml-only output (still otherwise unsupported) (#4683). [Shahid Ikram]
* Remove deprecated options (#4663). [Geza Lore]
* Optimize timing-delayed queue (#4584). [qrqiuren]
* Fix VPI TOP level variable iteration (#3919) (#4618). [Marlon James]
* Fix display with no % printing assoc array (#4376). [Alex Solomatnikov]
* Fix scheduling of external force signals (#4577) (#4668). [Geza Lore]
* Fix a memory leak in V3Fork (#4628). [Krzysztof Boroński]
* Fix linking parameterized hierarchical blocks and recursive hierarchical blocks (#4654). [Anthony Donlon]
* Fix identifiers that end with '_' on Windows (#4655). [Anthony Donlon]
* Fix 'for' loop with outside variable reference (#4660). [David Harris]
* Fix interface parameters used in loop generate constructs (#4664) (#4665). [Anthony Donlon]
* Fix MingW compilation (#4675). [David Ledger]
* Fix trace when using SystemC with certain configurations (#4676). [Anthony Donlon]
* Fix C++20 compilation errors (#4670).


Verilator 5.018 2023-10-30
==========================

**Major:**

* Support compilation with precompiled headers with Make and GCC or CLang.
* Change include of systemc instead of systemc.h (#4622) (#4623). [Chih-Mao Chen]
This may require that SystemC programs add 'using namespace sc_core', 'using namespace sc_dt'.

**Minor:**

* Add SIDEEFFECT warning on mishandled side effect cases.
* Add trace() API even when Verilated without --trace (#4462). [phelter]
* Add warning on interface instantiation without parens (#4094). [Gökçe Aydos]
* Support randc (#4349).
* Add sv_vpi_user.h from IEEE 1800-2017 Annex M (#4606). [Marlon James]
* Support 'disable fork' (#4125) (#4569). [Aleksander Kiryk, Antmicro Ltd.]
* Support 'wait fork' (#4586). [Aleksander Kiryk, Antmicro Ltd.]
* Support 'randc' (#4349).
* Support assigning events (#4403). [Krzysztof Boroński]
* Support resizing function call inout arguments (#4467).
* Support NBAs in non-inlined functions/tasks (#4496) (#4572). [Krzysztof Bieganski, Antmicro Ltd.]
* Support converting parameters inside modules to localparams (#4511). [Anthony Donlon]
* Support concatenation of unpacked arrays (#4558). [Yutetsu TAKATSUKASA]
* Support Clang 16 (#4592). [Mariusz Glebocki]
* Support VPI variables of real and string data types (#4594). [Marlon James]
* Support making VL_LOCK_SPINS configurable (#4599). [Geza Lore]
* Change code --stats output (#4597). [Geza Lore]
* Change --prof-exec infrastructure and report (#4602). [Geza Lore]
* Change lint_off to not propagate upwards to files including where the lint_off is.
* Optimize empty expression statements (#4544).
* Optimize trace internals (#4610) (#4612). [Geza Lore]
* Optimize internal performance issues (#4638). [Geza Lore]
* Fix conversion of impure logical expressions to bit expressions (#487 partial) (#4437). [Ryszard Rozak, Antmicro Ltd.]
* Fix enum functions in localparams (#3999). [Andrew Nolte]
* Fix passing arguments by reference (#3385 partial) (#4489). [Ryszard Rozak, Antmicro Ltd.]
Expand All @@ -38,8 +85,30 @@ Verilator 5.017 devel
* Fix object destruction after a copy constructor (#4540) (#4541). [Ryszard Rozak, Antmicro Ltd.]
* Fix inlining of real functions miscasting (#4543). [Andrew Nolte]
* Fix broken link error for enum references (#4551). [Anthony Donlon]
* Fix logical expressions with class objects - caching in v3Const (#4552). [Ryszard Rozak, Antmicro Ltd.]
* Fix using functions/tasks following class definition inside module (#4553). [Anthony Donlon]
* Fix large constant buffer overflow (#4556). [Varun Koyyalagunta]
* Fix instance arrays connecting to array of structs (#4557). [raphmaster]
* Fix error message for invalid parameter overrides (#4559). [Anthony Donlon]
* Fix shift to remove operation side effects (#4563).
* Fix compile warning on unused member function variable (#4567).
* Fix method narrowing conversion compiler error (#4568).
* Fix interface comparison (#4570). [Krzysztof Bieganski, Antmicro Ltd.]
* Fix dynamic triggers for named events (#4571). [Krzysztof Bieganski, Antmicro Ltd.]
* Fix dictionaries with keys of class types (#4576). [Ryszard Rozak, Antmicro Ltd.]
* Fix to not remap local assign intervals in forks (#4583). [Krzysztof Bieganski, Antmicro Ltd.]
* Fix display optimization ignoring side effects (#4585).
* Fix PLI/DPI user defined system task/function grammar (#4587) (#4588). [Quentin Corradi]
* Fix fault on empty clocking block (#4593). [Alex Mykyta]
* Fix creating implicit nets for inputs of gate primitives (#4603). [Geza Lore]
* Fix try_put method of unbounded mailbox (#4608). [Ryszard Rozak, Antmicro Ltd.]
* Fix stable name generation in V3Fork (#4615) (#4624). [Krzysztof Boroński]
* Fix virtual methods (#4616). [Ryszard Rozak, Antmicro Ltd.]
* Fix insertion at queue end (#4619). [Krzysztof Boroński]
* Fix rand fields of reference types (#4627). [Ryszard Rozak, Antmicro Ltd.]
* Fix dynamic casts of null values (#4631). [Ryszard Rozak, Antmicro Ltd.]
* Fix signals read via virtual interfaces being misoptimized (#4645). [Krzysztof Bieganski, Antmicro Ltd.]
* Fix handling of static keyword in methods (#4649). [Ryszard Rozak, Antmicro Ltd.]
* Fix preprocessor to show `line 2 on resumed file.


Expand Down Expand Up @@ -469,7 +538,7 @@ Verilator 5.002 2022-10-29
* Fix null access on optimized-out fork statements (#3658). [Krzysztof Bieganski, Antmicro Ltd]
* Fix VPI inline module naming mismatch (#3690) (#3694). [Jiuyang Liu]
* Fix deadlock in timeprecision when using SystemC (#3707). [Kamil Rakoczy, Antmicro Ltd]
* Fix width mismatch on inside operator (#3714). [Alex Torregrosa]
* Fix width mismatch on inside operator (#3714). [Àlex Torregrosa]


Verilator 4.228 2022-10-01
Expand Down Expand Up @@ -699,7 +768,7 @@ Verilator 4.214 2021-10-17
* Fix removing if statement with side effect in condition (#3131). [Alexander Grobman]
* Fix --waiver-output for multiline warnings (#2429) (#3141). [Keith Colbert]
* Fix internal error on bad widths (#3140) (#3145). [Zhanglei Wang]
* Fix crash on clang 12/13 (#3148). [Kouping Hsu]
* Fix crash on clang 12/13 (#3148). [Kuoping Hsu]
* Fix cygwin compile error due to missing -std=gnu++14 (#3149). [Sun Kim]
* Fix $urandom_range when the range is 0 ... UINT_MAX (#3161). [Iru Cai]
* Fix constructor-parameter argument comma-separation in C++ (#3162). [Matthew Ballance]
Expand Down Expand Up @@ -814,12 +883,12 @@ Verilator 4.202 2021-04-24
* Mark --no-relative-cfuncs as scheduled for deprecation.
* Add --coverage-max-width (#2853). [xuejiazidi]
* Add VerilatedCovContext::forcePerInstance (#2793). [Kevin Laeufer]
* Add FST SystemC tracing (#2806). [Alex Torregrosa]
* Add FST SystemC tracing (#2806). [Àlex Torregrosa]
* Add PINNOTFOUND warning in place of error (#2868). [Udi Finkelstein]
* Support overlaps in priority case statements (#2864). [Rupert Swarbrick]
* Support for null ports (#2875). [Udi Finkelstein]
* Fix class unpacked-array compile error (#2774). [Iru Cai]
* Fix scope types in FST and VCD traces (#2805). [Alex Torregrosa]
* Fix scope types in FST and VCD traces (#2805). [Àlex Torregrosa]
* Fix exceeding command-line ar limit (#2834). [Yinan Xu]
* Fix false $dumpfile warning on model save (#2834). [Yinan Xu]
* Fix --timescale-override not suppressing TIMESCALEMOD (#2838). [Kaleb Barrett]
Expand Down Expand Up @@ -876,7 +945,7 @@ Verilator 4.110 2021-02-25
**Minor:**

* Support concat selection (#2721).
* Support struct scopes when dumping structs to VCD (#2776) [Alex Torregrosa]
* Support struct scopes when dumping structs to VCD (#2776) [Àlex Torregrosa]
* Generate SELRANGE for potentially unreachable code (#2625) (#2754) [Pierre-Henri Horrein]
* For --flatten, override inlining of public and no_inline modules (#2761) [James Hanlon]
* Fix little endian interface pin swizzling (#2475). [Don Owen]
Expand All @@ -887,7 +956,7 @@ Verilator 4.110 2021-02-25
* Fix class extends with VM_PARALLEL_BUILDS (#2775). [Iru Cai]
* Fix shifts by > 32 bit values (#2785). [qrq992]
* Fix examples not flushing vcd (#2787). [Richard E George]
* Fix little endian packed array pattern assignment (#2795). [Alex Torregrosa]
* Fix little endian packed array pattern assignment (#2795). [Àlex Torregrosa]


Verilator 4.108 2021-01-10
Expand Down Expand Up @@ -1363,7 +1432,7 @@ Verilator 4.014 2019-05-08
**Minor:**

* Add --trace-fst-thread.
* Support '#' comments in $readmem. (#1411) [Frederick Requin]
* Support '#' comments in $readmem. (#1411) [Frédéric Requin]
* Support "'dx" constants. (#1423) [Udi Finkelstein]
* For FST tracing use LZ4 compression. [Tony Bybell]
* Add error when use parameters without value. (#1424) [Peter Gerst]
Expand Down Expand Up @@ -1633,19 +1702,19 @@ Verilator 3.912 2017-09-23

**Minor:**

* Support or/and/xor array intrinsic methods. (#1210) [Mike Popoloski]
* Support or/and/xor array intrinsic methods. (#1210) [Michael Popoloski]
* Support package export. (#1217) [Usuario Eda]
* Support module port parameters without defaults. (#1213) [Mike Popoloski]
* Support module port parameters without defaults. (#1213) [Michael Popoloski]
* Add performance information to --stats file.
* Simplify VL_CONST_W macro generation for faster compiles.
* Optimize improvements for Shift-And, and replication constructs.
* Fix ordering of arrayed cell wide connections. (#1202 partial) [Mike Popoloski]
* Fix LITENDIAN warning on arrayed cells. (#1202) [Mike Popoloski]
* Fix enum ranges without colons. (#1204) [Mike Popoloski]
* Fix GCC noreturn compile error. (#1209) [Mike Popoloski]
* Fix constant function default parameters. (#1211) [Mike Popoloski]
* Fix non-colon array of interface modports. (#1212) [Mike Popoloski]
* Fix .name connections on interfaces. (#1214) [Mike Popoloski]
* Fix ordering of arrayed cell wide connections. (#1202 partial) [Michael Popoloski]
* Fix LITENDIAN warning on arrayed cells. (#1202) [Michael Popoloski]
* Fix enum ranges without colons. (#1204) [Michael Popoloski]
* Fix GCC noreturn compile error. (#1209) [Michael Popoloski]
* Fix constant function default parameters. (#1211) [Michael Popoloski]
* Fix non-colon array of interface modports. (#1212) [Michael Popoloski]
* Fix .name connections on interfaces. (#1214) [Michael Popoloski]
* Fix wide array indices causing compile error.


Expand Down Expand Up @@ -1767,8 +1836,8 @@ Verilator 3.888 2016-10-14

**Minor:**

* Add --no-decoration to remove output comments, msg2015. [Frederic Requin]
* If VM_PARALLEL_BUILDS=1, use OPT_FAST and OPT_SLOW. [Frederic Requin]
* Add --no-decoration to remove output comments, msg2015. [Frédéric Requin]
* If VM_PARALLEL_BUILDS=1, use OPT_FAST and OPT_SLOW. [Frédéric Requin]
Set VM_DEFAULT_RULES=0 for old behavior.
* Add error on DPI functions > 32 bits. (#1898) [Elliot Mednick]
* Improve Verilation performance on internal strings. (#1896) [Johan Bjork]
Expand Down Expand Up @@ -1804,7 +1873,7 @@ Verilator 3.884 2016-05-18
* Fix --output-split of constructors. (#1035) [Johan Bjork]
* Fix removal of empty packages, modules and cells. (#1034) [Johan Bjork]
* Fix core dump on Arch Linux/GCC 6.1.1. (#1058) [Jannis Harder]
* Fix $value$plusargs to string. (#1880) [Frederic Requin]
* Fix $value$plusargs to string. (#1880) [Frédéric Requin]


Verilator 3.882 2016-03-01
Expand Down Expand Up @@ -1883,13 +1952,13 @@ Verilator 3.876 2015-08-12

**Minor:**

* Add tracing_on, etc to vlt files. (#932) [Frederic Requin]
* Add tracing_on, etc to vlt files. (#932) [Frédéric Requin]
* Support extraction of enum bits. (#951) [Jonathon Donaldson]
* Fix MinGW compiler error. (#927) (#929) [Hans Tichelaar]
* Fix .c files to be treated as .cpp. (#930) [Jonathon Donaldson]
* Fix string-to-int space conversion. (#931) [Fabrizio Ferrandi]
* Fix dpi imports inside generates. [Michael Tresidder]
* Fix rounding in trace $timescale. (#946) [Frederic Requin]
* Fix rounding in trace $timescale. (#946) [Frédéric Requin]
* Fix $fopen with SV string. (#947) [Sven Stucki]
* Fix hashed error with typedef inside block. (#948) [Sven Stucki]
* Fix makefile with --coverage. (#953) [Eivind Liland]
Expand Down Expand Up @@ -2129,7 +2198,7 @@ Verilator 3.852 2013-09-29

* Support named function and task arguments. [Chris Randall]
* Report SELRANGE warning for non-generate if. (#675) [Roland Kruse]
* Fix ordering of $fgetc. (#1808) [Frederic Requin]
* Fix ordering of $fgetc. (#1808) [Frédéric Requin]
* Fix --output-split-cfunc to count internal functions. [Chris Randall]
* Fix crash on 32-bit Ubuntu. (#670) [Mark Jackson Pulver]

Expand Down Expand Up @@ -2197,7 +2266,7 @@ Verilator 3.846 2013-03-09
* Fix DETECTARRAY on packed structures. (#610) [Jeremy Bennett]
* Fix LITENDIAN on unpacked structures. (#614) [Wai Sum Mong]
* Fix 32-bit OS VPI scan issue. (#615) [Jeremy Bennett, Rich Porter]
* Fix opening a VerilatedVcdC file multiple times. (#1774) [Frederic Requin]
* Fix opening a VerilatedVcdC file multiple times. (#1774) [Frédéric Requin]
* Fix UNOPTFLAT circular array bounds crossing. (#630) [Jie Xu]


Expand Down Expand Up @@ -3509,7 +3578,7 @@ Verilator 3.460 2005-07-27 Beta
* Fix false warning when a clock is constant.
* Fix X/Z in decimal numbers. [Wim Michiels]
* Fix genvar statements in non-named generate blocks.
* Fix core dump when missing newline in `define. [David van der bokke]
* Fix core dump when missing newline in `define. [David van der Bokke]


Verilator 3.450 2005-07-12
Expand Down
14 changes: 12 additions & 2 deletions Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,10 @@ smoke-test: all_nomsg
test_regress: all_nomsg
$(MAKE) -C test_regress

.PHONY: test-snap test-diff
test-snap test-diff:
$(MAKE) -C test_regress $@

examples: all_nomsg
for p in $(EXAMPLES) ; do \
$(MAKE) -C $$p VERILATOR_ROOT=`pwd` || exit 10; \
Expand Down Expand Up @@ -430,9 +434,15 @@ PYLINT_FLAGS = --score=n --disable=R0801
RUFF = ruff
RUFF_FLAGS = check --ignore=E402,E501,E701

# "make -k" so can see all tool result errors
lint-py:
-$(PYLINT) $(PYLINT_FLAGS) $(PY_PROGRAMS)
-$(RUFF) $(RUFF_FLAGS) $(PY_PROGRAMS)
$(MAKE) -k lint-py-pylint lint-py-ruff

lint-py-pylint:
$(PYLINT) $(PYLINT_FLAGS) $(PY_PROGRAMS)

lint-py-ruff:
$(RUFF) $(RUFF_FLAGS) $(PY_PROGRAMS)

format-pl-exec:
-chmod a+x test_regress/t/*.pl
Expand Down
2 changes: 1 addition & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ the terms of either the GNU Lesser General Public License Version 3 or the
Perl Artistic License Version 2.0. See the documentation for more details.

.. _CHIPS Alliance: https://chipsalliance.org
.. _Icarus Verilog: http://iverilog.icarus.com
.. _Icarus Verilog: https://steveicarus.github.io/iverilog
.. _Linux Foundation: https://www.linuxfoundation.org
.. |Logo| image:: https://www.veripool.org/img/verilator_256_200_min.png
.. |verilator multithreaded performance| image:: https://www.veripool.org/img/verilator_multithreaded_performance_bg-min.png
Expand Down
Loading