Merge branch 'vlsi-tutorial' of https://github.com/ucb-bar/chipyard into openroad
This commit is contained in:
45
.github/workflows/chipyard-full-flow.yml
vendored
45
.github/workflows/chipyard-full-flow.yml
vendored
@@ -107,6 +107,51 @@ 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
|
||||
export tutorial=sky130-openroad
|
||||
# TODO: consider setting VLSI_TOP=RocketTile
|
||||
|
||||
# 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
|
||||
echo "" >> example-sky130.yml
|
||||
echo "# tutorial configs" >> example-sky130.yml
|
||||
echo "technology.sky130.sky130A: $PWD/.conda-sky130/share/pdk/sky130A" >> example-sky130.yml
|
||||
echo "technology.sky130.sram22_sky130_macros: $PWD/sram22_sky130_macros" >> example-sky130.yml
|
||||
|
||||
# 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 "" >> example-openroad.yml
|
||||
echo "# tutorial configs" >> example-openroad.yml
|
||||
echo "synthesis.yosys.yosys_bin: $PWD/.conda-yosys/bin/yosys" >> example-openroad.yml
|
||||
echo "par.openroad.openroad_bin: $PWD/.conda-openroad/bin/openroad" >> example-openroad.yml
|
||||
echo "par.openroad.klayout_bin: $PWD/.conda-klayout/bin/klayout" >> example-openroad.yml
|
||||
echo "drc.magic.magic_bin: $PWD/.conda-signoff/bin/magic" >> example-openroad.yml
|
||||
echo "lvs.netgen.netgen_bin: $PWD/.conda-signoff/bin/netgen" >> example-openroad.yml
|
||||
|
||||
conda config --remove channels litex-hub
|
||||
conda config --remove channels defaults
|
||||
|
||||
make buildfile
|
||||
make syn
|
||||
make par
|
||||
make drc
|
||||
make lvs
|
||||
|
||||
|
||||
cleanup:
|
||||
name: cleanup
|
||||
|
||||
@@ -103,7 +103,7 @@ dependencies:
|
||||
# hammer packages
|
||||
- sty
|
||||
- pip:
|
||||
- hammer-vlsi[asap7]==1.0.1
|
||||
- hammer-vlsi[asap7]==1.0.4
|
||||
|
||||
# doc requirements
|
||||
- sphinx
|
||||
|
||||
@@ -21,7 +21,7 @@ metadata:
|
||||
- url: nodefaults
|
||||
used_env_vars: []
|
||||
content_hash:
|
||||
linux-64: 9bd3b3b16bcfb572bdf13d61fd0396b9b21a5b53c4885e1ab7519a54f016cea2
|
||||
linux-64: 54c064cc392aed21ebf9caa5c4333f9d4a072c30165d37a56916a3c39dd86eb9
|
||||
platforms:
|
||||
- linux-64
|
||||
sources:
|
||||
@@ -2466,20 +2466,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'
|
||||
@@ -2759,18 +2745,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'
|
||||
@@ -2783,18 +2757,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.8'
|
||||
@@ -3226,14 +3188,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'
|
||||
@@ -3968,19 +3930,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'
|
||||
@@ -4051,16 +4000,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'
|
||||
@@ -4283,20 +4232,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'
|
||||
@@ -4501,14 +4449,14 @@ package:
|
||||
types-awscrt: ''
|
||||
typing_extensions: ''
|
||||
hash:
|
||||
md5: 1284ea7cf431f599298c3e86922cb6ef
|
||||
sha256: 949071f4ffaada1a7df890a0eca82507446f427d913272bae109c39f42b03361
|
||||
md5: 038f7d8f0f0b7cae4aee87bfbd09bd06
|
||||
sha256: 4c3babde56c86a3d0f83add59002275f8e8fd328acf432377c86ceb82b693131
|
||||
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.88-pyhd8ed1ab_0.conda
|
||||
version: 1.29.88
|
||||
- category: main
|
||||
dependencies:
|
||||
clang-format: 15.0.7 default_had23c3d_1
|
||||
@@ -4580,22 +4528,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'
|
||||
@@ -4640,19 +4572,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'
|
||||
@@ -4889,22 +4819,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'
|
||||
@@ -4946,14 +4874,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'
|
||||
@@ -5321,20 +5249,19 @@ package:
|
||||
version: 2.0.0
|
||||
- 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'
|
||||
@@ -5506,14 +5433,14 @@ 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
|
||||
url: https://conda.anaconda.org/conda-forge/noarch/moto-4.1.4-pyhd8ed1ab_0.conda
|
||||
version: 4.1.4
|
||||
- category: main
|
||||
dependencies: {}
|
||||
hash:
|
||||
@@ -5607,13 +5534,13 @@ package:
|
||||
pyyaml: '>=6.0,<7.0'
|
||||
ruamel.yaml: '>=0.17.21,<0.18.0'
|
||||
hash:
|
||||
sha256: f476c58c84d01bda7a642b09514a4ecd798503fdd47fe466b83a7945d44fcb93
|
||||
sha256: 6bcd6cef086b6b6b6ab00822699d436451ef5f8f8460e07cad7c05ab6d05bfcf
|
||||
manager: pip
|
||||
name: hammer-vlsi
|
||||
optional: false
|
||||
platform: linux-64
|
||||
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/65/f8/5ec3f1e3c629724fec4613e13c3da9be114b306ae452cd1e0f75eaf694a6/hammer_vlsi-1.0.4-py3-none-any.whl
|
||||
version: 1.0.4
|
||||
- category: main
|
||||
dependencies:
|
||||
asttokens: '>=2,<3'
|
||||
|
||||
@@ -21,7 +21,7 @@ metadata:
|
||||
- url: nodefaults
|
||||
used_env_vars: []
|
||||
content_hash:
|
||||
linux-64: 3ef38211139adc6c0c849eaed6fd59c2a3c880282f0f47f25fe54bc05c510201
|
||||
linux-64: 01a33092d9b6501c87e830b4dd22683af0a3c8f5ede87d42d7a079b5c345161b
|
||||
platforms:
|
||||
- linux-64
|
||||
sources:
|
||||
@@ -2449,20 +2449,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'
|
||||
@@ -2742,18 +2728,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'
|
||||
@@ -2766,18 +2740,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.8'
|
||||
@@ -3226,14 +3188,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'
|
||||
@@ -3968,19 +3930,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'
|
||||
@@ -4051,16 +4000,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'
|
||||
@@ -4283,20 +4232,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'
|
||||
@@ -4501,14 +4449,14 @@ package:
|
||||
types-awscrt: ''
|
||||
typing_extensions: ''
|
||||
hash:
|
||||
md5: 1284ea7cf431f599298c3e86922cb6ef
|
||||
sha256: 949071f4ffaada1a7df890a0eca82507446f427d913272bae109c39f42b03361
|
||||
md5: 038f7d8f0f0b7cae4aee87bfbd09bd06
|
||||
sha256: 4c3babde56c86a3d0f83add59002275f8e8fd328acf432377c86ceb82b693131
|
||||
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.88-pyhd8ed1ab_0.conda
|
||||
version: 1.29.88
|
||||
- category: main
|
||||
dependencies:
|
||||
clang-format: 15.0.7 default_had23c3d_1
|
||||
@@ -4580,22 +4528,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'
|
||||
@@ -4640,19 +4572,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'
|
||||
@@ -4889,22 +4819,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'
|
||||
@@ -4946,14 +4874,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'
|
||||
@@ -5321,20 +5249,19 @@ package:
|
||||
version: 2.0.0
|
||||
- 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'
|
||||
@@ -5506,14 +5433,14 @@ 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
|
||||
url: https://conda.anaconda.org/conda-forge/noarch/moto-4.1.4-pyhd8ed1ab_0.conda
|
||||
version: 4.1.4
|
||||
- category: main
|
||||
dependencies: {}
|
||||
hash:
|
||||
@@ -5607,13 +5534,13 @@ package:
|
||||
pyyaml: '>=6.0,<7.0'
|
||||
ruamel.yaml: '>=0.17.21,<0.18.0'
|
||||
hash:
|
||||
sha256: f476c58c84d01bda7a642b09514a4ecd798503fdd47fe466b83a7945d44fcb93
|
||||
sha256: 6bcd6cef086b6b6b6ab00822699d436451ef5f8f8460e07cad7c05ab6d05bfcf
|
||||
manager: pip
|
||||
name: hammer-vlsi
|
||||
optional: false
|
||||
platform: linux-64
|
||||
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/65/f8/5ec3f1e3c629724fec4613e13c3da9be114b306ae452cd1e0f75eaf694a6/hammer_vlsi-1.0.4-py3-none-any.whl
|
||||
version: 1.0.4
|
||||
- category: main
|
||||
dependencies:
|
||||
asttokens: '>=2,<3'
|
||||
|
||||
@@ -10,15 +10,18 @@ Transforms are a powerful tool to take in the FIRRTL IR that is emitted from Chi
|
||||
|
||||
The Scala FIRRTL Compiler and the MLIR FIRRTL Compiler
|
||||
------------------------------------------------------
|
||||
In Chipyard, two FIRRTL compilers work together to compile Chisel into Verilog. The Scala FIRRTL compiler(SFC) and the MLIR FIRRTL compiler(MFC).
|
||||
They are basically doing the same thing, except that MFC is written in C++ which makes compilation much faster. In the default setting, the SFC will compile Chisel into CHIRRTL and MFC will
|
||||
compile CHIRRTL into Verilog(as of now, we are using SFC as a backup for cases when MFC doesn't work, e.g., when the design is using Fixed types). By setting the ``ENABLE_CUSTOM_FIRRTL_PASS`` env variable to a non-zero value, we can make the SFC compile Chisel into LowFIRRTL so that our custom FIRRTL passes are applied.
|
||||
In Chipyard, two FIRRTL compilers work together to compile Chisel into Verilog. The Scala FIRRTL compiler (SFC) and the MLIR FIRRTL compiler (MFC).
|
||||
They are basically doing the same thing, except that MFC is written in C++ which makes compilation much faster (the generated Verilog will be different). In the default setting, the SFC will compile Chisel into CHIRRTL and MFC will
|
||||
compile CHIRRTL into Verilog (as of now, we are using SFC as a backup for cases when MFC doesn't work, e.g., when the design is using Fixed types). By setting the ``ENABLE_CUSTOM_FIRRTL_PASS`` env variable to a non-zero value,
|
||||
we can make the SFC compile Chisel into LowFIRRTL so that our custom FIRRTL passes are applied.
|
||||
|
||||
For more information on MLIR FIRRTL Compiler, please visit https://mlir.llvm.org/ and https://circt.llvm.org/.
|
||||
|
||||
Where to add transforms
|
||||
-----------------------
|
||||
|
||||
In Chipyard, the FIRRTL compiler is called multiple times to create a "Top" file that contains the DUT and a "Harness" file containing the test harness, which instantiates the DUT.
|
||||
The "Harness" file does not contain the DUT's module definition or any of its submodules.
|
||||
In Chipyard, the FIRRTL compiler is called multiple times to create a "Top" file that contains the DUT and a "Model" file containing the test harness, which instantiates the DUT.
|
||||
The "Model" file does not contain the DUT's module definition or any of its submodules.
|
||||
This is done by the ``tapeout`` SBT project (located in ``tools/barstools/tapeout``) which calls ``GenerateModelStageMain`` (a function that wraps the multiple FIRRTL compiler calls and extra transforms).
|
||||
|
||||
.. literalinclude:: ../../common.mk
|
||||
|
||||
@@ -3,8 +3,10 @@ FIRRTL
|
||||
|
||||
`FIRRTL <https://github.com/freechipsproject/firrtl>`__ is an intermediate representation of your circuit.
|
||||
It is emitted by the Chisel compiler and is used to translate Chisel source files into another representation such as Verilog.
|
||||
Without going into too much detail, FIRRTL is consumed by a FIRRTL compiler (another Scala program) which passes the circuit through a series of circuit-level transformations.
|
||||
Without going into too much detail, FIRRTL is consumed by FIRRTL compilers which passes the circuit through a series of circuit-level transformations.
|
||||
An example of a FIRRTL pass (transformation) is one that optimizes out unused signals.
|
||||
Once the transformations are done, a Verilog file is emitted and the build process is done.
|
||||
|
||||
For more information on please visit their `website <https://chisel-lang.org/firrtl/>`__.
|
||||
To see how FIRRTL is transformed to Verilog in Chipyard, please visit the :ref:`firrtl-transforms` section.
|
||||
|
||||
For more information on FIRRTL, please visit their `website <https://chisel-lang.org/firrtl/>`__.
|
||||
|
||||
@@ -242,3 +242,14 @@ class WithDefaultFireSimBridges extends Config(
|
||||
new WithTracerVBridge ++
|
||||
new WithFireSimIOCellModels
|
||||
)
|
||||
|
||||
// Shorthand to register all of the provided mmio-only bridges above
|
||||
class WithDefaultMMIOOnlyFireSimBridges extends Config(
|
||||
new WithSerialBridge ++
|
||||
new WithUARTBridge ++
|
||||
new WithBlockDeviceBridge ++
|
||||
new WithFASEDBridge ++
|
||||
new WithFireSimMultiCycleRegfile ++
|
||||
new WithFireSimFAME5 ++
|
||||
new WithFireSimIOCellModels
|
||||
)
|
||||
|
||||
@@ -282,3 +282,9 @@ class FireSimNoMemPortConfig extends Config(
|
||||
new testchipip.WithBackingScratchpad ++
|
||||
new WithFireSimConfigTweaks ++
|
||||
new chipyard.RocketConfig)
|
||||
|
||||
class FireSimRocketMMIOOnlyConfig extends Config(
|
||||
new WithDefaultMMIOOnlyFireSimBridges ++
|
||||
new WithDefaultMemModel ++
|
||||
new WithFireSimConfigTweaks ++
|
||||
new chipyard.RocketConfig)
|
||||
|
||||
@@ -46,9 +46,9 @@ VLSI_MODEL_DUT_NAME ?= chiptop
|
||||
# If overriding, this should be relative to $(vlsi_dir)
|
||||
VLSI_OBJ_DIR ?= build
|
||||
ifneq ($(CUSTOM_VLOG),)
|
||||
OBJ_DIR ?= $(vlsi_dir)/$(VLSI_OBJ_DIR)/custom-$(VLSI_TOP)
|
||||
OBJ_DIR ?= $(vlsi_dir)/$(VLSI_OBJ_DIR)/$(VLSI_TOP)
|
||||
else
|
||||
OBJ_DIR ?= $(vlsi_dir)/$(VLSI_OBJ_DIR)/$(long_name)-$(VLSI_TOP)
|
||||
OBJ_DIR ?= $(vlsi_dir)/$(VLSI_OBJ_DIR)/$(long_name)-$(TOP)
|
||||
endif
|
||||
|
||||
#########################################################################################
|
||||
@@ -118,6 +118,12 @@ endif
|
||||
|
||||
$(SYN_CONF): $(VLSI_RTL)
|
||||
mkdir -p $(dir $@)
|
||||
echo "sim.inputs:" > $@
|
||||
echo " input_files:" >> $@
|
||||
for x in $$(cat $(VLSI_RTL)); do \
|
||||
echo ' - "'$$x'"' >> $@; \
|
||||
done
|
||||
echo " input_files_meta: 'append'" >> $@
|
||||
echo "synthesis.inputs:" >> $@
|
||||
echo " top_module: $(VLSI_TOP)" >> $@
|
||||
echo " input_files:" >> $@
|
||||
|
||||
@@ -10,7 +10,7 @@ $(SIM_CONF): $(sim_common_files)
|
||||
echo " top_module: $(VLSI_TOP)" >> $@
|
||||
echo " tb_name: ''" >> $@ # don't specify -top
|
||||
echo " input_files:" >> $@
|
||||
for x in $$(cat $(sim_common_files)); do \
|
||||
for x in $$(comm -23 <(cat $(MODEL_MODS_FILELIST) $(MODEL_BB_MODS_FILELIST) | sort -u) <(sort $(VLSI_RTL))) $(MODEL_SMEMS_FILE) $(SIM_FILE_REQS); do \
|
||||
echo ' - "'$$x'"' >> $@; \
|
||||
done
|
||||
echo " input_files_meta: 'append'" >> $@
|
||||
|
||||
Reference in New Issue
Block a user