diff --git a/.github/workflows/chipyard-full-flow.yml b/.github/workflows/chipyard-full-flow.yml index 7fe09a23..5179be0f 100644 --- a/.github/workflows/chipyard-full-flow.yml +++ b/.github/workflows/chipyard-full-flow.yml @@ -107,6 +107,60 @@ jobs: source env.sh cd sims/verilator make verilog + - name: VLSI test + run: | + cd ${{ env.REMOTE_WORK_DIR }} + eval "$(conda shell.bash hook)" + source env.sh + + cd vlsi + + # NOTE: most conda installs are in separate conda envs because they mess up + # each other's versions (for no apparent reason) and we need the latest versions + conda config --add channels defaults + conda config --add channels litex-hub + + # installs for example-sky130.yml + conda create -y --prefix ./.conda-sky130 open_pdks.sky130a=1.0.399_0_g63dbde9 + git clone https://github.com/rahulk29/sram22_sky130_macros.git + + # installs for example-openroad.yml + conda create -y --prefix ./.conda-yosys yosys=0.27_4_gb58664d44 + conda create -y --prefix ./.conda-openroad openroad=2.0_7070_g0264023b6 + conda create -y --prefix ./.conda-klayout klayout=0.28.5_98_g87e2def28 + conda create -y --prefix ./.conda-signoff magic=8.3.376_0_g5e5879c netgen=1.5.250_0_g178b172 + + echo "# Tutorial configs" > tutorial.yml + echo "# pdk" > tutorial.yml + echo "technology.sky130.sky130A: $PWD/.conda-sky130/share/pdk/sky130A" >> tutorial.yml + echo "technology.sky130.sram22_sky130_macros: $PWD/sram22_sky130_macros" >> tutorial.yml + echo "" >> tutorial.yml + echo "# tools" >> tutorial.yml + echo "synthesis.yosys.yosys_bin: $PWD/.conda-yosys/bin/yosys" >> tutorial.yml + echo "par.openroad.openroad_bin: $PWD/.conda-openroad/bin/openroad" >> tutorial.yml + echo "par.openroad.klayout_bin: $PWD/.conda-klayout/bin/klayout" >> tutorial.yml + echo "drc.magic.magic_bin: $PWD/.conda-signoff/bin/magic" >> tutorial.yml + echo "lvs.netgen.netgen_bin: $PWD/.conda-signoff/bin/netgen" >> tutorial.yml + echo "" >> tutorial.yml + echo "# speed up tutorial runs & declutter log output" >> tutorial.yml + echo "par.openroad.timing_driven: false" >> tutorial.yml + echo "par.openroad.write_reports: false" >> tutorial.yml + + conda config --remove channels litex-hub + conda config --remove channels defaults + + export tutorial=sky130-openroad + export EXTRA_CONFS=tutorial.yml + export VLSI_TOP=RocketTile + make buildfile + make syn + # openroad freezes during some write commands after detailed route + # so need to stop the flow & run last step separately + make par HAMMER_EXTRA_ARGS="--stop_after_step extraction" + make redo-par HAMMER_EXTRA_ARGS="--start_before_step extraction" + make drc + make lvs + cleanup: name: cleanup diff --git a/README.md b/README.md index 7e44cc11..a21b142e 100644 --- a/README.md +++ b/README.md @@ -84,6 +84,7 @@ These additional publications cover many of the internal components used in Chip * **FireMarshal**: N. Pemberton, et al., *ISPASS'21*. [PDF](https://ieeexplore.ieee.org/document/9408192). * **VLSI** * **Hammer**: E. Wang, et al., *ISQED'20*. [PDF](https://www.isqed.org/English/Archives/2020/Technical_Sessions/113.html). + * **Hammer**: H. Liew, et al., *DAC'22*. [PDF](https://dl.acm.org/doi/abs/10.1145/3489517.3530672). ## Acknowledgements diff --git a/conda-reqs/chipyard.yaml b/conda-reqs/chipyard.yaml index 511fd70d..793eab31 100644 --- a/conda-reqs/chipyard.yaml +++ b/conda-reqs/chipyard.yaml @@ -1,5 +1,6 @@ channels: - ucb-bar + - litex-hub - conda-forge - nodefaults @@ -46,7 +47,6 @@ dependencies: - doit>=0.34.0 - gitpython - humanfriendly - - e2fsprogs - ctags - bison - flex @@ -101,8 +101,9 @@ dependencies: # hammer packages - sty + - open_pdks.sky130a - pip: - - hammer-vlsi[asap7]==1.0.1 + - hammer-vlsi[asap7]==1.0.5 # doc requirements - sphinx 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 5fb65cd1..ec3f3078 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 @@ -7,28 +7,26 @@ # Install this environment as "YOURENV" with: # conda-lock install -n YOURENV --file conda-requirements-esp-tools-linux-64.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.conda-lock.yml --update PACKAGE +# 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-circt/conda-reqs/chipyard.yaml -f /scratch/abejgonza/cy-circt/conda-reqs/esp-tools.yaml -f /scratch/abejgonza/chipyard/conda-reqs/chipyard.yaml -f /scratch/abejgonza/chipyard/conda-reqs/esp-tools.yaml -f /Users/joonhohwangbo/Documents/Research/coding/chipyard/conda-reqs/chipyard.yaml -f /Users/joonhohwangbo/Documents/Research/coding/chipyard/conda-reqs/esp-tools.yaml -f /scratch/abejgonza/cy-cfg-finder/conda-reqs/chipyard.yaml -f /scratch/abejgonza/cy-cfg-finder/conda-reqs/esp-tools.yaml --lockfile conda-requirements-esp-tools-linux-64.conda-lock.yml +# conda-lock -f /home/eecs/nayiri/chipyard/conda-reqs/chipyard.yaml -f /home/eecs/nayiri/chipyard/conda-reqs/esp-tools.yaml -f /scratch/abejgonza/cy-cfg-finder/conda-reqs/chipyard.yaml -f /scratch/abejgonza/cy-cfg-finder/conda-reqs/esp-tools.yaml --lockfile conda-requirements-esp-tools-linux-64.conda-lock.yml metadata: channels: - url: ucb-bar used_env_vars: [] + - url: litex-hub + used_env_vars: [] - url: conda-forge used_env_vars: [] - url: nodefaults used_env_vars: [] content_hash: - linux-64: a2e9a43dff593648561b6f838ff55b44c214644cdbc5a34d94aefb37c8fac3eb + linux-64: 57d8da0dbfb14d8084de52a5bf30926bde709a37079f55c52dbc0498baf39afb platforms: - linux-64 sources: - - /scratch/abejgonza/cy-circt/conda-reqs/chipyard.yaml - - /scratch/abejgonza/cy-circt/conda-reqs/esp-tools.yaml - - /scratch/abejgonza/chipyard/conda-reqs/chipyard.yaml - - /scratch/abejgonza/chipyard/conda-reqs/esp-tools.yaml - - /Users/joonhohwangbo/Documents/Research/coding/chipyard/conda-reqs/chipyard.yaml - - /Users/joonhohwangbo/Documents/Research/coding/chipyard/conda-reqs/esp-tools.yaml + - /home/eecs/nayiri/chipyard/conda-reqs/chipyard.yaml + - /home/eecs/nayiri/chipyard/conda-reqs/esp-tools.yaml - /scratch/abejgonza/cy-cfg-finder/conda-reqs/chipyard.yaml - /scratch/abejgonza/cy-cfg-finder/conda-reqs/esp-tools.yaml package: @@ -186,6 +184,17 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-12.2.0-h46fd767_19.tar.bz2 version: 12.2.0 +- category: main + dependencies: {} + hash: + md5: b81ebefd12ddbf18353d1a227f2dccf8 + sha256: d7b45d7f379d65cbbdaf557aa5e1f0e1c2aef6f1a1b7b598622e75f77da318e2 + manager: conda + name: open_pdks.sky130a + optional: false + platform: linux-64 + url: https://conda.anaconda.org/litex-hub/noarch/open_pdks.sky130a-1.0.399_0_g63dbde9-20230225_164303.tar.bz2 + version: 1.0.399_0_g63dbde9 - category: main dependencies: {} hash: @@ -413,25 +422,12 @@ package: libstdcxx-ng: '>=12' hash: md5: 6bfb79319763a11c7423c9d0e0ee00b7 - sha256: null manager: conda name: dromajo optional: false platform: linux-64 url: https://conda.anaconda.org/ucb-bar/linux-64/dromajo-1.0.0-0_h1234567_g6a6e34e.tar.bz2 version: 1.0.0 -- category: main - dependencies: - libgcc-ng: '>=10.3.0' - hash: - md5: 40e0c155eafefec2a63d1df0de0f5cdc - sha256: 1c0b56f8c25dab0a2d4db25f0209f1fe9b83539a649dd821b97c4bfbbc12c3f7 - manager: conda - name: e2fsprogs-libs - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/e2fsprogs-libs-1.46.2-h166bdaf_0.tar.bz2 - version: 1.46.2 - category: main dependencies: libgcc-ng: '>=12' @@ -484,15 +480,15 @@ package: version: 0.21.1 - category: main dependencies: - libgcc-ng: '>=7.5.0' + libgcc-ng: '>=12' hash: - md5: 626e68ae9cc5912d6adb79d318cf962d - sha256: 6ecacdbdf5cd9d2b46211b15a2f7db428ea5edd0cae9be89ccd837fc7b35643f + 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-h36c2ea0_2.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/giflib-5.2.1-h0b41bf4_3.conda version: 5.2.1 - category: main dependencies: @@ -654,18 +650,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.17-h166bdaf_0.tar.bz2 version: '1.17' -- category: main - dependencies: - libgcc-ng: '>=12' - hash: - md5: b4f717df2d377410b462328bf0e8fb7d - sha256: 0d8b666ca4deabf948a76654df0fa1277145bed1c9e8a58e18a649c22c5f1c3e - manager: conda - name: libjpeg-turbo - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-2.1.4-h166bdaf_0.tar.bz2 - version: 2.1.4 - category: main dependencies: libgcc-ng: '>=9.4.0' @@ -890,14 +874,14 @@ package: ca-certificates: '' libgcc-ng: '>=12' hash: - md5: e043403cd18faf815bf7705ab6c1e092 - sha256: cd981c5c18463bc7a164fcf45c5cf697d58852b780b4dfa5e83c18c1fda6d7cd + md5: 2d833be81a21128e317325a01326d36f + sha256: d378afcec34b86fef4da3ebd622b3e614cb3f71e54b6a5a10adb1d23745ecc72 manager: conda name: openssl optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.0.8-h0b41bf4_0.conda - version: 3.0.8 + url: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.1.0-h0b41bf4_0.conda + version: 3.1.0 - category: main dependencies: libgcc-ng: '>=9.3.0' @@ -1421,16 +1405,16 @@ package: - category: main dependencies: gmp: '>=6.2.1,<7.0a0' - libgcc-ng: '>=7.5.0' + libgcc-ng: '>=12' hash: - md5: ea9ebeddb066da8fad4a815e61b139be - sha256: d2d71ac6ed3b32f06b7db2691e0a1760016ce13fb0c50a9de6ed1ccc33e35ff3 + md5: 14d87bdff2cbd3b1179a29fb316ed743 + sha256: 03097f21c75b0936471809e533dbae44af9d9ae696ecf264d1a929fc9f9e4b83 manager: conda name: mpfr optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/mpfr-4.1.0-h9202a9a_1.tar.bz2 - version: 4.1.0 + url: https://conda.anaconda.org/conda-forge/linux-64/mpfr-4.2.0-hb012696_0.conda + version: 4.2.0 - category: main dependencies: libffi: '>=3.4.2,<3.5.0a0' @@ -2016,18 +2000,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/argcomplete-2.1.1-pyhd8ed1ab_0.conda version: 2.1.1 -- category: main - dependencies: - python: '>=3.6' - hash: - md5: f3f2ab3ce28979a24d1a988ba211eb9b - sha256: 1354731d0eb1b406b66b3cb3d6ab74d7cbe9c0ec1d30b9e5afa366d4539e4687 - manager: conda - name: asn1crypto - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/asn1crypto-1.5.1-pyhd8ed1ab_0.tar.bz2 - version: 1.5.1 - category: main dependencies: libgcc-ng: '>=12' @@ -2228,7 +2200,6 @@ package: python_abi: 3.9.* *_cp39 hash: md5: ae197de48b202c65efd7a61135ac0ae5 - sha256: null manager: conda name: esp-tools optional: false @@ -2239,26 +2210,26 @@ package: dependencies: python: '>=3.7' hash: - md5: a385c3e8968b4cf8fbc426ace915fd1a - sha256: cf668360331552b2903e440cda1b4e47062c3f3775342e4a278ef4d141c28d1d + md5: 7312299d7a0ea4993159229b7d2dceb2 + sha256: f073c3ba993912f1c0027bc34a54975642885f0a4cd5f9dc42a17ca945df2c18 manager: conda name: exceptiongroup optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.1.0-pyhd8ed1ab_0.conda - version: 1.1.0 + url: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.1.1-pyhd8ed1ab_0.conda + version: 1.1.1 - category: main dependencies: python: '>=3.7' hash: - md5: 1addc115923d646ca19ed90edc413506 - sha256: 739c48f62747c942aa733041d36a2c1af41c2ecf2a59f1fec90cd7200e01be9a + md5: eca7396b6eaec18e000a4eaa1abfef94 + sha256: 50d8ecfe84778f61150527972199c4bd4f77cb86519db6d0adc179b7842ed8bb manager: conda name: filelock optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/filelock-3.9.0-pyhd8ed1ab_0.conda - version: 3.9.0 + url: https://conda.anaconda.org/conda-forge/noarch/filelock-3.9.1-pyhd8ed1ab_0.conda + version: 3.9.1 - category: main dependencies: expat: '>=2.5.0,<3.0a0' @@ -2485,20 +2456,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.4.4-py39hf939315_1.tar.bz2 version: 1.4.4 -- category: main - dependencies: - libgcc-ng: '>=12' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: a0238daacd28c07735c6bc75aedf2014 - sha256: bbae929b429f39a10432e86d87bf02864e6640287245de71edeac6b3c29b0ff7 - 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-py39h72bdee0_0.conda - version: 1.9.0 - category: main dependencies: jpeg: '>=9e,<10a' @@ -2778,18 +2735,6 @@ package: 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.7' - hash: - md5: f3e7301de38fd621c902faf8087bc564 - sha256: 7258b7f6a8e5fcd5e5a22e0a85b89e03e9cf5049d1591bc98420fd080007f25d - manager: conda - name: pathable - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/pathable-0.4.3-pyhd8ed1ab_0.tar.bz2 - version: 0.4.3 - category: main dependencies: python: '>=3.6' @@ -2802,18 +2747,6 @@ package: 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.6' - hash: - md5: 89e3c7cdde7d3aaa2aee933b604dd07f - sha256: 7d055ffc8a02bf781a89d069db3454b453605cdaff300b82cedcc7133283e47e - manager: conda - name: pkgutil-resolve-name - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/pkgutil-resolve-name-1.3.10-pyhd8ed1ab_0.tar.bz2 - version: 1.3.10 - category: main dependencies: python: '>=3.9,<3.10.0a0' @@ -2827,19 +2760,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/linux-64/pluggy-1.0.0-py39hf3d152e_4.tar.bz2 version: 1.0.0 -- category: main - dependencies: - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: bfefe349de77edb720cb4688821ff78e - sha256: 83cdcf4c17264d63e972f079408bd86ab15a9b14230d168b3c35b5971860be11 - manager: conda - name: poetry-core - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/poetry-core-1.0.8-py39hf3d152e_1.tar.bz2 - version: 1.0.8 - category: main dependencies: python: '>=3.9,<3.10.0a0' @@ -2867,30 +2787,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/linux-64/psutil-5.9.4-py39hb9d737c_0.tar.bz2 version: 5.9.4 -- category: main - dependencies: - python: '' - hash: - md5: 359eeb6536da0e687af562ed265ec263 - sha256: fb31e006a25eb2e18f3440eb8d17be44c8ccfae559499199f73584566d0a444a - manager: conda - name: ptyprocess - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd3deb0d_0.tar.bz2 - version: 0.7.0 -- category: main - dependencies: - python: '>=2.7' - hash: - md5: b4613d7e7a493916d867842a6a148054 - sha256: 268be33a290e3d51467ab29cbb5a80cf79f69dade2f2dead25d7f80d76c3543a - manager: conda - name: py - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/py-1.11.0-pyh6c4a22f_0.tar.bz2 - version: 1.11.0 - category: main dependencies: python: '' @@ -2929,19 +2825,6 @@ package: 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.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: fdd9fda18e2af3df572dbeccaaff135a - sha256: 3f6e7c4727df937e72ba78853933c64153ecb5588391c4c97cb019cca1c6fa94 - manager: conda - name: pyinotify - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pyinotify-0.9.6-py39hf3d152e_1006.tar.bz2 - version: 0.9.6 - category: main dependencies: python: '>=3.6' @@ -3078,26 +2961,14 @@ package: dependencies: python: '>=3.7' hash: - md5: 5aec57dd42104f4916c397fe291f9697 - sha256: bf40dd7bde1902859517888f72802fbc97709af7675de78eec38a1cd73ab898a + md5: e18ed61c37145bb9b48d1d98801960f7 + sha256: a5c48b1fc7c89c5c937475e9434a63af7ce2e591f8e51afd56e3b2e232a9989d manager: conda name: setuptools optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/setuptools-67.5.1-pyhd8ed1ab_0.conda - version: 67.5.1 -- category: main - dependencies: - python: '>=3.6' - hash: - md5: 65bacdee3cac51e49f45d530bbd5e90f - sha256: 5e00e61916a46c1857871adec258952a50a86542883bcbaa1f1df572bd51e786 - manager: conda - name: shellingham - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.0-pyhd8ed1ab_0.tar.bz2 - version: 1.5.0 + url: https://conda.anaconda.org/conda-forge/noarch/setuptools-67.6.0-pyhd8ed1ab_0.conda + version: 67.6.0 - category: main dependencies: python: '' @@ -3218,18 +3089,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/sty-1.0.0-pyhd8ed1ab_0.tar.bz2 version: 1.0.0 -- category: main - dependencies: - python: '>=2.7' - hash: - md5: f832c45a477c78bebd107098db465095 - sha256: f0f3d697349d6580e4c2f35ba9ce05c65dc34f9f049e85e45da03800b46139c1 - manager: conda - name: toml - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_0.tar.bz2 - version: 0.10.2 - category: main dependencies: python: '>=3.7' @@ -3320,14 +3179,14 @@ package: dependencies: python: '>=3.7' hash: - md5: 2d93b130d148d7fc77e583677792fc6a - sha256: 70c57b5ac94cd32e78f1a2fa2c38572bfac85b901a6a99aa254a9e8e126c132d + md5: 43e7d9e50261fb11deb76e17d8431aac + sha256: f81eee64fcdfb379e27d01773b34041fbf7f9e86f33b157c9925d19e0a442452 manager: conda name: typing_extensions optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.4.0-pyha770c72_0.tar.bz2 - version: 4.4.0 + url: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.5.0-pyha770c72_0.conda + version: 4.5.0 - category: main dependencies: libgcc-ng: '>=12' @@ -3342,41 +3201,25 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-15.0.0-py39hb9d737c_0.tar.bz2 version: 15.0.0 -- category: main - dependencies: - libgcc-ng: '>=9.3.0' - ncurses: '>=6.2,<7.0.0a0' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - readline: '>=8.0,<9.0a0' - zlib: '>=1.2.11,<1.3.0a0' - hash: - md5: bf0434c73a112c64bb1dd4ea6129e8c2 - sha256: c456c945aeb463d725ce133934f0294a2f4b85bd6ca6d433f3f95454d1112d6b - manager: conda - name: util-linux - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/util-linux-2.36-py39h28948ff_1.tar.bz2 - version: '2.36' - category: main dependencies: flex: '>=2.6.4,<3.0a0' gxx_impl_linux-64: '' libgcc-ng: '>=12' libstdcxx-ng: '>=12' - libzlib: '>=1.2.12,<1.3.0a0' + libzlib: '>=1.2.13,<1.3.0a0' make: '' perl: '' + python: '' hash: - md5: 41af6df1758bae89161daf268566384e - sha256: e2f2302d69c0d6928d95a1c699b5ef0b14e0243e78495734962c78136d2e6b9f + md5: 1a0130b3de431ee4dd26734a234a1cde + sha256: 12971e7e175a7dfb70d4afcf76e38d1ed21a979d49e215d439e7392de221a14d manager: conda name: verilator optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/verilator-4.226-he0ac6c6_1.tar.bz2 - version: '4.226' + url: https://conda.anaconda.org/conda-forge/linux-64/verilator-5.006-h07cc95c_1.conda + version: '5.006' - category: main dependencies: gettext: '>=0.21.1,<1.0a0' @@ -3435,14 +3278,14 @@ package: dependencies: python: '>=3.7' hash: - md5: c829cfb8cb826acb9de0ac1a2df0a940 - sha256: bd4f11ff075ff251ade9f57686f31473e25be46ab282d9603f551401250f9f44 + md5: 49bb0d9e60ce1db25e151780331bb5f3 + sha256: 79b4d29b0c004014a2abd5fc2c9fcd35cc6256222b960c2a317a27c4b0d8884d manager: conda name: wheel optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/wheel-0.38.4-pyhd8ed1ab_0.tar.bz2 - version: 0.38.4 + url: https://conda.anaconda.org/conda-forge/noarch/wheel-0.40.0-pyhd8ed1ab_0.conda + version: 0.40.0 - category: main dependencies: libgcc-ng: '>=12' @@ -3523,19 +3366,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/zipp-3.15.0-pyhd8ed1ab_0.conda version: 3.15.0 -- category: main - dependencies: - python: '>=3.6' - typing_extensions: '>=4.0' - hash: - md5: 59c40397276a286241c65faec5e1be3c - sha256: be2dbd6710438fa48b83bf06841091227276ae545d145dfe5cb5149c6484e951 - manager: conda - name: aioitertools - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/aioitertools-0.11.0-pyhd8ed1ab_0.tar.bz2 - version: 0.11.0 - category: main dependencies: frozenlist: '>=1.1.0' @@ -3704,33 +3534,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/linux-64/curl-7.88.1-hdc1c0ab_0.conda version: 7.88.1 -- category: main - dependencies: - python: '' - six: '>=1.4.0' - hash: - md5: c69f19038efee4eb534623610d0c2053 - sha256: 2ba7e3e4f75e07b42246b4ba8569c983ecbdcda47b1b900632858a23d91826f2 - manager: conda - name: docker-pycreds - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/docker-pycreds-0.4.0-py_0.tar.bz2 - version: 0.4.0 -- category: main - dependencies: - e2fsprogs-libs: 1.46.2 h166bdaf_0 - libgcc-ng: '>=10.3.0' - util-linux: '>=2.36,<2.37.0a0' - hash: - md5: 3a5caf0e611d38f05b004a25423e07cb - sha256: fac9c225ac324519cf1224cd87c201a7b18f0c5f42033ef9db7a480a9163f348 - manager: conda - name: e2fsprogs - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/e2fsprogs-1.46.2-h166bdaf_0.tar.bz2 - version: 1.46.2 - category: main dependencies: gmpy2: '' @@ -3987,19 +3790,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.7.0-pyhd8ed1ab_0.tar.bz2 version: 1.7.0 -- category: main - dependencies: - ptyprocess: '>=0.5' - python: '' - hash: - md5: 5909e7b978141dd80d28dbf9de627827 - sha256: 04eef875d461732ef22cd19bf2c989c40e73b5da625bf6a6b82ddae200e90e56 - manager: conda - name: pexpect - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.8.0-pyh9f0ad1d_2.tar.bz2 - version: 4.8.0 - category: main dependencies: freetype: '>=2.12.1,<3.0a0' @@ -4101,19 +3891,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/ucb-bar/linux-64/qemu-5.0.0-hb15d774_0.tar.bz2 version: 5.0.0 -- category: main - dependencies: - python: '>=3.5' - six: '' - hash: - md5: fed45fc5ea0813240707998abe49f520 - sha256: 7c7052b51de0b5c558f890bb11f8b5edbb9934a653d76be086b1182b9f54185d - manager: conda - name: rfc3339-validator - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/rfc3339-validator-0.1.4-pyhd8ed1ab_0.tar.bz2 - version: 0.1.4 - category: main dependencies: pyasn1: '>=0.1.3' @@ -4184,16 +3961,16 @@ package: version: 2.28.11.15 - category: main dependencies: - typing_extensions: 4.4.0 pyha770c72_0 + typing_extensions: 4.5.0 pyha770c72_0 hash: - md5: be969210b61b897775a0de63cd9e9026 - sha256: 6f129b1bc18d111dcf3abaec6fcf6cbee00f1b77bb42d0f0bc8d85f8faa65cf0 + md5: b3c594fde1a80a1fc3eb9cc4a5dfe392 + sha256: 6da5e15fa533620ae2e7aca9a7d16013eed3a73ac64c47d7c3bf3deec39b63b9 manager: conda name: typing-extensions optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.4.0-hd8ed1ab_0.tar.bz2 - version: 4.4.0 + url: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.5.0-hd8ed1ab_0.conda + version: 4.5.0 - category: main dependencies: libgcc-ng: '>=9.3.0' @@ -4288,19 +4065,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/linux-64/clang-format-15.0.7-default_had23c3d_1.conda version: 15.0.7 -- category: main - dependencies: - clikit: '>=0.6.0,<0.7.0' - python: '>=3.6' - hash: - md5: 4c82b11a3d06031bd58e7d869f53d965 - sha256: a3a5beaf5b4a5ba671580164e6b1da77837f9d69414b095bd3231e84a85f505c - manager: conda - name: cleo - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/cleo-0.8.1-pyhd8ed1ab_2.tar.bz2 - version: 0.8.1 - category: main dependencies: cffi: '>=1.12' @@ -4360,14 +4124,14 @@ package: pcre2: '>=10.40,<10.41.0a0' perl: 5.* hash: - md5: 7311557191b94fb57e6f58a8d996b694 - sha256: ae95471eb6fdf56b2801b8bb6a191ab377c8161cdba5d763030f5cad9af1c1fd + md5: 70fd89375d9b5ca90c15dcf3662b1b42 + sha256: fba1e93848c20e29d205726142fb37ad7e2be785699f98aac348524080354f6d manager: conda name: git optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/git-2.39.2-pl5321h693f4a3_0.conda - version: 2.39.2 + url: https://conda.anaconda.org/conda-forge/linux-64/git-2.40.0-pl5321h693f4a3_0.conda + version: 2.40.0 - category: main dependencies: gitdb: '>=4.0.1,<5' @@ -4429,20 +4193,19 @@ package: dependencies: attrs: '>=17.4.0' importlib-metadata: '' - importlib_resources: '>=1.4.0' - pkgutil-resolve-name: '>=1.3.10' - pyrsistent: '!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0' - python: '>=3.7' - typing_extensions: '' + pyrsistent: '>=0.14.0' + python: '>=3.6' + setuptools: '' + six: '>=1.11.0' hash: - md5: 723268a468177cd44568eb8f794e0d80 - sha256: 4f68a23430d1afc5c9b41c46fbac0ade33c0bf57a293c646bfdd6dc65350eada + md5: 66125e28711d8ffc04a207a2b170316d + sha256: d74a3ddd3c3dd9bd7b00110a196e3af90490c5660674f18bfd53a8fdf91de418 manager: conda name: jsonschema optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.17.3-pyhd8ed1ab_0.conda - version: 4.17.3 + url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-3.2.0-pyhd8ed1ab_3.tar.bz2 + version: 3.2.0 - category: main dependencies: elfutils: '>=0.187,<0.188.0a0' @@ -4450,7 +4213,6 @@ package: libzlib: '>=1.2.12,<1.3.0a0' hash: md5: 5b3ed39ee3809d63d347b649de0a45f8 - sha256: null manager: conda name: libdwarf optional: false @@ -4493,14 +4255,14 @@ package: python: '>=3.7' typing-extensions: '>=4.4' hash: - md5: 0b8fbdfd52918bc2f1b76feccd95c919 - sha256: bb3f0b4eeb3244a99aae8ada600b90efbaaa66f28d064bdd437dc326cd210f87 + md5: 1d1a27f637808c76dd83e3f469aa6f7e + sha256: 5875ef7f4b079fe080c10287b13843860bc69a42e457729a8c5dc32cb3563e92 manager: conda name: platformdirs optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-3.1.0-pyhd8ed1ab_0.conda - version: 3.1.0 + url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-3.1.1-pyhd8ed1ab_0.conda + version: 3.1.1 - category: main dependencies: libgcc-ng: '>=12' @@ -4564,14 +4326,14 @@ package: pip: '' python: '>=3.7,<4.0' hash: - md5: d1c9c56188d38c4d0ea625fa45bd9000 - sha256: bec15a25d19fbef4454e280d2a49d09eb72a6650983b769be28dab07ed36832d + md5: 1b96b6926c03bc190c9425da6cc637e7 + sha256: dfa8e083442b18006c0015154b5e88dbe624a268ec9fd8abe4959dae484d5ef3 manager: conda name: types-awscrt optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/types-awscrt-0.16.11-pyhd8ed1ab_0.conda - version: 0.16.11 + url: https://conda.anaconda.org/conda-forge/noarch/types-awscrt-0.16.12-pyhd8ed1ab_0.conda + version: 0.16.12 - category: main dependencies: cffi: '' @@ -4648,14 +4410,14 @@ package: types-awscrt: '' typing_extensions: '' hash: - md5: 1284ea7cf431f599298c3e86922cb6ef - sha256: 949071f4ffaada1a7df890a0eca82507446f427d913272bae109c39f42b03361 + md5: 77b2ba7cde37be73d8edfd6b292e9ee9 + sha256: e9fe8bc0b8fa005067cd67d24456157afc9d6082b1e2bb229ffde3061ad02e5b manager: conda name: botocore-stubs optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/botocore-stubs-1.29.87-pyhd8ed1ab_0.conda - version: 1.29.87 + url: https://conda.anaconda.org/conda-forge/noarch/botocore-stubs-1.29.90-pyhd8ed1ab_0.conda + version: 1.29.90 - category: main dependencies: clang-format: 15.0.7 default_had23c3d_1 @@ -4706,14 +4468,14 @@ package: python: '>=3.6' ukkonen: '' hash: - md5: 4d66c7eacd0d9be4fd00ce591854eba4 - sha256: a5fd392324fb841f28b3cd7179f4906a8d3d40b52b1fc231829d9455a0fd79b3 + md5: e886aa3ceb206963720799725ffcd414 + sha256: 688845fde60145cdeb47d78de3d9632ef6bd4d4793bdf1cb9055ed2fc0a84a8a manager: conda name: identify optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/identify-2.5.19-pyhd8ed1ab_0.conda - version: 2.5.19 + url: https://conda.anaconda.org/conda-forge/noarch/identify-2.5.20-pyhd8ed1ab_0.conda + version: 2.5.20 - category: main dependencies: importlib_metadata: '' @@ -4727,22 +4489,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/jsonpickle-2.2.0-pyhd8ed1ab_0.tar.bz2 version: 2.2.0 -- category: main - dependencies: - jsonschema: '>=4.0.0,<5.0.0' - pathable: '>=0.4.1,<0.5.0' - python: '>=3.6' - pyyaml: '>=5.1' - typing_extensions: '>=4.3.0,<5.0.0' - hash: - md5: a0266083a9eb9c4871fb27c1b30681b7 - sha256: 6bc2645c224994d2f456a59972aaf194937e373381bd5ae2c12052577b8a1db4 - manager: conda - name: jsonschema-spec - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-spec-0.1.2-pyhd8ed1ab_0.tar.bz2 - version: 0.1.2 - category: main dependencies: elfutils: '>=0.187,<0.188.0a0' @@ -4751,7 +4497,6 @@ package: libzlib: '>=1.2.12,<1.3.0a0' hash: md5: 899c511688e6c41cb51c2921a8d25e63 - sha256: null manager: conda name: libdwarf-dev optional: false @@ -4788,19 +4533,17 @@ package: version: 3.7.1 - category: main dependencies: - attrs: '>=19.2.0' - jsonschema: '>=4.0.0,<5.0.0' + jsonschema: '>=3.0.0,<5.0.0' python: '>=3.7' - rfc3339-validator: '' hash: - md5: 8b32c5ef540b6afe23ea8e75dd400fbb - sha256: 8e69b65ffdc0d71f5d924c34d8e45bb2ca169573db29ede1844a46a2c8e3a5d0 + md5: 277aff70bb1def188c9c016ba4564e23 + sha256: 0c2f971f86211f2b6db431de9d8ab4c9e38eed5422bd06f93cd8be3cbb882a2c manager: conda name: openapi-schema-validator optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/openapi-schema-validator-0.4.3-pyhd8ed1ab_0.conda - version: 0.4.3 + url: https://conda.anaconda.org/conda-forge/noarch/openapi-schema-validator-0.2.3-pyhd8ed1ab_0.tar.bz2 + version: 0.2.3 - category: main dependencies: alsa-lib: '>=1.2.8,<1.2.9.0a0' @@ -4857,14 +4600,14 @@ package: pynacl: '>=1.5' python: '>=3.6' hash: - md5: 9159272243591905b0766ae53e942218 - sha256: 98728c9e3ec10c198154a5c8c0cec51eea76ecbd4744618449725d166c050fcb + md5: 748d328d93daa18c35220e251b610b25 + sha256: 35d35d9eea83058068d23213976d3d990a87692cd0fb52104c8cd7eedda5b555 manager: conda name: paramiko optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/paramiko-3.0.0-pyhd8ed1ab_0.conda - version: 3.0.0 + url: https://conda.anaconda.org/conda-forge/noarch/paramiko-3.1.0-pyhd8ed1ab_0.conda + version: 3.1.0 - category: main dependencies: cryptography: '>=38.0.0,<40' @@ -4946,14 +4689,14 @@ package: platformdirs: <4,>=2.4 python: '>=3.7' hash: - md5: a4c92707c28aafc95208c747db80fd3f - sha256: 0c074440b5aca612c5ee24d516845583fbad82bf3f349322d9c9fdf139cd0edd + md5: cb9a711f7c9f3074fe522e5a34481e60 + sha256: 28540cdda9279d7daeb8f2deec6f1128869ba90742a966e488b692e8083c5349 manager: conda name: virtualenv optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.20.0-pyhd8ed1ab_0.conda - version: 20.20.0 + url: https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.21.0-pyhd8ed1ab_0.conda + version: 20.21.0 - category: main dependencies: conda-package-streaming: '>=0.7.0' @@ -5037,22 +4780,20 @@ package: version: 2.54.4 - category: main dependencies: - importlib_resources: '>=5.8.0,<6.0.0' - jsonschema: '>=4.0.0,<5.0.0' - jsonschema-spec: '>=0.1.1,<0.2.0' - lazy-object-proxy: '>=1.7.1,<2.0.0' - openapi-schema-validator: '>=0.4.2,<0.5' + jsonschema: '>=3.2.0,<5.0.0' + openapi-schema-validator: '>=0.2.0,<0.3.0' python: '>=3.7' pyyaml: '>=5.1' + setuptools: '' hash: - md5: 243b7dc9b3e129a2e7d5f2ca690f337c - sha256: 3053d96adb90a7dd6002c1151531485d9973a94050139a233701c3c25f94e0ea + md5: 5ff3ff67d18fd4938c4ae38c3baf21bb + sha256: 11f24d36001aaba0a7197ff7b9a07ab943d05f969b13e5a9c4ffec13eca19cd0 manager: conda name: openapi-spec-validator optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/openapi-spec-validator-0.5.5-pyhd8ed1ab_0.conda - version: 0.5.5 + url: https://conda.anaconda.org/conda-forge/noarch/openapi-spec-validator-0.4.0-pyhd8ed1ab_1.tar.bz2 + version: 0.4.0 - category: main dependencies: cfgv: '>=2.0.0' @@ -5094,14 +4835,14 @@ package: pysocks: '>=1.5.6,<2.0,!=1.5.7' python: <4.0 hash: - md5: 01f33ad2e0aaf6b5ba4add50dad5ad29 - sha256: f2f09c44e47946ce631dbc9a8a79bb463ac0f4122aaafdbcc51f200a1e420ca6 + md5: 27db656619a55d727eaf5a6ece3d2fd6 + sha256: 213bdf6c3a5d721fa83b45d527d3ecd340f9547c0d6bbd0b8d9d746ec9a1fb4b manager: conda name: urllib3 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/urllib3-1.26.14-pyhd8ed1ab_0.conda - version: 1.26.14 + url: https://conda.anaconda.org/conda-forge/noarch/urllib3-1.26.15-pyhd8ed1ab_0.conda + version: 1.26.15 - category: main dependencies: jmespath: '>=0.7.1,<2.0.0' @@ -5109,14 +4850,14 @@ package: python-dateutil: '>=2.1,<3.0.0' urllib3: '>=1.25.4,<1.27' hash: - md5: 3faabd8720a81a91566e6c01bf7bbacb - sha256: c677cba87c7027ccf264574a87130bf44f69be008315d2a840ae6cfaa61b7e44 + md5: f5f163a412ecc6be50ef913cf3de6ad6 + sha256: 1172449dfba0f4bba3adb2a0c9878878fdf7c4cc22c0f6c3ebbc42d3b11bfda4 manager: conda name: botocore optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/botocore-1.27.59-pyhd8ed1ab_0.tar.bz2 - version: 1.27.59 + url: https://conda.anaconda.org/conda-forge/noarch/botocore-1.29.90-pyhd8ed1ab_0.conda + version: 1.29.90 - category: main dependencies: cairo: '>=1.16.0,<2.0a0' @@ -5162,22 +4903,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/requests-2.28.2-pyhd8ed1ab_0.conda version: 2.28.2 -- category: main - dependencies: - aiohttp: '>=3.3.1' - aioitertools: '>=0.5.1' - botocore: '>=1.27.59,<1.27.60' - python: '>=3.6' - wrapt: '>=1.10.10' - hash: - md5: a3f48ea10883a5df371b895008b1ca4b - sha256: 76068553358b26c9c03be992cbe982a369d1e015a53700f092db92c784ce98a9 - manager: conda - name: aiobotocore - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/aiobotocore-2.4.2-pyhd8ed1ab_0.conda - version: 2.4.2 - category: main dependencies: botocore: '>=1.11.3' @@ -5305,19 +5030,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/python-graphviz-0.20.1-pyh22cad53_0.tar.bz2 version: 0.20.1 -- category: main - dependencies: - python: '' - requests: '>=2.0.1,<=3.0.0' - hash: - md5: 402668adee8fcba9a9c265cdc2a88f5a - sha256: 1f2f3329127844be226bdc9bd9922d84a8767ae208d4a650c3ba655c84cb1e1c - manager: conda - name: requests-toolbelt - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/requests-toolbelt-0.9.1-py_0.tar.bz2 - version: 0.9.1 - category: main dependencies: python: '>=3.7' @@ -5376,7 +5088,7 @@ package: version: 5.1.1 - category: main dependencies: - botocore: 1.27.59 + botocore: 1.29.90 colorama: '>=0.2.5,<0.4.5' docutils: '>=0.10,<0.17' python: '>=3.9,<3.10.0a0' @@ -5385,29 +5097,29 @@ package: rsa: '>=3.1.2,<4.8' s3transfer: '>=0.6.0,<0.7.0' hash: - md5: fa62dd9ed5d234c493ff14914d43f332 - sha256: 61483c628f9751a038d5634ce8ba2ed7ab484ffad50a7e7da13c2e3b30f93eae + md5: 1aad173d6a406ea8e26aa7ac6ec92b77 + sha256: dbc0e344cc63263aca1bc1257563f1caa46d11b4484d3767d52715a61e3e1395 manager: conda name: awscli optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/awscli-1.25.60-py39hf3d152e_0.tar.bz2 - version: 1.25.60 + url: https://conda.anaconda.org/conda-forge/linux-64/awscli-1.27.90-py39hf3d152e_0.conda + version: 1.27.90 - category: main dependencies: - botocore: '>=1.27.59,<1.28.0' + botocore: '>=1.29.90,<1.30.0' jmespath: '>=0.7.1,<2.0.0' python: '>=3.7' s3transfer: '>=0.6.0,<0.7.0' hash: - md5: ffb13a0a5fc8e17ce396f4dfcdf5dab5 - sha256: 89fd09bdc9d9a608387fd80b19fd084f26309d7857bd9a3957216a718f58b3de + md5: a57ff13af4774f422569fe6630d73c08 + sha256: 045c5d6441b6b6790d0e9a826bee129b6f6c14ce65e8c50556b8a109a84d9912 manager: conda name: boto3 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/boto3-1.24.59-pyhd8ed1ab_0.tar.bz2 - version: 1.24.59 + url: https://conda.anaconda.org/conda-forge/noarch/boto3-1.26.90-pyhd8ed1ab_0.conda + version: 1.26.90 - category: main dependencies: cachecontrol: 0.12.11 pyhd8ed1ab_1 @@ -5468,52 +5180,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/msal_extensions-1.0.0-pyhd8ed1ab_0.tar.bz2 version: 1.0.0 -- category: main - dependencies: - cachecontrol: '>=0.12.9,<0.13.0' - cachy: '>=0.3.0,<0.4.0' - cleo: '>=0.8.1,<0.9.0' - clikit: '>=0.6.2,<0.7.0' - crashtest: '>=0.3.0,<0.4.0' - html5lib: '>=1.0,<2.0' - keyring: '>=21.2.0' - lockfile: '>=0.9' - packaging: '>=20.4,<21.0' - pexpect: '>=4.7.0,<5.0.0' - pkginfo: '>=1.4,<2.0' - poetry-core: '>=1.0.7,<1.1.0' - ptyprocess: '>=0.5' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - requests: '>=2.18,<3.0' - requests-toolbelt: '>=0.9.1,<0.10.0' - shellingham: '>=1.1,<2.0' - tomlkit: '>=0.7.0,<1.0.0' - virtualenv: '>=20.0.26,<21.0.0' - hash: - md5: 0685495d547bc110b90852ad186dc8a1 - sha256: b2ae9a17f7f35b0bf422a15c3ac54766170dfbb78af5ecc77aa70d057cc13b48 - manager: conda - name: poetry - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/poetry-1.1.15-py39hf3d152e_0.tar.bz2 - version: 1.1.15 -- category: main - dependencies: - aiobotocore: '>=2.4.2,<2.4.3' - aiohttp: '' - fsspec: 2023.3.0 - python: '>=3.8' - hash: - md5: 53b2e3e80df2a18eb74d53729b9464f2 - sha256: 2737102a9d3d538dccf22fc32e32e2ec608d69c2a002a1f137091b9611bf5d6e - manager: conda - name: s3fs - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/s3fs-2023.3.0-pyhd8ed1ab_0.conda - version: 2023.3.0 - category: main dependencies: livereload: '>=2.3.0' @@ -5531,33 +5197,31 @@ package: - category: main dependencies: python: '>=2.7' - setuptools: '' - sphinx: '' + sphinx: '>=1.8' hash: - md5: 1951ebeb88189bf6d6d52039c0aa7776 - sha256: bd197a9d339d7cf9e5a563da5a4f6c62b668714e5c64a0ed5af09b008b833da2 + md5: 914897066d5873acfb13e75705276ad1 + sha256: 2e5f16a2d58f9a31443ffbb8ce3852cfccf533a6349045828cd2e994ef0679ca manager: conda name: sphinxcontrib-jquery optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jquery-2.0.0-pyhd8ed1ab_0.conda - version: 2.0.0 + url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jquery-4.1-pyhd8ed1ab_0.conda + version: '4.1' - category: main dependencies: - boto3: '>=1.19.5,<2' - jsonschema: '>=3.2,<5' - pydantic: ~=1.10.2 - python: '>=3.7' - typing_extensions: ~=4.4.0 + boto3: ~=1.5 + jsonschema: ~=3.2 + python: '>=3.6' + six: ~=1.15 hash: - md5: 1136b4bb3893069daeb272a3d6aecd7b - sha256: 9d9316f995fa2aedd97a8495b1a8b87265d3d8fc0771c8a0e51da7c3c1a0571c + md5: 6a8ad721f4edea85a40070c78f379dd4 + sha256: d9b2ff5fdf1e8de7cf80f2a14a7cb76c65c0bae18a2fe51700e6ed3c71fdb5b5 manager: conda name: aws-sam-translator optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/aws-sam-translator-1.60.1-pyhd8ed1ab_0.conda - version: 1.60.1 + url: https://conda.anaconda.org/conda-forge/noarch/aws-sam-translator-1.55.0-pyhd8ed1ab_0.conda + version: 1.55.0 - category: main dependencies: azure-core: '>=1.11.0,<2.0.0' @@ -5581,14 +5245,14 @@ package: python: '' typing_extensions: '' hash: - md5: 5a9a5263ff74eabd589aab692b8d56cf - sha256: 2f4a2d7918d6aa3256c9491ccd3786206c1329825c2b7a21c902b0cb77c82703 + md5: 72b6b21dfad72737aab3d4988b51244f + sha256: 77179ed8be45e06e010dc0143bf56201aa028ba59d573e4216be8c1a49ff372b manager: conda name: boto3-stubs optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/boto3-stubs-1.26.87-pyhd8ed1ab_0.conda - version: 1.26.87 + url: https://conda.anaconda.org/conda-forge/noarch/boto3-stubs-1.26.90-pyhd8ed1ab_0.conda + version: 1.26.90 - category: main dependencies: cachecontrol-with-filecache: '>=0.12.9' @@ -5651,6 +5315,20 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/mypy_boto3_ec2-1.26.87-pyhd8ed1ab_0.conda version: 1.26.87 +- category: main + dependencies: + boto3: '' + fsspec: '>=0.6.0' + python: '>=3.5' + hash: + md5: ead328eb12f01d88706126ba061e7a69 + sha256: 7a4cb574ff7edf773e5e4c396733dcb08ffcfd6e4f8b27e5b84b35fd4666ef5b + manager: conda + name: s3fs + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/s3fs-0.4.2-py_0.tar.bz2 + version: 0.4.2 - category: main dependencies: docutils: <0.19 @@ -5678,14 +5356,14 @@ package: pyyaml: '>5.4' sarif-om: ~=1.0.4 hash: - md5: a607f8ae4533e3b4a8f351b485daee03 - sha256: 7c1ac284f75362698321857ac6b63f53dbc7bbfe61d70ff70eecf41ae5161012 + md5: b77c6c465ed0b1214bb464f5603c5b96 + sha256: 453798fdb8af369b8c181de2598ab36c48202eb2861552b11198188e649dec3d manager: conda name: cfn-lint optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/cfn-lint-0.74.1-pyhd8ed1ab_0.conda - version: 0.74.1 + url: https://conda.anaconda.org/conda-forge/noarch/cfn-lint-0.74.3-pyhd8ed1ab_0.conda + version: 0.74.3 - category: main dependencies: aws-xray-sdk: '!=0.96,>=0.93' @@ -5715,74 +5393,43 @@ package: werkzeug: <2.2.0,>=0.5 xmltodict: '' hash: - md5: 24a19f3ea233ebd0cc0b8e6e0bc5df58 - sha256: 55e3f4fd163518afd72e926d88011cc47933779c97523b4d64b3680f99bd787b + md5: 7b8eaea28d5c08c8539c3b35a07fe3d1 + sha256: 47f8f38a9eff042ebd7754fa6c36739021c0e6cdca1848cc4b0138cfc4043ace manager: conda name: moto optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/moto-4.1.3-pyhd8ed1ab_0.conda - version: 4.1.3 -- dependencies: {} - hash: - sha256: ae88eca3024bb34bb3430f964beab71226e761f51b912de5133470b649d82344 - manager: pip - name: bcrypt - platform: linux-64 - source: null - url: https://files.pythonhosted.org/packages/aa/48/fd2b197a9741fa790ba0b88a9b10b5e88e62ff5cf3e1bc96d8354d7ce613/bcrypt-4.0.1-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - version: 4.0.1 + url: https://conda.anaconda.org/conda-forge/noarch/moto-4.1.4-pyhd8ed1ab_0.conda + version: 4.1.4 - category: main dependencies: {} hash: - sha256: 122fcb64ee37cfad5b3f48d7a7d51875d7031aaf3d8be7c42e2bee25044eee62 + sha256: c41cfb1e99ba5d341fbcc5308836e7d7c9786d302f995b2c271ce2144dece9eb manager: pip name: mock optional: false platform: linux-64 - source: null - url: https://files.pythonhosted.org/packages/5c/03/b7e605db4a57c0f6fba744b11ef3ddf4ddebcada35022927a2b5fc623fdf/mock-4.0.3-py3-none-any.whl - version: 4.0.3 -- category: main - dependencies: {} - hash: - sha256: 9967365f2037ac8fd43ff678ad1b72c82b184b2498440579d5cfae9d63e5b0f9 - manager: pip - name: mypy-boto3-ec2 - optional: false - platform: linux-64 - url: https://files.pythonhosted.org/packages/a4/60/815ee785b017d49e09f42175e791a3a3495293b0dbce7d18c74f43a1e8a4/mypy_boto3_ec2-1.21.9-py3-none-any.whl - version: 1.21.9 -- dependencies: {} - hash: - sha256: ef85cf1f693c88c1fd229ccd1055570cb41cdf4875873b7728b6301f12cd05bf - manager: pip - name: numpy - platform: linux-64 - source: null - url: https://files.pythonhosted.org/packages/43/55/fea3342371187dea4044521c0ba82b90fb5a42fb92446be019b316dd3320/numpy-1.24.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - version: 1.24.1 + url: https://files.pythonhosted.org/packages/e6/88/8a05e7ad0bb823246b2add3d2e97f990c41c71a40762c8db77a4bd78eedf/mock-5.0.1-py3-none-any.whl + version: 5.0.1 - dependencies: {} hash: sha256: 40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0 manager: pip name: pyyaml platform: linux-64 - source: null url: https://files.pythonhosted.org/packages/12/fc/a4d5a7554e0067677823f7265cb3ae22aed8a238560b5133b58cda252dad/PyYAML-6.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl version: '6.0' - category: main dependencies: six: '*' hash: - sha256: e3305297c744ae53ffa032c45dc347286165e4ffce6875dc662b205db0623d86 + sha256: 6b0ac9e93fb0335014d382b8fa9b3afa7df546984258005da0b9e7095b3deb1c manager: pip name: asttokens optional: false platform: linux-64 - source: null - url: https://files.pythonhosted.org/packages/2d/1b/fdbdf82b86e07ca90985740ac160a1dd4ab09cb81071ec12d71c701e1138/asttokens-2.0.8-py2.py3-none-any.whl - version: 2.0.8 + url: https://files.pythonhosted.org/packages/f3/e1/64679d9d0759db5b182222c81ff322c2fe2c31e156a59afd6e9208c960e5/asttokens-2.2.1-py2.py3-none-any.whl + version: 2.2.1 - category: main dependencies: numpy: '*' @@ -5792,7 +5439,6 @@ package: name: gdspy optional: false platform: linux-64 - source: null url: https://files.pythonhosted.org/packages/1d/e4/97b8add92fbec2a9890ad4777272e9a9e4d7a0ceeac42b7e1febe94f0e86/gdspy-1.4.zip version: '1.4' - category: main @@ -5805,7 +5451,6 @@ package: name: paramiko-ng optional: false platform: linux-64 - source: null url: https://files.pythonhosted.org/packages/9f/53/1ac75eab589149b1e02e38185ecebf09e1b805fc3fdeadbc16d1a2b7d208/paramiko_ng-2.8.10-py2.py3-none-any.whl version: 2.8.10 - dependencies: @@ -5815,7 +5460,6 @@ package: manager: pip name: ruamel.yaml platform: linux-64 - source: null url: https://files.pythonhosted.org/packages/9e/cb/938214ac358fbef7058343b3765c79a1b7ed0c366f7f992ce7ff38335652/ruamel.yaml-0.17.21-py3-none-any.whl version: 0.17.21 - category: main @@ -5823,14 +5467,13 @@ package: mock: '*' six: '*' hash: - sha256: 34ae88c846046742ef074036bf311dc90ab152b7bc09c342b281cebf676727a2 + sha256: c8fc6fabc0e7f6984eeabb942540e45646e5bef0bb99fe59e02da634e4d4b9ca manager: pip name: sure optional: false platform: linux-64 - source: null - url: https://files.pythonhosted.org/packages/c7/ee/043531858afab5f312ca02867de51189c0c1dd76ba652f1d95ffa13d07f7/sure-2.0.0.tar.gz - version: 2.0.0 + url: https://files.pythonhosted.org/packages/dd/ae/eb28ee3b6768e51cb938abcf521cb678217203f33385a2df54d3f23331c5/sure-2.0.1.tar.gz + version: 2.0.1 - category: main dependencies: paramiko-ng: '*' @@ -5841,7 +5484,6 @@ package: name: fab-classic optional: false platform: linux-64 - source: null url: https://files.pythonhosted.org/packages/6b/0f/efc537eebfd2a2c470250c0ac8bd8a05ffc13d95a7fb22021367890d7c46/fab_classic-1.19.2-py2.py3-none-any.whl version: 1.19.2 - category: main @@ -5852,14 +5494,13 @@ package: pyyaml: '>=6.0,<7.0' ruamel.yaml: '>=0.17.21,<0.18.0' hash: - sha256: f476c58c84d01bda7a642b09514a4ecd798503fdd47fe466b83a7945d44fcb93 + sha256: 1e4b942c42a2292f2e6140fc8df51edc8fd5f8a5c7141e471ecb1d6676fe0bb6 manager: pip name: hammer-vlsi optional: false platform: linux-64 - source: null - url: https://files.pythonhosted.org/packages/85/0f/7fcab088a5e2780d165bbea5ea3974b0f2286ddc98499e98aa29609bd0ee/hammer_vlsi-1.0.1-py3-none-any.whl - version: 1.0.1 + url: https://files.pythonhosted.org/packages/86/15/6643fe3965aabde680eab7f64eef1e3967b516640c756858cd246dd0b427/hammer_vlsi-1.0.5-py3-none-any.whl + version: 1.0.5 - category: main dependencies: asttokens: '>=2,<3' @@ -5870,7 +5511,6 @@ package: name: icontract optional: false platform: linux-64 - source: null url: https://files.pythonhosted.org/packages/d8/91/9756e7cf0b155e80bf9a62beffdd1dec4afce43cc6ab7f432f2267c62762/icontract-2.6.2-py3-none-any.whl version: 2.6.2 - category: main @@ -5878,12 +5518,11 @@ package: icontract: '>=2.0.1,<3' typing-extensions: '>=3.6.6' hash: - sha256: e5608063e3f6122db255acde636255f9c0da3a8e6b7edd35498b95280ff18961 + sha256: a70437fea7bca647c0e98161e1006ef49970267999c571b499760f1c43c6ba10 manager: pip name: pylddwrap optional: false platform: linux-64 - source: null - url: https://files.pythonhosted.org/packages/6b/4e/aebc1cff19a572dbcc7e60d8e74f38fd568ef9185650b39f72fde9ff84d1/pylddwrap-1.2.1.tar.gz - version: 1.2.1 + url: https://files.pythonhosted.org/packages/c9/12/4afd6542c43cd20271f0e53bf0211decc10079a76a41e53c0288025a7b85/pylddwrap-1.2.2.tar.gz + version: 1.2.2 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 de819a23..6d543660 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 @@ -7,28 +7,24 @@ # Install this environment as "YOURENV" with: # conda-lock install -n YOURENV --file conda-requirements-riscv-tools-linux-64.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.conda-lock.yml --update PACKAGE +# 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-circt/conda-reqs/chipyard.yaml -f /scratch/abejgonza/cy-circt/conda-reqs/riscv-tools.yaml -f /scratch/abejgonza/chipyard/conda-reqs/chipyard.yaml -f /scratch/abejgonza/chipyard/conda-reqs/riscv-tools.yaml -f /Users/joonhohwangbo/Documents/Research/coding/chipyard/conda-reqs/chipyard.yaml -f /Users/joonhohwangbo/Documents/Research/coding/chipyard/conda-reqs/riscv-tools.yaml -f /scratch/abejgonza/cy-cfg-finder/conda-reqs/chipyard.yaml -f /scratch/abejgonza/cy-cfg-finder/conda-reqs/riscv-tools.yaml --lockfile conda-requirements-riscv-tools-linux-64.conda-lock.yml +# conda-lock -f /scratch/abejgonza/cy-cfg-finder/conda-reqs/chipyard.yaml -f /scratch/abejgonza/cy-cfg-finder/conda-reqs/riscv-tools.yaml --lockfile conda-requirements-riscv-tools-linux-64.conda-lock.yml metadata: channels: - url: ucb-bar used_env_vars: [] + - url: litex-hub + used_env_vars: [] - url: conda-forge used_env_vars: [] - url: nodefaults used_env_vars: [] content_hash: - linux-64: e51f9c0b2e38f85b5879f02e9ae73bc539026c4e9196d97447f2249e5a486d43 + linux-64: bac8db52c8915b89836bc0ced08fec3e89a7c45c061493d33f5d89798a2b076e platforms: - linux-64 sources: - - /scratch/abejgonza/cy-circt/conda-reqs/chipyard.yaml - - /scratch/abejgonza/cy-circt/conda-reqs/riscv-tools.yaml - - /scratch/abejgonza/chipyard/conda-reqs/chipyard.yaml - - /scratch/abejgonza/chipyard/conda-reqs/riscv-tools.yaml - - /Users/joonhohwangbo/Documents/Research/coding/chipyard/conda-reqs/chipyard.yaml - - /Users/joonhohwangbo/Documents/Research/coding/chipyard/conda-reqs/riscv-tools.yaml - /scratch/abejgonza/cy-cfg-finder/conda-reqs/chipyard.yaml - /scratch/abejgonza/cy-cfg-finder/conda-reqs/riscv-tools.yaml package: @@ -189,14 +185,25 @@ package: - category: main dependencies: {} hash: - md5: 0dd193187d54e585cac7eab942a8847e - sha256: 89e8c4436dd04d8b4a0c13c508e930be56973a480a9714171969de953bdafd3a + md5: b81ebefd12ddbf18353d1a227f2dccf8 + sha256: d7b45d7f379d65cbbdaf557aa5e1f0e1c2aef6f1a1b7b598622e75f77da318e2 + manager: conda + name: open_pdks.sky130a + optional: false + platform: linux-64 + url: https://conda.anaconda.org/litex-hub/noarch/open_pdks.sky130a-1.0.399_0_g63dbde9-20230225_164303.tar.bz2 + version: 1.0.399_0_g63dbde9 +- category: main + dependencies: {} + hash: + md5: 4eb33d14d794b0f4be116443ffed3853 + sha256: bcb15db27eb6fbc0fe15d23aa60dcfa58ef451d92771441068d4a911aea7bb9f manager: conda name: python_abi optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.9-3_cp39.conda - version: '3.9' + url: https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.10-3_cp310.conda + version: '3.10' - category: main dependencies: {} hash: @@ -413,25 +420,12 @@ package: libstdcxx-ng: '>=12' hash: md5: 6bfb79319763a11c7423c9d0e0ee00b7 - sha256: null manager: conda name: dromajo optional: false platform: linux-64 url: https://conda.anaconda.org/ucb-bar/linux-64/dromajo-1.0.0-0_h1234567_g6a6e34e.tar.bz2 version: 1.0.0 -- category: main - dependencies: - libgcc-ng: '>=10.3.0' - hash: - md5: 40e0c155eafefec2a63d1df0de0f5cdc - sha256: 1c0b56f8c25dab0a2d4db25f0209f1fe9b83539a649dd821b97c4bfbbc12c3f7 - manager: conda - name: e2fsprogs-libs - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/e2fsprogs-libs-1.46.2-h166bdaf_0.tar.bz2 - version: 1.46.2 - category: main dependencies: libgcc-ng: '>=12' @@ -484,15 +478,15 @@ package: version: 0.21.1 - category: main dependencies: - libgcc-ng: '>=7.5.0' + libgcc-ng: '>=12' hash: - md5: 626e68ae9cc5912d6adb79d318cf962d - sha256: 6ecacdbdf5cd9d2b46211b15a2f7db428ea5edd0cae9be89ccd837fc7b35643f + 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-h36c2ea0_2.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/giflib-5.2.1-h0b41bf4_3.conda version: 5.2.1 - category: main dependencies: @@ -654,18 +648,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.17-h166bdaf_0.tar.bz2 version: '1.17' -- category: main - dependencies: - libgcc-ng: '>=12' - hash: - md5: b4f717df2d377410b462328bf0e8fb7d - sha256: 0d8b666ca4deabf948a76654df0fa1277145bed1c9e8a58e18a649c22c5f1c3e - manager: conda - name: libjpeg-turbo - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-2.1.4-h166bdaf_0.tar.bz2 - version: 2.1.4 - category: main dependencies: libgcc-ng: '>=9.4.0' @@ -890,14 +872,14 @@ package: ca-certificates: '' libgcc-ng: '>=12' hash: - md5: e043403cd18faf815bf7705ab6c1e092 - sha256: cd981c5c18463bc7a164fcf45c5cf697d58852b780b4dfa5e83c18c1fda6d7cd + md5: 2d833be81a21128e317325a01326d36f + sha256: d378afcec34b86fef4da3ebd622b3e614cb3f71e54b6a5a10adb1d23745ecc72 manager: conda name: openssl optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.0.8-h0b41bf4_0.conda - version: 3.0.8 + url: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.1.0-h0b41bf4_0.conda + version: 3.1.0 - category: main dependencies: libgcc-ng: '>=9.3.0' @@ -1905,14 +1887,14 @@ package: tzdata: '' xz: '>=5.2.6,<6.0a0' hash: - md5: 95c9b7c96a7fd7342e0c9d0a917b8f78 - sha256: 00bcb28a294aa78bf9d2a2ecaae8cb887188eae710f9197d823d36fb8a5d9767 + md5: 3cb3e91b3fe66baa68a12c85f39b9b40 + sha256: 073878d7cc9c7e25cf04983d02e6d44b531d47e0166258cbce964dd78bb716a9 manager: conda name: python optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/python-3.9.16-h2782a2a_0_cpython.conda - version: 3.9.16 + url: https://conda.anaconda.org/conda-forge/linux-64/python-3.10.9-he550d4f_0_cpython.conda + version: 3.10.9 - category: main dependencies: libgcc-ng: '>=12' @@ -2016,18 +1998,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/argcomplete-2.1.1-pyhd8ed1ab_0.conda version: 2.1.1 -- category: main - dependencies: - python: '>=3.6' - hash: - md5: f3f2ab3ce28979a24d1a988ba211eb9b - sha256: 1354731d0eb1b406b66b3cb3d6ab74d7cbe9c0ec1d30b9e5afa366d4539e4687 - manager: conda - name: asn1crypto - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/asn1crypto-1.5.1-pyhd8ed1ab_0.tar.bz2 - version: 1.5.1 - category: main dependencies: libgcc-ng: '>=12' @@ -2119,16 +2089,16 @@ package: version: 2.1.1 - category: main dependencies: - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + python: '>=3.10,<3.11.0a0' + python_abi: 3.10.* *_cp310 hash: - md5: 3613ff4128b3e565d048106196206929 - sha256: 21c425ecc4e6f4ec97aab1285b22ad629c75d2efb62f89cd6d9618ab6a2e606c + md5: 9bb8d28c0899d583a062c17b15ee3e89 + sha256: 550b1266fed8a3bbfc2e7d5cbe646668aca5b5f1c3b4ac9a17ca2d215d06785a manager: conda name: click optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/click-8.1.3-py39hf3d152e_1.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/click-8.1.3-py310hff52083_1.tar.bz2 version: 8.1.3 - category: main dependencies: @@ -2206,41 +2176,41 @@ package: version: 0.3.6 - category: main dependencies: - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + python: '>=3.10,<3.11.0a0' + python_abi: 3.10.* *_cp310 hash: - md5: 4f0fa7459a1f40a969aaad418b1c428c - sha256: 97110dd30d9b321b635cc1213e478f5e598ed80c7bdb674c0c7d23d6937f2dfe + md5: 9815d5a3a63926f0877313c07b7c5d90 + sha256: ccf4e2d33f1e2c376de05d0ca93e0cc3fccac9785c5a832e6fca9cc1ce3f7470 manager: conda name: docutils optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/docutils-0.16-py39hf3d152e_3.tar.bz2 - version: '0.16' + url: https://conda.anaconda.org/conda-forge/linux-64/docutils-0.15.2-py310hff52083_6.tar.bz2 + version: 0.15.2 - category: main dependencies: python: '>=3.7' hash: - md5: a385c3e8968b4cf8fbc426ace915fd1a - sha256: cf668360331552b2903e440cda1b4e47062c3f3775342e4a278ef4d141c28d1d + md5: 7312299d7a0ea4993159229b7d2dceb2 + sha256: f073c3ba993912f1c0027bc34a54975642885f0a4cd5f9dc42a17ca945df2c18 manager: conda name: exceptiongroup optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.1.0-pyhd8ed1ab_0.conda - version: 1.1.0 + url: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.1.1-pyhd8ed1ab_0.conda + version: 1.1.1 - category: main dependencies: python: '>=3.7' hash: - md5: 1addc115923d646ca19ed90edc413506 - sha256: 739c48f62747c942aa733041d36a2c1af41c2ecf2a59f1fec90cd7200e01be9a + md5: eca7396b6eaec18e000a4eaa1abfef94 + sha256: 50d8ecfe84778f61150527972199c4bd4f77cb86519db6d0adc179b7842ed8bb manager: conda name: filelock optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/filelock-3.9.0-pyhd8ed1ab_0.conda - version: 3.9.0 + url: https://conda.anaconda.org/conda-forge/noarch/filelock-3.9.1-pyhd8ed1ab_0.conda + version: 3.9.1 - category: main dependencies: expat: '>=2.5.0,<3.0a0' @@ -2260,16 +2230,16 @@ package: - category: main dependencies: libgcc-ng: '>=12' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + python: '>=3.10,<3.11.0a0' + python_abi: 3.10.* *_cp310 hash: - md5: e5e0bc1285c83d925b42ad139adca58f - sha256: dbbc7345460425791271e6fc34c5ee2adcc66f18f637ff6a219880dc4375a720 + md5: 25e1626333f9a0646579a162e7b174ee + sha256: 1a213bfa274e847d08cf0d8b068dc94be002c9f17acd040b5c9f2ead80c3c7c0 manager: conda name: frozenlist optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/frozenlist-1.3.3-py39hb9d737c_0.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/frozenlist-1.3.3-py310h5764c6d_0.tar.bz2 version: 1.3.3 - category: main dependencies: @@ -2305,16 +2275,16 @@ package: libgcc-ng: '>=12' mpc: '>=1.2.1,<2.0a0' mpfr: '>=4.1.0,<5.0a0' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + python: '>=3.10,<3.11.0a0' + python_abi: 3.10.* *_cp310 hash: - md5: d019ebf9a328e19c211be7e916c57b80 - sha256: f5a5ab463d7d9e9c4f6a70748adf334ad28072c9befe4748d0eaa48fccc24d56 + md5: 73f6fa50c32ddd985cf5fba7b890a75c + sha256: aeb52e14f33c17e11248bfe58383b935e101d86e89b5246373c590c7b127ab47 manager: conda name: gmpy2 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/gmpy2-2.1.2-py39h376b7d2_1.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/gmpy2-2.1.2-py310h3ec546c_1.tar.bz2 version: 2.1.2 - category: main dependencies: @@ -2345,16 +2315,16 @@ package: version: 12.2.0 - category: main dependencies: - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + python: '>=3.10,<3.11.0a0' + python_abi: 3.10.* *_cp310 hash: - md5: 3844897723d78cca5f813ad6bee5fc7b - sha256: e15ee3e17a30738fb8e2adccef809a41b388bcaf3cc9fc895c15287a86e93ce1 + md5: 43bd27c73e9e3b0bc508217ae409798f + sha256: dab441ddc4592e34b490fed4235c2c0b10b54616509c7ebc176c37c8389600d6 manager: conda name: humanfriendly optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/humanfriendly-10.0-py39hf3d152e_4.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/humanfriendly-10.0-py310hff52083_4.tar.bz2 version: '10.0' - category: main dependencies: @@ -2456,31 +2426,17 @@ package: dependencies: libgcc-ng: '>=12' libstdcxx-ng: '>=12' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + python: '>=3.10,<3.11.0a0' + python_abi: 3.10.* *_cp310 hash: - md5: 41679a052a8ce841c74df1ebc802e411 - sha256: eb28254cc7029e702d0059536d986b010221de62f9c8588a5a83e95a00b4e74d + md5: ad5647e517ba68e2868ef2e6e6ff7723 + sha256: f56d1772472b90ddda6fd0963a80dcf1960f1277b9653667a9bde62ae125f972 manager: conda name: kiwisolver optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.4.4-py39hf939315_1.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.4.4-py310hbf28c38_1.tar.bz2 version: 1.4.4 -- category: main - dependencies: - libgcc-ng: '>=12' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: a0238daacd28c07735c6bc75aedf2014 - sha256: bbae929b429f39a10432e86d87bf02864e6640287245de71edeac6b3c29b0ff7 - 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-py39h72bdee0_0.conda - version: 1.9.0 - category: main dependencies: jpeg: '>=9e,<10a' @@ -2614,16 +2570,16 @@ package: - category: main dependencies: libgcc-ng: '>=12' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + python: '>=3.10,<3.11.0a0' + python_abi: 3.10.* *_cp310 hash: - md5: 35514f5320206df9f4661c138c02e1c1 - sha256: da31fe95611393bb7dd3dee309a89328448570fd8a3205c2c55c03eb73688b61 + md5: a1f0db6709778b77b5903541eeac4032 + sha256: f62b2aeafe968472b20b6935fa7b2290d27ac38b65d98b2708c7cf0b689f9f19 manager: conda name: markupsafe optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-2.1.2-py39h72bdee0_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-2.1.2-py310h1fa729e_0.conda version: 2.1.2 - category: main dependencies: @@ -2641,30 +2597,30 @@ package: dependencies: libgcc-ng: '>=12' libstdcxx-ng: '>=12' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + python: '>=3.10,<3.11.0a0' + python_abi: 3.10.* *_cp310 hash: - md5: 413374bab5022a5199c5dd89aef75df5 - sha256: 9b4b426b97d712c1b631bb775aaa1822b06f63a0ca93343c6eee59ab06f2b46c + md5: 5311a49aaea44b73935c84a6d9a68e5f + sha256: da5030f22f6d1293ccdefefde17fcf1a5f337f87179c54dee2a2a1fc16d6d73a manager: conda name: msgpack-python optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.0.5-py39h4b4f3f3_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.0.5-py310hdf3cbec_0.conda version: 1.0.5 - category: main dependencies: libgcc-ng: '>=12' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + python: '>=3.10,<3.11.0a0' + python_abi: 3.10.* *_cp310 hash: - md5: 85d78bf46da38d726c8c6bec78f90fa8 - sha256: 130544eb072c154e7548c086f574c71b676139fea0184373bf06065114578510 + md5: b33287be963a70f8fb4b143b4561ba62 + sha256: 14312ac727a741224d45ab07f75253ca99235ec0534ba9603e627818666ff49a manager: conda name: multidict optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/multidict-6.0.4-py39h72bdee0_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/multidict-6.0.4-py310h1fa729e_0.conda version: 6.0.4 - category: main dependencies: @@ -2709,16 +2665,16 @@ package: libgcc-ng: '>=12' liblapack: '>=3.9.0,<4.0a0' libstdcxx-ng: '>=12' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + python: '>=3.10,<3.11.0a0' + python_abi: 3.10.* *_cp310 hash: - md5: 757070dc7cc33003254888808cd34f1e - sha256: c0418aa18f4fd37d3ac786058bfa29cca0b5b8eca95a2e0ae2fdd13aefc81ad6 + md5: b7085457309e206174b8e234d90a7605 + sha256: d2c58f7f9a0c023c5fe130ef781e0d77b3717cc5f78587fe97b9a57635e2a93d manager: conda name: numpy optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/numpy-1.24.2-py39h7360e5f_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/numpy-1.24.2-py310h8deb116_0.conda version: 1.24.2 - category: main dependencies: @@ -2760,18 +2716,6 @@ package: 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.7' - hash: - md5: f3e7301de38fd621c902faf8087bc564 - sha256: 7258b7f6a8e5fcd5e5a22e0a85b89e03e9cf5049d1591bc98420fd080007f25d - manager: conda - name: pathable - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/pathable-0.4.3-pyhd8ed1ab_0.tar.bz2 - version: 0.4.3 - category: main dependencies: python: '>=3.6' @@ -2786,93 +2730,44 @@ package: version: 1.9.6 - category: main dependencies: - python: '>=3.6' + python: '>=3.10,<3.11.0a0' + python_abi: 3.10.* *_cp310 hash: - md5: 89e3c7cdde7d3aaa2aee933b604dd07f - sha256: 7d055ffc8a02bf781a89d069db3454b453605cdaff300b82cedcc7133283e47e - manager: conda - name: pkgutil-resolve-name - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/pkgutil-resolve-name-1.3.10-pyhd8ed1ab_0.tar.bz2 - version: 1.3.10 -- category: main - dependencies: - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: d86903c57fe229d9dd8878a6dd9d149f - sha256: abf2d34464c6255d35703e3c9477475e3e6e353ca8675990596d2477cdbc5b52 + md5: 02e428ab589e3cefe070352c905cefec + sha256: 28967130059ac29a1298de5f4555c0ec6344ea56e32642c44f40c19d83f38162 manager: conda name: pluggy optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pluggy-1.0.0-py39hf3d152e_4.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/pluggy-1.0.0-py310hff52083_4.tar.bz2 version: 1.0.0 - category: main dependencies: - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + python: '>=3.10,<3.11.0a0' + python_abi: 3.10.* *_cp310 hash: - md5: bfefe349de77edb720cb4688821ff78e - sha256: 83cdcf4c17264d63e972f079408bd86ab15a9b14230d168b3c35b5971860be11 - manager: conda - name: poetry-core - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/poetry-core-1.0.8-py39hf3d152e_1.tar.bz2 - version: 1.0.8 -- category: main - dependencies: - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: b602cc9304197c6bf35f7a130fa8e4b8 - sha256: f16ba7446081fa6e7f29c7af12d6a9b01ad21440d83ebedca9d7185a410f6758 + md5: b640492254040227cc1cb5d13ed1d830 + sha256: 159feca2894a11ac2a3f4008fea3f675d6a7ea8f22683d6d8890b19c172db239 manager: conda name: portalocker optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/portalocker-2.7.0-py39hf3d152e_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/portalocker-2.7.0-py310hff52083_0.conda version: 2.7.0 - category: main dependencies: libgcc-ng: '>=12' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + python: '>=3.10,<3.11.0a0' + python_abi: 3.10.* *_cp310 hash: - md5: 12184951da572828fb986b06ffb63eed - sha256: 515cf2cfc0504eb5758fa9ddfabc1dcbd7182da7650828aac97c9eee35597c84 + md5: c3c55664e9becc48e6a652e2b641961f + sha256: efaf186bc3be5074ff44a25372ec0f21564c0a8f9cd3ed3e8378389745999be5 manager: conda name: psutil optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/psutil-5.9.4-py39hb9d737c_0.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/psutil-5.9.4-py310h5764c6d_0.tar.bz2 version: 5.9.4 -- category: main - dependencies: - python: '' - hash: - md5: 359eeb6536da0e687af562ed265ec263 - sha256: fb31e006a25eb2e18f3440eb8d17be44c8ccfae559499199f73584566d0a444a - manager: conda - name: ptyprocess - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd3deb0d_0.tar.bz2 - version: 0.7.0 -- category: main - dependencies: - python: '>=2.7' - hash: - md5: b4613d7e7a493916d867842a6a148054 - sha256: 268be33a290e3d51467ab29cbb5a80cf79f69dade2f2dead25d7f80d76c3543a - manager: conda - name: py - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/py-1.11.0-pyh6c4a22f_0.tar.bz2 - version: 1.11.0 - category: main dependencies: python: '' @@ -2888,16 +2783,16 @@ package: - category: main dependencies: libgcc-ng: '>=12' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + python: '>=3.10,<3.11.0a0' + python_abi: 3.10.* *_cp310 hash: - md5: 00f348bb07e883ceb502b02227b0c900 - sha256: 5ab9b896c57be67ab3c6c837c93688902540cc3eb7b30f79c7fedec8d71e8ec9 + md5: 0e565d732f6660374b45d76761c09b06 + sha256: 9bf587a2a0f0f73b71740b079507ec99282b73c596ec73cc602d7ccf73350709 manager: conda name: pycosat optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pycosat-0.6.4-py39hb9d737c_1.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/pycosat-0.6.4-py310h5764c6d_1.tar.bz2 version: 0.6.4 - category: main dependencies: @@ -2911,19 +2806,6 @@ package: 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.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: fdd9fda18e2af3df572dbeccaaff135a - sha256: 3f6e7c4727df937e72ba78853933c64153ecb5588391c4c97cb019cca1c6fa94 - manager: conda - name: pyinotify - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pyinotify-0.9.6-py39hf3d152e_1006.tar.bz2 - version: 0.9.6 - category: main dependencies: python: '>=3.6' @@ -2963,29 +2845,29 @@ package: - category: main dependencies: libgcc-ng: '>=12' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + python: '>=3.10,<3.11.0a0' + python_abi: 3.10.* *_cp310 hash: - md5: 659013ef00dcd1751bfd26d894f73857 - sha256: 8b8719429dc47dd15252fe65fc77a3ad81f25aa5f4db0e6b1d7cdc54722e6ef4 + md5: f732bec05ecc2e302a868d971ae484e0 + sha256: 7c1d3f51959fd5e829a114157bb110fdd6335d1c518293b4203474c78d9b48f9 manager: conda name: pyrsistent optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pyrsistent-0.19.3-py39h72bdee0_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/pyrsistent-0.19.3-py310h1fa729e_0.conda version: 0.19.3 - category: main dependencies: - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + python: '>=3.10,<3.11.0a0' + python_abi: 3.10.* *_cp310 hash: - md5: d34b97a2386932b97c7cb80916a673e7 - sha256: 42d46baeab725d3c70d22a4258549e9f0f1a72b740166cd9c3b394c4369cb306 + md5: 378f2260e871f3ea46c6fa58d9f05277 + sha256: cb6e4821234cee05acd1996cef88e40dfc2d5ab12cf12c5b1d6ed9118f7f41a7 manager: conda name: pysocks optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pysocks-1.7.1-py39hf3d152e_5.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/pysocks-1.7.1-py310hff52083_5.tar.bz2 version: 1.7.1 - category: main dependencies: @@ -3015,64 +2897,65 @@ package: - category: main dependencies: libgcc-ng: '>=12' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + python: '>=3.10,<3.11.0a0' + python_abi: 3.10.* *_cp310 yaml: '>=0.2.5,<0.3.0a0' hash: - md5: 36a51b5f1856dc5a8d781220a4bc54ba - sha256: da790c97de2d40421caa5e7119ab4674302603b56f23849660392ab571c52aaa + md5: 99a4d5b5df0c98e65fe625ea3ba8cc82 + sha256: 2c1b9e511cec0f90cdf524fe873d87d31cf96917a11552848d298e77e2309418 manager: conda name: pyyaml optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-5.4.1-py39hb9d737c_4.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-5.4.1-py310h5764c6d_4.tar.bz2 version: 5.4.1 - category: main dependencies: - expat: '>=2.4.8,<3.0a0' + __glibc: '>=2.17,<3.0.a0' + expat: '>=2.5.0,<3.0a0' gmp: '>=6.2.1,<7.0a0' - libzlib: '>=1.2.12,<1.3.0a0' - mpc: '>=1.2.1,<2.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.9.* *_cp39 + python_abi: 3.10.* *_cp310 hash: - md5: 8a574054a336665b34ffebca58dba813 - sha256: null + 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.1-0_h1234567_gdcdbcaf.tar.bz2 - version: 1.0.1 + 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.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + python: '>=3.10,<3.11.0a0' + python_abi: 3.10.* *_cp310 hash: - md5: d9da3b1d13895666f4cc2559d37b8de4 - sha256: b75af1f9c7a7f26215f7afbaa6fb84f34c08cf1bca6d5b8b248267dea62f4742 + md5: 2f9b517412af46255cef5e53a22c264e + sha256: 4a74013e0e9dd6fa984a10edb53276cf42308d99404375b81548af019bfd068d 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-py39h72bdee0_1.conda + url: https://conda.anaconda.org/conda-forge/linux-64/ruamel.yaml.clib-0.2.7-py310h1fa729e_1.conda version: 0.2.7 - category: main dependencies: libgcc-ng: '>=12' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + python: '>=3.10,<3.11.0a0' + python_abi: 3.10.* *_cp310 yaml: '>=0.2.5,<0.3.0a0' hash: - md5: f862616e19cd2aaa411d24725116b486 - sha256: 762f7719759ea01a81817424cc23d45e595aeabaa6e27adc0a70dadedd4301d2 + md5: f588192bd22fb64650ccb5781cd83fb0 + sha256: 4a17acbb2fae7b567b9f7527eb50833c266df00de7fee41f18bb2006dfab8939 manager: conda name: ruamel_yaml optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/ruamel_yaml-0.15.80-py39hb9d737c_1008.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/ruamel_yaml-0.15.80-py310h5764c6d_1008.tar.bz2 version: 0.15.80 - category: main dependencies: @@ -3086,18 +2969,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/setuptools-67.6.0-pyhd8ed1ab_0.conda version: 67.6.0 -- category: main - dependencies: - python: '>=3.6' - hash: - md5: 65bacdee3cac51e49f45d530bbd5e90f - sha256: 5e00e61916a46c1857871adec258952a50a86542883bcbaa1f1df572bd51e786 - manager: conda - name: shellingham - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/shellingham-1.5.0-pyhd8ed1ab_0.tar.bz2 - version: 1.5.0 - category: main dependencies: python: '' @@ -3218,18 +3089,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/sty-1.0.0-pyhd8ed1ab_0.tar.bz2 version: 1.0.0 -- category: main - dependencies: - python: '>=2.7' - hash: - md5: f832c45a477c78bebd107098db465095 - sha256: f0f3d697349d6580e4c2f35ba9ce05c65dc34f9f049e85e45da03800b46139c1 - manager: conda - name: toml - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_0.tar.bz2 - version: 0.10.2 - category: main dependencies: python: '>=3.7' @@ -3257,16 +3116,16 @@ package: - category: main dependencies: libgcc-ng: '>=12' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + python: '>=3.10,<3.11.0a0' + python_abi: 3.10.* *_cp310 hash: - md5: 8a7d309b08cff6386fe384aa10dd3748 - sha256: 67c3eef0531caf75a81945844288f363cd3b7b029829bd91ed0994bf6b231f34 + md5: be4a201ac582c11d89ed7d15b3157cc3 + sha256: 7ca198ff3c4e9ab0a8c19fbd8dafe4ae7ff52dc12c24fa5abba88785269dc5d9 manager: conda name: tornado optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.2-py39hb9d737c_1.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.2-py310h5764c6d_1.tar.bz2 version: '6.2' - category: main dependencies: @@ -3331,34 +3190,17 @@ package: - category: main dependencies: libgcc-ng: '>=12' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + python: '>=3.10,<3.11.0a0' + python_abi: 3.10.* *_cp310 hash: - md5: 230d65004135bf312504a1bbcb0c7a08 - sha256: 03c2cf05d1f4f2b01fc1e3ced22d5f331f2f233e335c4a4cd11a31fea1fccc0c + md5: e972c5a1f472561cf4a91962cb01f4b4 + sha256: 332732c2b87445c3e071c86cacfbc72a99ba4ea55d0b9d65416894253782ca02 manager: conda name: unicodedata2 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-15.0.0-py39hb9d737c_0.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-15.0.0-py310h5764c6d_0.tar.bz2 version: 15.0.0 -- category: main - dependencies: - libgcc-ng: '>=9.3.0' - ncurses: '>=6.2,<7.0.0a0' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - readline: '>=8.0,<9.0a0' - zlib: '>=1.2.11,<1.3.0a0' - hash: - md5: bf0434c73a112c64bb1dd4ea6129e8c2 - sha256: c456c945aeb463d725ce133934f0294a2f4b85bd6ca6d433f3f95454d1112d6b - manager: conda - name: util-linux - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/util-linux-2.36-py39h28948ff_1.tar.bz2 - version: '2.36' - category: main dependencies: flex: '>=2.6.4,<3.0a0' @@ -3385,16 +3227,16 @@ package: libstdcxx-ng: '>=12' ncurses: '>=6.3,<7.0a0' perl: '>=5.32.1,<5.33.0a0 *_perl5' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + python: '>=3.10,<3.11.0a0' + python_abi: 3.10.* *_cp310 hash: - md5: 8f23fe6252f0db61a467fc68235a6c6c - sha256: 1ff7b1aa32d188658e797ba09579afc9712ef00a5b10700ebc10d57155dcd299 + md5: 7cd55a1679e39c90e105c216d12af54b + sha256: fc189bde7d79ec70de87f176756b6cc04d9008c3e0de5d66f8832f7f9c85274c manager: conda name: vim optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/vim-9.0.0814-py39pl5321h20e6244_0.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/vim-9.0.0814-py310pl5321hade1898_0.tar.bz2 version: 9.0.0814 - category: main dependencies: @@ -3436,27 +3278,27 @@ package: dependencies: python: '>=3.7' hash: - md5: c829cfb8cb826acb9de0ac1a2df0a940 - sha256: bd4f11ff075ff251ade9f57686f31473e25be46ab282d9603f551401250f9f44 + md5: 49bb0d9e60ce1db25e151780331bb5f3 + sha256: 79b4d29b0c004014a2abd5fc2c9fcd35cc6256222b960c2a317a27c4b0d8884d manager: conda name: wheel optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/wheel-0.38.4-pyhd8ed1ab_0.tar.bz2 - version: 0.38.4 + url: https://conda.anaconda.org/conda-forge/noarch/wheel-0.40.0-pyhd8ed1ab_0.conda + version: 0.40.0 - category: main dependencies: libgcc-ng: '>=12' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + python: '>=3.10,<3.11.0a0' + python_abi: 3.10.* *_cp310 hash: - md5: 6bafe9bada45b1188748b658b8a6c5cf - sha256: a0e68749cd65b40637a4470d777a21f1b2cd5ca6b6af858e3d8b4d91ba131aa3 + md5: cbfdcc9c243ac7f080cf60833b482f97 + sha256: a9c0b455c26f24b5ba2626440c375aa636b6d80fff3efe90d8f61cec8f7018a0 manager: conda name: wrapt optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/wrapt-1.15.0-py39h72bdee0_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/wrapt-1.15.0-py310h1fa729e_0.conda version: 1.15.0 - category: main dependencies: @@ -3524,19 +3366,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/zipp-3.15.0-pyhd8ed1ab_0.conda version: 3.15.0 -- category: main - dependencies: - python: '>=3.6' - typing_extensions: '>=4.0' - hash: - md5: 59c40397276a286241c65faec5e1be3c - sha256: be2dbd6710438fa48b83bf06841091227276ae545d145dfe5cb5149c6484e951 - manager: conda - name: aioitertools - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/aioitertools-0.11.0-pyhd8ed1ab_0.tar.bz2 - version: 0.11.0 - category: main dependencies: frozenlist: '>=1.1.0' @@ -3595,16 +3424,16 @@ package: libffi: '>=3.4,<4.0a0' libgcc-ng: '>=12' pycparser: '' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + python: '>=3.10,<3.11.0a0' + python_abi: 3.10.* *_cp310 hash: - md5: 20080319ef73fbad74dcd6d62f2a3ffe - sha256: 485a8f65c58c26c7d48bfea20ed1d6f1493f3329dd2c9c0a888a1c2b7c2365c5 + md5: 800596144bb613cd7ac58b80900ce835 + sha256: f223c8782195f19dbe7cfd27e329de8b0e2205a090ee2a6891e0695d4d634854 manager: conda name: cffi optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/cffi-1.15.1-py39he91dace_3.conda + url: https://conda.anaconda.org/conda-forge/linux-64/cffi-1.15.1-py310h255011f_3.conda version: 1.15.1 - category: main dependencies: @@ -3677,16 +3506,16 @@ package: libgcc-ng: '>=12' libstdcxx-ng: '>=12' numpy: '>=1.16' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + python: '>=3.10,<3.11.0a0' + python_abi: 3.10.* *_cp310 hash: - md5: c5387f3fb1f5b8b71e1c865fc55f4951 - sha256: 74a767b73686caf0bb1d1186cd62a54f01e03ad5432eaaf0a7babad7634c4067 + md5: 7bf9d8c765b6b04882c719509652c6d6 + sha256: 670b736e895ed1b37187e0cbc73fd528414076f370068975135db2420af8663d manager: conda name: contourpy optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.0.7-py39h4b4f3f3_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.0.7-py310hdf3cbec_0.conda version: 1.0.7 - category: main dependencies: @@ -3705,33 +3534,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/linux-64/curl-7.88.1-hdc1c0ab_0.conda version: 7.88.1 -- category: main - dependencies: - python: '' - six: '>=1.4.0' - hash: - md5: c69f19038efee4eb534623610d0c2053 - sha256: 2ba7e3e4f75e07b42246b4ba8569c983ecbdcda47b1b900632858a23d91826f2 - manager: conda - name: docker-pycreds - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/docker-pycreds-0.4.0-py_0.tar.bz2 - version: 0.4.0 -- category: main - dependencies: - e2fsprogs-libs: 1.46.2 h166bdaf_0 - libgcc-ng: '>=10.3.0' - util-linux: '>=2.36,<2.37.0a0' - hash: - md5: 3a5caf0e611d38f05b004a25423e07cb - sha256: fac9c225ac324519cf1224cd87c201a7b18f0c5f42033ef9db7a480a9163f348 - manager: conda - name: e2fsprogs - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/e2fsprogs-1.46.2-h166bdaf_0.tar.bz2 - version: 1.46.2 - category: main dependencies: gmpy2: '' @@ -3772,17 +3574,17 @@ package: brotli: '' libgcc-ng: '>=12' munkres: '' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + python: '>=3.10,<3.11.0a0' + python_abi: 3.10.* *_cp310 unicodedata2: '>=14.0.0' hash: - md5: 7ed17a60087175112fbbf5882bebddc2 - sha256: cd5bce3af985c9ada2d9cc1c42f5c6f135fabbb56c2917fc7c9f5ecf27f3cff0 + md5: c8a9099d7b381fa9860d4c68bbd7e7a3 + sha256: 4a1bddf064521479280be397d422e7562673efb74868d0918ea590f9fa737ff0 manager: conda name: fonttools optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.39.0-py39h72bdee0_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.39.0-py310h1fa729e_0.conda version: 4.39.0 - category: main dependencies: @@ -3837,19 +3639,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-6.0.0-pyha770c72_0.conda version: 6.0.0 -- category: main - dependencies: - python: '>=3.7' - zipp: '>=3.1.0' - hash: - md5: e5fd2260a231ee63b6969f4801082f2b - sha256: 091cca3e010f7a7353152f0abda2d68cfd83ddde80a15e974d9e18b2047e7be2 - manager: conda - name: importlib_resources - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-5.12.0-pyhd8ed1ab_0.conda - version: 5.12.0 - category: main dependencies: more-itertools: '' @@ -3962,18 +3751,18 @@ package: libgcc-ng: '>=12' mypy_extensions: '>=0.4.3' psutil: '>=4.0' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + python: '>=3.10,<3.11.0a0' + python_abi: 3.10.* *_cp310 tomli: '>=1.1.0' typing_extensions: '>=3.10' hash: - md5: e25a18721970f7bb80a0d602ef3c72ad - sha256: 1ff6a68e7c511e2bb70b51466134706e33a322a3ef2544c7adc3524bd51624f1 + md5: 7f519094ddab6b939cf6dae229c3b17b + sha256: d58fd7f0c34995d5dd829eff8b4261e782b65a6bb50f072919f0d0002fd35a77 manager: conda name: mypy optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/mypy-1.1.1-py39h72bdee0_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/mypy-1.1.1-py310h1fa729e_0.conda version: 1.1.1 - category: main dependencies: @@ -3988,19 +3777,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.7.0-pyhd8ed1ab_0.tar.bz2 version: 1.7.0 -- category: main - dependencies: - ptyprocess: '>=0.5' - python: '' - hash: - md5: 5909e7b978141dd80d28dbf9de627827 - sha256: 04eef875d461732ef22cd19bf2c989c40e73b5da625bf6a6b82ddae200e90e56 - manager: conda - name: pexpect - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.8.0-pyh9f0ad1d_2.tar.bz2 - version: 4.8.0 - category: main dependencies: freetype: '>=2.12.1,<3.0a0' @@ -4012,17 +3788,17 @@ package: libxcb: '>=1.13,<1.14.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 + python: '>=3.10,<3.11.0a0' + python_abi: 3.10.* *_cp310 tk: '>=8.6.12,<8.7.0a0' hash: - md5: d2f79132b9c8e416058a4cd84ef27b3d - sha256: 77348588ae7cc8034b63e8a71b6695ba22761e1c531678e724cf06a12be3d1e2 + md5: bbea829b541aa15df5c65bd40b8c1981 + sha256: 6d17af4c8bc8d8668d033725dd4691cfac86fdf0f46f655ab6f5df3e3ae0bb7c manager: conda name: pillow optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pillow-9.4.0-py39h2320bf1_1.conda + url: https://conda.anaconda.org/conda-forge/linux-64/pillow-9.4.0-py310h023d228_1.conda version: 9.4.0 - category: main dependencies: @@ -4102,19 +3878,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/ucb-bar/linux-64/qemu-5.0.0-hb15d774_0.tar.bz2 version: 5.0.0 -- category: main - dependencies: - python: '>=3.5' - six: '' - hash: - md5: fed45fc5ea0813240707998abe49f520 - sha256: 7c7052b51de0b5c558f890bb11f8b5edbb9934a653d76be086b1182b9f54185d - manager: conda - name: rfc3339-validator - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/rfc3339-validator-0.1.4-pyhd8ed1ab_0.tar.bz2 - version: 0.1.4 - category: main dependencies: pyasn1: '>=0.1.3' @@ -4131,18 +3894,18 @@ package: - category: main dependencies: libgcc-ng: '>=12' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + python: '>=3.10,<3.11.0a0' + python_abi: 3.10.* *_cp310 ruamel.yaml.clib: '>=0.1.2' setuptools: '' hash: - md5: b64be7a2bbc2acc61c1a2161512387c2 - sha256: 1dd205a1ab9897482804b5ef3f2a1cea44f01e831d1bcff439d1e0894ab0e4a9 + md5: 97204ae92b703d74a983db0e6d07d009 + sha256: 2e390037976718f762b8db6703aadeb950fe4c409c64a7e5985157cbb2d58d52 manager: conda name: ruamel.yaml optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/ruamel.yaml-0.17.21-py39h72bdee0_3.conda + url: https://conda.anaconda.org/conda-forge/linux-64/ruamel.yaml-0.17.21-py310h1fa729e_3.conda version: 0.17.21 - category: main dependencies: @@ -4216,16 +3979,16 @@ package: idna: '>=2.0' libgcc-ng: '>=12' multidict: '>=4.0' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + python: '>=3.10,<3.11.0a0' + python_abi: 3.10.* *_cp310 hash: - md5: fc75e67104cc1bdd6aa2a3b970b19f7f - sha256: 0fb71fdb26db6e49ad92a09ffd26c99145dc02eeb8e15e48fde4437b6237ea58 + md5: a88cda17074955bdb5e93b8e3be59e7d + sha256: eb7fd99bf87e0d150ee6946479172688ded1c4fb51382ad27be5da217cd8815b manager: conda name: yarl optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/yarl-1.8.2-py39hb9d737c_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/yarl-1.8.2-py310h5764c6d_0.conda version: 1.8.2 - category: main dependencies: @@ -4245,32 +4008,32 @@ package: cffi: '>=1.1' libgcc-ng: '>=12' pip: '' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + python: '>=3.10,<3.11.0a0' + python_abi: 3.10.* *_cp310 six: '>=1.4.1' hash: - md5: 93f72f06a4b00ce36d16007c01e6d1aa - sha256: 8afe6676576da6e661ab7c0f2dfa52acc9e6f9bfc5ad2f1d57bf5131ddbdd975 + md5: b9ed1abcb93da7b8683fd071b81bab6c + sha256: cd7a5ea724a05f16ff74fdf7fcd1d13ba179e37f600bb56d137ad13a5139ec83 manager: conda name: bcrypt optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/bcrypt-3.2.2-py39hb9d737c_1.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/bcrypt-3.2.2-py310h5764c6d_1.tar.bz2 version: 3.2.2 - category: main dependencies: cffi: '>=1.0.0' libgcc-ng: '>=12' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + python: '>=3.10,<3.11.0a0' + python_abi: 3.10.* *_cp310 hash: - md5: a639fdd9428d8b25f8326a3838d54045 - sha256: 293229afcd31e81626e5cfe0478be402b35d29b73aa421a49470645debda5019 + md5: 87669c3468dff637bbd0363bc0f895cf + sha256: a37f9a00170f48e71b67bb4547e8bf352dcee4e4a79a55f087b512022cc64a0d manager: conda name: brotlipy optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/brotlipy-0.7.0-py39hb9d737c_1005.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/brotlipy-0.7.0-py310h5764c6d_1005.tar.bz2 version: 0.7.0 - category: main dependencies: @@ -4289,34 +4052,21 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/linux-64/clang-format-15.0.7-default_had23c3d_1.conda version: 15.0.7 -- category: main - dependencies: - clikit: '>=0.6.0,<0.7.0' - python: '>=3.6' - hash: - md5: 4c82b11a3d06031bd58e7d869f53d965 - sha256: a3a5beaf5b4a5ba671580164e6b1da77837f9d69414b095bd3231e84a85f505c - manager: conda - name: cleo - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/cleo-0.8.1-pyhd8ed1ab_2.tar.bz2 - version: 0.8.1 - category: main dependencies: cffi: '>=1.12' libgcc-ng: '>=12' openssl: '>=3.0.8,<4.0a0' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + python: '>=3.10,<3.11.0a0' + python_abi: 3.10.* *_cp310 hash: - md5: c492b565817a019f025c7d17b57ef479 - sha256: 66ae341f51f6832de23f0047ea9e23fdf2f7e5fcd72faa814b17a7497a096e07 + md5: 99dc5a02a8b16cd88ca9a12354496e78 + sha256: 23d3015849c45febab3085ecf2cc193c0966c1e2348756722b776f1cedea8596 manager: conda name: cryptography optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/cryptography-39.0.2-py39h079d5ae_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/cryptography-39.0.2-py310h34c0648_0.conda version: 39.0.2 - category: main dependencies: @@ -4361,14 +4111,14 @@ package: pcre2: '>=10.40,<10.41.0a0' perl: 5.* hash: - md5: 7311557191b94fb57e6f58a8d996b694 - sha256: ae95471eb6fdf56b2801b8bb6a191ab377c8161cdba5d763030f5cad9af1c1fd + md5: 70fd89375d9b5ca90c15dcf3662b1b42 + sha256: fba1e93848c20e29d205726142fb37ad7e2be785699f98aac348524080354f6d manager: conda name: git optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/git-2.39.2-pl5321h693f4a3_0.conda - version: 2.39.2 + url: https://conda.anaconda.org/conda-forge/linux-64/git-2.40.0-pl5321h693f4a3_0.conda + version: 2.40.0 - category: main dependencies: gitdb: '>=4.0.1,<5' @@ -4401,19 +4151,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-6.0.0-h8e241bc_0.conda version: 6.0.0 -- category: main - dependencies: - importlib_resources: '>=5.12.0,<5.12.1.0a0' - python: '>=3.7' - hash: - md5: 3544c818f0720c89eb16ae6940ab440b - sha256: 0675df2bf18e52d0ea2bc5e1009faac273f059361a0caf36c0e0edc7831098a9 - manager: conda - name: importlib-resources - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/importlib-resources-5.12.0-pyhd8ed1ab_0.conda - version: 5.12.0 - category: main dependencies: importlib-metadata: '>=6.0.0,<6.0.1.0a0' @@ -4450,7 +4187,6 @@ package: libzlib: '>=1.2.12,<1.3.0a0' hash: md5: 5b3ed39ee3809d63d347b649de0a45f8 - sha256: null manager: conda name: libdwarf optional: false @@ -4459,21 +4195,48 @@ package: version: 0.0.0.20190110_28_ga81397fc4 - category: main dependencies: + certifi: '>=2020.06.20' + contourpy: '>=1.0.1' + cycler: '>=0.10' + fonttools: '>=4.22.0' + freetype: '>=2.12.1,<3.0a0' + kiwisolver: '>=1.0.1' libgcc-ng: '>=12' libstdcxx-ng: '>=12' - numpy: '>=1.20.3,<2.0a0' - python: '>=3.9,<3.10.0a0' + numpy: '>=1.21.6,<2.0a0' + packaging: '>=20.0' + pillow: '>=6.2.0' + pyparsing: '>=2.3.1' + python: '>=3.10,<3.11.0a0' + python-dateutil: '>=2.7' + python_abi: 3.10.* *_cp310 + tk: '>=8.6.12,<8.7.0a0' + hash: + md5: 68b2dd34c69d08b05a9db5e3596fe3ee + sha256: d2be8ac0a90aa12ba808f8777d1837b5aa983fc3c7c60c600e8fe6bd9352541c + manager: conda + name: matplotlib-base + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.7.1-py310he60537e_0.conda + version: 3.7.1 +- category: main + dependencies: + libgcc-ng: '>=12' + libstdcxx-ng: '>=12' + numpy: '>=1.21.6,<2.0a0' + python: '>=3.10,<3.11.0a0' python-dateutil: '>=2.8.1' - python_abi: 3.9.* *_cp39 + python_abi: 3.10.* *_cp310 pytz: '>=2020.1' hash: - md5: 3ea96adbbc2a66fa45178102a9cfbecc - sha256: a71fb9584f2b58e260fa565d5f27af763f21ed2afeede79e7d848620691bd765 + md5: 467244b0dbb7da40927ac6ee0e9491de + sha256: 289bdc902fb8c536d8fe1297fdc97bb17f01a9b19ad15d96fc8ba0dbe239a379 manager: conda name: pandas optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pandas-1.5.3-py39h2ad29b5_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/pandas-1.5.3-py310h9b08913_0.conda version: 1.5.3 - category: main dependencies: @@ -4493,45 +4256,45 @@ package: python: '>=3.7' typing-extensions: '>=4.4' hash: - md5: 0b8fbdfd52918bc2f1b76feccd95c919 - sha256: bb3f0b4eeb3244a99aae8ada600b90efbaaa66f28d064bdd437dc326cd210f87 + md5: 1d1a27f637808c76dd83e3f469aa6f7e + sha256: 5875ef7f4b079fe080c10287b13843860bc69a42e457729a8c5dc32cb3563e92 manager: conda name: platformdirs optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-3.1.0-pyhd8ed1ab_0.conda - version: 3.1.0 + url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-3.1.1-pyhd8ed1ab_0.conda + version: 3.1.1 - category: main dependencies: libgcc-ng: '>=12' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + python: '>=3.10,<3.11.0a0' + python_abi: 3.10.* *_cp310 typing-extensions: '>=4.2.0' hash: - md5: f9528d54782423f164ae187be76ead28 - sha256: b18342ce213c8f4482eeca7c34944dd904e62e063a5783089203d3fa907b9ab0 + md5: d84eeeb2a7ef8ef996bb6acdb5ecdeb6 + sha256: 8ea1a03876dcf6432acd88f15cdb64bf4f985ea54599adef552f376cf68cf7a7 manager: conda name: pydantic optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pydantic-1.10.6-py39h72bdee0_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/pydantic-1.10.6-py310h1fa729e_0.conda version: 1.10.6 - category: main dependencies: cffi: '>=1.4.1' libgcc-ng: '>=12' libsodium: '>=1.0.18,<1.0.19.0a0' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + python: '>=3.10,<3.11.0a0' + python_abi: 3.10.* *_cp310 six: '' hash: - md5: 1022b37795420d806b7b36b4e622ee9b - sha256: 937447b9122e4fe2525aba3568bd0635123e6293564b157ccb6753300553d84e + md5: 61e89a7a37bee9dd72449733a9273ae2 + sha256: 187c844010404d7b6e21926c66301b03ed90de20d26021f7ee7965fa1e81f4d9 manager: conda name: pynacl optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pynacl-1.5.0-py39hb9d737c_2.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/pynacl-1.5.0-py310h5764c6d_2.tar.bz2 version: 1.5.0 - category: main dependencies: @@ -4564,29 +4327,29 @@ package: pip: '' python: '>=3.7,<4.0' hash: - md5: d1c9c56188d38c4d0ea625fa45bd9000 - sha256: bec15a25d19fbef4454e280d2a49d09eb72a6650983b769be28dab07ed36832d + md5: 1b96b6926c03bc190c9425da6cc637e7 + sha256: dfa8e083442b18006c0015154b5e88dbe624a268ec9fd8abe4959dae484d5ef3 manager: conda name: types-awscrt optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/types-awscrt-0.16.11-pyhd8ed1ab_0.conda - version: 0.16.11 + url: https://conda.anaconda.org/conda-forge/noarch/types-awscrt-0.16.12-pyhd8ed1ab_0.conda + version: 0.16.12 - category: main dependencies: cffi: '' libgcc-ng: '>=12' libstdcxx-ng: '>=12' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + python: '>=3.10,<3.11.0a0' + python_abi: 3.10.* *_cp310 hash: - md5: 0f11bcdf9669a5ae0f39efd8c830209a - sha256: c0cfb2935d12f6300c65e8503eacdabe34d4b125ce0c3c87a0818e2d72c0c056 + md5: 703ff1ac7d1b27fb5944b8052b5d1edb + sha256: 3813d8579d5472cc182a56a6bf4c7b14085adfe0f7157af0d595efefb27b8e5c manager: conda name: ukkonen optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/ukkonen-1.0.1-py39hf939315_3.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/ukkonen-1.0.1-py310hbf28c38_3.tar.bz2 version: 1.0.1 - category: main dependencies: @@ -4609,17 +4372,17 @@ package: dependencies: cffi: '>=1.11' libgcc-ng: '>=12' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + python: '>=3.10,<3.11.0a0' + python_abi: 3.10.* *_cp310 zstd: '>=1.5.2,<1.6.0a0' hash: - md5: 6023bdb101f9c7fcf11595442cb832b0 - sha256: 7297303784e4b4964fa15eac0d0559f3598d9abf8d941b33f51315c590e16eda + md5: 2cce1a48e6687f64d371d2e7fc9c7fbf + sha256: 97f69cae6513a1c64ce2ec87380f9a177e386af398300921a869c07e826b4949 manager: conda name: zstandard optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.19.0-py39h29414ee_1.conda + url: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.19.0-py310hdeb6495_1.conda version: 0.19.0 - category: main dependencies: @@ -4630,17 +4393,17 @@ package: frozenlist: '>=1.1.1' libgcc-ng: '>=12' multidict: '>=4.5,<7.0' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + python: '>=3.10,<3.11.0a0' + python_abi: 3.10.* *_cp310 yarl: '>=1.0,<2.0' hash: - md5: 0e856218fc838b36e1b340f574b7885f - sha256: 7f842b7b71cd366cf82a6aa0492ede328d31dc73738d9b56cf1866e7d10a708b + md5: ad96f1f4a5a53f6e474953539d0f73ea + sha256: 0ea7c35b73cb454d1479bef3328ab3abfec6908449cef925d10a33725e53d294 manager: conda name: aiohttp optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/aiohttp-3.8.4-py39h72bdee0_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/aiohttp-3.8.4-py310h1fa729e_0.conda version: 3.8.4 - category: main dependencies: @@ -4648,14 +4411,14 @@ package: types-awscrt: '' typing_extensions: '' hash: - md5: 038f7d8f0f0b7cae4aee87bfbd09bd06 - sha256: 4c3babde56c86a3d0f83add59002275f8e8fd328acf432377c86ceb82b693131 + md5: 77b2ba7cde37be73d8edfd6b292e9ee9 + sha256: e9fe8bc0b8fa005067cd67d24456157afc9d6082b1e2bb229ffde3061ad02e5b manager: conda name: botocore-stubs optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/botocore-stubs-1.29.88-pyhd8ed1ab_0.conda - version: 1.29.88 + url: https://conda.anaconda.org/conda-forge/noarch/botocore-stubs-1.29.90-pyhd8ed1ab_0.conda + version: 1.29.90 - category: main dependencies: clang-format: 15.0.7 default_had23c3d_1 @@ -4706,14 +4469,14 @@ package: python: '>=3.6' ukkonen: '' hash: - md5: 4d66c7eacd0d9be4fd00ce591854eba4 - sha256: a5fd392324fb841f28b3cd7179f4906a8d3d40b52b1fc231829d9455a0fd79b3 + md5: e886aa3ceb206963720799725ffcd414 + sha256: 688845fde60145cdeb47d78de3d9632ef6bd4d4793bdf1cb9055ed2fc0a84a8a manager: conda name: identify optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/identify-2.5.19-pyhd8ed1ab_0.conda - version: 2.5.19 + url: https://conda.anaconda.org/conda-forge/noarch/identify-2.5.20-pyhd8ed1ab_0.conda + version: 2.5.20 - category: main dependencies: importlib_metadata: '' @@ -4727,22 +4490,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/jsonpickle-2.2.0-pyhd8ed1ab_0.tar.bz2 version: 2.2.0 -- category: main - dependencies: - jsonschema: '>=4.0.0,<5.0.0' - pathable: '>=0.4.1,<0.5.0' - python: '>=3.6' - pyyaml: '>=5.1' - typing_extensions: '>=4.3.0,<5.0.0' - hash: - md5: a0266083a9eb9c4871fb27c1b30681b7 - sha256: 6bc2645c224994d2f456a59972aaf194937e373381bd5ae2c12052577b8a1db4 - manager: conda - name: jsonschema-spec - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-spec-0.1.2-pyhd8ed1ab_0.tar.bz2 - version: 0.1.2 - category: main dependencies: elfutils: '>=0.187,<0.188.0a0' @@ -4751,41 +4498,12 @@ package: libzlib: '>=1.2.12,<1.3.0a0' hash: md5: 899c511688e6c41cb51c2921a8d25e63 - sha256: null manager: conda name: libdwarf-dev optional: false platform: linux-64 url: https://conda.anaconda.org/ucb-bar/linux-64/libdwarf-dev-0.0.0.20190110_28_ga81397fc4-h753d276_0.tar.bz2 version: 0.0.0.20190110_28_ga81397fc4 -- category: main - dependencies: - certifi: '>=2020.06.20' - contourpy: '>=1.0.1' - cycler: '>=0.10' - fonttools: '>=4.22.0' - freetype: '>=2.12.1,<3.0a0' - importlib-resources: '>=3.2.0' - kiwisolver: '>=1.0.1' - libgcc-ng: '>=12' - libstdcxx-ng: '>=12' - numpy: '>=1.20.3,<2.0a0' - packaging: '>=20.0' - pillow: '>=6.2.0' - pyparsing: '>=2.3.1' - python: '>=3.9,<3.10.0a0' - python-dateutil: '>=2.7' - python_abi: 3.9.* *_cp39 - tk: '>=8.6.12,<8.7.0a0' - hash: - md5: f2a931db797bb58bd335f4a857b4c898 - sha256: 34f8db992c68bee53fb6f0212707503ce197d13fadc231dbc37a99f31f72879a - manager: conda - name: matplotlib-base - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.7.1-py39he190548_0.conda - version: 3.7.1 - category: main dependencies: jsonschema: '>=3.0.0,<5.0.0' @@ -4855,14 +4573,14 @@ package: pynacl: '>=1.5' python: '>=3.6' hash: - md5: 9159272243591905b0766ae53e942218 - sha256: 98728c9e3ec10c198154a5c8c0cec51eea76ecbd4744618449725d166c050fcb + md5: 748d328d93daa18c35220e251b610b25 + sha256: 35d35d9eea83058068d23213976d3d990a87692cd0fb52104c8cd7eedda5b555 manager: conda name: paramiko optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/paramiko-3.0.0-pyhd8ed1ab_0.conda - version: 3.0.0 + url: https://conda.anaconda.org/conda-forge/noarch/paramiko-3.1.0-pyhd8ed1ab_0.conda + version: 3.1.0 - category: main dependencies: cryptography: '>=38.0.0,<40' @@ -4911,16 +4629,16 @@ package: cryptography: '' dbus: '' jeepney: '>=0.6' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + python: '>=3.10,<3.11.0a0' + python_abi: 3.10.* *_cp310 hash: - md5: cfb68a22e2d9108634a08a8a3b19d1b6 - sha256: db76e25d0c1cad3ca6339fd4d09c9cd03dcea7072b302c6eaa4123a358e98a78 + md5: e135d0e3bbb226e8d53d31b4e4f6d93c + sha256: 25d2a00bf24a3cab81eba8f77eba8f70a7b3995041fc227f535c0f174536670f manager: conda name: secretstorage optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/secretstorage-3.3.3-py39hf3d152e_1.tar.bz2 + url: https://conda.anaconda.org/conda-forge/linux-64/secretstorage-3.3.3-py310hff52083_1.tar.bz2 version: 3.3.3 - category: main dependencies: @@ -4944,14 +4662,14 @@ package: platformdirs: <4,>=2.4 python: '>=3.7' hash: - md5: a4c92707c28aafc95208c747db80fd3f - sha256: 0c074440b5aca612c5ee24d516845583fbad82bf3f349322d9c9fdf139cd0edd + md5: cb9a711f7c9f3074fe522e5a34481e60 + sha256: 28540cdda9279d7daeb8f2deec6f1128869ba90742a966e488b692e8083c5349 manager: conda name: virtualenv optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.20.0-pyhd8ed1ab_0.conda - version: 20.20.0 + url: https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.21.0-pyhd8ed1ab_0.conda + version: 20.21.0 - category: main dependencies: conda-package-streaming: '>=0.7.0' @@ -5003,17 +4721,17 @@ package: importlib_metadata: '>=4.11.4' jaraco.classes: '' jeepney: '>=0.4.2' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + python: '>=3.10,<3.11.0a0' + python_abi: 3.10.* *_cp310 secretstorage: '>=3.2' hash: - md5: ae2df7a822f7671da22da24ead24cc0a - sha256: 107e6a5ba122dff162e9d34a87af1ffbb4dca1f7dd1547294646774ca9421524 + md5: 85da2982e8456156e2f38e6a3f75cd89 + sha256: c709408ded9e04b193a5f6c77f6586ab4ab93bdb5a5413eeecc9530165ccf312 manager: conda name: keyring optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/keyring-23.13.1-py39hf3d152e_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/keyring-23.13.1-py310hff52083_0.conda version: 23.13.1 - category: main dependencies: @@ -5054,18 +4772,18 @@ package: cfgv: '>=2.0.0' identify: '>=1.0.0' nodeenv: '>=0.11.1' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + python: '>=3.10,<3.11.0a0' + python_abi: 3.10.* *_cp310 pyyaml: '>=5.1' virtualenv: '>=20.0.8' hash: - md5: 17994a38cb9daeb1beecacec5885745c - sha256: ca03c667f8b60428c1bf4f155f9aa343593b1af13b33ff0e079c191c5ddc7657 + md5: 759bfcb929decd0dfa0489070c9cc992 + sha256: 6dd5a76b655cc28c6385861a480e2b1c35e20437fdd10cb9fd560fd04eaeeb38 manager: conda name: pre-commit optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pre-commit-3.1.1-py39hf3d152e_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/pre-commit-3.1.1-py310hff52083_0.conda version: 3.1.1 - category: main dependencies: @@ -5105,14 +4823,14 @@ package: python-dateutil: '>=2.1,<3.0.0' urllib3: '>=1.25.4,<1.27' hash: - md5: 7aa03b260e0e7803fafc414707cac996 - sha256: 9c3f2b48b8b69e436f80c4b5bd716ba4410ea1fe5f851406916e43f3feca05df + md5: f5f163a412ecc6be50ef913cf3de6ad6 + sha256: 1172449dfba0f4bba3adb2a0c9878878fdf7c4cc22c0f6c3ebbc42d3b11bfda4 manager: conda name: botocore optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/botocore-1.29.88-pyhd8ed1ab_0.conda - version: 1.29.88 + url: https://conda.anaconda.org/conda-forge/noarch/botocore-1.29.90-pyhd8ed1ab_0.conda + version: 1.29.90 - category: main dependencies: cairo: '>=1.16.0,<2.0a0' @@ -5158,22 +4876,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/requests-2.28.2-pyhd8ed1ab_0.conda version: 2.28.2 -- category: main - dependencies: - aiohttp: '>=3.3.1' - aioitertools: '>=0.5.1' - botocore: '>=1.27.59,<1.27.60' - python: '>=3.6' - wrapt: '>=1.10.10' - hash: - md5: a3f48ea10883a5df371b895008b1ca4b - sha256: 76068553358b26c9c03be992cbe982a369d1e015a53700f092db92c784ce98a9 - manager: conda - name: aiobotocore - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/aiobotocore-2.4.2-pyhd8ed1ab_0.conda - version: 2.4.2 - category: main dependencies: botocore: '>=1.11.3' @@ -5223,21 +4925,21 @@ package: pluggy: '>=1.0.0' pycosat: '>=0.6.3' pyopenssl: '>=16.2.0' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + python: '>=3.10,<3.11.0a0' + python_abi: 3.10.* *_cp310 requests: '>=2.20.1,<3' ruamel.yaml: '>=0.11.14,<0.18' setuptools: '>=31.0.1' toolz: '>=0.8.1' tqdm: '>=4' hash: - md5: b2482d4fe1bc47af8e699f3ffec9dbb8 - sha256: 2fcb48155d829cb344ddf83589998babd94f298323166975d625be7e8e7ac1a6 + md5: c50e15e4014d4a2fca0085a813cd6393 + sha256: f7ab7af6f2850ba7da16436b485cd007a2c6b022f9af2ecc56511aebd9f5a085 manager: conda name: conda optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/conda-22.11.1-py39hf3d152e_1.conda + url: https://conda.anaconda.org/conda-forge/linux-64/conda-22.11.1-py310hff52083_1.conda version: 22.11.1 - category: main dependencies: @@ -5301,19 +5003,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/python-graphviz-0.20.1-pyh22cad53_0.tar.bz2 version: 0.20.1 -- category: main - dependencies: - python: '' - requests: '>=2.0.1,<=3.0.0' - hash: - md5: 402668adee8fcba9a9c265cdc2a88f5a - sha256: 1f2f3329127844be226bdc9bd9922d84a8767ae208d4a650c3ba655c84cb1e1c - manager: conda - name: requests-toolbelt - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/requests-toolbelt-0.9.1-py_0.tar.bz2 - version: 0.9.1 - category: main dependencies: python: '>=3.7' @@ -5372,38 +5061,38 @@ package: version: 5.1.1 - category: main dependencies: - botocore: 1.29.88 + botocore: 1.29.90 colorama: '>=0.2.5,<0.4.5' docutils: '>=0.10,<0.17' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 + python: '>=3.10,<3.11.0a0' + python_abi: 3.10.* *_cp310 pyyaml: '>=3.10,<5.5' rsa: '>=3.1.2,<4.8' s3transfer: '>=0.6.0,<0.7.0' hash: - md5: e9c5b0e909628d74e4ce807bb2a7693f - sha256: 2c641bc5be23dc659180c46126cb509034c67e4e5d3f68dc286d06199459f57e + md5: f22d497dccdfef2df007457017d9caf2 + sha256: 564d3ad709000c3b043c68e42e0614732c34ad6cd94179ba5162109df800d6e3 manager: conda name: awscli optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/awscli-1.27.88-py39hf3d152e_0.conda - version: 1.27.88 + url: https://conda.anaconda.org/conda-forge/linux-64/awscli-1.27.90-py310hff52083_0.conda + version: 1.27.90 - category: main dependencies: - botocore: '>=1.29.88,<1.30.0' + botocore: '>=1.29.90,<1.30.0' jmespath: '>=0.7.1,<2.0.0' python: '>=3.7' s3transfer: '>=0.6.0,<0.7.0' hash: - md5: 6d9d3d9ed7d005bf4180948445cf15a7 - sha256: f073885ff0739d25e35d62aa202f44df59fa75beb95a247b0f041c4973964c4b + md5: a57ff13af4774f422569fe6630d73c08 + sha256: 045c5d6441b6b6790d0e9a826bee129b6f6c14ce65e8c50556b8a109a84d9912 manager: conda name: boto3 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/boto3-1.26.88-pyhd8ed1ab_0.conda - version: 1.26.88 + url: https://conda.anaconda.org/conda-forge/noarch/boto3-1.26.90-pyhd8ed1ab_0.conda + version: 1.26.90 - category: main dependencies: cachecontrol: 0.12.11 pyhd8ed1ab_1 @@ -5464,37 +5153,6 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/msal_extensions-1.0.0-pyhd8ed1ab_0.tar.bz2 version: 1.0.0 -- category: main - dependencies: - cachecontrol: '>=0.12.9,<0.13.0' - cachy: '>=0.3.0,<0.4.0' - cleo: '>=0.8.1,<0.9.0' - clikit: '>=0.6.2,<0.7.0' - crashtest: '>=0.3.0,<0.4.0' - html5lib: '>=1.0,<2.0' - keyring: '>=21.2.0' - lockfile: '>=0.9' - packaging: '>=20.4,<21.0' - pexpect: '>=4.7.0,<5.0.0' - pkginfo: '>=1.4,<2.0' - poetry-core: '>=1.0.7,<1.1.0' - ptyprocess: '>=0.5' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - requests: '>=2.18,<3.0' - requests-toolbelt: '>=0.9.1,<0.10.0' - shellingham: '>=1.1,<2.0' - tomlkit: '>=0.7.0,<1.0.0' - virtualenv: '>=20.0.26,<21.0.0' - hash: - md5: 0685495d547bc110b90852ad186dc8a1 - sha256: b2ae9a17f7f35b0bf422a15c3ac54766170dfbb78af5ecc77aa70d057cc13b48 - manager: conda - name: poetry - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/poetry-1.1.15-py39hf3d152e_0.tar.bz2 - version: 1.1.15 - category: main dependencies: livereload: '>=2.3.0' @@ -5512,17 +5170,16 @@ package: - category: main dependencies: python: '>=2.7' - setuptools: '' - sphinx: '' + sphinx: '>=1.8' hash: - md5: 1951ebeb88189bf6d6d52039c0aa7776 - sha256: bd197a9d339d7cf9e5a563da5a4f6c62b668714e5c64a0ed5af09b008b833da2 + md5: 914897066d5873acfb13e75705276ad1 + sha256: 2e5f16a2d58f9a31443ffbb8ce3852cfccf533a6349045828cd2e994ef0679ca manager: conda name: sphinxcontrib-jquery optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jquery-2.0.0-pyhd8ed1ab_0.conda - version: 2.0.0 + url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jquery-4.1-pyhd8ed1ab_0.conda + version: '4.1' - category: main dependencies: boto3: ~=1.5 @@ -5561,14 +5218,14 @@ package: python: '' typing_extensions: '' hash: - md5: 0665225dcc452177ebf284917328c4c1 - sha256: b03ab85abbac40c456ae8447d8a03345f54a6c7690efc1e1cf687db0ace600b8 + md5: 72b6b21dfad72737aab3d4988b51244f + sha256: 77179ed8be45e06e010dc0143bf56201aa028ba59d573e4216be8c1a49ff372b manager: conda name: boto3-stubs optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/boto3-stubs-1.26.88-pyhd8ed1ab_0.conda - version: 1.26.88 + url: https://conda.anaconda.org/conda-forge/noarch/boto3-stubs-1.26.90-pyhd8ed1ab_0.conda + version: 1.26.90 - category: main dependencies: cachecontrol-with-filecache: '>=0.12.9' @@ -5672,14 +5329,14 @@ package: pyyaml: '>5.4' sarif-om: ~=1.0.4 hash: - md5: a607f8ae4533e3b4a8f351b485daee03 - sha256: 7c1ac284f75362698321857ac6b63f53dbc7bbfe61d70ff70eecf41ae5161012 + md5: b77c6c465ed0b1214bb464f5603c5b96 + sha256: 453798fdb8af369b8c181de2598ab36c48202eb2861552b11198188e649dec3d manager: conda name: cfn-lint optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/cfn-lint-0.74.1-pyhd8ed1ab_0.conda - version: 0.74.1 + url: https://conda.anaconda.org/conda-forge/noarch/cfn-lint-0.74.3-pyhd8ed1ab_0.conda + version: 0.74.3 - category: main dependencies: aws-xray-sdk: '!=0.96,>=0.93' @@ -5717,66 +5374,35 @@ package: platform: linux-64 url: https://conda.anaconda.org/conda-forge/noarch/moto-4.1.4-pyhd8ed1ab_0.conda version: 4.1.4 -- dependencies: {} - hash: - sha256: ae88eca3024bb34bb3430f964beab71226e761f51b912de5133470b649d82344 - manager: pip - name: bcrypt - platform: linux-64 - source: null - url: https://files.pythonhosted.org/packages/aa/48/fd2b197a9741fa790ba0b88a9b10b5e88e62ff5cf3e1bc96d8354d7ce613/bcrypt-4.0.1-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - version: 4.0.1 - category: main dependencies: {} hash: - sha256: 122fcb64ee37cfad5b3f48d7a7d51875d7031aaf3d8be7c42e2bee25044eee62 + sha256: c41cfb1e99ba5d341fbcc5308836e7d7c9786d302f995b2c271ce2144dece9eb manager: pip name: mock optional: false platform: linux-64 - source: null - url: https://files.pythonhosted.org/packages/5c/03/b7e605db4a57c0f6fba744b11ef3ddf4ddebcada35022927a2b5fc623fdf/mock-4.0.3-py3-none-any.whl - version: 4.0.3 -- category: main - dependencies: {} - hash: - sha256: 9967365f2037ac8fd43ff678ad1b72c82b184b2498440579d5cfae9d63e5b0f9 - manager: pip - name: mypy-boto3-ec2 - optional: false - platform: linux-64 - url: https://files.pythonhosted.org/packages/a4/60/815ee785b017d49e09f42175e791a3a3495293b0dbce7d18c74f43a1e8a4/mypy_boto3_ec2-1.21.9-py3-none-any.whl - version: 1.21.9 + url: https://files.pythonhosted.org/packages/e6/88/8a05e7ad0bb823246b2add3d2e97f990c41c71a40762c8db77a4bd78eedf/mock-5.0.1-py3-none-any.whl + version: 5.0.1 - dependencies: {} hash: - sha256: ef85cf1f693c88c1fd229ccd1055570cb41cdf4875873b7728b6301f12cd05bf - manager: pip - name: numpy - platform: linux-64 - source: null - url: https://files.pythonhosted.org/packages/43/55/fea3342371187dea4044521c0ba82b90fb5a42fb92446be019b316dd3320/numpy-1.24.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - version: 1.24.1 -- dependencies: {} - hash: - sha256: 40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0 + sha256: f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5 manager: pip name: pyyaml platform: linux-64 - source: null - url: https://files.pythonhosted.org/packages/12/fc/a4d5a7554e0067677823f7265cb3ae22aed8a238560b5133b58cda252dad/PyYAML-6.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl + url: https://files.pythonhosted.org/packages/02/25/6ba9f6bb50a3d4fbe22c1a02554dc670682a07c8701d1716d19ddea2c940/PyYAML-6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl version: '6.0' - category: main dependencies: six: '*' hash: - sha256: e3305297c744ae53ffa032c45dc347286165e4ffce6875dc662b205db0623d86 + sha256: 6b0ac9e93fb0335014d382b8fa9b3afa7df546984258005da0b9e7095b3deb1c manager: pip name: asttokens optional: false platform: linux-64 - source: null - url: https://files.pythonhosted.org/packages/2d/1b/fdbdf82b86e07ca90985740ac160a1dd4ab09cb81071ec12d71c701e1138/asttokens-2.0.8-py2.py3-none-any.whl - version: 2.0.8 + url: https://files.pythonhosted.org/packages/f3/e1/64679d9d0759db5b182222c81ff322c2fe2c31e156a59afd6e9208c960e5/asttokens-2.2.1-py2.py3-none-any.whl + version: 2.2.1 - category: main dependencies: numpy: '*' @@ -5786,7 +5412,6 @@ package: name: gdspy optional: false platform: linux-64 - source: null url: https://files.pythonhosted.org/packages/1d/e4/97b8add92fbec2a9890ad4777272e9a9e4d7a0ceeac42b7e1febe94f0e86/gdspy-1.4.zip version: '1.4' - category: main @@ -5799,7 +5424,6 @@ package: name: paramiko-ng optional: false platform: linux-64 - source: null url: https://files.pythonhosted.org/packages/9f/53/1ac75eab589149b1e02e38185ecebf09e1b805fc3fdeadbc16d1a2b7d208/paramiko_ng-2.8.10-py2.py3-none-any.whl version: 2.8.10 - dependencies: @@ -5809,7 +5433,6 @@ package: manager: pip name: ruamel.yaml platform: linux-64 - source: null url: https://files.pythonhosted.org/packages/9e/cb/938214ac358fbef7058343b3765c79a1b7ed0c366f7f992ce7ff38335652/ruamel.yaml-0.17.21-py3-none-any.whl version: 0.17.21 - category: main @@ -5817,14 +5440,13 @@ package: mock: '*' six: '*' hash: - sha256: 34ae88c846046742ef074036bf311dc90ab152b7bc09c342b281cebf676727a2 + sha256: c8fc6fabc0e7f6984eeabb942540e45646e5bef0bb99fe59e02da634e4d4b9ca manager: pip name: sure optional: false platform: linux-64 - source: null - url: https://files.pythonhosted.org/packages/c7/ee/043531858afab5f312ca02867de51189c0c1dd76ba652f1d95ffa13d07f7/sure-2.0.0.tar.gz - version: 2.0.0 + url: https://files.pythonhosted.org/packages/dd/ae/eb28ee3b6768e51cb938abcf521cb678217203f33385a2df54d3f23331c5/sure-2.0.1.tar.gz + version: 2.0.1 - category: main dependencies: paramiko-ng: '*' @@ -5835,7 +5457,6 @@ package: name: fab-classic optional: false platform: linux-64 - source: null url: https://files.pythonhosted.org/packages/6b/0f/efc537eebfd2a2c470250c0ac8bd8a05ffc13d95a7fb22021367890d7c46/fab_classic-1.19.2-py2.py3-none-any.whl version: 1.19.2 - category: main @@ -5846,14 +5467,13 @@ package: pyyaml: '>=6.0,<7.0' ruamel.yaml: '>=0.17.21,<0.18.0' hash: - sha256: f476c58c84d01bda7a642b09514a4ecd798503fdd47fe466b83a7945d44fcb93 + sha256: 1e4b942c42a2292f2e6140fc8df51edc8fd5f8a5c7141e471ecb1d6676fe0bb6 manager: pip name: hammer-vlsi optional: false platform: linux-64 - source: null - url: https://files.pythonhosted.org/packages/85/0f/7fcab088a5e2780d165bbea5ea3974b0f2286ddc98499e98aa29609bd0ee/hammer_vlsi-1.0.1-py3-none-any.whl - version: 1.0.1 + url: https://files.pythonhosted.org/packages/86/15/6643fe3965aabde680eab7f64eef1e3967b516640c756858cd246dd0b427/hammer_vlsi-1.0.5-py3-none-any.whl + version: 1.0.5 - category: main dependencies: asttokens: '>=2,<3' @@ -5864,7 +5484,6 @@ package: name: icontract optional: false platform: linux-64 - source: null url: https://files.pythonhosted.org/packages/d8/91/9756e7cf0b155e80bf9a62beffdd1dec4afce43cc6ab7f432f2267c62762/icontract-2.6.2-py3-none-any.whl version: 2.6.2 - category: main @@ -5872,12 +5491,11 @@ package: icontract: '>=2.0.1,<3' typing-extensions: '>=3.6.6' hash: - sha256: e5608063e3f6122db255acde636255f9c0da3a8e6b7edd35498b95280ff18961 + sha256: a70437fea7bca647c0e98161e1006ef49970267999c571b499760f1c43c6ba10 manager: pip name: pylddwrap optional: false platform: linux-64 - source: null - url: https://files.pythonhosted.org/packages/6b/4e/aebc1cff19a572dbcc7e60d8e74f38fd568ef9185650b39f72fde9ff84d1/pylddwrap-1.2.1.tar.gz - version: 1.2.1 + url: https://files.pythonhosted.org/packages/c9/12/4afd6542c43cd20271f0e53bf0211decc10079a76a41e53c0288025a7b85/pylddwrap-1.2.2.tar.gz + version: 1.2.2 version: 1 diff --git a/conda-reqs/esp-tools.yaml b/conda-reqs/esp-tools.yaml index 9603f747..39b5b3bf 100644 --- a/conda-reqs/esp-tools.yaml +++ b/conda-reqs/esp-tools.yaml @@ -1,5 +1,6 @@ channels: - ucb-bar + - litex-hub - conda-forge - nodefaults diff --git a/conda-reqs/riscv-tools.yaml b/conda-reqs/riscv-tools.yaml index ab667b79..5213b1e1 100644 --- a/conda-reqs/riscv-tools.yaml +++ b/conda-reqs/riscv-tools.yaml @@ -1,5 +1,6 @@ channels: - ucb-bar + - litex-hub - conda-forge - nodefaults @@ -14,4 +15,4 @@ dependencies: # https://docs.conda.io/projects/conda/en/latest/user-guide/concepts/pkg-specs.html#package-match-specifications # documentation on package_spec syntax for constraining versions - - riscv-tools=1.0.1 # from ucb-bar channel - https://github.com/ucb-bar/riscv-tools-feedstock + - riscv-tools=1.0.3 # from ucb-bar channel - https://github.com/ucb-bar/riscv-tools-feedstock diff --git a/docs/VLSI/ASAP7-Tutorial.rst b/docs/VLSI/ASAP7-Tutorial.rst index ddeda299..5544a4ae 100644 --- a/docs/VLSI/ASAP7-Tutorial.rst +++ b/docs/VLSI/ASAP7-Tutorial.rst @@ -126,9 +126,9 @@ To run DRC & LVS, and view the results in Calibre: .. code-block:: shell make drc CONFIG=TinyRocketConfig - ./build/drc-rundir/generated-scripts/view-drc + ./build/chipyard.TestHarness.TinyRocketConfig-ChipTop/drc-rundir/generated-scripts/view-drc make lvs CONFIG=TinyRocketConfig - ./build/lvs-rundir/generated-scripts/view-lvs + ./build/chipyard.TestHarness.TinyRocketConfig-ChipTop/lvs-rundir/generated-scripts/view-lvs Some DRC errors are expected from this PDK, as explained in the `ASAP7 plugin readme `__. Furthermore, the dummy SRAMs that are provided in this tutorial and PDK do not have any geometry inside, so will certainly cause DRC errors. diff --git a/docs/VLSI/Sky130-Commercial-Tutorial.rst b/docs/VLSI/Sky130-Commercial-Tutorial.rst index 8cbdd629..b6b28338 100644 --- a/docs/VLSI/Sky130-Commercial-Tutorial.rst +++ b/docs/VLSI/Sky130-Commercial-Tutorial.rst @@ -1,7 +1,7 @@ .. _sky130-commercial-tutorial: -Sky130 Tutorial -=============== +Sky130 Commercial Tutorial +========================== The ``vlsi`` folder of this repository contains an example Hammer flow with the TinyRocketConfig from Chipyard. This example tutorial uses the built-in Sky130 technology plugin and requires access to the included Cadence and Mentor tool plugin submodules. Cadence is necessary for synthesis & place-and-route, while Mentor is needed for DRC & LVS. Project Structure @@ -47,7 +47,23 @@ Prerequisites * Python 3.9+ * Genus, Innovus, Voltus, VCS, and Calibre licenses -* Sky130 PDK, install using `these directions `__ +* Sky130A PDK, install `using conda `__ or `these directions `__ +* `Sram22 Sky130 SRAM macros `__ + + * These SRAM macros were generated using the `Sram22 SRAM generator `__ (still very heavily under development) + +Quick Prerequisite Setup +^^^^^^^^^^^^^^^^^^^^^^^^ +As of recently, the Sky130A PDK may be installed via conda. +The prerequisite setup for this tutorial may eventually be scripted, but for now the directions to set them up are below. + +.. code-block:: shell + + # download all files for Sky130A PDK + conda create -c litex-hub --prefix ~/.conda-sky130 open_pdks.sky130a=1.0.399_0_g63dbde9 + # clone the SRAM22 Sky130 SRAM macros + git clone https://github.com/rahulk29/sram22_sky130_macros ~/sram22_sky130_macros + Initial Setup ------------- @@ -59,6 +75,38 @@ In the Chipyard root, ensure that you have the Chipyard conda environment activa to pull and install the plugin submodules. Note that for technologies other than ``sky130`` or ``asap7``, the tech submodule must be added in the ``vlsi`` folder first. +Now navigate to the ``vlsi`` directory. The remainder of the tutorial will assume you are in this directory. +We will summarize a few files in this directory that will be important for the rest of the tutorial. + +.. code-block:: shell + + cd ~chipyard/vlsi + +example-vlsi-sky130 +^^^^^^^^^^^^^^^^^^^ +This is the entry script with placeholders for hooks. In the ``ExampleDriver`` class, a list of hooks is passed in the ``get_extra_par_hooks``. Hooks are additional snippets of python and TCL (via ``x.append()``) to extend the Hammer APIs. Hooks can be inserted using the ``make_pre/post/replacement_hook`` methods as shown in this example. Refer to the Hammer documentation on hooks for a detailed description of how these are injected into the VLSI flow. + + +example-sky130.yml +^^^^^^^^^^^^^^^^^^ +This contains the Hammer configuration for this example project. Example clock constraints, power straps definitions, placement constraints, and pin constraints are given. Additional configuration for the extra libraries and tools are at the bottom. + +Add the following YAML keys to the top of this file to specify the location of the Sky130A PDK and SRAM macros. + +.. code-block:: yaml + + # all ~ should be replaced with absolute paths to these directories + # technology paths + technology.sky130.sky130A: ~/.conda-sky130/share/pdk/sky130A + technology.sky130.sram22_sky130_macros: ~/sram22_sky130_macros + + +example-tools.yml +^^^^^^^^^^^^^^^^^ +This contains the Hammer configuration for a commercial tool flow. +It selects tools for synthesis (Cadence Genus), place and route (Cadence Innovus), DRC and LVS (Mentor Calibre). + + Building the Design -------------------- To elaborate the ``TinyRocketConfig`` and set up all prerequisites for the build system to push the design and SRAM macros through the flow: @@ -71,12 +119,21 @@ The command ``make buildfile`` generates a set of Make targets in ``build/hammer It needs to be re-run if environment variables are changed. It is recommended that you edit these variables directly in the Makefile rather than exporting them to your shell environment. +The ``buildfile`` make target has dependencies on both (1) the Verilog that is elaborated from all Chisel sources +and (2) the mapping of memory instances in the design to SRAM macros; +all files related to these two steps reside in the ``generated-src/chipyard.TestHarness.TinyRocketConfig-ChipTop`` directory. +Note that the files in ``generated-src`` vary for each tool/technology flow. +This especially applies to the Sky130 Commercial vs OpenROAD tutorial flows +(due to the ``ENABLE_YOSYS_FLOW`` flag present for the OpenROAD flow), so these flows should be run in separate +chipyard installations. If the wrong sources are generated, simply run ``make buildfile -B`` to rebuild all targets correctly. + + For the purpose of brevity, in this tutorial we will set the Make variable ``tutorial=sky130-commercial``, which will cause additional variables to be set in ``tutorial.mk``, a few of which are summarized as follows: * ``CONFIG=TinyRocketConfig`` selects the target generator config in the same manner as the rest of the Chipyard framework. This elaborates a stripped-down Rocket Chip in the interest of minimizing tool runtime. * ``tech_name=sky130`` sets a few more necessary paths in the ``Makefile``, such as the appropriate Hammer plugin -* ``TOOLS_CONF`` and ``TECH_CONF`` select the approproate YAML configuration files, ``example-tools.yml`` and ``example-sky130.yml``, which are described below +* ``TOOLS_CONF`` and ``TECH_CONF`` select the approproate YAML configuration files, ``example-tools.yml`` and ``example-sky130.yml``, which are described above * ``DESIGN_CONF`` and ``EXTRA_CONFS`` allow for additonal design-specific overrides of the Hammer IR in ``example-sky130.yml`` * ``VLSI_OBJ_DIR=build-sky130-commercial`` gives the build directory a unique name to allow running multiple flows in the same repo. Note that for the rest of the tutorial we will still refer to this directory in file paths as ``build``, again for brevity. * ``VLSI_TOP`` is by default ``ChipTop``, which is the name of the top-level Verilog module generated in the Chipyard SoC configs. By instead setting ``VLSI_TOP=Rocket``, we can use the Rocket core as the top-level module for the VLSI flow, which consists only of a single RISC-V core (and no caches, peripherals, buses, etc). This is useful to run through this tutorial quickly, and does not rely on any SRAMs. @@ -84,24 +141,6 @@ which will cause additional variables to be set in ``tutorial.mk``, a few of whi Running the VLSI Flow --------------------- -example-vlsi-sky130 -^^^^^^^^^^^^^^^^^^^ -This is the entry script with placeholders for hooks. In the ``ExampleDriver`` class, a list of hooks is passed in the ``get_extra_par_hooks``. Hooks are additional snippets of python and TCL (via ``x.append()``) to extend the Hammer APIs. Hooks can be inserted using the ``make_pre/post/replacement_hook`` methods as shown in this example. Refer to the Hammer documentation on hooks for a detailed description of how these are injected into the VLSI flow. - - -example-sky130.yml -^^^^^^^^^^^^^^^^^^ -This contains the Hammer configuration for this example project. Example clock constraints, power straps definitions, placement constraints, and pin constraints are given. Additional configuration for the extra libraries and tools are at the bottom. - -First, set ``technology.sky130.sky130A/sky130_nda/openram_lib`` to the absolute path of the respective directories containing the Sky130 PDK and SRAM files. See the -`Sky130 Hammer plugin README `__ -for details about the PDK setup. - -example-tools.yml -^^^^^^^^^^^^^^^^^ -This contains the Hammer configuration for a commercial tool flow. -It selects tools for synthesis (Cadence Genus), place and route (Cadence Innovus), DRC and LVS (Mentor Calibre). - Synthesis ^^^^^^^^^ .. code-block:: shell @@ -160,3 +199,20 @@ Post-P&R power and rail (IR drop) analysis is supported with Voltus: If you append the ``BINARY`` variable to the command, it will use the activity file generated from a ``sim--debug`` run and report dynamic power & IR drop from the toggles encoded in the waveform. To bypass gate-level simulation, you will need to run the power tool manually (see the generated commands in the generated ``hammer.d`` buildfile). Static and active (vectorless) power & IR drop will be reported. + + +VLSI Flow Control +^^^^^^^^^^^^^^^^^ +Firt, refer to the :ref:`VLSI/Hammer:VLSI Flow Control` documentation. The below examples use the ``redo-par`` Make target to re-run only place-and-route. ``redo-`` may be prepended to any of the VLSI flow actions to re-run only that action. + +.. code-block:: shell + + # the following two statements are equivalent because the + # extraction step immediately precedes the write_design step + make redo-par HAMMER_EXTRA_ARGS="--start_after_step extraction" + make redo-par HAMMER_EXTRA_ARGS="--start_before_step write_design" + + # example of re-running only floorplanning to test out a new floorplan configuration + # the "-p file.yml" causes file.yml to override any previous yaml/json configurations + make redo-par \ + HAMMER_EXTRA_ARGS="--only_step floorplan_design -p example-designs/sky130-openroad.yml" diff --git a/docs/VLSI/Sky130-OpenROAD-Tutorial.rst b/docs/VLSI/Sky130-OpenROAD-Tutorial.rst index 4518e853..882429d7 100644 --- a/docs/VLSI/Sky130-OpenROAD-Tutorial.rst +++ b/docs/VLSI/Sky130-OpenROAD-Tutorial.rst @@ -20,7 +20,7 @@ This example gives a suggested file structure and build system. The ``vlsi/`` fo * ``env.yml`` - * A template file for tool environment configuration. Fill in the install and license server paths for your environment. For SLICE and BWRC affiliates, example environment configs are found `here `__. + * This file is not used in this tutorial, but is required for the commercial tool flow. A template file for tool environment configuration. Fill in the install and license server paths for your environment. For SLICE and BWRC affiliates, example environment configs are found `here `__. * ``example-vlsi-sky130`` @@ -28,7 +28,7 @@ This example gives a suggested file structure and build system. The ``vlsi/`` fo * ``example-sky130.yml``, ``example-openroad.yml``, ``example-designs/sky130-openroad.yml`` - * Hammer IR for this tutorial. For SLICE and BWRC affiliates, an example ASAP7 config is found `here `__. + * Hammer IR for this tutorial. For SLICE and BWRC affiliates, an example Sky130 config is found `here `__. * ``example-design.yml``, ``example-asap7.yml``, ``example-tech.yml`` @@ -48,12 +48,35 @@ Prerequisites * Python 3.9+ * OpenROAD flow tools: - * Yosys (synthesis), install `from source `__ or `using conda `__ - * OpenROAD (place-and-route), install `from source `__ - * Magic (DRC), install `from source `__ - * NetGen (LVS), install `from source `__ or `using conda `__ + * Yosys (synthesis), install `using conda `__ or `from source `__ + * OpenROAD (place-and-route), install `using conda `__ (note that GUI is disabled in conda package) or `from source `__ + * KLayout (DEF to GDSII conversion), install `using conda `__ or `from source `__ + * Magic (DRC), , install `using conda `__ or `from source `__ + * NetGen (LVS), , install `using conda `__ or `from source `__ -* Sky130 PDK, install using `these directions `__ +* Sky130A PDK, install `using conda `__ or `these directions `__ +* `Sram22 Sky130 SRAM macros `__ + + * These SRAM macros were generated using the `Sram22 SRAM generator `__ (still very heavily under development) + +Quick Prerequisite Setup +^^^^^^^^^^^^^^^^^^^^^^^^ +As of recently, most of the prerequisites of this tutorial may now be installed as conda packages. +The prerequisite setup for this tutorial may eventually be scripted, but for now the directions to set them up are below. +Note that we create a new conda environment for each tool because some of them have conflicting dependencies. + +.. code-block:: shell + + # download all files for Sky130A PDK + conda create -c litex-hub --prefix ~/.conda-sky130 open_pdks.sky130a=1.0.399_0_g63dbde9 + # clone the SRAM22 Sky130 SRAM macros + git clone https://github.com/rahulk29/sram22_sky130_macros ~/sram22_sky130_macros + + # install all VLSI tools + conda create -c litex-hub --prefix ~/.conda-yosys yosys=0.27_4_gb58664d44 + conda create -c litex-hub --prefix ~/.conda-openroad openroad=2.0_7070_g0264023b6 + conda create -c litex-hub --prefix ~/.conda-klayout klayout=0.28.5_98_g87e2def28 + conda create -c litex-hub --prefix ~/.conda-signoff magic=8.3.376_0_g5e5879c netgen=1.5.250_0_g178b172 Initial Setup ------------- @@ -66,31 +89,13 @@ In the Chipyard root, ensure that you have the Chipyard conda environment activa to pull and install the plugin submodules. Note that for technologies other than ``sky130`` or ``asap7``, the tech submodule is cloned in the ``vlsi`` folder, and for the commercial tool flow (set up by omitting the ``openroad`` argument), the tool plugin submodules are cloned into the ``vlsi`` folder. -Building the Design --------------------- -To elaborate the ``TinyRocketConfig`` and set up all prerequisites for the build system to push the design and SRAM macros through the flow: +Now navigate to the ``vlsi`` directory. The remainder of the tutorial will assume you are in this directory. +We will summarize a few files in this directory that will be important for the rest of the tutorial. .. code-block:: shell - make buildfile tutorial=sky130-openroad + cd ~chipyard/vlsi -The command ``make buildfile`` generates a set of Make targets in ``build/hammer.d``. -It needs to be re-run if environment variables are changed. -It is recommended that you edit these variables directly in the Makefile rather than exporting them to your shell environment. - -For the purpose of brevity, in this tutorial we will set the Make variable ``tutorial=sky130-openroad``, -which will cause additional variables to be set in ``tutorial.mk``, a few of which are summarized as follows: - -* ``CONFIG=TinyRocketConfig`` selects the target generator config in the same manner as the rest of the Chipyard framework. This elaborates a stripped-down Rocket Chip in the interest of minimizing tool runtime. -* ``tech_name=sky130`` sets a few more necessary paths in the ``Makefile``, such as the appropriate Hammer plugin -* ``TOOLS_CONF`` and ``TECH_CONF`` select the approproate YAML configuration files, ``example-openroad.yml`` and ``example-sky130.yml``, which are described below -* ``DESIGN_CONF`` and ``EXTRA_CONFS`` allow for additonal design-specific overrides of the Hammer IR in ``example-sky130.yml`` -* ``VLSI_OBJ_DIR=build-sky130-openroad`` gives the build directory a unique name to allow running multiple flows in the same repo. Note that for the rest of the tutorial we will still refer to this directory in file paths as ``build``, again for brevity. -* ``VLSI_TOP`` is by default ``ChipTop``, which is the name of the top-level Verilog module generated in the Chipyard SoC configs. By instead setting ``VLSI_TOP=Rocket``, we can use the Rocket core as the top-level module for the VLSI flow, which consists only of a single RISC-V core (and no caches, peripherals, buses, etc). This is useful to run through this tutorial quickly, and does not rely on any SRAMs. -* ``ENABLE_CUSTOM_FIRRTL_PASS = 1`` is required for synthesis through Yosys. This reverts to the Scala FIRRTL Compiler so that unsupported multidimensional arrays are not generated in the Verilog. - -Running the VLSI Flow ---------------------- example-vlsi-sky130 ^^^^^^^^^^^^^^^^^^^ @@ -101,16 +106,70 @@ example-sky130.yml ^^^^^^^^^^^^^^^^^^ This contains the Hammer configuration for this example project. Example clock constraints, power straps definitions, placement constraints, and pin constraints are given. Additional configuration for the extra libraries and tools are at the bottom. -First, set ``technology.sky130.`` to the absolute path of the respective directories containing the Sky130 PDK and SRAM files. See the -`Sky130 Hammer plugin README `__ -for details about the PDK setup. +Add the following YAML keys to the top of this file to specify the location of the Sky130A PDK and SRAM macros. +.. code-block:: yaml + + # all ~ should be replaced with absolute paths to these directories + # technology paths + technology.sky130.sky130A: ~/.conda-sky130/share/pdk/sky130A + technology.sky130.sram22_sky130_macros: ~/sram22_sky130_macros example-openroad.yml ^^^^^^^^^^^^^^^^^^^^ This contains the Hammer configuration for the OpenROAD tool flow. It selects tools for synthesis (Yosys), place and route (OpenROAD), DRC (Magic), and LVS (NetGen). +Add the following YAML keys to the top of this file to specify the locations of the tool binaries. +Note that this is not required if the tools are already on your PATH. + +.. code-block:: yaml + + # all ~ should be replaced with absolute paths to these directories + # tool binary paths + synthesis.yosys.yosys_bin: ~/.conda-yosys/bin/yosys + par.openroad.openroad_bin: ~/.conda-openroad/bin/openroad + par.openroad.klayout_bin: ~/.conda-klayout/bin/klayout + drc.magic.magic_bin: ~/.conda-signoff/bin/magic + lvs.netgen.netgen_bin: ~/.conda-signoff/bin/netgen + + +Building the Design +-------------------- + +To elaborate the ``TinyRocketConfig`` and set up all prerequisites for the build system to push the design and SRAM macros through the flow: + +.. code-block:: shell + + make buildfile tutorial=sky130-openroad + +The command ``make buildfile`` generates a set of Make targets in ``build/hammer.d``. +It needs to be re-run if environment variables are changed. +It is recommended that you edit these variables directly in the Makefile rather than exporting them to your shell environment. + +The ``buildfile`` make target has dependencies on both (1) the Verilog that is elaborated from all Chisel sources +and (2) the mapping of memory instances in the design to SRAM macros; +all files related to these two steps reside in the ``generated-src/chipyard.TestHarness.TinyRocketConfig-ChipTop`` directory. +Note that the files in ``generated-src`` vary for each tool/technology flow. +This especially applies to the Sky130 Commercial vs OpenROAD tutorial flows +(due to the ``ENABLE_YOSYS_FLOW`` flag, explained below), so these flows should be run in separate +chipyard installations. If the wrong sources are generated, simply run ``make buildfile -B`` to rebuild all targets correctly. + + +For the sake of brevity, in this tutorial we will set the Make variable ``tutorial=sky130-openroad``, +which will cause additional variables to be set in ``tutorial.mk``, a few of which are summarized as follows: + +* ``CONFIG=TinyRocketConfig`` selects the target generator config in the same manner as the rest of the Chipyard framework. This elaborates a stripped-down Rocket Chip in the interest of minimizing tool runtime. +* ``tech_name=sky130`` sets a few more necessary paths in the ``Makefile``, such as the appropriate Hammer plugin +* ``TOOLS_CONF`` and ``TECH_CONF`` select the approproate YAML configuration files, ``example-openroad.yml`` and ``example-sky130.yml``, which are described above +* ``DESIGN_CONF`` and ``EXTRA_CONFS`` allow for additonal design-specific overrides of the Hammer IR in ``example-sky130.yml`` +* ``VLSI_OBJ_DIR=build-sky130-openroad`` gives the build directory a unique name to allow running multiple flows in the same repo. Note that for the rest of the tutorial we will still refer to this directory in file paths as ``build``, again for brevity. +* ``VLSI_TOP`` is by default ``ChipTop``, which is the name of the top-level Verilog module generated in the Chipyard SoC configs. By instead setting ``VLSI_TOP=Rocket``, we can use the Rocket core as the top-level module for the VLSI flow, which consists only of a single RISC-V core (and no caches, peripherals, buses, etc). This is useful to run through this tutorial quickly, and does not rely on any SRAMs. +* ``ENABLE_YOSYS_FLOW = 1`` is required for synthesis through Yosys. This reverts to the Scala FIRRTL Compiler so that unsupported multidimensional arrays are not generated in the Verilog. + +Running the VLSI Flow +--------------------- + Synthesis ^^^^^^^^^ @@ -128,38 +187,79 @@ Place-and-Route make par tutorial=sky130-openroad +Note that sometimes OpenROAD freezes on commands following the ``detailed_route`` step, +so for now we recomment running place-and-route until the ``extraction`` step, +then re-starting the flow at this step. See the :ref:`VLSI/Sky130-OpenROAD-Tutorial:VLSI Flow Control` documentation +below for how to break up the flow into these steps. + After completion, the final database can be opened in an interactive OpenROAD session. +Hammer generates a convenient script to launch these sessions .. code-block:: shell - cd ./build/par-rundir + cd ./build/chipyard.TestHarness.TinyRocketConfig-ChipTop/par-rundir ./generated-scripts/open_chip +Note that the conda OpenROAD package was compiled with the GUI disabled, so in order to view the layout, +you will need to install OpenROAD from source. Below is the post-PnR layout for the TinyRocketConfig in Sky130 generated by OpenROAD. .. image:: ../_static/images/vlsi-openroad-par-tinyrocketconfig.png -Intermediate databases are written in ``build/par-rundir`` between each step of the ``par`` action. These databases can be restored in an interactive OpenROAD session as desired for debugging purposes. +Intermediate databases are written in ``build/par-rundir`` between each step of the ``par`` action, +These databases can be restored using the same ``open_chip`` script for debugging purposes. .. code-block:: shell - openroad # launch OpenROAD tool - openroad> read_db pre_global_route + cd build/chipyard.TestHarness.TinyRocketConfig-ChipTop/par-rundir + ./generated_scripts/open_chip -h + " + Usage: ./generated-scripts/open_chip [-t] [openroad_db_name] -.. Timing reports are found in ``build/par-rundir/timingReports``. They are gzipped text files. + Options + openroad_db_name : Name of database to load (default=latest) + -t, --timing : Load timing info (default=disabled because of slow load time) + -h, --help : Display this message + " + # load pre-global route database without timing information + ./generated_scripts/open_chip pre_global_route + + # load post-clock tree database with timing inforamtion + ./generated_scripts/open_chip -t post_clock_tree + +Various reports, including timing reports, are found in ``build/par-rundir/reports``. + +See the `OpenROAD tool plugin `__ for the full list of OpenROAD tool steps and their implementations. DRC & LVS ^^^^^^^^^ -To run DRC & LVS: + +As a note, this tutorial has been run extensively through commercial signoff tools, +thus the open-source signoff flow is not stable or guaranteed to produce useful results. +We welcome any contributions to improving both our `Magic tool plugin `__ +and `Netgen tool plugin `__. + +To run DRC & LVS in Magic & Netgen, respectively: .. code-block:: shell make drc tutorial=sky130-openroad + ./build/chipyard.TestHarness.TinyRocketConfig-ChipTop/drc-rundir/generated-scripts/view_drc make lvs tutorial=sky130-openroad + ./build/chipyard.TestHarness.TinyRocketConfig-ChipTop/lvs-rundir/generated-scripts/view_lvs -Some DRC errors are expected from this PDK, especially with regards to the SRAMs, as explained in the -`Sky130 Hammer plugin README `__. +Note that in ``sky130-openroad.yml`` we have set the following YAML keys: + +.. code-block:: yaml + + drc.magic.generate_only: true + lvs.netgen.generate_only: true + +These keys cause the Hammer plugin to only generate all necessary scripts, without executing them with the respective tool. +This is because Magic and Netgen, as of the writing of this tutorial, do not have a database format that may be loaded interactively, +so to view the DRC/LVS results for debugging you must launch the tool interactively, then run DRC/LVS checks, +which is done by the ``generated-scripts/view_[drc|lvs]`` scripts. VLSI Flow Control @@ -168,15 +268,20 @@ Firt, refer to the :ref:`VLSI/Hammer:VLSI Flow Control` documentation. The below .. code-block:: shell - # the following two statements are equivalent because the - # extraction step immediately precedes the write_design step + # the following two commands run the entire flow, using the pre_extraction + # database to save and reload a checkpoint of the design + make par HAMMER_EXTRA_ARGS="--stop_after_step extraction" + make redo-par HAMMER_EXTRA_ARGS="--start_before_step extraction" + + # the following two commands are equivalent because the extraction + # step immediately precedes the write_design step make redo-par HAMMER_EXTRA_ARGS="--start_after_step extraction" make redo-par HAMMER_EXTRA_ARGS="--start_before_step write_design" # example of re-running only floorplanning to test out a new floorplan configuration - make redo-par HAMMER_EXTRA_ARGS="--only_step floorplan_design -p example-sky130.yml" - -See the `OpenROAD tool plugin `__ for the full list of OpenROAD tool steps and their implementations. + # the "-p file.yml" causes file.yml to override any previous yaml/json configurations + make redo-par \ + HAMMER_EXTRA_ARGS="--only_step floorplan_design -p example-designs/sky130-openroad.yml" Documentation ------------- diff --git a/docs/_static/images/vlsi-openroad-par-tinyrocketconfig.png b/docs/_static/images/vlsi-openroad-par-tinyrocketconfig.png index 0d8ce137..2f399e2b 100644 Binary files a/docs/_static/images/vlsi-openroad-par-tinyrocketconfig.png and b/docs/_static/images/vlsi-openroad-par-tinyrocketconfig.png differ diff --git a/generators/chipyard/src/main/scala/config/RoCCAcceleratorConfigs.scala b/generators/chipyard/src/main/scala/config/RoCCAcceleratorConfigs.scala index 230a3c06..b2fa0b2a 100644 --- a/generators/chipyard/src/main/scala/config/RoCCAcceleratorConfigs.scala +++ b/generators/chipyard/src/main/scala/config/RoCCAcceleratorConfigs.scala @@ -21,6 +21,12 @@ class FPGemminiRocketConfig extends Config( new chipyard.config.WithSystemBusWidth(128) ++ new chipyard.config.AbstractConfig) +class LeanGemminiRocketConfig extends Config( + new gemmini.LeanGemminiConfig ++ // use Lean Gemmini systolic array GEMM accelerator + new freechips.rocketchip.subsystem.WithNBigCores(1) ++ + new chipyard.config.WithSystemBusWidth(128) ++ + new chipyard.config.AbstractConfig) + class HwachaRocketConfig extends Config( new chipyard.config.WithHwachaTest ++ new hwacha.DefaultHwachaConfig ++ // use Hwacha vector accelerator diff --git a/generators/firechip/src/main/scala/TargetConfigs.scala b/generators/firechip/src/main/scala/TargetConfigs.scala index 35846c0f..643f3171 100644 --- a/generators/firechip/src/main/scala/TargetConfigs.scala +++ b/generators/firechip/src/main/scala/TargetConfigs.scala @@ -288,3 +288,9 @@ class FireSimRocketMMIOOnlyConfig extends Config( new WithDefaultMemModel ++ new WithFireSimConfigTweaks ++ new chipyard.RocketConfig) + +class FireSimGemminiRocketMMIOOnlyConfig extends Config( + new WithDefaultMMIOOnlyFireSimBridges ++ + new WithDefaultMemModel ++ + new WithFireSimConfigTweaks ++ + new chipyard.LeanGemminiRocketConfig) diff --git a/generators/gemmini b/generators/gemmini index 9e478ecc..a916bfb1 160000 --- a/generators/gemmini +++ b/generators/gemmini @@ -1 +1 @@ -Subproject commit 9e478ecce9e48bbc03b9bd3535d71e03a6269fba +Subproject commit a916bfb1a2bccb4a7caef289e22c5a1068cba54a diff --git a/generators/sha3 b/generators/sha3 index 98089ba3..8c5d2443 160000 --- a/generators/sha3 +++ b/generators/sha3 @@ -1 +1 @@ -Subproject commit 98089ba372a847d62024d36db62429a8bcdfd7ea +Subproject commit 8c5d244303694311c4e63e51915a492491a3f5c7 diff --git a/software/firemarshal b/software/firemarshal index 8e02b02d..5e4a55f7 160000 --- a/software/firemarshal +++ b/software/firemarshal @@ -1 +1 @@ -Subproject commit 8e02b02d14f2d67bb8d62e0a92e097bbea45994f +Subproject commit 5e4a55f7b4ed12a94618180f7d2b42f215d2d66d diff --git a/vlsi/example-asap7.yml b/vlsi/example-asap7.yml index 8aafe8c0..dbcadab0 100644 --- a/vlsi/example-asap7.yml +++ b/vlsi/example-asap7.yml @@ -37,54 +37,47 @@ vlsi.inputs.placement_constraints: right: 0 top: 0 bottom: 0 - - path: "ChipTop/system/tile_prci_domain/tile_reset_domain/tile/dcache/data/data_arrays_0/data_arrays_0_ext/mem_0_0" + - path: "ChipTop/system/tile_prci_domain/tile_reset_domain_tile/dcache/data/data_arrays_0/data_arrays_0_ext/mem_0_0" type: hardmacro x: 550 y: 25 orientation: "r0" top_layer: "M4" master: "SRAM1RW4096x8" - - path: "ChipTop/system/tile_prci_domain/tile_reset_domain/tile/dcache/data/data_arrays_0/data_arrays_0_ext/mem_0_1" + - path: "ChipTop/system/tile_prci_domain/tile_reset_domain_tile/dcache/data/data_arrays_0/data_arrays_0_ext/mem_0_1" type: hardmacro x: 550 y: 270 orientation: "r0" top_layer: "M4" - - path: "ChipTop/system/tile_prci_domain/tile_reset_domain/tile/dcache/data/data_arrays_0/data_arrays_0_ext/mem_0_2" + - path: "ChipTop/system/tile_prci_domain/tile_reset_domain_tile/dcache/data/data_arrays_0/data_arrays_0_ext/mem_0_2" type: hardmacro x: 675 y: 25 orientation: "r0" top_layer: "M4" master: "SRAM1RW4096x8" - - path: "ChipTop/system/tile_prci_domain/tile_reset_domain/tile/dcache/data/data_arrays_0/data_arrays_0_ext/mem_0_3" + - path: "ChipTop/system/tile_prci_domain/tile_reset_domain_tile/dcache/data/data_arrays_0/data_arrays_0_ext/mem_0_3" type: hardmacro x: 675 y: 270 orientation: "r0" top_layer: "M4" master: "SRAM1RW4096x8" - - path: "ChipTop/system/tile_prci_domain/tile_reset_domain/tile/frontend/icache/tag_array/tag_array_ext/mem_0_0" + - path: "ChipTop/system/tile_prci_domain/tile_reset_domain_tile/frontend/icache/tag_array_0/tag_array_0_ext/mem_0_0" type: hardmacro x: 125 y: 150 orientation: "my" top_layer: "M4" master: "SRAM1RW64x21" - - path: "ChipTop/system/tile_prci_domain/tile_reset_domain/tile/frontend/icache/data_arrays_0/data_arrays_0_0_ext/mem_0_0" + - path: "ChipTop/system/tile_prci_domain/tile_reset_domain_tile/frontend/icache/data_arrays_0_0/data_arrays_0_0_ext/mem_0_0" type: hardmacro x: 0 y: 25 orientation: "my" top_layer: "M4" master: "SRAM1RW1024x32" - - path: "ChipTop/system/tile_prci_domain/tile_reset_domain/tile/ptw/l2_tlb_ram/l2_tlb_ram_ext/mem_0_0" - type: hardmacro - x: 0 - y: 260 - orientation: "my" - top_layer: "M4" - master: "SRAM1RW1024x37" # Pin placement constraints vlsi.inputs.pin_mode: generated diff --git a/vlsi/example-designs/sky130-commercial.yml b/vlsi/example-designs/sky130-commercial.yml index 6edca4d6..b2ecfb26 100644 --- a/vlsi/example-designs/sky130-commercial.yml +++ b/vlsi/example-designs/sky130-commercial.yml @@ -2,149 +2,18 @@ # Specify clock signals vlsi.inputs.clocks: [ - {name: "clock_clock", period: "5ns", uncertainty: "1ns"} + {name: "clock_clock", period: "30ns", uncertainty: "2ns"} ] -# Power Straps -par.power_straps_mode: generate -par.generate_power_straps_method: by_tracks -par.blockage_spacing: 40.0 -par.blockage_spacing_top_layer: met4 -par.generate_power_straps_options: - by_tracks: - strap_layers: - - met4 - - met5 - pin_layers: - - met5 - blockage_spacing_met2: 4.0 - blockage_spacing_met4: 2.0 - track_width: 3 - track_width_met5: 1 - track_spacing: 5 - track_start: 10 - track_start_met5: 1 - power_utilization: 0.1 - power_utilization_met4: 0.1 - power_utilization_met5: 0.1 - # Placement Constraints -vlsi.inputs.placement_constraints: - - path: "ChipTop" - type: toplevel - x: 0 - y: 0 - width: 4000 - height: 2500 - margins: - left: 0 - right: 0 - top: 0 - bottom: 0 - - # Place data cache SRAM instances - - path: "ChipTop/system/tile_prci_domain/tile_reset_domain/tile/dcache/data/data_arrays_0/data_arrays_0_ext/mem_0_0" - type: hardmacro - x: 50 - y: 100 - orientation: r0 - - - path: "ChipTop/system/tile_prci_domain/tile_reset_domain/tile/dcache/data/data_arrays_0/data_arrays_0_ext/mem_1_0" - type: hardmacro - x: 50 - y: 700 - orientation: r0 - - - path: "ChipTop/system/tile_prci_domain/tile_reset_domain/tile/dcache/data/data_arrays_0/data_arrays_0_ext/mem_2_0" - type: hardmacro - x: 50 - y: 1300 - orientation: r0 - - - path: "ChipTop/system/tile_prci_domain/tile_reset_domain/tile/dcache/data/data_arrays_0/data_arrays_0_ext/mem_3_0" - type: hardmacro - x: 50 - y: 1900 - orientation: r0 - - - path: "ChipTop/system/tile_prci_domain/tile_reset_domain/tile/dcache/data/data_arrays_0/data_arrays_0_ext/mem_4_0" - type: hardmacro - x: 1000 - y: 1900 - orientation: r0 - - - - path: "ChipTop/system/tile_prci_domain/tile_reset_domain/tile/dcache/data/data_arrays_0/data_arrays_0_ext/mem_5_0" - type: hardmacro - x: 1000 - y: 1300 - orientation: r0 - - - path: "ChipTop/system/tile_prci_domain/tile_reset_domain/tile/dcache/data/data_arrays_0/data_arrays_0_ext/mem_6_0" - type: hardmacro - x: 1000 - y: 700 - orientation: r0 - - - path: "ChipTop/system/tile_prci_domain/tile_reset_domain/tile/dcache/data/data_arrays_0/data_arrays_0_ext/mem_7_0" - type: hardmacro - x: 1000 - y: 100 - orientation: r0 - - # Place instruction cache SRAM instances - - path: "ChipTop/system/tile_prci_domain/tile_reset_domain/tile/frontend/icache/data_arrays_0/data_arrays_0_0_ext/mem_0_0" - type: hardmacro - x: 3250 - y: 100 - orientation: r0 - - - path: "ChipTop/system/tile_prci_domain/tile_reset_domain/tile/frontend/icache/data_arrays_0/data_arrays_0_0_ext/mem_1_0" - type: hardmacro - x: 3250 - y: 700 - orientation: r0 - - - path: "ChipTop/system/tile_prci_domain/tile_reset_domain/tile/frontend/icache/tag_array/tag_array_ext/mem_0_0" - type: hardmacro - x: 3450 - y: 1300 - orientation: r0 - - # Place L2 TLB SRAM instances - - path: "ChipTop/system/tile_prci_domain/tile_reset_domain/tile/ptw/l2_tlb_ram/l2_tlb_ram_ext/mem_0_0" - type: hardmacro - x: 2000 - y: 1300 - orientation: "r0" - - - path: "ChipTop/system/tile_prci_domain/tile_reset_domain/tile/ptw/l2_tlb_ram/l2_tlb_ram_ext/mem_0_1" - type: hardmacro - x: 2000 - y: 1900 - orientation: "r0" - - - path: "ChipTop/system/tile_prci_domain/tile_reset_domain/tile/ptw/l2_tlb_ram/l2_tlb_ram_ext/mem_0_2" - type: hardmacro - x: 2750 - y: 1300 - orientation: "r0" - - - path: "ChipTop/system/tile_prci_domain/tile_reset_domain/tile/ptw/l2_tlb_ram/l2_tlb_ram_ext/mem_0_3" - type: hardmacro - x: 2750 - y: 1900 - orientation: "r0" - - - path: "ChipTop/system/tile_prci_domain/tile_reset_domain/tile/ptw/l2_tlb_ram/l2_tlb_ram_ext/mem_0_4" - type: hardmacro - x: 3460 - y: 1900 - orientation: "r0" - -# Pin placement constraints -vlsi.inputs.pin_mode: generated -vlsi.inputs.pin.generate_mode: semi_auto -vlsi.inputs.pin.assignments: [ - {pins: "*", layers: ["met2", "met4"], side: "bottom"} -] +# If overriding the placement constraints in example-sky130.yml, +# ensure one of the toplevel margin sides corresponding with the power pin metal layers +# is set to 0 so that Innovus actually creates those pins (otherwise LVS will fail). +# For example, in example-sky130.yml we set +# par.generate_power_straps_options.by_tracks.pin_layers: 'met5' # horizontal layer +# therefore we must also set: +# vlsi.inputs.placement_constraints: +# - path: "ChipTop" +# ... +# margins: +# right: 0 # or left: 0 \ No newline at end of file diff --git a/vlsi/example-designs/sky130-openroad-rockettile.yml b/vlsi/example-designs/sky130-openroad-rockettile.yml new file mode 100644 index 00000000..752facfd --- /dev/null +++ b/vlsi/example-designs/sky130-openroad-rockettile.yml @@ -0,0 +1,60 @@ +# Override configurations in ../example-sky130.yml and example-designs + +# Specify clock signals +# Rocket/RocketTile names clock signal "clock" instead of "clock_clock" +vlsi.inputs.clocks: [ + {name: "clock", period: "30ns", uncertainty: "3ns"} +] + +# Placement Constraints +# Placement Constraints +vlsi.inputs.placement_constraints: + - path: "RocketTile" + type: toplevel + x: 0 + y: 0 + width: 4000 + height: 3000 + margins: + left: 10 + right: 0 + top: 10 + bottom: 10 + + # Place SRAM memory instances + # SRAM paths and configurations are slightly different due to ENABLE_YOSYS_FLOW flag + # data cache + - path: "RocketTile/dcache/data/data_arrays_0_0/data_arrays_0_0_ext/mem_0_0" + type: hardmacro + x: 50 + y: 50 + orientation: r90 + - path: "RocketTile/dcache/data/data_arrays_0_1/data_arrays_0_0_ext/mem_0_0" + type: hardmacro + x: 50 + y: 450 + orientation: r90 + - path: "RocketTile/dcache/data/data_arrays_0_2/data_arrays_0_0_ext/mem_0_0" + type: hardmacro + x: 50 + y: 850 + orientation: r90 + - path: "RocketTile/dcache/data/data_arrays_0_3/data_arrays_0_0_ext/mem_0_0" + type: hardmacro + x: 50 + y: 1250 + orientation: r90 + + # tag array + - path: "RocketTile/frontend/icache/tag_array_0/tag_array_0_ext/mem_0_0" + type: hardmacro + x: 50 + y: 1600 + orientation: r90 + + # instruction cache + - path: "RocketTile/frontend/icache/data_arrays_0_0/data_arrays_0_0_0_ext/mem_0_0" + type: hardmacro + x: 50 + y: 2100 + orientation: r90 diff --git a/vlsi/example-designs/sky130-openroad.yml b/vlsi/example-designs/sky130-openroad.yml index 62c2aca4..b52266b4 100644 --- a/vlsi/example-designs/sky130-openroad.yml +++ b/vlsi/example-designs/sky130-openroad.yml @@ -3,9 +3,42 @@ # Specify clock signals # Relax the clock period for OpenROAD to meet timing vlsi.inputs.clocks: [ - {name: "clock_clock", period: "30ns", uncertainty: "1ns"} + {name: "clock_clock", period: "50ns", uncertainty: "2ns"} ] +# Flow parameters that yield a routable design with reasonable timing +par.openroad: + timing_driven: true # set to false to drastically speed up runs + create_archive_mode: none + + write_reports: true # set to false to slightly speed up runs + + floorplan_mode: generate + + macro_placement.halo: [50, 50] + + global_placement.timing_driven: true + global_placement.routability_driven: true + + global_placement.placement_padding: 6 + detailed_placement.placement_padding: 4 + clock_tree.placement_padding: 2 + clock_tree_resize.placement_padding: 0 + + clock_tree_resize.setup_margin: 0.0 + clock_tree_resize.hold_margin: 0.20 + global_route_resize.hold_margin: 0.60 + clock_tree_resize.hold_max_buffer_percent: 80 + + global_placement.routing_adjustment: 0.5 + global_route.routing_adjustment: 0.3 + global_route_resize.routing_adjustment: 0.2 + +# DRC/LVS configuration +drc.magic.generate_only: true +lvs.netgen.generate_only: true + + # Placement Constraints vlsi.inputs.placement_constraints: - path: "ChipTop" @@ -13,78 +46,47 @@ vlsi.inputs.placement_constraints: x: 0 y: 0 width: 4000 - height: 2500 + height: 3000 margins: left: 10 - right: 10 + right: 0 top: 10 bottom: 10 - # Place data cache SRAM instances - - path: "ChipTop/system.tile_prci_domain.tile_reset_domain.tile.dcache.data.data_arrays_0.data_arrays_0_ext.mem_0_0" + # Place SRAM memory instances + # SRAM paths and configurations are slightly different due to ENABLE_YOSYS_FLOW flag + # data cache + - path: "ChipTop/system/tile_prci_domain/tile_reset_domain_tile/dcache/data/data_arrays_0_0/data_arrays_0_0_ext/mem_0_0" type: hardmacro x: 50 - y: 100 - orientation: r0 - - - path: "ChipTop/system.tile_prci_domain.tile_reset_domain.tile.dcache.data.data_arrays_0.data_arrays_0_ext.mem_1_0" + y: 50 + orientation: r90 + - path: "ChipTop/system/tile_prci_domain/tile_reset_domain_tile/dcache/data/data_arrays_0_1/data_arrays_0_0_ext/mem_0_0" type: hardmacro x: 50 - y: 700 - orientation: r0 - - - path: "ChipTop/system.tile_prci_domain.tile_reset_domain.tile.dcache.data.data_arrays_0.data_arrays_0_ext.mem_2_0" + y: 450 + orientation: r90 + - path: "ChipTop/system/tile_prci_domain/tile_reset_domain_tile/dcache/data/data_arrays_0_2/data_arrays_0_0_ext/mem_0_0" type: hardmacro x: 50 - y: 1300 - orientation: r0 - - - path: "ChipTop/system.tile_prci_domain.tile_reset_domain.tile.dcache.data.data_arrays_0.data_arrays_0_ext.mem_3_0" + y: 850 + orientation: r90 + - path: "ChipTop/system/tile_prci_domain/tile_reset_domain_tile/dcache/data/data_arrays_0_3/data_arrays_0_0_ext/mem_0_0" type: hardmacro x: 50 - y: 1900 - orientation: r0 - - - path: "ChipTop/system.tile_prci_domain.tile_reset_domain.tile.dcache.data.data_arrays_0.data_arrays_0_ext.mem_4_0" + y: 1250 + orientation: r90 + + # tag array + - path: "ChipTop/system/tile_prci_domain/tile_reset_domain_tile/frontend/icache/tag_array_0/tag_array_0_ext/mem_0_0" type: hardmacro - x: 1000 - y: 1900 - orientation: r0 + x: 50 + y: 1600 + orientation: r90 - - - path: "ChipTop/system.tile_prci_domain.tile_reset_domain.tile.dcache.data.data_arrays_0.data_arrays_0_ext.mem_5_0" + # instruction cache + - path: "ChipTop/system/tile_prci_domain/tile_reset_domain_tile/frontend/icache/data_arrays_0_0/data_arrays_0_0_0_ext/mem_0_0" type: hardmacro - x: 1000 - y: 1300 - orientation: r0 - - - path: "ChipTop/system.tile_prci_domain.tile_reset_domain.tile.dcache.data.data_arrays_0.data_arrays_0_ext.mem_6_0" - type: hardmacro - x: 1000 - y: 700 - orientation: r0 - - - path: "ChipTop/system.tile_prci_domain.tile_reset_domain.tile.dcache.data.data_arrays_0.data_arrays_0_ext.mem_7_0" - type: hardmacro - x: 1000 - y: 100 - orientation: r0 - - # Place instruction cache SRAM instances - - path: "ChipTop/system.tile_prci_domain.tile_reset_domain.tile.frontend.icache.data_arrays_0.data_arrays_0_0_ext.mem_0_0" - type: hardmacro - x: 3250 - y: 100 - orientation: r0 - - - path: "ChipTop/system.tile_prci_domain.tile_reset_domain.tile.frontend.icache.data_arrays_0.data_arrays_0_0_ext.mem_1_0" - type: hardmacro - x: 3250 - y: 700 - orientation: r0 - - - path: "ChipTop/system.tile_prci_domain.tile_reset_domain.tile.frontend.icache.tag_array.tag_array_ext.mem_0_0" - type: hardmacro - x: 3450 - y: 1300 - orientation: r0 + x: 50 + y: 2100 + orientation: r90 diff --git a/vlsi/example-sky130.yml b/vlsi/example-sky130.yml index 39a31c01..5481c4a8 100644 --- a/vlsi/example-sky130.yml +++ b/vlsi/example-sky130.yml @@ -7,7 +7,7 @@ vlsi.core.max_threads: 12 # Technology paths technology.sky130: sky130A: "/path/to/sky130A" - openram_lib: "/path/to/sky130_sram_macros" + sram22_sky130_macros: "/path/to/sram22_sky130_macros" # this key is OPTIONAL, no NDA files will be used if it does not point to a valid path sky130_nda: "/path/to/skywater-src-nda" @@ -20,31 +20,55 @@ vlsi.inputs.power_spec_type: "cpf" # Specify clock signals vlsi.inputs.clocks: [ - {name: "clock_clock", period: "10ns", uncertainty: "1ns"} + {name: "clock_clock", period: "20ns", uncertainty: "1ns"} ] # Generate Make include to aid in flow vlsi.core.build_system: make + # Placement Constraints vlsi.inputs.placement_constraints: - path: "ChipTop" type: toplevel x: 0 y: 0 - width: 3500 - height: 2500 + width: 4000 + height: 3000 margins: left: 10 - right: 10 + right: 0 top: 10 bottom: 10 + # Place SRAM memory instances + # data cache + - path: "ChipTop/system/tile_prci_domain/tile_reset_domain_tile/dcache/data/data_arrays_0/data_arrays_0_ext/mem_0_0" + type: hardmacro + x: 50 + y: 50 + orientation: r90 + + # tag array + - path: "ChipTop/system/tile_prci_domain/tile_reset_domain_tile/frontend/icache/tag_array_0/tag_array_0_ext/mem_0_0" + type: hardmacro + x: 50 + y: 1600 + orientation: r90 + + # instruction cache + - path: "ChipTop/system/tile_prci_domain/tile_reset_domain_tile/frontend/icache/data_arrays_0_0/data_arrays_0_0_ext/mem_0_0" + type: hardmacro + x: 50 + y: 2100 + orientation: r90 + + # Power Straps par.power_straps_mode: generate par.generate_power_straps_method: by_tracks -par.blockage_spacing: 40.0 -par.blockage_spacing_top_layer: met4 +par.blockage_spacing: 2.0 +par.blockage_spacing_top_layer: met3 par.generate_power_straps_options: by_tracks: strap_layers: @@ -63,6 +87,7 @@ par.generate_power_straps_options: power_utilization_met4: 0.1 power_utilization_met5: 0.1 + # Pin placement constraints vlsi.inputs.pin_mode: generated vlsi.inputs.pin.generate_mode: semi_auto @@ -70,5 +95,6 @@ vlsi.inputs.pin.assignments: [ {pins: "*", layers: ["met2", "met4"], side: "bottom"} ] + # SRAM Compiler compiler options vlsi.core.sram_generator_tool: "hammer.technology.sky130.sram_compiler" diff --git a/vlsi/hammer-cadence-plugins b/vlsi/hammer-cadence-plugins index f9e323bd..902657b8 160000 --- a/vlsi/hammer-cadence-plugins +++ b/vlsi/hammer-cadence-plugins @@ -1 +1 @@ -Subproject commit f9e323bd64b8cc79ab810b9761226e9de768f237 +Subproject commit 902657b8bdba7aec12726d6d3c85a2639a4030ad diff --git a/vlsi/tutorial.mk b/vlsi/tutorial.mk index b3d88741..6b970fcb 100644 --- a/vlsi/tutorial.mk +++ b/vlsi/tutorial.mk @@ -1,10 +1,8 @@ ######################################################################################### # makefile variables for Hammer tutorials ######################################################################################### -# tutorial ?= none -tutorial ?= sky130-openroad - -extra ?= +tutorial ?= none +EXTRA_CONFS ?= # TODO: eventually have asap7 commercial/openroad tutorial flavors ifeq ($(tutorial),asap7) @@ -12,7 +10,7 @@ ifeq ($(tutorial),asap7) CONFIG ?= TinyRocketConfig TOOLS_CONF ?= example-tools.yml TECH_CONF ?= example-asap7.yml - INPUT_CONFS ?= $(EXTRA_CONFS) $(TOOLS_CONF) $(TECH_CONF) + DESIGN_CONFS ?= VLSI_OBJ_DIR ?= build-asap7-commercial endif @@ -21,9 +19,9 @@ ifeq ($(tutorial),sky130-commercial) CONFIG ?= TinyRocketConfig TOOLS_CONF ?= example-tools.yml TECH_CONF ?= example-sky130.yml - DESIGN_CONF ?= example-designs/sky130-commercial.yml - EXTRA_CONFS ?= $(if $(filter $(VLSI_TOP),Rocket), example-designs/sky130-rocket.yml, ) - INPUT_CONFS ?= $(TOOLS_CONF) $(TECH_CONF) $(DESIGN_CONF) $(EXTRA_CONFS) + DESIGN_CONFS ?= example-designs/sky130-commercial.yml \ + $(if $(filter $(VLSI_TOP),Rocket), \ + example-designs/sky130-rocket.yml, ) VLSI_OBJ_DIR ?= build-sky130-commercial endif @@ -32,12 +30,14 @@ ifeq ($(tutorial),sky130-openroad) CONFIG ?= TinyRocketConfig TOOLS_CONF ?= example-openroad.yml TECH_CONF ?= example-sky130.yml - DESIGN_CONF ?= example-designs/sky130-openroad.yml - EXTRA_CONFS ?= $(if $(filter $(VLSI_TOP),Rocket), example-designs/sky130-rocket.yml, ) - INPUT_CONFS ?= $(TOOLS_CONF) $(TECH_CONF) $(DESIGN_CONF) $(EXTRA_CONFS) + DESIGN_CONFS ?= example-designs/sky130-openroad.yml \ + $(if $(filter $(VLSI_TOP),Rocket), \ + example-designs/sky130-rocket.yml) \ + $(if $(filter $(VLSI_TOP),RocketTile), \ + example-designs/sky130-openroad-rockettile.yml, ) VLSI_OBJ_DIR ?= build-sky130-openroad # Yosys compatibility for CIRCT-generated Verilog, at the expense of elaboration time. ENABLE_YOSYS_FLOW = 1 endif -HAMMER_EXTRA_ARGS ?= -p $(TOOLS_CONF) -p $(TECH_CONF) -p $(DESIGN_CONF) $(extra) +INPUT_CONFS ?= $(TOOLS_CONF) $(TECH_CONF) $(DESIGN_CONFS) $(EXTRA_CONFS)