Home

Awesome

OSS CAD Suite

linux-x64 darwin-x64 windows-x64

linux-arm64 darwin-arm64

Introduction

OSS CAD Suite is a binary software distribution for a number of open source software used in digital logic design. You will find tools for RTL synthesis, formal hardware verification, place & route, FPGA programming, and testing with support for HDLs like Verilog, Migen, and Amaranth.

OSS CAD Suite is a component of YosysHQ's Tabby CAD Suite:
image
See Tabby CAD Datasheet for details on Tabby CAD Suite; see OSS CAD Suite GitHub (this page) for details on OSS CAD Suite.

RTL Synthesis

Did you know that the Tabby CAD version of yosys supports industry standard SystemVerilog, VHDL and SVA? Contact us at contact@yosyshq.com to arrange a free evaluation license.

Plugins

Formal Tools

PnR (Place and Route)

FPGA board programming tools

Simulation/Testing

Support libraries

Installation

  1. Download an archive matching your OS from the releases page.
  2. Extract the archive to a location of your choice (for Windows it is recommended that path does not contain spaces)
  3. On macOS to allow execution of quarantined files xattr -d com.apple.quarantine oss-cad-suite-darwin-x64-yyymmdd.tgz on downloaded file, or run: ./activate in extracted location once.
  4. Set the environment as described below.

Linux and macOS

export PATH="<extracted_location>/oss-cad-suite/bin:$PATH"

# or

source <extracted_location>/oss-cad-suite/environment

Linux and macOS (fish shell)

fish_add_path "<extracted_location>/oss-cad-suite/bin"

# or

source <extracted_location>/oss-cad-suite/environment.fish

Windows

from existing CMD prompt:
<extracted_location>\oss-cad-suite\environment.bat

to create new CMD prompt:
<extracted_location>\oss-cad-suite\start.bat

NOTE: when environment is set, python3 from package becomes available as well, this enables usage of Migen and Amaranth HDL and LiteX libraries scripts as usual. When OSS CAD Suite is just added in PATH to use packaged python3 use tabbypy3 to start python environment. For Windows, there are no wrappers and using environment.bat is only choice.

Using LiteX

We provide you with Python 3.11 and all required software to be able to use LiteX. After activating environment it is possible to perform installation same as usual:

mkdir -p litex
cd litex
wget https://raw.githubusercontent.com/enjoy-digital/litex/master/litex_setup.py
python3 litex_setup.py init
python3 litex_setup.py install

Supported Architectures

linux-x64

Any personal Linux based computer should just work; no additional packages need to be installed on the system to make OSS CAD Suite work. Distributed libraries are based on Ubuntu 20.04, but everything is packaged in such a way so it can be used on any Linux distribution.

darwin-x64

Any macOS 12.00 or later with Intel CPU should use this distribution package.

darwin-arm64

Any macOS 12.00 or later with M1/M2 CPU should use this distribution package.

windows-x64

This architecture is supported for Windows 10 and 11.

linux-arm64

ARM64 based Linux devices using 64bit CPU as in Raspberry Pi 4,5 and 400 (with 64bit version of OS installed), and also laptops like the MNT Reform 2 can use this distribution package.

Contributing

To be able to build OSS CAD Suite yourself, you need to install docker (please note this only works on x64 platforms) and python 3.6 or higher, with the click library.

After that just running ./builder.py should work fine.

To build default build:

./builder.py build 

To skip update of source code, you can always:

./builder.py build --no-update

To build specific target and architecture:

./builder.py build --target=yosys --arch=linux-arm64

Alternatives

If your project is primarily written in Python (using tools such as Amaranth or LiteX), and you only need synthesis and PnR tools, you might find YoWASP more suited to your needs since it allows managing installation and versioning of these tools in the same way as any other Python package dependencies.