diff --git a/.github/scripts/build-examples.sh b/.github/scripts/build-examples.sh index 2f6dd93..5e84a2c 100755 --- a/.github/scripts/build-examples.sh +++ b/.github/scripts/build-examples.sh @@ -54,7 +54,7 @@ esac fi # activate conda and enter example dir -activate_env="docs/building-examples.rst:export-install-dir,fpga-fam-$fpga_family,conda-prep-env-$fpga_family,f4pga-env-bin,f4pga-env-share-$fpga_family,conda-act-env" +activate_env="docs/building-examples.rst:export-install-dir,fpga-fam-$fpga_family,conda-prep-env,f4pga-env-bin,f4pga-env-share-$fpga_family,conda-act-env" snippets="${activate_env},enter-dir-$fpga_family" case "$fpga_family" in diff --git a/.github/scripts/install-toolchain.sh b/.github/scripts/install-toolchain.sh index 29ca40a..356fc79 100755 --- a/.github/scripts/install-toolchain.sh +++ b/.github/scripts/install-toolchain.sh @@ -45,4 +45,4 @@ fi fpga_family=$1 os=$2 -tuttest_exec docs/getting.rst:install-reqs-$os,wget-conda,conda-install-dir,fpga-fam-$fpga_family,conda-setup,download-arch-def-$fpga_family +tuttest_exec docs/getting.rst:install-reqs-$os,wget-conda,conda-install-dir,fpga-fam-$fpga_family,env-setup diff --git a/docs/building-examples.rst b/docs/building-examples.rst index 6237c98..c15734d 100644 --- a/docs/building-examples.rst +++ b/docs/building-examples.rst @@ -31,25 +31,11 @@ Select your FPGA family: Next, prepare the environment: -.. tabs:: +.. code-block:: bash + :name: conda-prep-env - .. group-tab:: Artix-7 - - .. code-block:: bash - :name: conda-prep-env-xc7 - - export PATH="$F4PGA_INSTALL_DIR/$FPGA_FAM/install/bin:$PATH"; - source "$F4PGA_INSTALL_DIR/$FPGA_FAM/conda/etc/profile.d/conda.sh" - - .. group-tab:: EOS S3 - - .. code-block:: bash - :name: conda-prep-env-eos-s3 - - export PATH="$F4PGA_INSTALL_DIR/$FPGA_FAM/quicklogic-arch-defs/bin:$PATH"; - export F4PGA_BIN_DIR="$F4PGA_INSTALL_DIR/$FPGA_FAM/quicklogic-arch-defs/bin"; - export F4PGA_SHARE_DIR="$F4PGA_INSTALL_DIR/$FPGA_FAM/quicklogic-arch-defs/share/symbiflow"; - source "$F4PGA_INSTALL_DIR/$FPGA_FAM/conda/etc/profile.d/conda.sh" + export PATH="$F4PGA_INSTALL_DIR/$FPGA_FAM/install/bin:$PATH"; + source "$F4PGA_INSTALL_DIR/$FPGA_FAM/conda/etc/profile.d/conda.sh" Finally, enter your working Conda environment: diff --git a/docs/getting.rst b/docs/getting.rst index 3d97cd9..8a33fde 100644 --- a/docs/getting.rst +++ b/docs/getting.rst @@ -107,43 +107,36 @@ Select your target FPGA family: export FPGA_FAM=eos-s3 -Next, setup Conda and your system's environment: +Next, setup Conda and your system's environment, and download architecture definitions: + +.. NOTE:: + + The ``*-install-*`` package is required regardless of the target device, but you can avoid installing the + ``*-xc7*_test-*`` or ``ql-*`` packages for architectures that you don't need. .. code-block:: bash - :name: conda-setup + :name: env-setup bash conda_installer.sh -u -b -p $F4PGA_INSTALL_DIR/$FPGA_FAM/conda; source "$F4PGA_INSTALL_DIR/$FPGA_FAM/conda/etc/profile.d/conda.sh"; conda env create -f $FPGA_FAM/environment.yml + mkdir -p $F4PGA_INSTALL_DIR/$FPGA_FAM/install -Download architecture definitions: + F4PGA_TIMESTAMP='20220729-181657' + F4PGA_HASH='7833050' -.. tabs:: + case $FPGA_FAM in + xc7) + F4PGA_PACKAGES='install-xc7 xc7a50t_test xc7a100t_test xc7a200t_test xc7z010_test' + ;; + eos-s3) + F4PGA_PACKAGES='install-ql ql-eos-s3_wlcsp' + ;; + esac - .. group-tab:: Artix-7 - - .. NOTE:: - The ``*-install-*`` package is required regardless of the target device, but you can avoid installing the - ``*-xc7*_test-*`` packages for architectures that you don't need. - - .. code-block:: bash - :name: download-arch-def-xc7 - - mkdir -p $F4PGA_INSTALL_DIR/xc7/install - - F4PGA_TIMESTAMP='20220714-173445' - F4PGA_HASH='f7afc12' - - for PKG in install xc7a50t_test xc7a100t_test xc7a200t_test xc7z010_test; do - wget -qO- https://storage.googleapis.com/symbiflow-arch-defs/artifacts/prod/foss-fpga-tools/symbiflow-arch-defs/continuous/install/${F4PGA_TIMESTAMP}/symbiflow-arch-defs-${PKG}-${F4PGA_HASH}.tar.xz | tar -xJC $F4PGA_INSTALL_DIR/${FPGA_FAM}/install - done - - .. group-tab:: EOS-S3 - - .. code-block:: bash - :name: download-arch-def-eos-s3 - - wget -qO- https://storage.googleapis.com/symbiflow-arch-defs-install/quicklogic-arch-defs-qlf-fc5d8da.tar.gz | tar -xzC $F4PGA_INSTALL_DIR/$FPGA_FAM/ + for PKG in $F4PGA_PACKAGES; do + wget -qO- https://storage.googleapis.com/symbiflow-arch-defs/artifacts/prod/foss-fpga-tools/symbiflow-arch-defs/continuous/install/${F4PGA_TIMESTAMP}/symbiflow-arch-defs-${PKG}-${F4PGA_HASH}.tar.xz | tar -xJC $F4PGA_INSTALL_DIR/${FPGA_FAM}/install + done If the above commands exited without errors, you have successfully installed and configured your working environment. diff --git a/eos-s3/btn_counter/dummy.sdc b/eos-s3/btn_counter/dummy.sdc new file mode 100644 index 0000000..e69de29 diff --git a/eos-s3/environment.yml b/eos-s3/environment.yml index 3a2eae5..ba1a59f 100644 --- a/eos-s3/environment.yml +++ b/eos-s3/environment.yml @@ -2,9 +2,9 @@ name: eos-s3 channels: - litex-hub dependencies: - - litex-hub::yosys=0.15_51_g6318db615=20220317_162926_py37 - - litex-hub::symbiflow-yosys-plugins=1.0.0_7_832_ga2a80a1=20220317_162926 - - litex-hub::vtr-optimized=8.0.0_5338_g829c06d8f=20220409_131122 + - litex-hub::yosys=0.19_10_g0098b32c6=20220706_001518_py37 + - litex-hub::symbiflow-yosys-plugins=1.0.0_7_1002_gd149693=20220706_001518 + - litex-hub::vtr-optimized=8.0.0_5664_gb7a94b90a=20220706_001518 - make - lxml - simplejson diff --git a/eos-s3/requirements.txt b/eos-s3/requirements.txt index 8cd8de6..fe33f41 100644 --- a/eos-s3/requirements.txt +++ b/eos-s3/requirements.txt @@ -1,4 +1,4 @@ python-constraint serial -git+https://github.com/QuickLogic-Corp/quicklogic-fasm@aaf4c314a165b6185b0983019d8aae4d0d4db6cb -https://github.com/chipsalliance/f4pga/archive/27eca4f35db3c4e04ce255ab319611774de9b9a1.zip#subdirectory=f4pga +git+https://github.com/antmicro/quicklogic-fasm@607849ec0bdef8740be33dbaa49d15a3d400f809 +https://github.com/chipsalliance/f4pga/archive/df55ee75e4a1da978ffa5f7385bed47faf255661.zip#subdirectory=f4pga diff --git a/xc7/requirements.txt b/xc7/requirements.txt index 0ede90f..0814d6f 100644 --- a/xc7/requirements.txt +++ b/xc7/requirements.txt @@ -14,7 +14,7 @@ sympy textx yapf==0.24.0 python-constraint -https://github.com/chipsalliance/f4pga/archive/27eca4f35db3c4e04ce255ab319611774de9b9a1.zip#subdirectory=f4pga +https://github.com/chipsalliance/f4pga/archive/df55ee75e4a1da978ffa5f7385bed47faf255661.zip#subdirectory=f4pga fasm git+https://github.com/f4pga/prjxray.git@ae546d6b7648bf4df9cf63f0b25b2028b5623c43#egg=prjxray git+https://github.com/chipsalliance/f4pga-xc-fasm.git@25dc605c9c0896204f0c3425b52a332034cf5e5c#egg=xc-fasm