From c71c8a164ee6f9e0595214946c74cfdca31ee1b2 Mon Sep 17 00:00:00 2001 From: chetanyagoyal Date: Wed, 12 Jun 2024 17:22:22 +0530 Subject: [PATCH 1/8] update readme --- README.rst | 60 ++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 42 insertions(+), 18 deletions(-) diff --git a/README.rst b/README.rst index d2d31a062..e5b990a5d 100644 --- a/README.rst +++ b/README.rst @@ -33,48 +33,72 @@ This project is led by a team of researchers at the University of Michigan and i :target: https://github.com/idea-fasoc/OpenFASOC/actions/workflows/cryo_gen.yml * **Glayout Generators -** - `Installation and Running `_ + `Installation and Running `_ + + `Opamp Notebook `_ + + `Via Notebook `_ + + `Current Mirror Notebook `_ Getting Started **************** +There are two methods to install the prerequisites to use OpenFASOC generators: + +1. Express Installation + + 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 -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. + For more info on getting-started, please refer to `"Getting Started" section's express install section `_ -.. code-block:: bash +2. Containerized Installation + + This method uses `Docker `_ to build a custom image, on top of which a container is created, in which the generators can be run. This allows the user to create a persistent snapshot of an environment where are tools are installed. **Note: If you do not have Docker Installed, refer to** `the instructions here `_ + + .. code-block:: bash - $ sudo ./dependencies.sh + $ cd docker/conda + $ sudo docker build -t . + $ cd ../.. + $ sudo docker run -v $(pwd):$(pwd) -w $(pwd) --name -it -For more info on getting-started, please refer to ["Getting Started" section ](https://openfasoc.readthedocs.io/en/latest/getting-started.html) + Where `` is the name that you want to tag the built image with and `` is the name of the container that will be run. This container will use the OpenFASOC directory as the working directory and bind mount it to the container's present working directory. -Below are the tool requirements along with their currently support versions that are updated regularly upon testing againsts the generators. +3. Manual Install - 1. `Magic `_ (version:8.3.464) + Below are the tool requirements along with their currently support versions that are updated regularly upon testing againsts the generators. - 2. `Netgen `_ (version:1.5.272) + 1. `Magic `_ (version:8.3.464) - 3. `Klayout `_ (version:0.28.17-1) + 2. `Netgen `_ (version:1.5.272) - - Please use this command to build preferably: `./build.sh -option '-j8' -noruby -without-qt-multimedia -without-qt-xml -without-qt-svg` + 3. `Klayout `_ (version:0.28.17-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.38+92) + 4. `Yosys `_ (version:0.38+92) - 5. `OpenROAD `_ (version:2.0_12381) - 6. `Open_pdks `_ (version:1.0.471) + 5. `OpenROAD `_ (version:2.0_12381) + + 6. `Open_pdks `_ (version:1.0.471) - - 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 + - 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 - 7. `Xyce `_ (version: 7.6) + 7. `Xyce `_ (version: 7.6) - - Once the Xyce installation is complete, please make sure to add Xyce binary to $PATH environment variable. + - 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. + - Python 3.10 is used in this generator. - All the required tools need to be loaded into the environment before running this generator. From 36400c8787508c6aa42b1106b71bd6ff5412112c Mon Sep 17 00:00:00 2001 From: chetanyagoyal Date: Wed, 12 Jun 2024 17:28:56 +0530 Subject: [PATCH 2/8] add glayout workflow links --- README.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.rst b/README.rst index e5b990a5d..a64130ebc 100644 --- a/README.rst +++ b/README.rst @@ -33,6 +33,12 @@ This project is led by a team of researchers at the University of Michigan and i :target: https://github.com/idea-fasoc/OpenFASOC/actions/workflows/cryo_gen.yml * **Glayout Generators -** + .. image:: https://github.com/idea-fasoc/OpenFASOC/blob/7dc5eb42cec94c02b74e72483df6fdc2b2603fb9/.github/workflows/glayout_sky130.yml/badge.svg + :target: https://github.com/idea-fasoc/OpenFASOC/blob/7dc5eb42cec94c02b74e72483df6fdc2b2603fb9/.github/workflows/glayout_sky130.yml + + .. image:: https://github.com/idea-fasoc/OpenFASOC/blob/7dc5eb42cec94c02b74e72483df6fdc2b2603fb9/.github/workflows/glayout_opamp_sim.yml/badge.svg + :target: https://github.com/idea-fasoc/OpenFASOC/blob/7dc5eb42cec94c02b74e72483df6fdc2b2603fb9/.github/workflows/glayout_opamp_sim.yml + `Installation and Running `_ `Opamp Notebook `_ From 6c04bd057457a447d499d343a5d748e8c8dd6999 Mon Sep 17 00:00:00 2001 From: chetanyagoyal Date: Wed, 12 Jun 2024 17:31:48 +0530 Subject: [PATCH 3/8] add glayout workflow links --- README.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.rst b/README.rst index a64130ebc..2b53e5819 100644 --- a/README.rst +++ b/README.rst @@ -33,11 +33,11 @@ This project is led by a team of researchers at the University of Michigan and i :target: https://github.com/idea-fasoc/OpenFASOC/actions/workflows/cryo_gen.yml * **Glayout Generators -** - .. image:: https://github.com/idea-fasoc/OpenFASOC/blob/7dc5eb42cec94c02b74e72483df6fdc2b2603fb9/.github/workflows/glayout_sky130.yml/badge.svg - :target: https://github.com/idea-fasoc/OpenFASOC/blob/7dc5eb42cec94c02b74e72483df6fdc2b2603fb9/.github/workflows/glayout_sky130.yml + .. image:: https://github.com/idea-fasoc/OpenFASOC/actions/workflows/glayout_sky130.yml/badge.svg + :target: https://github.com/idea-fasoc/OpenFASOC/actions/workflows/glayout_sky130.yml - .. image:: https://github.com/idea-fasoc/OpenFASOC/blob/7dc5eb42cec94c02b74e72483df6fdc2b2603fb9/.github/workflows/glayout_opamp_sim.yml/badge.svg - :target: https://github.com/idea-fasoc/OpenFASOC/blob/7dc5eb42cec94c02b74e72483df6fdc2b2603fb9/.github/workflows/glayout_opamp_sim.yml + .. image:: https://github.com/idea-fasoc/OpenFASOC/actions/workflows/glayout_opamp_sim.yml/badge.svg + :target: https://github.com/idea-fasoc/OpenFASOC/actions/workflows/glayout_opamp_sim.yml `Installation and Running `_ From 22a6679f7d51df13e4b8051a24b5e9c396f63517 Mon Sep 17 00:00:00 2001 From: chetanyagoyal Date: Wed, 12 Jun 2024 18:33:41 +0530 Subject: [PATCH 4/8] add glayout notebook links --- README.rst | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/README.rst b/README.rst index 2b53e5819..6c1579bf3 100644 --- a/README.rst +++ b/README.rst @@ -41,11 +41,17 @@ This project is led by a team of researchers at the University of Michigan and i `Installation and Running `_ - `Opamp Notebook `_ + Opamp Notebook + .. image:: https://colab.research.google.com/assets/colab-badge.svg + :target: https://github.com/idea-fasoc/OpenFASOC/blob/7dc5eb42cec94c02b74e72483df6fdc2b2603fb9/docs/source/notebooks/glayout/glayout_opamp.ipynb - `Via Notebook `_ + Via Notebook + .. image:: https://colab.research.google.com/assets/colab-badge.svg + :target: https://github.com/idea-fasoc/OpenFASOC/blob/7dc5eb42cec94c02b74e72483df6fdc2b2603fb9/docs/source/notebooks/glayout/GLayout_Via.ipynb - `Current Mirror Notebook `_ + Current Mirror Notebook + .. image:: https://colab.research.google.com/assets/colab-badge.svg + :target: https://github.com/idea-fasoc/OpenFASOC/blob/7dc5eb42cec94c02b74e72483df6fdc2b2603fb9/docs/source/notebooks/glayout/GLayout_Cmirror.ipynb Getting Started From 9d67038c923f9ead43558863620cd4983a30e33e Mon Sep 17 00:00:00 2001 From: chetanyagoyal Date: Wed, 12 Jun 2024 18:34:38 +0530 Subject: [PATCH 5/8] add glayout notebook links --- README.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.rst b/README.rst index 6c1579bf3..532f4bbf2 100644 --- a/README.rst +++ b/README.rst @@ -42,14 +42,17 @@ This project is led by a team of researchers at the University of Michigan and i `Installation and Running `_ Opamp Notebook + .. image:: https://colab.research.google.com/assets/colab-badge.svg :target: https://github.com/idea-fasoc/OpenFASOC/blob/7dc5eb42cec94c02b74e72483df6fdc2b2603fb9/docs/source/notebooks/glayout/glayout_opamp.ipynb Via Notebook + .. image:: https://colab.research.google.com/assets/colab-badge.svg :target: https://github.com/idea-fasoc/OpenFASOC/blob/7dc5eb42cec94c02b74e72483df6fdc2b2603fb9/docs/source/notebooks/glayout/GLayout_Via.ipynb Current Mirror Notebook + .. image:: https://colab.research.google.com/assets/colab-badge.svg :target: https://github.com/idea-fasoc/OpenFASOC/blob/7dc5eb42cec94c02b74e72483df6fdc2b2603fb9/docs/source/notebooks/glayout/GLayout_Cmirror.ipynb From 8819eccd9c4c2594f9eef4a3e8df35875695e49d Mon Sep 17 00:00:00 2001 From: chetanyagoyal Date: Wed, 12 Jun 2024 18:35:27 +0530 Subject: [PATCH 6/8] add glayout notebook links, newlines --- README.rst | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.rst b/README.rst index 532f4bbf2..d1a190073 100644 --- a/README.rst +++ b/README.rst @@ -33,14 +33,15 @@ This project is led by a team of researchers at the University of Michigan and i :target: https://github.com/idea-fasoc/OpenFASOC/actions/workflows/cryo_gen.yml * **Glayout Generators -** + + `Installation and Running `_ + .. image:: https://github.com/idea-fasoc/OpenFASOC/actions/workflows/glayout_sky130.yml/badge.svg :target: https://github.com/idea-fasoc/OpenFASOC/actions/workflows/glayout_sky130.yml .. image:: https://github.com/idea-fasoc/OpenFASOC/actions/workflows/glayout_opamp_sim.yml/badge.svg :target: https://github.com/idea-fasoc/OpenFASOC/actions/workflows/glayout_opamp_sim.yml - `Installation and Running `_ - Opamp Notebook .. image:: https://colab.research.google.com/assets/colab-badge.svg @@ -52,7 +53,7 @@ This project is led by a team of researchers at the University of Michigan and i :target: https://github.com/idea-fasoc/OpenFASOC/blob/7dc5eb42cec94c02b74e72483df6fdc2b2603fb9/docs/source/notebooks/glayout/GLayout_Via.ipynb Current Mirror Notebook - + .. image:: https://colab.research.google.com/assets/colab-badge.svg :target: https://github.com/idea-fasoc/OpenFASOC/blob/7dc5eb42cec94c02b74e72483df6fdc2b2603fb9/docs/source/notebooks/glayout/GLayout_Cmirror.ipynb From c474b53b2896db56bfcd03f4de7325094dd6de8b Mon Sep 17 00:00:00 2001 From: chetanyagoyal Date: Wed, 12 Jun 2024 18:42:41 +0530 Subject: [PATCH 7/8] glayout pypi installation instr --- README.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.rst b/README.rst index d1a190073..fdb5c4e4d 100644 --- a/README.rst +++ b/README.rst @@ -82,6 +82,7 @@ There are two methods to install the prerequisites to use OpenFASOC generators: $ sudo docker build -t . $ cd ../.. $ sudo docker run -v $(pwd):$(pwd) -w $(pwd) --name -it + $ pip install -r requirements.txt Where `` is the name that you want to tag the built image with and `` is the name of the container that will be run. This container will use the OpenFASOC directory as the working directory and bind mount it to the container's present working directory. @@ -116,7 +117,7 @@ There are two methods to install the prerequisites to use OpenFASOC generators: - Python 3.10 is used in this generator. - All the required tools need to be loaded into the environment before running this generator. - + - Glayout is now available as a `python package `_ and can be installed using `pip install glayout` Generators From 978839205df8a68fe84c8f3130972b039184c2e4 Mon Sep 17 00:00:00 2001 From: chetanyagoyal Date: Wed, 12 Jun 2024 18:45:42 +0530 Subject: [PATCH 8/8] fix generator table --- README.rst | 40 +++++++++++++++++++++++++--------------- 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/README.rst b/README.rst index fdb5c4e4d..dae226e73 100644 --- a/README.rst +++ b/README.rst @@ -123,21 +123,31 @@ There are two methods to install the prerequisites to use OpenFASOC generators: 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/glayout/tapeout/tapeout_and_RL/README.md | -| | gf180 | | | -+------------------------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------+ +.. list-table:: + :widths: 30 20 20 30 + :header-rows: 1 + + * - Generator + - Technology nodes + - Supported + - Documentation + * - Temperature Sensor + - sky130hd + - Yes + - `Temperature Sensor Docs `_ + * - Low dropout Voltage Regulator (LDO) + - sky130hvl + - Yes + - `LDO Voltage Regulator Docs `_ + * - Cryogenic + - sky130hs, sky130hd, sky130hvl + - No (In-progress) + - `Cryogenic Docs `_ + * - Glayout + - sky130, gf180 + - Yes + - `Glayout Docs `_ + Tapeouts and testing setup