PDKMaster based PDK for open source IHP SG13G2 process
Project description
This is the Chips4Makers' PDK for the SG13G2 open source PDK.
Versions
- v0.0.4:
- Fix for wrongly connected guard ring in sg13g2_IOPadVdd
- Don't try to extract modified ESD diodes as ESD diodes but extract them as regular d(p)antenna diodes
- Use minimum width of 0.48µm for diodes, this is new rule not yet present in design rules.
- v0.0.3:
- Critical fix sg13g2_IOPadVdd
- Improved generation of all the files for upstreaming
- v0.0.2: build infrastructure and dependencies update; no major code changes but KLayout PCell lib support added.
- v0.0.1: First public release; main achievement is that code can generate a version of the IO library ready for upstreaming to IHP-Open-PDK.
It can also generate standard cells but these have not been used yet in P&R.
Alpha Version of Code
This is an alpha version of the IHP SG13G2 PDK, if it breaks you need to keep the pieces. E.g. hiccups are still expected when using this code base. For further discussion you can use the Chips4Makers matrix channel. Certainly interested to be made aware about usage of this project.
Pypi release
A version of this library is also released on PyPI. Currently this release is not expected to be of much use on it's own. Plan is to evolve this PyPI release onto a state the installation of it together with it's dependencies is enough to do P&R for IHP SG13G2.
Project Arrakeen subproject
This project is part of Chips4Makers' project Arrakeen. It shares some common guide lines and regulations:
- Contributing.md
- LICENSE.md: license of release code
- LICENSE_rationale.md
Development
Dependencies
Most of the dependencies are handled by pdm and will this be taken care of when following the pdm setup below. Only dependency that is not handled by that is ngspice as that tool does not have a python package available yet. The current simulations performed for the docs are only tested with ngspice version 42 with osdi models installed. Following procedure was used on local Linux development machine to get ngspice installed:
- Compiled ngspice version 42 with default options (this includes osdi support for this latest version). Both the command as the shared library were compiled. The shared library is needed by
PySpice
and needs to be in default library search path or theNGSPICE_LIBRARY_PATH
has to be set pointing to the ngspice shared library. - Download nightly version of the OpenVAF compiler.
- Compiled the VA-Models with the downloaded OpenVAF compiler.
- Copied the osdi models over into the ngspice installation directory and updated the
spinit
file to automatically load these osdi models on start-up. The IHP MOS simulation models use the PSP compact models that are provided in this way. The simulation setup assumes that these models are available in ngspice.
If you encounter difficulties in setting this up don't hesitate to contact the Chips4Makers matrix channel.
Git Submodules Setup
This code uses git submodules and these submodules need to be initialized before pdm can be set up. This can be done by adding the --recursive
option to the git clone
command or using later on by using the command git submodule update --init
when it was not done during check-out. When pulling new versions of the main branch or switching between branches also a git submodule update
may be necessary to also switch to the proper version of the submodules.
Pdm Setup
Pdm is used for python package dependency management and python package building. Please use the pdm install
command to install the dependencies as was last used on the development machine. pdm clean
can be used to do a clean-up. The actual setup for pdm is done in the pyproject.toml
file.
Doit targets
Doit is used for build task setup and execution; the pdm doit
command is to be used to call the doit
command in an environment with the proper dependencies present. Doit can execute tasks in parallel by using the -n N
option where N
is the maximum number of parallel tasks. You do a pdm doit list
to get a list of all the tasks defined in the dodo.py
file. Highlight of some higher level tasks defined:
tarball
: will run most of the tasks as dependency of that task and then generate a tarball in thetarballs
subdirectory of the generated open PDK.patch4upstream
: will also run most tasks and then create a patch on top the dev branch in the theupstream/IHP-Open-PDK
git submodule.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file c4m_pdk_ihpsg13g2-0.0.4.tar.gz
.
File metadata
- Download URL: c4m_pdk_ihpsg13g2-0.0.4.tar.gz
- Upload date:
- Size: 36.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 593a4b74a865458f2df67fbcda8a39de6c403927d7e7da337c7e70744cdcafe5 |
|
MD5 | d36435263e9c1042afc7b5199a3a8b80 |
|
BLAKE2b-256 | 8437e44c9647565e83f50322901abb4e64bf00aa56bf509ed3c9d4834050001d |
File details
Details for the file c4m_pdk_ihpsg13g2-0.0.4-py3-none-any.whl
.
File metadata
- Download URL: c4m_pdk_ihpsg13g2-0.0.4-py3-none-any.whl
- Upload date:
- Size: 44.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f9a27f6ff2a9910c5d7e536e492d0c503f8e0f64cbc23e0fd9e417dbd23c7a0b |
|
MD5 | e59bbc494b8cd939951fbfe71123287d |
|
BLAKE2b-256 | 7d96b4f48f853b9b07a7bd46a771d2e67843f58c77dcac6a17d89fb246e16b84 |