2022-03-10 04:46:21 -05:00
|
|
|
FOSS Flows For FPGA
|
2022-02-21 12:38:05 -05:00
|
|
|
###################
|
2019-04-05 10:56:47 -04:00
|
|
|
|
2022-08-09 10:47:47 -04:00
|
|
|
`F4PGA ➚ <https://f4pga.org/>`__, which is a Workgroup under the `CHIPS Alliance ➚ <https://chipsalliance.org>`__, is an
|
|
|
|
Open Source solution for Hardware Description Language (HDL) to Bitstream FPGA synthesis, currently targeting
|
|
|
|
Xilinx's 7-Series, QuickLogic's EOS-S3, and Lattice' iCE40 and ECP5 devices.
|
2022-03-10 04:46:21 -05:00
|
|
|
Think of it as the GCC of FPGAs.
|
2022-03-15 18:30:59 -04:00
|
|
|
The project aims to design tools that are highly extendable and multiplatform.
|
2022-03-10 04:46:21 -05:00
|
|
|
|
2022-03-15 18:30:59 -04:00
|
|
|
.. image:: _static/images/hero.svg
|
|
|
|
:align: center
|
2022-03-10 04:46:21 -05:00
|
|
|
|
2022-08-09 10:47:47 -04:00
|
|
|
The elements of the project include (but are not limited to):
|
|
|
|
|
|
|
|
* The F4PGA open source FPGA toolchains for programming FPGAs (formerly known as :gh:`SymbiFlow ➚ <https://github.com/SymbiFlow>`):
|
|
|
|
|
|
|
|
* :gh:`F4PGA Python CLI ➚ <chipsalliance/f4pga/tree/main/f4pga>`
|
|
|
|
* :gh:`F4PGA Architecture Definitions ➚ <SymbiFlow/f4pga-arch-defs>`
|
|
|
|
* :gh:`F4PGA Examples ➚ <chipsalliance/f4pga-examples>`
|
|
|
|
* :gh:`F4PGA Yosys plugins ➚ <chipsalliance/yosys-f4pga-plugins>`
|
|
|
|
|
|
|
|
* The FPGA interchange format (an interchange format defined by CHIPS Alliance to enable interoperability between
|
|
|
|
different FPGA tools) adopted by the F4PGA toolchain:
|
|
|
|
|
|
|
|
* :gh:`FPGA Interchange schema ➚ <chipsalliance/fpga-interchange-schema>`
|
|
|
|
* :gh:`FPGA Interchange Python utilities ➚ <chipsalliance/python-fpga-interchange>`
|
|
|
|
* :gh:`FPGA Interchange Test suite ➚ <SymbiFlow/fpga-interchange-tests>`
|
|
|
|
|
|
|
|
* The :gh:`FPGA tool performance framework ➚ <chipsalliance/fpga-tool-perf>` framework for benchmarking
|
|
|
|
designs against various FPGA tools, and vice versa, over time.
|
|
|
|
|
|
|
|
* FPGA visualisation tools for visual exploration of FPGA bitstream and databases:
|
|
|
|
|
|
|
|
* :gh:`F4PGA bitstream viewer ➚ <SymbiFlow/f4pga-bitstream-viewer>`
|
|
|
|
* :gh:`F4PGA database visualizer ➚ <chipsalliance/f4pga-database-visualizer>`
|
|
|
|
|
|
|
|
* Other utilities (FPGA assembly format, documentation and other):
|
|
|
|
|
|
|
|
* :gh:`F4PGA Assembly (FASM) ➚ <chipsalliance/fasm>`
|
|
|
|
* :gh:`Xilinx bitstream generation library ➚ <SymbiFlow/f4pga-xc-fasm>`
|
|
|
|
* :gh:`Verilog-to-routing XML utilities ➚ <SymbiFlow/vtr-xml-utils>`
|
|
|
|
* :gh:`SDF format utilities ➚ <chipsalliance/python-sdf-timing>`
|
|
|
|
* :gh:`F4PGA tools data manager ➚ <SymbiFlow/symbiflow-tools-data-manager>`
|
|
|
|
* :gh:`F4PGA Sphinx Theme ➚ <SymbiFlow/sphinx_symbiflow_theme>`
|
|
|
|
* :gh:`F4PGA Sphinx HDL diagrams ➚ <SymbiFlow/sphinxcontrib-hdl-diagrams>`
|
|
|
|
* :gh:`F4PGA Sphinx Verilog domain ➚ <SymbiFlow/sphinx-verilog-domain>`
|
|
|
|
|
|
|
|
|
|
|
|
Table of Contents
|
|
|
|
=================
|
2022-03-15 18:29:10 -04:00
|
|
|
|
2022-03-10 04:46:21 -05:00
|
|
|
.. toctree::
|
|
|
|
:caption: About F4PGA
|
|
|
|
|
2022-08-09 10:47:47 -04:00
|
|
|
getting-started
|
2022-03-10 04:46:21 -05:00
|
|
|
how
|
|
|
|
status
|
2022-08-09 10:47:47 -04:00
|
|
|
community
|
2022-03-10 04:46:21 -05:00
|
|
|
|
2022-03-15 18:29:10 -04:00
|
|
|
|
2022-03-10 04:46:21 -05:00
|
|
|
.. toctree::
|
2022-08-01 06:49:14 -04:00
|
|
|
:caption: Python utils
|
|
|
|
:maxdepth: 2
|
2022-03-10 04:46:21 -05:00
|
|
|
|
2022-08-01 06:49:14 -04:00
|
|
|
f4pga/index
|
|
|
|
f4pga/Usage
|
|
|
|
f4pga/modules/index
|
|
|
|
f4pga/DevNotes
|
2022-08-03 23:25:44 -04:00
|
|
|
f4pga/Deprecated
|
2022-03-10 04:46:21 -05:00
|
|
|
|
2022-03-15 18:29:10 -04:00
|
|
|
|
2022-03-10 04:46:21 -05:00
|
|
|
.. toctree::
|
2022-08-01 06:49:14 -04:00
|
|
|
:caption: Development
|
2022-03-10 04:46:21 -05:00
|
|
|
|
2022-08-01 06:49:14 -04:00
|
|
|
development/changes
|
|
|
|
development/building-docs
|
|
|
|
development/venv
|
2022-03-10 04:46:21 -05:00
|
|
|
|
2022-03-15 18:29:10 -04:00
|
|
|
|
2022-02-14 16:05:55 -05:00
|
|
|
.. toctree::
|
2022-08-01 06:49:14 -04:00
|
|
|
:caption: Design Flows
|
2022-02-14 16:05:55 -05:00
|
|
|
|
2022-08-01 06:49:14 -04:00
|
|
|
flows/index
|
|
|
|
flows/synthesis
|
|
|
|
flows/pnr
|
|
|
|
flows/bitstream
|
|
|
|
flows/f4pga
|
2022-02-27 08:26:29 -05:00
|
|
|
|
|
|
|
|
|
|
|
.. toctree::
|
2022-08-01 06:49:14 -04:00
|
|
|
:caption: Specifications
|
2022-02-27 08:26:29 -05:00
|
|
|
|
2022-08-01 06:49:14 -04:00
|
|
|
FPGA Assembly (FASM) ➚ <https://fasm.readthedocs.io/en/latest/>
|
2022-08-09 10:47:47 -04:00
|
|
|
FPGA Interchange schema ➚ <https://chipsalliance/fpga-interchange-schema>
|
2022-03-15 18:29:10 -04:00
|
|
|
|
|
|
|
|
|
|
|
.. toctree::
|
|
|
|
:caption: Appendix
|
|
|
|
|
|
|
|
glossary
|
2022-03-15 18:39:30 -04:00
|
|
|
references
|