| .. _pyF4PGA: | |
| Overview | |
| ######## | |
| Python F4PGA is a package containing multiple modules to facilitate the usage of all the tools integrated in the F4PGA | |
| ecosystem, and beyond. | |
| The scope of Python F4PGA is threefold: | |
| * Provide a fine-grained *pythonic* interface to the tools and utilities available as either command-line interfaces | |
| (CLIs) or application proggraming interfaces (APIs) (either web or through shared libraries). | |
| * Provide a CLI entrypoint covering the whole flows for end-users to produce bitstreams from HDL and/or software sources. | |
| * Provide a CLI entrypoint for developers contributing to bitstream documentation and testing (continuous integration). | |
| .. ATTENTION:: | |
| This is work-in-progress to adapt and organize the existing shell/bash based plumbing from multiple F4PGA repositories. | |
| Therefore, it's still a *pre-alpha* and the codebase, commands and flows are subject to change. | |
| It is strongly suggested not to rely on Python F4PGA until this note is updated/removed. | |
| References | |
| ========== | |
| * :gh:`chipsalliance/fpga-tool-perf#390@issuecomment-1023487178 <chipsalliance/fpga-tool-perf/pull/390#issuecomment-1023487178>` | |
| * :ghsharp:`2225` | |
| * :ghsharp:`2371` | |
| * :ghsharp:`2455` | |
| * `F4PGA GSoC 2022 project ideas: Generalization of wrapper scripts for installed F4PGA toolchain and making them OS agnostic <https://github.com/f4pga/ideas/blob/master/gsoc-2022-ideas.md#generalization-of-wrapper-scripts-for-installed-f4pga-toolchain-and-making-them-OS-agnostic>`__ | |
| * :gh:`FuseSoc <olofk/fusesoc>` | :gh:`Edalize <olofk/edalize>` | |
| * `Electronic Design Automation Abstraction (EDA²) <https://edaa-org.github.io/>`__ |