OpenFASoC
OpenFASoC: Fully Open-Source Autonomous SoC Synthesis using Customizable Cell-Based Synthesizable Analog Circuits
.. image:: https://readthedocs.org/projects/openfasoc/badge/?version=latest :target: https://openfasoc.readthedocs.io/en/latest/?badge=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 <https://fasoc.engin.umich.edu/>_)
-
Temperature sensor - .. image:: https://github.com/idea-fasoc/OpenFASOC/actions/workflows/tempSense_sky130hd.yml/badge.svg :target: https://github.com/idea-fasoc/OpenFASOC/actions/workflows/tempSense_sky130hd.yml
.. image:: https://github.com/idea-fasoc/OpenFASOC/actions/workflows/verify_latest_tools_versions.yml/badge.svg :target: https://github.com/idea-fasoc/OpenFASOC/actions/workflows/verify_latest_tools_versions.yml
.. image:: https://colab.research.google.com/assets/colab-badge.svg :target: https://colab.research.google.com/github/idea-fasoc/OpenFASOC/blob/main/docs/source/notebooks/temp-sense-gen/temp_sense_genCollab.ipynb
-
LDO - .. image:: https://github.com/idea-fasoc/OpenFASOC/actions/workflows/ldo_sky130hvl.yml/badge.svg :target: https://github.com/idea-fasoc/OpenFASOC/actions/workflows/ldo_sky130hvl.yml
.. image:: https://colab.research.google.com/assets/colab-badge.svg :target: https://colab.research.google.com/github/idea-fasoc/OpenFASOC/blob/main/docs/source/notebooks/ldo-gen/LDO_notebook.ipynb
-
Cryogenic - .. image:: https://github.com/idea-fasoc/OpenFASOC/actions/workflows/cryo_gen.yml/badge.svg :target: https://github.com/idea-fasoc/OpenFASOC/actions/workflows/cryo_gen.yml
-
Glayout Generators -
Installation and Running <https://github.com/idea-fasoc/OpenFASOC/tree/main/openfasoc/generators/gdsfactory-gen/tapeout_and_RL/README.md>_
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.
.. code-block:: bash
$ sudo ./dependencies.sh
For more info on getting-started, please refer to "Getting Started" section
Below are the tool requirements along with their currently support versions that are updated regularly upon testing againsts the generators.
-
Magic <https://github.com/RTimothyEdwards/magic>_ (version:8.3.453) -
Netgen <https://github.com/RTimothyEdwards/netgen>_ (version:1.5.264) -
Klayout <https://github.com/KLayout/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
- Please use this command to build preferably:
-
Yosys <https://github.com/The-OpenROAD-Project/yosys>_ (version:0.36+8) -
OpenROAD <https://github.com/The-OpenROAD-Project/OpenROAD>_ (version:2.0_10905) -
Open_pdks <https://github.com/RTimothyEdwards/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.jsonwith the installed path, down to the sky130A folder
Xyce <https://github.com/Xyce/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, | No (In-progress) | https://openfasoc.readthedocs.io/en/latest/flow-cryo.html |
| | sky130hd, | | |
| | sky130hvl | | |
+------------------------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------+
| Glayout | sky130, | Yes | https://github.com/idea-fasoc/OpenFASOC/tree/main/openfasoc/generators/gdsfactory-gen/tapeout_and_RL/README.md |
| | gf180 | | |
+------------------------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------+
Tapeouts and testing setup
Please refer to our testing setup in our tapeouts and testing setup section <https://github.com/idea-fasoc/openfasoc-tapeouts>_.
Citation
If you find this tool useful in your research, we kindly request to cite our papers:
-
Tutu Ajayi et al., "
An Open-source Framework for Autonomous SoC Design with Analog Block Generation <https://ieeexplore.ieee.org/document/9344104>_," 2020 IFIP/IEEE 28th International Conference on Very Large Scale Integration (VLSI-SOC), 2020, pp. 141-146. -
Qirui Zhang et al., "
An Open-Source and Autonomous Temperature Sensor Generator Verified With 64 Instances in SkyWater 130 nm for Comprehensive Design Space Exploration <https://ieeexplore.ieee.org/abstract/document/9816083>_," in IEEE Solid-State Circuits Letters, vol. 5, pp. 174-177, 2022.
Metadata
Release files for OpenFASoC 0.0.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| OpenFASoC-0.0.4.tar.gz | 84.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| OpenFASoC-0.0.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 193.9 kB
Release files / OpenFASoC-0.0.4.tar.gz
| Download URL | OpenFASoC-0.0.4.tar.gz |
|---|---|
| Size | 84.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
72439979628aea59ee63c2c54f6cc9a46567e4b97e6498d863e189e676ee20a4
|
|
BLAKE2b-256 checksum How to use checksums |
dc27f356cd8284445744f236e57a45641b15bb91d40947fd425ad2d9a2ed1e84
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.11.8
|
Release files / OpenFASoC-0.0.4-py3-none-any.whl
| Download URL | OpenFASoC-0.0.4-py3-none-any.whl |
|---|---|
| Size | 109.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ae15a512d4c71efc61f02e87894b4849e7501086f673629a2f862907801acfea
|
|
BLAKE2b-256 checksum How to use checksums |
e46ab3b268cdeed82eb523c1bffd3eeb3122c4459db282d3373001c68a0e05a4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.11.8
|