diff --git a/.github/ISSUE_TEMPLATE/bug-report.yml b/.github/ISSUE_TEMPLATE/bug-report.yml index 4d6e6a78..bcc09091 100644 --- a/.github/ISSUE_TEMPLATE/bug-report.yml +++ b/.github/ISSUE_TEMPLATE/bug-report.yml @@ -31,7 +31,7 @@ body: description: OS setup for reproducibility placeholder: OS information value: | - Ex: Output of `uname -a` and `lsb_release -a` + Ex: Output of `uname -a` / `lsb_release -a` / `printenv` validations: required: true diff --git a/.github/scripts/check-commit.sh b/.github/scripts/check-commit.sh index 510b4f59..dc94146f 100755 --- a/.github/scripts/check-commit.sh +++ b/.github/scripts/check-commit.sh @@ -52,6 +52,11 @@ dir="generators" branches=("master" "main" "dev") search +submodules=("riscv-tools" "esp-tools") +dir="toolchains" +branches=("main") +search + submodules=("coremark" "firemarshal" "nvdla-workload" "spec2017") dir="software" branches=("master" "dev") diff --git a/scripts/install-conda.sh b/.github/scripts/install-conda.sh similarity index 99% rename from scripts/install-conda.sh rename to .github/scripts/install-conda.sh index ab460f0c..a1b9bce2 100755 --- a/scripts/install-conda.sh +++ b/.github/scripts/install-conda.sh @@ -4,7 +4,6 @@ CONDA_INSTALL_PREFIX=/opt/conda CONDA_INSTALLER_VERSION=4.12.0-0 CONDA_INSTALLER="https://github.com/conda-forge/miniforge/releases/download/${CONDA_INSTALLER_VERSION}/Miniforge3-${CONDA_INSTALLER_VERSION}-Linux-x86_64.sh" CONDA_CMD="conda" # some installers install mamba or micromamba -CONDA_ENV_NAME="firesim" DRY_RUN_OPTION="" DRY_RUN_ECHO=() diff --git a/.gitmodules b/.gitmodules index 01aa80c0..4e35f605 100644 --- a/.gitmodules +++ b/.gitmodules @@ -97,3 +97,9 @@ [submodule "generators/fft-generator"] path = generators/fft-generator url = https://github.com/ucb-bar/FFTGenerator.git +[submodule "toolchains/esp-tools"] + path = toolchains/esp-tools + url = https://github.com/ucb-bar/esp-tools-feedstock.git +[submodule "toolchains/riscv-tools"] + path = toolchains/riscv-tools + url = https://github.com/ucb-bar/riscv-tools-feedstock.git diff --git a/dockerfiles/Dockerfile b/dockerfiles/Dockerfile index ef36e1b0..a2ffe587 100644 --- a/dockerfiles/Dockerfile +++ b/dockerfiles/Dockerfile @@ -29,7 +29,7 @@ RUN git clone https://github.com/ucb-bar/chipyard.git && \ cd chipyard && \ git checkout $CHIPYARD_HASH -RUN ./chipyard/scripts/install-conda.sh +RUN ./chipyard/.github/scripts/install-conda.sh # BUILD IMAGE WITH TOOLCHAINS diff --git a/docs/Chipyard-Basics/Initial-Repo-Setup.rst b/docs/Chipyard-Basics/Initial-Repo-Setup.rst index 9dc9dcdc..227da4a8 100644 --- a/docs/Chipyard-Basics/Initial-Repo-Setup.rst +++ b/docs/Chipyard-Basics/Initial-Repo-Setup.rst @@ -27,7 +27,7 @@ Conda allows users to create an "environment" that holds system dependencies lik First Chipyard requires there to be Conda installed on the system. Please refer to the `Conda installation instructions `__ on how to install Conda. -Afterwards, verify that Conda is a sufficient version (we test on version 4.12.0/4.13.0). +Afterwards, verify that Conda is a sufficient version (we test on version 4.12.0/4.13.0 but higher is most likely fine). .. code-block:: shell @@ -40,7 +40,7 @@ This ``git`` is only used to first checkout the repository, we will later instal Setting up the Chipyard Repo ------------------------------------------- -Start by checkout out the proper Chipyard's version. Run: +Start by checking out the proper Chipyard's version. Run: .. parsed-literal:: @@ -66,7 +66,7 @@ Next run the following command to create Chipyard's Conda environment. conda env create -f scripts/conda-requirements.yml -By running the following command you should see a "chipyard" environment listed (the default environment is called "chipyard"). +By running the following command you should see a "chipyard" environment listed (the default environment is called "chipyard" and can be modified with ``conda`` arguments). .. code-block:: shell diff --git a/scripts/init-submodules-no-riscv-tools-nolog.sh b/scripts/init-submodules-no-riscv-tools-nolog.sh index a2a04427..80631b8c 100755 --- a/scripts/init-submodules-no-riscv-tools-nolog.sh +++ b/scripts/init-submodules-no-riscv-tools-nolog.sh @@ -76,6 +76,7 @@ cd "$CHIPYARD_DIR" ( # Blocklist of submodules to initially skip: + # - Toolchain submodules # - Generators with huge submodules (e.g., linux sources) # - FireSim until explicitly requested # - Hammer tool plugins @@ -83,6 +84,7 @@ cd "$CHIPYARD_DIR" # Call the given subcommand (shell function) on each submodule # path to temporarily exclude during the recursive update for name in \ + toolchains/* \ generators/sha3 \ generators/gemmini \ sims/firesim \ diff --git a/toolchains/esp-tools b/toolchains/esp-tools new file mode 160000 index 00000000..a1af866e --- /dev/null +++ b/toolchains/esp-tools @@ -0,0 +1 @@ +Subproject commit a1af866ef834b951c1566c1b517406980578c6d4 diff --git a/toolchains/riscv-tools b/toolchains/riscv-tools new file mode 160000 index 00000000..eb4848b3 --- /dev/null +++ b/toolchains/riscv-tools @@ -0,0 +1 @@ +Subproject commit eb4848b39ccd873447e65a5ff93b6c4b2c992e7b