| FOSS Flows For FPGA |
| ################### |
| |
| `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. |
| Think of it as the GCC of FPGAs. |
| The project aims to design tools that are highly extendable and multiplatform. |
| |
| .. image:: _static/images/hero.svg |
| :align: center |
| |
| 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 |
| ================= |
| |
| .. toctree:: |
| :caption: About F4PGA |
| |
| getting-started |
| how |
| status |
| community |
| |
| |
| .. toctree:: |
| :caption: Python utils |
| :maxdepth: 2 |
| |
| f4pga/index |
| f4pga/Usage |
| f4pga/modules/index |
| f4pga/DevNotes |
| f4pga/Deprecated |
| |
| |
| .. toctree:: |
| :caption: Development |
| |
| development/changes |
| development/building-docs |
| development/venv |
| |
| |
| .. toctree:: |
| :caption: Design Flows |
| |
| flows/index |
| flows/synthesis |
| flows/pnr |
| flows/bitstream |
| flows/f4pga |
| |
| |
| .. toctree:: |
| :caption: Specifications |
| |
| FPGA Assembly (FASM) ➚ <https://fasm.readthedocs.io/en/latest/> |
| FPGA Interchange schema ➚ <https://chipsalliance/fpga-interchange-schema> |
| |
| |
| .. toctree:: |
| :caption: Appendix |
| |
| glossary |
| references |