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 #623

Merged
merged 95 commits into from
Oct 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
95 commits
Select commit Hold shift + click to select a range
77fc771
Tests: Fix missing stdout on execute()
wsnyder Sep 14, 2024
19170ba
Fix warning IEEE reference (#5453)
wsnyder Sep 15, 2024
48a607c
Internals: Cleanup Makefile.in to commented sections. No functional c…
wsnyder Sep 15, 2024
99a29ac
CI: One-time yamlfix cleanups. No functional change intended.
wsnyder Sep 15, 2024
c8de363
Tests: Fix driver error report, and passing `--dumpi-tree`
wsnyder Sep 16, 2024
195a665
Internals: Fix V3LinkDot debug message print
wsnyder Sep 16, 2024
b8bda72
Tests: Fix debug message
wsnyder Sep 17, 2024
fb04765
Fix class reference with pin that is a class reference (#5454).
wsnyder Sep 17, 2024
7081ea0
Support as a task call
wsnyder Sep 18, 2024
0f3e0de
Commentary
wsnyder Sep 18, 2024
f251f7b
Tests: CONSTRIAINTIGN, ZERODLY no longer need suppression on UVM
wsnyder Sep 18, 2024
371a405
Fix false LIFETIME warning on `repeat` in `fork-join` (#5456).
wsnyder Sep 19, 2024
dd95e03
Support inside array constraints (#5448)
kozdra Sep 19, 2024
62a58f4
Fix latest pylint issues (#5465)
gezalore Sep 19, 2024
c7e1358
Tests: Fix --gdb with one test (#5466)
wsnyder Sep 19, 2024
49bccb5
Commentary
wsnyder Sep 19, 2024
f63168a
CI: More parallelism
wsnyder Sep 19, 2024
1543b20
Tests: Move per-command expect= to instead check logfiles
wsnyder Sep 19, 2024
e990415
Tests: Improve driver performance with forkserver
wsnyder Sep 19, 2024
175e1dd
Tests: Run t_hier_block_cmake.py first so finishes
wsnyder Sep 19, 2024
7011243
Support packed/unpacked and dynamic array unconstrained randomization…
YilouWang Sep 20, 2024
e2041f7
Commentary: Changes update
wsnyder Sep 20, 2024
579257b
Tests: Fix driver not accepting debug pass-down flags to Verilator, b…
wsnyder Sep 20, 2024
87eef36
Tests: Fix driver race sometimes missing final log data
wsnyder Sep 20, 2024
02e88e3
Fix suppression of WIDTH* warnings when immediately under a size cast…
wsnyder Sep 20, 2024
f0fb0b0
Internals: Misc V3Param cleanups.
wsnyder Sep 20, 2024
1665d15
Fix user-type parameter overlap (#5469)
toddstrader Sep 20, 2024
92dd8ee
Fix timing mode not exiting on empty events (#5472).
wsnyder Sep 20, 2024
80cba78
Internals: Remove V3LinkParse's need of class links. No functional ch…
wsnyder Sep 20, 2024
5a6f2b6
Tests: Avoid multiple lint/compile runs in one test; hard to debug
wsnyder Sep 21, 2024
774ec42
Internals: Experimental cleanup; avoid :: on package symbol tables
wsnyder Sep 21, 2024
0ee214a
Tests: Fix t_timing_fork_comb_bad committed earlier
wsnyder Sep 21, 2024
0484143
Tests: Update t_timing_finish (#5472)
wsnyder Sep 21, 2024
48faf8d
Fix tracing when name() is empty (#5470).
wsnyder Sep 21, 2024
2c52119
Tests: Rename some tests into proper groups. No functional change.
wsnyder Sep 21, 2024
a6e9bce
driver.py: consume all stdout from subprocess (#5476)
gezalore Sep 21, 2024
59b0752
driver.py: fix aslr_off (#5477)
gezalore Sep 21, 2024
e7de2c5
Remove warning on unsized numbers exceeding 32-bits.
wsnyder Sep 21, 2024
5f39c69
Delay parameter type assignment determination until elaboration
wsnyder Sep 22, 2024
888af29
Delay struct type determination until elaboration
wsnyder Sep 22, 2024
9f9770e
Parse elaboration-time nettype declarations (as UNSUPPORTED)
wsnyder Sep 22, 2024
a1a74cb
Fix mis-parsing of `constraint = new`.
wsnyder Sep 22, 2024
9021587
Tests: Improve t_dist_warn_coverage.py
wsnyder Sep 22, 2024
2584bef
Internals: Show tree traversal in V3LinkDot Resolve debug. No functio…
wsnyder Sep 22, 2024
88bd479
Add error on instances without parenthesis.
wsnyder Sep 22, 2024
b176192
Documentation: Highlight syntax in install.rst (#5478)
cbachhuber Sep 22, 2024
d288488
Fix --binary with .cpp PLI filenames under relative directory paths.
wsnyder Sep 22, 2024
706679e
Support DPI imports and exports with double underscores.
wsnyder Sep 23, 2024
670b7c5
Support DPI imports and exports with double underscores (#5481).
wsnyder Sep 23, 2024
0aa8356
Change `--main` and `--binary` to use a TOP hierarchy name of "" (#54…
wsnyder Sep 23, 2024
c48d805
Fix extra dot in coverage point hierarchy when using name()=''.
wsnyder Sep 23, 2024
685ea0b
Add Docker pre-commit hook (#5238) (#5452)
cbachhuber Sep 23, 2024
5a65d27
Internals: bisonpre: Support -Wcounterexamples
wsnyder Sep 24, 2024
4ec75b2
Fix over-permissive parsing of UDPs without identifiers
wsnyder Sep 24, 2024
811eab8
Fix short-circuting with associative array access (#5484).
wsnyder Sep 24, 2024
3ae18af
Fix short-circuting on method calls (#5486).
wsnyder Sep 25, 2024
a4085f3
Internals: Standardize format of CMake files with gersemi. No functio…
wsnyder Sep 25, 2024
6c61a9a
Support objcache when compiling Verilated files with cmake.
wsnyder Sep 25, 2024
3bc09d4
Generate one trigger per SenItem instead of per SenTree (#5483)
gezalore Sep 25, 2024
650da7b
Examples: Cleanup some spacing
wsnyder Sep 25, 2024
a3bbf13
Internals: Minor parser reorgs in prep for future pull. No functional…
wsnyder Sep 26, 2024
798bbe9
Add syntax error on empty case items, per IEEE grammar.
wsnyder Sep 26, 2024
91c8866
Fix exponential ConcatN (#5488)
kozdra Sep 26, 2024
2a01365
Fix V3Table trying to generate 'x' bits in the lookup table. (#5491)
gezalore Sep 26, 2024
02e7767
Fix randomize with foreach constraints (#5492)
kozdra Sep 26, 2024
2291d3d
Tests: Fix some non-IEEE issues in tests.
wsnyder Sep 27, 2024
5b56c80
Better error recovery (#5493)
kozdra Sep 27, 2024
1dc6fd3
Internals: Move interface error to later phase, prep for later commit…
wsnyder Sep 28, 2024
5c923d6
Fix to avoid IMPLICIT creation if data type of same name.
wsnyder Sep 28, 2024
d0ec609
Change package import/export to link post-parsing, prep for later com…
wsnyder Sep 29, 2024
afeca21
Internals: For debug, quote symbol table to see spaces.
wsnyder Sep 29, 2024
b7e5486
Internals: Fix astgen spacing
wsnyder Sep 29, 2024
13a1240
Commentary: Changes update
wsnyder Sep 30, 2024
1a31aa5
Internals: Fix annotation checker not considering base class virtual …
b-chmiel Oct 1, 2024
0547108
Add `-output-groups` to build with concatenated .cpp files (#5257)
mglb Oct 1, 2024
03012da
Internals: astgen: Detect bad node types after edits.
wsnyder Oct 1, 2024
39143cc
Fix explicit CMAKE_INSTALL_PREFIX usages (#5500)
Febbe Oct 1, 2024
c05c48a
Support unpacked array Constrained Randomization (#5437) (#5489)
YilouWang Oct 2, 2024
bf2b4e1
Fix equivalence checking when replacing type parameters (#5213) (#5255)
rhanqtl Oct 3, 2024
b90b81e
Tests: Fix string !== for other simulators.
wsnyder Oct 2, 2024
5546539
Commentary: Move C++20 deprec to after Ubuntu 20.04 EOL
wsnyder Oct 3, 2024
4bdfc65
Add error on misused genvar (#408).
wsnyder Oct 3, 2024
c300075
Tests: Remove driver Python version package requirement (#5505)
wsnyder Oct 3, 2024
ff1d20d
Tests: Add t_struct_initial_assign, still fails (#5380) (#5381).
wsnyder Oct 4, 2024
3572bd2
Fix configure inserting absolute paths for Python and Perl (#5504) (#…
ngraybeal Oct 4, 2024
85909f0
Commentary
wsnyder Oct 4, 2024
8638e46
Fix IEEE version number
wsnyder Oct 4, 2024
d06f986
Add elaboration dot-error message context, plus debug improvements
wsnyder Oct 4, 2024
fd9f5ab
Fix not reporting class reference with extra parameters (#5467).
wsnyder Oct 4, 2024
4b713e9
Fix pattern initialization with typedef key (#5512).
wsnyder Oct 6, 2024
bdd37e4
Apply 'make format'
Oct 6, 2024
d528227
Tests: Fix driver for --iv etc
wsnyder Oct 6, 2024
bc8a332
Tests: Disable last test due to clang warning
wsnyder Oct 6, 2024
28ecd8e
Support `local` and `protected` on `typedef` (#5460).
wsnyder Oct 6, 2024
0827964
Apply 'make format'
Oct 6, 2024
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
  •  
  •  
  •  
8 changes: 4 additions & 4 deletions .codacy.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
exclude_paths:
- '.github/**'
- 'ci/build_verilator.sh'
- 'include/vltstd/**'
- 'nodist/fastcov.py'
- ".github/**"
- "ci/build_verilator.sh"
- "include/vltstd/**"
- "nodist/fastcov.py"
180 changes: 90 additions & 90 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
---
# DESCRIPTION: Github actions config
# This name is key to badges in README.rst, so we use the name build
# SPDX-License-Identifier: LGPL-3.0-only OR Artistic-2.0
Expand All @@ -9,7 +10,7 @@ on:
pull_request:
workflow_dispatch:
schedule:
- cron: '0 0 * * 0' # weekly
- cron: '0 0 * * 0' # weekly

env:
CI_OS_NAME: linux
Expand Down Expand Up @@ -37,12 +38,12 @@ jobs:
matrix:
os: [ubuntu-24.04, ubuntu-22.04, ubuntu-20.04]
compiler:
- { cc: clang, cxx: clang++ }
- { cc: gcc, cxx: g++ }
- {cc: clang, cxx: clang++}
- {cc: gcc, cxx: g++}
include:
# Build GCC 10 on ubuntu-20.04
- os: ubuntu-20.04
compiler: { cc: gcc-10, cxx: g++-10 }
compiler: {cc: gcc-10, cxx: g++-10}
runs-on: ${{ matrix.os }}
name: Build | ${{ matrix.os }} | ${{ matrix.compiler.cc }}
env:
Expand All @@ -51,41 +52,40 @@ jobs:
CC: ${{ matrix.compiler.cc }}
CXX: ${{ matrix.compiler.cxx }}
CACHE_BASE_KEY: build-${{ matrix.os }}-${{ matrix.compiler.cc }}
CCACHE_MAXSIZE: 1000M # Per build matrix entry (* 5 = 5000M in total)
CCACHE_MAXSIZE: 1000M # Per build matrix entry (* 5 = 5000M in total)
VERILATOR_ARCHIVE: verilator-${{ github.sha }}-${{ matrix.os }}-${{ matrix.compiler.cc }}.tar.gz
steps:

- name: Checkout
uses: actions/checkout@v4
with:
path: repo

- name: Cache $CCACHE_DIR
uses: actions/cache@v4
env:
CACHE_KEY: ${{ env.CACHE_BASE_KEY }}-ccache
with:
path: ${{ env.CCACHE_DIR }}
key: ${{ env.CACHE_KEY }}-${{ github.sha }}
restore-keys: |
${{ env.CACHE_KEY }}-

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

- name: Build
run: ./ci/ci-script.bash

- name: Tar up repository
working-directory: ${{ github.workspace }}
run: tar --posix -c -z -f ${{ env.VERILATOR_ARCHIVE }} repo

- name: Upload tar archive
uses: actions/upload-artifact@v4
with:
path: ${{ github.workspace }}/${{ env.VERILATOR_ARCHIVE }}
name: ${{ env.VERILATOR_ARCHIVE }}

- name: Checkout
uses: actions/checkout@v4
with:
path: repo

- name: Cache $CCACHE_DIR
uses: actions/cache@v4
env:
CACHE_KEY: ${{ env.CACHE_BASE_KEY }}-ccache
with:
path: ${{ env.CCACHE_DIR }}
key: ${{ env.CACHE_KEY }}-${{ github.sha }}
restore-keys: |
${{ env.CACHE_KEY }}-

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

- name: Build
run: ./ci/ci-script.bash

- name: Tar up repository
working-directory: ${{ github.workspace }}
run: tar --posix -c -z -f ${{ env.VERILATOR_ARCHIVE }} repo

- name: Upload tar archive
uses: actions/upload-artifact@v4
with:
path: ${{ github.workspace }}/${{ env.VERILATOR_ARCHIVE }}
name: ${{ env.VERILATOR_ARCHIVE }}

test:
needs: build
Expand All @@ -94,25 +94,25 @@ jobs:
matrix:
os: [ubuntu-22.04, ubuntu-20.04]
compiler:
- { cc: clang, cxx: clang++ }
- { cc: gcc, cxx: g++ }
- {cc: clang, cxx: clang++}
- {cc: gcc, cxx: g++}
reloc: [0]
suite: [dist-vlt-0, dist-vlt-1, dist-vlt-2, dist-vlt-3, vltmt-0, vltmt-1]
include:
# Test with GCC 10 on ubuntu-20.04, also test relocation
- {os: ubuntu-20.04, compiler: { cc: gcc-10, cxx: g++-10 }, reloc: 1, suite: dist-vlt-0}
- {os: ubuntu-20.04, compiler: { cc: gcc-10, cxx: g++-10 }, reloc: 1, suite: dist-vlt-1}
- {os: ubuntu-20.04, compiler: { cc: gcc-10, cxx: g++-10 }, reloc: 1, suite: dist-vlt-2}
- {os: ubuntu-20.04, compiler: { cc: gcc-10, cxx: g++-10 }, reloc: 1, suite: dist-vlt-3}
- {os: ubuntu-20.04, compiler: { cc: gcc-10, cxx: g++-10 }, reloc: 1, suite: vltmt-0}
- {os: ubuntu-20.04, compiler: { cc: gcc-10, cxx: g++-10 }, reloc: 1, suite: vltmt-1}
- {os: ubuntu-20.04, compiler: {cc: gcc-10, cxx: g++-10}, reloc: 1, suite: dist-vlt-0}
- {os: ubuntu-20.04, compiler: {cc: gcc-10, cxx: g++-10}, reloc: 1, suite: dist-vlt-1}
- {os: ubuntu-20.04, compiler: {cc: gcc-10, cxx: g++-10}, reloc: 1, suite: dist-vlt-2}
- {os: ubuntu-20.04, compiler: {cc: gcc-10, cxx: g++-10}, reloc: 1, suite: dist-vlt-3}
- {os: ubuntu-20.04, compiler: {cc: gcc-10, cxx: g++-10}, reloc: 1, suite: vltmt-0}
- {os: ubuntu-20.04, compiler: {cc: gcc-10, cxx: g++-10}, reloc: 1, suite: vltmt-1}
# Ubuntu 24.04 only on GCC; not passing on clang yet
- {os: ubuntu-24.04, compiler: { cc: gcc, cxx: g++ }, suite: dist-vlt-0}
- {os: ubuntu-24.04, compiler: { cc: gcc, cxx: g++ }, suite: dist-vlt-1}
- {os: ubuntu-24.04, compiler: { cc: gcc, cxx: g++ }, suite: dist-vlt-2}
- {os: ubuntu-24.04, compiler: { cc: gcc, cxx: g++ }, suite: dist-vlt-3}
- {os: ubuntu-24.04, compiler: { cc: gcc, cxx: g++ }, suite: vltmt-0}
- {os: ubuntu-24.04, compiler: { cc: gcc, cxx: g++ }, suite: vltmt-1}
- {os: ubuntu-24.04, compiler: {cc: gcc, cxx: g++}, suite: dist-vlt-0}
- {os: ubuntu-24.04, compiler: {cc: gcc, cxx: g++}, suite: dist-vlt-1}
- {os: ubuntu-24.04, compiler: {cc: gcc, cxx: g++}, suite: dist-vlt-2}
- {os: ubuntu-24.04, compiler: {cc: gcc, cxx: g++}, suite: dist-vlt-3}
- {os: ubuntu-24.04, compiler: {cc: gcc, cxx: g++}, suite: vltmt-0}
- {os: ubuntu-24.04, compiler: {cc: gcc, cxx: g++}, suite: vltmt-1}
runs-on: ${{ matrix.os }}
name: Test | ${{ matrix.os }} | ${{ matrix.compiler.cc }} | ${{ matrix.reloc && 'reloc | ' || '' }} ${{ matrix.suite }}
env:
Expand All @@ -122,37 +122,37 @@ jobs:
CC: ${{ matrix.compiler.cc }}
CXX: ${{ matrix.compiler.cxx }}
CACHE_BASE_KEY: test-${{ matrix.os }}-${{ matrix.compiler.cc }}-${{ matrix.reloc }}-${{ matrix.suite }}
CCACHE_MAXSIZE: 100M # Per build per suite (* 5 * 5 = 2500M in total)
CCACHE_MAXSIZE: 100M # Per build per suite (* 5 * 5 = 2500M in total)
VERILATOR_ARCHIVE: verilator-${{ github.sha }}-${{ matrix.os }}-${{ matrix.compiler.cc }}.tar.gz
steps:

- name: Download tar archive
uses: actions/download-artifact@v4
with:
name: ${{ env.VERILATOR_ARCHIVE }}
path: ${{ github.workspace }}

- name: Unpack tar archive
working-directory: ${{ github.workspace }}
run: tar -x -z -f ${{ env.VERILATOR_ARCHIVE }}

- name: Cache $CCACHE_DIR
uses: actions/cache@v4
env:
CACHE_KEY: ${{ env.CACHE_BASE_KEY }}-ccache2
with:
path: ${{ env.CCACHE_DIR }}
key: ${{ env.CACHE_KEY }}-${{ github.sha }}
restore-keys: |
${{ env.CACHE_KEY }}-

- name: Install test dependencies
run: ./ci/ci-install.bash

- name: Test
env:
TESTS: ${{ matrix.suite }}
run: ./ci/ci-script.bash
- name: Download tar archive
uses: actions/download-artifact@v4
with:
name: ${{ env.VERILATOR_ARCHIVE }}
path: ${{ github.workspace }}

- name: Unpack tar archive
working-directory: ${{ github.workspace }}
run: tar -x -z -f ${{ env.VERILATOR_ARCHIVE }}

- name: Cache $CCACHE_DIR
uses: actions/cache@v4
env:
CACHE_KEY: ${{ env.CACHE_BASE_KEY }}-ccache2
with:
path: ${{ env.CCACHE_DIR }}
key: ${{ env.CACHE_KEY }}-${{ github.sha }}
restore-keys: |
${{ env.CACHE_KEY }}-

- name: Install test dependencies
run: ./ci/ci-install.bash

- name: Test
env:
TESTS: ${{ matrix.suite }}
run: ./ci/ci-script.bash

lint-py:
runs-on: ubuntu-22.04
Expand All @@ -161,21 +161,21 @@ jobs:
CI_BUILD_STAGE_NAME: build
CI_RUNS_ON: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
with:
path: repo
- name: Checkout
uses: actions/checkout@v4
with:
path: repo

- name: Install packages for build
run: ./ci/ci-install.bash
- 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: 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: Configure
run: autoconf && ./configure --enable-longtests --enable-ccwarn

- name: Lint
run: make -k lint-py
- name: Lint
run: make -k lint-py
9 changes: 4 additions & 5 deletions .github/workflows/contributor.yml
Original file line number Diff line number Diff line change
@@ -1,17 +1,16 @@
---
# DESCRIPTION: Github actions config
# SPDX-License-Identifier: LGPL-3.0-only OR Artistic-2.0

#
name: Contributor Agreement

on:
push:
pull_request:
workflow_dispatch:

jobs:
Test:
name: "'docs/CONTRIBUTORS' was signed"
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- run: test_regress/t/t_dist_contributors.py
- uses: actions/checkout@v4
- run: test_regress/t/t_dist_contributors.py
Loading