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.3:
    • Critical fix 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.3.tar.gz (36.0 kB view hashes)

Uploaded Source

Built Distribution

c4m_pdk_ihpsg13g2-0.0.3-py3-none-any.whl (43.9 kB view hashes)

Uploaded Python 3

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