diff --git a/.github/actions/create-conda-env/action.yml b/.github/actions/create-conda-env/action.yml
index e29a06e9..b9fd6066 100644
--- a/.github/actions/create-conda-env/action.yml
+++ b/.github/actions/create-conda-env/action.yml
@@ -11,7 +11,6 @@ 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 + CIRCT to RISC-V install area"
@@ -25,14 +24,5 @@ runs:
-x ./conda-reqs/circt.json \
-g ${{ github.token }}
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}
diff --git a/.github/actions/run-tests/action.yml b/.github/actions/run-tests/action.yml
index 1c554ac4..1dd0ce89 100644
--- a/.github/actions/run-tests/action.yml
+++ b/.github/actions/run-tests/action.yml
@@ -23,7 +23,7 @@ runs:
- name: Init submodules (since only the RTL is cached)
run: |
conda activate ${{ env.conda-env-name-no-time }}-$(date --date "${{ env.workflow-timestamp }}" +%Y%m%d)-${{ inputs.toolchain }}
- ./scripts/init-submodules-no-riscv-tools.sh --force
+ ./scripts/init-submodules-no-riscv-tools.sh
shell: bash -leo pipefail {0}
# Note: You shouldn't need the other inputs since it shouldn't build RTL from scratch
diff --git a/.github/scripts/check-commit.sh b/.github/scripts/check-commit.sh
index d3b856c8..a4a95611 100755
--- a/.github/scripts/check-commit.sh
+++ b/.github/scripts/check-commit.sh
@@ -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" "constellation" "fft-generator" "hardfloat" "caliptra-aes-acc" "rocc-acc-utils")
+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
diff --git a/.github/scripts/defaults.sh b/.github/scripts/defaults.sh
index d4eb7b56..ef7453d2 100755
--- a/.github/scripts/defaults.sh
+++ b/.github/scripts/defaults.sh
@@ -29,11 +29,11 @@ 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-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-tracegen"]="tracegen tracegen-boom"
-grouping["group-other"]="icenet testchipip constellation rocketchip-amba rocketchip-tlsimple rocketchip-tlwidth rocketchip-tlxbar"
+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
@@ -58,6 +58,7 @@ mapping["chipyard-spiflashwrite"]=" CONFIG=SmallSPIFlashRocketConfig EXTRA_SIM_F
mapping["chipyard-manyperipherals"]=" CONFIG=ManyPeripheralsRocketConfig EXTRA_SIM_FLAGS='+spiflash0=${LOCAL_CHIPYARD_DIR}/tests/spiflash.img'"
mapping["chipyard-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"
@@ -67,6 +68,7 @@ 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["constellation"]=" SUB_PROJECT=constellation"
diff --git a/.github/scripts/remote-do-rtl-build.sh b/.github/scripts/remote-do-rtl-build.sh
index 06b47ba2..9cbc8531 100755
--- a/.github/scripts/remote-do-rtl-build.sh
+++ b/.github/scripts/remote-do-rtl-build.sh
@@ -15,7 +15,7 @@ SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )"
source $SCRIPT_DIR/defaults.sh
cd $REMOTE_CHIPYARD_DIR
-./scripts/init-submodules-no-riscv-tools.sh --force
+./scripts/init-submodules-no-riscv-tools.sh
# Constellation can run without espresso, but this improves
# elaboration time drastically
diff --git a/.github/scripts/remote-run-firesim-scala-tests.sh b/.github/scripts/remote-run-firesim-scala-tests.sh
index 080f6d8c..5d9a970d 100755
--- a/.github/scripts/remote-run-firesim-scala-tests.sh
+++ b/.github/scripts/remote-run-firesim-scala-tests.sh
@@ -11,7 +11,7 @@ SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )"
source $SCRIPT_DIR/defaults.sh
cd $REMOTE_CHIPYARD_DIR
-./scripts/init-submodules-no-riscv-tools.sh --force
+./scripts/init-submodules-no-riscv-tools.sh
# Run Firesim Scala Tests
export FIRESIM_ENV_SOURCED=1
diff --git a/.github/scripts/run-tests.sh b/.github/scripts/run-tests.sh
index ce272737..eccc5563 100755
--- a/.github/scripts/run-tests.sh
+++ b/.github/scripts/run-tests.sh
@@ -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
;;
diff --git a/.github/workflows/chipyard-full-flow.yml b/.github/workflows/chipyard-full-flow.yml
index 3d4a9866..95463928 100644
--- a/.github/workflows/chipyard-full-flow.yml
+++ b/.github/workflows/chipyard-full-flow.yml
@@ -83,7 +83,7 @@ jobs:
eval "$(conda shell.bash hook)"
mkdir ${{ env.JAVA_TMP_DIR }}
export MAKEFLAGS="-j32"
- ./build-setup.sh -f -v
+ ./build-setup.sh -v
run-cfg-finder:
name: run-cfg-finder
diff --git a/.github/workflows/chipyard-run-tests.yml b/.github/workflows/chipyard-run-tests.yml
index 1c0f10d8..f56f279d 100644
--- a/.github/workflows/chipyard-run-tests.yml
+++ b/.github/workflows/chipyard-run-tests.yml
@@ -377,7 +377,7 @@ jobs:
- name: Build Gemmini FireMarshal
run: |
conda activate ${{ env.conda-env-name-no-time }}-$(date --date "${{ env.workflow-timestamp }}" +%Y%m%d)-riscv-tools
- cd ${{ github.workspace }} && ./scripts/init-submodules-no-riscv-tools.sh --force
+ cd ${{ github.workspace }} && ./scripts/init-submodules-no-riscv-tools.sh
cd ${{ github.workspace }} && source ./scripts/fix-open-files.sh
git submodule update --init software/firemarshal && cd software/firemarshal && ./init-submodules.sh
cd ${{ github.workspace }}/generators/gemmini/software && ${{ github.workspace }}/software/firemarshal/marshal -v -d build gemmini-smoke.json
@@ -708,6 +708,29 @@ 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
@@ -1071,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,
diff --git a/.github/workflows/update-circt.yml b/.github/workflows/update-circt.yml
index 2d52a155..f0c3158b 100644
--- a/.github/workflows/update-circt.yml
+++ b/.github/workflows/update-circt.yml
@@ -16,7 +16,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Update CIRCT
- uses: circt/update-circt@v1.0.0
+ uses: circt/update-circt@v1
with:
user: 'bartender'
email: 'firesimchipyard@gmail.com'
diff --git a/.gitmodules b/.gitmodules
index e1768873..4f21369e 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,10 +1,10 @@
-[submodule "rocket-chip"]
+[submodule "generators/rocket-chip"]
path = generators/rocket-chip
url = https://github.com/chipsalliance/rocket-chip.git
-[submodule "testchipip"]
+[submodule "generators/testchipip"]
path = generators/testchipip
url = https://github.com/ucb-bar/testchipip.git
-[submodule "barstools"]
+[submodule "tools/barstools"]
path = tools/barstools
url = https://github.com/ucb-bar/barstools.git
[submodule "tools/torture"]
@@ -13,9 +13,6 @@
[submodule "generators/boom"]
path = generators/boom
url = https://github.com/riscv-boom/riscv-boom.git
-[submodule "generators/sifive-blocks"]
- path = generators/sifive-blocks
- url = https://github.com/chipsalliance/rocket-chip-blocks.git
[submodule "generators/hwacha"]
path = generators/hwacha
url = https://github.com/ucb-bar/hwacha.git
@@ -25,9 +22,6 @@
[submodule "generators/icenet"]
path = generators/icenet
url = https://github.com/firesim/icenet.git
-[submodule "generators/block-inclusivecache-sifive"]
- path = generators/sifive-cache
- url = https://github.com/chipsalliance/rocket-chip-inclusive-cache.git
[submodule "tools/dsptools"]
path = tools/dsptools
url = https://github.com/ucb-bar/dsptools.git
@@ -64,6 +58,9 @@
[submodule "software/nvdla-workload"]
path = software/nvdla-workload
url = https://github.com/ucb-bar/nvdla-workload.git
+[submodule "software/baremetal-ide"]
+ path = software/baremetal-ide
+ url = https://github.com/ucb-bar/Baremetal-IDE.git
[submodule "generators/riscv-sodor"]
path = generators/riscv-sodor
url = https://github.com/ucb-bar/riscv-sodor.git
@@ -145,3 +142,9 @@
[submodule "toolchains/riscv-tools/riscv-spike-devices"]
path = toolchains/riscv-tools/riscv-spike-devices
url = https://github.com/ucb-bar/spike-devices.git
+[submodule "generators/rocket-chip-blocks"]
+ path = generators/rocket-chip-blocks
+ url = https://github.com/chipsalliance/rocket-chip-blocks.git
+[submodule "generators/rocket-chip-inclusive-cache"]
+ path = generators/rocket-chip-inclusive-cache
+ url = https://github.com/chipsalliance/rocket-chip-inclusive-cache.git
diff --git a/.readthedocs.yml b/.readthedocs.yml
index b5b883b5..3fba50e3 100644
--- a/.readthedocs.yml
+++ b/.readthedocs.yml
@@ -9,4 +9,4 @@ sphinx:
configuration: docs/conf.py
conda:
- environment: conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64.conda-lock.yml
+ environment: conda-reqs/docs.yaml
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 233ddbce..ddf3b7a8 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,101 @@
This changelog follows the format defined here: https://keepachangelog.com/en/1.0.0/
+## [1.11.0] - 2024-1-22
+
+Adds Ubuntu support for firemarshal, multi-chiptop configuration for chiplets, caliptra accelerator, spike-cosim.
+
+## Added
+- Provide example of tethered-config simulation with MultiHarnessBinders (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1484)
+- Add release note automation (by @abejgonzalez in https://github.com/ucb-bar/chipyard/pull/1548)
+- Improve peripheral config binders (Reapply #1511) (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1527)
+- UPF Generation (by @sriramsridhar23 in https://github.com/ucb-bar/chipyard/pull/1347)
+- Improve: SiFive peripheral device doumentation (by @T-K-233 in https://github.com/ucb-bar/chipyard/pull/1578)
+- Bump to latest rocket-chip | integrated fixed-point | pull in stage/phase (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1577)
+- Enable precommit | Format files (by @abejgonzalez in https://github.com/ucb-bar/chipyard/pull/1585)
+- KLayout section of Sky130+OpenROAD tutorial (by @nayiri-k in https://github.com/ucb-bar/chipyard/pull/1514)
+- Added useful "Build script exited at step X" errors for each step in build-setup.sh (by @JL102 in https://github.com/ucb-bar/chipyard/pull/1614)
+- Adds support for Digilent Nexys Video FPGA board. (by @milovanovic in https://github.com/ucb-bar/chipyard/pull/1616)
+- Add NarrowRocketCache config fragment (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1603)
+- Add Caliptra AES256 ECB engine as RoCC accelerator (by @abejgonzalez in https://github.com/ucb-bar/chipyard/pull/1642)
+- Support using HarnessBinders without IOBinders (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1636)
+- Add Bringup on Arty100T config, using PMOD-gpio for ser-tl (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1657)
+- Install uart_tsi utility as part of build-toolchain-extra (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1670)
+- Add spike devices (by @joey0320 in https://github.com/ucb-bar/chipyard/pull/1692)
+- Bump testchipip to support multi-serial-tl (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1630)
+- ADD: bump fpga-shell (by @T-K-233 in https://github.com/ucb-bar/chipyard/pull/1703)
+- Add UART device/JTAG to Arty100T default design (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1712)
+- Add generators/ submodule status check to all Make targets (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1718)
+- Add clearer --skip flags to build-setup (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1724)
+- Add Baremetal IDE support (by @T-K-233 in https://github.com/ucb-bar/chipyard/pull/1534)
+- ADD: add information on Baremetal-IDE in docs (by @T-K-233 in https://github.com/ucb-bar/chipyard/pull/1730)
+- Support clustered-cores (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1629)
+- Add debug clock tap port to all default designs (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1697)
+- Add support for symmetric serial-tilelink (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1716)
+- Add Chip ID Pin and Port (by @schwarz-em in https://github.com/ucb-bar/chipyard/pull/1721)
+- FastSimRocketConfig with no TLMonitors (by @joey0320 in https://github.com/ucb-bar/chipyard/pull/1752)
+- Use lean conda for faster initial setup (by @joey0320 in https://github.com/ucb-bar/chipyard/pull/1750)
+- Add BroadcastCoherence rocket config (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1755)
+
+## Changed
+- Bump FireMarshal (by @abejgonzalez in https://github.com/ucb-bar/chipyard/pull/1556)
+- Bump spike | support M-mode only cosim (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1530)
+- Bump to chisel3.6 (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1531)
+- Replace Dromajo FireSim bridge with Cospike (by @abejgonzalez in https://github.com/ucb-bar/chipyard/pull/1588)
+- Add PortAPI between IO and Harness blocks (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1610)
+- REFACTOR: change bootaddr register address and PC reset vector address (by @T-K-233 in https://github.com/ucb-bar/chipyard/pull/1605)
+- REFACTOR: rename arty35t explicitly (by @T-K-233 in https://github.com/ucb-bar/chipyard/pull/1682)
+- Add HasHarnessInstantiators into MultiHarnessBinder (by @abejgonzalez in https://github.com/ucb-bar/chipyard/pull/1674)
+- Install CIRCT out of Conda (by @abejgonzalez in https://github.com/ucb-bar/chipyard/pull/1675)
+- [cd] Bump CIRCT from firtool-1.58.0 to firtool-1.60.0 (copy #1688) (by @mergify[bot] in https://github.com/ucb-bar/chipyard/pull/1689)
+- Bump constellation with improved TL-noc (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1633)
+- Update testchipip imports with new testchipip organization (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1710)
+- CHANGE: Set scratchpad as default config (by @T-K-233 in https://github.com/ucb-bar/chipyard/pull/1719)
+- Rename blocks/cache submodules to match new chipsalliance ownership (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1726)
+- Rename timeout_cycles to TIMEOUT_CYCLES to match convention (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1706)
+- [cd] Bump CIRCT from firtool-1.60.0 to firtool-1.61.0 (copy #1691) (by @mergify[bot] in https://github.com/ucb-bar/chipyard/pull/1699)
+- Bump tcip/barf/marshal/fsim (by @joey0320 in https://github.com/ucb-bar/chipyard/pull/1748)
+- Remove skip-validate option (by @joey0320 in https://github.com/ucb-bar/chipyard/pull/1749)
+- Add .gitignore for Embench Build Folder (by @vighneshiyer in https://github.com/ucb-bar/chipyard/pull/1754)
+
+## Fixed
+- Bump lockfiles | Force user-installed conda during conda-lock (by @abejgonzalez in https://github.com/ucb-bar/chipyard/pull/1555)
+- Fix FIFO-fixing for PRCI bus (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1563)
+- Fix VCU118 freq adjustment configs (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1597)
+- Fix Arty100T verilog build (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1608)
+- Make scripts/insert-includes.py use Python from conda env (by @hansungk in https://github.com/ucb-bar/chipyard/pull/1615)
+- Fix icenet-loopback clock and reset domain (by @joey0320 in https://github.com/ucb-bar/chipyard/pull/1612)
+- Bump FireMarshal for linux rng init fix (by @raghav-g13 in https://github.com/ucb-bar/chipyard/pull/1620)
+- Bump barstools (by @abejgonzalez in https://github.com/ucb-bar/chipyard/pull/1625)
+- [vlsi][ci skip] Fix tutorial.mk so that INPUT_CONFS override only affects tutorials (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1631)
+- Fix regex for similar module names that are uniquified (by @abejgonzalez in https://github.com/ucb-bar/chipyard/pull/1640)
+- Rebuild `jar`s when `sv`/`v` files are changed + Add documentation on blackboxes (by @abejgonzalez in https://github.com/ucb-bar/chipyard/pull/1639)
+- Use TARGET instead of PREFIX in /tests Makefile(s) (by @raghav-g13 in https://github.com/ucb-bar/chipyard/pull/1647)
+- Fix IO direction for host Serial-TL port (by @ethanwu10 in https://github.com/ucb-bar/chipyard/pull/1654)
+- More robust env.sh | Fix conda activate if in subshell (by @abejgonzalez in https://github.com/ucb-bar/chipyard/pull/1653)
+- Always generate MFC Blackbox filelist (by @abejgonzalez in https://github.com/ucb-bar/chipyard/pull/1668)
+- Remove references to ENABLE_YOSYS (by @abejgonzalez in https://github.com/ucb-bar/chipyard/pull/1695)
+- FIX: fix vcu118 sd card frequency (by @T-K-233 in https://github.com/ucb-bar/chipyard/pull/1685)
+- FIX: fix conda-lock version, >1.4.0 does not work! (by @T-K-233 in https://github.com/ucb-bar/chipyard/pull/1714)
+- docs: correct to TOP_MACROCOMPILER_MODE (by @oharboe in https://github.com/ucb-bar/chipyard/pull/1744)
+- Use non-lock-file conda requirements in RTD (by @abejgonzalez in https://github.com/ucb-bar/chipyard/pull/1742)
+- Fix GCD MMIO example (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1753)
+
+## Removed
+- Remove pre-commit from env.sh (by @abejgonzalez in https://github.com/ucb-bar/chipyard/pull/1587)
+- Remove Dromajo (by @abejgonzalez in https://github.com/ucb-bar/chipyard/pull/1598)
+- Remove MultiClockHarnessAXIMem (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1601)
+
+## Uncategorized
+- Documentation: Change "don't use Windows" to "if using Windows, use WSL" (by @JL102 in https://github.com/ucb-bar/chipyard/pull/1572)
+- docs: Add info on chipyard's tests directory and how to do multithreading in RTL simulations (by @JL102 in https://github.com/ucb-bar/chipyard/pull/1646)
+- Reduce CDE lookups for IOBinders (by @tymcauley in https://github.com/ucb-bar/chipyard/pull/1720)
+- Update deprecated APIs to prepare for Chisel 5 (by @tymcauley in https://github.com/ucb-bar/chipyard/pull/1723)
+- Allow sed override in uniquify-module-names.py (by @tymcauley in https://github.com/ucb-bar/chipyard/pull/1729)
+- Update deprecated/unused Chisel APIs (by @tymcauley in https://github.com/ucb-bar/chipyard/pull/1743)
+
+**Full Changelog:** https://github.com/ucb-bar/chipyard/compare/1.10.0...main
+
## [1.10.0] - 2023-6-16
Adds superscalar in-order core, prefetchers, architectural checkpointing, examples for custom-chiptop/tapeout-chip/flat-chiptop. FireSim bumped with new local FPGA support: Xilinx VCU118 (w/XDMA), Xilinx Alveo U250/U280 (w/XDMA, in addition to previous Vitis support), RHSResearch NiteFury II (w/XDMA). FireSim now also supports Xcelium for metasims.
diff --git a/build.sbt b/build.sbt
index c3be6161..2288cded 100644
--- a/build.sbt
+++ b/build.sbt
@@ -95,7 +95,7 @@ lazy val chiselSettings = Seq(
// -- Rocket Chip --
-lazy val hardfloat = freshProject("hardfloat", rocketChipDir / "hardfloat/hardfloat")
+lazy val hardfloat = freshProject("hardfloat", file("generators/hardfloat/hardfloat"))
.settings(chiselSettings)
.dependsOn(midasTargetUtils)
.settings(commonSettings)
@@ -141,12 +141,12 @@ lazy val rocketLibDeps = (rocketchip / Keys.libraryDependencies)
lazy val midasTargetUtils = ProjectRef(firesimDir, "targetutils")
lazy val testchipip = (project in file("generators/testchipip"))
- .dependsOn(rocketchip, sifive_blocks)
+ .dependsOn(rocketchip, rocketchip_blocks)
.settings(libraryDependencies ++= rocketLibDeps.value)
.settings(commonSettings)
lazy val chipyard = (project in file("generators/chipyard"))
- .dependsOn(testchipip, rocketchip, boom, hwacha, sifive_blocks, sifive_cache, iocell,
+ .dependsOn(testchipip, rocketchip, boom, hwacha, rocketchip_blocks, rocketchip_inclusive_cache, iocell,
sha3, // On separate line to allow for cleaner tutorial-setup patches
dsptools, rocket_dsp_utils,
gemmini, icenet, tracegen, cva6, nvdla, sodor, ibex, fft_generator,
@@ -180,7 +180,7 @@ lazy val fft_generator = (project in file("generators/fft-generator"))
.settings(commonSettings)
lazy val tracegen = (project in file("generators/tracegen"))
- .dependsOn(testchipip, rocketchip, sifive_cache, boom)
+ .dependsOn(testchipip, rocketchip, rocketchip_inclusive_cache, boom)
.settings(libraryDependencies ++= rocketLibDeps.value)
.settings(commonSettings)
@@ -279,12 +279,12 @@ lazy val rocket_dsp_utils = freshProject("rocket-dsp-utils", file("./tools/rocke
.settings(libraryDependencies ++= rocketLibDeps.value)
.settings(commonSettings)
-lazy val sifive_blocks = (project in file("generators/sifive-blocks"))
+lazy val rocketchip_blocks = (project in file("generators/rocket-chip-blocks"))
.dependsOn(rocketchip)
.settings(libraryDependencies ++= rocketLibDeps.value)
.settings(commonSettings)
-lazy val sifive_cache = (project in file("generators/sifive-cache"))
+lazy val rocketchip_inclusive_cache = (project in file("generators/rocket-chip-inclusive-cache"))
.settings(
commonSettings,
Compile / scalaSource := baseDirectory.value / "design/craft")
@@ -304,7 +304,7 @@ lazy val firechip = (project in file("generators/firechip"))
Test / testOptions += Tests.Argument("-oF")
)
lazy val fpga_shells = (project in file("./fpga/fpga-shells"))
- .dependsOn(rocketchip, sifive_blocks)
+ .dependsOn(rocketchip, rocketchip_blocks)
.settings(libraryDependencies ++= rocketLibDeps.value)
.settings(commonSettings)
diff --git a/common.mk b/common.mk
index f525b526..26b488f5 100644
--- a/common.mk
+++ b/common.mk
@@ -57,7 +57,8 @@ HELP_COMMANDS += \
" firrtl = generate intermediate firrtl files from chisel elaboration" \
" run-tests = run all assembly and benchmark tests" \
" launch-sbt = start sbt terminal" \
-" find-config-fragments = list all config. fragments"
+" find-config-fragments = list all config. fragments" \
+" check-submodule-status = check that all submodules in generators/ have been initialized"
#########################################################################################
# include additional subproject make fragments
@@ -83,6 +84,8 @@ endif
# Returns a list of files in directories $1 with *any* of the file extensions in $2
lookup_srcs_by_multiple_type = $(foreach type,$(2),$(call lookup_srcs,$(1),$(type)))
+CHECK_SUBMODULES_COMMAND = echo "Checking all submodules in generators/ are initialized. Uninitialized submodules will be displayed" ; ! git submodule status $(base_dir)/generators | grep ^-
+
SCALA_EXT = scala
VLOG_EXT = sv v
CHIPYARD_SOURCE_DIRS = $(addprefix $(base_dir)/,generators sims/firesim/sim fpga/fpga-shells fpga/src)
@@ -119,6 +122,7 @@ $(BOOTROM_TARGETS): $(build_dir)/bootrom.%.img: $(TESTCHIP_RSRCS_DIR)/testchipip
# compile scala jars
#########################################################################################
$(CHIPYARD_CLASSPATH_TARGETS) &: $(CHIPYARD_SCALA_SOURCES) $(SCALA_BUILDTOOL_DEPS) $(CHIPYARD_VLOG_SOURCES)
+ $(CHECK_SUBMODULES_COMMAND)
mkdir -p $(dir $@)
$(call run_sbt_assembly,$(SBT_PROJECT),$(CHIPYARD_CLASSPATH))
@@ -294,10 +298,12 @@ $(TOP_SMEMS_CONF) $(MODEL_SMEMS_CONF) &: $(MFC_SMEMS_CONF) $(MFC_MODEL_HRCHY_JS
TOP_MACROCOMPILER_MODE ?= --mode synflops
$(TOP_SMEMS_FILE) $(TOP_SMEMS_FIR) &: $(TAPEOUT_CLASSPATH_TARGETS) $(TOP_SMEMS_CONF)
$(call run_jar_scala_main,$(TAPEOUT_CLASSPATH),barstools.macros.MacroCompiler,-n $(TOP_SMEMS_CONF) -v $(TOP_SMEMS_FILE) -f $(TOP_SMEMS_FIR) $(TOP_MACROCOMPILER_MODE))
+ touch $(TOP_SMEMS_FILE) $(TOP_SMEMS_FIR)
MODEL_MACROCOMPILER_MODE = --mode synflops
-$(MODEL_SMEMS_FILE) $(MODEL_SMEMS_FIR) &: $(TAPEOUT_CLASSPATH_TARGETS) $(MODEL_SMEMS_CONF) | $(TOP_SMEMS_FILE)
+$(MODEL_SMEMS_FILE) $(MODEL_SMEMS_FIR) &: $(TAPEOUT_CLASSPATH_TARGETS) $(MODEL_SMEMS_CONF)
$(call run_jar_scala_main,$(TAPEOUT_CLASSPATH),barstools.macros.MacroCompiler, -n $(MODEL_SMEMS_CONF) -v $(MODEL_SMEMS_FILE) -f $(MODEL_SMEMS_FIR) $(MODEL_MACROCOMPILER_MODE))
+ touch $(MODEL_SMEMS_FILE) $(MODEL_SMEMS_FIR)
########################################################################################
# remove duplicate files and headers in list of simulation file inputs
@@ -451,9 +457,24 @@ find-config-fragments:
help:
@for line in $(HELP_LINES); do echo "$$line"; done
+#########################################################################################
+# Check submodule status
+#########################################################################################
+
+.PHONY: check-submodule-status
+check-submodule-status:
+ $(CHECK_SUBMODULES_COMMAND)
+
#########################################################################################
# Implicit rule handling
#########################################################################################
# Disable all suffix rules to improve Make performance on systems running older
# versions of Make
.SUFFIXES:
+
+.PHONY: print-%
+# Print any variable and it's origin. This helps figure out where the
+# variable was defined and to distinguish between empty and undefined.
+print-%:
+ @echo "$*=$($*)"
+ @echo "Origin is: $(origin $*)"
diff --git a/conda-reqs/chipyard-base.yaml b/conda-reqs/chipyard-base.yaml
new file mode 100644
index 00000000..59b02ef8
--- /dev/null
+++ b/conda-reqs/chipyard-base.yaml
@@ -0,0 +1,35 @@
+channels:
+ - ucb-bar
+ - conda-forge
+ - litex-hub
+ - nodefaults
+
+platforms:
+ - linux-64
+
+dependencies:
+ # https://conda-forge.org/feedstock-outputs/
+ # filterable list of all conda-forge packages
+ # https://conda-forge.org/#contribute
+ # instructions on adding a recipe
+ # 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
+ - gcc<12
+ - gxx<12
+ - sysroot_linux-64=2.17 # needed to match pre-built CI XRT glibc version
+ - conda-gcc-specs
+ - binutils
+
+ # misc
+ - autoconf
+ - coreutils
+ - jq
+ - pip
+ - make
+ - git
+
+ - sbt
+ - openjdk=20
+ - dtc
+ - verilator==5.020
+ - conda-lock=1.4
diff --git a/conda-reqs/chipyard.yaml b/conda-reqs/chipyard-extended.yaml
similarity index 73%
rename from conda-reqs/chipyard.yaml
rename to conda-reqs/chipyard-extended.yaml
index cc63f613..a1e87d4b 100644
--- a/conda-reqs/chipyard.yaml
+++ b/conda-reqs/chipyard-extended.yaml
@@ -8,14 +8,6 @@ platforms:
- linux-64
dependencies:
- # https://conda-forge.org/feedstock-outputs/
- # filterable list of all conda-forge packages
- # https://conda-forge.org/#contribute
- # instructions on adding a recipe
- # 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
-
-
# handy tool for introspecting package relationships and file ownership
# see https://github.com/rvalieris/conda-tree
- conda-tree
@@ -23,21 +15,9 @@ dependencies:
# bundle FireSim driver with deps into installer shell-script
- constructor
- - gcc<13
- - gxx<13
- - sysroot_linux-64=2.17 # needed to match pre-built CI XRT glibc version
- - conda-gcc-specs
- - binutils
-
- # firtool handled outside of conda
-
# misc
- - autoconf
- pre-commit
- readline
- - coreutils
- - jq
- - pip
# firemarshal deps
- qemu # from ucb-bar channel - https://github.com/ucb-bar/qemu-feedstock
@@ -67,9 +47,7 @@ dependencies:
- findutils
- lzop
- - make
- bash-completion
- - sbt
- ca-certificates
- mosh
- gmp
@@ -77,8 +55,6 @@ dependencies:
- mpc
- zlib
- vim
- - git
- - openjdk
- gengetopt
- libffi
- expat
@@ -87,12 +63,6 @@ dependencies:
- cmake
- graphviz
- expect
- - dtc
- - verilator==5.008
- - screen
- - elfutils
- - libdwarf-dev==0.0.0.20190110_28_ga81397fc4 # from ucb-bar channel - using mainline libdwarf-feedstock
- - conda-lock=1.4
# clang-format for driver coding style enforcement.
- clang-format
@@ -104,18 +74,14 @@ dependencies:
- pip:
- hammer-vlsi[asap7]==1.2.0
- # doc requirements
- - sphinx
- - pygments
- - sphinx-autobuild
- - sphinx_rtd_theme
- - docutils
-
# firesim python packages
# While it is possible to install using pip after creating the
# conda environment, pip's dependency resolution can conflict with
# conda and create broken environments. It's best to use the conda
# packages so that the environment is consistent
+ - screen
+ - elfutils
+ - libdwarf-dev==0.0.0.20190110_28_ga81397fc4 # from ucb-bar channel - using mainline libdwarf-feedstock
- colorama
- argcomplete
- python-graphviz
diff --git a/conda-reqs/circt.json b/conda-reqs/circt.json
index 42d4fa09..3b5ca63a 100644
--- a/conda-reqs/circt.json
+++ b/conda-reqs/circt.json
@@ -1,3 +1,3 @@
{
- "version": "firtool-1.60.0"
+ "version": "firtool-1.61.0"
}
diff --git a/conda-reqs/conda-lock-reqs/conda-requirements-esp-tools-linux-64-lean.conda-lock.yml b/conda-reqs/conda-lock-reqs/conda-requirements-esp-tools-linux-64-lean.conda-lock.yml
new file mode 100644
index 00000000..32407bfb
--- /dev/null
+++ b/conda-reqs/conda-lock-reqs/conda-requirements-esp-tools-linux-64-lean.conda-lock.yml
@@ -0,0 +1,2638 @@
+# This lock file was generated by conda-lock (https://github.com/conda-incubator/conda-lock). DO NOT EDIT!
+#
+# A "lock file" contains a concrete list of package versions (with checksums) to be installed. Unlike
+# e.g. `conda env create`, the resulting environment will not change as new package versions become
+# available, unless you explicitly update the lock file.
+#
+# Install this environment as "YOURENV" with:
+# conda-lock install -n YOURENV --file conda-requirements-esp-tools-linux-64-lean.conda-lock.yml
+# To update a single package to the latest version compatible with the version constraints in the source:
+# conda-lock lock --lockfile conda-requirements-esp-tools-linux-64-lean.conda-lock.yml --update PACKAGE
+# To re-solve the entire environment, e.g. after changing a version constraint in the source file:
+# conda-lock -f /scratch/joonho.whangbo/coding/chipyard-release-118/conda-reqs/chipyard-base.yaml -f /scratch/joonho.whangbo/coding/chipyard-release-118/conda-reqs/docs.yaml -f /scratch/joonho.whangbo/coding/chipyard-release-118/conda-reqs/esp-tools.yaml --lockfile conda-requirements-esp-tools-linux-64-lean.conda-lock.yml
+metadata:
+ channels:
+ - url: ucb-bar
+ used_env_vars: []
+ - url: conda-forge
+ used_env_vars: []
+ - url: litex-hub
+ used_env_vars: []
+ - url: nodefaults
+ used_env_vars: []
+ content_hash:
+ linux-64: b3d6181ced7140e828bceb01703958b116fa5c544d3f5a8ce512f808f5ed3c35
+ platforms:
+ - linux-64
+ sources:
+ - /scratch/joonho.whangbo/coding/chipyard-release-118/conda-reqs/chipyard-base.yaml
+ - /scratch/joonho.whangbo/coding/chipyard-release-118/conda-reqs/docs.yaml
+ - /scratch/joonho.whangbo/coding/chipyard-release-118/conda-reqs/esp-tools.yaml
+package:
+- category: main
+ dependencies: {}
+ hash:
+ md5: d7c89558ba9fa0495403155b64376d81
+ sha256: fe51de6107f9edc7aa4f786a70f4a883943bc9d39b3bb7307c04c41410990726
+ manager: conda
+ name: _libgcc_mutex
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2
+ version: '0.1'
+- category: main
+ dependencies: {}
+ hash:
+ md5: f6ce7955b53ae1ca83144adb3be9c600
+ sha256: 546e4eb1cbd822a66b363ec3fbdcc4fcc53853bcab57674cb46b8f3209b856f2
+ manager: conda
+ name: _sysroot_linux-64_curr_repodata_hack
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/_sysroot_linux-64_curr_repodata_hack-3-h69a702a_13.conda
+ version: '3'
+- category: main
+ dependencies: {}
+ hash:
+ md5: 01ffc8d36f9eba0ce0b3c1955fa780ee
+ sha256: fb4b9f4b7d885002db0b93e22f44b5b03791ef3d4efdc9d0662185a0faafd6b6
+ manager: conda
+ name: ca-certificates
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2023.11.17-hbcca054_0.conda
+ version: 2023.11.17
+- category: main
+ dependencies: {}
+ hash:
+ md5: 0c96522c6bdaed4b1566d11387caaf45
+ sha256: 58d7f40d2940dd0a8aa28651239adbf5613254df0f75789919c4e6762054403b
+ manager: conda
+ name: font-ttf-dejavu-sans-mono
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2
+ version: '2.37'
+- category: main
+ dependencies: {}
+ hash:
+ md5: 34893075a5c9e55cdafac56607368fc6
+ sha256: c52a29fdac682c20d252facc50f01e7c2e7ceac52aa9817aaf0bb83f7559ec5c
+ manager: conda
+ name: font-ttf-inconsolata
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2
+ version: '3.000'
+- category: main
+ dependencies: {}
+ hash:
+ md5: 4d59c254e01d9cde7957100457e2d5fb
+ sha256: 00925c8c055a2275614b4d983e1df637245e19058d79fc7dd1a93b8d9fb4b139
+ manager: conda
+ name: font-ttf-source-code-pro
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2
+ version: '2.038'
+- category: main
+ dependencies: {}
+ hash:
+ md5: 6185f640c43843e5ad6fd1c5372c3f80
+ sha256: 056c85b482d58faab5fd4670b6c1f5df0986314cca3bc831d458b22e4ef2c792
+ manager: conda
+ name: font-ttf-ubuntu
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_1.conda
+ version: '0.83'
+- category: main
+ dependencies: {}
+ hash:
+ md5: 7aca3059a1729aa76c597603f10b0dd3
+ sha256: f6cc89d887555912d6c61b295d398cff9ec982a3417d38025c45d5dd9b9e79cd
+ manager: conda
+ name: ld_impl_linux-64
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.40-h41732ed_0.conda
+ version: '2.40'
+- category: main
+ dependencies: {}
+ hash:
+ md5: 2390dcf3fd78c2c426f1c5b6664fa4b7
+ sha256: 12904b795e5cb877ce6a7bb30feba9bfbe1dd38bd5f520e6af8d89a51bb6b6a6
+ manager: conda
+ name: libgcc-devel_linux-64
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-11.4.0-h922705a_103.conda
+ version: 11.4.0
+- category: main
+ dependencies: {}
+ hash:
+ md5: be10a739476d68c464101836773463f1
+ sha256: 4957848888d7a8cdc77c605357e759f0c9b08c18510f08a205f567666602ca2b
+ manager: conda
+ name: libstdcxx-devel_linux-64
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-11.4.0-h922705a_103.conda
+ version: 11.4.0
+- category: main
+ dependencies: {}
+ hash:
+ md5: 937eaed008f6bf2191c5fe76f87755e9
+ sha256: 6c6c49efedcc5709a66f19fb6b26b69c6a5245310fd1d9a901fd5e38aaf7f882
+ manager: conda
+ name: libstdcxx-ng
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-13.2.0-h7e041cc_3.conda
+ version: 13.2.0
+- category: main
+ dependencies: {}
+ hash:
+ md5: bfe4b3259a8ac6cdf0037752904da6a7
+ sha256: 7e0157e35929711e1a986c18a8bfb7a38a2209cfada16b541ebb0481f74376d6
+ manager: conda
+ name: python_abi
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.9-4_cp39.conda
+ version: '3.9'
+- category: main
+ dependencies: {}
+ hash:
+ md5: 8dee24b8be2d9ff81e7bd4d7d97ff1b0
+ sha256: 04f2ab3e36f2015841551415bf16bf62933bd94b7085d4be5493b388e95a9c3d
+ manager: conda
+ name: tzdata
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/tzdata-2023d-h0c530f3_0.conda
+ version: 2023d
+- category: main
+ dependencies:
+ font-ttf-dejavu-sans-mono: ''
+ font-ttf-inconsolata: ''
+ font-ttf-source-code-pro: ''
+ font-ttf-ubuntu: ''
+ hash:
+ md5: f766549260d6815b0c52253f1fb1bb29
+ sha256: 53f23a3319466053818540bcdf2091f253cbdbab1e0e9ae7b9e509dcaa2a5e38
+ manager: conda
+ name: fonts-conda-forge
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-0.tar.bz2
+ version: '1'
+- category: main
+ dependencies:
+ _sysroot_linux-64_curr_repodata_hack: 3.*
+ hash:
+ md5: 523bc836a954faf0cca94831971bb85a
+ sha256: 67a3caa56e2a59f407f3d290437b865aaf996873006e2fcfca6295d0f0be8db9
+ manager: conda
+ name: kernel-headers_linux-64
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-64-3.10.0-h4a8ded7_13.tar.bz2
+ version: 3.10.0
+- category: main
+ dependencies:
+ _libgcc_mutex: 0.1 conda_forge
+ hash:
+ md5: 7124cbb46b13d395bdde68f2d215c989
+ sha256: 6ebedee39b6bbbc969715d0d7fa4b381cce67e1139862604ffa393f821c08e81
+ manager: conda
+ name: libgomp
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libgomp-13.2.0-h807b86a_3.conda
+ version: 13.2.0
+- category: main
+ dependencies:
+ _libgcc_mutex: 0.1 conda_forge
+ libgomp: '>=7.5.0'
+ hash:
+ md5: 73aaf86a425cc6e73fcf236a5a46396d
+ sha256: fbe2c5e56a653bebb982eda4876a9178aedfc2b545f25d0ce9c4c0b508253d22
+ manager: conda
+ name: _openmp_mutex
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2
+ version: '4.5'
+- category: main
+ dependencies:
+ fonts-conda-forge: ''
+ hash:
+ md5: fee5683a3f04bd15cbd8318b096a27ab
+ sha256: a997f2f1921bb9c9d76e6fa2f6b408b7fa549edd349a77639c9fe7a23ea93e61
+ manager: conda
+ name: fonts-conda-ecosystem
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2
+ version: '1'
+- category: main
+ dependencies:
+ _sysroot_linux-64_curr_repodata_hack: 3.*
+ kernel-headers_linux-64: 3.10.0 h4a8ded7_13
+ hash:
+ md5: 57e5a5191ffe999b9f4dfdbcd0ddcba4
+ sha256: f09f2fea4b571dcd225f1e35bd3c851e809cd4c2f5f151438133969ab28478e5
+ manager: conda
+ name: sysroot_linux-64
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-64-2.17-h4a8ded7_13.tar.bz2
+ version: '2.17'
+- category: main
+ dependencies:
+ ld_impl_linux-64: 2.40 h41732ed_0
+ sysroot_linux-64: ''
+ hash:
+ md5: 33084421a8c0af6aef1b439707f7662a
+ sha256: a7e0ea2b71a5b03d82e5a58fb6b612ab1c44d72ce161f9aa441f7ba467cd4c8d
+ manager: conda
+ name: binutils_impl_linux-64
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/binutils_impl_linux-64-2.40-hf600244_0.conda
+ version: '2.40'
+- category: main
+ dependencies:
+ _libgcc_mutex: 0.1 conda_forge
+ _openmp_mutex: '>=4.5'
+ hash:
+ md5: 23fdf1fef05baeb7eadc2aed5fb0011f
+ sha256: 5e88f658e07a30ab41b154b42c59f079b168acfa9551a75bdc972099453f4105
+ manager: conda
+ name: libgcc-ng
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-13.2.0-h807b86a_3.conda
+ version: 13.2.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 75dae9a4201732aa78a530b826ee5fe0
+ sha256: 51147922bad9d3176e780eb26f748f380cd3184896a9f9125d8ac64fe330158b
+ manager: conda
+ name: alsa-lib
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.10-hd590300_0.conda
+ version: 1.2.10
+- category: main
+ dependencies:
+ binutils_impl_linux-64: '>=2.40,<2.41.0a0'
+ hash:
+ md5: ccc940fddbc3fcd3d79cd4c654c4b5c4
+ sha256: 35f3b042f295fd7387de11cf426ca8ee5257e5c98b88560c6c5ad4ef3c85d38c
+ manager: conda
+ name: binutils
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/binutils-2.40-hdd6e379_0.conda
+ version: '2.40'
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 69b8b6202a07720f448be700e300ccf4
+ sha256: 242c0c324507ee172c0e0dd2045814e746bb303d1eb78870d182ceb0abc726a8
+ manager: conda
+ name: bzip2
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hd590300_5.conda
+ version: 1.0.8
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 89e40af02dd3a0846c0c1131c5126706
+ sha256: c4bbdafd6791583e3c77e8ed0e1df9e0021d542249c3543de3d72788f5c8a0c4
+ manager: conda
+ name: c-ares
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.25.0-hd590300_0.conda
+ version: 1.25.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: ff6707b0adc04518a452a0340db13a07
+ sha256: 5f5400cb5a27389f78422c9864fa948734989568a3fcfdde8bbee0f92077d056
+ manager: conda
+ name: coreutils
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/coreutils-9.4-hd590300_0.conda
+ version: '9.4'
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 14947d8770185e5153fdd04d4673ed37
+ sha256: 4fcfedc44e4c9a053f0416f9fc6ab6ed50644fca3a761126dbd00d09db1f546a
+ manager: conda
+ name: gettext
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/gettext-0.21.1-h27087fc_0.tar.bz2
+ version: 0.21.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 96f3b11872ef6fad973eac856cd2624f
+ sha256: 41ec165704ccce2faa0437f4f53c03c06261a2cc9ff7614828e51427d9261f4b
+ manager: conda
+ name: giflib
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/giflib-5.2.1-h0b41bf4_3.conda
+ version: 5.2.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libstdcxx-ng: '>=12'
+ hash:
+ md5: 0e33ef437202db431aa5a928248cf2e8
+ sha256: 2a50495b6bbbacb03107ea0b752d8358d4a40b572d124a8cade068c147f344f5
+ manager: conda
+ name: gmp
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-h59595ed_0.conda
+ version: 6.3.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=7.5.0'
+ libstdcxx-ng: '>=7.5.0'
+ hash:
+ md5: 8c54672728e8ec6aa6db90cf2806d220
+ sha256: 65da967f3101b737b08222de6a6a14e20e480e7d523a5d1e19ace7b960b5d6b1
+ manager: conda
+ name: graphite2
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.13-h58526e2_1001.tar.bz2
+ version: 1.3.13
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libstdcxx-ng: '>=12'
+ hash:
+ md5: cc47e1facc155f91abd89b11e48e72ff
+ sha256: e12fd90ef6601da2875ebc432452590bc82a893041473bc1c13ef29001a73ea8
+ manager: conda
+ name: icu
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/icu-73.2-h59595ed_0.conda
+ version: '73.2'
+- category: main
+ dependencies:
+ libgcc-ng: '>=10.3.0'
+ hash:
+ md5: 30186d27e2c9fa62b45fb1476b7200e3
+ sha256: 150c05a6e538610ca7c43beb3a40d65c90537497a4f6a5f4d15ec0451b6f5ebb
+ manager: conda
+ name: keyutils
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.1-h166bdaf_0.tar.bz2
+ version: 1.6.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libstdcxx-ng: '>=12'
+ hash:
+ md5: 76bbff344f0134279f225174e9064c8f
+ sha256: cb55f36dcd898203927133280ae1dc643368af041a48bcf7c026acb7c47b0c12
+ manager: conda
+ name: lerc
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.0.0-h27087fc_0.tar.bz2
+ version: 4.0.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 1635570038840ee3f9c71d22aa5b8b6d
+ sha256: 985ad27aa0ba7aad82afa88a8ede6a1aacb0aaca950d710f15d85360451e72fd
+ manager: conda
+ name: libdeflate
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.19-hd590300_0.conda
+ version: '1.19'
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 172bf1cd1ff8629f2b1179945ed45055
+ sha256: 1cd6048169fa0395af74ed5d8f1716e22c19a81a8a36f934c110ca3ad4dd27b4
+ manager: conda
+ name: libev
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-hd590300_2.conda
+ version: '4.33'
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 6305a3dd2752c76335295da4e581f2fd
+ sha256: 74c98a563777ae2ad71f1f74d458a8ab043cee4a513467c159ccf159d0e461f3
+ manager: conda
+ name: libexpat
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.5.0-hcb278e6_1.conda
+ version: 2.5.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: b479e94095fbb82702d736b1c100c0e8
+ sha256: a4490042212d56d6a0f13ebd172f6be7524a9229a94820cd7d12c57d95b3f8cd
+ manager: conda
+ name: libfdt
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libfdt-1.6.1-h166bdaf_2.tar.bz2
+ version: 1.6.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.4.0'
+ hash:
+ md5: d645c6d2ac96843a2bfaccd2d62b3ac3
+ sha256: ab6e9856c21709b7b517e940ae7028ae0737546122f83c2aa5d692860c3b149e
+ manager: conda
+ name: libffi
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.4.2-h7f98852_5.tar.bz2
+ version: 3.4.2
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: d66573916ffcf376178462f1b61c941e
+ sha256: 8ac2f6a9f186e76539439e50505d98581472fedb347a20e7d1f36429849f05c9
+ manager: conda
+ name: libiconv
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.17-hd590300_2.conda
+ version: '1.17'
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: ea25936bb4080d843790b586850f82b8
+ sha256: b954e09b7e49c2f2433d6f3bb73868eda5e378278b0f8c1dd10a7ef090e14f2f
+ manager: conda
+ name: libjpeg-turbo
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.0.0-hd590300_1.conda
+ version: 3.0.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 30fd6e37fe21f86f4bd26d6ee73eeec7
+ sha256: 26d77a3bb4dceeedc2a41bd688564fe71bf2d149fdcf117049970bc02ff1add6
+ manager: conda
+ name: libnsl
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hd590300_0.conda
+ version: 2.0.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=11.4.0'
+ hash:
+ md5: e6f89a7be0ec320c1b1746971045b0e7
+ sha256: c4c5c87f5c717e83299740f6a20393f9a131f05e2e9df63faafd6bb71dc58346
+ manager: conda
+ name: libsanitizer
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-11.4.0-h4dcbe23_3.conda
+ version: 11.4.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 40b61aab5c7ba9ff276c41cfffe6b80b
+ sha256: 787eb542f055a2b3de553614b25f09eefb0a0931b0c87dbcce6efdfd92f04f18
+ manager: conda
+ name: libuuid
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.38.1-h0b41bf4_0.conda
+ version: 2.38.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 30de3fd9b3b602f7473f30e684eeea8c
+ sha256: 68764a760fa81ef35dacb067fe8ace452bbb41476536a4a147a1051df29525f0
+ manager: conda
+ name: libwebp-base
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.3.2-hd590300_0.conda
+ version: 1.3.2
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 5aa797f8787fe7a17d1b0821485b5adc
+ sha256: 6ae68e0b86423ef188196fff6207ed0c8195dd84273cb5623b85aa08033a410c
+ manager: conda
+ name: libxcrypt
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda
+ version: 4.4.36
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: f36c115f1ee199da648e0597ec2047ad
+ sha256: 370c7c5893b737596fd6ca0d9190c9715d89d888b8c88537ae1ef168c25e82e4
+ manager: conda
+ name: libzlib
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.2.13-hd590300_5.conda
+ version: 1.2.13
+- category: main
+ dependencies:
+ libgcc-ng: '>=7.5.0'
+ hash:
+ md5: 4abb931c0d08a41583fc637c663e45e2
+ sha256: b8e37b92caab5a64a9e344f3d497b9d3e215d1e6211f6dc7c51b70799aab1da1
+ manager: conda
+ name: m4
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/m4-1.4.18-h516909a_1001.tar.bz2
+ version: 1.4.18
+- category: main
+ dependencies:
+ libgcc-ng: '>=7.5.0'
+ hash:
+ md5: 4049ebfd3190b580dffe76daed26155a
+ sha256: 4a5fe7c80bb0de0015328e2d3fc8db1736f528cb1fd53cd0d5527e24269a4f7c
+ manager: conda
+ name: make
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/make-4.3-hd18ef5c_1.tar.bz2
+ version: '4.3'
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 7dbaa197d7ba6032caf7ae7f32c1efa0
+ sha256: 91cc03f14caf96243cead96c76fe91ab5925a695d892e83285461fb927dece5e
+ manager: conda
+ name: ncurses
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.4-h59595ed_2.conda
+ version: '6.4'
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 77dab674d16c1525ebe65e67de30de0d
+ sha256: dec1c78df7670d34880f71f75ac716f082d087494b4a2c6a90d5d75a82c933ed
+ manager: conda
+ name: oniguruma
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/oniguruma-6.9.9-hd590300_0.conda
+ version: 6.9.9
+- category: main
+ dependencies:
+ ca-certificates: ''
+ libgcc-ng: '>=12'
+ hash:
+ md5: 603827b39ea2b835268adb8c821b8570
+ sha256: 80efc6f429bd8e622d999652e5cba2ca56fcdb9c16a439d2ce9b4313116e4a87
+ manager: conda
+ name: openssl
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.2.0-hd590300_1.conda
+ version: 3.2.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libstdcxx-ng: '>=12'
+ hash:
+ md5: 6b4b43013628634b6cfdee6b74fd696b
+ sha256: 07a5ffcd34e241f900433af4c6d4904518aab76add4e1e40a2c4bad93ae43f2b
+ manager: conda
+ name: pixman
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.43.0-h59595ed_0.conda
+ version: 0.43.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=7.5.0'
+ hash:
+ md5: 22dad4df6e8630e8dff2428f6f6a7036
+ sha256: 67c84822f87b641d89df09758da498b2d4558d47b920fd1d3fe6d3a871e000ff
+ manager: conda
+ name: pthread-stubs
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-h36c2ea0_1001.tar.bz2
+ version: '0.4'
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.3.0'
+ hash:
+ md5: bcd1b3396ec6960cbc1d2855a9e60b2b
+ sha256: 6c8c2803de0f643f8bad16ece3f9a7259e4a49247543239c182d66d5e3a129a7
+ manager: conda
+ name: xorg-inputproto
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-inputproto-2.3.2-h7f98852_1002.tar.bz2
+ version: 2.3.2
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.3.0'
+ hash:
+ md5: 4b230e8381279d76131116660f5a241a
+ sha256: e90b0a6a5d41776f11add74aa030f789faf4efd3875c31964d6f9cfa63a10dd1
+ manager: conda
+ name: xorg-kbproto
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-kbproto-1.0.7-h7f98852_1002.tar.bz2
+ version: 1.0.7
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: b462a33c0be1421532f28bfe8f4a7514
+ sha256: 5aa9b3682285bb2bf1a8adc064cb63aff76ef9178769740d855abb42b0d24236
+ manager: conda
+ name: xorg-libice
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.1-hd590300_0.conda
+ version: 1.1.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 2c80dc38fface310c9bd81b17037fee5
+ sha256: 309751371d525ce50af7c87811b435c176915239fc9e132b99a25d5e1703f2d4
+ manager: conda
+ name: xorg-libxau
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.11-hd590300_0.conda
+ version: 1.0.11
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.3.0'
+ hash:
+ md5: be93aabceefa2fac576e971aef407908
+ sha256: 4df7c5ee11b8686d3453e7f3f4aa20ceef441262b49860733066c52cfd0e4a77
+ manager: conda
+ name: xorg-libxdmcp
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.3-h7f98852_0.tar.bz2
+ version: 1.1.3
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.3.0'
+ hash:
+ md5: 2f835e6c386e73c6faaddfe9eda67e98
+ sha256: 4b91d48fed368c83eafd03891ebfd5bae0a03adc087ebea8a680ae22da99a85f
+ manager: conda
+ name: xorg-recordproto
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-recordproto-1.14.2-h7f98852_1002.tar.bz2
+ version: 1.14.2
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.3.0'
+ hash:
+ md5: 06feff3d2634e3097ce2fe681474b534
+ sha256: 38942930f233d1898594dd9edf4b0c0786f3dbc12065a0c308634c37fd936034
+ manager: conda
+ name: xorg-renderproto
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-renderproto-0.11.1-h7f98852_1002.tar.bz2
+ version: 0.11.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: bce9f945da8ad2ae9b1d7165a64d0f87
+ sha256: b8dda3b560e8a7830fe23be1c58cc41f407b2e20ae2f3b6901eb5842ba62b743
+ manager: conda
+ name: xorg-xextproto
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-xextproto-7.3.0-h0b41bf4_1003.conda
+ version: 7.3.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.3.0'
+ hash:
+ md5: b4a4381d54784606820704f7b5f05a15
+ sha256: f197bb742a17c78234c24605ad1fe2d88b1d25f332b75d73e5ba8cf8fbc2a10d
+ manager: conda
+ name: xorg-xproto
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-xproto-7.0.31-h7f98852_1007.tar.bz2
+ version: 7.0.31
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 2161070d867d1b1204ea749c8eec4ef0
+ sha256: 03a6d28ded42af8a347345f82f3eebdd6807a08526d47899a42d62d319609162
+ manager: conda
+ name: xz
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xz-5.2.6-h166bdaf_0.tar.bz2
+ version: 5.2.6
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.4.0'
+ hash:
+ md5: 4cb3ad778ec2d5a7acbdf254eb1c42ae
+ sha256: a4e34c710eeb26945bdbdaba82d3d74f60a78f54a874ec10d373811a5d217535
+ manager: conda
+ name: yaml
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h7f98852_2.tar.bz2
+ version: 0.2.5
+- category: main
+ dependencies:
+ libfdt: '>=1.6.1,<1.7.0a0'
+ libgcc-ng: '>=12'
+ yaml: '>=0.2.5,<0.3.0a0'
+ hash:
+ md5: 22b23b5006eb63ed81af6a84569c930e
+ sha256: 5a056172bd4fee3f6dd21441bfdd3c9960d3a637f48e8dfe16d3a7aa56e883a5
+ manager: conda
+ name: dtc
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/dtc-1.6.1-h166bdaf_2.tar.bz2
+ version: 1.6.1
+- category: main
+ dependencies:
+ libexpat: 2.5.0 hcb278e6_1
+ libgcc-ng: '>=12'
+ hash:
+ md5: 8b9b5aca60558d02ddaa09d599e55920
+ sha256: 36dfeb4375059b3bba75ce9b38c29c69fd257342a79e6cf20e9f25c1523f785f
+ manager: conda
+ name: expat
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/expat-2.5.0-hcb278e6_1.conda
+ version: 2.5.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=7.5.0'
+ libstdcxx-ng: '>=7.5.0'
+ m4: ''
+ hash:
+ md5: b1029ec81c7e0969e84a8179d039a9ce
+ sha256: 5a6dba5af1127e859eefd68e77b7af062b42f85401efbb43a970da977ba3e344
+ manager: conda
+ name: flex
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/flex-2.6.4-h58526e2_1004.tar.bz2
+ version: 2.6.4
+- category: main
+ dependencies:
+ binutils_impl_linux-64: '>=2.39'
+ libgcc-devel_linux-64: 11.4.0 h922705a_103
+ libgcc-ng: '>=11.4.0'
+ libgomp: '>=11.4.0'
+ libsanitizer: 11.4.0 h4dcbe23_3
+ libstdcxx-ng: '>=11.4.0'
+ sysroot_linux-64: ''
+ hash:
+ md5: b17749a6ae62cf9a5eafd96a6bcaad0e
+ sha256: 24d34853611b8758c40fa9d6a0d0b738312f51af9fed8fa6c6422f15ec475763
+ manager: conda
+ name: gcc_impl_linux-64
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-11.4.0-h7aa1c59_3.conda
+ version: 11.4.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ oniguruma: '>=6.9.9,<6.10.0a0'
+ hash:
+ md5: 80814f94713e35df60aad6c4b235de87
+ sha256: a04a1603e405ea9ae5c4a492a8e361086cb441a91ef7299bd4bf3eca0b485b6d
+ manager: conda
+ name: jq
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/jq-1.7.1-hd590300_0.conda
+ version: 1.7.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=7.5.0'
+ ncurses: '>=6.2,<7.0.0a0'
+ hash:
+ md5: 4d331e44109e3f0e19b4cb8f9b82f3e1
+ sha256: a57d37c236d8f7c886e01656f4949d9dcca131d2a0728609c6f7fa338b65f1cf
+ manager: conda
+ name: libedit
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20191231-he28a2e2_2.tar.bz2
+ version: 3.1.20191231
+- category: main
+ dependencies:
+ c-ares: '>=1.23.0,<2.0a0'
+ libev: '>=4.33,<5.0a0'
+ libgcc-ng: '>=12'
+ libstdcxx-ng: '>=12'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ openssl: '>=3.2.0,<4.0a0'
+ hash:
+ md5: 700ac6ea6d53d5510591c4344d5c989a
+ sha256: 1910c5306c6aa5bcbd623c3c930c440e9c77a5a019008e1487810e3c1d3716cb
+ manager: conda
+ name: libnghttp2
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.58.0-h47da74e_1.conda
+ version: 1.58.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ hash:
+ md5: e1c890aebdebbfbf87e2c917187b4416
+ sha256: a32b36d34e4f2490b99bddbc77d01a674d304f667f0e62c89e02c961addef462
+ manager: conda
+ name: libpng
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.39-h753d276_0.conda
+ version: 1.6.39
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ hash:
+ md5: 3b6a9f225c3dbe0d24f4fedd4625c5bf
+ sha256: ee2c4d724a3ed60d5b458864d66122fb84c6ce1df62f735f90d8db17b66cd88a
+ manager: conda
+ name: libsqlite
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.44.2-h2797004_0.conda
+ version: 3.44.2
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ openssl: '>=3.1.1,<4.0a0'
+ hash:
+ md5: 1f5a58e686b13bcfde88b93f547d23fe
+ sha256: 50e47fd9c4f7bf841a11647ae7486f65220cfc988ec422a4475fe8d5a823824d
+ manager: conda
+ name: libssh2
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.0-h0841786_0.conda
+ version: 1.11.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ pthread-stubs: ''
+ xorg-libxau: ''
+ xorg-libxdmcp: ''
+ hash:
+ md5: 33277193f5b92bad9fdd230eb700929c
+ sha256: a670902f0a3173a466c058d2ac22ca1dd0df0453d3a80e0212815c20a16b0485
+ manager: conda
+ name: libxcb
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.15-h0b41bf4_0.conda
+ version: '1.15'
+- category: main
+ dependencies:
+ gmp: '>=6.2.1,<7.0a0'
+ libgcc-ng: '>=12'
+ hash:
+ md5: 4c28f3210b30250037a4a627eeee9e0f
+ sha256: 008230a53ff15cf61966476b44f7ba2c779826825b9ca639a0a2b44d8f7aa6cb
+ manager: conda
+ name: mpfr
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/mpfr-4.2.1-h9458935_0.conda
+ version: 4.2.1
+- category: main
+ dependencies:
+ bzip2: '>=1.0.8,<2.0a0'
+ libgcc-ng: '>=12'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ hash:
+ md5: 679c8961826aa4b50653bce17ee52abe
+ sha256: 3ca54ff0abcda964af7d4724d389ae20d931159ae1881cfe57ad4b0ab9e6a380
+ manager: conda
+ name: pcre2
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.42-hcad00b1_0.conda
+ version: '10.42'
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libxcrypt: '>=4.4.36'
+ hash:
+ md5: f2cfec9406850991f4e3d960cc9e3321
+ sha256: 9ec32b6936b0e37bcb0ed34f22ec3116e75b3c0964f9f50ecea5f58734ed6ce9
+ manager: conda
+ name: perl
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/perl-5.32.1-7_hd590300_perl5.conda
+ version: 5.32.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ ncurses: '>=6.3,<7.0a0'
+ hash:
+ md5: 47d31b792659ce70f470b5c82fdfb7a4
+ sha256: 5435cf39d039387fbdc977b0a762357ea909a7694d9528ab40f005e9208744d7
+ manager: conda
+ name: readline
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8228510_1.conda
+ version: '8.2'
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ hash:
+ md5: d453b98d9c83e71da0741bb0ff4d76bc
+ sha256: e0569c9caa68bf476bead1bed3d79650bb080b532c64a4af7d8ca286c08dea4e
+ manager: conda
+ name: tk
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h4845f30_101.conda
+ version: 8.6.13
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.3.0'
+ xorg-xextproto: ''
+ hash:
+ md5: 65ad6e1eb4aed2b0611855aff05e04f6
+ sha256: 5d2af1b40f82128221bace9466565eca87c97726bb80bbfcd03871813f3e1876
+ manager: conda
+ name: xorg-fixesproto
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-fixesproto-5.0-h7f98852_1002.tar.bz2
+ version: '5.0'
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libuuid: '>=2.38.1,<3.0a0'
+ xorg-libice: '>=1.1.1,<2.0a0'
+ hash:
+ md5: 93ee23f12bc2e684548181256edd2cf6
+ sha256: 089ad5f0453c604e18985480218a84b27009e9e6de9a0fa5f4a20b8778ede1f1
+ manager: conda
+ name: xorg-libsm
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.4-h7391055_0.conda
+ version: 1.2.4
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libzlib: 1.2.13 hd590300_5
+ hash:
+ md5: 68c34ec6149623be41a1933ab996a209
+ sha256: 9887a04d7e7cb14bd2b52fa01858f05a6d7f002c890f618d9fcd864adbfecb1b
+ manager: conda
+ name: zlib
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/zlib-1.2.13-hd590300_5.conda
+ version: 1.2.13
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libstdcxx-ng: '>=12'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ hash:
+ md5: 04b88013080254850d6c01ed54810589
+ sha256: 607cbeb1a533be98ba96cf5cdf0ddbb101c78019f1fda063261871dad6248609
+ manager: conda
+ name: zstd
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.5-hfc55251_0.conda
+ version: 1.5.5
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ m4: ''
+ perl: 5.*
+ hash:
+ md5: 50cabb1aee157a18082c7c92cc4b3143
+ sha256: 04868bf7a2737af8c8a828b2c4b59653180a91da9c3ece77bae4e429a1b84cc1
+ manager: conda
+ name: autoconf
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/autoconf-2.71-pl5321h2b4cb7a_1.conda
+ version: '2.71'
+- category: main
+ dependencies:
+ gcc_impl_linux-64: '>=11.4.0,<11.4.1.0a0'
+ hash:
+ md5: 42003d7074d4daaf287d19987cd927bf
+ sha256: 2c30ddc6cb51a03fb5f671f55eaabcb9208d6ce701e6de2234518eec43a6f2d1
+ manager: conda
+ name: conda-gcc-specs
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/conda-gcc-specs-11.4.0-h240829a_3.conda
+ version: 11.4.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libpng: '>=1.6.39,<1.7.0a0'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ hash:
+ md5: 9ae35c3d96db2c94ce0cef86efdfa2cb
+ sha256: b2e3c449ec9d907dd4656cb0dc93e140f447175b125a3824b31368b06c666bb6
+ manager: conda
+ name: freetype
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.12.1-h267a509_2.conda
+ version: 2.12.1
+- category: main
+ dependencies:
+ gcc_impl_linux-64: 11.4.0.*
+ hash:
+ md5: 0c8d100583c5fd6d20cd5307aaedaf0d
+ sha256: b515e9222a8af974024b02c7265bed8e4edf912707a5a8fc207cbc8bc2ac0bff
+ manager: conda
+ name: gcc
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/gcc-11.4.0-h7baecda_2.conda
+ version: 11.4.0
+- category: main
+ dependencies:
+ gcc_impl_linux-64: 11.4.0 h7aa1c59_3
+ libstdcxx-devel_linux-64: 11.4.0 h922705a_103
+ sysroot_linux-64: ''
+ hash:
+ md5: dbee4be21eb6dbf596afddf60ff120bf
+ sha256: 424d9989ea82e6777e569de6873cc56229a8982e274409c344473ad89bb7bbb7
+ manager: conda
+ name: gxx_impl_linux-64
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-11.4.0-h7aa1c59_3.conda
+ version: 11.4.0
+- category: main
+ dependencies:
+ keyutils: '>=1.6.1,<2.0a0'
+ libedit: '>=3.1.20191231,<4.0a0'
+ libgcc-ng: '>=12'
+ libstdcxx-ng: '>=12'
+ openssl: '>=3.1.2,<4.0a0'
+ hash:
+ md5: cd95826dbd331ed1be26bdf401432844
+ sha256: 259bfaae731989b252b7d2228c1330ef91b641c9d68ff87dae02cbae682cb3e4
+ manager: conda
+ name: krb5
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.21.2-h659d440_0.conda
+ version: 1.21.2
+- category: main
+ dependencies:
+ gettext: '>=0.21.1,<1.0a0'
+ libffi: '>=3.4,<4.0a0'
+ libgcc-ng: '>=12'
+ libiconv: '>=1.17,<2.0a0'
+ libstdcxx-ng: '>=12'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ pcre2: '>=10.42,<10.43.0a0'
+ hash:
+ md5: 9bd06b12bbfa6fd1740fd23af4b0f0c7
+ sha256: b1b594294a0fe4c9a51596ef027efed9268d60827e8ae61fb7545c521a631e33
+ manager: conda
+ name: libglib
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.78.3-h783c2da_0.conda
+ version: 2.78.3
+- category: main
+ dependencies:
+ lerc: '>=4.0.0,<5.0a0'
+ libdeflate: '>=1.19,<1.20.0a0'
+ libgcc-ng: '>=12'
+ libjpeg-turbo: '>=3.0.0,<4.0a0'
+ libstdcxx-ng: '>=12'
+ libwebp-base: '>=1.3.2,<2.0a0'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ xz: '>=5.2.6,<6.0a0'
+ zstd: '>=1.5.5,<1.6.0a0'
+ hash:
+ md5: 55ed21669b2015f77c180feb1dd41930
+ sha256: 45158f5fbee7ee3e257e6b9f51b9f1c919ed5518a94a9973fe7fa4764330473e
+ manager: conda
+ name: libtiff
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.6.0-ha9c0a0a_2.conda
+ version: 4.6.0
+- category: main
+ dependencies:
+ gmp: '>=6.2.1,<7.0a0'
+ libgcc-ng: '>=12'
+ mpfr: '>=4.1.0,<5.0a0'
+ hash:
+ md5: 289c71e83dc0daa7d4c81f04180778ca
+ sha256: 2f88965949ba7b4b21e7e5facd62285f7c6efdb17359d1b365c3bb4ecc968d29
+ manager: conda
+ name: mpc
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/mpc-1.3.1-hfe3b2da_0.conda
+ version: 1.3.1
+- category: main
+ dependencies:
+ bzip2: '>=1.0.8,<2.0a0'
+ ld_impl_linux-64: '>=2.36.1'
+ libffi: '>=3.4,<4.0a0'
+ libgcc-ng: '>=12'
+ libnsl: '>=2.0.1,<2.1.0a0'
+ libsqlite: '>=3.44.2,<4.0a0'
+ libuuid: '>=2.38.1,<3.0a0'
+ libxcrypt: '>=4.4.36'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ ncurses: '>=6.4,<7.0a0'
+ openssl: '>=3.2.0,<4.0a0'
+ readline: '>=8.2,<9.0a0'
+ tk: '>=8.6.13,<8.7.0a0'
+ tzdata: ''
+ xz: '>=5.2.6,<6.0a0'
+ hash:
+ md5: 255a7002aeec7a067ff19b545aca6328
+ sha256: c0e800d255a771926007043d2859cbbbdb1387477ec813f085640c8887b391a2
+ manager: conda
+ name: python
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/python-3.9.18-h0755675_1_cpython.conda
+ version: 3.9.18
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libxcb: '>=1.15,<1.16.0a0'
+ xorg-kbproto: ''
+ xorg-xextproto: '>=7.3.0,<8.0a0'
+ xorg-xproto: ''
+ hash:
+ md5: 49e482d882669206653b095f5206c05b
+ sha256: 7a02a7beac472ae2759498550b5fc5261bf5be7a9a2b4648a3f67818a7bfefcf
+ manager: conda
+ name: xorg-libx11
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.7-h8ee46fc_0.conda
+ version: 1.8.7
+- category: main
+ dependencies:
+ python: '>=3.9'
+ hash:
+ md5: def531a3ac77b7fb8c21d17bb5d0badb
+ sha256: fd39ad2fabec1569bbb0dfdae34ab6ce7de6ec09dcec8638f83dad0373594069
+ manager: conda
+ name: alabaster
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/alabaster-0.7.16-pyhd8ed1ab_0.conda
+ version: 0.7.16
+- category: main
+ dependencies:
+ python: ''
+ hash:
+ md5: 5f095bc6454094e96f146491fd03633b
+ sha256: ae9fb8f68281f84482f2c234379aa12405a9e365151d43af20b3ae1f17312111
+ manager: conda
+ name: appdirs
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/appdirs-1.4.4-pyh9f0ad1d_0.tar.bz2
+ version: 1.4.4
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libstdcxx-ng: '>=12'
+ python: '>=3.9,<3.10.0a0'
+ python_abi: 3.9.* *_cp39
+ hash:
+ md5: c48418c8b35f1d59ae9ae1174812b40a
+ sha256: e22afb19527a93da24c1108c3e91532811f9c3df64a9473989faf332c98af082
+ manager: conda
+ name: brotli-python
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.1.0-py39h3d6467e_1.conda
+ version: 1.1.0
+- category: main
+ dependencies:
+ python: '>=3.6'
+ hash:
+ md5: 5dfee17f24e2dfd18d7392b48c9351e2
+ sha256: 9b193a4e483c4d0004bc5b88fac7a02516b6311137ab61b8db85aa9741422e35
+ manager: conda
+ name: cachy
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/cachy-0.3.0-pyhd8ed1ab_1.tar.bz2
+ version: 0.3.0
+- category: main
+ dependencies:
+ python: '>=3.7'
+ hash:
+ md5: 2011bcf45376341dd1d690263fdbc789
+ sha256: afa22b77128a812cb57bc707c297d926561bd225a3d9dd74205d87a3b2d14a96
+ manager: conda
+ name: certifi
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/certifi-2023.11.17-pyhd8ed1ab_0.conda
+ version: 2023.11.17
+- category: main
+ dependencies:
+ python: '>=3.7'
+ hash:
+ md5: 7f4a9e3fcff3f6356ae99244a014da6a
+ sha256: 20cae47d31fdd58d99c4d2e65fbdcefa0b0de0c84e455ba9d6356a4bdbc4b5b9
+ manager: conda
+ name: charset-normalizer
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.3.2-pyhd8ed1ab_0.conda
+ version: 3.3.2
+- category: main
+ dependencies:
+ __unix: ''
+ python: '>=3.8'
+ hash:
+ md5: f3ad426304898027fc619827ff428eca
+ sha256: f0016cbab6ac4138a429e28dbcb904a90305b34b3fe41a9b89d697c90401caec
+ manager: conda
+ name: click
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/click-8.1.7-unix_pyh707e725_0.conda
+ version: 8.1.7
+- category: main
+ dependencies:
+ python: '>=3.7'
+ hash:
+ md5: 3faab06a954c2a04039983f2c4a50d99
+ sha256: 2c1b2e9755ce3102bca8d69e8f26e4f087ece73f50418186aee7c74bef8e1698
+ manager: conda
+ name: colorama
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_0.tar.bz2
+ version: 0.4.6
+- category: main
+ dependencies:
+ python: '>=3.6,<4.0'
+ hash:
+ md5: 709a2295dd907bb34afb57d54320642f
+ sha256: 2f05954a3faf0700c14c1deddc085385160ee32abe111699c78d9cb277e915cc
+ manager: conda
+ name: crashtest
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/crashtest-0.4.1-pyhd8ed1ab_0.tar.bz2
+ version: 0.4.1
+- category: main
+ dependencies:
+ expat: '>=2.4.2,<3.0a0'
+ libgcc-ng: '>=9.4.0'
+ libglib: '>=2.70.2,<3.0a0'
+ hash:
+ md5: ecfff944ba3960ecb334b9a2663d708d
+ sha256: 8f5f995699a2d9dbdd62c61385bfeeb57c82a681a7c8c5313c395aa0ccab68a5
+ manager: conda
+ name: dbus
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.13.6-h5008d03_3.tar.bz2
+ version: 1.13.6
+- category: main
+ dependencies:
+ python: 2.7|>=3.6
+ hash:
+ md5: db16c66b759a64dc5183d69cc3745a52
+ sha256: 3ff11acdd5cc2f80227682966916e878e45ced94f59c402efb94911a5774e84e
+ manager: conda
+ name: distlib
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/distlib-0.3.8-pyhd8ed1ab_0.conda
+ version: 0.3.8
+- category: main
+ dependencies:
+ python: '>=3.9,<3.10.0a0'
+ python_abi: 3.9.* *_cp39
+ hash:
+ md5: 09a48956e1c155907fd0d626f3e80f2e
+ sha256: fe2b7316146a73a33fd16c637e6e82c2638e91d1b8c95560b9c477a6f3082b6d
+ manager: conda
+ name: docutils
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/docutils-0.20.1-py39hf3d152e_3.conda
+ version: 0.20.1
+- category: main
+ dependencies:
+ expat: '>=2.4.8,<3.0a0'
+ gmp: '>=6.2.1,<7.0a0'
+ libzlib: '>=1.2.12,<1.3.0a0'
+ mpc: '>=1.2.1,<2.0a0'
+ mpfr: '>=4.1.0,<5.0a0'
+ ncurses: '>=6.3,<7.0a0'
+ python_abi: 3.9.* *_cp39
+ hash:
+ md5: ae197de48b202c65efd7a61135ac0ae5
+ manager: conda
+ name: esp-tools
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/ucb-bar/linux-64/esp-tools-1.0.1-0_h1234567_g8925bf5.tar.bz2
+ version: 1.0.1
+- category: main
+ dependencies:
+ python: '>=3.7'
+ hash:
+ md5: 0c1729b74a8152fde6a38ba0a2ab9f45
+ sha256: 4d742d91412d1f163e5399d2b50c5d479694ebcd309127abb549ca3977f89d2b
+ manager: conda
+ name: filelock
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/filelock-3.13.1-pyhd8ed1ab_0.conda
+ version: 3.13.1
+- category: main
+ dependencies:
+ expat: '>=2.5.0,<3.0a0'
+ freetype: '>=2.12.1,<3.0a0'
+ libgcc-ng: '>=12'
+ libuuid: '>=2.32.1,<3.0a0'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ hash:
+ md5: 0f69b688f52ff6da70bccb7ff7001d1d
+ sha256: 155d534c9037347ea7439a2c6da7c24ffec8e5dd278889b4c57274a1d91e0a83
+ manager: conda
+ name: fontconfig
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.14.2-h14ed4e7_0.conda
+ version: 2.14.2
+- category: main
+ dependencies:
+ gcc: 11.4.0.*
+ gxx_impl_linux-64: 11.4.0.*
+ hash:
+ md5: 4821dd86fa505a0d5b6aacd28ed8291f
+ sha256: e07c2da262b374fc9aad422a4927660ef96aec6d1445c7673a6ba58a445523a5
+ manager: conda
+ name: gxx
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/gxx-11.4.0-h7baecda_2.conda
+ version: 11.4.0
+- category: main
+ dependencies:
+ python: '>=3.6'
+ hash:
+ md5: 1a76f09108576397c41c0b0c5bd84134
+ sha256: 6ee4c986d69ce61e60a20b2459b6f2027baeba153f0a64995fd3cb47c2cc7e07
+ manager: conda
+ name: idna
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/idna-3.6-pyhd8ed1ab_0.conda
+ version: '3.6'
+- category: main
+ dependencies:
+ python: '>=3.4'
+ hash:
+ md5: 7de5386c8fea29e76b303f37dde4c352
+ sha256: c2bfd7043e0c4c12d8b5593de666c1e81d67b83c474a0a79282cc5c4ef845460
+ manager: conda
+ name: imagesize
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/imagesize-1.4.1-pyhd8ed1ab_0.tar.bz2
+ version: 1.4.1
+- category: main
+ dependencies:
+ python: '>=3.7'
+ hash:
+ md5: 9800ad1699b42612478755a2d26c722d
+ sha256: 16639759b811866d63315fe1391f6fb45f5478b823972f4d3d9f0392b7dd80b8
+ manager: conda
+ name: jeepney
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/jeepney-0.8.0-pyhd8ed1ab_0.tar.bz2
+ version: 0.8.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libjpeg-turbo: '>=3.0.0,<4.0a0'
+ libtiff: '>=4.6.0,<4.7.0a0'
+ hash:
+ md5: 51bb7010fc86f70eee639b4bb7a894f5
+ sha256: 5c878d104b461b7ef922abe6320711c0d01772f4cd55de18b674f88547870041
+ manager: conda
+ name: lcms2
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.16-hb7c19ff_0.conda
+ version: '2.16'
+- category: main
+ dependencies:
+ krb5: '>=1.21.1,<1.22.0a0'
+ libgcc-ng: '>=12'
+ libstdcxx-ng: '>=12'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ hash:
+ md5: d4529f4dff3057982a7617c7ac58fde3
+ sha256: bc67b9b21078c99c6bd8595fe7e1ed6da1f721007726e717f0449de7032798c4
+ manager: conda
+ name: libcups
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libcups-2.3.3-h4637d8d_4.conda
+ version: 2.3.3
+- category: main
+ dependencies:
+ krb5: '>=1.21.2,<1.22.0a0'
+ libgcc-ng: '>=12'
+ libnghttp2: '>=1.58.0,<2.0a0'
+ libssh2: '>=1.11.0,<2.0a0'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ openssl: '>=3.2.0,<4.0a0'
+ zstd: '>=1.5.5,<1.6.0a0'
+ hash:
+ md5: 7144d5a828e2cae218e0e3c98d8a0aeb
+ sha256: 00a6bea5ff90ca58eeb15ebc98e08ffb88bddaff27396bb62640064f59d29cf0
+ manager: conda
+ name: libcurl
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.5.0-hca28451_0.conda
+ version: 8.5.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ python: '>=3.9,<3.10.0a0'
+ python_abi: 3.9.* *_cp39
+ hash:
+ md5: 847ad1c2bcbef1e2febfdaa3b199c2a4
+ sha256: e3019f819f354cc7ac080704ae9faa87618f5bbf536dc5b82f52296eb7f80459
+ manager: conda
+ name: markupsafe
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-2.1.4-py39hd1e30aa_0.conda
+ version: 2.1.4
+- category: main
+ dependencies:
+ python: '>=3.8'
+ hash:
+ md5: d5c98e9706fdc5328d49a9bf2ce5fb42
+ sha256: 9e49e9484ff279453f0b55323a3f0c7cb97440c74f69eecda1f4ad29fae5cd3c
+ manager: conda
+ name: more-itertools
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/more-itertools-10.2.0-pyhd8ed1ab_0.conda
+ version: 10.2.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libstdcxx-ng: '>=12'
+ python: '>=3.9,<3.10.0a0'
+ python_abi: 3.9.* *_cp39
+ hash:
+ md5: f668e146a2ed03a4e62ffbb98b3115fb
+ sha256: a47f46861f206043602b5f8b176e3957dd4a59876b819a2e089d63d52e312412
+ manager: conda
+ name: msgpack-python
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.0.7-py39h7633fee_0.conda
+ version: 1.0.7
+- category: main
+ dependencies:
+ python: '>=3.7'
+ hash:
+ md5: 79002079284aa895f883c6b7f3f88fd6
+ sha256: 69b3ace6cca2dab9047b2c24926077d81d236bef45329d264b394001e3c3e52f
+ manager: conda
+ name: packaging
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/packaging-23.2-pyhd8ed1ab_0.conda
+ version: '23.2'
+- category: main
+ dependencies:
+ python: '>=2.7'
+ hash:
+ md5: a4eea5bff523f26442405bc5d1f52adb
+ sha256: 9153f0f38c76a09da7688a61fdbf8f3d7504e2326bef53e4ec20d994311b15bd
+ manager: conda
+ name: pastel
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/pastel-0.2.1-pyhd8ed1ab_0.tar.bz2
+ version: 0.2.1
+- category: main
+ dependencies:
+ python: '>=3.6'
+ hash:
+ md5: be1e9f1c65a1ed0f2ae9352fec99db64
+ sha256: 7ea5a5af62a15376d9f4f9f3c134874d0b0710f39be719e849b7fa9ca8870502
+ manager: conda
+ name: pkginfo
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/pkginfo-1.9.6-pyhd8ed1ab_0.conda
+ version: 1.9.6
+- category: main
+ dependencies:
+ python: '>=3.8'
+ hash:
+ md5: 45a5065664da0d1dfa8f8cd2eaf05ab9
+ sha256: 9e4ff17ce802159ed31344eb913eaa877688226765b77947b102b42255a53853
+ manager: conda
+ name: platformdirs
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.1.0-pyhd8ed1ab_0.conda
+ version: 4.1.0
+- category: main
+ dependencies:
+ python: ==2.7.*|>=3.4
+ hash:
+ md5: 076becd9e05608f8dc72757d5f3a91ff
+ sha256: 74c63fd03f1f1ea2b54e8bc529fd1a600aaafb24027b738d0db87909ee3a33dc
+ manager: conda
+ name: pycparser
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.21-pyhd8ed1ab_0.tar.bz2
+ version: '2.21'
+- category: main
+ dependencies:
+ python: '>=3.7'
+ hash:
+ md5: 140a7f159396547e9799aa98f9f0742e
+ sha256: af5f8867450dc292f98ea387d4d8945fc574284677c8f60eaa9846ede7387257
+ manager: conda
+ name: pygments
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/pygments-2.17.2-pyhd8ed1ab_0.conda
+ version: 2.17.2
+- category: main
+ dependencies:
+ python: '>=3.3'
+ hash:
+ md5: edf8651c4379d9d1495ad6229622d150
+ sha256: 50bd91767686bfe769e50a5a1b883e238d944a6163fea43e7c0beaac54ca674f
+ manager: conda
+ name: pylev
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/pylev-1.4.0-pyhd8ed1ab_0.tar.bz2
+ version: 1.4.0
+- category: main
+ dependencies:
+ __unix: ''
+ python: '>=3.8'
+ hash:
+ md5: 2a7de29fb590ca14b5243c4c812c8025
+ sha256: a42f826e958a8d22e65b3394f437af7332610e43ee313393d1cf143f0a2d274b
+ manager: conda
+ name: pysocks
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha2e5f31_6.tar.bz2
+ version: 1.7.1
+- category: main
+ dependencies:
+ python: '>=3.6'
+ hash:
+ md5: c93346b446cd08c169d843ae5fc0da97
+ sha256: 6b680e63d69aaf087cd43ca765a23838723ef59b0a328799e6363eb13f52c49e
+ manager: conda
+ name: pytz
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/pytz-2023.3.post1-pyhd8ed1ab_0.conda
+ version: 2023.3.post1
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ python: '>=3.9,<3.10.0a0'
+ python_abi: 3.9.* *_cp39
+ yaml: '>=0.2.5,<0.3.0a0'
+ hash:
+ md5: 37218233bcdc310e4fde6453bc1b40d8
+ sha256: 28b147c50ad48215f9427a52811848223ac0371be7caae88522e661a3bfb1448
+ manager: conda
+ name: pyyaml
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.1-py39hd1e30aa_1.conda
+ version: 6.0.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ python: '>=3.9,<3.10.0a0'
+ python_abi: 3.9.* *_cp39
+ hash:
+ md5: 743d996a1af8502f27770fadfd418434
+ sha256: 06b089d59ffebef9c9171a8a3480adcb6e7f112caef9f8b87591207427cb1cf1
+ manager: conda
+ name: ruamel.yaml.clib
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/ruamel.yaml.clib-0.2.7-py39hd1e30aa_2.conda
+ version: 0.2.7
+- category: main
+ dependencies:
+ python: '>=3.7'
+ hash:
+ md5: 40695fdfd15a92121ed2922900d0308b
+ sha256: 0fe2a0473ad03dac6c7f5c42ef36a8e90673c88a0350dfefdea4b08d43803db2
+ manager: conda
+ name: setuptools
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/setuptools-69.0.3-pyhd8ed1ab_0.conda
+ version: 69.0.3
+- category: main
+ dependencies:
+ python: ''
+ hash:
+ md5: e5f25f8dbc060e9a8d912e432202afc2
+ sha256: a85c38227b446f42c5b90d9b642f2c0567880c15d72492d8da074a59c8f91dd6
+ manager: conda
+ name: six
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2
+ version: 1.16.0
+- category: main
+ dependencies:
+ python: '>=2'
+ hash:
+ md5: 4d22a9315e78c6827f806065957d566e
+ sha256: a0fd916633252d99efb6223b1050202841fa8d2d53dacca564b0ed77249d3228
+ manager: conda
+ name: snowballstemmer
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-2.2.0-pyhd8ed1ab_0.tar.bz2
+ version: 2.2.0
+- category: main
+ dependencies:
+ python: '>=3.5'
+ hash:
+ md5: da1d979339e2714c30a8e806a33ec087
+ sha256: d4337d83b8edba688547766fc80f1ac86d6ec86ceeeda93f376acc04079c5ce2
+ manager: conda
+ name: sphinxcontrib-jsmath
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jsmath-1.0.1-pyhd8ed1ab_0.conda
+ version: 1.0.1
+- category: main
+ dependencies:
+ python: '>=3.7'
+ hash:
+ md5: 5844808ffab9ebdb694585b50ba02a96
+ sha256: 4cd48aba7cd026d17e86886af48d0d2ebc67ed36f87f6534f4b67138f5a5a58f
+ manager: conda
+ name: tomli
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/tomli-2.0.1-pyhd8ed1ab_0.tar.bz2
+ version: 2.0.1
+- category: main
+ dependencies:
+ python: '>=3.7'
+ hash:
+ md5: 074d0ce7a6261ab8b497c3518796ef3e
+ sha256: 53cc436ab92d38683df1320e4468a8b978428e800195bf1c8c2460e90b0bc117
+ manager: conda
+ name: tomlkit
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.12.3-pyha770c72_0.conda
+ version: 0.12.3
+- category: main
+ dependencies:
+ python: '>=3.5'
+ hash:
+ md5: 92facfec94bc02d6ccf42e7173831a36
+ sha256: 90229da7665175b0185183ab7b53f50af487c7f9b0f47cf09c184cbc139fd24b
+ manager: conda
+ name: toolz
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/toolz-0.12.0-pyhd8ed1ab_0.tar.bz2
+ version: 0.12.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ python: '>=3.9,<3.10.0a0'
+ python_abi: 3.9.* *_cp39
+ hash:
+ md5: cbe186eefb0bcd91e8f47c3908489874
+ sha256: dc0df742be0e83a4286137d21f60ca829632c2ffd66d3bebb603afe5ce74cc68
+ manager: conda
+ name: tornado
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.3.3-py39hd1e30aa_1.conda
+ version: 6.3.3
+- category: main
+ dependencies:
+ python: '>=3.8'
+ hash:
+ md5: a92a6440c3fe7052d63244f3aba2a4a7
+ sha256: f3c5be8673bfd905c4665efcb27fa50192f24f84fa8eff2f19cba5d09753d905
+ manager: conda
+ name: typing_extensions
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.9.0-pyha770c72_0.conda
+ version: 4.9.0
+- category: main
+ dependencies:
+ flex: '>=2.6.4,<3.0a0'
+ gxx_impl_linux-64: ''
+ libgcc-ng: '>=12'
+ libstdcxx-ng: '>=12'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ make: ''
+ perl: ''
+ python: ''
+ hash:
+ md5: 0b2929f84fe7d3a6117439507d5d50d9
+ sha256: 1d6af07d2d19be7adc296e8b6c43bd3eb12b48d8ab8e0cec566e8f9872661813
+ manager: conda
+ name: verilator
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/verilator-5.020-h7cd9344_0.conda
+ version: '5.020'
+- category: main
+ dependencies:
+ python: '>=2.6'
+ hash:
+ md5: daf5160ff9cde3a468556965329085b9
+ sha256: 2adf9bd5482802837bc8814cbe28d7b2a4cbd2e2c52e381329eaa283b3ed1944
+ manager: conda
+ name: webencodings
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_2.conda
+ version: 0.5.1
+- category: main
+ dependencies:
+ python: '>=3.7'
+ hash:
+ md5: 1cdea58981c5cbc17b51973bcaddcea7
+ sha256: 80be0ccc815ce22f80c141013302839b0ed938a2edb50b846cf48d8a8c1cfa01
+ manager: conda
+ name: wheel
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/wheel-0.42.0-pyhd8ed1ab_0.conda
+ version: 0.42.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ xorg-libx11: '>=1.7.2,<2.0a0'
+ xorg-xextproto: ''
+ hash:
+ md5: 82b6df12252e6f32402b96dacc656fec
+ sha256: 73e5cfbdff41ef8a844441f884412aa5a585a0f0632ec901da035a03e1fe1249
+ manager: conda
+ name: xorg-libxext
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.4-h0b41bf4_2.conda
+ version: 1.3.4
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.3.0'
+ xorg-fixesproto: ''
+ xorg-libx11: '>=1.7.0,<2.0a0'
+ hash:
+ md5: e9a21aa4d5e3e5f1aed71e8cefd46b6a
+ sha256: 1e426a1abb774ef1dcf741945ed5c42ad12ea2dc7aeed7682d293879c3e1e4c3
+ manager: conda
+ name: xorg-libxfixes
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxfixes-5.0.3-h7f98852_1004.tar.bz2
+ version: 5.0.3
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ xorg-libx11: '>=1.8.6,<2.0a0'
+ xorg-renderproto: ''
+ hash:
+ md5: ed67c36f215b310412b2af935bf3e530
+ sha256: 26da4d1911473c965c32ce2b4ff7572349719eaacb88a066db8d968a4132c3f7
+ manager: conda
+ name: xorg-libxrender
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.11-hd590300_0.conda
+ version: 0.9.11
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ xorg-kbproto: ''
+ xorg-libice: '>=1.1.1,<2.0a0'
+ xorg-libsm: '>=1.2.4,<2.0a0'
+ xorg-libx11: '>=1.8.6,<2.0a0'
+ xorg-xproto: ''
+ hash:
+ md5: ae92aab42726eb29d16488924f7312cb
+ sha256: e7648d1efe2e858c4bc63ccf4a637c841dc971b37ded85a01be97a5e240fecfa
+ manager: conda
+ name: xorg-libxt
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxt-1.3.0-hd590300_1.conda
+ version: 1.3.0
+- category: main
+ dependencies:
+ python: '>=3.8'
+ hash:
+ md5: 2e4d6bc0b14e10f895fc6791a7d9b26a
+ sha256: bced1423fdbf77bca0a735187d05d9b9812d2163f60ab426fc10f11f92ecbe26
+ manager: conda
+ name: zipp
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/zipp-3.17.0-pyhd8ed1ab_0.conda
+ version: 3.17.0
+- category: main
+ dependencies:
+ python: '>=3.7'
+ pytz: ''
+ setuptools: ''
+ hash:
+ md5: 9669586875baeced8fc30c0826c3270e
+ sha256: 8584e3da58e92b72641c89ff9b98c51f0d5dbe76e527867804cbdf03ac91d8e6
+ manager: conda
+ name: babel
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/babel-2.14.0-pyhd8ed1ab_0.conda
+ version: 2.14.0
+- category: main
+ dependencies:
+ fontconfig: '>=2.14.2,<3.0a0'
+ fonts-conda-ecosystem: ''
+ freetype: '>=2.12.1,<3.0a0'
+ icu: '>=73.2,<74.0a0'
+ libgcc-ng: '>=12'
+ libglib: '>=2.78.0,<3.0a0'
+ libpng: '>=1.6.39,<1.7.0a0'
+ libstdcxx-ng: '>=12'
+ libxcb: '>=1.15,<1.16.0a0'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ pixman: '>=0.42.2,<1.0a0'
+ xorg-libice: '>=1.1.1,<2.0a0'
+ xorg-libsm: '>=1.2.4,<2.0a0'
+ xorg-libx11: '>=1.8.6,<2.0a0'
+ xorg-libxext: '>=1.3.4,<2.0a0'
+ xorg-libxrender: '>=0.9.11,<0.10.0a0'
+ zlib: ''
+ hash:
+ md5: f907bb958910dc404647326ca80c263e
+ sha256: 142e2639a5bc0e99c44d76f4cc8dce9c6a2d87330c4beeabb128832cd871a86e
+ manager: conda
+ name: cairo
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.0-h3faef2a_0.conda
+ version: 1.18.0
+- category: main
+ dependencies:
+ libffi: '>=3.4,<4.0a0'
+ libgcc-ng: '>=12'
+ pycparser: ''
+ python: '>=3.9,<3.10.0a0'
+ python_abi: 3.9.* *_cp39
+ hash:
+ md5: ac992767d7f8ed2cb27e71e78f0fb2d7
+ sha256: 1536a2ca65caaf568bbdfe75aff8e12cb0e0507587b25af3b532a8bd22cb3ddb
+ manager: conda
+ name: cffi
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/cffi-1.16.0-py39h7a31438_0.conda
+ version: 1.16.0
+- category: main
+ dependencies:
+ click: ''
+ python: '>=2.7'
+ hash:
+ md5: 7c2b6931f9b3548ed78478332095c3e9
+ sha256: b36e35d735ddd29d7c592eb3de4b3979e13a9f76f1b4bc939f2cb4402758d6d0
+ manager: conda
+ name: click-default-group
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/click-default-group-1.2.4-pyhd8ed1ab_0.conda
+ version: 1.2.4
+- category: main
+ dependencies:
+ pastel: '>=0.2.0,<0.3.0'
+ pylev: '>=1.3,<2.0'
+ python: '>=3.7'
+ hash:
+ md5: 02abb7b66b02e8b9f5a9b05454400087
+ sha256: 2d582bc15d9116ec5467b565fb87d9034c8b56f60943e8eb69407f55f1ab5a78
+ manager: conda
+ name: clikit
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/clikit-0.6.2-pyhd8ed1ab_2.conda
+ version: 0.6.2
+- category: main
+ dependencies:
+ krb5: '>=1.21.2,<1.22.0a0'
+ libcurl: 8.5.0 hca28451_0
+ libgcc-ng: '>=12'
+ libssh2: '>=1.11.0,<2.0a0'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ openssl: '>=3.2.0,<4.0a0'
+ zstd: '>=1.5.5,<1.6.0a0'
+ hash:
+ md5: e5e83fb15e752dbc8f54c4ac7da7d0f1
+ sha256: febf098d6ca901b589d02c58eedcf5cb77d8fa4bfe35a52109f5909980b426db
+ manager: conda
+ name: curl
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/curl-8.5.0-hca28451_0.conda
+ version: 8.5.0
+- category: main
+ dependencies:
+ python: ''
+ six: '>=1.9'
+ webencodings: ''
+ hash:
+ md5: b2355343d6315c892543200231d7154a
+ sha256: 9ad06446fe9847e86cb20d220bf11614afcd2cbe9f58096f08d5d4018877bee4
+ manager: conda
+ name: html5lib
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/html5lib-1.1-pyh9f0ad1d_0.tar.bz2
+ version: '1.1'
+- category: main
+ dependencies:
+ python: '>=3.8'
+ zipp: '>=0.5'
+ hash:
+ md5: 746623a787e06191d80a2133e5daff17
+ sha256: e72d05f171f4567004c9360a838e9d5df21e23dcfeb945066b53a6e5f754b861
+ manager: conda
+ name: importlib-metadata
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-7.0.1-pyha770c72_0.conda
+ version: 7.0.1
+- category: main
+ dependencies:
+ more-itertools: ''
+ python: '>=3.7'
+ hash:
+ md5: e9f79248d30e942f7c358ff21a1790f5
+ sha256: 14f5240c3834e1b784dd41a5a14392d9150dff62a74ae851f73e65d2e2bbd891
+ manager: conda
+ name: jaraco.classes
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/jaraco.classes-3.3.0-pyhd8ed1ab_0.conda
+ version: 3.3.0
+- category: main
+ dependencies:
+ markupsafe: '>=2.0'
+ python: '>=3.7'
+ hash:
+ md5: e7d8df6509ba635247ff9aea31134262
+ sha256: fd517b7dd3a61eca34f8a6f9f92f306397149cae1204fce72ac3d227107dafdc
+ manager: conda
+ name: jinja2
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.3-pyhd8ed1ab_0.conda
+ version: 3.1.3
+- category: main
+ dependencies:
+ python: ''
+ setuptools: ''
+ six: ''
+ tornado: ''
+ hash:
+ md5: b7190e3ec3eff52839434bf4698e2d62
+ sha256: 0e88f8f8abc0a641c2f3b1b306258fab87c39a95f3495e53e6b3873107da1765
+ manager: conda
+ name: livereload
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/livereload-2.6.3-pyh9f0ad1d_0.tar.bz2
+ version: 2.6.3
+- category: main
+ dependencies:
+ python: '>=3.7'
+ setuptools: ''
+ wheel: ''
+ hash:
+ md5: 8591c748f98dcc02253003533bc2e4b1
+ sha256: 29096d1d53c61aeef518729add2f405df86b3629d1d738a35b15095e6a02eeed
+ manager: conda
+ name: pip
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/pip-23.3.2-pyhd8ed1ab_0.conda
+ version: 23.3.2
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ python: '>=3.9,<3.10.0a0'
+ python_abi: 3.9.* *_cp39
+ ruamel.yaml.clib: '>=0.1.2'
+ setuptools: ''
+ hash:
+ md5: 2b447c949fba3e4c95e7f7dae77f5ebd
+ sha256: 78638b0ef756443722f91a3bc0225b1ac79757be3d1f313a754c49cd3a3e2227
+ manager: conda
+ name: ruamel.yaml
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/ruamel.yaml-0.18.5-py39hd1e30aa_0.conda
+ version: 0.18.5
+- category: main
+ dependencies:
+ typing_extensions: 4.9.0 pyha770c72_0
+ hash:
+ md5: c16524c1b7227dc80b36b4fa6f77cc86
+ sha256: d795c1eb1db4ea147f01ece74e5a504d7c2e8d5ee8c11ec987884967dd938f9c
+ manager: conda
+ name: typing-extensions
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.9.0-hd8ed1ab_0.conda
+ version: 4.9.0
+- category: main
+ dependencies:
+ brotli-python: '>=1.0.9'
+ pysocks: '>=1.5.6,<2.0,!=1.5.7'
+ python: '>=3.7'
+ hash:
+ md5: bf61cfd2a7f212efba378167a07d4a6a
+ sha256: 1cc0bab65a6ad0f5a8bd7657760a4fb4e670d30377f9dab88b792977cb3687e7
+ manager: conda
+ name: urllib3
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/urllib3-1.26.18-pyhd8ed1ab_0.conda
+ version: 1.26.18
+- category: main
+ dependencies:
+ distlib: <1,>=0.3.7
+ filelock: <4,>=3.12.2
+ platformdirs: <5,>=3.9.1
+ python: '>=3.8'
+ hash:
+ md5: c119653cba436d8183c27bf6d190e587
+ sha256: 50827c3721a9dbf973b568709d4381add2a6552fa562f26a385c5edc16a534af
+ manager: conda
+ name: virtualenv
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.25.0-pyhd8ed1ab_0.conda
+ version: 20.25.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.3.0'
+ xorg-inputproto: ''
+ xorg-libx11: '>=1.7.0,<2.0a0'
+ xorg-libxext: 1.3.*
+ xorg-libxfixes: 5.0.*
+ hash:
+ md5: e77615e5141cad5a2acaa043d1cf0ca5
+ sha256: 745c1284a96b4282fe6fe122b2643e1e8c26a7ff40b733a8f4b61357238c4e68
+ manager: conda
+ name: xorg-libxi
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.7.10-h7f98852_0.tar.bz2
+ version: 1.7.10
+- category: main
+ dependencies:
+ python: '>=3.7'
+ typing-extensions: '>=4.0.0'
+ hash:
+ md5: 997c29372bdbe2afee073dff71f35923
+ sha256: 3a2c98154d95cfd54daba6b7d507d31f5ba07ac2ad955c44eb041b66563193cd
+ manager: conda
+ name: annotated-types
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.6.0-pyhd8ed1ab_0.conda
+ version: 0.6.0
+- category: main
+ dependencies:
+ cffi: '>=1.12'
+ libgcc-ng: '>=12'
+ openssl: '>=3.1.4,<4.0a0'
+ python: '>=3.9,<3.10.0a0'
+ python_abi: 3.9.* *_cp39
+ hash:
+ md5: c2503c6b2505714dd30d50717efe1826
+ sha256: 704b189699c8eae0dff8b3d0886fb3ef5316b221676ee5d79d44575073bc9296
+ manager: conda
+ name: cryptography
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/cryptography-41.0.7-py39he6105cc_1.conda
+ version: 41.0.7
+- category: main
+ dependencies:
+ curl: ''
+ gettext: ''
+ libexpat: '>=2.5.0,<3.0a0'
+ libgcc-ng: '>=12'
+ libiconv: '>=1.17,<2.0a0'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ openssl: '>=3.2.0,<4.0a0'
+ pcre2: '>=10.42,<10.43.0a0'
+ perl: 5.*
+ hash:
+ md5: 851970792301b407ba4c35e75e796791
+ sha256: 73a065e160d759e8fb0b169e615955a8fe0c148ed00c7f6ddf076f2e4adfd765
+ manager: conda
+ name: git
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/git-2.43.0-pl5321h7bc287a_0.conda
+ version: 2.43.0
+- category: main
+ dependencies:
+ cairo: '>=1.18.0,<2.0a0'
+ freetype: '>=2.12.1,<3.0a0'
+ graphite2: ''
+ icu: '>=73.2,<74.0a0'
+ libgcc-ng: '>=12'
+ libglib: '>=2.78.1,<3.0a0'
+ libstdcxx-ng: '>=12'
+ hash:
+ md5: 5a6f6c00ef982a9bc83558d9ac8f64a0
+ sha256: 4b55aea03b18a4084b750eee531ad978d4a3690f63019132c26c6ad26bbe3aed
+ manager: conda
+ name: harfbuzz
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-8.3.0-h3d44ed6_0.conda
+ version: 8.3.0
+- category: main
+ dependencies:
+ importlib-metadata: '>=7.0.1,<7.0.2.0a0'
+ hash:
+ md5: 4a2f43a20fa404b998859c6a470ba316
+ sha256: bc362df1d4f5a04c38dff29cd9c2d0ac584f9c4b45d3e4683ee090944a38fba4
+ manager: conda
+ name: importlib_metadata
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/importlib_metadata-7.0.1-hd8ed1ab_0.conda
+ version: 7.0.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ python: '>=3.9,<3.10.0a0'
+ python_abi: 3.9.* *_cp39
+ typing-extensions: '>=4.6.0,!=4.7.0'
+ hash:
+ md5: 26910c0ed0b85e87d5c1dd19723b2996
+ sha256: 3770a69799d1366629a9944fb2eef9c15ecfd4c0d00cabee8b264d23bebf3726
+ manager: conda
+ name: pydantic-core
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.14.6-py39h9fdd4d6_1.conda
+ version: 2.14.6
+- category: main
+ dependencies:
+ certifi: '>=2017.4.17'
+ charset-normalizer: '>=2,<4'
+ idna: '>=2.5,<4'
+ python: '>=3.7'
+ urllib3: '>=1.21.1,<3'
+ hash:
+ md5: a30144e4156cdbb236f99ebb49828f8b
+ sha256: 9f629d6fd3c8ac5f2a198639fe7af87c4db2ac9235279164bfe0fcb49d8c4bad
+ manager: conda
+ name: requests
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/requests-2.31.0-pyhd8ed1ab_0.conda
+ version: 2.31.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.3.0'
+ xorg-inputproto: ''
+ xorg-libx11: '>=1.7.1,<2.0a0'
+ xorg-libxext: 1.3.*
+ xorg-libxi: 1.7.*
+ xorg-recordproto: ''
+ hash:
+ md5: a220b1a513e19d5cb56c1311d44f12e6
+ sha256: 9a51ae2869b9a47735539dada9d85534418a765d1461c9f91fe7564f3ee75e87
+ manager: conda
+ name: xorg-libxtst
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.3-h7f98852_1002.tar.bz2
+ version: 1.2.3
+- category: main
+ dependencies:
+ msgpack-python: '>=0.5.2'
+ python: '>=3.7'
+ requests: '>=2.16.0'
+ hash:
+ md5: 174bd699bb5aa9e2622eb4b288276ff8
+ sha256: aae7ab3a54989f9bf9273e4a17c911ba339a8b9354250bc11fb8eff2e3f4be60
+ manager: conda
+ name: cachecontrol
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-0.13.1-pyhd8ed1ab_0.conda
+ version: 0.13.1
+- category: main
+ dependencies:
+ appdirs: ''
+ click: '>=5.1'
+ filelock: ''
+ python: '>=3.7'
+ requests: '>=2'
+ hash:
+ md5: c99ae3abf501990769047b4b40a98f17
+ sha256: b71784b6c24d2320b2f796d074e75e7dd1be7b7fc0f719c5cf3a582270b368d6
+ manager: conda
+ name: ensureconda
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/ensureconda-1.4.3-pyhd8ed1ab_0.tar.bz2
+ version: 1.4.3
+- category: main
+ dependencies:
+ alsa-lib: '>=1.2.10,<1.2.11.0a0'
+ fontconfig: '>=2.14.2,<3.0a0'
+ fonts-conda-ecosystem: ''
+ freetype: '>=2.12.1,<3.0a0'
+ giflib: '>=5.2.1,<5.3.0a0'
+ harfbuzz: '>=8.2.1,<9.0a0'
+ lcms2: '>=2.15,<3.0a0'
+ libcups: '>=2.3.3,<2.4.0a0'
+ libgcc-ng: '>=12'
+ libjpeg-turbo: '>=3.0.0,<4.0a0'
+ libpng: '>=1.6.39,<1.7.0a0'
+ libstdcxx-ng: '>=12'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ xorg-libx11: '>=1.8.6,<2.0a0'
+ xorg-libxext: '>=1.3.4,<2.0a0'
+ xorg-libxi: ''
+ xorg-libxrender: '>=0.9.11,<0.10.0a0'
+ xorg-libxt: '>=1.3.0,<2.0a0'
+ xorg-libxtst: ''
+ hash:
+ md5: 06cb6ddea2e4639d2d8d91626d0eba3b
+ sha256: 0a88fdee61322f37bae674222488fc1153f1211312028c624db3f08bfda30617
+ manager: conda
+ name: openjdk
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/openjdk-20.0.2-haa376d0_2.conda
+ version: 20.0.2
+- category: main
+ dependencies:
+ annotated-types: '>=0.4.0'
+ pydantic-core: 2.14.6
+ python: '>=3.7'
+ typing-extensions: '>=4.6.1'
+ hash:
+ md5: 3569001fd8b37e542aaefdf5de124e19
+ sha256: 07ec778cbf17737b740f0547fb5cba91a7bff52945fe637287458e4119c58ffe
+ manager: conda
+ name: pydantic
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.5.3-pyhd8ed1ab_0.conda
+ version: 2.5.3
+- category: main
+ dependencies:
+ cryptography: ''
+ dbus: ''
+ jeepney: '>=0.6'
+ python: '>=3.9,<3.10.0a0'
+ python_abi: 3.9.* *_cp39
+ hash:
+ md5: 0e6f3ef2dd562ed33d2a18d9c6f78d88
+ sha256: efff009fd24eca4cf1ecdb5010d605db11078f08be7d046d8d23a2e0e63e5015
+ manager: conda
+ name: secretstorage
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/secretstorage-3.3.3-py39hf3d152e_2.conda
+ version: 3.3.3
+- category: main
+ dependencies:
+ cachecontrol: 0.13.1 pyhd8ed1ab_0
+ filelock: '>=3.8.0'
+ python: '>=3.7'
+ hash:
+ md5: 8c4781ca0893cff3a64423954ce234a1
+ sha256: 7fd3cd4a667da284ae3aad9b8cb4d592099bc02ed6566cbae00bd8c0b0604e85
+ manager: conda
+ name: cachecontrol-with-filecache
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-with-filecache-0.13.1-pyhd8ed1ab_0.conda
+ version: 0.13.1
+- category: main
+ dependencies:
+ importlib_metadata: '>=4.11.4'
+ jaraco.classes: ''
+ jeepney: '>=0.4.2'
+ python: '>=3.9,<3.10.0a0'
+ python_abi: 3.9.* *_cp39
+ secretstorage: '>=3.2'
+ hash:
+ md5: 1426c4f9994cb7e55859b44b98bc7b3e
+ sha256: a7538a914feb54dc3e7ee46431af5f0a40e668b29224998e6d3be044a1a7606e
+ manager: conda
+ name: keyring
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/keyring-24.3.0-py39hf3d152e_0.conda
+ version: 24.3.0
+- category: main
+ dependencies:
+ __unix: ''
+ openjdk: '>=8'
+ hash:
+ md5: b6f6329c1a8a1efaaf16024e545335f5
+ sha256: f5588175723814ad220d6dad75771d7139c293df802ce871ab2b89a629250013
+ manager: conda
+ name: sbt
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sbt-1.9.7-hd8ed1ab_0.conda
+ version: 1.9.7
+- category: main
+ dependencies:
+ cachecontrol-with-filecache: '>=0.12.9'
+ cachy: '>=0.3.0'
+ click: '>=8.0'
+ click-default-group: ''
+ clikit: '>=0.6.2'
+ crashtest: '>=0.3.0'
+ ensureconda: '>=1.3'
+ html5lib: '>=1.0'
+ importlib-metadata: '>=1.7.0'
+ jinja2: ''
+ keyring: '>=21.2.0'
+ packaging: '>=20.4'
+ pkginfo: '>=1.4'
+ pydantic: '>=1.8.1'
+ python: '>=3.6'
+ pyyaml: '>=5.1'
+ requests: '>=2.18'
+ ruamel.yaml: ''
+ tomli: ''
+ tomlkit: '>=0.7.0'
+ toolz: '>=0.12.0,<1.0.0'
+ typing_extensions: ''
+ virtualenv: '>=20.0.26'
+ hash:
+ md5: e9ecdfe3e7d4f76d67afd65b02a621a0
+ sha256: fe66e9970d9ad03e215430f700af994e3ed67d301cd7cf9281f3b8114f50eccc
+ manager: conda
+ name: conda-lock
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/conda-lock-1.4.0-pyhd8ed1ab_2.conda
+ version: 1.4.0
+- category: main
+ dependencies:
+ livereload: '>=2.3.0'
+ python: '>=3.6'
+ sphinx: ''
+ hash:
+ md5: 1909f784dc37b4ab97afe2c95aeeabaa
+ sha256: 1c07ab809254c2454c5417c5be01af2dc8bcaae2f3315a0a9d8812997ede8297
+ manager: conda
+ name: sphinx-autobuild
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinx-autobuild-2021.3.14-pyhd8ed1ab_0.tar.bz2
+ version: 2021.3.14
+- category: main
+ dependencies:
+ python: '>=3.9'
+ sphinx: '>=5'
+ hash:
+ md5: 611a35a27914fac3aa37611a6fe40bb5
+ sha256: 710013443a063518d587d2af82299e92ab6d6695edf35a676ac3a0ccc9e3f8e6
+ manager: conda
+ name: sphinxcontrib-applehelp
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-1.0.8-pyhd8ed1ab_0.conda
+ version: 1.0.8
+- category: main
+ dependencies:
+ python: '>=3.9'
+ sphinx: '>=5'
+ hash:
+ md5: d7e4954df0d3aea2eacc7835ad12671d
+ sha256: 63a6b60653ef13a6712848f4b3c4b713d4b564da1dae571893f1a3659cde85f3
+ manager: conda
+ name: sphinxcontrib-devhelp
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-devhelp-1.0.6-pyhd8ed1ab_0.conda
+ version: 1.0.6
+- category: main
+ dependencies:
+ python: '>=3.9'
+ sphinx: '>=5'
+ hash:
+ md5: 7e1e7437273682ada2ed5e9e9714b140
+ sha256: 512f393cfe34cb3de96ade7a7ad900d6278e2087a1f0e5732aa60fadee396d99
+ manager: conda
+ name: sphinxcontrib-htmlhelp
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.0.5-pyhd8ed1ab_0.conda
+ version: 2.0.5
+- category: main
+ dependencies:
+ python: '>=2.7'
+ sphinx: '>=1.8'
+ hash:
+ md5: 914897066d5873acfb13e75705276ad1
+ sha256: 2e5f16a2d58f9a31443ffbb8ce3852cfccf533a6349045828cd2e994ef0679ca
+ manager: conda
+ name: sphinxcontrib-jquery
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jquery-4.1-pyhd8ed1ab_0.conda
+ version: '4.1'
+- category: main
+ dependencies:
+ docutils: <0.21
+ python: '>=3.6'
+ sphinx: '>=5,<8'
+ sphinxcontrib-jquery: '>=4,<5'
+ hash:
+ md5: baf6d9a33df1a789ca55e3b404c7ea28
+ sha256: 8545c806d03092fd0236db6663c88036eab2dc99e34c91cd36c0704db03b148a
+ manager: conda
+ name: sphinx_rtd_theme
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinx_rtd_theme-2.0.0-pyha770c72_0.conda
+ version: 2.0.0
+- category: main
+ dependencies:
+ python: '>=3.9'
+ sphinx: '>=5'
+ hash:
+ md5: 26acae54b06f178681bfb551760f5dd1
+ sha256: dd35b52f056c39081cd0ae01155174277af579b69e5d83798a33e9056ec78d63
+ manager: conda
+ name: sphinxcontrib-qthelp
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-1.0.7-pyhd8ed1ab_0.conda
+ version: 1.0.7
+- category: main
+ dependencies:
+ alabaster: '>=0.7,<0.8'
+ babel: '>=2.9'
+ colorama: '>=0.4.5'
+ docutils: '>=0.18.1,<0.21'
+ imagesize: '>=1.3'
+ importlib-metadata: '>=4.8'
+ jinja2: '>=3.0'
+ packaging: '>=21.0'
+ pygments: '>=2.14'
+ python: '>=3.9'
+ requests: '>=2.25.0'
+ snowballstemmer: '>=2.0'
+ sphinxcontrib-applehelp: ''
+ sphinxcontrib-devhelp: ''
+ sphinxcontrib-htmlhelp: '>=2.0.0'
+ sphinxcontrib-jsmath: ''
+ sphinxcontrib-qthelp: ''
+ sphinxcontrib-serializinghtml: '>=1.1.9'
+ hash:
+ md5: bbfd1120d1824d2d073bc65935f0e4c0
+ sha256: 665d1fe6d20c6cc672ff20e6ebb405860f878b487d3d8d86a5952733fb7bbc42
+ manager: conda
+ name: sphinx
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinx-7.2.6-pyhd8ed1ab_0.conda
+ version: 7.2.6
+- category: main
+ dependencies:
+ python: '>=3.9'
+ sphinx: '>=5'
+ hash:
+ md5: e507335cb4ca9cff4c3d0fa9cdab255e
+ sha256: bf80e4c0ff97d5e8e5f6db0831ba60007e820a3a438e8f1afd868aa516d67d6f
+ manager: conda
+ name: sphinxcontrib-serializinghtml
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-1.1.10-pyhd8ed1ab_0.conda
+ version: 1.1.10
+version: 1
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 f5fc3fbf..e5935143 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
@@ -9,7 +9,7 @@
# To update a single package to the latest version compatible with the version constraints in the source:
# conda-lock lock --lockfile conda-requirements-esp-tools-linux-64.conda-lock.yml --update PACKAGE
# To re-solve the entire environment, e.g. after changing a version constraint in the source file:
-# conda-lock -f /scratch/abejgonza/cy-fixes-1/conda-reqs/chipyard.yaml -f /scratch/abejgonza/cy-fixes-1/conda-reqs/esp-tools.yaml --lockfile conda-requirements-esp-tools-linux-64.conda-lock.yml
+# conda-lock -f /scratch/joonho.whangbo/coding/chipyard-release-118/conda-reqs/chipyard-base.yaml -f /scratch/joonho.whangbo/coding/chipyard-release-118/conda-reqs/chipyard-extended.yaml -f /scratch/joonho.whangbo/coding/chipyard-release-118/conda-reqs/docs.yaml -f /scratch/joonho.whangbo/coding/chipyard-release-118/conda-reqs/esp-tools.yaml --lockfile conda-requirements-esp-tools-linux-64.conda-lock.yml
metadata:
channels:
- url: ucb-bar
@@ -21,12 +21,14 @@ metadata:
- url: nodefaults
used_env_vars: []
content_hash:
- linux-64: db7fdb1eff05509c5804999acd40af2d5f212a2f7d2eca69702241bfbebef70d
+ linux-64: e6f7ea5e7ade6d5e422a65ad3ec62aabcadde05413e29340a1a234e7806c2764
platforms:
- linux-64
sources:
- - /scratch/abejgonza/cy-fixes-1/conda-reqs/chipyard.yaml
- - /scratch/abejgonza/cy-fixes-1/conda-reqs/esp-tools.yaml
+ - /scratch/joonho.whangbo/coding/chipyard-release-118/conda-reqs/chipyard-base.yaml
+ - /scratch/joonho.whangbo/coding/chipyard-release-118/conda-reqs/chipyard-extended.yaml
+ - /scratch/joonho.whangbo/coding/chipyard-release-118/conda-reqs/docs.yaml
+ - /scratch/joonho.whangbo/coding/chipyard-release-118/conda-reqs/esp-tools.yaml
package:
- category: main
dependencies: {}
@@ -75,14 +77,14 @@ package:
- category: main
dependencies: {}
hash:
- md5: 9936f9d4393c27069e6ee70338f955a5
- sha256: 5098310ea9ec4dae611a658c1ea26436001b2d2a4ed3c8e9468881337e02682f
+ md5: fd2989188c0421b101b12c4ee91a8967
+ sha256: f0cb3d37b2642bf982d497d63f351dcdcd03cea1b0b175d4d3c9d13b3c022d80
manager: conda
name: conda-standalone
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/conda-standalone-23.10.0-ha770c72_0.conda
- version: 23.10.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/conda-standalone-23.11.0-ha770c72_1.conda
+ version: 23.11.0
- category: main
dependencies: {}
hash:
@@ -141,25 +143,25 @@ package:
- category: main
dependencies: {}
hash:
- md5: 1d7f6d1825bd6bf21ee04336ec87a777
- sha256: 92bec8177aacfcd49a8e5bda49c10e4b77e239e9d58a0ca4ef31344a2be1fc82
+ md5: 2390dcf3fd78c2c426f1c5b6664fa4b7
+ sha256: 12904b795e5cb877ce6a7bb30feba9bfbe1dd38bd5f520e6af8d89a51bb6b6a6
manager: conda
name: libgcc-devel_linux-64
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-12.3.0-h8bca6fd_103.conda
- version: 12.3.0
+ url: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-11.4.0-h922705a_103.conda
+ version: 11.4.0
- category: main
dependencies: {}
hash:
- md5: 3f784d2c059e960156d1ab3858cbf200
- sha256: 8a78b0ab9f845a90d3b66a5d83e4e1131a236d1c5badd3660fb7c12daac796bf
+ md5: be10a739476d68c464101836773463f1
+ sha256: 4957848888d7a8cdc77c605357e759f0c9b08c18510f08a205f567666602ca2b
manager: conda
name: libstdcxx-devel_linux-64
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-12.3.0-h8bca6fd_103.conda
- version: 12.3.0
+ url: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-11.4.0-h922705a_103.conda
+ version: 11.4.0
- category: main
dependencies: {}
hash:
@@ -174,14 +176,14 @@ package:
- category: main
dependencies: {}
hash:
- md5: 5b874a5f133b1bd0c5f227eed4758fdb
- sha256: 9aa01c1102811cae6f60efa9d17f8f44365791d53a712dce3fe9a0488b6f6c2f
+ md5: ca8ce27415e2e304ec35b3de2af12364
+ sha256: b6f56d6c0a95dbd27bdcd5c666781c58c037850cebbaf62536a4fdf2bdcf2a2e
manager: conda
name: open_pdks.sky130a
optional: false
platform: linux-64
- url: https://conda.anaconda.org/litex-hub/noarch/open_pdks.sky130a-1.0.458_0_g8c68aca-20231104_052339.tar.bz2
- version: 1.0.458_0_g8c68aca
+ url: https://conda.anaconda.org/litex-hub/noarch/open_pdks.sky130a-1.0.460_0_gfdb1863-20231104_052339.tar.bz2
+ version: 1.0.460_0_gfdb1863
- category: main
dependencies: {}
hash:
@@ -196,14 +198,14 @@ package:
- category: main
dependencies: {}
hash:
- md5: 939e3e74d8be4dac89ce83b20de2492a
- sha256: 0449138224adfa125b220154408419ec37c06b0b49f63c5954724325903ecf55
+ md5: 8dee24b8be2d9ff81e7bd4d7d97ff1b0
+ sha256: 04f2ab3e36f2015841551415bf16bf62933bd94b7085d4be5493b388e95a9c3d
manager: conda
name: tzdata
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/tzdata-2023c-h71feb2d_0.conda
- version: 2023c
+ url: https://conda.anaconda.org/conda-forge/noarch/tzdata-2023d-h0c530f3_0.conda
+ version: 2023d
- category: main
dependencies:
font-ttf-dejavu-sans-mono: ''
@@ -311,14 +313,14 @@ package:
dependencies:
libgcc-ng: '>=12'
hash:
- md5: a0c6f0e7e1a467f5678f94dea18c8aa7
- sha256: f177627acdfcead15a28f4a07fcda6a1e26b83f053eaa1efa7cce01c0a3b09a8
+ md5: 75dae9a4201732aa78a530b826ee5fe0
+ sha256: 51147922bad9d3176e780eb26f748f380cd3184896a9f9125d8ac64fe330158b
manager: conda
name: alsa-lib
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.9-hd590300_0.conda
- version: 1.2.9
+ url: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.10-hd590300_0.conda
+ version: 1.2.10
- category: main
dependencies:
libgcc-ng: '>=12'
@@ -371,14 +373,14 @@ package:
dependencies:
libgcc-ng: '>=12'
hash:
- md5: d459949bc10f64dee1595c176c2e6291
- sha256: 6b0eee827bade11c2964a05867499a50ad2a9d1b14dfe18fb867a3bc9357f56f
+ md5: 89e40af02dd3a0846c0c1131c5126706
+ sha256: c4bbdafd6791583e3c77e8ed0e1df9e0021d542249c3543de3d72788f5c8a0c4
manager: conda
name: c-ares
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.23.0-hd590300_0.conda
- version: 1.23.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.25.0-hd590300_0.conda
+ version: 1.25.0
- category: main
dependencies:
libgcc-ng: '>=12'
@@ -495,14 +497,14 @@ package:
libgcc-ng: '>=12'
libstdcxx-ng: '>=12'
hash:
- md5: 7c8d20d847bb45f56bd941578fcfa146
- sha256: e44cc00eec068e7f7a6dd117ba17bf5d57658729b7b841945546f82505138292
+ md5: cc47e1facc155f91abd89b11e48e72ff
+ sha256: e12fd90ef6601da2875ebc432452590bc82a893041473bc1c13ef29001a73ea8
manager: conda
name: icu
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/icu-72.1-hcb278e6_0.conda
- version: '72.1'
+ url: https://conda.anaconda.org/conda-forge/linux-64/icu-73.2-h59595ed_0.conda
+ version: '73.2'
- category: main
dependencies:
libgcc-ng: '>=10.3.0'
@@ -557,25 +559,25 @@ package:
dependencies:
libgcc-ng: '>=12'
hash:
- md5: 6aa9c9de5542ecb07fdda9ca626252d8
- sha256: 949d84ceea543802c1e085b2aa58f1d6cb5dd8cec5a9abaaf4e8ac65d6094b3a
+ md5: 1635570038840ee3f9c71d22aa5b8b6d
+ sha256: 985ad27aa0ba7aad82afa88a8ede6a1aacb0aaca950d710f15d85360451e72fd
manager: conda
name: libdeflate
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.18-h0b41bf4_0.conda
- version: '1.18'
+ url: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.19-hd590300_0.conda
+ version: '1.19'
- category: main
dependencies:
- libgcc-ng: '>=7.5.0'
+ libgcc-ng: '>=12'
hash:
- md5: 6f8720dff19e17ce5d48cfe7f3d2f0a3
- sha256: 8c9635aa0ea28922877dc96358f9547f6a55fc7e2eb75a556b05f1725496baf9
+ md5: 172bf1cd1ff8629f2b1179945ed45055
+ sha256: 1cd6048169fa0395af74ed5d8f1716e22c19a81a8a36f934c110ca3ad4dd27b4
manager: conda
name: libev
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-h516909a_1.tar.bz2
+ url: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-hd590300_2.conda
version: '4.33'
- category: main
dependencies:
@@ -627,28 +629,28 @@ package:
version: 13.2.0
- category: main
dependencies:
- libgcc-ng: '>=10.3.0'
+ libgcc-ng: '>=12'
hash:
- md5: b62b52da46c39ee2bc3c162ac7f1804d
- sha256: 6a81ebac9f1aacdf2b4f945c87ad62b972f0f69c8e0981d68e111739e6720fd7
+ md5: d66573916ffcf376178462f1b61c941e
+ sha256: 8ac2f6a9f186e76539439e50505d98581472fedb347a20e7d1f36429849f05c9
manager: conda
name: libiconv
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.17-h166bdaf_0.tar.bz2
+ url: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.17-hd590300_2.conda
version: '1.17'
- category: main
dependencies:
libgcc-ng: '>=12'
hash:
- md5: 323e90742f0f48fc22bea908735f55e6
- sha256: 0ef7378818c6d5b407692d02556c32e2f6af31c7542bca5160d0b92a59427fb5
+ md5: ea25936bb4080d843790b586850f82b8
+ sha256: b954e09b7e49c2f2433d6f3bb73868eda5e378278b0f8c1dd10a7ef090e14f2f
manager: conda
name: libjpeg-turbo
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-2.1.5.1-hd590300_1.conda
- version: 2.1.5.1
+ url: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.0.0-hd590300_1.conda
+ version: 3.0.0
- category: main
dependencies:
libgcc-ng: '>=12'
@@ -663,16 +665,16 @@ package:
version: 2.0.1
- category: main
dependencies:
- libgcc-ng: '>=12.3.0'
+ libgcc-ng: '>=11.4.0'
hash:
- md5: eda05ab0db8f8490945fd99244183e3a
- sha256: 903c5786e0379da751e297dbe603be19b030994bac3caa74b3a596c1858c0296
+ md5: e6f89a7be0ec320c1b1746971045b0e7
+ sha256: c4c5c87f5c717e83299740f6a20393f9a131f05e2e9df63faafd6bb71dc58346
manager: conda
name: libsanitizer
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-12.3.0-h0f45ef3_3.conda
- version: 12.3.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-11.4.0-h4dcbe23_3.conda
+ version: 11.4.0
- category: main
dependencies:
libgcc-ng: '>=7.5.0'
@@ -697,18 +699,6 @@ package:
platform: linux-64
url: https://conda.anaconda.org/conda-forge/linux-64/libtasn1-4.19.0-h166bdaf_0.tar.bz2
version: 4.19.0
-- category: main
- dependencies:
- libgcc-ng: '>=12'
- hash:
- md5: f204c8ba400ec475452737094fb81d52
- sha256: 345b3b580ef91557a82425ea3f432a70a8748c040deb14570b9f4dca4af3e3d1
- manager: conda
- name: libtool
- optional: false
- platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libtool-2.4.7-h27087fc_0.conda
- version: 2.4.7
- category: main
dependencies:
libgcc-ng: '>=9.3.0'
@@ -749,14 +739,26 @@ package:
dependencies:
libgcc-ng: '>=12'
hash:
- md5: 82bf6f63eb15ef719b556b63feec3a77
- sha256: 66658d5cdcf89169e284488d280b6ce693c98c0319d7eabebcedac0929140a73
+ md5: 30de3fd9b3b602f7473f30e684eeea8c
+ sha256: 68764a760fa81ef35dacb067fe8ace452bbb41476536a4a147a1051df29525f0
manager: conda
name: libwebp-base
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.3.1-hd590300_0.conda
- version: 1.3.1
+ url: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.3.2-hd590300_0.conda
+ version: 1.3.2
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 5aa797f8787fe7a17d1b0821485b5adc
+ sha256: 6ae68e0b86423ef188196fff6207ed0c8195dd84273cb5623b85aa08033a410c
+ manager: conda
+ name: libxcrypt
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda
+ version: 4.4.36
- category: main
dependencies:
libgcc-ng: '>=12'
@@ -884,14 +886,14 @@ package:
libgcc-ng: '>=12'
libstdcxx-ng: '>=12'
hash:
- md5: 700edd63ccd5fc66b70b1c028cea9a68
- sha256: ae917851474eb3b08812b02c9e945d040808523ec53f828aa74a90b0cdf15f57
+ md5: 6b4b43013628634b6cfdee6b74fd696b
+ sha256: 07a5ffcd34e241f900433af4c6d4904518aab76add4e1e40a2c4bad93ae43f2b
manager: conda
name: pixman
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.42.2-h59595ed_0.conda
- version: 0.42.2
+ url: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.43.0-h59595ed_0.conda
+ version: 0.43.0
- category: main
dependencies:
libgcc-ng: '>=7.5.0'
@@ -1128,14 +1130,14 @@ package:
aws-c-common: '>=0.9.10,<0.9.11.0a0'
libgcc-ng: '>=12'
hash:
- md5: fe9b3bb0a3961dfb12506d865d818c00
- sha256: 8f3b8f8b7b1f021eac80018d03ff24e2b390627b53eb17f07476f38ea67f4c56
+ md5: a4a83424ad4eab023c6e5b4adf264006
+ sha256: 8696e7023fde7c4588db8aedd08ffc0b4041c8449bd9edd50f237534cbcfac93
manager: conda
name: aws-c-sdkutils
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-sdkutils-0.1.12-h7f92143_6.conda
- version: 0.1.12
+ url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-sdkutils-0.1.13-h7f92143_0.conda
+ version: 0.1.13
- category: main
dependencies:
aws-c-common: '>=0.9.10,<0.9.11.0a0'
@@ -1219,34 +1221,34 @@ package:
- category: main
dependencies:
binutils_impl_linux-64: '>=2.39'
- libgcc-devel_linux-64: 12.3.0 h8bca6fd_103
- libgcc-ng: '>=12.3.0'
- libgomp: '>=12.3.0'
- libsanitizer: 12.3.0 h0f45ef3_3
- libstdcxx-ng: '>=12.3.0'
+ libgcc-devel_linux-64: 11.4.0 h922705a_103
+ libgcc-ng: '>=11.4.0'
+ libgomp: '>=11.4.0'
+ libsanitizer: 11.4.0 h4dcbe23_3
+ libstdcxx-ng: '>=11.4.0'
sysroot_linux-64: ''
hash:
- md5: 71c68ea75afe6ac7a9c62c08f5d67a5a
- sha256: ab2ea2890f43d45dc49ff59a3c35348e675ba728e088957209fa8f0e40a498e5
+ md5: b17749a6ae62cf9a5eafd96a6bcaad0e
+ sha256: 24d34853611b8758c40fa9d6a0d0b738312f51af9fed8fa6c6422f15ec475763
manager: conda
name: gcc_impl_linux-64
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-12.3.0-he2b93b0_3.conda
- version: 12.3.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-11.4.0-h7aa1c59_3.conda
+ version: 11.4.0
- category: main
dependencies:
libgcc-ng: '>=12'
oniguruma: '>=6.9.9,<6.10.0a0'
hash:
- md5: c29cbd5ee663325f9bed9a2b2488ef3a
- sha256: e994d4e162a882ed9706f1ce992b5c33419ef425eafcd321252a6f94d3a05ab8
+ md5: 80814f94713e35df60aad6c4b235de87
+ sha256: a04a1603e405ea9ae5c4a492a8e361086cb441a91ef7299bd4bf3eca0b485b6d
manager: conda
name: jq
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/jq-1.7-hd590300_0.conda
- version: '1.7'
+ url: https://conda.anaconda.org/conda-forge/linux-64/jq-1.7.1-hd590300_0.conda
+ version: 1.7.1
- category: main
dependencies:
libbrotlicommon: 1.1.0 hd590300_1
@@ -1327,20 +1329,20 @@ package:
version: '5.39'
- category: main
dependencies:
- c-ares: '>=1.21.0,<2.0a0'
- libev: '>=4.33,<4.34.0a0'
+ c-ares: '>=1.23.0,<2.0a0'
+ libev: '>=4.33,<5.0a0'
libgcc-ng: '>=12'
libstdcxx-ng: '>=12'
libzlib: '>=1.2.13,<1.3.0a0'
- openssl: '>=3.1.4,<4.0a0'
+ openssl: '>=3.2.0,<4.0a0'
hash:
- md5: 9b13d5ee90fc9f09d54fd403247342b4
- sha256: 151b18e4f92dcca263a6d23e4beb0c4e2287aa1c7d0587ff71ef50035ed34aca
+ md5: 700ac6ea6d53d5510591c4344d5c989a
+ sha256: 1910c5306c6aa5bcbd623c3c930c440e9c77a5a019008e1487810e3c1d3716cb
manager: conda
name: libnghttp2
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.58.0-h47da74e_0.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.58.0-h47da74e_1.conda
version: 1.58.0
- category: main
dependencies:
@@ -1414,20 +1416,20 @@ package:
version: '1.15'
- category: main
dependencies:
- icu: '>=72.1,<73.0a0'
+ icu: '>=73.2,<74.0a0'
libgcc-ng: '>=12'
libiconv: '>=1.17,<2.0a0'
libzlib: '>=1.2.13,<1.3.0a0'
xz: '>=5.2.6,<6.0a0'
hash:
- md5: 241845899caff54ac1d2b3102ad988cf
- sha256: 624b6e29e23a51353cff2aff7364c42b831139afd131d239e79f60aea4dae887
+ md5: 53e951fab78d7e3bab40745f7b3d1620
+ sha256: f6828b44da29bbfbf367ddbc72902e84ea5f5de933be494d6aac4a35826afed0
manager: conda
name: libxml2
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.10.4-hfdac1af_0.conda
- version: 2.10.4
+ url: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.12.4-h232c23b_1.conda
+ version: 2.12.4
- category: main
dependencies:
libgcc-ng: '>=7.3.0'
@@ -1485,15 +1487,15 @@ package:
- category: main
dependencies:
libgcc-ng: '>=12'
- libnsl: '>=2.0.0,<2.1.0a0'
+ libxcrypt: '>=4.4.36'
hash:
- md5: 3e785bff761095eb7f8676f4694bd1b1
- sha256: 6e18c1488d191cb1a43a483f44fffa75668779a29927319b4adeb10da12ad06b
+ md5: f2cfec9406850991f4e3d960cc9e3321
+ sha256: 9ec32b6936b0e37bcb0ed34f22ec3116e75b3c0964f9f50ecea5f58734ed6ce9
manager: conda
name: perl
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/perl-5.32.1-4_hd590300_perl5.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/perl-5.32.1-7_hd590300_perl5.conda
version: 5.32.1
- category: main
dependencies:
@@ -1524,16 +1526,16 @@ package:
- category: main
dependencies:
libgcc-ng: '>=12'
- openssl: '>=3.1.4,<4.0a0'
+ openssl: '>=3.2.0,<4.0a0'
hash:
- md5: 04b4845b9e9b5a0ee6eba013ecdbbddb
- sha256: 4c00411d49fefc6a53167c3120e386b3f35510544a44d2e647615b510a622f29
+ md5: 3d1b58d2664d96f9fbc0afe5e1d04632
+ sha256: f6cc2bdcb5d809bbaae218e03bdefef4a309d1fc7ccc9444fda59bd4553a83f8
manager: conda
name: s2n
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/s2n-1.3.56-h06160fa_0.conda
- version: 1.3.56
+ url: https://conda.anaconda.org/conda-forge/linux-64/s2n-1.4.0-h06160fa_0.conda
+ version: 1.4.0
- category: main
dependencies:
libgcc-ng: '>=7.5.0'
@@ -1646,15 +1648,15 @@ package:
aws-c-cal: '>=0.6.9,<0.6.10.0a0'
aws-c-common: '>=0.9.10,<0.9.11.0a0'
libgcc-ng: '>=12'
- s2n: '>=1.3.56,<1.3.57.0a0'
+ s2n: '>=1.4.0,<1.4.1.0a0'
hash:
- md5: d15f4dfeef1d65de9a5283c984981776
- sha256: ca5094093d0f2de9b0b2bd4697088565d0ef930364df8a67c8b79172dc9c209d
+ md5: c930336aa72995f1b5459b51df3ba841
+ sha256: 7426f7444cd43cd7a649670c7330c163b40f40aa832e82be873d9de91e49b05e
manager: conda
name: aws-c-io
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-io-0.13.36-he14a76f_1.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-io-0.13.36-he0cd244_2.conda
version: 0.13.36
- category: main
dependencies:
@@ -1699,16 +1701,16 @@ package:
version: 1.1.0
- category: main
dependencies:
- gcc_impl_linux-64: '>=12.3.0,<12.3.1.0a0'
+ gcc_impl_linux-64: '>=11.4.0,<11.4.1.0a0'
hash:
- md5: 93700ef8b49aebbfb0bf40e0b1448834
- sha256: f361a244a51874065b4d9a2d27089647e7966050abb8a76cad57471776b8ba19
+ md5: 42003d7074d4daaf287d19987cd927bf
+ sha256: 2c30ddc6cb51a03fb5f671f55eaabcb9208d6ce701e6de2234518eec43a6f2d1
manager: conda
name: conda-gcc-specs
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/conda-gcc-specs-12.3.0-h83fac38_3.conda
- version: 12.3.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/conda-gcc-specs-11.4.0-h240829a_3.conda
+ version: 11.4.0
- category: main
dependencies:
libgcc-ng: '>=7.5.0'
@@ -1752,16 +1754,16 @@ package:
version: 2.12.1
- category: main
dependencies:
- gcc_impl_linux-64: 12.3.0.*
+ gcc_impl_linux-64: 11.4.0.*
hash:
- md5: e2f2f81f367e14ca1f77a870bda2fe59
- sha256: 1bbf077688822993c39518056fb43d83ff0920eb42fef11e8714d2a298cc0f27
+ md5: 0c8d100583c5fd6d20cd5307aaedaf0d
+ sha256: b515e9222a8af974024b02c7265bed8e4edf912707a5a8fc207cbc8bc2ac0bff
manager: conda
name: gcc
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/gcc-12.3.0-h8d2909c_2.conda
- version: 12.3.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/gcc-11.4.0-h7baecda_2.conda
+ version: 11.4.0
- category: main
dependencies:
libgcc-ng: '>=12'
@@ -1781,18 +1783,18 @@ package:
version: 3.7.9
- category: main
dependencies:
- gcc_impl_linux-64: 12.3.0 he2b93b0_3
- libstdcxx-devel_linux-64: 12.3.0 h8bca6fd_103
+ gcc_impl_linux-64: 11.4.0 h7aa1c59_3
+ libstdcxx-devel_linux-64: 11.4.0 h922705a_103
sysroot_linux-64: ''
hash:
- md5: b6ce9868fc6c65a18c22fd983e2d7e6f
- sha256: 63e75858b60fe6d7227cd6026ed7ad0a8df4c5592454f752ff7ffc1e283e66a7
+ md5: dbee4be21eb6dbf596afddf60ff120bf
+ sha256: 424d9989ea82e6777e569de6873cc56229a8982e274409c344473ad89bb7bbb7
manager: conda
name: gxx_impl_linux-64
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-12.3.0-he2b93b0_3.conda
- version: 12.3.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-11.4.0-h7aa1c59_3.conda
+ version: 11.4.0
- category: main
dependencies:
keyutils: '>=1.6.1,<2.0a0'
@@ -1813,7 +1815,7 @@ package:
dependencies:
bzip2: '>=1.0.8,<2.0a0'
libgcc-ng: '>=12'
- libxml2: '>=2.9.14,<2.11.0a0'
+ libxml2: '>=2.9.14,<3.0.0a0'
libzlib: '>=1.2.12,<1.3.0a0'
lz4-c: '>=1.9.3,<1.10.0a0'
lzo: '>=2.10,<3.0a0'
@@ -1839,30 +1841,30 @@ package:
libzlib: '>=1.2.13,<1.3.0a0'
pcre2: '>=10.42,<10.43.0a0'
hash:
- md5: 70052d6c1e84643e30ffefb21ab6950f
- sha256: 4e6fa28002f834cfc30a64792e95c1701d835cc3d3a4bb18d6e8d16bb8aba05b
+ md5: 9bd06b12bbfa6fd1740fd23af4b0f0c7
+ sha256: b1b594294a0fe4c9a51596ef027efed9268d60827e8ae61fb7545c521a631e33
manager: conda
name: libglib
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.78.1-h783c2da_1.conda
- version: 2.78.1
+ url: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.78.3-h783c2da_0.conda
+ version: 2.78.3
- category: main
dependencies:
libgcc-ng: '>=12'
libstdcxx-ng: '>=12'
- libxml2: '>=2.10.4,<2.11.0a0'
+ libxml2: '>=2.12.1,<3.0.0a0'
libzlib: '>=1.2.13,<1.3.0a0'
- zstd: '>=1.5.2,<1.6.0a0'
+ zstd: '>=1.5.5,<1.6.0a0'
hash:
- md5: 3d942f062d7656168bb42b3439bdfede
- sha256: c52c239b583a1b2d03bdc641afd8cbab0499b0a46ea55b40e1dbed112283a772
+ md5: 94246254aa1699cc154ade6ffda128a4
+ sha256: f0c46a724eeaaf5f45670b8344616e5a0397b7b7ae66ce01fc184fe80e37b0bc
manager: conda
- name: libllvm16
+ name: libllvm17
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libllvm16-16.0.3-hbf9e925_1.conda
- version: 16.0.3
+ url: https://conda.anaconda.org/conda-forge/linux-64/libllvm17-17.0.6-hb3ce162_1.conda
+ version: 17.0.6
- category: main
dependencies:
libgcc-ng: '>=12'
@@ -1880,23 +1882,23 @@ package:
- category: main
dependencies:
lerc: '>=4.0.0,<5.0a0'
- libdeflate: '>=1.18,<1.19.0a0'
+ libdeflate: '>=1.19,<1.20.0a0'
libgcc-ng: '>=12'
- libjpeg-turbo: '>=2.1.5.1,<3.0a0'
+ libjpeg-turbo: '>=3.0.0,<4.0a0'
libstdcxx-ng: '>=12'
- libwebp-base: '>=1.3.1,<2.0a0'
+ libwebp-base: '>=1.3.2,<2.0a0'
libzlib: '>=1.2.13,<1.3.0a0'
xz: '>=5.2.6,<6.0a0'
- zstd: '>=1.5.2,<1.6.0a0'
+ zstd: '>=1.5.5,<1.6.0a0'
hash:
- md5: 5b09e13d732dda1a2bc9adc711164f4d
- sha256: 631ccfdd460eda9661b6371aa459fe5ce174816365873deb5af955c9e10bf8c2
+ md5: 55ed21669b2015f77c180feb1dd41930
+ sha256: 45158f5fbee7ee3e257e6b9f51b9f1c919ed5518a94a9973fe7fa4764330473e
manager: conda
name: libtiff
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.5.1-h8b53f26_1.conda
- version: 4.5.1
+ url: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.6.0-ha9c0a0a_2.conda
+ version: 4.6.0
- category: main
dependencies:
libgcc-ng: '>=12'
@@ -1935,24 +1937,25 @@ package:
ld_impl_linux-64: '>=2.36.1'
libffi: '>=3.4,<4.0a0'
libgcc-ng: '>=12'
- libnsl: '>=2.0.0,<2.1.0a0'
- libsqlite: '>=3.43.0,<4.0a0'
+ libnsl: '>=2.0.1,<2.1.0a0'
+ libsqlite: '>=3.44.2,<4.0a0'
libuuid: '>=2.38.1,<3.0a0'
+ libxcrypt: '>=4.4.36'
libzlib: '>=1.2.13,<1.3.0a0'
ncurses: '>=6.4,<7.0a0'
- openssl: '>=3.1.2,<4.0a0'
+ openssl: '>=3.2.0,<4.0a0'
readline: '>=8.2,<9.0a0'
- tk: '>=8.6.12,<8.7.0a0'
+ tk: '>=8.6.13,<8.7.0a0'
tzdata: ''
xz: '>=5.2.6,<6.0a0'
hash:
- md5: 3ede353bc605068d9677e700b1847382
- sha256: 18db2220328abee8eb19f51c8df88bcfdf3a557b8181e7f5bda291deb067e40f
+ md5: 255a7002aeec7a067ff19b545aca6328
+ sha256: c0e800d255a771926007043d2859cbbbdb1387477ec813f085640c8887b391a2
manager: conda
name: python
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/python-3.9.18-h0755675_0_cpython.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/python-3.9.18-h0755675_1_cpython.conda
version: 3.9.18
- category: main
dependencies:
@@ -2023,16 +2026,16 @@ package:
version: 1.8.7
- category: main
dependencies:
- python: '>=3.6'
+ python: '>=3.9'
hash:
- md5: 06006184e203b61d3525f90de394471e
- sha256: b2d160a050996950434c6e87a174fc01c4a937cbeffbdd20d1b46126b4478a95
+ md5: def531a3ac77b7fb8c21d17bb5d0badb
+ sha256: fd39ad2fabec1569bbb0dfdae34ab6ce7de6ec09dcec8638f83dad0373594069
manager: conda
name: alabaster
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/alabaster-0.7.13-pyhd8ed1ab_0.conda
- version: 0.7.13
+ url: https://conda.anaconda.org/conda-forge/noarch/alabaster-0.7.16-pyhd8ed1ab_0.conda
+ version: 0.7.16
- category: main
dependencies:
python: ''
@@ -2061,14 +2064,14 @@ package:
dependencies:
python: '>=3.8'
hash:
- md5: c629a13439d80b37c6a946b098c4ac2b
- sha256: 62c3486961e43fb9b495b7854f48fea9b486b2176a9629c6faf80c445543b1aa
+ md5: 0801250abb3d5b86010e20324f0dde94
+ sha256: af221f16a23feea4d91db75b35c5720c9c448814af815fe6d45c5627eb75e897
manager: conda
name: argcomplete
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/argcomplete-3.1.6-pyhd8ed1ab_0.conda
- version: 3.1.6
+ url: https://conda.anaconda.org/conda-forge/noarch/argcomplete-3.2.1-pyhd8ed1ab_0.conda
+ version: 3.2.1
- category: main
dependencies:
libgcc-ng: '>=12'
@@ -2087,14 +2090,14 @@ package:
dependencies:
python: '>=3.7'
hash:
- md5: 3edfead7cedd1ab4400a6c588f3e75f8
- sha256: 063639cd568f5c7a557b0fb1cc27f098598c0d8ff869088bfeb82934674f8821
+ md5: 5e4c0743c70186509d1412e03c2d8dfa
+ sha256: 77c7d03bdb243a048fff398cedc74327b7dc79169ebe3b4c8448b0331ea55fea
manager: conda
name: attrs
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/attrs-23.1.0-pyh71513ae_1.conda
- version: 23.1.0
+ url: https://conda.anaconda.org/conda-forge/noarch/attrs-23.2.0-pyh71513ae_0.conda
+ version: 23.2.0
- category: main
dependencies:
aws-c-common: '>=0.9.10,<0.9.11.0a0'
@@ -2133,14 +2136,14 @@ package:
python: '>=3.9,<3.10.0a0'
python_abi: 3.9.* *_cp39
hash:
- md5: be773757df1f0a5f7c783d6c56666ee7
- sha256: 6c1ea83b3a9f7d7ae5681cbd2eb6d4cc770e103c86f303ab3c568a7249383561
+ md5: 171d33a4f1694713e0646dbc98e7f7cf
+ sha256: 72c5a63962463b0d7c7c95db33266c8dbcdd72cd8ae9ca81d42f253f9d80cdf3
manager: conda
name: bcrypt
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/bcrypt-4.1.1-py39h9fdd4d6_0.conda
- version: 4.1.1
+ url: https://conda.anaconda.org/conda-forge/linux-64/bcrypt-4.1.2-py39h9fdd4d6_0.conda
+ version: 4.1.2
- category: main
dependencies:
python: '>=3.8'
@@ -2157,14 +2160,14 @@ package:
dependencies:
python: ==2.7.*|>=3.7
hash:
- md5: 033eb25fffd222aceeca6d58cd953680
- sha256: 4ff828cceb8f55cb26d23b1a4c174d22c7cd92350221724bcaf2d6632e33fdee
+ md5: 56febe65315cc388a5d20adf2b39a74d
+ sha256: 0ff5173f6b20a5c95401aa52d10dbdc05c322fc568dc7417c6f76cf68e706d16
manager: conda
name: boltons
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/boltons-23.0.0-pyhd8ed1ab_0.conda
- version: 23.0.0
+ url: https://conda.anaconda.org/conda-forge/noarch/boltons-23.1.1-pyhd8ed1ab_0.conda
+ version: 23.1.1
- category: main
dependencies:
brotli-bin: 1.1.0 hd590300_1
@@ -2322,14 +2325,14 @@ package:
dependencies:
python: 2.7|>=3.6
hash:
- md5: 12d8aae6994f342618443a8f05c652a0
- sha256: 13c887cb4a29e1e853a118cfc0e42b72a7e1d1c50c66c0974885d37f0db30619
+ md5: db16c66b759a64dc5183d69cc3745a52
+ sha256: 3ff11acdd5cc2f80227682966916e878e45ced94f59c402efb94911a5774e84e
manager: conda
name: distlib
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/distlib-0.3.7-pyhd8ed1ab_0.conda
- version: 0.3.7
+ url: https://conda.anaconda.org/conda-forge/noarch/distlib-0.3.8-pyhd8ed1ab_0.conda
+ version: 0.3.8
- category: main
dependencies:
python: '>=3.6'
@@ -2376,13 +2379,13 @@ package:
dependencies:
python: '>=3.7'
hash:
- md5: f6c211fee3c98229652b60a9a42ef363
- sha256: cf83dcaf9006015c8ccab3fc6770f478464a66a8769e1763ca5d7dff09d11d08
+ md5: 8d652ea2ee8eaee02ed8dc820bc794aa
+ sha256: a6ae416383bda0e3ed14eaa187c653e22bec94ff2aa3b56970cdf0032761e80d
manager: conda
name: exceptiongroup
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.2.0-pyhd8ed1ab_0.conda
+ url: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.2.0-pyhd8ed1ab_2.conda
version: 1.2.0
- category: main
dependencies:
@@ -2418,42 +2421,42 @@ package:
python: '>=3.9,<3.10.0a0'
python_abi: 3.9.* *_cp39
hash:
- md5: 5ccdccec4ed5576ae7382e33cd343dc2
- sha256: f1d0981597be0e7f78c4454517e16e09f0c7290af30e0e705a5a6a4952cf7bdd
+ md5: 194fa03bd6b1054b8de8d48d335e45b2
+ sha256: a011b537e04ef72d85ff47d7d60ebc815c457a2790a6ab8d77a0956db78b08e1
manager: conda
name: frozenlist
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/frozenlist-1.4.0-py39hd1e30aa_1.conda
- version: 1.4.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/frozenlist-1.4.1-py39hd1e30aa_0.conda
+ version: 1.4.1
- category: main
dependencies:
python: '>=3.8'
hash:
- md5: 5b86cf1ceaaa9be2ec4627377e538db1
- sha256: 1bbdfadb93cc768252fd207dca406cde928f9a81ff985ea1760b6539c55923e6
+ md5: bf40f2a8835b78b1f91083d306b493d2
+ sha256: 9269a5464698e0fde1f9c78544552817370c26df86e2a5a7518544b6a55ae8ee
manager: conda
name: fsspec
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/fsspec-2023.10.0-pyhca7485f_0.conda
- version: 2023.10.0
+ url: https://conda.anaconda.org/conda-forge/noarch/fsspec-2023.12.2-pyhca7485f_0.conda
+ version: 2023.12.2
- category: main
dependencies:
libgcc-ng: '>=12'
- libglib: '>=2.74.1,<3.0a0'
- libjpeg-turbo: '>=2.1.5.1,<3.0a0'
+ libglib: '>=2.78.0,<3.0a0'
+ libjpeg-turbo: '>=3.0.0,<4.0a0'
libpng: '>=1.6.39,<1.7.0a0'
- libtiff: '>=4.5.0,<4.6.0a0'
+ libtiff: '>=4.6.0,<4.7.0a0'
libzlib: '>=1.2.13,<1.3.0a0'
hash:
- md5: ee8220db21db8094998005990418fe5b
- sha256: 7acc699871310e9a89aaa7e90de9ac949e2fa649232c8a8dfcafa67e8f36a266
+ md5: 252a696860674caf7a855e16f680d63a
+ sha256: 884992d0665a0a5c728943d99b5fba30fd6911bb84eee622fa7ad8a4fa9f6cf7
manager: conda
name: gdk-pixbuf
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.42.10-h6b639ba_2.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.42.10-h829c605_4.conda
version: 2.42.10
- category: main
dependencies:
@@ -2488,17 +2491,17 @@ package:
version: 0.7.6
- category: main
dependencies:
- gcc: 12.3.0.*
- gxx_impl_linux-64: 12.3.0.*
+ gcc: 11.4.0.*
+ gxx_impl_linux-64: 11.4.0.*
hash:
- md5: 673bac341be6b90ef9e8abae7e52ca46
- sha256: 5fd65768fb602fd21466831c96e7a2355a4df692507abbd481aa65a777151d85
+ md5: 4821dd86fa505a0d5b6aacd28ed8291f
+ sha256: e07c2da262b374fc9aad422a4927660ef96aec6d1445c7673a6ba58a445523a5
manager: conda
name: gxx
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/gxx-12.3.0-h8d2909c_2.conda
- version: 12.3.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/gxx-11.4.0-h7baecda_2.conda
+ version: 11.4.0
- category: main
dependencies:
__unix: ''
@@ -2630,28 +2633,28 @@ package:
python: '>=3.9,<3.10.0a0'
python_abi: 3.9.* *_cp39
hash:
- md5: 3bb122939197cec97f376a56e8dce6ea
- sha256: ec6eec84b5279ea1d099a8a919ff76c9418ebe8cd4302b05fe22a58651fb0e55
+ md5: c078f60a823037c75efeb602d2496e3b
+ sha256: fd3b9387f1edef65c6b82c887e4510ec188f2e2f61d7e9f72795c0bb00dccaa9
manager: conda
name: lazy-object-proxy
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/lazy-object-proxy-1.9.0-py39hd1e30aa_1.conda
- version: 1.9.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/lazy-object-proxy-1.10.0-py39hd1e30aa_0.conda
+ version: 1.10.0
- category: main
dependencies:
libgcc-ng: '>=12'
- libjpeg-turbo: '>=2.1.5.1,<3.0a0'
- libtiff: '>=4.5.0,<4.6.0a0'
+ libjpeg-turbo: '>=3.0.0,<4.0a0'
+ libtiff: '>=4.6.0,<4.7.0a0'
hash:
- md5: 980d8aca0bc23ca73fa8caa3e7c84c28
- sha256: 0d88e0e7f8dbf8f01788e21dd63dd49b89433ce7dfd10f53839441396f6481cd
+ md5: 51bb7010fc86f70eee639b4bb7a894f5
+ sha256: 5c878d104b461b7ef922abe6320711c0d01772f4cd55de18b674f88547870041
manager: conda
name: lcms2
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.15-haa2dc70_1.conda
- version: '2.15'
+ url: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.16-hb7c19ff_0.conda
+ version: '2.16'
- category: main
dependencies:
libopenblas: '>=0.3.25,<1.0a0'
@@ -2667,31 +2670,31 @@ package:
- category: main
dependencies:
libgcc-ng: '>=12'
- libllvm16: '>=16.0.3,<16.1.0a0'
+ libllvm17: '>=17.0.6,<17.1.0a0'
libstdcxx-ng: '>=12'
hash:
- md5: e3a70b7bde225412a04c681f5aa094f5
- sha256: 925c2e940a74cdda141b350ee6f6d7dfe5783c1f7575bd95649117c1841908e2
+ md5: 2a85746a47b578eee4618642131345de
+ sha256: 713cad0dbb8530bc627042a01728f2479c4e73f69f440320a0ee421c12cd403c
manager: conda
- name: libclang-cpp16
+ name: libclang-cpp17
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp16-16.0.3-default_h1cdf331_2.conda
- version: 16.0.3
+ url: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp17-17.0.6-default_hb11cfb5_2.conda
+ version: 17.0.6
- category: main
dependencies:
libgcc-ng: '>=12'
- libllvm16: '>=16.0.3,<16.1.0a0'
+ libllvm17: '>=17.0.6,<17.1.0a0'
libstdcxx-ng: '>=12'
hash:
- md5: 2dd726d3664b57ff32e4ef1965774c02
- sha256: b79181e5d1e3cd80ce5cbc0d0098621413e24c37437e8906b5bca1c398a5ce34
+ md5: 93d59bd3649bba44d182dad3646db9e8
+ sha256: 465504d1fd72a6f6d3c301862ed97bf3247234c7389bd82070bb50ce61c04c92
manager: conda
name: libclang13
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libclang13-16.0.3-default_h4d60ac6_2.conda
- version: 16.0.3
+ url: https://conda.anaconda.org/conda-forge/linux-64/libclang13-17.0.6-default_ha2b6cf4_2.conda
+ version: 17.0.6
- category: main
dependencies:
krb5: '>=1.20.1,<1.21.0a0'
@@ -2754,45 +2757,45 @@ package:
dependencies:
giflib: '>=5.2.1,<5.3.0a0'
libgcc-ng: '>=12'
- libjpeg-turbo: '>=2.1.5.1,<3.0a0'
+ libjpeg-turbo: '>=3.0.0,<4.0a0'
libpng: '>=1.6.39,<1.7.0a0'
- libtiff: '>=4.5.1,<4.6.0a0'
- libwebp-base: '>=1.3.1,<2.0a0'
+ libtiff: '>=4.6.0,<4.7.0a0'
+ libwebp-base: '>=1.3.2,<2.0a0'
hash:
- md5: 4963f3f12db45a576f2b8fbe9a0b8569
- sha256: b0428f43bb3bc4544b997fcd9dfeb5593ee10701e8895cef22212105a8d8aa8d
+ md5: 0ebb65e8d86843865796c7c95a941f34
+ sha256: cc5e55531d8067ea379b145861aea8c749a545912bc016372f5e3c69cc925efd
manager: conda
name: libwebp
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libwebp-1.3.1-hbf2b3c1_0.conda
- version: 1.3.1
+ url: https://conda.anaconda.org/conda-forge/linux-64/libwebp-1.3.2-h658648e_1.conda
+ version: 1.3.2
- category: main
dependencies:
libgcc-ng: '>=12'
python: '>=3.9,<3.10.0a0'
python_abi: 3.9.* *_cp39
hash:
- md5: ee2b4665b852ec6ff2758f3c1b91233d
- sha256: 0fb7a5340855c0b3c7c9259eb57ff00abedf36530ba1daae3434016301b0fa36
+ md5: 847ad1c2bcbef1e2febfdaa3b199c2a4
+ sha256: e3019f819f354cc7ac080704ae9faa87618f5bbf536dc5b82f52296eb7f80459
manager: conda
name: markupsafe
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-2.1.3-py39hd1e30aa_1.conda
- version: 2.1.3
+ url: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-2.1.4-py39hd1e30aa_0.conda
+ version: 2.1.4
- category: main
dependencies:
python: '>=3.8'
hash:
- md5: 8549fafed0351bbfaa1ddaa15fdf9b4e
- sha256: 07ce65497dec537e490992758934ddbc4fb5ed9285b41387a7cca966f1a98a0f
+ md5: d5c98e9706fdc5328d49a9bf2ce5fb42
+ sha256: 9e49e9484ff279453f0b55323a3f0c7cb97440c74f69eecda1f4ad29fae5cd3c
manager: conda
name: more-itertools
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/more-itertools-10.1.0-pyhd8ed1ab_0.conda
- version: 10.1.0
+ url: https://conda.anaconda.org/conda-forge/noarch/more-itertools-10.2.0-pyhd8ed1ab_0.conda
+ version: 10.2.0
- category: main
dependencies:
python: '>=3.6'
@@ -2875,16 +2878,16 @@ package:
libgcc-ng: '>=12'
libpng: '>=1.6.39,<1.7.0a0'
libstdcxx-ng: '>=12'
- libtiff: '>=4.5.0,<4.6.0a0'
+ libtiff: '>=4.6.0,<4.7.0a0'
libzlib: '>=1.2.13,<1.3.0a0'
hash:
- md5: 5ce6a42505c6e9e6151c54c3ec8d68ea
- sha256: 3cbfb1fe9bb492dcb672f98f0ddc7b4e029f51f77101d9c301caa3acaea8cba2
+ md5: 128c25b7fe6a25286a48f3a6a9b5b6f3
+ sha256: 9fe91b67289267de68fda485975bb48f0605ac503414dc663b50d8b5f29bc82a
manager: conda
name: openjpeg
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.0-hfec8fc6_2.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.0-h488ebb8_3.conda
version: 2.5.0
- category: main
dependencies:
@@ -2946,6 +2949,18 @@ package:
platform: linux-64
url: https://conda.anaconda.org/conda-forge/noarch/pkgutil-resolve-name-1.3.10-pyhd8ed1ab_1.conda
version: 1.3.10
+- category: main
+ dependencies:
+ python: '>=3.8'
+ hash:
+ md5: 45a5065664da0d1dfa8f8cd2eaf05ab9
+ sha256: 9e4ff17ce802159ed31344eb913eaa877688226765b77947b102b42255a53853
+ manager: conda
+ name: platformdirs
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.1.0-pyhd8ed1ab_0.conda
+ version: 4.1.0
- category: main
dependencies:
python: '>=3.8'
@@ -2977,14 +2992,14 @@ package:
python: '>=3.9,<3.10.0a0'
python_abi: 3.9.* *_cp39
hash:
- md5: c2e412b0f11e5983bcfc35d9beb91ecb
- sha256: 02df40691ebe8632ad18ca641c70b74302b538922ccc86c3afee5de83f4298f0
+ md5: ec86403fde8793ac1c36f8afa3d15902
+ sha256: d0fa2b24b7245483208014e3567ef3aeeb3242b77ba1002c46923a60a3a05c3b
manager: conda
name: psutil
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/psutil-5.9.5-py39hd1e30aa_1.conda
- version: 5.9.5
+ url: https://conda.anaconda.org/conda-forge/linux-64/psutil-5.9.8-py39hd1e30aa_0.conda
+ version: 5.9.8
- category: main
dependencies:
python: '!=3.0,!=3.1,!=3.2,!=3.3,!=3.4,!=3.5'
@@ -3088,14 +3103,14 @@ package:
dependencies:
python: '>=3.6'
hash:
- md5: 2590495f608a63625e165915fb4e2e34
- sha256: 0108888507014fb24573c31e4deceb61c99e63d37776dddcadd7c89b2ecae0b6
+ md5: c79cacf8a06a51552fc651652f170208
+ sha256: d2381037bf362c78654a8ece0e0f54715e09113448ddd7ed837f688536cbf176
manager: conda
name: python-tzdata
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2023.3-pyhd8ed1ab_0.conda
- version: '2023.3'
+ url: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2023.4-pyhd8ed1ab_0.conda
+ version: '2023.4'
- category: main
dependencies:
python: '>=3.6'
@@ -3142,28 +3157,28 @@ package:
python: '>=3.9,<3.10.0a0'
python_abi: 3.9.* *_cp39
hash:
- md5: 4f76a945255f9bae15ca3979e9b129ea
- sha256: 4eed688717096aadabbfb29039d80eb47b659a10a9ec298bef3ff3bd1286a703
+ md5: 775fa081f76b6e6197bd12bd28856546
+ sha256: 9dc5eb83c637131caac6cdc6e48775712475eb02820d0eba30c10605cfde0f89
manager: conda
name: regex
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/regex-2023.10.3-py39hd1e30aa_0.conda
- version: 2023.10.3
+ url: https://conda.anaconda.org/conda-forge/linux-64/regex-2023.12.25-py39hd1e30aa_0.conda
+ version: 2023.12.25
- category: main
dependencies:
libgcc-ng: '>=12'
python: '>=3.9,<3.10.0a0'
python_abi: 3.9.* *_cp39
hash:
- md5: 75f11bc5ee4f3cf1d12bc17066b6a367
- sha256: f7e4dc74a7c8928edd8bf63316f09443943faf723487310c0f4ab76a5c62a5e6
+ md5: 601e09c9de429baaabce5f1283c51fdf
+ sha256: 0ec45efa1c5599a9779ac34cf5bcb7602a2294f79b8959a7b15b92b4275979ee
manager: conda
name: rpds-py
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-0.13.2-py39h9fdd4d6_0.conda
- version: 0.13.2
+ url: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-0.17.1-py39h9fdd4d6_0.conda
+ version: 0.17.1
- category: main
dependencies:
libgcc-ng: '>=12'
@@ -3182,14 +3197,14 @@ package:
dependencies:
python: '>=3.7'
hash:
- md5: fc2166155db840c634a1291a5c35a709
- sha256: 851901b1f8f2049edb36a675f0c3f9a98e1495ef4eb214761b048c6f696a06f7
+ md5: 40695fdfd15a92121ed2922900d0308b
+ sha256: 0fe2a0473ad03dac6c7f5c42ef36a8e90673c88a0350dfefdea4b08d43803db2
manager: conda
name: setuptools
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/setuptools-68.2.2-pyhd8ed1ab_0.conda
- version: 68.2.2
+ url: https://conda.anaconda.org/conda-forge/noarch/setuptools-69.0.3-pyhd8ed1ab_0.conda
+ version: 69.0.3
- category: main
dependencies:
python: ''
@@ -3340,14 +3355,14 @@ package:
dependencies:
python: '>=3.8'
hash:
- md5: 5b1be40a26d10a06f6d4f1f9e19fa0c7
- sha256: 38d16b5c53ec1af845d37d22e7bb0e6c934c7f19499123507c5a470f6f8b7dde
+ md5: a92a6440c3fe7052d63244f3aba2a4a7
+ sha256: f3c5be8673bfd905c4665efcb27fa50192f24f84fa8eff2f19cba5d09753d905
manager: conda
name: typing_extensions
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.8.0-pyha770c72_0.conda
- version: 4.8.0
+ url: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.9.0-pyha770c72_0.conda
+ version: 4.9.0
- category: main
dependencies:
libgcc-ng: '>=12'
@@ -3373,26 +3388,26 @@ package:
perl: ''
python: ''
hash:
- md5: efb0e7909f1a41159856e688e216bd26
- sha256: c24f5fc704ee3c0737456e7a4b8f75114b25a51812c6f801a22ed43652e0b211
+ md5: 0b2929f84fe7d3a6117439507d5d50d9
+ sha256: 1d6af07d2d19be7adc296e8b6c43bd3eb12b48d8ab8e0cec566e8f9872661813
manager: conda
name: verilator
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/verilator-5.008-h514fc35_1.conda
- version: '5.008'
+ url: https://conda.anaconda.org/conda-forge/linux-64/verilator-5.020-h7cd9344_0.conda
+ version: '5.020'
- category: main
dependencies:
python: '>=3.8'
hash:
- md5: bf4a1d1a97ca27b0b65bacd9e238b484
- sha256: ca757d0fc2dbd422af9d3238a8b4b630a6e11df3707a447bd89540656770d1d7
+ md5: 68f0738df502a14213624b288c60c9ad
+ sha256: b6cd2fee7e728e620ec736d8dfee29c6c9e2adbd4e695a31f1d8f834a83e57e3
manager: conda
name: wcwidth
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.2.12-pyhd8ed1ab_0.conda
- version: 0.2.12
+ url: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.2.13-pyhd8ed1ab_0.conda
+ version: 0.2.13
- category: main
dependencies:
python: '>=2.6'
@@ -3409,14 +3424,14 @@ package:
dependencies:
python: '>=3.8'
hash:
- md5: bdb77b28cf16deac0eef431a068320e8
- sha256: df45b89862edcd7cd5180ec7b8c0c0ca9fb4d3f7d49ddafccdc76afcf50d8da6
+ md5: 50ad31e07d706aae88b14a4ac9c73f23
+ sha256: d9b537d5b7c5aa7a02a4ce4c6b755e458bd8083b67752a73c92d113ccec6c10f
manager: conda
name: websocket-client
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.6.4-pyhd8ed1ab_0.conda
- version: 1.6.4
+ url: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.7.0-pyhd8ed1ab_0.conda
+ version: 1.7.0
- category: main
dependencies:
python: '>=3.7'
@@ -3545,16 +3560,16 @@ package:
aws-c-common: '>=0.9.10,<0.9.11.0a0'
aws-c-http: '>=0.7.14,<0.7.15.0a0'
aws-c-io: '>=0.13.36,<0.13.37.0a0'
- aws-c-sdkutils: '>=0.1.12,<0.1.13.0a0'
+ aws-c-sdkutils: '>=0.1.13,<0.1.14.0a0'
libgcc-ng: '>=12'
hash:
- md5: 65d47e98af07d5e361707dda2ce44f3a
- sha256: 48c768d96b09396190b717e126d33ca68f3d2786a068af188fd16fa469cbad76
+ md5: d42aebb91e28e2fee2a0218cfbff2c90
+ sha256: b06ef95458fc70af4230c9c6690011235cd25288752ff7aa25492fc6d1c0e028
manager: conda
name: aws-c-auth
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-auth-0.7.8-h5c941e0_1.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-auth-0.7.8-h538f98c_2.conda
version: 0.7.8
- category: main
dependencies:
@@ -3577,41 +3592,42 @@ package:
pytz: ''
setuptools: ''
hash:
- md5: 3ccff479c246692468f604df9c85ef26
- sha256: 1f955c700db16f65b16c9e9c1613436480d5497970b8030b7a9ebe1620cc2147
+ md5: 9669586875baeced8fc30c0826c3270e
+ sha256: 8584e3da58e92b72641c89ff9b98c51f0d5dbe76e527867804cbdf03ac91d8e6
manager: conda
name: babel
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/babel-2.13.1-pyhd8ed1ab_0.conda
- version: 2.13.1
+ url: https://conda.anaconda.org/conda-forge/noarch/babel-2.14.0-pyhd8ed1ab_0.conda
+ version: 2.14.0
- category: main
dependencies:
fontconfig: '>=2.14.2,<3.0a0'
fonts-conda-ecosystem: ''
freetype: '>=2.12.1,<3.0a0'
- icu: '>=72.1,<73.0a0'
+ icu: '>=73.2,<74.0a0'
libgcc-ng: '>=12'
- libglib: '>=2.76.2,<3.0a0'
+ libglib: '>=2.78.0,<3.0a0'
libpng: '>=1.6.39,<1.7.0a0'
+ libstdcxx-ng: '>=12'
libxcb: '>=1.15,<1.16.0a0'
libzlib: '>=1.2.13,<1.3.0a0'
- pixman: '>=0.40.0,<1.0a0'
- xorg-libice: ''
- xorg-libsm: ''
- xorg-libx11: '>=1.8.4,<2.0a0'
+ pixman: '>=0.42.2,<1.0a0'
+ xorg-libice: '>=1.1.1,<2.0a0'
+ xorg-libsm: '>=1.2.4,<2.0a0'
+ xorg-libx11: '>=1.8.6,<2.0a0'
xorg-libxext: '>=1.3.4,<2.0a0'
- xorg-libxrender: ''
+ xorg-libxrender: '>=0.9.11,<0.10.0a0'
zlib: ''
hash:
- md5: c1dd96500b9b1a75e9e511931f415cbc
- sha256: 1fffecc684c26e0f1aed6d9857ad0f2abfe3a849977f718ad82366c68c7a9a36
+ md5: f907bb958910dc404647326ca80c263e
+ sha256: 142e2639a5bc0e99c44d76f4cc8dce9c6a2d87330c4beeabb128832cd871a86e
manager: conda
name: cairo
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.16.0-hbbf8b49_1016.conda
- version: 1.16.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.0-h3faef2a_0.conda
+ version: 1.18.0
- category: main
dependencies:
libffi: '>=3.4,<4.0a0'
@@ -3630,19 +3646,19 @@ package:
version: 1.16.0
- category: main
dependencies:
- libclang-cpp16: '>=16.0.3,<16.1.0a0'
+ libclang-cpp17: '>=17.0.6,<17.1.0a0'
libgcc-ng: '>=12'
- libllvm16: '>=16.0.3,<16.1.0a0'
+ libllvm17: '>=17.0.6,<17.1.0a0'
libstdcxx-ng: '>=12'
hash:
- md5: 738a21e17b4d9d846cf96503810c9b45
- sha256: 2d0c4ecdf647bf0bf3602495f0a3b85aa1985d0027cc787aa43e0c810ebbc704
+ md5: 714849d4f3034fff0663b005b9b657d8
+ sha256: 8ad2310be45c84ab2fec72eb23d1a57d961770a803f44ff850c0b9f3c8c56b74
manager: conda
- name: clang-format-16
+ name: clang-format-17
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/clang-format-16-16.0.3-default_h1cdf331_2.conda
- version: 16.0.3
+ url: https://conda.anaconda.org/conda-forge/linux-64/clang-format-17-17.0.6-default_hb11cfb5_2.conda
+ version: 17.0.6
- category: main
dependencies:
click: ''
@@ -3756,14 +3772,14 @@ package:
python_abi: 3.9.* *_cp39
unicodedata2: '>=14.0.0'
hash:
- md5: 616bc0b442acefebdbe97c7b885d771e
- sha256: f908a09abb6c53e65dcd36d6c269fae3f9d6fa41ddb90bd8382e9e8da18005a1
+ md5: 4e2b802b69be81944fdcd71018b74226
+ sha256: f0834381dcabbaa5df8124bee63c6e26c642000a6f3fe80f521b3c95b1342f27
manager: conda
name: fonttools
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.45.1-py39hd1e30aa_0.conda
- version: 4.45.1
+ url: https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.47.2-py39hd1e30aa_0.conda
+ version: 4.47.2
- category: main
dependencies:
python: '>=3.7'
@@ -3809,14 +3825,14 @@ package:
python: '>=3.8'
zipp: '>=0.5'
hash:
- md5: 4e9f59a060c3be52bc4ddc46ee9b6946
- sha256: 2797ed927d65324309b6c630190d917b9f2111e0c217b721f80429aeb57f9fcf
+ md5: 746623a787e06191d80a2133e5daff17
+ sha256: e72d05f171f4567004c9360a838e9d5df21e23dcfeb945066b53a6e5f754b861
manager: conda
name: importlib-metadata
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-6.8.0-pyha770c72_0.conda
- version: 6.8.0
+ url: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-7.0.1-pyha770c72_0.conda
+ version: 7.0.1
- category: main
dependencies:
python: '>=3.8'
@@ -3848,14 +3864,14 @@ package:
markupsafe: '>=2.0'
python: '>=3.7'
hash:
- md5: c8490ed5c70966d232fdd389d0dbed37
- sha256: b045faba7130ab263db6a8fdc96b1a3de5fcf85c4a607c5f11a49e76851500b5
+ md5: e7d8df6509ba635247ff9aea31134262
+ sha256: fd517b7dd3a61eca34f8a6f9f92f306397149cae1204fce72ac3d227107dafdc
manager: conda
name: jinja2
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.2-pyhd8ed1ab_1.tar.bz2
- version: 3.1.2
+ url: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.3-pyhd8ed1ab_0.conda
+ version: 3.1.3
- category: main
dependencies:
jsonpointer: '>=1.9'
@@ -3896,27 +3912,28 @@ package:
version: 3.9.0
- category: main
dependencies:
- expat: '>=2.5.0,<3.0a0'
+ expat: ''
fontconfig: '>=2.14.2,<3.0a0'
fonts-conda-ecosystem: ''
freetype: '>=2.12.1,<3.0a0'
- icu: '>=72.1,<73.0a0'
+ icu: '>=73.2,<74.0a0'
+ libexpat: '>=2.5.0,<3.0a0'
libgcc-ng: '>=12'
- libjpeg-turbo: '>=2.1.5.1,<3.0a0'
+ libjpeg-turbo: '>=3.0.0,<4.0a0'
libpng: '>=1.6.39,<1.7.0a0'
- libtiff: '>=4.5.0,<4.6.0a0'
+ libtiff: '>=4.6.0,<4.7.0a0'
libwebp: ''
- libwebp-base: '>=1.3.0,<2.0a0'
+ libwebp-base: '>=1.3.2,<2.0a0'
libzlib: '>=1.2.13,<1.3.0a0'
zlib: ''
hash:
- md5: ef06bee47510a7f5db3c2297a51d6ce2
- sha256: 6335db21afc72f86cf4ee0298acde3af950087db2b24df3d28a81c7d24574244
+ md5: cfebc557e54905dadc355c0e9f003004
+ sha256: b74f95a6e1f3b31a74741b39cba83ed99fc82d17243c0fd3b5ab16ddd48ab89d
manager: conda
name: libgd
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libgd-2.3.3-hfa28ad5_6.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/libgd-2.3.3-h119a65a_9.conda
version: 2.3.3
- category: main
dependencies:
@@ -3955,14 +3972,14 @@ package:
tomli: '>=1.1.0'
typing_extensions: '>=4.1.0'
hash:
- md5: aa252e335aa572e5052c4bb54519f1b9
- sha256: e2ccf9efb93065d65337199d6aca1f1ee94f583d3cf78d5998ac3b261b080d1e
+ md5: 1a30eefd87f32b65815198dafe7d16c4
+ sha256: 3f2141bc34b200258c50c3e3dd291903718d92fcf760854a4bbc189e861438df
manager: conda
name: mypy
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/mypy-1.7.1-py39hd1e30aa_0.conda
- version: 1.7.1
+ url: https://conda.anaconda.org/conda-forge/linux-64/mypy-1.8.0-py39hd1e30aa_0.conda
+ version: 1.8.0
- category: main
dependencies:
python: 2.7|>=3.7
@@ -3979,53 +3996,40 @@ package:
- category: main
dependencies:
freetype: '>=2.12.1,<3.0a0'
- lcms2: '>=2.15,<3.0a0'
+ lcms2: '>=2.16,<3.0a0'
libgcc-ng: '>=12'
- libjpeg-turbo: '>=2.1.5.1,<3.0a0'
- libtiff: '>=4.5.1,<4.6.0a0'
- libwebp-base: '>=1.3.1,<2.0a0'
+ libjpeg-turbo: '>=3.0.0,<4.0a0'
+ libtiff: '>=4.6.0,<4.7.0a0'
+ libwebp-base: '>=1.3.2,<2.0a0'
libxcb: '>=1.15,<1.16.0a0'
libzlib: '>=1.2.13,<1.3.0a0'
openjpeg: '>=2.5.0,<3.0a0'
python: '>=3.9,<3.10.0a0'
python_abi: 3.9.* *_cp39
- tk: '>=8.6.12,<8.7.0a0'
+ tk: '>=8.6.13,<8.7.0a0'
hash:
- md5: f97a95fab7c69678ebf6b57396b1323e
- sha256: 8182e1782baaef35efdbb80468db7df160af7bd4ec46127d5c284768eca2980b
+ md5: 2972754dc054bb079d1d121918b5126f
+ sha256: 6936d54f9830ac66bee7b26187eb2297d80febe110e978cd9ae6a54e62ec6aaf
manager: conda
name: pillow
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/pillow-10.0.0-py39haaeba84_0.conda
- version: 10.0.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/pillow-10.2.0-py39had0adad_0.conda
+ version: 10.2.0
- category: main
dependencies:
python: '>=3.7'
setuptools: ''
wheel: ''
hash:
- md5: 2400c0b86889f43aa52067161e1fb108
- sha256: 435829a03e1c6009f013f29bb83de8b876c388820bf8cf69a7baeec25f6a3563
+ md5: 8591c748f98dcc02253003533bc2e4b1
+ sha256: 29096d1d53c61aeef518729add2f405df86b3629d1d738a35b15095e6a02eeed
manager: conda
name: pip
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/pip-23.3.1-pyhd8ed1ab_0.conda
- version: 23.3.1
-- category: main
- dependencies:
- python: '>=3.7'
- typing_extensions: '>=4.7.1'
- hash:
- md5: 6bb4ee32cd435deaeac72776c001e7ac
- sha256: 67381d3f7cadca7df7699238e0dcce680ad20d7fd28804bab48611fecb084937
- manager: conda
- name: platformdirs
- optional: false
- platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.0.0-pyhd8ed1ab_0.conda
- version: 4.0.0
+ url: https://conda.anaconda.org/conda-forge/noarch/pip-23.3.2-pyhd8ed1ab_0.conda
+ version: 23.3.2
- category: main
dependencies:
python: '>=3.7'
@@ -4049,14 +4053,14 @@ package:
python: '>=3.7'
tomli: '>=1.0.0'
hash:
- md5: 5bdca0aca30b0ee62bb84854e027eae0
- sha256: 14e948e620ec87d9e62a8d9c21d40084b4805a939cfee322be7d457379dc96a0
+ md5: a9d145de8c5f064b5fa68fb34725d9f4
+ sha256: 8979721b7f86b183d21103f3ec2734783847d317c1b754f462f407efc7c60886
manager: conda
name: pytest
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/pytest-7.4.3-pyhd8ed1ab_0.conda
- version: 7.4.3
+ url: https://conda.anaconda.org/conda-forge/noarch/pytest-7.4.4-pyhd8ed1ab_0.conda
+ version: 7.4.4
- category: main
dependencies:
python: '>=3.6'
@@ -4188,16 +4192,16 @@ package:
version: 2.31.0.6
- category: main
dependencies:
- typing_extensions: 4.8.0 pyha770c72_0
+ typing_extensions: 4.9.0 pyha770c72_0
hash:
- md5: 384462e63262a527bda564fa2d9126c0
- sha256: d6e1dddd0c372218ef15912383d351ac8c73465cbf16238017f0269813cafe2d
+ md5: c16524c1b7227dc80b36b4fa6f77cc86
+ sha256: d795c1eb1db4ea147f01ece74e5a504d7c2e8d5ee8c11ec987884967dd938f9c
manager: conda
name: typing-extensions
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.8.0-hd8ed1ab_0.conda
- version: 4.8.0
+ url: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.9.0-hd8ed1ab_0.conda
+ version: 4.9.0
- category: main
dependencies:
brotli-python: '>=1.0.9'
@@ -4224,14 +4228,29 @@ package:
xorg-libx11: '>=1.8.7,<2.0a0'
xorg-libxt: '>=1.3.0,<2.0a0'
hash:
- md5: 8024965420fb58bb3a7c38bba7843cb7
- sha256: 388c5ad10d126111bb8c6d04d543cd25e2fe96926c0ba20c6a4e01d7a79c8c09
+ md5: 7f5118d10e1d63e10d99e949bf259e31
+ sha256: a3806691033da843cc7a14554db116956c25a67d94290a5d20c83761a393fb00
manager: conda
name: vim
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/vim-9.0.2059-py39pl5321hb4338c2_1.conda
- version: 9.0.2059
+ url: https://conda.anaconda.org/conda-forge/linux-64/vim-9.1.0041-py39pl5321hb4338c2_0.conda
+ version: 9.1.0041
+- category: main
+ dependencies:
+ distlib: <1,>=0.3.7
+ filelock: <4,>=3.12.2
+ platformdirs: <5,>=3.9.1
+ python: '>=3.8'
+ hash:
+ md5: c119653cba436d8183c27bf6d190e587
+ sha256: 50827c3721a9dbf973b568709d4381add2a6552fa562f26a385c5edc16a534af
+ manager: conda
+ name: virtualenv
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.25.0-pyhd8ed1ab_0.conda
+ version: 20.25.0
- category: main
dependencies:
markupsafe: '>=2.1.1'
@@ -4269,14 +4288,14 @@ package:
python: '>=3.9,<3.10.0a0'
python_abi: 3.9.* *_cp39
hash:
- md5: c8654dea9ff4b633fbdfddff7e321bb9
- sha256: 871782b22363b3fb449e2a29a3620045a1c40643e3726767f5b9cd4455ec36c7
+ md5: 7288bccf99dd979dfcf80bb372c3de3f
+ sha256: a0370c724d347103ae1a7c8a49166cc69359d80055c11bc5d7222d259efd8f12
manager: conda
name: yarl
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/yarl-1.9.3-py39hd1e30aa_0.conda
- version: 1.9.3
+ url: https://conda.anaconda.org/conda-forge/linux-64/yarl-1.9.4-py39hd1e30aa_0.conda
+ version: 1.9.4
- category: main
dependencies:
python: '>=3.7'
@@ -4314,45 +4333,45 @@ package:
libgcc-ng: '>=12'
openssl: '>=3.2.0,<4.0a0'
hash:
- md5: d193ad6b5c2d47c679202afe5b69b371
- sha256: d99862ce623c68dd86225520c08bfe5ff46a0af885530a3faca4d3d54c7480bf
+ md5: f27f792aa83c7be3ee96d09a637a6474
+ sha256: 04142edf1a574e137a9e30a4f4e9b9448e219b6f4216a782ceaed933f27852a6
manager: conda
name: aws-c-s3
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-s3-0.4.3-h0448019_0.conda
- version: 0.4.3
+ url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-s3-0.4.4-h0448019_0.conda
+ version: 0.4.4
- category: main
dependencies:
jmespath: '>=0.7.1,<2.0.0'
- python: '>=3.7'
+ python: '>=3.8'
python-dateutil: '>=2.1,<3.0.0'
urllib3: '>=1.25.4,<1.27'
hash:
- md5: 352c39ba5cd9ea01996358f0748e102e
- sha256: 56566ea8f3a48c24190c1dcf50681c0a84b26821c335c21b5c3c5d238e4bdb14
+ md5: df438bbfe18de464fef2539fce7a9d50
+ sha256: fa130d7718c7ac1184b2418ea228f67d3d13d22dbcc79c770d64f82e9167417e
manager: conda
name: botocore
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/botocore-1.33.5-pyhd8ed1ab_0.conda
- version: 1.33.5
+ url: https://conda.anaconda.org/conda-forge/noarch/botocore-1.34.23-pyhd8ed1ab_0.conda
+ version: 1.34.23
- category: main
dependencies:
- clang-format-16: 16.0.3 default_h1cdf331_2
- libclang-cpp16: '>=16.0.3,<16.1.0a0'
+ clang-format-17: 17.0.6 default_hb11cfb5_2
+ libclang-cpp17: '>=17.0.6,<17.1.0a0'
libgcc-ng: '>=12'
- libllvm16: '>=16.0.3,<16.1.0a0'
+ libllvm17: '>=17.0.6,<17.1.0a0'
libstdcxx-ng: '>=12'
hash:
- md5: c15e6c12bbd093170f1dab9d1ee922a8
- sha256: fe8d04e73e28a844e3513b214ca83a218d6d7115b1a86d5dfe1eb4e80e4bd15a
+ md5: 494178765431e2992fe5619a57b39616
+ sha256: 72a08b56741b14175ce8df86540237c61bf218f7c88b65564b261aa950c96701
manager: conda
name: clang-format
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/clang-format-16.0.3-default_h1cdf331_2.conda
- version: 16.0.3
+ url: https://conda.anaconda.org/conda-forge/linux-64/clang-format-17.0.6-default_hb11cfb5_2.conda
+ version: 17.0.6
- category: main
dependencies:
cffi: '>=1.12'
@@ -4393,14 +4412,14 @@ package:
python: '>=3.8'
werkzeug: '>=3.0.0'
hash:
- md5: d26105227a24c82fdf160f20ed379400
- sha256: 73dafd8c1ae9ee9e42e5fa78275c8dc3b456879d83dc6d6ed82d92bd498c9184
+ md5: 49c5959bd6abaf3cdcb3668cebffd0d4
+ sha256: faa22b909ee7d69514bda05ddb6fde39dae3c7a47e69d6ef9b6107c7c636ac1b
manager: conda
name: flask
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/flask-3.0.0-pyhd8ed1ab_0.conda
- version: 3.0.0
+ url: https://conda.anaconda.org/conda-forge/noarch/flask-3.0.1-pyhd8ed1ab_0.conda
+ version: 3.0.1
- category: main
dependencies:
curl: ''
@@ -4427,32 +4446,32 @@ package:
python: '>=3.7'
typing_extensions: '>=3.7.4.3'
hash:
- md5: 6bf74c3b7c13079a91d4bd3da51cefcf
- sha256: 6b85809ffbfe5c1887b674bf0492cc4dd1ac8a25f4d9fa20ef404be92186259b
+ md5: 84874a90c312088f7b5e63402fc44a58
+ sha256: cf3c45156feec1fe8adfd3552ed70f4218e9771643cca8dd2673bca9dea04c9c
manager: conda
name: gitpython
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.40-pyhd8ed1ab_0.conda
- version: 3.1.40
+ url: https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.41-pyhd8ed1ab_0.conda
+ version: 3.1.41
- category: main
dependencies:
- cairo: '>=1.16.0,<2.0a0'
+ cairo: '>=1.18.0,<2.0a0'
freetype: '>=2.12.1,<3.0a0'
graphite2: ''
- icu: '>=72.1,<73.0a0'
+ icu: '>=73.2,<74.0a0'
libgcc-ng: '>=12'
- libglib: '>=2.76.2,<3.0a0'
+ libglib: '>=2.78.1,<3.0a0'
libstdcxx-ng: '>=12'
hash:
- md5: 765bc76c0dfaf24ff9d8a2935b2510df
- sha256: 9d99416e9d4a01ea0915f65ea7fac71dee11916de115fbd0325c0cb82e0b63f8
+ md5: 5a6f6c00ef982a9bc83558d9ac8f64a0
+ sha256: 4b55aea03b18a4084b750eee531ad978d4a3690f63019132c26c6ad26bbe3aed
manager: conda
name: harfbuzz
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-7.3.0-hdb3a94d_0.conda
- version: 7.3.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-8.3.0-h3d44ed6_0.conda
+ version: 8.3.0
- category: main
dependencies:
importlib_resources: '>=6.1.1,<6.1.2.0a0'
@@ -4468,16 +4487,16 @@ package:
version: 6.1.1
- category: main
dependencies:
- importlib-metadata: '>=6.8.0,<6.8.1.0a0'
+ importlib-metadata: '>=7.0.1,<7.0.2.0a0'
hash:
- md5: b279b07ce18058034e5b3606ba103a8b
- sha256: b96e01dc42d547d6d9ceb1c5b52a5232cc04e40153534350f702c3e0418a6b3f
+ md5: 4a2f43a20fa404b998859c6a470ba316
+ sha256: bc362df1d4f5a04c38dff29cd9c2d0ac584f9c4b45d3e4683ee090944a38fba4
manager: conda
name: importlib_metadata
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/importlib_metadata-6.8.0-hd8ed1ab_0.conda
- version: 6.8.0
+ url: https://conda.anaconda.org/conda-forge/noarch/importlib_metadata-7.0.1-hd8ed1ab_0.conda
+ version: 7.0.1
- category: main
dependencies:
importlib_resources: '>=1.4.0'
@@ -4515,14 +4534,14 @@ package:
python: '>=3.9,<3.10.0a0'
python_abi: 3.9.* *_cp39
hash:
- md5: 459a58eda3e74dd5e3d596c618e7f20a
- sha256: da2439d911005c9c83e7586f72014f58958ff0b0dbc7a3c38c14fbbe2841b455
+ md5: a1f1ad2d8ebf63f13f45fb21b7f49dfb
+ sha256: 047bb87cea3d7151f9f36cc2c0a1a47c644e069bdeed7711b279b70970ca85e9
manager: conda
name: numpy
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/numpy-1.26.2-py39h474f0d3_0.conda
- version: 1.26.2
+ url: https://conda.anaconda.org/conda-forge/linux-64/numpy-1.26.3-py39h474f0d3_0.conda
+ version: 1.26.3
- category: main
dependencies:
pip: ''
@@ -4553,16 +4572,16 @@ package:
libgcc-ng: '>=12'
python: '>=3.9,<3.10.0a0'
python_abi: 3.9.* *_cp39
- typing-extensions: '>=4.6.0'
+ typing-extensions: '>=4.6.0,!=4.7.0'
hash:
- md5: edfef0feb17faf35c3d7b6665cf30343
- sha256: 90162f949a7008c8f018e34c2a5e88add11c7c802727b2fd38a53d6e03cce7ab
+ md5: 26910c0ed0b85e87d5c1dd19723b2996
+ sha256: 3770a69799d1366629a9944fb2eef9c15ecfd4c0d00cabee8b264d23bebf3726
manager: conda
name: pydantic-core
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.14.5-py39h9fdd4d6_0.conda
- version: 2.14.5
+ url: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.14.6-py39h9fdd4d6_1.conda
+ version: 2.14.6
- category: main
dependencies:
cffi: '>=1.4.1'
@@ -4627,14 +4646,14 @@ package:
pip: ''
python: '>=3.7,<4.0'
hash:
- md5: 1205762a36a808c0976f959caf389e8e
- sha256: 0040b85370375694ae48d21af3e14471f78578fb22cd284c80da3741def0ad4a
+ md5: a699f404daa279b4cb41a047cf70c94a
+ sha256: 8cf9f34336ef7af3479a03682e171c6a2c5837cb86bf9e4c2582b75cf3a27ab9
manager: conda
name: types-awscrt
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/types-awscrt-0.19.19-pyhd8ed1ab_0.conda
- version: 0.19.19
+ url: https://conda.anaconda.org/conda-forge/noarch/types-awscrt-0.20.2-pyhd8ed1ab_0.conda
+ version: 0.20.2
- category: main
dependencies:
cffi: ''
@@ -4651,21 +4670,6 @@ package:
platform: linux-64
url: https://conda.anaconda.org/conda-forge/linux-64/ukkonen-1.0.1-py39h7633fee_4.conda
version: 1.0.1
-- category: main
- dependencies:
- distlib: <1,>=0.3.7
- filelock: <4,>=3.12.2
- platformdirs: <5,>=3.9.1
- python: '>=3.8'
- hash:
- md5: db990278c2c00b268eed778de44f6057
- sha256: ad661ae59c64bd73c25dfadb00c601659f4d9cafbf428e36a690075e52bac96a
- manager: conda
- name: virtualenv
- optional: false
- platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.24.7-pyhd8ed1ab_0.conda
- version: 20.24.7
- category: main
dependencies:
libgcc-ng: '>=9.3.0'
@@ -4742,50 +4746,50 @@ package:
aws-c-http: '>=0.7.14,<0.7.15.0a0'
aws-c-io: '>=0.13.36,<0.13.37.0a0'
aws-c-mqtt: '>=0.9.10,<0.9.11.0a0'
- aws-c-s3: '>=0.4.3,<0.4.4.0a0'
+ aws-c-s3: '>=0.4.4,<0.4.5.0a0'
aws-checksums: '>=0.1.17,<0.1.18.0a0'
libgcc-ng: '>=12'
python: '>=3.9,<3.10.0a0'
python_abi: 3.9.* *_cp39
- s2n: '>=1.3.56,<1.3.57.0a0'
+ s2n: '>=1.4.0,<1.4.1.0a0'
hash:
- md5: b06d5b1342885fa70ce1371b695cc038
- sha256: b30260ea6484450ad8f5e2ad0cc342302ef199d6ee55f57c1c78fbb8c8b7dad6
+ md5: 111dc2570e8dd2eebecbfd8be3bc4616
+ sha256: 22fc0c664015c56fd5d96c93a5abd04a51b76b69b21981afd9ed521c72e64b73
manager: conda
name: awscrt
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/awscrt-0.19.18-py39h13f1633_0.conda
- version: 0.19.18
+ url: https://conda.anaconda.org/conda-forge/linux-64/awscrt-0.19.19-py39hf0530f4_2.conda
+ version: 0.19.19
- category: main
dependencies:
- python: '>=3.6'
- requests: '>=2.18.4'
+ python: '>=3.7'
+ requests: '>=2.21.0'
six: '>=1.11.0'
- typing-extensions: '>=4.0.1'
+ typing-extensions: '>=4.6.0'
hash:
- md5: 6e97f7d5387626f896515442002ac920
- sha256: 3f3ec0617e825bcabb70722ace9153dfdc02895aebb2179fc20b82eb30f79ec8
+ md5: 64d436079b1422e0483b0fbb326622a2
+ sha256: 9a9ea330870d2655348fcb8c87a5fa421f3b6c3e347653131d7104f04daad5b8
manager: conda
name: azure-core
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/azure-core-1.29.5-pyhd8ed1ab_0.conda
- version: 1.29.5
+ url: https://conda.anaconda.org/conda-forge/noarch/azure-core-1.29.7-pyhd8ed1ab_0.conda
+ version: 1.29.7
- category: main
dependencies:
- python: '>=3.7,<4.0'
+ python: '>=3.8,<4.0'
types-awscrt: ''
typing_extensions: '>=4.1.0'
hash:
- md5: 3e24267b0fce04a61f7532f3096c45a5
- sha256: 5e0daa0d40c5a6ea3b3798d31e0ae6bdc1d53c487e59153e5e4d9ee8c2ccc47c
+ md5: 7122b5ba8371cf83cf9593b65b57e49d
+ sha256: 8b4cca90a4056f0d6e30e324468c21c2e43cb3ed9154f0b26e225b22654874b7
manager: conda
name: botocore-stubs
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/botocore-stubs-1.33.5-pyhd8ed1ab_0.conda
- version: 1.33.5
+ url: https://conda.anaconda.org/conda-forge/noarch/botocore-stubs-1.34.23-pyhd8ed1ab_0.conda
+ version: 1.34.23
- category: main
dependencies:
msgpack-python: '>=0.5.2'
@@ -4802,21 +4806,22 @@ package:
version: 0.13.1
- category: main
dependencies:
- clang-format: 16.0.3 default_h1cdf331_2
- libclang-cpp16: '>=16.0.3,<16.1.0a0'
- libclang13: '>=16.0.3'
+ clang-format: 17.0.6 default_hb11cfb5_2
+ libclang-cpp17: '>=17.0.6,<17.1.0a0'
+ libclang13: '>=17.0.6'
libgcc-ng: '>=12'
- libllvm16: '>=16.0.3,<16.1.0a0'
+ libllvm17: '>=17.0.6,<17.1.0a0'
libstdcxx-ng: '>=12'
+ libxml2: '>=2.12.3,<3.0.0a0'
hash:
- md5: 8910812419605001db20734aad191191
- sha256: 236cd870e4a155d323202961cbcf13b1de84a86dde4ef6bf160b7e05b699b9d8
+ md5: 65fe0c9fbf75eef82b8a2bce629774ec
+ sha256: b9e2c06011261261d873c3d7033df0612a0f61d3a2e25e71323270ac23f79204
manager: conda
name: clang-tools
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/clang-tools-16.0.3-default_h1cdf331_2.conda
- version: 16.0.3
+ url: https://conda.anaconda.org/conda-forge/linux-64/clang-tools-17.0.6-default_hb11cfb5_2.conda
+ version: 17.0.6
- category: main
dependencies:
python: '>=3.7'
@@ -4881,14 +4886,14 @@ package:
python: '>=3.6'
ukkonen: ''
hash:
- md5: 3ef8e9bab1bfaf900bb0a5db8c0c742c
- sha256: 0783aa58f43d1c113a2ec300a29ba3313184056f9893671c75037fbadaf9e546
+ md5: 93c8f8ceb83827d88deeba796f07fba7
+ sha256: ce2a64c18221af96226be23278d81f22ff9f64b3c047d8865590f6718915303f
manager: conda
name: identify
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/identify-2.5.32-pyhd8ed1ab_0.conda
- version: 2.5.32
+ url: https://conda.anaconda.org/conda-forge/noarch/identify-2.5.33-pyhd8ed1ab_0.conda
+ version: 2.5.33
- category: main
dependencies:
importlib_metadata: ''
@@ -4912,14 +4917,14 @@ package:
referencing: '>=0.28.4'
rpds-py: '>=0.7.1'
hash:
- md5: 1116d79def5268414fb0917520b2bbf1
- sha256: 77aae609097d06deedb8ef8407a44b23d5fef95962ba6fe1c959ac7bd6195296
+ md5: 8a3a3d01629da20befa340919e3dd2c4
+ sha256: c5c1b4e08e91fdd697289015be1a176409b4e63942899a43b276f1f250be8129
manager: conda
name: jsonschema
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.20.0-pyhd8ed1ab_0.conda
- version: 4.20.0
+ url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.21.1-pyhd8ed1ab_0.conda
+ version: 4.21.1
- category: main
dependencies:
pathable: '>=0.4.1,<0.5.0'
@@ -4957,44 +4962,44 @@ package:
python: '>=3.6'
requests: <3,>=2.0.0
hash:
- md5: 4b2d7e21aa309356a9396d54800cd271
- sha256: 8a37a7c3efae510b90669cbae7b4f736477361406028953cd804d09a2d24c53a
+ md5: 9d9b0ef23f5dbe0d612ca037b9bfb410
+ sha256: e0eb5606b4a164964d663d7a215ac9cd18db1ce1eca544aa61348e0a2bda94a9
manager: conda
name: msal
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/msal-1.25.0-pyhd8ed1ab_0.conda
- version: 1.25.0
+ url: https://conda.anaconda.org/conda-forge/noarch/msal-1.26.0-pyhd8ed1ab_0.conda
+ version: 1.26.0
- category: main
dependencies:
- alsa-lib: '>=1.2.9,<1.2.10.0a0'
+ alsa-lib: '>=1.2.10,<1.2.11.0a0'
fontconfig: '>=2.14.2,<3.0a0'
fonts-conda-ecosystem: ''
freetype: '>=2.12.1,<3.0a0'
giflib: '>=5.2.1,<5.3.0a0'
- harfbuzz: '>=7.3.0,<8.0a0'
+ harfbuzz: '>=8.2.1,<9.0a0'
lcms2: '>=2.15,<3.0a0'
libcups: '>=2.3.3,<2.4.0a0'
libgcc-ng: '>=12'
- libjpeg-turbo: '>=2.1.5.1,<3.0a0'
+ libjpeg-turbo: '>=3.0.0,<4.0a0'
libpng: '>=1.6.39,<1.7.0a0'
libstdcxx-ng: '>=12'
libzlib: '>=1.2.13,<1.3.0a0'
- xorg-libx11: '>=1.8.4,<2.0a0'
+ xorg-libx11: '>=1.8.6,<2.0a0'
xorg-libxext: '>=1.3.4,<2.0a0'
xorg-libxi: ''
- xorg-libxrender: ''
+ xorg-libxrender: '>=0.9.11,<0.10.0a0'
xorg-libxt: '>=1.3.0,<2.0a0'
xorg-libxtst: ''
hash:
- md5: f71bdbfbe2a91520b9b488481f02237f
- sha256: a5b3b870378c505427eb7da7fb61829ed1b4ca1579422f6a1aa9e310dca86bed
+ md5: 06cb6ddea2e4639d2d8d91626d0eba3b
+ sha256: 0a88fdee61322f37bae674222488fc1153f1211312028c624db3f08bfda30617
manager: conda
name: openjdk
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/openjdk-20.0.0-h8e330f5_0.conda
- version: 20.0.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/openjdk-20.0.2-haa376d0_2.conda
+ version: 20.0.2
- category: main
dependencies:
libgcc-ng: '>=12'
@@ -5006,14 +5011,14 @@ package:
python_abi: 3.9.* *_cp39
pytz: '>=2020.1'
hash:
- md5: 961b398d8c421a3752e26f01f2dcbdac
- sha256: cb67f58e2a5c3c5f033e5901dbc067fcf8b1caebb8c9afd728471c9e75f2073f
+ md5: 95aaa7baa61432a1ce85dedb7b86d2dd
+ sha256: d5f6266055a68907a5d5177f45b57321ff3b98e4f27e3e155ab9b27888c2991e
manager: conda
name: pandas
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/pandas-2.1.3-py39hddac248_0.conda
- version: 2.1.3
+ url: https://conda.anaconda.org/conda-forge/linux-64/pandas-2.2.0-py39hddac248_0.conda
+ version: 2.2.0
- category: main
dependencies:
cairo: '>=1.16.0,<2.0a0'
@@ -5021,18 +5026,18 @@ package:
fonts-conda-ecosystem: ''
freetype: '>=2.12.1,<3.0a0'
fribidi: '>=1.0.10,<2.0a0'
- harfbuzz: '>=7.1.0,<8.0a0'
+ harfbuzz: '>=8.1.1,<9.0a0'
libgcc-ng: '>=12'
- libglib: '>=2.76.1,<3.0a0'
+ libglib: '>=2.76.4,<3.0a0'
libpng: '>=1.6.39,<1.7.0a0'
hash:
- md5: cde553e0e32389e26595db4eacf859eb
- sha256: 3bb7cf6e826fa6d867318ba4866470b02d2efcc1dcd6b8b6307afaa8ac21aff4
+ md5: 1a66c10f6a0da3dbd2f3a68127e7f6a0
+ sha256: 6ecce306b7ac4acf1184eb5b045e57e613e19e99c27d57f33eb255f8a9120a93
manager: conda
name: pango
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/pango-1.50.14-heaa33ce_1.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/pango-1.50.14-ha41ecd1_2.conda
version: 1.50.14
- category: main
dependencies:
@@ -5041,29 +5046,29 @@ package:
pynacl: '>=1.5'
python: '>=3.6'
hash:
- md5: 8d4563992b27cdb8e673d1ca16962c9d
- sha256: 9139c13cb7ea5729af862db5fb0523daa5900b9b4fa36637cd7f9c01be665f80
+ md5: a5e792523b028b06d7ce6e65a6cd4a33
+ sha256: 2e66359261954a79b66858c30e69ea6dd4380bf8bd733940527386b25e31dd13
manager: conda
name: paramiko
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/paramiko-3.3.1-pyhd8ed1ab_0.conda
- version: 3.3.1
+ url: https://conda.anaconda.org/conda-forge/noarch/paramiko-3.4.0-pyhd8ed1ab_0.conda
+ version: 3.4.0
- category: main
dependencies:
annotated-types: '>=0.4.0'
- pydantic-core: 2.14.5
+ pydantic-core: 2.14.6
python: '>=3.7'
typing-extensions: '>=4.6.1'
hash:
- md5: 3f908ebfccbfd09946961862d26bb9af
- sha256: e3baa6424af931d8d7c5a0554b24d85faf3471df8036181d598065beed3096de
+ md5: 3569001fd8b37e542aaefdf5de124e19
+ sha256: 07ec778cbf17737b740f0547fb5cba91a7bff52945fe637287458e4119c58ffe
manager: conda
name: pydantic
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.5.2-pyhd8ed1ab_0.conda
- version: 2.5.2
+ url: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.5.3-pyhd8ed1ab_0.conda
+ version: 2.5.3
- category: main
dependencies:
cryptography: '>=38.0.0,<41'
@@ -5113,16 +5118,16 @@ package:
- category: main
dependencies:
botocore: '>=1.33.2,<2.0a.0'
- python: '>=3.7'
+ python: '>=3.8'
hash:
- md5: 75e12933f4bf755c9cdd37072bcb6203
- sha256: 2e5679abcec8eb646df37518ecdbdaa224d7ff5295a1e56707317d52b47d9c79
+ md5: 2d52125a7fe49248ce5e883fed6c935a
+ sha256: 5f1fccbbc0460971f12dda7ab0465d8f6037486042d156b611881e57d218ce95
manager: conda
name: s3transfer
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.8.2-pyhd8ed1ab_0.conda
- version: 0.8.2
+ url: https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.10.0-pyhd8ed1ab_0.conda
+ version: 0.10.0
- category: main
dependencies:
attrs: ''
@@ -5169,7 +5174,7 @@ package:
version: 3.3.1
- category: main
dependencies:
- awscrt: 0.19.18
+ awscrt: '>=0.19.18,<=0.19.19'
colorama: '>=0.2.5,<0.4.7'
cryptography: '>=3.3.2,<=40.0.2'
distro: '>=1.5.0,<1.9.0'
@@ -5184,29 +5189,29 @@ package:
ruamel.yaml.clib: '>=0.2.0,<=0.2.7'
urllib3: '>=1.25.4,<1.27'
hash:
- md5: 5ffefcaa01088d683a89ed416cee51be
- sha256: 272e0c846b7288e179e1a58ce18a5ec1d8bd4f3a0829df27dbe4ebe799ec3f3f
+ md5: 42415f0a777728616a1014d6c2d03570
+ sha256: 94a448e74b118c6cfa22fb2ed950dd5810612ccd76626a8471b0e74595a5c221
manager: conda
name: awscli
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/awscli-2.14.4-py39hf3d152e_0.conda
- version: 2.14.4
+ url: https://conda.anaconda.org/conda-forge/linux-64/awscli-2.15.12-py39hf3d152e_1.conda
+ version: 2.15.12
- category: main
dependencies:
- botocore: '>=1.33.4,<1.34.0'
+ botocore: '>=1.34.23,<1.35.0'
jmespath: '>=0.7.1,<2.0.0'
- python: '>=3.7'
- s3transfer: '>=0.8.2,<0.9.0'
+ python: '>=3.8'
+ s3transfer: '>=0.10.0,<0.11.0'
hash:
- md5: 914d59cf685448451de9ac736cb0fb2a
- sha256: cb63cadfb3c593cb7295b14450e4310af88d32dc1bbf185ec82a325a12e86f28
+ md5: 49c89cef4cf380d165d479bf7f14ee0d
+ sha256: 2098c4255bf6b338c2bd757a53270e3454acd9846ec4c7d67dd9092a6c043cfa
manager: conda
name: boto3
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/boto3-1.33.4-pyhd8ed1ab_0.conda
- version: 1.33.4
+ url: https://conda.anaconda.org/conda-forge/noarch/boto3-1.34.23-pyhd8ed1ab_0.conda
+ version: 1.34.23
- category: main
dependencies:
cachecontrol: 0.13.1 pyhd8ed1ab_0
@@ -5245,31 +5250,31 @@ package:
urllib3: '>=1.26.0'
websocket-client: '>=0.32.0'
hash:
- md5: c95d23d8bae7e21491868cc7772d7c73
- sha256: 7c3031602e92fd7682302ef98a45bdf7374d48a849cdd3900b7c68a32d162177
+ md5: aec5f308cb9055e83c59afecd5fcb58a
+ sha256: b9bf5990dc968123e5817096daddd2105857cfd4c5b94c0937d929bc74fc7a31
manager: conda
name: docker-py
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/docker-py-6.1.3-pyhd8ed1ab_0.conda
- version: 6.1.3
+ url: https://conda.anaconda.org/conda-forge/noarch/docker-py-7.0.0-pyhd8ed1ab_0.conda
+ version: 7.0.0
- category: main
dependencies:
- atk-1.0: '>=2.36.0'
- cairo: '>=1.16.0,<2.0.0a0'
- gdk-pixbuf: '>=2.42.6,<3.0a0'
- gettext: '>=0.19.8.1,<1.0a0'
- libgcc-ng: '>=9.4.0'
- libglib: '>=2.70.2,<3.0a0'
- pango: '>=1.50.3,<1.51.0a0'
+ atk-1.0: '>=2.38.0'
+ cairo: '>=1.18.0,<2.0a0'
+ gdk-pixbuf: '>=2.42.10,<3.0a0'
+ gettext: '>=0.21.1,<1.0a0'
+ libgcc-ng: '>=12'
+ libglib: '>=2.78.3,<3.0a0'
+ pango: '>=1.50.14,<2.0a0'
hash:
- md5: 957a0255ab58aaf394a91725d73ab422
- sha256: 66d189ec36d67309fa3eb52d14d77b82359c10303c400eecc14f8eaca5939b87
+ md5: 0abfa7f9241a0f4fd732bc15773cfb0c
+ sha256: e659f5eca2a5f21d5fe859d8d1dae132a284800eb017b8b4e2286b252a230527
manager: conda
name: gtk2
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/gtk2-2.24.33-h90689f9_2.tar.bz2
+ url: https://conda.anaconda.org/conda-forge/linux-64/gtk2-2.24.33-h7f000aa_3.conda
version: 2.24.33
- category: main
dependencies:
@@ -5305,22 +5310,22 @@ package:
version: 24.3.0
- category: main
dependencies:
- cairo: '>=1.16.0,<2.0a0'
+ cairo: '>=1.18.0,<2.0a0'
gdk-pixbuf: '>=2.42.10,<3.0a0'
gettext: '>=0.21.1,<1.0a0'
libgcc-ng: '>=12'
- libglib: '>=2.76.1,<3.0a0'
- libxml2: '>=2.10.4,<2.11.0a0'
+ libglib: '>=2.78.1,<3.0a0'
+ libxml2: '>=2.12.1,<3.0.0a0'
pango: '>=1.50.14,<2.0a0'
hash:
- md5: 1ec4fab6eb4af1db9056b94265fe19cf
- sha256: 6449497e50d2343c6caf73ad9c74f82341e0c22aca3d6f333869e0a069d0c472
+ md5: 03bd1ddcc942867a19528877143b9852
+ sha256: b82d0c60376da88a2bf15d35d17c176aa923917ad7de4bc62ddef6d02f3518fb
manager: conda
name: librsvg
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.56.0-h5cef280_0.conda
- version: 2.56.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.56.3-he3f83f7_1.conda
+ version: 2.56.3
- category: main
dependencies:
certifi: '>=2020.06.20'
@@ -5383,18 +5388,18 @@ package:
cfgv: '>=2.0.0'
identify: '>=1.0.0'
nodeenv: '>=0.11.1'
- python: '>=3.8'
+ python: '>=3.9'
pyyaml: '>=5.1'
virtualenv: '>=20.10.0'
hash:
- md5: 964e3d762e427661c59263435a14c492
- sha256: 51a4a17334a15ec92805cd075776563ff93b3b6c20732c4cb607c98a761ae02f
+ md5: 473a7cfca197da0a10cff3f6dded7d4b
+ sha256: 7d1f4b4a2eb4946b5808769642c5f643788c3a9e090f1c02a6c63f8794fb3d54
manager: conda
name: pre-commit
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/pre-commit-3.5.0-pyha770c72_0.conda
- version: 3.5.0
+ url: https://conda.anaconda.org/conda-forge/noarch/pre-commit-3.6.0-pyha770c72_0.conda
+ version: 3.6.0
- category: main
dependencies:
__unix: ''
@@ -5414,16 +5419,16 @@ package:
jsonschema: <5,>=3.2
pydantic: '>=1.8,<3'
python: '>=3.7,<4.0'
- typing-extensions: <5,>=4.4
+ typing-extensions: '>=4.4'
hash:
- md5: d9f3ca99e7d10b05ead04edcdcb7e0cb
- sha256: 1bf5fa0d34e4de0843eaa82311e3dd680fdbe02cd74a6945f9b662f504bbcd08
+ md5: cf935f13e0519eef2b83e63a4272ef2d
+ sha256: f588769f8ca933c3b22bc2fb2af55c2783bbe4e2615e9c38adc76163da670e27
manager: conda
name: aws-sam-translator
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/aws-sam-translator-1.81.0-pyhd8ed1ab_0.conda
- version: 1.81.0
+ url: https://conda.anaconda.org/conda-forge/noarch/aws-sam-translator-1.83.0-pyhd8ed1ab_0.conda
+ version: 1.83.0
- category: main
dependencies:
azure-core: <2.0.0,>=1.23.0
@@ -5446,14 +5451,14 @@ package:
python: ''
typing_extensions: ''
hash:
- md5: 23cf1bb1fb33251d3f0caf4198a90782
- sha256: 44363a8ede827c4bac4c1e6535461ab6f12a19c658dff0a4d908c6d1e19c5d70
+ md5: 42ee533bf20660a4132b7f3ce6b45ef9
+ sha256: 72c4234eba8c6d5c125bb21dabc478feb97ab68295e06d1b9fa07a7ec26c6e68
manager: conda
name: boto3-stubs
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/boto3-stubs-1.33.5-pyhd8ed1ab_0.conda
- version: 1.33.5
+ url: https://conda.anaconda.org/conda-forge/noarch/boto3-stubs-1.34.23-pyhd8ed1ab_0.conda
+ version: 1.34.23
- category: main
dependencies:
archspec: ''
@@ -5515,62 +5520,57 @@ package:
version: 1.4.0
- category: main
dependencies:
- cairo: '>=1.16.0,<2.0a0'
- expat: ''
- fontconfig: '>=2.14.2,<3.0a0'
+ cairo: '>=1.18.0,<2.0a0'
fonts-conda-ecosystem: ''
- freetype: '>=2.12.1,<3.0a0'
gdk-pixbuf: '>=2.42.10,<3.0a0'
gtk2: ''
gts: '>=0.7.6,<0.8.0a0'
libexpat: '>=2.5.0,<3.0a0'
libgcc-ng: '>=12'
libgd: '>=2.3.3,<2.4.0a0'
- libglib: '>=2.76.2,<3.0a0'
- librsvg: '>=2.56.0,<3.0a0'
+ libglib: '>=2.78.1,<3.0a0'
+ librsvg: '>=2.56.3,<3.0a0'
libstdcxx-ng: '>=12'
- libtool: ''
- libwebp-base: '>=1.3.0,<2.0a0'
+ libwebp-base: '>=1.3.2,<2.0a0'
libzlib: '>=1.2.13,<1.3.0a0'
pango: '>=1.50.14,<2.0a0'
- zlib: ''
hash:
- md5: 597e2d0e1c6bc2e4457714ff479fe142
- sha256: 4bfb42de2d28406666ef6729169cae3f49c216c5ebd9f34afa40223755e2aaf8
+ md5: a3f4cd4a512ec5db35ffbf25ba11f537
+ sha256: 1813800d655c120a3941d543a6fc64e3c178c737f1c84f6b7ebe1f19f27fa4fb
manager: conda
name: graphviz
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/graphviz-8.0.5-h28d9a01_0.conda
- version: 8.0.5
+ url: https://conda.anaconda.org/conda-forge/linux-64/graphviz-9.0.0-h78e8752_1.conda
+ version: 9.0.0
- category: main
dependencies:
boto3: ''
python: '>=3.6'
typing-extensions: ''
hash:
- md5: 01f46d3078f21041719d2c5fb83200de
- sha256: ef1e693434f0d3c84389e459486d57abda67df228c2671d11285ba73baa5c11a
+ md5: c594f646f5f92ae7f4ea68dc46ce633c
+ sha256: 60ac647a40388267eebdb8e7be63eeec791a8964ed597f1339be8a35d623cc31
manager: conda
name: mypy-boto3-s3
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/mypy-boto3-s3-1.33.2-pyhd8ed1ab_0.conda
- version: 1.33.2
+ url: https://conda.anaconda.org/conda-forge/noarch/mypy-boto3-s3-1.34.14-pyhd8ed1ab_0.conda
+ version: 1.34.14
- category: main
dependencies:
boto3: ''
python: '>=3.6'
typing-extensions: ''
hash:
- md5: 687d78daf8e04f4c5e5cfa92ead666c4
- sha256: 2fecbcc276e13a119ec87602d9547aa537bf690724288d368ebf606351c19f67
+ md5: 0aedc754685324ef7f10093f83b79337
+ sha256: da027403a9333979e734bec2d4089ec3f1a574de451bdc366cd3f9fb06551a1c
manager: conda
name: mypy_boto3_ec2
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/mypy_boto3_ec2-1.33.0-pyhd8ed1ab_0.conda
- version: 1.33.0
+ url: https://conda.anaconda.org/conda-forge/noarch/mypy_boto3_ec2-1.34.17-pyhd8ed1ab_0.conda
+ version: 1.34.17
- category: main
dependencies:
importlib_resources: '>=5.8,<7.0'
@@ -5604,7 +5604,7 @@ package:
version: 0.4.2
- category: main
dependencies:
- aws-sam-translator: '>=1.79.0'
+ aws-sam-translator: '>=1.83.0'
jschema-to-python: '>=1.2.3,<1.3.dev0'
jsonpatch: ''
jsonschema: '>=3.0,<5'
@@ -5616,14 +5616,14 @@ package:
sarif-om: '>=1.0.4,<1.1.dev0'
sympy: '>=1.0.0'
hash:
- md5: 8fa5ac9497fc51cb02377e38500ce964
- sha256: a77254900a3bc62e4c216f1223c9a14982db30e3c24a1b3fcc9cd9dcf3d1f5a4
+ md5: c77ca2cb441d25ab24b73c1318facee1
+ sha256: 6b0c1b6161052c7c2d15b32bc58267316cd5d983e701056fb9fe3e6ade903299
manager: conda
name: cfn-lint
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/cfn-lint-0.83.3-pyhd8ed1ab_0.conda
- version: 0.83.3
+ url: https://conda.anaconda.org/conda-forge/noarch/cfn-lint-0.84.0-pyhd8ed1ab_0.conda
+ version: 0.84.0
- category: main
dependencies:
colorama: ''
@@ -5646,17 +5646,17 @@ package:
conda-standalone: ''
jinja2: ''
pillow: '>=3.1'
- python: '>=3.7'
- ruamel.yaml: '>=0.11.14,<0.18'
+ python: '>=3.8'
+ ruamel.yaml: '>=0.11.14,<0.19'
hash:
- md5: bece1550cd8ce528b234f41c85786ef8
- sha256: a4304eff880a3150e027f8af8d158cc9bf6e6c8444d2affda4e2b17125f44a85
+ md5: d8cb2dfbc95cd06af84d11bf16572270
+ sha256: 78a2b1abf48bdb34a9902caa7bff273ed001758f0845ef0508b347d85c21ca2b
manager: conda
name: constructor
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/constructor-3.5.0-pyhe4f9e05_0.conda
- version: 3.5.0
+ url: https://conda.anaconda.org/conda-forge/noarch/constructor-3.6.0-pyh55f8243_0.conda
+ version: 3.6.0
- category: main
dependencies:
graphviz: '>=2.46.1'
@@ -5699,14 +5699,14 @@ package:
werkzeug: '>=0.5,!=2.2.0,!=2.2.1'
xmltodict: ''
hash:
- md5: cd76850f625a821bd553380913baf5d6
- sha256: 307ce3acd4c5c3b25f25e871924e96ee052c09a8a2832fcb7a89a2dc26f309cb
+ md5: f7a4a329637c29a72236ab2f34225fcd
+ sha256: f6b71acc587d2eeafe926e750f3baa7d45ce406077aa514478b729edc8b82abc
manager: conda
name: moto
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/moto-4.2.10-pyhd8ed1ab_0.conda
- version: 4.2.10
+ url: https://conda.anaconda.org/conda-forge/noarch/moto-4.2.13-pyhd8ed1ab_0.conda
+ version: 4.2.13
- category: main
dependencies:
livereload: '>=2.3.0'
@@ -5726,40 +5726,40 @@ package:
python: '>=3.9'
sphinx: '>=5'
hash:
- md5: aebfabcb60c33a89c1f9290cab49bc93
- sha256: 67e2b386c7b3c858ead88fa71fe4fa5eb1f4f59d7994d167b3910a744db392d3
+ md5: 611a35a27914fac3aa37611a6fe40bb5
+ sha256: 710013443a063518d587d2af82299e92ab6d6695edf35a676ac3a0ccc9e3f8e6
manager: conda
name: sphinxcontrib-applehelp
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-1.0.7-pyhd8ed1ab_0.conda
- version: 1.0.7
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-1.0.8-pyhd8ed1ab_0.conda
+ version: 1.0.8
- category: main
dependencies:
python: '>=3.9'
sphinx: '>=5'
hash:
- md5: ebf08f5184d8eaa486697bc060031953
- sha256: 770e13ebfef321426c09ec51d95c57755512db160518b2922a4337546ee51672
+ md5: d7e4954df0d3aea2eacc7835ad12671d
+ sha256: 63a6b60653ef13a6712848f4b3c4b713d4b564da1dae571893f1a3659cde85f3
manager: conda
name: sphinxcontrib-devhelp
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-devhelp-1.0.5-pyhd8ed1ab_0.conda
- version: 1.0.5
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-devhelp-1.0.6-pyhd8ed1ab_0.conda
+ version: 1.0.6
- category: main
dependencies:
python: '>=3.9'
sphinx: '>=5'
hash:
- md5: a9a89000dfd19656ad004b937eeb6828
- sha256: 5f09cd4a08a6c194c11999871a8c7cedc2cd7edd9ff7ceb6f0667b6698be4cc5
+ md5: 7e1e7437273682ada2ed5e9e9714b140
+ sha256: 512f393cfe34cb3de96ade7a7ad900d6278e2087a1f0e5732aa60fadee396d99
manager: conda
name: sphinxcontrib-htmlhelp
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.0.4-pyhd8ed1ab_0.conda
- version: 2.0.4
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.0.5-pyhd8ed1ab_0.conda
+ version: 2.0.5
- category: main
dependencies:
python: '>=2.7'
@@ -5793,14 +5793,14 @@ package:
python: '>=3.9'
sphinx: '>=5'
hash:
- md5: cf5c9649272c677a964a7313279e3a9b
- sha256: 9ba5cea9cbab64106e8b5a9b19add855dcb52b8fbb1674398c715bccdbc04471
+ md5: 26acae54b06f178681bfb551760f5dd1
+ sha256: dd35b52f056c39081cd0ae01155174277af579b69e5d83798a33e9056ec78d63
manager: conda
name: sphinxcontrib-qthelp
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-1.0.6-pyhd8ed1ab_0.conda
- version: 1.0.6
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-1.0.7-pyhd8ed1ab_0.conda
+ version: 1.0.7
- category: main
dependencies:
alabaster: '>=0.7,<0.8'
@@ -5835,14 +5835,14 @@ package:
python: '>=3.9'
sphinx: '>=5'
hash:
- md5: 0612e497d7860728f2cda421ea2aec09
- sha256: c5710ae7bb7465f25a29cc845d9fb6ad0ea561972d796d379fcb48d801e96d6d
+ md5: e507335cb4ca9cff4c3d0fa9cdab255e
+ sha256: bf80e4c0ff97d5e8e5f6db0831ba60007e820a3a438e8f1afd868aa516d67d6f
manager: conda
name: sphinxcontrib-serializinghtml
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-1.1.9-pyhd8ed1ab_0.conda
- version: 1.1.9
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-1.1.10-pyhd8ed1ab_0.conda
+ version: 1.1.10
- category: main
dependencies: {}
hash:
@@ -5890,12 +5890,12 @@ package:
- dependencies:
typing-extensions: '>=4.2.0'
hash:
- sha256: 9849f031cf8a2f0a928fe885e5a04b08006d6d41876b8bbd2fc68a18f9f2e3fd
+ sha256: 646b2b12df4295b4c3148850c85bff29ef6d0d9621a8d091e98094871a62e5c7
manager: pip
name: pydantic
platform: linux-64
- url: https://files.pythonhosted.org/packages/18/57/11b1e218908aae98d7df4364accc5e5a69db0a9396c011f494c69947e1b9/pydantic-1.10.13-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- version: 1.10.13
+ url: https://files.pythonhosted.org/packages/4f/cb/8313256cfb57f641fe6feb386b1433b61c7a10b5b0c8999807d3ee22d25f/pydantic-1.10.14-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
+ version: 1.10.14
- category: main
dependencies:
ruamel.yaml.clib: '>=0.2.7'
diff --git a/conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64-lean.conda-lock.yml b/conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64-lean.conda-lock.yml
new file mode 100644
index 00000000..9094a807
--- /dev/null
+++ b/conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64-lean.conda-lock.yml
@@ -0,0 +1,2640 @@
+# This lock file was generated by conda-lock (https://github.com/conda-incubator/conda-lock). DO NOT EDIT!
+#
+# A "lock file" contains a concrete list of package versions (with checksums) to be installed. Unlike
+# e.g. `conda env create`, the resulting environment will not change as new package versions become
+# available, unless you explicitly update the lock file.
+#
+# Install this environment as "YOURENV" with:
+# conda-lock install -n YOURENV --file conda-requirements-riscv-tools-linux-64-lean.conda-lock.yml
+# To update a single package to the latest version compatible with the version constraints in the source:
+# conda-lock lock --lockfile conda-requirements-riscv-tools-linux-64-lean.conda-lock.yml --update PACKAGE
+# To re-solve the entire environment, e.g. after changing a version constraint in the source file:
+# conda-lock -f /scratch/joonho.whangbo/coding/chipyard-release-118/conda-reqs/chipyard-base.yaml -f /scratch/joonho.whangbo/coding/chipyard-release-118/conda-reqs/docs.yaml -f /scratch/joonho.whangbo/coding/chipyard-release-118/conda-reqs/riscv-tools.yaml --lockfile conda-requirements-riscv-tools-linux-64-lean.conda-lock.yml
+metadata:
+ channels:
+ - url: ucb-bar
+ used_env_vars: []
+ - url: conda-forge
+ used_env_vars: []
+ - url: litex-hub
+ used_env_vars: []
+ - url: nodefaults
+ used_env_vars: []
+ content_hash:
+ linux-64: 992d6d7f85dd948e8f14b610157acfaad2453e8a2cd692e30ad1a3c340fdbd88
+ platforms:
+ - linux-64
+ sources:
+ - /scratch/joonho.whangbo/coding/chipyard-release-118/conda-reqs/chipyard-base.yaml
+ - /scratch/joonho.whangbo/coding/chipyard-release-118/conda-reqs/docs.yaml
+ - /scratch/joonho.whangbo/coding/chipyard-release-118/conda-reqs/riscv-tools.yaml
+package:
+- category: main
+ dependencies: {}
+ hash:
+ md5: d7c89558ba9fa0495403155b64376d81
+ sha256: fe51de6107f9edc7aa4f786a70f4a883943bc9d39b3bb7307c04c41410990726
+ manager: conda
+ name: _libgcc_mutex
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2
+ version: '0.1'
+- category: main
+ dependencies: {}
+ hash:
+ md5: f6ce7955b53ae1ca83144adb3be9c600
+ sha256: 546e4eb1cbd822a66b363ec3fbdcc4fcc53853bcab57674cb46b8f3209b856f2
+ manager: conda
+ name: _sysroot_linux-64_curr_repodata_hack
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/_sysroot_linux-64_curr_repodata_hack-3-h69a702a_13.conda
+ version: '3'
+- category: main
+ dependencies: {}
+ hash:
+ md5: 01ffc8d36f9eba0ce0b3c1955fa780ee
+ sha256: fb4b9f4b7d885002db0b93e22f44b5b03791ef3d4efdc9d0662185a0faafd6b6
+ manager: conda
+ name: ca-certificates
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2023.11.17-hbcca054_0.conda
+ version: 2023.11.17
+- category: main
+ dependencies: {}
+ hash:
+ md5: 0c96522c6bdaed4b1566d11387caaf45
+ sha256: 58d7f40d2940dd0a8aa28651239adbf5613254df0f75789919c4e6762054403b
+ manager: conda
+ name: font-ttf-dejavu-sans-mono
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2
+ version: '2.37'
+- category: main
+ dependencies: {}
+ hash:
+ md5: 34893075a5c9e55cdafac56607368fc6
+ sha256: c52a29fdac682c20d252facc50f01e7c2e7ceac52aa9817aaf0bb83f7559ec5c
+ manager: conda
+ name: font-ttf-inconsolata
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2
+ version: '3.000'
+- category: main
+ dependencies: {}
+ hash:
+ md5: 4d59c254e01d9cde7957100457e2d5fb
+ sha256: 00925c8c055a2275614b4d983e1df637245e19058d79fc7dd1a93b8d9fb4b139
+ manager: conda
+ name: font-ttf-source-code-pro
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2
+ version: '2.038'
+- category: main
+ dependencies: {}
+ hash:
+ md5: 6185f640c43843e5ad6fd1c5372c3f80
+ sha256: 056c85b482d58faab5fd4670b6c1f5df0986314cca3bc831d458b22e4ef2c792
+ manager: conda
+ name: font-ttf-ubuntu
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_1.conda
+ version: '0.83'
+- category: main
+ dependencies: {}
+ hash:
+ md5: 7aca3059a1729aa76c597603f10b0dd3
+ sha256: f6cc89d887555912d6c61b295d398cff9ec982a3417d38025c45d5dd9b9e79cd
+ manager: conda
+ name: ld_impl_linux-64
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.40-h41732ed_0.conda
+ version: '2.40'
+- category: main
+ dependencies: {}
+ hash:
+ md5: 2390dcf3fd78c2c426f1c5b6664fa4b7
+ sha256: 12904b795e5cb877ce6a7bb30feba9bfbe1dd38bd5f520e6af8d89a51bb6b6a6
+ manager: conda
+ name: libgcc-devel_linux-64
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-11.4.0-h922705a_103.conda
+ version: 11.4.0
+- category: main
+ dependencies: {}
+ hash:
+ md5: be10a739476d68c464101836773463f1
+ sha256: 4957848888d7a8cdc77c605357e759f0c9b08c18510f08a205f567666602ca2b
+ manager: conda
+ name: libstdcxx-devel_linux-64
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-11.4.0-h922705a_103.conda
+ version: 11.4.0
+- category: main
+ dependencies: {}
+ hash:
+ md5: 937eaed008f6bf2191c5fe76f87755e9
+ sha256: 6c6c49efedcc5709a66f19fb6b26b69c6a5245310fd1d9a901fd5e38aaf7f882
+ manager: conda
+ name: libstdcxx-ng
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-13.2.0-h7e041cc_3.conda
+ version: 13.2.0
+- category: main
+ dependencies: {}
+ hash:
+ md5: 26322ec5d7712c3ded99dd656142b8ce
+ sha256: 456bec815bfc2b364763084d08b412fdc4c17eb9ccc66a36cb775fa7ac3cbaec
+ manager: conda
+ name: python_abi
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.10-4_cp310.conda
+ version: '3.10'
+- category: main
+ dependencies: {}
+ hash:
+ md5: 8dee24b8be2d9ff81e7bd4d7d97ff1b0
+ sha256: 04f2ab3e36f2015841551415bf16bf62933bd94b7085d4be5493b388e95a9c3d
+ manager: conda
+ name: tzdata
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/tzdata-2023d-h0c530f3_0.conda
+ version: 2023d
+- category: main
+ dependencies:
+ font-ttf-dejavu-sans-mono: ''
+ font-ttf-inconsolata: ''
+ font-ttf-source-code-pro: ''
+ font-ttf-ubuntu: ''
+ hash:
+ md5: f766549260d6815b0c52253f1fb1bb29
+ sha256: 53f23a3319466053818540bcdf2091f253cbdbab1e0e9ae7b9e509dcaa2a5e38
+ manager: conda
+ name: fonts-conda-forge
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-0.tar.bz2
+ version: '1'
+- category: main
+ dependencies:
+ _sysroot_linux-64_curr_repodata_hack: 3.*
+ hash:
+ md5: 523bc836a954faf0cca94831971bb85a
+ sha256: 67a3caa56e2a59f407f3d290437b865aaf996873006e2fcfca6295d0f0be8db9
+ manager: conda
+ name: kernel-headers_linux-64
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-64-3.10.0-h4a8ded7_13.tar.bz2
+ version: 3.10.0
+- category: main
+ dependencies:
+ _libgcc_mutex: 0.1 conda_forge
+ hash:
+ md5: 7124cbb46b13d395bdde68f2d215c989
+ sha256: 6ebedee39b6bbbc969715d0d7fa4b381cce67e1139862604ffa393f821c08e81
+ manager: conda
+ name: libgomp
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libgomp-13.2.0-h807b86a_3.conda
+ version: 13.2.0
+- category: main
+ dependencies:
+ _libgcc_mutex: 0.1 conda_forge
+ libgomp: '>=7.5.0'
+ hash:
+ md5: 73aaf86a425cc6e73fcf236a5a46396d
+ sha256: fbe2c5e56a653bebb982eda4876a9178aedfc2b545f25d0ce9c4c0b508253d22
+ manager: conda
+ name: _openmp_mutex
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2
+ version: '4.5'
+- category: main
+ dependencies:
+ fonts-conda-forge: ''
+ hash:
+ md5: fee5683a3f04bd15cbd8318b096a27ab
+ sha256: a997f2f1921bb9c9d76e6fa2f6b408b7fa549edd349a77639c9fe7a23ea93e61
+ manager: conda
+ name: fonts-conda-ecosystem
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2
+ version: '1'
+- category: main
+ dependencies:
+ _sysroot_linux-64_curr_repodata_hack: 3.*
+ kernel-headers_linux-64: 3.10.0 h4a8ded7_13
+ hash:
+ md5: 57e5a5191ffe999b9f4dfdbcd0ddcba4
+ sha256: f09f2fea4b571dcd225f1e35bd3c851e809cd4c2f5f151438133969ab28478e5
+ manager: conda
+ name: sysroot_linux-64
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-64-2.17-h4a8ded7_13.tar.bz2
+ version: '2.17'
+- category: main
+ dependencies:
+ ld_impl_linux-64: 2.40 h41732ed_0
+ sysroot_linux-64: ''
+ hash:
+ md5: 33084421a8c0af6aef1b439707f7662a
+ sha256: a7e0ea2b71a5b03d82e5a58fb6b612ab1c44d72ce161f9aa441f7ba467cd4c8d
+ manager: conda
+ name: binutils_impl_linux-64
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/binutils_impl_linux-64-2.40-hf600244_0.conda
+ version: '2.40'
+- category: main
+ dependencies:
+ _libgcc_mutex: 0.1 conda_forge
+ _openmp_mutex: '>=4.5'
+ hash:
+ md5: 23fdf1fef05baeb7eadc2aed5fb0011f
+ sha256: 5e88f658e07a30ab41b154b42c59f079b168acfa9551a75bdc972099453f4105
+ manager: conda
+ name: libgcc-ng
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-13.2.0-h807b86a_3.conda
+ version: 13.2.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 75dae9a4201732aa78a530b826ee5fe0
+ sha256: 51147922bad9d3176e780eb26f748f380cd3184896a9f9125d8ac64fe330158b
+ manager: conda
+ name: alsa-lib
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.10-hd590300_0.conda
+ version: 1.2.10
+- category: main
+ dependencies:
+ binutils_impl_linux-64: '>=2.40,<2.41.0a0'
+ hash:
+ md5: ccc940fddbc3fcd3d79cd4c654c4b5c4
+ sha256: 35f3b042f295fd7387de11cf426ca8ee5257e5c98b88560c6c5ad4ef3c85d38c
+ manager: conda
+ name: binutils
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/binutils-2.40-hdd6e379_0.conda
+ version: '2.40'
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 69b8b6202a07720f448be700e300ccf4
+ sha256: 242c0c324507ee172c0e0dd2045814e746bb303d1eb78870d182ceb0abc726a8
+ manager: conda
+ name: bzip2
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hd590300_5.conda
+ version: 1.0.8
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 89e40af02dd3a0846c0c1131c5126706
+ sha256: c4bbdafd6791583e3c77e8ed0e1df9e0021d542249c3543de3d72788f5c8a0c4
+ manager: conda
+ name: c-ares
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.25.0-hd590300_0.conda
+ version: 1.25.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: ff6707b0adc04518a452a0340db13a07
+ sha256: 5f5400cb5a27389f78422c9864fa948734989568a3fcfdde8bbee0f92077d056
+ manager: conda
+ name: coreutils
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/coreutils-9.4-hd590300_0.conda
+ version: '9.4'
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 14947d8770185e5153fdd04d4673ed37
+ sha256: 4fcfedc44e4c9a053f0416f9fc6ab6ed50644fca3a761126dbd00d09db1f546a
+ manager: conda
+ name: gettext
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/gettext-0.21.1-h27087fc_0.tar.bz2
+ version: 0.21.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 96f3b11872ef6fad973eac856cd2624f
+ sha256: 41ec165704ccce2faa0437f4f53c03c06261a2cc9ff7614828e51427d9261f4b
+ manager: conda
+ name: giflib
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/giflib-5.2.1-h0b41bf4_3.conda
+ version: 5.2.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libstdcxx-ng: '>=12'
+ hash:
+ md5: 0e33ef437202db431aa5a928248cf2e8
+ sha256: 2a50495b6bbbacb03107ea0b752d8358d4a40b572d124a8cade068c147f344f5
+ manager: conda
+ name: gmp
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-h59595ed_0.conda
+ version: 6.3.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=7.5.0'
+ libstdcxx-ng: '>=7.5.0'
+ hash:
+ md5: 8c54672728e8ec6aa6db90cf2806d220
+ sha256: 65da967f3101b737b08222de6a6a14e20e480e7d523a5d1e19ace7b960b5d6b1
+ manager: conda
+ name: graphite2
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.13-h58526e2_1001.tar.bz2
+ version: 1.3.13
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libstdcxx-ng: '>=12'
+ hash:
+ md5: cc47e1facc155f91abd89b11e48e72ff
+ sha256: e12fd90ef6601da2875ebc432452590bc82a893041473bc1c13ef29001a73ea8
+ manager: conda
+ name: icu
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/icu-73.2-h59595ed_0.conda
+ version: '73.2'
+- category: main
+ dependencies:
+ libgcc-ng: '>=10.3.0'
+ hash:
+ md5: 30186d27e2c9fa62b45fb1476b7200e3
+ sha256: 150c05a6e538610ca7c43beb3a40d65c90537497a4f6a5f4d15ec0451b6f5ebb
+ manager: conda
+ name: keyutils
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.1-h166bdaf_0.tar.bz2
+ version: 1.6.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libstdcxx-ng: '>=12'
+ hash:
+ md5: 76bbff344f0134279f225174e9064c8f
+ sha256: cb55f36dcd898203927133280ae1dc643368af041a48bcf7c026acb7c47b0c12
+ manager: conda
+ name: lerc
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.0.0-h27087fc_0.tar.bz2
+ version: 4.0.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 1635570038840ee3f9c71d22aa5b8b6d
+ sha256: 985ad27aa0ba7aad82afa88a8ede6a1aacb0aaca950d710f15d85360451e72fd
+ manager: conda
+ name: libdeflate
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.19-hd590300_0.conda
+ version: '1.19'
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 172bf1cd1ff8629f2b1179945ed45055
+ sha256: 1cd6048169fa0395af74ed5d8f1716e22c19a81a8a36f934c110ca3ad4dd27b4
+ manager: conda
+ name: libev
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-hd590300_2.conda
+ version: '4.33'
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 6305a3dd2752c76335295da4e581f2fd
+ sha256: 74c98a563777ae2ad71f1f74d458a8ab043cee4a513467c159ccf159d0e461f3
+ manager: conda
+ name: libexpat
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.5.0-hcb278e6_1.conda
+ version: 2.5.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: b479e94095fbb82702d736b1c100c0e8
+ sha256: a4490042212d56d6a0f13ebd172f6be7524a9229a94820cd7d12c57d95b3f8cd
+ manager: conda
+ name: libfdt
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libfdt-1.6.1-h166bdaf_2.tar.bz2
+ version: 1.6.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.4.0'
+ hash:
+ md5: d645c6d2ac96843a2bfaccd2d62b3ac3
+ sha256: ab6e9856c21709b7b517e940ae7028ae0737546122f83c2aa5d692860c3b149e
+ manager: conda
+ name: libffi
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.4.2-h7f98852_5.tar.bz2
+ version: 3.4.2
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: d66573916ffcf376178462f1b61c941e
+ sha256: 8ac2f6a9f186e76539439e50505d98581472fedb347a20e7d1f36429849f05c9
+ manager: conda
+ name: libiconv
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.17-hd590300_2.conda
+ version: '1.17'
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: ea25936bb4080d843790b586850f82b8
+ sha256: b954e09b7e49c2f2433d6f3bb73868eda5e378278b0f8c1dd10a7ef090e14f2f
+ manager: conda
+ name: libjpeg-turbo
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.0.0-hd590300_1.conda
+ version: 3.0.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 30fd6e37fe21f86f4bd26d6ee73eeec7
+ sha256: 26d77a3bb4dceeedc2a41bd688564fe71bf2d149fdcf117049970bc02ff1add6
+ manager: conda
+ name: libnsl
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hd590300_0.conda
+ version: 2.0.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=11.4.0'
+ hash:
+ md5: e6f89a7be0ec320c1b1746971045b0e7
+ sha256: c4c5c87f5c717e83299740f6a20393f9a131f05e2e9df63faafd6bb71dc58346
+ manager: conda
+ name: libsanitizer
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-11.4.0-h4dcbe23_3.conda
+ version: 11.4.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 40b61aab5c7ba9ff276c41cfffe6b80b
+ sha256: 787eb542f055a2b3de553614b25f09eefb0a0931b0c87dbcce6efdfd92f04f18
+ manager: conda
+ name: libuuid
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.38.1-h0b41bf4_0.conda
+ version: 2.38.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 30de3fd9b3b602f7473f30e684eeea8c
+ sha256: 68764a760fa81ef35dacb067fe8ace452bbb41476536a4a147a1051df29525f0
+ manager: conda
+ name: libwebp-base
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.3.2-hd590300_0.conda
+ version: 1.3.2
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 5aa797f8787fe7a17d1b0821485b5adc
+ sha256: 6ae68e0b86423ef188196fff6207ed0c8195dd84273cb5623b85aa08033a410c
+ manager: conda
+ name: libxcrypt
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda
+ version: 4.4.36
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: f36c115f1ee199da648e0597ec2047ad
+ sha256: 370c7c5893b737596fd6ca0d9190c9715d89d888b8c88537ae1ef168c25e82e4
+ manager: conda
+ name: libzlib
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.2.13-hd590300_5.conda
+ version: 1.2.13
+- category: main
+ dependencies:
+ libgcc-ng: '>=7.5.0'
+ hash:
+ md5: 4abb931c0d08a41583fc637c663e45e2
+ sha256: b8e37b92caab5a64a9e344f3d497b9d3e215d1e6211f6dc7c51b70799aab1da1
+ manager: conda
+ name: m4
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/m4-1.4.18-h516909a_1001.tar.bz2
+ version: 1.4.18
+- category: main
+ dependencies:
+ libgcc-ng: '>=7.5.0'
+ hash:
+ md5: 4049ebfd3190b580dffe76daed26155a
+ sha256: 4a5fe7c80bb0de0015328e2d3fc8db1736f528cb1fd53cd0d5527e24269a4f7c
+ manager: conda
+ name: make
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/make-4.3-hd18ef5c_1.tar.bz2
+ version: '4.3'
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 7dbaa197d7ba6032caf7ae7f32c1efa0
+ sha256: 91cc03f14caf96243cead96c76fe91ab5925a695d892e83285461fb927dece5e
+ manager: conda
+ name: ncurses
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.4-h59595ed_2.conda
+ version: '6.4'
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 77dab674d16c1525ebe65e67de30de0d
+ sha256: dec1c78df7670d34880f71f75ac716f082d087494b4a2c6a90d5d75a82c933ed
+ manager: conda
+ name: oniguruma
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/oniguruma-6.9.9-hd590300_0.conda
+ version: 6.9.9
+- category: main
+ dependencies:
+ ca-certificates: ''
+ libgcc-ng: '>=12'
+ hash:
+ md5: 603827b39ea2b835268adb8c821b8570
+ sha256: 80efc6f429bd8e622d999652e5cba2ca56fcdb9c16a439d2ce9b4313116e4a87
+ manager: conda
+ name: openssl
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.2.0-hd590300_1.conda
+ version: 3.2.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libstdcxx-ng: '>=12'
+ hash:
+ md5: 6b4b43013628634b6cfdee6b74fd696b
+ sha256: 07a5ffcd34e241f900433af4c6d4904518aab76add4e1e40a2c4bad93ae43f2b
+ manager: conda
+ name: pixman
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.43.0-h59595ed_0.conda
+ version: 0.43.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=7.5.0'
+ hash:
+ md5: 22dad4df6e8630e8dff2428f6f6a7036
+ sha256: 67c84822f87b641d89df09758da498b2d4558d47b920fd1d3fe6d3a871e000ff
+ manager: conda
+ name: pthread-stubs
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-h36c2ea0_1001.tar.bz2
+ version: '0.4'
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.3.0'
+ hash:
+ md5: bcd1b3396ec6960cbc1d2855a9e60b2b
+ sha256: 6c8c2803de0f643f8bad16ece3f9a7259e4a49247543239c182d66d5e3a129a7
+ manager: conda
+ name: xorg-inputproto
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-inputproto-2.3.2-h7f98852_1002.tar.bz2
+ version: 2.3.2
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.3.0'
+ hash:
+ md5: 4b230e8381279d76131116660f5a241a
+ sha256: e90b0a6a5d41776f11add74aa030f789faf4efd3875c31964d6f9cfa63a10dd1
+ manager: conda
+ name: xorg-kbproto
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-kbproto-1.0.7-h7f98852_1002.tar.bz2
+ version: 1.0.7
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: b462a33c0be1421532f28bfe8f4a7514
+ sha256: 5aa9b3682285bb2bf1a8adc064cb63aff76ef9178769740d855abb42b0d24236
+ manager: conda
+ name: xorg-libice
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.1-hd590300_0.conda
+ version: 1.1.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 2c80dc38fface310c9bd81b17037fee5
+ sha256: 309751371d525ce50af7c87811b435c176915239fc9e132b99a25d5e1703f2d4
+ manager: conda
+ name: xorg-libxau
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.11-hd590300_0.conda
+ version: 1.0.11
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.3.0'
+ hash:
+ md5: be93aabceefa2fac576e971aef407908
+ sha256: 4df7c5ee11b8686d3453e7f3f4aa20ceef441262b49860733066c52cfd0e4a77
+ manager: conda
+ name: xorg-libxdmcp
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.3-h7f98852_0.tar.bz2
+ version: 1.1.3
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.3.0'
+ hash:
+ md5: 2f835e6c386e73c6faaddfe9eda67e98
+ sha256: 4b91d48fed368c83eafd03891ebfd5bae0a03adc087ebea8a680ae22da99a85f
+ manager: conda
+ name: xorg-recordproto
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-recordproto-1.14.2-h7f98852_1002.tar.bz2
+ version: 1.14.2
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.3.0'
+ hash:
+ md5: 06feff3d2634e3097ce2fe681474b534
+ sha256: 38942930f233d1898594dd9edf4b0c0786f3dbc12065a0c308634c37fd936034
+ manager: conda
+ name: xorg-renderproto
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-renderproto-0.11.1-h7f98852_1002.tar.bz2
+ version: 0.11.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: bce9f945da8ad2ae9b1d7165a64d0f87
+ sha256: b8dda3b560e8a7830fe23be1c58cc41f407b2e20ae2f3b6901eb5842ba62b743
+ manager: conda
+ name: xorg-xextproto
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-xextproto-7.3.0-h0b41bf4_1003.conda
+ version: 7.3.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.3.0'
+ hash:
+ md5: b4a4381d54784606820704f7b5f05a15
+ sha256: f197bb742a17c78234c24605ad1fe2d88b1d25f332b75d73e5ba8cf8fbc2a10d
+ manager: conda
+ name: xorg-xproto
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-xproto-7.0.31-h7f98852_1007.tar.bz2
+ version: 7.0.31
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 2161070d867d1b1204ea749c8eec4ef0
+ sha256: 03a6d28ded42af8a347345f82f3eebdd6807a08526d47899a42d62d319609162
+ manager: conda
+ name: xz
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xz-5.2.6-h166bdaf_0.tar.bz2
+ version: 5.2.6
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.4.0'
+ hash:
+ md5: 4cb3ad778ec2d5a7acbdf254eb1c42ae
+ sha256: a4e34c710eeb26945bdbdaba82d3d74f60a78f54a874ec10d373811a5d217535
+ manager: conda
+ name: yaml
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h7f98852_2.tar.bz2
+ version: 0.2.5
+- category: main
+ dependencies:
+ libfdt: '>=1.6.1,<1.7.0a0'
+ libgcc-ng: '>=12'
+ yaml: '>=0.2.5,<0.3.0a0'
+ hash:
+ md5: 22b23b5006eb63ed81af6a84569c930e
+ sha256: 5a056172bd4fee3f6dd21441bfdd3c9960d3a637f48e8dfe16d3a7aa56e883a5
+ manager: conda
+ name: dtc
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/dtc-1.6.1-h166bdaf_2.tar.bz2
+ version: 1.6.1
+- category: main
+ dependencies:
+ libexpat: 2.5.0 hcb278e6_1
+ libgcc-ng: '>=12'
+ hash:
+ md5: 8b9b5aca60558d02ddaa09d599e55920
+ sha256: 36dfeb4375059b3bba75ce9b38c29c69fd257342a79e6cf20e9f25c1523f785f
+ manager: conda
+ name: expat
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/expat-2.5.0-hcb278e6_1.conda
+ version: 2.5.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=7.5.0'
+ libstdcxx-ng: '>=7.5.0'
+ m4: ''
+ hash:
+ md5: b1029ec81c7e0969e84a8179d039a9ce
+ sha256: 5a6dba5af1127e859eefd68e77b7af062b42f85401efbb43a970da977ba3e344
+ manager: conda
+ name: flex
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/flex-2.6.4-h58526e2_1004.tar.bz2
+ version: 2.6.4
+- category: main
+ dependencies:
+ binutils_impl_linux-64: '>=2.39'
+ libgcc-devel_linux-64: 11.4.0 h922705a_103
+ libgcc-ng: '>=11.4.0'
+ libgomp: '>=11.4.0'
+ libsanitizer: 11.4.0 h4dcbe23_3
+ libstdcxx-ng: '>=11.4.0'
+ sysroot_linux-64: ''
+ hash:
+ md5: b17749a6ae62cf9a5eafd96a6bcaad0e
+ sha256: 24d34853611b8758c40fa9d6a0d0b738312f51af9fed8fa6c6422f15ec475763
+ manager: conda
+ name: gcc_impl_linux-64
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-11.4.0-h7aa1c59_3.conda
+ version: 11.4.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ oniguruma: '>=6.9.9,<6.10.0a0'
+ hash:
+ md5: 80814f94713e35df60aad6c4b235de87
+ sha256: a04a1603e405ea9ae5c4a492a8e361086cb441a91ef7299bd4bf3eca0b485b6d
+ manager: conda
+ name: jq
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/jq-1.7.1-hd590300_0.conda
+ version: 1.7.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=7.5.0'
+ ncurses: '>=6.2,<7.0.0a0'
+ hash:
+ md5: 4d331e44109e3f0e19b4cb8f9b82f3e1
+ sha256: a57d37c236d8f7c886e01656f4949d9dcca131d2a0728609c6f7fa338b65f1cf
+ manager: conda
+ name: libedit
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20191231-he28a2e2_2.tar.bz2
+ version: 3.1.20191231
+- category: main
+ dependencies:
+ c-ares: '>=1.23.0,<2.0a0'
+ libev: '>=4.33,<5.0a0'
+ libgcc-ng: '>=12'
+ libstdcxx-ng: '>=12'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ openssl: '>=3.2.0,<4.0a0'
+ hash:
+ md5: 700ac6ea6d53d5510591c4344d5c989a
+ sha256: 1910c5306c6aa5bcbd623c3c930c440e9c77a5a019008e1487810e3c1d3716cb
+ manager: conda
+ name: libnghttp2
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.58.0-h47da74e_1.conda
+ version: 1.58.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ hash:
+ md5: e1c890aebdebbfbf87e2c917187b4416
+ sha256: a32b36d34e4f2490b99bddbc77d01a674d304f667f0e62c89e02c961addef462
+ manager: conda
+ name: libpng
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.39-h753d276_0.conda
+ version: 1.6.39
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ hash:
+ md5: 3b6a9f225c3dbe0d24f4fedd4625c5bf
+ sha256: ee2c4d724a3ed60d5b458864d66122fb84c6ce1df62f735f90d8db17b66cd88a
+ manager: conda
+ name: libsqlite
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.44.2-h2797004_0.conda
+ version: 3.44.2
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ openssl: '>=3.1.1,<4.0a0'
+ hash:
+ md5: 1f5a58e686b13bcfde88b93f547d23fe
+ sha256: 50e47fd9c4f7bf841a11647ae7486f65220cfc988ec422a4475fe8d5a823824d
+ manager: conda
+ name: libssh2
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.0-h0841786_0.conda
+ version: 1.11.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ pthread-stubs: ''
+ xorg-libxau: ''
+ xorg-libxdmcp: ''
+ hash:
+ md5: 33277193f5b92bad9fdd230eb700929c
+ sha256: a670902f0a3173a466c058d2ac22ca1dd0df0453d3a80e0212815c20a16b0485
+ manager: conda
+ name: libxcb
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.15-h0b41bf4_0.conda
+ version: '1.15'
+- category: main
+ dependencies:
+ gmp: '>=6.2.1,<7.0a0'
+ libgcc-ng: '>=12'
+ hash:
+ md5: 4c28f3210b30250037a4a627eeee9e0f
+ sha256: 008230a53ff15cf61966476b44f7ba2c779826825b9ca639a0a2b44d8f7aa6cb
+ manager: conda
+ name: mpfr
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/mpfr-4.2.1-h9458935_0.conda
+ version: 4.2.1
+- category: main
+ dependencies:
+ bzip2: '>=1.0.8,<2.0a0'
+ libgcc-ng: '>=12'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ hash:
+ md5: 679c8961826aa4b50653bce17ee52abe
+ sha256: 3ca54ff0abcda964af7d4724d389ae20d931159ae1881cfe57ad4b0ab9e6a380
+ manager: conda
+ name: pcre2
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.42-hcad00b1_0.conda
+ version: '10.42'
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libxcrypt: '>=4.4.36'
+ hash:
+ md5: f2cfec9406850991f4e3d960cc9e3321
+ sha256: 9ec32b6936b0e37bcb0ed34f22ec3116e75b3c0964f9f50ecea5f58734ed6ce9
+ manager: conda
+ name: perl
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/perl-5.32.1-7_hd590300_perl5.conda
+ version: 5.32.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ ncurses: '>=6.3,<7.0a0'
+ hash:
+ md5: 47d31b792659ce70f470b5c82fdfb7a4
+ sha256: 5435cf39d039387fbdc977b0a762357ea909a7694d9528ab40f005e9208744d7
+ manager: conda
+ name: readline
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8228510_1.conda
+ version: '8.2'
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ hash:
+ md5: d453b98d9c83e71da0741bb0ff4d76bc
+ sha256: e0569c9caa68bf476bead1bed3d79650bb080b532c64a4af7d8ca286c08dea4e
+ manager: conda
+ name: tk
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h4845f30_101.conda
+ version: 8.6.13
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.3.0'
+ xorg-xextproto: ''
+ hash:
+ md5: 65ad6e1eb4aed2b0611855aff05e04f6
+ sha256: 5d2af1b40f82128221bace9466565eca87c97726bb80bbfcd03871813f3e1876
+ manager: conda
+ name: xorg-fixesproto
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-fixesproto-5.0-h7f98852_1002.tar.bz2
+ version: '5.0'
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libuuid: '>=2.38.1,<3.0a0'
+ xorg-libice: '>=1.1.1,<2.0a0'
+ hash:
+ md5: 93ee23f12bc2e684548181256edd2cf6
+ sha256: 089ad5f0453c604e18985480218a84b27009e9e6de9a0fa5f4a20b8778ede1f1
+ manager: conda
+ name: xorg-libsm
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.4-h7391055_0.conda
+ version: 1.2.4
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libzlib: 1.2.13 hd590300_5
+ hash:
+ md5: 68c34ec6149623be41a1933ab996a209
+ sha256: 9887a04d7e7cb14bd2b52fa01858f05a6d7f002c890f618d9fcd864adbfecb1b
+ manager: conda
+ name: zlib
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/zlib-1.2.13-hd590300_5.conda
+ version: 1.2.13
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libstdcxx-ng: '>=12'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ hash:
+ md5: 04b88013080254850d6c01ed54810589
+ sha256: 607cbeb1a533be98ba96cf5cdf0ddbb101c78019f1fda063261871dad6248609
+ manager: conda
+ name: zstd
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.5-hfc55251_0.conda
+ version: 1.5.5
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ m4: ''
+ perl: 5.*
+ hash:
+ md5: 50cabb1aee157a18082c7c92cc4b3143
+ sha256: 04868bf7a2737af8c8a828b2c4b59653180a91da9c3ece77bae4e429a1b84cc1
+ manager: conda
+ name: autoconf
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/autoconf-2.71-pl5321h2b4cb7a_1.conda
+ version: '2.71'
+- category: main
+ dependencies:
+ gcc_impl_linux-64: '>=11.4.0,<11.4.1.0a0'
+ hash:
+ md5: 42003d7074d4daaf287d19987cd927bf
+ sha256: 2c30ddc6cb51a03fb5f671f55eaabcb9208d6ce701e6de2234518eec43a6f2d1
+ manager: conda
+ name: conda-gcc-specs
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/conda-gcc-specs-11.4.0-h240829a_3.conda
+ version: 11.4.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libpng: '>=1.6.39,<1.7.0a0'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ hash:
+ md5: 9ae35c3d96db2c94ce0cef86efdfa2cb
+ sha256: b2e3c449ec9d907dd4656cb0dc93e140f447175b125a3824b31368b06c666bb6
+ manager: conda
+ name: freetype
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.12.1-h267a509_2.conda
+ version: 2.12.1
+- category: main
+ dependencies:
+ gcc_impl_linux-64: 11.4.0.*
+ hash:
+ md5: 0c8d100583c5fd6d20cd5307aaedaf0d
+ sha256: b515e9222a8af974024b02c7265bed8e4edf912707a5a8fc207cbc8bc2ac0bff
+ manager: conda
+ name: gcc
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/gcc-11.4.0-h7baecda_2.conda
+ version: 11.4.0
+- category: main
+ dependencies:
+ gcc_impl_linux-64: 11.4.0 h7aa1c59_3
+ libstdcxx-devel_linux-64: 11.4.0 h922705a_103
+ sysroot_linux-64: ''
+ hash:
+ md5: dbee4be21eb6dbf596afddf60ff120bf
+ sha256: 424d9989ea82e6777e569de6873cc56229a8982e274409c344473ad89bb7bbb7
+ manager: conda
+ name: gxx_impl_linux-64
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-11.4.0-h7aa1c59_3.conda
+ version: 11.4.0
+- category: main
+ dependencies:
+ keyutils: '>=1.6.1,<2.0a0'
+ libedit: '>=3.1.20191231,<4.0a0'
+ libgcc-ng: '>=12'
+ libstdcxx-ng: '>=12'
+ openssl: '>=3.1.2,<4.0a0'
+ hash:
+ md5: cd95826dbd331ed1be26bdf401432844
+ sha256: 259bfaae731989b252b7d2228c1330ef91b641c9d68ff87dae02cbae682cb3e4
+ manager: conda
+ name: krb5
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.21.2-h659d440_0.conda
+ version: 1.21.2
+- category: main
+ dependencies:
+ gettext: '>=0.21.1,<1.0a0'
+ libffi: '>=3.4,<4.0a0'
+ libgcc-ng: '>=12'
+ libiconv: '>=1.17,<2.0a0'
+ libstdcxx-ng: '>=12'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ pcre2: '>=10.42,<10.43.0a0'
+ hash:
+ md5: 9bd06b12bbfa6fd1740fd23af4b0f0c7
+ sha256: b1b594294a0fe4c9a51596ef027efed9268d60827e8ae61fb7545c521a631e33
+ manager: conda
+ name: libglib
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.78.3-h783c2da_0.conda
+ version: 2.78.3
+- category: main
+ dependencies:
+ lerc: '>=4.0.0,<5.0a0'
+ libdeflate: '>=1.19,<1.20.0a0'
+ libgcc-ng: '>=12'
+ libjpeg-turbo: '>=3.0.0,<4.0a0'
+ libstdcxx-ng: '>=12'
+ libwebp-base: '>=1.3.2,<2.0a0'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ xz: '>=5.2.6,<6.0a0'
+ zstd: '>=1.5.5,<1.6.0a0'
+ hash:
+ md5: 55ed21669b2015f77c180feb1dd41930
+ sha256: 45158f5fbee7ee3e257e6b9f51b9f1c919ed5518a94a9973fe7fa4764330473e
+ manager: conda
+ name: libtiff
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.6.0-ha9c0a0a_2.conda
+ version: 4.6.0
+- category: main
+ dependencies:
+ gmp: '>=6.2.1,<7.0a0'
+ libgcc-ng: '>=12'
+ mpfr: '>=4.1.0,<5.0a0'
+ hash:
+ md5: 289c71e83dc0daa7d4c81f04180778ca
+ sha256: 2f88965949ba7b4b21e7e5facd62285f7c6efdb17359d1b365c3bb4ecc968d29
+ manager: conda
+ name: mpc
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/mpc-1.3.1-hfe3b2da_0.conda
+ version: 1.3.1
+- category: main
+ dependencies:
+ bzip2: '>=1.0.8,<2.0a0'
+ ld_impl_linux-64: '>=2.36.1'
+ libffi: '>=3.4,<4.0a0'
+ libgcc-ng: '>=12'
+ libnsl: '>=2.0.1,<2.1.0a0'
+ libsqlite: '>=3.44.2,<4.0a0'
+ libuuid: '>=2.38.1,<3.0a0'
+ libxcrypt: '>=4.4.36'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ ncurses: '>=6.4,<7.0a0'
+ openssl: '>=3.2.0,<4.0a0'
+ readline: '>=8.2,<9.0a0'
+ tk: '>=8.6.13,<8.7.0a0'
+ tzdata: ''
+ xz: '>=5.2.6,<6.0a0'
+ hash:
+ md5: ed38140af93f81319ebc472fbcf16cca
+ sha256: 4234c8e301737aa245d12c8fb44a4128005795e42883977c29cca3f34c71a1eb
+ manager: conda
+ name: python
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/python-3.10.13-hd12c33a_1_cpython.conda
+ version: 3.10.13
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libxcb: '>=1.15,<1.16.0a0'
+ xorg-kbproto: ''
+ xorg-xextproto: '>=7.3.0,<8.0a0'
+ xorg-xproto: ''
+ hash:
+ md5: 49e482d882669206653b095f5206c05b
+ sha256: 7a02a7beac472ae2759498550b5fc5261bf5be7a9a2b4648a3f67818a7bfefcf
+ manager: conda
+ name: xorg-libx11
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.7-h8ee46fc_0.conda
+ version: 1.8.7
+- category: main
+ dependencies:
+ python: '>=3.9'
+ hash:
+ md5: def531a3ac77b7fb8c21d17bb5d0badb
+ sha256: fd39ad2fabec1569bbb0dfdae34ab6ce7de6ec09dcec8638f83dad0373594069
+ manager: conda
+ name: alabaster
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/alabaster-0.7.16-pyhd8ed1ab_0.conda
+ version: 0.7.16
+- category: main
+ dependencies:
+ python: ''
+ hash:
+ md5: 5f095bc6454094e96f146491fd03633b
+ sha256: ae9fb8f68281f84482f2c234379aa12405a9e365151d43af20b3ae1f17312111
+ manager: conda
+ name: appdirs
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/appdirs-1.4.4-pyh9f0ad1d_0.tar.bz2
+ version: 1.4.4
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libstdcxx-ng: '>=12'
+ python: '>=3.10,<3.11.0a0'
+ python_abi: 3.10.* *_cp310
+ hash:
+ md5: 1f95722c94f00b69af69a066c7433714
+ sha256: e22268d81905338570786921b3def88e55f9ed6d0ccdd17d9fbae31a02fbef69
+ manager: conda
+ name: brotli-python
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.1.0-py310hc6cd4ac_1.conda
+ version: 1.1.0
+- category: main
+ dependencies:
+ python: '>=3.6'
+ hash:
+ md5: 5dfee17f24e2dfd18d7392b48c9351e2
+ sha256: 9b193a4e483c4d0004bc5b88fac7a02516b6311137ab61b8db85aa9741422e35
+ manager: conda
+ name: cachy
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/cachy-0.3.0-pyhd8ed1ab_1.tar.bz2
+ version: 0.3.0
+- category: main
+ dependencies:
+ python: '>=3.7'
+ hash:
+ md5: 2011bcf45376341dd1d690263fdbc789
+ sha256: afa22b77128a812cb57bc707c297d926561bd225a3d9dd74205d87a3b2d14a96
+ manager: conda
+ name: certifi
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/certifi-2023.11.17-pyhd8ed1ab_0.conda
+ version: 2023.11.17
+- category: main
+ dependencies:
+ python: '>=3.7'
+ hash:
+ md5: 7f4a9e3fcff3f6356ae99244a014da6a
+ sha256: 20cae47d31fdd58d99c4d2e65fbdcefa0b0de0c84e455ba9d6356a4bdbc4b5b9
+ manager: conda
+ name: charset-normalizer
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.3.2-pyhd8ed1ab_0.conda
+ version: 3.3.2
+- category: main
+ dependencies:
+ __unix: ''
+ python: '>=3.8'
+ hash:
+ md5: f3ad426304898027fc619827ff428eca
+ sha256: f0016cbab6ac4138a429e28dbcb904a90305b34b3fe41a9b89d697c90401caec
+ manager: conda
+ name: click
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/click-8.1.7-unix_pyh707e725_0.conda
+ version: 8.1.7
+- category: main
+ dependencies:
+ python: '>=3.7'
+ hash:
+ md5: 3faab06a954c2a04039983f2c4a50d99
+ sha256: 2c1b2e9755ce3102bca8d69e8f26e4f087ece73f50418186aee7c74bef8e1698
+ manager: conda
+ name: colorama
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_0.tar.bz2
+ version: 0.4.6
+- category: main
+ dependencies:
+ python: '>=3.6,<4.0'
+ hash:
+ md5: 709a2295dd907bb34afb57d54320642f
+ sha256: 2f05954a3faf0700c14c1deddc085385160ee32abe111699c78d9cb277e915cc
+ manager: conda
+ name: crashtest
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/crashtest-0.4.1-pyhd8ed1ab_0.tar.bz2
+ version: 0.4.1
+- category: main
+ dependencies:
+ expat: '>=2.4.2,<3.0a0'
+ libgcc-ng: '>=9.4.0'
+ libglib: '>=2.70.2,<3.0a0'
+ hash:
+ md5: ecfff944ba3960ecb334b9a2663d708d
+ sha256: 8f5f995699a2d9dbdd62c61385bfeeb57c82a681a7c8c5313c395aa0ccab68a5
+ manager: conda
+ name: dbus
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.13.6-h5008d03_3.tar.bz2
+ version: 1.13.6
+- category: main
+ dependencies:
+ python: 2.7|>=3.6
+ hash:
+ md5: db16c66b759a64dc5183d69cc3745a52
+ sha256: 3ff11acdd5cc2f80227682966916e878e45ced94f59c402efb94911a5774e84e
+ manager: conda
+ name: distlib
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/distlib-0.3.8-pyhd8ed1ab_0.conda
+ version: 0.3.8
+- category: main
+ dependencies:
+ python: '>=3.10,<3.11.0a0'
+ python_abi: 3.10.* *_cp310
+ hash:
+ md5: c159dcd29bbd80b187b1c5d5f73cc971
+ sha256: 85669183fc376d4f7f8293474bc41bf9def0a9761282d6cc79ae98011e997ae2
+ manager: conda
+ name: docutils
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/docutils-0.20.1-py310hff52083_3.conda
+ version: 0.20.1
+- category: main
+ dependencies:
+ python: '>=3.7'
+ hash:
+ md5: 0c1729b74a8152fde6a38ba0a2ab9f45
+ sha256: 4d742d91412d1f163e5399d2b50c5d479694ebcd309127abb549ca3977f89d2b
+ manager: conda
+ name: filelock
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/filelock-3.13.1-pyhd8ed1ab_0.conda
+ version: 3.13.1
+- category: main
+ dependencies:
+ expat: '>=2.5.0,<3.0a0'
+ freetype: '>=2.12.1,<3.0a0'
+ libgcc-ng: '>=12'
+ libuuid: '>=2.32.1,<3.0a0'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ hash:
+ md5: 0f69b688f52ff6da70bccb7ff7001d1d
+ sha256: 155d534c9037347ea7439a2c6da7c24ffec8e5dd278889b4c57274a1d91e0a83
+ manager: conda
+ name: fontconfig
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.14.2-h14ed4e7_0.conda
+ version: 2.14.2
+- category: main
+ dependencies:
+ gcc: 11.4.0.*
+ gxx_impl_linux-64: 11.4.0.*
+ hash:
+ md5: 4821dd86fa505a0d5b6aacd28ed8291f
+ sha256: e07c2da262b374fc9aad422a4927660ef96aec6d1445c7673a6ba58a445523a5
+ manager: conda
+ name: gxx
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/gxx-11.4.0-h7baecda_2.conda
+ version: 11.4.0
+- category: main
+ dependencies:
+ python: '>=3.6'
+ hash:
+ md5: 1a76f09108576397c41c0b0c5bd84134
+ sha256: 6ee4c986d69ce61e60a20b2459b6f2027baeba153f0a64995fd3cb47c2cc7e07
+ manager: conda
+ name: idna
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/idna-3.6-pyhd8ed1ab_0.conda
+ version: '3.6'
+- category: main
+ dependencies:
+ python: '>=3.4'
+ hash:
+ md5: 7de5386c8fea29e76b303f37dde4c352
+ sha256: c2bfd7043e0c4c12d8b5593de666c1e81d67b83c474a0a79282cc5c4ef845460
+ manager: conda
+ name: imagesize
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/imagesize-1.4.1-pyhd8ed1ab_0.tar.bz2
+ version: 1.4.1
+- category: main
+ dependencies:
+ python: '>=3.7'
+ hash:
+ md5: 9800ad1699b42612478755a2d26c722d
+ sha256: 16639759b811866d63315fe1391f6fb45f5478b823972f4d3d9f0392b7dd80b8
+ manager: conda
+ name: jeepney
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/jeepney-0.8.0-pyhd8ed1ab_0.tar.bz2
+ version: 0.8.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libjpeg-turbo: '>=3.0.0,<4.0a0'
+ libtiff: '>=4.6.0,<4.7.0a0'
+ hash:
+ md5: 51bb7010fc86f70eee639b4bb7a894f5
+ sha256: 5c878d104b461b7ef922abe6320711c0d01772f4cd55de18b674f88547870041
+ manager: conda
+ name: lcms2
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.16-hb7c19ff_0.conda
+ version: '2.16'
+- category: main
+ dependencies:
+ krb5: '>=1.21.1,<1.22.0a0'
+ libgcc-ng: '>=12'
+ libstdcxx-ng: '>=12'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ hash:
+ md5: d4529f4dff3057982a7617c7ac58fde3
+ sha256: bc67b9b21078c99c6bd8595fe7e1ed6da1f721007726e717f0449de7032798c4
+ manager: conda
+ name: libcups
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libcups-2.3.3-h4637d8d_4.conda
+ version: 2.3.3
+- category: main
+ dependencies:
+ krb5: '>=1.21.2,<1.22.0a0'
+ libgcc-ng: '>=12'
+ libnghttp2: '>=1.58.0,<2.0a0'
+ libssh2: '>=1.11.0,<2.0a0'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ openssl: '>=3.2.0,<4.0a0'
+ zstd: '>=1.5.5,<1.6.0a0'
+ hash:
+ md5: 7144d5a828e2cae218e0e3c98d8a0aeb
+ sha256: 00a6bea5ff90ca58eeb15ebc98e08ffb88bddaff27396bb62640064f59d29cf0
+ manager: conda
+ name: libcurl
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.5.0-hca28451_0.conda
+ version: 8.5.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ python: '>=3.10,<3.11.0a0'
+ python_abi: 3.10.* *_cp310
+ hash:
+ md5: 76cd8db42baacfc94aa4d3a2b8e9e453
+ sha256: 270d57657ff5cdc5bd8820ab1caf04ed4e7682605c85f4b7a4ff3f7b1c4beaef
+ manager: conda
+ name: markupsafe
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-2.1.4-py310h2372a71_0.conda
+ version: 2.1.4
+- category: main
+ dependencies:
+ python: '>=3.8'
+ hash:
+ md5: d5c98e9706fdc5328d49a9bf2ce5fb42
+ sha256: 9e49e9484ff279453f0b55323a3f0c7cb97440c74f69eecda1f4ad29fae5cd3c
+ manager: conda
+ name: more-itertools
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/more-itertools-10.2.0-pyhd8ed1ab_0.conda
+ version: 10.2.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libstdcxx-ng: '>=12'
+ python: '>=3.10,<3.11.0a0'
+ python_abi: 3.10.* *_cp310
+ hash:
+ md5: dc5263dcaa1347e5a456ead3537be27d
+ sha256: a5c7612029e3871b0af0bd69e8ee1545d3deb93b5bec29cf1bf72522375fda31
+ manager: conda
+ name: msgpack-python
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.0.7-py310hd41b1e2_0.conda
+ version: 1.0.7
+- category: main
+ dependencies:
+ python: '>=3.7'
+ hash:
+ md5: 79002079284aa895f883c6b7f3f88fd6
+ sha256: 69b3ace6cca2dab9047b2c24926077d81d236bef45329d264b394001e3c3e52f
+ manager: conda
+ name: packaging
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/packaging-23.2-pyhd8ed1ab_0.conda
+ version: '23.2'
+- category: main
+ dependencies:
+ python: '>=2.7'
+ hash:
+ md5: a4eea5bff523f26442405bc5d1f52adb
+ sha256: 9153f0f38c76a09da7688a61fdbf8f3d7504e2326bef53e4ec20d994311b15bd
+ manager: conda
+ name: pastel
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/pastel-0.2.1-pyhd8ed1ab_0.tar.bz2
+ version: 0.2.1
+- category: main
+ dependencies:
+ python: '>=3.6'
+ hash:
+ md5: be1e9f1c65a1ed0f2ae9352fec99db64
+ sha256: 7ea5a5af62a15376d9f4f9f3c134874d0b0710f39be719e849b7fa9ca8870502
+ manager: conda
+ name: pkginfo
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/pkginfo-1.9.6-pyhd8ed1ab_0.conda
+ version: 1.9.6
+- category: main
+ dependencies:
+ python: '>=3.8'
+ hash:
+ md5: 45a5065664da0d1dfa8f8cd2eaf05ab9
+ sha256: 9e4ff17ce802159ed31344eb913eaa877688226765b77947b102b42255a53853
+ manager: conda
+ name: platformdirs
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.1.0-pyhd8ed1ab_0.conda
+ version: 4.1.0
+- category: main
+ dependencies:
+ python: ==2.7.*|>=3.4
+ hash:
+ md5: 076becd9e05608f8dc72757d5f3a91ff
+ sha256: 74c63fd03f1f1ea2b54e8bc529fd1a600aaafb24027b738d0db87909ee3a33dc
+ manager: conda
+ name: pycparser
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.21-pyhd8ed1ab_0.tar.bz2
+ version: '2.21'
+- category: main
+ dependencies:
+ python: '>=3.7'
+ hash:
+ md5: 140a7f159396547e9799aa98f9f0742e
+ sha256: af5f8867450dc292f98ea387d4d8945fc574284677c8f60eaa9846ede7387257
+ manager: conda
+ name: pygments
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/pygments-2.17.2-pyhd8ed1ab_0.conda
+ version: 2.17.2
+- category: main
+ dependencies:
+ python: '>=3.3'
+ hash:
+ md5: edf8651c4379d9d1495ad6229622d150
+ sha256: 50bd91767686bfe769e50a5a1b883e238d944a6163fea43e7c0beaac54ca674f
+ manager: conda
+ name: pylev
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/pylev-1.4.0-pyhd8ed1ab_0.tar.bz2
+ version: 1.4.0
+- category: main
+ dependencies:
+ __unix: ''
+ python: '>=3.8'
+ hash:
+ md5: 2a7de29fb590ca14b5243c4c812c8025
+ sha256: a42f826e958a8d22e65b3394f437af7332610e43ee313393d1cf143f0a2d274b
+ manager: conda
+ name: pysocks
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha2e5f31_6.tar.bz2
+ version: 1.7.1
+- category: main
+ dependencies:
+ python: '>=3.6'
+ hash:
+ md5: c93346b446cd08c169d843ae5fc0da97
+ sha256: 6b680e63d69aaf087cd43ca765a23838723ef59b0a328799e6363eb13f52c49e
+ manager: conda
+ name: pytz
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/pytz-2023.3.post1-pyhd8ed1ab_0.conda
+ version: 2023.3.post1
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ python: '>=3.10,<3.11.0a0'
+ python_abi: 3.10.* *_cp310
+ yaml: '>=0.2.5,<0.3.0a0'
+ hash:
+ md5: bb010e368de4940771368bc3dc4c63e7
+ sha256: aa78ccddb0a75fa722f0f0eb3537c73ee1219c9dd46cea99d6b9eebfdd780f3d
+ manager: conda
+ name: pyyaml
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.1-py310h2372a71_1.conda
+ version: 6.0.1
+- category: main
+ dependencies:
+ __glibc: '>=2.17,<3.0.a0'
+ expat: '>=2.5.0,<3.0a0'
+ gmp: '>=6.2.1,<7.0a0'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ mpc: '>=1.3.1,<2.0a0'
+ mpfr: '>=4.1.0,<5.0a0'
+ ncurses: '>=6.3,<7.0a0'
+ python_abi: 3.10.* *_cp310
+ hash:
+ md5: 85c9a0d9dd5311aaa2c5064f2c87b496
+ sha256: 8716699011df2900f8f20abcec16a0c08e821cfbe7fc2dad4fc369e483d8ed49
+ manager: conda
+ name: riscv-tools
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/ucb-bar/linux-64/riscv-tools-1.0.3-0_h1234567_ga1b1b14.conda
+ version: 1.0.3
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ python: '>=3.10,<3.11.0a0'
+ python_abi: 3.10.* *_cp310
+ hash:
+ md5: 7c9da9721ee545d57ad759f020172853
+ sha256: 00c76baad0a896f6f259093ec5328ac06cf422e6528745b28ee7e5057f54668f
+ manager: conda
+ name: ruamel.yaml.clib
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/ruamel.yaml.clib-0.2.7-py310h2372a71_2.conda
+ version: 0.2.7
+- category: main
+ dependencies:
+ python: '>=3.7'
+ hash:
+ md5: 40695fdfd15a92121ed2922900d0308b
+ sha256: 0fe2a0473ad03dac6c7f5c42ef36a8e90673c88a0350dfefdea4b08d43803db2
+ manager: conda
+ name: setuptools
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/setuptools-69.0.3-pyhd8ed1ab_0.conda
+ version: 69.0.3
+- category: main
+ dependencies:
+ python: ''
+ hash:
+ md5: e5f25f8dbc060e9a8d912e432202afc2
+ sha256: a85c38227b446f42c5b90d9b642f2c0567880c15d72492d8da074a59c8f91dd6
+ manager: conda
+ name: six
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2
+ version: 1.16.0
+- category: main
+ dependencies:
+ python: '>=2'
+ hash:
+ md5: 4d22a9315e78c6827f806065957d566e
+ sha256: a0fd916633252d99efb6223b1050202841fa8d2d53dacca564b0ed77249d3228
+ manager: conda
+ name: snowballstemmer
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-2.2.0-pyhd8ed1ab_0.tar.bz2
+ version: 2.2.0
+- category: main
+ dependencies:
+ python: '>=3.5'
+ hash:
+ md5: da1d979339e2714c30a8e806a33ec087
+ sha256: d4337d83b8edba688547766fc80f1ac86d6ec86ceeeda93f376acc04079c5ce2
+ manager: conda
+ name: sphinxcontrib-jsmath
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jsmath-1.0.1-pyhd8ed1ab_0.conda
+ version: 1.0.1
+- category: main
+ dependencies:
+ python: '>=3.7'
+ hash:
+ md5: 5844808ffab9ebdb694585b50ba02a96
+ sha256: 4cd48aba7cd026d17e86886af48d0d2ebc67ed36f87f6534f4b67138f5a5a58f
+ manager: conda
+ name: tomli
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/tomli-2.0.1-pyhd8ed1ab_0.tar.bz2
+ version: 2.0.1
+- category: main
+ dependencies:
+ python: '>=3.7'
+ hash:
+ md5: 074d0ce7a6261ab8b497c3518796ef3e
+ sha256: 53cc436ab92d38683df1320e4468a8b978428e800195bf1c8c2460e90b0bc117
+ manager: conda
+ name: tomlkit
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.12.3-pyha770c72_0.conda
+ version: 0.12.3
+- category: main
+ dependencies:
+ python: '>=3.5'
+ hash:
+ md5: 92facfec94bc02d6ccf42e7173831a36
+ sha256: 90229da7665175b0185183ab7b53f50af487c7f9b0f47cf09c184cbc139fd24b
+ manager: conda
+ name: toolz
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/toolz-0.12.0-pyhd8ed1ab_0.tar.bz2
+ version: 0.12.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ python: '>=3.10,<3.11.0a0'
+ python_abi: 3.10.* *_cp310
+ hash:
+ md5: b23e0147fa5f7a9380e06334c7266ad5
+ sha256: 209b6788b81739d3cdc2f04ad3f6f323efd85b1a30f2edce98ab76d98079fac8
+ manager: conda
+ name: tornado
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.3.3-py310h2372a71_1.conda
+ version: 6.3.3
+- category: main
+ dependencies:
+ python: '>=3.8'
+ hash:
+ md5: a92a6440c3fe7052d63244f3aba2a4a7
+ sha256: f3c5be8673bfd905c4665efcb27fa50192f24f84fa8eff2f19cba5d09753d905
+ manager: conda
+ name: typing_extensions
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.9.0-pyha770c72_0.conda
+ version: 4.9.0
+- category: main
+ dependencies:
+ flex: '>=2.6.4,<3.0a0'
+ gxx_impl_linux-64: ''
+ libgcc-ng: '>=12'
+ libstdcxx-ng: '>=12'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ make: ''
+ perl: ''
+ python: ''
+ hash:
+ md5: 0b2929f84fe7d3a6117439507d5d50d9
+ sha256: 1d6af07d2d19be7adc296e8b6c43bd3eb12b48d8ab8e0cec566e8f9872661813
+ manager: conda
+ name: verilator
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/verilator-5.020-h7cd9344_0.conda
+ version: '5.020'
+- category: main
+ dependencies:
+ python: '>=2.6'
+ hash:
+ md5: daf5160ff9cde3a468556965329085b9
+ sha256: 2adf9bd5482802837bc8814cbe28d7b2a4cbd2e2c52e381329eaa283b3ed1944
+ manager: conda
+ name: webencodings
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_2.conda
+ version: 0.5.1
+- category: main
+ dependencies:
+ python: '>=3.7'
+ hash:
+ md5: 1cdea58981c5cbc17b51973bcaddcea7
+ sha256: 80be0ccc815ce22f80c141013302839b0ed938a2edb50b846cf48d8a8c1cfa01
+ manager: conda
+ name: wheel
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/wheel-0.42.0-pyhd8ed1ab_0.conda
+ version: 0.42.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ xorg-libx11: '>=1.7.2,<2.0a0'
+ xorg-xextproto: ''
+ hash:
+ md5: 82b6df12252e6f32402b96dacc656fec
+ sha256: 73e5cfbdff41ef8a844441f884412aa5a585a0f0632ec901da035a03e1fe1249
+ manager: conda
+ name: xorg-libxext
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.4-h0b41bf4_2.conda
+ version: 1.3.4
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.3.0'
+ xorg-fixesproto: ''
+ xorg-libx11: '>=1.7.0,<2.0a0'
+ hash:
+ md5: e9a21aa4d5e3e5f1aed71e8cefd46b6a
+ sha256: 1e426a1abb774ef1dcf741945ed5c42ad12ea2dc7aeed7682d293879c3e1e4c3
+ manager: conda
+ name: xorg-libxfixes
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxfixes-5.0.3-h7f98852_1004.tar.bz2
+ version: 5.0.3
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ xorg-libx11: '>=1.8.6,<2.0a0'
+ xorg-renderproto: ''
+ hash:
+ md5: ed67c36f215b310412b2af935bf3e530
+ sha256: 26da4d1911473c965c32ce2b4ff7572349719eaacb88a066db8d968a4132c3f7
+ manager: conda
+ name: xorg-libxrender
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.11-hd590300_0.conda
+ version: 0.9.11
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ xorg-kbproto: ''
+ xorg-libice: '>=1.1.1,<2.0a0'
+ xorg-libsm: '>=1.2.4,<2.0a0'
+ xorg-libx11: '>=1.8.6,<2.0a0'
+ xorg-xproto: ''
+ hash:
+ md5: ae92aab42726eb29d16488924f7312cb
+ sha256: e7648d1efe2e858c4bc63ccf4a637c841dc971b37ded85a01be97a5e240fecfa
+ manager: conda
+ name: xorg-libxt
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxt-1.3.0-hd590300_1.conda
+ version: 1.3.0
+- category: main
+ dependencies:
+ python: '>=3.8'
+ hash:
+ md5: 2e4d6bc0b14e10f895fc6791a7d9b26a
+ sha256: bced1423fdbf77bca0a735187d05d9b9812d2163f60ab426fc10f11f92ecbe26
+ manager: conda
+ name: zipp
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/zipp-3.17.0-pyhd8ed1ab_0.conda
+ version: 3.17.0
+- category: main
+ dependencies:
+ python: '>=3.7'
+ pytz: ''
+ setuptools: ''
+ hash:
+ md5: 9669586875baeced8fc30c0826c3270e
+ sha256: 8584e3da58e92b72641c89ff9b98c51f0d5dbe76e527867804cbdf03ac91d8e6
+ manager: conda
+ name: babel
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/babel-2.14.0-pyhd8ed1ab_0.conda
+ version: 2.14.0
+- category: main
+ dependencies:
+ fontconfig: '>=2.14.2,<3.0a0'
+ fonts-conda-ecosystem: ''
+ freetype: '>=2.12.1,<3.0a0'
+ icu: '>=73.2,<74.0a0'
+ libgcc-ng: '>=12'
+ libglib: '>=2.78.0,<3.0a0'
+ libpng: '>=1.6.39,<1.7.0a0'
+ libstdcxx-ng: '>=12'
+ libxcb: '>=1.15,<1.16.0a0'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ pixman: '>=0.42.2,<1.0a0'
+ xorg-libice: '>=1.1.1,<2.0a0'
+ xorg-libsm: '>=1.2.4,<2.0a0'
+ xorg-libx11: '>=1.8.6,<2.0a0'
+ xorg-libxext: '>=1.3.4,<2.0a0'
+ xorg-libxrender: '>=0.9.11,<0.10.0a0'
+ zlib: ''
+ hash:
+ md5: f907bb958910dc404647326ca80c263e
+ sha256: 142e2639a5bc0e99c44d76f4cc8dce9c6a2d87330c4beeabb128832cd871a86e
+ manager: conda
+ name: cairo
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.0-h3faef2a_0.conda
+ version: 1.18.0
+- category: main
+ dependencies:
+ libffi: '>=3.4,<4.0a0'
+ libgcc-ng: '>=12'
+ pycparser: ''
+ python: '>=3.10,<3.11.0a0'
+ python_abi: 3.10.* *_cp310
+ hash:
+ md5: 45846a970e71ac98fd327da5d40a0a2c
+ sha256: 007e7f69ab45553b7bf11f2c1b8d3f3a13fd42997266a0d57795f41c7d38df36
+ manager: conda
+ name: cffi
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/cffi-1.16.0-py310h2fee648_0.conda
+ version: 1.16.0
+- category: main
+ dependencies:
+ click: ''
+ python: '>=2.7'
+ hash:
+ md5: 7c2b6931f9b3548ed78478332095c3e9
+ sha256: b36e35d735ddd29d7c592eb3de4b3979e13a9f76f1b4bc939f2cb4402758d6d0
+ manager: conda
+ name: click-default-group
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/click-default-group-1.2.4-pyhd8ed1ab_0.conda
+ version: 1.2.4
+- category: main
+ dependencies:
+ pastel: '>=0.2.0,<0.3.0'
+ pylev: '>=1.3,<2.0'
+ python: '>=3.7'
+ hash:
+ md5: 02abb7b66b02e8b9f5a9b05454400087
+ sha256: 2d582bc15d9116ec5467b565fb87d9034c8b56f60943e8eb69407f55f1ab5a78
+ manager: conda
+ name: clikit
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/clikit-0.6.2-pyhd8ed1ab_2.conda
+ version: 0.6.2
+- category: main
+ dependencies:
+ krb5: '>=1.21.2,<1.22.0a0'
+ libcurl: 8.5.0 hca28451_0
+ libgcc-ng: '>=12'
+ libssh2: '>=1.11.0,<2.0a0'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ openssl: '>=3.2.0,<4.0a0'
+ zstd: '>=1.5.5,<1.6.0a0'
+ hash:
+ md5: e5e83fb15e752dbc8f54c4ac7da7d0f1
+ sha256: febf098d6ca901b589d02c58eedcf5cb77d8fa4bfe35a52109f5909980b426db
+ manager: conda
+ name: curl
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/curl-8.5.0-hca28451_0.conda
+ version: 8.5.0
+- category: main
+ dependencies:
+ python: ''
+ six: '>=1.9'
+ webencodings: ''
+ hash:
+ md5: b2355343d6315c892543200231d7154a
+ sha256: 9ad06446fe9847e86cb20d220bf11614afcd2cbe9f58096f08d5d4018877bee4
+ manager: conda
+ name: html5lib
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/html5lib-1.1-pyh9f0ad1d_0.tar.bz2
+ version: '1.1'
+- category: main
+ dependencies:
+ python: '>=3.8'
+ zipp: '>=0.5'
+ hash:
+ md5: 746623a787e06191d80a2133e5daff17
+ sha256: e72d05f171f4567004c9360a838e9d5df21e23dcfeb945066b53a6e5f754b861
+ manager: conda
+ name: importlib-metadata
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-7.0.1-pyha770c72_0.conda
+ version: 7.0.1
+- category: main
+ dependencies:
+ more-itertools: ''
+ python: '>=3.7'
+ hash:
+ md5: e9f79248d30e942f7c358ff21a1790f5
+ sha256: 14f5240c3834e1b784dd41a5a14392d9150dff62a74ae851f73e65d2e2bbd891
+ manager: conda
+ name: jaraco.classes
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/jaraco.classes-3.3.0-pyhd8ed1ab_0.conda
+ version: 3.3.0
+- category: main
+ dependencies:
+ markupsafe: '>=2.0'
+ python: '>=3.7'
+ hash:
+ md5: e7d8df6509ba635247ff9aea31134262
+ sha256: fd517b7dd3a61eca34f8a6f9f92f306397149cae1204fce72ac3d227107dafdc
+ manager: conda
+ name: jinja2
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.3-pyhd8ed1ab_0.conda
+ version: 3.1.3
+- category: main
+ dependencies:
+ python: ''
+ setuptools: ''
+ six: ''
+ tornado: ''
+ hash:
+ md5: b7190e3ec3eff52839434bf4698e2d62
+ sha256: 0e88f8f8abc0a641c2f3b1b306258fab87c39a95f3495e53e6b3873107da1765
+ manager: conda
+ name: livereload
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/livereload-2.6.3-pyh9f0ad1d_0.tar.bz2
+ version: 2.6.3
+- category: main
+ dependencies:
+ python: '>=3.7'
+ setuptools: ''
+ wheel: ''
+ hash:
+ md5: 8591c748f98dcc02253003533bc2e4b1
+ sha256: 29096d1d53c61aeef518729add2f405df86b3629d1d738a35b15095e6a02eeed
+ manager: conda
+ name: pip
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/pip-23.3.2-pyhd8ed1ab_0.conda
+ version: 23.3.2
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ python: '>=3.10,<3.11.0a0'
+ python_abi: 3.10.* *_cp310
+ ruamel.yaml.clib: '>=0.1.2'
+ setuptools: ''
+ hash:
+ md5: 14fd49048b91c96a8fbf1113a8cc4f49
+ sha256: b31d4eb844d1b667a9cddf63eafa2c303049ae559098f88e403c2ab5ebdd274e
+ manager: conda
+ name: ruamel.yaml
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/ruamel.yaml-0.18.5-py310h2372a71_0.conda
+ version: 0.18.5
+- category: main
+ dependencies:
+ typing_extensions: 4.9.0 pyha770c72_0
+ hash:
+ md5: c16524c1b7227dc80b36b4fa6f77cc86
+ sha256: d795c1eb1db4ea147f01ece74e5a504d7c2e8d5ee8c11ec987884967dd938f9c
+ manager: conda
+ name: typing-extensions
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.9.0-hd8ed1ab_0.conda
+ version: 4.9.0
+- category: main
+ dependencies:
+ brotli-python: '>=1.0.9'
+ pysocks: '>=1.5.6,<2.0,!=1.5.7'
+ python: '>=3.7'
+ hash:
+ md5: bf61cfd2a7f212efba378167a07d4a6a
+ sha256: 1cc0bab65a6ad0f5a8bd7657760a4fb4e670d30377f9dab88b792977cb3687e7
+ manager: conda
+ name: urllib3
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/urllib3-1.26.18-pyhd8ed1ab_0.conda
+ version: 1.26.18
+- category: main
+ dependencies:
+ distlib: <1,>=0.3.7
+ filelock: <4,>=3.12.2
+ platformdirs: <5,>=3.9.1
+ python: '>=3.8'
+ hash:
+ md5: c119653cba436d8183c27bf6d190e587
+ sha256: 50827c3721a9dbf973b568709d4381add2a6552fa562f26a385c5edc16a534af
+ manager: conda
+ name: virtualenv
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.25.0-pyhd8ed1ab_0.conda
+ version: 20.25.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.3.0'
+ xorg-inputproto: ''
+ xorg-libx11: '>=1.7.0,<2.0a0'
+ xorg-libxext: 1.3.*
+ xorg-libxfixes: 5.0.*
+ hash:
+ md5: e77615e5141cad5a2acaa043d1cf0ca5
+ sha256: 745c1284a96b4282fe6fe122b2643e1e8c26a7ff40b733a8f4b61357238c4e68
+ manager: conda
+ name: xorg-libxi
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.7.10-h7f98852_0.tar.bz2
+ version: 1.7.10
+- category: main
+ dependencies:
+ python: '>=3.7'
+ typing-extensions: '>=4.0.0'
+ hash:
+ md5: 997c29372bdbe2afee073dff71f35923
+ sha256: 3a2c98154d95cfd54daba6b7d507d31f5ba07ac2ad955c44eb041b66563193cd
+ manager: conda
+ name: annotated-types
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.6.0-pyhd8ed1ab_0.conda
+ version: 0.6.0
+- category: main
+ dependencies:
+ cffi: '>=1.12'
+ libgcc-ng: '>=12'
+ openssl: '>=3.1.4,<4.0a0'
+ python: '>=3.10,<3.11.0a0'
+ python_abi: 3.10.* *_cp310
+ hash:
+ md5: 8a84d96d106767c08d6154ed5c8aae2c
+ sha256: 493feafc2492e841d361affb0bba2e29ab41d73b8db2d58c5abdfd4ccf1d29ad
+ manager: conda
+ name: cryptography
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/cryptography-41.0.7-py310hb8475ec_1.conda
+ version: 41.0.7
+- category: main
+ dependencies:
+ curl: ''
+ gettext: ''
+ libexpat: '>=2.5.0,<3.0a0'
+ libgcc-ng: '>=12'
+ libiconv: '>=1.17,<2.0a0'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ openssl: '>=3.2.0,<4.0a0'
+ pcre2: '>=10.42,<10.43.0a0'
+ perl: 5.*
+ hash:
+ md5: 851970792301b407ba4c35e75e796791
+ sha256: 73a065e160d759e8fb0b169e615955a8fe0c148ed00c7f6ddf076f2e4adfd765
+ manager: conda
+ name: git
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/git-2.43.0-pl5321h7bc287a_0.conda
+ version: 2.43.0
+- category: main
+ dependencies:
+ cairo: '>=1.18.0,<2.0a0'
+ freetype: '>=2.12.1,<3.0a0'
+ graphite2: ''
+ icu: '>=73.2,<74.0a0'
+ libgcc-ng: '>=12'
+ libglib: '>=2.78.1,<3.0a0'
+ libstdcxx-ng: '>=12'
+ hash:
+ md5: 5a6f6c00ef982a9bc83558d9ac8f64a0
+ sha256: 4b55aea03b18a4084b750eee531ad978d4a3690f63019132c26c6ad26bbe3aed
+ manager: conda
+ name: harfbuzz
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-8.3.0-h3d44ed6_0.conda
+ version: 8.3.0
+- category: main
+ dependencies:
+ importlib-metadata: '>=7.0.1,<7.0.2.0a0'
+ hash:
+ md5: 4a2f43a20fa404b998859c6a470ba316
+ sha256: bc362df1d4f5a04c38dff29cd9c2d0ac584f9c4b45d3e4683ee090944a38fba4
+ manager: conda
+ name: importlib_metadata
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/importlib_metadata-7.0.1-hd8ed1ab_0.conda
+ version: 7.0.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ python: '>=3.10,<3.11.0a0'
+ python_abi: 3.10.* *_cp310
+ typing-extensions: '>=4.6.0,!=4.7.0'
+ hash:
+ md5: f0f6b7e4b3d134f070288963ed4fbeee
+ sha256: 3bdc1ef89f9e431392aec8ed5695d8aefc7b65a014cc46934f75e87779f89745
+ manager: conda
+ name: pydantic-core
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.14.6-py310hcb5633a_1.conda
+ version: 2.14.6
+- category: main
+ dependencies:
+ certifi: '>=2017.4.17'
+ charset-normalizer: '>=2,<4'
+ idna: '>=2.5,<4'
+ python: '>=3.7'
+ urllib3: '>=1.21.1,<3'
+ hash:
+ md5: a30144e4156cdbb236f99ebb49828f8b
+ sha256: 9f629d6fd3c8ac5f2a198639fe7af87c4db2ac9235279164bfe0fcb49d8c4bad
+ manager: conda
+ name: requests
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/requests-2.31.0-pyhd8ed1ab_0.conda
+ version: 2.31.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.3.0'
+ xorg-inputproto: ''
+ xorg-libx11: '>=1.7.1,<2.0a0'
+ xorg-libxext: 1.3.*
+ xorg-libxi: 1.7.*
+ xorg-recordproto: ''
+ hash:
+ md5: a220b1a513e19d5cb56c1311d44f12e6
+ sha256: 9a51ae2869b9a47735539dada9d85534418a765d1461c9f91fe7564f3ee75e87
+ manager: conda
+ name: xorg-libxtst
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.3-h7f98852_1002.tar.bz2
+ version: 1.2.3
+- category: main
+ dependencies:
+ msgpack-python: '>=0.5.2'
+ python: '>=3.7'
+ requests: '>=2.16.0'
+ hash:
+ md5: 174bd699bb5aa9e2622eb4b288276ff8
+ sha256: aae7ab3a54989f9bf9273e4a17c911ba339a8b9354250bc11fb8eff2e3f4be60
+ manager: conda
+ name: cachecontrol
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-0.13.1-pyhd8ed1ab_0.conda
+ version: 0.13.1
+- category: main
+ dependencies:
+ appdirs: ''
+ click: '>=5.1'
+ filelock: ''
+ python: '>=3.7'
+ requests: '>=2'
+ hash:
+ md5: c99ae3abf501990769047b4b40a98f17
+ sha256: b71784b6c24d2320b2f796d074e75e7dd1be7b7fc0f719c5cf3a582270b368d6
+ manager: conda
+ name: ensureconda
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/ensureconda-1.4.3-pyhd8ed1ab_0.tar.bz2
+ version: 1.4.3
+- category: main
+ dependencies:
+ alsa-lib: '>=1.2.10,<1.2.11.0a0'
+ fontconfig: '>=2.14.2,<3.0a0'
+ fonts-conda-ecosystem: ''
+ freetype: '>=2.12.1,<3.0a0'
+ giflib: '>=5.2.1,<5.3.0a0'
+ harfbuzz: '>=8.2.1,<9.0a0'
+ lcms2: '>=2.15,<3.0a0'
+ libcups: '>=2.3.3,<2.4.0a0'
+ libgcc-ng: '>=12'
+ libjpeg-turbo: '>=3.0.0,<4.0a0'
+ libpng: '>=1.6.39,<1.7.0a0'
+ libstdcxx-ng: '>=12'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ xorg-libx11: '>=1.8.6,<2.0a0'
+ xorg-libxext: '>=1.3.4,<2.0a0'
+ xorg-libxi: ''
+ xorg-libxrender: '>=0.9.11,<0.10.0a0'
+ xorg-libxt: '>=1.3.0,<2.0a0'
+ xorg-libxtst: ''
+ hash:
+ md5: 06cb6ddea2e4639d2d8d91626d0eba3b
+ sha256: 0a88fdee61322f37bae674222488fc1153f1211312028c624db3f08bfda30617
+ manager: conda
+ name: openjdk
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/openjdk-20.0.2-haa376d0_2.conda
+ version: 20.0.2
+- category: main
+ dependencies:
+ annotated-types: '>=0.4.0'
+ pydantic-core: 2.14.6
+ python: '>=3.7'
+ typing-extensions: '>=4.6.1'
+ hash:
+ md5: 3569001fd8b37e542aaefdf5de124e19
+ sha256: 07ec778cbf17737b740f0547fb5cba91a7bff52945fe637287458e4119c58ffe
+ manager: conda
+ name: pydantic
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.5.3-pyhd8ed1ab_0.conda
+ version: 2.5.3
+- category: main
+ dependencies:
+ cryptography: ''
+ dbus: ''
+ jeepney: '>=0.6'
+ python: '>=3.10,<3.11.0a0'
+ python_abi: 3.10.* *_cp310
+ hash:
+ md5: 4ccc40bc490af727cfbf3e7f0289d9bd
+ sha256: a2b7f56b07b6e95bd05fd47ebe5b2cfc8af70ccd04994623f6508e90d3b5f857
+ manager: conda
+ name: secretstorage
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/secretstorage-3.3.3-py310hff52083_2.conda
+ version: 3.3.3
+- category: main
+ dependencies:
+ cachecontrol: 0.13.1 pyhd8ed1ab_0
+ filelock: '>=3.8.0'
+ python: '>=3.7'
+ hash:
+ md5: 8c4781ca0893cff3a64423954ce234a1
+ sha256: 7fd3cd4a667da284ae3aad9b8cb4d592099bc02ed6566cbae00bd8c0b0604e85
+ manager: conda
+ name: cachecontrol-with-filecache
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-with-filecache-0.13.1-pyhd8ed1ab_0.conda
+ version: 0.13.1
+- category: main
+ dependencies:
+ importlib_metadata: '>=4.11.4'
+ jaraco.classes: ''
+ jeepney: '>=0.4.2'
+ python: '>=3.10,<3.11.0a0'
+ python_abi: 3.10.* *_cp310
+ secretstorage: '>=3.2'
+ hash:
+ md5: e710fd8e57356a64cace034413da9cb3
+ sha256: 886a764e4bc2cfaabf2ea0a98461fbd526affd99c984a2789770eca43dd17c9b
+ manager: conda
+ name: keyring
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/keyring-24.3.0-py310hff52083_0.conda
+ version: 24.3.0
+- category: main
+ dependencies:
+ __unix: ''
+ openjdk: '>=8'
+ hash:
+ md5: b6f6329c1a8a1efaaf16024e545335f5
+ sha256: f5588175723814ad220d6dad75771d7139c293df802ce871ab2b89a629250013
+ manager: conda
+ name: sbt
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sbt-1.9.7-hd8ed1ab_0.conda
+ version: 1.9.7
+- category: main
+ dependencies:
+ cachecontrol-with-filecache: '>=0.12.9'
+ cachy: '>=0.3.0'
+ click: '>=8.0'
+ click-default-group: ''
+ clikit: '>=0.6.2'
+ crashtest: '>=0.3.0'
+ ensureconda: '>=1.3'
+ html5lib: '>=1.0'
+ importlib-metadata: '>=1.7.0'
+ jinja2: ''
+ keyring: '>=21.2.0'
+ packaging: '>=20.4'
+ pkginfo: '>=1.4'
+ pydantic: '>=1.8.1'
+ python: '>=3.6'
+ pyyaml: '>=5.1'
+ requests: '>=2.18'
+ ruamel.yaml: ''
+ tomli: ''
+ tomlkit: '>=0.7.0'
+ toolz: '>=0.12.0,<1.0.0'
+ typing_extensions: ''
+ virtualenv: '>=20.0.26'
+ hash:
+ md5: e9ecdfe3e7d4f76d67afd65b02a621a0
+ sha256: fe66e9970d9ad03e215430f700af994e3ed67d301cd7cf9281f3b8114f50eccc
+ manager: conda
+ name: conda-lock
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/conda-lock-1.4.0-pyhd8ed1ab_2.conda
+ version: 1.4.0
+- category: main
+ dependencies:
+ livereload: '>=2.3.0'
+ python: '>=3.6'
+ sphinx: ''
+ hash:
+ md5: 1909f784dc37b4ab97afe2c95aeeabaa
+ sha256: 1c07ab809254c2454c5417c5be01af2dc8bcaae2f3315a0a9d8812997ede8297
+ manager: conda
+ name: sphinx-autobuild
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinx-autobuild-2021.3.14-pyhd8ed1ab_0.tar.bz2
+ version: 2021.3.14
+- category: main
+ dependencies:
+ python: '>=3.9'
+ sphinx: '>=5'
+ hash:
+ md5: 611a35a27914fac3aa37611a6fe40bb5
+ sha256: 710013443a063518d587d2af82299e92ab6d6695edf35a676ac3a0ccc9e3f8e6
+ manager: conda
+ name: sphinxcontrib-applehelp
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-1.0.8-pyhd8ed1ab_0.conda
+ version: 1.0.8
+- category: main
+ dependencies:
+ python: '>=3.9'
+ sphinx: '>=5'
+ hash:
+ md5: d7e4954df0d3aea2eacc7835ad12671d
+ sha256: 63a6b60653ef13a6712848f4b3c4b713d4b564da1dae571893f1a3659cde85f3
+ manager: conda
+ name: sphinxcontrib-devhelp
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-devhelp-1.0.6-pyhd8ed1ab_0.conda
+ version: 1.0.6
+- category: main
+ dependencies:
+ python: '>=3.9'
+ sphinx: '>=5'
+ hash:
+ md5: 7e1e7437273682ada2ed5e9e9714b140
+ sha256: 512f393cfe34cb3de96ade7a7ad900d6278e2087a1f0e5732aa60fadee396d99
+ manager: conda
+ name: sphinxcontrib-htmlhelp
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.0.5-pyhd8ed1ab_0.conda
+ version: 2.0.5
+- category: main
+ dependencies:
+ python: '>=2.7'
+ sphinx: '>=1.8'
+ hash:
+ md5: 914897066d5873acfb13e75705276ad1
+ sha256: 2e5f16a2d58f9a31443ffbb8ce3852cfccf533a6349045828cd2e994ef0679ca
+ manager: conda
+ name: sphinxcontrib-jquery
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jquery-4.1-pyhd8ed1ab_0.conda
+ version: '4.1'
+- category: main
+ dependencies:
+ docutils: <0.21
+ python: '>=3.6'
+ sphinx: '>=5,<8'
+ sphinxcontrib-jquery: '>=4,<5'
+ hash:
+ md5: baf6d9a33df1a789ca55e3b404c7ea28
+ sha256: 8545c806d03092fd0236db6663c88036eab2dc99e34c91cd36c0704db03b148a
+ manager: conda
+ name: sphinx_rtd_theme
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinx_rtd_theme-2.0.0-pyha770c72_0.conda
+ version: 2.0.0
+- category: main
+ dependencies:
+ python: '>=3.9'
+ sphinx: '>=5'
+ hash:
+ md5: 26acae54b06f178681bfb551760f5dd1
+ sha256: dd35b52f056c39081cd0ae01155174277af579b69e5d83798a33e9056ec78d63
+ manager: conda
+ name: sphinxcontrib-qthelp
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-1.0.7-pyhd8ed1ab_0.conda
+ version: 1.0.7
+- category: main
+ dependencies:
+ alabaster: '>=0.7,<0.8'
+ babel: '>=2.9'
+ colorama: '>=0.4.5'
+ docutils: '>=0.18.1,<0.21'
+ imagesize: '>=1.3'
+ importlib-metadata: '>=4.8'
+ jinja2: '>=3.0'
+ packaging: '>=21.0'
+ pygments: '>=2.14'
+ python: '>=3.9'
+ requests: '>=2.25.0'
+ snowballstemmer: '>=2.0'
+ sphinxcontrib-applehelp: ''
+ sphinxcontrib-devhelp: ''
+ sphinxcontrib-htmlhelp: '>=2.0.0'
+ sphinxcontrib-jsmath: ''
+ sphinxcontrib-qthelp: ''
+ sphinxcontrib-serializinghtml: '>=1.1.9'
+ hash:
+ md5: bbfd1120d1824d2d073bc65935f0e4c0
+ sha256: 665d1fe6d20c6cc672ff20e6ebb405860f878b487d3d8d86a5952733fb7bbc42
+ manager: conda
+ name: sphinx
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinx-7.2.6-pyhd8ed1ab_0.conda
+ version: 7.2.6
+- category: main
+ dependencies:
+ python: '>=3.9'
+ sphinx: '>=5'
+ hash:
+ md5: e507335cb4ca9cff4c3d0fa9cdab255e
+ sha256: bf80e4c0ff97d5e8e5f6db0831ba60007e820a3a438e8f1afd868aa516d67d6f
+ manager: conda
+ name: sphinxcontrib-serializinghtml
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-1.1.10-pyhd8ed1ab_0.conda
+ version: 1.1.10
+version: 1
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 760a7911..0841d7c5 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
@@ -9,7 +9,7 @@
# To update a single package to the latest version compatible with the version constraints in the source:
# conda-lock lock --lockfile conda-requirements-riscv-tools-linux-64.conda-lock.yml --update PACKAGE
# To re-solve the entire environment, e.g. after changing a version constraint in the source file:
-# conda-lock -f /scratch/abejgonza/cy-fixes-1/conda-reqs/chipyard.yaml -f /scratch/abejgonza/cy-fixes-1/conda-reqs/riscv-tools.yaml --lockfile conda-requirements-riscv-tools-linux-64.conda-lock.yml
+# conda-lock -f /scratch/joonho.whangbo/coding/chipyard-release-118/conda-reqs/chipyard-base.yaml -f /scratch/joonho.whangbo/coding/chipyard-release-118/conda-reqs/chipyard-extended.yaml -f /scratch/joonho.whangbo/coding/chipyard-release-118/conda-reqs/docs.yaml -f /scratch/joonho.whangbo/coding/chipyard-release-118/conda-reqs/riscv-tools.yaml --lockfile conda-requirements-riscv-tools-linux-64.conda-lock.yml
metadata:
channels:
- url: ucb-bar
@@ -21,12 +21,14 @@ metadata:
- url: nodefaults
used_env_vars: []
content_hash:
- linux-64: f1bcd6ae2c33f314a2957b51c4689ea4e99a5ea5a2bf7e6d199abfb9f6ae65c4
+ linux-64: eb07751579f0515bcd5e4dfff7131bf35f78430a1281125bb17f2a1c52684521
platforms:
- linux-64
sources:
- - /scratch/abejgonza/cy-fixes-1/conda-reqs/chipyard.yaml
- - /scratch/abejgonza/cy-fixes-1/conda-reqs/riscv-tools.yaml
+ - /scratch/joonho.whangbo/coding/chipyard-release-118/conda-reqs/chipyard-base.yaml
+ - /scratch/joonho.whangbo/coding/chipyard-release-118/conda-reqs/chipyard-extended.yaml
+ - /scratch/joonho.whangbo/coding/chipyard-release-118/conda-reqs/docs.yaml
+ - /scratch/joonho.whangbo/coding/chipyard-release-118/conda-reqs/riscv-tools.yaml
package:
- category: main
dependencies: {}
@@ -75,14 +77,14 @@ package:
- category: main
dependencies: {}
hash:
- md5: 9936f9d4393c27069e6ee70338f955a5
- sha256: 5098310ea9ec4dae611a658c1ea26436001b2d2a4ed3c8e9468881337e02682f
+ md5: fd2989188c0421b101b12c4ee91a8967
+ sha256: f0cb3d37b2642bf982d497d63f351dcdcd03cea1b0b175d4d3c9d13b3c022d80
manager: conda
name: conda-standalone
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/conda-standalone-23.10.0-ha770c72_0.conda
- version: 23.10.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/conda-standalone-23.11.0-ha770c72_1.conda
+ version: 23.11.0
- category: main
dependencies: {}
hash:
@@ -141,25 +143,25 @@ package:
- category: main
dependencies: {}
hash:
- md5: 1d7f6d1825bd6bf21ee04336ec87a777
- sha256: 92bec8177aacfcd49a8e5bda49c10e4b77e239e9d58a0ca4ef31344a2be1fc82
+ md5: 2390dcf3fd78c2c426f1c5b6664fa4b7
+ sha256: 12904b795e5cb877ce6a7bb30feba9bfbe1dd38bd5f520e6af8d89a51bb6b6a6
manager: conda
name: libgcc-devel_linux-64
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-12.3.0-h8bca6fd_103.conda
- version: 12.3.0
+ url: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-11.4.0-h922705a_103.conda
+ version: 11.4.0
- category: main
dependencies: {}
hash:
- md5: 3f784d2c059e960156d1ab3858cbf200
- sha256: 8a78b0ab9f845a90d3b66a5d83e4e1131a236d1c5badd3660fb7c12daac796bf
+ md5: be10a739476d68c464101836773463f1
+ sha256: 4957848888d7a8cdc77c605357e759f0c9b08c18510f08a205f567666602ca2b
manager: conda
name: libstdcxx-devel_linux-64
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-12.3.0-h8bca6fd_103.conda
- version: 12.3.0
+ url: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-11.4.0-h922705a_103.conda
+ version: 11.4.0
- category: main
dependencies: {}
hash:
@@ -174,14 +176,14 @@ package:
- category: main
dependencies: {}
hash:
- md5: 5b874a5f133b1bd0c5f227eed4758fdb
- sha256: 9aa01c1102811cae6f60efa9d17f8f44365791d53a712dce3fe9a0488b6f6c2f
+ md5: ca8ce27415e2e304ec35b3de2af12364
+ sha256: b6f56d6c0a95dbd27bdcd5c666781c58c037850cebbaf62536a4fdf2bdcf2a2e
manager: conda
name: open_pdks.sky130a
optional: false
platform: linux-64
- url: https://conda.anaconda.org/litex-hub/noarch/open_pdks.sky130a-1.0.458_0_g8c68aca-20231104_052339.tar.bz2
- version: 1.0.458_0_g8c68aca
+ url: https://conda.anaconda.org/litex-hub/noarch/open_pdks.sky130a-1.0.460_0_gfdb1863-20231104_052339.tar.bz2
+ version: 1.0.460_0_gfdb1863
- category: main
dependencies: {}
hash:
@@ -196,14 +198,14 @@ package:
- category: main
dependencies: {}
hash:
- md5: 939e3e74d8be4dac89ce83b20de2492a
- sha256: 0449138224adfa125b220154408419ec37c06b0b49f63c5954724325903ecf55
+ md5: 8dee24b8be2d9ff81e7bd4d7d97ff1b0
+ sha256: 04f2ab3e36f2015841551415bf16bf62933bd94b7085d4be5493b388e95a9c3d
manager: conda
name: tzdata
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/tzdata-2023c-h71feb2d_0.conda
- version: 2023c
+ url: https://conda.anaconda.org/conda-forge/noarch/tzdata-2023d-h0c530f3_0.conda
+ version: 2023d
- category: main
dependencies:
font-ttf-dejavu-sans-mono: ''
@@ -311,14 +313,14 @@ package:
dependencies:
libgcc-ng: '>=12'
hash:
- md5: a0c6f0e7e1a467f5678f94dea18c8aa7
- sha256: f177627acdfcead15a28f4a07fcda6a1e26b83f053eaa1efa7cce01c0a3b09a8
+ md5: 75dae9a4201732aa78a530b826ee5fe0
+ sha256: 51147922bad9d3176e780eb26f748f380cd3184896a9f9125d8ac64fe330158b
manager: conda
name: alsa-lib
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.9-hd590300_0.conda
- version: 1.2.9
+ url: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.10-hd590300_0.conda
+ version: 1.2.10
- category: main
dependencies:
libgcc-ng: '>=12'
@@ -371,14 +373,14 @@ package:
dependencies:
libgcc-ng: '>=12'
hash:
- md5: d459949bc10f64dee1595c176c2e6291
- sha256: 6b0eee827bade11c2964a05867499a50ad2a9d1b14dfe18fb867a3bc9357f56f
+ md5: 89e40af02dd3a0846c0c1131c5126706
+ sha256: c4bbdafd6791583e3c77e8ed0e1df9e0021d542249c3543de3d72788f5c8a0c4
manager: conda
name: c-ares
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.23.0-hd590300_0.conda
- version: 1.23.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.25.0-hd590300_0.conda
+ version: 1.25.0
- category: main
dependencies:
libgcc-ng: '>=12'
@@ -495,14 +497,14 @@ package:
libgcc-ng: '>=12'
libstdcxx-ng: '>=12'
hash:
- md5: 7c8d20d847bb45f56bd941578fcfa146
- sha256: e44cc00eec068e7f7a6dd117ba17bf5d57658729b7b841945546f82505138292
+ md5: cc47e1facc155f91abd89b11e48e72ff
+ sha256: e12fd90ef6601da2875ebc432452590bc82a893041473bc1c13ef29001a73ea8
manager: conda
name: icu
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/icu-72.1-hcb278e6_0.conda
- version: '72.1'
+ url: https://conda.anaconda.org/conda-forge/linux-64/icu-73.2-h59595ed_0.conda
+ version: '73.2'
- category: main
dependencies:
libgcc-ng: '>=10.3.0'
@@ -557,25 +559,25 @@ package:
dependencies:
libgcc-ng: '>=12'
hash:
- md5: 6aa9c9de5542ecb07fdda9ca626252d8
- sha256: 949d84ceea543802c1e085b2aa58f1d6cb5dd8cec5a9abaaf4e8ac65d6094b3a
+ md5: 1635570038840ee3f9c71d22aa5b8b6d
+ sha256: 985ad27aa0ba7aad82afa88a8ede6a1aacb0aaca950d710f15d85360451e72fd
manager: conda
name: libdeflate
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.18-h0b41bf4_0.conda
- version: '1.18'
+ url: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.19-hd590300_0.conda
+ version: '1.19'
- category: main
dependencies:
- libgcc-ng: '>=7.5.0'
+ libgcc-ng: '>=12'
hash:
- md5: 6f8720dff19e17ce5d48cfe7f3d2f0a3
- sha256: 8c9635aa0ea28922877dc96358f9547f6a55fc7e2eb75a556b05f1725496baf9
+ md5: 172bf1cd1ff8629f2b1179945ed45055
+ sha256: 1cd6048169fa0395af74ed5d8f1716e22c19a81a8a36f934c110ca3ad4dd27b4
manager: conda
name: libev
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-h516909a_1.tar.bz2
+ url: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-hd590300_2.conda
version: '4.33'
- category: main
dependencies:
@@ -627,28 +629,28 @@ package:
version: 13.2.0
- category: main
dependencies:
- libgcc-ng: '>=10.3.0'
+ libgcc-ng: '>=12'
hash:
- md5: b62b52da46c39ee2bc3c162ac7f1804d
- sha256: 6a81ebac9f1aacdf2b4f945c87ad62b972f0f69c8e0981d68e111739e6720fd7
+ md5: d66573916ffcf376178462f1b61c941e
+ sha256: 8ac2f6a9f186e76539439e50505d98581472fedb347a20e7d1f36429849f05c9
manager: conda
name: libiconv
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.17-h166bdaf_0.tar.bz2
+ url: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.17-hd590300_2.conda
version: '1.17'
- category: main
dependencies:
libgcc-ng: '>=12'
hash:
- md5: 323e90742f0f48fc22bea908735f55e6
- sha256: 0ef7378818c6d5b407692d02556c32e2f6af31c7542bca5160d0b92a59427fb5
+ md5: ea25936bb4080d843790b586850f82b8
+ sha256: b954e09b7e49c2f2433d6f3bb73868eda5e378278b0f8c1dd10a7ef090e14f2f
manager: conda
name: libjpeg-turbo
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-2.1.5.1-hd590300_1.conda
- version: 2.1.5.1
+ url: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.0.0-hd590300_1.conda
+ version: 3.0.0
- category: main
dependencies:
libgcc-ng: '>=12'
@@ -663,16 +665,16 @@ package:
version: 2.0.1
- category: main
dependencies:
- libgcc-ng: '>=12.3.0'
+ libgcc-ng: '>=11.4.0'
hash:
- md5: eda05ab0db8f8490945fd99244183e3a
- sha256: 903c5786e0379da751e297dbe603be19b030994bac3caa74b3a596c1858c0296
+ md5: e6f89a7be0ec320c1b1746971045b0e7
+ sha256: c4c5c87f5c717e83299740f6a20393f9a131f05e2e9df63faafd6bb71dc58346
manager: conda
name: libsanitizer
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-12.3.0-h0f45ef3_3.conda
- version: 12.3.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-11.4.0-h4dcbe23_3.conda
+ version: 11.4.0
- category: main
dependencies:
libgcc-ng: '>=7.5.0'
@@ -697,18 +699,6 @@ package:
platform: linux-64
url: https://conda.anaconda.org/conda-forge/linux-64/libtasn1-4.19.0-h166bdaf_0.tar.bz2
version: 4.19.0
-- category: main
- dependencies:
- libgcc-ng: '>=12'
- hash:
- md5: f204c8ba400ec475452737094fb81d52
- sha256: 345b3b580ef91557a82425ea3f432a70a8748c040deb14570b9f4dca4af3e3d1
- manager: conda
- name: libtool
- optional: false
- platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libtool-2.4.7-h27087fc_0.conda
- version: 2.4.7
- category: main
dependencies:
libgcc-ng: '>=9.3.0'
@@ -749,14 +739,26 @@ package:
dependencies:
libgcc-ng: '>=12'
hash:
- md5: 82bf6f63eb15ef719b556b63feec3a77
- sha256: 66658d5cdcf89169e284488d280b6ce693c98c0319d7eabebcedac0929140a73
+ md5: 30de3fd9b3b602f7473f30e684eeea8c
+ sha256: 68764a760fa81ef35dacb067fe8ace452bbb41476536a4a147a1051df29525f0
manager: conda
name: libwebp-base
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.3.1-hd590300_0.conda
- version: 1.3.1
+ url: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.3.2-hd590300_0.conda
+ version: 1.3.2
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 5aa797f8787fe7a17d1b0821485b5adc
+ sha256: 6ae68e0b86423ef188196fff6207ed0c8195dd84273cb5623b85aa08033a410c
+ manager: conda
+ name: libxcrypt
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda
+ version: 4.4.36
- category: main
dependencies:
libgcc-ng: '>=12'
@@ -884,14 +886,14 @@ package:
libgcc-ng: '>=12'
libstdcxx-ng: '>=12'
hash:
- md5: 700edd63ccd5fc66b70b1c028cea9a68
- sha256: ae917851474eb3b08812b02c9e945d040808523ec53f828aa74a90b0cdf15f57
+ md5: 6b4b43013628634b6cfdee6b74fd696b
+ sha256: 07a5ffcd34e241f900433af4c6d4904518aab76add4e1e40a2c4bad93ae43f2b
manager: conda
name: pixman
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.42.2-h59595ed_0.conda
- version: 0.42.2
+ url: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.43.0-h59595ed_0.conda
+ version: 0.43.0
- category: main
dependencies:
libgcc-ng: '>=7.5.0'
@@ -1128,14 +1130,14 @@ package:
aws-c-common: '>=0.9.10,<0.9.11.0a0'
libgcc-ng: '>=12'
hash:
- md5: fe9b3bb0a3961dfb12506d865d818c00
- sha256: 8f3b8f8b7b1f021eac80018d03ff24e2b390627b53eb17f07476f38ea67f4c56
+ md5: a4a83424ad4eab023c6e5b4adf264006
+ sha256: 8696e7023fde7c4588db8aedd08ffc0b4041c8449bd9edd50f237534cbcfac93
manager: conda
name: aws-c-sdkutils
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-sdkutils-0.1.12-h7f92143_6.conda
- version: 0.1.12
+ url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-sdkutils-0.1.13-h7f92143_0.conda
+ version: 0.1.13
- category: main
dependencies:
aws-c-common: '>=0.9.10,<0.9.11.0a0'
@@ -1219,34 +1221,34 @@ package:
- category: main
dependencies:
binutils_impl_linux-64: '>=2.39'
- libgcc-devel_linux-64: 12.3.0 h8bca6fd_103
- libgcc-ng: '>=12.3.0'
- libgomp: '>=12.3.0'
- libsanitizer: 12.3.0 h0f45ef3_3
- libstdcxx-ng: '>=12.3.0'
+ libgcc-devel_linux-64: 11.4.0 h922705a_103
+ libgcc-ng: '>=11.4.0'
+ libgomp: '>=11.4.0'
+ libsanitizer: 11.4.0 h4dcbe23_3
+ libstdcxx-ng: '>=11.4.0'
sysroot_linux-64: ''
hash:
- md5: 71c68ea75afe6ac7a9c62c08f5d67a5a
- sha256: ab2ea2890f43d45dc49ff59a3c35348e675ba728e088957209fa8f0e40a498e5
+ md5: b17749a6ae62cf9a5eafd96a6bcaad0e
+ sha256: 24d34853611b8758c40fa9d6a0d0b738312f51af9fed8fa6c6422f15ec475763
manager: conda
name: gcc_impl_linux-64
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-12.3.0-he2b93b0_3.conda
- version: 12.3.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-11.4.0-h7aa1c59_3.conda
+ version: 11.4.0
- category: main
dependencies:
libgcc-ng: '>=12'
oniguruma: '>=6.9.9,<6.10.0a0'
hash:
- md5: c29cbd5ee663325f9bed9a2b2488ef3a
- sha256: e994d4e162a882ed9706f1ce992b5c33419ef425eafcd321252a6f94d3a05ab8
+ md5: 80814f94713e35df60aad6c4b235de87
+ sha256: a04a1603e405ea9ae5c4a492a8e361086cb441a91ef7299bd4bf3eca0b485b6d
manager: conda
name: jq
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/jq-1.7-hd590300_0.conda
- version: '1.7'
+ url: https://conda.anaconda.org/conda-forge/linux-64/jq-1.7.1-hd590300_0.conda
+ version: 1.7.1
- category: main
dependencies:
libbrotlicommon: 1.1.0 hd590300_1
@@ -1327,20 +1329,20 @@ package:
version: '5.39'
- category: main
dependencies:
- c-ares: '>=1.21.0,<2.0a0'
- libev: '>=4.33,<4.34.0a0'
+ c-ares: '>=1.23.0,<2.0a0'
+ libev: '>=4.33,<5.0a0'
libgcc-ng: '>=12'
libstdcxx-ng: '>=12'
libzlib: '>=1.2.13,<1.3.0a0'
- openssl: '>=3.1.4,<4.0a0'
+ openssl: '>=3.2.0,<4.0a0'
hash:
- md5: 9b13d5ee90fc9f09d54fd403247342b4
- sha256: 151b18e4f92dcca263a6d23e4beb0c4e2287aa1c7d0587ff71ef50035ed34aca
+ md5: 700ac6ea6d53d5510591c4344d5c989a
+ sha256: 1910c5306c6aa5bcbd623c3c930c440e9c77a5a019008e1487810e3c1d3716cb
manager: conda
name: libnghttp2
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.58.0-h47da74e_0.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.58.0-h47da74e_1.conda
version: 1.58.0
- category: main
dependencies:
@@ -1414,20 +1416,20 @@ package:
version: '1.15'
- category: main
dependencies:
- icu: '>=72.1,<73.0a0'
+ icu: '>=73.2,<74.0a0'
libgcc-ng: '>=12'
libiconv: '>=1.17,<2.0a0'
libzlib: '>=1.2.13,<1.3.0a0'
xz: '>=5.2.6,<6.0a0'
hash:
- md5: 241845899caff54ac1d2b3102ad988cf
- sha256: 624b6e29e23a51353cff2aff7364c42b831139afd131d239e79f60aea4dae887
+ md5: 53e951fab78d7e3bab40745f7b3d1620
+ sha256: f6828b44da29bbfbf367ddbc72902e84ea5f5de933be494d6aac4a35826afed0
manager: conda
name: libxml2
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.10.4-hfdac1af_0.conda
- version: 2.10.4
+ url: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.12.4-h232c23b_1.conda
+ version: 2.12.4
- category: main
dependencies:
libgcc-ng: '>=7.3.0'
@@ -1485,15 +1487,15 @@ package:
- category: main
dependencies:
libgcc-ng: '>=12'
- libnsl: '>=2.0.0,<2.1.0a0'
+ libxcrypt: '>=4.4.36'
hash:
- md5: 3e785bff761095eb7f8676f4694bd1b1
- sha256: 6e18c1488d191cb1a43a483f44fffa75668779a29927319b4adeb10da12ad06b
+ md5: f2cfec9406850991f4e3d960cc9e3321
+ sha256: 9ec32b6936b0e37bcb0ed34f22ec3116e75b3c0964f9f50ecea5f58734ed6ce9
manager: conda
name: perl
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/perl-5.32.1-4_hd590300_perl5.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/perl-5.32.1-7_hd590300_perl5.conda
version: 5.32.1
- category: main
dependencies:
@@ -1524,16 +1526,16 @@ package:
- category: main
dependencies:
libgcc-ng: '>=12'
- openssl: '>=3.1.4,<4.0a0'
+ openssl: '>=3.2.0,<4.0a0'
hash:
- md5: 04b4845b9e9b5a0ee6eba013ecdbbddb
- sha256: 4c00411d49fefc6a53167c3120e386b3f35510544a44d2e647615b510a622f29
+ md5: 3d1b58d2664d96f9fbc0afe5e1d04632
+ sha256: f6cc2bdcb5d809bbaae218e03bdefef4a309d1fc7ccc9444fda59bd4553a83f8
manager: conda
name: s2n
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/s2n-1.3.56-h06160fa_0.conda
- version: 1.3.56
+ url: https://conda.anaconda.org/conda-forge/linux-64/s2n-1.4.0-h06160fa_0.conda
+ version: 1.4.0
- category: main
dependencies:
libgcc-ng: '>=7.5.0'
@@ -1646,15 +1648,15 @@ package:
aws-c-cal: '>=0.6.9,<0.6.10.0a0'
aws-c-common: '>=0.9.10,<0.9.11.0a0'
libgcc-ng: '>=12'
- s2n: '>=1.3.56,<1.3.57.0a0'
+ s2n: '>=1.4.0,<1.4.1.0a0'
hash:
- md5: d15f4dfeef1d65de9a5283c984981776
- sha256: ca5094093d0f2de9b0b2bd4697088565d0ef930364df8a67c8b79172dc9c209d
+ md5: c930336aa72995f1b5459b51df3ba841
+ sha256: 7426f7444cd43cd7a649670c7330c163b40f40aa832e82be873d9de91e49b05e
manager: conda
name: aws-c-io
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-io-0.13.36-he14a76f_1.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-io-0.13.36-he0cd244_2.conda
version: 0.13.36
- category: main
dependencies:
@@ -1699,16 +1701,16 @@ package:
version: 1.1.0
- category: main
dependencies:
- gcc_impl_linux-64: '>=12.3.0,<12.3.1.0a0'
+ gcc_impl_linux-64: '>=11.4.0,<11.4.1.0a0'
hash:
- md5: 93700ef8b49aebbfb0bf40e0b1448834
- sha256: f361a244a51874065b4d9a2d27089647e7966050abb8a76cad57471776b8ba19
+ md5: 42003d7074d4daaf287d19987cd927bf
+ sha256: 2c30ddc6cb51a03fb5f671f55eaabcb9208d6ce701e6de2234518eec43a6f2d1
manager: conda
name: conda-gcc-specs
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/conda-gcc-specs-12.3.0-h83fac38_3.conda
- version: 12.3.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/conda-gcc-specs-11.4.0-h240829a_3.conda
+ version: 11.4.0
- category: main
dependencies:
libgcc-ng: '>=7.5.0'
@@ -1752,16 +1754,16 @@ package:
version: 2.12.1
- category: main
dependencies:
- gcc_impl_linux-64: 12.3.0.*
+ gcc_impl_linux-64: 11.4.0.*
hash:
- md5: e2f2f81f367e14ca1f77a870bda2fe59
- sha256: 1bbf077688822993c39518056fb43d83ff0920eb42fef11e8714d2a298cc0f27
+ md5: 0c8d100583c5fd6d20cd5307aaedaf0d
+ sha256: b515e9222a8af974024b02c7265bed8e4edf912707a5a8fc207cbc8bc2ac0bff
manager: conda
name: gcc
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/gcc-12.3.0-h8d2909c_2.conda
- version: 12.3.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/gcc-11.4.0-h7baecda_2.conda
+ version: 11.4.0
- category: main
dependencies:
libgcc-ng: '>=12'
@@ -1781,18 +1783,18 @@ package:
version: 3.7.9
- category: main
dependencies:
- gcc_impl_linux-64: 12.3.0 he2b93b0_3
- libstdcxx-devel_linux-64: 12.3.0 h8bca6fd_103
+ gcc_impl_linux-64: 11.4.0 h7aa1c59_3
+ libstdcxx-devel_linux-64: 11.4.0 h922705a_103
sysroot_linux-64: ''
hash:
- md5: b6ce9868fc6c65a18c22fd983e2d7e6f
- sha256: 63e75858b60fe6d7227cd6026ed7ad0a8df4c5592454f752ff7ffc1e283e66a7
+ md5: dbee4be21eb6dbf596afddf60ff120bf
+ sha256: 424d9989ea82e6777e569de6873cc56229a8982e274409c344473ad89bb7bbb7
manager: conda
name: gxx_impl_linux-64
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-12.3.0-he2b93b0_3.conda
- version: 12.3.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-11.4.0-h7aa1c59_3.conda
+ version: 11.4.0
- category: main
dependencies:
keyutils: '>=1.6.1,<2.0a0'
@@ -1813,7 +1815,7 @@ package:
dependencies:
bzip2: '>=1.0.8,<2.0a0'
libgcc-ng: '>=12'
- libxml2: '>=2.9.14,<2.11.0a0'
+ libxml2: '>=2.9.14,<3.0.0a0'
libzlib: '>=1.2.12,<1.3.0a0'
lz4-c: '>=1.9.3,<1.10.0a0'
lzo: '>=2.10,<3.0a0'
@@ -1839,30 +1841,30 @@ package:
libzlib: '>=1.2.13,<1.3.0a0'
pcre2: '>=10.42,<10.43.0a0'
hash:
- md5: 70052d6c1e84643e30ffefb21ab6950f
- sha256: 4e6fa28002f834cfc30a64792e95c1701d835cc3d3a4bb18d6e8d16bb8aba05b
+ md5: 9bd06b12bbfa6fd1740fd23af4b0f0c7
+ sha256: b1b594294a0fe4c9a51596ef027efed9268d60827e8ae61fb7545c521a631e33
manager: conda
name: libglib
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.78.1-h783c2da_1.conda
- version: 2.78.1
+ url: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.78.3-h783c2da_0.conda
+ version: 2.78.3
- category: main
dependencies:
libgcc-ng: '>=12'
libstdcxx-ng: '>=12'
- libxml2: '>=2.10.4,<2.11.0a0'
+ libxml2: '>=2.12.1,<3.0.0a0'
libzlib: '>=1.2.13,<1.3.0a0'
- zstd: '>=1.5.2,<1.6.0a0'
+ zstd: '>=1.5.5,<1.6.0a0'
hash:
- md5: 3d942f062d7656168bb42b3439bdfede
- sha256: c52c239b583a1b2d03bdc641afd8cbab0499b0a46ea55b40e1dbed112283a772
+ md5: 94246254aa1699cc154ade6ffda128a4
+ sha256: f0c46a724eeaaf5f45670b8344616e5a0397b7b7ae66ce01fc184fe80e37b0bc
manager: conda
- name: libllvm16
+ name: libllvm17
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libllvm16-16.0.3-hbf9e925_1.conda
- version: 16.0.3
+ url: https://conda.anaconda.org/conda-forge/linux-64/libllvm17-17.0.6-hb3ce162_1.conda
+ version: 17.0.6
- category: main
dependencies:
libgcc-ng: '>=12'
@@ -1880,23 +1882,23 @@ package:
- category: main
dependencies:
lerc: '>=4.0.0,<5.0a0'
- libdeflate: '>=1.18,<1.19.0a0'
+ libdeflate: '>=1.19,<1.20.0a0'
libgcc-ng: '>=12'
- libjpeg-turbo: '>=2.1.5.1,<3.0a0'
+ libjpeg-turbo: '>=3.0.0,<4.0a0'
libstdcxx-ng: '>=12'
- libwebp-base: '>=1.3.1,<2.0a0'
+ libwebp-base: '>=1.3.2,<2.0a0'
libzlib: '>=1.2.13,<1.3.0a0'
xz: '>=5.2.6,<6.0a0'
- zstd: '>=1.5.2,<1.6.0a0'
+ zstd: '>=1.5.5,<1.6.0a0'
hash:
- md5: 5b09e13d732dda1a2bc9adc711164f4d
- sha256: 631ccfdd460eda9661b6371aa459fe5ce174816365873deb5af955c9e10bf8c2
+ md5: 55ed21669b2015f77c180feb1dd41930
+ sha256: 45158f5fbee7ee3e257e6b9f51b9f1c919ed5518a94a9973fe7fa4764330473e
manager: conda
name: libtiff
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.5.1-h8b53f26_1.conda
- version: 4.5.1
+ url: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.6.0-ha9c0a0a_2.conda
+ version: 4.6.0
- category: main
dependencies:
libgcc-ng: '>=12'
@@ -1936,23 +1938,24 @@ package:
libffi: '>=3.4,<4.0a0'
libgcc-ng: '>=12'
libnsl: '>=2.0.1,<2.1.0a0'
- libsqlite: '>=3.43.2,<4.0a0'
+ libsqlite: '>=3.44.2,<4.0a0'
libuuid: '>=2.38.1,<3.0a0'
+ libxcrypt: '>=4.4.36'
libzlib: '>=1.2.13,<1.3.0a0'
ncurses: '>=6.4,<7.0a0'
- openssl: '>=3.1.4,<4.0a0'
+ openssl: '>=3.2.0,<4.0a0'
readline: '>=8.2,<9.0a0'
tk: '>=8.6.13,<8.7.0a0'
tzdata: ''
xz: '>=5.2.6,<6.0a0'
hash:
- md5: f3a8c32aa764c3e7188b4b810fc9d6ce
- sha256: a53410f459f314537b379982717b1c5911efc2f0cc26d63c4d6f831bcb31c964
+ md5: ed38140af93f81319ebc472fbcf16cca
+ sha256: 4234c8e301737aa245d12c8fb44a4128005795e42883977c29cca3f34c71a1eb
manager: conda
name: python
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/python-3.10.13-hd12c33a_0_cpython.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/python-3.10.13-hd12c33a_1_cpython.conda
version: 3.10.13
- category: main
dependencies:
@@ -2023,16 +2026,16 @@ package:
version: 1.8.7
- category: main
dependencies:
- python: '>=3.6'
+ python: '>=3.9'
hash:
- md5: 06006184e203b61d3525f90de394471e
- sha256: b2d160a050996950434c6e87a174fc01c4a937cbeffbdd20d1b46126b4478a95
+ md5: def531a3ac77b7fb8c21d17bb5d0badb
+ sha256: fd39ad2fabec1569bbb0dfdae34ab6ce7de6ec09dcec8638f83dad0373594069
manager: conda
name: alabaster
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/alabaster-0.7.13-pyhd8ed1ab_0.conda
- version: 0.7.13
+ url: https://conda.anaconda.org/conda-forge/noarch/alabaster-0.7.16-pyhd8ed1ab_0.conda
+ version: 0.7.16
- category: main
dependencies:
python: ''
@@ -2061,14 +2064,14 @@ package:
dependencies:
python: '>=3.8'
hash:
- md5: c629a13439d80b37c6a946b098c4ac2b
- sha256: 62c3486961e43fb9b495b7854f48fea9b486b2176a9629c6faf80c445543b1aa
+ md5: 0801250abb3d5b86010e20324f0dde94
+ sha256: af221f16a23feea4d91db75b35c5720c9c448814af815fe6d45c5627eb75e897
manager: conda
name: argcomplete
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/argcomplete-3.1.6-pyhd8ed1ab_0.conda
- version: 3.1.6
+ url: https://conda.anaconda.org/conda-forge/noarch/argcomplete-3.2.1-pyhd8ed1ab_0.conda
+ version: 3.2.1
- category: main
dependencies:
libgcc-ng: '>=12'
@@ -2087,14 +2090,14 @@ package:
dependencies:
python: '>=3.7'
hash:
- md5: 3edfead7cedd1ab4400a6c588f3e75f8
- sha256: 063639cd568f5c7a557b0fb1cc27f098598c0d8ff869088bfeb82934674f8821
+ md5: 5e4c0743c70186509d1412e03c2d8dfa
+ sha256: 77c7d03bdb243a048fff398cedc74327b7dc79169ebe3b4c8448b0331ea55fea
manager: conda
name: attrs
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/attrs-23.1.0-pyh71513ae_1.conda
- version: 23.1.0
+ url: https://conda.anaconda.org/conda-forge/noarch/attrs-23.2.0-pyh71513ae_0.conda
+ version: 23.2.0
- category: main
dependencies:
aws-c-common: '>=0.9.10,<0.9.11.0a0'
@@ -2133,14 +2136,14 @@ package:
python: '>=3.10,<3.11.0a0'
python_abi: 3.10.* *_cp310
hash:
- md5: e6792675103087f822f9705a22e4845d
- sha256: 070fdd2e887a0b898764bfd6aa603365cf79dda30b1161ae06c607d510920f7d
+ md5: 6dd3d49f65ceb05dbd527a5b6301611b
+ sha256: df399f6daedb506d2f0d2d0cc2619969b9042455c1f4314eee526bbf6f4d7aba
manager: conda
name: bcrypt
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/bcrypt-4.1.1-py310hcb5633a_0.conda
- version: 4.1.1
+ url: https://conda.anaconda.org/conda-forge/linux-64/bcrypt-4.1.2-py310hcb5633a_0.conda
+ version: 4.1.2
- category: main
dependencies:
python: '>=3.8'
@@ -2157,14 +2160,14 @@ package:
dependencies:
python: ==2.7.*|>=3.7
hash:
- md5: 033eb25fffd222aceeca6d58cd953680
- sha256: 4ff828cceb8f55cb26d23b1a4c174d22c7cd92350221724bcaf2d6632e33fdee
+ md5: 56febe65315cc388a5d20adf2b39a74d
+ sha256: 0ff5173f6b20a5c95401aa52d10dbdc05c322fc568dc7417c6f76cf68e706d16
manager: conda
name: boltons
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/boltons-23.0.0-pyhd8ed1ab_0.conda
- version: 23.0.0
+ url: https://conda.anaconda.org/conda-forge/noarch/boltons-23.1.1-pyhd8ed1ab_0.conda
+ version: 23.1.1
- category: main
dependencies:
brotli-bin: 1.1.0 hd590300_1
@@ -2322,14 +2325,14 @@ package:
dependencies:
python: 2.7|>=3.6
hash:
- md5: 12d8aae6994f342618443a8f05c652a0
- sha256: 13c887cb4a29e1e853a118cfc0e42b72a7e1d1c50c66c0974885d37f0db30619
+ md5: db16c66b759a64dc5183d69cc3745a52
+ sha256: 3ff11acdd5cc2f80227682966916e878e45ced94f59c402efb94911a5774e84e
manager: conda
name: distlib
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/distlib-0.3.7-pyhd8ed1ab_0.conda
- version: 0.3.7
+ url: https://conda.anaconda.org/conda-forge/noarch/distlib-0.3.8-pyhd8ed1ab_0.conda
+ version: 0.3.8
- category: main
dependencies:
python: '>=3.6'
@@ -2359,13 +2362,13 @@ package:
dependencies:
python: '>=3.7'
hash:
- md5: f6c211fee3c98229652b60a9a42ef363
- sha256: cf83dcaf9006015c8ccab3fc6770f478464a66a8769e1763ca5d7dff09d11d08
+ md5: 8d652ea2ee8eaee02ed8dc820bc794aa
+ sha256: a6ae416383bda0e3ed14eaa187c653e22bec94ff2aa3b56970cdf0032761e80d
manager: conda
name: exceptiongroup
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.2.0-pyhd8ed1ab_0.conda
+ url: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.2.0-pyhd8ed1ab_2.conda
version: 1.2.0
- category: main
dependencies:
@@ -2401,42 +2404,42 @@ package:
python: '>=3.10,<3.11.0a0'
python_abi: 3.10.* *_cp310
hash:
- md5: c7b2865e86782925a872c8598b760c08
- sha256: cd1e59ceac047d9f692bb7cc2a6a6e2356a7d3db660b076b4afb19d35db2fd02
+ md5: f20cd4d9c1f4a8377d0818c819918bbb
+ sha256: 496d0ae05e81be0bd8e046bc48a3346f867caaad65041aa14ee2f3717af70db6
manager: conda
name: frozenlist
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/frozenlist-1.4.0-py310h2372a71_1.conda
- version: 1.4.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/frozenlist-1.4.1-py310h2372a71_0.conda
+ version: 1.4.1
- category: main
dependencies:
python: '>=3.8'
hash:
- md5: 5b86cf1ceaaa9be2ec4627377e538db1
- sha256: 1bbdfadb93cc768252fd207dca406cde928f9a81ff985ea1760b6539c55923e6
+ md5: bf40f2a8835b78b1f91083d306b493d2
+ sha256: 9269a5464698e0fde1f9c78544552817370c26df86e2a5a7518544b6a55ae8ee
manager: conda
name: fsspec
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/fsspec-2023.10.0-pyhca7485f_0.conda
- version: 2023.10.0
+ url: https://conda.anaconda.org/conda-forge/noarch/fsspec-2023.12.2-pyhca7485f_0.conda
+ version: 2023.12.2
- category: main
dependencies:
libgcc-ng: '>=12'
- libglib: '>=2.74.1,<3.0a0'
- libjpeg-turbo: '>=2.1.5.1,<3.0a0'
+ libglib: '>=2.78.0,<3.0a0'
+ libjpeg-turbo: '>=3.0.0,<4.0a0'
libpng: '>=1.6.39,<1.7.0a0'
- libtiff: '>=4.5.0,<4.6.0a0'
+ libtiff: '>=4.6.0,<4.7.0a0'
libzlib: '>=1.2.13,<1.3.0a0'
hash:
- md5: ee8220db21db8094998005990418fe5b
- sha256: 7acc699871310e9a89aaa7e90de9ac949e2fa649232c8a8dfcafa67e8f36a266
+ md5: 252a696860674caf7a855e16f680d63a
+ sha256: 884992d0665a0a5c728943d99b5fba30fd6911bb84eee622fa7ad8a4fa9f6cf7
manager: conda
name: gdk-pixbuf
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.42.10-h6b639ba_2.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.42.10-h829c605_4.conda
version: 2.42.10
- category: main
dependencies:
@@ -2471,17 +2474,17 @@ package:
version: 0.7.6
- category: main
dependencies:
- gcc: 12.3.0.*
- gxx_impl_linux-64: 12.3.0.*
+ gcc: 11.4.0.*
+ gxx_impl_linux-64: 11.4.0.*
hash:
- md5: 673bac341be6b90ef9e8abae7e52ca46
- sha256: 5fd65768fb602fd21466831c96e7a2355a4df692507abbd481aa65a777151d85
+ md5: 4821dd86fa505a0d5b6aacd28ed8291f
+ sha256: e07c2da262b374fc9aad422a4927660ef96aec6d1445c7673a6ba58a445523a5
manager: conda
name: gxx
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/gxx-12.3.0-h8d2909c_2.conda
- version: 12.3.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/gxx-11.4.0-h7baecda_2.conda
+ version: 11.4.0
- category: main
dependencies:
__unix: ''
@@ -2613,28 +2616,28 @@ package:
python: '>=3.10,<3.11.0a0'
python_abi: 3.10.* *_cp310
hash:
- md5: ee36f87084373c3e01a7f14d372ccf35
- sha256: 0261c90c6f990d7a06f2ef107d53cb33a720a0c7420cc9f280ad0deb4aedda68
+ md5: 24d67b3be879d3f72b199061189ff022
+ sha256: 6dd8e02aa0ca786bae44793475141a2218882f5c225c4e31f0b1c70ac012e586
manager: conda
name: lazy-object-proxy
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/lazy-object-proxy-1.9.0-py310h2372a71_1.conda
- version: 1.9.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/lazy-object-proxy-1.10.0-py310h2372a71_0.conda
+ version: 1.10.0
- category: main
dependencies:
libgcc-ng: '>=12'
- libjpeg-turbo: '>=2.1.5.1,<3.0a0'
- libtiff: '>=4.5.0,<4.6.0a0'
+ libjpeg-turbo: '>=3.0.0,<4.0a0'
+ libtiff: '>=4.6.0,<4.7.0a0'
hash:
- md5: 980d8aca0bc23ca73fa8caa3e7c84c28
- sha256: 0d88e0e7f8dbf8f01788e21dd63dd49b89433ce7dfd10f53839441396f6481cd
+ md5: 51bb7010fc86f70eee639b4bb7a894f5
+ sha256: 5c878d104b461b7ef922abe6320711c0d01772f4cd55de18b674f88547870041
manager: conda
name: lcms2
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.15-haa2dc70_1.conda
- version: '2.15'
+ url: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.16-hb7c19ff_0.conda
+ version: '2.16'
- category: main
dependencies:
libopenblas: '>=0.3.25,<1.0a0'
@@ -2650,31 +2653,31 @@ package:
- category: main
dependencies:
libgcc-ng: '>=12'
- libllvm16: '>=16.0.3,<16.1.0a0'
+ libllvm17: '>=17.0.6,<17.1.0a0'
libstdcxx-ng: '>=12'
hash:
- md5: e3a70b7bde225412a04c681f5aa094f5
- sha256: 925c2e940a74cdda141b350ee6f6d7dfe5783c1f7575bd95649117c1841908e2
+ md5: 2a85746a47b578eee4618642131345de
+ sha256: 713cad0dbb8530bc627042a01728f2479c4e73f69f440320a0ee421c12cd403c
manager: conda
- name: libclang-cpp16
+ name: libclang-cpp17
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp16-16.0.3-default_h1cdf331_2.conda
- version: 16.0.3
+ url: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp17-17.0.6-default_hb11cfb5_2.conda
+ version: 17.0.6
- category: main
dependencies:
libgcc-ng: '>=12'
- libllvm16: '>=16.0.3,<16.1.0a0'
+ libllvm17: '>=17.0.6,<17.1.0a0'
libstdcxx-ng: '>=12'
hash:
- md5: 2dd726d3664b57ff32e4ef1965774c02
- sha256: b79181e5d1e3cd80ce5cbc0d0098621413e24c37437e8906b5bca1c398a5ce34
+ md5: 93d59bd3649bba44d182dad3646db9e8
+ sha256: 465504d1fd72a6f6d3c301862ed97bf3247234c7389bd82070bb50ce61c04c92
manager: conda
name: libclang13
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libclang13-16.0.3-default_h4d60ac6_2.conda
- version: 16.0.3
+ url: https://conda.anaconda.org/conda-forge/linux-64/libclang13-17.0.6-default_ha2b6cf4_2.conda
+ version: 17.0.6
- category: main
dependencies:
krb5: '>=1.20.1,<1.21.0a0'
@@ -2737,45 +2740,45 @@ package:
dependencies:
giflib: '>=5.2.1,<5.3.0a0'
libgcc-ng: '>=12'
- libjpeg-turbo: '>=2.1.5.1,<3.0a0'
+ libjpeg-turbo: '>=3.0.0,<4.0a0'
libpng: '>=1.6.39,<1.7.0a0'
- libtiff: '>=4.5.1,<4.6.0a0'
- libwebp-base: '>=1.3.1,<2.0a0'
+ libtiff: '>=4.6.0,<4.7.0a0'
+ libwebp-base: '>=1.3.2,<2.0a0'
hash:
- md5: 4963f3f12db45a576f2b8fbe9a0b8569
- sha256: b0428f43bb3bc4544b997fcd9dfeb5593ee10701e8895cef22212105a8d8aa8d
+ md5: 0ebb65e8d86843865796c7c95a941f34
+ sha256: cc5e55531d8067ea379b145861aea8c749a545912bc016372f5e3c69cc925efd
manager: conda
name: libwebp
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libwebp-1.3.1-hbf2b3c1_0.conda
- version: 1.3.1
+ url: https://conda.anaconda.org/conda-forge/linux-64/libwebp-1.3.2-h658648e_1.conda
+ version: 1.3.2
- category: main
dependencies:
libgcc-ng: '>=12'
python: '>=3.10,<3.11.0a0'
python_abi: 3.10.* *_cp310
hash:
- md5: b74e07a054c479e45a83a83fc5be713c
- sha256: ac46cc2f6d4bbeedcd2f508e43f43143a9286ced55730d8d97a3c91ceceb0d56
+ md5: 76cd8db42baacfc94aa4d3a2b8e9e453
+ sha256: 270d57657ff5cdc5bd8820ab1caf04ed4e7682605c85f4b7a4ff3f7b1c4beaef
manager: conda
name: markupsafe
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-2.1.3-py310h2372a71_1.conda
- version: 2.1.3
+ url: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-2.1.4-py310h2372a71_0.conda
+ version: 2.1.4
- category: main
dependencies:
python: '>=3.8'
hash:
- md5: 8549fafed0351bbfaa1ddaa15fdf9b4e
- sha256: 07ce65497dec537e490992758934ddbc4fb5ed9285b41387a7cca966f1a98a0f
+ md5: d5c98e9706fdc5328d49a9bf2ce5fb42
+ sha256: 9e49e9484ff279453f0b55323a3f0c7cb97440c74f69eecda1f4ad29fae5cd3c
manager: conda
name: more-itertools
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/more-itertools-10.1.0-pyhd8ed1ab_0.conda
- version: 10.1.0
+ url: https://conda.anaconda.org/conda-forge/noarch/more-itertools-10.2.0-pyhd8ed1ab_0.conda
+ version: 10.2.0
- category: main
dependencies:
python: '>=3.6'
@@ -2858,16 +2861,16 @@ package:
libgcc-ng: '>=12'
libpng: '>=1.6.39,<1.7.0a0'
libstdcxx-ng: '>=12'
- libtiff: '>=4.5.0,<4.6.0a0'
+ libtiff: '>=4.6.0,<4.7.0a0'
libzlib: '>=1.2.13,<1.3.0a0'
hash:
- md5: 5ce6a42505c6e9e6151c54c3ec8d68ea
- sha256: 3cbfb1fe9bb492dcb672f98f0ddc7b4e029f51f77101d9c301caa3acaea8cba2
+ md5: 128c25b7fe6a25286a48f3a6a9b5b6f3
+ sha256: 9fe91b67289267de68fda485975bb48f0605ac503414dc663b50d8b5f29bc82a
manager: conda
name: openjpeg
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.0-hfec8fc6_2.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.0-h488ebb8_3.conda
version: 2.5.0
- category: main
dependencies:
@@ -2929,6 +2932,18 @@ package:
platform: linux-64
url: https://conda.anaconda.org/conda-forge/noarch/pkgutil-resolve-name-1.3.10-pyhd8ed1ab_1.conda
version: 1.3.10
+- category: main
+ dependencies:
+ python: '>=3.8'
+ hash:
+ md5: 45a5065664da0d1dfa8f8cd2eaf05ab9
+ sha256: 9e4ff17ce802159ed31344eb913eaa877688226765b77947b102b42255a53853
+ manager: conda
+ name: platformdirs
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.1.0-pyhd8ed1ab_0.conda
+ version: 4.1.0
- category: main
dependencies:
python: '>=3.8'
@@ -2960,14 +2975,14 @@ package:
python: '>=3.10,<3.11.0a0'
python_abi: 3.10.* *_cp310
hash:
- md5: cb25177acf28cc35cfa6c1ac1c679e22
- sha256: db8a99bc41c1b0405c8e9daa92b9d4e7711f9717aff7fd3feeba407ca2a91aa2
+ md5: bd19b3096442ea342c4a5208379660b1
+ sha256: f1866425aa67f3fe1e3f6e07562a4bc986fd487e01146a91eb1bdbe5ec16a836
manager: conda
name: psutil
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/psutil-5.9.5-py310h2372a71_1.conda
- version: 5.9.5
+ url: https://conda.anaconda.org/conda-forge/linux-64/psutil-5.9.8-py310h2372a71_0.conda
+ version: 5.9.8
- category: main
dependencies:
python: '!=3.0,!=3.1,!=3.2,!=3.3,!=3.4,!=3.5'
@@ -3071,14 +3086,14 @@ package:
dependencies:
python: '>=3.6'
hash:
- md5: 2590495f608a63625e165915fb4e2e34
- sha256: 0108888507014fb24573c31e4deceb61c99e63d37776dddcadd7c89b2ecae0b6
+ md5: c79cacf8a06a51552fc651652f170208
+ sha256: d2381037bf362c78654a8ece0e0f54715e09113448ddd7ed837f688536cbf176
manager: conda
name: python-tzdata
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2023.3-pyhd8ed1ab_0.conda
- version: '2023.3'
+ url: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2023.4-pyhd8ed1ab_0.conda
+ version: '2023.4'
- category: main
dependencies:
python: '>=3.6'
@@ -3125,14 +3140,14 @@ package:
python: '>=3.10,<3.11.0a0'
python_abi: 3.10.* *_cp310
hash:
- md5: 124bc31abd31cd6990a9f6ade3a4da2d
- sha256: bf8e736b9b4f73c3142842b280982581037b40904b6dea4706ab137b3179c5c7
+ md5: 4a9ba4e7af60356e63b38a6d419acad6
+ sha256: b9d2c96a468e4c871df098f6c34c72b160911fb98132e1ffd6ba92670cbeb523
manager: conda
name: regex
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/regex-2023.10.3-py310h2372a71_0.conda
- version: 2023.10.3
+ url: https://conda.anaconda.org/conda-forge/linux-64/regex-2023.12.25-py310h2372a71_0.conda
+ version: 2023.12.25
- category: main
dependencies:
__glibc: '>=2.17,<3.0.a0'
@@ -3158,14 +3173,14 @@ package:
python: '>=3.10,<3.11.0a0'
python_abi: 3.10.* *_cp310
hash:
- md5: 99b553d12fe320478b5b094cc1558f5a
- sha256: af3b44e6e9ef8b18292c4854cf07edce6051efce06b75367bf0fc0599ba2cdf7
+ md5: 57f7538a66c2db6572d8ef7f0a103fc2
+ sha256: c1ecf5a6746aadd2d3a7bbde172a6c822efa659eb158b9b406ebebb1bc7e4f75
manager: conda
name: rpds-py
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-0.13.2-py310hcb5633a_0.conda
- version: 0.13.2
+ url: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-0.17.1-py310hcb5633a_0.conda
+ version: 0.17.1
- category: main
dependencies:
libgcc-ng: '>=12'
@@ -3184,14 +3199,14 @@ package:
dependencies:
python: '>=3.7'
hash:
- md5: fc2166155db840c634a1291a5c35a709
- sha256: 851901b1f8f2049edb36a675f0c3f9a98e1495ef4eb214761b048c6f696a06f7
+ md5: 40695fdfd15a92121ed2922900d0308b
+ sha256: 0fe2a0473ad03dac6c7f5c42ef36a8e90673c88a0350dfefdea4b08d43803db2
manager: conda
name: setuptools
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/setuptools-68.2.2-pyhd8ed1ab_0.conda
- version: 68.2.2
+ url: https://conda.anaconda.org/conda-forge/noarch/setuptools-69.0.3-pyhd8ed1ab_0.conda
+ version: 69.0.3
- category: main
dependencies:
python: ''
@@ -3354,14 +3369,14 @@ package:
dependencies:
python: '>=3.8'
hash:
- md5: 5b1be40a26d10a06f6d4f1f9e19fa0c7
- sha256: 38d16b5c53ec1af845d37d22e7bb0e6c934c7f19499123507c5a470f6f8b7dde
+ md5: a92a6440c3fe7052d63244f3aba2a4a7
+ sha256: f3c5be8673bfd905c4665efcb27fa50192f24f84fa8eff2f19cba5d09753d905
manager: conda
name: typing_extensions
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.8.0-pyha770c72_0.conda
- version: 4.8.0
+ url: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.9.0-pyha770c72_0.conda
+ version: 4.9.0
- category: main
dependencies:
libgcc-ng: '>=12'
@@ -3387,26 +3402,26 @@ package:
perl: ''
python: ''
hash:
- md5: efb0e7909f1a41159856e688e216bd26
- sha256: c24f5fc704ee3c0737456e7a4b8f75114b25a51812c6f801a22ed43652e0b211
+ md5: 0b2929f84fe7d3a6117439507d5d50d9
+ sha256: 1d6af07d2d19be7adc296e8b6c43bd3eb12b48d8ab8e0cec566e8f9872661813
manager: conda
name: verilator
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/verilator-5.008-h514fc35_1.conda
- version: '5.008'
+ url: https://conda.anaconda.org/conda-forge/linux-64/verilator-5.020-h7cd9344_0.conda
+ version: '5.020'
- category: main
dependencies:
python: '>=3.8'
hash:
- md5: bf4a1d1a97ca27b0b65bacd9e238b484
- sha256: ca757d0fc2dbd422af9d3238a8b4b630a6e11df3707a447bd89540656770d1d7
+ md5: 68f0738df502a14213624b288c60c9ad
+ sha256: b6cd2fee7e728e620ec736d8dfee29c6c9e2adbd4e695a31f1d8f834a83e57e3
manager: conda
name: wcwidth
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.2.12-pyhd8ed1ab_0.conda
- version: 0.2.12
+ url: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.2.13-pyhd8ed1ab_0.conda
+ version: 0.2.13
- category: main
dependencies:
python: '>=2.6'
@@ -3423,14 +3438,14 @@ package:
dependencies:
python: '>=3.8'
hash:
- md5: bdb77b28cf16deac0eef431a068320e8
- sha256: df45b89862edcd7cd5180ec7b8c0c0ca9fb4d3f7d49ddafccdc76afcf50d8da6
+ md5: 50ad31e07d706aae88b14a4ac9c73f23
+ sha256: d9b537d5b7c5aa7a02a4ce4c6b755e458bd8083b67752a73c92d113ccec6c10f
manager: conda
name: websocket-client
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.6.4-pyhd8ed1ab_0.conda
- version: 1.6.4
+ url: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.7.0-pyhd8ed1ab_0.conda
+ version: 1.7.0
- category: main
dependencies:
python: '>=3.7'
@@ -3559,16 +3574,16 @@ package:
aws-c-common: '>=0.9.10,<0.9.11.0a0'
aws-c-http: '>=0.7.14,<0.7.15.0a0'
aws-c-io: '>=0.13.36,<0.13.37.0a0'
- aws-c-sdkutils: '>=0.1.12,<0.1.13.0a0'
+ aws-c-sdkutils: '>=0.1.13,<0.1.14.0a0'
libgcc-ng: '>=12'
hash:
- md5: 65d47e98af07d5e361707dda2ce44f3a
- sha256: 48c768d96b09396190b717e126d33ca68f3d2786a068af188fd16fa469cbad76
+ md5: d42aebb91e28e2fee2a0218cfbff2c90
+ sha256: b06ef95458fc70af4230c9c6690011235cd25288752ff7aa25492fc6d1c0e028
manager: conda
name: aws-c-auth
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-auth-0.7.8-h5c941e0_1.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-auth-0.7.8-h538f98c_2.conda
version: 0.7.8
- category: main
dependencies:
@@ -3591,41 +3606,42 @@ package:
pytz: ''
setuptools: ''
hash:
- md5: 3ccff479c246692468f604df9c85ef26
- sha256: 1f955c700db16f65b16c9e9c1613436480d5497970b8030b7a9ebe1620cc2147
+ md5: 9669586875baeced8fc30c0826c3270e
+ sha256: 8584e3da58e92b72641c89ff9b98c51f0d5dbe76e527867804cbdf03ac91d8e6
manager: conda
name: babel
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/babel-2.13.1-pyhd8ed1ab_0.conda
- version: 2.13.1
+ url: https://conda.anaconda.org/conda-forge/noarch/babel-2.14.0-pyhd8ed1ab_0.conda
+ version: 2.14.0
- category: main
dependencies:
fontconfig: '>=2.14.2,<3.0a0'
fonts-conda-ecosystem: ''
freetype: '>=2.12.1,<3.0a0'
- icu: '>=72.1,<73.0a0'
+ icu: '>=73.2,<74.0a0'
libgcc-ng: '>=12'
- libglib: '>=2.76.2,<3.0a0'
+ libglib: '>=2.78.0,<3.0a0'
libpng: '>=1.6.39,<1.7.0a0'
+ libstdcxx-ng: '>=12'
libxcb: '>=1.15,<1.16.0a0'
libzlib: '>=1.2.13,<1.3.0a0'
- pixman: '>=0.40.0,<1.0a0'
- xorg-libice: ''
- xorg-libsm: ''
- xorg-libx11: '>=1.8.4,<2.0a0'
+ pixman: '>=0.42.2,<1.0a0'
+ xorg-libice: '>=1.1.1,<2.0a0'
+ xorg-libsm: '>=1.2.4,<2.0a0'
+ xorg-libx11: '>=1.8.6,<2.0a0'
xorg-libxext: '>=1.3.4,<2.0a0'
- xorg-libxrender: ''
+ xorg-libxrender: '>=0.9.11,<0.10.0a0'
zlib: ''
hash:
- md5: c1dd96500b9b1a75e9e511931f415cbc
- sha256: 1fffecc684c26e0f1aed6d9857ad0f2abfe3a849977f718ad82366c68c7a9a36
+ md5: f907bb958910dc404647326ca80c263e
+ sha256: 142e2639a5bc0e99c44d76f4cc8dce9c6a2d87330c4beeabb128832cd871a86e
manager: conda
name: cairo
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.16.0-hbbf8b49_1016.conda
- version: 1.16.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.0-h3faef2a_0.conda
+ version: 1.18.0
- category: main
dependencies:
libffi: '>=3.4,<4.0a0'
@@ -3644,19 +3660,19 @@ package:
version: 1.16.0
- category: main
dependencies:
- libclang-cpp16: '>=16.0.3,<16.1.0a0'
+ libclang-cpp17: '>=17.0.6,<17.1.0a0'
libgcc-ng: '>=12'
- libllvm16: '>=16.0.3,<16.1.0a0'
+ libllvm17: '>=17.0.6,<17.1.0a0'
libstdcxx-ng: '>=12'
hash:
- md5: 738a21e17b4d9d846cf96503810c9b45
- sha256: 2d0c4ecdf647bf0bf3602495f0a3b85aa1985d0027cc787aa43e0c810ebbc704
+ md5: 714849d4f3034fff0663b005b9b657d8
+ sha256: 8ad2310be45c84ab2fec72eb23d1a57d961770a803f44ff850c0b9f3c8c56b74
manager: conda
- name: clang-format-16
+ name: clang-format-17
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/clang-format-16-16.0.3-default_h1cdf331_2.conda
- version: 16.0.3
+ url: https://conda.anaconda.org/conda-forge/linux-64/clang-format-17-17.0.6-default_hb11cfb5_2.conda
+ version: 17.0.6
- category: main
dependencies:
click: ''
@@ -3770,14 +3786,14 @@ package:
python_abi: 3.10.* *_cp310
unicodedata2: '>=14.0.0'
hash:
- md5: c2dcff257e040bcda00e2a30a9d85333
- sha256: 65239757b26d95fe4d4368a9892d68baad555f3f62b405c3a58309db7747f929
+ md5: 0688fca50c84de6ff0df1c6440941e0e
+ sha256: ade32c4caa2453f9e60b8bc0f311b9a46e82a9f589b4ebcac2563b47803b2530
manager: conda
name: fonttools
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.45.1-py310h2372a71_0.conda
- version: 4.45.1
+ url: https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.47.2-py310h2372a71_0.conda
+ version: 4.47.2
- category: main
dependencies:
python: '>=3.7'
@@ -3823,14 +3839,14 @@ package:
python: '>=3.8'
zipp: '>=0.5'
hash:
- md5: 4e9f59a060c3be52bc4ddc46ee9b6946
- sha256: 2797ed927d65324309b6c630190d917b9f2111e0c217b721f80429aeb57f9fcf
+ md5: 746623a787e06191d80a2133e5daff17
+ sha256: e72d05f171f4567004c9360a838e9d5df21e23dcfeb945066b53a6e5f754b861
manager: conda
name: importlib-metadata
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-6.8.0-pyha770c72_0.conda
- version: 6.8.0
+ url: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-7.0.1-pyha770c72_0.conda
+ version: 7.0.1
- category: main
dependencies:
python: '>=3.8'
@@ -3862,14 +3878,14 @@ package:
markupsafe: '>=2.0'
python: '>=3.7'
hash:
- md5: c8490ed5c70966d232fdd389d0dbed37
- sha256: b045faba7130ab263db6a8fdc96b1a3de5fcf85c4a607c5f11a49e76851500b5
+ md5: e7d8df6509ba635247ff9aea31134262
+ sha256: fd517b7dd3a61eca34f8a6f9f92f306397149cae1204fce72ac3d227107dafdc
manager: conda
name: jinja2
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.2-pyhd8ed1ab_1.tar.bz2
- version: 3.1.2
+ url: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.3-pyhd8ed1ab_0.conda
+ version: 3.1.3
- category: main
dependencies:
jsonpointer: '>=1.9'
@@ -3910,27 +3926,28 @@ package:
version: 3.9.0
- category: main
dependencies:
- expat: '>=2.5.0,<3.0a0'
+ expat: ''
fontconfig: '>=2.14.2,<3.0a0'
fonts-conda-ecosystem: ''
freetype: '>=2.12.1,<3.0a0'
- icu: '>=72.1,<73.0a0'
+ icu: '>=73.2,<74.0a0'
+ libexpat: '>=2.5.0,<3.0a0'
libgcc-ng: '>=12'
- libjpeg-turbo: '>=2.1.5.1,<3.0a0'
+ libjpeg-turbo: '>=3.0.0,<4.0a0'
libpng: '>=1.6.39,<1.7.0a0'
- libtiff: '>=4.5.0,<4.6.0a0'
+ libtiff: '>=4.6.0,<4.7.0a0'
libwebp: ''
- libwebp-base: '>=1.3.0,<2.0a0'
+ libwebp-base: '>=1.3.2,<2.0a0'
libzlib: '>=1.2.13,<1.3.0a0'
zlib: ''
hash:
- md5: ef06bee47510a7f5db3c2297a51d6ce2
- sha256: 6335db21afc72f86cf4ee0298acde3af950087db2b24df3d28a81c7d24574244
+ md5: cfebc557e54905dadc355c0e9f003004
+ sha256: b74f95a6e1f3b31a74741b39cba83ed99fc82d17243c0fd3b5ab16ddd48ab89d
manager: conda
name: libgd
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libgd-2.3.3-hfa28ad5_6.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/libgd-2.3.3-h119a65a_9.conda
version: 2.3.3
- category: main
dependencies:
@@ -3969,14 +3986,14 @@ package:
tomli: '>=1.1.0'
typing_extensions: '>=4.1.0'
hash:
- md5: 0d60b1efdb10a07411570305e9e9421d
- sha256: d15de464eb41a105bd381779e6bf8311f72346afc9e7d6a79165d505403d4d54
+ md5: 3320dc32fc6bd29ab4a16cf22bc35fc2
+ sha256: 6c01268327db83c70c38cfc87fc13a71d09cda123ae06cd6edbbe620c2b20f33
manager: conda
name: mypy
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/mypy-1.7.1-py310h2372a71_0.conda
- version: 1.7.1
+ url: https://conda.anaconda.org/conda-forge/linux-64/mypy-1.8.0-py310h2372a71_0.conda
+ version: 1.8.0
- category: main
dependencies:
python: 2.7|>=3.7
@@ -3993,53 +4010,40 @@ package:
- category: main
dependencies:
freetype: '>=2.12.1,<3.0a0'
- lcms2: '>=2.15,<3.0a0'
+ lcms2: '>=2.16,<3.0a0'
libgcc-ng: '>=12'
- libjpeg-turbo: '>=2.1.5.1,<3.0a0'
- libtiff: '>=4.5.1,<4.6.0a0'
- libwebp-base: '>=1.3.1,<2.0a0'
+ libjpeg-turbo: '>=3.0.0,<4.0a0'
+ libtiff: '>=4.6.0,<4.7.0a0'
+ libwebp-base: '>=1.3.2,<2.0a0'
libxcb: '>=1.15,<1.16.0a0'
libzlib: '>=1.2.13,<1.3.0a0'
openjpeg: '>=2.5.0,<3.0a0'
python: '>=3.10,<3.11.0a0'
python_abi: 3.10.* *_cp310
- tk: '>=8.6.12,<8.7.0a0'
+ tk: '>=8.6.13,<8.7.0a0'
hash:
- md5: adcc7ea52e4d39d0a93f6a2ef36c7fd4
- sha256: 26d41f3e6278f42cc61499576e6f39a0bb84b5f21673250d89f8f958e9f6f4b0
+ md5: 9ec32d0d90f7670eb29bbba18299cf29
+ sha256: ddb300d69329606a9933717127880c2062e9d6539d8824b21a43ed63eb7dab4f
manager: conda
name: pillow
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/pillow-10.0.0-py310h582fbeb_0.conda
- version: 10.0.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/pillow-10.2.0-py310h01dd4db_0.conda
+ version: 10.2.0
- category: main
dependencies:
python: '>=3.7'
setuptools: ''
wheel: ''
hash:
- md5: 2400c0b86889f43aa52067161e1fb108
- sha256: 435829a03e1c6009f013f29bb83de8b876c388820bf8cf69a7baeec25f6a3563
+ md5: 8591c748f98dcc02253003533bc2e4b1
+ sha256: 29096d1d53c61aeef518729add2f405df86b3629d1d738a35b15095e6a02eeed
manager: conda
name: pip
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/pip-23.3.1-pyhd8ed1ab_0.conda
- version: 23.3.1
-- category: main
- dependencies:
- python: '>=3.7'
- typing_extensions: '>=4.7.1'
- hash:
- md5: 6bb4ee32cd435deaeac72776c001e7ac
- sha256: 67381d3f7cadca7df7699238e0dcce680ad20d7fd28804bab48611fecb084937
- manager: conda
- name: platformdirs
- optional: false
- platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.0.0-pyhd8ed1ab_0.conda
- version: 4.0.0
+ url: https://conda.anaconda.org/conda-forge/noarch/pip-23.3.2-pyhd8ed1ab_0.conda
+ version: 23.3.2
- category: main
dependencies:
python: '>=3.7'
@@ -4063,14 +4067,14 @@ package:
python: '>=3.7'
tomli: '>=1.0.0'
hash:
- md5: 5bdca0aca30b0ee62bb84854e027eae0
- sha256: 14e948e620ec87d9e62a8d9c21d40084b4805a939cfee322be7d457379dc96a0
+ md5: a9d145de8c5f064b5fa68fb34725d9f4
+ sha256: 8979721b7f86b183d21103f3ec2734783847d317c1b754f462f407efc7c60886
manager: conda
name: pytest
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/pytest-7.4.3-pyhd8ed1ab_0.conda
- version: 7.4.3
+ url: https://conda.anaconda.org/conda-forge/noarch/pytest-7.4.4-pyhd8ed1ab_0.conda
+ version: 7.4.4
- category: main
dependencies:
python: '>=3.6'
@@ -4202,16 +4206,16 @@ package:
version: 2.31.0.6
- category: main
dependencies:
- typing_extensions: 4.8.0 pyha770c72_0
+ typing_extensions: 4.9.0 pyha770c72_0
hash:
- md5: 384462e63262a527bda564fa2d9126c0
- sha256: d6e1dddd0c372218ef15912383d351ac8c73465cbf16238017f0269813cafe2d
+ md5: c16524c1b7227dc80b36b4fa6f77cc86
+ sha256: d795c1eb1db4ea147f01ece74e5a504d7c2e8d5ee8c11ec987884967dd938f9c
manager: conda
name: typing-extensions
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.8.0-hd8ed1ab_0.conda
- version: 4.8.0
+ url: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.9.0-hd8ed1ab_0.conda
+ version: 4.9.0
- category: main
dependencies:
brotli-python: '>=1.0.9'
@@ -4238,14 +4242,29 @@ package:
xorg-libx11: '>=1.8.7,<2.0a0'
xorg-libxt: '>=1.3.0,<2.0a0'
hash:
- md5: 554fab21708ab3d3c5a295c5206b5cbc
- sha256: 624f3ada4f4cfcc5177a9d5a7ab1ec5f3fc11ef21737aa2d85888be761e5d166
+ md5: 9bf8594682993f484f3b287e928e3b75
+ sha256: c128cebfdedbddb878be4d7b87364eb9fdf7de4293d32d0c874956daa966a45a
manager: conda
name: vim
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/vim-9.0.2059-py310pl5321he660f0e_1.conda
- version: 9.0.2059
+ url: https://conda.anaconda.org/conda-forge/linux-64/vim-9.1.0041-py310pl5321he660f0e_0.conda
+ version: 9.1.0041
+- category: main
+ dependencies:
+ distlib: <1,>=0.3.7
+ filelock: <4,>=3.12.2
+ platformdirs: <5,>=3.9.1
+ python: '>=3.8'
+ hash:
+ md5: c119653cba436d8183c27bf6d190e587
+ sha256: 50827c3721a9dbf973b568709d4381add2a6552fa562f26a385c5edc16a534af
+ manager: conda
+ name: virtualenv
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.25.0-pyhd8ed1ab_0.conda
+ version: 20.25.0
- category: main
dependencies:
markupsafe: '>=2.1.1'
@@ -4283,14 +4302,14 @@ package:
python: '>=3.10,<3.11.0a0'
python_abi: 3.10.* *_cp310
hash:
- md5: 10246f66639d9ca55e790410f0dbb465
- sha256: 159e9e292f841477dd1e4c897c055d364472720c79b16fa329faee1e7b878564
+ md5: 4ad35c8f6a64a6ab708780dad603aef4
+ sha256: 0851ac8c66e99faa9c885a2905c2b7b227a051c008cfaed97eeec0f82a9cdbcf
manager: conda
name: yarl
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/yarl-1.9.3-py310h2372a71_0.conda
- version: 1.9.3
+ url: https://conda.anaconda.org/conda-forge/linux-64/yarl-1.9.4-py310h2372a71_0.conda
+ version: 1.9.4
- category: main
dependencies:
python: '>=3.7'
@@ -4328,45 +4347,45 @@ package:
libgcc-ng: '>=12'
openssl: '>=3.2.0,<4.0a0'
hash:
- md5: d193ad6b5c2d47c679202afe5b69b371
- sha256: d99862ce623c68dd86225520c08bfe5ff46a0af885530a3faca4d3d54c7480bf
+ md5: f27f792aa83c7be3ee96d09a637a6474
+ sha256: 04142edf1a574e137a9e30a4f4e9b9448e219b6f4216a782ceaed933f27852a6
manager: conda
name: aws-c-s3
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-s3-0.4.3-h0448019_0.conda
- version: 0.4.3
+ url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-s3-0.4.4-h0448019_0.conda
+ version: 0.4.4
- category: main
dependencies:
jmespath: '>=0.7.1,<2.0.0'
- python: '>=3.7'
+ python: '>=3.8'
python-dateutil: '>=2.1,<3.0.0'
urllib3: '>=1.25.4,<1.27'
hash:
- md5: 352c39ba5cd9ea01996358f0748e102e
- sha256: 56566ea8f3a48c24190c1dcf50681c0a84b26821c335c21b5c3c5d238e4bdb14
+ md5: df438bbfe18de464fef2539fce7a9d50
+ sha256: fa130d7718c7ac1184b2418ea228f67d3d13d22dbcc79c770d64f82e9167417e
manager: conda
name: botocore
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/botocore-1.33.5-pyhd8ed1ab_0.conda
- version: 1.33.5
+ url: https://conda.anaconda.org/conda-forge/noarch/botocore-1.34.23-pyhd8ed1ab_0.conda
+ version: 1.34.23
- category: main
dependencies:
- clang-format-16: 16.0.3 default_h1cdf331_2
- libclang-cpp16: '>=16.0.3,<16.1.0a0'
+ clang-format-17: 17.0.6 default_hb11cfb5_2
+ libclang-cpp17: '>=17.0.6,<17.1.0a0'
libgcc-ng: '>=12'
- libllvm16: '>=16.0.3,<16.1.0a0'
+ libllvm17: '>=17.0.6,<17.1.0a0'
libstdcxx-ng: '>=12'
hash:
- md5: c15e6c12bbd093170f1dab9d1ee922a8
- sha256: fe8d04e73e28a844e3513b214ca83a218d6d7115b1a86d5dfe1eb4e80e4bd15a
+ md5: 494178765431e2992fe5619a57b39616
+ sha256: 72a08b56741b14175ce8df86540237c61bf218f7c88b65564b261aa950c96701
manager: conda
name: clang-format
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/clang-format-16.0.3-default_h1cdf331_2.conda
- version: 16.0.3
+ url: https://conda.anaconda.org/conda-forge/linux-64/clang-format-17.0.6-default_hb11cfb5_2.conda
+ version: 17.0.6
- category: main
dependencies:
cffi: '>=1.12'
@@ -4407,14 +4426,14 @@ package:
python: '>=3.8'
werkzeug: '>=3.0.0'
hash:
- md5: d26105227a24c82fdf160f20ed379400
- sha256: 73dafd8c1ae9ee9e42e5fa78275c8dc3b456879d83dc6d6ed82d92bd498c9184
+ md5: 49c5959bd6abaf3cdcb3668cebffd0d4
+ sha256: faa22b909ee7d69514bda05ddb6fde39dae3c7a47e69d6ef9b6107c7c636ac1b
manager: conda
name: flask
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/flask-3.0.0-pyhd8ed1ab_0.conda
- version: 3.0.0
+ url: https://conda.anaconda.org/conda-forge/noarch/flask-3.0.1-pyhd8ed1ab_0.conda
+ version: 3.0.1
- category: main
dependencies:
curl: ''
@@ -4441,44 +4460,44 @@ package:
python: '>=3.7'
typing_extensions: '>=3.7.4.3'
hash:
- md5: 6bf74c3b7c13079a91d4bd3da51cefcf
- sha256: 6b85809ffbfe5c1887b674bf0492cc4dd1ac8a25f4d9fa20ef404be92186259b
+ md5: 84874a90c312088f7b5e63402fc44a58
+ sha256: cf3c45156feec1fe8adfd3552ed70f4218e9771643cca8dd2673bca9dea04c9c
manager: conda
name: gitpython
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.40-pyhd8ed1ab_0.conda
- version: 3.1.40
+ url: https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.41-pyhd8ed1ab_0.conda
+ version: 3.1.41
- category: main
dependencies:
- cairo: '>=1.16.0,<2.0a0'
+ cairo: '>=1.18.0,<2.0a0'
freetype: '>=2.12.1,<3.0a0'
graphite2: ''
- icu: '>=72.1,<73.0a0'
+ icu: '>=73.2,<74.0a0'
libgcc-ng: '>=12'
- libglib: '>=2.76.2,<3.0a0'
+ libglib: '>=2.78.1,<3.0a0'
libstdcxx-ng: '>=12'
hash:
- md5: 765bc76c0dfaf24ff9d8a2935b2510df
- sha256: 9d99416e9d4a01ea0915f65ea7fac71dee11916de115fbd0325c0cb82e0b63f8
+ md5: 5a6f6c00ef982a9bc83558d9ac8f64a0
+ sha256: 4b55aea03b18a4084b750eee531ad978d4a3690f63019132c26c6ad26bbe3aed
manager: conda
name: harfbuzz
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-7.3.0-hdb3a94d_0.conda
- version: 7.3.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-8.3.0-h3d44ed6_0.conda
+ version: 8.3.0
- category: main
dependencies:
- importlib-metadata: '>=6.8.0,<6.8.1.0a0'
+ importlib-metadata: '>=7.0.1,<7.0.2.0a0'
hash:
- md5: b279b07ce18058034e5b3606ba103a8b
- sha256: b96e01dc42d547d6d9ceb1c5b52a5232cc04e40153534350f702c3e0418a6b3f
+ md5: 4a2f43a20fa404b998859c6a470ba316
+ sha256: bc362df1d4f5a04c38dff29cd9c2d0ac584f9c4b45d3e4683ee090944a38fba4
manager: conda
name: importlib_metadata
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/importlib_metadata-6.8.0-hd8ed1ab_0.conda
- version: 6.8.0
+ url: https://conda.anaconda.org/conda-forge/noarch/importlib_metadata-7.0.1-hd8ed1ab_0.conda
+ version: 7.0.1
- category: main
dependencies:
importlib_resources: '>=1.4.0'
@@ -4516,14 +4535,14 @@ package:
python: '>=3.10,<3.11.0a0'
python_abi: 3.10.* *_cp310
hash:
- md5: d3147cfbf72d6ae7bba10562208f6def
- sha256: f5ea7769beb7827f4f5858d28bbdbc814c01649cb8cb81cccbba476ebe3798cd
+ md5: e5e9c6f112d581cdf465b8ca861cb14f
+ sha256: bd199b12daf8713d2975e9b940e913cbb25527e5502c98bbf7acf16f992f6e66
manager: conda
name: numpy
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/numpy-1.26.2-py310hb13e2d6_0.conda
- version: 1.26.2
+ url: https://conda.anaconda.org/conda-forge/linux-64/numpy-1.26.3-py310hb13e2d6_0.conda
+ version: 1.26.3
- category: main
dependencies:
pip: ''
@@ -4554,16 +4573,16 @@ package:
libgcc-ng: '>=12'
python: '>=3.10,<3.11.0a0'
python_abi: 3.10.* *_cp310
- typing-extensions: '>=4.6.0'
+ typing-extensions: '>=4.6.0,!=4.7.0'
hash:
- md5: a47e1b53da51f577ee44e79f7589c388
- sha256: 58ce2738657c5b3c5539465fa54eb499361df836034501c4bf03b1fc0ba9a1b7
+ md5: f0f6b7e4b3d134f070288963ed4fbeee
+ sha256: 3bdc1ef89f9e431392aec8ed5695d8aefc7b65a014cc46934f75e87779f89745
manager: conda
name: pydantic-core
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.14.5-py310hcb5633a_0.conda
- version: 2.14.5
+ url: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.14.6-py310hcb5633a_1.conda
+ version: 2.14.6
- category: main
dependencies:
cffi: '>=1.4.1'
@@ -4628,14 +4647,14 @@ package:
pip: ''
python: '>=3.7,<4.0'
hash:
- md5: 1205762a36a808c0976f959caf389e8e
- sha256: 0040b85370375694ae48d21af3e14471f78578fb22cd284c80da3741def0ad4a
+ md5: a699f404daa279b4cb41a047cf70c94a
+ sha256: 8cf9f34336ef7af3479a03682e171c6a2c5837cb86bf9e4c2582b75cf3a27ab9
manager: conda
name: types-awscrt
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/types-awscrt-0.19.19-pyhd8ed1ab_0.conda
- version: 0.19.19
+ url: https://conda.anaconda.org/conda-forge/noarch/types-awscrt-0.20.2-pyhd8ed1ab_0.conda
+ version: 0.20.2
- category: main
dependencies:
cffi: ''
@@ -4652,21 +4671,6 @@ package:
platform: linux-64
url: https://conda.anaconda.org/conda-forge/linux-64/ukkonen-1.0.1-py310hd41b1e2_4.conda
version: 1.0.1
-- category: main
- dependencies:
- distlib: <1,>=0.3.7
- filelock: <4,>=3.12.2
- platformdirs: <5,>=3.9.1
- python: '>=3.8'
- hash:
- md5: db990278c2c00b268eed778de44f6057
- sha256: ad661ae59c64bd73c25dfadb00c601659f4d9cafbf428e36a690075e52bac96a
- manager: conda
- name: virtualenv
- optional: false
- platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.24.7-pyhd8ed1ab_0.conda
- version: 20.24.7
- category: main
dependencies:
libgcc-ng: '>=9.3.0'
@@ -4743,50 +4747,50 @@ package:
aws-c-http: '>=0.7.14,<0.7.15.0a0'
aws-c-io: '>=0.13.36,<0.13.37.0a0'
aws-c-mqtt: '>=0.9.10,<0.9.11.0a0'
- aws-c-s3: '>=0.4.3,<0.4.4.0a0'
+ aws-c-s3: '>=0.4.4,<0.4.5.0a0'
aws-checksums: '>=0.1.17,<0.1.18.0a0'
libgcc-ng: '>=12'
python: '>=3.10,<3.11.0a0'
python_abi: 3.10.* *_cp310
- s2n: '>=1.3.56,<1.3.57.0a0'
+ s2n: '>=1.4.0,<1.4.1.0a0'
hash:
- md5: 7fe0965c0d18613708e4b9793c0ac0c4
- sha256: 532660a9498d4c5728b803fb5476f2a327cb81ab832b9bf36fadeb4ed4d1b09f
+ md5: fd4b703083170315b3735e43967e3983
+ sha256: bdab178420ff1e1dcf13407c662d355290bbad434844ed903029f98cd8afc29c
manager: conda
name: awscrt
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/awscrt-0.19.18-py310h9381138_0.conda
- version: 0.19.18
+ url: https://conda.anaconda.org/conda-forge/linux-64/awscrt-0.19.19-py310h43b4219_2.conda
+ version: 0.19.19
- category: main
dependencies:
- python: '>=3.6'
- requests: '>=2.18.4'
+ python: '>=3.7'
+ requests: '>=2.21.0'
six: '>=1.11.0'
- typing-extensions: '>=4.0.1'
+ typing-extensions: '>=4.6.0'
hash:
- md5: 6e97f7d5387626f896515442002ac920
- sha256: 3f3ec0617e825bcabb70722ace9153dfdc02895aebb2179fc20b82eb30f79ec8
+ md5: 64d436079b1422e0483b0fbb326622a2
+ sha256: 9a9ea330870d2655348fcb8c87a5fa421f3b6c3e347653131d7104f04daad5b8
manager: conda
name: azure-core
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/azure-core-1.29.5-pyhd8ed1ab_0.conda
- version: 1.29.5
+ url: https://conda.anaconda.org/conda-forge/noarch/azure-core-1.29.7-pyhd8ed1ab_0.conda
+ version: 1.29.7
- category: main
dependencies:
- python: '>=3.7,<4.0'
+ python: '>=3.8,<4.0'
types-awscrt: ''
typing_extensions: '>=4.1.0'
hash:
- md5: 3e24267b0fce04a61f7532f3096c45a5
- sha256: 5e0daa0d40c5a6ea3b3798d31e0ae6bdc1d53c487e59153e5e4d9ee8c2ccc47c
+ md5: 7122b5ba8371cf83cf9593b65b57e49d
+ sha256: 8b4cca90a4056f0d6e30e324468c21c2e43cb3ed9154f0b26e225b22654874b7
manager: conda
name: botocore-stubs
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/botocore-stubs-1.33.5-pyhd8ed1ab_0.conda
- version: 1.33.5
+ url: https://conda.anaconda.org/conda-forge/noarch/botocore-stubs-1.34.23-pyhd8ed1ab_0.conda
+ version: 1.34.23
- category: main
dependencies:
msgpack-python: '>=0.5.2'
@@ -4803,21 +4807,22 @@ package:
version: 0.13.1
- category: main
dependencies:
- clang-format: 16.0.3 default_h1cdf331_2
- libclang-cpp16: '>=16.0.3,<16.1.0a0'
- libclang13: '>=16.0.3'
+ clang-format: 17.0.6 default_hb11cfb5_2
+ libclang-cpp17: '>=17.0.6,<17.1.0a0'
+ libclang13: '>=17.0.6'
libgcc-ng: '>=12'
- libllvm16: '>=16.0.3,<16.1.0a0'
+ libllvm17: '>=17.0.6,<17.1.0a0'
libstdcxx-ng: '>=12'
+ libxml2: '>=2.12.3,<3.0.0a0'
hash:
- md5: 8910812419605001db20734aad191191
- sha256: 236cd870e4a155d323202961cbcf13b1de84a86dde4ef6bf160b7e05b699b9d8
+ md5: 65fe0c9fbf75eef82b8a2bce629774ec
+ sha256: b9e2c06011261261d873c3d7033df0612a0f61d3a2e25e71323270ac23f79204
manager: conda
name: clang-tools
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/clang-tools-16.0.3-default_h1cdf331_2.conda
- version: 16.0.3
+ url: https://conda.anaconda.org/conda-forge/linux-64/clang-tools-17.0.6-default_hb11cfb5_2.conda
+ version: 17.0.6
- category: main
dependencies:
python: '>=3.7'
@@ -4882,14 +4887,14 @@ package:
python: '>=3.6'
ukkonen: ''
hash:
- md5: 3ef8e9bab1bfaf900bb0a5db8c0c742c
- sha256: 0783aa58f43d1c113a2ec300a29ba3313184056f9893671c75037fbadaf9e546
+ md5: 93c8f8ceb83827d88deeba796f07fba7
+ sha256: ce2a64c18221af96226be23278d81f22ff9f64b3c047d8865590f6718915303f
manager: conda
name: identify
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/identify-2.5.32-pyhd8ed1ab_0.conda
- version: 2.5.32
+ url: https://conda.anaconda.org/conda-forge/noarch/identify-2.5.33-pyhd8ed1ab_0.conda
+ version: 2.5.33
- category: main
dependencies:
importlib_metadata: ''
@@ -4913,14 +4918,14 @@ package:
referencing: '>=0.28.4'
rpds-py: '>=0.7.1'
hash:
- md5: 1116d79def5268414fb0917520b2bbf1
- sha256: 77aae609097d06deedb8ef8407a44b23d5fef95962ba6fe1c959ac7bd6195296
+ md5: 8a3a3d01629da20befa340919e3dd2c4
+ sha256: c5c1b4e08e91fdd697289015be1a176409b4e63942899a43b276f1f250be8129
manager: conda
name: jsonschema
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.20.0-pyhd8ed1ab_0.conda
- version: 4.20.0
+ url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.21.1-pyhd8ed1ab_0.conda
+ version: 4.21.1
- category: main
dependencies:
pathable: '>=0.4.1,<0.5.0'
@@ -4958,44 +4963,44 @@ package:
python: '>=3.6'
requests: <3,>=2.0.0
hash:
- md5: 4b2d7e21aa309356a9396d54800cd271
- sha256: 8a37a7c3efae510b90669cbae7b4f736477361406028953cd804d09a2d24c53a
+ md5: 9d9b0ef23f5dbe0d612ca037b9bfb410
+ sha256: e0eb5606b4a164964d663d7a215ac9cd18db1ce1eca544aa61348e0a2bda94a9
manager: conda
name: msal
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/msal-1.25.0-pyhd8ed1ab_0.conda
- version: 1.25.0
+ url: https://conda.anaconda.org/conda-forge/noarch/msal-1.26.0-pyhd8ed1ab_0.conda
+ version: 1.26.0
- category: main
dependencies:
- alsa-lib: '>=1.2.9,<1.2.10.0a0'
+ alsa-lib: '>=1.2.10,<1.2.11.0a0'
fontconfig: '>=2.14.2,<3.0a0'
fonts-conda-ecosystem: ''
freetype: '>=2.12.1,<3.0a0'
giflib: '>=5.2.1,<5.3.0a0'
- harfbuzz: '>=7.3.0,<8.0a0'
+ harfbuzz: '>=8.2.1,<9.0a0'
lcms2: '>=2.15,<3.0a0'
libcups: '>=2.3.3,<2.4.0a0'
libgcc-ng: '>=12'
- libjpeg-turbo: '>=2.1.5.1,<3.0a0'
+ libjpeg-turbo: '>=3.0.0,<4.0a0'
libpng: '>=1.6.39,<1.7.0a0'
libstdcxx-ng: '>=12'
libzlib: '>=1.2.13,<1.3.0a0'
- xorg-libx11: '>=1.8.4,<2.0a0'
+ xorg-libx11: '>=1.8.6,<2.0a0'
xorg-libxext: '>=1.3.4,<2.0a0'
xorg-libxi: ''
- xorg-libxrender: ''
+ xorg-libxrender: '>=0.9.11,<0.10.0a0'
xorg-libxt: '>=1.3.0,<2.0a0'
xorg-libxtst: ''
hash:
- md5: f71bdbfbe2a91520b9b488481f02237f
- sha256: a5b3b870378c505427eb7da7fb61829ed1b4ca1579422f6a1aa9e310dca86bed
+ md5: 06cb6ddea2e4639d2d8d91626d0eba3b
+ sha256: 0a88fdee61322f37bae674222488fc1153f1211312028c624db3f08bfda30617
manager: conda
name: openjdk
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/openjdk-20.0.0-h8e330f5_0.conda
- version: 20.0.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/openjdk-20.0.2-haa376d0_2.conda
+ version: 20.0.2
- category: main
dependencies:
libgcc-ng: '>=12'
@@ -5007,14 +5012,14 @@ package:
python_abi: 3.10.* *_cp310
pytz: '>=2020.1'
hash:
- md5: 30a39c1064e5efc578d83c2a5f7cd749
- sha256: bb2b3e4a3f3d40b87ac214b88393a7f1ee5b2cac41d249c580d184f7edb30653
+ md5: 514c836161e8b2e43e7d8fb7a28a92c4
+ sha256: 540cb88ff475938dc8fd0b55a911db5daf509603eca385d2bad55013bf17e453
manager: conda
name: pandas
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/pandas-2.1.3-py310hcc13569_0.conda
- version: 2.1.3
+ url: https://conda.anaconda.org/conda-forge/linux-64/pandas-2.2.0-py310hcc13569_0.conda
+ version: 2.2.0
- category: main
dependencies:
cairo: '>=1.16.0,<2.0a0'
@@ -5022,18 +5027,18 @@ package:
fonts-conda-ecosystem: ''
freetype: '>=2.12.1,<3.0a0'
fribidi: '>=1.0.10,<2.0a0'
- harfbuzz: '>=7.1.0,<8.0a0'
+ harfbuzz: '>=8.1.1,<9.0a0'
libgcc-ng: '>=12'
- libglib: '>=2.76.1,<3.0a0'
+ libglib: '>=2.76.4,<3.0a0'
libpng: '>=1.6.39,<1.7.0a0'
hash:
- md5: cde553e0e32389e26595db4eacf859eb
- sha256: 3bb7cf6e826fa6d867318ba4866470b02d2efcc1dcd6b8b6307afaa8ac21aff4
+ md5: 1a66c10f6a0da3dbd2f3a68127e7f6a0
+ sha256: 6ecce306b7ac4acf1184eb5b045e57e613e19e99c27d57f33eb255f8a9120a93
manager: conda
name: pango
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/pango-1.50.14-heaa33ce_1.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/pango-1.50.14-ha41ecd1_2.conda
version: 1.50.14
- category: main
dependencies:
@@ -5042,29 +5047,29 @@ package:
pynacl: '>=1.5'
python: '>=3.6'
hash:
- md5: 8d4563992b27cdb8e673d1ca16962c9d
- sha256: 9139c13cb7ea5729af862db5fb0523daa5900b9b4fa36637cd7f9c01be665f80
+ md5: a5e792523b028b06d7ce6e65a6cd4a33
+ sha256: 2e66359261954a79b66858c30e69ea6dd4380bf8bd733940527386b25e31dd13
manager: conda
name: paramiko
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/paramiko-3.3.1-pyhd8ed1ab_0.conda
- version: 3.3.1
+ url: https://conda.anaconda.org/conda-forge/noarch/paramiko-3.4.0-pyhd8ed1ab_0.conda
+ version: 3.4.0
- category: main
dependencies:
annotated-types: '>=0.4.0'
- pydantic-core: 2.14.5
+ pydantic-core: 2.14.6
python: '>=3.7'
typing-extensions: '>=4.6.1'
hash:
- md5: 3f908ebfccbfd09946961862d26bb9af
- sha256: e3baa6424af931d8d7c5a0554b24d85faf3471df8036181d598065beed3096de
+ md5: 3569001fd8b37e542aaefdf5de124e19
+ sha256: 07ec778cbf17737b740f0547fb5cba91a7bff52945fe637287458e4119c58ffe
manager: conda
name: pydantic
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.5.2-pyhd8ed1ab_0.conda
- version: 2.5.2
+ url: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.5.3-pyhd8ed1ab_0.conda
+ version: 2.5.3
- category: main
dependencies:
cryptography: '>=38.0.0,<41'
@@ -5114,16 +5119,16 @@ package:
- category: main
dependencies:
botocore: '>=1.33.2,<2.0a.0'
- python: '>=3.7'
+ python: '>=3.8'
hash:
- md5: 75e12933f4bf755c9cdd37072bcb6203
- sha256: 2e5679abcec8eb646df37518ecdbdaa224d7ff5295a1e56707317d52b47d9c79
+ md5: 2d52125a7fe49248ce5e883fed6c935a
+ sha256: 5f1fccbbc0460971f12dda7ab0465d8f6037486042d156b611881e57d218ce95
manager: conda
name: s3transfer
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.8.2-pyhd8ed1ab_0.conda
- version: 0.8.2
+ url: https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.10.0-pyhd8ed1ab_0.conda
+ version: 0.10.0
- category: main
dependencies:
attrs: ''
@@ -5170,7 +5175,7 @@ package:
version: 3.3.1
- category: main
dependencies:
- awscrt: 0.19.18
+ awscrt: '>=0.19.18,<=0.19.19'
colorama: '>=0.2.5,<0.4.7'
cryptography: '>=3.3.2,<=40.0.2'
distro: '>=1.5.0,<1.9.0'
@@ -5185,29 +5190,29 @@ package:
ruamel.yaml.clib: '>=0.2.0,<=0.2.7'
urllib3: '>=1.25.4,<1.27'
hash:
- md5: 83b614ffebf970bc4c848a34be1afe2d
- sha256: 85b91372b3343c70a52ac76eab1878b0ac41a2446778b2379c725c614a2c41be
+ md5: 5ef7b8dcc094f40102601e5e2e145da1
+ sha256: dce1ad33a64336a692bd6230becb27fb1d282bb8903e82c2dad1056858c69f63
manager: conda
name: awscli
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/awscli-2.14.4-py310hff52083_0.conda
- version: 2.14.4
+ url: https://conda.anaconda.org/conda-forge/linux-64/awscli-2.15.12-py310hff52083_1.conda
+ version: 2.15.12
- category: main
dependencies:
- botocore: '>=1.33.4,<1.34.0'
+ botocore: '>=1.34.23,<1.35.0'
jmespath: '>=0.7.1,<2.0.0'
- python: '>=3.7'
- s3transfer: '>=0.8.2,<0.9.0'
+ python: '>=3.8'
+ s3transfer: '>=0.10.0,<0.11.0'
hash:
- md5: 914d59cf685448451de9ac736cb0fb2a
- sha256: cb63cadfb3c593cb7295b14450e4310af88d32dc1bbf185ec82a325a12e86f28
+ md5: 49c89cef4cf380d165d479bf7f14ee0d
+ sha256: 2098c4255bf6b338c2bd757a53270e3454acd9846ec4c7d67dd9092a6c043cfa
manager: conda
name: boto3
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/boto3-1.33.4-pyhd8ed1ab_0.conda
- version: 1.33.4
+ url: https://conda.anaconda.org/conda-forge/noarch/boto3-1.34.23-pyhd8ed1ab_0.conda
+ version: 1.34.23
- category: main
dependencies:
cachecontrol: 0.13.1 pyhd8ed1ab_0
@@ -5246,31 +5251,31 @@ package:
urllib3: '>=1.26.0'
websocket-client: '>=0.32.0'
hash:
- md5: c95d23d8bae7e21491868cc7772d7c73
- sha256: 7c3031602e92fd7682302ef98a45bdf7374d48a849cdd3900b7c68a32d162177
+ md5: aec5f308cb9055e83c59afecd5fcb58a
+ sha256: b9bf5990dc968123e5817096daddd2105857cfd4c5b94c0937d929bc74fc7a31
manager: conda
name: docker-py
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/docker-py-6.1.3-pyhd8ed1ab_0.conda
- version: 6.1.3
+ url: https://conda.anaconda.org/conda-forge/noarch/docker-py-7.0.0-pyhd8ed1ab_0.conda
+ version: 7.0.0
- category: main
dependencies:
- atk-1.0: '>=2.36.0'
- cairo: '>=1.16.0,<2.0.0a0'
- gdk-pixbuf: '>=2.42.6,<3.0a0'
- gettext: '>=0.19.8.1,<1.0a0'
- libgcc-ng: '>=9.4.0'
- libglib: '>=2.70.2,<3.0a0'
- pango: '>=1.50.3,<1.51.0a0'
+ atk-1.0: '>=2.38.0'
+ cairo: '>=1.18.0,<2.0a0'
+ gdk-pixbuf: '>=2.42.10,<3.0a0'
+ gettext: '>=0.21.1,<1.0a0'
+ libgcc-ng: '>=12'
+ libglib: '>=2.78.3,<3.0a0'
+ pango: '>=1.50.14,<2.0a0'
hash:
- md5: 957a0255ab58aaf394a91725d73ab422
- sha256: 66d189ec36d67309fa3eb52d14d77b82359c10303c400eecc14f8eaca5939b87
+ md5: 0abfa7f9241a0f4fd732bc15773cfb0c
+ sha256: e659f5eca2a5f21d5fe859d8d1dae132a284800eb017b8b4e2286b252a230527
manager: conda
name: gtk2
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/gtk2-2.24.33-h90689f9_2.tar.bz2
+ url: https://conda.anaconda.org/conda-forge/linux-64/gtk2-2.24.33-h7f000aa_3.conda
version: 2.24.33
- category: main
dependencies:
@@ -5306,22 +5311,22 @@ package:
version: 24.3.0
- category: main
dependencies:
- cairo: '>=1.16.0,<2.0a0'
+ cairo: '>=1.18.0,<2.0a0'
gdk-pixbuf: '>=2.42.10,<3.0a0'
gettext: '>=0.21.1,<1.0a0'
libgcc-ng: '>=12'
- libglib: '>=2.76.1,<3.0a0'
- libxml2: '>=2.10.4,<2.11.0a0'
+ libglib: '>=2.78.1,<3.0a0'
+ libxml2: '>=2.12.1,<3.0.0a0'
pango: '>=1.50.14,<2.0a0'
hash:
- md5: 1ec4fab6eb4af1db9056b94265fe19cf
- sha256: 6449497e50d2343c6caf73ad9c74f82341e0c22aca3d6f333869e0a069d0c472
+ md5: 03bd1ddcc942867a19528877143b9852
+ sha256: b82d0c60376da88a2bf15d35d17c176aa923917ad7de4bc62ddef6d02f3518fb
manager: conda
name: librsvg
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.56.0-h5cef280_0.conda
- version: 2.56.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.56.3-he3f83f7_1.conda
+ version: 2.56.3
- category: main
dependencies:
certifi: '>=2020.06.20'
@@ -5383,18 +5388,18 @@ package:
cfgv: '>=2.0.0'
identify: '>=1.0.0'
nodeenv: '>=0.11.1'
- python: '>=3.8'
+ python: '>=3.9'
pyyaml: '>=5.1'
virtualenv: '>=20.10.0'
hash:
- md5: 964e3d762e427661c59263435a14c492
- sha256: 51a4a17334a15ec92805cd075776563ff93b3b6c20732c4cb607c98a761ae02f
+ md5: 473a7cfca197da0a10cff3f6dded7d4b
+ sha256: 7d1f4b4a2eb4946b5808769642c5f643788c3a9e090f1c02a6c63f8794fb3d54
manager: conda
name: pre-commit
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/pre-commit-3.5.0-pyha770c72_0.conda
- version: 3.5.0
+ url: https://conda.anaconda.org/conda-forge/noarch/pre-commit-3.6.0-pyha770c72_0.conda
+ version: 3.6.0
- category: main
dependencies:
__unix: ''
@@ -5414,16 +5419,16 @@ package:
jsonschema: <5,>=3.2
pydantic: '>=1.8,<3'
python: '>=3.7,<4.0'
- typing-extensions: <5,>=4.4
+ typing-extensions: '>=4.4'
hash:
- md5: d9f3ca99e7d10b05ead04edcdcb7e0cb
- sha256: 1bf5fa0d34e4de0843eaa82311e3dd680fdbe02cd74a6945f9b662f504bbcd08
+ md5: cf935f13e0519eef2b83e63a4272ef2d
+ sha256: f588769f8ca933c3b22bc2fb2af55c2783bbe4e2615e9c38adc76163da670e27
manager: conda
name: aws-sam-translator
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/aws-sam-translator-1.81.0-pyhd8ed1ab_0.conda
- version: 1.81.0
+ url: https://conda.anaconda.org/conda-forge/noarch/aws-sam-translator-1.83.0-pyhd8ed1ab_0.conda
+ version: 1.83.0
- category: main
dependencies:
azure-core: <2.0.0,>=1.23.0
@@ -5446,14 +5451,14 @@ package:
python: ''
typing_extensions: ''
hash:
- md5: 23cf1bb1fb33251d3f0caf4198a90782
- sha256: 44363a8ede827c4bac4c1e6535461ab6f12a19c658dff0a4d908c6d1e19c5d70
+ md5: 42ee533bf20660a4132b7f3ce6b45ef9
+ sha256: 72c4234eba8c6d5c125bb21dabc478feb97ab68295e06d1b9fa07a7ec26c6e68
manager: conda
name: boto3-stubs
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/boto3-stubs-1.33.5-pyhd8ed1ab_0.conda
- version: 1.33.5
+ url: https://conda.anaconda.org/conda-forge/noarch/boto3-stubs-1.34.23-pyhd8ed1ab_0.conda
+ version: 1.34.23
- category: main
dependencies:
archspec: ''
@@ -5516,62 +5521,57 @@ package:
version: 1.4.0
- category: main
dependencies:
- cairo: '>=1.16.0,<2.0a0'
- expat: ''
- fontconfig: '>=2.14.2,<3.0a0'
+ cairo: '>=1.18.0,<2.0a0'
fonts-conda-ecosystem: ''
- freetype: '>=2.12.1,<3.0a0'
gdk-pixbuf: '>=2.42.10,<3.0a0'
gtk2: ''
gts: '>=0.7.6,<0.8.0a0'
libexpat: '>=2.5.0,<3.0a0'
libgcc-ng: '>=12'
libgd: '>=2.3.3,<2.4.0a0'
- libglib: '>=2.76.2,<3.0a0'
- librsvg: '>=2.56.0,<3.0a0'
+ libglib: '>=2.78.1,<3.0a0'
+ librsvg: '>=2.56.3,<3.0a0'
libstdcxx-ng: '>=12'
- libtool: ''
- libwebp-base: '>=1.3.0,<2.0a0'
+ libwebp-base: '>=1.3.2,<2.0a0'
libzlib: '>=1.2.13,<1.3.0a0'
pango: '>=1.50.14,<2.0a0'
- zlib: ''
hash:
- md5: 597e2d0e1c6bc2e4457714ff479fe142
- sha256: 4bfb42de2d28406666ef6729169cae3f49c216c5ebd9f34afa40223755e2aaf8
+ md5: a3f4cd4a512ec5db35ffbf25ba11f537
+ sha256: 1813800d655c120a3941d543a6fc64e3c178c737f1c84f6b7ebe1f19f27fa4fb
manager: conda
name: graphviz
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/graphviz-8.0.5-h28d9a01_0.conda
- version: 8.0.5
+ url: https://conda.anaconda.org/conda-forge/linux-64/graphviz-9.0.0-h78e8752_1.conda
+ version: 9.0.0
- category: main
dependencies:
boto3: ''
python: '>=3.6'
typing-extensions: ''
hash:
- md5: 01f46d3078f21041719d2c5fb83200de
- sha256: ef1e693434f0d3c84389e459486d57abda67df228c2671d11285ba73baa5c11a
+ md5: c594f646f5f92ae7f4ea68dc46ce633c
+ sha256: 60ac647a40388267eebdb8e7be63eeec791a8964ed597f1339be8a35d623cc31
manager: conda
name: mypy-boto3-s3
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/mypy-boto3-s3-1.33.2-pyhd8ed1ab_0.conda
- version: 1.33.2
+ url: https://conda.anaconda.org/conda-forge/noarch/mypy-boto3-s3-1.34.14-pyhd8ed1ab_0.conda
+ version: 1.34.14
- category: main
dependencies:
boto3: ''
python: '>=3.6'
typing-extensions: ''
hash:
- md5: 687d78daf8e04f4c5e5cfa92ead666c4
- sha256: 2fecbcc276e13a119ec87602d9547aa537bf690724288d368ebf606351c19f67
+ md5: 0aedc754685324ef7f10093f83b79337
+ sha256: da027403a9333979e734bec2d4089ec3f1a574de451bdc366cd3f9fb06551a1c
manager: conda
name: mypy_boto3_ec2
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/mypy_boto3_ec2-1.33.0-pyhd8ed1ab_0.conda
- version: 1.33.0
+ url: https://conda.anaconda.org/conda-forge/noarch/mypy_boto3_ec2-1.34.17-pyhd8ed1ab_0.conda
+ version: 1.34.17
- category: main
dependencies:
importlib_resources: '>=5.8,<7.0'
@@ -5605,7 +5605,7 @@ package:
version: 0.4.2
- category: main
dependencies:
- aws-sam-translator: '>=1.79.0'
+ aws-sam-translator: '>=1.83.0'
jschema-to-python: '>=1.2.3,<1.3.dev0'
jsonpatch: ''
jsonschema: '>=3.0,<5'
@@ -5617,14 +5617,14 @@ package:
sarif-om: '>=1.0.4,<1.1.dev0'
sympy: '>=1.0.0'
hash:
- md5: 8fa5ac9497fc51cb02377e38500ce964
- sha256: a77254900a3bc62e4c216f1223c9a14982db30e3c24a1b3fcc9cd9dcf3d1f5a4
+ md5: c77ca2cb441d25ab24b73c1318facee1
+ sha256: 6b0c1b6161052c7c2d15b32bc58267316cd5d983e701056fb9fe3e6ade903299
manager: conda
name: cfn-lint
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/cfn-lint-0.83.3-pyhd8ed1ab_0.conda
- version: 0.83.3
+ url: https://conda.anaconda.org/conda-forge/noarch/cfn-lint-0.84.0-pyhd8ed1ab_0.conda
+ version: 0.84.0
- category: main
dependencies:
colorama: ''
@@ -5647,17 +5647,17 @@ package:
conda-standalone: ''
jinja2: ''
pillow: '>=3.1'
- python: '>=3.7'
- ruamel.yaml: '>=0.11.14,<0.18'
+ python: '>=3.8'
+ ruamel.yaml: '>=0.11.14,<0.19'
hash:
- md5: bece1550cd8ce528b234f41c85786ef8
- sha256: a4304eff880a3150e027f8af8d158cc9bf6e6c8444d2affda4e2b17125f44a85
+ md5: d8cb2dfbc95cd06af84d11bf16572270
+ sha256: 78a2b1abf48bdb34a9902caa7bff273ed001758f0845ef0508b347d85c21ca2b
manager: conda
name: constructor
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/constructor-3.5.0-pyhe4f9e05_0.conda
- version: 3.5.0
+ url: https://conda.anaconda.org/conda-forge/noarch/constructor-3.6.0-pyh55f8243_0.conda
+ version: 3.6.0
- category: main
dependencies:
graphviz: '>=2.46.1'
@@ -5700,14 +5700,14 @@ package:
werkzeug: '>=0.5,!=2.2.0,!=2.2.1'
xmltodict: ''
hash:
- md5: cd76850f625a821bd553380913baf5d6
- sha256: 307ce3acd4c5c3b25f25e871924e96ee052c09a8a2832fcb7a89a2dc26f309cb
+ md5: f7a4a329637c29a72236ab2f34225fcd
+ sha256: f6b71acc587d2eeafe926e750f3baa7d45ce406077aa514478b729edc8b82abc
manager: conda
name: moto
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/moto-4.2.10-pyhd8ed1ab_0.conda
- version: 4.2.10
+ url: https://conda.anaconda.org/conda-forge/noarch/moto-4.2.13-pyhd8ed1ab_0.conda
+ version: 4.2.13
- category: main
dependencies:
livereload: '>=2.3.0'
@@ -5727,40 +5727,40 @@ package:
python: '>=3.9'
sphinx: '>=5'
hash:
- md5: aebfabcb60c33a89c1f9290cab49bc93
- sha256: 67e2b386c7b3c858ead88fa71fe4fa5eb1f4f59d7994d167b3910a744db392d3
+ md5: 611a35a27914fac3aa37611a6fe40bb5
+ sha256: 710013443a063518d587d2af82299e92ab6d6695edf35a676ac3a0ccc9e3f8e6
manager: conda
name: sphinxcontrib-applehelp
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-1.0.7-pyhd8ed1ab_0.conda
- version: 1.0.7
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-1.0.8-pyhd8ed1ab_0.conda
+ version: 1.0.8
- category: main
dependencies:
python: '>=3.9'
sphinx: '>=5'
hash:
- md5: ebf08f5184d8eaa486697bc060031953
- sha256: 770e13ebfef321426c09ec51d95c57755512db160518b2922a4337546ee51672
+ md5: d7e4954df0d3aea2eacc7835ad12671d
+ sha256: 63a6b60653ef13a6712848f4b3c4b713d4b564da1dae571893f1a3659cde85f3
manager: conda
name: sphinxcontrib-devhelp
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-devhelp-1.0.5-pyhd8ed1ab_0.conda
- version: 1.0.5
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-devhelp-1.0.6-pyhd8ed1ab_0.conda
+ version: 1.0.6
- category: main
dependencies:
python: '>=3.9'
sphinx: '>=5'
hash:
- md5: a9a89000dfd19656ad004b937eeb6828
- sha256: 5f09cd4a08a6c194c11999871a8c7cedc2cd7edd9ff7ceb6f0667b6698be4cc5
+ md5: 7e1e7437273682ada2ed5e9e9714b140
+ sha256: 512f393cfe34cb3de96ade7a7ad900d6278e2087a1f0e5732aa60fadee396d99
manager: conda
name: sphinxcontrib-htmlhelp
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.0.4-pyhd8ed1ab_0.conda
- version: 2.0.4
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.0.5-pyhd8ed1ab_0.conda
+ version: 2.0.5
- category: main
dependencies:
python: '>=2.7'
@@ -5794,14 +5794,14 @@ package:
python: '>=3.9'
sphinx: '>=5'
hash:
- md5: cf5c9649272c677a964a7313279e3a9b
- sha256: 9ba5cea9cbab64106e8b5a9b19add855dcb52b8fbb1674398c715bccdbc04471
+ md5: 26acae54b06f178681bfb551760f5dd1
+ sha256: dd35b52f056c39081cd0ae01155174277af579b69e5d83798a33e9056ec78d63
manager: conda
name: sphinxcontrib-qthelp
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-1.0.6-pyhd8ed1ab_0.conda
- version: 1.0.6
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-1.0.7-pyhd8ed1ab_0.conda
+ version: 1.0.7
- category: main
dependencies:
alabaster: '>=0.7,<0.8'
@@ -5836,14 +5836,14 @@ package:
python: '>=3.9'
sphinx: '>=5'
hash:
- md5: 0612e497d7860728f2cda421ea2aec09
- sha256: c5710ae7bb7465f25a29cc845d9fb6ad0ea561972d796d379fcb48d801e96d6d
+ md5: e507335cb4ca9cff4c3d0fa9cdab255e
+ sha256: bf80e4c0ff97d5e8e5f6db0831ba60007e820a3a438e8f1afd868aa516d67d6f
manager: conda
name: sphinxcontrib-serializinghtml
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-1.1.9-pyhd8ed1ab_0.conda
- version: 1.1.9
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-1.1.10-pyhd8ed1ab_0.conda
+ version: 1.1.10
- category: main
dependencies: {}
hash:
@@ -5891,12 +5891,12 @@ package:
- dependencies:
typing-extensions: '>=4.2.0'
hash:
- sha256: 1740068fd8e2ef6eb27a20e5651df000978edce6da6803c2bef0bc74540f9548
+ sha256: 82d886bd3c3fbeaa963692ef6b643159ccb4b4cefaf7ff1617720cbead04fd1d
manager: pip
name: pydantic
platform: linux-64
- url: https://files.pythonhosted.org/packages/e0/2f/d6f17f8385d718233bcae893d27525443d41201c938b68a4af3d591a33e4/pydantic-1.10.13-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- version: 1.10.13
+ url: https://files.pythonhosted.org/packages/8b/ff/c6e3de00d83a607ba7fb81cee8ad72bbc722f15a57d18a815a1aa0e35793/pydantic-1.10.14-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
+ version: 1.10.14
- category: main
dependencies:
ruamel.yaml.clib: '>=0.2.7'
diff --git a/conda-reqs/docs.yaml b/conda-reqs/docs.yaml
new file mode 100644
index 00000000..38356ad0
--- /dev/null
+++ b/conda-reqs/docs.yaml
@@ -0,0 +1,23 @@
+channels:
+ - ucb-bar
+ - conda-forge
+ - litex-hub
+ - nodefaults
+
+platforms:
+ - linux-64
+
+dependencies:
+ # https://conda-forge.org/feedstock-outputs/
+ # filterable list of all conda-forge packages
+ # https://conda-forge.org/#contribute
+ # instructions on adding a recipe
+ # 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
+
+ # doc requirements
+ - sphinx
+ - pygments
+ - sphinx-autobuild
+ - sphinx_rtd_theme
+ - docutils
diff --git a/docs/Advanced-Concepts/Chip-Communication.rst b/docs/Advanced-Concepts/Chip-Communication.rst
index 5a79e963..bc913f68 100644
--- a/docs/Advanced-Concepts/Chip-Communication.rst
+++ b/docs/Advanced-Concepts/Chip-Communication.rst
@@ -198,25 +198,3 @@ bringup design).
:language: scala
:start-after: DOC include start: TetheredChipLikeRocketConfig
:end-before: DOC include end: TetheredChipLikeRocketConfig
-
-Softcore-driven Bringup Setup of the Example Test Chip after Tapeout
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-.. warning::
- Bringing up test chips with a FPGA softcore as described here is discouraged.
- An alternative approach using the FPGA to "bridge" between a host computer and the test chip is the preferred approach.
-
-Assuming this example test chip is taped out and now ready to be tested, we can communicate with the chip using this serial-link.
-For example, a common test setup used at Berkeley to evaluate Chipyard-based test-chips includes an FPGA running a RISC-V soft-core that is able to speak to the DUT (over an FMC).
-This RISC-V soft-core would serve as the host of the test that will run on the DUT.
-This is done by the RISC-V soft-core running FESVR, sending TSI commands to a ``TSIToTileLink`` / ``TLSerdesser`` programmed on the FPGA.
-Once the commands are converted to serialized TileLink, then they can be sent over some medium to the DUT
-(like an FMC cable or a set of wires connecting FPGA outputs to the DUT board).
-Similar to simulation, if the chip requests offchip memory, it can then send the transaction back over the serial-link.
-Then the request can be serviced by the FPGA DRAM.
-The following image shows this flow:
-
-.. image:: ../_static/images/chip-bringup.png
-
-In fact, this exact type of bringup setup is what the following section discusses:
-:ref:_legacy-vcu118-bringup.
diff --git a/docs/Chipyard-Basics/Chipyard-Components.rst b/docs/Chipyard-Basics/Chipyard-Components.rst
index 8f8e9045..669bfdfc 100644
--- a/docs/Chipyard-Basics/Chipyard-Components.rst
+++ b/docs/Chipyard-Basics/Chipyard-Components.rst
@@ -53,9 +53,9 @@ System Components:
**icenet**
A Network Interface Controller (NIC) designed to achieve up to 200 Gbps.
-**sifive-blocks**
- System components implemented by SiFive and used by SiFive projects, designed to be integrated with the Rocket Chip generator.
- These system and peripheral components include UART, SPI, JTAG, I2C, PWM, and other peripheral and interface devices.
+**rocket-chip-blocks**
+ System components originally implemented by SiFive and used by SiFive projects, designed to be integrated with the Rocket Chip generator.
+ Now maintained by Chips Alliance. These system and peripheral components include UART, SPI, JTAG, I2C, PWM, and other peripheral and interface devices.
**AWL (Analog Widget Library)**
Digital components required for integration with high speed serial links.
@@ -106,6 +106,9 @@ Software
FireMarshal is the default workload generation tool that Chipyard uses to create software to run on its platforms.
See :ref:`fire-marshal` for more information.
+**Baremetal-IDE**
+ Baremetal-IDE is an all-in-one tool for baremetal-level C/C++ program development. See `Tutorial `_ for more information.
+
Sims
-------------------------------------------
diff --git a/docs/Chipyard-Basics/Initial-Repo-Setup.rst b/docs/Chipyard-Basics/Initial-Repo-Setup.rst
index 9f31624e..948b7e2e 100644
--- a/docs/Chipyard-Basics/Initial-Repo-Setup.rst
+++ b/docs/Chipyard-Basics/Initial-Repo-Setup.rst
@@ -46,7 +46,7 @@ This is done by the following:
.. code-block:: shell
- conda install -n base conda-lock=1.4
+ conda install -n base conda-lock==1.4.0
conda activate base
diff --git a/docs/Customization/Boot-Process.rst b/docs/Customization/Boot-Process.rst
index 52ea32c1..9f745b7d 100644
--- a/docs/Customization/Boot-Process.rst
+++ b/docs/Customization/Boot-Process.rst
@@ -74,6 +74,6 @@ mode, thus starting userspace execution.
The easiest way to build a BBL image that boots Linux is to use the FireMarshal
tool that lives in the `firesim-software `_
repository. Directions on how to use FireMarshal can be found in the
-:fsim_doc:`FireSim documentation `.
+:fsim_doc:`FireSim documentation `.
Using FireMarshal, you can add custom kernel configurations and userspace software
to your workload.
diff --git a/docs/Customization/Custom-Chisel.rst b/docs/Customization/Custom-Chisel.rst
index 121ca712..a3b4ef72 100644
--- a/docs/Customization/Custom-Chisel.rst
+++ b/docs/Customization/Custom-Chisel.rst
@@ -59,7 +59,7 @@ should look something like this:
.. code-block:: scala
lazy val chipyard = (project in file("generators/chipyard"))
- .dependsOn(testchipip, rocketchip, boom, hwacha, sifive_blocks, sifive_cache, iocell,
+ .dependsOn(testchipip, rocketchip, boom, hwacha, rocketchip_blocks, rocketchip_inclusive_cache, iocell,
sha3, dsptools, `rocket-dsp-utils`,
gemmini, icenet, tracegen, cva6, nvdla, sodor, ibex, fft_generator,
yourproject, // <- added to the middle of the list for simplicity
diff --git a/docs/Customization/Incorporating-Verilog-Blocks.rst b/docs/Customization/Incorporating-Verilog-Blocks.rst
index 7724ffb2..fde44411 100644
--- a/docs/Customization/Incorporating-Verilog-Blocks.rst
+++ b/docs/Customization/Incorporating-Verilog-Blocks.rst
@@ -99,10 +99,16 @@ Instantiating the BlackBox and Defining MMIO
Next, we must instantiate the blackbox. In order to take advantage of
diplomatic memory mapping on the system bus, we still have to
-integrate the peripheral at the Chisel level by mixing
-peripheral-specific traits into a ``TLRegisterRouter``. The ``params``
-member and ``HasRegMap`` base trait should look familiar from the
-previous memory-mapped GCD device example.
+integrate the peripheral at the Chisel level by instantiating a LazyModule wrapper
+that instantiates a TileLink RegisterNode.
+
+.. literalinclude:: ../../generators/chipyard/src/main/scala/example/GCD.scala
+ :language: scala
+ :start-after: DOC include start: GCD router
+ :end-before: DOC include end: GCD router
+
+Within the LazyModule, the ``regmap`` function can be called to attach wires and
+registers to the MMIO port.
.. literalinclude:: ../../generators/chipyard/src/main/scala/example/GCD.scala
:language: scala
diff --git a/docs/Customization/Keys-Traits-Configs.rst b/docs/Customization/Keys-Traits-Configs.rst
index 7b6d565b..b91e4748 100644
--- a/docs/Customization/Keys-Traits-Configs.rst
+++ b/docs/Customization/Keys-Traits-Configs.rst
@@ -40,12 +40,12 @@ Top-level traits specify that the ``DigitalTop`` has been parameterized to read
Top-level traits should be defined and documented in subprojects, alongside their corresponding keys. The traits should then be added to the ``DigitalTop`` being used by Chipyard.
-Below we see the traits for the GCD example. The Lazy trait connects the GCD module to the Diplomacy graph, while the Implementation trait causes the ``DigitalTop`` to instantiate an additional port and concretely connect it to the GCD module.
+Below we see the traits for the GCD example. The Lazy trait connects the GCD module to the Diplomacy graph.
.. literalinclude:: ../../generators/chipyard/src/main/scala/example/GCD.scala
:language: scala
:start-after: DOC include start: GCD lazy trait
- :end-before: DOC include end: GCD imp trait
+ :end-before: DOC include end: GCD lazy trait
These traits are added to the default ``DigitalTop`` in Chipyard.
diff --git a/docs/Customization/MMIO-Peripherals.rst b/docs/Customization/MMIO-Peripherals.rst
index 4d0ba16a..105d3f70 100644
--- a/docs/Customization/MMIO-Peripherals.rst
+++ b/docs/Customization/MMIO-Peripherals.rst
@@ -3,14 +3,15 @@
MMIO Peripherals
==================
-The easiest way to create a MMIO peripheral is to use the ``TLRegisterRouter`` or ``AXI4RegisterRouter`` widgets, which abstracts away the details of handling the interconnect protocols and provides a convenient interface for specifying memory-mapped registers. Since Chipyard and Rocket Chip SoCs primarily use Tilelink as the on-chip interconnect protocol, this section will primarily focus on designing Tilelink-based peripherals. However, see ``generators/chipyard/src/main/scala/example/GCD.scala`` for how an example AXI4 based peripheral is defined and connected to the Tilelink graph through converters.
+The easiest way to create a MMIO peripheral is to follow the GCD TileLink MMIO example. Since Chipyard and Rocket Chip SoCs primarily use Tilelink as the on-chip interconnect protocol, this section will primarily focus on designing Tilelink-based peripherals. However, see ``generators/chipyard/src/main/scala/example/GCD.scala`` for how an example AXI4 based peripheral is defined and connected to the Tilelink graph through converters.
-To create a RegisterRouter-based peripheral, you will need to specify a parameter case class for the configuration settings, a bundle trait with the extra top-level ports, and a module implementation containing the actual RTL.
+To create a MMIO-mapped peripheral, you will need to specify a ``LazyModule`` wrapper containing the TileLink port as a Diplomacy Node, as well as an internal ``LazyModuleImp`` class that defines the MMIO's implementation and any non-TileLink I/O.
For this example, we will show how to connect a MMIO peripheral which computes the GCD.
The full code can be found in ``generators/chipyard/src/main/scala/example/GCD.scala``.
-In this case we use a submodule ``GCDMMIOChiselModule`` to actually perform the GCD. The ``GCDModule`` class only creates the registers and hooks them up using ``regmap``.
+In this case we use a submodule ``GCDMMIOChiselModule`` to actually perform the GCD. The ``GCDTL`` and ``GCDAXI4`` classes are the ``LazyModule`` classes which construct the TileLink or AXI4 ports, wrapping the inner ``GCDMMIOChiselModule``.
+The ``node`` object is a Diplomacy node, which connects the peripheral to the Diplomacy interconnect graph.
.. literalinclude:: ../../generators/chipyard/src/main/scala/example/GCD.scala
:language: scala
@@ -19,8 +20,9 @@ In this case we use a submodule ``GCDMMIOChiselModule`` to actually perform the
.. literalinclude:: ../../generators/chipyard/src/main/scala/example/GCD.scala
:language: scala
- :start-after: DOC include start: GCD instance regmap
- :end-before: DOC include end: GCD instance regmap
+ :start-after: DOC include start: GCD router
+ :end-before: DOC include end: GCD router
+
Advanced Features of RegField Entries
-------------------------------------
@@ -41,15 +43,31 @@ triggering the GCD algorithm when ``y`` is written. Therefore, the
algorithm is set up by first writing ``x`` and then performing a
triggering write to ``y``. Polling can be used for status checks.
+.. literalinclude:: ../../generators/chipyard/src/main/scala/example/GCD.scala
+ :language: scala
+ :start-after: DOC include start: GCD instance regmap
+ :end-before: DOC include end: GCD instance regmap
+
+.. note::
+ In older versions of Chipyard and Rocket-Chip, a ``TLRegisterRouter`` abstrat
+ class was used to abstract away the construction of the ``TLRegisterNode`` and
+ ``LazyModule`` classes necessary to construct MMIO peripherals. This was removed,
+ in favor of requiring users to explicitly construct the necessary classes.
+
+ This matches more closely how standard ``Modules`` and ``LazyModules`` are
+ constructed, making it clearer how a MMIO peripheral fits into the ``Module``
+ and ``LazyModule`` design patterns.
+
Connecting by TileLink
----------------------
-Once you have these classes, you can construct the final peripheral by extending the ``TLRegisterRouter`` and passing the proper arguments.
-The first set of arguments determines where the register router will be placed in the global address map and what information will be put in its device tree entry.
-The second set of arguments is the IO bundle constructor, which we create by extending ``TLRegBundle`` with our bundle trait.
-The final set of arguments is the module constructor, which we create by extends ``TLRegModule`` with our module trait.
-Notice how we can create an analogous AXI4 version of our peripheral.
+The key to connecting to the TileLink Diplomatic graph is the construction of the TileLink node for this peripheral.
+In this case, since the peripheral acts as a manager of some register-mapped address space, it uses the ``TLRegisterNode`` object.
+The parameters to the ``TLRegisterNode`` object specify the size of the managed space, the base address, and the port width.
+
+Within the register-mapped peripheral, the control registers can be mapped using the ``node.regmap`` function, as described above.
+A similar procedure is followed for both AXI4 and TileLin peripherals.
.. literalinclude:: ../../generators/chipyard/src/main/scala/example/GCD.scala
:language: scala
@@ -62,30 +80,18 @@ Top-level Traits
----------------
After creating the module, we need to hook it up to our SoC.
-Rocket Chip accomplishes this using the cake pattern.
-This basically involves placing code inside traits.
-In the Rocket Chip cake, there are two kinds of traits: a ``LazyModule`` trait and a module implementation trait.
-
-The ``LazyModule`` trait runs setup code that must execute before all the hardware gets elaborated.
-For a simple memory-mapped peripheral, this just involves connecting the peripheral's TileLink node to the MMIO crossbar.
+The ``LazyModule`` abstract class containst the TileLink node representing the peripheral's I/O.
+For a simple memory-mapped peripheral, connecting the peripheral's TileLink node must be connected to the relevant bu.
.. literalinclude:: ../../generators/chipyard/src/main/scala/example/GCD.scala
:language: scala
:start-after: DOC include start: GCD lazy trait
:end-before: DOC include end: GCD lazy trait
-Note that the ``GCDTL`` class we created from the register router is itself a ``LazyModule``.
-Register routers have a TileLink node simply named "node", which we can hook up to the Rocket Chip bus.
-This will automatically add address map and device tree entries for the peripheral.
Also observe how we have to place additional AXI4 buffers and converters for the AXI4 version of this peripheral.
-For peripherals which instantiate a concrete module, or which need to be connected to concrete IOs or wires, a matching concrete trait is necessary. We will make our GCD example output a ``gcd_busy`` signal as a top-level port to demonstrate. In the concrete module implementation trait, we instantiate the top level IO (a concrete object) and wire it to the IO of our lazy module.
-
-
-.. literalinclude:: ../../generators/chipyard/src/main/scala/example/GCD.scala
- :language: scala
- :start-after: DOC include start: GCD imp trait
- :end-before: DOC include end: GCD imp trait
+Peripherals which expose I/O can use `InModuleBody` to punch their I/O to the `DigitalTop` module.
+In this example, the GCD module's ``gcd_busy`` signal is exposed as a I/O of DigitalTop.
Constructing the DigitalTop and Config
--------------------------------------
diff --git a/docs/Customization/Memory-Hierarchy.rst b/docs/Customization/Memory-Hierarchy.rst
index ecb666d1..11bc132b 100644
--- a/docs/Customization/Memory-Hierarchy.rst
+++ b/docs/Customization/Memory-Hierarchy.rst
@@ -46,17 +46,17 @@ agents and MMIO peripherals. Ordinarily, it is a fully-connected crossbar, but
a network-on-chip-based implementation can be generated using Constellation.
See :ref:`Customization/NoC-SoCs:SoCs with NoC-based Interconnects` for more.
-The SiFive L2 Cache
--------------------
+The Inclusive Last-Level Cache
+---------------------------------
-The default ``RocketConfig`` provided in the Chipyard example project uses SiFive's
+The default ``RocketConfig`` provided in the Chipyard example project uses the Rocket-Chip
InclusiveCache generator to produce a shared L2 cache. In the default
configuration, the L2 uses a single cache bank with 512 KiB capacity and 8-way
set-associativity. However, you can change these parameters to obtain your
desired cache configuration. The main restriction is that the number of ways
and the number of banks must be powers of 2.
-Refer to the ``CacheParameters`` object defined in sifive-cache for
+Refer to the ``CacheParameters`` object defined in ``rocket-chip-inclusive-cache`` for
customization options.
The Broadcast Hub
diff --git a/docs/Generators/Hwacha.rst b/docs/Generators/Hwacha.rst
index 1980cddf..62f4dc06 100644
--- a/docs/Generators/Hwacha.rst
+++ b/docs/Generators/Hwacha.rst
@@ -5,7 +5,7 @@ The Hwacha project is developing a new vector architecture for future computer s
The Hwacha project is inspired by traditional vector machines from the 70s and 80s, and lessons learned from our previous vector-thread architectures such as Scale and Maven
The Hwacha project includes the Hwacha microarchitecture generator, as well as the ``XHwacha`` non-standard RISC-V extension. Hwacha does not implement the RISC-V standard vector extension proposal.
-For more information on the Hwacha project, please visit the `Hwacha website `__.
+For more information on the Hwacha project, please visit the `Hwacha website `__ or search for "Krste Asanovic Hwacha" on Google Scholar for publications.
To add the Hwacha vector unit to an SoC, you should add the ``hwacha.DefaultHwachaConfig`` config fragment to the SoC configurations. The Hwacha vector unit uses the RoCC port of a Rocket or BOOM `tile`, and by default connects to the memory system through the `System Bus` (i.e., directly to the L2 cache).
diff --git a/docs/Generators/SiFive-Generators.rst b/docs/Generators/Rocket-Chip-Generators.rst
similarity index 72%
rename from docs/Generators/SiFive-Generators.rst
rename to docs/Generators/Rocket-Chip-Generators.rst
index d6b174ef..435fa1dd 100644
--- a/docs/Generators/SiFive-Generators.rst
+++ b/docs/Generators/Rocket-Chip-Generators.rst
@@ -1,19 +1,19 @@
-SiFive Generators
-==================
+Rocket-Chip Generators
+======================
-Chipyard includes several open-source generators developed and maintained by `SiFive `__.
-These are currently organized within two submodules named ``sifive-blocks`` and ``sifive-cache``.
+Chipyard includes several open-source generators developed by `SiFive `__, and now openly maintained as part of Chips Alliance.
+These are currently organized within two submodules named ``rocket-chip-blocks`` and ``rocket-chip-inclusive-cache``.
Last-Level Cache Generator
-----------------------------
-``sifive-cache`` includes last-level cache geneator. The Chipyard framework uses this last-level cache as an L2 cache. To use this L2 cache, you should add the ``freechips.rocketchip.subsystem.WithInclusiveCache`` config fragment to your SoC configuration.
+``rocket-chip-inclusive-cache`` includes last-level cache geneator. The Chipyard framework uses this last-level cache as an L2 cache. To use this L2 cache, you should add the ``freechips.rocketchip.subsystem.WithInclusiveCache`` config fragment to your SoC configuration.
To learn more about configuring this L2 cache, please refer to the :ref:`memory-hierarchy` section.
Peripheral Devices Overview
----------------------------
-``sifive-blocks`` includes multiple peripheral device generators, such as UART, SPI, PWM, JTAG, GPIO and more.
+``rocket-chip-blocks`` includes multiple peripheral device generators, such as UART, SPI, PWM, JTAG, GPIO and more.
These peripheral devices usually affect the memory map of the SoC, and its top-level IO as well.
All the peripheral blocks comes with a default memory address that would not collide with each other, but if integrating multiple duplicated blocks in the SoC is needed, you will need to explicitly specify an approriate memory address for that device.
@@ -34,7 +34,7 @@ Finally, you add the relevant config fragment to the SoC config. For example:
General Purpose I/Os (GPIO) Device
----------------------------------
-GPIO device is a periphery device provided by ``sifive-blocks``. Each general-purpose I/O port has five 32-bit configuration registers, two 32-bit data registers controlling pin input and output values, and eight 32-bit interrupt control/status register for signal level and edge triggering. In addition, all GPIOs can have two 32-bit alternate function selection registers.
+GPIO device is a periphery device provided by ``rocket-chip-blocks``. Each general-purpose I/O port has five 32-bit configuration registers, two 32-bit data registers controlling pin input and output values, and eight 32-bit interrupt control/status register for signal level and edge triggering. In addition, all GPIOs can have two 32-bit alternate function selection registers.
GPIO main features
@@ -78,7 +78,7 @@ Including GPIO in the SoC
Universal Asynchronous Receiver/Transmitter (UART) Device
----------------------------------------------------------
-UART device is a periphery device provided by ``sifive-blocks``. The UART offers a flexible means to perform Full-duplex data exchange with external devices. A very wide range of baud rates can be achieved through a fractional baud rate generator. The UART peripheral does not support other modem control signals, or synchronous serial data transfers.
+UART device is a periphery device provided by ``rocket-chip-blocks``. The UART offers a flexible means to perform Full-duplex data exchange with external devices. A very wide range of baud rates can be achieved through a fractional baud rate generator. The UART peripheral does not support other modem control signals, or synchronous serial data transfers.
UART main features
@@ -125,7 +125,7 @@ Including UART in the SoC
Inter-Integrated Circuit (I2C) Interface Device
-------------------------------------------------
-I2C device is a periphery device provided by ``sifive-blocks``. The I2C (inter-integrated circuit) bus interface handles communications to the serial I2C bus. It provides multi-master capability, and controls all I2C bus-specific sequencing, protocol, arbitration and timing. It supports Standard-mode (Sm), Fast-mode (Fm) and Fast-mode Plus (Fm+).
+I2C device is a periphery device provided by ``rocket-chip-blocks``. The I2C (inter-integrated circuit) bus interface handles communications to the serial I2C bus. It provides multi-master capability, and controls all I2C bus-specific sequencing, protocol, arbitration and timing. It supports Standard-mode (Sm), Fast-mode (Fm) and Fast-mode Plus (Fm+).
I2C main features
@@ -169,7 +169,7 @@ Including I2C in the SoC
Serial Peripheral Interface (SPI) Device
-------------------------------------------------
-SPI device is a periphery device provided by ``sifive-blocks``. The SPI interface can be used to communicate with external devices using the SPI protocol.
+SPI device is a periphery device provided by ``rocket-chip-blocks``. The SPI interface can be used to communicate with external devices using the SPI protocol.
The serial peripheral interface (SPI) protocol supports half-duplex, full-duplex and simplex synchronous, serial communication with external devices. The interface can be configured as master and in this case it provides the communication clock (SCLK) to the external slave device.
diff --git a/docs/Generators/Rocket-Chip.rst b/docs/Generators/Rocket-Chip.rst
index 856d01e1..3e404939 100644
--- a/docs/Generators/Rocket-Chip.rst
+++ b/docs/Generators/Rocket-Chip.rst
@@ -1,8 +1,8 @@
Rocket Chip
===========
-Rocket Chip generator is an SoC generator developed at Berkeley and now supported by
-`SiFive `__. Chipyard uses the Rocket Chip generator as the basis for producing a RISC-V SoC.
+Rocket Chip generator is an SoC generator developed at Berkeley and SiFive, and now maintained openly in Chips Alliance.
+Chipyard uses the Rocket Chip generator as the basis for producing a RISC-V SoC.
`Rocket Chip` is distinct from `Rocket core`, the in-order RISC-V CPU generator.
Rocket Chip includes many parts of the SoC besides the CPU. Though Rocket Chip
diff --git a/docs/Generators/Rocket.rst b/docs/Generators/Rocket.rst
index 6c55b761..536d6991 100644
--- a/docs/Generators/Rocket.rst
+++ b/docs/Generators/Rocket.rst
@@ -1,7 +1,7 @@
Rocket Core
====================================
-`Rocket `__ is a 5-stage in-order scalar processor core generator, originally developed at UC Berkeley and currently supported by `SiFive `__. The `Rocket core` is used as a component within the `Rocket Chip SoC generator`. A Rocket core combined with L1 caches (data and instruction caches) form a `Rocket tile`. The `Rocket tile` is the replicable component of the `Rocket Chip SoC generator`.
+`Rocket `__ is a 5-stage in-order scalar processor core generator, originally developed at UC Berkeley and `SiFive `__, and now maintained by Chips Alliance. The `Rocket core` is used as a component within the `Rocket Chip SoC generator`. A Rocket core combined with L1 caches (data and instruction caches) form a `Rocket tile`. The `Rocket tile` is the replicable component of the `Rocket Chip SoC generator`.
The Rocket core supports the open-source RV64GC RISC-V instruction set and is written in the Chisel hardware construction language.
It has an MMU that supports page-based virtual memory, a non-blocking data cache, and a front-end with branch prediction.
diff --git a/docs/Generators/TestChipIP.rst b/docs/Generators/TestChipIP.rst
index 2c382d4f..32e76f5b 100644
--- a/docs/Generators/TestChipIP.rst
+++ b/docs/Generators/TestChipIP.rst
@@ -92,3 +92,15 @@ The SPI flash model is a device that models a simple SPI flash device. It curren
only supports single read, quad read, single write, and quad write instructions. The
memory is backed by a file which is provided using ``+spiflash#=``,
where ``#`` is the SPI flash ID (usually ``0``).
+
+Chip ID Pin
+---------------
+
+The chip ID pin sets the chip ID for the chip it is added to. This is most useful in
+multi-chip configs. The pin value is driven by the chip ID value set in the harness
+binder and the chip ID value can be read through MMIO at the address ``0x2000`` by default.
+
+The pin can be added to a system with the ``testchipip.soc.WithChipIdPin`` config. The pin
+width and MMIO address are parameterizable and can be set by passing ``ChipIdPinParams`` as an
+argument to the config. The width can additionally be set using the ``testchipip.soc.WithChipIdPinWidth``
+config.
diff --git a/docs/Generators/index.rst b/docs/Generators/index.rst
index c2bf3719..651a6bae 100644
--- a/docs/Generators/index.rst
+++ b/docs/Generators/index.rst
@@ -26,7 +26,7 @@ so changes to the generators themselves will automatically be used when building
Gemmini
IceNet
TestChipIP
- SiFive-Generators
+ Rocket-Chip-Generators
SHA3
CVA6
Ibex
diff --git a/docs/Prototyping/VCU118.rst b/docs/Prototyping/VCU118.rst
index 96c67f48..813179fd 100644
--- a/docs/Prototyping/VCU118.rst
+++ b/docs/Prototyping/VCU118.rst
@@ -47,20 +47,6 @@ After the harness is created, the ``BundleBridgeSource``'s must be connected to
This is done with harness binders and io binders (see ``fpga/src/main/scala/vcu118/HarnessBinders.scala`` and ``fpga/src/main/scala/vcu118/IOBinders.scala``).
For more information on harness binders and io binders, refer to :ref:`Customization/IOBinders:IOBinders and HarnessBinders`.
-(Legacy) Introduction to the Legacy Bringup Design
---------------------------------------------------
-
-.. warning::
- The bringup VCU118 design described here is designed for old versions of Chipyard SoCs, pre-1.9.1.
- The key difference is that these designs rely on a clock generated on-chip to synchronize the slow serialized-TileLink interface.
- After Chipyard 1.9.1, the FPGA host is expected to pass the clock to the chip, instead of the other way around.
- A new bringup solution will be developed for post-1.9.1 Chipyard designs.
-
-An example of a more complicated design used for Chipyard test chips can be viewed in ``fpga/src/main/scala/vcu118/bringup/``.
-This example extends the default test harness and creates new ``Overlays`` to connect to a DUT (connected to the FMC port).
-Extensions include another UART (connected over FMC), I2C (connected over FMC), miscellaneous GPIOS (can be connected to anything), and a TSI Host Widget.
-The TSI Host Widget is used to interact with the DUT from the prototype over a SerDes link (sometimes called the Low BandWidth InterFace - LBWIF) and provide access to a channel of the FPGA's DRAM.
-
.. Note:: Remember that since whenever a new test harness is created (or the config changes, or the config packages changes, or...), you need to modify the make invocation.
For example, ``make SUB_PROJECT=vcu118 CONFIG=MyNewVCU118Config CONFIG_PACKAGE=this.is.my.scala.package bitstream``.
See :ref:`Prototyping/General:Generating a Bitstream` for information on the various make variables.
diff --git a/docs/Simulation/Software-RTL-Simulation.rst b/docs/Simulation/Software-RTL-Simulation.rst
index 8c87cc80..c84673b9 100644
--- a/docs/Simulation/Software-RTL-Simulation.rst
+++ b/docs/Simulation/Software-RTL-Simulation.rst
@@ -223,3 +223,29 @@ The ``VERILATOR_THREADS=`` option enables the compiled Verilator simulator
On a multi-socket machine, you will want to make sure all threads are on the same socket by using ``NUMACTL=1`` to enable ``numactl``.
By enabling this, you will use Chipyard's ``numa_prefix`` wrapper, which is a simple wrapper around ``numactl`` that runs your verilated simulator like this: ``$(numa_prefix) ./simulator- ``.
Note that both these flags are mutually exclusive, you can use either independently (though it makes sense to use ``NUMACTL`` just with ``VERILATOR_THREADS=8`` during a Verilator simulation).
+
+
+Speeding up your RTL Simulation by 2x!
+-----------------------------------------------
+
+There are many cases when your custom module interfaces with Tilelink (e.g., when you write a custom accelerator).
+Wrong interfaces with Tilelink can cause the SoC to hang and can be tricky to debug.
+To help deal with these situations, you can add hardware modules called Tilelink monitors into
+your SoC that will fire assertions when wrong Tilelink messages are sent.
+However, these modules can significantly slow down the speed of your RTL simulation.
+
+These modules are added to the SoC as a default and users have to manually
+remove these modules by adding the below line into your config.
+
+.. code-block:: scala
+
+ new freechips.rocketchip.subsystem.WithoutTLMonitors ++
+
+
+For instance:
+
+.. code-block:: scala
+
+ class FastRTLSimRocketConfig extends Config(
+ new freechips.rocketchip.subsystem.WithoutTLMonitors ++
+ new chipyard.RocketConfig)
diff --git a/docs/TileLink-Diplomacy-Reference/NodeTypes.rst b/docs/TileLink-Diplomacy-Reference/NodeTypes.rst
index c31aafba..7c03e5e7 100644
--- a/docs/TileLink-Diplomacy-Reference/NodeTypes.rst
+++ b/docs/TileLink-Diplomacy-Reference/NodeTypes.rst
@@ -134,7 +134,7 @@ to handle TileLink requests, it is usually much easier to use a register node.
This type of node provides a ``regmap`` method that allows you to specify
control/status registers and automatically generates the logic to handle the
TileLink protocol. More information about how to use register nodes can be
-found in :ref:`TileLink-Diplomacy-Reference/Register-Router:Register Router`.
+found in :ref:`TileLink-Diplomacy-Reference/Register-Node:Register Node`.
Identity Node
-------------
diff --git a/docs/TileLink-Diplomacy-Reference/Register-Router.rst b/docs/TileLink-Diplomacy-Reference/Register-Node.rst
similarity index 91%
rename from docs/TileLink-Diplomacy-Reference/Register-Router.rst
rename to docs/TileLink-Diplomacy-Reference/Register-Node.rst
index 0a677a0d..2bccce62 100644
--- a/docs/TileLink-Diplomacy-Reference/Register-Router.rst
+++ b/docs/TileLink-Diplomacy-Reference/Register-Node.rst
@@ -1,4 +1,4 @@
-Register Router
+Register Node
===============
Memory-mapped devices generally follow a common pattern. They expose a set
@@ -10,10 +10,7 @@ While designers can manually instantiate a manager node and write the logic
for exposing registers themselves, it's much easier to use RocketChip's
``regmap`` interface, which can generate most of the glue logic.
-For TileLink devices, you can use the ``regmap`` interface by extending
-the ``TLRegisterRouter`` class, as shown in :ref:`mmio-accelerators`,
-or you can create a regular LazyModule and instantiate a ``TLRegisterNode``.
-This section will focus on the second method.
+For TileLink devices, you can use the ``regmap`` interface of the ``TLRegisterNode``.
Basic Usage
-----------
@@ -32,7 +29,7 @@ The default value is 4 bytes. The ``concurrency`` argument is the size of the
internal queue for TileLink requests. By default, this value is 0, which means
there will be no queue. This value must be greater than 0 if you wish to
decoupled requests and responses for register accesses. This is discussed
-in :ref:`TileLink-Diplomacy-Reference/Register-Router:Using Functions`.
+in :ref:`TileLink-Diplomacy-Reference/Register-Node:Using Functions`.
The main way to interact with the node is to call the ``regmap`` method, which
takes a sequence of pairs. The first element of the pair is an offset from the
@@ -123,12 +120,12 @@ output for write.
In order to use this variant, you need to set ``concurrency`` to a value
larger than 0.
-Register Routers for Other Protocols
+Register Nodes for Other Protocols
------------------------------------
-One useful feature of the register router interface is that you can easily
+One useful feature of the register node interface is that you can easily
change the protocol being used. For instance, in the first example in
-:ref:`TileLink-Diplomacy-Reference/Register-Router:Basic Usage`, you could simply change the ``TLRegisterNode`` to
+:ref:`TileLink-Diplomacy-Reference/Register-Node:Basic Usage`, you could simply change the ``TLRegisterNode`` to
and ``AXI4RegisterNode``.
.. literalinclude:: ../../generators/chipyard/src/main/scala/example/RegisterNodeExample.scala
diff --git a/docs/TileLink-Diplomacy-Reference/index.rst b/docs/TileLink-Diplomacy-Reference/index.rst
index 9c70287d..92895e08 100644
--- a/docs/TileLink-Diplomacy-Reference/index.rst
+++ b/docs/TileLink-Diplomacy-Reference/index.rst
@@ -28,5 +28,5 @@ A detailed specification of the TileLink 1.7 protocol can be found on the
NodeTypes
Diplomacy-Connectors
EdgeFunctions
- Register-Router
+ Register-Node
Widgets
diff --git a/docs/VLSI/Basic-Flow.rst b/docs/VLSI/Basic-Flow.rst
index cc200c44..10a7af2f 100644
--- a/docs/VLSI/Basic-Flow.rst
+++ b/docs/VLSI/Basic-Flow.rst
@@ -57,7 +57,7 @@ As in the rest of the Chipyard flows, we specify our SoC configuration using the
However, unlike the rest of the Chipyard flows, in the case of physical design we might be interested in working in a hierarchical fashion and therefore we would like to work on a single module.
Therefore, we can also specify a ``VLSI_TOP`` make variable with the same of a specific Verilog module (which should also match the name of the equivalent Chisel module) which we would like to work on.
The makefile will automatically call tools such as Barstools and the MacroCompiler (:ref:`Tools/Barstools:barstools`) in order to make the generated Verilog more VLSI friendly.
-By default, the MacroCompiler will attempt to map memories into the SRAM options within the Hammer technology plugin. However, if you are working with a new process technology and prefer to work with flip-flop arrays, you can configure the MacroCompiler using the ``TOP_MACROCOMPILER_MODE`` make variable. For example, if your technology plugin does not have an SRAM compiler ready, you can use the ``MACROCOMPILER_MODE='--mode synflops'`` option (Note that synthesizing a design with only flipflops is very slow and will often may not meet constraints).
+By default, the MacroCompiler will attempt to map memories into the SRAM options within the Hammer technology plugin. However, if you are working with a new process technology and prefer to work with flip-flop arrays, you can configure the MacroCompiler using the ``TOP_MACROCOMPILER_MODE`` make variable. For example, if your technology plugin does not have an SRAM compiler ready, you can use the ``TOP_MACROCOMPILER_MODE='--mode synflops'`` option (Note that synthesizing a design with only flipflops is very slow and will often may not meet constraints).
We call the ``make buildfile`` command while also specifying the name of the process technology we are working with (same ``tech_name`` for the configuration files and plugin name) and the configuration files we created. Note, in the ASAP7 tutorial ((:ref:`tutorial`)) these configuration files are merged into a single file called ``example-asap7.yml``.
diff --git a/fpga/Makefile b/fpga/Makefile
index cfe760f4..ebf55a97 100644
--- a/fpga/Makefile
+++ b/fpga/Makefile
@@ -44,20 +44,6 @@ ifeq ($(SUB_PROJECT),vcu118)
FPGA_BRAND ?= xilinx
endif
-ifeq ($(SUB_PROJECT),bringup)
- SBT_PROJECT ?= fpga_platforms
- MODEL ?= BringupVCU118FPGATestHarness
- VLOG_MODEL ?= BringupVCU118FPGATestHarness
- MODEL_PACKAGE ?= chipyard.fpga.vcu118.bringup
- CONFIG ?= RocketBringupConfig
- CONFIG_PACKAGE ?= chipyard.fpga.vcu118.bringup
- GENERATOR_PACKAGE ?= chipyard
- TB ?= none # unused
- TOP ?= ChipTop
- BOARD ?= vcu118
- FPGA_BRAND ?= xilinx
-endif
-
ifeq ($(SUB_PROJECT),nexysvideo)
SBT_PROJECT ?= fpga_platforms
MODEL ?= NexysVideoHarness
@@ -137,7 +123,7 @@ include $(base_dir)/common.mk
# copy from other directory
#########################################################################################
all_vsrcs := \
- $(base_dir)/generators/sifive-blocks/vsrc/SRLatch.v
+ $(base_dir)/generators/rocket-chip-blocks/vsrc/SRLatch.v
#########################################################################################
# vivado rules
diff --git a/fpga/fpga-shells b/fpga/fpga-shells
index a6cfb6f3..93004b7b 160000
--- a/fpga/fpga-shells
+++ b/fpga/fpga-shells
@@ -1 +1 @@
-Subproject commit a6cfb6f36378de7b0fd760d79f5518af7d2bba66
+Subproject commit 93004b7bd02eb7cc32a25cc1bc40595b93add118
diff --git a/fpga/src/main/scala/arty/Configs.scala b/fpga/src/main/scala/arty/Configs.scala
index e86140eb..7f10b174 100644
--- a/fpga/src/main/scala/arty/Configs.scala
+++ b/fpga/src/main/scala/arty/Configs.scala
@@ -30,6 +30,7 @@ class WithArtyTweaks extends Config(
new chipyard.config.WithFrontBusFrequency(32) ++
new chipyard.config.WithControlBusFrequency(32) ++
new chipyard.config.WithPeripheryBusFrequency(32) ++
+ new chipyard.config.WithControlBusFrequency(32) ++
new testchipip.serdes.WithNoSerialTL ++
new testchipip.soc.WithNoScratchpads
)
diff --git a/fpga/src/main/scala/arty/HarnessBinders.scala b/fpga/src/main/scala/arty/HarnessBinders.scala
index d2ce5489..39ddd204 100644
--- a/fpga/src/main/scala/arty/HarnessBinders.scala
+++ b/fpga/src/main/scala/arty/HarnessBinders.scala
@@ -15,19 +15,19 @@ import chipyard.harness.{HarnessBinder}
import chipyard.iobinders._
class WithArtyDebugResetHarnessBinder extends HarnessBinder({
- case (th: Arty35THarness, port: DebugResetPort) => {
+ case (th: Arty35THarness, port: DebugResetPort, chipId: Int) => {
th.dut_ndreset := port.io // Debug module reset
}
})
class WithArtyJTAGResetHarnessBinder extends HarnessBinder({
- case (th: Arty35THarness, port: JTAGResetPort) => {
+ case (th: Arty35THarness, port: JTAGResetPort, chipId: Int) => {
port.io := PowerOnResetFPGAOnly(th.clock_32MHz) // JTAG module reset
}
})
class WithArtyJTAGHarnessBinder extends HarnessBinder({
- case (th: Arty35THarness, port: JTAGPort) => {
+ case (th: Arty35THarness, port: JTAGPort, chipId: Int) => {
val jtag_wire = Wire(new JTAGIO)
jtag_wire.TDO.data := port.io.TDO
jtag_wire.TDO.driven := true.B
@@ -62,7 +62,7 @@ class WithArtyJTAGHarnessBinder extends HarnessBinder({
})
class WithArtyUARTHarnessBinder extends HarnessBinder({
- case (th: Arty35THarness, port: UARTPort) => {
+ case (th: Arty35THarness, port: UARTPort, chipId: Int) => {
withClockAndReset(th.clock_32MHz, th.ck_rst) {
IOBUF(th.uart_rxd_out, port.io.txd)
port.io.rxd := IOBUF(th.uart_txd_in)
diff --git a/fpga/src/main/scala/arty100t/Configs.scala b/fpga/src/main/scala/arty100t/Configs.scala
index d5c83af3..bb4b8e22 100644
--- a/fpga/src/main/scala/arty100t/Configs.scala
+++ b/fpga/src/main/scala/arty100t/Configs.scala
@@ -18,7 +18,7 @@ import chipyard.{BuildSystem}
// don't use FPGAShell's DesignKey
class WithNoDesignKey extends Config((site, here, up) => {
- case DesignKey => (p: Parameters) => new SimpleLazyModule()(p)
+ case DesignKey => (p: Parameters) => new SimpleLazyRawModule()(p)
})
// By default, this uses the on-board USB-UART for the TSI-over-UART link
@@ -58,5 +58,5 @@ class NoCoresArty100TConfig extends Config(
class BringupArty100TConfig extends Config(
new WithArty100TSerialTLToGPIO ++
new WithArty100TTweaks(freqMHz = 50) ++
- new testchipip.serdes.WithSerialTLClockDirection(provideClockFreqMHz = Some(50)) ++
+ new testchipip.serdes.WithSerialTLPHYParams(testchipip.serdes.InternalSyncSerialParams(freqMHz=50)) ++
new chipyard.ChipBringupHostConfig)
diff --git a/fpga/src/main/scala/arty100t/Harness.scala b/fpga/src/main/scala/arty100t/Harness.scala
index 577bd1b2..30601124 100644
--- a/fpga/src/main/scala/arty100t/Harness.scala
+++ b/fpga/src/main/scala/arty100t/Harness.scala
@@ -5,12 +5,12 @@ import chisel3.util._
import freechips.rocketchip.diplomacy._
import org.chipsalliance.cde.config.{Parameters}
import freechips.rocketchip.tilelink._
-import freechips.rocketchip.prci.{ClockBundle, ClockBundleParameters}
+import freechips.rocketchip.prci._
import freechips.rocketchip.subsystem.{SystemBusKey}
import sifive.fpgashells.shell.xilinx._
import sifive.fpgashells.shell._
-import sifive.fpgashells.clocks.{ClockGroup, ClockSinkNode, PLLFactoryKey, ResetWrangler}
+import sifive.fpgashells.clocks._
import sifive.fpgashells.ip.xilinx.{IBUF, PowerOnResetFPGAOnly}
import sifive.blocks.devices.uart._
@@ -76,6 +76,9 @@ class Arty100THarness(override implicit val p: Parameters) extends Arty100TShell
def referenceReset = dutClock.in.head._1.reset
def success = { require(false, "Unused"); false.B }
+ childClock := harnessBinderClock
+ childReset := harnessBinderReset
+
ddrOverlay.mig.module.clock := harnessBinderClock
ddrOverlay.mig.module.reset := harnessBinderReset
ddrBlockDuringReset.module.clock := harnessBinderClock
diff --git a/fpga/src/main/scala/arty100t/HarnessBinders.scala b/fpga/src/main/scala/arty100t/HarnessBinders.scala
index 072b900e..11a99421 100644
--- a/fpga/src/main/scala/arty100t/HarnessBinders.scala
+++ b/fpga/src/main/scala/arty100t/HarnessBinders.scala
@@ -1,7 +1,6 @@
package chipyard.fpga.arty100t
import chisel3._
-import chisel3.experimental.{DataMirror, Direction}
import freechips.rocketchip.jtag.{JTAGIO}
import freechips.rocketchip.subsystem.{PeripheryBusKey}
@@ -19,9 +18,10 @@ import sifive.fpgashells.clocks._
import chipyard._
import chipyard.harness._
import chipyard.iobinders._
+import testchipip.serdes._
class WithArty100TUARTTSI extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: UARTTSIPort) => {
+ case (th: HasHarnessInstantiators, port: UARTTSIPort, chipId: Int) => {
val ath = th.asInstanceOf[LazyRawModuleImp].wrapper.asInstanceOf[Arty100THarness]
val harnessIO = IO(new UARTPortIO(port.io.uartParams)).suggestName("uart_tsi")
harnessIO <> port.io.uart
@@ -44,7 +44,7 @@ class WithArty100TUARTTSI extends HarnessBinder({
class WithArty100TDDRTL extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: TLMemPort) => {
+ case (th: HasHarnessInstantiators, port: TLMemPort, chipId: Int) => {
val artyTh = th.asInstanceOf[LazyRawModuleImp].wrapper.asInstanceOf[Arty100THarness]
val bundles = artyTh.ddrClient.out.map(_._1)
val ddrClientBundle = Wire(new HeterogeneousBag(bundles.map(_.cloneType)))
@@ -55,47 +55,58 @@ class WithArty100TDDRTL extends HarnessBinder({
// Uses PMOD JA/JB
class WithArty100TSerialTLToGPIO extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: SerialTLPort) => {
+ case (th: HasHarnessInstantiators, port: SerialTLPort, chipId: Int) => {
val artyTh = th.asInstanceOf[LazyRawModuleImp].wrapper.asInstanceOf[Arty100THarness]
val harnessIO = IO(chiselTypeOf(port.io)).suggestName("serial_tl")
harnessIO <> port.io
- val clkIO = IOPin(harnessIO.clock)
- val packagePinsWithPackageIOs = Seq(
- ("G13", clkIO),
- ("B11", IOPin(harnessIO.bits.out.valid)),
- ("A11", IOPin(harnessIO.bits.out.ready)),
- ("D12", IOPin(harnessIO.bits.in.valid)),
- ("D13", IOPin(harnessIO.bits.in.ready)),
- ("B18", IOPin(harnessIO.bits.out.bits, 0)),
- ("A18", IOPin(harnessIO.bits.out.bits, 1)),
- ("K16", IOPin(harnessIO.bits.out.bits, 2)),
- ("E15", IOPin(harnessIO.bits.out.bits, 3)),
- ("E16", IOPin(harnessIO.bits.in.bits, 0)),
- ("D15", IOPin(harnessIO.bits.in.bits, 1)),
- ("C15", IOPin(harnessIO.bits.in.bits, 2)),
- ("J17", IOPin(harnessIO.bits.in.bits, 3))
- )
- packagePinsWithPackageIOs foreach { case (pin, io) => {
- artyTh.xdc.addPackagePin(io, pin)
- artyTh.xdc.addIOStandard(io, "LVCMOS33")
- }}
- // Don't add IOB to the clock, if its an input
- if (DataMirror.directionOf(port.io.clock) == Direction.Input) {
- packagePinsWithPackageIOs foreach { case (pin, io) => {
- artyTh.xdc.addIOB(io)
- }}
+ harnessIO match {
+ case io: DecoupledSerialIO => {
+ val clkIO = io match {
+ case io: InternalSyncSerialIO => IOPin(io.clock_out)
+ case io: ExternalSyncSerialIO => IOPin(io.clock_in)
+ }
+ val packagePinsWithPackageIOs = Seq(
+ ("G13", clkIO),
+ ("B11", IOPin(io.out.valid)),
+ ("A11", IOPin(io.out.ready)),
+ ("D12", IOPin(io.in.valid)),
+ ("D13", IOPin(io.in.ready)),
+ ("B18", IOPin(io.out.bits, 0)),
+ ("A18", IOPin(io.out.bits, 1)),
+ ("K16", IOPin(io.out.bits, 2)),
+ ("E15", IOPin(io.out.bits, 3)),
+ ("E16", IOPin(io.in.bits, 0)),
+ ("D15", IOPin(io.in.bits, 1)),
+ ("C15", IOPin(io.in.bits, 2)),
+ ("J17", IOPin(io.in.bits, 3))
+ )
+ packagePinsWithPackageIOs foreach { case (pin, io) => {
+ artyTh.xdc.addPackagePin(io, pin)
+ artyTh.xdc.addIOStandard(io, "LVCMOS33")
+ }}
+
+ // Don't add IOB to the clock, if its an input
+ io match {
+ case io: InternalSyncSerialIO => packagePinsWithPackageIOs foreach { case (pin, io) => {
+ artyTh.xdc.addIOB(io)
+ }}
+ case io: ExternalSyncSerialIO => packagePinsWithPackageIOs.drop(1).foreach { case (pin, io) => {
+ artyTh.xdc.addIOB(io)
+ }}
+ }
+
+ artyTh.sdc.addClock("ser_tl_clock", clkIO, 100)
+ artyTh.sdc.addGroup(pins = Seq(clkIO))
+ artyTh.xdc.clockDedicatedRouteFalse(clkIO)
+ }
}
-
- artyTh.sdc.addClock("ser_tl_clock", clkIO, 100)
- artyTh.sdc.addGroup(pins = Seq(clkIO))
- artyTh.xdc.clockDedicatedRouteFalse(clkIO)
}
})
// Maps the UART device to the on-board USB-UART
class WithArty100TUART(rxdPin: String = "A9", txdPin: String = "D10") extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: UARTPort) => {
+ case (th: HasHarnessInstantiators, port: UARTPort, chipId: Int) => {
val ath = th.asInstanceOf[LazyRawModuleImp].wrapper.asInstanceOf[Arty100THarness]
val harnessIO = IO(chiselTypeOf(port.io)).suggestName("uart")
harnessIO <> port.io
@@ -114,7 +125,7 @@ class WithArty100TUART(rxdPin: String = "A9", txdPin: String = "D10") extends Ha
class WithArty100TPMODUART extends WithArty100TUART("G2", "F3")
class WithArty100TJTAG extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: JTAGPort) => {
+ case (th: HasHarnessInstantiators, port: JTAGPort, chipId: Int) => {
val ath = th.asInstanceOf[LazyRawModuleImp].wrapper.asInstanceOf[Arty100THarness]
val harnessIO = IO(chiselTypeOf(port.io)).suggestName("jtag")
harnessIO <> port.io
diff --git a/fpga/src/main/scala/nexysvideo/Configs.scala b/fpga/src/main/scala/nexysvideo/Configs.scala
index fe53b96d..ce8fbae8 100644
--- a/fpga/src/main/scala/nexysvideo/Configs.scala
+++ b/fpga/src/main/scala/nexysvideo/Configs.scala
@@ -18,7 +18,7 @@ import chipyard.{BuildSystem}
// don't use FPGAShell's DesignKey
class WithNoDesignKey extends Config((site, here, up) => {
- case DesignKey => (p: Parameters) => new SimpleLazyModule()(p)
+ case DesignKey => (p: Parameters) => new SimpleLazyRawModule()(p)
})
// DOC include start: WithNexysVideoTweaks and Rocket
@@ -60,6 +60,7 @@ class WithTinyNexysVideoTweaks extends Config(
new chipyard.config.WithFrontBusFrequency(50.0) ++
new chipyard.config.WithSystemBusFrequency(50.0) ++
new chipyard.config.WithPeripheryBusFrequency(50.0) ++
+ new chipyard.config.WithControlBusFrequency(50.0) ++
new chipyard.harness.WithAllClocksFromHarnessClockInstantiator ++
new chipyard.clocking.WithPassthroughClockGenerator ++
new chipyard.config.WithNoDebug ++ // no jtag
diff --git a/fpga/src/main/scala/nexysvideo/Harness.scala b/fpga/src/main/scala/nexysvideo/Harness.scala
index a68cf24e..c9583f0e 100644
--- a/fpga/src/main/scala/nexysvideo/Harness.scala
+++ b/fpga/src/main/scala/nexysvideo/Harness.scala
@@ -7,10 +7,10 @@ import freechips.rocketchip.diplomacy._
import org.chipsalliance.cde.config.{Parameters}
import freechips.rocketchip.tilelink._
import freechips.rocketchip.subsystem.{SystemBusKey}
-
+import freechips.rocketchip.prci._
import sifive.fpgashells.shell.xilinx._
import sifive.fpgashells.shell._
-import sifive.fpgashells.clocks.{ClockGroup, ClockSinkNode, PLLFactoryKey, ResetWrangler}
+import sifive.fpgashells.clocks._
import sifive.blocks.devices.uart._
diff --git a/fpga/src/main/scala/nexysvideo/HarnessBinders.scala b/fpga/src/main/scala/nexysvideo/HarnessBinders.scala
index e6865eff..29deeadb 100644
--- a/fpga/src/main/scala/nexysvideo/HarnessBinders.scala
+++ b/fpga/src/main/scala/nexysvideo/HarnessBinders.scala
@@ -15,7 +15,7 @@ import chipyard.harness._
import chipyard.iobinders._
class WithNexysVideoUARTTSI(uartBaudRate: BigInt = 115200) extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: UARTTSIPort) => {
+ case (th: HasHarnessInstantiators, port: UARTTSIPort, chipId: Int) => {
val nexysvideoth = th.asInstanceOf[LazyRawModuleImp].wrapper.asInstanceOf[NexysVideoHarness]
nexysvideoth.io_uart_bb.bundle <> port.io.uart
nexysvideoth.other_leds(1) := port.io.dropped
@@ -27,7 +27,7 @@ class WithNexysVideoUARTTSI(uartBaudRate: BigInt = 115200) extends HarnessBinder
})
class WithNexysVideoDDRTL extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: TLMemPort) => {
+ case (th: HasHarnessInstantiators, port: TLMemPort, chipId: Int) => {
val nexysTh = th.asInstanceOf[LazyRawModuleImp].wrapper.asInstanceOf[NexysVideoHarness]
val bundles = nexysTh.ddrClient.get.out.map(_._1)
val ddrClientBundle = Wire(new HeterogeneousBag(bundles.map(_.cloneType)))
diff --git a/fpga/src/main/scala/vc707/HarnessBinders.scala b/fpga/src/main/scala/vc707/HarnessBinders.scala
index 25224d57..d08fba76 100644
--- a/fpga/src/main/scala/vc707/HarnessBinders.scala
+++ b/fpga/src/main/scala/vc707/HarnessBinders.scala
@@ -16,21 +16,21 @@ import chipyard.iobinders._
/*** UART ***/
class WithVC707UARTHarnessBinder extends HarnessBinder({
- case (th: VC707FPGATestHarnessImp, port: UARTPort) => {
+ case (th: VC707FPGATestHarnessImp, port: UARTPort, chipId: Int) => {
th.vc707Outer.io_uart_bb.bundle <> port.io
}
})
/*** SPI ***/
class WithVC707SPISDCardHarnessBinder extends HarnessBinder({
- case (th: VC707FPGATestHarnessImp, port: SPIPort) => {
+ case (th: VC707FPGATestHarnessImp, port: SPIPort, chipId: Int) => {
th.vc707Outer.io_spi_bb.bundle <> port.io
}
})
/*** Experimental DDR ***/
class WithVC707DDRMemHarnessBinder extends HarnessBinder({
- case (th: VC707FPGATestHarnessImp, port: TLMemPort) => {
+ case (th: VC707FPGATestHarnessImp, port: TLMemPort, chipId: Int) => {
val bundles = th.vc707Outer.ddrClient.out.map(_._1)
val ddrClientBundle = Wire(new HeterogeneousBag(bundles.map(_.cloneType)))
bundles.zip(ddrClientBundle).foreach { case (bundle, io) => bundle <> io }
diff --git a/fpga/src/main/scala/vc707/TestHarness.scala b/fpga/src/main/scala/vc707/TestHarness.scala
index 1ed7ab33..317dedf6 100644
--- a/fpga/src/main/scala/vc707/TestHarness.scala
+++ b/fpga/src/main/scala/vc707/TestHarness.scala
@@ -7,11 +7,12 @@ import org.chipsalliance.cde.config.{Parameters}
import freechips.rocketchip.tilelink._
import freechips.rocketchip.subsystem.{SystemBusKey}
import freechips.rocketchip.diplomacy.{IdRange, TransferSizes}
+import freechips.rocketchip.prci._
import sifive.fpgashells.shell.xilinx.{VC707Shell, UARTVC707ShellPlacer, PCIeVC707ShellPlacer, ChipLinkVC707PlacedOverlay}
import sifive.fpgashells.ip.xilinx.{IBUF, PowerOnResetFPGAOnly}
import sifive.fpgashells.shell._
-import sifive.fpgashells.clocks.{ClockGroup, ClockSinkNode, PLLFactoryKey, ResetWrangler}
+import sifive.fpgashells.clocks.{PLLFactoryKey}
import sifive.fpgashells.devices.xilinx.xilinxvc707pciex1.{XilinxVC707PCIeX1IO}
import sifive.blocks.devices.uart.{PeripheryUARTKey, UARTPortIO}
@@ -87,6 +88,7 @@ class VC707FPGATestHarness(override implicit val p: Parameters) extends VC707She
}
class VC707FPGATestHarnessImp(_outer: VC707FPGATestHarness) extends LazyRawModuleImp(_outer) with HasHarnessInstantiators {
+ override def provideImplicitClockToLazyChildren = true
val vc707Outer = _outer
val reset = IO(Input(Bool())).suggestName("reset")
diff --git a/fpga/src/main/scala/vcu118/Configs.scala b/fpga/src/main/scala/vcu118/Configs.scala
index 3f99fdb9..ff46deee 100644
--- a/fpga/src/main/scala/vcu118/Configs.scala
+++ b/fpga/src/main/scala/vcu118/Configs.scala
@@ -48,6 +48,7 @@ class WithVCU118Tweaks extends Config(
new chipyard.config.WithSystemBusFrequency(100) ++
new chipyard.config.WithControlBusFrequency(100) ++
new chipyard.config.WithPeripheryBusFrequency(100) ++
+ new chipyard.config.WithControlBusFrequency(100) ++
new WithFPGAFrequency(100) ++ // default 100MHz freq
// harness binders
new WithUART ++
diff --git a/fpga/src/main/scala/vcu118/CustomOverlays.scala b/fpga/src/main/scala/vcu118/CustomOverlays.scala
index 02669b79..473a015d 100644
--- a/fpga/src/main/scala/vcu118/CustomOverlays.scala
+++ b/fpga/src/main/scala/vcu118/CustomOverlays.scala
@@ -5,7 +5,7 @@ import chisel3._
import freechips.rocketchip.diplomacy._
import org.chipsalliance.cde.config.{Parameters, Field}
import freechips.rocketchip.tilelink.{TLInwardNode, TLAsyncCrossingSink}
-
+import freechips.rocketchip.prci._
import sifive.fpgashells.shell._
import sifive.fpgashells.ip.xilinx._
import sifive.fpgashells.shell.xilinx._
@@ -79,7 +79,7 @@ class DDR2VCU118PlacedOverlay(val shell: VCU118FPGATestHarness, name: String, va
ui.reset := /*!port.mmcm_locked ||*/ port.c0_ddr4_ui_clk_sync_rst
port.c0_sys_clk_i := sys.clock.asUInt
port.sys_rst := sys.reset // pllReset
- port.c0_ddr4_aresetn := !ar.reset
+ port.c0_ddr4_aresetn := !(ar.reset.asBool)
// This was just copied from the SiFive example, but it's hard to follow.
// The pins are emitted in the following order:
diff --git a/fpga/src/main/scala/vcu118/HarnessBinders.scala b/fpga/src/main/scala/vcu118/HarnessBinders.scala
index 769e5b42..c03f551f 100644
--- a/fpga/src/main/scala/vcu118/HarnessBinders.scala
+++ b/fpga/src/main/scala/vcu118/HarnessBinders.scala
@@ -15,21 +15,21 @@ import chipyard.iobinders._
/*** UART ***/
class WithUART extends HarnessBinder({
- case (th: VCU118FPGATestHarnessImp, port: UARTPort) => {
+ case (th: VCU118FPGATestHarnessImp, port: UARTPort, chipId: Int) => {
th.vcu118Outer.io_uart_bb.bundle <> port.io
}
})
/*** SPI ***/
class WithSPISDCard extends HarnessBinder({
- case (th: VCU118FPGATestHarnessImp, port: SPIPort) => {
+ case (th: VCU118FPGATestHarnessImp, port: SPIPort, chipId: Int) => {
th.vcu118Outer.io_spi_bb.bundle <> port.io
}
})
/*** Experimental DDR ***/
class WithDDRMem extends HarnessBinder({
- case (th: VCU118FPGATestHarnessImp, port: TLMemPort) => {
+ case (th: VCU118FPGATestHarnessImp, port: TLMemPort, chipId: Int) => {
val bundles = th.vcu118Outer.ddrClient.out.map(_._1)
val ddrClientBundle = Wire(new HeterogeneousBag(bundles.map(_.cloneType)))
bundles.zip(ddrClientBundle).foreach { case (bundle, io) => bundle <> io }
diff --git a/fpga/src/main/scala/vcu118/TestHarness.scala b/fpga/src/main/scala/vcu118/TestHarness.scala
index 733c5167..78dee3e6 100644
--- a/fpga/src/main/scala/vcu118/TestHarness.scala
+++ b/fpga/src/main/scala/vcu118/TestHarness.scala
@@ -8,11 +8,11 @@ import org.chipsalliance.cde.config.{Parameters}
import freechips.rocketchip.tilelink._
import freechips.rocketchip.diplomacy.{IdRange, TransferSizes}
import freechips.rocketchip.subsystem.{SystemBusKey}
-
+import freechips.rocketchip.prci._
import sifive.fpgashells.shell.xilinx._
import sifive.fpgashells.ip.xilinx.{IBUF, PowerOnResetFPGAOnly}
import sifive.fpgashells.shell._
-import sifive.fpgashells.clocks.{ClockGroup, ClockSinkNode, PLLFactoryKey, ResetWrangler}
+import sifive.fpgashells.clocks._
import sifive.blocks.devices.uart.{PeripheryUARTKey, UARTPortIO}
import sifive.blocks.devices.spi.{PeripherySPIKey, SPIPortIO}
@@ -90,6 +90,7 @@ class VCU118FPGATestHarness(override implicit val p: Parameters) extends VCU118S
}
class VCU118FPGATestHarnessImp(_outer: VCU118FPGATestHarness) extends LazyRawModuleImp(_outer) with HasHarnessInstantiators {
+ override def provideImplicitClockToLazyChildren = true
val vcu118Outer = _outer
val reset = IO(Input(Bool())).suggestName("reset")
diff --git a/fpga/src/main/scala/vcu118/bringup/BringupGPIOs.scala b/fpga/src/main/scala/vcu118/bringup/BringupGPIOs.scala
deleted file mode 100644
index 40c33bfa..00000000
--- a/fpga/src/main/scala/vcu118/bringup/BringupGPIOs.scala
+++ /dev/null
@@ -1,28 +0,0 @@
-package chipyard.fpga.vcu118.bringup
-
-import scala.collection.mutable.{LinkedHashMap}
-
-object BringupGPIOs {
- // map of the pin name (akin to die pin name) to (fpga package pin, IOSTANDARD, add pullup resistor?)
- val pinMapping = LinkedHashMap(
- // these connect to LEDs and switches on the VCU118 (and use 1.2V)
- "led0" -> ("AT32", "LVCMOS12", false), // 0
- "led1" -> ("AV34", "LVCMOS12", false), // 1
- "led2" -> ("AY30", "LVCMOS12", false), // 2
- "led3" -> ("BB32", "LVCMOS12", false), // 3
- "led4" -> ("BF32", "LVCMOS12", false), // 4
- "led5" -> ("AU37", "LVCMOS12", false), // 5
- "led6" -> ("AV36", "LVCMOS12", false), // 6
- "led7" -> ("BA37", "LVCMOS12", false), // 7
- "sw0" -> ("B17", "LVCMOS12", false), // 8
- "sw1" -> ("G16", "LVCMOS12", false), // 9
- "sw2" -> ("J16", "LVCMOS12", false), // 10
- "sw3" -> ("D21", "LVCMOS12", false) // 11
- )
-
- // return list of names (ordered)
- def names: Seq[String] = pinMapping.keys.toSeq
-
- // return number of GPIOs
- def width: Int = pinMapping.size
-}
diff --git a/fpga/src/main/scala/vcu118/bringup/Configs.scala b/fpga/src/main/scala/vcu118/bringup/Configs.scala
deleted file mode 100644
index 0760fa72..00000000
--- a/fpga/src/main/scala/vcu118/bringup/Configs.scala
+++ /dev/null
@@ -1,97 +0,0 @@
-package chipyard.fpga.vcu118.bringup
-
-import math.min
-
-import org.chipsalliance.cde.config.{Config, Parameters}
-import freechips.rocketchip.diplomacy.{DTSModel, DTSTimebase, RegionType, AddressSet, ResourceBinding, Resource, ResourceAddress}
-import freechips.rocketchip.tilelink._
-import freechips.rocketchip.diplomacy._
-import freechips.rocketchip.subsystem.{MasterPortParams}
-
-import sifive.blocks.devices.gpio.{PeripheryGPIOKey, GPIOParams}
-import sifive.blocks.devices.i2c.{PeripheryI2CKey, I2CParams}
-import sifive.blocks.devices.uart.{PeripheryUARTKey, UARTParams}
-
-import sifive.fpgashells.shell.{DesignKey}
-import sifive.fpgashells.shell.xilinx.{VCU118ShellPMOD, VCU118DDRSize}
-
-import testchipip.tsi.{PeripheryTSIHostKey, TSIHostParams, TSIHostSerdesParams}
-
-import chipyard.{BuildSystem}
-
-import chipyard.fpga.vcu118.{WithVCU118Tweaks, WithFPGAFrequency, VCU118DDR2Size}
-import chipyard.iobinders.{WithGPIOPunchthrough}
-
-class WithBringupPeripherals extends Config((site, here, up) => {
- case PeripheryUARTKey => up(PeripheryUARTKey, site) ++ List(UARTParams(address = BigInt(0x64003000L)))
- case PeripheryI2CKey => List(I2CParams(address = BigInt(0x64005000L)))
- case PeripheryGPIOKey => {
- if (BringupGPIOs.width > 0) {
- require(BringupGPIOs.width <= 64) // currently only support 64 GPIOs (change addrs to get more)
- val gpioAddrs = Seq(BigInt(0x64002000), BigInt(0x64007000))
- val maxGPIOSupport = 32 // max gpios supported by SiFive driver (split by 32)
- List.tabulate(((BringupGPIOs.width - 1)/maxGPIOSupport) + 1)(n => {
- GPIOParams(address = gpioAddrs(n), width = min(BringupGPIOs.width - maxGPIOSupport*n, maxGPIOSupport))
- })
- }
- else {
- List.empty[GPIOParams]
- }
- }
- case TSIClockMaxFrequencyKey => 100
- case PeripheryTSIHostKey => List(
- TSIHostParams(
- offchipSerialIfWidth = 4,
- mmioBaseAddress = BigInt(0x64006000),
- mmioSourceId = 1 << 13, // manager source
- serdesParams = TSIHostSerdesParams(
- clientPortParams = TLMasterPortParameters.v1(
- clients = Seq(TLMasterParameters.v1(
- name = "tl-tsi-host-serdes",
- sourceId = IdRange(0, (1 << 13))))),
- managerPortParams = TLSlavePortParameters.v1(
- managers = Seq(TLSlaveParameters.v1(
- address = Seq(AddressSet(0, BigInt("FFFFFFFF", 16))), // access everything on chip
- regionType = RegionType.UNCACHED,
- executable = true,
- supportsGet = TransferSizes(1, 64),
- supportsPutFull = TransferSizes(1, 64),
- supportsPutPartial = TransferSizes(1, 64),
- supportsAcquireT = TransferSizes(1, 64),
- supportsAcquireB = TransferSizes(1, 64),
- supportsArithmetic = TransferSizes(1, 64),
- supportsLogical = TransferSizes(1, 64))),
- endSinkId = 1 << 6, // manager sink
- beatBytes = 8)),
- targetMasterPortParams = MasterPortParams(
- base = BigInt("80000000", 16),
- size = site(VCU118DDR2Size),
- beatBytes = 8, // comes from test chip
- idBits = 4) // comes from VCU118 idBits in XilinxVCU118MIG
- ))
-})
-
-class WithBringupVCU118System extends Config((site, here, up) => {
- case BuildSystem => (p: Parameters) => new BringupVCU118DigitalTop()(p) // use the VCU118-extended bringup digital top
-})
-
-class WithBringupAdditions extends Config(
- new WithBringupUART ++
- new WithBringupI2C ++
- new WithBringupGPIO ++
- new WithBringupTSIHost ++
- new WithTSITLIOPassthrough ++
- new WithGPIOPunchthrough ++
- new WithBringupPeripherals ++
- new WithBringupVCU118System)
-
-class RocketBringupConfig extends Config(
- new WithBringupAdditions ++
- new WithVCU118Tweaks ++
- new chipyard.RocketConfig)
-
-class BoomBringupConfig extends Config(
- new WithFPGAFrequency(50) ++
- new WithBringupAdditions ++
- new WithVCU118Tweaks ++
- new chipyard.MegaBoomConfig)
diff --git a/fpga/src/main/scala/vcu118/bringup/CustomOverlays.scala b/fpga/src/main/scala/vcu118/bringup/CustomOverlays.scala
deleted file mode 100644
index a52a1b5e..00000000
--- a/fpga/src/main/scala/vcu118/bringup/CustomOverlays.scala
+++ /dev/null
@@ -1,204 +0,0 @@
-package chipyard.fpga.vcu118.bringup
-
-import chisel3._
-import chisel3.experimental.{attach}
-
-import freechips.rocketchip.diplomacy._
-import org.chipsalliance.cde.config.{Parameters, Field}
-import freechips.rocketchip.tilelink.{TLInwardNode, TLAsyncCrossingSink}
-
-import sifive.fpgashells.shell._
-import sifive.fpgashells.ip.xilinx._
-import sifive.fpgashells.shell.xilinx._
-import sifive.fpgashells.clocks._
-import sifive.fpgashells.devices.xilinx.xilinxvcu118mig.{XilinxVCU118MIGPads, XilinxVCU118MIGParams, XilinxVCU118MIG}
-
-import testchipip.tsi.{TSIHostWidgetIO}
-
-import chipyard.fpga.vcu118.{FMCPMap}
-
-/* Connect the I2C to certain FMC pins */
-class BringupI2CVCU118PlacedOverlay(val shell: VCU118ShellBasicOverlays, name: String, val designInput: I2CDesignInput, val shellInput: I2CShellInput)
- extends I2CXilinxPlacedOverlay(name, designInput, shellInput)
-{
- shell { InModuleBody {
- require(shellInput.index == 0) // only support 1 I2C <-> FMC connection
- val i2cLocations = List(List(FMCPMap("K11"), FMCPMap("E2")))
- val packagePinsWithPackageIOs = Seq((i2cLocations(shellInput.index)(0), IOPin(io.scl)),
- (i2cLocations(shellInput.index)(1), IOPin(io.sda)))
-
- packagePinsWithPackageIOs foreach { case (pin, io) => {
- shell.xdc.addPackagePin(io, pin)
- shell.xdc.addIOStandard(io, "LVCMOS18")
- shell.xdc.addIOB(io)
- } }
- } }
-}
-
-class BringupI2CVCU118ShellPlacer(val shell: VCU118ShellBasicOverlays, val shellInput: I2CShellInput)(implicit val valName: ValName)
- extends I2CShellPlacer[VCU118ShellBasicOverlays]
-{
- def place(designInput: I2CDesignInput) = new BringupI2CVCU118PlacedOverlay(shell, valName.name, designInput, shellInput)
-}
-
-/* Connect the UART to certain FMC pins */
-class BringupUARTVCU118PlacedOverlay(val shell: VCU118ShellBasicOverlays, name: String, val designInput: UARTDesignInput, val shellInput: UARTShellInput)
- extends UARTXilinxPlacedOverlay(name, designInput, shellInput, true)
-{
- shell { InModuleBody {
- val packagePinsWithPackageIOs = Seq((FMCPMap("E9"), IOPin(io.ctsn.get)), // unused
- (FMCPMap("E10"), IOPin(io.rtsn.get)), // unused
- (FMCPMap("C15"), IOPin(io.rxd)),
- (FMCPMap("C14"), IOPin(io.txd)))
-
- packagePinsWithPackageIOs foreach { case (pin, io) => {
- shell.xdc.addPackagePin(io, pin)
- shell.xdc.addIOStandard(io, "LVCMOS18")
- shell.xdc.addIOB(io)
- } }
-
- // add pullup on ctsn (ctsn is an input that is not used or driven)
- packagePinsWithPackageIOs take 1 foreach { case (pin, io) => {
- shell.xdc.addPullup(io)
- } }
- } }
-}
-
-class BringupUARTVCU118ShellPlacer(shell: VCU118ShellBasicOverlays, val shellInput: UARTShellInput)(implicit val valName: ValName)
- extends UARTShellPlacer[VCU118ShellBasicOverlays] {
- def place(designInput: UARTDesignInput) = new BringupUARTVCU118PlacedOverlay(shell, valName.name, designInput, shellInput)
-}
-
-/* Connect GPIOs to FPGA I/Os */
-abstract class GPIOXilinxPlacedOverlay(name: String, di: GPIODesignInput, si: GPIOShellInput)
- extends GPIOPlacedOverlay(name, di, si)
-{
- def shell: XilinxShell
-
- shell { InModuleBody {
- (io.gpio zip tlgpioSink.bundle.pins).map { case (ioPin, sinkPin) =>
- val iobuf = Module(new IOBUF)
- iobuf.suggestName(s"gpio_iobuf")
- attach(ioPin, iobuf.io.IO)
- sinkPin.i.ival := iobuf.io.O
- iobuf.io.T := !sinkPin.o.oe
- iobuf.io.I := sinkPin.o.oval
- }
- } }
-}
-
-class BringupGPIOVCU118PlacedOverlay(val shell: VCU118ShellBasicOverlays, name: String, val designInput: GPIODesignInput, val shellInput: GPIOShellInput, gpioNames: Seq[String])
- extends GPIOXilinxPlacedOverlay(name, designInput, shellInput)
-{
- shell { InModuleBody {
- require(gpioNames.length == io.gpio.length)
-
- val packagePinsWithIOStdWithPackageIOs = (gpioNames zip io.gpio).map { case (name, io) =>
- val (pin, iostd, pullupEnable) = BringupGPIOs.pinMapping(name)
- (pin, iostd, pullupEnable, IOPin(io))
- }
-
- packagePinsWithIOStdWithPackageIOs foreach { case (pin, iostd, pullupEnable, io) => {
- shell.xdc.addPackagePin(io, pin)
- shell.xdc.addIOStandard(io, iostd)
- if (iostd == "LVCMOS12") { shell.xdc.addDriveStrength(io, "8") }
- if (pullupEnable) { shell.xdc.addPullup(io) }
- } }
- } }
-}
-
-class BringupGPIOVCU118ShellPlacer(shell: VCU118ShellBasicOverlays, val shellInput: GPIOShellInput, gpioNames: Seq[String])(implicit val valName: ValName)
- extends GPIOShellPlacer[VCU118ShellBasicOverlays] {
- def place(designInput: GPIODesignInput) = new BringupGPIOVCU118PlacedOverlay(shell, valName.name, designInput, shellInput, gpioNames)
-}
-
-case class TSIHostShellInput()
-case class TSIHostDesignInput(
- serialIfWidth: Int,
- node: BundleBridgeSource[TSIHostWidgetIO]
- )(
- implicit val p: Parameters)
-case class TSIHostOverlayOutput()
-trait TSIHostShellPlacer[Shell] extends ShellPlacer[TSIHostDesignInput, TSIHostShellInput, TSIHostOverlayOutput]
-
-case object TSIHostOverlayKey extends Field[Seq[DesignPlacer[TSIHostDesignInput, TSIHostShellInput, TSIHostOverlayOutput]]](Nil)
-
-abstract class TSIHostPlacedOverlay[IO <: Data](val name: String, val di: TSIHostDesignInput, val si: TSIHostShellInput)
- extends IOPlacedOverlay[IO, TSIHostDesignInput, TSIHostShellInput, TSIHostOverlayOutput]
-{
- implicit val p = di.p
-}
-
-case object TSIHostVCU118DDRSize extends Field[BigInt](0x40000000L * 2) // 2GB
-class TSIHostVCU118PlacedOverlay(val shell: BringupVCU118FPGATestHarness, name: String, val designInput: TSIHostDesignInput, val shellInput: TSIHostShellInput)
- extends TSIHostPlacedOverlay[TSIHostWidgetIO](name, designInput, shellInput)
-{
- val tlTsiSerialSink = di.node.makeSink()
- val tsiIoNode = BundleBridgeSource(() => new TSIHostWidgetIO(di.serialIfWidth))
- val topTSIIONode = shell { tsiIoNode.makeSink() }
-
- def overlayOutput = TSIHostOverlayOutput()
- def ioFactory = new TSIHostWidgetIO(di.serialIfWidth)
-
- InModuleBody {
- // connect TSI serial
- val tsiSourcePort = tsiIoNode.bundle
- val tsiSinkPort = tlTsiSerialSink.bundle
- tsiSinkPort.serial_clock := tsiSourcePort.serial_clock
- tsiSourcePort.serial.out.bits := tsiSinkPort.serial.out.bits
- tsiSourcePort.serial.out.valid := tsiSinkPort.serial.out.valid
- tsiSinkPort.serial.out.ready := tsiSourcePort.serial.out.ready
- tsiSinkPort.serial.in.bits := tsiSourcePort.serial.in.bits
- tsiSinkPort.serial.in.valid := tsiSourcePort.serial.in.valid
- tsiSourcePort.serial.in.ready := tsiSinkPort.serial.in.ready
- }
-}
-
-case object TSIClockMaxFrequencyKey extends Field[Int](50) // in MHz
-class BringupTSIHostVCU118PlacedOverlay(override val shell: BringupVCU118FPGATestHarness, override val name: String, override val designInput: TSIHostDesignInput, override val shellInput: TSIHostShellInput)
- extends TSIHostVCU118PlacedOverlay(shell, name, designInput, shellInput)
-{
- // connect the TSI port
- shell { InModuleBody {
- // connect TSI signals
- val tsiPort = topTSIIONode.bundle
- io <> tsiPort
-
- require(di.serialIfWidth == 4)
-
- val clkIo = IOPin(io.serial_clock)
- val packagePinsWithPackageIOs = Seq(
- (FMCPMap("D8"), clkIo),
- (FMCPMap("D17"), IOPin(io.serial.out.ready)),
- (FMCPMap("D18"), IOPin(io.serial.out.valid)),
- (FMCPMap("D11"), IOPin(io.serial.out.bits, 0)),
- (FMCPMap("D12"), IOPin(io.serial.out.bits, 1)),
- (FMCPMap("D14"), IOPin(io.serial.out.bits, 2)),
- (FMCPMap("D15"), IOPin(io.serial.out.bits, 3)),
- (FMCPMap("D26"), IOPin(io.serial.in.ready)),
- (FMCPMap("D27"), IOPin(io.serial.in.valid)),
- (FMCPMap("D20"), IOPin(io.serial.in.bits, 0)),
- (FMCPMap("D21"), IOPin(io.serial.in.bits, 1)),
- (FMCPMap("D23"), IOPin(io.serial.in.bits, 2)),
- (FMCPMap("D24"), IOPin(io.serial.in.bits, 3)))
-
- packagePinsWithPackageIOs foreach { case (pin, io) => {
- shell.xdc.addPackagePin(io, pin)
- shell.xdc.addIOStandard(io, "LVCMOS18")
- } }
-
- // Don't add an IOB to the clock
- (packagePinsWithPackageIOs take 1) foreach { case (pin, io) => {
- shell.xdc.addIOB(io)
- } }
-
- shell.sdc.addClock("TSI_CLK", clkIo, p(TSIClockMaxFrequencyKey))
- shell.sdc.addGroup(pins = Seq(clkIo))
- shell.xdc.clockDedicatedRouteFalse(clkIo)
- } }
-}
-
-class BringupTSIHostVCU118ShellPlacer(shell: BringupVCU118FPGATestHarness, val shellInput: TSIHostShellInput)(implicit val valName: ValName)
- extends TSIHostShellPlacer[BringupVCU118FPGATestHarness] {
- def place(designInput: TSIHostDesignInput) = new BringupTSIHostVCU118PlacedOverlay(shell, valName.name, designInput, shellInput)
-}
diff --git a/fpga/src/main/scala/vcu118/bringup/DigitalTop.scala b/fpga/src/main/scala/vcu118/bringup/DigitalTop.scala
deleted file mode 100644
index e4efbdc7..00000000
--- a/fpga/src/main/scala/vcu118/bringup/DigitalTop.scala
+++ /dev/null
@@ -1,26 +0,0 @@
-package chipyard.fpga.vcu118.bringup
-
-import chisel3._
-
-import freechips.rocketchip.subsystem._
-import freechips.rocketchip.system._
-import org.chipsalliance.cde.config.Parameters
-import freechips.rocketchip.devices.tilelink._
-import freechips.rocketchip.diplomacy._
-import freechips.rocketchip.tilelink._
-
-import chipyard.{DigitalTop, DigitalTopModule}
-
-// ------------------------------------
-// Bringup VCU118 DigitalTop
-// ------------------------------------
-
-class BringupVCU118DigitalTop(implicit p: Parameters) extends DigitalTop
- with sifive.blocks.devices.i2c.HasPeripheryI2C
- with testchipip.tsi.HasPeripheryTSIHostWidget
-{
- override lazy val module = new BringupVCU118DigitalTopModule(this)
-}
-
-class BringupVCU118DigitalTopModule[+L <: BringupVCU118DigitalTop](l: L) extends DigitalTopModule(l)
- with sifive.blocks.devices.i2c.HasPeripheryI2CModuleImp
diff --git a/fpga/src/main/scala/vcu118/bringup/HarnessBinders.scala b/fpga/src/main/scala/vcu118/bringup/HarnessBinders.scala
deleted file mode 100644
index c130a697..00000000
--- a/fpga/src/main/scala/vcu118/bringup/HarnessBinders.scala
+++ /dev/null
@@ -1,51 +0,0 @@
-package chipyard.fpga.vcu118.bringup
-
-import chisel3._
-import chisel3.experimental.{Analog, IO, BaseModule}
-
-import freechips.rocketchip.util.{HeterogeneousBag}
-import freechips.rocketchip.tilelink.{TLBundle}
-
-import sifive.blocks.devices.uart.{HasPeripheryUARTModuleImp, UARTPortIO}
-import sifive.blocks.devices.spi.{HasPeripherySPI, SPIPortIO}
-import sifive.blocks.devices.i2c.{HasPeripheryI2CModuleImp, I2CPort}
-import sifive.blocks.devices.gpio.{HasPeripheryGPIOModuleImp, GPIOPortIO}
-
-import testchipip.tsi.{HasPeripheryTSIHostWidget, TSIHostWidgetIO}
-
-import chipyard.harness._
-import chipyard.iobinders._
-
-/*** UART ***/
-class WithBringupUART extends HarnessBinder({
- case (th: BringupVCU118FPGATestHarnessImp, port: UARTPort) => {
- th.bringupOuter.io_fmc_uart_bb.bundle <> port.io
- }
-})
-
-/*** I2C ***/
-class WithBringupI2C extends HarnessBinder({
- case (th: BringupVCU118FPGATestHarnessImp, port: chipyard.iobinders.I2CPort) => {
- th.bringupOuter.io_i2c_bb.bundle <> port.io
- }
-})
-
-/*** GPIO ***/
-class WithBringupGPIO extends HarnessBinder({
- case (th: BringupVCU118FPGATestHarnessImp, port: GPIOPort) => {
- th.bringupOuter.io_gpio_bb(port.pinId).bundle <> port.io
- }
-})
-
-/*** TSI Host Widget ***/
-class WithBringupTSIHost extends HarnessBinder({
- case (th: BringupVCU118FPGATestHarnessImp, port: TLMemPort) => {
- val tsiBundles = th.bringupOuter.tsiDdrClient.out.map(_._1)
- val tsiDdrClientBundle = Wire(new HeterogeneousBag(tsiBundles.map(_.cloneType)))
- tsiBundles.zip(tsiDdrClientBundle).foreach { case (bundle, io) => bundle <> io }
- tsiDdrClientBundle <> port.io
- }
- case (th: BringupVCU118FPGATestHarnessImp, port: TSIHostWidgetPort) => {
- th.bringupOuter.io_tsi_serial_bb.bundle <> port.io
- }
-})
diff --git a/fpga/src/main/scala/vcu118/bringup/IOBinders.scala b/fpga/src/main/scala/vcu118/bringup/IOBinders.scala
deleted file mode 100644
index 24b7aa9a..00000000
--- a/fpga/src/main/scala/vcu118/bringup/IOBinders.scala
+++ /dev/null
@@ -1,30 +0,0 @@
-package chipyard.fpga.vcu118.bringup
-
-import chisel3._
-import chisel3.experimental.{IO, DataMirror}
-
-import freechips.rocketchip.util.{HeterogeneousBag}
-import freechips.rocketchip.tilelink.{TLBundle}
-
-import sifive.blocks.devices.gpio.{HasPeripheryGPIOModuleImp}
-import sifive.blocks.devices.i2c.{HasPeripheryI2CModuleImp}
-
-import testchipip.tsi.{HasPeripheryTSIHostWidget, TSIHostWidgetIO}
-
-import chipyard.iobinders.{OverrideIOBinder, Port, TLMemPort}
-
-case class TSIHostWidgetPort(val getIO: () => TSIHostWidgetIO)
- extends Port[TSIHostWidgetIO]
-
-class WithTSITLIOPassthrough extends OverrideIOBinder({
- (system: HasPeripheryTSIHostWidget) => {
- require(system.tsiTLMem.size == 1)
- val io_tsi_tl_mem_pins_temp = IO(DataMirror.internal.chiselTypeClone[HeterogeneousBag[TLBundle]](system.tsiTLMem.head)).suggestName("tsi_tl_slave")
- io_tsi_tl_mem_pins_temp <> system.tsiTLMem.head
-
- require(system.tsiSerial.size == 1)
- val io_tsi_serial_pins_temp = IO(DataMirror.internal.chiselTypeClone[TSIHostWidgetIO](system.tsiSerial.head)).suggestName("tsi_serial")
- io_tsi_serial_pins_temp <> system.tsiSerial.head
- (Seq(TLMemPort(() => io_tsi_tl_mem_pins_temp), TSIHostWidgetPort(() => io_tsi_serial_pins_temp)), Nil)
- }
-})
diff --git a/fpga/src/main/scala/vcu118/bringup/TestHarness.scala b/fpga/src/main/scala/vcu118/bringup/TestHarness.scala
deleted file mode 100644
index 94d28258..00000000
--- a/fpga/src/main/scala/vcu118/bringup/TestHarness.scala
+++ /dev/null
@@ -1,99 +0,0 @@
-package chipyard.fpga.vcu118.bringup
-import chisel3._
-
-import freechips.rocketchip.diplomacy._
-import org.chipsalliance.cde.config._
-import freechips.rocketchip.subsystem._
-import freechips.rocketchip.tilelink._
-
-import sifive.fpgashells.shell.xilinx._
-import sifive.fpgashells.ip.xilinx._
-import sifive.fpgashells.shell._
-import sifive.fpgashells.clocks._
-
-import sifive.blocks.devices.uart._
-import sifive.blocks.devices.spi._
-import sifive.blocks.devices.i2c._
-import sifive.blocks.devices.gpio._
-
-import testchipip.tsi.{HasPeripheryTSIHostWidget, PeripheryTSIHostKey, TSIHostWidgetIO}
-import testchipip.util.{TLSinkSetter}
-
-import chipyard.fpga.vcu118.{VCU118FPGATestHarness, VCU118FPGATestHarnessImp, DDR2VCU118ShellPlacer, SysClock2VCU118ShellPlacer}
-
-import chipyard.{ChipTop}
-import chipyard.harness._
-
-class BringupVCU118FPGATestHarness(override implicit val p: Parameters) extends VCU118FPGATestHarness {
-
- /*** UART ***/
-
- require(dp(PeripheryUARTKey).size == 2)
-
- // 2nd UART goes to the FMC UART
-
- val uart_fmc = Overlay(UARTOverlayKey, new BringupUARTVCU118ShellPlacer(this, UARTShellInput()))
-
- val io_fmc_uart_bb = BundleBridgeSource(() => (new UARTPortIO(dp(PeripheryUARTKey).last)))
- dp(UARTOverlayKey).last.place(UARTDesignInput(io_fmc_uart_bb))
-
- /*** I2C ***/
-
- val i2c = Overlay(I2COverlayKey, new BringupI2CVCU118ShellPlacer(this, I2CShellInput()))
-
- val io_i2c_bb = BundleBridgeSource(() => (new I2CPort))
- dp(I2COverlayKey).head.place(I2CDesignInput(io_i2c_bb))
-
- /*** GPIO ***/
-
- val gpio = Seq.tabulate(dp(PeripheryGPIOKey).size)(i => {
- val maxGPIOSupport = 32 // max gpio per gpio chip
- val names = BringupGPIOs.names.slice(maxGPIOSupport*i, maxGPIOSupport*(i+1))
- Overlay(GPIOOverlayKey, new BringupGPIOVCU118ShellPlacer(this, GPIOShellInput(), names))
- })
-
- val io_gpio_bb = dp(PeripheryGPIOKey).map { p => BundleBridgeSource(() => (new GPIOPortIO(p))) }
- (dp(GPIOOverlayKey) zip dp(PeripheryGPIOKey)).zipWithIndex.map { case ((placer, params), i) =>
- placer.place(GPIODesignInput(params, io_gpio_bb(i)))
- }
-
- /*** TSI Host Widget ***/
- require(dp(PeripheryTSIHostKey).size == 1)
-
- // use the 2nd system clock for the 2nd DDR
- val sysClk2Node = dp(ClockInputOverlayKey).last.place(ClockInputDesignInput()).overlayOutput.node
-
- val ddr2PLL = dp(PLLFactoryKey)()
- ddr2PLL := sysClk2Node
-
- val ddr2Clock = ClockSinkNode(freqMHz = dp(FPGAFrequencyKey))
- val ddr2Wrangler = LazyModule(new ResetWrangler)
- val ddr2Group = ClockGroup()
- ddr2Clock := ddr2Wrangler.node := ddr2Group := ddr2PLL
-
- val tsi_host = Overlay(TSIHostOverlayKey, new BringupTSIHostVCU118ShellPlacer(this, TSIHostShellInput()))
-
- val ddr2Node = dp(DDROverlayKey).last.place(DDRDesignInput(dp(PeripheryTSIHostKey).head.targetMasterPortParams.base, ddr2Wrangler.node, ddr2PLL)).overlayOutput.ddr
-
- val io_tsi_serial_bb = BundleBridgeSource(() => (new TSIHostWidgetIO(dp(PeripheryTSIHostKey).head.offchipSerialIfWidth)))
- dp(TSIHostOverlayKey).head.place(TSIHostDesignInput(dp(PeripheryTSIHostKey).head.offchipSerialIfWidth, io_tsi_serial_bb))
-
- // connect 1 mem. channel to the FPGA DDR
- val tsiDdrClient = TLClientNode(Seq(TLMasterPortParameters.v1(Seq(TLMasterParameters.v1(
- name = "chip_ddr",
- sourceId = IdRange(0, 64)
- )))))
- (ddr2Node
- := TLFragmenter(8,64,holdFirstDeny=true)
- := TLCacheCork()
- := TLAtomicAutomata(passthrough=false)
- := TLSinkSetter(64)
- := tsiDdrClient)
-
- // module implementation
- override lazy val module = new BringupVCU118FPGATestHarnessImp(this)
-}
-
-class BringupVCU118FPGATestHarnessImp(_outer: BringupVCU118FPGATestHarness) extends VCU118FPGATestHarnessImp(_outer) {
- lazy val bringupOuter = _outer
-}
diff --git a/generators/bar-fetchers b/generators/bar-fetchers
index a5bd985d..45380026 160000
--- a/generators/bar-fetchers
+++ b/generators/bar-fetchers
@@ -1 +1 @@
-Subproject commit a5bd985d29b07940e326d78964b370fa1cefec71
+Subproject commit 45380026ff2918613849c18008d0d9315e060426
diff --git a/generators/boom b/generators/boom
index 96da674b..9459af0c 160000
--- a/generators/boom
+++ b/generators/boom
@@ -1 +1 @@
-Subproject commit 96da674bc97955e7fa068f0a9a1d0a7a479d1d0b
+Subproject commit 9459af0c1f6847f8411622dac770ac78fe10847c
diff --git a/generators/caliptra-aes-acc b/generators/caliptra-aes-acc
index 82fa7080..8bcd6b6b 160000
--- a/generators/caliptra-aes-acc
+++ b/generators/caliptra-aes-acc
@@ -1 +1 @@
-Subproject commit 82fa7080f428b2e59062a55e948f507805c98ef5
+Subproject commit 8bcd6b6bc118e7bb493ed7cf2fed0472624f9093
diff --git a/generators/chipyard/src/main/resources/csrc/spiketile.cc b/generators/chipyard/src/main/resources/csrc/spiketile.cc
index 5483cf6b..dd02d55e 100644
--- a/generators/chipyard/src/main/resources/csrc/spiketile.cc
+++ b/generators/chipyard/src/main/resources/csrc/spiketile.cc
@@ -12,7 +12,7 @@
#if __has_include("spiketile_tsi.h")
#define SPIKETILE_HTIF_TSI
-extern htif_t* tsi;
+extern std::map tsis;
#endif
#if __has_include("spiketile_dtm.h")
#define SPIKETILE_HTIF_DTM
@@ -346,8 +346,8 @@ extern "C" void spike_tile(int hartid, char* isa,
chipyard_simif_t* simif = tile->simif;
processor_t* proc = tile->proc;
#if defined(SPIKETILE_HTIF_TSI)
- if (!simif->htif && tsi)
- simif->htif = tsi;
+ if (!simif->htif && tsis.size() > 0 && tsis[0])
+ simif->htif = tsis[0];
#endif
#if defined(SPIKETILE_HTIF_DTM)
if (!simif->htif && dtm)
diff --git a/generators/chipyard/src/main/scala/ChipTop.scala b/generators/chipyard/src/main/scala/ChipTop.scala
index 20709667..d80d71af 100644
--- a/generators/chipyard/src/main/scala/ChipTop.scala
+++ b/generators/chipyard/src/main/scala/ChipTop.scala
@@ -5,7 +5,6 @@ import chisel3._
import scala.collection.mutable.{ArrayBuffer}
import freechips.rocketchip.prci.{ClockGroupIdentityNode, ClockSinkParameters, ClockSinkNode, ClockGroup}
-import freechips.rocketchip.subsystem.{BaseSubsystem, SubsystemDriveAsyncClockGroupsKey}
import org.chipsalliance.cde.config.{Parameters, Field}
import freechips.rocketchip.diplomacy.{LazyModule, LazyModuleImp, LazyRawModuleImp, LazyModuleImpLike, BindingScope}
import freechips.rocketchip.util.{DontTouch}
diff --git a/generators/chipyard/src/main/scala/DigitalTop.scala b/generators/chipyard/src/main/scala/DigitalTop.scala
index 01b6626d..ec8ffd99 100644
--- a/generators/chipyard/src/main/scala/DigitalTop.scala
+++ b/generators/chipyard/src/main/scala/DigitalTop.scala
@@ -20,6 +20,7 @@ class DigitalTop(implicit p: Parameters) extends ChipyardSystem
with testchipip.soc.CanHaveBankedScratchpad // Enables optionally adding a banked scratchpad
with testchipip.iceblk.CanHavePeripheryBlockDevice // Enables optionally adding the block device
with testchipip.serdes.CanHavePeripheryTLSerial // Enables optionally adding the backing memory and serial adapter
+ with testchipip.soc.CanHavePeripheryChipIdPin // Enables optional pin to set chip id for multi-chip configs
with sifive.blocks.devices.i2c.HasPeripheryI2C // Enables optionally adding the sifive I2C
with sifive.blocks.devices.pwm.HasPeripheryPWM // Enables optionally adding the sifive PWM
with sifive.blocks.devices.uart.HasPeripheryUART // Enables optionally adding the sifive UART
@@ -33,6 +34,7 @@ class DigitalTop(implicit p: Parameters) extends ChipyardSystem
with chipyard.example.CanHavePeripheryStreamingPassthrough // Enables optionally adding the DSPTools streaming-passthrough example widget
with nvidia.blocks.dla.CanHavePeripheryNVDLA // Enables optionally having an NVDLA
with chipyard.clocking.HasChipyardPRCI // Use Chipyard reset/clock distribution
+ with chipyard.clocking.CanHaveClockTap // Enables optionally adding a clock tap output port
with fftgenerator.CanHavePeripheryFFT // Enables optionally having an MMIO-based FFT block
with constellation.soc.CanHaveGlobalNoC // Support instantiating a global NoC interconnect
{
@@ -40,13 +42,11 @@ class DigitalTop(implicit p: Parameters) extends ChipyardSystem
}
class DigitalTopModule[+L <: DigitalTop](l: L) extends ChipyardSystemModule(l)
- with testchipip.cosim.CanHaveTraceIOModuleImp
with sifive.blocks.devices.i2c.HasPeripheryI2CModuleImp
with sifive.blocks.devices.pwm.HasPeripheryPWMModuleImp
with sifive.blocks.devices.uart.HasPeripheryUARTModuleImp
with sifive.blocks.devices.gpio.HasPeripheryGPIOModuleImp
with sifive.blocks.devices.spi.HasPeripherySPIFlashModuleImp
with sifive.blocks.devices.spi.HasPeripherySPIModuleImp
- with chipyard.example.CanHavePeripheryGCDModuleImp
with freechips.rocketchip.util.DontTouch
// DOC include end: DigitalTop
diff --git a/generators/chipyard/src/main/scala/SpikeTile.scala b/generators/chipyard/src/main/scala/SpikeTile.scala
index fc822c22..97866c50 100644
--- a/generators/chipyard/src/main/scala/SpikeTile.scala
+++ b/generators/chipyard/src/main/scala/SpikeTile.scala
@@ -2,7 +2,7 @@ package chipyard
import chisel3._
import chisel3.util._
-import chisel3.experimental.{IntParam, StringParam, IO}
+import chisel3.experimental.{IntParam, StringParam}
import org.chipsalliance.cde.config._
import freechips.rocketchip.subsystem._
@@ -77,14 +77,15 @@ case class SpikeTileAttachParams(
}
case class SpikeTileParams(
- hartId: Int = 0,
+ tileId: Int = 0,
val core: SpikeCoreParams = SpikeCoreParams(),
icacheParams: ICacheParams = ICacheParams(nWays = 32),
dcacheParams: DCacheParams = DCacheParams(nWays = 32),
tcmParams: Option[MasterPortParams] = None // tightly coupled memory
) extends InstantiableTileParams[SpikeTile]
{
- val name = Some("spike_tile")
+ val baseName = "spike_tile"
+ val uniqueName = s"${baseName}_$tileId"
val beuAddr = None
val blockerCtrlAddr = None
val btb = None
@@ -92,7 +93,7 @@ case class SpikeTileParams(
val dcache = Some(dcacheParams)
val icache = Some(icacheParams)
val clockSinkParams = ClockSinkParameters()
- def instantiate(crossing: TileCrossingParamsLike, lookup: LookupByHartIdImpl)(implicit p: Parameters): SpikeTile = {
+ def instantiate(crossing: HierarchicalElementCrossingParamsLike, lookup: LookupByHartIdImpl)(implicit p: Parameters): SpikeTile = {
new SpikeTile(this, crossing, lookup)
}
}
@@ -106,11 +107,11 @@ class SpikeTile(
with SourcesExternalNotifications
{
// Private constructor ensures altered LazyModule.p is used implicitly
- def this(params: SpikeTileParams, crossing: TileCrossingParamsLike, lookup: LookupByHartIdImpl)(implicit p: Parameters) =
+ def this(params: SpikeTileParams, crossing: HierarchicalElementCrossingParamsLike, lookup: LookupByHartIdImpl)(implicit p: Parameters) =
this(params, crossing.crossingType, lookup, p)
// Required TileLink nodes
- val intOutwardNode = IntIdentityNode()
+ val intOutwardNode = None
val masterNode = visibilityNode
val slaveNode = TLIdentityNode()
@@ -129,21 +130,21 @@ class SpikeTile(
}
ResourceBinding {
- Resource(cpuDevice, "reg").bind(ResourceAddress(hartId))
+ Resource(cpuDevice, "reg").bind(ResourceAddress(tileId))
}
val icacheNode = TLClientNode(Seq(TLMasterPortParameters.v1(Seq(TLMasterParameters.v1(
sourceId = IdRange(0, 1),
- name = s"Core ${staticIdForMetadataUseOnly} ICache")))))
+ name = s"Core ${tileId} ICache")))))
val dcacheNode = TLClientNode(Seq(TLMasterPortParameters.v1(Seq(TLMasterParameters.v1(
- name = s"Core ${staticIdForMetadataUseOnly} DCache",
+ name = s"Core ${tileId} DCache",
sourceId = IdRange(0, tileParams.dcache.get.nMSHRs),
supportsProbe = TransferSizes(p(CacheBlockBytes), p(CacheBlockBytes)))))))
val mmioNode = TLClientNode((Seq(TLMasterPortParameters.v1(Seq(TLMasterParameters.v1(
- name = s"Core ${staticIdForMetadataUseOnly} MMIO",
+ name = s"Core ${tileId} MMIO",
sourceId = IdRange(0, 1),
requestFifo = true))))))
@@ -313,7 +314,7 @@ class SpikeBlackBox(
}
class SpikeTileModuleImp(outer: SpikeTile) extends BaseTileModuleImp(outer) {
-
+ val tileParams = outer.tileParams
// We create a bundle here and decode the interrupt.
val int_bundle = Wire(new TileInterrupts())
outer.decodeCoreInterrupts(int_bundle)
@@ -337,7 +338,7 @@ class SpikeTileModuleImp(outer: SpikeTile) extends BaseTileModuleImp(outer) {
// then the DTM-based bringup with SimDTM will be used. This isn't required to be
// true, but it usually is
val useDTM = p(ExportDebug).protocols.contains(DMI)
- val spike = Module(new SpikeBlackBox(hartId, isaDTS, tileParams.core.nPMPs,
+ val spike = Module(new SpikeBlackBox(outer.tileId, outer.isaDTS, tileParams.core.nPMPs,
tileParams.icache.get.nSets, tileParams.icache.get.nWays,
tileParams.dcache.get.nSets, tileParams.dcache.get.nWays,
tileParams.dcache.get.nMSHRs,
@@ -467,19 +468,21 @@ class SpikeTileModuleImp(outer: SpikeTile) extends BaseTileModuleImp(outer) {
}
}
-class WithNSpikeCores(n: Int = 1, tileParams: SpikeTileParams = SpikeTileParams(),
- overrideIdOffset: Option[Int] = None) extends Config((site, here, up) => {
+class WithNSpikeCores(n: Int = 1, tileParams: SpikeTileParams = SpikeTileParams()
+) extends Config((site, here, up) => {
case TilesLocated(InSubsystem) => {
// Calculate the next available hart ID (since hart ID cannot be duplicated)
val prev = up(TilesLocated(InSubsystem), site)
- val idOffset = overrideIdOffset.getOrElse(prev.size)
+ val idOffset = up(NumTiles)
// Create TileAttachParams for every core to be instantiated
(0 until n).map { i =>
SpikeTileAttachParams(
- tileParams = tileParams.copy(hartId = i + idOffset)
+ tileParams = tileParams.copy(tileId = i + idOffset)
)
} ++ prev
}
+ case NumTiles => up(NumTiles) + n
+
})
class WithSpikeTCM extends Config((site, here, up) => {
@@ -492,5 +495,5 @@ class WithSpikeTCM extends Config((site, here, up) => {
)))
}
case ExtMem => None
- case BankedL2Key => up(BankedL2Key).copy(nBanks = 0)
+ case SubsystemBankedCoherenceKey => up(SubsystemBankedCoherenceKey).copy(nBanks = 0)
})
diff --git a/generators/chipyard/src/main/scala/Subsystem.scala b/generators/chipyard/src/main/scala/Subsystem.scala
index 8654d561..011a3c11 100644
--- a/generators/chipyard/src/main/scala/Subsystem.scala
+++ b/generators/chipyard/src/main/scala/Subsystem.scala
@@ -6,7 +6,6 @@
package chipyard
import chisel3._
-import chisel3.internal.sourceinfo.{SourceInfo}
import freechips.rocketchip.prci._
import org.chipsalliance.cde.config.{Field, Parameters}
@@ -71,18 +70,24 @@ trait CanHaveChosenInDTS { this: BaseSubsystem =>
}
class ChipyardSubsystem(implicit p: Parameters) extends BaseSubsystem
- with HasTiles
- with HasPeripheryDebug
- with CanHaveHTIF
- with CanHaveChosenInDTS
+ with InstantiatesHierarchicalElements
+ with HasTileNotificationSinks
+ with HasTileInputConstants
+ with CanHavePeripheryCLINT
+ with CanHavePeripheryPLIC
+ with HasPeripheryDebug
+ with HasHierarchicalElementsRootContext
+ with HasHierarchicalElements
+ with CanHaveHTIF
+ with CanHaveChosenInDTS
{
- def coreMonitorBundles = tiles.map {
+ def coreMonitorBundles = totalTiles.values.map {
case r: RocketTile => r.module.core.rocketImpl.coreMonitorBundle
case b: BoomTile => b.module.core.coreMonitorBundle
}.toList
// No-tile configs have to be handled specially.
- if (tiles.size == 0) {
+ if (totalTiles.size == 0) {
// no PLIC, so sink interrupts to nowhere
require(!p(PLICKey).isDefined)
val intNexus = IntNexusNode(sourceFn = x => x.head, sinkFn = x => x.head)
@@ -90,16 +95,12 @@ class ChipyardSubsystem(implicit p: Parameters) extends BaseSubsystem
intSink := intNexus :=* ibus.toPLIC
// avoids a bug when there are no interrupt sources
- ibus.fromAsync := NullIntSource()
+ ibus { ibus.fromAsync := NullIntSource() }
// Need to have at least 1 driver to the tile notification sinks
tileHaltXbarNode := IntSourceNode(IntSourcePortSimple())
tileWFIXbarNode := IntSourceNode(IntSourcePortSimple())
tileCeaseXbarNode := IntSourceNode(IntSourcePortSimple())
-
- // Sink reset vectors to nowhere
- val resetVectorSink = BundleBridgeSink[UInt](Some(() => UInt(28.W)))
- resetVectorSink := tileResetVectorNode
}
// Relying on [[TLBusWrapperConnection]].driveClockFromMaster for
@@ -107,7 +108,7 @@ class ChipyardSubsystem(implicit p: Parameters) extends BaseSubsystem
// ClockGroup. This makes it impossible to determine which clocks are driven
// by which bus based on the member names, which is problematic when there is
// a rational crossing between two buses. Instead, provide all bus clocks
- // directly from the asyncClockGroupsNode in the subsystem to ensure bus
+ // directly from the allClockGroupsNode in the subsystem to ensure bus
// names are always preserved in the top-level clock names.
//
// For example, using a RationalCrossing between the Sbus and Cbus, and
@@ -116,12 +117,12 @@ class ChipyardSubsystem(implicit p: Parameters) extends BaseSubsystem
// Conversly, if an async crossing is used, they instead receive names of the
// form "subsystem_cbus_[0-9]*". The assignment below provides the latter names in all cases.
Seq(PBUS, FBUS, MBUS, CBUS).foreach { loc =>
- tlBusWrapperLocationMap.lift(loc).foreach { _.clockGroupNode := asyncClockGroupsNode }
+ tlBusWrapperLocationMap.lift(loc).foreach { _.clockGroupNode := allClockGroupsNode }
}
override lazy val module = new ChipyardSubsystemModuleImp(this)
}
class ChipyardSubsystemModuleImp[+L <: ChipyardSubsystem](_outer: L) extends BaseSubsystemModuleImp(_outer)
- with HasTilesModuleImp
+ with HasHierarchicalElementsRootContextModuleImp
{
}
diff --git a/generators/chipyard/src/main/scala/System.scala b/generators/chipyard/src/main/scala/System.scala
index 5643e380..b8a04eac 100644
--- a/generators/chipyard/src/main/scala/System.scala
+++ b/generators/chipyard/src/main/scala/System.scala
@@ -32,13 +32,6 @@ class ChipyardSystem(implicit p: Parameters) extends ChipyardSubsystem
val bootROM = p(BootROMLocated(location)).map { BootROM.attach(_, this, CBUS) }
val maskROMs = p(MaskROMLocated(location)).map { MaskROM.attach(_, this, CBUS) }
- // If there is no bootrom, the tile reset vector bundle will be tied to zero
- if (bootROM.isEmpty) {
- val fakeResetVectorSourceNode = BundleBridgeSource[UInt]()
- InModuleBody { fakeResetVectorSourceNode.bundle := 0.U }
- tileResetVectorNexusNode := fakeResetVectorSourceNode
- }
-
override lazy val module = new ChipyardSystemModule(this)
}
diff --git a/generators/chipyard/src/main/scala/TestSuites.scala b/generators/chipyard/src/main/scala/TestSuites.scala
index 0e4e3310..2a88ebb2 100644
--- a/generators/chipyard/src/main/scala/TestSuites.scala
+++ b/generators/chipyard/src/main/scala/TestSuites.scala
@@ -65,7 +65,7 @@ class TestSuiteHelper
*/
def addGenericTestSuites(tiles: Seq[TileParams])(implicit p: Parameters) = {
val xlen = p(XLen)
- tiles.find(_.hartId == 0).map { tileParams =>
+ tiles.find(_.tileId == 0).map { tileParams =>
val coreParams = tileParams.core
val vm = coreParams.useVM
val env = if (vm) List("p","v") else List("p")
diff --git a/generators/chipyard/src/main/scala/clocking/CanHaveClockTap.scala b/generators/chipyard/src/main/scala/clocking/CanHaveClockTap.scala
new file mode 100644
index 00000000..9af30ddf
--- /dev/null
+++ b/generators/chipyard/src/main/scala/clocking/CanHaveClockTap.scala
@@ -0,0 +1,27 @@
+package chipyard.clocking
+
+import chisel3._
+
+import org.chipsalliance.cde.config.{Parameters, Field, Config}
+import freechips.rocketchip.diplomacy._
+import freechips.rocketchip.tilelink._
+import freechips.rocketchip.subsystem._
+import freechips.rocketchip.util._
+import freechips.rocketchip.tile._
+import freechips.rocketchip.prci._
+
+case object ClockTapKey extends Field[Boolean](true)
+
+trait CanHaveClockTap { this: BaseSubsystem =>
+ require(!p(SubsystemDriveClockGroupsFromIO), "Subsystem must not drive clocks from IO")
+ val clockTapNode = Option.when(p(ClockTapKey)) {
+ val clockTap = ClockSinkNode(Seq(ClockSinkParameters(name=Some("clock_tap"))))
+ clockTap := ClockGroup() := allClockGroupsNode
+ clockTap
+ }
+ val clockTapIO = clockTapNode.map { node => InModuleBody {
+ val clock_tap = IO(Output(Clock()))
+ clock_tap := node.in.head._1.clock
+ clock_tap
+ }}
+}
diff --git a/generators/chipyard/src/main/scala/clocking/ClockBinders.scala b/generators/chipyard/src/main/scala/clocking/ClockBinders.scala
index 36d1fa2f..fdb2ec9e 100644
--- a/generators/chipyard/src/main/scala/clocking/ClockBinders.scala
+++ b/generators/chipyard/src/main/scala/clocking/ClockBinders.scala
@@ -2,7 +2,7 @@ package chipyard.clocking
import chisel3._
import chisel3.util._
-import chipyard.iobinders.{OverrideLazyIOBinder, GetSystemParameters, IOCellKey, ClockPort, ResetPort}
+import chipyard.iobinders._
import freechips.rocketchip.prci._
import freechips.rocketchip.diplomacy._
import freechips.rocketchip.subsystem._
@@ -14,31 +14,24 @@ import barstools.iocell.chisel._
// blocks, which allow memory-mapped control of clock division, and clock muxing
// between the FakePLL and the slow off-chip clock
// Note: This will not simulate properly with firesim
-class WithPLLSelectorDividerClockGenerator extends OverrideLazyIOBinder({
+// Unsetting enable will prevent the divider/selector from actually modifying the clock,
+// while preserving the address map. Unsetting enable should only be done for RTL
+// simulators (Verilator) which do not model reset properly
+class WithPLLSelectorDividerClockGenerator(enable: Boolean = true) extends OverrideLazyIOBinder({
(system: HasChipyardPRCI) => {
// Connect the implicit clock
implicit val p = GetSystemParameters(system)
- val implicitClockSinkNode = ClockSinkNode(Seq(ClockSinkParameters(name = Some("implicit_clock"))))
- system.connectImplicitClockSinkNode(implicitClockSinkNode)
- InModuleBody {
- val implicit_clock = implicitClockSinkNode.in.head._1.clock
- val implicit_reset = implicitClockSinkNode.in.head._1.reset
- system.asInstanceOf[BaseSubsystem].module match { case l: LazyModuleImp => {
- l.clock := implicit_clock
- l.reset := implicit_reset
- }}
- }
val tlbus = system.asInstanceOf[BaseSubsystem].locateTLBusWrapper(system.prciParams.slaveWhere)
val baseAddress = system.prciParams.baseAddress
- val clockDivider = system.prci_ctrl_domain { LazyModule(new TLClockDivider (baseAddress + 0x20000, tlbus.beatBytes)) }
- val clockSelector = system.prci_ctrl_domain { LazyModule(new TLClockSelector(baseAddress + 0x30000, tlbus.beatBytes)) }
+ val clockDivider = system.prci_ctrl_domain { LazyModule(new TLClockDivider (baseAddress + 0x20000, tlbus.beatBytes, enable=enable)) }
+ val clockSelector = system.prci_ctrl_domain { LazyModule(new TLClockSelector(baseAddress + 0x30000, tlbus.beatBytes, enable=enable)) }
val pllCtrl = system.prci_ctrl_domain { LazyModule(new FakePLLCtrl (baseAddress + 0x40000, tlbus.beatBytes)) }
clockDivider.tlNode := system.prci_ctrl_domain { TLFragmenter(tlbus.beatBytes, tlbus.blockBytes) := system.prci_ctrl_bus.get }
clockSelector.tlNode := system.prci_ctrl_domain { TLFragmenter(tlbus.beatBytes, tlbus.blockBytes) := system.prci_ctrl_bus.get }
pllCtrl.tlNode := system.prci_ctrl_domain { TLFragmenter(tlbus.beatBytes, tlbus.blockBytes) := system.prci_ctrl_bus.get }
- system.allClockGroupsNode := clockDivider.clockNode := clockSelector.clockNode
+ system.chiptopClockGroupsNode := clockDivider.clockNode := clockSelector.clockNode
// Connect all other requested clocks
val slowClockSource = ClockSourceNode(Seq(ClockSourceParameters()))
@@ -83,23 +76,12 @@ class WithPLLSelectorDividerClockGenerator extends OverrideLazyIOBinder({
// This passes all clocks through to the TestHarness
class WithPassthroughClockGenerator extends OverrideLazyIOBinder({
(system: HasChipyardPRCI) => {
- // Connect the implicit clock
implicit val p = GetSystemParameters(system)
- val implicitClockSinkNode = ClockSinkNode(Seq(ClockSinkParameters(name = Some("implicit_clock"))))
- system.connectImplicitClockSinkNode(implicitClockSinkNode)
- InModuleBody {
- val implicit_clock = implicitClockSinkNode.in.head._1.clock
- val implicit_reset = implicitClockSinkNode.in.head._1.reset
- system.asInstanceOf[BaseSubsystem].module match { case l: LazyModuleImp => {
- l.clock := implicit_clock
- l.reset := implicit_reset
- }}
- }
// This aggregate node should do nothing
val clockGroupAggNode = ClockGroupAggregateNode("fake")
val clockGroupsSourceNode = ClockGroupSourceNode(Seq(ClockGroupSourceParameters()))
- system.allClockGroupsNode := clockGroupAggNode := clockGroupsSourceNode
+ system.chiptopClockGroupsNode := clockGroupAggNode := clockGroupsSourceNode
InModuleBody {
val reset_io = IO(Input(AsyncReset()))
@@ -119,3 +101,12 @@ class WithPassthroughClockGenerator extends OverrideLazyIOBinder({
}
}
})
+
+class WithClockTapIOCells extends OverrideIOBinder({
+ (system: CanHaveClockTap) => {
+ system.clockTapIO.map { tap =>
+ val (clock_tap_io, clock_tap_cell) = IOCell.generateIOFromSignal(tap.getWrappedValue, "clock_tap")
+ (Seq(ClockTapPort(() => clock_tap_io)), clock_tap_cell)
+ }.getOrElse((Nil, Nil))
+ }
+})
diff --git a/generators/chipyard/src/main/scala/clocking/ClockGroupCombiner.scala b/generators/chipyard/src/main/scala/clocking/ClockGroupCombiner.scala
index e5236804..9b53cbef 100644
--- a/generators/chipyard/src/main/scala/clocking/ClockGroupCombiner.scala
+++ b/generators/chipyard/src/main/scala/clocking/ClockGroupCombiner.scala
@@ -2,7 +2,7 @@ package chipyard.clocking
import chisel3._
import chisel3.util._
-import chisel3.experimental.{Analog, IO}
+import chisel3.experimental.Analog
import org.chipsalliance.cde.config._
import freechips.rocketchip.subsystem._
diff --git a/generators/chipyard/src/main/scala/clocking/HasChipyardPRCI.scala b/generators/chipyard/src/main/scala/clocking/HasChipyardPRCI.scala
index 7aa676d5..9b140e20 100644
--- a/generators/chipyard/src/main/scala/clocking/HasChipyardPRCI.scala
+++ b/generators/chipyard/src/main/scala/clocking/HasChipyardPRCI.scala
@@ -30,15 +30,14 @@ case class ChipyardPRCIControlParams(
case object ChipyardPRCIControlKey extends Field[ChipyardPRCIControlParams](ChipyardPRCIControlParams())
-trait HasChipyardPRCI { this: BaseSubsystem with InstantiatesTiles =>
- require(p(SubsystemDriveAsyncClockGroupsKey).isEmpty, "Subsystem asyncClockGroups must be undriven")
+trait HasChipyardPRCI { this: BaseSubsystem with InstantiatesHierarchicalElements =>
+ require(!p(SubsystemDriveClockGroupsFromIO), "Subsystem allClockGroups cannot be driven from implicit clocks")
val prciParams = p(ChipyardPRCIControlKey)
// Set up clock domain
private val tlbus = locateTLBusWrapper(prciParams.slaveWhere)
- val prci_ctrl_domain = LazyModule(new ClockSinkDomain(name=Some("chipyard-prci-control")))
- prci_ctrl_domain.clockNode := tlbus.fixedClockNode
+ val prci_ctrl_domain = tlbus.generateSynchronousDomain.suggestName("chipyard_prcictrl_domain")
val prci_ctrl_bus = Option.when(prciParams.generatePRCIXBar) { prci_ctrl_domain { TLXbar() } }
prci_ctrl_bus.foreach(xbar => tlbus.coupleTo("prci_ctrl") { (xbar
@@ -49,29 +48,13 @@ trait HasChipyardPRCI { this: BaseSubsystem with InstantiatesTiles =>
// Aggregate all the clock groups into a single node
val aggregator = LazyModule(new ClockGroupAggregator("allClocks")).node
- val allClockGroupsNode = ClockGroupEphemeralNode()
- // There are two "sets" of clocks which must be dealt with
-
- // 1. The implicit clock from the subsystem. RC is moving away from depending on this
- // clock, but some modules still use it. Since the implicit clock sink node
- // is created in the ChipTop (the hierarchy wrapping the subsystem), this function
- // is provided to allow connecting that clock to the clock aggregator. This function
- // should be called in the ChipTop context
- def connectImplicitClockSinkNode(sink: ClockSinkNode) = {
- val implicitClockGrouper = this { ClockGroup() }
- (sink
- := implicitClockGrouper
- := aggregator)
- }
-
- // 2. The rest of the diplomatic clocks in the subsystem are routed to this asyncClockGroupsNode
+ // The diplomatic clocks in the subsystem are routed to this allClockGroupsNode
val clockNamePrefixer = ClockGroupNamePrefixer()
- (asyncClockGroupsNode
+ (allClockGroupsNode
:*= clockNamePrefixer
:*= aggregator)
-
// Once all the clocks are gathered in the aggregator node, several steps remain
// 1. Assign frequencies to any clock groups which did not specify a frequency.
// 2. Combine duplicated clock groups (clock groups which physically should be in the same clock domain)
@@ -92,7 +75,7 @@ trait HasChipyardPRCI { this: BaseSubsystem with InstantiatesTiles =>
} }
val tileResetSetter = Option.when(prciParams.enableTileResetSetting) { prci_ctrl_domain {
val reset_setter = LazyModule(new TileResetSetter(prciParams.baseAddress + 0x10000, tlbus.beatBytes,
- tile_prci_domains.map(_.tile_reset_domain.clockNode.portParams(0).name.get), Nil))
+ tile_prci_domains.map(_._2.tile_reset_domain.clockNode.portParams(0).name.get).toSeq, Nil))
reset_setter.tlNode := TLFragmenter(tlbus.beatBytes, tlbus.blockBytes) := prci_ctrl_bus.get
reset_setter
} }
@@ -116,11 +99,14 @@ RTL SIMULATORS, NAMELY VERILATOR.
""" + Console.RESET)
}
+ // The chiptopClockGroupsNode shouuld be what ClockBinders attach to
+ val chiptopClockGroupsNode = ClockGroupEphemeralNode()
+
(aggregator
:= frequencySpecifier
:= clockGroupCombiner
:= resetSynchronizer
:= tileClockGater.map(_.clockNode).getOrElse(ClockGroupEphemeralNode()(ValName("temp")))
:= tileResetSetter.map(_.clockNode).getOrElse(ClockGroupEphemeralNode()(ValName("temp")))
- := allClockGroupsNode)
+ := chiptopClockGroupsNode)
}
diff --git a/generators/chipyard/src/main/scala/clocking/TLClockDivider.scala b/generators/chipyard/src/main/scala/clocking/TLClockDivider.scala
index a3c33561..958c9194 100644
--- a/generators/chipyard/src/main/scala/clocking/TLClockDivider.scala
+++ b/generators/chipyard/src/main/scala/clocking/TLClockDivider.scala
@@ -15,11 +15,27 @@ import testchipip.clocking._
// This module adds a TileLink memory-mapped clock divider to the clock graph
// The output clock/reset pairs from this module should be synchronized later
-class TLClockDivider(address: BigInt, beatBytes: Int, divBits: Int = 8)(implicit p: Parameters) extends LazyModule {
+// If enable is unset, this will not divide the clock
+// DO NOT unset enable for VLSI, or prototyping flows. The disable feature is a work around for
+// some RTL simulators which do not simulate the reset synchronization properly
+class TLClockDivider(address: BigInt, beatBytes: Int, divBits: Int = 8, enable: Boolean = true)(implicit p: Parameters) extends LazyModule {
val device = new SimpleDevice(s"clk-div-ctrl", Nil)
val clockNode = ClockGroupIdentityNode()
val tlNode = TLRegisterNode(Seq(AddressSet(address, 4096-1)), device, "reg/control", beatBytes=beatBytes)
+ if (!enable) println(Console.RED + s"""
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+WARNING:
+
+YOU ARE USING THE TLCLOCKDIVIDER IN
+"DISABLED" MODE. THIS SHOULD ONLY BE DONE
+FOR RTL SIMULATION
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+""" + Console.RESET)
+
lazy val module = new LazyModuleImp(this) {
require (clockNode.out.size == 1)
val sources = clockNode.in.head._1.member.data.toSeq
@@ -45,13 +61,21 @@ class TLClockDivider(address: BigInt, beatBytes: Int, divBits: Int = 8)(implicit
// by setting divisor=0. The divisor signal into the ClockDividerOrPass is synchronized internally
divider.io.divisor := Mux(busReset.asBool, 0.U, reg.io.q)
divider.io.resetAsync := ResetStretcher(sources(i).clock, asyncReset, 20).asAsyncReset
- sinks(i)._2.clock := divider.io.clockOut
- // Note this is not synchronized to the output clock, which takes time to appear
- // so this is still asyncreset
- // Stretch the reset for 40 cycles, to give enough time to reset any downstream
- // digital logic
- sinks(i)._2.reset := ResetStretcher(sources(i).clock, asyncReset, 40).asAsyncReset
+ if (enable) {
+ sinks(i)._2.clock := divider.io.clockOut
+
+ // Note this is not synchronized to the output clock, which takes time to appear
+ // so this is still asyncreset
+ // Stretch the reset for 40 cycles, to give enough time to reset any downstream
+ // digital logic
+ sinks(i)._2.reset := ResetStretcher(sources(i).clock, asyncReset, 40).asAsyncReset
+ } else {
+ // WARNING: THIS IS FOR RTL SIMULATION ONLY
+ sinks(i)._2.clock := sources(i).clock
+ sinks(i)._2.reset := sources(i).reset
+ }
+
reg
}
diff --git a/generators/chipyard/src/main/scala/clocking/TLClockSelector.scala b/generators/chipyard/src/main/scala/clocking/TLClockSelector.scala
index 1d0a149d..8c6371f1 100644
--- a/generators/chipyard/src/main/scala/clocking/TLClockSelector.scala
+++ b/generators/chipyard/src/main/scala/clocking/TLClockSelector.scala
@@ -21,12 +21,30 @@ case class ClockSelNode()(implicit valName: ValName)
// This module adds a TileLink memory-mapped clock mux for each downstream clock domain
// in the clock graph. The output clock/reset should be synchronized downstream
-class TLClockSelector(address: BigInt, beatBytes: Int)(implicit p: Parameters) extends LazyModule {
+// If enable is unset, this will always pass through the 0'th clock
+// DO NOT unset enable for VLSI, or prototyping flows. The disable feature is a work around for
+// some RTL simulators which do not simulate the reset synchronization properly
+class TLClockSelector(address: BigInt, beatBytes: Int, enable: Boolean = true)(implicit p: Parameters) extends LazyModule {
val device = new SimpleDevice("clk-sel-ctrl", Nil)
val tlNode = TLRegisterNode(Seq(AddressSet(address, 4096-1)), device, "reg/control", beatBytes=beatBytes)
val clockNode = ClockSelNode()
+ if (!enable) println(Console.RED + s"""
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+WARNING:
+
+YOU ARE USING THE TLCLOCKSELECTOR IN
+"DISABLED" MODE. THIS SHOULD ONLY BE DONE
+FOR RTL SIMULATION
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+""" + Console.RESET)
+
+
+
lazy val module = new LazyModuleImp(this) {
val asyncReset = clockNode.in.map(_._1).map(_.reset).toSeq(0)
val clocks = clockNode.in.map(_._1).map(_.clock)
@@ -43,10 +61,15 @@ class TLClockSelector(address: BigInt, beatBytes: Int)(implicit p: Parameters) e
val mux = ClockMutexMux(clocks).suggestName(s"${sinkName}_clkmux")
mux.io.sel := sel
mux.io.resetAsync := asyncReset.asAsyncReset
- sinks(i).clock := mux.io.clockOut
- // Stretch the reset for 20 cycles, to give time to reset any downstream digital logic
- sinks(i).reset := ResetStretcher(clocks(0), asyncReset, 20).asAsyncReset
-
+ if (enable) {
+ sinks(i).clock := mux.io.clockOut
+ // Stretch the reset for 20 cycles, to give time to reset any downstream digital logic
+ sinks(i).reset := ResetStretcher(clocks(0), asyncReset, 20).asAsyncReset
+ } else {
+ // WARNING: THIS IS FOR RTL SIMULATION ONLY
+ sinks(i).clock := clocks(0)
+ sinks(i).reset := asyncReset
+ }
reg
}
tlNode.regmap((0 until sinks.size).map { i =>
diff --git a/generators/chipyard/src/main/scala/clocking/TileClockGater.scala b/generators/chipyard/src/main/scala/clocking/TileClockGater.scala
index e299d0a9..c92e05bc 100644
--- a/generators/chipyard/src/main/scala/clocking/TileClockGater.scala
+++ b/generators/chipyard/src/main/scala/clocking/TileClockGater.scala
@@ -2,7 +2,7 @@ package chipyard.clocking
import chisel3._
import chisel3.util._
-import chisel3.experimental.{Analog, IO}
+import chisel3.experimental.Analog
import org.chipsalliance.cde.config._
import freechips.rocketchip.subsystem._
diff --git a/generators/chipyard/src/main/scala/clocking/TileResetSetter.scala b/generators/chipyard/src/main/scala/clocking/TileResetSetter.scala
index 53dd36d0..88916d17 100644
--- a/generators/chipyard/src/main/scala/clocking/TileResetSetter.scala
+++ b/generators/chipyard/src/main/scala/clocking/TileResetSetter.scala
@@ -2,7 +2,7 @@ package chipyard.clocking
import chisel3._
import chisel3.util._
-import chisel3.experimental.{Analog, IO}
+import chisel3.experimental.Analog
import org.chipsalliance.cde.config._
import freechips.rocketchip.subsystem._
diff --git a/generators/chipyard/src/main/scala/config/AbstractConfig.scala b/generators/chipyard/src/main/scala/config/AbstractConfig.scala
index 7d75206d..9b10458c 100644
--- a/generators/chipyard/src/main/scala/config/AbstractConfig.scala
+++ b/generators/chipyard/src/main/scala/config/AbstractConfig.scala
@@ -42,6 +42,7 @@ class AbstractConfig extends Config(
new chipyard.iobinders.WithGPIOCells ++
new chipyard.iobinders.WithSPIFlashIOCells ++
new chipyard.iobinders.WithExtInterruptIOCells ++
+ new chipyard.iobinders.WithChipIdIOCells ++
new chipyard.iobinders.WithCustomBootPin ++
// The "punchthrough" IOBInders below don't generate IOCells, as these interfaces shouldn't really be mapped to ASIC IO
// Instead, they directly pass through the DigitalTop ports to ports in the ChipTop
@@ -61,20 +62,18 @@ class AbstractConfig extends Config(
// Set up External Memory and IO Devices
// ================================================
// External memory section
- new testchipip.serdes.WithSerialTL(Seq( /** add a serial-tilelink interface */
+ new testchipip.serdes.WithSerialTL(Seq( /** add a serial-tilelink interface */
testchipip.serdes.SerialTLParams(
client = Some(testchipip.serdes.SerialTLClientParams(idBits=4)), /** serial-tilelink interface will master the FBUS, and support 4 idBits */
- width = 32 /** serial-tilelink interface with 32 lanes */
+ phyParams = testchipip.serdes.ExternalSyncSerialParams(width=32) /** serial-tilelink interface with 32 lanes */
)
)) ++
new freechips.rocketchip.subsystem.WithNMemoryChannels(1) ++ /** Default 1 AXI-4 memory channels */
new freechips.rocketchip.subsystem.WithNoMMIOPort ++ /** no top-level MMIO master port (overrides default set in rocketchip) */
new freechips.rocketchip.subsystem.WithNoSlavePort ++ /** no top-level MMIO slave port (overrides default set in rocketchip) */
-
-
// MMIO device section
- new chipyard.config.WithUART ++ /** add a UART */
+ new chipyard.config.WithUART ++ /** add a UART */
// ================================================
// Set up Debug/Bringup/Testing Features
@@ -118,13 +117,14 @@ class AbstractConfig extends Config(
// ================================================
// ChipTop clock IO/PLL/Divider/Mux settings
+ new chipyard.clocking.WithClockTapIOCells ++ /** Default generate a clock tapio */
new chipyard.clocking.WithPassthroughClockGenerator ++
// DigitalTop-internal clocking settings
- new freechips.rocketchip.subsystem.WithDontDriveBusClocksFromSBus ++ /** leave the bus clocks undriven by sbus */
- new freechips.rocketchip.subsystem.WithClockGateModel ++ /** add default EICG_wrapper clock gate model */
- new chipyard.clocking.WithClockGroupsCombinedByName(("uncore", /** create a "uncore" clock group tieing all the bus clocks together */
- Seq("sbus", "mbus", "pbus", "fbus", "cbus", "obus", "implicit"),
+ new freechips.rocketchip.subsystem.WithDontDriveBusClocksFromSBus ++ /** leave the bus clocks undriven by sbus */
+ new freechips.rocketchip.subsystem.WithClockGateModel ++ /** add default EICG_wrapper clock gate model */
+ new chipyard.clocking.WithClockGroupsCombinedByName(("uncore", /** create a "uncore" clock group tieing all the bus clocks together */
+ Seq("sbus", "mbus", "pbus", "fbus", "cbus", "obus", "implicit", "clock_tap"),
Seq("tile"))) ++
new chipyard.config.WithPeripheryBusFrequency(500.0) ++ /** Default 500 MHz pbus */
@@ -134,7 +134,7 @@ class AbstractConfig extends Config(
new chipyard.config.WithFrontBusFrequency(500.0) ++ /** Default 500 MHz fbus */
new chipyard.config.WithOffchipBusFrequency(500.0) ++ /** Default 500 MHz obus */
new chipyard.config.WithInheritBusFrequencyAssignments ++ /** Unspecified clocks within a bus will receive the bus frequency if set */
- new chipyard.config.WithNoSubsystemDrivenClocks ++ /** drive the subsystem diplomatic clocks from ChipTop instead of using implicit clocks */
+ new chipyard.config.WithNoSubsystemClockIO ++ /** drive the subsystem diplomatic clocks from ChipTop instead of using implicit clocks */
// reset
diff --git a/generators/chipyard/src/main/scala/config/ChipConfigs.scala b/generators/chipyard/src/main/scala/config/ChipConfigs.scala
index ffcb3f77..52f39a03 100644
--- a/generators/chipyard/src/main/scala/config/ChipConfigs.scala
+++ b/generators/chipyard/src/main/scala/config/ChipConfigs.scala
@@ -22,8 +22,18 @@ class ChipLikeRocketConfig extends Config(
//==================================
// Set up I/O
//==================================
- new testchipip.serdes.WithSerialTLWidth(4) ++ // 4bit wide Serialized TL interface to minimize IO
- new testchipip.serdes.WithSerialTLMem(size = (1 << 30) * 4L) ++ // Configure the off-chip memory accessible over serial-tl as backing memory
+ new testchipip.serdes.WithSerialTL(Seq(testchipip.serdes.SerialTLParams( // 1 serial tilelink port
+ manager = Some(testchipip.serdes.SerialTLManagerParams( // port acts as a manager of offchip memory
+ memParams = Seq(testchipip.serdes.ManagerRAMParams( // 4 GB of off-chip memory
+ address = BigInt("80000000", 16),
+ size = BigInt("100000000", 16)
+ )),
+ isMemoryDevice = true
+ )),
+ client = Some(testchipip.serdes.SerialTLClientParams()), // Allow an external manager to probe this chip
+ phyParams = testchipip.serdes.ExternalSyncSerialParams(width=4) // 4-bit bidir interface, sync'd to an external clock
+ ))) ++
+
new freechips.rocketchip.subsystem.WithNoMemPort ++ // Remove axi4 mem port
new freechips.rocketchip.subsystem.WithNMemoryChannels(1) ++ // 1 memory channel
@@ -60,10 +70,16 @@ class ChipBringupHostConfig extends Config(
//=============================
// Setup the SerialTL side on the bringup device
//=============================
- new testchipip.serdes.WithSerialTLWidth(4) ++ // match width with the chip
- new testchipip.serdes.WithSerialTLMem(base = 0x0, size = 0x80000000L, // accessible memory of the chip that doesn't come from the tethered host
- idBits = 4, isMainMemory = false) ++ // This assumes off-chip mem starts at 0x8000_0000
- new testchipip.serdes.WithSerialTLClockDirection(provideClockFreqMHz = Some(75)) ++ // bringup board drives the clock for the serial-tl receiver on the chip, use 75MHz clock
+ new testchipip.serdes.WithSerialTL(Seq(testchipip.serdes.SerialTLParams(
+ manager = Some(testchipip.serdes.SerialTLManagerParams(
+ memParams = Seq(testchipip.serdes.ManagerRAMParams( // Bringup platform can access all memory from 0 to DRAM_BASE
+ address = BigInt("00000000", 16),
+ size = BigInt("80000000", 16)
+ ))
+ )),
+ client = Some(testchipip.serdes.SerialTLClientParams()), // Allow chip to access this device's memory (DRAM)
+ phyParams = testchipip.serdes.InternalSyncSerialParams(width=4, freqMHz = 75) // bringup platform provides the clock
+ ))) ++
//============================
// Setup bus topology on the bringup system
@@ -110,5 +126,9 @@ class TetheredChipLikeRocketConfig extends Config(
class VerilatorCITetheredChipLikeRocketConfig extends Config(
new chipyard.harness.WithAbsoluteFreqHarnessClockInstantiator ++ // use absolute freqs for sims in the harness
new chipyard.harness.WithMultiChipSerialTL(0, 1) ++ // connect the serial-tl ports of the chips together
- new chipyard.harness.WithMultiChip(0, new chipyard.config.WithNoResetSynchronizers ++ new ChipLikeRocketConfig) ++
+ new chipyard.harness.WithMultiChip(0, // These fragments remove all troublesome
+ new chipyard.clocking.WithPLLSelectorDividerClockGenerator(enable=false) ++ // clocking features from the design
+ new chipyard.iobinders.WithDebugIOCells(syncReset = false) ++
+ new chipyard.config.WithNoResetSynchronizers ++
+ new ChipLikeRocketConfig) ++
new chipyard.harness.WithMultiChip(1, new ChipBringupHostConfig))
diff --git a/generators/chipyard/src/main/scala/config/ChipletConfigs.scala b/generators/chipyard/src/main/scala/config/ChipletConfigs.scala
new file mode 100644
index 00000000..a7d2113f
--- /dev/null
+++ b/generators/chipyard/src/main/scala/config/ChipletConfigs.scala
@@ -0,0 +1,47 @@
+package chipyard
+
+import org.chipsalliance.cde.config.{Config}
+import freechips.rocketchip.diplomacy.{AddressSet}
+import freechips.rocketchip.subsystem.{SBUS}
+import testchipip.soc.{OBUS}
+
+// ------------------------------------------------
+// Configs demonstrating chip-to-chip communication
+// ------------------------------------------------
+
+// Simple design which exposes a second serial-tl port that can connect to another instance of itself
+class SymmetricChipletRocketConfig extends Config(
+ new testchipip.soc.WithChipIdPin ++ // Add pin to identify chips
+ new chipyard.harness.WithSerialTLTiedOff(tieoffs=Some(Seq(1))) ++ // Tie-off the chip-to-chip link in single-chip sims
+ new testchipip.serdes.WithSerialTL(Seq(
+ testchipip.serdes.SerialTLParams( // 0th serial-tl is chip-to-bringup-fpga
+ client = Some(testchipip.serdes.SerialTLClientParams()), // bringup serial-tl acts only as a client
+ phyParams = testchipip.serdes.ExternalSyncSerialParams() // bringup serial-tl is sync'd to external clock
+ ),
+ testchipip.serdes.SerialTLParams( // 1st serial-tl is chip-to-chip
+ client = Some(testchipip.serdes.SerialTLClientParams()), // chip-to-chip serial-tl acts as a client
+ manager = Some(testchipip.serdes.SerialTLManagerParams( // chip-to-chip serial-tl managers other chip's memory
+ memParams = Seq(testchipip.serdes.ManagerRAMParams(
+ address = 0,
+ size = 1L << 32,
+ )),
+ slaveWhere = OBUS
+ )),
+ phyParams = testchipip.serdes.SourceSyncSerialParams() // chip-to-chip serial-tl is symmetric source-sync'd
+ ))
+ ) ++
+ new testchipip.soc.WithOffchipBusClient(SBUS, // obus provides path to other chip's memory
+ blockRange = Seq(AddressSet(0, (1L << 32) - 1)), // The lower 4GB is mapped to this chip
+ replicationBase = Some(1L << 32) // The upper 4GB goes off-chip
+ ) ++
+ new testchipip.soc.WithOffchipBus ++
+ new freechips.rocketchip.subsystem.WithNBigCores(1) ++
+ new chipyard.config.AbstractConfig)
+
+// Simulates 2X of the SymmetricChipletRocketConfig in a multi-sim config
+class MultiSimSymmetricChipletRocketConfig extends Config(
+ new chipyard.harness.WithAbsoluteFreqHarnessClockInstantiator ++
+ new chipyard.harness.WithMultiChipSerialTL(chip0=0, chip1=1, chip0portId=1, chip1portId=1) ++
+ new chipyard.harness.WithMultiChip(0, new SymmetricChipletRocketConfig) ++
+ new chipyard.harness.WithMultiChip(1, new SymmetricChipletRocketConfig)
+)
diff --git a/generators/chipyard/src/main/scala/config/MemorySystemConfigs.scala b/generators/chipyard/src/main/scala/config/MemorySystemConfigs.scala
index c49f85ee..1b351266 100644
--- a/generators/chipyard/src/main/scala/config/MemorySystemConfigs.scala
+++ b/generators/chipyard/src/main/scala/config/MemorySystemConfigs.scala
@@ -39,3 +39,8 @@ class QuadChannelRocketConfig extends Config(
new freechips.rocketchip.subsystem.WithNMemoryChannels(4) ++ // 4 AXI4 channels
new freechips.rocketchip.subsystem.WithNBigCores(1) ++
new chipyard.config.AbstractConfig)
+
+class BroadcastCoherenceRocketConfig extends Config(
+ new chipyard.config.WithBroadcastManager ++ // Use broadcast-based coherence hub
+ new freechips.rocketchip.subsystem.WithNBigCores(1) ++
+ new chipyard.config.AbstractConfig)
diff --git a/generators/chipyard/src/main/scala/config/RocketConfigs.scala b/generators/chipyard/src/main/scala/config/RocketConfigs.scala
index 216cb53e..d3f21584 100644
--- a/generators/chipyard/src/main/scala/config/RocketConfigs.scala
+++ b/generators/chipyard/src/main/scala/config/RocketConfigs.scala
@@ -2,6 +2,7 @@ package chipyard
import org.chipsalliance.cde.config.{Config}
import freechips.rocketchip.diplomacy.{AsynchronousCrossing}
+import freechips.rocketchip.subsystem.{InCluster}
// --------------
// Rocket Configs
@@ -62,7 +63,7 @@ class MulticlockRocketConfig extends Config(
new freechips.rocketchip.subsystem.WithNBigCores(1) ++
// Frequency specifications
new chipyard.config.WithTileFrequency(1000.0) ++ // Matches the maximum frequency of U540
- new chipyard.clocking.WithClockGroupsCombinedByName(("uncore" , Seq("sbus", "cbus", "implicit"), Nil),
+ new chipyard.clocking.WithClockGroupsCombinedByName(("uncore" , Seq("sbus", "cbus", "implicit", "clock_tap"), Nil),
("periphery", Seq("pbus", "fbus"), Nil)) ++
new chipyard.config.WithSystemBusFrequency(500.0) ++ // Matches the maximum frequency of U540
new chipyard.config.WithMemoryBusFrequency(500.0) ++ // Matches the maximum frequency of U540
@@ -88,3 +89,14 @@ class PrefetchingRocketConfig extends Config(
new freechips.rocketchip.subsystem.WithNonblockingL1(2) ++ // non-blocking L1D$, L1 prefetching only works with non-blocking L1D$
new freechips.rocketchip.subsystem.WithNBigCores(1) ++ // single rocket-core
new chipyard.config.AbstractConfig)
+
+class ClusteredRocketConfig extends Config(
+ new freechips.rocketchip.subsystem.WithNBigCores(4, location=InCluster(1)) ++
+ new freechips.rocketchip.subsystem.WithNBigCores(4, location=InCluster(0)) ++
+ new freechips.rocketchip.subsystem.WithCluster(1) ++
+ new freechips.rocketchip.subsystem.WithCluster(0) ++
+ new chipyard.config.AbstractConfig)
+
+class FastRTLSimRocketConfig extends Config(
+ new freechips.rocketchip.subsystem.WithoutTLMonitors ++
+ new chipyard.RocketConfig)
diff --git a/generators/chipyard/src/main/scala/config/TracegenConfigs.scala b/generators/chipyard/src/main/scala/config/TracegenConfigs.scala
index 4235bf1e..c9db790d 100644
--- a/generators/chipyard/src/main/scala/config/TracegenConfigs.scala
+++ b/generators/chipyard/src/main/scala/config/TracegenConfigs.scala
@@ -12,10 +12,11 @@ class AbstractTraceGenConfig extends Config(
new chipyard.iobinders.WithAXI4MemPunchthrough ++
new chipyard.iobinders.WithTraceGenSuccessPunchthrough ++
new chipyard.clocking.WithPassthroughClockGenerator ++
- new chipyard.clocking.WithClockGroupsCombinedByName(("uncore", Seq("sbus", "implicit"), Nil)) ++
+ new chipyard.clocking.WithClockGroupsCombinedByName(("uncore", Seq("sbus"), Nil)) ++
new chipyard.config.WithTracegenSystem ++
- new chipyard.config.WithNoSubsystemDrivenClocks ++
+ new chipyard.config.WithNoSubsystemClockIO ++
new chipyard.config.WithMemoryBusFrequency(1000.0) ++
+ new chipyard.config.WithControlBusFrequency(1000.0) ++
new chipyard.config.WithSystemBusFrequency(1000.0) ++
new chipyard.config.WithPeripheryBusFrequency(1000.0) ++
new freechips.rocketchip.subsystem.WithCoherentBusTopology ++
diff --git a/generators/chipyard/src/main/scala/config/fragments/ClockingFragments.scala b/generators/chipyard/src/main/scala/config/fragments/ClockingFragments.scala
index f86254c4..8cf6ae67 100644
--- a/generators/chipyard/src/main/scala/config/fragments/ClockingFragments.scala
+++ b/generators/chipyard/src/main/scala/config/fragments/ClockingFragments.scala
@@ -19,8 +19,8 @@ import testchipip.soc.{OffchipBusKey}
// with the implicit clocks of Subsystem. Don't do that, instead we extend
// the diplomacy graph upwards into the ChipTop, where we connect it to
// our clock drivers
-class WithNoSubsystemDrivenClocks extends Config((site, here, up) => {
- case SubsystemDriveAsyncClockGroupsKey => None
+class WithNoSubsystemClockIO extends Config((site, here, up) => {
+ case SubsystemDriveClockGroupsFromIO => false
})
/**
@@ -111,14 +111,22 @@ class WithOffchipBusFrequency(freqMHz: Double) extends Config((site, here, up) =
class WithRationalMemoryBusCrossing extends WithSbusToMbusCrossingType(RationalCrossing(Symmetric))
class WithAsynchrousMemoryBusCrossing extends WithSbusToMbusCrossingType(AsynchronousCrossing())
+// Remove the tile clock gaters in this system
class WithNoTileClockGaters extends Config((site, here, up) => {
case ChipyardPRCIControlKey => up(ChipyardPRCIControlKey).copy(enableTileClockGating = false)
})
+// Remove the tile reset control blocks in this system
class WithNoTileResetSetters extends Config((site, here, up) => {
case ChipyardPRCIControlKey => up(ChipyardPRCIControlKey).copy(enableTileResetSetting = false)
})
+// Remove the global reset synchronizers in this system
class WithNoResetSynchronizers extends Config((site, here, up) => {
case ChipyardPRCIControlKey => up(ChipyardPRCIControlKey).copy(enableResetSynchronizers = false)
})
+
+// Remove any ClockTap ports in this system
+class WithNoClockTap extends Config((site, here, up) => {
+ case ClockTapKey => false
+})
diff --git a/generators/chipyard/src/main/scala/config/fragments/RoCCFragments.scala b/generators/chipyard/src/main/scala/config/fragments/RoCCFragments.scala
index 4680eeeb..c9f7fcdb 100644
--- a/generators/chipyard/src/main/scala/config/fragments/RoCCFragments.scala
+++ b/generators/chipyard/src/main/scala/config/fragments/RoCCFragments.scala
@@ -12,15 +12,15 @@ import gemmini._
import chipyard.{TestSuitesKey, TestSuiteHelper}
/**
- * Map from a hartId to a particular RoCC accelerator
+ * Map from a tileId to a particular RoCC accelerator
*/
case object MultiRoCCKey extends Field[Map[Int, Seq[Parameters => LazyRoCC]]](Map.empty[Int, Seq[Parameters => LazyRoCC]])
/**
- * Config fragment to enable different RoCCs based on the hartId
+ * Config fragment to enable different RoCCs based on the tileId
*/
class WithMultiRoCC extends Config((site, here, up) => {
- case BuildRoCC => site(MultiRoCCKey).getOrElse(site(TileKey).hartId, Nil)
+ case BuildRoCC => site(MultiRoCCKey).getOrElse(site(TileKey).tileId, Nil)
})
/**
@@ -39,7 +39,7 @@ class WithMultiRoCCFromBuildRoCC(harts: Int*) extends Config((site, here, up) =>
*
* For ex:
* Core 0, 1, 2, 3 have been defined earlier
- * with hartIds of 0, 1, 2, 3 respectively
+ * with tileIds of 0, 1, 2, 3 respectively
* And you call WithMultiRoCCHwacha(0,1)
* Then Core 0 and 1 will get a Hwacha
*
diff --git a/generators/chipyard/src/main/scala/config/fragments/SubsystemFragments.scala b/generators/chipyard/src/main/scala/config/fragments/SubsystemFragments.scala
index 7a45d293..b4971cba 100644
--- a/generators/chipyard/src/main/scala/config/fragments/SubsystemFragments.scala
+++ b/generators/chipyard/src/main/scala/config/fragments/SubsystemFragments.scala
@@ -7,7 +7,7 @@ import sifive.blocks.inclusivecache.{InclusiveCachePortParameters}
// Replaces the L2 with a broadcast manager for maintaining coherence
class WithBroadcastManager extends Config((site, here, up) => {
- case BankedL2Key => up(BankedL2Key, site).copy(coherenceManager = CoherenceManagerWrapper.broadcastManager)
+ case SubsystemBankedCoherenceKey => up(SubsystemBankedCoherenceKey, site).copy(coherenceManager = CoherenceManagerWrapper.broadcastManager)
})
class WithBroadcastParams(params: BroadcastParams) extends Config((site, here, up) => {
diff --git a/generators/chipyard/src/main/scala/config/fragments/TileFragments.scala b/generators/chipyard/src/main/scala/config/fragments/TileFragments.scala
index 92d8fc6f..392f1508 100644
--- a/generators/chipyard/src/main/scala/config/fragments/TileFragments.scala
+++ b/generators/chipyard/src/main/scala/config/fragments/TileFragments.scala
@@ -78,7 +78,7 @@ class WithRocketCacheRowBits(rowBits: Int = 64) extends Config((site, here, up)
class WithRocketICacheScratchpad extends Config((site, here, up) => {
case TilesLocated(InSubsystem) => up(TilesLocated(InSubsystem), site) map {
case tp: RocketTileAttachParams => tp.copy(tileParams = tp.tileParams.copy(
- icache = tp.tileParams.icache.map(_.copy(itimAddr = Some(0x300000 + tp.tileParams.hartId * 0x10000)))
+ icache = tp.tileParams.icache.map(_.copy(itimAddr = Some(0x300000 + tp.tileParams.tileId * 0x10000)))
))
}
})
@@ -86,7 +86,7 @@ class WithRocketICacheScratchpad extends Config((site, here, up) => {
class WithRocketDCacheScratchpad extends Config((site, here, up) => {
case TilesLocated(InSubsystem) => up(TilesLocated(InSubsystem), site) map {
case tp: RocketTileAttachParams => tp.copy(tileParams = tp.tileParams.copy(
- dcache = tp.tileParams.dcache.map(_.copy(nSets = 32, nWays = 1, scratch = Some(0x200000 + tp.tileParams.hartId * 0x10000)))
+ dcache = tp.tileParams.dcache.map(_.copy(nSets = 32, nWays = 1, scratch = Some(0x200000 + tp.tileParams.tileId * 0x10000)))
))
}
})
@@ -94,15 +94,15 @@ class WithRocketDCacheScratchpad extends Config((site, here, up) => {
class WithTilePrefetchers extends Config((site, here, up) => {
case TilesLocated(InSubsystem) => up(TilesLocated(InSubsystem), site) map {
case tp: RocketTileAttachParams => tp.copy(crossingParams = tp.crossingParams.copy(
- master = TilePrefetchingMasterPortParams(tp.tileParams.hartId, tp.crossingParams.master)))
+ master = TilePrefetchingMasterPortParams(tp.tileParams.tileId, tp.crossingParams.master)))
case tp: BoomTileAttachParams => tp.copy(crossingParams = tp.crossingParams.copy(
- master = TilePrefetchingMasterPortParams(tp.tileParams.hartId, tp.crossingParams.master)))
+ master = TilePrefetchingMasterPortParams(tp.tileParams.tileId, tp.crossingParams.master)))
case tp: SodorTileAttachParams => tp.copy(crossingParams = tp.crossingParams.copy(
- master = TilePrefetchingMasterPortParams(tp.tileParams.hartId, tp.crossingParams.master)))
+ master = TilePrefetchingMasterPortParams(tp.tileParams.tileId, tp.crossingParams.master)))
case tp: IbexTileAttachParams => tp.copy(crossingParams = tp.crossingParams.copy(
- master = TilePrefetchingMasterPortParams(tp.tileParams.hartId, tp.crossingParams.master)))
+ master = TilePrefetchingMasterPortParams(tp.tileParams.tileId, tp.crossingParams.master)))
case tp: CVA6TileAttachParams => tp.copy(crossingParams = tp.crossingParams.copy(
- master = TilePrefetchingMasterPortParams(tp.tileParams.hartId, tp.crossingParams.master)))
+ master = TilePrefetchingMasterPortParams(tp.tileParams.tileId, tp.crossingParams.master)))
}
})
diff --git a/generators/chipyard/src/main/scala/example/FlatChipTop.scala b/generators/chipyard/src/main/scala/example/FlatChipTop.scala
index 96139ef5..d4caa49b 100644
--- a/generators/chipyard/src/main/scala/example/FlatChipTop.scala
+++ b/generators/chipyard/src/main/scala/example/FlatChipTop.scala
@@ -30,9 +30,6 @@ class FlatChipTop(implicit p: Parameters) extends LazyModule with HasChipyardPor
//========================
// Diplomatic clock stuff
//========================
- val implicitClockSinkNode = ClockSinkNode(Seq(ClockSinkParameters(name = Some("implicit_clock"))))
- system.connectImplicitClockSinkNode(implicitClockSinkNode)
-
val tlbus = system.locateTLBusWrapper(system.prciParams.slaveWhere)
val baseAddress = system.prciParams.baseAddress
val clockDivider = system.prci_ctrl_domain { LazyModule(new TLClockDivider (baseAddress + 0x20000, tlbus.beatBytes)) }
@@ -43,7 +40,7 @@ class FlatChipTop(implicit p: Parameters) extends LazyModule with HasChipyardPor
tlbus.coupleTo("clock-sel-ctrl") { clockSelector.tlNode := TLFragmenter(tlbus.beatBytes, tlbus.blockBytes) := TLBuffer() := _ }
tlbus.coupleTo("pll-ctrl") { pllCtrl.tlNode := TLFragmenter(tlbus.beatBytes, tlbus.blockBytes) := TLBuffer() := _ }
- system.allClockGroupsNode := clockDivider.clockNode := clockSelector.clockNode
+ system.chiptopClockGroupsNode := clockDivider.clockNode := clockSelector.clockNode
// Connect all other requested clocks
val slowClockSource = ClockSourceNode(Seq(ClockSourceParameters()))
@@ -69,13 +66,6 @@ class FlatChipTop(implicit p: Parameters) extends LazyModule with HasChipyardPor
//=========================
// Clock/reset
//=========================
- val implicit_clock = implicitClockSinkNode.in.head._1.clock
- val implicit_reset = implicitClockSinkNode.in.head._1.reset
- system.module match { case l: LazyModuleImp => {
- l.clock := implicit_clock
- l.reset := implicit_reset
- }}
-
val clock_wire = Wire(Input(Clock()))
val reset_wire = Wire(Input(AsyncReset()))
val (clock_pad, clockIOCell) = IOCell.generateIOFromSignal(clock_wire, "clock", p(IOCellKey))
diff --git a/generators/chipyard/src/main/scala/example/FlatTestHarness.scala b/generators/chipyard/src/main/scala/example/FlatTestHarness.scala
index 304c58a3..8bbbb205 100644
--- a/generators/chipyard/src/main/scala/example/FlatTestHarness.scala
+++ b/generators/chipyard/src/main/scala/example/FlatTestHarness.scala
@@ -1,7 +1,6 @@
package chipyard.example
import chisel3._
-import chisel3.experimental.{Analog, BaseModule, DataMirror, Direction}
import scala.collection.mutable.{ArrayBuffer, LinkedHashMap}
import org.chipsalliance.cde.config.{Field, Parameters}
@@ -11,10 +10,10 @@ import freechips.rocketchip.util.{PlusArg}
import freechips.rocketchip.subsystem.{CacheBlockBytes}
import freechips.rocketchip.devices.debug.{SimJTAG}
import freechips.rocketchip.jtag.{JTAGIO}
-import testchipip.serdes.{SerialTLKey}
+import testchipip.serdes._
import testchipip.uart.{UARTAdapter}
import testchipip.dram.{SimDRAM}
-import testchipip.tsi.{TSIHarness, SimTSI}
+import testchipip.tsi.{TSIHarness, SimTSI, SerialRAM}
import chipyard.harness.{BuildTop}
// A "flat" TestHarness that doesn't use IOBinders
@@ -46,18 +45,28 @@ class FlatTestHarness(implicit val p: Parameters) extends Module {
val serialTLManagerParams = sVal.manager.get
require(serialTLManagerParams.isMemoryDevice)
- withClockAndReset(clock, reset) {
- val serial_bits = dut.serial_tl_pad.bits
- if (DataMirror.directionOf(dut.serial_tl_pad.clock) == Direction.Input) {
- dut.serial_tl_pad.clock := clock
- }
- val harnessRAM = TSIHarness.connectRAM(
- p(SerialTLKey)(0),
- lazyDut.system.serdessers(0),
- serial_bits,
- reset)
- io.success := SimTSI.connect(harnessRAM.module.io.tsi, clock, reset)
+ // Figure out which clock drives the harness TLSerdes, based on the port type
+ val serial_ram_clock = dut.serial_tl_pad match {
+ case io: InternalSyncSerialIO => io.clock_out
+ case io: ExternalSyncSerialIO => clock
+ }
+ dut.serial_tl_pad match {
+ case io: ExternalSyncSerialIO => io.clock_in := clock
+ case io: InternalSyncSerialIO =>
+ }
+ dut.serial_tl_pad match {
+ case pad: DecoupledSerialIO => {
+ withClockAndReset(serial_ram_clock, reset) {
+ // SerialRAM implements the memory regions the chip expects
+ val ram = Module(LazyModule(new SerialRAM(lazyDut.system.serdessers(0), p(SerialTLKey)(0))).module)
+ ram.io.ser.in <> pad.out
+ pad.in <> ram.io.ser.out
+
+ // Allow TSI to master the chip
+ io.success := SimTSI.connect(ram.io.tsi, serial_ram_clock, reset)
+ }
+ }
}
// JTAG
diff --git a/generators/chipyard/src/main/scala/example/GCD.scala b/generators/chipyard/src/main/scala/example/GCD.scala
index ae1d49dd..ef3edc1f 100644
--- a/generators/chipyard/src/main/scala/example/GCD.scala
+++ b/generators/chipyard/src/main/scala/example/GCD.scala
@@ -4,6 +4,7 @@ import chisel3._
import chisel3.util._
import chisel3.experimental.{IntParam, BaseModule}
import freechips.rocketchip.amba.axi4._
+import freechips.rocketchip.prci._
import freechips.rocketchip.subsystem.BaseSubsystem
import org.chipsalliance.cde.config.{Parameters, Field, Config}
import freechips.rocketchip.diplomacy._
@@ -36,27 +37,24 @@ class GCDIO(val w: Int) extends Bundle {
val busy = Output(Bool())
}
-trait GCDTopIO extends Bundle {
+class GCDTopIO extends Bundle {
val gcd_busy = Output(Bool())
}
-trait HasGCDIO extends BaseModule {
- val w: Int
- val io = IO(new GCDIO(w))
+trait HasGCDTopIO {
+ def io: GCDTopIO
}
// DOC include start: GCD blackbox
-class GCDMMIOBlackBox(val w: Int) extends BlackBox(Map("WIDTH" -> IntParam(w))) with HasBlackBoxResource
- with HasGCDIO
-{
+class GCDMMIOBlackBox(val w: Int) extends BlackBox(Map("WIDTH" -> IntParam(w))) with HasBlackBoxResource {
+ val io = IO(new GCDIO(w))
addResource("/vsrc/GCDMMIOBlackBox.v")
}
// DOC include end: GCD blackbox
// DOC include start: GCD chisel
-class GCDMMIOChiselModule(val w: Int) extends Module
- with HasGCDIO
-{
+class GCDMMIOChiselModule(val w: Int) extends Module {
+ val io = IO(new GCDIO(w))
val s_idle :: s_run :: s_done :: Nil = Enum(3)
val state = RegInit(s_idle)
@@ -90,70 +88,106 @@ class GCDMMIOChiselModule(val w: Int) extends Module
}
// DOC include end: GCD chisel
-// DOC include start: GCD instance regmap
-
-trait GCDModule extends HasRegMap {
- val io: GCDTopIO
-
- implicit val p: Parameters
- def params: GCDParams
- val clock: Clock
- val reset: Reset
-
-
- // How many clock cycles in a PWM cycle?
- val x = Reg(UInt(params.width.W))
- val y = Wire(new DecoupledIO(UInt(params.width.W)))
- val gcd = Wire(new DecoupledIO(UInt(params.width.W)))
- val status = Wire(UInt(2.W))
-
- val impl = if (params.useBlackBox) {
- Module(new GCDMMIOBlackBox(params.width))
- } else {
- Module(new GCDMMIOChiselModule(params.width))
- }
-
- impl.io.clock := clock
- impl.io.reset := reset.asBool
-
- impl.io.x := x
- impl.io.y := y.bits
- impl.io.input_valid := y.valid
- y.ready := impl.io.input_ready
-
- gcd.bits := impl.io.gcd
- gcd.valid := impl.io.output_valid
- impl.io.output_ready := gcd.ready
-
- status := Cat(impl.io.input_ready, impl.io.output_valid)
- io.gcd_busy := impl.io.busy
-
- regmap(
- 0x00 -> Seq(
- RegField.r(2, status)), // a read-only register capturing current status
- 0x04 -> Seq(
- RegField.w(params.width, x)), // a plain, write-only register
- 0x08 -> Seq(
- RegField.w(params.width, y)), // write-only, y.valid is set on write
- 0x0C -> Seq(
- RegField.r(params.width, gcd))) // read-only, gcd.ready is set on read
-}
-// DOC include end: GCD instance regmap
-
// DOC include start: GCD router
-class GCDTL(params: GCDParams, beatBytes: Int)(implicit p: Parameters)
- extends TLRegisterRouter(
- params.address, "gcd", Seq("ucbbar,gcd"),
- beatBytes = beatBytes)(
- new TLRegBundle(params, _) with GCDTopIO)(
- new TLRegModule(params, _, _) with GCDModule)
+class GCDTL(params: GCDParams, beatBytes: Int)(implicit p: Parameters) extends ClockSinkDomain(ClockSinkParameters())(p) {
+ val device = new SimpleDevice("gcd", Seq("ucbbar,gcd"))
+ val node = TLRegisterNode(Seq(AddressSet(params.address, 4096-1)), device, "reg/control", beatBytes=beatBytes)
-class GCDAXI4(params: GCDParams, beatBytes: Int)(implicit p: Parameters)
- extends AXI4RegisterRouter(
- params.address,
- beatBytes=beatBytes)(
- new AXI4RegBundle(params, _) with GCDTopIO)(
- new AXI4RegModule(params, _, _) with GCDModule)
+ override lazy val module = new GCDImpl
+ class GCDImpl extends Impl with HasGCDTopIO {
+ val io = IO(new GCDTopIO)
+ withClockAndReset(clock, reset) {
+ // How many clock cycles in a PWM cycle?
+ val x = Reg(UInt(params.width.W))
+ val y = Wire(new DecoupledIO(UInt(params.width.W)))
+ val gcd = Wire(new DecoupledIO(UInt(params.width.W)))
+ val status = Wire(UInt(2.W))
+
+ val impl_io = if (params.useBlackBox) {
+ val impl = Module(new GCDMMIOBlackBox(params.width))
+ impl.io
+ } else {
+ val impl = Module(new GCDMMIOChiselModule(params.width))
+ impl.io
+ }
+
+ impl_io.clock := clock
+ impl_io.reset := reset.asBool
+
+ impl_io.x := x
+ impl_io.y := y.bits
+ impl_io.input_valid := y.valid
+ y.ready := impl_io.input_ready
+
+ gcd.bits := impl_io.gcd
+ gcd.valid := impl_io.output_valid
+ impl_io.output_ready := gcd.ready
+
+ status := Cat(impl_io.input_ready, impl_io.output_valid)
+ io.gcd_busy := impl_io.busy
+
+// DOC include start: GCD instance regmap
+ node.regmap(
+ 0x00 -> Seq(
+ RegField.r(2, status)), // a read-only register capturing current status
+ 0x04 -> Seq(
+ RegField.w(params.width, x)), // a plain, write-only register
+ 0x08 -> Seq(
+ RegField.w(params.width, y)), // write-only, y.valid is set on write
+ 0x0C -> Seq(
+ RegField.r(params.width, gcd))) // read-only, gcd.ready is set on read
+// DOC include end: GCD instance regmap
+ }
+ }
+}
+
+class GCDAXI4(params: GCDParams, beatBytes: Int)(implicit p: Parameters) extends ClockSinkDomain(ClockSinkParameters())(p) {
+ val node = AXI4RegisterNode(AddressSet(params.address, 4096-1), beatBytes=beatBytes)
+ override lazy val module = new GCDImpl
+ class GCDImpl extends Impl with HasGCDTopIO {
+ val io = IO(new GCDTopIO)
+ withClockAndReset(clock, reset) {
+ // How many clock cycles in a PWM cycle?
+ val x = Reg(UInt(params.width.W))
+ val y = Wire(new DecoupledIO(UInt(params.width.W)))
+ val gcd = Wire(new DecoupledIO(UInt(params.width.W)))
+ val status = Wire(UInt(2.W))
+
+ val impl_io = if (params.useBlackBox) {
+ val impl = Module(new GCDMMIOBlackBox(params.width))
+ impl.io
+ } else {
+ val impl = Module(new GCDMMIOChiselModule(params.width))
+ impl.io
+ }
+
+ impl_io.clock := clock
+ impl_io.reset := reset.asBool
+
+ impl_io.x := x
+ impl_io.y := y.bits
+ impl_io.input_valid := y.valid
+ y.ready := impl_io.input_ready
+
+ gcd.bits := impl_io.gcd
+ gcd.valid := impl_io.output_valid
+ impl_io.output_ready := gcd.ready
+
+ status := Cat(impl_io.input_ready, impl_io.output_valid)
+ io.gcd_busy := impl_io.busy
+
+ node.regmap(
+ 0x00 -> Seq(
+ RegField.r(2, status)), // a read-only register capturing current status
+ 0x04 -> Seq(
+ RegField.w(params.width, x)), // a plain, write-only register
+ 0x08 -> Seq(
+ RegField.w(params.width, y)), // write-only, y.valid is set on write
+ 0x0C -> Seq(
+ RegField.r(params.width, gcd))) // read-only, gcd.ready is set on read
+ }
+ }
+}
// DOC include end: GCD router
// DOC include start: GCD lazy trait
@@ -161,10 +195,11 @@ trait CanHavePeripheryGCD { this: BaseSubsystem =>
private val portName = "gcd"
// Only build if we are using the TL (nonAXI4) version
- val gcd = p(GCDKey) match {
+ val gcd_busy = p(GCDKey) match {
case Some(params) => {
- if (params.useAXI4) {
+ val gcd = if (params.useAXI4) {
val gcd = LazyModule(new GCDAXI4(params, pbus.beatBytes)(p))
+ gcd.clockNode := pbus.fixedClockNode
pbus.coupleTo(portName) {
gcd.node :=
AXI4Buffer () :=
@@ -172,34 +207,25 @@ trait CanHavePeripheryGCD { this: BaseSubsystem =>
// toVariableWidthSlave doesn't use holdFirstDeny, which TLToAXI4() needsx
TLFragmenter(pbus.beatBytes, pbus.blockBytes, holdFirstDeny = true) := _
}
- Some(gcd)
+ gcd
} else {
val gcd = LazyModule(new GCDTL(params, pbus.beatBytes)(p))
+ gcd.clockNode := pbus.fixedClockNode
pbus.coupleTo(portName) { gcd.node := TLFragmenter(pbus.beatBytes, pbus.blockBytes) := _ }
- Some(gcd)
+ gcd
}
+ val gcd_busy = InModuleBody {
+ val busy = IO(Output(Bool())).suggestName("gcd_busy")
+ busy := gcd.module.io.gcd_busy
+ busy
+ }
+ Some(gcd_busy)
}
case None => None
}
}
// DOC include end: GCD lazy trait
-// DOC include start: GCD imp trait
-trait CanHavePeripheryGCDModuleImp extends LazyModuleImp {
- val outer: CanHavePeripheryGCD
- val gcd_busy = outer.gcd match {
- case Some(gcd) => {
- val busy = IO(Output(Bool()))
- busy := gcd.module.io.gcd_busy
- Some(busy)
- }
- case None => None
- }
-}
-
-// DOC include end: GCD imp trait
-
-
// DOC include start: GCD config fragment
class WithGCD(useAXI4: Boolean = false, useBlackBox: Boolean = false) extends Config((site, here, up) => {
case GCDKey => Some(GCDParams(useAXI4 = useAXI4, useBlackBox = useBlackBox))
diff --git a/generators/chipyard/src/main/scala/example/TutorialTile.scala b/generators/chipyard/src/main/scala/example/TutorialTile.scala
index 38c8577a..76b17273 100644
--- a/generators/chipyard/src/main/scala/example/TutorialTile.scala
+++ b/generators/chipyard/src/main/scala/example/TutorialTile.scala
@@ -82,7 +82,7 @@ case class MyTileAttachParams(
case class MyTileParams(
name: Option[String] = Some("my_tile"),
- hartId: Int = 0,
+ tileId: Int = 0,
trace: Boolean = false,
val core: MyCoreParams = MyCoreParams()
) extends InstantiableTileParams[MyTile]
@@ -94,9 +94,11 @@ case class MyTileParams(
val dcache: Option[DCacheParams] = Some(DCacheParams())
val icache: Option[ICacheParams] = Some(ICacheParams())
val clockSinkParams: ClockSinkParameters = ClockSinkParameters()
- def instantiate(crossing: TileCrossingParamsLike, lookup: LookupByHartIdImpl)(implicit p: Parameters): MyTile = {
+ def instantiate(crossing: HierarchicalElementCrossingParamsLike, lookup: LookupByHartIdImpl)(implicit p: Parameters): MyTile = {
new MyTile(this, crossing, lookup)
}
+ val baseName = name.getOrElse("my_tile")
+ val uniqueName = s"${baseName}_$tileId"
}
// DOC include start: Tile class
@@ -111,11 +113,11 @@ class MyTile(
{
// Private constructor ensures altered LazyModule.p is used implicitly
- def this(params: MyTileParams, crossing: TileCrossingParamsLike, lookup: LookupByHartIdImpl)(implicit p: Parameters) =
+ def this(params: MyTileParams, crossing: HierarchicalElementCrossingParamsLike, lookup: LookupByHartIdImpl)(implicit p: Parameters) =
this(params, crossing.crossingType, lookup, p)
// Require TileLink nodes
- val intOutwardNode = IntIdentityNode()
+ val intOutwardNode = None
val masterNode = visibilityNode
val slaveNode = TLIdentityNode()
@@ -135,7 +137,7 @@ class MyTile(
}
ResourceBinding {
- Resource(cpuDevice, "reg").bind(ResourceAddress(hartId))
+ Resource(cpuDevice, "reg").bind(ResourceAddress(tileId))
}
// TODO: Create TileLink nodes and connections here.
@@ -228,15 +230,15 @@ class MyTileModuleImp(outer: MyTile) extends BaseTileModuleImp(outer){
}
// DOC include start: Config fragment
-class WithNMyCores(n: Int = 1, overrideIdOffset: Option[Int] = None) extends Config((site, here, up) => {
+class WithNMyCores(n: Int = 1) extends Config((site, here, up) => {
case TilesLocated(InSubsystem) => {
// Calculate the next available hart ID (since hart ID cannot be duplicated)
val prev = up(TilesLocated(InSubsystem), site)
- val idOffset = overrideIdOffset.getOrElse(prev.size)
+ val idOffset = up(NumTiles)
// Create TileAttachParams for every core to be instantiated
(0 until n).map { i =>
MyTileAttachParams(
- tileParams = MyTileParams(hartId = i + idOffset),
+ tileParams = MyTileParams(tileId = i + idOffset),
crossingParams = RocketCrossingParams()
)
} ++ prev
@@ -245,5 +247,6 @@ class WithNMyCores(n: Int = 1, overrideIdOffset: Option[Int] = None) extends Con
case SystemBusKey => up(SystemBusKey, site).copy(beatBytes = 8)
// The # of instruction bits. Use maximum # of bits if your core supports both 32 and 64 bits.
case XLen => 64
+ case NumTiles => up(NumTiles) + n
})
// DOC include end: Config fragment
diff --git a/generators/chipyard/src/main/scala/example/dsptools/GenericFIR.scala b/generators/chipyard/src/main/scala/example/dsptools/GenericFIR.scala
index 01d72d24..df2ec35a 100644
--- a/generators/chipyard/src/main/scala/example/dsptools/GenericFIR.scala
+++ b/generators/chipyard/src/main/scala/example/dsptools/GenericFIR.scala
@@ -199,12 +199,13 @@ class TLGenericFIRChain[T<:Data:Ring] (genIn: T, genOut: T, coeffs: => Seq[T], p
trait CanHavePeripheryStreamingFIR extends BaseSubsystem {
val streamingFIR = p(GenericFIRKey) match {
case Some(params) => {
- val streamingFIR = LazyModule(new TLGenericFIRChain(
+ val domain = pbus.generateSynchronousDomain.suggestName("fir_domain")
+ val streamingFIR = domain { LazyModule(new TLGenericFIRChain(
genIn = FixedPoint(8.W, 3.BP),
genOut = FixedPoint(8.W, 3.BP),
coeffs = Seq(1.U.asFixedPoint(0.BP), 2.U.asFixedPoint(0.BP), 3.U.asFixedPoint(0.BP)),
- params = params))
- pbus.coupleTo("streamingFIR") { streamingFIR.mem.get := TLFIFOFixer() := TLFragmenter(pbus.beatBytes, pbus.blockBytes) := _ }
+ params = params)) }
+ pbus.coupleTo("streamingFIR") { domain { streamingFIR.mem.get := TLFIFOFixer() := TLFragmenter(pbus.beatBytes, pbus.blockBytes) } := _ }
Some(streamingFIR)
}
case None => None
diff --git a/generators/chipyard/src/main/scala/example/dsptools/StreamingPassthrough.scala b/generators/chipyard/src/main/scala/example/dsptools/StreamingPassthrough.scala
index 45e05fc2..a2259ab1 100644
--- a/generators/chipyard/src/main/scala/example/dsptools/StreamingPassthrough.scala
+++ b/generators/chipyard/src/main/scala/example/dsptools/StreamingPassthrough.scala
@@ -131,8 +131,9 @@ class TLStreamingPassthroughChain[T<:Data:Ring](params: StreamingPassthroughPara
trait CanHavePeripheryStreamingPassthrough { this: BaseSubsystem =>
val passthrough = p(StreamingPassthroughKey) match {
case Some(params) => {
- val streamingPassthroughChain = LazyModule(new TLStreamingPassthroughChain(params, UInt(32.W)))
- pbus.coupleTo("streamingPassthrough") { streamingPassthroughChain.mem.get := TLFIFOFixer() := TLFragmenter(pbus.beatBytes, pbus.blockBytes) := _ }
+ val domain = pbus.generateSynchronousDomain.suggestName("streaming_passthrough_domain")
+ val streamingPassthroughChain = domain { LazyModule(new TLStreamingPassthroughChain(params, UInt(32.W))) }
+ pbus.coupleTo("streamingPassthrough") { domain { streamingPassthroughChain.mem.get := TLFIFOFixer() := TLFragmenter(pbus.beatBytes, pbus.blockBytes)} := _ }
Some(streamingPassthroughChain)
}
case None => None
diff --git a/generators/chipyard/src/main/scala/harness/HarnessBinders.scala b/generators/chipyard/src/main/scala/harness/HarnessBinders.scala
index 6710696d..909f1638 100644
--- a/generators/chipyard/src/main/scala/harness/HarnessBinders.scala
+++ b/generators/chipyard/src/main/scala/harness/HarnessBinders.scala
@@ -2,7 +2,8 @@ package chipyard.harness
import chisel3._
import chisel3.util._
-import chisel3.experimental.{Analog, BaseModule, DataMirror, Direction}
+import chisel3.reflect.DataMirror
+import chisel3.experimental.Direction
import org.chipsalliance.cde.config.{Field, Config, Parameters}
import freechips.rocketchip.diplomacy.{LazyModule, LazyModuleImpLike}
@@ -17,7 +18,7 @@ import testchipip.tsi.{SimTSI, SerialRAM, TSI, TSIIO}
import testchipip.soc.{TestchipSimDTM}
import testchipip.spi.{SimSPIFlashModel}
import testchipip.uart.{UARTAdapter, UARTToSerial}
-import testchipip.serdes.{SerialWidthAdapter}
+import testchipip.serdes._
import testchipip.iceblk.{SimBlockDevice, BlockDeviceModel}
import testchipip.cosim.{SpikeCosim}
import icenet.{NicLoopback, SimNetwork}
@@ -28,8 +29,8 @@ import chipyard.iobinders._
case object HarnessBinders extends Field[HarnessBinderFunction]({case _ => })
object ApplyHarnessBinders {
- def apply(th: HasHarnessInstantiators, ports: Seq[Port[_]])(implicit p: Parameters): Unit = {
- ports.foreach(port => p(HarnessBinders)(th, port))
+ def apply(th: HasHarnessInstantiators, ports: Seq[Port[_]], chipId: Int)(implicit p: Parameters): Unit = {
+ ports.foreach(port => p(HarnessBinders)(th, port, chipId))
}
}
@@ -41,24 +42,22 @@ class HarnessBinder[T <: HasHarnessInstantiators, S <: Port[_]](
class WithGPIOTiedOff extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: GPIOPort) => {
+ case (th: HasHarnessInstantiators, port: GPIOPort, chipId: Int) => {
port.io <> AnalogConst(0)
}
})
// DOC include start: WithUARTAdapter
class WithUARTAdapter extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: UARTPort) => {
+ case (th: HasHarnessInstantiators, port: UARTPort, chipId: Int) => {
val div = (th.getHarnessBinderClockFreqMHz.toDouble * 1000000 / port.io.c.initBaudRate.toDouble).toInt
- val uart_sim = Module(new UARTAdapter(port.uartNo, div, false)).suggestName(s"uart_sim_uartno${port.uartNo}")
- uart_sim.io.uart.txd := port.io.txd
- port.io.rxd := uart_sim.io.uart.rxd
+ UARTAdapter.connect(Seq(port.io), div, false)
}
})
// DOC include end: WithUARTAdapter
class WithSimSPIFlashModel(rdOnly: Boolean = true) extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: SPIFlashPort) => {
+ case (th: HasHarnessInstantiators, port: SPIFlashPort, chipId: Int) => {
val spi_mem = Module(new SimSPIFlashModel(port.params.fSize, port.spiId, rdOnly)).suggestName(s"spi_mem${port.spiId}")
spi_mem.io.sck := port.io.sck
require(port.params.csWidth == 1, "I don't know what to do with your extra CS bits. Fix me please.")
@@ -69,7 +68,7 @@ class WithSimSPIFlashModel(rdOnly: Boolean = true) extends HarnessBinder({
})
class WithSimBlockDevice extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: BlockDevicePort) => {
+ case (th: HasHarnessInstantiators, port: BlockDevicePort, chipId: Int) => {
val sim_blkdev = Module(new SimBlockDevice(port.params))
sim_blkdev.io.bdev <> port.io.bits
sim_blkdev.io.clock := port.io.clock
@@ -78,7 +77,7 @@ class WithSimBlockDevice extends HarnessBinder({
})
class WithBlockDeviceModel extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: BlockDevicePort) => {
+ case (th: HasHarnessInstantiators, port: BlockDevicePort, chipId: Int) => {
val blkdev_model = Module(new BlockDeviceModel(16, port.params))
blkdev_model.io <> port.io.bits
blkdev_model.clock := port.io.clock
@@ -87,33 +86,33 @@ class WithBlockDeviceModel extends HarnessBinder({
})
class WithLoopbackNIC extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: NICPort) => {
+ case (th: HasHarnessInstantiators, port: NICPort, chipId: Int) => {
withClock(port.io.clock) { NicLoopback.connect(port.io.bits, port.params) }
}
})
class WithSimNetwork extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: NICPort) => {
+ case (th: HasHarnessInstantiators, port: NICPort, chipId: Int) => {
withClock(port.io.clock) { SimNetwork.connect(Some(port.io.bits), port.io.clock, th.harnessBinderReset.asBool) }
}
})
class WithSimAXIMem extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: AXI4MemPort) => {
+ case (th: HasHarnessInstantiators, port: AXI4MemPort, chipId: Int) => {
val mem = LazyModule(new SimAXIMem(port.edge, size=port.params.master.size)(Parameters.empty))
withClock(port.io.clock) { Module(mem.module) }
- mem.io_axi4.head <> port.io
+ mem.io_axi4.head <> port.io.bits
}
})
class WithBlackBoxSimMem(additionalLatency: Int = 0) extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: AXI4MemPort) => {
+ case (th: HasHarnessInstantiators, port: AXI4MemPort, chipId: Int) => {
// TODO FIX: This currently makes each SimDRAM contain the entire memory space
val memSize = port.params.master.size
val memBase = port.params.master.base
val lineSize = 64 // cache block size
val clockFreq = port.clockFreqMHz
- val mem = Module(new SimDRAM(memSize, lineSize, clockFreq, memBase, port.edge.bundle)).suggestName("simdram")
+ val mem = Module(new SimDRAM(memSize, lineSize, clockFreq, memBase, port.edge.bundle, chipId)).suggestName("simdram")
mem.io.clock := port.io.clock
mem.io.reset := th.harnessBinderReset.asAsyncReset
@@ -140,7 +139,7 @@ class WithBlackBoxSimMem(additionalLatency: Int = 0) extends HarnessBinder({
})
class WithSimAXIMMIO extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: AXI4MMIOPort) => {
+ case (th: HasHarnessInstantiators, port: AXI4MMIOPort, chipId: Int) => {
val mmio_mem = LazyModule(new SimAXIMem(port.edge, size = port.params.size)(Parameters.empty))
withClock(port.io.clock) { Module(mmio_mem.module).suggestName("mmio_mem") }
mmio_mem.io_axi4.head <> port.io.bits
@@ -148,13 +147,13 @@ class WithSimAXIMMIO extends HarnessBinder({
})
class WithTieOffInterrupts extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: ExtIntPort) => {
+ case (th: HasHarnessInstantiators, port: ExtIntPort, chipId: Int) => {
port.io := 0.U
}
})
class WithTieOffL2FBusAXI extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: AXI4InPort) => {
+ case (th: HasHarnessInstantiators, port: AXI4InPort, chipId: Int) => {
port.io := DontCare
port.io.bits.aw.valid := false.B
port.io.bits.w.valid := false.B
@@ -165,7 +164,7 @@ class WithTieOffL2FBusAXI extends HarnessBinder({
})
class WithSimJTAGDebug extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: JTAGPort) => {
+ case (th: HasHarnessInstantiators, port: JTAGPort, chipId: Int) => {
val dtm_success = WireInit(false.B)
when (dtm_success) { th.success := true.B }
val jtag_wire = Wire(new JTAGIO)
@@ -180,7 +179,7 @@ class WithSimJTAGDebug extends HarnessBinder({
})
class WithSimDMI extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: DMIPort) => {
+ case (th: HasHarnessInstantiators, port: DMIPort, chipId: Int) => {
val dtm_success = WireInit(false.B)
when (dtm_success) { th.success := true.B }
val dtm = Module(new TestchipSimDTM()(Parameters.empty)).connect(th.harnessBinderClock, th.harnessBinderReset.asBool, port.io, dtm_success)
@@ -188,7 +187,7 @@ class WithSimDMI extends HarnessBinder({
})
class WithTiedOffJTAG extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: JTAGPort) => {
+ case (th: HasHarnessInstantiators, port: JTAGPort, chipId: Int) => {
port.io.TCK := true.B.asClock
port.io.TMS := true.B
port.io.TDI := true.B
@@ -196,7 +195,7 @@ class WithTiedOffJTAG extends HarnessBinder({
})
class WithTiedOffDMI extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: DMIPort) => {
+ case (th: HasHarnessInstantiators, port: DMIPort, chipId: Int) => {
port.io.dmi.req.valid := false.B
port.io.dmi.req.bits := DontCare
port.io.dmi.resp.ready := true.B
@@ -205,40 +204,64 @@ class WithTiedOffDMI extends HarnessBinder({
}
})
-class WithSerialTLTiedOff extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: SerialTLPort) => {
- if (DataMirror.directionOf(port.io.clock) == Direction.Input) {
- port.io.clock := false.B.asClock
+// If tieoffs is specified, a list of serial portIds to tie off
+// If tieoffs is unspecified, ties off all serial ports
+class WithSerialTLTiedOff(tieoffs: Option[Seq[Int]] = None) extends HarnessBinder({
+ case (th: HasHarnessInstantiators, port: SerialTLPort, chipId: Int) if (tieoffs.map(_.contains(port.portId)).getOrElse(true)) => {
+ port.io match {
+ case io: DecoupledSerialIO => io.out.ready := false.B; io.in.valid := false.B; io.in.bits := DontCare;
+ case io: SourceSyncSerialIO => {
+ io.clock_in := false.B.asClock
+ io.reset_in := false.B.asAsyncReset
+ io.in := DontCare
+ io.credit_in := DontCare
+ }
+ }
+ port.io match {
+ case io: InternalSyncSerialIO =>
+ case io: ExternalSyncSerialIO => io.clock_in := false.B.asClock
+ case _ =>
}
- port.io.bits.out.ready := false.B
- port.io.bits.in.valid := false.B
- port.io.bits.in.bits := DontCare
}
})
class WithSimTSIOverSerialTL extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: SerialTLPort) => {
- val bits = port.io.bits
- if (DataMirror.directionOf(port.io.clock) == Direction.Input) {
- port.io.clock := th.harnessBinderClock
+ case (th: HasHarnessInstantiators, port: SerialTLPort, chipId: Int) if (port.portId == 0) => {
+ port.io match {
+ case io: InternalSyncSerialIO =>
+ case io: ExternalSyncSerialIO => io.clock_in := th.harnessBinderClock
}
- val ram = LazyModule(new SerialRAM(port.serdesser, port.params)(port.serdesser.p))
- Module(ram.module)
- ram.module.io.ser <> port.io.bits
- val tsi = Module(new SimTSI)
- tsi.io.clock := th.harnessBinderClock
- tsi.io.reset := th.harnessBinderReset
- tsi.io.tsi <> ram.module.io.tsi.get
- val exit = tsi.io.exit
- val success = exit === 1.U
- val error = exit >= 2.U
- assert(!error, "*** FAILED *** (exit code = %d)\n", exit >> 1.U)
- when (success) { th.success := true.B }
+
+ port.io match {
+ case io: DecoupledSerialIO => {
+ // If the port is locally synchronous (provides a clock), drive everything with that clock
+ // Else, drive everything with the harnes clock
+ val clock = port.io match {
+ case io: InternalSyncSerialIO => io.clock_out
+ case io: ExternalSyncSerialIO => th.harnessBinderClock
+ }
+ withClock(clock) {
+ val ram = Module(LazyModule(new SerialRAM(port.serdesser, port.params)(port.serdesser.p)).module)
+ ram.io.ser.in <> io.out
+ io.in <> ram.io.ser.out
+
+ val success = SimTSI.connect(ram.io.tsi, clock, th.harnessBinderReset, chipId)
+ when (success) { th.success := true.B }
+ }
+ }
+ }
+ }
+})
+
+class WithDriveChipIdPin extends HarnessBinder({
+ case (th: HasHarnessInstantiators, port: ChipIdPort, chipId: Int) => {
+ require(chipId < math.pow(2, port.io.getWidth), "ID Pin is not wide enough")
+ port.io := chipId.U
}
})
class WithSimUARTToUARTTSI extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: UARTPort) => {
+ case (th: HasHarnessInstantiators, port: UARTPort, chipId: Int) => {
UARTAdapter.connect(Seq(port.io),
baudrate=port.io.c.initBaudRate,
clockFrequency=th.getHarnessBinderClockFreqHz.toInt,
@@ -247,7 +270,7 @@ class WithSimUARTToUARTTSI extends HarnessBinder({
})
class WithSimTSIToUARTTSI extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: UARTTSIPort) => {
+ case (th: HasHarnessInstantiators, port: UARTTSIPort, chipId: Int) => {
val freq = th.getHarnessBinderClockFreqHz.toInt
val uart_to_serial = Module(new UARTToSerial(freq, port.io.uart.c))
val serial_width_adapter = Module(new SerialWidthAdapter(8, TSI.WIDTH))
@@ -261,27 +284,27 @@ class WithSimTSIToUARTTSI extends HarnessBinder({
})
class WithTraceGenSuccess extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: SuccessPort) => {
+ case (th: HasHarnessInstantiators, port: SuccessPort, chipId: Int) => {
when (port.io) { th.success := true.B }
}
})
class WithCospike extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: TracePort) => {
+ case (th: HasHarnessInstantiators, port: TracePort, chipId: Int) => {
port.io.traces.zipWithIndex.map(t => SpikeCosim(t._1, t._2, port.cosimCfg))
}
})
class WithCustomBootPinPlusArg extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: CustomBootPort) => {
+ case (th: HasHarnessInstantiators, port: CustomBootPort, chipId: Int) => {
val pin = PlusArg("custom_boot_pin", width=1)
port.io := pin
}
})
class WithClockFromHarness extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: ClockPort) => {
+ case (th: HasHarnessInstantiators, port: ClockPort, chipId: Int) => {
// DOC include start: HarnessClockInstantiatorEx
port.io := th.harnessClockInstantiator.requestClockMHz(s"clock_${port.freqMHz}MHz", port.freqMHz)
// DOC include end: HarnessClockInstantiatorEx
@@ -289,7 +312,7 @@ class WithClockFromHarness extends HarnessBinder({
})
class WithResetFromHarness extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: ResetPort) => {
+ case (th: HasHarnessInstantiators, port: ResetPort, chipId: Int) => {
port.io := th.referenceReset.asAsyncReset
}
})
diff --git a/generators/chipyard/src/main/scala/harness/HasHarnessInstantiators.scala b/generators/chipyard/src/main/scala/harness/HasHarnessInstantiators.scala
index 35331715..b8674623 100644
--- a/generators/chipyard/src/main/scala/harness/HasHarnessInstantiators.scala
+++ b/generators/chipyard/src/main/scala/harness/HasHarnessInstantiators.scala
@@ -89,7 +89,7 @@ trait HasHarnessInstantiators {
withClockAndReset (harnessBinderClock, harnessBinderReset) {
lazyDuts.zipWithIndex.foreach {
case (d: HasChipyardPorts, i: Int) => {
- ApplyHarnessBinders(this, d.ports)(chipParameters(i))
+ ApplyHarnessBinders(this, d.ports, i)(chipParameters(i))
}
case _ =>
}
diff --git a/generators/chipyard/src/main/scala/harness/MultiHarnessBinders.scala b/generators/chipyard/src/main/scala/harness/MultiHarnessBinders.scala
index d3371dfd..5da69fc7 100644
--- a/generators/chipyard/src/main/scala/harness/MultiHarnessBinders.scala
+++ b/generators/chipyard/src/main/scala/harness/MultiHarnessBinders.scala
@@ -2,7 +2,6 @@ package chipyard.harness
import chisel3._
import chisel3.util._
-import chisel3.experimental.{DataMirror, Direction}
import org.chipsalliance.cde.config.{Field, Config, Parameters}
import freechips.rocketchip.diplomacy.{LazyModule, LazyModuleImpLike}
@@ -10,7 +9,7 @@ import freechips.rocketchip.devices.debug._
import freechips.rocketchip.subsystem._
import freechips.rocketchip.util._
-import testchipip._
+import testchipip.serdes._
import chipyard._
import chipyard.iobinders.{GetSystemParameters, JTAGChipIO, HasChipyardPorts, Port, SerialTLPort}
@@ -38,10 +37,10 @@ class MultiHarnessBinder[T <: Port[_], S <: HasHarnessInstantiators](
)(implicit tag0: ClassTag[T], tag1: ClassTag[S]) extends Config((site, here, up) => {
// Override any HarnessBinders for chip0/chip1
case MultiChipParameters(`chip0`) => new Config(
- new HarnessBinder({case (th: S, port: T) if chip0portFn(port) => }) ++ up(MultiChipParameters(chip0))
+ new HarnessBinder({case (th: S, port: T, chipId: Int) if chip0portFn(port) => }) ++ up(MultiChipParameters(chip0))
)
case MultiChipParameters(`chip1`) => new Config(
- new HarnessBinder({case (th: S, port: T) if chip1portFn(port) => }) ++ up(MultiChipParameters(chip1))
+ new HarnessBinder({case (th: S, port: T, chipId: Int) if chip1portFn(port) => }) ++ up(MultiChipParameters(chip1))
)
// Set the multiharnessbinder key
case MultiHarnessBinders(`chip0`, `chip1`) => up(MultiHarnessBinders(chip0, chip1)) :+ {
@@ -60,11 +59,25 @@ class WithMultiChipSerialTL(chip0: Int, chip1: Int, chip0portId: Int = 0, chip1p
(p0: SerialTLPort) => p0.portId == chip0portId,
(p1: SerialTLPort) => p1.portId == chip1portId,
(th: HasHarnessInstantiators, p0: SerialTLPort, p1: SerialTLPort) => {
- (DataMirror.directionOf(p0.io.clock), DataMirror.directionOf(p1.io.clock)) match {
- case (Direction.Input, Direction.Output) => p0.io.clock := p1.io.clock
- case (Direction.Output, Direction.Input) => p1.io.clock := p0.io.clock
+ def connectDecoupledSyncSerialIO(clkSource: InternalSyncSerialIO, clkSink: ExternalSyncSerialIO) = {
+ clkSink.clock_in := clkSource.clock_out
+ clkSink.in <> clkSource.out
+ clkSource.in <> clkSink.out
+ }
+ def connectSourceSyncSerialIO(a: SourceSyncSerialIO, b: SourceSyncSerialIO) = {
+ a.clock_in := b.clock_out
+ b.clock_in := a.clock_out
+ a.reset_in := b.reset_out
+ b.reset_in := a.reset_out
+ a.in := b.out
+ b.in := a.out
+ a.credit_in := b.credit_out
+ b.credit_in := a.credit_out
+ }
+ (p0.io, p1.io) match {
+ case (io0: InternalSyncSerialIO, io1: ExternalSyncSerialIO) => connectDecoupledSyncSerialIO(io0, io1)
+ case (io0: ExternalSyncSerialIO, io1: InternalSyncSerialIO) => connectDecoupledSyncSerialIO(io1, io0)
+ case (io0: SourceSyncSerialIO , io1: SourceSyncSerialIO ) => connectSourceSyncSerialIO (io0, io1)
}
- p0.io.bits.in <> p1.io.bits.out
- p1.io.bits.in <> p0.io.bits.out
}
)
diff --git a/generators/chipyard/src/main/scala/harness/package.scala b/generators/chipyard/src/main/scala/harness/package.scala
index d0366c55..d49c1119 100644
--- a/generators/chipyard/src/main/scala/harness/package.scala
+++ b/generators/chipyard/src/main/scala/harness/package.scala
@@ -6,6 +6,6 @@ import scala.collection.immutable.ListMap
package object harness
{
import chipyard.iobinders.Port
- type HarnessBinderFunction = PartialFunction[(HasHarnessInstantiators, Port[_]), Unit]
+ type HarnessBinderFunction = PartialFunction[(HasHarnessInstantiators, Port[_], Int), Unit]
type MultiHarnessBinderFunction = (HasHarnessInstantiators, Seq[Port[_]], Seq[Port[_]]) => Unit
}
diff --git a/generators/chipyard/src/main/scala/iobinders/IOBinders.scala b/generators/chipyard/src/main/scala/iobinders/IOBinders.scala
index 7695be70..64b1296e 100644
--- a/generators/chipyard/src/main/scala/iobinders/IOBinders.scala
+++ b/generators/chipyard/src/main/scala/iobinders/IOBinders.scala
@@ -1,7 +1,8 @@
package chipyard.iobinders
import chisel3._
-import chisel3.experimental.{Analog, IO, DataMirror}
+import chisel3.reflect.DataMirror
+import chisel3.experimental.Analog
import org.chipsalliance.cde.config._
import freechips.rocketchip.diplomacy._
@@ -26,9 +27,10 @@ import barstools.iocell.chisel._
import testchipip.serdes.{CanHavePeripheryTLSerial, SerialTLKey}
import testchipip.spi.{SPIChipIO}
import testchipip.boot.{CanHavePeripheryCustomBootPin}
+import testchipip.soc.{CanHavePeripheryChipIdPin}
import testchipip.util.{ClockedIO}
import testchipip.iceblk.{CanHavePeripheryBlockDevice, BlockDeviceKey, BlockDeviceIO}
-import testchipip.cosim.{CanHaveTraceIOModuleImp, TraceOutputTop, SpikeCosimConfig}
+import testchipip.cosim.{CanHaveTraceIO, TraceOutputTop, SpikeCosimConfig}
import testchipip.tsi.{CanHavePeripheryUARTTSI, UARTTSIIO}
import icenet.{CanHavePeripheryIceNIC, SimNetwork, NicLoopback, NICKey, NICIOvonly}
import chipyard.{CanHaveMasterTLMemPort, ChipyardSystem, ChipyardSystemModule}
@@ -284,7 +286,9 @@ class JTAGChipIO extends Bundle {
val TDO = Output(Bool())
}
-class WithDebugIOCells extends OverrideLazyIOBinder({
+// WARNING: Don't disable syncReset unless you are trying to
+// get around bugs in RTL simulators
+class WithDebugIOCells(syncReset: Boolean = true) extends OverrideLazyIOBinder({
(system: HasPeripheryDebug) => {
implicit val p = GetSystemParameters(system)
val tlbus = system.asInstanceOf[BaseSubsystem].locateTLBusWrapper(p(ExportDebug).slaveWhere)
@@ -308,7 +312,7 @@ class WithDebugIOCells extends OverrideLazyIOBinder({
d.disableDebug.foreach { d => d := false.B }
// Drive JTAG on-chip IOs
d.systemjtag.map { j =>
- j.reset := ResetCatchAndSync(j.jtag.TCK, clockBundle.reset.asBool)
+ j.reset := (if (syncReset) ResetCatchAndSync(j.jtag.TCK, clockBundle.reset.asBool) else clockBundle.reset.asBool)
j.mfr_id := p(JtagDTMKey).idcodeManufId.U(11.W)
j.part_number := p(JtagDTMKey).idcodePartNum.U(16.W)
j.version := p(JtagDTMKey).idcodeVersion.U(4.W)
@@ -352,6 +356,14 @@ class WithSerialTLIOCells extends OverrideIOBinder({
}
})
+class WithChipIdIOCells extends OverrideIOBinder({
+ (system: CanHavePeripheryChipIdPin) => system.chip_id_pin.map({ p =>
+ val sys = system.asInstanceOf[BaseSubsystem]
+ val (port, cells) = IOCell.generateIOFromSignal(p.getWrappedValue, s"chip_id", sys.p(IOCellKey), abstractResetAsAsync = true)
+ (Seq(ChipIdPort(() => port)), cells)
+ }).getOrElse(Nil, Nil)
+})
+
class WithSerialTLPunchthrough extends OverrideIOBinder({
(system: CanHavePeripheryTLSerial) => {
val (ports, cells) = system.serial_tls.zipWithIndex.map({ case (s, id) =>
@@ -454,14 +466,14 @@ class WithTraceGenSuccessPunchthrough extends OverrideIOBinder({
}
})
-class WithTraceIOPunchthrough extends OverrideIOBinder({
- (system: CanHaveTraceIOModuleImp) => {
+class WithTraceIOPunchthrough extends OverrideLazyIOBinder({
+ (system: CanHaveTraceIO) => InModuleBody {
val ports: Option[TracePort] = system.traceIO.map { t =>
val trace = IO(DataMirror.internal.chiselTypeClone[TraceOutputTop](t)).suggestName("trace")
trace <> t
val p = GetSystemParameters(system)
- val chipyardSystem = system.asInstanceOf[ChipyardSystemModule[_]].outer.asInstanceOf[ChipyardSystem]
- val tiles = chipyardSystem.tiles
+ val chipyardSystem = system.asInstanceOf[ChipyardSystem]
+ val tiles = chipyardSystem.totalTiles.values
val cfg = SpikeCosimConfig(
isa = tiles.headOption.map(_.isaDTS).getOrElse(""),
vlen = tiles.headOption.map(_.tileParams.core.vLen).getOrElse(0),
@@ -510,8 +522,8 @@ class WithDontTouchPorts extends OverrideIOBinder({
})
class WithNMITiedOff extends ComposeIOBinder({
- (system: HasTilesModuleImp) => {
- system.nmi.flatten.foreach { nmi =>
+ (system: HasHierarchicalElementsRootContextModuleImp) => {
+ system.nmi.foreach { nmi =>
nmi.rnmi := false.B
nmi.rnmi_interrupt_vector := 0.U
nmi.rnmi_exception_vector := 0.U
diff --git a/generators/chipyard/src/main/scala/iobinders/Ports.scala b/generators/chipyard/src/main/scala/iobinders/Ports.scala
index ba14cc39..6b327a18 100644
--- a/generators/chipyard/src/main/scala/iobinders/Ports.scala
+++ b/generators/chipyard/src/main/scala/iobinders/Ports.scala
@@ -72,8 +72,12 @@ case class DMIPort (val getIO: () => ClockedDMIIO)
case class JTAGPort (val getIO: () => JTAGChipIO)
extends Port[JTAGChipIO]
-case class SerialTLPort (val getIO: () => ClockedIO[SerialIO], val params: SerialTLParams, val serdesser: TLSerdesser, val portId: Int)
- extends Port[ClockedIO[SerialIO]]
+// Lack of nice union types in scala-2 means we have to set this type as Data
+case class SerialTLPort (val getIO: () => Data, val params: SerialTLParams, val serdesser: TLSerdesser, val portId: Int)
+ extends Port[Data]
+
+case class ChipIdPort (val getIO: () => UInt)
+ extends Port[UInt]
case class UARTTSIPort (val getIO: () => UARTTSIIO)
extends Port[UARTTSIIO]
@@ -90,6 +94,9 @@ case class CustomBootPort (val getIO: () => Bool)
case class ClockPort (val getIO: () => Clock, val freqMHz: Double)
extends Port[Clock]
+case class ClockTapPort (val getIO: () => Clock)
+ extends Port[Clock]
+
case class ResetPort (val getIO: () => AsyncReset)
extends Port[Reset]
diff --git a/generators/constellation b/generators/constellation
index 3632183f..81f005ff 160000
--- a/generators/constellation
+++ b/generators/constellation
@@ -1 +1 @@
-Subproject commit 3632183fd1171d00c7f78b32c305841d231031b7
+Subproject commit 81f005ffeac998ebf0619e0bd7f0d212d68a82c5
diff --git a/generators/cva6 b/generators/cva6
index 46323fcd..9d1c1068 160000
--- a/generators/cva6
+++ b/generators/cva6
@@ -1 +1 @@
-Subproject commit 46323fcd7407544c751b353f52e356eb8f33e9d1
+Subproject commit 9d1c106834824ddb8052b7f60574b2b544b40395
diff --git a/generators/fft-generator b/generators/fft-generator
index 811951b4..4e7e6cbb 160000
--- a/generators/fft-generator
+++ b/generators/fft-generator
@@ -1 +1 @@
-Subproject commit 811951b44a113f87710a6abaae4582120c1194ba
+Subproject commit 4e7e6cbbbc6ed96d27dbaeb2413764cd446c50b3
diff --git a/generators/firechip/src/main/scala/BridgeBinders.scala b/generators/firechip/src/main/scala/BridgeBinders.scala
index 954c104c..bd662a27 100644
--- a/generators/firechip/src/main/scala/BridgeBinders.scala
+++ b/generators/firechip/src/main/scala/BridgeBinders.scala
@@ -15,6 +15,7 @@ import freechips.rocketchip.prci.{ClockBundle, ClockBundleParameters}
import freechips.rocketchip.util.{ResetCatchAndSync}
import sifive.blocks.devices.uart._
+import testchipip.serdes.{ExternalSyncSerialIO}
import testchipip.tsi.{SerialRAM}
import icenet.{CanHavePeripheryIceNIC, SimNetwork, NicLoopback, NICKey, NICIOvonly}
@@ -66,43 +67,46 @@ class WithFireSimIOCellModels extends Config((site, here, up) => {
})
class WithTSIBridgeAndHarnessRAMOverSerialTL extends HarnessBinder({
- case (th: FireSim, port: SerialTLPort) => {
- val bits = port.io.bits
- port.io.clock := th.harnessBinderClock
- val ram = LazyModule(new SerialRAM(port.serdesser, port.params)(port.serdesser.p))
- Module(ram.module)
- ram.module.io.ser <> port.io.bits
+ case (th: FireSim, port: SerialTLPort, chipId: Int) => {
+ port.io match {
+ case io: ExternalSyncSerialIO => {
+ io.clock_in := th.harnessBinderClock
+ val ram = Module(LazyModule(new SerialRAM(port.serdesser, port.params)(port.serdesser.p)).module)
+ ram.io.ser.in <> io.out
+ io.in <> ram.io.ser.out
- // This assumes that:
- // If ExtMem for the target is defined, then FASED bridge will be attached
- // If FASED bridge is attached, loadmem widget is present
- val hasMainMemory = th.chipParameters(th.p(MultiChipIdx))(ExtMem).isDefined
- val mainMemoryName = Option.when(hasMainMemory)(MainMemoryConsts.globalName(th.p(MultiChipIdx)))
- TSIBridge(th.harnessBinderClock, ram.module.io.tsi.get, mainMemoryName, th.harnessBinderReset.asBool)(th.p)
+ // This assumes that:
+ // If ExtMem for the target is defined, then FASED bridge will be attached
+ // If FASED bridge is attached, loadmem widget is present
+ val hasMainMemory = th.chipParameters(chipId)(ExtMem).isDefined
+ val mainMemoryName = Option.when(hasMainMemory)(MainMemoryConsts.globalName(chipId))
+ TSIBridge(th.harnessBinderClock, ram.io.tsi.get, mainMemoryName, th.harnessBinderReset.asBool)(th.p)
+ }
+ }
}
})
class WithNICBridge extends HarnessBinder({
- case (th: FireSim, port: NICPort) => {
+ case (th: FireSim, port: NICPort, chipId: Int) => {
NICBridge(port.io.clock, port.io.bits)(th.p)
}
})
class WithUARTBridge extends HarnessBinder({
- case (th: FireSim, port: UARTPort) =>
+ case (th: FireSim, port: UARTPort, chipId: Int) =>
val uartSyncClock = th.harnessClockInstantiator.requestClockMHz("uart_clock", port.freqMHz)
UARTBridge(uartSyncClock, port.io, th.harnessBinderReset.asBool, port.freqMHz)(th.p)
})
class WithBlockDeviceBridge extends HarnessBinder({
- case (th: FireSim, port: BlockDevicePort) => {
+ case (th: FireSim, port: BlockDevicePort, chipId: Int) => {
BlockDevBridge(port.io.clock, port.io.bits, th.harnessBinderReset.asBool)
}
})
class WithFASEDBridge extends HarnessBinder({
- case (th: FireSim, port: AXI4MemPort) => {
+ case (th: FireSim, port: AXI4MemPort, chipId: Int) => {
val nastiKey = NastiParameters(port.io.bits.r.bits.data.getWidth,
port.io.bits.ar.bits.addr.getWidth,
port.io.bits.ar.bits.id.getWidth)
@@ -110,24 +114,24 @@ class WithFASEDBridge extends HarnessBinder({
CompleteConfig(th.p(firesim.configs.MemModelKey),
nastiKey,
Some(AXI4EdgeSummary(port.edge)),
- Some(MainMemoryConsts.globalName(th.p(MultiChipIdx)))))(th.p)
+ Some(MainMemoryConsts.globalName(chipId))))(th.p)
}
})
class WithTracerVBridge extends HarnessBinder({
- case (th: FireSim, port: TracePort) => {
+ case (th: FireSim, port: TracePort, chipId: Int) => {
port.io.traces.map(tileTrace => TracerVBridge(tileTrace)(th.p))
}
})
class WithCospikeBridge extends HarnessBinder({
- case (th: FireSim, port: TracePort) => {
+ case (th: FireSim, port: TracePort, chipId: Int) => {
port.io.traces.zipWithIndex.map(t => CospikeBridge(t._1, t._2, port.cosimCfg))
}
})
class WithSuccessBridge extends HarnessBinder({
- case (th: FireSim, port: SuccessPort) => {
+ case (th: FireSim, port: SuccessPort, chipId: Int) => {
GroundTestBridge(th.harnessBinderClock, port.io)(th.p)
}
})
diff --git a/generators/firechip/src/main/scala/FireSim.scala b/generators/firechip/src/main/scala/FireSim.scala
index 4cca7557..599788bc 100644
--- a/generators/firechip/src/main/scala/FireSim.scala
+++ b/generators/firechip/src/main/scala/FireSim.scala
@@ -8,7 +8,7 @@ import chisel3._
import chisel3.experimental.{IO, annotate}
import freechips.rocketchip.prci._
-import freechips.rocketchip.subsystem.{BaseSubsystem, SubsystemDriveAsyncClockGroupsKey, HasTiles}
+import freechips.rocketchip.subsystem._
import org.chipsalliance.cde.config.{Field, Config, Parameters}
import freechips.rocketchip.diplomacy.{LazyModule, LazyModuleImp, InModuleBody, ValName}
import freechips.rocketchip.util.{ResetCatchAndSync, RecordMap}
@@ -103,8 +103,8 @@ class FireSim(implicit val p: Parameters) extends RawModule with HasHarnessInsta
// FireSim ModelMultithreading
chiptops.foreach {
case c: ChipTop => c.lazySystem match {
- case ls: HasTiles => {
- if (p(FireSimMultiCycleRegFile)) ls.tiles.map {
+ case ls: InstantiatesHierarchicalElements => {
+ if (p(FireSimMultiCycleRegFile)) ls.totalTiles.values.map {
case r: RocketTile => {
annotate(MemModelAnnotation(r.module.core.rocketImpl.rf.rf))
r.module.fpuOpt.foreach(fpu => annotate(MemModelAnnotation(fpu.fpuImpl.regfile)))
@@ -120,7 +120,7 @@ class FireSim(implicit val p: Parameters) extends RawModule with HasHarnessInsta
}
case _ =>
}
- if (p(FireSimFAME5)) ls.tiles.map {
+ if (p(FireSimFAME5)) ls.totalTiles.values.map {
case b: BoomTile =>
annotate(EnableModelMultiThreadingAnnotation(b.module))
case r: RocketTile =>
diff --git a/generators/firechip/src/main/scala/TargetConfigs.scala b/generators/firechip/src/main/scala/TargetConfigs.scala
index 9f5f7ef6..6b41733d 100644
--- a/generators/firechip/src/main/scala/TargetConfigs.scala
+++ b/generators/firechip/src/main/scala/TargetConfigs.scala
@@ -85,6 +85,7 @@ class WithMinimalFireSimDesignTweaks extends Config(
new chipyard.harness.WithHarnessBinderClockFreqMHz(1000.0) ++
new chipyard.harness.WithClockFromHarness ++
new chipyard.harness.WithResetFromHarness ++
+ new chipyard.config.WithNoClockTap ++
new chipyard.clocking.WithPassthroughClockGenerator ++
// Required*: When using FireSim-as-top to provide a correct path to the target bootrom source
new WithBootROM ++
@@ -99,6 +100,8 @@ class WithMinimalFireSimDesignTweaks extends Config(
// Non-frequency tweaks that are generally applied to all firesim configs
class WithFireSimDesignTweaks extends Config(
new WithMinimalFireSimDesignTweaks ++
+ // Required: Remove the debug clock tap, this breaks compilation of target-level sim in FireSim
+ new chipyard.config.WithNoClockTap ++
// Required: Bake in the default FASED memory model
new WithDefaultMemModel ++
// Optional: reduce the width of the Serial TL interface
@@ -122,6 +125,7 @@ class WithFireSimHighPerfClocking extends Config(
// This frequency selection matches FireSim's legacy selection and is required
// to support 200Gb NIC performance. You may select a smaller value.
new chipyard.config.WithPeripheryBusFrequency(3200.0) ++
+ new chipyard.config.WithControlBusFrequency(3200.0) ++
new chipyard.config.WithSystemBusFrequency(3200.0) ++
new chipyard.config.WithFrontBusFrequency(3200.0) ++
new chipyard.config.WithControlBusFrequency(3200.0) ++
@@ -142,6 +146,7 @@ class WithFireSimConfigTweaks extends Config(
new chipyard.config.WithSystemBusFrequency(1000.0) ++
new chipyard.config.WithControlBusFrequency(1000.0) ++
new chipyard.config.WithPeripheryBusFrequency(1000.0) ++
+ new chipyard.config.WithControlBusFrequency(1000.0) ++
new chipyard.config.WithMemoryBusFrequency(1000.0) ++
new chipyard.config.WithFrontBusFrequency(1000.0) ++
new WithFireSimDesignTweaks
@@ -260,7 +265,7 @@ class FireSimSmallSystemConfig extends Config(
new freechips.rocketchip.subsystem.WithExtMemSize(1 << 28) ++
new testchipip.serdes.WithSerialTL(Seq(testchipip.serdes.SerialTLParams(
client = Some(testchipip.serdes.SerialTLClientParams(idBits = 4)),
- width = 32
+ phyParams = testchipip.serdes.ExternalSyncSerialParams(width=32)
))) ++
new testchipip.iceblk.WithBlockDevice ++
new chipyard.config.WithUARTInitBaudRate(BigInt(3686400L)) ++
@@ -355,3 +360,10 @@ class FireSimLeanGemminiRocketMMIOOnlyConfig extends Config(
new WithDefaultMemModel ++
new WithFireSimConfigTweaks ++
new chipyard.LeanGemminiRocketConfig)
+
+class FireSimLargeBoomCospikeConfig extends Config(
+ new firesim.firesim.WithCospikeBridge ++
+ new WithDefaultFireSimBridges ++
+ new WithDefaultMemModel ++
+ new WithFireSimConfigTweaks++
+ new chipyard.LargeBoomConfig)
diff --git a/generators/ibex b/generators/ibex
index 66ec6e56..c2174aba 160000
--- a/generators/ibex
+++ b/generators/ibex
@@ -1 +1 @@
-Subproject commit 66ec6e56ed69df4e4af5383128cf21adf88b08fc
+Subproject commit c2174aba4fb304c7565c248f2a673f7151be896b
diff --git a/generators/icenet b/generators/icenet
index 18e88b57..ab30e23e 160000
--- a/generators/icenet
+++ b/generators/icenet
@@ -1 +1 @@
-Subproject commit 18e88b5779ffdd7d75ca62cf9909f0ffc6fda95b
+Subproject commit ab30e23e8e1fdd0777a7e4eb82bb40e2657cfcd3
diff --git a/generators/nvdla b/generators/nvdla
index 730fad43..95697452 160000
--- a/generators/nvdla
+++ b/generators/nvdla
@@ -1 +1 @@
-Subproject commit 730fad4360e67b14b1a4656ac58aaa40cfd4fe6b
+Subproject commit 95697452e51ad56230a6e631bb02b3351c4293c6
diff --git a/generators/riscv-sodor b/generators/riscv-sodor
index c1c809eb..bbfc3c35 160000
--- a/generators/riscv-sodor
+++ b/generators/riscv-sodor
@@ -1 +1 @@
-Subproject commit c1c809ebd5c9a76cd60d8c3169cea4bf4b2fa8fd
+Subproject commit bbfc3c35100329386314c49b62b49a7f42f65e87
diff --git a/generators/rocket-chip b/generators/rocket-chip
index 50adbdb3..8026b6bc 160000
--- a/generators/rocket-chip
+++ b/generators/rocket-chip
@@ -1 +1 @@
-Subproject commit 50adbdb3e4e18c2b3de57693323f4174b60f9767
+Subproject commit 8026b6bc9abe7cbfb7d07cecb28ef909c25868c8
diff --git a/generators/rocket-chip-blocks b/generators/rocket-chip-blocks
new file mode 160000
index 00000000..3dddfe9f
--- /dev/null
+++ b/generators/rocket-chip-blocks
@@ -0,0 +1 @@
+Subproject commit 3dddfe9f5bcacf28aebcadb71d5b57f4f6df7e07
diff --git a/generators/rocket-chip-inclusive-cache b/generators/rocket-chip-inclusive-cache
new file mode 160000
index 00000000..1332d226
--- /dev/null
+++ b/generators/rocket-chip-inclusive-cache
@@ -0,0 +1 @@
+Subproject commit 1332d2268ae01b2b311966d53a3ee0d930e83f07
diff --git a/generators/shuttle b/generators/shuttle
index e628836c..fd325d43 160000
--- a/generators/shuttle
+++ b/generators/shuttle
@@ -1 +1 @@
-Subproject commit e628836c3c4bfe29927cd9e1473801fab33dee6c
+Subproject commit fd325d43a162378dc1984e87297e6d710167db79
diff --git a/generators/sifive-blocks b/generators/sifive-blocks
deleted file mode 160000
index 5edd72e7..00000000
--- a/generators/sifive-blocks
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 5edd72e793ccb534b1395d0d8c1831754fd72fec
diff --git a/generators/sifive-cache b/generators/sifive-cache
deleted file mode 160000
index 51d400bd..00000000
--- a/generators/sifive-cache
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 51d400bd32131e8914c6713bfb71bef690f2fe70
diff --git a/generators/testchipip b/generators/testchipip
index c13b8f65..003c9c1e 160000
--- a/generators/testchipip
+++ b/generators/testchipip
@@ -1 +1 @@
-Subproject commit c13b8f658b955f9f61a52caefcd6388e034b0575
+Subproject commit 003c9c1e81c94c74f877d3883688c220dfe69d1b
diff --git a/generators/tracegen/src/main/scala/Configs.scala b/generators/tracegen/src/main/scala/Configs.scala
index 5d4f0211..f51052c5 100644
--- a/generators/tracegen/src/main/scala/Configs.scala
+++ b/generators/tracegen/src/main/scala/Configs.scala
@@ -13,19 +13,18 @@ import scala.math.{max, min}
class WithTraceGen(
n: Int = 2,
- overrideIdOffset: Option[Int] = None,
overrideMemOffset: Option[BigInt] = None)(
params: Seq[DCacheParams] = List.fill(n){ DCacheParams(nSets = 16, nWays = 1) },
nReqs: Int = 8192
) extends Config((site, here, up) => {
case TilesLocated(InSubsystem) => {
val prev = up(TilesLocated(InSubsystem), site)
- val idOffset = overrideIdOffset.getOrElse(prev.size)
+ val idOffset = up(NumTiles)
val memOffset: BigInt = overrideMemOffset.orElse(site(ExtMem).map(_.master.base)).getOrElse(0x0L)
params.zipWithIndex.map { case (dcp, i) =>
TraceGenTileAttachParams(
tileParams = TraceGenParams(
- hartId = i + idOffset,
+ tileId = i + idOffset,
dcache = Some(dcp),
wordBits = site(XLen),
addrBits = 48,
@@ -48,23 +47,23 @@ class WithTraceGen(
)
} ++ prev
}
+ case NumTiles => up(NumTiles) + n
})
class WithBoomTraceGen(
n: Int = 2,
- overrideIdOffset: Option[Int] = None,
overrideMemOffset: Option[BigInt] = None)(
params: Seq[DCacheParams] = List.fill(n){ DCacheParams(nMSHRs = 4, nSets = 16, nWays = 2) },
nReqs: Int = 8192
) extends Config((site, here, up) => {
case TilesLocated(InSubsystem) => {
val prev = up(TilesLocated(InSubsystem), site)
- val idOffset = overrideIdOffset.getOrElse(prev.size)
+ val idOffset = up(NumTiles)
val memOffset: BigInt = overrideMemOffset.orElse(site(ExtMem).map(_.master.base)).getOrElse(0x0L)
params.zipWithIndex.map { case (dcp, i) =>
BoomTraceGenTileAttachParams(
tileParams = BoomTraceGenParams(
- hartId = i + idOffset,
+ tileId = i + idOffset,
dcache = Some(dcp),
wordBits = site(XLen),
addrBits = 48,
@@ -84,24 +83,24 @@ class WithBoomTraceGen(
)
} ++ prev
}
+ case NumTiles => up(NumTiles) + n
})
class WithL2TraceGen(
n: Int = 2,
- overrideIdOffset: Option[Int] = None,
overrideMemOffset: Option[BigInt] = None)(
params: Seq[DCacheParams] = List.fill(n){ DCacheParams(nSets = 16, nWays = 1) },
nReqs: Int = 8192
) extends Config((site, here, up) => {
case TilesLocated(InSubsystem) => {
val prev = up(TilesLocated(InSubsystem), site)
- val idOffset = overrideIdOffset.getOrElse(prev.size)
+ val idOffset = up(NumTiles)
val memOffset: BigInt = overrideMemOffset.orElse(site(ExtMem).map(_.master.base)).getOrElse(0x0L)
params.zipWithIndex.map { case (dcp, i) =>
TraceGenTileAttachParams(
tileParams = TraceGenParams(
- hartId = i + idOffset,
+ tileId = i + idOffset,
dcache = Some(dcp),
wordBits = site(XLen),
addrBits = 48,
@@ -126,4 +125,5 @@ class WithL2TraceGen(
)
} ++ prev
}
+ case NumTiles => up(NumTiles) + n
})
diff --git a/generators/tracegen/src/main/scala/System.scala b/generators/tracegen/src/main/scala/System.scala
index 2a0ba3d5..488054d3 100644
--- a/generators/tracegen/src/main/scala/System.scala
+++ b/generators/tracegen/src/main/scala/System.scala
@@ -9,15 +9,28 @@ import freechips.rocketchip.subsystem._
import boom.lsu.BoomTraceGenTile
class TraceGenSystem(implicit p: Parameters) extends BaseSubsystem
- with HasTiles
+ with InstantiatesHierarchicalElements
+ with HasTileNotificationSinks
+ with HasTileInputConstants
+ with HasHierarchicalElementsRootContext
+ with HasHierarchicalElements
with CanHaveMasterAXI4MemPort {
def coreMonitorBundles = Nil
- val tileStatusNodes = tiles.collect {
+
+ val tileStatusNodes = totalTiles.values.toSeq.collect {
case t: GroundTestTile => t.statusNode.makeSink()
case t: BoomTraceGenTile => t.statusNode.makeSink()
}
- lazy val debugNode = IntSyncXbar() := NullIntSyncSource()
+
+ lazy val fakeClockDomain = sbus.generateSynchronousDomain
+
+ lazy val clintOpt = None
+ lazy val debugOpt = None
+ lazy val plicOpt = None
+ lazy val clintDomainOpt = Some(fakeClockDomain)
+ lazy val plicDomainOpt = Some(fakeClockDomain)
+
override lazy val module = new TraceGenSystemModuleImp(this)
}
diff --git a/scripts/build-setup.sh b/scripts/build-setup.sh
index d3a66ca6..ffcee96b 100755
--- a/scripts/build-setup.sh
+++ b/scripts/build-setup.sh
@@ -36,23 +36,29 @@ usage() {
echo ""
echo "Options"
echo " --help -h : Display this message"
-
- echo " --force -f : Skip all prompts and checks"
- echo " --skip-validate : DEPRECATED: Same functionality as --force"
echo " --verbose -v : Verbose printout"
-
echo " --use-unpinned-deps -ud : Use unpinned conda environment"
+ echo " --use-lean-conda : Install a leaner version of the repository (Smaller conda env, no FireSim, no FireMarshal)"
echo " --skip -s N : Skip step N in the list above. Use multiple times to skip multiple steps ('-s N -s M ...')."
+ echo " --skip-conda : Skip Conda initialization (step 1)"
+ echo " --skip-submodules : Skip submodule initialization (step 2)"
+ echo " --skip-toolchain : Skip toolchain collateral (step 3)"
+ echo " --skip-ctags : Skip ctags (step 4)"
+ echo " --skip-precompile : Skip precompiling sources (steps 5/7)"
+ echo " --skip-firesim : Skip Firesim initialization (steps 6/7)"
+ echo " --skip-marshal : Skip firemarshal initialization (steps 8/9)"
+ echo " --skip-circt : Skip CIRCT install (step 10)"
+ echo " --skip-clean : Skip repository clean-up (step 11)"
exit "$1"
}
TOOLCHAIN_TYPE="riscv-tools"
-FORCE_FLAG=""
VERBOSE=false
VERBOSE_FLAG=""
USE_UNPINNED_DEPS=false
+USE_LEAN_CONDA=false
SKIP_LIST=()
# getopts does not support long options, and is inflexible
@@ -63,16 +69,37 @@ do
usage 3 ;;
riscv-tools | esp-tools)
TOOLCHAIN_TYPE=$1 ;;
- --force | -f | --skip-validate)
- FORCE_FLAG=$1 ;;
--verbose | -v)
VERBOSE_FLAG=$1
set -x ;;
+ --use-lean-conda)
+ USE_LEAN_CONDA=true
+ SKIP_LIST+=(4 6 7 8 9) ;;
-ud | --use-unpinned-deps )
USE_UNPINNED_DEPS=true ;;
--skip | -s)
shift
SKIP_LIST+=(${1}) ;;
+ --skip-conda)
+ SKIP_LIST+=(1) ;;
+ --skip-submodules)
+ SKIP_LIST+=(2) ;;
+ --skip-toolchain)
+ SKIP_LIST+=(3) ;;
+ --skip-ctags)
+ SKIP_LIST+=(4) ;;
+ --skip-precompile)
+ SKIP_LIST+=(5 6) ;;
+ --skip-firesim)
+ SKIP_LIST+=(6 7) ;;
+ --skip-marshal)
+ SKIP_LIST+=(8 9) ;;
+ --skip-circt)
+ SKIP_LIST+=(10) ;;
+ --skip-clean)
+ SKIP_LIST+=(11) ;;
+ --force | -f | --skip-validate) # Deprecated flags
+ ;;
* )
error "invalid option $1"
usage 1 ;;
@@ -139,17 +166,22 @@ if run_step "1"; then
CONDA_REQS=$CYDIR/conda-reqs
CONDA_LOCK_REQS=$CONDA_REQS/conda-lock-reqs
# must match with the file generated by generate-conda-lockfile.sh
- LOCKFILE=$CONDA_LOCK_REQS/conda-requirements-$TOOLCHAIN_TYPE-linux-64.conda-lock.yml
+ if [ "$USE_LEAN_CONDA" = false ]; then
+ LOCKFILE=$CONDA_LOCK_REQS/conda-requirements-$TOOLCHAIN_TYPE-linux-64.conda-lock.yml
+ else
+ LOCKFILE=$CONDA_LOCK_REQS/conda-requirements-$TOOLCHAIN_TYPE-linux-64-lean.conda-lock.yml
+ fi
if [ "$USE_UNPINNED_DEPS" = true ]; then
# auto-gen the lockfiles
$CYDIR/scripts/generate-conda-lockfiles.sh
exit_if_last_command_failed
fi
+ echo "Using lockfile: $LOCKFILE"
# use conda-lock to create env
conda-lock install --conda $(which conda) -p $CYDIR/.conda-env $LOCKFILE &&
- source $CYDIR/.conda-env/etc/profile.d/conda.sh &&
+ source $(conda info --base)/etc/profile.d/conda.sh &&
conda activate $CYDIR/.conda-env
exit_if_last_command_failed
@@ -175,17 +207,14 @@ source $CYDIR/scripts/fix-open-files.sh"
fi
-if [ -z "$FORCE_FLAG" ]; then
- if [ -z ${CONDA_DEFAULT_ENV+x} ]; then
- error "ERROR: No conda environment detected. Did you activate the conda environment (e.x. 'conda activate base')?"
- exit 1
- fi
+if [ -z ${CONDA_DEFAULT_ENV+x} ]; then
+ echo "!!!!! WARNING: No conda environment detected. Did you activate the conda environment (e.x. 'conda activate base')?"
fi
# initialize all submodules (without the toolchain submodules)
if run_step "2"; then
begin_step "2" "Initializing Chipyard submodules"
- $CYDIR/scripts/init-submodules-no-riscv-tools.sh $FORCE_FLAG
+ $CYDIR/scripts/init-submodules-no-riscv-tools.sh
exit_if_last_command_failed
fi
@@ -265,6 +294,7 @@ if run_step "8"; then
fi
if run_step "10"; then
+ begin_step "10" "Installing CIRCT"
# install circt into conda
if run_step "1"; then
PREFIX=$CONDA_PREFIX/$TOOLCHAIN_TYPE
@@ -289,7 +319,7 @@ fi
# do misc. cleanup for a "clean" git status
if run_step "11"; then
- begin_step "10" "Cleaning up repository"
+ begin_step "11" "Cleaning up repository"
$CYDIR/scripts/repo-clean.sh
exit_if_last_command_failed
fi
diff --git a/scripts/generate-conda-lockfiles.sh b/scripts/generate-conda-lockfiles.sh
index 544a8281..b0a8983f 100755
--- a/scripts/generate-conda-lockfiles.sh
+++ b/scripts/generate-conda-lockfiles.sh
@@ -16,10 +16,24 @@ for TOOLCHAIN_TYPE in riscv-tools esp-tools; do
rm -rf $LOCKFILE
conda-lock \
- --no-mamba \
- --no-micromamba \
- -f "$REQS_DIR/chipyard.yaml" \
- -f "$REQS_DIR/$TOOLCHAIN_TYPE.yaml" \
- -p linux-64 \
- --lockfile $LOCKFILE
+ --no-mamba \
+ --no-micromamba \
+ -f "$REQS_DIR/chipyard-base.yaml" \
+ -f "$REQS_DIR/chipyard-extended.yaml" \
+ -f "$REQS_DIR/docs.yaml" \
+ -f "$REQS_DIR/$TOOLCHAIN_TYPE.yaml" \
+ -p linux-64 \
+ --lockfile $LOCKFILE
+
+ LOCKFILE=$REQS_DIR/conda-lock-reqs/conda-requirements-$TOOLCHAIN_TYPE-linux-64-lean.conda-lock.yml
+ rm -rf $LOCKFILE
+
+ conda-lock \
+ --no-mamba \
+ --no-micromamba \
+ -f "$REQS_DIR/chipyard-base.yaml" \
+ -f "$REQS_DIR/docs.yaml" \
+ -f "$REQS_DIR/$TOOLCHAIN_TYPE.yaml" \
+ -p linux-64 \
+ --lockfile $LOCKFILE
done
diff --git a/scripts/init-submodules-no-riscv-tools-nolog.sh b/scripts/init-submodules-no-riscv-tools-nolog.sh
index aa921f0d..1779b8d8 100755
--- a/scripts/init-submodules-no-riscv-tools-nolog.sh
+++ b/scripts/init-submodules-no-riscv-tools-nolog.sh
@@ -13,24 +13,20 @@ common_setup
function usage
{
- echo "Usage: $0 [--force]"
+ echo "Usage: $0"
echo "Initialize Chipyard submodules and setup initial env.sh script."
echo ""
- echo " --force -f : Skip prompt checking for tagged release"
- echo " --skip-validate : DEPRECATED: Same functionality as --force"
}
-FORCE=false
while test $# -gt 0
do
case "$1" in
- --force | -f | --skip-validate)
- FORCE=true;
- ;;
-h | -H | --help | help)
usage
exit 1
;;
+ --force | -f | --skip-validate) # Deprecated flags
+ ;;
*)
echo "ERROR: bad argument $1"
usage
@@ -59,32 +55,6 @@ fi
# before doing anything verify that you are on a release branch/tag
save_bash_options
set +e
-git_tag=$(git describe --exact-match --tags)
-git_tag_rc=$?
-restore_bash_options
-if [ "$git_tag_rc" -ne 0 ]; then
- if [ "$FORCE" == false ]; then
- while true; do
- printf '\033[2J'
- read -p "WARNING: You are not on an official release of Chipyard."$'\n'"Type \"y\" to continue if this is intended or \"n\" if not: " validate
- case "$validate" in
- y | Y)
- echo "Continuing on to setting up non-official Chipyard release repository"
- break
- ;;
- n | N)
- error "See https://chipyard.readthedocs.io/en/stable/Chipyard-Basics/Initial-Repo-Setup.html#setting-up-the-chipyard-repo for setting up an official release of Chipyard. "
- exit 3
- ;;
- *)
- error "Invalid response. Please type \"y\" or \"n\""
- ;;
- esac
- done
- fi
-else
- echo "Setting up official Chipyard release: $git_tag"
-fi
cd "$RDIR"
@@ -99,6 +69,8 @@ cd "$RDIR"
# path to temporarily exclude during the recursive update
for name in \
toolchains/*-tools/* \
+ generators/cva6 \
+ generators/nvdla \
toolchains/libgloss \
generators/sha3 \
generators/gemmini \
@@ -131,6 +103,20 @@ cd "$RDIR"
# Non-recursive clone to exclude riscv-linux
git submodule update --init generators/sha3
+ # Non-recursive clone to exclude cva6 submods
+ git submodule update --init generators/cva6
+ git -C generators/cva6 submodule update --init src/main/resources/cva6/vsrc/cva6
+ git -C generators/cva6/src/main/resources/cva6/vsrc/cva6 submodule update --init src/axi
+ git -C generators/cva6/src/main/resources/cva6/vsrc/cva6 submodule update --init src/axi_riscv_atomics
+ git -C generators/cva6/src/main/resources/cva6/vsrc/cva6 submodule update --init src/common_cells
+ git -C generators/cva6/src/main/resources/cva6/vsrc/cva6 submodule update --init src/fpga-support
+ git -C generators/cva6/src/main/resources/cva6/vsrc/cva6 submodule update --init src/riscv-dbg
+ git -C generators/cva6/src/main/resources/cva6/vsrc/cva6 submodule update --init src/register_interface
+ git -C generators/cva6/src/main/resources/cva6/vsrc/cva6 submodule update --init --recursive src/fpu
+ # Non-recursive clone to exclude nvdla submods
+ git submodule update --init generators/nvdla
+ git -C generators/nvdla submodule update --init src/main/resources/hw
+
# Non-recursive clone to exclude gemmini-software
git submodule update --init generators/gemmini
git -C generators/gemmini/ submodule update --init --recursive software/gemmini-rocc-tests
diff --git a/scripts/split-mems-conf.py b/scripts/split-mems-conf.py
index f772060e..351bb7b2 100755
--- a/scripts/split-mems-conf.py
+++ b/scripts/split-mems-conf.py
@@ -77,6 +77,8 @@ if __name__ == "__main__":
with open(args.out_dut_smems_conf, "w") as odsc, \
open(args.out_model_smems_conf, "w") as otsc:
+ os.utime(args.out_dut_smems_conf)
+ os.utime(args.out_model_smems_conf)
for l in isc:
sl = l.split()
diff --git a/scripts/tutorial-patches/build.sbt.patch b/scripts/tutorial-patches/build.sbt.patch
index e47fbbf6..b64d7a43 100644
--- a/scripts/tutorial-patches/build.sbt.patch
+++ b/scripts/tutorial-patches/build.sbt.patch
@@ -5,7 +5,7 @@ index c3be6161..2a6d7160 100644
@@ -147,7 +147,7 @@ lazy val testchipip = (project in file("generators/testchipip"))
lazy val chipyard = (project in file("generators/chipyard"))
- .dependsOn(testchipip, rocketchip, boom, hwacha, sifive_blocks, sifive_cache, iocell,
+ .dependsOn(testchipip, rocketchip, boom, hwacha, rocketchip_blocks, rocketchip_inclusive_cache, iocell,
- 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,
diff --git a/scripts/uniquify-module-names.py b/scripts/uniquify-module-names.py
index 237054f2..0ddea49f 100755
--- a/scripts/uniquify-module-names.py
+++ b/scripts/uniquify-module-names.py
@@ -21,6 +21,7 @@ parser.add_argument("--gcpath", type=str, required=True, help="Path to gen-colla
args = parser.parse_args()
MODEL_SFX=args.model + "_UNIQUIFIED"
+SED=os.environ.get("SED", "sed")
def bash(cmd):
@@ -109,7 +110,7 @@ def generate_copy(c, sfx):
new_file = os.path.join(args.gcpath, new_file)
shutil.copy(cur_file, new_file)
- bash(f"sed -i 's/module\( \+\){cur_name}/module\\1{new_name}/' {new_file}")
+ bash(f"{SED} -i 's/module\( \+\){cur_name}/module\\1{new_name}/' {new_file}")
return new_file
def bfs_uniquify_modules(tree, common_fnames, verilog_module_filename):
@@ -136,7 +137,7 @@ def bfs_uniquify_modules(tree, common_fnames, verilog_module_filename):
new_file = generate_copy(cur_file, MODEL_SFX)
if parent is not None and ((parent, mod) not in updated_submodule):
parent_file = os.path.join(args.gcpath, verilog_module_filename[parent])
- bash(f"sed -i 's/\( \*\){mod}\( \+\)/\\1{mod}_{MODEL_SFX}\\2/' {parent_file}")
+ bash(f"{SED} -i 's/\( \*\){mod}\( \+\)/\\1{mod}_{MODEL_SFX}\\2/' {parent_file}")
updated_submodule.add((parent, mod))
# add the uniquified module to the verilog_modul_filename dict
diff --git a/sims/firesim b/sims/firesim
index e9758935..535dcdc2 160000
--- a/sims/firesim
+++ b/sims/firesim
@@ -1 +1 @@
-Subproject commit e975893595129c2682a72fb7e5898273fcc2d071
+Subproject commit 535dcdc29a930525e771f083f2b1c688884c6871
diff --git a/sims/verilator/Makefile b/sims/verilator/Makefile
index 0341ff7d..86463fa1 100644
--- a/sims/verilator/Makefile
+++ b/sims/verilator/Makefile
@@ -162,8 +162,7 @@ VERILATOR_NONCC_OPTS = \
VERILATOR_CXXFLAGS = \
$(SIM_CXXFLAGS) \
$(RUNTIME_PROFILING_CFLAGS) \
- -DVERILATOR \
- -include $(build_dir)/$(long_name).plusArgs
+ -DVERILATOR
VERILATOR_LDFLAGS = $(SIM_LDFLAGS)
@@ -194,13 +193,13 @@ model_mk_debug = $(model_dir_debug)/V$(TB).mk
$(model_mk): $(sim_common_files) $(EXTRA_SIM_REQS)
rm -rf $(model_dir)
mkdir -p $(model_dir)
- $(VERILATOR) $(VERILATOR_OPTS) $(EXTRA_SIM_SOURCES) -o $(sim) -Mdir $(model_dir) -CFLAGS "-include $(model_header)"
+ $(VERILATOR) $(VERILATOR_OPTS) $(EXTRA_SIM_SOURCES) -o $(sim) -Mdir $(model_dir)
touch $@
$(model_mk_debug): $(sim_common_files) $(EXTRA_SIM_REQS)
rm -rf $(model_dir_debug)
mkdir -p $(model_dir_debug)
- $(VERILATOR) $(VERILATOR_OPTS) +define+DEBUG $(EXTRA_SIM_SOURCES) -o $(sim_debug) $(TRACING_OPTS) -Mdir $(model_dir_debug) -CFLAGS "-include $(model_header_debug)"
+ $(VERILATOR) $(VERILATOR_OPTS) +define+DEBUG $(EXTRA_SIM_SOURCES) -o $(sim_debug) $(TRACING_OPTS) -Mdir $(model_dir_debug)
touch $@
#########################################################################################
diff --git a/software/baremetal-ide b/software/baremetal-ide
new file mode 160000
index 00000000..f488090a
--- /dev/null
+++ b/software/baremetal-ide
@@ -0,0 +1 @@
+Subproject commit f488090a7f37da43610bd5017ee401526bf40fb2
diff --git a/software/embench/.gitignore b/software/embench/.gitignore
new file mode 100644
index 00000000..378eac25
--- /dev/null
+++ b/software/embench/.gitignore
@@ -0,0 +1 @@
+build
diff --git a/software/firemarshal b/software/firemarshal
index 97826983..b014183a 160000
--- a/software/firemarshal
+++ b/software/firemarshal
@@ -1 +1 @@
-Subproject commit 97826983438427b8fc40d9b66af2674ce7046bac
+Subproject commit b014183ac6afed7fe1aca89fa010be8d13ad4079
diff --git a/tests/Makefile b/tests/Makefile
index 670b49ea..1c6df31b 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -29,7 +29,7 @@ include libgloss.mk
PROGRAMS = pwm blkdev accum charcount nic-loopback big-blkdev pingd \
streaming-passthrough streaming-fir nvdla spiflashread spiflashwrite fft gcd \
- hello mt-hello
+ hello mt-hello symmetric
.DEFAULT_GOAL := default
diff --git a/tests/symmetric.c b/tests/symmetric.c
new file mode 100644
index 00000000..a6d37627
--- /dev/null
+++ b/tests/symmetric.c
@@ -0,0 +1,30 @@
+#include
+#include
+#include
+#include "marchid.h"
+
+#define OBUS_OFFSET (0x1L << 32)
+
+char src[] = "This is a test string. It will be written into the off-chip memory address, then copied back.";
+char dest[4096];
+char test[4096];
+
+int main(void) {
+ size_t write_start = rdcycle();
+ memcpy(dest + OBUS_OFFSET, src, sizeof(src));
+ size_t write_end = rdcycle();
+
+ printf("Wrote %ld bytes in %ld cycles\n", sizeof(src), write_end - write_start);
+
+ size_t read_start = rdcycle();
+ memcpy(test, dest + OBUS_OFFSET, sizeof(src));
+ size_t read_end = rdcycle();
+
+ if (memcmp(src, test, sizeof(src))) {
+ printf("Remote write/read failed\n");
+ exit(1);
+ }
+ printf("Read %ld bytes in %ld cycles\n", sizeof(src), read_end - read_start);
+
+ return 0;
+}
diff --git a/tools/rocket-dsp-utils b/tools/rocket-dsp-utils
index 19445522..272cee3c 160000
--- a/tools/rocket-dsp-utils
+++ b/tools/rocket-dsp-utils
@@ -1 +1 @@
-Subproject commit 194455223aa75f400d2ac76bfd71e61e3c2a9533
+Subproject commit 272cee3c83a31a7496b8f2e933290798e2fb5cac
diff --git a/variables.mk b/variables.mk
index 65f493d2..63519983 100644
--- a/variables.mk
+++ b/variables.mk
@@ -26,11 +26,11 @@ HELP_PROJECT_VARIABLES = \
HELP_SIMULATION_VARIABLES = \
" BINARY = riscv elf binary that the simulator will run when using the run-binary* targets" \
" BINARIES = list of riscv elf binary that the simulator will run when using the run-binaries* targets" \
+" BINARIES_DIR = directory of riscv elf binaries that the simulator will run when using the run-binaries* targets" \
" LOADMEM = riscv elf binary that should be loaded directly into simulated DRAM. LOADMEM=1 will load the BINARY elf" \
" LOADARCH = path to a architectural checkpoint directory that should end in .loadarch/, for restoring from a checkpoint" \
" VERBOSE_FLAGS = flags used when doing verbose simulation [$(VERBOSE_FLAGS)]" \
-" timeout_cycles = number of clock cycles before simulator times out, defaults to 10000000" \
-" bmark_timeout_cycles = number of clock cycles before benchmark simulator times out, defaults to 100000000"
+" TIMEOUT_CYCLES = number of clock cycles before simulator times out, defaults to 10000000"
# include default simulation rules
HELP_COMMANDS = \
@@ -275,7 +275,7 @@ PERMISSIVE_ON=+permissive
PERMISSIVE_OFF=+permissive-off
BINARY ?=
BINARIES ?=
-override SIM_FLAGS += +dramsim +dramsim_ini_dir=$(TESTCHIP_DIR)/src/main/resources/dramsim2_ini +max-cycles=$(timeout_cycles)
+override SIM_FLAGS += +dramsim +dramsim_ini_dir=$(TESTCHIP_DIR)/src/main/resources/dramsim2_ini +max-cycles=$(TIMEOUT_CYCLES)
VERBOSE_FLAGS ?= +verbose
# get_out_name is a function, 1st argument is the binary
get_out_name = $(subst $() $(),_,$(notdir $(basename $(1))))
@@ -289,6 +289,10 @@ override get_out_name = $(shell basename $(dir $(1)))
override LOADMEM = 1
endif
+ifneq ($(BINARIES_DIR),)
+override BINARIES = $(shell find -L $(BINARIES_DIR) -type f -print 2> /dev/null)
+endif
+
#########################################################################################
# build output directory for compilation
#########################################################################################
@@ -301,7 +305,12 @@ build_dir =$(gen_dir)/$(long_name)
GEN_COLLATERAL_DIR ?=$(build_dir)/gen-collateral
#########################################################################################
-# assembly/benchmark variables
+# simulation variables
#########################################################################################
-timeout_cycles = 10000000
-bmark_timeout_cycles = 100000000
+TIMEOUT_CYCLES = 10000000
+
+# legacy timeout_cycles handling
+timeout_cycles ?=
+ifneq ($(timeout_cycles),)
+TIMEOUT_CYCLES=$(timeout_cycles)
+endif
diff --git a/vlsi/Makefile b/vlsi/Makefile
index 074ec66a..14feb6fb 100644
--- a/vlsi/Makefile
+++ b/vlsi/Makefile
@@ -100,8 +100,8 @@ $(SMEMS_HAMMER): $(TOP_SMEMS_FILE)
$(SRAM_GENERATOR_CONF): $(SMEMS_HAMMER)
mkdir -p $(dir $@)
- echo "vlsi.inputs.sram_parameters: '$(SMEMS_HAMMER)'" >> $@
- echo "vlsi.inputs.sram_parameters_meta: [\"transclude\", \"json2list\"]">> $@
+ echo "vlsi.inputs.sram_parameters: '$(SMEMS_HAMMER)'" > $@
+ echo "vlsi.inputs.sram_parameters_meta: [\"transclude\", \"json2list\"]" >> $@
$(SRAM_CONF): $(SRAM_GENERATOR_CONF)
cd $(vlsi_dir) && $(HAMMER_EXEC) -e $(ENV_YML) $(foreach x,$(INPUT_CONFS) $(SRAM_GENERATOR_CONF), -p $(x)) --obj_dir $(build_dir) sram_generator
diff --git a/vlsi/power.mk b/vlsi/power.mk
index ff1c1729..c006d338 100644
--- a/vlsi/power.mk
+++ b/vlsi/power.mk
@@ -23,7 +23,7 @@ endif
endif
echo " start_times: ['0ns']" >> $@
echo " end_times: [" >> $@
- echo " '`bc <<< $(timeout_cycles)*$(CLOCK_PERIOD)`ns'" >> $@
+ echo " '`bc <<< $(TIMEOUT_CYCLES)*$(CLOCK_PERIOD)`ns'" >> $@
echo " ]" >> $@
$(POWER_RTL_CONF): $(VLSI_RTL)
diff --git a/vlsi/sim.mk b/vlsi/sim.mk
index 1da6f0bc..f5ff85ff 100644
--- a/vlsi/sim.mk
+++ b/vlsi/sim.mk
@@ -64,7 +64,7 @@ endif
echo " execution_flags_meta: 'append'" >> $@
echo " saif.mode: 'time'" >> $@
echo " saif.start_time: '0ns'" >> $@
- echo " saif.end_time: '`bc <<< $(timeout_cycles)*$(CLOCK_PERIOD)`ns'" >> $@
+ echo " saif.end_time: '`bc <<< $(TIMEOUT_CYCLES)*$(CLOCK_PERIOD)`ns'" >> $@
ifndef USE_VPD
echo " options:" >> $@
echo ' - "-kdb"' >> $@