diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index e6c0c7d7..aad565e7 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,4 +1,4 @@ -**Related PRs / Issues **: +**Related PRs / Issues**: diff --git a/.github/actions/job-end/action.yml b/.github/actions/job-end/action.yml deleted file mode 100644 index 51b4f4d7..00000000 --- a/.github/actions/job-end/action.yml +++ /dev/null @@ -1,8 +0,0 @@ -name: job-end -description: "Save a job status" - -runs: - using: "composite" - steps: - - run: echo "success" > run_result - shell: bash diff --git a/.github/actions/job-start/action.yml b/.github/actions/job-start/action.yml deleted file mode 100644 index dc4d0642..00000000 --- a/.github/actions/job-start/action.yml +++ /dev/null @@ -1,19 +0,0 @@ -name: job-start -description: "Setup a job status" -outputs: - run_result: - value: ${{ steps.run_result.outputs.run_result }} - -runs: - using: "composite" - steps: - - name: Restore the previous run result - uses: actions/cache@v2 - with: - path: run_result - key: ${{ github.run_id }}-${{ github.job }} - restore-keys: ${{ github.run_id }}-${{ github.job }} - - name: Set run_result to default or use cached value - id: run_result - run: echo "::set-output name=run_result::$(cat run_result 2>/dev/null || echo 'default')" - shell: bash diff --git a/.github/scripts/check-commit.sh b/.github/scripts/check-commit.sh index ec9e73db..27abacd4 100755 --- a/.github/scripts/check-commit.sh +++ b/.github/scripts/check-commit.sh @@ -9,7 +9,6 @@ set -ex SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )" source $SCRIPT_DIR/defaults.sh -# enter bhd repo cd $LOCAL_CHIPYARD_DIR # ignore the private vlsi submodules @@ -17,18 +16,15 @@ git config submodule.vlsi/hammer-cadence-plugins.update none git config submodule.vlsi/hammer-mentor-plugins.update none git config submodule.vlsi/hammer-synopsys-plugins.update none +# initialize submodules and get the hashes +git submodule update --init +status=$(git submodule status) + all_names=() search_submodule() { echo "Running check on submodule $submodule in $dir" - # Initialize submodule and get the hashes - git submodule update --init $dir/$submodule - git -C $dir/$submodule fetch --unshallow - git -C $dir/$submodule config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*" - git -C $dir/$submodule fetch origin - - status=$(git submodule status) hash=$(echo "$status" | grep "$dir.*$submodule " | awk '{print$1}' | grep -o "[[:alnum:]]*") for branch in "${branches[@]}" do @@ -95,7 +91,7 @@ search submodules=("firesim") dir="sims" -branches=("master" "main" "dev") +branches=("master" "main" "dev" "1.13.x") search submodules=("hammer") diff --git a/.github/scripts/remote-run-firesim-scala-tests.sh b/.github/scripts/remote-run-firesim-scala-tests.sh index 6fe52586..1b75d29f 100755 --- a/.github/scripts/remote-run-firesim-scala-tests.sh +++ b/.github/scripts/remote-run-firesim-scala-tests.sh @@ -18,6 +18,7 @@ export PATH="$RISCV/bin:$PATH" # This would generally be handled by build-setup.sh/firesim-setup.sh REMOTE_FIRESIM_SYSROOT=$REMOTE_FIRESIM_DIR/lib-install +cd $REMOTE_CHIPYARD_DIR ./scripts/init-submodules-no-riscv-tools.sh --skip-validate cd $REMOTE_CHIPYARD_DIR/sims/firesim/sim/firesim-lib/src/main/cc/lib git submodule update --init elfutils libdwarf diff --git a/.github/workflows/chipyard-run-tests.yml b/.github/workflows/chipyard-run-tests.yml index b6193c5f..902b5bd9 100644 --- a/.github/workflows/chipyard-run-tests.yml +++ b/.github/workflows/chipyard-run-tests.yml @@ -33,12 +33,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - name: Check commits of each submodule - if: steps.job-start.outputs.run_result != 'success' run: .github/scripts/check-commit.sh - - uses: ./.github/actions/job-end tutorial-setup-check: name: tutorial-setup-check @@ -49,12 +45,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - name: Check that the tutorial-setup patches apply - if: steps.job-start.outputs.run_result != 'success' run: scripts/tutorial-setup.sh - - uses: ./.github/actions/job-end documentation-check: name: documentation-check @@ -65,19 +57,15 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - name: Check that documentation builds with no warnings/errors - if: steps.job-start.outputs.run_result != 'success' run: | sudo apt-get update -y sudo apt-get install -y python3-pip sudo pip3 install -r docs/requirements.txt make -C docs html - name: Show error log from sphinx if failed - if: ${{ steps.job-start.outputs.run_result != 'success' && failure() }} + if: ${{ failure() }} run: cat /tmp/sphinx-err*.log - - uses: ./.github/actions/job-end install-toolchains: name: install-toolchains @@ -88,12 +76,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - name: Build RISC-V toolchains - if: steps.job-start.outputs.run_result != 'success' uses: ./.github/actions/toolchain-build - - uses: ./.github/actions/job-end build-extra-tests: name: build-extra-tests @@ -105,48 +89,47 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - name: Build RISC-V toolchains - if: steps.job-start.outputs.run_result != 'success' uses: ./.github/actions/toolchain-build - name: Generate keys - if: steps.job-start.outputs.run_result != 'success' id: genkey run: | echo "::set-output name=extra-tests-cache-key::extra-tests-${{ github.ref }}-${{ github.sha }}" - uses: actions/cache@v2 - if: steps.job-start.outputs.run_result != 'success' id: build-extra-tools-cache with: path: extra-tests-install key: ${{ steps.genkey.outputs.extra-tests-cache-key }} restore-keys: ${{ steps.genkey.outputs.extra-tests-cache-key }} - name: Build extra tests - if: steps.job-start.outputs.run_result != 'success' run: .github/scripts/build-extra-tests.sh - - uses: ./.github/actions/job-end - install-verilator: - name: install-verilator - runs-on: self-hosted + install-verilator-knight: + name: install-verilator-knight + runs-on: knight needs: cancel-prior-workflows steps: - name: Checkout uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - - name: Build verilator on self-hosted - if: steps.job-start.outputs.run_result != 'success' + - name: Build verilator on knight CI machine + run: .github/scripts/remote-install-verilator.sh + + install-verilator-ferry: + name: install-verilator-ferry + runs-on: ferry + needs: cancel-prior-workflows + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Build verilator on ferry CI machine run: .github/scripts/remote-install-verilator.sh - - uses: ./.github/actions/job-end # Sentinel job to simplify how we specify which that basic setup is complete # # When adding new prep jobs, please add them to `needs` below setup-complete: name: setup-complete - needs: [install-toolchains, install-verilator, build-extra-tests] + needs: [install-toolchains, install-verilator-knight, install-verilator-ferry, build-extra-tests] runs-on: ubuntu-latest steps: - name: Set up complete @@ -161,14 +144,10 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - name: Build RTL on self-hosted - if: steps.job-start.outputs.run_result != 'success' uses: ./.github/actions/prepare-rtl with: group-key: "group-cores" - - uses: ./.github/actions/job-end prepare-chipyard-peripherals: name: prepare-chipyard-peripherals @@ -177,14 +156,10 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - name: Build RTL on self-hosted - if: steps.job-start.outputs.run_result != 'success' uses: ./.github/actions/prepare-rtl with: group-key: "group-peripherals" - - uses: ./.github/actions/job-end prepare-chipyard-accels: name: prepare-chipyard-accels @@ -193,14 +168,10 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - name: Build RTL on self-hosted - if: steps.job-start.outputs.run_result != 'success' uses: ./.github/actions/prepare-rtl with: group-key: "group-accels" - - uses: ./.github/actions/job-end prepare-chipyard-tracegen: name: prepare-chipyard-tracegen @@ -209,14 +180,10 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - name: Build RTL on self-hosted - if: steps.job-start.outputs.run_result != 'success' uses: ./.github/actions/prepare-rtl with: group-key: "group-tracegen" - - uses: ./.github/actions/job-end prepare-chipyard-other: name: prepare-chipyard-other @@ -225,14 +192,10 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - name: Build RTL on self-hosted - if: steps.job-start.outputs.run_result != 'success' uses: ./.github/actions/prepare-rtl with: group-key: "group-other" - - uses: ./.github/actions/job-end prepare-chipyard-fpga: name: prepare-chipyard-fpga @@ -241,15 +204,11 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - name: Build RTL on self-hosted - if: steps.job-start.outputs.run_result != 'success' uses: ./.github/actions/prepare-rtl with: group-key: "group-fpga" build-type: "fpga" - - uses: ./.github/actions/job-end ########################################################################## @@ -263,15 +222,11 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - name: Run tests - if: steps.job-start.outputs.run_result != 'success' uses: ./.github/actions/run-tests with: group-key: "group-cores" project-key: "chipyard-rocket" - - uses: ./.github/actions/job-end chipyard-hetero-run-tests: name: chipyard-hetero-run-tests @@ -283,15 +238,11 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - name: Run tests - if: steps.job-start.outputs.run_result != 'success' uses: ./.github/actions/run-tests with: group-key: "group-cores" project-key: "chipyard-hetero" - - uses: ./.github/actions/job-end chipyard-boom-run-tests: name: chipyard-boom-run-tests @@ -303,15 +254,11 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - name: Run tests - if: steps.job-start.outputs.run_result != 'success' uses: ./.github/actions/run-tests with: group-key: "group-cores" project-key: "chipyard-boom" - - uses: ./.github/actions/job-end chipyard-cva6-run-tests: name: chipyard-cva6-run-tests @@ -323,15 +270,11 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - name: Run tests - if: steps.job-start.outputs.run_result != 'success' uses: ./.github/actions/run-tests with: group-key: "group-cores" project-key: "chipyard-cva6" - - uses: ./.github/actions/job-end chipyard-ibex-run-tests: name: chipyard-ibex-run-tests @@ -343,15 +286,11 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - name: Run tests - if: steps.job-start.outputs.run_result != 'success' uses: ./.github/actions/run-tests with: group-key: "group-cores" project-key: "chipyard-ibex" - - uses: ./.github/actions/job-end chipyard-sodor-run-tests: name: chipyard-sodor-run-tests @@ -363,15 +302,11 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - name: Run tests - if: steps.job-start.outputs.run_result != 'success' uses: ./.github/actions/run-tests with: group-key: "group-cores" project-key: "chipyard-sodor" - - uses: ./.github/actions/job-end chipyard-fftgenerator-run-tests: name: chipyard-fftgenerator-run-tests @@ -383,15 +318,11 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - name: Run tests - if: steps.job-start.outputs.run_result != 'success' uses: ./.github/actions/run-tests with: group-key: "group-accels" project-key: "chipyard-fftgenerator" - - uses: ./.github/actions/job-end chipyard-dmirocket-run-tests: name: chipyard-dmirocket-run-tests @@ -403,15 +334,11 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - name: Run tests - if: steps.job-start.outputs.run_result != 'success' uses: ./.github/actions/run-tests with: group-key: "group-peripherals" project-key: "chipyard-dmirocket" - - uses: ./.github/actions/job-end chipyard-spiflashwrite-run-tests: name: chipyard-spiflashwrite-run-tests @@ -423,15 +350,11 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - name: Run tests - if: steps.job-start.outputs.run_result != 'success' uses: ./.github/actions/run-tests with: group-key: "group-peripherals" project-key: "chipyard-spiflashwrite" - - uses: ./.github/actions/job-end chipyard-spiflashread-run-tests: name: chipyard-spiflashread-run-tests @@ -443,15 +366,11 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - name: Run tests - if: steps.job-start.outputs.run_result != 'success' uses: ./.github/actions/run-tests with: group-key: "group-peripherals" project-key: "chipyard-spiflashread" - - uses: ./.github/actions/job-end chipyard-lbwif-run-tests: name: chipyard-lbwif-run-tests @@ -463,15 +382,11 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - name: Run tests - if: steps.job-start.outputs.run_result != 'success' uses: ./.github/actions/run-tests with: group-key: "group-peripherals" project-key: "chipyard-lbwif" - - uses: ./.github/actions/job-end chipyard-sha3-run-tests: name: chipyard-sha3-run-tests @@ -483,15 +398,11 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - name: Run tests - if: steps.job-start.outputs.run_result != 'success' uses: ./.github/actions/run-tests with: group-key: "group-accels" project-key: "chipyard-sha3" - - uses: ./.github/actions/job-end chipyard-streaming-fir-run-tests: name: chipyard-streaming-fir-run-tests @@ -503,15 +414,11 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - name: Run tests - if: steps.job-start.outputs.run_result != 'success' uses: ./.github/actions/run-tests with: group-key: "group-accels" project-key: "chipyard-streaming-fir" - - uses: ./.github/actions/job-end chipyard-streaming-passthrough-run-tests: name: chipyard-streaming-passthrough-run-tests @@ -523,15 +430,11 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - name: Run tests - if: steps.job-start.outputs.run_result != 'success' uses: ./.github/actions/run-tests with: group-key: "group-accels" project-key: "chipyard-streaming-passthrough" - - uses: ./.github/actions/job-end chipyard-hwacha-run-tests: name: chipyard-hwacha-run-tests @@ -543,15 +446,11 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - name: Run tests - if: steps.job-start.outputs.run_result != 'success' uses: ./.github/actions/run-tests with: group-key: "group-accels" project-key: "chipyard-hwacha" - - uses: ./.github/actions/job-end chipyard-gemmini-run-tests: name: chipyard-gemmini-run-tests @@ -563,15 +462,11 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - name: Run tests - if: steps.job-start.outputs.run_result != 'success' uses: ./.github/actions/run-tests with: group-key: "group-accels" project-key: "chipyard-gemmini" - - uses: ./.github/actions/job-end chipyard-nvdla-run-tests: name: chipyard-nvdla-run-tests @@ -583,15 +478,11 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - name: Run tests - if: steps.job-start.outputs.run_result != 'success' uses: ./.github/actions/run-tests with: group-key: "group-accels" project-key: "chipyard-nvdla" - - uses: ./.github/actions/job-end tracegen-boom-run-tests: name: tracegen-boom-run-tests @@ -603,15 +494,11 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - name: Run tests - if: steps.job-start.outputs.run_result != 'success' uses: ./.github/actions/run-tests with: group-key: "group-tracegen" project-key: "tracegen-boom" - - uses: ./.github/actions/job-end tracegen-run-tests: name: tracegen-run-tests @@ -623,15 +510,11 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - name: Run tests - if: steps.job-start.outputs.run_result != 'success' uses: ./.github/actions/run-tests with: group-key: "group-tracegen" project-key: "tracegen" - - uses: ./.github/actions/job-end icenet-run-tests: name: icenet-run-tests @@ -643,15 +526,11 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - name: Run tests - if: steps.job-start.outputs.run_result != 'success' uses: ./.github/actions/run-tests with: group-key: "group-other" project-key: "icenet" - - uses: ./.github/actions/job-end testchipip-run-tests: name: testchipip-run-tests @@ -663,15 +542,11 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - name: Run tests - if: steps.job-start.outputs.run_result != 'success' uses: ./.github/actions/run-tests with: group-key: "group-other" project-key: "testchipip" - - uses: ./.github/actions/job-end firesim-run-tests: name: firesim-run-tests @@ -680,16 +555,12 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - name: Run tests on self-hosted - if: steps.job-start.outputs.run_result != 'success' uses: ./.github/actions/run-tests with: group-key: "extra-tests" project-key: "firesim" run-script: "remote-run-firesim-scala-tests.sh" - - uses: ./.github/actions/job-end fireboom-run-tests: name: fireboom-run-tests @@ -698,16 +569,12 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - name: Run tests on self-hosted - if: steps.job-start.outputs.run_result != 'success' uses: ./.github/actions/run-tests with: group-key: "extra-tests" project-key: "fireboom" run-script: "remote-run-firesim-scala-tests.sh" - - uses: ./.github/actions/job-end firesim-multiclock-run-tests: name: firesim-multiclock-run-tests @@ -716,16 +583,12 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2 - - uses: ./.github/actions/job-start - id: job-start - name: Run tests on self-hosted - if: steps.job-start.outputs.run_result != 'success' uses: ./.github/actions/run-tests with: group-key: "extra-tests" project-key: "firesim-multiclock" run-script: "remote-run-firesim-scala-tests.sh" - - uses: ./.github/actions/job-end # Sentinel job to simplify how we specify which checks need to pass in branch # protection and in Mergify diff --git a/.gitmodules b/.gitmodules index d2d618ab..11ca0d5a 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,47 +1,36 @@ [submodule "rocket-chip"] path = generators/rocket-chip url = https://github.com/chipsalliance/rocket-chip.git - shallow = true [submodule "testchipip"] path = generators/testchipip url = https://github.com/ucb-bar/testchipip.git - shallow = true [submodule "barstools"] path = tools/barstools url = https://github.com/ucb-bar/barstools.git - shallow = true [submodule "tools/torture"] path = tools/torture url = https://github.com/ucb-bar/riscv-torture.git - shallow = true [submodule "generators/boom"] path = generators/boom url = https://github.com/riscv-boom/riscv-boom.git - shallow = true [submodule "generators/sifive-blocks"] path = generators/sifive-blocks url = https://github.com/sifive/sifive-blocks.git - shallow = true [submodule "generators/hwacha"] path = generators/hwacha url = https://github.com/ucb-bar/hwacha.git - shallow = true [submodule "sims/firesim"] path = sims/firesim url = https://github.com/firesim/firesim.git - shallow = true [submodule "generators/icenet"] path = generators/icenet url = https://github.com/firesim/icenet.git - shallow = true [submodule "generators/block-inclusivecache-sifive"] path = generators/sifive-cache url = https://github.com/sifive/block-inclusivecache-sifive.git - shallow = true [submodule "toolchains/riscv-tools/riscv-gnu-toolchain"] path = toolchains/riscv-tools/riscv-gnu-toolchain url = https://github.com/riscv/riscv-gnu-toolchain.git - shallow = true [submodule "toolchains/riscv-tools/riscv-gnu-toolchain-prebuilt"] path = toolchains/riscv-tools/riscv-gnu-toolchain-prebuilt url = https://github.com/ucb-bar/chipyard-toolchain-prebuilt.git @@ -49,132 +38,99 @@ [submodule "toolchains/riscv-tools/riscv-isa-sim"] path = toolchains/riscv-tools/riscv-isa-sim url = https://github.com/riscv/riscv-isa-sim.git - shallow = true [submodule "toolchains/riscv-tools/riscv-pk"] path = toolchains/riscv-tools/riscv-pk url = https://github.com/riscv/riscv-pk.git - shallow = true [submodule "toolchains/riscv-tools/riscv-tests"] path = toolchains/riscv-tools/riscv-tests url = https://github.com/riscv/riscv-tests.git - shallow = true [submodule "toolchains/riscv-tools/riscv-openocd"] path = toolchains/riscv-tools/riscv-openocd url = https://github.com/riscv/riscv-openocd.git - shallow = true [submodule "toolchains/esp-tools/riscv-gnu-toolchain"] path = toolchains/esp-tools/riscv-gnu-toolchain url = https://github.com/ucb-bar/esp-gnu-toolchain.git - shallow = true [submodule "toolchains/esp-tools/riscv-isa-sim"] path = toolchains/esp-tools/riscv-isa-sim url = https://github.com/ucb-bar/esp-isa-sim.git - shallow = true [submodule "toolchains/esp-tools/riscv-pk"] path = toolchains/esp-tools/riscv-pk url = https://github.com/riscv/riscv-pk.git - shallow = true [submodule "toolchains/esp-tools/riscv-tests"] path = toolchains/esp-tools/riscv-tests url = https://github.com/ucb-bar/esp-tests.git - shallow = true [submodule "toolchains/libgloss"] path = toolchains/libgloss url = https://github.com/ucb-bar/libgloss-htif.git - shallow = true [submodule "vlsi/hammer"] path = vlsi/hammer url = https://github.com/ucb-bar/hammer.git - shallow = true [submodule "tools/dsptools"] path = tools/dsptools url = https://github.com/ucb-bar/dsptools.git - shallow = true [submodule "tools/chisel-testers"] path = tools/chisel-testers url = https://github.com/freechipsproject/chisel-testers.git - shallow = true [submodule "generators/sha3"] path = generators/sha3 url = https://github.com/ucb-bar/sha3.git - shallow = true [submodule "vlsi/hammer-cadence-plugins"] path = vlsi/hammer-cadence-plugins url = https://github.com/ucb-bar/hammer-cadence-plugins.git - shallow = true [submodule "vlsi/hammer-synopsys-plugins"] path = vlsi/hammer-synopsys-plugins url = https://github.com/ucb-bar/hammer-synopsys-plugins.git - shallow = true [submodule "vlsi/hammer-mentor-plugins"] path = vlsi/hammer-mentor-plugins url = https://github.com/ucb-bar/hammer-mentor-plugins.git - shallow = true [submodule "toolchains/qemu"] path = toolchains/qemu url = https://github.com/qemu/qemu.git - shallow = true [submodule "tools/axe"] path = tools/axe url = https://github.com/CTSRD-CHERI/axe.git - shallow = true [submodule "software/spec2017"] path = software/spec2017 url = https://github.com/ucb-bar/spec2017-workload.git - shallow = true [submodule "software/coremark"] path = software/coremark url = https://github.com/ucb-bar/coremark-workload.git - shallow = true [submodule "generators/gemmini"] path = generators/gemmini url = https://github.com/ucb-bar/gemmini - shallow = true [submodule "software/firemarshal"] path = software/firemarshal url = https://github.com/firesim/FireMarshal.git - shallow = true [submodule "generators/cva6"] path = generators/cva6 url = https://github.com/ucb-bar/cva6-wrapper.git - shallow = true [submodule "tools/DRAMSim2"] path = tools/DRAMSim2 url = https://github.com/firesim/DRAMSim2.git - shallow = true [submodule "generators/nvdla"] path = generators/nvdla url = https://github.com/ucb-bar/nvdla-wrapper.git - shallow = true [submodule "software/nvdla-workload"] path = software/nvdla-workload url = https://github.com/ucb-bar/nvdla-workload.git - shallow = true [submodule "tools/dromajo/dromajo-src"] path = tools/dromajo/dromajo-src url = https://github.com/riscv-boom/dromajo.git - shallow = true [submodule "generators/riscv-sodor"] path = generators/riscv-sodor url = https://github.com/ucb-bar/riscv-sodor.git - shallow = true [submodule "fpga/fpga-shells"] path = fpga/fpga-shells url = https://github.com/sifive/fpga-shells.git - shallow = true [submodule "tools/api-config-chipsalliance"] path = tools/api-config-chipsalliance url = https://github.com/chipsalliance/api-config-chipsalliance.git - shallow = true [submodule "tools/rocket-dsp-utils"] path = tools/rocket-dsp-utils url = https://github.com/ucb-bar/rocket-dsp-utils - shallow = true [submodule "generators/ibex"] path = generators/ibex url = https://github.com/ucb-bar/ibex-wrapper - shallow = true [submodule "generators/fft-generator"] path = generators/fft-generator url = https://github.com/ucb-bar/FFTGenerator.git - shallow = true diff --git a/CHANGELOG.md b/CHANGELOG.md index 260aece3..4b4edd9b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,15 @@ This changelog follows the format defined here: https://keepachangelog.com/en/1.0.0/ +## [1.6.3] - 2022-04-06 + +FireSim bump for various fixes. Revert shallow cloning. Various CI fixes. + +### Fixed +* Bump to FireSim 1.13.4 (changelog: https://github.com/firesim/firesim/blob/1.13.4/CHANGELOG.md#1134---2022-04-06) +* Revert shallow cloning. +* Various CI fixes. + ## [1.6.2] - 2022-03-01 Minor fixes to FireSim. @@ -9,7 +18,6 @@ Minor fixes to FireSim. ### Fixed * Bump to FireSim 1.13.3 (#1134) - ## [1.6.1] - 2022-03-01 Minor fixes to FireSim. diff --git a/README.md b/README.md index 8b125cf4..7837169d 100644 --- a/README.md +++ b/README.md @@ -67,7 +67,7 @@ These additional publications cover many of the internal components used in Chip * **SonicBOOM (BOOMv3)**: J. Zhao, et al., *CARRV'20*. [PDF](https://carrv.github.io/2020/papers/CARRV2020_paper_15_Zhao.pdf). * **COBRA (BOOM Branch Prediction)**: J. Zhao, et al., *ISPASS'21*. [PDF](https://ieeexplore.ieee.org/document/9408173). * **Hwacha**: Y. Lee, et al., *ESSCIRC'14*. [PDF](http://hwacha.org/papers/riscv-esscirc2014.pdf). - * **Gemmini**: H. Genc, et al., *arXiv*. [PDF](https://arxiv.org/pdf/1911.09925). + * **Gemmini**: H. Genc, et al., *DAC'21*. [PDF](https://arxiv.org/pdf/1911.09925). * **Sims** * **FireSim**: S. Karandikar, et al., *ISCA'18*. [PDF](https://sagark.org/assets/pubs/firesim-isca2018.pdf). * **FireSim Micro Top Picks**: S. Karandikar, et al., *IEEE Micro, Top Picks 2018*. [PDF](https://sagark.org/assets/pubs/firesim-micro-top-picks2018.pdf). diff --git a/generators/testchipip b/generators/testchipip index 52027a04..03535f56 160000 --- a/generators/testchipip +++ b/generators/testchipip @@ -1 +1 @@ -Subproject commit 52027a049f7810013e5940a1c115ff83127c1a96 +Subproject commit 03535f56a6318236ab6abf5342d78eecf453984d diff --git a/scripts/init-submodules-no-riscv-tools-nolog.sh b/scripts/init-submodules-no-riscv-tools-nolog.sh index b41e0ba0..e2379ecc 100755 --- a/scripts/init-submodules-no-riscv-tools-nolog.sh +++ b/scripts/init-submodules-no-riscv-tools-nolog.sh @@ -107,10 +107,14 @@ cd "$CHIPYARD_DIR" _unskip() { git config --local --unset-all "submodule.${1}.update" || : ; } trap 'git_submodule_exclude _unskip' EXIT INT TERM + set -x git_submodule_exclude _skip git submodule update --init --recursive #--jobs 8 + set +x ) +set -x + # Non-recursive clone to exclude riscv-linux git submodule update --init generators/sha3 @@ -125,6 +129,8 @@ git config --local submodule.sims/firesim.update none # Only shallow clone needed for basic SW tests git submodule update --init software/firemarshal +set +x + # Configure firemarshal to know where our firesim installation is if [ ! -f ./software/firemarshal/marshal-config.yaml ]; then echo "firesim-dir: '../../sims/firesim/'" > ./software/firemarshal/marshal-config.yaml diff --git a/sims/firesim b/sims/firesim index a0f78b1c..27bfce91 160000 --- a/sims/firesim +++ b/sims/firesim @@ -1 +1 @@ -Subproject commit a0f78b1cd081b1199acbfaa588a13b1f41ea26fa +Subproject commit 27bfce9151a20520f5f45907e4a43c0c29a2f3dc diff --git a/vlsi/Makefile b/vlsi/Makefile index 3aaebf3b..924fa964 100644 --- a/vlsi/Makefile +++ b/vlsi/Makefile @@ -180,9 +180,7 @@ $(SIM_DEBUG_CONF): $(VLSI_RTL) $(HARNESS_FILE) $(HARNESS_SMEMS_FILE) $(sim_commo echo " saif.end_time: '`bc <<< $(timeout_cycles)*$(CLOCK_PERIOD)`ns'" >> $@ ifdef USE_FSDB echo " options:" >> $@ - echo ' - "-debug_access+all"' >> $@ echo ' - "-kdb"' >> $@ - echo ' - "-lca"' >> $@ echo " options_meta: 'append'" >> $@ echo "sim.outputs.waveforms: ['$(sim_out_name).fsdb']" >> $@ else diff --git a/vlsi/hammer b/vlsi/hammer index 52c9b019..d200c62e 160000 --- a/vlsi/hammer +++ b/vlsi/hammer @@ -1 +1 @@ -Subproject commit 52c9b0191fbc32dc40c62f3b75374b1f46f39f0f +Subproject commit d200c62ec2d35b7d999f10487e89527f95180d79 diff --git a/vlsi/hammer-synopsys-plugins b/vlsi/hammer-synopsys-plugins index 81720fdd..696589f3 160000 --- a/vlsi/hammer-synopsys-plugins +++ b/vlsi/hammer-synopsys-plugins @@ -1 +1 @@ -Subproject commit 81720fdd5b7fd747f34606f09b8a7d0da438a3ef +Subproject commit 696589f3fec890722539653a9b259dcc860c1f7d