diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..b2cb7fa --- /dev/null +++ b/.gitmodules @@ -0,0 +1,45 @@ +# sky90fd_fd_pr +[submodule "libraries/sky90fd_fd_pr/latest"] + path = libraries/sky90fd_fd_pr/latest + url = https://github.com/google/skywater-pdk-libs-sky90fd_fd_pr.git + branch = main + shallow = true + +# sky90fd_fd_sc_mcu7t5v0 +[submodule "libraries/sky90fd_fd_sc_mcu7t5v0/latest"] + path = libraries/sky90fd_fd_sc_mcu7t5v0/latest + url = https://github.com/google/skywater-pdk-libs-sky90fd_fd_sc_mcu7t5v0.git + branch = main + shallow = true + +# sky90fd_fd_sc_mcu9t5v0 +[submodule "libraries/sky90fd_fd_sc_mcu9t5v0/latest"] + path = libraries/sky90fd_fd_sc_mcu9t5v0/latest + url = https://github.com/google/skywater-pdk-libs-sky90fd_fd_sc_mcu9t5v0.git + branch = main + shallow = true + +# sky90fd_fd_bd_sram +[submodule "libraries/sky90fd_fd_bd_sram/latest"] + path = libraries/sky90fd_fd_bd_sram/latest + url = https://github.com/google/skywater-pdk-libs-sky90fd_fd_bd_sram.git + branch = main + shallow = true + +# sky90fd_fd_io +[submodule "libraries/sky90fd_fd_io/latest"] + path = libraries/sky90fd_fd_io/latest + url = https://github.com/google/skywater-pdk-libs-sky90fd_fd_io.git + branch = main + shallow = true + +# sky90fd_fd_ip_sram +[submodule "macros/sky90fd_fd_ip_sram/latest"] + path = macros/sky90fd_fd_ip_sram/latest + url = https://github.com/google/skywater-pdk-ip-sky90fd_fd_ip_sram.git + branch = main + shallow = true + +[submodule "third_party/open-source-pdks"] + path = third_party/open-source-pdks + url = https://github.com/google/open-source-pdks.git diff --git a/CODE_OF_CONDUCT.rst b/CODE_OF_CONDUCT.rst new file mode 100644 index 0000000..ef1ddcd --- /dev/null +++ b/CODE_OF_CONDUCT.rst @@ -0,0 +1,9 @@ +This project follows the `Google Open Source Community +Guidelines `__. + +A copy of these guidelines can be found locally in this repository at +`docs/open-source-pdks/code-of-conduct.rst <./docs/open-source-pdks/code-of-conduct.rst>`__. + +A copy of these guidelines are also `included in the published +documentation `__ +located at https://gf180mcu-pdk.rtfd.io. diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst new file mode 100644 index 0000000..0aec1e6 --- /dev/null +++ b/CONTRIBUTING.rst @@ -0,0 +1,6 @@ +Guidelines for contributing can be found locally in this repository at +`docs/open-source-pdks/contributing.rst <./docs/open-source-pdks/contributing.rst>`__. + +A copy of these guidelines are also `included in the published +documentation `__ +located at https://gf180mcu-pdk.rtfd.io. diff --git a/README.rst b/README.rst new file mode 100644 index 0000000..cab3dc6 --- /dev/null +++ b/README.rst @@ -0,0 +1,155 @@ +SkyWater SKY90FD Open Source PDK +================================ + +.. image:: https://img.shields.io/github/license/google/sky90fd-pdk + :alt: GitHub license - Apache 2.0 + :target: https://github.com/google/sky90fd-pdk + +.. image:: https://readthedocs.org/projects/sky90fd-pdk/badge/?version=latest&style=flat + :alt: ReadTheDocs Badge - https://sky90fd-pdk.rtfd.io + :target: https://sky90fd-pdk.rtfd.io + +.. image:: https://img.shields.io/github/v/tag/google/sky90fd-pdk?include_prereleases&sort=semver + :alt: Latest GitHub tag (including pre-releases) + :target: https://gitHub.com/google/sky90fd-pdk/commit/ + +.. image:: https://img.shields.io/github/commits-since/google/sky90fd-pdk/v0.0.0 + :alt: GitHub commits since latest release (v0.0.0) + :target: https://gitHub.com/google/sky90fd-pdk/commit/ + +The SKY90FD Open Source PDK is a collaboration between Google and SkyWater Technology Foundry to provide a fully open source `Process Design Kit `_ and related resources, which can be used to create manufacturable designs at SkyWater’s facility on their new 90nm FDSOI process technology. + +The SKY90FD Open Source PDK documentation can be found at . + +.. image:: docs/_static/sky90fd-pdk-logo.png + :alt: Google + SkyWater Logo Image + :align: center + :target: https://github.com/google/sky90fd-pdk + :width: 80% + +.. |current-status| replace:: **Experimental Preview** + +Current Status -- |current-status| +================================== + +.. current_status_text + +*Warning* + Google and SkyWater are currently treating the current content as an **experimental preview** / **alpha release**. + + +Google, SkyWater and our partners are currently doing internal validation and test designs, including silicon validation or the released data and plan to publish these results. + +The PDK will be tagged with a production version when ready to do production design, see the "`Versioning Information `_" section for a full description of the version numbering scheme. + +To get notified about future new releases of the PDK, and other important news, please sign up on the +`sky90fd-pdk-announce mailing list `_ +[`join link `_]. + +See both the `Known Issues `_ section and the `SKY90FD PDK GitHub issue list `_ to get more detailed information around currently known issues. + +Resources +========= + +The latest design resources can be viewed at the following locations: + +* `On Github @ google/sky90fd-pdk `_ +* `Google CodeSearch interface @ https://cs.opensource.google/sky90fd-pdk `_ +* `foss-eda-tools.googlesource.com/sky90fd-pdk `_ + +SKY90FD Process Node +==================== + +The SKY90-FD is a 90nm FDSOI process. Unlike a traditional CMOS BULK process, SKY90-FD features a thin layer of insulator material between the substrate and the upper silicon layer. This thin oxide process allows the transistor to be significantly thinner than in the BULK process, allowing the device to be “fully depleted,” and simplifying the fabrication process. This extra insulation greatly reduces parasitic current leakage and lowers junction capacitances, providing improved speed and power performance under various environmental conditions. + +The SKY90FD Process node technology stack consists of; + +* 5 layers of copper interconnect +* 2 layers of aluminum interconnect + +If your needs extend beyond the standard included functionality in the `SKY90FD Process Node`_, please see `Contacting SkyWater`_ as they specializes in enabling production volume of process customization include `the addition of specialized materials like Nb, Ge, V2O5, Carbon Nanotubes `_. Google and SkyWater continuing to explore new options to be included in the `SKY90FD Open Source PDK`_ and `SKY90FD Process Node`_ that enable new innovative solutions to traditional design problems. + + +Typical usages of 130nm Process Nodes +------------------------------------- + + +Prerequisites +============= + +At a minimum: + +- Git 2.35+ +- Python 3.6+ + +On Ubuntu, simply +------------------ + +``apt install -y build-essential virtualenv python3`` + +Building the documentation +========================== + +To build documentation locally, you could use the following commands: + +.. code:: bash + + # Download the repository + git clone https://github.com/google/sky90fd-pdk.git + cd sky90fd-pdk/docs + + # Create a Python virtual environment and install requirements into it. + virtualenv env --python=python3 + . env/activate + pip install -r requirements.txt + + # Build the documentation + make html + +Support +======= + +Like many open source projects there are multiple ways to get support on the SKY90FD PDK. + +SkyWater has created a Market Partner Ecosystem to be able to provide support from design through back end package and test. If you are interested in getting additional support through the ASIC development process, reach out to SkyWater using the information in the `Contacting SkyWater`_ section below. + +There is also a `users mailing list `_ [`join link `_] to allow like minded users of the PDK to provide support to each other. + +Google does not provide external support for using the SkyWater Open Source PDK and is distributing this repository on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the license_ section for the full terms. + + +About SkyWater Technology Foundry +================================= + +SkyWater is a solely U.S.-based and U.S.-owned, DoD-accredited, Trusted Foundry. Through its Technology Foundry model, SkyWater provides custom design and development services, design IP, and volume manufacturing for integrated circuits and micro devices. The Company’s world-class operations and unique processing capabilities enable mixed-signal CMOS, power, rad-hard and ROIC solutions. SkyWater’s Innovation Engineering Services empower development of superconducting and 3D ICs, along with carbon nanotube, photonic and MEMS devices. SkyWater serves customers in growing markets such as aerospace & defense, automotive, cloud & computing, consumer, industrial, IoT and medical. For more information, please visit: www.skywatertechnology.com/. + +SkyWater is building from a long heritage in the microelectronics industry. The SkyWater facility was originally established by Minnesota based Control Data Corporation (CDC) in the 1980s. The CDC fab was acquired by Cypress Semiconductor in 1991. During the Cypress era, the facility was expanded and upgraded multiple times, keeping pace with Moore's Law into the late 2000s and was known for being a US-based production facility that was competitive with Asian-based fabs. SkyWater spun-off from Cypress in 2017 with private equity backing from Minnesota based Oxbow Industries. + +Contacting SkyWater +------------------- +Requests for more information about SKY130 and other standard and customer foundry technologies can be emailed to or `submitted via this webform `_. + + +License +======= + +The SKY90FD Open Source PDK is released under the `Apache 2.0 license `_. + +The copyright details (which should also be found at the top of every file) are; + +:: + + Copyright 2022 SkyWater PDK Authors + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 0000000..265cd7f --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1,3 @@ +_build +venv +env diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 0000000..ab73e06 --- /dev/null +++ b/docs/Makefile @@ -0,0 +1,39 @@ +# SPDX-FileCopyrightText: 2022 Efabless Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 + +# The top directory where environment will be created. +DOCS_DIR := $(dir $(lastword $(MAKEFILE_LIST))) +TOP_DIR := $(realpath $(DOCS_DIR)/..) + +# You can set these variables from the command line, and also +# from the environment for the first two. +SPHINXOPTS ?= -j auto +SPHINXBUILD = sphinx-build +SPHINXAUTOBUILD = sphinx-autobuild +SPHINXPROJ = gf180mcuPDK +SOURCEDIR = $(DOCS_DIR) +BUILDDIR = $(DOCS_DIR)/_build + +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +.PHONY: help Makefile + +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/docs/_static/favicon/android-chrome-144x144.png b/docs/_static/favicon/android-chrome-144x144.png new file mode 100644 index 0000000..df14761 Binary files /dev/null and b/docs/_static/favicon/android-chrome-144x144.png differ diff --git a/docs/_static/favicon/apple-touch-icon-precomposed.png b/docs/_static/favicon/apple-touch-icon-precomposed.png new file mode 100644 index 0000000..e44a461 Binary files /dev/null and b/docs/_static/favicon/apple-touch-icon-precomposed.png differ diff --git a/docs/_static/favicon/apple-touch-icon.png b/docs/_static/favicon/apple-touch-icon.png new file mode 100644 index 0000000..c571540 Binary files /dev/null and b/docs/_static/favicon/apple-touch-icon.png differ diff --git a/docs/_static/favicon/browserconfig.xml b/docs/_static/favicon/browserconfig.xml new file mode 100644 index 0000000..bad8da3 --- /dev/null +++ b/docs/_static/favicon/browserconfig.xml @@ -0,0 +1,9 @@ + + + + + + #00aba9 + + + diff --git a/docs/_static/favicon/favicon-16x16.png b/docs/_static/favicon/favicon-16x16.png new file mode 100644 index 0000000..4a8be67 Binary files /dev/null and b/docs/_static/favicon/favicon-16x16.png differ diff --git a/docs/_static/favicon/favicon-32x32.png b/docs/_static/favicon/favicon-32x32.png new file mode 100644 index 0000000..53a0bfb Binary files /dev/null and b/docs/_static/favicon/favicon-32x32.png differ diff --git a/docs/_static/favicon/favicon.ico b/docs/_static/favicon/favicon.ico new file mode 100644 index 0000000..75cce6d Binary files /dev/null and b/docs/_static/favicon/favicon.ico differ diff --git a/docs/_static/favicon/html_code.html b/docs/_static/favicon/html_code.html new file mode 100644 index 0000000..d4ddfc6 --- /dev/null +++ b/docs/_static/favicon/html_code.html @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/docs/_static/favicon/mstile-150x150.png b/docs/_static/favicon/mstile-150x150.png new file mode 100644 index 0000000..335cf4a Binary files /dev/null and b/docs/_static/favicon/mstile-150x150.png differ diff --git a/docs/_static/favicon/safari-pinned-tab.svg b/docs/_static/favicon/safari-pinned-tab.svg new file mode 100644 index 0000000..2aa83a4 --- /dev/null +++ b/docs/_static/favicon/safari-pinned-tab.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/_static/favicon/site.webmanifest b/docs/_static/favicon/site.webmanifest new file mode 100644 index 0000000..d37a37a --- /dev/null +++ b/docs/_static/favicon/site.webmanifest @@ -0,0 +1,13 @@ +{ + "name": "", + "short_name": "", + "icons": [ + { + "src": "/_static/favicon/android-chrome-144x144.png", + "sizes": "144x144", + "type": "image/png" + } + ], + "theme_color": "#ffffff", + "background_color": "#ffffff" +} diff --git a/docs/_static/skywater-favicon.png b/docs/_static/skywater-favicon.png new file mode 100644 index 0000000..5c09b97 Binary files /dev/null and b/docs/_static/skywater-favicon.png differ diff --git a/docs/_static/skywater-logo.svg b/docs/_static/skywater-logo.svg new file mode 100644 index 0000000..dc9598e --- /dev/null +++ b/docs/_static/skywater-logo.svg @@ -0,0 +1,58 @@ + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/docs/_static/skywater-pdk-logo.png b/docs/_static/skywater-pdk-logo.png new file mode 100644 index 0000000..3c3c3bc Binary files /dev/null and b/docs/_static/skywater-pdk-logo.png differ diff --git a/docs/_templates/relbar.html b/docs/_templates/relbar.html new file mode 100644 index 0000000..19b4db1 --- /dev/null +++ b/docs/_templates/relbar.html @@ -0,0 +1,12 @@ +{% extends '!relbar.html' %} + +{%- block extralinks -%} +{{ super() }} + +
  • business SkyWater
  • +
  • precision_manufacturing Shuttle Program
  • +
  • chat_bubble Chat
  • +
  • campaignAnnouncements
  • +
  • mail Mailing List
  • + +{%- endblock -%} diff --git a/docs/code-of-conduct.rst b/docs/code-of-conduct.rst deleted file mode 100644 index ce5665d..0000000 --- a/docs/code-of-conduct.rst +++ /dev/null @@ -1,67 +0,0 @@ -Google Open Source Community Guidelines -======================================= - -At Google, we recognize and celebrate the creativity and collaboration -of open source contributors and the diversity of skills, experiences, -cultures, and opinions they bring to the projects and communities they -participate in. - -Every one of Google's open source projects and communities are inclusive -environments, based on treating all individuals respectfully, regardless -of gender identity and expression, sexual orientation, disabilities, -neurodiversity, physical appearance, body size, ethnicity, nationality, -race, age, religion, or similar personal characteristic. - -We value diverse opinions, but we value respectful behavior more. - -Respectful behavior includes: - -- Being considerate, kind, constructive, and helpful. -- Not engaging in demeaning, discriminatory, harassing, hateful, - sexualized, or physically threatening behavior, speech, and imagery. -- Not engaging in unwanted physical contact. - -Some Google open source projects `may -adopt `__ -an explicit project code of conduct, which may have additional detailed -expectations for participants. Most of those projects will use our -`modified Contributor -Covenant `__. - -Resolve peacefully ------------------- - -We do not believe that all conflict is necessarily bad; healthy debate -and disagreement often yields positive results. However, it is never -okay to be disrespectful. - -If you see someone behaving disrespectfully, you are encouraged to -address the behavior directly with those involved. Many issues can be -resolved quickly and easily, and this gives people more control over the -outcome of their dispute. If you are unable to resolve the matter for -any reason, or if the behavior is threatening or harassing, report it. -We are dedicated to providing an environment where participants feel -welcome and safe. - -Reporting problems ------------------- - -Some Google open source projects may adopt a project-specific code of -conduct. In those cases, a Google employee will be identified as the -Project Steward, who will receive and handle reports of code of conduct -violations. In the event that a project hasn’t identified a Project -Steward, you can report problems by emailing opensource@google.com. - -We will investigate every complaint, but you may not receive a direct -response. We will use our discretion in determining when and how to -follow up on reported incidents, which may range from not taking action -to permanent expulsion from the project and project-sponsored spaces. We -will notify the accused of the report and provide them an opportunity to -discuss it before any action is taken. The identity of the reporter will -be omitted from the details of the report supplied to the accused. In -potentially harmful situations, such as ongoing harassment or threats to -anyone's safety, we may take action without notice. - -*This document was adapted from the `IndieWeb Code of -Conduct `__ and can also be found -at https://opensource.google/conduct/.* diff --git a/docs/conf.py b/docs/conf.py new file mode 100644 index 0000000..e473844 --- /dev/null +++ b/docs/conf.py @@ -0,0 +1,289 @@ +# -*- coding: utf-8 -*- +# Copyright 2022 SkyWater PDK Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 + +# +# Configuration file for the Sphinx documentation builder. +# +# This file does only contain a selection of the most common options. For a +# full list see the documentation: +# http://www.sphinx-doc.org/en/master/config + +# -- Path setup -------------------------------------------------------------- + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +# +import docutils +import os +import re +# import sys +# sys.path.insert(0, os.path.abspath('.')) + + +# -- Project information ----------------------------------------------------- + +project = 'SkyWater SKY90FD PDK' +copyright = '2022, SkyWater PDK Authors' +author = 'SkyWater PDK Authors' + +# The short X.Y version +version = '' +# The full version, including alpha/beta/rc tags +release = '' + + +# -- General configuration --------------------------------------------------- + +# If your documentation needs a minimal Sphinx version, state it here. +# +# needs_sphinx = '1.0' + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = [ + 'sphinx.ext.autodoc', + 'sphinx.ext.autosectionlabel', + 'sphinx.ext.githubpages', + 'sphinx.ext.ifconfig', + 'sphinx.ext.mathjax', + 'sphinx.ext.napoleon', + 'sphinx.ext.todo', +] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The suffix(es) of source filenames. +# You can specify multiple suffix as a list of string: +# +# source_suffix = ['.rst', '.md'] +source_suffix = '.rst' + +# The master toctree document. +master_doc = 'index' + +# Enable github links when not on readthedocs +on_rtd = os.environ.get('READTHEDOCS', None) == 'True' +if not on_rtd: + html_context = { + "display_github": True, # Integrate GitHub + "github_user": "google", # Username + "github_repo": "sky90fd-pdk", # Repo name + "github_version": "main", # Version + "conf_py_path": "/docs/", + } +else: + docs_dir = os.path.abspath(os.path.dirname(__file__)) + print("Docs dir is:", docs_dir) + import subprocess + subprocess.call('git fetch origin --unshallow', cwd=docs_dir, shell=True) + subprocess.check_call('git fetch origin --tags', cwd=docs_dir, shell=True) + +# The version info for the project you're documenting, acts as replacement for +# |version| and |release|, also used in various other places throughout the +# built documents. +# +# The full version, including alpha/beta/rc tags. +release = re.sub('^v', '', os.popen('git describe ').read().strip()) +# The short X.Y version. +version = release + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +# +# This is also used if you do content translation via gettext catalogs. +# Usually you set "language" from the command line for these cases. +language = 'en' + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This pattern also affects html_static_path and html_extra_path. +exclude_patterns = [ + '_build', + 'env', + 'venv', + 'Thumbs.db', + '.DS_Store', +] + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = None + +# -- Options for HTML output ------------------------------------------------- + +# Prefix each section label with the name of the document it is in, followed by +# a colon. For example, index:Introduction for a section called Introduction +# that appears in document index.rst. Useful for avoiding ambiguity when the +# same section heading appears in different documents. +#autosectionlabel_prefix_document = True + + +# -- Options for HTML output ------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# +html_theme = "sphinx_symbiflow_theme" + +html_logo = "_static/sky90fd-pdk-logo-top.png" + +# Theme options are theme-specific and customize the look and feel of a theme +# further. For a list of options available for each theme, see the +# documentation. +# https://sphinx-symbiflow-theme.readthedocs.io/en/latest/customization.html +html_theme_options = { + 'nav_title': 'SkyWater SKY90FD PDK', + + 'color_primary': 'orange', + 'color_accent': 'teal', + + # Set the repo location to get a badge with stats + 'github_url': 'https://github.com/google/sky90fd-pdk', + 'repo_name': 'sky90fd-pdk', + 'repo_type': 'github', + + 'globaltoc_depth': 0, + 'globaltoc_collapse': True, + + # Hide the symbiflow links + 'hide_symbiflow_links': True, + 'license_url' : 'https://www.apache.org/licenses/LICENSE-2.0', +} + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] + +# Custom sidebar templates, must be a dictionary that maps document names +# to template names. +# +# The default sidebars (for documents that don't match any pattern) are +# defined by theme itself. Builtin themes are using these templates by +# default: ``['localtoc.html', 'relations.html', 'sourcelink.html', +# 'searchbox.html']``. + +# -- Options for HTMLHelp output --------------------------------------------- + +# Output file base name for HTML help builder. +htmlhelp_basename = 'sky90fd-pdk-doc' + + +# -- Options for LaTeX output ------------------------------------------------ + +latex_elements = { + # The paper size ('letterpaper' or 'a4paper'). + # + # 'papersize': 'letterpaper', + + # The font size ('10pt', '11pt' or '12pt'). + # + # 'pointsize': '10pt', + + # Additional stuff for the LaTeX preamble. + # + # 'preamble': '', + + # Latex figure (float) alignment + # + # 'figure_align': 'htbp', +} + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, +# author, documentclass [howto, manual, or own class]). +latex_documents = [ + ( + # source start file + master_doc, + # target name + 'sky90fd-pdk.tex', + # title + 'SkyWater SKY90FD PDK Documentation', + # author + author, + # document class + 'manual', + ), +] + +# -- Options for manual page output ------------------------------------------ + +# One entry per manual page. List of tuples +# (source start file, name, description, authors, manual section). +man_pages = [ + ('sky90fd-pdk', 'SkyWater 90nm FDSOI PDK Documentation', + [author], 1) +] + + +# -- Options for Texinfo output ---------------------------------------------- + +# Grouping the document tree into Texinfo files. List of tuples +# (source start file, target name, title, author, +# dir menu entry, description, category) +texinfo_documents = [ + ( + # source start file + master_doc, + # target name + 'sky90fd-pdk', + # title + 'SkyWater SKY90FD PDK Documentation', + # author + author, + # dir menu entry + 'SkyWater SKY90FD PDK', + # description + 'Documentation for open source PDK targetting SkyWater SKY90FD process node.', + # category + 'Miscellaneous', + ), +] + +# -- Options for Epub output ------------------------------------------------- + +# Bibliographic Dublin Core info. +epub_title = project + +# The unique identifier of the text. This can be a ISBN number +# or the project homepage. +# +# epub_identifier = '' + +# A unique identification for the text. +# +# epub_uid = '' + +# A list of files that should not be packed into the epub file. +epub_exclude_files = ['search.html'] + +# Enable the figures and numbers +numfig = True + +# -- Extension configuration ------------------------------------------------- + +# -- Options for todo extension ---------------------------------------------- + +# If true, `todo` and `todoList` produce output, else they produce nothing. +todo_include_todos = True + + +def setup(app): + app.add_css_file('extra.css') diff --git a/docs/contributing.rst b/docs/contributing.rst deleted file mode 100644 index 4604acb..0000000 --- a/docs/contributing.rst +++ /dev/null @@ -1,33 +0,0 @@ -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. - -Contributor License Agreement ------------------------------ - -Contributions to this project must be accompanied by a Contributor -License Agreement. You (or your employer) retain the copyright to your -contribution; this simply gives us permission to use and redistribute -your contributions as part of the project. Head over to -https://cla.developers.google.com/ to see your current agreements on -file or to sign a new one. - -You generally only need to submit a CLA once, so if you've already -submitted one (even if it was for a different project), you probably -don't need to do it again. - -Code reviews ------------- - -All submissions, including submissions by project members, require -review. We use GitHub pull requests for this purpose. Consult `GitHub -Help `__ for more -information on using pull requests. - -Community Guidelines --------------------- - -This project follows `Google's Open Source Community -Guidelines `__. diff --git a/docs/index.rst b/docs/index.rst new file mode 100644 index 0000000..ac00f83 --- /dev/null +++ b/docs/index.rst @@ -0,0 +1,25 @@ + +*************************************************** +Welcome to SkyWater 90nm FDSOI PDK's documentation! +*************************************************** + +.. toctree:: + :hidden: + + open-source-pdks/index + +.. warning:: + This documentation is currently a **work in progress**. + +.. image:: _static/sky90fd-pdk-logo.png + :align: center + :alt: SkyWater 90nm FDSOI PDK Logo Image. + + +Current Status -- |current-status| +================================== + +.. include:: status + :start-after: current_status_text + + diff --git a/docs/open-source-pdks b/docs/open-source-pdks new file mode 120000 index 0000000..e96c7b8 --- /dev/null +++ b/docs/open-source-pdks @@ -0,0 +1 @@ +../third_party/open-source-pdks/docs \ No newline at end of file diff --git a/docs/requirements.txt b/docs/requirements.txt new file mode 100644 index 0000000..1a35547 --- /dev/null +++ b/docs/requirements.txt @@ -0,0 +1,7 @@ +git+https://github.com/f4pga/sphinx_f4pga_theme#egg=sphinx-symbiflow-theme + +docutils +sphinx +sphinx-autobuild +sphinxcontrib-wavedrom + diff --git a/docs/status.rst b/docs/status.rst new file mode 100644 index 0000000..a4c8c19 --- /dev/null +++ b/docs/status.rst @@ -0,0 +1,10 @@ +Current Status -- |current-status| +================================== + +.. current_status_text + +.. warning:: + Google and SkyWater have yet to release the PDK, the current content are subject to change and considered an **experimental preview** / **alpha release**. + +The PDK will be tagged with a production version when ready to do production design, see the ":ref:`Versioning Information`" section for a full description of the version numbering scheme. + diff --git a/third_party/open-source-pdks b/third_party/open-source-pdks new file mode 160000 index 0000000..fd509b9 --- /dev/null +++ b/third_party/open-source-pdks @@ -0,0 +1 @@ +Subproject commit fd509b924cb902dd0650d04889a95072040144ee