Skip to main content

FPGA Assembly (FASM) Parser and Generation library

This is a fork of chipsalliance/fasm, adapted for use in the FABulous flow. The original repository is no longer actively maintained.

This fork removes the ANTLR-based C++ parser that was present in the original. The original library shipped two parsers — a fast C++/ANTLR parser and a pure Python textX fallback — and would print a confusing runtime warning whenever ANTLR was not installed. Since FABulous only needs the textX parser and the ANTLR build required cmake, Java, and native libraries, the C++ parser has been removed entirely to keep installation simple and warning-free.

This repository documents the FASM file format and provides parsing libraries and simple tooling for working with FASM files using a pure Python parser based on textx.

Installation

pip install FABulous-fasm

Development

pip install -e ".[dev]"
pytest tests/

Documentation

FPGA Assembly (FASM)

FPGA Assembly is a file format designed by the F4PGA Project developers to provide a plain text file format for configuring the internals of an FPGA.

It is designed to allow FPGA place and route to not care about the actual bitstream format used on an FPGA.

FASM Ecosystem Diagram

Properties

  • Removing a line from a FASM file leaves you with a valid FASM file.
  • Allow annotation with human readable comments.
  • Allow annotation with "computer readable" comments.
  • Has syntactic sugar for expressing memory / lut init bits / other large arrays of data.
  • Has a canonical form.
  • Does not require any specific bitstream format.

Supported By

FASM is currently supported by the F4PGA Verilog to Routing fork, but we hope to get it merged upstream sometime soon.

It is also used by Project X-Ray.

Metadata

Release files for FABulous-fasm 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for FABulous-fasm 0.2.0
File Size Uploaded
fabulous_fasm-0.2.0.tar.gz 78.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for FABulous-fasm 0.2.0
File Interpreter ABI Platform
fabulous_fasm-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 151.1 kB

Release files / fabulous_fasm-0.2.0.tar.gz

Download URL fabulous_fasm-0.2.0.tar.gz
Size 78.9 kB
Tags Source
SHA-256 checksum
How to use checksums
082c883615b1aef99c17c73e6b52593c716e233fff3088d2e5e5ef0eb8a05929
BLAKE2b-256 checksum
How to use checksums
6862865565db82da4fc627aa96d67f99a923b25181838b24f0d04a80acb8b455
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 31, 2026.

Transparency log

Release files / fabulous_fasm-0.2.0-py3-none-any.whl

Download URL fabulous_fasm-0.2.0-py3-none-any.whl
Size 72.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d9f0f24fb1158dcd7b57da62ba2478cf3a8323dbae83fe5d7bf3e05fac74bbf4
BLAKE2b-256 checksum
How to use checksums
70e27e0491c5c2b07cfe60f7bccc30e2f10342bd8371f72b08accba9709de94b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 31, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page