Before building any example, set the installation directory to match what you set it to earlier, for example:
export INSTALL_DIR=~/opt/symbiflow
Select your FPGA family:
.. tabs:: .. group-tab:: Artix-7 .. code-block:: bash :name: fpga-fam-xc7 FPGA_FAM="xc7" .. group-tab:: EOS S3 .. code-block:: bash :name: fpga-fam-eos-s3 FPGA_FAM="eos-s3"
Next, prepare the environment:
.. tabs:: .. group-tab:: Artix-7 .. code-block:: bash :name: conda-prep-env-xc7 export PATH="$INSTALL_DIR/$FPGA_FAM/install/bin:$PATH"; source "$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="$INSTALL_DIR/$FPGA_FAM/quicklogic-arch-defs/bin:$PATH"; source "$INSTALL_DIR/$FPGA_FAM/conda/etc/profile.d/conda.sh"
Finally, enter your working Conda environment:
conda activate $FPGA_FAM
Tip
You will need to run the commands for setting the path and source of your conda environment
each time you open a new terminal. You will also need to activate the Conda environment for
your hardware before you attempt to build your designs. It might be a good idea to add the
above commands to your .bashrc
either as default commands that run each time you open a
new terminal or aliases to save yourself some repetitive typing.
Note
If you don't know how to upload any of the following examples onto your development board, please refer to the Running examples section.
Enter the directory that contains examples for Xilinx 7-Series FPGAs:
cd xc7
.. jinja:: xc7_counter_test :file: templates/example.jinja
.. jinja:: xc7_picosoc_demo :file: templates/example.jinja
.. jinja:: xc7_litex_demo :file: templates/example.jinja
.. jinja:: xc7_linux_litex_demo :file: templates/example.jinja
.. jinja:: xc7_timer :file: templates/example.jinja
.. jinja:: xc7_pulse_width_led :file: templates/example.jinja
In addition to the designs we have gone over here, you can also find several other exciting designs for the basys3 board in the additional_examples directory:
cd additional_examples
Enter the directory that contains examples for QuickLogic EOS S3:
cd eos-s3
.. jinja:: eos-s3_btn_counter :file: templates/example.jinja