Really remove the LOC; try to get 100T linux demo to run.
Restore output redirect for synth step (deleted by accident). Checking status w/ EOS-S3 updates .. DNM! Change instructions around INSTALL_DIR. Update formatting to rst not md. More formatting fixes, mostly for ..code. Now use $INSTALL_DIR/xc7 and $INSTALL_DIR/eos-s3. Formatting & instructions update. Signed-off-by: Tim Callahan <tcal@google.com>
This commit is contained in:
parent
0a2ba746a1
commit
94e7544cfd
17
.travis.yml
17
.travis.yml
|
@ -12,24 +12,31 @@ addons:
|
||||||
- python3-pip
|
- python3-pip
|
||||||
|
|
||||||
before_install:
|
before_install:
|
||||||
|
- echo === before_install
|
||||||
- sudo locale-gen "en_US.UTF-8"
|
- sudo locale-gen "en_US.UTF-8"
|
||||||
- export LANG="en_US.UTF-8"
|
- export LANG="en_US.UTF-8"
|
||||||
- source .github/travis/common.sh
|
- source .github/travis/common.sh
|
||||||
- rm README.rst && make README.rst && .github/travis/git-check.sh
|
- rm README.rst && make README.rst && .github/travis/git-check.sh
|
||||||
- pip install git+https://github.com/antmicro/tuttest
|
- pip install git+https://github.com/antmicro/tuttest
|
||||||
- tuttest README.rst unnamed0 | bash -
|
- tuttest README.rst wget-conda | bash -ex -
|
||||||
jobs:
|
jobs:
|
||||||
include:
|
include:
|
||||||
- stage: SymbiFlow
|
- stage: SymbiFlow
|
||||||
install:
|
install:
|
||||||
- tuttest xc7/README.rst unnamed0 | bash -
|
- echo === stage symbiflow install
|
||||||
|
- export INSTALL_DIR=$PWD/../opt/symbiflow/xc7
|
||||||
|
- tuttest xc7/README.rst xc7-setup-toolchain | bash -ex -
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- tuttest xc7/README.rst unnamed1,unnamed2,unnamed3,unnamed4,unnamed5 | bash -
|
- export INSTALL_DIR=$PWD/../opt/symbiflow/xc7
|
||||||
|
- tuttest xc7/README.rst xc7-prepare-env,xc7-counter,xc7-picosoc,xc7-litex,xc7-linux | bash -ex -
|
||||||
|
|
||||||
- #
|
- #
|
||||||
install:
|
install:
|
||||||
- tuttest eos-s3/README.rst unnamed0 | bash -
|
- export INSTALL_DIR=$PWD/../opt/symbiflow/eos-s3
|
||||||
|
- tuttest eos-s3/README.rst eoss3-setup-toolchain | bash -ex -
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- tuttest eos-s3/README.rst unnamed1,unnamed2 | bash -
|
- export INSTALL_DIR=$PWD/../opt/symbiflow/eos-s3
|
||||||
|
- tuttest eos-s3/README.rst eoss3-prepare-env,eoss3-counter | bash -ex -
|
||||||
|
|
||||||
|
|
105
README.rst
105
README.rst
|
@ -22,45 +22,70 @@ The repository includes:
|
||||||
|
|
||||||
* `.travis.yml <.travis.yml>`_ - Travis CI configuration file
|
* `.travis.yml <.travis.yml>`_ - Travis CI configuration file
|
||||||
|
|
||||||
Toolchain installation
|
|
||||||
----------------------
|
|
||||||
|
|
||||||
This section describes how to install the toolchain. This procedure is divided in two steps:
|
Clone this repository
|
||||||
|
---------------------
|
||||||
|
|
||||||
- Installing the Conda package manager
|
If you have not already done so, clone this repository and ``cd`` into it:
|
||||||
- Downloading the architecture definitions and installing the toolchain
|
|
||||||
|
|
||||||
#. Conda
|
|
||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
|
||||||
|
sudo apt install git
|
||||||
|
git clone https://github.com/SymbiFlow/symbiflow-examples.git && cd symbiflow-examples
|
||||||
|
|
||||||
|
|
||||||
|
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
|
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O conda_installer.sh
|
||||||
|
|
||||||
#. Toolchain
|
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:
|
* For the Artix-7 devices:
|
||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
:name: xc7-setup-toolchain
|
||||||
|
|
||||||
INSTALL_DIR="/opt/symbiflow/xc7"
|
bash conda_installer.sh -b -p $INSTALL_DIR/xc7/conda
|
||||||
bash conda_installer.sh -b -p $INSTALL_DIR/conda && rm conda_installer.sh
|
source "$INSTALL_DIR/xc7/conda/etc/profile.d/conda.sh"
|
||||||
source "$INSTALL_DIR/conda/etc/profile.d/conda.sh"
|
|
||||||
conda env create -f xc7/environment.yml
|
conda env create -f xc7/environment.yml
|
||||||
conda activate xc7
|
conda activate xc7
|
||||||
wget -qO- https://storage.googleapis.com/symbiflow-arch-defs/artifacts/prod/foss-fpga-tools/symbiflow-arch-defs/continuous/install/66/20200914-111752/symbiflow-arch-defs-install-05d68df0.tar.xz | tar -xJ --one-top-level=$INSTALL_DIR/install
|
wget -qO- https://storage.googleapis.com/symbiflow-arch-defs/artifacts/prod/foss-fpga-tools/symbiflow-arch-defs/continuous/install/66/20200914-111752/symbiflow-arch-defs-install-05d68df0.tar.xz | tar -xJ --one-top-level=$INSTALL_DIR/xc7/install
|
||||||
conda deactivate
|
conda deactivate
|
||||||
|
|
||||||
* For the EOS S3 devices:
|
* For the EOS S3 devices:
|
||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
:name: eoss3-setup-toolchain
|
||||||
|
|
||||||
export INSTALL_DIR="/opt/symbiflow/eos-s3"
|
bash conda_installer.sh -b -p $INSTALL_DIR/eos-s3/conda
|
||||||
bash conda_installer.sh -b -p $INSTALL_DIR/conda && rm conda_installer.sh
|
source "$INSTALL_DIR/eos-s3/conda/etc/profile.d/conda.sh"
|
||||||
source "$INSTALL_DIR/conda/etc/profile.d/conda.sh"
|
|
||||||
conda env create -f eos-s3/environment.yml
|
conda env create -f eos-s3/environment.yml
|
||||||
conda activate eos-s3
|
conda activate eos-s3
|
||||||
wget -qO- https://quicklogic-my.sharepoint.com/:u:/p/kkumar/Eb7341Bq-XRAukVQ6oQ6PrgB-qdFbrsrPEON1yTa4krFSA?download=1 | tar -xJ -C $INSTALL_DIR
|
wget -qO- https://quicklogic-my.sharepoint.com/:u:/p/kkumar/Eb7341Bq-XRAukVQ6oQ6PrgB-qdFbrsrPEON1yTa4krFSA?download=1 | tar -xJ -C $INSTALL_DIR/eos-s3
|
||||||
cp -r $INSTALL_DIR/conda/envs/eos-s3/share/yosys/* $INSTALL_DIR/conda/envs/eos-s3/share/
|
cp -r $INSTALL_DIR/eos-s3/conda/envs/eos-s3/share/yosys/* $INSTALL_DIR/eos-s3/conda/envs/eos-s3/share/
|
||||||
conda deactivate
|
conda deactivate
|
||||||
|
|
||||||
Build Example Designs
|
Build Example Designs
|
||||||
|
@ -72,25 +97,31 @@ The example designs are provided in separate directories:
|
||||||
* ``xc7`` directory for the Artix-7 devices
|
* ``xc7`` directory for the Artix-7 devices
|
||||||
* ``eos-s3`` directory for the EOS S3 devices
|
* ``eos-s3`` directory for the EOS S3 devices
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Example designs for the Artix-7 devices:
|
Example designs for the Artix-7 devices:
|
||||||
****************************************
|
****************************************
|
||||||
|
|
||||||
* For the Artix-7 devices:
|
Before building any example, set the installation directory to match what you set it to earlier,
|
||||||
|
|
||||||
Before building any example, prepare environment:
|
|
||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
|
||||||
export INSTALL_DIR="/opt/symbiflow/xc7"
|
export INSTALL_DIR=~/opt/symbiflow
|
||||||
|
|
||||||
|
and prepare the environment:
|
||||||
|
|
||||||
|
.. code:: bash
|
||||||
|
:name: xc7-prepare-env
|
||||||
|
|
||||||
# adding symbiflow toolchain binaries to PATH
|
# adding symbiflow toolchain binaries to PATH
|
||||||
export PATH="$INSTALL_DIR/install/bin:$PATH"
|
export PATH="$INSTALL_DIR/xc7/install/bin:$PATH"
|
||||||
source "$INSTALL_DIR/conda/etc/profile.d/conda.sh"
|
source "$INSTALL_DIR/xc7/conda/etc/profile.d/conda.sh"
|
||||||
conda activate xc7
|
conda activate xc7
|
||||||
git clone https://github.com/SymbiFlow/symbiflow-examples && cd symbiflow-examples
|
|
||||||
|
|
||||||
To build the counter example, run the following commands:
|
To build the counter example, run any or all of the following commands:
|
||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
:name: xc7-counter
|
||||||
|
|
||||||
pushd xc7/counter_test && make clean && TARGET="arty_50" make && popd
|
pushd xc7/counter_test && make clean && TARGET="arty_50" make && popd
|
||||||
pushd xc7/counter_test && make clean && TARGET="arty_100" make && popd
|
pushd xc7/counter_test && make clean && TARGET="arty_100" make && popd
|
||||||
|
@ -99,12 +130,14 @@ To build the counter example, run the following commands:
|
||||||
To build the picosoc example, run the following commands:
|
To build the picosoc example, run the following commands:
|
||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
:name: xc7-picosoc
|
||||||
|
|
||||||
pushd xc7/picosoc_demo && make && popd
|
pushd xc7/picosoc_demo && make && popd
|
||||||
|
|
||||||
To build the litex example, run the following commands:
|
To build the litex example, run the following commands:
|
||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
:name: xc7-litex
|
||||||
|
|
||||||
wget https://raw.githubusercontent.com/enjoy-digital/litex/master/litex_setup.py
|
wget https://raw.githubusercontent.com/enjoy-digital/litex/master/litex_setup.py
|
||||||
chmod +x litex_setup.py
|
chmod +x litex_setup.py
|
||||||
|
@ -118,29 +151,33 @@ To build the litex example, run the following commands:
|
||||||
To build the linux-litex-demo example, run the following commands:
|
To build the linux-litex-demo example, run the following commands:
|
||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
:name: xc7-linux
|
||||||
|
|
||||||
pushd xc7/linux_litex_demo && make && popd
|
pushd xc7/linux_litex_demo && make && popd
|
||||||
pushd xc7/linux_litex_demo && TARGET=arty_100 make && popd
|
pushd xc7/linux_litex_demo && TARGET="arty_100" make && popd
|
||||||
|
|
||||||
Example design for the EOS S3 devices:
|
Example design for the EOS S3 devices:
|
||||||
**************************************
|
**************************************
|
||||||
|
|
||||||
* For the EOS S3 devices:
|
Before building any example, set the installation directory to match what you set it to earlier,
|
||||||
|
|
||||||
Before building example, prepare environment:
|
|
||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
|
||||||
export INSTALL_DIR="/opt/symbiflow/eos-s3"
|
export INSTALL_DIR=~/opt/symbiflow
|
||||||
export PATH="$INSTALL_DIR/install/bin:$PATH"
|
|
||||||
source "$INSTALL_DIR/conda/etc/profile.d/conda.sh"
|
|
||||||
conda activate eos-s3
|
|
||||||
|
|
||||||
git clone https://github.com/SymbiFlow/symbiflow-examples && cd symbiflow-examples
|
and prepare the environment:
|
||||||
|
|
||||||
|
.. code:: bash
|
||||||
|
:name: eoss3-prepare-env
|
||||||
|
|
||||||
|
export PATH="$INSTALL_DIR/eos-s3/install/bin:$PATH"
|
||||||
|
source "$INSTALL_DIR/eos-s3/conda/etc/profile.d/conda.sh"
|
||||||
|
conda activate eos-s3
|
||||||
|
|
||||||
To build the example, run the following command:
|
To build the example, run the following command:
|
||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
:name: eoss3-counter
|
||||||
|
|
||||||
pushd eos-s3/btn_counter && make && popd
|
pushd eos-s3/btn_counter && make && popd
|
||||||
|
|
||||||
|
|
|
@ -22,21 +22,46 @@ The repository includes:
|
||||||
|
|
||||||
* `.travis.yml <.travis.yml>`_ - Travis CI configuration file
|
* `.travis.yml <.travis.yml>`_ - Travis CI configuration file
|
||||||
|
|
||||||
Toolchain installation
|
|
||||||
----------------------
|
|
||||||
|
|
||||||
This section describes how to install the toolchain. This procedure is divided in two steps:
|
Clone this repository
|
||||||
|
---------------------
|
||||||
|
|
||||||
- Installing the Conda package manager
|
If you have not already done so, clone this repository and ``cd`` into it:
|
||||||
- Downloading the architecture definitions and installing the toolchain
|
|
||||||
|
|
||||||
#. Conda
|
|
||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
|
||||||
|
sudo apt install git
|
||||||
|
git clone https://github.com/SymbiFlow/symbiflow-examples.git && cd symbiflow-examples
|
||||||
|
|
||||||
|
|
||||||
|
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
|
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O conda_installer.sh
|
||||||
|
|
||||||
#. Toolchain
|
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:
|
* For the Artix-7 devices:
|
||||||
|
|
||||||
|
@ -51,6 +76,7 @@ This section describes how to install the toolchain. This procedure is divided i
|
||||||
:start-after:.. toolchain_include_begin_label
|
:start-after:.. toolchain_include_begin_label
|
||||||
:end-before:.. toolchain_include_end_label
|
:end-before:.. toolchain_include_end_label
|
||||||
|
|
||||||
|
|
||||||
Build Example Designs
|
Build Example Designs
|
||||||
---------------------
|
---------------------
|
||||||
|
|
||||||
|
@ -60,20 +86,19 @@ The example designs are provided in separate directories:
|
||||||
* ``xc7`` directory for the Artix-7 devices
|
* ``xc7`` directory for the Artix-7 devices
|
||||||
* ``eos-s3`` directory for the EOS S3 devices
|
* ``eos-s3`` directory for the EOS S3 devices
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Example designs for the Artix-7 devices:
|
Example designs for the Artix-7 devices:
|
||||||
****************************************
|
****************************************
|
||||||
|
|
||||||
* For the Artix-7 devices:
|
|
||||||
|
|
||||||
.. include:: xc7/README.rst
|
.. include:: xc7/README.rst
|
||||||
:start-after:.. build_examples_include_begin_label
|
:start-after:.. build_examples_include_begin_label
|
||||||
:end-before:.. build_examples_include_end_label
|
:end-before:.. build_examples_include_end_label
|
||||||
|
|
||||||
|
|
||||||
Example design for the EOS S3 devices:
|
Example design for the EOS S3 devices:
|
||||||
**************************************
|
**************************************
|
||||||
|
|
||||||
* For the EOS S3 devices:
|
|
||||||
|
|
||||||
.. include:: eos-s3/README.rst
|
.. include:: eos-s3/README.rst
|
||||||
:start-after:.. build_examples_include_begin_label
|
:start-after:.. build_examples_include_begin_label
|
||||||
:end-before:.. build_examples_include_end_label
|
:end-before:.. build_examples_include_end_label
|
||||||
|
|
|
@ -3,20 +3,38 @@ SymbiFlow Toolchain Examples for QuickLogic EOS S3
|
||||||
|
|
||||||
#. ``btn_counter`` - simple 4-bit counter driving LEDs. The design targets the `EOS S3 FPGA <https://www.quicklogic.com/products/eos-s3/>`__.
|
#. ``btn_counter`` - simple 4-bit counter driving LEDs. The design targets the `EOS S3 FPGA <https://www.quicklogic.com/products/eos-s3/>`__.
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
|
||||||
Setting up the toolchain
|
Setting up the toolchain
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
|
Choose the installation directory (see the `README.rst <../README.rst>`_ one level up for details):
|
||||||
|
|
||||||
|
|
||||||
|
.. code:: bash
|
||||||
|
|
||||||
|
export INSTALL_DIR=~/opt/symbiflow
|
||||||
|
|
||||||
|
|
||||||
.. toolchain_include_begin_label
|
.. toolchain_include_begin_label
|
||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
:name: eoss3-setup-toolchain
|
||||||
|
|
||||||
export INSTALL_DIR="/opt/symbiflow/eos-s3"
|
bash conda_installer.sh -b -p $INSTALL_DIR/eos-s3/conda
|
||||||
bash conda_installer.sh -b -p $INSTALL_DIR/conda && rm conda_installer.sh
|
source "$INSTALL_DIR/eos-s3/conda/etc/profile.d/conda.sh"
|
||||||
source "$INSTALL_DIR/conda/etc/profile.d/conda.sh"
|
|
||||||
conda env create -f eos-s3/environment.yml
|
conda env create -f eos-s3/environment.yml
|
||||||
conda activate eos-s3
|
conda activate eos-s3
|
||||||
wget -qO- https://quicklogic-my.sharepoint.com/:u:/p/kkumar/Eb7341Bq-XRAukVQ6oQ6PrgB-qdFbrsrPEON1yTa4krFSA?download=1 | tar -xJ -C $INSTALL_DIR
|
wget -qO- https://quicklogic-my.sharepoint.com/:u:/p/kkumar/Eb7341Bq-XRAukVQ6oQ6PrgB-qdFbrsrPEON1yTa4krFSA?download=1 | tar -xJ -C $INSTALL_DIR/eos-s3
|
||||||
cp -r $INSTALL_DIR/conda/envs/eos-s3/share/yosys/* $INSTALL_DIR/conda/envs/eos-s3/share/
|
cp -r $INSTALL_DIR/eos-s3/conda/envs/eos-s3/share/yosys/* $INSTALL_DIR/eos-s3/conda/envs/eos-s3/share/
|
||||||
conda deactivate
|
conda deactivate
|
||||||
|
|
||||||
.. toolchain_include_end_label
|
.. toolchain_include_end_label
|
||||||
|
@ -26,20 +44,25 @@ Building the examples
|
||||||
|
|
||||||
.. build_examples_include_begin_label
|
.. build_examples_include_begin_label
|
||||||
|
|
||||||
Before building example, prepare environment:
|
Before building any example, set the installation directory to match what you set it to earlier,
|
||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
|
||||||
export INSTALL_DIR="/opt/symbiflow/eos-s3"
|
export INSTALL_DIR=~/opt/symbiflow
|
||||||
export PATH="$INSTALL_DIR/install/bin:$PATH"
|
|
||||||
source "$INSTALL_DIR/conda/etc/profile.d/conda.sh"
|
|
||||||
conda activate eos-s3
|
|
||||||
|
|
||||||
git clone https://github.com/SymbiFlow/symbiflow-examples && cd symbiflow-examples
|
and prepare the environment:
|
||||||
|
|
||||||
|
.. code:: bash
|
||||||
|
:name: eoss3-prepare-env
|
||||||
|
|
||||||
|
export PATH="$INSTALL_DIR/eos-s3/install/bin:$PATH"
|
||||||
|
source "$INSTALL_DIR/eos-s3/conda/etc/profile.d/conda.sh"
|
||||||
|
conda activate eos-s3
|
||||||
|
|
||||||
To build the example, run the following command:
|
To build the example, run the following command:
|
||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
:name: eoss3-counter
|
||||||
|
|
||||||
pushd eos-s3/btn_counter && make && popd
|
pushd eos-s3/btn_counter && make && popd
|
||||||
|
|
||||||
|
|
|
@ -10,19 +10,39 @@ SymbiFlow Toolchain Examples for Xilinx 7 Series
|
||||||
The Linux images for the ``linux_litex`` example can be built following the `linux on litex vexriscv <https://github.com/litex-hub/linux-on-litex-vexriscv>`__ instructions.
|
The Linux images for the ``linux_litex`` example can be built following the `linux on litex vexriscv <https://github.com/litex-hub/linux-on-litex-vexriscv>`__ instructions.
|
||||||
The ``linux_litex`` example is already provided with working Linux images.
|
The ``linux_litex`` example is already provided with working Linux images.
|
||||||
|
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Setting up the toolchain
|
Setting up the toolchain
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
|
Choose the installation directory (see the README_ one level up for details):
|
||||||
|
|
||||||
|
.. _README: ../README.md
|
||||||
|
|
||||||
|
.. code:: bash
|
||||||
|
|
||||||
|
export INSTALL_DIR=~/opt/symbiflow
|
||||||
|
|
||||||
.. toolchain_include_begin_label
|
.. toolchain_include_begin_label
|
||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
:name: xc7-setup-toolchain
|
||||||
|
|
||||||
INSTALL_DIR="/opt/symbiflow/xc7"
|
bash conda_installer.sh -b -p $INSTALL_DIR/xc7/conda
|
||||||
bash conda_installer.sh -b -p $INSTALL_DIR/conda && rm conda_installer.sh
|
source "$INSTALL_DIR/xc7/conda/etc/profile.d/conda.sh"
|
||||||
source "$INSTALL_DIR/conda/etc/profile.d/conda.sh"
|
|
||||||
conda env create -f xc7/environment.yml
|
conda env create -f xc7/environment.yml
|
||||||
conda activate xc7
|
conda activate xc7
|
||||||
wget -qO- https://storage.googleapis.com/symbiflow-arch-defs/artifacts/prod/foss-fpga-tools/symbiflow-arch-defs/continuous/install/66/20200914-111752/symbiflow-arch-defs-install-05d68df0.tar.xz | tar -xJ --one-top-level=$INSTALL_DIR/install
|
wget -qO- https://storage.googleapis.com/symbiflow-arch-defs/artifacts/prod/foss-fpga-tools/symbiflow-arch-defs/continuous/install/66/20200914-111752/symbiflow-arch-defs-install-05d68df0.tar.xz | tar -xJ --one-top-level=$INSTALL_DIR/xc7/install
|
||||||
conda deactivate
|
conda deactivate
|
||||||
|
|
||||||
.. toolchain_include_end_label
|
.. toolchain_include_end_label
|
||||||
|
@ -32,20 +52,26 @@ Building the examples
|
||||||
|
|
||||||
.. build_examples_include_begin_label
|
.. build_examples_include_begin_label
|
||||||
|
|
||||||
Before building any example, prepare environment:
|
Before building any example, set the installation directory to match what you set it to earlier,
|
||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
|
||||||
export INSTALL_DIR="/opt/symbiflow/xc7"
|
export INSTALL_DIR=~/opt/symbiflow
|
||||||
|
|
||||||
|
and prepare the environment:
|
||||||
|
|
||||||
|
.. code:: bash
|
||||||
|
:name: xc7-prepare-env
|
||||||
|
|
||||||
# adding symbiflow toolchain binaries to PATH
|
# adding symbiflow toolchain binaries to PATH
|
||||||
export PATH="$INSTALL_DIR/install/bin:$PATH"
|
export PATH="$INSTALL_DIR/xc7/install/bin:$PATH"
|
||||||
source "$INSTALL_DIR/conda/etc/profile.d/conda.sh"
|
source "$INSTALL_DIR/xc7/conda/etc/profile.d/conda.sh"
|
||||||
conda activate xc7
|
conda activate xc7
|
||||||
git clone https://github.com/SymbiFlow/symbiflow-examples && cd symbiflow-examples
|
|
||||||
|
|
||||||
To build the counter example, run the following commands:
|
To build the counter example, run any or all of the following commands:
|
||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
:name: xc7-counter
|
||||||
|
|
||||||
pushd xc7/counter_test && make clean && TARGET="arty_50" make && popd
|
pushd xc7/counter_test && make clean && TARGET="arty_50" make && popd
|
||||||
pushd xc7/counter_test && make clean && TARGET="arty_100" make && popd
|
pushd xc7/counter_test && make clean && TARGET="arty_100" make && popd
|
||||||
|
@ -54,12 +80,14 @@ To build the counter example, run the following commands:
|
||||||
To build the picosoc example, run the following commands:
|
To build the picosoc example, run the following commands:
|
||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
:name: xc7-picosoc
|
||||||
|
|
||||||
pushd xc7/picosoc_demo && make && popd
|
pushd xc7/picosoc_demo && make && popd
|
||||||
|
|
||||||
To build the litex example, run the following commands:
|
To build the litex example, run the following commands:
|
||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
:name: xc7-litex
|
||||||
|
|
||||||
wget https://raw.githubusercontent.com/enjoy-digital/litex/master/litex_setup.py
|
wget https://raw.githubusercontent.com/enjoy-digital/litex/master/litex_setup.py
|
||||||
chmod +x litex_setup.py
|
chmod +x litex_setup.py
|
||||||
|
@ -73,8 +101,9 @@ To build the litex example, run the following commands:
|
||||||
To build the linux-litex-demo example, run the following commands:
|
To build the linux-litex-demo example, run the following commands:
|
||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
:name: xc7-linux
|
||||||
|
|
||||||
pushd xc7/linux_litex_demo && make && popd
|
pushd xc7/linux_litex_demo && make && popd
|
||||||
pushd xc7/linux_litex_demo && TARGET=arty_100 make && popd
|
pushd xc7/linux_litex_demo && TARGET="arty_100" make && popd
|
||||||
|
|
||||||
.. build_examples_include_end_label
|
.. build_examples_include_end_label
|
||||||
|
|
|
@ -25,10 +25,10 @@ ${BUILDDIR}:
|
||||||
mkdir ${BUILDDIR}
|
mkdir ${BUILDDIR}
|
||||||
|
|
||||||
${BUILDDIR}/${TOP}.eblif: | ${BUILDDIR}
|
${BUILDDIR}/${TOP}.eblif: | ${BUILDDIR}
|
||||||
cd ${BUILDDIR} && symbiflow_synth -t ${TOP} -v ${VERILOG} -d ${BITSTREAM_DEVICE} -p ${PARTNAME}
|
cd ${BUILDDIR} && symbiflow_synth -t ${TOP} -v ${VERILOG} -d ${BITSTREAM_DEVICE} -p ${PARTNAME} 2>&1 > /dev/null
|
||||||
|
|
||||||
${BUILDDIR}/${TOP}.net: ${BUILDDIR}/${TOP}.eblif
|
${BUILDDIR}/${TOP}.net: ${BUILDDIR}/${TOP}.eblif
|
||||||
cd ${BUILDDIR} && symbiflow_pack -e ${TOP}.eblif -d ${DEVICE} -s ${SDC}
|
cd ${BUILDDIR} && symbiflow_pack -e ${TOP}.eblif -d ${DEVICE} -s ${SDC} 2>&1 > /dev/null
|
||||||
|
|
||||||
${BUILDDIR}/${TOP}.place: ${BUILDDIR}/${TOP}.net
|
${BUILDDIR}/${TOP}.place: ${BUILDDIR}/${TOP}.net
|
||||||
cd ${BUILDDIR} && symbiflow_place -e ${TOP}.eblif -d ${DEVICE} -p ${PCF} -n ${TOP}.net -P ${PARTNAME} -s ${SDC} 2>&1 > /dev/null
|
cd ${BUILDDIR} && symbiflow_place -e ${TOP}.eblif -d ${DEVICE} -p ${PCF} -n ${TOP}.net -P ${PARTNAME} -s ${SDC} 2>&1 > /dev/null
|
||||||
|
|
|
@ -11,7 +11,7 @@ PCF := ${current_dir}/arty.pcf
|
||||||
SDC := ${current_dir}/arty.sdc
|
SDC := ${current_dir}/arty.sdc
|
||||||
XDC := ${current_dir}/arty.xdc
|
XDC := ${current_dir}/arty.xdc
|
||||||
BUILDDIR_35 := build
|
BUILDDIR_35 := build
|
||||||
BUILDDIR_100 := build
|
BUILDDIR_100 := build_100
|
||||||
|
|
||||||
ifeq ($(TARGET),arty_100)
|
ifeq ($(TARGET),arty_100)
|
||||||
PARTNAME := xc7a100tcsg324-1
|
PARTNAME := xc7a100tcsg324-1
|
||||||
|
@ -30,7 +30,7 @@ ${BUILDDIR}:
|
||||||
ln -s ${MEM_INIT} ${BUILDDIR}
|
ln -s ${MEM_INIT} ${BUILDDIR}
|
||||||
|
|
||||||
${BUILDDIR}/${TOP}.eblif: | ${BUILDDIR}
|
${BUILDDIR}/${TOP}.eblif: | ${BUILDDIR}
|
||||||
cd ${BUILDDIR} && symbiflow_synth -t ${TOP} -v ${VERILOG} -d ${BITSTREAM_DEVICE} -p ${PARTNAME} -x ${XDC}
|
cd ${BUILDDIR} && symbiflow_synth -t ${TOP} -v ${VERILOG} -d ${BITSTREAM_DEVICE} -p ${PARTNAME} -x ${XDC} 2>&1 > /dev/null
|
||||||
|
|
||||||
${BUILDDIR}/${TOP}.net: ${BUILDDIR}/${TOP}.eblif
|
${BUILDDIR}/${TOP}.net: ${BUILDDIR}/${TOP}.eblif
|
||||||
cd ${BUILDDIR} && symbiflow_pack -e ${TOP}.eblif -d ${DEVICE} -s ${SDC} 2>&1 > /dev/null
|
cd ${BUILDDIR} && symbiflow_pack -e ${TOP}.eblif -d ${DEVICE} -s ${SDC} 2>&1 > /dev/null
|
||||||
|
|
|
@ -13454,7 +13454,6 @@ BUFG BUFG_5(
|
||||||
wire eth_ref_clk_obuf;
|
wire eth_ref_clk_obuf;
|
||||||
OBUF clk_eth_buf(.I(eth_ref_clk_obuf), .O(eth_ref_clk));
|
OBUF clk_eth_buf(.I(eth_ref_clk_obuf), .O(eth_ref_clk));
|
||||||
|
|
||||||
(* LOC="IDELAYCTRL_X1Y0" *)
|
|
||||||
IDELAYCTRL IDELAYCTRL(
|
IDELAYCTRL IDELAYCTRL(
|
||||||
.REFCLK(clk200_clk),
|
.REFCLK(clk200_clk),
|
||||||
.RST(soc_ic_reset),
|
.RST(soc_ic_reset),
|
||||||
|
|
Loading…
Reference in New Issue