-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Bump pythondata_cpu_ibex/system_verilog subtree to 5da1679
Updated using 0.0.post150 from https://github.com/litex-hub/litex-data-auto
- Loading branch information
Showing
2,856 changed files
with
789,783 additions
and
8,676 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
151 changes: 151 additions & 0 deletions
151
pythondata_cpu_ibex/system_verilog/.github/workflows/ci.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,151 @@ | ||
# Copyright lowRISC contributors. | ||
# Licensed under the Apache License, Version 2.0, see LICENSE for details. | ||
# SPDX-License-Identifier: Apache-2.0 | ||
|
||
# GitHub Actions CI build configuration | ||
|
||
name: Ibex CI | ||
|
||
on: | ||
push: | ||
tags: | ||
- "*" | ||
merge_group: | ||
types: | ||
- checks_requested | ||
pull_request: | ||
branches: | ||
- "*" | ||
|
||
# Note: All tests run as part of one job to avoid copying intermediate build | ||
# artifacts around (e.g. Verilator and toolchain builds). Once more builds/tests | ||
# are added, we need to re-evaluate this decision to parallelize jobs and | ||
# improve end-to-end CI times. | ||
|
||
jobs: | ||
lint_dv: | ||
name: Run quality checks (Lint and DV) | ||
runs-on: ubuntu-20.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
# Fetch all history so that we can run git diff on the base branch | ||
fetch-depth: 0 | ||
|
||
- name: Setup environment variables | ||
run: | | ||
# Filter out empty lines or comments | ||
grep -v '^\(#\|$\)' ci/vars.env >> $GITHUB_ENV | ||
- name: Install build dependencies | ||
run: | | ||
ci/install-build-deps.sh | ||
- name: Display environment | ||
run: | | ||
echo $PATH | ||
python3 --version | ||
echo -n "fusesoc " | ||
fusesoc --version | ||
verilator --version | ||
riscv32-unknown-elf-gcc --version | ||
verible-verilog-lint --version | ||
# Verible format is experimental so only run on default config for now, | ||
# will eventually become part of the per-config CI | ||
- name: Format all source code with Verible format (experimental) | ||
run: | | ||
set +e | ||
fusesoc --cores-root . run --no-export --target=format --tool=veribleformat lowrisc:ibex:ibex_top_tracing | ||
if [ $? != 0 ]; then | ||
echo -n "::error::" | ||
echo "Verilog format with Verible failed. Run 'fusesoc --cores-root . run --no-export --target=format --tool=veribleformat lowrisc:ibex:ibex_top_tracing' to check and fix all errors." | ||
echo "This flow is currently experimental and failures can be ignored." | ||
fi | ||
# Show diff of what verilog_format would have changed, and then revert. | ||
git diff --no-pager | ||
git reset --hard HEAD | ||
continue-on-error: true | ||
|
||
- name: Use clang-format to check C/C++ coding style | ||
# This check is not idempotent, but checks changes to a base branch. | ||
# Run it only on pull requests. | ||
if: github.event_name == 'pull_request' | ||
run: | | ||
set +e | ||
fork_origin=${{ github.event.pull_request.base.sha }} | ||
changed_files=$(git diff --name-only $fork_origin | grep -v '^vendor' | grep -E '\.(cpp|cc|c|h)$') | ||
test -z "$changed_files" || git diff -U0 $fork_origin $changed_files | clang-format-diff -p1 | tee clang-format-output | ||
if [ -s clang-format-output ]; then | ||
echo -n "::error::" | ||
echo "C/C++ lint failed. Use 'git clang-format' with appropriate options to reformat the changed code." | ||
exit 1 | ||
fi | ||
- name: Build and run CSR testbench with Verilator | ||
run: | | ||
# Build and run CSR testbench, chosen Ibex configuration does not effect | ||
# this so doesn't need to be part of per-config CI | ||
fusesoc --cores-root=. run --target=sim --tool=verilator lowrisc:ibex:tb_cs_registers | ||
- name: Get RISC-V Compliance test suite | ||
run: | | ||
cd build | ||
git clone https://github.com/riscv/riscv-compliance.git | ||
cd riscv-compliance | ||
git checkout "$RISCV_COMPLIANCE_GIT_VERSION" | ||
- name: Build tests for verilator co-simulation | ||
run: | | ||
# Build CoreMark without performance counter dump for co-simulation testing | ||
make -C ./examples/sw/benchmarks/coremark SUPPRESS_PCOUNT_DUMP=1 | ||
make -C ./examples/sw/simple_system/pmp_smoke_test | ||
make -C ./examples/sw/simple_system/dit_test | ||
make -C ./examples/sw/simple_system/dummy_instr_test | ||
# Run Ibex RTL CI per supported configuration | ||
- name: Run Ibex RTL CI for small configuration | ||
uses: ./.github/actions/ibex-rtl-ci-steps | ||
with: | ||
ibex_config: small | ||
- name: Run Ibex RTL CI for opentitan configuration | ||
uses: ./.github/actions/ibex-rtl-ci-steps | ||
with: | ||
ibex_config: opentitan | ||
- name: Run Ibex RTL CI for maxperf configuration | ||
uses: ./.github/actions/ibex-rtl-ci-steps | ||
with: | ||
ibex_config: maxperf | ||
- name: Run Ibex RTL CI for maxperf-pmp-bmbalanced configuration | ||
uses: ./.github/actions/ibex-rtl-ci-steps | ||
with: | ||
ibex_config: maxperf-pmp-bmbalanced | ||
- name: Run Ibex RTL CI for maxperf-pmp-bmfull configuration | ||
uses: ./.github/actions/ibex-rtl-ci-steps | ||
with: | ||
ibex_config: maxperf-pmp-bmfull | ||
- name: Run Ibex RTL CI for experimental-branch-predictor configuration | ||
uses: ./.github/actions/ibex-rtl-ci-steps | ||
with: | ||
ibex_config: experimental-branch-predictor | ||
|
||
# Run lint on simple system | ||
- name: Run Verilator lint on simple system | ||
run: | | ||
set +e | ||
fusesoc --cores-root . run --target=lint --tool=verilator lowrisc:ibex:ibex_simple_system | ||
if [ $? != 0 ]; then | ||
echo -n "::error::" | ||
echo "Verilog lint with Verilator failed. Run 'fusesoc --cores-root . run --target=lint --tool=verilator lowrisc:ibex:ibex_simple_system' to check and fix all errors." | ||
exit 1 | ||
fi | ||
- name: Run Verible lint on simple system | ||
run: | | ||
set +e | ||
fusesoc --cores-root . run --target=lint --tool=veriblelint lowrisc:ibex:ibex_simple_system | ||
if [ $? != 0 ]; then | ||
echo -n "::error::" | ||
echo "Verilog lint with Verible failed. Run 'fusesoc --cores-root . run --target=lint --tool=veriblelint lowrisc:ibex:ibex_simple_system' to check and fix all errors." | ||
exit 1 | ||
fi |
38 changes: 38 additions & 0 deletions
38
pythondata_cpu_ibex/system_verilog/.github/workflows/pr_lint.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
# Copyright lowRISC contributors. | ||
# Licensed under the Apache License, Version 2.0, see LICENSE for details. | ||
# SPDX-License-Identifier: Apache-2.0 | ||
|
||
# GitHub Action to run Verible linting on pull requests and add review comments. | ||
# | ||
# See https://github.com/chipsalliance/verible-linter-action. | ||
|
||
name: pr-lint | ||
|
||
# Triggers when there is any activity on a pull request, e.g. opened, updated. | ||
on: | ||
merge_group: | ||
types: | ||
- checks_requested | ||
pull_request: | ||
branches: | ||
- "*" | ||
|
||
jobs: | ||
verible-lint: | ||
runs-on: ubuntu-latest | ||
env: | ||
verible_config: "vendor/lowrisc_ip/lint/tools/veriblelint/lowrisc-styleguide.rules.verible_lint" | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Display Verible config | ||
run: | | ||
echo "::group::Verible config" | ||
cat "$verible_config" | ||
echo "::endgroup::" | ||
- name: Run Verible linter action | ||
uses: chipsalliance/verible-linter-action@main | ||
with: | ||
github_token: ${{ secrets.GITHUB_TOKEN }} | ||
reviewdog_reporter: github-pr-check | ||
suggest_fixes: "false" | ||
config_file: ${{ env.verible_config }} |
49 changes: 0 additions & 49 deletions
49
pythondata_cpu_ibex/system_verilog/.github/workflows/pr_lint_review.yml
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.