More robust splitting of BB filelists | Missed pre-commit | Removed old conda.yaml
This commit is contained in:
@@ -219,12 +219,11 @@ $(TOP_MODS_FILELIST) $(MODEL_MODS_FILELIST) $(ALL_MODS_FILELIST) $(BB_MODS_FILEL
|
||||
$(SED) -i 's/\.\///' $(BB_MODS_FILELIST)
|
||||
sort -u $(TOP_MODS_FILELIST) $(MODEL_MODS_FILELIST) $(BB_MODS_FILELIST) > $(ALL_MODS_FILELIST)
|
||||
|
||||
$(TOP_BB_MODS_FILELIST) $(MODEL_BB_MODS_FILELIST) &: $(BB_MODS_FILELIST) $(MFC_MODEL_HRCHY_JSON) $(TOP_MODS_FILELIST) $(MODEL_MODS_FILELIST)
|
||||
$(TOP_BB_MODS_FILELIST) $(MODEL_BB_MODS_FILELIST) &: $(BB_MODS_FILELIST) $(MFC_TOP_HRCHY_JSON) $(FINAL_ANNO_FILE)
|
||||
$(base_dir)/scripts/split-bb-files.py \
|
||||
--in-top-f $(TOP_MODS_FILELIST) \
|
||||
--in-model-f $(MODEL_MODS_FILELIST) \
|
||||
--in-top-hrchy-json $(MFC_MODEL_HRCHY_JSON) \
|
||||
--in-bb-f $(BB_MODS_FILELIST) \
|
||||
--in-top-hrchy-json $(MFC_TOP_HRCHY_JSON) \
|
||||
--in-anno-json $(FINAL_ANNO_FILE) \
|
||||
--out-top-bb-f $(TOP_BB_MODS_FILELIST) \
|
||||
--out-model-bb-f $(MODEL_BB_MODS_FILELIST)
|
||||
|
||||
@@ -248,6 +247,8 @@ $(MODEL_SMEMS_FILE) $(MODEL_SMEMS_FIR) &: $(MODEL_SMEMS_CONF) | $(TOP_SMEMS_FILE
|
||||
|
||||
########################################################################################
|
||||
# remove duplicate files and headers in list of simulation file inputs
|
||||
# note: {MODEL,TOP}_BB_MODS_FILELIST is added as a req. so that the files get generated,
|
||||
# however it is really unneeded since ALL_MODS_FILELIST includes all BB files
|
||||
########################################################################################
|
||||
$(sim_common_files): $(sim_files) $(ALL_MODS_FILELIST) $(TOP_SMEMS_FILE) $(MODEL_SMEMS_FILE) $(TOP_BB_MODS_FILELIST) $(MODEL_BB_MODS_FILELIST)
|
||||
sort -u $(sim_files) $(ALL_MODS_FILELIST) | grep -v '.*\.\(svh\|h\)$$' > $@
|
||||
|
||||
@@ -91,6 +91,7 @@ dependencies:
|
||||
- wget
|
||||
- sed
|
||||
- autoconf
|
||||
- pre-commit
|
||||
|
||||
# clang-format for driver coding style enforcement.
|
||||
- clang-format
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
# To update a single package to the latest version compatible with the version constraints in the source:
|
||||
# conda-lock lock --lockfile conda-requirements-esp-tools-linux-64.conda-lock.yml --update PACKAGE
|
||||
# To re-solve the entire environment, e.g. after changing a version constraint in the source file:
|
||||
# conda-lock -f /scratch/abejgonza/cy-circt/conda-reqs/chipyard.yaml -f /scratch/abejgonza/cy-circt/conda-reqs/esp-tools.yaml --lockfile conda-requirements-esp-tools-linux-64.conda-lock.yml
|
||||
# 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 --lockfile conda-requirements-esp-tools-linux-64.conda-lock.yml
|
||||
metadata:
|
||||
channels:
|
||||
- url: ucb-bar
|
||||
@@ -19,12 +19,14 @@ metadata:
|
||||
- url: nodefaults
|
||||
used_env_vars: []
|
||||
content_hash:
|
||||
linux-64: 5355d154355d9639a93294ab6bb4385fea9c6e942dbce5c6bd7b8940004c5ee3
|
||||
linux-64: 10c97fbff3e98c5a8d68013bc08fdb0615cef44fab34016106915cd904fa5329
|
||||
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
|
||||
package:
|
||||
- category: main
|
||||
dependencies: {}
|
||||
@@ -1548,18 +1550,18 @@ package:
|
||||
version: 1.5.2
|
||||
- category: main
|
||||
dependencies:
|
||||
libgcc-ng: '>=9.4.0'
|
||||
libgcc-ng: '>=12'
|
||||
m4: ''
|
||||
perl: 5.*
|
||||
hash:
|
||||
md5: 47f6f07d64d6ea9d2c806ff42023e7e3
|
||||
sha256: 57b977849da4ff3a9c62ff632dcb62f48697c7d3698804230f4b9a43b2ce1a39
|
||||
md5: 50cabb1aee157a18082c7c92cc4b3143
|
||||
sha256: 04868bf7a2737af8c8a828b2c4b59653180a91da9c3ece77bae4e429a1b84cc1
|
||||
manager: conda
|
||||
name: autoconf
|
||||
optional: false
|
||||
platform: linux-64
|
||||
url: https://conda.anaconda.org/conda-forge/linux-64/autoconf-2.69-pl5321hd708f79_11.tar.bz2
|
||||
version: '2.69'
|
||||
url: https://conda.anaconda.org/conda-forge/linux-64/autoconf-2.71-pl5321h2b4cb7a_1.conda
|
||||
version: '2.71'
|
||||
- category: main
|
||||
dependencies:
|
||||
libgcc-ng: '>=10.3.0'
|
||||
@@ -1846,14 +1848,14 @@ package:
|
||||
tzdata: ''
|
||||
xz: '>=5.2.6,<6.0a0'
|
||||
hash:
|
||||
md5: 7b9485fce17fac2dd4aca6117a9936c2
|
||||
sha256: 159a1ba8789317fa0b6649b88c5f302a7022be86e69d2edf652065177c88c209
|
||||
md5: 95c9b7c96a7fd7342e0c9d0a917b8f78
|
||||
sha256: 00bcb28a294aa78bf9d2a2ecaae8cb887188eae710f9197d823d36fb8a5d9767
|
||||
manager: conda
|
||||
name: python
|
||||
optional: false
|
||||
platform: linux-64
|
||||
url: https://conda.anaconda.org/conda-forge/linux-64/python-3.9.15-hba424b6_0_cpython.conda
|
||||
version: 3.9.15
|
||||
url: https://conda.anaconda.org/conda-forge/linux-64/python-3.9.16-h2782a2a_0_cpython.conda
|
||||
version: 3.9.16
|
||||
- category: main
|
||||
dependencies:
|
||||
libgcc-ng: '>=12'
|
||||
@@ -2006,6 +2008,18 @@ package:
|
||||
platform: linux-64
|
||||
url: https://conda.anaconda.org/conda-forge/noarch/certifi-2022.12.7-pyhd8ed1ab_0.conda
|
||||
version: 2022.12.7
|
||||
- category: main
|
||||
dependencies:
|
||||
python: '>=3.6.1'
|
||||
hash:
|
||||
md5: ebb5f5f7dc4f1a3780ef7ea7738db08c
|
||||
sha256: fbc03537a27ef756162c49b1d0608bf7ab12fa5e38ceb8563d6f4859e835ac5c
|
||||
manager: conda
|
||||
name: cfgv
|
||||
optional: false
|
||||
platform: linux-64
|
||||
url: https://conda.anaconda.org/conda-forge/noarch/cfgv-3.3.1-pyhd8ed1ab_0.tar.bz2
|
||||
version: 3.3.1
|
||||
- category: main
|
||||
dependencies:
|
||||
python: '>=3.6'
|
||||
@@ -2020,16 +2034,16 @@ package:
|
||||
version: 2.1.1
|
||||
- category: main
|
||||
dependencies:
|
||||
__unix: ''
|
||||
python: '>=3.8'
|
||||
python: '>=3.9,<3.10.0a0'
|
||||
python_abi: 3.9.* *_cp39
|
||||
hash:
|
||||
md5: 20e4087407c7cb04a40817114b333dbf
|
||||
sha256: 23676470b591b100393bb0f6c46fe10624dcbefc696a6a9f42932ed8816ef0ea
|
||||
md5: 3613ff4128b3e565d048106196206929
|
||||
sha256: 21c425ecc4e6f4ec97aab1285b22ad629c75d2efb62f89cd6d9618ab6a2e606c
|
||||
manager: conda
|
||||
name: click
|
||||
optional: false
|
||||
platform: linux-64
|
||||
url: https://conda.anaconda.org/conda-forge/noarch/click-8.1.3-unix_pyhd8ed1ab_2.tar.bz2
|
||||
url: https://conda.anaconda.org/conda-forge/linux-64/click-8.1.3-py39hf3d152e_1.tar.bz2
|
||||
version: 8.1.3
|
||||
- category: main
|
||||
dependencies:
|
||||
@@ -2523,14 +2537,14 @@ package:
|
||||
python: '>=3.9,<3.10.0a0'
|
||||
python_abi: 3.9.* *_cp39
|
||||
hash:
|
||||
md5: a49da0929650af17fc943a90465e6ffc
|
||||
sha256: ab5bad66e70a9ea1f434da0d5c191d3e31790308e1de6b1235cfc599ec90a374
|
||||
md5: 73f58b7725491858c60b748f90e4ded9
|
||||
sha256: a9bc30196c12e9ef68ab69129b71118c1e7a45c52eb279cbe2e4938b781d93ce
|
||||
manager: conda
|
||||
name: mypy_extensions
|
||||
optional: false
|
||||
platform: linux-64
|
||||
url: https://conda.anaconda.org/conda-forge/linux-64/mypy_extensions-0.4.3-py39hf3d152e_6.tar.bz2
|
||||
version: 0.4.3
|
||||
url: https://conda.anaconda.org/conda-forge/linux-64/mypy_extensions-0.4.4-py39hf3d152e_0.conda
|
||||
version: 0.4.4
|
||||
- category: main
|
||||
dependencies:
|
||||
python: '>=3.8'
|
||||
@@ -2614,15 +2628,16 @@ package:
|
||||
version: 1.9.6
|
||||
- category: main
|
||||
dependencies:
|
||||
python: '>=3.8'
|
||||
python: '>=3.9,<3.10.0a0'
|
||||
python_abi: 3.9.* *_cp39
|
||||
hash:
|
||||
md5: 7d301a0d25f424d96175f810935f0da9
|
||||
sha256: c25e1757e4e90638bb1e778aba3ee5f3c01fae9752e3c3929f9be7d367f6c7f3
|
||||
md5: d86903c57fe229d9dd8878a6dd9d149f
|
||||
sha256: abf2d34464c6255d35703e3c9477475e3e6e353ca8675990596d2477cdbc5b52
|
||||
manager: conda
|
||||
name: pluggy
|
||||
optional: false
|
||||
platform: linux-64
|
||||
url: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.0.0-pyhd8ed1ab_5.tar.bz2
|
||||
url: https://conda.anaconda.org/conda-forge/linux-64/pluggy-1.0.0-py39hf3d152e_4.tar.bz2
|
||||
version: 1.0.0
|
||||
- category: main
|
||||
dependencies:
|
||||
@@ -2766,16 +2781,16 @@ package:
|
||||
version: 0.19.3
|
||||
- category: main
|
||||
dependencies:
|
||||
__unix: ''
|
||||
python: '>=3.8'
|
||||
python: '>=3.9,<3.10.0a0'
|
||||
python_abi: 3.9.* *_cp39
|
||||
hash:
|
||||
md5: 2a7de29fb590ca14b5243c4c812c8025
|
||||
sha256: a42f826e958a8d22e65b3394f437af7332610e43ee313393d1cf143f0a2d274b
|
||||
md5: d34b97a2386932b97c7cb80916a673e7
|
||||
sha256: 42d46baeab725d3c70d22a4258549e9f0f1a72b740166cd9c3b394c4369cb306
|
||||
manager: conda
|
||||
name: pysocks
|
||||
optional: false
|
||||
platform: linux-64
|
||||
url: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha2e5f31_6.tar.bz2
|
||||
url: https://conda.anaconda.org/conda-forge/linux-64/pysocks-1.7.1-py39hf3d152e_5.tar.bz2
|
||||
version: 1.7.1
|
||||
- category: main
|
||||
dependencies:
|
||||
@@ -3134,14 +3149,14 @@ package:
|
||||
dependencies:
|
||||
python: '>=3.7'
|
||||
hash:
|
||||
md5: 6df990e93f39e91a3f45d4d885404d56
|
||||
sha256: 2762ff6c126ab17219933500cdbb0e6d0e73aa26545c87c8f54346f1391f408b
|
||||
md5: 2a914654b9ade742049dab13e29571c6
|
||||
sha256: 7a2c359d12a13e505b74cd82686f98379113c9b4be01f6685167ba137b286127
|
||||
manager: conda
|
||||
name: websocket-client
|
||||
optional: false
|
||||
platform: linux-64
|
||||
url: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.5.0-pyhd8ed1ab_0.conda
|
||||
version: 1.5.0
|
||||
url: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.5.1-pyhd8ed1ab_0.conda
|
||||
version: 1.5.1
|
||||
- category: main
|
||||
dependencies:
|
||||
python: '>=3.7'
|
||||
@@ -3226,14 +3241,14 @@ package:
|
||||
dependencies:
|
||||
python: '>=3.7'
|
||||
hash:
|
||||
md5: edc3568566cc48335f0b5d86d40fdbb9
|
||||
sha256: f07ac97de32d5954f5ae0aaf4dd5fdae85b70f139d02d5e0c296f1c2caf0c8ed
|
||||
md5: 7cc265528c9db5e40a771438108f6810
|
||||
sha256: b0b7af936586069051cb43a120ac4dd04a795fdb93a21479e7dea78c8780bd0d
|
||||
manager: conda
|
||||
name: zipp
|
||||
optional: false
|
||||
platform: linux-64
|
||||
url: https://conda.anaconda.org/conda-forge/noarch/zipp-3.12.0-pyhd8ed1ab_0.conda
|
||||
version: 3.12.0
|
||||
url: https://conda.anaconda.org/conda-forge/noarch/zipp-3.12.1-pyhd8ed1ab_0.conda
|
||||
version: 3.12.1
|
||||
- category: main
|
||||
dependencies:
|
||||
python: '>=3.6'
|
||||
@@ -3656,6 +3671,19 @@ package:
|
||||
platform: linux-64
|
||||
url: https://conda.anaconda.org/conda-forge/linux-64/mypy-0.931-py39h3811e60_2.tar.bz2
|
||||
version: '0.931'
|
||||
- category: main
|
||||
dependencies:
|
||||
python: 2.7|>=3.7
|
||||
setuptools: ''
|
||||
hash:
|
||||
md5: fbe1182f650c04513046d6894046cd6c
|
||||
sha256: 8f5afb243a9dd4ba6961eacc7d3c3da104cdc30162de863164b09f8920493d46
|
||||
manager: conda
|
||||
name: nodeenv
|
||||
optional: false
|
||||
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'
|
||||
@@ -3672,9 +3700,9 @@ package:
|
||||
- category: main
|
||||
dependencies:
|
||||
freetype: '>=2.12.1,<3.0a0'
|
||||
jpeg: '>=9e,<10a'
|
||||
lcms2: '>=2.14,<3.0a0'
|
||||
libgcc-ng: '>=12'
|
||||
libjpeg-turbo: '>=2.1.4,<3.0a0'
|
||||
libtiff: '>=4.5.0,<4.6.0a0'
|
||||
libwebp-base: '>=1.2.4,<2.0a0'
|
||||
libxcb: '>=1.13,<1.14.0a0'
|
||||
@@ -3684,13 +3712,13 @@ package:
|
||||
python_abi: 3.9.* *_cp39
|
||||
tk: '>=8.6.12,<8.7.0a0'
|
||||
hash:
|
||||
md5: d62ba9d1a981544c809813afaf0be5c0
|
||||
sha256: 3b40338a25a498bb31c37c79814a4c5d74962d7c8e0c82071f7a0fb814daf080
|
||||
md5: d2f79132b9c8e416058a4cd84ef27b3d
|
||||
sha256: 77348588ae7cc8034b63e8a71b6695ba22761e1c531678e724cf06a12be3d1e2
|
||||
manager: conda
|
||||
name: pillow
|
||||
optional: false
|
||||
platform: linux-64
|
||||
url: https://conda.anaconda.org/conda-forge/linux-64/pillow-9.4.0-py39ha08a7e4_0.conda
|
||||
url: https://conda.anaconda.org/conda-forge/linux-64/pillow-9.4.0-py39h2320bf1_1.conda
|
||||
version: 9.4.0
|
||||
- category: main
|
||||
dependencies:
|
||||
@@ -4184,6 +4212,22 @@ package:
|
||||
platform: linux-64
|
||||
url: https://conda.anaconda.org/conda-forge/noarch/pytest-mock-3.7.0-pyhd8ed1ab_1.tar.bz2
|
||||
version: 3.7.0
|
||||
- category: main
|
||||
dependencies:
|
||||
cffi: ''
|
||||
libgcc-ng: '>=12'
|
||||
libstdcxx-ng: '>=12'
|
||||
python: '>=3.9,<3.10.0a0'
|
||||
python_abi: 3.9.* *_cp39
|
||||
hash:
|
||||
md5: 0f11bcdf9669a5ae0f39efd8c830209a
|
||||
sha256: c0cfb2935d12f6300c65e8503eacdabe34d4b125ce0c3c87a0818e2d72c0c056
|
||||
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
|
||||
version: 1.0.1
|
||||
- category: main
|
||||
dependencies:
|
||||
libgcc-ng: '>=9.3.0'
|
||||
@@ -4275,6 +4319,19 @@ package:
|
||||
platform: linux-64
|
||||
url: https://conda.anaconda.org/conda-forge/noarch/flask_cors-3.0.10-pyhd3deb0d_0.tar.bz2
|
||||
version: 3.0.10
|
||||
- category: main
|
||||
dependencies:
|
||||
python: '>=3.6'
|
||||
ukkonen: ''
|
||||
hash:
|
||||
md5: a26b5ead210b1c8938c8a6a0c0fb2bed
|
||||
sha256: 0f904ff1af465077491ac6d1bc1207779ac74d926a187ea3cd1b5e2febfe311b
|
||||
manager: conda
|
||||
name: identify
|
||||
optional: false
|
||||
platform: linux-64
|
||||
url: https://conda.anaconda.org/conda-forge/noarch/identify-2.5.17-pyhd8ed1ab_0.conda
|
||||
version: 2.5.17
|
||||
- category: main
|
||||
dependencies:
|
||||
importlib_metadata: ''
|
||||
@@ -4536,6 +4593,24 @@ package:
|
||||
platform: linux-64
|
||||
url: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.54.4-h7abd40a_0.tar.bz2
|
||||
version: 2.54.4
|
||||
- category: main
|
||||
dependencies:
|
||||
cfgv: '>=2.0.0'
|
||||
identify: '>=1.0.0'
|
||||
nodeenv: '>=0.11.1'
|
||||
python: '>=3.9,<3.10.0a0'
|
||||
python_abi: 3.9.* *_cp39
|
||||
pyyaml: '>=5.1'
|
||||
virtualenv: '>=20.0.8'
|
||||
hash:
|
||||
md5: 9800c173ab73153bbed00e51a0f86c83
|
||||
sha256: b93e2f0ef4639347373bba685dec1892a21de923ea9d51cabafe75c189f82c2d
|
||||
manager: conda
|
||||
name: pre-commit
|
||||
optional: false
|
||||
platform: linux-64
|
||||
url: https://conda.anaconda.org/conda-forge/linux-64/pre-commit-3.0.3-py39hf3d152e_0.conda
|
||||
version: 3.0.3
|
||||
- category: main
|
||||
dependencies:
|
||||
__unix: ''
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
# To update a single package to the latest version compatible with the version constraints in the source:
|
||||
# conda-lock lock --lockfile conda-requirements-riscv-tools-linux-64.conda-lock.yml --update PACKAGE
|
||||
# To re-solve the entire environment, e.g. after changing a version constraint in the source file:
|
||||
# conda-lock -f /scratch/abejgonza/cy-circt/conda-reqs/chipyard.yaml -f /scratch/abejgonza/cy-circt/conda-reqs/riscv-tools.yaml --lockfile conda-requirements-riscv-tools-linux-64.conda-lock.yml
|
||||
# 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 --lockfile conda-requirements-riscv-tools-linux-64.conda-lock.yml
|
||||
metadata:
|
||||
channels:
|
||||
- url: ucb-bar
|
||||
@@ -19,12 +19,14 @@ metadata:
|
||||
- url: nodefaults
|
||||
used_env_vars: []
|
||||
content_hash:
|
||||
linux-64: 018e415637315593469f01c8f9b46d7006c95d919144866a9460ea34395ea604
|
||||
linux-64: 1fcefa1e4e6d9794ea47d5d139b0d4b9d4381ae536f9519c8a1efa82644a9f83
|
||||
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
|
||||
package:
|
||||
- category: main
|
||||
dependencies: {}
|
||||
@@ -1548,18 +1550,18 @@ package:
|
||||
version: 1.5.2
|
||||
- category: main
|
||||
dependencies:
|
||||
libgcc-ng: '>=9.4.0'
|
||||
libgcc-ng: '>=12'
|
||||
m4: ''
|
||||
perl: 5.*
|
||||
hash:
|
||||
md5: 47f6f07d64d6ea9d2c806ff42023e7e3
|
||||
sha256: 57b977849da4ff3a9c62ff632dcb62f48697c7d3698804230f4b9a43b2ce1a39
|
||||
md5: 50cabb1aee157a18082c7c92cc4b3143
|
||||
sha256: 04868bf7a2737af8c8a828b2c4b59653180a91da9c3ece77bae4e429a1b84cc1
|
||||
manager: conda
|
||||
name: autoconf
|
||||
optional: false
|
||||
platform: linux-64
|
||||
url: https://conda.anaconda.org/conda-forge/linux-64/autoconf-2.69-pl5321hd708f79_11.tar.bz2
|
||||
version: '2.69'
|
||||
url: https://conda.anaconda.org/conda-forge/linux-64/autoconf-2.71-pl5321h2b4cb7a_1.conda
|
||||
version: '2.71'
|
||||
- category: main
|
||||
dependencies:
|
||||
libgcc-ng: '>=10.3.0'
|
||||
@@ -1846,14 +1848,14 @@ package:
|
||||
tzdata: ''
|
||||
xz: '>=5.2.6,<6.0a0'
|
||||
hash:
|
||||
md5: 7b9485fce17fac2dd4aca6117a9936c2
|
||||
sha256: 159a1ba8789317fa0b6649b88c5f302a7022be86e69d2edf652065177c88c209
|
||||
md5: 95c9b7c96a7fd7342e0c9d0a917b8f78
|
||||
sha256: 00bcb28a294aa78bf9d2a2ecaae8cb887188eae710f9197d823d36fb8a5d9767
|
||||
manager: conda
|
||||
name: python
|
||||
optional: false
|
||||
platform: linux-64
|
||||
url: https://conda.anaconda.org/conda-forge/linux-64/python-3.9.15-hba424b6_0_cpython.conda
|
||||
version: 3.9.15
|
||||
url: https://conda.anaconda.org/conda-forge/linux-64/python-3.9.16-h2782a2a_0_cpython.conda
|
||||
version: 3.9.16
|
||||
- category: main
|
||||
dependencies:
|
||||
libgcc-ng: '>=12'
|
||||
@@ -2006,6 +2008,18 @@ package:
|
||||
platform: linux-64
|
||||
url: https://conda.anaconda.org/conda-forge/noarch/certifi-2022.12.7-pyhd8ed1ab_0.conda
|
||||
version: 2022.12.7
|
||||
- category: main
|
||||
dependencies:
|
||||
python: '>=3.6.1'
|
||||
hash:
|
||||
md5: ebb5f5f7dc4f1a3780ef7ea7738db08c
|
||||
sha256: fbc03537a27ef756162c49b1d0608bf7ab12fa5e38ceb8563d6f4859e835ac5c
|
||||
manager: conda
|
||||
name: cfgv
|
||||
optional: false
|
||||
platform: linux-64
|
||||
url: https://conda.anaconda.org/conda-forge/noarch/cfgv-3.3.1-pyhd8ed1ab_0.tar.bz2
|
||||
version: 3.3.1
|
||||
- category: main
|
||||
dependencies:
|
||||
python: '>=3.6'
|
||||
@@ -2020,16 +2034,16 @@ package:
|
||||
version: 2.1.1
|
||||
- category: main
|
||||
dependencies:
|
||||
__unix: ''
|
||||
python: '>=3.8'
|
||||
python: '>=3.9,<3.10.0a0'
|
||||
python_abi: 3.9.* *_cp39
|
||||
hash:
|
||||
md5: 20e4087407c7cb04a40817114b333dbf
|
||||
sha256: 23676470b591b100393bb0f6c46fe10624dcbefc696a6a9f42932ed8816ef0ea
|
||||
md5: 3613ff4128b3e565d048106196206929
|
||||
sha256: 21c425ecc4e6f4ec97aab1285b22ad629c75d2efb62f89cd6d9618ab6a2e606c
|
||||
manager: conda
|
||||
name: click
|
||||
optional: false
|
||||
platform: linux-64
|
||||
url: https://conda.anaconda.org/conda-forge/noarch/click-8.1.3-unix_pyhd8ed1ab_2.tar.bz2
|
||||
url: https://conda.anaconda.org/conda-forge/linux-64/click-8.1.3-py39hf3d152e_1.tar.bz2
|
||||
version: 8.1.3
|
||||
- category: main
|
||||
dependencies:
|
||||
@@ -2506,14 +2520,14 @@ package:
|
||||
python: '>=3.9,<3.10.0a0'
|
||||
python_abi: 3.9.* *_cp39
|
||||
hash:
|
||||
md5: a49da0929650af17fc943a90465e6ffc
|
||||
sha256: ab5bad66e70a9ea1f434da0d5c191d3e31790308e1de6b1235cfc599ec90a374
|
||||
md5: 73f58b7725491858c60b748f90e4ded9
|
||||
sha256: a9bc30196c12e9ef68ab69129b71118c1e7a45c52eb279cbe2e4938b781d93ce
|
||||
manager: conda
|
||||
name: mypy_extensions
|
||||
optional: false
|
||||
platform: linux-64
|
||||
url: https://conda.anaconda.org/conda-forge/linux-64/mypy_extensions-0.4.3-py39hf3d152e_6.tar.bz2
|
||||
version: 0.4.3
|
||||
url: https://conda.anaconda.org/conda-forge/linux-64/mypy_extensions-0.4.4-py39hf3d152e_0.conda
|
||||
version: 0.4.4
|
||||
- category: main
|
||||
dependencies:
|
||||
python: '>=3.8'
|
||||
@@ -2597,15 +2611,16 @@ package:
|
||||
version: 1.9.6
|
||||
- category: main
|
||||
dependencies:
|
||||
python: '>=3.8'
|
||||
python: '>=3.9,<3.10.0a0'
|
||||
python_abi: 3.9.* *_cp39
|
||||
hash:
|
||||
md5: 7d301a0d25f424d96175f810935f0da9
|
||||
sha256: c25e1757e4e90638bb1e778aba3ee5f3c01fae9752e3c3929f9be7d367f6c7f3
|
||||
md5: d86903c57fe229d9dd8878a6dd9d149f
|
||||
sha256: abf2d34464c6255d35703e3c9477475e3e6e353ca8675990596d2477cdbc5b52
|
||||
manager: conda
|
||||
name: pluggy
|
||||
optional: false
|
||||
platform: linux-64
|
||||
url: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.0.0-pyhd8ed1ab_5.tar.bz2
|
||||
url: https://conda.anaconda.org/conda-forge/linux-64/pluggy-1.0.0-py39hf3d152e_4.tar.bz2
|
||||
version: 1.0.0
|
||||
- category: main
|
||||
dependencies:
|
||||
@@ -2749,16 +2764,16 @@ package:
|
||||
version: 0.19.3
|
||||
- category: main
|
||||
dependencies:
|
||||
__unix: ''
|
||||
python: '>=3.8'
|
||||
python: '>=3.9,<3.10.0a0'
|
||||
python_abi: 3.9.* *_cp39
|
||||
hash:
|
||||
md5: 2a7de29fb590ca14b5243c4c812c8025
|
||||
sha256: a42f826e958a8d22e65b3394f437af7332610e43ee313393d1cf143f0a2d274b
|
||||
md5: d34b97a2386932b97c7cb80916a673e7
|
||||
sha256: 42d46baeab725d3c70d22a4258549e9f0f1a72b740166cd9c3b394c4369cb306
|
||||
manager: conda
|
||||
name: pysocks
|
||||
optional: false
|
||||
platform: linux-64
|
||||
url: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha2e5f31_6.tar.bz2
|
||||
url: https://conda.anaconda.org/conda-forge/linux-64/pysocks-1.7.1-py39hf3d152e_5.tar.bz2
|
||||
version: 1.7.1
|
||||
- category: main
|
||||
dependencies:
|
||||
@@ -3134,14 +3149,14 @@ package:
|
||||
dependencies:
|
||||
python: '>=3.7'
|
||||
hash:
|
||||
md5: 6df990e93f39e91a3f45d4d885404d56
|
||||
sha256: 2762ff6c126ab17219933500cdbb0e6d0e73aa26545c87c8f54346f1391f408b
|
||||
md5: 2a914654b9ade742049dab13e29571c6
|
||||
sha256: 7a2c359d12a13e505b74cd82686f98379113c9b4be01f6685167ba137b286127
|
||||
manager: conda
|
||||
name: websocket-client
|
||||
optional: false
|
||||
platform: linux-64
|
||||
url: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.5.0-pyhd8ed1ab_0.conda
|
||||
version: 1.5.0
|
||||
url: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.5.1-pyhd8ed1ab_0.conda
|
||||
version: 1.5.1
|
||||
- category: main
|
||||
dependencies:
|
||||
python: '>=3.7'
|
||||
@@ -3226,14 +3241,14 @@ package:
|
||||
dependencies:
|
||||
python: '>=3.7'
|
||||
hash:
|
||||
md5: edc3568566cc48335f0b5d86d40fdbb9
|
||||
sha256: f07ac97de32d5954f5ae0aaf4dd5fdae85b70f139d02d5e0c296f1c2caf0c8ed
|
||||
md5: 7cc265528c9db5e40a771438108f6810
|
||||
sha256: b0b7af936586069051cb43a120ac4dd04a795fdb93a21479e7dea78c8780bd0d
|
||||
manager: conda
|
||||
name: zipp
|
||||
optional: false
|
||||
platform: linux-64
|
||||
url: https://conda.anaconda.org/conda-forge/noarch/zipp-3.12.0-pyhd8ed1ab_0.conda
|
||||
version: 3.12.0
|
||||
url: https://conda.anaconda.org/conda-forge/noarch/zipp-3.12.1-pyhd8ed1ab_0.conda
|
||||
version: 3.12.1
|
||||
- category: main
|
||||
dependencies:
|
||||
python: '>=3.6'
|
||||
@@ -3656,6 +3671,19 @@ package:
|
||||
platform: linux-64
|
||||
url: https://conda.anaconda.org/conda-forge/linux-64/mypy-0.931-py39h3811e60_2.tar.bz2
|
||||
version: '0.931'
|
||||
- category: main
|
||||
dependencies:
|
||||
python: 2.7|>=3.7
|
||||
setuptools: ''
|
||||
hash:
|
||||
md5: fbe1182f650c04513046d6894046cd6c
|
||||
sha256: 8f5afb243a9dd4ba6961eacc7d3c3da104cdc30162de863164b09f8920493d46
|
||||
manager: conda
|
||||
name: nodeenv
|
||||
optional: false
|
||||
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'
|
||||
@@ -3672,9 +3700,9 @@ package:
|
||||
- category: main
|
||||
dependencies:
|
||||
freetype: '>=2.12.1,<3.0a0'
|
||||
jpeg: '>=9e,<10a'
|
||||
lcms2: '>=2.14,<3.0a0'
|
||||
libgcc-ng: '>=12'
|
||||
libjpeg-turbo: '>=2.1.4,<3.0a0'
|
||||
libtiff: '>=4.5.0,<4.6.0a0'
|
||||
libwebp-base: '>=1.2.4,<2.0a0'
|
||||
libxcb: '>=1.13,<1.14.0a0'
|
||||
@@ -3684,13 +3712,13 @@ package:
|
||||
python_abi: 3.9.* *_cp39
|
||||
tk: '>=8.6.12,<8.7.0a0'
|
||||
hash:
|
||||
md5: d62ba9d1a981544c809813afaf0be5c0
|
||||
sha256: 3b40338a25a498bb31c37c79814a4c5d74962d7c8e0c82071f7a0fb814daf080
|
||||
md5: d2f79132b9c8e416058a4cd84ef27b3d
|
||||
sha256: 77348588ae7cc8034b63e8a71b6695ba22761e1c531678e724cf06a12be3d1e2
|
||||
manager: conda
|
||||
name: pillow
|
||||
optional: false
|
||||
platform: linux-64
|
||||
url: https://conda.anaconda.org/conda-forge/linux-64/pillow-9.4.0-py39ha08a7e4_0.conda
|
||||
url: https://conda.anaconda.org/conda-forge/linux-64/pillow-9.4.0-py39h2320bf1_1.conda
|
||||
version: 9.4.0
|
||||
- category: main
|
||||
dependencies:
|
||||
@@ -4184,6 +4212,22 @@ package:
|
||||
platform: linux-64
|
||||
url: https://conda.anaconda.org/conda-forge/noarch/pytest-mock-3.7.0-pyhd8ed1ab_1.tar.bz2
|
||||
version: 3.7.0
|
||||
- category: main
|
||||
dependencies:
|
||||
cffi: ''
|
||||
libgcc-ng: '>=12'
|
||||
libstdcxx-ng: '>=12'
|
||||
python: '>=3.9,<3.10.0a0'
|
||||
python_abi: 3.9.* *_cp39
|
||||
hash:
|
||||
md5: 0f11bcdf9669a5ae0f39efd8c830209a
|
||||
sha256: c0cfb2935d12f6300c65e8503eacdabe34d4b125ce0c3c87a0818e2d72c0c056
|
||||
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
|
||||
version: 1.0.1
|
||||
- category: main
|
||||
dependencies:
|
||||
libgcc-ng: '>=9.3.0'
|
||||
@@ -4275,6 +4319,19 @@ package:
|
||||
platform: linux-64
|
||||
url: https://conda.anaconda.org/conda-forge/noarch/flask_cors-3.0.10-pyhd3deb0d_0.tar.bz2
|
||||
version: 3.0.10
|
||||
- category: main
|
||||
dependencies:
|
||||
python: '>=3.6'
|
||||
ukkonen: ''
|
||||
hash:
|
||||
md5: a26b5ead210b1c8938c8a6a0c0fb2bed
|
||||
sha256: 0f904ff1af465077491ac6d1bc1207779ac74d926a187ea3cd1b5e2febfe311b
|
||||
manager: conda
|
||||
name: identify
|
||||
optional: false
|
||||
platform: linux-64
|
||||
url: https://conda.anaconda.org/conda-forge/noarch/identify-2.5.17-pyhd8ed1ab_0.conda
|
||||
version: 2.5.17
|
||||
- category: main
|
||||
dependencies:
|
||||
importlib_metadata: ''
|
||||
@@ -4536,6 +4593,24 @@ package:
|
||||
platform: linux-64
|
||||
url: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.54.4-h7abd40a_0.tar.bz2
|
||||
version: 2.54.4
|
||||
- category: main
|
||||
dependencies:
|
||||
cfgv: '>=2.0.0'
|
||||
identify: '>=1.0.0'
|
||||
nodeenv: '>=0.11.1'
|
||||
python: '>=3.9,<3.10.0a0'
|
||||
python_abi: 3.9.* *_cp39
|
||||
pyyaml: '>=5.1'
|
||||
virtualenv: '>=20.0.8'
|
||||
hash:
|
||||
md5: 9800c173ab73153bbed00e51a0f86c83
|
||||
sha256: b93e2f0ef4639347373bba685dec1892a21de923ea9d51cabafe75c189f82c2d
|
||||
manager: conda
|
||||
name: pre-commit
|
||||
optional: false
|
||||
platform: linux-64
|
||||
url: https://conda.anaconda.org/conda-forge/linux-64/pre-commit-3.0.3-py39hf3d152e_0.conda
|
||||
version: 3.0.3
|
||||
- category: main
|
||||
dependencies:
|
||||
__unix: ''
|
||||
|
||||
@@ -1,134 +0,0 @@
|
||||
channels:
|
||||
- ucb-bar
|
||||
- conda-forge
|
||||
- nodefaults
|
||||
|
||||
dependencies:
|
||||
# https://conda-forge.org/feedstock-outputs/
|
||||
# filterable list of all conda-forge packages
|
||||
# https://conda-forge.org/#contribute
|
||||
# instructions on adding a recipe
|
||||
# https://docs.conda.io/projects/conda/en/latest/user-guide/concepts/pkg-specs.html#package-match-specifications
|
||||
# documentation on package_spec syntax for constraining versions
|
||||
|
||||
|
||||
# handy tool for introspecting package relationships and file ownership
|
||||
# see https://github.com/rvalieris/conda-tree
|
||||
- conda-tree
|
||||
|
||||
# bundle FireSim driver with deps into installer shell-script
|
||||
- constructor
|
||||
|
||||
- gcc
|
||||
- gxx
|
||||
- sysroot_linux-64>=2.17 # needed to match pre-built CI XRT glibc version
|
||||
- conda-gcc-specs
|
||||
- binutils
|
||||
|
||||
- dromajo # from ucb-bar channel - https://github.com/riscv-boom/dromajo
|
||||
- riscv-tools # from ucb-bar channel - https://github.com/ucb-bar/riscv-tools-feedstock
|
||||
- firtool # from ucb-bar channel - https://github.com/ucb-bar/firtool-feedstock
|
||||
|
||||
# firemarshal deps
|
||||
- python>=3.8
|
||||
- bc
|
||||
- patch
|
||||
- which
|
||||
- diffutils
|
||||
- bash
|
||||
- gzip
|
||||
- bzip2
|
||||
- perl
|
||||
- tar
|
||||
- file
|
||||
- findutils
|
||||
- rsync
|
||||
- psutil
|
||||
- doit=0.35.0
|
||||
- gitpython
|
||||
- humanfriendly
|
||||
- e2fsprogs
|
||||
- ctags
|
||||
- bison
|
||||
- flex
|
||||
- expat
|
||||
- make
|
||||
- pyyaml
|
||||
- unzip
|
||||
- readline
|
||||
- coreutils
|
||||
- lzop
|
||||
- qemu # from ucb-bar channel - https://github.com/ucb-bar/qemu-feedstock
|
||||
|
||||
- jq
|
||||
- bash-completion
|
||||
- sbt
|
||||
- ca-certificates
|
||||
- mosh
|
||||
- gmp
|
||||
- mpfr
|
||||
- mpc
|
||||
- zlib
|
||||
- vim
|
||||
- git
|
||||
- openjdk
|
||||
- gengetopt
|
||||
- libffi
|
||||
- expat
|
||||
- libusb1
|
||||
- ncurses
|
||||
- cmake
|
||||
- graphviz
|
||||
- expect
|
||||
- dtc
|
||||
- verilator==4.226
|
||||
- screen
|
||||
- elfutils
|
||||
- libdwarf-dev==0.0.0.20190110_28_ga81397fc4 # from ucb-bar channel - using mainline libdwarf-feedstock
|
||||
- conda-lock>=1
|
||||
- wget
|
||||
- sed
|
||||
- autoconf
|
||||
|
||||
# clang-format for driver coding style enforcement.
|
||||
- clang-format
|
||||
- clang-tools
|
||||
|
||||
# python packages
|
||||
# While it is possible to install using pip after creating the
|
||||
# conda environment, pip's dependency resolution can conflict with
|
||||
# conda and create broken environments. It's best to use the conda
|
||||
# packages so that the environment is consistent
|
||||
- boto3==1.20.21
|
||||
- colorama==0.4.3
|
||||
- argcomplete==1.12.3
|
||||
- python-graphviz==0.19
|
||||
- pyparsing==3.0.6
|
||||
- numpy==1.19.5
|
||||
- kiwisolver==1.3.1
|
||||
- matplotlib-base==3.3.4
|
||||
- pandas==1.1.5
|
||||
- awscli==1.22.21
|
||||
- pytest==6.2.5
|
||||
- pytest-dependency==0.5.1
|
||||
- pytest-mock==3.7.0
|
||||
- moto==3.1.0
|
||||
- pyyaml==5.4.1
|
||||
- mypy==0.931
|
||||
- types-pyyaml==6.0.4
|
||||
- boto3-stubs==1.21.6
|
||||
- botocore-stubs==1.24.7
|
||||
- mypy-boto3-s3==1.21.0
|
||||
- pip
|
||||
- pip:
|
||||
- fab-classic==1.19.1
|
||||
- mypy-boto3-ec2==1.21.9
|
||||
- sure==2.0.0
|
||||
- pylddwrap==1.2.1
|
||||
|
||||
# doc requirements
|
||||
- sphinx
|
||||
- pygments
|
||||
- sphinx-autobuild
|
||||
- sphinx_rtd_theme
|
||||
- docutils
|
||||
@@ -1,22 +1,19 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import os
|
||||
import json
|
||||
import argparse
|
||||
import sys
|
||||
from pathlib import Path
|
||||
from typing import List, Optional
|
||||
from collections import defaultdict
|
||||
|
||||
# Schema of *.f emitted by circt
|
||||
"""
|
||||
/scratch/joonho.whangbo/coding/chipyard/vlsi/generated-src/chipyard.TestHarness.RocketConfig/gen-collateral/SimUART.cc
|
||||
/scratch/joonho.whangbo/coding/chipyard/vlsi/generated-src/chipyard.TestHarness.RocketConfig/gen-collateral/AsyncQueueSource.sv
|
||||
/scratch/joonho.whangbo/coding/chipyard/vlsi/generated-src/chipyard.TestHarness.RocketConfig/gen-collateral/AsyncQueueSink.sv
|
||||
/scratch/joonho.whangbo/coding/chipyard/vlsi/generated-src/chipyard.TestHarness.RocketConfig/gen-collateral/AsyncQueueSource_1.sv
|
||||
/scratch/joonho.whangbo/coding/chipyard/vlsi/generated-src/chipyard.TestHarness.RocketConfig/gen-collateral/AsyncQueueSink_1.sv
|
||||
/scratch/joonho.whangbo/coding/chipyard/vlsi/generated-src/chipyard.TestHarness.RocketConfig/gen-collateral/AsyncQueueSource_2.sv
|
||||
/scratch/joonho.whangbo/coding/chipyard/vlsi/generated-src/chipyard.TestHarness.RocketConfig/gen-collateral/AsyncQueueSink_2.sv
|
||||
/scratch/joonho.whangbo/coding/chipyard/vlsi/generated-src/chipyard.TestHarness.RocketConfig/gen-collateral/AsyncResetSynchronizerShiftReg_w4_d3_i0.sv
|
||||
<gen-src-dir>/<long-name>/gen-collateral/SimUART.cc
|
||||
<gen-src-dir>/<long-name>/gen-collateral/AsyncQueueSource.sv
|
||||
<gen-src-dir>/<long-name>/gen-collateral/AsyncQueueSink.sv
|
||||
<gen-src-dir>/<long-name>/gen-collateral/AsyncQueueSource_1.sv
|
||||
<gen-src-dir>/<long-name>/gen-collateral/AsyncQueueSink_1.sv
|
||||
<gen-src-dir>/<long-name>/gen-collateral/AsyncQueueSource_2.sv
|
||||
<gen-src-dir>/<long-name>/gen-collateral/AsyncQueueSink_2.sv
|
||||
<gen-src-dir>/<long-name>/gen-collateral/AsyncResetSynchronizerShiftReg_w4_d3_i0.sv
|
||||
"""
|
||||
|
||||
def bfs_collect_submodules(tree):
|
||||
@@ -33,100 +30,53 @@ def bfs_collect_submodules(tree):
|
||||
q.append((c['instance_name'], c['module_name'], c['instances']))
|
||||
return output
|
||||
|
||||
def get_modules(f):
|
||||
lines = f.readlines()
|
||||
module_list = list()
|
||||
for line in lines:
|
||||
try:
|
||||
module_list.append(os.path.basename(line))
|
||||
except:
|
||||
print("Excepted a linux path, got something else")
|
||||
return module_list
|
||||
|
||||
def get_inner_modules(f):
|
||||
lines = f.readlines()
|
||||
inner_module_list = list()
|
||||
for line in lines:
|
||||
words = line.split()
|
||||
if len(words) >= 2 and "module" == words[0]:
|
||||
inner_module_list.append(words[1].replace("(", ""))
|
||||
return inner_module_list
|
||||
|
||||
def write_lines_to_file(lines, file_path):
|
||||
with open(file_path, "w") as fp:
|
||||
for line in lines:
|
||||
fp.write("%s" % line)
|
||||
|
||||
fp.write("%s\n" % line)
|
||||
|
||||
if __name__ == "__main__":
|
||||
parser = argparse.ArgumentParser(description='Use *.model.f and *.top.f to restore the MODEL/TOP blackbox separation')
|
||||
parser.add_argument('--in-top-f', type=str, required=True, help='List of generated files specific for TOP(DUT)')
|
||||
parser.add_argument('--in-model-f', type=str, required=True, help='List of generated files specific for MODEL')
|
||||
parser.add_argument('--in-bb-f', type=str, required=True, help='List of generated files specific for MODEL')
|
||||
parser = argparse.ArgumentParser(description='Create *.model.bb.f and *.top.bb.f blackbox filelists')
|
||||
parser.add_argument('--in-bb-f', type=str, required=True, help='All blackbox files filelist (includes both MODEL/TOP files)')
|
||||
parser.add_argument('--in-top-hrchy-json', type=str, required=True, help='List containing hierarchy of top modules (top-module-hierarchy.json)')
|
||||
parser.add_argument('--out-top-bb-f', type=str, required=True, help='List of blackbox modules for TOP')
|
||||
parser.add_argument('--out-model-bb-f', type=str, required=True, help='List of blackbox modules for MODEL')
|
||||
parser.add_argument('--in-anno-json', type=str, required=True, help='Anno. file with blackbox annotations')
|
||||
parser.add_argument('--out-top-bb-f', type=str, required=True, help='List of blackbox files for TOP')
|
||||
parser.add_argument('--out-model-bb-f', type=str, required=True, help='List of blackbox files for MODEL')
|
||||
args = parser.parse_args()
|
||||
|
||||
itf = open(args.in_top_f)
|
||||
top_modules = set(get_modules(itf))
|
||||
itf.close()
|
||||
# module_path -> list of bb paths (not fully resolved paths)
|
||||
mod_bb_dict = defaultdict(list)
|
||||
with open(args.in_anno_json, "r") as f:
|
||||
anno_data = json.load(f)
|
||||
for anno in anno_data:
|
||||
if 'BlackBoxInlineAnno' in anno['class']:
|
||||
mod_bb_dict[anno['target']].append(anno['name'])
|
||||
if 'BlackBoxPathAnno' in anno['class']:
|
||||
mod_bb_dict[anno['target']].append(anno['path'])
|
||||
|
||||
imf = open(args.in_model_f)
|
||||
model_modules = set(get_modules(imf))
|
||||
imf.close()
|
||||
with open(args.in_top_hrchy_json) as ihj:
|
||||
ihj_data = json.load(ihj)
|
||||
top_inner_modules = bfs_collect_submodules(ihj_data)
|
||||
|
||||
ihj = open(args.in_top_hrchy_json)
|
||||
ihj_data = json.load(ihj)
|
||||
top_inner_modules = bfs_collect_submodules(ihj_data)
|
||||
ihj.close()
|
||||
with open(args.in_bb_f) as ibf:
|
||||
lines = ibf.read().splitlines()
|
||||
|
||||
ibf = open(args.in_bb_f)
|
||||
lines = ibf.readlines()
|
||||
tbfs = set()
|
||||
for mod_path, bb_files in mod_bb_dict.items():
|
||||
leaf_mod = mod_path.split('.')[-1]
|
||||
|
||||
"""
|
||||
" model top
|
||||
" o o -> model
|
||||
" x o -> top
|
||||
" x x -> model
|
||||
" - check inner module
|
||||
" - currently, there is no way of knowing if certain inner modules(actual verilog
|
||||
" modules inside the files) are all included in TOP or MODEL
|
||||
" - for now, assume that if a inner module is included in TOP, the file itself
|
||||
" is also for TOP
|
||||
"""
|
||||
tbf = list()
|
||||
mbf = list()
|
||||
unknown = list()
|
||||
for line in lines:
|
||||
module = os.path.basename(line)
|
||||
extension = os.path.splitext(module)[1]
|
||||
if module in model_modules:
|
||||
mbf.append(line)
|
||||
elif module in top_modules:
|
||||
tbf.append(line)
|
||||
elif ".v" not in extension and ".sv" not in extension:
|
||||
mbf.append(line)
|
||||
else:
|
||||
unknown.append(line)
|
||||
# if matched, add the fully resolved path to the top bb filelist
|
||||
if leaf_mod in top_inner_modules:
|
||||
for line in lines:
|
||||
for bb_file in bb_files:
|
||||
if bb_file in line:
|
||||
tbfs.add(line)
|
||||
|
||||
# now tbfs should be complete (need to remove tbf files from original bb file for model bb)
|
||||
mbfs = set()
|
||||
for line in lines:
|
||||
if not line in tbfs:
|
||||
mbfs.add(line)
|
||||
|
||||
for line in unknown:
|
||||
f = open(Path(line.replace("\n", "")))
|
||||
inner_modules = get_inner_modules(f)
|
||||
f.close()
|
||||
|
||||
inner_module_in_top = False
|
||||
for im in inner_modules:
|
||||
if im in top_inner_modules:
|
||||
inner_module_in_top = True
|
||||
break
|
||||
if inner_module_in_top:
|
||||
tbf.append(line)
|
||||
else:
|
||||
mbf.append(line)
|
||||
|
||||
write_lines_to_file(tbf, args.out_top_bb_f)
|
||||
write_lines_to_file(mbf, args.out_model_bb_f)
|
||||
|
||||
ibf.close()
|
||||
write_lines_to_file(tbfs, args.out_top_bb_f)
|
||||
write_lines_to_file(mbfs, args.out_model_bb_f)
|
||||
|
||||
@@ -182,7 +182,9 @@ MODEL_MODS_FILELIST ?= $(build_dir)/$(long_name).model.f
|
||||
# list of all blackbox files (may be included in the top/model.f files)
|
||||
# this has the build_dir appended
|
||||
BB_MODS_FILELIST ?= $(build_dir)/$(long_name).bb.f
|
||||
# top blackbox module files to include
|
||||
TOP_BB_MODS_FILELIST ?= $(build_dir)/$(long_name).top.bb.f
|
||||
# model blackbox module files to include (not including top blackbox modules)
|
||||
MODEL_BB_MODS_FILELIST ?= $(build_dir)/$(long_name).model.bb.f
|
||||
# all module files to include (top, model, bb included)
|
||||
ALL_MODS_FILELIST ?= $(build_dir)/$(long_name).all.f
|
||||
|
||||
Reference in New Issue
Block a user