diff --git a/docs/conf.py b/docs/conf.py
index 21883cc..4411150 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -172,8 +172,10 @@ man_pages = [
intersphinx_mapping = {
"python": ("https://docs.python.org/3/", None),
"arch-defs": ("https://f4pga.readthedocs.io/projects/arch-defs/en/latest/", None),
- "interchange": ("https://fpga-interchange-schema.readthedocs.io/", None),
+ "constraints": ("https://hdl.github.io/constraints/", None),
"fasm": ("https://fasm.readthedocs.io/en/latest/", None),
+ "interchange": ("https://fpga-interchange-schema.readthedocs.io/", None),
+ "openfpgaloader": ("https://trabucayre.github.io/openFPGALoader/", None),
"prjtrellis": ("https://prjtrellis.readthedocs.io/en/latest/", None),
"prjxray": ("https://f4pga.readthedocs.io/projects/prjxray/en/latest/", None),
"vtr": ("https://docs.verilogtorouting.org/en/latest/", None),
diff --git a/docs/environment.yml b/docs/environment.yml
index 99c90ee..fd0e76d 100644
--- a/docs/environment.yml
+++ b/docs/environment.yml
@@ -15,12 +15,11 @@
# SPDX-License-Identifier: Apache-2.0
name: f4pga-docs
+
channels:
- - symbiflow
- conda-forge
- - defaults
+
dependencies:
- - cmake
- pygobject
- pip
- pip:
diff --git a/docs/getting-started.rst b/docs/getting-started.rst
index 3da5262..47f332f 100644
--- a/docs/getting-started.rst
+++ b/docs/getting-started.rst
@@ -18,3 +18,51 @@ your FPGA.
* `Project Trellis ➚ `__
* :gh:`Project Icestorm ➚ `
+
+
+.. _GettingStarted:LoadingBitstreams:
+
+Loading bitstreams
+==================
+
+For every board, the loading process may vary and different tools may be required.
+Typically, each tool supports a specific target family or the lines of products of a vendor.
+Some of the most known are listed in :ref:`hdl/constraints: Programming and debugging `.
+The tools used in the F4PGA Toolchain are e.g. ``OpenOCD``, ``tinyfpgab`` or ``tinyprog``.
+Moreover, :gh:`OpenFPGALoader ` is a universal utility for programming FPGA devices, which is
+becoming an alternative to the fragmentation in bitstream loading tools.
+OpenFPGALoader supports many different boards with FPGAs based on the architectures including xc7, ECP5, iCE40 and many
+more.
+It can utilize a variety of the programming adapters based on JTAG, DAP interface, ORBTrace, DFU and FTDI chips.
+
+Installing OpenFPGALoader
+-------------------------
+
+OpenFPGALoader is available in several packaging solutions.
+It can be installed with distribution specific package managers on Arch Linux and Fedora.
+There are also prebuilt packages available in `conda `__
+or packages in tool :gh:`repository `.
+OpenFPGALoader can also be built from sources.
+For installation guidelines using both prebuilt packages and building from source, please refer to instructions in
+:gh:`readme `.
+
+Usage
+-----
+
+For programming the FPGA, use one of these commands:
+
+.. sourcecode:: bash
+
+ openFPGALoader -b # (e.g. arty)
+ openFPGALoader -c # (e.g. digilent)
+ openFPGALoader -d # (e.g. /dev/ttyUSB0)
+
+You can also list the supported boards, cables and FPGAs:
+
+.. sourcecode:: bash
+
+ openFPGALoader --list-boards
+ openFPGALoader --list-cables
+ openFPGALoader --list-fpga
+
+If you encounter any issues, please refer to :doc:`openfpgaloader:index`.