Free Silicon Foundation
Welcome to the official Codeberg repository of the Free Silicon Foundation.
Our projects on Codeberg
1) Packaging of EDA tools with GNU Guix
- Repo:
fsi/guix - Purpose: make EDA and open-silicon tooling reproducible, auditable, and easy to share (transactions, rollbacks, controlled dependency graphs).
See the dedicated section below for instructions on how to get started with using and/or contributing.
2) EDA toolchain directory
- Repo:
fsi/toolchain-directory - Purpose: a curated cartography of open-source EDA tools and related infrastructure (scope, licensing, maturity, interoperability notes), to maintain an overview of existing (and missing) tools in the free EDA ecosystem.
3) Chip design and EDA thesis database
- Database front-page: https://wiki.f-si.org/theses/
- Repo for the filtering pipeline:
fsi/thesis-filtering-pipeline - Purpose: classify and curate theses/publications relevant to chip design and EDA (topic tagging, relevance scoring, indexing).
GNU Guix packaging
As we are not official maintainers of official GNU Guix repository we forked the repository and we contribute to it. From our repository we create pull requests to the official maintainers. Accepted packages become part of the mainstream Guix packages and are available from the guix search <package> and <guix install <package> command line. We have several packages which are not yet in the mainstream repository, but which are ready to be used/tested as explained below.
Quick start
Install Guix on your system:
There are two options:
Option 1: Install Guix with the official installation script
This option provides the most recent version of Guix (important e.g. for packaging work). The commands below will install Guix on top of an existing GNU/Linux distribution (for more details see the official documentation):
cd /tmp
wget https://guix.gnu.org/guix-install.sh
chmod +x guix-install.sh
./guix-install.sh
Option 2: Install Guix with the package manager of GNU/Linux distribution
For example, in Debian/Ubuntu:
sudo apt-get update
sudo apt-get install guix
Pull and update:
guix pull
Discover existing packages in mainstream Guix:
guix search <keyword>
guix show <package-name>
Or search packages in a browser:
Install packages:
guix install <package-name>
Alternatively, enter a shell with some packages. Does not install the packages globally.
guix shell <package-name-1> <...>
Packages we contributed upstream (snapshot)
- klayout
- magic
- python-liberty-parser
- python-pyspice
- lctime
- gdstk
- python-gdstk
- ... work in progress
Tools packaged by F-Si but not upstream yet (snapshot)
Work in progress
- See milestone 46868
Contributing to Guix packaging
Contributions are welcome. You can contribute by providing feedback, by suggesting new tools to be packaged, and by packaging EDA tools directly.
For direct contact, write to guix'at'f-si.org.
For packaging efforts we suggest you contribute to the mainstream GNU Guix repository, create a new branch and submit a pull request by following the official packaging guidelines.
Acknowledgments
Part of this work was co-funded by the Swiss State Secretariat for Education, Research and Innovation (SERI) under the NGI0 Commons Fund project. The NGI0 Commons Fund has received funding from the European Union’s Horizon Europe research and innovation programme under grant agreement No. 101135429.