Skip to main content

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:

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 the NGSPICE_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 the tarballs subdirectory of the generated open PDK.
  • patch4upstream: will also run most tasks and then create a patch on top the dev branch in the the upstream/IHP-Open-PDK git submodule.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

c4m_pdk_ihpsg13g2-0.0.4.tar.gz (36.2 kB view details)

Uploaded Source

Built Distribution

c4m_pdk_ihpsg13g2-0.0.4-py3-none-any.whl (44.0 kB view details)

Uploaded Python 3

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

Hashes for c4m_pdk_ihpsg13g2-0.0.4.tar.gz
Algorithm Hash digest
SHA256 593a4b74a865458f2df67fbcda8a39de6c403927d7e7da337c7e70744cdcafe5
MD5 d36435263e9c1042afc7b5199a3a8b80
BLAKE2b-256 8437e44c9647565e83f50322901abb4e64bf00aa56bf509ed3c9d4834050001d

See more details on using hashes here.

File details

Details for the file c4m_pdk_ihpsg13g2-0.0.4-py3-none-any.whl.

File metadata

File hashes

Hashes for c4m_pdk_ihpsg13g2-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 f9a27f6ff2a9910c5d7e536e492d0c503f8e0f64cbc23e0fd9e417dbd23c7a0b
MD5 e59bbc494b8cd939951fbfe71123287d
BLAKE2b-256 7d96b4f48f853b9b07a7bd46a771d2e67843f58c77dcac6a17d89fb246e16b84

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page