Skip to content

Commit

Permalink
docs: complete introduction section
Browse files Browse the repository at this point in the history
  • Loading branch information
rodrigomelo9 committed Aug 9, 2024
1 parent 6fecb1d commit e36413d
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 17 deletions.
18 changes: 1 addition & 17 deletions docs/basic.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ Basic usage

.. ATTENTION::

(2024-05-31) To be updated.
(2024-08-08) To be updated.

Project Creation
----------------
Expand All @@ -18,22 +18,6 @@ name is used when *no name* is provided).
prj = Project('vivado', 'projectName')
.. NOTE::

The supported tool are: ``ghdl``, ``ise``, ``libero``, ``openflow``,
``quartus``, ``vivado``, ``yosys``, ``yosys-ise`` and ``yosys-vivado``.

.. ATTENTION::

PyFPGA assumes that the backend Tool is ready to run.
This implies, depending on the operating system, things such as:

* Tool installed.
* A valid License configured.
* Tool available in the system PATH.
* GNU/Linux: extra packages installed, environment variables assigned
and permissions granted on devices (to transfer the bitstream).

By default, the directory where the project is generated is called ``build``
and is located in the same place that the script, but another name and location
can be specified.
Expand Down
24 changes: 24 additions & 0 deletions docs/intro.rst
Original file line number Diff line number Diff line change
@@ -1,2 +1,26 @@
Introduction
============

PyFPGA is a Python package that provides an abstraction layer for working with FPGA development tools in a vendor-agnostic, programmatic way. It includes:

* A **class** for each supported tool, enabling **project creation**, **synthesis**, **place and route**, **bitstream generation**, and **programming**.
* A set of **command-line** helpers for simple projects or quick evaluations.

With PyFPGA, you can create your own FPGA development workflow tailored to your needs. Some of its key benefits include:

* A unified API across different tools and devices.
* Compatibility with *Version Control Systems* and *Continuous Integration*.
* Ensured reproducibility and repeatability.
* Lower resource consumption compared to GUI-based workflows.

It currently supports vendor tools such as ``Diamond``, ``Ise``, ``Quartus``, ``Libero``, and ``Vivado``, as well as ``Openflow``, a solution based on *Free/Libre and Open Source Software* (**FLOSS**).

.. ATTENTION::

PyFPGA assumes that the backend tool is ready to run.
This implies, depending on the operating system, the following:

* The tool is installed.
* A valid license, if needed, is configured.
* The tool is available in the system PATH.
* On GNU/Linux: required packages are installed, environment variables are set, and permissions are granted for devices (to transfer the bitstream).

0 comments on commit e36413d

Please sign in to comment.