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

Test PR with faulty gds #5

Closed
wants to merge 9 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
Empty file.
Empty file.
Binary file added ExampleDesign/design_data/gds/test_layout.gds
Binary file not shown.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
2 changes: 2 additions & 0 deletions ExampleDesign/doc/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
build/
build.log
39 changes: 39 additions & 0 deletions ExampleDesign/doc/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Minimal makefile for Sphinx documentation
#

# You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?= -j auto -w build.log
SPHINXBUILD ?= sphinx-build
SOURCEDIR = source
BUILDDIR = build

.DEFAULT_GOAL := docs

#docs: clean setup build display
docs: clean build display


.ONESHELL:
clean:
@rm -rf $(BUILDDIR)
@rm -rf build.log

build:
@$(SPHINXBUILD) -M "html" "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
# 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)


.ONESHELL:
display:
@cd $(BUILDDIR)/html
@xdg-open index.html
2 changes: 2 additions & 0 deletions ExampleDesign/doc/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
sphinx==7.1.2
sphinx-rtd-theme==1.3.0rc1
Binary file added ExampleDesign/doc/source/_static/IHP_logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
35 changes: 35 additions & 0 deletions ExampleDesign/doc/source/conf.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Configuration file for the Sphinx documentation builder.

# -- Project information

project = 'Amazing Design'
copyright = '2024, IHP Open PDK'
author = 'Amazing Design Authors'

release = '0.1'
version = '0.1.0'

# -- General configuration

extensions = [
'sphinx.ext.duration',
'sphinx.ext.doctest',
'sphinx.ext.autodoc',
'sphinx.ext.autosummary',
'sphinx.ext.intersphinx',
]

intersphinx_mapping = {
'python': ('https://docs.python.org/3/', None),
'sphinx': ('https://www.sphinx-doc.org/en/master/', None),
}
intersphinx_disabled_domains = ['std']

templates_path = ['_templates']

# -- Options for HTML output

html_theme = 'sphinx_rtd_theme'

# -- Options for EPUB output
epub_show_urls = 'footnote'
6 changes: 6 additions & 0 deletions ExampleDesign/doc/source/designdata.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
Design data and design process description
############################################


Document the design process here and comment on the design data.

21 changes: 21 additions & 0 deletions ExampleDesign/doc/source/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@

********************************************************
Welcome to Amazing Design Open Source PDK documentation!
********************************************************


.. toctree::
:hidden:

specification
designdata
validation

.. warning::
This documentation is currently a **work in progress**.

.. image:: _static/IHP_logo.png
:align: center
:alt: IHP Logo Image.
:width: 400

6 changes: 6 additions & 0 deletions ExampleDesign/doc/source/specification.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
Specification of the Amazing Design
###################################


Provide your specification here. Consider comparison with other stat of an art designs.

6 changes: 6 additions & 0 deletions ExampleDesign/doc/source/validation.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
Validation of the Amazing Design
#################################


Document the measurement results here.

Empty file added ExampleDesign/val/readme.md
Empty file.
91 changes: 90 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,91 @@
# TO_Nov2024
IHP Open source SG13G2 Tape Out on November 2024 [Testfield <TBD>]

The TO_NOV repository is dedicated to the submission of open-source designs based on the IHP 130nm BiCMOS Open Source PDK, specifically for the November 2024 edition of the IHP OpenMPW program. In the future, this repository will be integrated as a submodule within the `IHP-Open-DesignLib` repository.

ReadTheDocs documentation for IHP-Open-DesignLib is [here](https://ihp-open-ip.readthedocs.io/en/latest/)

## Submission process

Make a fork of this repository and then push your data to it, then make a pull request.

> [!CAUTION]
> On each PR a github action will be triggered to run a minimal DRC precheck (rejection test). Please consider it and do not upload many `gds` files.

Once you make a PR a github action will run a minimum set of DRC checks on each `gds` and `gds.zip` file.
If the test passes it means that your design is manufacturable at our pilot line not ensuring the reliability.
An example of a failure is shown on the follwoing figure
![drc fail](drc/failure.png)

> [!TIP]
> The DRC rejecttion test supports `gds` and `gds.zip` files. In a case of a large file (> 50 MB) you can split the `zip` file and upload multiple `zip` files. On linux you can perform it using the following command:

```
zip -s 50m -r file.gds.zip output_folder/
```




## Directory structure

If you are a designer, we propose the following directory structure, which we and the community would appreciate you using. Please ensure that the design you submit is reproducible, meaning it should include all the information necessary to replicate the design.


```text
📁<design_name>
┣ 📁design_data
┃ ┗ 📁tool1/format1/step1
┃ ┗ data
┃ ┗ 📁tool2/format2/setep2
┃ ┗ data
┣ 📁doc
┃ ┣ 📜specification
┃ ┣ ...
┗ 📁val <- validation/verification >
```
The first segmentation separates the `design data` from a `documentation` and `verification/validation data`.

### Design data directory structure

The `design data` should be structured using tool/format/step specific scheme.

Here you can find some examples:

Example1
```
📁design_data
┗ 📁xschem
┗ 📁ngspice
┗ 📁klayout
┗ 📁drc
┗ 📁lvs
┗ 📁gds
```
Example2
```
📁design_data
┗ 📁verilog
┗ 📁sdc
┗ 📁lef
┗ 📁gds
┗ 📁lib
┗ 📁drc
┗ 📁lvs
┗ 📁reports
┗ 📁log
```
### Documentation

In the `doc` folder the designer should provide the documentation. The best option would be any markdown language compatible with `sphinx` and thus ReadTheDocs system. It would make it easy to create a central point for documentation in the `IHP-Open-DesignLib` repository.
We also provide a basic template for the documentation in the `ExampleDesign/doc` directory. To use it execute the following:
```
cd ExampleDesign
pip install -r requirements.txt
make docs
```
Go to `source` directory to modify the `rst` files.

### Verification/validation data

Since one of the principal goals of the OpenMPW runs is a creation of a silicon proven designs we epect from the designers to measure and validate the submitted design and then open source measurements results.
This directory at the moment of the submission is only a placeholder for future measurments data. A report frm the measurements can be part of the documentation.
Binary file added drc/failure.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading