Merge remote-tracking branch 'upstream/main' into graphics

This commit is contained in:
Hansung Kim
2024-01-16 22:39:37 -08:00
171 changed files with 5890 additions and 4232 deletions

View File

@@ -11,15 +11,18 @@ runs:
echo "Creating a conda environment for each toolchain with the toolchain installed"
conda activate base
conda-lock install --conda $(which conda) -n ${{ env.conda-env-name-no-time }}-$(date --date "${{ env.workflow-timestamp }}" +%Y%m%d)-riscv-tools ./conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64.conda-lock.yml
conda-lock install --conda $(which conda) -n ${{ env.conda-env-name-no-time }}-$(date --date "${{ env.workflow-timestamp }}" +%Y%m%d)-esp-tools ./conda-reqs/conda-lock-reqs/conda-requirements-esp-tools-linux-64.conda-lock.yml
conda deactivate
echo "Add extra toolchain collateral to RISC-V install area"
echo "Add extra toolchain collateral + CIRCT to RISC-V install area"
git submodule update --init ./tools/install-circt
conda activate ${{ env.conda-env-name-no-time }}-$(date --date "${{ env.workflow-timestamp }}" +%Y%m%d)-riscv-tools
./scripts/build-toolchain-extra.sh riscv-tools -p $CONDA_PREFIX/riscv-tools
conda deactivate
conda activate ${{ env.conda-env-name-no-time }}-$(date --date "${{ env.workflow-timestamp }}" +%Y%m%d)-esp-tools
./scripts/build-toolchain-extra.sh esp-tools -p $CONDA_PREFIX/esp-tools
./tools/install-circt/bin/download-release-or-nightly-circt.sh \
-f circt-full-shared-linux-x64.tar.gz \
-i $CONDA_PREFIX \
-v version-file \
-x ./conda-reqs/circt.json \
-g ${{ github.token }}
conda deactivate
fi
shell: bash -leo pipefail {0}

View File

@@ -45,7 +45,7 @@ search () {
done
}
submodules=("cva6" "boom" "ibex" "gemmini" "hwacha" "icenet" "nvdla" "rocket-chip" "sha3" "sifive-blocks" "sifive-cache" "testchipip" "riscv-sodor" "mempress" "bar-fetchers" "shuttle")
submodules=("cva6" "boom" "ibex" "gemmini" "hwacha" "icenet" "nvdla" "rocket-chip" "sha3" "rocket-chip-blocks" "rocket-chip-inclusive-cache" "testchipip" "riscv-sodor" "mempress" "bar-fetchers" "shuttle" "constellation" "fft-generator" "hardfloat" "caliptra-aes-acc" "rocc-acc-utils")
dir="generators"
branches=("master" "main" "dev")
search
@@ -81,14 +81,20 @@ dir="toolchains"
branches=("master")
search
submodules=("firesim")
dir="sims"
branches=("main")
search
submodules=("coremark" "firemarshal" "nvdla-workload" "spec2017")
dir="software"
branches=("master" "dev")
search
submodules=("DRAMSim2" "axe" "barstools" "dsptools" "rocket-dsp-utils" "torture")
submodules=("DRAMSim2" "axe" "barstools" "dsptools" "rocket-dsp-utils" "torture" "fixedpoint" "cde")
dir="tools"
branches=("master" "dev")
branches=("master" "dev" "main")
search
submodules=("fpga-shells")

View File

@@ -29,13 +29,13 @@ REMOTE_COURSIER_CACHE=$REMOTE_WORK_DIR/.coursier-cache
# key value store to get the build groups
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-peripherals"]="chipyard-dmirocket chipyard-dmiboom chipyard-spiflashwrite chipyard-mmios chipyard-nocores chipyard-manyperipherals chipyard-chiplike chipyard-tethered"
grouping["group-accels"]="chipyard-mempress chipyard-sha3 chipyard-hwacha chipyard-gemmini chipyard-manymmioaccels chipyard-nvdla"
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-constellation"]="chipyard-constellation"
grouping["group-gpu"]="chipyard-vortex chipyard-coalescer coalescer"
grouping["group-tracegen"]="tracegen tracegen-boom"
grouping["group-other"]="icenet testchipip constellation rocketchip-amba rocketchip-tlsimple rocketchip-tlwidth rocketchip-tlxbar"
grouping["group-fpga"]="arty vcu118 vc707 arty100t"
grouping["group-other"]="icenet testchipip constellation rocketchip-amba rocketchip-tlsimple rocketchip-tlwidth rocketchip-tlxbar chipyard-clusters"
grouping["group-fpga"]="arty35t arty100t nexysvideo vc707 vcu118"
# key value store to get the build strings
declare -A mapping
@@ -59,6 +59,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-chiplike"]=" CONFIG=ChipLikeRocketConfig MODEL=FlatTestHarness MODEL_PACKAGE=chipyard.example verilog"
mapping["chipyard-tethered"]=" CONFIG=VerilatorCITetheredChipLikeRocketConfig"
mapping["chipyard-symmetric"]=" CONFIG=MultiSimSymmetricChipletRocketConfig"
mapping["chipyard-cloneboom"]=" CONFIG=Cloned64MegaBoomConfig verilog"
mapping["chipyard-nocores"]=" CONFIG=NoCoresConfig verilog"
mapping["tracegen"]=" CONFIG=NonBlockingTraceGenL2Config"
@@ -68,6 +69,8 @@ mapping["chipyard-shuttle"]=" CONFIG=ShuttleConfig"
mapping["chipyard-multiclock-rocket"]=" CONFIG=MulticlockRocketConfig"
mapping["chipyard-nomem-scratchpad"]=" CONFIG=MMIOScratchpadOnlyRocketConfig"
mapping["chipyard-constellation"]=" CONFIG=SharedNoCConfig"
mapping["chipyard-clusters"]=" CONFIG=ClusteredRocketConfig verilog"
mapping["chipyard-aes256ecb"]=" CONFIG=AES256ECBRocketConfig"
mapping["chipyard-vortex"]=" CONFIG=RadianceROMConfig"
mapping["chipyard-coalescer"]=" CONFIG=MemtraceCoreConfig"
@@ -82,7 +85,8 @@ mapping["rocketchip-tlsimple"]="SUB_PROJECT=rocketchip CONFIG=TLSimpleUnitTestCo
mapping["rocketchip-tlwidth"]="SUB_PROJECT=rocketchip CONFIG=TLWidthUnitTestConfig"
mapping["rocketchip-tlxbar"]="SUB_PROJECT=rocketchip CONFIG=TLXbarUnitTestConfig"
mapping["arty"]="SUB_PROJECT=arty verilog"
mapping["vcu118"]="SUB_PROJECT=vcu118 verilog"
mapping["vc707"]="SUB_PROJECT=vc707 verilog"
mapping["arty35t"]="SUB_PROJECT=arty35t verilog"
mapping["arty100t"]="SUB_PROJECT=arty100t verilog"
mapping["nexysvideo"]="SUB_PROJECT=nexysvideo verilog"
mapping["vc707"]="SUB_PROJECT=vc707 verilog"
mapping["vcu118"]="SUB_PROJECT=vcu118 verilog"

View File

@@ -118,6 +118,10 @@ case $1 in
make -C $LOCAL_CHIPYARD_DIR/tests
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)
run_tracegen
;;

View File

@@ -65,7 +65,7 @@ jobs:
name: setup-repo
needs: [change-filters, cancel-prior-workflows]
if: needs.change-filters.outputs.needs-rtl == 'true'
runs-on: jktqos
runs-on: as4
steps:
- name: Delete old checkout
run: |
@@ -88,7 +88,7 @@ jobs:
run-cfg-finder:
name: run-cfg-finder
needs: [setup-repo]
runs-on: jktqos
runs-on: as4
steps:
- name: Run config finder
run: |
@@ -101,7 +101,7 @@ jobs:
run-tutorial:
name: run-tutorial
needs: [setup-repo]
runs-on: jktqos
runs-on: as4
steps:
- name: Run smoke test
run: |
@@ -124,7 +124,7 @@ jobs:
conda config --add channels litex-hub
# installs for example-sky130.yml
conda create -y --prefix ./.conda-sky130 open_pdks.sky130a=1.0.399_0_g63dbde9
conda create -y --prefix ./.conda-sky130 open_pdks.sky130a=1.0.457_0_g32e8f23
git clone https://github.com/rahulk29/sram22_sky130_macros.git
# installs for example-openroad.yml
@@ -170,7 +170,7 @@ jobs:
cleanup:
name: cleanup
needs: [run-tutorial]
runs-on: jktqos
runs-on: as4
if: ${{ always() }}
steps:
- name: Delete repo copy and conda env

View File

@@ -62,32 +62,11 @@ jobs:
- '**/.gitignore'
- '.github/ISSUE_TEMPLATE/**'
create-conda-env-jktgz:
name: create-conda-env-jktgz
create-conda-env-as4:
name: create-conda-env-as4
needs: [change-filters, cancel-prior-workflows]
if: needs.change-filters.outputs.needs-rtl == 'true'
runs-on: jktgz
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: Cleanup conda
uses: ./.github/actions/cleanup-conda
- name: Create conda env
uses: ./.github/actions/create-conda-env
create-conda-env-jktqos:
name: create-conda-env-jktqos
needs: [change-filters, cancel-prior-workflows]
if: needs.change-filters.outputs.needs-rtl == 'true'
runs-on: jktqos
runs-on: as4
steps:
- name: Delete old checkout
run: |
@@ -109,7 +88,7 @@ jobs:
# When adding new prep jobs, please add them to `needs` below
setup-complete:
name: setup-complete
needs: [create-conda-env-jktgz, create-conda-env-jktqos]
needs: [create-conda-env-as4]
runs-on: ubuntu-latest
steps:
- name: Set up complete
@@ -121,7 +100,7 @@ jobs:
name: commit-on-master-check
needs: [setup-complete]
if: needs.change-filters.outputs.needs-rtl == 'true'
runs-on: self-hosted
runs-on: as4
steps:
- name: Delete old checkout
run: |
@@ -144,7 +123,7 @@ jobs:
name: tutorial-setup-check
needs: [setup-complete]
if: needs.change-filters.outputs.needs-rtl == 'true'
runs-on: self-hosted
runs-on: as4
steps:
- name: Delete old checkout
run: |
@@ -166,7 +145,7 @@ jobs:
documentation-check:
name: documentation-check
needs: [setup-complete]
runs-on: self-hosted
runs-on: as4
steps:
- name: Delete old checkout
run: |
@@ -192,7 +171,7 @@ jobs:
name: build-extra-tests
needs: [setup-complete]
if: needs.change-filters.outputs.needs-rtl == 'true'
runs-on: self-hosted
runs-on: as4
steps:
- name: Delete old checkout
run: |
@@ -224,7 +203,7 @@ jobs:
prepare-chipyard-cores:
name: prepare-chipyard-cores
needs: setup-complete
runs-on: self-hosted
runs-on: as4
steps:
- name: Delete old checkout
run: |
@@ -246,7 +225,7 @@ jobs:
prepare-chipyard-constellation:
name: prepare-chipyard-constellation
needs: setup-complete
runs-on: self-hosted
runs-on: as4
steps:
- name: Delete old checkout
run: |
@@ -268,7 +247,7 @@ jobs:
prepare-chipyard-peripherals:
name: prepare-chipyard-peripherals
needs: setup-complete
runs-on: self-hosted
runs-on: as4
steps:
- name: Delete old checkout
run: |
@@ -290,7 +269,7 @@ jobs:
prepare-chipyard-accels:
name: prepare-chipyard-accels
needs: setup-complete
runs-on: self-hosted
runs-on: as4
steps:
- name: Delete old checkout
run: |
@@ -312,7 +291,7 @@ jobs:
prepare-chipyard-tracegen:
name: prepare-chipyard-tracegen
needs: setup-complete
runs-on: self-hosted
runs-on: as4
steps:
- name: Delete old checkout
run: |
@@ -334,7 +313,7 @@ jobs:
prepare-chipyard-other:
name: prepare-chipyard-other
needs: setup-complete
runs-on: self-hosted
runs-on: as4
steps:
- name: Delete old checkout
run: |
@@ -356,7 +335,7 @@ jobs:
prepare-chipyard-fpga:
name: prepare-chipyard-fpga
needs: setup-complete
runs-on: self-hosted
runs-on: as4
steps:
- name: Delete old checkout
run: |
@@ -381,7 +360,7 @@ jobs:
chipyard-spike-gemmini-run-tests:
name: chipyard-spike-gemmini-run-tests
needs: prepare-chipyard-accels # technically doesn't depend on RTL but should be after the build.sh for Gemmini
runs-on: jktqos
runs-on: as4
steps:
- name: Delete old checkout
run: |
@@ -410,7 +389,7 @@ jobs:
chipyard-rocket-run-tests:
name: chipyard-rocket-run-tests
needs: prepare-chipyard-cores
runs-on: self-hosted
runs-on: as4
steps:
- name: Delete old checkout
run: |
@@ -433,7 +412,7 @@ jobs:
chipyard-prefetchers-run-tests:
name: chipyard-prefetchers-run-tests
needs: prepare-chipyard-cores
runs-on: self-hosted
runs-on: as4
steps:
- name: Delete old checkout
run: |
@@ -456,7 +435,7 @@ jobs:
chipyard-hetero-run-tests:
name: chipyard-hetero-run-tests
needs: prepare-chipyard-cores
runs-on: self-hosted
runs-on: as4
steps:
- name: Delete old checkout
run: |
@@ -479,7 +458,7 @@ jobs:
chipyard-boom-run-tests:
name: chipyard-boom-run-tests
needs: prepare-chipyard-cores
runs-on: self-hosted
runs-on: as4
steps:
- name: Delete old checkout
run: |
@@ -502,7 +481,7 @@ jobs:
chipyard-shuttle-run-tests:
name: chipyard-shuttle-run-tests
needs: prepare-chipyard-cores
runs-on: self-hosted
runs-on: as4
steps:
- name: Delete old checkout
run: |
@@ -525,7 +504,7 @@ jobs:
chipyard-cva6-run-tests:
name: chipyard-cva6-run-tests
needs: prepare-chipyard-cores
runs-on: self-hosted
runs-on: as4
steps:
- name: Delete old checkout
run: |
@@ -548,7 +527,7 @@ jobs:
chipyard-ibex-run-tests:
name: chipyard-ibex-run-tests
needs: prepare-chipyard-cores
runs-on: self-hosted
runs-on: as4
steps:
- name: Delete old checkout
run: |
@@ -571,7 +550,7 @@ jobs:
chipyard-sodor-run-tests:
name: chipyard-sodor-run-tests
needs: prepare-chipyard-cores
runs-on: self-hosted
runs-on: as4
steps:
- name: Delete old checkout
run: |
@@ -594,7 +573,7 @@ jobs:
chipyard-spike-run-tests:
name: chipyard-spike-run-tests
needs: prepare-chipyard-cores
runs-on: self-hosted
runs-on: as4
steps:
- name: Delete old checkout
run: |
@@ -617,7 +596,7 @@ jobs:
chipyard-dmirocket-run-tests:
name: chipyard-dmirocket-run-tests
needs: prepare-chipyard-peripherals
runs-on: self-hosted
runs-on: as4
steps:
- name: Delete old checkout
run: |
@@ -640,7 +619,7 @@ jobs:
chipyard-dmiboom-run-tests:
name: chipyard-dmiboom-run-tests
needs: prepare-chipyard-peripherals
runs-on: self-hosted
runs-on: as4
steps:
- name: Delete old checkout
run: |
@@ -663,7 +642,7 @@ jobs:
chipyard-spiflashwrite-run-tests:
name: chipyard-spiflashwrite-run-tests
needs: prepare-chipyard-peripherals
runs-on: self-hosted
runs-on: as4
steps:
- name: Delete old checkout
run: |
@@ -686,7 +665,7 @@ jobs:
chipyard-manyperipherals-run-tests:
name: chipyard-manyperipherals-run-tests
needs: prepare-chipyard-peripherals
runs-on: self-hosted
runs-on: as4
steps:
- name: Delete old checkout
run: |
@@ -709,7 +688,7 @@ jobs:
chipyard-tethered-run-tests:
name: chipyard-tethered-run-tests
needs: prepare-chipyard-peripherals
runs-on: self-hosted
runs-on: as4
steps:
- name: Delete old checkout
run: |
@@ -729,10 +708,33 @@ jobs:
group-key: "group-peripherals"
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:
name: chipyard-sha3-run-tests
needs: prepare-chipyard-accels
runs-on: self-hosted
runs-on: as4
steps:
- name: Delete old checkout
run: |
@@ -755,7 +757,7 @@ jobs:
chipyard-gemmini-run-tests:
name: chipyard-gemmini-run-tests
needs: prepare-chipyard-accels
runs-on: self-hosted
runs-on: as4
steps:
- name: Delete old checkout
run: |
@@ -778,7 +780,7 @@ jobs:
chipyard-manymmioaccels-run-tests:
name: chipyard-manymmioaccels-run-tests
needs: prepare-chipyard-accels
runs-on: self-hosted
runs-on: as4
steps:
- name: Delete old checkout
run: |
@@ -801,7 +803,7 @@ jobs:
# chipyard-nvdla-run-tests:
# name: chipyard-nvdla-run-tests
# needs: prepare-chipyard-accels
# runs-on: self-hosted
# runs-on: as4
# steps:
# - name: Delete old checkout
# run: |
@@ -824,7 +826,7 @@ jobs:
chipyard-mempress-run-tests:
name: chipyard-mempress-run-tests
needs: prepare-chipyard-accels
runs-on: self-hosted
runs-on: as4
steps:
- name: Delete old checkout
run: |
@@ -848,7 +850,7 @@ jobs:
tracegen-boom-run-tests:
name: tracegen-boom-run-tests
needs: prepare-chipyard-tracegen
runs-on: self-hosted
runs-on: as4
steps:
- name: Delete old checkout
run: |
@@ -871,7 +873,7 @@ jobs:
tracegen-run-tests:
name: tracegen-run-tests
needs: prepare-chipyard-tracegen
runs-on: self-hosted
runs-on: as4
steps:
- name: Delete old checkout
run: |
@@ -894,7 +896,7 @@ jobs:
icenet-run-tests:
name: icenet-run-tests
needs: prepare-chipyard-other
runs-on: self-hosted
runs-on: as4
steps:
- name: Delete old checkout
run: |
@@ -917,7 +919,7 @@ jobs:
testchipip-run-tests:
name: testchipip-run-tests
needs: prepare-chipyard-other
runs-on: self-hosted
runs-on: as4
steps:
- name: Delete old checkout
run: |
@@ -940,7 +942,7 @@ jobs:
rocketchip-run-tests:
name: rocketchip-run-tests
needs: prepare-chipyard-other
runs-on: self-hosted
runs-on: as4
steps:
- name: Delete old checkout
run: |
@@ -979,7 +981,7 @@ jobs:
constellation-run-tests:
name: constellation-run-tests
needs: prepare-chipyard-other
runs-on: self-hosted
runs-on: as4
steps:
- name: Delete old checkout
run: |
@@ -1002,7 +1004,7 @@ jobs:
chipyard-constellation-run-tests:
name: chipyard-constellation-run-tests
needs: prepare-chipyard-constellation
runs-on: self-hosted
runs-on: as4
steps:
- name: Delete old checkout
run: |
@@ -1026,7 +1028,7 @@ jobs:
firesim-run-tests:
name: firesim-run-tests
needs: setup-complete
runs-on: self-hosted
runs-on: as4
steps:
- name: Delete old checkout
run: |
@@ -1050,7 +1052,7 @@ jobs:
fireboom-run-tests:
name: fireboom-run-tests
needs: setup-complete
runs-on: self-hosted
runs-on: as4
steps:
- name: Delete old checkout
run: |
@@ -1092,6 +1094,7 @@ jobs:
chipyard-spiflashwrite-run-tests,
chipyard-manyperipherals-run-tests,
chipyard-tethered-run-tests,
chipyard-symmetric-run-tests,
chipyard-sha3-run-tests,
chipyard-gemmini-run-tests,
chipyard-manymmioaccels-run-tests, # chipyard-nvdla-run-tests,

25
.github/workflows/update-circt.yml vendored Normal file
View File

@@ -0,0 +1,25 @@
name: update-circt
# run daily
on:
schedule:
- cron: 0,15,30,45 * * * *
#- cron: 0 8 * * *
defaults:
run:
shell: bash -leo pipefail {0}
jobs:
update-circt:
name: update-circt
runs-on: ubuntu-latest
steps:
- name: Update CIRCT
uses: circt/update-circt@v1.0.0
with:
user: 'bartender'
email: 'firesimchipyard@gmail.com'
pr-reviewers: ''
pr-labels: 'changelog:changed'
circt-config: './conda-reqs/circt.json'