Add CI tests for constellation
This commit is contained in:
5
.github/scripts/defaults.sh
vendored
5
.github/scripts/defaults.sh
vendored
@@ -28,8 +28,9 @@ declare -A grouping
|
|||||||
grouping["group-cores"]="chipyard-cva6 chipyard-ibex chipyard-rocket chipyard-hetero chipyard-boom chipyard-sodor chipyard-digitaltop chipyard-multiclock-rocket chipyard-nomem-scratchpad"
|
grouping["group-cores"]="chipyard-cva6 chipyard-ibex chipyard-rocket chipyard-hetero chipyard-boom chipyard-sodor chipyard-digitaltop chipyard-multiclock-rocket chipyard-nomem-scratchpad"
|
||||||
grouping["group-peripherals"]="chipyard-dmirocket chipyard-blkdev chipyard-spiflashread chipyard-spiflashwrite chipyard-mmios chipyard-lbwif"
|
grouping["group-peripherals"]="chipyard-dmirocket chipyard-blkdev chipyard-spiflashread chipyard-spiflashwrite chipyard-mmios chipyard-lbwif"
|
||||||
grouping["group-accels"]="chipyard-fftgenerator chipyard-nvdla chipyard-sha3 chipyard-hwacha chipyard-gemmini chipyard-streaming-fir chipyard-streaming-passthrough"
|
grouping["group-accels"]="chipyard-fftgenerator chipyard-nvdla chipyard-sha3 chipyard-hwacha chipyard-gemmini chipyard-streaming-fir chipyard-streaming-passthrough"
|
||||||
|
grouping["group-constellation"]="chipyard-constellation"
|
||||||
grouping["group-tracegen"]="tracegen tracegen-boom"
|
grouping["group-tracegen"]="tracegen tracegen-boom"
|
||||||
grouping["group-other"]="icenet testchipip"
|
grouping["group-other"]="icenet testchipip constellation"
|
||||||
grouping["group-fpga"]="arty vcu118"
|
grouping["group-fpga"]="arty vcu118"
|
||||||
|
|
||||||
# key value store to get the build strings
|
# key value store to get the build strings
|
||||||
@@ -58,7 +59,9 @@ mapping["chipyard-sodor"]=" CONFIG=Sodor5StageConfig"
|
|||||||
mapping["chipyard-multiclock-rocket"]=" CONFIG=MulticlockRocketConfig"
|
mapping["chipyard-multiclock-rocket"]=" CONFIG=MulticlockRocketConfig"
|
||||||
mapping["chipyard-nomem-scratchpad"]=" CONFIG=MMIOScratchpadOnlyRocketConfig"
|
mapping["chipyard-nomem-scratchpad"]=" CONFIG=MMIOScratchpadOnlyRocketConfig"
|
||||||
mapping["chipyard-fftgenerator"]=" CONFIG=FFTRocketConfig"
|
mapping["chipyard-fftgenerator"]=" CONFIG=FFTRocketConfig"
|
||||||
|
mapping["chipyard-constellation"]=" CONFIG=SharedNoCConfig"
|
||||||
|
|
||||||
|
mapping["constellation"]=" SUB_PROJECT=constellation"
|
||||||
mapping["firesim"]="SCALA_TEST=firesim.firesim.RocketNICF1Tests"
|
mapping["firesim"]="SCALA_TEST=firesim.firesim.RocketNICF1Tests"
|
||||||
mapping["firesim-multiclock"]="SCALA_TEST=firesim.firesim.RocketMulticlockF1Tests"
|
mapping["firesim-multiclock"]="SCALA_TEST=firesim.firesim.RocketMulticlockF1Tests"
|
||||||
mapping["fireboom"]="SCALA_TEST=firesim.firesim.BoomF1Tests"
|
mapping["fireboom"]="SCALA_TEST=firesim.firesim.BoomF1Tests"
|
||||||
|
|||||||
7
.github/scripts/remote-do-rtl-build.sh
vendored
7
.github/scripts/remote-do-rtl-build.sh
vendored
@@ -18,6 +18,13 @@ cd $REMOTE_CHIPYARD_DIR
|
|||||||
./scripts/init-submodules-no-riscv-tools.sh --skip-validate
|
./scripts/init-submodules-no-riscv-tools.sh --skip-validate
|
||||||
./scripts/init-fpga.sh
|
./scripts/init-fpga.sh
|
||||||
|
|
||||||
|
|
||||||
|
# Constellation can run without espresso, but this improves
|
||||||
|
# elaboration time drastically
|
||||||
|
pushd $REMOTE_CHIPYARD_DIR/generators/constellation
|
||||||
|
scripts/install-espresso.sh $RISCV
|
||||||
|
popd
|
||||||
|
|
||||||
if [ $1 = "group-accels" ]; then
|
if [ $1 = "group-accels" ]; then
|
||||||
pushd $REMOTE_CHIPYARD_DIR/generators/gemmini/software
|
pushd $REMOTE_CHIPYARD_DIR/generators/gemmini/software
|
||||||
git submodule update --init --recursive gemmini-rocc-tests
|
git submodule update --init --recursive gemmini-rocc-tests
|
||||||
|
|||||||
6
.github/scripts/run-tests.sh
vendored
6
.github/scripts/run-tests.sh
vendored
@@ -102,12 +102,18 @@ case $1 in
|
|||||||
make -C $LOCAL_CHIPYARD_DIR/tests
|
make -C $LOCAL_CHIPYARD_DIR/tests
|
||||||
make -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]} BINARY=$LOCAL_CHIPYARD_DIR/tests/fft.riscv run-binary-fast
|
make -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]} BINARY=$LOCAL_CHIPYARD_DIR/tests/fft.riscv run-binary-fast
|
||||||
;;
|
;;
|
||||||
|
chipyard-constellation)
|
||||||
|
run_bmark ${mapping[$1]}
|
||||||
|
;;
|
||||||
icenet)
|
icenet)
|
||||||
make run-binary-fast BINARY=none -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]}
|
make run-binary-fast BINARY=none -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]}
|
||||||
;;
|
;;
|
||||||
testchipip)
|
testchipip)
|
||||||
make run-binary-fast BINARY=none -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]}
|
make run-binary-fast BINARY=none -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]}
|
||||||
;;
|
;;
|
||||||
|
constellation)
|
||||||
|
make run-binary-fast BINARY=none -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]}
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
echo "No set of tests for $1. Did you spell it right?"
|
echo "No set of tests for $1. Did you spell it right?"
|
||||||
exit 1
|
exit 1
|
||||||
|
|||||||
106
.github/workflows/chipyard-run-tests.yml
vendored
106
.github/workflows/chipyard-run-tests.yml
vendored
@@ -261,6 +261,28 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
group-key: "group-cores"
|
group-key: "group-cores"
|
||||||
|
|
||||||
|
prepare-chipyard-constellation:
|
||||||
|
name: prepare-chipyard-constellation
|
||||||
|
needs: setup-complete
|
||||||
|
runs-on: self-hosted
|
||||||
|
steps:
|
||||||
|
- name: Delete old checkout
|
||||||
|
run: |
|
||||||
|
ls -alh .
|
||||||
|
rm -rf ${{ github.workspace }}/* || true
|
||||||
|
rm -rf ${{ github.workspace }}/.* || true
|
||||||
|
ls -alh .
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
- name: Git workaround
|
||||||
|
uses: ./.github/actions/git-workaround
|
||||||
|
- name: Create conda env
|
||||||
|
uses: ./.github/actions/create-conda-env
|
||||||
|
- name: Build RTL on self-hosted
|
||||||
|
uses: ./.github/actions/prepare-rtl
|
||||||
|
with:
|
||||||
|
group-key: "group-constellation"
|
||||||
|
|
||||||
prepare-chipyard-peripherals:
|
prepare-chipyard-peripherals:
|
||||||
name: prepare-chipyard-peripherals
|
name: prepare-chipyard-peripherals
|
||||||
needs: setup-complete
|
needs: setup-complete
|
||||||
@@ -861,6 +883,53 @@ jobs:
|
|||||||
group-key: "group-other"
|
group-key: "group-other"
|
||||||
project-key: "testchipip"
|
project-key: "testchipip"
|
||||||
|
|
||||||
|
constellation-run-tests:
|
||||||
|
name: constellation-run-tests
|
||||||
|
needs: prepare-chipyard-other
|
||||||
|
runs-on: self-hosted
|
||||||
|
steps:
|
||||||
|
- name: Delete old checkout
|
||||||
|
run: |
|
||||||
|
ls -alh .
|
||||||
|
rm -rf ${{ github.workspace }}/* || true
|
||||||
|
rm -rf ${{ github.workspace }}/.* || true
|
||||||
|
ls -alh .
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
- name: Git workaround
|
||||||
|
uses: ./.github/actions/git-workaround
|
||||||
|
- name: Create conda env
|
||||||
|
uses: ./.github/actions/create-conda-env
|
||||||
|
- name: Run tests
|
||||||
|
uses: ./.github/actions/run-tests
|
||||||
|
with:
|
||||||
|
group-key: "group-other"
|
||||||
|
project-key: "constellation"
|
||||||
|
|
||||||
|
chipyard-constellation-run-tests:
|
||||||
|
name: chipyard-constellation-run-tests
|
||||||
|
needs: prepare-chipyard-constellation
|
||||||
|
runs-on: self-hosted
|
||||||
|
steps:
|
||||||
|
- name: Delete old checkout
|
||||||
|
run: |
|
||||||
|
ls -alh .
|
||||||
|
rm -rf ${{ github.workspace }}/* || true
|
||||||
|
rm -rf ${{ github.workspace }}/.* || true
|
||||||
|
ls -alh .
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
- name: Git workaround
|
||||||
|
uses: ./.github/actions/git-workaround
|
||||||
|
- name: Create conda env
|
||||||
|
uses: ./.github/actions/create-conda-env
|
||||||
|
- name: Run tests
|
||||||
|
uses: ./.github/actions/run-tests
|
||||||
|
with:
|
||||||
|
group-key: "group-constellation"
|
||||||
|
project-key: "chipyard-constellation"
|
||||||
|
|
||||||
|
|
||||||
firesim-run-tests:
|
firesim-run-tests:
|
||||||
name: firesim-run-tests
|
name: firesim-run-tests
|
||||||
needs: setup-complete
|
needs: setup-complete
|
||||||
@@ -939,16 +1008,35 @@ jobs:
|
|||||||
# When adding new top level jobs, please add them to `needs` below
|
# When adding new top level jobs, please add them to `needs` below
|
||||||
all_tests_passed:
|
all_tests_passed:
|
||||||
name: "all tests passed"
|
name: "all tests passed"
|
||||||
needs: [commit-on-master-check, tutorial-setup-check, documentation-check,
|
needs: [commit-on-master-check,
|
||||||
chipyard-rocket-run-tests, chipyard-hetero-run-tests, chipyard-boom-run-tests, chipyard-cva6-run-tests, chipyard-ibex-run-tests,
|
tutorial-setup-check,
|
||||||
chipyard-sodor-run-tests, chipyard-dmirocket-run-tests, chipyard-spiflashwrite-run-tests, chipyard-fftgenerator-run-tests,
|
documentation-check,
|
||||||
chipyard-spiflashread-run-tests, chipyard-lbwif-run-tests, chipyard-sha3-run-tests,
|
chipyard-rocket-run-tests,
|
||||||
chipyard-streaming-fir-run-tests, chipyard-streaming-passthrough-run-tests, chipyard-hwacha-run-tests,
|
chipyard-hetero-run-tests,
|
||||||
chipyard-gemmini-run-tests, chipyard-nvdla-run-tests,
|
chipyard-boom-run-tests,
|
||||||
tracegen-boom-run-tests, tracegen-run-tests,
|
chipyard-cva6-run-tests,
|
||||||
icenet-run-tests, testchipip-run-tests,
|
chipyard-ibex-run-tests,
|
||||||
|
chipyard-sodor-run-tests,
|
||||||
|
chipyard-dmirocket-run-tests,
|
||||||
|
chipyard-spiflashwrite-run-tests,
|
||||||
|
chipyard-fftgenerator-run-tests,
|
||||||
|
chipyard-spiflashread-run-tests,
|
||||||
|
chipyard-lbwif-run-tests,
|
||||||
|
chipyard-sha3-run-tests,
|
||||||
|
chipyard-streaming-fir-run-tests,
|
||||||
|
chipyard-streaming-passthrough-run-tests,
|
||||||
|
chipyard-hwacha-run-tests,
|
||||||
|
chipyard-gemmini-run-tests,
|
||||||
|
chipyard-nvdla-run-tests,
|
||||||
|
chipyard-constellation-run-tests,
|
||||||
|
tracegen-boom-run-tests,
|
||||||
|
tracegen-run-tests,
|
||||||
|
icenet-run-tests,
|
||||||
|
testchipip-run-tests,
|
||||||
|
constellation-run-tests,
|
||||||
prepare-chipyard-fpga, # firesim-run-tests,
|
prepare-chipyard-fpga, # firesim-run-tests,
|
||||||
fireboom-run-tests, firesim-multiclock-run-tests]
|
fireboom-run-tests,
|
||||||
|
firesim-multiclock-run-tests]
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- run: echo Success!
|
- run: echo Success!
|
||||||
|
|||||||
@@ -2,14 +2,15 @@ diff --git a/build.sbt b/build.sbt
|
|||||||
index bbbb8251..b7adcb73 100644
|
index bbbb8251..b7adcb73 100644
|
||||||
--- a/build.sbt
|
--- a/build.sbt
|
||||||
+++ b/build.sbt
|
+++ b/build.sbt
|
||||||
@@ -143,7 +143,7 @@ lazy val testchipip = (project in file("generators/testchipip"))
|
@@ -143,8 +143,8 @@ lazy val testchipip = (project in file("generators/testchipip"))
|
||||||
|
|
||||||
lazy val chipyard = (project in file("generators/chipyard"))
|
lazy val chipyard = (project in file("generators/chipyard"))
|
||||||
.dependsOn(testchipip, rocketchip, boom, hwacha, sifive_blocks, sifive_cache, iocell,
|
.dependsOn(testchipip, rocketchip, boom, hwacha, sifive_blocks, sifive_cache, iocell,
|
||||||
- sha3, // On separate line to allow for cleaner tutorial-setup patches
|
- sha3, // On separate line to allow for cleaner tutorial-setup patches
|
||||||
+// sha3, // On separate line to allow for cleaner tutorial-setup patches
|
+// sha3, // On separate line to allow for cleaner tutorial-setup patches
|
||||||
dsptools, `rocket-dsp-utils`,
|
dsptools, `rocket-dsp-utils`,
|
||||||
gemmini, icenet, tracegen, cva6, nvdla, sodor, ibex, fft_generator)
|
gemmini, icenet, tracegen, cva6, nvdla, sodor, ibex, fft_generator,
|
||||||
|
constellation)
|
||||||
.settings(libraryDependencies ++= rocketLibDeps.value)
|
.settings(libraryDependencies ++= rocketLibDeps.value)
|
||||||
@@ -189,11 +189,11 @@ lazy val sodor = (project in file("generators/riscv-sodor"))
|
@@ -189,11 +189,11 @@ lazy val sodor = (project in file("generators/riscv-sodor"))
|
||||||
.settings(libraryDependencies ++= rocketLibDeps.value)
|
.settings(libraryDependencies ++= rocketLibDeps.value)
|
||||||
|
|||||||
Reference in New Issue
Block a user