Quick start¶
This guide walks you through installing FABulous, generating a fabric, and producing a bitstream in under five minutes. For detailed installation options see the Installation section.
1. Install FABulous¶
Install uv (if you don’t have it already), then install FABulous as a tool:
# Install uv (Linux/macOS)
curl -LsSf https://astral.sh/uv/install.sh | sh
# Install FABulous
uv tool install fabulous-fpga
If you already have pipx installed, pipx install fabulous-fpga works as well.
Verify the installation:
FABulous --version
Tip
See the Installation section for alternative methods (venv, Docker, Nix) and platform-specific instructions.
2. Install CAD tools¶
FABulous requires Yosys and nextpnr-generic for synthesis and place-and-route. The easiest way to install them is through the bundled installer:
FABulous install oss-cad-suite
This installs the OSS CAD Suite, which includes Yosys, nextpnr, simulators, and all other required tools. VHDL users will also get ghdl and the ghdl-yosys-plugin through this installer. For manual installation or more details, see CAD tool installation.
Warning
Do not use the latest nightly build of Yosys. Nightly builds after 29 June are not compatible with current FABulous and will fail. Install Yosys 0.66, or any build dated before 29 June, instead.
3. Create a project¶
FABulous create-project demo
This creates a demo/ directory with a default fabric definition and example user designs.
4. Generate fabric and bitstream¶
You can run the full flow either interactively or as a one-liner.
Option A – Interactive shell:
cd demo
FABulous start
Inside the FABulous shell:
fabulous> run_fab
FABulous> run_fab
FABulous> compile_design user_design/sequential_16bit_en.v
Option B – Command line (batch mode):
FABulous -p demo run "run_fab; compile_design user_design/sequential_16bit_en.v"
5. Check the outputs¶
After a successful run:
Tile RTL files are in
demo/Tile/Fabric RTL file is in
demo/Fabric/Bitstream is at
demo/user_design/sequential_16bit_en.binSynthesis and PnR logs are in
demo/user_design/
What’s next?¶
Building fabric – step-by-step fabric generation and customization
Fabric definition – how to define your own fabric architecture
Simulation – verify your generated fabric through simulation
Development setup – set up a development environment to contribute