Example designs showing different ways to use F4PGA toolchains.
Go to file
Karol Gugala 24929412ed
Merge pull request #77 from antmicro/use-litex-hub-packages-eos-s3
eos-s3: Use Conda packages from LiteX-Hub channel
2020-11-28 17:43:18 +01:00
.github ci: Add GitHub Actions config 2020-11-26 18:14:19 +01:00
eos-s3 eos-s3: Use Conda packages from LiteX-Hub channel 2020-11-27 16:09:29 +01:00
scripts/make Change README Markdown format to reStructuredText 2020-09-09 13:25:50 +02:00
xc7 readme: Update prerequisites and examples 2020-11-26 18:14:19 +01:00
.gitattributes update gitattributes 2020-06-09 22:16:32 +02:00
.gitignore Added gitignore 2020-05-26 19:43:20 +02:00
LICENSE Add LICENSE 2020-04-21 14:58:08 +02:00
Makefile Change README Markdown format to reStructuredText 2020-09-09 13:25:50 +02:00
README.rst readme: Update prerequisites and examples 2020-11-26 18:14:19 +01:00
README.src.rst readme: Update prerequisites and examples 2020-11-26 18:14:19 +01:00
environment.yml Change README Markdown format to reStructuredText 2020-09-09 13:25:50 +02:00
requirements.txt Change README Markdown format to reStructuredText 2020-09-09 13:25:50 +02:00

README.src.rst

SymbiFlow examples
==================

This repository provides example FPGA designs that can be built using the SymbiFlow open source toolchain.
The examples target the Xilinx Artix-7 and the QuickLogic EOS S3 devices.

The repository includes:

* `eos-s3 </eos-s3>`_ - Example FPGA designs for the QuickLogic EOS S3 series of parts:

  * Verilog code
  * Pin constraints files
  * Timing constraints files
  * Makefiles for running the SymbiFlow toolchain

* `xc7 </xc7>`_ - Example FPGA designs for the Xilinx 7 series of parts:

  * Verilog code
  * Pin constraints files
  * Timing constraints files
  * Makefiles for running the SymbiFlow toolchain

* `.travis.yml <.travis.yml>`_ - Travis CI configuration file

Clone this repository
---------------------

If you have not already done so, clone this repository and ``cd`` into it:

.. code:: bash

    sudo apt install git
    git clone https://github.com/SymbiFlow/symbiflow-examples.git && cd symbiflow-examples


Prerequisites
-------------

Install the following prerequisites before using symbiflow-examples:

* For Ubuntu:

.. code:: bash
   :name: install-req-ubuntu

   apt update && apt install -y wget

* For CentOS:

.. code:: bash
   :name: install-req-centos

   yum install -y wget which

Toolchain installation
----------------------

This section describes how to install the toolchain. This procedure is divided in three steps:

- Installing the Conda package manager
- Choosing an installation directory
- Downloading the architecture definitions and installing the toolchain

1. Conda

.. code:: bash
   :name: wget-conda

   wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O conda_installer.sh

2. Choose the install directory

The install directory can either be in your home directory
such as ``~/opt/symbiflow`` or in a system directory such as ``/opt/symbiflow``.
If you choose a system directory, you will need root permission to perform the installation,
and so you will need to add some ``sudo`` commands to the instructions below.

.. code:: bash

   INSTALL_DIR=~/opt/symbiflow

3. Toolchain

* For the Artix-7 devices:

.. include:: xc7/README.rst
   :start-after:.. toolchain_include_begin_label
   :end-before:.. toolchain_include_end_label


* For the EOS S3 devices:

.. include:: eos-s3/README.rst
   :start-after:.. toolchain_include_begin_label
   :end-before:.. toolchain_include_end_label


Build Example Designs
---------------------

With the toolchain installed, you can build the example designs.
The example designs are provided in separate directories:

* ``xc7`` directory for the Artix-7 devices
* ``eos-s3`` directory for the EOS S3 devices



Example designs for the Artix-7 devices:
****************************************

.. include:: xc7/README.rst
   :start-after:.. build_examples_include_begin_label
   :end-before:.. build_examples_include_end_label


Example design for the EOS S3 devices:
**************************************

.. include:: eos-s3/README.rst
   :start-after:.. build_examples_include_begin_label
   :end-before:.. build_examples_include_end_label