diff --git a/.github/scripts/install-conda.sh b/.github/scripts/install-conda.sh index 9e2740fb..08529ed7 100755 --- a/.github/scripts/install-conda.sh +++ b/.github/scripts/install-conda.sh @@ -1,7 +1,9 @@ #!/bin/bash +export HOME="${HOME:-/root}" + CONDA_INSTALL_PREFIX=/opt/conda -CONDA_INSTALLER_VERSION=4.12.0-0 +CONDA_INSTALLER_VERSION=22.11.1-4 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 @@ -144,14 +146,16 @@ else rm ./install_conda.sh # see https://conda-forge.org/docs/user/tipsandtricks.html#multiple-channels - # for more information on strict channel_priority - "${DRY_RUN_ECHO[@]}" $SUDO "$CONDA_EXE" config --system --set channel_priority strict + # for more information on flexible channel_priority + "${DRY_RUN_ECHO[@]}" $SUDO "$CONDA_EXE" config --system --set channel_priority flexible # By default, don't mess with people's PS1, I personally find it annoying "${DRY_RUN_ECHO[@]}" $SUDO "$CONDA_EXE" config --system --set changeps1 false # don't automatically activate the 'base' environment when intializing shells "${DRY_RUN_ECHO[@]}" $SUDO "$CONDA_EXE" config --system --set auto_activate_base false # don't automatically update conda to avoid https://github.com/conda-forge/conda-libmamba-solver-feedstock/issues/2 "${DRY_RUN_ECHO[@]}" $SUDO "$CONDA_EXE" config --system --set auto_update_conda false + # automatically use the ucb-bar channel for specific packages https://anaconda.org/ucb-bar/repo + "${DRY_RUN_ECHO[@]}" $SUDO "$CONDA_EXE" config --system --add channels ucb-bar # conda-build is a special case and must always be installed into the base environment $SUDO "$CONDA_EXE" install $DRY_RUN_OPTION -y -n base conda-build @@ -160,12 +164,12 @@ else # see https://www.anaconda.com/blog/a-faster-conda-for-a-growing-community $SUDO "$CONDA_EXE" install $DRY_RUN_OPTION -y -n base conda-libmamba-solver - # conda-lock is a special case and must always be installed into the base environment - $SUDO "$CONDA_EXE" install $DRY_RUN_OPTION -y -n base conda-lock - # Use the fast solver by default "${DRY_RUN_ECHO[@]}" $SUDO "$CONDA_EXE" config --system --set experimental_solver libmamba + # conda-lock is a special case and must always be installed into the base environment + $SUDO "$CONDA_EXE" install $DRY_RUN_OPTION -y -n base conda-lock=1.4 + conda_init_extra_args=() if [[ "$INSTALL_TYPE" == system ]]; then # if we're installing into a root-owned directory using sudo, or we're already root diff --git a/common.mk b/common.mk index 54f81cf6..ee7e049b 100644 --- a/common.mk +++ b/common.mk @@ -19,7 +19,8 @@ HELP_COMPILATION_VARIABLES += \ " ENABLE_CUSTOM_FIRRTL_PASS = if set, enable custom firrtl passes (SFC lowers to LowFIRRTL & MFC converts to Verilog)" \ " ENABLE_YOSYS_FLOW = if set, add compilation flags to enable the vlsi flow for yosys(tutorial flow)" \ " EXTRA_CHISEL_OPTIONS = additional options to pass to the Chisel compiler" \ -" EXTRA_FIRRTL_OPTIONS = additional options to pass to the FIRRTL compiler" +" EXTRA_BASE_FIRRTL_OPTIONS = additional options to pass to the Scala FIRRTL compiler" \ +" MFC_BASE_LOWERING_OPTIONS = override lowering options to pass to the MLIR FIRRTL compiler" EXTRA_GENERATOR_REQS ?= $(BOOTROM_TARGETS) EXTRA_SIM_CXXFLAGS ?= @@ -175,7 +176,7 @@ SFC_MFC_TARGETS = \ $(GEN_COLLATERAL_DIR) SFC_REPL_SEQ_MEM = --infer-rw --repl-seq-mem -c:$(MODEL):-o:$(SFC_SMEMS_CONF) -MFC_BASE_LOWERING_OPTIONS = emittedLineLength=2048,noAlwaysComb,disallowLocalVariables,verifLabels,locationInfoStyle=wrapInAtSquareBracket +MFC_BASE_LOWERING_OPTIONS ?= emittedLineLength=2048,noAlwaysComb,disallowLocalVariables,verifLabels,locationInfoStyle=wrapInAtSquareBracket # DOC include start: FirrtlCompiler # There are two possible cases for this step. In the first case, SFC @@ -188,24 +189,30 @@ MFC_BASE_LOWERING_OPTIONS = emittedLineLength=2048,noAlwaysComb,disallowLocalVar # hack: lower to low firrtl if Fixed types are found # hack: when using dontTouch, io.cpu annotations are not removed by SFC, # hence we remove them manually by using jq before passing them to firtool -$(SFC_LEVEL) $(EXTRA_FIRRTL_OPTIONS) $(FINAL_ANNO_FILE) $(MFC_LOWERING_OPTIONS) &: $(FIRRTL_FILE) $(EXTRA_ANNO_FILE) $(SFC_EXTRA_ANNO_FILE) $(VLOG_SOURCES) + +$(SFC_LEVEL) $(EXTRA_FIRRTL_OPTIONS) &: $(FIRRTL_FILE) ifeq (,$(ENABLE_CUSTOM_FIRRTL_PASS)) - $(eval SFC_LEVEL := $(if $(shell grep "Fixed<" $(FIRRTL_FILE)), low, none)) - $(eval EXTRA_FIRRTL_OPTIONS += $(if $(shell grep "Fixed<" $(FIRRTL_FILE)), $(SFC_REPL_SEQ_MEM),)) + echo $(if $(shell grep "Fixed<" $(FIRRTL_FILE)), low, none) > $(SFC_LEVEL) + echo "$(EXTRA_BASE_FIRRTL_OPTIONS)" $(if $(shell grep "Fixed<" $(FIRRTL_FILE)), "$(SFC_REPL_SEQ_MEM)",) > $(EXTRA_FIRRTL_OPTIONS) else - $(eval SFC_LEVEL := low) - $(eval EXTRA_FIRRTL_OPTIONS += $(SFC_REPL_SEQ_MEM)) + echo low > $(SFC_LEVEL) + echo "$(EXTRA_BASE_FIRRTL_OPTIONS)" "$(SFC_REPL_SEQ_MEM)" > $(EXTRA_FIRRTL_OPTIONS) endif + +$(MFC_LOWERING_OPTIONS): ifeq (,$(ENABLE_YOSYS_FLOW)) - $(eval MFC_LOWERING_OPTIONS = $(MFC_BASE_LOWERING_OPTIONS)) + echo "$(MFC_BASE_LOWERING_OPTIONS)" > $@ else - $(eval MFC_LOWERING_OPTIONS = $(MFC_BASE_LOWERING_OPTIONS),disallowPackedArrays) + echo "$(MFC_BASE_LOWERING_OPTIONS),disallowPackedArrays" > $@ endif - if [ $(SFC_LEVEL) = low ]; then jq -s '[.[][]]' $(EXTRA_ANNO_FILE) $(SFC_EXTRA_ANNO_FILE) > $(FINAL_ANNO_FILE); fi - if [ $(SFC_LEVEL) = none ]; then cat $(EXTRA_ANNO_FILE) > $(FINAL_ANNO_FILE); fi + +$(FINAL_ANNO_FILE): $(EXTRA_ANNO_FILE) $(SFC_EXTRA_ANNO_FILE) $(VLOG_SOURCES) $(SFC_LEVEL) + if [ $(shell cat $(SFC_LEVEL)) = low ]; then jq -s '[.[][]]' $(EXTRA_ANNO_FILE) $(SFC_EXTRA_ANNO_FILE) > $@; fi + if [ $(shell cat $(SFC_LEVEL)) = none ]; then cat $(EXTRA_ANNO_FILE) > $@; fi + touch $@ $(SFC_MFC_TARGETS) &: private TMP_DIR := $(shell mktemp -d -t cy-XXXXXXXX) -$(SFC_MFC_TARGETS) &: $(TAPEOUT_CLASSPATH_TARGETS) $(FIRRTL_FILE) $(FINAL_ANNO_FILE) $(SFC_LEVEL) $(EXTRA_FIRRTL_OPTIONS) +$(SFC_MFC_TARGETS) &: $(TAPEOUT_CLASSPATH_TARGETS) $(FIRRTL_FILE) $(FINAL_ANNO_FILE) $(SFC_LEVEL) $(EXTRA_FIRRTL_OPTIONS) $(MFC_LOWERING_OPTIONS) rm -rf $(GEN_COLLATERAL_DIR) $(call run_jar_scala_main,$(TAPEOUT_CLASSPATH),barstools.tapeout.transforms.GenerateModelStageMain,\ --no-dedup \ @@ -216,12 +223,12 @@ $(SFC_MFC_TARGETS) &: $(TAPEOUT_CLASSPATH_TARGETS) $(FIRRTL_FILE) $(FINAL_ANNO_F --annotation-file $(FINAL_ANNO_FILE) \ --log-level $(FIRRTL_LOGLEVEL) \ --allow-unrecognized-annotations \ - -X $(SFC_LEVEL) \ - $(EXTRA_FIRRTL_OPTIONS)) + -X $(shell cat $(SFC_LEVEL)) \ + $(shell cat $(EXTRA_FIRRTL_OPTIONS))) -mv $(SFC_FIRRTL_BASENAME).lo.fir $(SFC_FIRRTL_FILE) 2> /dev/null # Optionally change file type when SFC generates LowFIRRTL - @if [ $(SFC_LEVEL) = low ]; then cat $(SFC_ANNO_FILE) | jq 'del(.[] | select(.target | test("io.cpu"))?)' > $(TMP_DIR)/unnec-anno-deleted.sfc.anno.json; fi - @if [ $(SFC_LEVEL) = low ]; then cat $(TMP_DIR)/unnec-anno-deleted.sfc.anno.json | jq 'del(.[] | select(.class | test("SRAMAnnotation"))?)' > $(TMP_DIR)/unnec-anno-deleted2.sfc.anno.json; fi - @if [ $(SFC_LEVEL) = low ]; then cat $(TMP_DIR)/unnec-anno-deleted2.sfc.anno.json > $(SFC_ANNO_FILE) && rm $(TMP_DIR)/unnec-anno-deleted.sfc.anno.json && rm $(TMP_DIR)/unnec-anno-deleted2.sfc.anno.json; fi + @if [ $(shell cat $(SFC_LEVEL)) = low ]; then cat $(SFC_ANNO_FILE) | jq 'del(.[] | select(.target | test("io.cpu"))?)' > $(TMP_DIR)/unnec-anno-deleted.sfc.anno.json; fi + @if [ $(shell cat $(SFC_LEVEL)) = low ]; then cat $(TMP_DIR)/unnec-anno-deleted.sfc.anno.json | jq 'del(.[] | select(.class | test("SRAMAnnotation"))?)' > $(TMP_DIR)/unnec-anno-deleted2.sfc.anno.json; fi + @if [ $(shell cat $(SFC_LEVEL)) = low ]; then cat $(TMP_DIR)/unnec-anno-deleted2.sfc.anno.json > $(SFC_ANNO_FILE) && rm $(TMP_DIR)/unnec-anno-deleted.sfc.anno.json && rm $(TMP_DIR)/unnec-anno-deleted2.sfc.anno.json; fi firtool \ --format=fir \ --dedup \ @@ -232,7 +239,7 @@ $(SFC_MFC_TARGETS) &: $(TAPEOUT_CLASSPATH_TARGETS) $(FIRRTL_FILE) $(FINAL_ANNO_F --disable-annotation-classless \ --disable-annotation-unknown \ --mlir-timing \ - --lowering-options=$(MFC_LOWERING_OPTIONS) \ + --lowering-options=$(shell cat $(MFC_LOWERING_OPTIONS)) \ --repl-seq-mem \ --repl-seq-mem-file=$(MFC_SMEMS_CONF) \ --repl-seq-mem-circuit=$(MODEL) \ @@ -360,7 +367,7 @@ run-binary-debug: check-binary $(BINARY).run.debug run-binaries-debug: check-binaries $(addsuffix .run.debug,$(BINARIES)) %.run.debug: %.check-exists $(SIM_DEBUG_PREREQ) | $(output_dir) - if [ "$*" != "none" ]; then riscv64-unknown-elf-objdump -D $* > $(call get_sim_out_name,$*).dump ; fi + if [ "$*" != "none" ]; then riscv64-unknown-elf-objdump -D -S $* > $(call get_sim_out_name,$*).dump ; fi (set -o pipefail && $(NUMA_PREFIX) $(sim_debug) $(PERMISSIVE_ON) $(call get_common_sim_flags,$*) $(VERBOSE_FLAGS) $(call get_waveform_flag,$(call get_sim_out_name,$*)) $(PERMISSIVE_OFF) $* >(spike-dasm > $(call get_sim_out_name,$*).out) | tee $(call get_sim_out_name,$*).log) run-fast: run-asm-tests-fast run-bmark-tests-fast diff --git a/conda-reqs/chipyard.yaml b/conda-reqs/chipyard.yaml index 1079a95a..88e0cb9a 100644 --- a/conda-reqs/chipyard.yaml +++ b/conda-reqs/chipyard.yaml @@ -93,7 +93,7 @@ dependencies: - screen - elfutils - libdwarf-dev==0.0.0.20190110_28_ga81397fc4 # from ucb-bar channel - using mainline libdwarf-feedstock - - conda-lock=1 + - conda-lock=1.4 # clang-format for driver coding style enforcement. - clang-format diff --git a/conda-reqs/conda-lock-reqs/conda-requirements-esp-tools-linux-64.conda-lock.yml b/conda-reqs/conda-lock-reqs/conda-requirements-esp-tools-linux-64.conda-lock.yml index d041afe3..9314320e 100644 --- a/conda-reqs/conda-lock-reqs/conda-requirements-esp-tools-linux-64.conda-lock.yml +++ b/conda-reqs/conda-lock-reqs/conda-requirements-esp-tools-linux-64.conda-lock.yml @@ -21,7 +21,7 @@ metadata: - url: nodefaults used_env_vars: [] content_hash: - linux-64: 09711b53dfd6ad82a5c9dc24c21633adaa2dfc051446a5009167b0a5d6a02167 + linux-64: c82daab41979122418c73ddbeb064bef42659c857750ef19fe713af8e06f305d platforms: - linux-64 sources: @@ -4429,14 +4429,14 @@ package: types-awscrt: '' typing_extensions: '' hash: - md5: 02c4d0596fd90242135cbd533368f723 - sha256: eaa094606d1dd54579fd78299d39b185e80d0c91c031915eeaeae963aa5d271c + md5: f19106a30c5fb2c52d84d1dbf0b5e097 + sha256: 8bf3c568732facd3ca9adf2f1867f91f84fc0e3779dba9e4da4c10f35ac0dfba manager: conda name: botocore-stubs optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/botocore-stubs-1.29.141-pyhd8ed1ab_0.conda - version: 1.29.141 + url: https://conda.anaconda.org/conda-forge/noarch/botocore-stubs-1.29.145-pyhd8ed1ab_0.conda + version: 1.29.145 - category: main dependencies: clang-format: 16.0.3 default_h1cdf331_2 @@ -4894,14 +4894,14 @@ package: python-dateutil: '>=2.1,<3.0.0' urllib3: '>=1.25.4,<1.27' hash: - md5: 1292fc54c547ab84ea7ded4162c206b7 - sha256: c2169156a4c52fc8a410376afba76f6349f539a5519c18c63de89babacb3c348 + md5: a1b8b2b1df2fa7a35fc15e561601cbe0 + sha256: 61c711c9620821ef97ef04ad1991c23328debbe722ca1891e917821bc47f1611 manager: conda name: botocore optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/botocore-1.29.144-pyhd8ed1ab_0.conda - version: 1.29.144 + url: https://conda.anaconda.org/conda-forge/noarch/botocore-1.29.145-pyhd8ed1ab_0.conda + version: 1.29.145 - category: main dependencies: cairo: '>=1.16.0,<2.0a0' @@ -4969,28 +4969,28 @@ package: six: '>=1.11.0' typing-extensions: '>=4.0.1' hash: - md5: f4d871cde207029fbd3059fc4ad76af9 - sha256: 85884ae07cd171b577dba67059b633df5c6ad0a8fff8222de4bf77530426aea6 + md5: 4e49a7bd8f79a678c4fa2e871f4e2881 + sha256: 485bd7bba4820ea7265990d335ec10ab2f431c6bb1cca19f3ce7b87879f62e72 manager: conda name: azure-core optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/azure-core-1.26.4-pyhd8ed1ab_0.conda - version: 1.26.4 + url: https://conda.anaconda.org/conda-forge/noarch/azure-core-1.27.0-pyhd8ed1ab_0.conda + version: 1.27.0 - category: main dependencies: msgpack-python: '>=0.5.2' python: '>=3.6' - requests: '' + requests: '>=2.16.0' hash: - md5: e8f0410e0aa03342304357c5cc3bb75d - sha256: 466ce7c155be90a5c903052eba391759ae88eb65f2bb06b0cc1c9d09c4311800 + md5: 9f0b2eb5f5dd2cec36d5342a80adfec0 + sha256: 894e2f4c59221b9633c60281a17fefe09ba0bf5d996992cebeb504d0585dd0dd manager: conda name: cachecontrol optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-0.12.11-pyhd8ed1ab_1.conda - version: 0.12.11 + url: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-0.13.0-pyhd8ed1ab_0.conda + version: 0.13.0 - category: main dependencies: conda-package-handling: '>=1.3.0' @@ -5133,7 +5133,7 @@ package: version: 5.1.1 - category: main dependencies: - botocore: 1.29.144 + botocore: 1.29.145 colorama: '>=0.2.5,<0.4.5' docutils: '>=0.10,<0.17' python: '>=3.9,<3.10.0a0' @@ -5142,43 +5142,43 @@ package: rsa: '>=3.1.2,<4.8' s3transfer: '>=0.6.0,<0.7.0' hash: - md5: 8299dd2755e2dd7a4e728faeedfcde9d - sha256: 6b0d78a402c3ff0905ff37de4f445b76b63a37be6217f20a5643dab8483d27d1 + md5: 71af9e8fbd3e4f2cf7539ae7b98b84d9 + sha256: 9cf3a2405209319da9080429647b820dd3d36270c79a79babdb9b151c31284bb manager: conda name: awscli optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/awscli-1.27.144-py39hf3d152e_0.conda - version: 1.27.144 + url: https://conda.anaconda.org/conda-forge/linux-64/awscli-1.27.145-py39hf3d152e_0.conda + version: 1.27.145 - category: main dependencies: - botocore: '>=1.29.144,<1.30.0' + botocore: '>=1.29.145,<1.30.0' jmespath: '>=0.7.1,<2.0.0' python: '>=3.7' s3transfer: '>=0.6.0,<0.7.0' hash: - md5: 8800de229ccb6091b788b51b860de92d - sha256: 449c8d385102f0b911cc029a99e56715a07cbe82d983d1ada1f1ceac6a1fddbf + md5: 09e0b5c5f94eb5b480477ae63072b7dd + sha256: 82d045f01c87a8202796eadf2f10350b7e2417b480e93c69bb85a8364b750f02 manager: conda name: boto3 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/boto3-1.26.144-pyhd8ed1ab_0.conda - version: 1.26.144 + url: https://conda.anaconda.org/conda-forge/noarch/boto3-1.26.145-pyhd8ed1ab_0.conda + version: 1.26.145 - category: main dependencies: - cachecontrol: 0.12.11 pyhd8ed1ab_1 + cachecontrol: 0.13.0 pyhd8ed1ab_0 lockfile: '>=0.9' python: '>=3.6' hash: - md5: 9df660456c0076d27b802448f7ede78f - sha256: 81c483fc92656873eb5a7ba657b208c34186556d942a9cebc1f7771e565b95b7 + md5: 3fd3d55ea862cc0736ac1cce6f44c2d1 + sha256: a8e20149f8ef160fbac5c751733638ccd5f35e20f3f552cfd46a467ffeceeeaf manager: conda name: cachecontrol-with-filecache optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-with-filecache-0.12.11-pyhd8ed1ab_1.conda - version: 0.12.11 + url: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-with-filecache-0.13.0-pyhd8ed1ab_0.conda + version: 0.13.0 - category: main dependencies: colorama: '' @@ -5290,14 +5290,14 @@ package: python: '' typing_extensions: '' hash: - md5: c9cbc248c410c28416580c32855ecc57 - sha256: 3d4e6178109386ba9bee5006b5bd2f81b561c2ea22b129596e0ae4b7b480d293 + md5: 1cc6dd0f40481c8a20eaa91a76f48ce5 + sha256: c0c0c81cfaf11a662d331d934d7a8eca12adbf12fa89a1fd60b514318c87c6c8 manager: conda name: boto3-stubs optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/boto3-stubs-1.26.144-pyhd8ed1ab_0.conda - version: 1.26.144 + url: https://conda.anaconda.org/conda-forge/noarch/boto3-stubs-1.26.145-pyhd8ed1ab_0.conda + version: 1.26.145 - category: main dependencies: cachecontrol-with-filecache: '>=0.12.9' diff --git a/conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64.conda-lock.yml b/conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64.conda-lock.yml index 3b0706b0..b1ffbf71 100644 --- a/conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64.conda-lock.yml +++ b/conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64.conda-lock.yml @@ -21,7 +21,7 @@ metadata: - url: nodefaults used_env_vars: [] content_hash: - linux-64: a78a257d86cc3b93a84a1e7f6f5d0790a0d3e997d43e3dbd608684ec2bf1da6f + linux-64: 226203ede9b0f046c54182afa8a2500b066f69e90eb7d1231892fa08d33241b5 platforms: - linux-64 sources: @@ -4431,14 +4431,14 @@ package: types-awscrt: '' typing_extensions: '' hash: - md5: 02c4d0596fd90242135cbd533368f723 - sha256: eaa094606d1dd54579fd78299d39b185e80d0c91c031915eeaeae963aa5d271c + md5: f19106a30c5fb2c52d84d1dbf0b5e097 + sha256: 8bf3c568732facd3ca9adf2f1867f91f84fc0e3779dba9e4da4c10f35ac0dfba manager: conda name: botocore-stubs optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/botocore-stubs-1.29.141-pyhd8ed1ab_0.conda - version: 1.29.141 + url: https://conda.anaconda.org/conda-forge/noarch/botocore-stubs-1.29.145-pyhd8ed1ab_0.conda + version: 1.29.145 - category: main dependencies: clang-format: 16.0.3 default_h1cdf331_2 @@ -4868,14 +4868,14 @@ package: python-dateutil: '>=2.1,<3.0.0' urllib3: '>=1.25.4,<1.27' hash: - md5: 1292fc54c547ab84ea7ded4162c206b7 - sha256: c2169156a4c52fc8a410376afba76f6349f539a5519c18c63de89babacb3c348 + md5: a1b8b2b1df2fa7a35fc15e561601cbe0 + sha256: 61c711c9620821ef97ef04ad1991c23328debbe722ca1891e917821bc47f1611 manager: conda name: botocore optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/botocore-1.29.144-pyhd8ed1ab_0.conda - version: 1.29.144 + url: https://conda.anaconda.org/conda-forge/noarch/botocore-1.29.145-pyhd8ed1ab_0.conda + version: 1.29.145 - category: main dependencies: cairo: '>=1.16.0,<2.0a0' @@ -4943,28 +4943,28 @@ package: six: '>=1.11.0' typing-extensions: '>=4.0.1' hash: - md5: f4d871cde207029fbd3059fc4ad76af9 - sha256: 85884ae07cd171b577dba67059b633df5c6ad0a8fff8222de4bf77530426aea6 + md5: 4e49a7bd8f79a678c4fa2e871f4e2881 + sha256: 485bd7bba4820ea7265990d335ec10ab2f431c6bb1cca19f3ce7b87879f62e72 manager: conda name: azure-core optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/azure-core-1.26.4-pyhd8ed1ab_0.conda - version: 1.26.4 + url: https://conda.anaconda.org/conda-forge/noarch/azure-core-1.27.0-pyhd8ed1ab_0.conda + version: 1.27.0 - category: main dependencies: msgpack-python: '>=0.5.2' python: '>=3.6' - requests: '' + requests: '>=2.16.0' hash: - md5: e8f0410e0aa03342304357c5cc3bb75d - sha256: 466ce7c155be90a5c903052eba391759ae88eb65f2bb06b0cc1c9d09c4311800 + md5: 9f0b2eb5f5dd2cec36d5342a80adfec0 + sha256: 894e2f4c59221b9633c60281a17fefe09ba0bf5d996992cebeb504d0585dd0dd manager: conda name: cachecontrol optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-0.12.11-pyhd8ed1ab_1.conda - version: 0.12.11 + url: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-0.13.0-pyhd8ed1ab_0.conda + version: 0.13.0 - category: main dependencies: conda-package-handling: '>=1.3.0' @@ -5107,7 +5107,7 @@ package: version: 5.1.1 - category: main dependencies: - botocore: 1.29.144 + botocore: 1.29.145 colorama: '>=0.2.5,<0.4.5' docutils: '>=0.10,<0.17' python: '>=3.10,<3.11.0a0' @@ -5116,43 +5116,43 @@ package: rsa: '>=3.1.2,<4.8' s3transfer: '>=0.6.0,<0.7.0' hash: - md5: f1bc03523d1c11221a04cc3d9ec5cf98 - sha256: 29d4ae495154e0aa003c88bf6fd736494301d805101e4944577f1f56a5805309 + md5: 72db444c038161792bce84c115badf4f + sha256: d3ca2cd8c3cf320828c19d4afcb5e06aa42a2782c2e4cd43b511a812fa0242fd manager: conda name: awscli optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/awscli-1.27.144-py310hff52083_0.conda - version: 1.27.144 + url: https://conda.anaconda.org/conda-forge/linux-64/awscli-1.27.145-py310hff52083_0.conda + version: 1.27.145 - category: main dependencies: - botocore: '>=1.29.144,<1.30.0' + botocore: '>=1.29.145,<1.30.0' jmespath: '>=0.7.1,<2.0.0' python: '>=3.7' s3transfer: '>=0.6.0,<0.7.0' hash: - md5: 8800de229ccb6091b788b51b860de92d - sha256: 449c8d385102f0b911cc029a99e56715a07cbe82d983d1ada1f1ceac6a1fddbf + md5: 09e0b5c5f94eb5b480477ae63072b7dd + sha256: 82d045f01c87a8202796eadf2f10350b7e2417b480e93c69bb85a8364b750f02 manager: conda name: boto3 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/boto3-1.26.144-pyhd8ed1ab_0.conda - version: 1.26.144 + url: https://conda.anaconda.org/conda-forge/noarch/boto3-1.26.145-pyhd8ed1ab_0.conda + version: 1.26.145 - category: main dependencies: - cachecontrol: 0.12.11 pyhd8ed1ab_1 + cachecontrol: 0.13.0 pyhd8ed1ab_0 lockfile: '>=0.9' python: '>=3.6' hash: - md5: 9df660456c0076d27b802448f7ede78f - sha256: 81c483fc92656873eb5a7ba657b208c34186556d942a9cebc1f7771e565b95b7 + md5: 3fd3d55ea862cc0736ac1cce6f44c2d1 + sha256: a8e20149f8ef160fbac5c751733638ccd5f35e20f3f552cfd46a467ffeceeeaf manager: conda name: cachecontrol-with-filecache optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-with-filecache-0.12.11-pyhd8ed1ab_1.conda - version: 0.12.11 + url: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-with-filecache-0.13.0-pyhd8ed1ab_0.conda + version: 0.13.0 - category: main dependencies: colorama: '' @@ -5264,14 +5264,14 @@ package: python: '' typing_extensions: '' hash: - md5: c9cbc248c410c28416580c32855ecc57 - sha256: 3d4e6178109386ba9bee5006b5bd2f81b561c2ea22b129596e0ae4b7b480d293 + md5: 1cc6dd0f40481c8a20eaa91a76f48ce5 + sha256: c0c0c81cfaf11a662d331d934d7a8eca12adbf12fa89a1fd60b514318c87c6c8 manager: conda name: boto3-stubs optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/boto3-stubs-1.26.144-pyhd8ed1ab_0.conda - version: 1.26.144 + url: https://conda.anaconda.org/conda-forge/noarch/boto3-stubs-1.26.145-pyhd8ed1ab_0.conda + version: 1.26.145 - category: main dependencies: cachecontrol-with-filecache: '>=0.12.9' diff --git a/conda-reqs/esp-tools.yaml b/conda-reqs/esp-tools.yaml index 3a34d748..e4fd3395 100644 --- a/conda-reqs/esp-tools.yaml +++ b/conda-reqs/esp-tools.yaml @@ -15,4 +15,4 @@ dependencies: # https://docs.conda.io/projects/conda/en/latest/user-guide/concepts/pkg-specs.html#package-match-specifications # documentation on package_spec syntax for constraining versions - - esp-tools=1.0.1 # from ucb-bar channel - https://github.com/ucb-bar/esp-tools-feedstock + - esp-tools==1.0.1 # from ucb-bar channel - https://github.com/ucb-bar/esp-tools-feedstock diff --git a/conda-reqs/riscv-tools.yaml b/conda-reqs/riscv-tools.yaml index 67acf4a0..0249f153 100644 --- a/conda-reqs/riscv-tools.yaml +++ b/conda-reqs/riscv-tools.yaml @@ -15,4 +15,4 @@ dependencies: # https://docs.conda.io/projects/conda/en/latest/user-guide/concepts/pkg-specs.html#package-match-specifications # documentation on package_spec syntax for constraining versions - - riscv-tools=1.0.3 # from ucb-bar channel - https://github.com/ucb-bar/riscv-tools-feedstock + - riscv-tools==1.0.3 # from ucb-bar channel - https://github.com/ucb-bar/riscv-tools-feedstock diff --git a/docs/Chipyard-Basics/Initial-Repo-Setup.rst b/docs/Chipyard-Basics/Initial-Repo-Setup.rst index 87deef33..e288e295 100644 --- a/docs/Chipyard-Basics/Initial-Repo-Setup.rst +++ b/docs/Chipyard-Basics/Initial-Repo-Setup.rst @@ -35,7 +35,7 @@ Afterwards, verify that Conda is a sufficient version (we test on version 4.12.0 .. code-block:: shell - conda --version # must be version 4.12.0 or higher + conda --version # must be version 22.11.1 or higher After Conda is installed and is on your ``PATH``, we need to install a version of ``git`` to initially checkout the repository. For this you can use the system package manager like ``yum`` or ``apt`` to install ``git``. @@ -46,7 +46,7 @@ This is done by the following: .. code-block:: shell - conda install -n base conda-lock=1 + conda install -n base conda-lock=1.4 conda activate base .. Note:: We also recommended switching to `libmamba `__ for much faster dependency solving. diff --git a/variables.mk b/variables.mk index 2beec438..ac939980 100644 --- a/variables.mk +++ b/variables.mk @@ -221,6 +221,10 @@ sim_files ?= $(build_dir)/sim_files.f # single file that contains all files needed for VCS or Verilator simulation (unique and without .h's) sim_common_files ?= $(build_dir)/sim_files.common.f +SFC_LEVEL ?= $(build_dir)/.sfc_level +EXTRA_FIRRTL_OPTIONS ?= $(build_dir)/.extra_firrtl_options +MFC_LOWERING_OPTIONS ?= $(build_dir)/.mfc_lowering_options + ######################################################################################### # java arguments used in sbt ######################################################################################### @@ -254,7 +258,7 @@ endef # (1) - sbt project to assemble # (2) - classpath file(s) to create define run_sbt_assembly - cd $(base_dir) && $(SBT) ";project $(1); set assembly / assemblyOutputPath := file(\"$(2)\"); assembly" + cd $(base_dir) && $(SBT) ";project $(1); set assembly / assemblyOutputPath := file(\"$(2)\"); assembly" && touch $(2) endef FIRRTL_LOGLEVEL ?= error