Skip to content

Fully Open Source FASOC generators built on top of OpenROAD

License

Notifications You must be signed in to change notification settings

gkielian/OpenFASOC

 
 

Repository files navigation

OpenFASoC

OpenFASoC: Fully Open-Source Autonomous SoC Synthesis using Customizable Cell-Based Synthesizable Analog Circuits

https://readthedocs.org/projects/openfasoc/badge/?version=latest

OpenFASOC is focused on open-source automated analog generation from user specification to GDSII with fully open-sourced tools. This project is led by a team of researchers at the University of Michigan and is inspired by FASoC, that sits on proprietary tools. (See more about FaSoC at website)

  • Temperature sensor -
  • LDO -
  • Cryogenic -

Getting Started

Install all the prerequisites using the dependencies.sh script provided in the home location of this project (where this README.rst file is found). Supports CentOS7, Ubuntu 20.04 LTS and Ubuntu 22.04 LTS.

$ sudo ./dependencies.sh

For more info on getting-started, please refer to ["Getting Started" section ](https://openfasoc.readthedocs.io/en/latest/getting-started.html)

Below are the tool requirements along with their currently support versions that are updated regularly upon testing againsts the generators.

  1. Magic (version:8.3.445)

  2. Netgen (version:1.5.262)

  3. Klayout (version:0.28.12-1)

    • Please use this command to build preferably: ./build.sh -option '-j8' -noruby -without-qt-multimedia -without-qt-xml -without-qt-svg
  4. Yosys (version:0.35+7)

  5. OpenROAD (version:2.0_10905)

  6. Open_pdks (version:1.0.286)

  • open_pdks is required to run drc/lvs check and the simulations
  • After open_pdks is installed, please update the open_pdks key in common/platform_config.json with the installed path, down to the sky130A folder
  1. Xyce (version: 7.6)
  • Once the Xyce installation is complete, please make sure to add Xyce binary to $PATH environment variable.

Other notice:

  • Python 3.7 is used in this generator.
  • All the required tools need to be loaded into the environment before running this generator.

Generators

Generator Technology nodes Supported Documentation
Temperature Sensor sky130hd Yes https://openfasoc.readthedocs.io/en/latest/flow-tempsense.html
Low dropout Voltage Regulator (LDO) sky130hvl Yes https://openfasoc.readthedocs.io/en/latest/flow-ldo.html
Cryogenic sky130hs, sky130hd, sky130hvl No (In-progress) https://openfasoc.readthedocs.io/en/latest/flow-cryo.html
GDSFactory sky130hd No (In-progress) https://openfasoc.readthedocs.io/en/latest/flow-ldo.html

Tapeouts and testing setup

Please refer to our testing setup in our tapeouts and testing setup section.

GDS Factory Documentation

Currently scripts automatically populate ~/.bashrc with exports.

Steps to begin GDS Factory Gen are:

source ~/miniconda3/bin/activate conda activate base bash dependencies.sh pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu cd openfasoc/generators/gdsfactory-gen python3 -m pip install -r requirements.txt python sky130_nist_tapeout.py gen_opamp —output_gds test.gds python sky130_nist_tapeout.py test —output_dir test_output_dir

Citation

If you find this tool useful in your research, we kindly request to cite our papers:

About

Fully Open Source FASOC generators built on top of OpenROAD

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 38.3%
  • Tcl 26.4%
  • SourcePawn 18.6%
  • Makefile 9.7%
  • Verilog 4.2%
  • SystemVerilog 1.4%
  • Other 1.4%