Add tests for symmetric rocket chiplet config
This commit is contained in:
3
.github/scripts/defaults.sh
vendored
3
.github/scripts/defaults.sh
vendored
@@ -29,7 +29,7 @@ REMOTE_COURSIER_CACHE=$REMOTE_WORK_DIR/.coursier-cache
|
|||||||
# key value store to get the build groups
|
# key value store to get the build groups
|
||||||
declare -A grouping
|
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 chipyard-spike chipyard-clone chipyard-prefetchers chipyard-shuttle"
|
grouping["group-cores"]="chipyard-cva6 chipyard-ibex chipyard-rocket chipyard-hetero chipyard-boom chipyard-sodor chipyard-digitaltop chipyard-multiclock-rocket chipyard-nomem-scratchpad chipyard-spike chipyard-clone chipyard-prefetchers chipyard-shuttle"
|
||||||
grouping["group-peripherals"]="chipyard-dmirocket chipyard-dmiboom chipyard-spiflashwrite chipyard-mmios chipyard-nocores chipyard-manyperipherals chipyard-chiplike chipyard-tethered"
|
grouping["group-peripherals"]="chipyard-dmirocket chipyard-dmiboom chipyard-spiflashwrite chipyard-mmios chipyard-nocores chipyard-manyperipherals chipyard-chiplike chipyard-tethered chipyard-symmetric"
|
||||||
grouping["group-accels"]="chipyard-mempress chipyard-sha3 chipyard-hwacha chipyard-gemmini chipyard-manymmioaccels chipyard-nvdla chipyard-aes256ecb"
|
grouping["group-accels"]="chipyard-mempress chipyard-sha3 chipyard-hwacha chipyard-gemmini chipyard-manymmioaccels chipyard-nvdla chipyard-aes256ecb"
|
||||||
grouping["group-constellation"]="chipyard-constellation"
|
grouping["group-constellation"]="chipyard-constellation"
|
||||||
grouping["group-tracegen"]="tracegen tracegen-boom"
|
grouping["group-tracegen"]="tracegen tracegen-boom"
|
||||||
@@ -58,6 +58,7 @@ mapping["chipyard-spiflashwrite"]=" CONFIG=SmallSPIFlashRocketConfig EXTRA_SIM_F
|
|||||||
mapping["chipyard-manyperipherals"]=" CONFIG=ManyPeripheralsRocketConfig EXTRA_SIM_FLAGS='+spiflash0=${LOCAL_CHIPYARD_DIR}/tests/spiflash.img'"
|
mapping["chipyard-manyperipherals"]=" CONFIG=ManyPeripheralsRocketConfig EXTRA_SIM_FLAGS='+spiflash0=${LOCAL_CHIPYARD_DIR}/tests/spiflash.img'"
|
||||||
mapping["chipyard-chiplike"]=" CONFIG=ChipLikeRocketConfig MODEL=FlatTestHarness MODEL_PACKAGE=chipyard.example verilog"
|
mapping["chipyard-chiplike"]=" CONFIG=ChipLikeRocketConfig MODEL=FlatTestHarness MODEL_PACKAGE=chipyard.example verilog"
|
||||||
mapping["chipyard-tethered"]=" CONFIG=VerilatorCITetheredChipLikeRocketConfig"
|
mapping["chipyard-tethered"]=" CONFIG=VerilatorCITetheredChipLikeRocketConfig"
|
||||||
|
mapping["chipyard-symmetric"]=" CONFIG=MultiSimSymmetricChipletRocketConfig"
|
||||||
mapping["chipyard-cloneboom"]=" CONFIG=Cloned64MegaBoomConfig verilog"
|
mapping["chipyard-cloneboom"]=" CONFIG=Cloned64MegaBoomConfig verilog"
|
||||||
mapping["chipyard-nocores"]=" CONFIG=NoCoresConfig verilog"
|
mapping["chipyard-nocores"]=" CONFIG=NoCoresConfig verilog"
|
||||||
mapping["tracegen"]=" CONFIG=NonBlockingTraceGenL2Config"
|
mapping["tracegen"]=" CONFIG=NonBlockingTraceGenL2Config"
|
||||||
|
|||||||
4
.github/scripts/run-tests.sh
vendored
4
.github/scripts/run-tests.sh
vendored
@@ -118,6 +118,10 @@ case $1 in
|
|||||||
make -C $LOCAL_CHIPYARD_DIR/tests
|
make -C $LOCAL_CHIPYARD_DIR/tests
|
||||||
run_binary BINARY=$LOCAL_CHIPYARD_DIR/tests/hello.riscv LOADMEM=1 EXTRA_SIM_FLAGS="+cflush_addr=0x2010200"
|
run_binary BINARY=$LOCAL_CHIPYARD_DIR/tests/hello.riscv LOADMEM=1 EXTRA_SIM_FLAGS="+cflush_addr=0x2010200"
|
||||||
;;
|
;;
|
||||||
|
chipyard-symmetric)
|
||||||
|
make -C $LOCAL_CHIPYARD_DIR/tests
|
||||||
|
run_binary BINARY=$LOCAL_CHIPYARD_DIR/tests/symmetric.riscv LOADMEM=1
|
||||||
|
;;
|
||||||
tracegen)
|
tracegen)
|
||||||
run_tracegen
|
run_tracegen
|
||||||
;;
|
;;
|
||||||
|
|||||||
24
.github/workflows/chipyard-run-tests.yml
vendored
24
.github/workflows/chipyard-run-tests.yml
vendored
@@ -708,6 +708,29 @@ jobs:
|
|||||||
group-key: "group-peripherals"
|
group-key: "group-peripherals"
|
||||||
project-key: "chipyard-tethered"
|
project-key: "chipyard-tethered"
|
||||||
|
|
||||||
|
chipyard-symmetric-run-tests:
|
||||||
|
name: chipyard-symmetric-run-tests
|
||||||
|
needs: prepare-chipyard-peripherals
|
||||||
|
runs-on: as4
|
||||||
|
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-peripherals"
|
||||||
|
project-key: "chipyard-symmetric"
|
||||||
|
|
||||||
chipyard-sha3-run-tests:
|
chipyard-sha3-run-tests:
|
||||||
name: chipyard-sha3-run-tests
|
name: chipyard-sha3-run-tests
|
||||||
needs: prepare-chipyard-accels
|
needs: prepare-chipyard-accels
|
||||||
@@ -1071,6 +1094,7 @@ jobs:
|
|||||||
chipyard-spiflashwrite-run-tests,
|
chipyard-spiflashwrite-run-tests,
|
||||||
chipyard-manyperipherals-run-tests,
|
chipyard-manyperipherals-run-tests,
|
||||||
chipyard-tethered-run-tests,
|
chipyard-tethered-run-tests,
|
||||||
|
chipyard-symmetric-run-tests,
|
||||||
chipyard-sha3-run-tests,
|
chipyard-sha3-run-tests,
|
||||||
chipyard-gemmini-run-tests,
|
chipyard-gemmini-run-tests,
|
||||||
chipyard-manymmioaccels-run-tests, # chipyard-nvdla-run-tests,
|
chipyard-manymmioaccels-run-tests, # chipyard-nvdla-run-tests,
|
||||||
|
|||||||
Submodule generators/testchipip updated: 1155125583...9d1a212579
@@ -29,7 +29,7 @@ include libgloss.mk
|
|||||||
|
|
||||||
PROGRAMS = pwm blkdev accum charcount nic-loopback big-blkdev pingd \
|
PROGRAMS = pwm blkdev accum charcount nic-loopback big-blkdev pingd \
|
||||||
streaming-passthrough streaming-fir nvdla spiflashread spiflashwrite fft gcd \
|
streaming-passthrough streaming-fir nvdla spiflashread spiflashwrite fft gcd \
|
||||||
hello mt-hello
|
hello mt-hello symmetric
|
||||||
|
|
||||||
|
|
||||||
.DEFAULT_GOAL := default
|
.DEFAULT_GOAL := default
|
||||||
|
|||||||
30
tests/symmetric.c
Normal file
30
tests/symmetric.c
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <riscv-pk/encoding.h>
|
||||||
|
#include "marchid.h"
|
||||||
|
|
||||||
|
#define OBUS_OFFSET (0x1L << 32)
|
||||||
|
|
||||||
|
char src[] = "This is a test string. It will be written into the off-chip memory address, then copied back.";
|
||||||
|
char dest[4096];
|
||||||
|
char test[4096];
|
||||||
|
|
||||||
|
int main(void) {
|
||||||
|
size_t write_start = rdcycle();
|
||||||
|
memcpy(dest + OBUS_OFFSET, src, sizeof(src));
|
||||||
|
size_t write_end = rdcycle();
|
||||||
|
|
||||||
|
printf("Wrote %ld bytes in %ld cycles\n", sizeof(src), write_end - write_start);
|
||||||
|
|
||||||
|
size_t read_start = rdcycle();
|
||||||
|
memcpy(test, dest + OBUS_OFFSET, sizeof(src));
|
||||||
|
size_t read_end = rdcycle();
|
||||||
|
|
||||||
|
if (memcmp(src, test, sizeof(src))) {
|
||||||
|
printf("Remote write/read failed\n");
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
printf("Read %ld bytes in %ld cycles\n", sizeof(src), read_end - read_start);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user