Merge remote-tracking branch 'origin/dev' into dev-sky130 [ci skip]
This commit is contained in:
2
.github/actions/run-tests/action.yml
vendored
2
.github/actions/run-tests/action.yml
vendored
@@ -17,7 +17,7 @@ runs:
|
|||||||
using: "composite"
|
using: "composite"
|
||||||
steps:
|
steps:
|
||||||
- name: Init submodules (since only the RTL is cached)
|
- name: Init submodules (since only the RTL is cached)
|
||||||
run: ./scripts/init-submodules-no-riscv-tools.sh
|
run: ./scripts/init-submodules-no-riscv-tools.sh --skip-validate
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
# Note: You shouldn't need the other inputs since it shouldn't build RTL from scratch
|
# Note: You shouldn't need the other inputs since it shouldn't build RTL from scratch
|
||||||
|
|||||||
20
.github/scripts/check-commit.sh
vendored
20
.github/scripts/check-commit.sh
vendored
@@ -9,6 +9,7 @@ set -ex
|
|||||||
SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )"
|
SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )"
|
||||||
source $SCRIPT_DIR/defaults.sh
|
source $SCRIPT_DIR/defaults.sh
|
||||||
|
|
||||||
|
# enter bhd repo
|
||||||
cd $LOCAL_CHIPYARD_DIR
|
cd $LOCAL_CHIPYARD_DIR
|
||||||
|
|
||||||
# ignore the private vlsi submodules
|
# ignore the private vlsi submodules
|
||||||
@@ -16,15 +17,16 @@ git config submodule.vlsi/hammer-cadence-plugins.update none
|
|||||||
git config submodule.vlsi/hammer-mentor-plugins.update none
|
git config submodule.vlsi/hammer-mentor-plugins.update none
|
||||||
git config submodule.vlsi/hammer-synopsys-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=()
|
all_names=()
|
||||||
|
|
||||||
|
|
||||||
search_submodule() {
|
search_submodule() {
|
||||||
echo "Running check on submodule $submodule in $dir"
|
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
|
||||||
|
|
||||||
|
status=$(git submodule status)
|
||||||
hash=$(echo "$status" | grep "$dir.*$submodule " | awk '{print$1}' | grep -o "[[:alnum:]]*")
|
hash=$(echo "$status" | grep "$dir.*$submodule " | awk '{print$1}' | grep -o "[[:alnum:]]*")
|
||||||
for branch in "${branches[@]}"
|
for branch in "${branches[@]}"
|
||||||
do
|
do
|
||||||
@@ -47,9 +49,9 @@ search () {
|
|||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
submodules=("cva6" "ibex" "boom" "gemmini" "hwacha" "icenet" "nvdla" "rocket-chip" "sha3" "sifive-blocks" "sifive-cache" "testchipip" "riscv-sodor")
|
submodules=("cva6" "boom" "ibex" "gemmini" "hwacha" "icenet" "nvdla" "rocket-chip" "sha3" "sifive-blocks" "sifive-cache" "testchipip" "riscv-sodor")
|
||||||
dir="generators"
|
dir="generators"
|
||||||
if [ "$CIRCLE_BRANCH" == "master" ] || [ "$CIRCLE_BRANCH" == "dev" ]
|
if [ "$GITHUB_REF_NAME" == "master" ] || [ "$GITHUB_REF_NAME" == "dev" ]
|
||||||
then
|
then
|
||||||
branches=("master" "main")
|
branches=("master" "main")
|
||||||
else
|
else
|
||||||
@@ -81,7 +83,7 @@ search
|
|||||||
|
|
||||||
submodules=("coremark" "firemarshal" "nvdla-workload" "spec2017")
|
submodules=("coremark" "firemarshal" "nvdla-workload" "spec2017")
|
||||||
dir="software"
|
dir="software"
|
||||||
if [ "$CIRCLE_BRANCH" == "master" ] || [ "$CIRCLE_BRANCH" == "dev" ]
|
if [ "$GITHUB_REF_NAME" == "master" ] || [ "$GITHUB_REF_NAME" == "dev" ]
|
||||||
then
|
then
|
||||||
branches=("master")
|
branches=("master")
|
||||||
else
|
else
|
||||||
@@ -91,7 +93,7 @@ search
|
|||||||
|
|
||||||
submodules=("DRAMSim2" "axe" "barstools" "chisel-testers" "dsptools" "rocket-dsp-utils" "torture")
|
submodules=("DRAMSim2" "axe" "barstools" "chisel-testers" "dsptools" "rocket-dsp-utils" "torture")
|
||||||
dir="tools"
|
dir="tools"
|
||||||
if [ "$CIRCLE_BRANCH" == "master" ] || [ "$CIRCLE_BRANCH" == "dev" ]
|
if [ "$GITHUB_REF_NAME" == "master" ] || [ "$GITHUB_REF_NAME" == "dev" ]
|
||||||
then
|
then
|
||||||
branches=("master")
|
branches=("master")
|
||||||
else
|
else
|
||||||
@@ -106,7 +108,7 @@ search
|
|||||||
|
|
||||||
submodules=("firesim")
|
submodules=("firesim")
|
||||||
dir="sims"
|
dir="sims"
|
||||||
if [ "$CIRCLE_BRANCH" == "master" ] || [ "$CIRCLE_BRANCH" == "dev" ]
|
if [ "$GITHUB_REF_NAME" == "master" ] || [ "$GITHUB_REF_NAME" == "dev" ]
|
||||||
then
|
then
|
||||||
branches=("master")
|
branches=("master")
|
||||||
else
|
else
|
||||||
|
|||||||
2
.github/scripts/remote-do-rtl-build.sh
vendored
2
.github/scripts/remote-do-rtl-build.sh
vendored
@@ -15,7 +15,7 @@ SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )"
|
|||||||
source $SCRIPT_DIR/defaults.sh
|
source $SCRIPT_DIR/defaults.sh
|
||||||
|
|
||||||
cd $REMOTE_CHIPYARD_DIR
|
cd $REMOTE_CHIPYARD_DIR
|
||||||
./scripts/init-submodules-no-riscv-tools.sh
|
./scripts/init-submodules-no-riscv-tools.sh --skip-validate
|
||||||
./scripts/init-fpga.sh
|
./scripts/init-fpga.sh
|
||||||
|
|
||||||
TOOLS_DIR=$REMOTE_RISCV_DIR
|
TOOLS_DIR=$REMOTE_RISCV_DIR
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ export PATH="$RISCV/bin:$PATH"
|
|||||||
# This would generally be handled by build-setup.sh/firesim-setup.sh
|
# This would generally be handled by build-setup.sh/firesim-setup.sh
|
||||||
REMOTE_FIRESIM_SYSROOT=$REMOTE_FIRESIM_DIR/lib-install
|
REMOTE_FIRESIM_SYSROOT=$REMOTE_FIRESIM_DIR/lib-install
|
||||||
|
|
||||||
./scripts/init-submodules-no-riscv-tools.sh
|
./scripts/init-submodules-no-riscv-tools.sh --skip-validate
|
||||||
cd $REMOTE_CHIPYARD_DIR/sims/firesim/sim/firesim-lib/src/main/cc/lib
|
cd $REMOTE_CHIPYARD_DIR/sims/firesim/sim/firesim-lib/src/main/cc/lib
|
||||||
git submodule update --init elfutils libdwarf
|
git submodule update --init elfutils libdwarf
|
||||||
cd $REMOTE_CHIPYARD_DIR/sims/firesim
|
cd $REMOTE_CHIPYARD_DIR/sims/firesim
|
||||||
|
|||||||
46
.gitmodules
vendored
46
.gitmodules
vendored
@@ -1,36 +1,47 @@
|
|||||||
[submodule "rocket-chip"]
|
[submodule "rocket-chip"]
|
||||||
path = generators/rocket-chip
|
path = generators/rocket-chip
|
||||||
url = https://github.com/ucb-bar/rocket-chip.git
|
url = https://github.com/chipsalliance/rocket-chip.git
|
||||||
|
shallow = true
|
||||||
[submodule "testchipip"]
|
[submodule "testchipip"]
|
||||||
path = generators/testchipip
|
path = generators/testchipip
|
||||||
url = https://github.com/ucb-bar/testchipip.git
|
url = https://github.com/ucb-bar/testchipip.git
|
||||||
|
shallow = true
|
||||||
[submodule "barstools"]
|
[submodule "barstools"]
|
||||||
path = tools/barstools
|
path = tools/barstools
|
||||||
url = https://github.com/ucb-bar/barstools.git
|
url = https://github.com/ucb-bar/barstools.git
|
||||||
|
shallow = true
|
||||||
[submodule "tools/torture"]
|
[submodule "tools/torture"]
|
||||||
path = tools/torture
|
path = tools/torture
|
||||||
url = https://github.com/ucb-bar/riscv-torture.git
|
url = https://github.com/ucb-bar/riscv-torture.git
|
||||||
|
shallow = true
|
||||||
[submodule "generators/boom"]
|
[submodule "generators/boom"]
|
||||||
path = generators/boom
|
path = generators/boom
|
||||||
url = https://github.com/riscv-boom/riscv-boom.git
|
url = https://github.com/riscv-boom/riscv-boom.git
|
||||||
|
shallow = true
|
||||||
[submodule "generators/sifive-blocks"]
|
[submodule "generators/sifive-blocks"]
|
||||||
path = generators/sifive-blocks
|
path = generators/sifive-blocks
|
||||||
url = https://github.com/sifive/sifive-blocks.git
|
url = https://github.com/sifive/sifive-blocks.git
|
||||||
|
shallow = true
|
||||||
[submodule "generators/hwacha"]
|
[submodule "generators/hwacha"]
|
||||||
path = generators/hwacha
|
path = generators/hwacha
|
||||||
url = https://github.com/ucb-bar/hwacha.git
|
url = https://github.com/ucb-bar/hwacha.git
|
||||||
|
shallow = true
|
||||||
[submodule "sims/firesim"]
|
[submodule "sims/firesim"]
|
||||||
path = sims/firesim
|
path = sims/firesim
|
||||||
url = https://github.com/firesim/firesim.git
|
url = https://github.com/firesim/firesim.git
|
||||||
|
shallow = true
|
||||||
[submodule "generators/icenet"]
|
[submodule "generators/icenet"]
|
||||||
path = generators/icenet
|
path = generators/icenet
|
||||||
url = https://github.com/firesim/icenet.git
|
url = https://github.com/firesim/icenet.git
|
||||||
|
shallow = true
|
||||||
[submodule "generators/block-inclusivecache-sifive"]
|
[submodule "generators/block-inclusivecache-sifive"]
|
||||||
path = generators/sifive-cache
|
path = generators/sifive-cache
|
||||||
url = https://github.com/sifive/block-inclusivecache-sifive.git
|
url = https://github.com/sifive/block-inclusivecache-sifive.git
|
||||||
|
shallow = true
|
||||||
[submodule "toolchains/riscv-tools/riscv-gnu-toolchain"]
|
[submodule "toolchains/riscv-tools/riscv-gnu-toolchain"]
|
||||||
path = toolchains/riscv-tools/riscv-gnu-toolchain
|
path = toolchains/riscv-tools/riscv-gnu-toolchain
|
||||||
url = https://github.com/riscv/riscv-gnu-toolchain.git
|
url = https://github.com/riscv/riscv-gnu-toolchain.git
|
||||||
|
shallow = true
|
||||||
[submodule "toolchains/riscv-tools/riscv-gnu-toolchain-prebuilt"]
|
[submodule "toolchains/riscv-tools/riscv-gnu-toolchain-prebuilt"]
|
||||||
path = 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
|
url = https://github.com/ucb-bar/chipyard-toolchain-prebuilt.git
|
||||||
@@ -38,99 +49,132 @@
|
|||||||
[submodule "toolchains/riscv-tools/riscv-isa-sim"]
|
[submodule "toolchains/riscv-tools/riscv-isa-sim"]
|
||||||
path = toolchains/riscv-tools/riscv-isa-sim
|
path = toolchains/riscv-tools/riscv-isa-sim
|
||||||
url = https://github.com/riscv/riscv-isa-sim.git
|
url = https://github.com/riscv/riscv-isa-sim.git
|
||||||
|
shallow = true
|
||||||
[submodule "toolchains/riscv-tools/riscv-pk"]
|
[submodule "toolchains/riscv-tools/riscv-pk"]
|
||||||
path = toolchains/riscv-tools/riscv-pk
|
path = toolchains/riscv-tools/riscv-pk
|
||||||
url = https://github.com/riscv/riscv-pk.git
|
url = https://github.com/riscv/riscv-pk.git
|
||||||
|
shallow = true
|
||||||
[submodule "toolchains/riscv-tools/riscv-tests"]
|
[submodule "toolchains/riscv-tools/riscv-tests"]
|
||||||
path = toolchains/riscv-tools/riscv-tests
|
path = toolchains/riscv-tools/riscv-tests
|
||||||
url = https://github.com/riscv/riscv-tests.git
|
url = https://github.com/riscv/riscv-tests.git
|
||||||
|
shallow = true
|
||||||
[submodule "toolchains/riscv-tools/riscv-openocd"]
|
[submodule "toolchains/riscv-tools/riscv-openocd"]
|
||||||
path = toolchains/riscv-tools/riscv-openocd
|
path = toolchains/riscv-tools/riscv-openocd
|
||||||
url = https://github.com/riscv/riscv-openocd.git
|
url = https://github.com/riscv/riscv-openocd.git
|
||||||
|
shallow = true
|
||||||
[submodule "toolchains/esp-tools/riscv-gnu-toolchain"]
|
[submodule "toolchains/esp-tools/riscv-gnu-toolchain"]
|
||||||
path = toolchains/esp-tools/riscv-gnu-toolchain
|
path = toolchains/esp-tools/riscv-gnu-toolchain
|
||||||
url = https://github.com/ucb-bar/esp-gnu-toolchain.git
|
url = https://github.com/ucb-bar/esp-gnu-toolchain.git
|
||||||
|
shallow = true
|
||||||
[submodule "toolchains/esp-tools/riscv-isa-sim"]
|
[submodule "toolchains/esp-tools/riscv-isa-sim"]
|
||||||
path = toolchains/esp-tools/riscv-isa-sim
|
path = toolchains/esp-tools/riscv-isa-sim
|
||||||
url = https://github.com/ucb-bar/esp-isa-sim.git
|
url = https://github.com/ucb-bar/esp-isa-sim.git
|
||||||
|
shallow = true
|
||||||
[submodule "toolchains/esp-tools/riscv-pk"]
|
[submodule "toolchains/esp-tools/riscv-pk"]
|
||||||
path = toolchains/esp-tools/riscv-pk
|
path = toolchains/esp-tools/riscv-pk
|
||||||
url = https://github.com/riscv/riscv-pk.git
|
url = https://github.com/riscv/riscv-pk.git
|
||||||
|
shallow = true
|
||||||
[submodule "toolchains/esp-tools/riscv-tests"]
|
[submodule "toolchains/esp-tools/riscv-tests"]
|
||||||
path = toolchains/esp-tools/riscv-tests
|
path = toolchains/esp-tools/riscv-tests
|
||||||
url = https://github.com/ucb-bar/esp-tests.git
|
url = https://github.com/ucb-bar/esp-tests.git
|
||||||
|
shallow = true
|
||||||
[submodule "toolchains/libgloss"]
|
[submodule "toolchains/libgloss"]
|
||||||
path = toolchains/libgloss
|
path = toolchains/libgloss
|
||||||
url = https://github.com/ucb-bar/libgloss-htif.git
|
url = https://github.com/ucb-bar/libgloss-htif.git
|
||||||
|
shallow = true
|
||||||
[submodule "vlsi/hammer"]
|
[submodule "vlsi/hammer"]
|
||||||
path = vlsi/hammer
|
path = vlsi/hammer
|
||||||
url = https://github.com/ucb-bar/hammer.git
|
url = https://github.com/ucb-bar/hammer.git
|
||||||
|
shallow = true
|
||||||
[submodule "tools/dsptools"]
|
[submodule "tools/dsptools"]
|
||||||
path = tools/dsptools
|
path = tools/dsptools
|
||||||
url = https://github.com/ucb-bar/dsptools.git
|
url = https://github.com/ucb-bar/dsptools.git
|
||||||
|
shallow = true
|
||||||
[submodule "tools/chisel-testers"]
|
[submodule "tools/chisel-testers"]
|
||||||
path = tools/chisel-testers
|
path = tools/chisel-testers
|
||||||
url = https://github.com/freechipsproject/chisel-testers.git
|
url = https://github.com/freechipsproject/chisel-testers.git
|
||||||
|
shallow = true
|
||||||
[submodule "generators/sha3"]
|
[submodule "generators/sha3"]
|
||||||
path = generators/sha3
|
path = generators/sha3
|
||||||
url = https://github.com/ucb-bar/sha3.git
|
url = https://github.com/ucb-bar/sha3.git
|
||||||
|
shallow = true
|
||||||
[submodule "vlsi/hammer-cadence-plugins"]
|
[submodule "vlsi/hammer-cadence-plugins"]
|
||||||
path = vlsi/hammer-cadence-plugins
|
path = vlsi/hammer-cadence-plugins
|
||||||
url = https://github.com/ucb-bar/hammer-cadence-plugins.git
|
url = https://github.com/ucb-bar/hammer-cadence-plugins.git
|
||||||
|
shallow = true
|
||||||
[submodule "vlsi/hammer-synopsys-plugins"]
|
[submodule "vlsi/hammer-synopsys-plugins"]
|
||||||
path = vlsi/hammer-synopsys-plugins
|
path = vlsi/hammer-synopsys-plugins
|
||||||
url = https://github.com/ucb-bar/hammer-synopsys-plugins.git
|
url = https://github.com/ucb-bar/hammer-synopsys-plugins.git
|
||||||
|
shallow = true
|
||||||
[submodule "vlsi/hammer-mentor-plugins"]
|
[submodule "vlsi/hammer-mentor-plugins"]
|
||||||
path = vlsi/hammer-mentor-plugins
|
path = vlsi/hammer-mentor-plugins
|
||||||
url = https://github.com/ucb-bar/hammer-mentor-plugins.git
|
url = https://github.com/ucb-bar/hammer-mentor-plugins.git
|
||||||
|
shallow = true
|
||||||
[submodule "toolchains/qemu"]
|
[submodule "toolchains/qemu"]
|
||||||
path = toolchains/qemu
|
path = toolchains/qemu
|
||||||
url = https://github.com/qemu/qemu.git
|
url = https://github.com/qemu/qemu.git
|
||||||
|
shallow = true
|
||||||
[submodule "tools/axe"]
|
[submodule "tools/axe"]
|
||||||
path = tools/axe
|
path = tools/axe
|
||||||
url = https://github.com/CTSRD-CHERI/axe.git
|
url = https://github.com/CTSRD-CHERI/axe.git
|
||||||
|
shallow = true
|
||||||
[submodule "software/spec2017"]
|
[submodule "software/spec2017"]
|
||||||
path = software/spec2017
|
path = software/spec2017
|
||||||
url = https://github.com/ucb-bar/spec2017-workload.git
|
url = https://github.com/ucb-bar/spec2017-workload.git
|
||||||
|
shallow = true
|
||||||
[submodule "software/coremark"]
|
[submodule "software/coremark"]
|
||||||
path = software/coremark
|
path = software/coremark
|
||||||
url = https://github.com/ucb-bar/coremark-workload.git
|
url = https://github.com/ucb-bar/coremark-workload.git
|
||||||
|
shallow = true
|
||||||
[submodule "generators/gemmini"]
|
[submodule "generators/gemmini"]
|
||||||
path = generators/gemmini
|
path = generators/gemmini
|
||||||
url = https://github.com/ucb-bar/gemmini
|
url = https://github.com/ucb-bar/gemmini
|
||||||
|
shallow = true
|
||||||
[submodule "software/firemarshal"]
|
[submodule "software/firemarshal"]
|
||||||
path = software/firemarshal
|
path = software/firemarshal
|
||||||
url = https://github.com/firesim/FireMarshal.git
|
url = https://github.com/firesim/FireMarshal.git
|
||||||
|
shallow = true
|
||||||
[submodule "generators/cva6"]
|
[submodule "generators/cva6"]
|
||||||
path = generators/cva6
|
path = generators/cva6
|
||||||
url = https://github.com/ucb-bar/cva6-wrapper.git
|
url = https://github.com/ucb-bar/cva6-wrapper.git
|
||||||
|
shallow = true
|
||||||
[submodule "tools/DRAMSim2"]
|
[submodule "tools/DRAMSim2"]
|
||||||
path = tools/DRAMSim2
|
path = tools/DRAMSim2
|
||||||
url = https://github.com/firesim/DRAMSim2.git
|
url = https://github.com/firesim/DRAMSim2.git
|
||||||
|
shallow = true
|
||||||
[submodule "generators/nvdla"]
|
[submodule "generators/nvdla"]
|
||||||
path = generators/nvdla
|
path = generators/nvdla
|
||||||
url = https://github.com/ucb-bar/nvdla-wrapper.git
|
url = https://github.com/ucb-bar/nvdla-wrapper.git
|
||||||
|
shallow = true
|
||||||
[submodule "software/nvdla-workload"]
|
[submodule "software/nvdla-workload"]
|
||||||
path = software/nvdla-workload
|
path = software/nvdla-workload
|
||||||
url = https://github.com/ucb-bar/nvdla-workload.git
|
url = https://github.com/ucb-bar/nvdla-workload.git
|
||||||
|
shallow = true
|
||||||
[submodule "tools/dromajo/dromajo-src"]
|
[submodule "tools/dromajo/dromajo-src"]
|
||||||
path = tools/dromajo/dromajo-src
|
path = tools/dromajo/dromajo-src
|
||||||
url = https://github.com/riscv-boom/dromajo.git
|
url = https://github.com/riscv-boom/dromajo.git
|
||||||
|
shallow = true
|
||||||
[submodule "generators/riscv-sodor"]
|
[submodule "generators/riscv-sodor"]
|
||||||
path = generators/riscv-sodor
|
path = generators/riscv-sodor
|
||||||
url = https://github.com/ucb-bar/riscv-sodor.git
|
url = https://github.com/ucb-bar/riscv-sodor.git
|
||||||
|
shallow = true
|
||||||
[submodule "fpga/fpga-shells"]
|
[submodule "fpga/fpga-shells"]
|
||||||
path = fpga/fpga-shells
|
path = fpga/fpga-shells
|
||||||
url = https://github.com/sifive/fpga-shells.git
|
url = https://github.com/sifive/fpga-shells.git
|
||||||
|
shallow = true
|
||||||
[submodule "tools/api-config-chipsalliance"]
|
[submodule "tools/api-config-chipsalliance"]
|
||||||
path = tools/api-config-chipsalliance
|
path = tools/api-config-chipsalliance
|
||||||
url = https://github.com/chipsalliance/api-config-chipsalliance.git
|
url = https://github.com/chipsalliance/api-config-chipsalliance.git
|
||||||
|
shallow = true
|
||||||
[submodule "tools/rocket-dsp-utils"]
|
[submodule "tools/rocket-dsp-utils"]
|
||||||
path = tools/rocket-dsp-utils
|
path = tools/rocket-dsp-utils
|
||||||
url = https://github.com/ucb-bar/rocket-dsp-utils
|
url = https://github.com/ucb-bar/rocket-dsp-utils
|
||||||
|
shallow = true
|
||||||
[submodule "generators/ibex"]
|
[submodule "generators/ibex"]
|
||||||
path = generators/ibex
|
path = generators/ibex
|
||||||
url = https://github.com/ucb-bar/ibex-wrapper
|
url = https://github.com/ucb-bar/ibex-wrapper
|
||||||
|
shallow = true
|
||||||
[submodule "generators/fft-generator"]
|
[submodule "generators/fft-generator"]
|
||||||
path = generators/fft-generator
|
path = generators/fft-generator
|
||||||
url = https://github.com/ucb-bar/FFTGenerator.git
|
url = https://github.com/ucb-bar/FFTGenerator.git
|
||||||
|
shallow = true
|
||||||
|
|||||||
@@ -1,7 +1,16 @@
|
|||||||
version: 2
|
version: 2
|
||||||
|
|
||||||
|
build:
|
||||||
|
os: ubuntu-20.04
|
||||||
|
tools:
|
||||||
|
python: "3.6"
|
||||||
|
|
||||||
formats: all
|
formats: all
|
||||||
|
|
||||||
sphinx:
|
sphinx:
|
||||||
configuration: docs/conf.py
|
configuration: docs/conf.py
|
||||||
|
fail_on_warning: true
|
||||||
|
|
||||||
python:
|
python:
|
||||||
install:
|
install:
|
||||||
- requirements: docs/requirements.txt
|
- requirements: docs/requirements.txt
|
||||||
|
|||||||
74
build.sbt
74
build.sbt
@@ -6,10 +6,10 @@ lazy val chipyardRoot = Project("chipyardRoot", file("."))
|
|||||||
|
|
||||||
lazy val commonSettings = Seq(
|
lazy val commonSettings = Seq(
|
||||||
organization := "edu.berkeley.cs",
|
organization := "edu.berkeley.cs",
|
||||||
version := "1.3",
|
version := "1.6",
|
||||||
scalaVersion := "2.12.10",
|
scalaVersion := "2.12.10",
|
||||||
test in assembly := {},
|
assembly / test := {},
|
||||||
assemblyMergeStrategy in assembly := { _ match {
|
assembly / assemblyMergeStrategy := { _ match {
|
||||||
case PathList("META-INF", "MANIFEST.MF") => MergeStrategy.discard
|
case PathList("META-INF", "MANIFEST.MF") => MergeStrategy.discard
|
||||||
case _ => MergeStrategy.first}},
|
case _ => MergeStrategy.first}},
|
||||||
scalacOptions ++= Seq("-deprecation","-unchecked","-Xsource:2.11"),
|
scalacOptions ++= Seq("-deprecation","-unchecked","-Xsource:2.11"),
|
||||||
@@ -48,8 +48,8 @@ lazy val firesimDir = if (firesimAsLibrary) {
|
|||||||
def freshProject(name: String, dir: File): Project = {
|
def freshProject(name: String, dir: File): Project = {
|
||||||
Project(id = name, base = dir / "src")
|
Project(id = name, base = dir / "src")
|
||||||
.settings(
|
.settings(
|
||||||
scalaSource in Compile := baseDirectory.value / "main" / "scala",
|
Compile / scalaSource := baseDirectory.value / "main" / "scala",
|
||||||
resourceDirectory in Compile := baseDirectory.value / "main" / "resources"
|
Compile / resourceDirectory := baseDirectory.value / "main" / "resources"
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -60,25 +60,19 @@ def isolateAllTests(tests: Seq[TestDefinition]) = tests map { test =>
|
|||||||
new Group(test.name, Seq(test), SubProcess(options))
|
new Group(test.name, Seq(test), SubProcess(options))
|
||||||
} toSeq
|
} toSeq
|
||||||
|
|
||||||
val chiselVersion = "3.4.4"
|
val chiselVersion = "3.5.1"
|
||||||
|
|
||||||
lazy val chiselSettings = Seq(
|
lazy val chiselSettings = Seq(
|
||||||
libraryDependencies ++= Seq("edu.berkeley.cs" %% "chisel3" % chiselVersion),
|
libraryDependencies ++= Seq("edu.berkeley.cs" %% "chisel3" % chiselVersion),
|
||||||
addCompilerPlugin("edu.berkeley.cs" % "chisel3-plugin" % chiselVersion cross CrossVersion.full))
|
addCompilerPlugin("edu.berkeley.cs" % "chisel3-plugin" % chiselVersion cross CrossVersion.full))
|
||||||
|
|
||||||
val firrtlVersion = "1.4.4"
|
val firrtlVersion = "1.5.1"
|
||||||
|
|
||||||
lazy val firrtlSettings = Seq(libraryDependencies ++= Seq("edu.berkeley.cs" %% "firrtl" % firrtlVersion))
|
lazy val firrtlSettings = Seq(libraryDependencies ++= Seq("edu.berkeley.cs" %% "firrtl" % firrtlVersion))
|
||||||
|
|
||||||
// In some projects we override the default versions of Chisel and friends.
|
val chiselTestVersion = "2.5.1"
|
||||||
// This map captures the expected defaults used by projects under Chipyard.
|
|
||||||
lazy val chipyardMandatedVersions = Map(
|
lazy val chiselTestSettings = Seq(libraryDependencies ++= Seq("edu.berkeley.cs" %% "chisel-iotesters" % chiselTestVersion))
|
||||||
"chisel-iotesters" -> "1.5.4",
|
|
||||||
"firrtl-interpreter" -> "1.4.4",
|
|
||||||
"treadle" -> "1.3.4",
|
|
||||||
"chisel3" -> chiselVersion,
|
|
||||||
"firrtl" -> firrtlVersion
|
|
||||||
)
|
|
||||||
|
|
||||||
// Subproject definitions begin
|
// Subproject definitions begin
|
||||||
|
|
||||||
@@ -138,19 +132,6 @@ lazy val rocketLibDeps = (rocketchip / Keys.libraryDependencies)
|
|||||||
|
|
||||||
// -- Chipyard-managed External Projects --
|
// -- Chipyard-managed External Projects --
|
||||||
|
|
||||||
// Because we're not using a release version of iotesters to work around a
|
|
||||||
// scala test version problem, override it's libdeps to prevent using snapshots
|
|
||||||
lazy val chisel_testers = (project in file("tools/chisel-testers"))
|
|
||||||
.settings(chiselSettings)
|
|
||||||
.settings(
|
|
||||||
allDependencies := allDependencies.value.map {
|
|
||||||
case dep if chipyardMandatedVersions.isDefinedAt(dep.name) =>
|
|
||||||
dep.organization %% dep.name % chipyardMandatedVersions(dep.name)
|
|
||||||
case o => o
|
|
||||||
})
|
|
||||||
|
|
||||||
// -- Normal Projects --
|
|
||||||
|
|
||||||
// Contains annotations & firrtl passes you may wish to use in rocket-chip without
|
// Contains annotations & firrtl passes you may wish to use in rocket-chip without
|
||||||
// introducing a circular dependency between RC and MIDAS
|
// introducing a circular dependency between RC and MIDAS
|
||||||
lazy val midasTargetUtils = ProjectRef(firesimDir, "targetutils")
|
lazy val midasTargetUtils = ProjectRef(firesimDir, "targetutils")
|
||||||
@@ -209,13 +190,15 @@ lazy val sodor = (project in file("generators/riscv-sodor"))
|
|||||||
.settings(commonSettings)
|
.settings(commonSettings)
|
||||||
|
|
||||||
lazy val sha3 = (project in file("generators/sha3"))
|
lazy val sha3 = (project in file("generators/sha3"))
|
||||||
.dependsOn(rocketchip, chisel_testers, midasTargetUtils)
|
.dependsOn(rocketchip, midasTargetUtils)
|
||||||
.settings(libraryDependencies ++= rocketLibDeps.value)
|
.settings(libraryDependencies ++= rocketLibDeps.value)
|
||||||
|
.settings(chiselTestSettings)
|
||||||
.settings(commonSettings)
|
.settings(commonSettings)
|
||||||
|
|
||||||
lazy val gemmini = (project in file("generators/gemmini"))
|
lazy val gemmini = (project in file("generators/gemmini"))
|
||||||
.dependsOn(testchipip, rocketchip, chisel_testers)
|
.dependsOn(testchipip, rocketchip)
|
||||||
.settings(libraryDependencies ++= rocketLibDeps.value)
|
.settings(libraryDependencies ++= rocketLibDeps.value)
|
||||||
|
.settings(chiselTestSettings)
|
||||||
.settings(commonSettings)
|
.settings(commonSettings)
|
||||||
|
|
||||||
lazy val nvdla = (project in file("generators/nvdla"))
|
lazy val nvdla = (project in file("generators/nvdla"))
|
||||||
@@ -223,26 +206,24 @@ lazy val nvdla = (project in file("generators/nvdla"))
|
|||||||
.settings(libraryDependencies ++= rocketLibDeps.value)
|
.settings(libraryDependencies ++= rocketLibDeps.value)
|
||||||
.settings(commonSettings)
|
.settings(commonSettings)
|
||||||
|
|
||||||
lazy val iocell = (project in file("./tools/barstools/iocell/"))
|
lazy val iocell = Project(id = "iocell", base = file("./tools/barstools/") / "src")
|
||||||
|
.settings(
|
||||||
|
Compile / scalaSource := baseDirectory.value / "main" / "scala" / "barstools" / "iocell",
|
||||||
|
Compile / resourceDirectory := baseDirectory.value / "main" / "resources"
|
||||||
|
)
|
||||||
.settings(chiselSettings)
|
.settings(chiselSettings)
|
||||||
.settings(commonSettings)
|
.settings(commonSettings)
|
||||||
|
|
||||||
lazy val tapeout = (project in file("./tools/barstools/tapeout/"))
|
lazy val tapeout = (project in file("./tools/barstools/"))
|
||||||
.dependsOn(chisel_testers, chipyard) // must depend on chipyard to get scala resources
|
.settings(chiselSettings)
|
||||||
.settings(commonSettings)
|
.settings(chiselTestSettings)
|
||||||
|
|
||||||
lazy val mdf = (project in file("./tools/barstools/mdf/scalalib/"))
|
|
||||||
.settings(commonSettings)
|
|
||||||
|
|
||||||
lazy val barstoolsMacros = (project in file("./tools/barstools/macros/"))
|
|
||||||
.dependsOn(mdf)
|
|
||||||
.enablePlugins(sbtassembly.AssemblyPlugin)
|
.enablePlugins(sbtassembly.AssemblyPlugin)
|
||||||
.settings(firrtlSettings)
|
|
||||||
.settings(commonSettings)
|
.settings(commonSettings)
|
||||||
|
|
||||||
lazy val dsptools = freshProject("dsptools", file("./tools/dsptools"))
|
lazy val dsptools = freshProject("dsptools", file("./tools/dsptools"))
|
||||||
.dependsOn(chisel_testers)
|
|
||||||
.settings(
|
.settings(
|
||||||
|
chiselSettings,
|
||||||
|
chiselTestSettings,
|
||||||
commonSettings,
|
commonSettings,
|
||||||
libraryDependencies ++= Seq(
|
libraryDependencies ++= Seq(
|
||||||
"org.scalatest" %% "scalatest" % "3.2.+" % "test",
|
"org.scalatest" %% "scalatest" % "3.2.+" % "test",
|
||||||
@@ -273,7 +254,7 @@ lazy val sifive_blocks = (project in file("generators/sifive-blocks"))
|
|||||||
lazy val sifive_cache = (project in file("generators/sifive-cache"))
|
lazy val sifive_cache = (project in file("generators/sifive-cache"))
|
||||||
.settings(
|
.settings(
|
||||||
commonSettings,
|
commonSettings,
|
||||||
scalaSource in Compile := baseDirectory.value / "design/craft")
|
Compile / scalaSource := baseDirectory.value / "design/craft")
|
||||||
.dependsOn(rocketchip)
|
.dependsOn(rocketchip)
|
||||||
.settings(libraryDependencies ++= rocketLibDeps.value)
|
.settings(libraryDependencies ++= rocketLibDeps.value)
|
||||||
|
|
||||||
@@ -284,9 +265,10 @@ lazy val firesimLib = ProjectRef(firesimDir, "firesimLib")
|
|||||||
lazy val firechip = (project in file("generators/firechip"))
|
lazy val firechip = (project in file("generators/firechip"))
|
||||||
.dependsOn(chipyard, midasTargetUtils, midas, firesimLib % "test->test;compile->compile")
|
.dependsOn(chipyard, midasTargetUtils, midas, firesimLib % "test->test;compile->compile")
|
||||||
.settings(
|
.settings(
|
||||||
|
chiselSettings,
|
||||||
commonSettings,
|
commonSettings,
|
||||||
testGrouping in Test := isolateAllTests( (definedTests in Test).value ),
|
Test / testGrouping := isolateAllTests( (Test / definedTests).value ),
|
||||||
testOptions in Test += Tests.Argument("-oF")
|
Test / testOptions += Tests.Argument("-oF")
|
||||||
)
|
)
|
||||||
lazy val fpga_shells = (project in file("./fpga/fpga-shells"))
|
lazy val fpga_shells = (project in file("./fpga/fpga-shells"))
|
||||||
.dependsOn(rocketchip, sifive_blocks)
|
.dependsOn(rocketchip, sifive_blocks)
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ else
|
|||||||
lookup_srcs = $(shell fd -L ".*\.$(2)" $(1))
|
lookup_srcs = $(shell fd -L ".*\.$(2)" $(1))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
SOURCE_DIRS = $(addprefix $(base_dir)/,generators sims/firesim/sim tools/barstools/iocell fpga/fpga-shells fpga/src)
|
SOURCE_DIRS = $(addprefix $(base_dir)/,generators sims/firesim/sim tools/barstools fpga/fpga-shells fpga/src)
|
||||||
SCALA_SOURCES = $(call lookup_srcs,$(SOURCE_DIRS),scala)
|
SCALA_SOURCES = $(call lookup_srcs,$(SOURCE_DIRS),scala)
|
||||||
VLOG_SOURCES = $(call lookup_srcs,$(SOURCE_DIRS),sv) $(call lookup_srcs,$(SOURCE_DIRS),v)
|
VLOG_SOURCES = $(call lookup_srcs,$(SOURCE_DIRS),sv) $(call lookup_srcs,$(SOURCE_DIRS),v)
|
||||||
# This assumes no SBT meta-build sources
|
# This assumes no SBT meta-build sources
|
||||||
@@ -135,6 +135,7 @@ $(TOP_TARGETS) $(HARNESS_TARGETS): firrtl_temp
|
|||||||
|
|
||||||
firrtl_temp: $(FIRRTL_FILE) $(ANNO_FILE) $(VLOG_SOURCES)
|
firrtl_temp: $(FIRRTL_FILE) $(ANNO_FILE) $(VLOG_SOURCES)
|
||||||
$(call run_scala_main,tapeout,barstools.tapeout.transforms.GenerateTopAndHarness,\
|
$(call run_scala_main,tapeout,barstools.tapeout.transforms.GenerateTopAndHarness,\
|
||||||
|
--allow-unrecognized-annotations \
|
||||||
--output-file $(TOP_FILE) \
|
--output-file $(TOP_FILE) \
|
||||||
--harness-o $(HARNESS_FILE) \
|
--harness-o $(HARNESS_FILE) \
|
||||||
--input-file $(FIRRTL_FILE) \
|
--input-file $(FIRRTL_FILE) \
|
||||||
@@ -162,7 +163,7 @@ $(TOP_SMEMS_FILE) $(TOP_SMEMS_FIR): top_macro_temp
|
|||||||
@echo "" > /dev/null
|
@echo "" > /dev/null
|
||||||
|
|
||||||
top_macro_temp: $(TOP_SMEMS_CONF)
|
top_macro_temp: $(TOP_SMEMS_CONF)
|
||||||
$(call run_scala_main,barstoolsMacros,barstools.macros.MacroCompiler,-n $(TOP_SMEMS_CONF) -v $(TOP_SMEMS_FILE) -f $(TOP_SMEMS_FIR) $(MACROCOMPILER_MODE))
|
$(call run_scala_main,tapeout,barstools.macros.MacroCompiler,-n $(TOP_SMEMS_CONF) -v $(TOP_SMEMS_FILE) -f $(TOP_SMEMS_FIR) $(MACROCOMPILER_MODE))
|
||||||
|
|
||||||
HARNESS_MACROCOMPILER_MODE = --mode synflops
|
HARNESS_MACROCOMPILER_MODE = --mode synflops
|
||||||
.INTERMEDIATE: harness_macro_temp
|
.INTERMEDIATE: harness_macro_temp
|
||||||
@@ -170,7 +171,7 @@ $(HARNESS_SMEMS_FILE) $(HARNESS_SMEMS_FIR): harness_macro_temp
|
|||||||
@echo "" > /dev/null
|
@echo "" > /dev/null
|
||||||
|
|
||||||
harness_macro_temp: $(HARNESS_SMEMS_CONF) | top_macro_temp
|
harness_macro_temp: $(HARNESS_SMEMS_CONF) | top_macro_temp
|
||||||
$(call run_scala_main,barstoolsMacros,barstools.macros.MacroCompiler, -n $(HARNESS_SMEMS_CONF) -v $(HARNESS_SMEMS_FILE) -f $(HARNESS_SMEMS_FIR) $(HARNESS_MACROCOMPILER_MODE))
|
$(call run_scala_main,tapeout,barstools.macros.MacroCompiler, -n $(HARNESS_SMEMS_CONF) -v $(HARNESS_SMEMS_FILE) -f $(HARNESS_SMEMS_FIR) $(HARNESS_MACROCOMPILER_MODE))
|
||||||
|
|
||||||
########################################################################################
|
########################################################################################
|
||||||
# remove duplicate files and headers in list of simulation file inputs
|
# remove duplicate files and headers in list of simulation file inputs
|
||||||
|
|||||||
@@ -29,13 +29,17 @@ Setting up the Chipyard Repo
|
|||||||
|
|
||||||
Start by fetching Chipyard's sources. Run:
|
Start by fetching Chipyard's sources. Run:
|
||||||
|
|
||||||
.. code-block:: shell
|
.. parsed-literal::
|
||||||
|
|
||||||
git clone https://github.com/ucb-bar/chipyard.git
|
git clone https://github.com/ucb-bar/chipyard.git
|
||||||
cd chipyard
|
cd chipyard
|
||||||
|
# checkout latest official chipyard release
|
||||||
|
# note: this may not be the latest release if the documentation version != "stable"
|
||||||
|
git checkout |version|
|
||||||
./scripts/init-submodules-no-riscv-tools.sh
|
./scripts/init-submodules-no-riscv-tools.sh
|
||||||
|
|
||||||
This will initialize and checkout all of the necessary git submodules.
|
This will initialize and checkout all of the necessary git submodules.
|
||||||
|
This will also validate that you are on a tagged branch, otherwise it will prompt for confirmation.
|
||||||
|
|
||||||
When updating Chipyard to a new version, you will also want to rerun this script to update the submodules.
|
When updating Chipyard to a new version, you will also want to rerun this script to update the submodules.
|
||||||
Using git directly will try to initialize all submodules; this is not recommended unless you expressly desire this behavior.
|
Using git directly will try to initialize all submodules; this is not recommended unless you expressly desire this behavior.
|
||||||
|
|||||||
44
docs/conf.py
44
docs/conf.py
@@ -20,6 +20,8 @@
|
|||||||
# import sys
|
# import sys
|
||||||
# sys.path.insert(0, os.path.abspath('.'))
|
# sys.path.insert(0, os.path.abspath('.'))
|
||||||
|
|
||||||
|
import os
|
||||||
|
import subprocess
|
||||||
|
|
||||||
# -- General configuration ------------------------------------------------
|
# -- General configuration ------------------------------------------------
|
||||||
|
|
||||||
@@ -59,11 +61,32 @@ author = u'Berkeley Architecture Research'
|
|||||||
# The version info for the project you're documenting, acts as replacement for
|
# The version info for the project you're documenting, acts as replacement for
|
||||||
# |version| and |release|, also used in various other places throughout the
|
# |version| and |release|, also used in various other places throughout the
|
||||||
# built documents.
|
# built documents.
|
||||||
#
|
|
||||||
# The short X.Y version.
|
on_rtd = os.environ.get("READTHEDOCS") == "True"
|
||||||
version = u''
|
if on_rtd:
|
||||||
# The full version, including alpha/beta/rc tags.
|
for item, value in os.environ.items():
|
||||||
release = u''
|
print("[READTHEDOCS] {} = {}".format(item, value))
|
||||||
|
|
||||||
|
if on_rtd:
|
||||||
|
rtd_version = os.environ.get("READTHEDOCS_VERSION")
|
||||||
|
if rtd_version == "latest":
|
||||||
|
version = "main" # TODO: default to what "latest" points to
|
||||||
|
elif rtd_version == "stable":
|
||||||
|
# get the latest git tag (which is what rtd normally builds under "stable")
|
||||||
|
# this works since rtd builds things within the repo
|
||||||
|
process = subprocess.Popen(["git", "describe", "--exact-match", "--tags"], stdout=subprocess.PIPE)
|
||||||
|
output = process.communicate()[0].decode("utf-8").strip()
|
||||||
|
if process.returncode == 0:
|
||||||
|
version = output
|
||||||
|
else:
|
||||||
|
version = "v?.?.?" # this should not occur as "stable" is always pointing to tagged version
|
||||||
|
else:
|
||||||
|
version = rtd_version # name of a branch
|
||||||
|
else:
|
||||||
|
version = "v?.?.?"
|
||||||
|
|
||||||
|
# for now make these match
|
||||||
|
release = version
|
||||||
|
|
||||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||||
# for a list of supported languages.
|
# for a list of supported languages.
|
||||||
@@ -132,6 +155,17 @@ html_logo = '_static/images/chipyard-logo.png'
|
|||||||
# Output file base name for HTML help builder.
|
# Output file base name for HTML help builder.
|
||||||
htmlhelp_basename = 'Chipyarddoc'
|
htmlhelp_basename = 'Chipyarddoc'
|
||||||
|
|
||||||
|
# -- Misc Options ---------------------------------------------------------
|
||||||
|
|
||||||
|
html_context = {
|
||||||
|
"version": version
|
||||||
|
}
|
||||||
|
|
||||||
|
# add rst to end of each rst source file
|
||||||
|
# can put custom strings here that are generated from this file
|
||||||
|
rst_epilog = f"""
|
||||||
|
.. |overall_version| replace:: {version}
|
||||||
|
"""
|
||||||
|
|
||||||
# -- Options for LaTeX output ---------------------------------------------
|
# -- Options for LaTeX output ---------------------------------------------
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,5 @@
|
|||||||
.. Chipyard documentation master file, created by
|
Welcome to Chipyard's documentation (version "|version|")!
|
||||||
sphinx-quickstart on Fri Mar 8 11:46:38 2019.
|
==========================================================
|
||||||
You can adapt this file completely to your liking, but it should at least
|
|
||||||
contain the root `toctree` directive.
|
|
||||||
|
|
||||||
Welcome to Chipyard's documentation!
|
|
||||||
====================================
|
|
||||||
|
|
||||||
.. image:: ./_static/images/chipyard-logo.svg
|
.. image:: ./_static/images/chipyard-logo.svg
|
||||||
|
|
||||||
|
|||||||
Submodule generators/boom updated: e1a70afed7...ad64c54191
@@ -72,8 +72,8 @@ trait HasChipyardPRCI { this: BaseSubsystem with InstantiatesTiles =>
|
|||||||
:= ClockGroupFrequencySpecifier(p(ClockFrequencyAssignersKey), p(DefaultClockFrequencyKey))
|
:= ClockGroupFrequencySpecifier(p(ClockFrequencyAssignersKey), p(DefaultClockFrequencyKey))
|
||||||
:= ClockGroupCombiner()
|
:= ClockGroupCombiner()
|
||||||
:= ClockGroupResetSynchronizer()
|
:= ClockGroupResetSynchronizer()
|
||||||
:= TileClockGater(prciParams.baseAddress + 0x00000, tlbus, prciParams.enableTileClockGating)
|
:= prci_ctrl_domain { TileClockGater(prciParams.baseAddress + 0x00000, tlbus, prciParams.enableTileClockGating) }
|
||||||
:= TileResetSetter(prciParams.baseAddress + 0x10000, tlbus, tile_prci_domains.map(_.tile_reset_domain.clockNode.portParams(0).name.get), Nil)
|
:= prci_ctrl_domain { TileResetSetter(prciParams.baseAddress + 0x10000, tlbus, tile_prci_domains.map(_.tile_reset_domain.clockNode.portParams(0).name.get), Nil) }
|
||||||
:= allClockGroupsNode)
|
:= allClockGroupsNode)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -142,9 +142,9 @@ class LoopbackNICRocketConfig extends Config(
|
|||||||
// DOC include start: l1scratchpadrocket
|
// DOC include start: l1scratchpadrocket
|
||||||
class ScratchpadOnlyRocketConfig extends Config(
|
class ScratchpadOnlyRocketConfig extends Config(
|
||||||
new testchipip.WithSerialPBusMem ++
|
new testchipip.WithSerialPBusMem ++
|
||||||
new freechips.rocketchip.subsystem.WithNMemoryChannels(0) ++ // remove offchip mem port
|
new chipyard.config.WithL2TLBs(0) ++
|
||||||
new freechips.rocketchip.subsystem.WithNBanks(0) ++
|
new freechips.rocketchip.subsystem.WithNBanks(0) ++
|
||||||
new freechips.rocketchip.subsystem.WithNoMemPort ++
|
new freechips.rocketchip.subsystem.WithNoMemPort ++ // remove offchip mem port
|
||||||
new freechips.rocketchip.subsystem.WithScratchpadsOnly ++ // use rocket l1 DCache scratchpad as base phys mem
|
new freechips.rocketchip.subsystem.WithScratchpadsOnly ++ // use rocket l1 DCache scratchpad as base phys mem
|
||||||
new freechips.rocketchip.subsystem.WithNBigCores(1) ++
|
new freechips.rocketchip.subsystem.WithNBigCores(1) ++
|
||||||
new chipyard.config.AbstractConfig)
|
new chipyard.config.AbstractConfig)
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ class InitZeroModuleImp(outer: InitZero) extends LazyModuleImp(outer) {
|
|||||||
state := s_resp
|
state := s_resp
|
||||||
}
|
}
|
||||||
|
|
||||||
when (mem.d.fire()) {
|
when (mem.d.fire) {
|
||||||
state := Mux(bytesLeft === 0.U, s_done, s_write)
|
state := Mux(bytesLeft === 0.U, s_done, s_write)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ case class MyCoreParams(
|
|||||||
enableToFromHostCaching: Boolean = false,
|
enableToFromHostCaching: Boolean = false,
|
||||||
) extends CoreParams {
|
) extends CoreParams {
|
||||||
val useVM: Boolean = true
|
val useVM: Boolean = true
|
||||||
|
val useHypervisor: Boolean = false
|
||||||
val useUser: Boolean = true
|
val useUser: Boolean = true
|
||||||
val useSupervisor: Boolean = false
|
val useSupervisor: Boolean = false
|
||||||
val useDebug: Boolean = true
|
val useDebug: Boolean = true
|
||||||
@@ -41,6 +42,7 @@ case class MyCoreParams(
|
|||||||
val fpu: Option[FPUParams] = Some(FPUParams()) // copied fma latencies from Rocket
|
val fpu: Option[FPUParams] = Some(FPUParams()) // copied fma latencies from Rocket
|
||||||
val nLocalInterrupts: Int = 0
|
val nLocalInterrupts: Int = 0
|
||||||
val useNMI: Boolean = false
|
val useNMI: Boolean = false
|
||||||
|
val nPTECacheEntries: Int = 0 // TODO: Check
|
||||||
val nPMPs: Int = 0 // TODO: Check
|
val nPMPs: Int = 0 // TODO: Check
|
||||||
val pmpGranularity: Int = 4 // copied from Rocket
|
val pmpGranularity: Int = 4 // copied from Rocket
|
||||||
val nBreakpoints: Int = 0 // TODO: Check
|
val nBreakpoints: Int = 0 // TODO: Check
|
||||||
|
|||||||
@@ -25,8 +25,6 @@ case object GenericFIRKey extends Field[Option[GenericFIRParams]](None)
|
|||||||
class GenericFIRCellBundle[T<:Data:Ring](genIn:T, genOut:T) extends Bundle {
|
class GenericFIRCellBundle[T<:Data:Ring](genIn:T, genOut:T) extends Bundle {
|
||||||
val data: T = genIn.cloneType
|
val data: T = genIn.cloneType
|
||||||
val carry: T = genOut.cloneType
|
val carry: T = genOut.cloneType
|
||||||
|
|
||||||
override def cloneType: this.type = GenericFIRCellBundle(genIn, genOut).asInstanceOf[this.type]
|
|
||||||
}
|
}
|
||||||
object GenericFIRCellBundle {
|
object GenericFIRCellBundle {
|
||||||
def apply[T<:Data:Ring](genIn:T, genOut:T): GenericFIRCellBundle[T] = new GenericFIRCellBundle(genIn, genOut)
|
def apply[T<:Data:Ring](genIn:T, genOut:T): GenericFIRCellBundle[T] = new GenericFIRCellBundle(genIn, genOut)
|
||||||
@@ -43,8 +41,6 @@ object GenericFIRCellIO {
|
|||||||
|
|
||||||
class GenericFIRBundle[T<:Data:Ring](proto: T) extends Bundle {
|
class GenericFIRBundle[T<:Data:Ring](proto: T) extends Bundle {
|
||||||
val data: T = proto.cloneType
|
val data: T = proto.cloneType
|
||||||
|
|
||||||
override def cloneType: this.type = GenericFIRBundle(proto).asInstanceOf[this.type]
|
|
||||||
}
|
}
|
||||||
object GenericFIRBundle {
|
object GenericFIRBundle {
|
||||||
def apply[T<:Data:Ring](proto: T): GenericFIRBundle[T] = new GenericFIRBundle(proto)
|
def apply[T<:Data:Ring](proto: T): GenericFIRBundle[T] = new GenericFIRBundle(proto)
|
||||||
@@ -119,7 +115,7 @@ class GenericFIRDirectCell[T<:Data:Ring](genIn: T, genOut: T) extends Module {
|
|||||||
|
|
||||||
// When a new transaction is ready on the input, we will have new data to output
|
// When a new transaction is ready on the input, we will have new data to output
|
||||||
// next cycle. Take this data in
|
// next cycle. Take this data in
|
||||||
when (io.in.fire()) {
|
when (io.in.fire) {
|
||||||
hasNewData := 1.U
|
hasNewData := 1.U
|
||||||
inputReg := io.in.bits.data
|
inputReg := io.in.bits.data
|
||||||
}
|
}
|
||||||
@@ -127,7 +123,7 @@ class GenericFIRDirectCell[T<:Data:Ring](genIn: T, genOut: T) extends Module {
|
|||||||
// We should output data when our cell has new data to output and is ready to
|
// We should output data when our cell has new data to output and is ready to
|
||||||
// recieve new data. This insures that every cell in the chain passes its data
|
// recieve new data. This insures that every cell in the chain passes its data
|
||||||
// on at the same time
|
// on at the same time
|
||||||
io.out.valid := hasNewData & io.in.fire()
|
io.out.valid := hasNewData & io.in.fire
|
||||||
io.out.bits.data := inputReg
|
io.out.bits.data := inputReg
|
||||||
|
|
||||||
// Compute carry
|
// Compute carry
|
||||||
|
|||||||
@@ -26,8 +26,6 @@ case object StreamingPassthroughKey extends Field[Option[StreamingPassthroughPar
|
|||||||
|
|
||||||
class StreamingPassthroughBundle[T<:Data:Ring](proto: T) extends Bundle {
|
class StreamingPassthroughBundle[T<:Data:Ring](proto: T) extends Bundle {
|
||||||
val data: T = proto.cloneType
|
val data: T = proto.cloneType
|
||||||
|
|
||||||
override def cloneType: this.type = StreamingPassthroughBundle(proto).asInstanceOf[this.type]
|
|
||||||
}
|
}
|
||||||
object StreamingPassthroughBundle {
|
object StreamingPassthroughBundle {
|
||||||
def apply[T<:Data:Ring](proto: T): StreamingPassthroughBundle[T] = new StreamingPassthroughBundle(proto)
|
def apply[T<:Data:Ring](proto: T): StreamingPassthroughBundle[T] = new StreamingPassthroughBundle(proto)
|
||||||
|
|||||||
@@ -10,6 +10,5 @@ trait ChipyardCli { this: Shell =>
|
|||||||
parser.note("Chipyard Generator Options")
|
parser.note("Chipyard Generator Options")
|
||||||
Seq(
|
Seq(
|
||||||
UnderscoreDelimitedConfigsAnnotation
|
UnderscoreDelimitedConfigsAnnotation
|
||||||
)
|
).foreach(_.addOptions(parser))
|
||||||
.foreach(_.addOptions(parser))
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ import freechips.rocketchip.system.RocketChipStage
|
|||||||
import firrtl.options.{Phase, PhaseManager, PreservesAll, Shell, Stage, StageError, StageMain, Dependency}
|
import firrtl.options.{Phase, PhaseManager, PreservesAll, Shell, Stage, StageError, StageMain, Dependency}
|
||||||
import firrtl.options.phases.DeletedWrapper
|
import firrtl.options.phases.DeletedWrapper
|
||||||
|
|
||||||
class ChipyardStage extends ChiselStage with PreservesAll[Phase] {
|
class ChipyardStage extends ChiselStage {
|
||||||
override val shell = new Shell("chipyard") with ChipyardCli with RocketChipCli with ChiselCli with FirrtlCli
|
override val shell = new Shell("chipyard") with ChipyardCli with RocketChipCli with ChiselCli with FirrtlCli
|
||||||
override val targets: Seq[PhaseDependency] = Seq(
|
override val targets: Seq[PhaseDependency] = Seq(
|
||||||
Dependency[freechips.rocketchip.stage.phases.Checks],
|
Dependency[freechips.rocketchip.stage.phases.Checks],
|
||||||
@@ -33,4 +33,5 @@ class ChipyardStage extends ChiselStage with PreservesAll[Phase] {
|
|||||||
Dependency[chipyard.stage.phases.GenerateTestSuiteMakefrags],
|
Dependency[chipyard.stage.phases.GenerateTestSuiteMakefrags],
|
||||||
Dependency[freechips.rocketchip.stage.phases.GenerateArtefacts],
|
Dependency[freechips.rocketchip.stage.phases.GenerateArtefacts],
|
||||||
)
|
)
|
||||||
|
override final def invalidates(a: Phase): Boolean = false
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ import freechips.rocketchip.tile.XLen
|
|||||||
import chipyard.TestSuiteHelper
|
import chipyard.TestSuiteHelper
|
||||||
import chipyard.TestSuitesKey
|
import chipyard.TestSuitesKey
|
||||||
|
|
||||||
class AddDefaultTests extends Phase with PreservesAll[Phase] with HasRocketChipStageUtils {
|
class AddDefaultTests extends Phase with HasRocketChipStageUtils {
|
||||||
// Make sure we run both after RocketChip's version of this phase, and Rocket Chip's annotation emission phase
|
// Make sure we run both after RocketChip's version of this phase, and Rocket Chip's annotation emission phase
|
||||||
// because the RocketTestSuiteAnnotation is not serializable (but is not marked as such).
|
// because the RocketTestSuiteAnnotation is not serializable (but is not marked as such).
|
||||||
override val prerequisites = Seq(
|
override val prerequisites = Seq(
|
||||||
@@ -52,4 +52,6 @@ class AddDefaultTests extends Phase with PreservesAll[Phase] with HasRocketChipS
|
|||||||
implicit val p = getConfig(view[RocketChipOptions](annotations).configNames.get).toInstance
|
implicit val p = getConfig(view[RocketChipOptions](annotations).configNames.get).toInstance
|
||||||
addTestSuiteAnnotations ++ oAnnos
|
addTestSuiteAnnotations ++ oAnnos
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override final def invalidates(a: Phase): Boolean = false
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ trait MakefragSnippet { self: Annotation =>
|
|||||||
case class CustomMakefragSnippet(val toMakefrag: String) extends NoTargetAnnotation with MakefragSnippet with Unserializable
|
case class CustomMakefragSnippet(val toMakefrag: String) extends NoTargetAnnotation with MakefragSnippet with Unserializable
|
||||||
|
|
||||||
/** Generates a make script to run tests in [[RocketTestSuiteAnnotation]]. */
|
/** Generates a make script to run tests in [[RocketTestSuiteAnnotation]]. */
|
||||||
class GenerateTestSuiteMakefrags extends Phase with PreservesAll[Phase] with HasRocketChipStageUtils {
|
class GenerateTestSuiteMakefrags extends Phase with HasRocketChipStageUtils {
|
||||||
|
|
||||||
// Our annotations tend not to be serializable, but are not marked as such.
|
// Our annotations tend not to be serializable, but are not marked as such.
|
||||||
override val prerequisites = Seq(Dependency[freechips.rocketchip.stage.phases.GenerateFirrtlAnnos],
|
override val prerequisites = Seq(Dependency[freechips.rocketchip.stage.phases.GenerateFirrtlAnnos],
|
||||||
@@ -46,4 +46,6 @@ class GenerateTestSuiteMakefrags extends Phase with PreservesAll[Phase] with Has
|
|||||||
writeOutputFile(targetDir, fileName, TestGeneration.generateMakeFrag ++ makefragBuilder.toString)
|
writeOutputFile(targetDir, fileName, TestGeneration.generateMakeFrag ++ makefragBuilder.toString)
|
||||||
outputAnnotations
|
outputAnnotations
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override final def invalidates(a: Phase): Boolean = false
|
||||||
}
|
}
|
||||||
|
|||||||
Submodule generators/cva6 updated: 4717390310...705c48a1da
Submodule generators/fft-generator updated: b9f1c085af...4c335ff6ab
Submodule generators/gemmini updated: 72461235cc...c47cb7f3eb
Submodule generators/hwacha updated: 62c01f5a88...7cc6354351
Submodule generators/ibex updated: bdf41a0548...0eac465e3e
Submodule generators/icenet updated: 084ca50706...e14c1e8c54
Submodule generators/nvdla updated: b2b78c9f89...2b17011b26
Submodule generators/riscv-sodor updated: 50a4925d5a...5643a8e245
Submodule generators/rocket-chip updated: a7b016e46e...114325b27c
Submodule generators/sha3 updated: 63eda8268c...88ada85a84
Submodule generators/testchipip updated: 5917176c91...52027a049f
@@ -66,10 +66,10 @@ class BoomLSUShim(implicit p: Parameters) extends BoomModule()(p)
|
|||||||
tracegen_uop.ctrl.is_sta := isWrite(io.tracegen.req.bits.cmd)
|
tracegen_uop.ctrl.is_sta := isWrite(io.tracegen.req.bits.cmd)
|
||||||
tracegen_uop.ctrl.is_std := isWrite(io.tracegen.req.bits.cmd)
|
tracegen_uop.ctrl.is_std := isWrite(io.tracegen.req.bits.cmd)
|
||||||
|
|
||||||
io.lsu.dis_uops(0).valid := io.tracegen.req.fire()
|
io.lsu.dis_uops(0).valid := io.tracegen.req.fire
|
||||||
io.lsu.dis_uops(0).bits := tracegen_uop
|
io.lsu.dis_uops(0).bits := tracegen_uop
|
||||||
|
|
||||||
when (io.tracegen.req.fire()) {
|
when (io.tracegen.req.fire) {
|
||||||
rob_tail := WrapInc(rob_tail, rob_sz)
|
rob_tail := WrapInc(rob_tail, rob_sz)
|
||||||
rob_bsy(rob_tail) := true.B
|
rob_bsy(rob_tail) := true.B
|
||||||
rob_uop(rob_tail) := tracegen_uop
|
rob_uop(rob_tail) := tracegen_uop
|
||||||
@@ -111,7 +111,7 @@ class BoomLSUShim(implicit p: Parameters) extends BoomModule()(p)
|
|||||||
|
|
||||||
assert(!io.lsu.lxcpt.valid)
|
assert(!io.lsu.lxcpt.valid)
|
||||||
|
|
||||||
io.lsu.exe(0).req.valid := RegNext(io.tracegen.req.fire())
|
io.lsu.exe(0).req.valid := RegNext(io.tracegen.req.fire)
|
||||||
io.lsu.exe(0).req.bits := DontCare
|
io.lsu.exe(0).req.bits := DontCare
|
||||||
io.lsu.exe(0).req.bits.uop := RegNext(tracegen_uop)
|
io.lsu.exe(0).req.bits.uop := RegNext(tracegen_uop)
|
||||||
io.lsu.exe(0).req.bits.addr := RegNext(io.tracegen.req.bits.addr)
|
io.lsu.exe(0).req.bits.addr := RegNext(io.tracegen.req.bits.addr)
|
||||||
@@ -158,7 +158,7 @@ class BoomLSUShim(implicit p: Parameters) extends BoomModule()(p)
|
|||||||
|
|
||||||
io.lsu.rob_head_idx := rob_head
|
io.lsu.rob_head_idx := rob_head
|
||||||
|
|
||||||
|
io.tracegen.ordered := ready_for_amo && io.lsu.fencei_rdy
|
||||||
}
|
}
|
||||||
|
|
||||||
case class BoomTraceGenTileAttachParams(
|
case class BoomTraceGenTileAttachParams(
|
||||||
@@ -236,6 +236,7 @@ class BoomTraceGenTileModuleImp(outer: BoomTraceGenTile)
|
|||||||
ptw.io.requestors.head <> lsu.io.ptw
|
ptw.io.requestors.head <> lsu.io.ptw
|
||||||
outer.dcache.module.io.lsu <> lsu.io.dmem
|
outer.dcache.module.io.lsu <> lsu.io.dmem
|
||||||
boom_shim.io.tracegen <> tracegen.io.mem
|
boom_shim.io.tracegen <> tracegen.io.mem
|
||||||
|
tracegen.io.fence_rdy := boom_shim.io.tracegen.ordered
|
||||||
boom_shim.io.lsu <> lsu.io.core
|
boom_shim.io.lsu <> lsu.io.core
|
||||||
|
|
||||||
// Normally the PTW would use this port
|
// Normally the PTW would use this port
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
sbt.version=1.4.9
|
sbt.version=1.5.5
|
||||||
|
|||||||
@@ -1,14 +1,2 @@
|
|||||||
addSbtPlugin("net.virtual-void" % "sbt-dependency-graph" % "0.9.2")
|
|
||||||
addSbtPlugin("com.typesafe.sbt" % "sbt-ghpages" % "0.6.2")
|
|
||||||
addSbtPlugin("com.typesafe.sbt" % "sbt-site" % "1.3.1")
|
|
||||||
addSbtPlugin("com.eed3si9n" % "sbt-buildinfo" % "0.10.0")
|
|
||||||
addSbtPlugin("org.xerial.sbt" % "sbt-pack" % "0.9.3")
|
|
||||||
addSbtPlugin("com.eed3si9n" % "sbt-unidoc" % "0.4.1")
|
|
||||||
addSbtPlugin("org.scoverage" % "sbt-scoverage" % "1.5.1")
|
|
||||||
addSbtPlugin("org.scalastyle" %% "scalastyle-sbt-plugin" % "1.0.0")
|
|
||||||
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.15.0")
|
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.15.0")
|
||||||
addSbtPlugin("com.simplytyped" % "sbt-antlr4" % "0.8.2")
|
|
||||||
addSbtPlugin("com.github.gseitz" % "sbt-protobuf" % "0.6.3")
|
|
||||||
addSbtPlugin("ch.epfl.scala" % "sbt-scalafix" % "0.9.21")
|
addSbtPlugin("ch.epfl.scala" % "sbt-scalafix" % "0.9.21")
|
||||||
addSbtPlugin("com.typesafe" % "sbt-mima-plugin" % "0.6.1")
|
|
||||||
addSbtPlugin("org.scalameta" % "sbt-mdoc" % "2.2.5" )
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ AXE_SHRINK=${AXE_DIR}/src/axe-shrink.py
|
|||||||
PATH=$PATH:${AXE_DIR}/src
|
PATH=$PATH:${AXE_DIR}/src
|
||||||
|
|
||||||
grep '.*:.*#.*@' $1 > /tmp/clean-trace.txt
|
grep '.*:.*#.*@' $1 > /tmp/clean-trace.txt
|
||||||
"$TO_AXE" /tmp/clean-trace.txt > /tmp/trace.axe
|
python2 "$TO_AXE" /tmp/clean-trace.txt > /tmp/trace.axe
|
||||||
result=$("$AXE" check wmo /tmp/trace.axe)
|
result=$("$AXE" check wmo /tmp/trace.axe)
|
||||||
|
|
||||||
if [ "$result" != OK ]; then
|
if [ "$result" != OK ]; then
|
||||||
|
|||||||
@@ -13,5 +13,5 @@ cd "${scripts_dir}/.."
|
|||||||
# Reenable the FireSim submodule
|
# Reenable the FireSim submodule
|
||||||
git config --unset submodule.sims/firesim.update || true
|
git config --unset submodule.sims/firesim.update || true
|
||||||
cd sims/firesim
|
cd sims/firesim
|
||||||
./build-setup.sh "$@" --library
|
./build-setup.sh "$@" --library --skip-validate
|
||||||
cd "$RDIR"
|
cd "$RDIR"
|
||||||
|
|||||||
@@ -4,6 +4,34 @@
|
|||||||
set -e
|
set -e
|
||||||
set -o pipefail
|
set -o pipefail
|
||||||
|
|
||||||
|
SKIP_VALIDATE=false
|
||||||
|
|
||||||
|
function usage
|
||||||
|
{
|
||||||
|
echo "Usage: $0 [--skip-validate]"
|
||||||
|
echo "Initialize Chipyard submodules and setup initial env.sh script."
|
||||||
|
echo ""
|
||||||
|
echo " --skip-validate Skip prompt checking for tagged release"
|
||||||
|
}
|
||||||
|
|
||||||
|
while test $# -gt 0
|
||||||
|
do
|
||||||
|
case "$1" in
|
||||||
|
--skip-validate)
|
||||||
|
SKIP_VALIDATE=true;
|
||||||
|
;;
|
||||||
|
-h | -H | --help)
|
||||||
|
usage
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
*) echo "ERROR: bad argument $1"
|
||||||
|
usage
|
||||||
|
exit 2
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
|
||||||
# Check that git version is at least 1.7.8
|
# Check that git version is at least 1.7.8
|
||||||
MYGIT=$(git --version)
|
MYGIT=$(git --version)
|
||||||
MYGIT=${MYGIT#'git version '} # Strip prefix
|
MYGIT=${MYGIT#'git version '} # Strip prefix
|
||||||
@@ -17,6 +45,21 @@ if [ "$MINGIT" != "$(echo -e "$MINGIT\n$MYGIT" | sort -V | head -n1)" ]; then
|
|||||||
false
|
false
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# before doing anything verify that you are on a release branch/tag
|
||||||
|
set +e
|
||||||
|
tag=$(git describe --exact-match --tags)
|
||||||
|
tag_ret_code=$?
|
||||||
|
set -e
|
||||||
|
if [ $tag_ret_code -ne 0 ]; then
|
||||||
|
if [ "$SKIP_VALIDATE" = false ]; then
|
||||||
|
read -p "WARNING: You are not on an official release of Chipyard.\nType \"y\" to continue if this is intended, otherwise see https://chipyard.readthedocs.io/en/stable/Chipyard-Basics/Initial-Repo-Setup.html#setting-up-the-chipyard-repo: " validate
|
||||||
|
[[ $validate == [yY] ]] || exit 3
|
||||||
|
echo "Setting up non-official Chipyard release"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "Setting up official Chipyard release: $tag"
|
||||||
|
fi
|
||||||
|
|
||||||
# On macOS, use GNU readlink from 'coreutils' package in Homebrew/MacPorts
|
# On macOS, use GNU readlink from 'coreutils' package in Homebrew/MacPorts
|
||||||
if [ "$(uname -s)" = "Darwin" ] ; then
|
if [ "$(uname -s)" = "Darwin" ] ; then
|
||||||
READLINK=greadlink
|
READLINK=greadlink
|
||||||
|
|||||||
@@ -1,28 +1,30 @@
|
|||||||
diff --git a/build.sbt b/build.sbt
|
diff --git a/build.sbt b/build.sbt
|
||||||
index 2187fe12..2319fc95 100644
|
index bbbb8251..b7adcb73 100644
|
||||||
--- a/build.sbt
|
--- a/build.sbt
|
||||||
+++ b/build.sbt
|
+++ b/build.sbt
|
||||||
@@ -162,7 +162,7 @@ lazy val testchipip = (project in file("generators/testchipip"))
|
@@ -143,7 +143,7 @@ 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)
|
gemmini, icenet, tracegen, cva6, nvdla, sodor, ibex, fft_generator)
|
||||||
.settings(libraryDependencies ++= rocketLibDeps.value)
|
.settings(libraryDependencies ++= rocketLibDeps.value)
|
||||||
@@ -203,10 +203,10 @@ 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)
|
||||||
.settings(commonSettings)
|
.settings(commonSettings)
|
||||||
|
|
||||||
-lazy val sha3 = (project in file("generators/sha3"))
|
-lazy val sha3 = (project in file("generators/sha3"))
|
||||||
- .dependsOn(rocketchip, chisel_testers, midasTargetUtils)
|
- .dependsOn(rocketchip, midasTargetUtils)
|
||||||
- .settings(libraryDependencies ++= rocketLibDeps.value)
|
- .settings(libraryDependencies ++= rocketLibDeps.value)
|
||||||
|
- .settings(chiselTestSettings)
|
||||||
- .settings(commonSettings)
|
- .settings(commonSettings)
|
||||||
+//lazy val sha3 = (project in file("generators/sha3"))
|
+//lazy val sha3 = (project in file("generators/sha3"))
|
||||||
+// .dependsOn(rocketchip, chisel_testers, midasTargetUtils)
|
+// .dependsOn(rocketchip, midasTargetUtils)
|
||||||
+// .settings(libraryDependencies ++= rocketLibDeps.value)
|
+// .settings(libraryDependencies ++= rocketLibDeps.value)
|
||||||
|
+// .settings(chiselTestSettings)
|
||||||
+// .settings(commonSettings)
|
+// .settings(commonSettings)
|
||||||
|
|
||||||
lazy val gemmini = (project in file("generators/gemmini"))
|
lazy val gemmini = (project in file("generators/gemmini"))
|
||||||
.dependsOn(testchipip, rocketchip, chisel_testers)
|
.dependsOn(testchipip, rocketchip)
|
||||||
|
|||||||
Submodule sims/firesim updated: 1e6d786158...9636f8f874
Submodule software/firemarshal updated: 73f17936e7...da82066911
Submodule tools/barstools updated: 9130e36fd1...064c8be7bb
Submodule tools/dsptools updated: aad6a3db15...a1809fbae9
Submodule tools/rocket-dsp-utils updated: 355bf9f203...0ffb46ad12
Reference in New Issue
Block a user