diff --git a/docs/community.rst b/docs/community.rst index fe95999..50d3dd3 100644 --- a/docs/community.rst +++ b/docs/community.rst @@ -1,4 +1,70 @@ Community ######### -*TBC* +`FOSS Flows For FPGA (F4PGA) `__ project is a `Workgroup `__ +under the `CHIPS Alliance `__. +The F4PGA Workgroup consists of members from different backgrounds, including FPGA vendors +(`Xilinx `__ +and `QuickLogic `__), +industrial users +(`Google `__ +and `Antmicro `__) +and academia +(`University of Toronto `__), +who collaborate to build a more open source and software-driven FPGA ecosystem (IP, tools and workflows) to drive the +adoption of FPGAs in existing and new use cases, and eliminate barriers of entry. + +Communication +============= + +* `Twitter [@f4pga] `__ + +* `Slack [chipsalliance.slack.com] `__ + + .. TIP:: + To register to CHIPS Alliance Slack workspace, use the following `Slack Invite `__. + +* `IRC [irc.libera.chat/#F4PGA] `__ + +* `Mailing list [lists.chipsalliance.org/g/f4pga-wg] `__ + +Souces +====== + +* `github.com/chipsalliance `__ + +* `github.com/F4PGA `__ + +.. _Contributing: + +Contributing +============ + +Are you interested in helping this project move forward? +F4PGA is a collaborative project and we welcome your contributions. +The code is available on GitHub, while the HTML documentation is available on Read The Docs. +There are multiple areas and technologies we need help with - reach out to us, we're sure we will find something for you. + +* Do you know **Python**? + Almost all scripts are written in Python! + +* Do you know **C++**? + VPR & nextpnr & libraries written in C++! + +* Do you know **TCL**? + All the EDA tools use TCL! + +* Do you know **(System) Verilog**, **VHDL**, **Chisel**, **Migen** and/or **Amaranth**? + Simulation and models are written in Hardware Description Languages (HDLs)! + +* Do you know **XML**? + Most file formats are XML! + +* Do you know English? + Documentation is written in English! + +* Do you know **Docker** and/or **Podman**? + Help make it easier to set up F4PGA! + +* Do you have time? + We will find you a task! diff --git a/docs/getting-started.rst b/docs/getting-started.rst index 06338e4..6044653 100644 --- a/docs/getting-started.rst +++ b/docs/getting-started.rst @@ -3,4 +3,4 @@ Getting started *TBC* -* For developers ➚ +* `For developers ➚ `__ diff --git a/docs/how.rst b/docs/how.rst index 3c99637..c9fc6b6 100644 --- a/docs/how.rst +++ b/docs/how.rst @@ -1,6 +1,30 @@ How it works ############ +The F4PGA toolchain consists of logic synthesis and implementation tools, as well as chip documentation projects for +chips of various vendors. +To prepare a working bitstream for a particular FPGA chip, the toolchain goes through the following stages: + +* First, a description of the FPGA chip is created with the information from the relevant bitstream documentation + project. + This part is done within the `F4PGA Architecture Definitions `__. + The project prepares information about the timings and resources available in the chip needed at the implementation + stage, as well as techmaps for the synthesis tools. + +* The second step is logic synthesis. + It is carried out in the Yosys framework, which expresses the input Verilog file by means of the block and connection + types available in the chosen chip. + +* The next step is implementation. + Placement and routing tools put individual blocks from the synthesis description in the specific chip locations and + create paths between them. + To do that, F4PGA uses either `nextpnr `__ or `Verilog to Routing `__. + +* Finally, the design properties are translated into a set of features available in the given FPGA chip. + These features are saved in the `fasm format `__, which is developed as part of + F4PGA. + The fasm file is then translated to bitstream using the information from the bitstream documentation projects. + EDA Tooling Ecosystem =====================