A flake containing a collection of Nix derivations for EDA (Electronic Design Automation) utilities, curated by Efabless Corporation.
nix-eda is not affiliated with the NixOS Foundation or any of its affiliates.
We compile and cache the tools for the following platforms:
Platform | Nix System Name |
---|---|
Linux (x86_64) | x86_64-linux |
Linux (aarch64) | aarch64-linux |
macOS (x86_64) | x86_64-darwin |
macOS (arm64) | aarch64-darwin |
- Magic
- Netgen
- ngspice
- KLayout
- (+
.pymod
for Python module)
- (+
- [GDSFactory]
- (+
klayout-gdsfactory
as a shorthand for an environment with both installed)
- (+
- Surelog
- Verilator
- Xschem
- Yosys
- (+
.pyosys
for Python module) - (+ some plugins that can be accessed programmatically)
- (
yosysFull
for all plugins)
- (+
Before anything, if you haven't installed Nix using the OpenLane 2 documentation, make sure that:
- You have Nix installed.
- If not, see OpenLane 2's documentation on Nix-based installation linked above.
- If you already have Nix installed, you have enabled the experimental Nix
features
flakes
andnix-command
.- If not, see this this guide for more info.
- You have the OpenLane Cachix enabled.
- If not, see the "If you already have Nix set up…" portion of the Openlane 2 installation documentation linked above.
If you satisfy these conditions, you may use any of the tools by creating a Terminal shell with the tool as follows:
nix shell github:efabless/nix-eda#magic
then simply invoking magic
. If you correctly set up the OpenLane cachix, you
won't have to build anything, but if you didn't, your computer will attempt to
build it.
You may also create a shell with multiple tools as follows:
nix shell github:efabless/nix-eda#{magic,xschem}
To be documented, but you may refer to OpenLane 2 as an example of how to use this repository as a dependency. OpenLane 2 uses this repository in addition to a number of other tools to provide a full digital design environment.
Please note that the API for the functions provided in the Flake are not yet stable.
The Apache License, version 2.0. See 'License'.