More robust splitting of BB filelists | Missed pre-commit | Removed old conda.yaml

This commit is contained in:
abejgonzalez
2023-02-05 14:51:28 -08:00
parent 2680f552cf
commit f51457cf39
7 changed files with 285 additions and 315 deletions

View File

@@ -219,12 +219,11 @@ $(TOP_MODS_FILELIST) $(MODEL_MODS_FILELIST) $(ALL_MODS_FILELIST) $(BB_MODS_FILEL
$(SED) -i 's/\.\///' $(BB_MODS_FILELIST) $(SED) -i 's/\.\///' $(BB_MODS_FILELIST)
sort -u $(TOP_MODS_FILELIST) $(MODEL_MODS_FILELIST) $(BB_MODS_FILELIST) > $(ALL_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 \ $(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-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-top-bb-f $(TOP_BB_MODS_FILELIST) \
--out-model-bb-f $(MODEL_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 # 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) $(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\)$$' > $@ sort -u $(sim_files) $(ALL_MODS_FILELIST) | grep -v '.*\.\(svh\|h\)$$' > $@

View File

@@ -91,6 +91,7 @@ dependencies:
- wget - wget
- sed - sed
- autoconf - autoconf
- pre-commit
# clang-format for driver coding style enforcement. # clang-format for driver coding style enforcement.
- clang-format - clang-format

View File

@@ -9,7 +9,7 @@
# To update a single package to the latest version compatible with the version constraints in the source: # 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: # 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: metadata:
channels: channels:
- url: ucb-bar - url: ucb-bar
@@ -19,12 +19,14 @@ metadata:
- url: nodefaults - url: nodefaults
used_env_vars: [] used_env_vars: []
content_hash: content_hash:
linux-64: 5355d154355d9639a93294ab6bb4385fea9c6e942dbce5c6bd7b8940004c5ee3 linux-64: 10c97fbff3e98c5a8d68013bc08fdb0615cef44fab34016106915cd904fa5329
platforms: platforms:
- linux-64 - linux-64
sources: sources:
- /scratch/abejgonza/cy-circt/conda-reqs/chipyard.yaml - /scratch/abejgonza/cy-circt/conda-reqs/chipyard.yaml
- /scratch/abejgonza/cy-circt/conda-reqs/esp-tools.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: package:
- category: main - category: main
dependencies: {} dependencies: {}
@@ -1548,18 +1550,18 @@ package:
version: 1.5.2 version: 1.5.2
- category: main - category: main
dependencies: dependencies:
libgcc-ng: '>=9.4.0' libgcc-ng: '>=12'
m4: '' m4: ''
perl: 5.* perl: 5.*
hash: hash:
md5: 47f6f07d64d6ea9d2c806ff42023e7e3 md5: 50cabb1aee157a18082c7c92cc4b3143
sha256: 57b977849da4ff3a9c62ff632dcb62f48697c7d3698804230f4b9a43b2ce1a39 sha256: 04868bf7a2737af8c8a828b2c4b59653180a91da9c3ece77bae4e429a1b84cc1
manager: conda manager: conda
name: autoconf name: autoconf
optional: false optional: false
platform: linux-64 platform: linux-64
url: https://conda.anaconda.org/conda-forge/linux-64/autoconf-2.69-pl5321hd708f79_11.tar.bz2 url: https://conda.anaconda.org/conda-forge/linux-64/autoconf-2.71-pl5321h2b4cb7a_1.conda
version: '2.69' version: '2.71'
- category: main - category: main
dependencies: dependencies:
libgcc-ng: '>=10.3.0' libgcc-ng: '>=10.3.0'
@@ -1846,14 +1848,14 @@ package:
tzdata: '' tzdata: ''
xz: '>=5.2.6,<6.0a0' xz: '>=5.2.6,<6.0a0'
hash: hash:
md5: 7b9485fce17fac2dd4aca6117a9936c2 md5: 95c9b7c96a7fd7342e0c9d0a917b8f78
sha256: 159a1ba8789317fa0b6649b88c5f302a7022be86e69d2edf652065177c88c209 sha256: 00bcb28a294aa78bf9d2a2ecaae8cb887188eae710f9197d823d36fb8a5d9767
manager: conda manager: conda
name: python name: python
optional: false optional: false
platform: linux-64 platform: linux-64
url: https://conda.anaconda.org/conda-forge/linux-64/python-3.9.15-hba424b6_0_cpython.conda url: https://conda.anaconda.org/conda-forge/linux-64/python-3.9.16-h2782a2a_0_cpython.conda
version: 3.9.15 version: 3.9.16
- category: main - category: main
dependencies: dependencies:
libgcc-ng: '>=12' libgcc-ng: '>=12'
@@ -2006,6 +2008,18 @@ package:
platform: linux-64 platform: linux-64
url: https://conda.anaconda.org/conda-forge/noarch/certifi-2022.12.7-pyhd8ed1ab_0.conda url: https://conda.anaconda.org/conda-forge/noarch/certifi-2022.12.7-pyhd8ed1ab_0.conda
version: 2022.12.7 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 - category: main
dependencies: dependencies:
python: '>=3.6' python: '>=3.6'
@@ -2020,16 +2034,16 @@ package:
version: 2.1.1 version: 2.1.1
- category: main - category: main
dependencies: dependencies:
__unix: '' python: '>=3.9,<3.10.0a0'
python: '>=3.8' python_abi: 3.9.* *_cp39
hash: hash:
md5: 20e4087407c7cb04a40817114b333dbf md5: 3613ff4128b3e565d048106196206929
sha256: 23676470b591b100393bb0f6c46fe10624dcbefc696a6a9f42932ed8816ef0ea sha256: 21c425ecc4e6f4ec97aab1285b22ad629c75d2efb62f89cd6d9618ab6a2e606c
manager: conda manager: conda
name: click name: click
optional: false optional: false
platform: linux-64 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 version: 8.1.3
- category: main - category: main
dependencies: dependencies:
@@ -2523,14 +2537,14 @@ package:
python: '>=3.9,<3.10.0a0' python: '>=3.9,<3.10.0a0'
python_abi: 3.9.* *_cp39 python_abi: 3.9.* *_cp39
hash: hash:
md5: a49da0929650af17fc943a90465e6ffc md5: 73f58b7725491858c60b748f90e4ded9
sha256: ab5bad66e70a9ea1f434da0d5c191d3e31790308e1de6b1235cfc599ec90a374 sha256: a9bc30196c12e9ef68ab69129b71118c1e7a45c52eb279cbe2e4938b781d93ce
manager: conda manager: conda
name: mypy_extensions name: mypy_extensions
optional: false optional: false
platform: linux-64 platform: linux-64
url: https://conda.anaconda.org/conda-forge/linux-64/mypy_extensions-0.4.3-py39hf3d152e_6.tar.bz2 url: https://conda.anaconda.org/conda-forge/linux-64/mypy_extensions-0.4.4-py39hf3d152e_0.conda
version: 0.4.3 version: 0.4.4
- category: main - category: main
dependencies: dependencies:
python: '>=3.8' python: '>=3.8'
@@ -2614,15 +2628,16 @@ package:
version: 1.9.6 version: 1.9.6
- category: main - category: main
dependencies: dependencies:
python: '>=3.8' python: '>=3.9,<3.10.0a0'
python_abi: 3.9.* *_cp39
hash: hash:
md5: 7d301a0d25f424d96175f810935f0da9 md5: d86903c57fe229d9dd8878a6dd9d149f
sha256: c25e1757e4e90638bb1e778aba3ee5f3c01fae9752e3c3929f9be7d367f6c7f3 sha256: abf2d34464c6255d35703e3c9477475e3e6e353ca8675990596d2477cdbc5b52
manager: conda manager: conda
name: pluggy name: pluggy
optional: false optional: false
platform: linux-64 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 version: 1.0.0
- category: main - category: main
dependencies: dependencies:
@@ -2766,16 +2781,16 @@ package:
version: 0.19.3 version: 0.19.3
- category: main - category: main
dependencies: dependencies:
__unix: '' python: '>=3.9,<3.10.0a0'
python: '>=3.8' python_abi: 3.9.* *_cp39
hash: hash:
md5: 2a7de29fb590ca14b5243c4c812c8025 md5: d34b97a2386932b97c7cb80916a673e7
sha256: a42f826e958a8d22e65b3394f437af7332610e43ee313393d1cf143f0a2d274b sha256: 42d46baeab725d3c70d22a4258549e9f0f1a72b740166cd9c3b394c4369cb306
manager: conda manager: conda
name: pysocks name: pysocks
optional: false optional: false
platform: linux-64 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 version: 1.7.1
- category: main - category: main
dependencies: dependencies:
@@ -3134,14 +3149,14 @@ package:
dependencies: dependencies:
python: '>=3.7' python: '>=3.7'
hash: hash:
md5: 6df990e93f39e91a3f45d4d885404d56 md5: 2a914654b9ade742049dab13e29571c6
sha256: 2762ff6c126ab17219933500cdbb0e6d0e73aa26545c87c8f54346f1391f408b sha256: 7a2c359d12a13e505b74cd82686f98379113c9b4be01f6685167ba137b286127
manager: conda manager: conda
name: websocket-client name: websocket-client
optional: false optional: false
platform: linux-64 platform: linux-64
url: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.5.0-pyhd8ed1ab_0.conda url: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.5.1-pyhd8ed1ab_0.conda
version: 1.5.0 version: 1.5.1
- category: main - category: main
dependencies: dependencies:
python: '>=3.7' python: '>=3.7'
@@ -3226,14 +3241,14 @@ package:
dependencies: dependencies:
python: '>=3.7' python: '>=3.7'
hash: hash:
md5: edc3568566cc48335f0b5d86d40fdbb9 md5: 7cc265528c9db5e40a771438108f6810
sha256: f07ac97de32d5954f5ae0aaf4dd5fdae85b70f139d02d5e0c296f1c2caf0c8ed sha256: b0b7af936586069051cb43a120ac4dd04a795fdb93a21479e7dea78c8780bd0d
manager: conda manager: conda
name: zipp name: zipp
optional: false optional: false
platform: linux-64 platform: linux-64
url: https://conda.anaconda.org/conda-forge/noarch/zipp-3.12.0-pyhd8ed1ab_0.conda url: https://conda.anaconda.org/conda-forge/noarch/zipp-3.12.1-pyhd8ed1ab_0.conda
version: 3.12.0 version: 3.12.1
- category: main - category: main
dependencies: dependencies:
python: '>=3.6' python: '>=3.6'
@@ -3656,6 +3671,19 @@ package:
platform: linux-64 platform: linux-64
url: https://conda.anaconda.org/conda-forge/linux-64/mypy-0.931-py39h3811e60_2.tar.bz2 url: https://conda.anaconda.org/conda-forge/linux-64/mypy-0.931-py39h3811e60_2.tar.bz2
version: '0.931' 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 - category: main
dependencies: dependencies:
ptyprocess: '>=0.5' ptyprocess: '>=0.5'
@@ -3672,9 +3700,9 @@ package:
- category: main - category: main
dependencies: dependencies:
freetype: '>=2.12.1,<3.0a0' freetype: '>=2.12.1,<3.0a0'
jpeg: '>=9e,<10a'
lcms2: '>=2.14,<3.0a0' lcms2: '>=2.14,<3.0a0'
libgcc-ng: '>=12' libgcc-ng: '>=12'
libjpeg-turbo: '>=2.1.4,<3.0a0'
libtiff: '>=4.5.0,<4.6.0a0' libtiff: '>=4.5.0,<4.6.0a0'
libwebp-base: '>=1.2.4,<2.0a0' libwebp-base: '>=1.2.4,<2.0a0'
libxcb: '>=1.13,<1.14.0a0' libxcb: '>=1.13,<1.14.0a0'
@@ -3684,13 +3712,13 @@ package:
python_abi: 3.9.* *_cp39 python_abi: 3.9.* *_cp39
tk: '>=8.6.12,<8.7.0a0' tk: '>=8.6.12,<8.7.0a0'
hash: hash:
md5: d62ba9d1a981544c809813afaf0be5c0 md5: d2f79132b9c8e416058a4cd84ef27b3d
sha256: 3b40338a25a498bb31c37c79814a4c5d74962d7c8e0c82071f7a0fb814daf080 sha256: 77348588ae7cc8034b63e8a71b6695ba22761e1c531678e724cf06a12be3d1e2
manager: conda manager: conda
name: pillow name: pillow
optional: false optional: false
platform: linux-64 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 version: 9.4.0
- category: main - category: main
dependencies: dependencies:
@@ -4184,6 +4212,22 @@ package:
platform: linux-64 platform: linux-64
url: https://conda.anaconda.org/conda-forge/noarch/pytest-mock-3.7.0-pyhd8ed1ab_1.tar.bz2 url: https://conda.anaconda.org/conda-forge/noarch/pytest-mock-3.7.0-pyhd8ed1ab_1.tar.bz2
version: 3.7.0 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 - category: main
dependencies: dependencies:
libgcc-ng: '>=9.3.0' libgcc-ng: '>=9.3.0'
@@ -4275,6 +4319,19 @@ package:
platform: linux-64 platform: linux-64
url: https://conda.anaconda.org/conda-forge/noarch/flask_cors-3.0.10-pyhd3deb0d_0.tar.bz2 url: https://conda.anaconda.org/conda-forge/noarch/flask_cors-3.0.10-pyhd3deb0d_0.tar.bz2
version: 3.0.10 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 - category: main
dependencies: dependencies:
importlib_metadata: '' importlib_metadata: ''
@@ -4536,6 +4593,24 @@ package:
platform: linux-64 platform: linux-64
url: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.54.4-h7abd40a_0.tar.bz2 url: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.54.4-h7abd40a_0.tar.bz2
version: 2.54.4 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 - category: main
dependencies: dependencies:
__unix: '' __unix: ''

View File

@@ -9,7 +9,7 @@
# To update a single package to the latest version compatible with the version constraints in the source: # 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: # 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: metadata:
channels: channels:
- url: ucb-bar - url: ucb-bar
@@ -19,12 +19,14 @@ metadata:
- url: nodefaults - url: nodefaults
used_env_vars: [] used_env_vars: []
content_hash: content_hash:
linux-64: 018e415637315593469f01c8f9b46d7006c95d919144866a9460ea34395ea604 linux-64: 1fcefa1e4e6d9794ea47d5d139b0d4b9d4381ae536f9519c8a1efa82644a9f83
platforms: platforms:
- linux-64 - linux-64
sources: sources:
- /scratch/abejgonza/cy-circt/conda-reqs/chipyard.yaml - /scratch/abejgonza/cy-circt/conda-reqs/chipyard.yaml
- /scratch/abejgonza/cy-circt/conda-reqs/riscv-tools.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: package:
- category: main - category: main
dependencies: {} dependencies: {}
@@ -1548,18 +1550,18 @@ package:
version: 1.5.2 version: 1.5.2
- category: main - category: main
dependencies: dependencies:
libgcc-ng: '>=9.4.0' libgcc-ng: '>=12'
m4: '' m4: ''
perl: 5.* perl: 5.*
hash: hash:
md5: 47f6f07d64d6ea9d2c806ff42023e7e3 md5: 50cabb1aee157a18082c7c92cc4b3143
sha256: 57b977849da4ff3a9c62ff632dcb62f48697c7d3698804230f4b9a43b2ce1a39 sha256: 04868bf7a2737af8c8a828b2c4b59653180a91da9c3ece77bae4e429a1b84cc1
manager: conda manager: conda
name: autoconf name: autoconf
optional: false optional: false
platform: linux-64 platform: linux-64
url: https://conda.anaconda.org/conda-forge/linux-64/autoconf-2.69-pl5321hd708f79_11.tar.bz2 url: https://conda.anaconda.org/conda-forge/linux-64/autoconf-2.71-pl5321h2b4cb7a_1.conda
version: '2.69' version: '2.71'
- category: main - category: main
dependencies: dependencies:
libgcc-ng: '>=10.3.0' libgcc-ng: '>=10.3.0'
@@ -1846,14 +1848,14 @@ package:
tzdata: '' tzdata: ''
xz: '>=5.2.6,<6.0a0' xz: '>=5.2.6,<6.0a0'
hash: hash:
md5: 7b9485fce17fac2dd4aca6117a9936c2 md5: 95c9b7c96a7fd7342e0c9d0a917b8f78
sha256: 159a1ba8789317fa0b6649b88c5f302a7022be86e69d2edf652065177c88c209 sha256: 00bcb28a294aa78bf9d2a2ecaae8cb887188eae710f9197d823d36fb8a5d9767
manager: conda manager: conda
name: python name: python
optional: false optional: false
platform: linux-64 platform: linux-64
url: https://conda.anaconda.org/conda-forge/linux-64/python-3.9.15-hba424b6_0_cpython.conda url: https://conda.anaconda.org/conda-forge/linux-64/python-3.9.16-h2782a2a_0_cpython.conda
version: 3.9.15 version: 3.9.16
- category: main - category: main
dependencies: dependencies:
libgcc-ng: '>=12' libgcc-ng: '>=12'
@@ -2006,6 +2008,18 @@ package:
platform: linux-64 platform: linux-64
url: https://conda.anaconda.org/conda-forge/noarch/certifi-2022.12.7-pyhd8ed1ab_0.conda url: https://conda.anaconda.org/conda-forge/noarch/certifi-2022.12.7-pyhd8ed1ab_0.conda
version: 2022.12.7 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 - category: main
dependencies: dependencies:
python: '>=3.6' python: '>=3.6'
@@ -2020,16 +2034,16 @@ package:
version: 2.1.1 version: 2.1.1
- category: main - category: main
dependencies: dependencies:
__unix: '' python: '>=3.9,<3.10.0a0'
python: '>=3.8' python_abi: 3.9.* *_cp39
hash: hash:
md5: 20e4087407c7cb04a40817114b333dbf md5: 3613ff4128b3e565d048106196206929
sha256: 23676470b591b100393bb0f6c46fe10624dcbefc696a6a9f42932ed8816ef0ea sha256: 21c425ecc4e6f4ec97aab1285b22ad629c75d2efb62f89cd6d9618ab6a2e606c
manager: conda manager: conda
name: click name: click
optional: false optional: false
platform: linux-64 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 version: 8.1.3
- category: main - category: main
dependencies: dependencies:
@@ -2506,14 +2520,14 @@ package:
python: '>=3.9,<3.10.0a0' python: '>=3.9,<3.10.0a0'
python_abi: 3.9.* *_cp39 python_abi: 3.9.* *_cp39
hash: hash:
md5: a49da0929650af17fc943a90465e6ffc md5: 73f58b7725491858c60b748f90e4ded9
sha256: ab5bad66e70a9ea1f434da0d5c191d3e31790308e1de6b1235cfc599ec90a374 sha256: a9bc30196c12e9ef68ab69129b71118c1e7a45c52eb279cbe2e4938b781d93ce
manager: conda manager: conda
name: mypy_extensions name: mypy_extensions
optional: false optional: false
platform: linux-64 platform: linux-64
url: https://conda.anaconda.org/conda-forge/linux-64/mypy_extensions-0.4.3-py39hf3d152e_6.tar.bz2 url: https://conda.anaconda.org/conda-forge/linux-64/mypy_extensions-0.4.4-py39hf3d152e_0.conda
version: 0.4.3 version: 0.4.4
- category: main - category: main
dependencies: dependencies:
python: '>=3.8' python: '>=3.8'
@@ -2597,15 +2611,16 @@ package:
version: 1.9.6 version: 1.9.6
- category: main - category: main
dependencies: dependencies:
python: '>=3.8' python: '>=3.9,<3.10.0a0'
python_abi: 3.9.* *_cp39
hash: hash:
md5: 7d301a0d25f424d96175f810935f0da9 md5: d86903c57fe229d9dd8878a6dd9d149f
sha256: c25e1757e4e90638bb1e778aba3ee5f3c01fae9752e3c3929f9be7d367f6c7f3 sha256: abf2d34464c6255d35703e3c9477475e3e6e353ca8675990596d2477cdbc5b52
manager: conda manager: conda
name: pluggy name: pluggy
optional: false optional: false
platform: linux-64 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 version: 1.0.0
- category: main - category: main
dependencies: dependencies:
@@ -2749,16 +2764,16 @@ package:
version: 0.19.3 version: 0.19.3
- category: main - category: main
dependencies: dependencies:
__unix: '' python: '>=3.9,<3.10.0a0'
python: '>=3.8' python_abi: 3.9.* *_cp39
hash: hash:
md5: 2a7de29fb590ca14b5243c4c812c8025 md5: d34b97a2386932b97c7cb80916a673e7
sha256: a42f826e958a8d22e65b3394f437af7332610e43ee313393d1cf143f0a2d274b sha256: 42d46baeab725d3c70d22a4258549e9f0f1a72b740166cd9c3b394c4369cb306
manager: conda manager: conda
name: pysocks name: pysocks
optional: false optional: false
platform: linux-64 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 version: 1.7.1
- category: main - category: main
dependencies: dependencies:
@@ -3134,14 +3149,14 @@ package:
dependencies: dependencies:
python: '>=3.7' python: '>=3.7'
hash: hash:
md5: 6df990e93f39e91a3f45d4d885404d56 md5: 2a914654b9ade742049dab13e29571c6
sha256: 2762ff6c126ab17219933500cdbb0e6d0e73aa26545c87c8f54346f1391f408b sha256: 7a2c359d12a13e505b74cd82686f98379113c9b4be01f6685167ba137b286127
manager: conda manager: conda
name: websocket-client name: websocket-client
optional: false optional: false
platform: linux-64 platform: linux-64
url: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.5.0-pyhd8ed1ab_0.conda url: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.5.1-pyhd8ed1ab_0.conda
version: 1.5.0 version: 1.5.1
- category: main - category: main
dependencies: dependencies:
python: '>=3.7' python: '>=3.7'
@@ -3226,14 +3241,14 @@ package:
dependencies: dependencies:
python: '>=3.7' python: '>=3.7'
hash: hash:
md5: edc3568566cc48335f0b5d86d40fdbb9 md5: 7cc265528c9db5e40a771438108f6810
sha256: f07ac97de32d5954f5ae0aaf4dd5fdae85b70f139d02d5e0c296f1c2caf0c8ed sha256: b0b7af936586069051cb43a120ac4dd04a795fdb93a21479e7dea78c8780bd0d
manager: conda manager: conda
name: zipp name: zipp
optional: false optional: false
platform: linux-64 platform: linux-64
url: https://conda.anaconda.org/conda-forge/noarch/zipp-3.12.0-pyhd8ed1ab_0.conda url: https://conda.anaconda.org/conda-forge/noarch/zipp-3.12.1-pyhd8ed1ab_0.conda
version: 3.12.0 version: 3.12.1
- category: main - category: main
dependencies: dependencies:
python: '>=3.6' python: '>=3.6'
@@ -3656,6 +3671,19 @@ package:
platform: linux-64 platform: linux-64
url: https://conda.anaconda.org/conda-forge/linux-64/mypy-0.931-py39h3811e60_2.tar.bz2 url: https://conda.anaconda.org/conda-forge/linux-64/mypy-0.931-py39h3811e60_2.tar.bz2
version: '0.931' 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 - category: main
dependencies: dependencies:
ptyprocess: '>=0.5' ptyprocess: '>=0.5'
@@ -3672,9 +3700,9 @@ package:
- category: main - category: main
dependencies: dependencies:
freetype: '>=2.12.1,<3.0a0' freetype: '>=2.12.1,<3.0a0'
jpeg: '>=9e,<10a'
lcms2: '>=2.14,<3.0a0' lcms2: '>=2.14,<3.0a0'
libgcc-ng: '>=12' libgcc-ng: '>=12'
libjpeg-turbo: '>=2.1.4,<3.0a0'
libtiff: '>=4.5.0,<4.6.0a0' libtiff: '>=4.5.0,<4.6.0a0'
libwebp-base: '>=1.2.4,<2.0a0' libwebp-base: '>=1.2.4,<2.0a0'
libxcb: '>=1.13,<1.14.0a0' libxcb: '>=1.13,<1.14.0a0'
@@ -3684,13 +3712,13 @@ package:
python_abi: 3.9.* *_cp39 python_abi: 3.9.* *_cp39
tk: '>=8.6.12,<8.7.0a0' tk: '>=8.6.12,<8.7.0a0'
hash: hash:
md5: d62ba9d1a981544c809813afaf0be5c0 md5: d2f79132b9c8e416058a4cd84ef27b3d
sha256: 3b40338a25a498bb31c37c79814a4c5d74962d7c8e0c82071f7a0fb814daf080 sha256: 77348588ae7cc8034b63e8a71b6695ba22761e1c531678e724cf06a12be3d1e2
manager: conda manager: conda
name: pillow name: pillow
optional: false optional: false
platform: linux-64 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 version: 9.4.0
- category: main - category: main
dependencies: dependencies:
@@ -4184,6 +4212,22 @@ package:
platform: linux-64 platform: linux-64
url: https://conda.anaconda.org/conda-forge/noarch/pytest-mock-3.7.0-pyhd8ed1ab_1.tar.bz2 url: https://conda.anaconda.org/conda-forge/noarch/pytest-mock-3.7.0-pyhd8ed1ab_1.tar.bz2
version: 3.7.0 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 - category: main
dependencies: dependencies:
libgcc-ng: '>=9.3.0' libgcc-ng: '>=9.3.0'
@@ -4275,6 +4319,19 @@ package:
platform: linux-64 platform: linux-64
url: https://conda.anaconda.org/conda-forge/noarch/flask_cors-3.0.10-pyhd3deb0d_0.tar.bz2 url: https://conda.anaconda.org/conda-forge/noarch/flask_cors-3.0.10-pyhd3deb0d_0.tar.bz2
version: 3.0.10 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 - category: main
dependencies: dependencies:
importlib_metadata: '' importlib_metadata: ''
@@ -4536,6 +4593,24 @@ package:
platform: linux-64 platform: linux-64
url: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.54.4-h7abd40a_0.tar.bz2 url: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.54.4-h7abd40a_0.tar.bz2
version: 2.54.4 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 - category: main
dependencies: dependencies:
__unix: '' __unix: ''

View File

@@ -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

View File

@@ -1,22 +1,19 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
import os
import json import json
import argparse import argparse
import sys from collections import defaultdict
from pathlib import Path
from typing import List, Optional
# Schema of *.f emitted by circt # Schema of *.f emitted by circt
""" """
/scratch/joonho.whangbo/coding/chipyard/vlsi/generated-src/chipyard.TestHarness.RocketConfig/gen-collateral/SimUART.cc <gen-src-dir>/<long-name>/gen-collateral/SimUART.cc
/scratch/joonho.whangbo/coding/chipyard/vlsi/generated-src/chipyard.TestHarness.RocketConfig/gen-collateral/AsyncQueueSource.sv <gen-src-dir>/<long-name>/gen-collateral/AsyncQueueSource.sv
/scratch/joonho.whangbo/coding/chipyard/vlsi/generated-src/chipyard.TestHarness.RocketConfig/gen-collateral/AsyncQueueSink.sv <gen-src-dir>/<long-name>/gen-collateral/AsyncQueueSink.sv
/scratch/joonho.whangbo/coding/chipyard/vlsi/generated-src/chipyard.TestHarness.RocketConfig/gen-collateral/AsyncQueueSource_1.sv <gen-src-dir>/<long-name>/gen-collateral/AsyncQueueSource_1.sv
/scratch/joonho.whangbo/coding/chipyard/vlsi/generated-src/chipyard.TestHarness.RocketConfig/gen-collateral/AsyncQueueSink_1.sv <gen-src-dir>/<long-name>/gen-collateral/AsyncQueueSink_1.sv
/scratch/joonho.whangbo/coding/chipyard/vlsi/generated-src/chipyard.TestHarness.RocketConfig/gen-collateral/AsyncQueueSource_2.sv <gen-src-dir>/<long-name>/gen-collateral/AsyncQueueSource_2.sv
/scratch/joonho.whangbo/coding/chipyard/vlsi/generated-src/chipyard.TestHarness.RocketConfig/gen-collateral/AsyncQueueSink_2.sv <gen-src-dir>/<long-name>/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/AsyncResetSynchronizerShiftReg_w4_d3_i0.sv
""" """
def bfs_collect_submodules(tree): def bfs_collect_submodules(tree):
@@ -33,100 +30,53 @@ def bfs_collect_submodules(tree):
q.append((c['instance_name'], c['module_name'], c['instances'])) q.append((c['instance_name'], c['module_name'], c['instances']))
return output 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): def write_lines_to_file(lines, file_path):
with open(file_path, "w") as fp: with open(file_path, "w") as fp:
for line in lines: for line in lines:
fp.write("%s" % line) fp.write("%s\n" % line)
if __name__ == "__main__": if __name__ == "__main__":
parser = argparse.ArgumentParser(description='Use *.model.f and *.top.f to restore the MODEL/TOP blackbox separation') parser = argparse.ArgumentParser(description='Create *.model.bb.f and *.top.bb.f blackbox filelists')
parser.add_argument('--in-top-f', type=str, required=True, help='List of generated files specific for TOP(DUT)') parser.add_argument('--in-bb-f', type=str, required=True, help='All blackbox files filelist (includes both MODEL/TOP files)')
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.add_argument('--in-top-hrchy-json', type=str, required=True, help='List containing hierarchy of top modules (top-module-hierarchy.json)') 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('--in-anno-json', type=str, required=True, help='Anno. file with blackbox annotations')
parser.add_argument('--out-model-bb-f', type=str, required=True, help='List of blackbox modules for MODEL') 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() args = parser.parse_args()
itf = open(args.in_top_f) # module_path -> list of bb paths (not fully resolved paths)
top_modules = set(get_modules(itf)) mod_bb_dict = defaultdict(list)
itf.close() 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) with open(args.in_top_hrchy_json) as ihj:
model_modules = set(get_modules(imf)) ihj_data = json.load(ihj)
imf.close() top_inner_modules = bfs_collect_submodules(ihj_data)
ihj = open(args.in_top_hrchy_json) with open(args.in_bb_f) as ibf:
ihj_data = json.load(ihj) lines = ibf.read().splitlines()
top_inner_modules = bfs_collect_submodules(ihj_data)
ihj.close()
ibf = open(args.in_bb_f) tbfs = set()
lines = ibf.readlines() for mod_path, bb_files in mod_bb_dict.items():
leaf_mod = mod_path.split('.')[-1]
""" # if matched, add the fully resolved path to the top bb filelist
" model top if leaf_mod in top_inner_modules:
" o o -> model for line in lines:
" x o -> top for bb_file in bb_files:
" x x -> model if bb_file in line:
" - check inner module tbfs.add(line)
" - 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)
# 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: write_lines_to_file(tbfs, args.out_top_bb_f)
f = open(Path(line.replace("\n", ""))) write_lines_to_file(mbfs, args.out_model_bb_f)
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()

View File

@@ -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) # list of all blackbox files (may be included in the top/model.f files)
# this has the build_dir appended # this has the build_dir appended
BB_MODS_FILELIST ?= $(build_dir)/$(long_name).bb.f 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 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 MODEL_BB_MODS_FILELIST ?= $(build_dir)/$(long_name).model.bb.f
# all module files to include (top, model, bb included) # all module files to include (top, model, bb included)
ALL_MODS_FILELIST ?= $(build_dir)/$(long_name).all.f ALL_MODS_FILELIST ?= $(build_dir)/$(long_name).all.f