Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Installation, Quickstart Guide and Sphynx Overhaul #1259

Merged
merged 111 commits into from
Sep 6, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
111 commits
Select commit Hold shift + click to select a range
dc1c353
Added contribution to docs page.
armleo Jun 15, 2022
e8fae7b
Added docker installation steps
armleo Jun 15, 2022
2c51062
Added successful package requirement sinstallation screenshot
armleo Jun 15, 2022
8c1b21f
Added animated check for versions
armleo Jun 16, 2022
0656912
Installation steps updated with TODOs
armleo Jun 16, 2022
56037eb
Added asciinema to contributiong_to_docs.rst
armleo Jun 17, 2022
e31ac24
Updated contributing to docs
armleo Jun 17, 2022
5d6d98e
Changes
armleo Jun 17, 2022
6f61bb1
Removed asciinema
armleo Jun 21, 2022
7ff70f9
Significant updates to the screenshots. Added last step in installati…
armleo Jun 22, 2022
cb15afc
Work in progress for quickstart.rst
armleo Jun 23, 2022
6b0af4b
replaced root doc to docs/source/index.rst
armleo Jun 23, 2022
c00bb29
Changed root in custom extensions to docs/source/index.rst
armleo Jun 23, 2022
c2b8525
Updated quickstart from warning and better wording.
armleo Jun 23, 2022
58000bf
Updated usage of environment
armleo Jun 23, 2022
2a80077
Added index page and TOC
armleo Jun 23, 2022
5458579
New documentation structure merge
armleo Jun 23, 2022
68ae788
More fixing of TOC structure and warnings
armleo Jun 23, 2022
8f7cb95
Fixed index.rst
armleo Jun 23, 2022
c6578a0
Added most of the documentation to TOC and fixed titles
armleo Jun 23, 2022
759c5ad
Quckistart, first steps complete
armleo Jun 24, 2022
00ed839
Handing over the tutorial to Nimra
armleo Jun 24, 2022
1c1c3cf
Minor cleanup before merge
armleo Jul 2, 2022
6750b20
Most cleanup done
armleo Jul 2, 2022
e3002c2
Removed references to non existing files
armleo Jul 2, 2022
eb0a823
Updated wording on installation.rst
armleo Jul 2, 2022
6974d72
Spell check: Done
armleo Jul 2, 2022
082b56b
Better header structure
armleo Jul 2, 2022
e4e30d0
Skywater130 -> sky130
armleo Jul 2, 2022
4a03e0b
Sky130 naming fixed
armleo Jul 2, 2022
4df1374
Added code block issues debuging
armleo Jul 2, 2022
66c9709
Merged based on latest changes
armleo Jul 3, 2022
232246e
Merged configuration.md
armleo Jul 3, 2022
8bc6a0d
WIP for full guide
armleo Jul 3, 2022
ee11eaa
WIP for full guide v2
armleo Jul 6, 2022
43665d1
Merged merge window to master
armleo Jul 6, 2022
abda218
Mergeing index.rst
armleo Jul 6, 2022
0fa6dc3
Updated installation steps withopening KLayout for spm.gds
armleo Jul 7, 2022
8024460
Updated the docs according to feedback
armleo Jul 7, 2022
5911322
Added references to RST/Sphinx
armleo Jul 7, 2022
976d5bf
Removed link to full guide
armleo Jul 7, 2022
c30ca75
Updated according to feedback
armleo Jul 8, 2022
fde55d3
Removed wrongfully added files
armleo Jul 8, 2022
2288f48
Updated contributing to docs to include info about index.rst.
armleo Jul 8, 2022
46a64e8
WIP for merge window 2
armleo Jul 9, 2022
6d6eca8
Full Guide WIP
armleo Jul 15, 2022
ca661ce
Full guide WIP 2
armleo Jul 18, 2022
2021c9c
Full guide WIP 3
armleo Jul 19, 2022
e149255
Added primitives and verfication decks section
armleo Jul 19, 2022
5cb64ae
Fixed the specification table; Added tech files seciton.
armleo Jul 19, 2022
fa10773
Separated digital guide from analog guide. Added nmos cross section.
armleo Jul 19, 2022
b97899c
Fixed the macro level vs chip level explaination;
armleo Jul 19, 2022
f2e1b0b
Added section about LVS and IC.
armleo Jul 20, 2022
7c69ad3
Added step for creating the NAND 4 transistors
armleo Jul 20, 2022
85e4681
WIP for Midterm
armleo Jul 21, 2022
8f52400
Installation ready for midterm feedback
armleo Jul 21, 2022
e2c2630
Made guide available in the ToC
armleo Jul 21, 2022
604412e
Fixed title underlines in installation
armleo Jul 21, 2022
f036eb9
Small phrasing changes to instalaltion
armleo Jul 21, 2022
d259a9d
Removed workflows documentation, hopefully the RTD build does not fail
armleo Jul 21, 2022
880e2c1
Replaced with MyST
armleo Jul 21, 2022
f6b962f
Better structure
armleo Jul 21, 2022
c87f8d6
Updated contributing to docs with Makefile targets
armleo Jul 21, 2022
6d5bd3b
Updated to fix the source command not found error
armleo Jul 24, 2022
09b0ae9
Removed some screenshots from installation
armleo Jul 24, 2022
35d2570
Removed last image from installation
armleo Jul 24, 2022
ee9be7a
Updated installation accroding to feedback
armleo Jul 24, 2022
bd4240d
Updated titles of installation
armleo Jul 24, 2022
8291d50
Added picture of the die.
armleo Jul 25, 2022
e824510
Analog guide WIP
armleo Jul 26, 2022
35831de
Updated installation to reflect that macOS does not require making do…
armleo Jul 26, 2022
1213633
my_nand:Ports wip
armleo Jul 27, 2022
48954dd
my_nand: ports done
armleo Jul 27, 2022
817ea01
Added info on misc cells like tap/dcap/filler
armleo Jul 27, 2022
bd51c5b
Added section about precheck and tech files
armleo Jul 28, 2022
b44589d
Analog Guide WIP
armleo Jul 29, 2022
fa19f4b
Separated theory from practical
armleo Jul 29, 2022
e5571d9
my_nand: Symbol creation. Testbench start
armleo Jul 29, 2022
83b0cb3
my_nand_tb: Added connections and cap load
armleo Jul 29, 2022
07935a1
my_nand_tb: TB wip
armleo Jul 30, 2022
d41d15d
Analog guide: added info on PVT and sim/netlisting
armleo Aug 1, 2022
66bc4bd
Simulation and waveforms finished
armleo Aug 1, 2022
368e22e
Measurements section WIP
armleo Aug 3, 2022
74bff98
Measurements done. TB, Sym, sch done. Starting layout
armleo Aug 4, 2022
7724dfe
Started layout section
armleo Aug 5, 2022
9ba0f3d
Manufacturing section WIP
armleo Aug 6, 2022
3792790
14 manuf. steps done.
armleo Aug 6, 2022
779f085
Manufacturing pictures completed
armleo Aug 7, 2022
5836f9f
Manufacturing steps done.
armleo Aug 7, 2022
4d2c88d
Fixed references
armleo Aug 7, 2022
96677ba
Added description of non mask layers
armleo Aug 7, 2022
2c930c6
Start of layout
armleo Aug 7, 2022
cc083c4
Layout WIP
armleo Aug 8, 2022
c51aab4
Preparations for merge window 3
armleo Aug 10, 2022
d3fd086
Temporary remove the unwanted files
armleo Aug 10, 2022
7f4ebd3
Removed references to non existant pages. Removed temporary unused de…
armleo Aug 10, 2022
9b7f38c
config.tcl/config.json wip
armleo Aug 10, 2022
b96bdc7
Merge remote-tracking branch 'upstream/master' into merge-window-3
armleo Aug 10, 2022
a72227e
Fixes in AUTHORS.md structure. Fixed contributing to docs.rst
armleo Aug 10, 2022
8f6242f
Fixed warnings. Draft of contributing to docs
armleo Aug 10, 2022
ca5f51e
Fixed copy paste mistake
armleo Aug 10, 2022
8a5baad
Removed unused pictures
armleo Aug 11, 2022
d26bb33
Newline missing readded
armleo Aug 11, 2022
680d39c
Create installation.rst
vijayank88 Aug 16, 2022
c8aa8a8
Update quickstart.rst
vijayank88 Aug 16, 2022
6c1e363
Update quickstart.rst
vijayank88 Aug 16, 2022
03aeb6e
Reverted warnings and notes formatting.
armleo Aug 18, 2022
9d82279
Merge remote-tracking branch 'upstream/master' into merge-window-3
armleo Aug 18, 2022
a81dca7
Merge remote-tracking branch 'upstream/master' into merge-window-3
armleo Aug 20, 2022
25c2ff1
Copywriting
donn Sep 6, 2022
0bc892f
Merge remote-tracking branch 'upstream/master' into merge-window-3
donn Sep 6, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .github/workflow-documentation.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
# Openlane CI/CD
# For developers: CI/CD
There are two primary flows: the pull request flow and the deployment flow.

The deployment flow occurs on a daily basis. The PR flow happens whenever someone creates a new Pull Request. PRs can be created by contributors or by an automated tool updater that runs on a schedule.

![A Diagram Of The Flow](./diagrams/flow.png)
* A maintainer cannot review their own code, but they can merge it after a review by another maintainer.

# Required Secrets
## Required Secrets
Repository secrets are used to protect certain credentials, but also as repository-dependent parameters for the CI.

## Common
### Common
| Secret | Description |
|---------------|---------------------------------------------------------------|
| `MAIN_BRANCH` | The main branch for OpenLane. Format: `main`|`master`|`etc` |
| `MY_TOKEN` | A token for a bot account that: 1. owns the fork for the tool update. 2. has write access to the volare repo to push newly-built PDKs to. |

## CI
### CI

| Secret | Description |
|---------------|---------------------------------------------------------------|
Expand All @@ -25,7 +25,7 @@ Repository secrets are used to protect certain credentials, but also as reposito
| `DOCKERHUB_PASSWORD` | The password/token for the given username that has push access to the organization that owns `DOCKER_IMAGE` on Docker Hub. |
| `VOLARE_OWNER`/`VOLARE_REPO` | (optional) A volare repo to cache builds in. In our case, `VOLARE_OWNER` would be `efabless` and `VOLARE_REPO` would be `volare`. |

## Tool Updater
### Tool Updater

| Secret | Description |
|---------------|---------------------------------------------------------------|
Expand Down
1 change: 1 addition & 0 deletions AUTHORS.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# Authors
Efabless Corporation is the principal author of this software for the purpose
of copyright. All binaries provided are also distributed by Efabless Corporation.

Expand Down
10 changes: 5 additions & 5 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# How to Contribute
We'd love to accept your patches and contributions to this project. There are just a few small guidelines you need to follow.

# Branching
## Branching
For various reasons, it's recommended to call working branches, even in your forks, something else other than `master` or `main`, as those two branch names do have some special behavior associated with them.

# Testing and Code Standards
## Testing and Code Standards
Before you submit your changes, it's prudent to perform some kind of smoke test. `make test` tests a simple spm design to ensure nothing has gone horribly wrong.

## Choice of Language
Expand Down Expand Up @@ -35,18 +35,18 @@ There are some special guidelines for scripts in `scripts/yosys`, `scripts/openr
* $DESIGN_DIR


# Submissions
## Submissions
Make your changes and then submit them as a pull requests to the `master` branch.

Consult [GitHub Help](https://help.github.com/articles/about-pull-requests/) for more information on using pull requests.

## The Approval Process
### The Approval Process
For a PR to be merged, there are two requirements:

- There are two automated checks, one for linting and the other for functionality. Both must pass.
- An OpenLane team member must inspect and approve the PR.

# Licensing and Copyright
## Licensing and Copyright
Please add you (or your employer's) copyright headers to any files to which you have made major edits.

Please note all code contributions must have the same license as OpenLane, i.e., the Apache License, version 2.0.
7 changes: 1 addition & 6 deletions conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,12 +41,9 @@
"markdown_cross_doc_section_links", # CUSTOM
"sphinx.ext.autosectionlabel",
"image_links", # CUSTOM
"toc_from_markdown", # CUSTOM
"myst_parser",
]

# Expand source suffixes

source_suffix = {
".rst": "restructuredtext",
".md": "markdown",
Expand Down Expand Up @@ -111,6 +108,4 @@
myst_heading_anchors = 3


def setup(app):
app.emit("create_index_softlink", "README.md", True)
app.emit("toc_from_markdown", "README.md", ".autotoc.rst", True)
root_doc = "index"
2 changes: 1 addition & 1 deletion docker/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# The OpenLane Docker Image
# For developers: Building the Docker Image
Note: You probably shouldn't be here.

## Structure
Expand Down
9 changes: 7 additions & 2 deletions docs/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -16,18 +16,23 @@
# Minimal makefile for Sphinx documentation
#

export SHELL=/bin/bash

# You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SPHINXBUILD ?= source ../venv/bin/activate && sphinx-build
SOURCEDIR = ..
BUILDDIR = _build

# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

.PHONY: help Makefile
.PHONY: help Makefile install

install:
source ../venv/bin/activate && python -m pip install -r requirements.txt

# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
Expand Down
125 changes: 0 additions & 125 deletions docs/_ext/toc_from_markdown.py

This file was deleted.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_static/installation/spm.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 3 additions & 3 deletions docs/source/chip_integration.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
**THIS PAGE IS STILL UNDER DEVELOPMENT.**
**THE INFORMATION HERE MIGHT BE PARTIALLY INCORRECT OR OUTDATED.**

# Chip Integration
# Chip Level Integration

Using openlane, you can produce a GDSII from a chip RTL.

Expand Down Expand Up @@ -131,7 +131,7 @@ When you use the `power_routing` command in the chip interactive script, the pow

[This][1] has a description for all OpenLane commands.

[0]: ./../../configuration/README.md
[0]: ./configuration.md
[1]: ./openlane_commands.md
[2]: ./advanced_readme.md
[3]: https://github.com/The-OpenROAD-Project/OpenROAD/blob/master/src/pdn/doc/PDN.md
Expand All @@ -140,6 +140,6 @@ When you use the `power_routing` command in the chip interactive script, the pow
[6]: https://github.com/efabless/caravel/blob/mpw-one-b/openlane/chip_io/padframe.cfg
[7]: ./../../scripts/topModuleGen/README.md
[8]: ./hardening_macros.md
[9]: https://github.com/efabless/openlane/tree/master/designs/manual_macro_placement_test
[9]: https://github.com/The-OpenROAD-Project/openlane/tree/master/designs/manual_macro_placement_test
[10]: ./advanced_power_grid_control.md
[11]: https://github.com/efabless/caravel/blob/mpw-one-b/openlane/caravel/interactive.lvs.tcl
2 changes: 1 addition & 1 deletion configuration/README.md → docs/source/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -287,4 +287,4 @@ These variables worked initially, but they were too sky130 specific and will be
| `QUIT_ON_LVS_ERROR` | Checks for LVS errors after netgen LVS is executed and exits the flow if any was found. 1 = Enabled, 0 = Disabled <br> (Default: `1`)|


[0]: ./../designs/spm/pin_order.cfg
[0]: ./../../../designs/spm/pin_order.cfg
Loading